CPU 为什么可以同时执行多个任务单元

多线程

同时多 线程Simultaneous Multithreading,简称 SMT。SMT可通过复制 处理器上的结构状态,让同一个处理器上的多个 线程同步执行并共享处理器的执行资源,可最大限度地实现宽发射、乱序的 超标量处理,提高处理器运算部件的利用率,缓和由于数据相关或Cache未命中带来的访问内存延时。当没有多个线程可用时,SMT 处理器几乎和传统的宽发射 超标量处理器一样。SMT最具吸引力的是只需小规模改变 处理器核心的设计,几乎不用增加额外的成本就可以显著地提升效能。 多线程技术则可以为高速的运算核心准备更多的待处理数据,减少运算核心的闲置时间。这对于 桌面低端系统来说无疑十分具有吸引力。Intel从3.06GHz Pentium 4开始,部分 处理器将支持SMT技术。 

多核心

多核心,也指 单芯片多处理器(Chip Multiprocessors,简称CMP)。CMP是由 美国斯坦福大学提出的,其思想是将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器 并行执行不同的进程。这种依靠多个CPU同时并行地运行程序是实现超高速计算的一个重要方向,称为并行处理。与CMP比较,SMT 处理器结构的灵活性比较突出。但是,当 半导体工艺进入0.18微米以后,线延时已经超过了门延迟,要求 微处理器的设计通过划分许多规模更小、局部性更好的 基本单元结构来进行。相比之下,由于CMP结构已经被划分成多个 处理器核来设计,每个核都比较简单,有利于优化设计,因此更有发展前途。目前,IBM 的Power 4芯片和Sun的MAJC5200芯片都采用了CMP结构。 多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。但这并不是说明,核心越多,性能越高,比如说16核的CPU就没有8核的CPU运算速度快,因为核心太多,而不能合理进行分配,所以导致运算速度减慢。在买电脑时请酌情选择。2005年下半年,Intel和AMD的新型 处理器也将融入CMP结构。新 安腾处理器开发代码为Montecito,采用 双核心设计,拥有最少18MB片内缓存,采取90nm工艺制造。它的每个单独的核心都拥有独立的L1,L2和L3 cache,包含大约10亿支 晶体管。 

SMP

SMP(Symmetric Multi-Processing), 对称多处理结构的简称,是指在一个计算机上汇集了一组 处理器(多CPU),各CPU之间 共享内存子系统以及 总线结构。在这种技术的支持下,一个 服务器系统可以同时运行多个 处理器,并共享内存和其他的 主机资源。像双至强,也就是所说的二路,这是在对称 处理器系统中最常见的一种(至强MP可以支持到四路,AMD Opteron可以支持1-8路)。也有少数是16路的。但是一般来讲,SMP结构的机器可扩展性较差,很难做到100个以上多 处理器,常规的一般是8个到16个,不过这对于多数的用户来说已经够用了。在高性能服务器和工作站级主板架构中最为常见,像UNIX服务器可支持最多256个CPU的系统。
构建一套SMP系统的必要条件是:支持SMP的硬件包括主板和CPU;支持SMP的系统平台,再就是支持SMP的应用软件。为了能够使得SMP系统发挥高效的性能,操作系统必须支持SMP系统,如WINNT、LINUX、以及UNIX等等32位操作系统。即能够进行多任务和多线程处理。多任务是指操作系统能够在同一时间让不同的CPU完成不同的任务;多线程是指操作系统能够使得不同的CPU并行的完成同一个任务。
要组建SMP系统,对所选的CPU有很高的要求,首先、CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)单元。Intel 多处理规范的核心就是高级 可编程中断控制器(Advanced Programmable Interrupt Controllers–APICs)的使用;再次,相同的产品型号,同样类型的CPU核心,完全相同的运行频率;最后,尽可能保持相同的产品序列编号,因为两个生产批次的CPU作为双 处理器运行的时候,有可能会发生一颗CPU负担过高,而另一颗负担很少的情况,无法发挥最大性能,更糟糕的是可能导致死机。

猜你喜欢

转载自zishan007.iteye.com/blog/1815525
cpu