微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 多方位多角度 带您重新诠释多核技术

多方位多角度 带您重新诠释多核技术

时间:09-12 来源:互联网 点击:

icient处理器的逻辑架构,整合了大量的I/O功能,堪称一款SOC(片上系统)型芯片。

精简核心和超多线程设计

SUN公司在2005年底推出的UltraSPARC T1也是微处理器领域的又一巅峰之作。同PWRficient的高度整合设计不同,UltraSPARC T1的重心放在多任务并行功能,这是由UltraSPARC T1自身的定位所决定的。UltraSPARC T1主要针对承担网络中枢的高端服务器系统,这类服务器主要面向高吞吐量的事务计算,需要在同时处理大量的并发任务,而这些任务又都不需要复杂的运算。

因此,SUN公司采用非均衡的思想来设计UltraSPARC T1:每个基本的CPU内核都相当精简,但都能够很好地完成相应的数据处理任务,由于精简核心占据的晶体管资源较少,处理器就能够集成更多的硬件内核;同时在较单纯的数据处理任务中,每个CPU核心的执行管线都不会被充分利用,在此基础上导入多线程技术将能够进一步提高系统的并行能力。我们可以看到,UltraSPARC T1拥有八个对等的硬件内核,每个内核可同步执行4个线程,这样仅仅一枚处理器就具备同时执行32个不同任务的能力。

UltraSPARC T1的晶体管总量只有3亿个左右,峰值能耗只有区区80瓦,执行效率相当出众。我们必须注意的是,UltraSPARC T1虽然具有超凡的事务处理能力,可它的科学计算能力十分糟糕,原因就在于SUN根据自身特殊的需要,采用不对等的设计。

UltraSPARC T1的CPU核心设计得非常简单,它的流水线很短,也没有包含浮点运算单元,只有在八个核心之外附加了一个浮点运算器。这样每个核心的晶体管占用就很少,为芯片低功耗奠定基础;UltraSPARC T1的每个核心均只运行在1.2GHz的低频率下,这也是拜短流水线设计所赐,芯片节能就不难理解了。UltraSPARC T1的每个核心都拥有16KB一级指令缓存和8KB的一级数据缓存,并具备奇偶检查能力(Parity Check),可以自行侦测缓存错误。

如果数据串中有1bit出现错误,缓存自身可对其进行修正,由此保证在苛刻环境下的运行可靠性。在二级缓存方面,UltraSPARC T1实行八核心共享的机制。由于核心数量众多,如果继续采用独立缓存设计的话,缓存同步操作需要耗费可观的运算资源,共享设计显然是更理想的选择。但为众多的核心分配缓存资源也是一个令人头疼的事情,SUN通过Crossbar连接架构来解决问题:八个核心在Crossbar的统一分配下获取缓存资源,有效避免了存取冲突。

一个比较特殊的地方就是UltraSPARC T1的二级缓存容量只有3MB,对一枚拥有八个硬件核心的处理器而言似乎少得可怜,但RISC处理器与X86处理器处理的任务迥异,提高缓存容量对X86 处理器的性能影响立竿见影,但UltraSPARC T1面向网络运算,而这类运算对缓存容量并不十分依赖,起到决定作用的是核心的性能。

多线程支持是UltraSPARC T1的一大亮点。UltraSPARC T1拥有一项名为CoolThreads的多线程技术,该技术令UltraSPARC T1的每个硬件核心都拥有同步执行4个线程的能力。这样,八核心的UltraSPARC T1可以在同一时间运行32个线程,具有超强的多任务处理能力。虽然英特尔的芯片很早就引入HyperTreading超线程功能、允许CPU执行两个线程,但HyperTreading设计僵化,线程一旦进入执行位置就无法替换,这样即便该线程耗费大量的执行资源和时间也必须持续等候。

在不少时候,此举反而会令系统的效能降低,这也是HyperTreading发展多年,但始终都没有获得广泛推行的主要原因。而SUN、IBM 等RISC处理器厂商在多线程技术领域有更深厚的实力,如IBM的Power 5系列具备线程动态转移功能,在线程运行开始即可对执行状况和资源使用进行实时侦测,如某个线程久拖不完或资源占用高,其余的核心又处于闲置状态时便立即将它转移,同时将运算资源和等候时间抚平,令系统保持卓越的并行执行效率。

UltraSPARC T1的 CoolThreads技术也具有类似的动态转移功能,任何一个执行单元有空余时,都可抓取已排入其他位置的待处理线程加以执行,由此维持八个核心的均衡负载。

UltraSPARC T1的整合内存控制器相当强大,它并不是像常规多核处理器一样只内建1组,而是拥有多达4组内存控制器,每个控制器都可以支持双通道ECC DDR2-533MHz内存、传输位宽达到144bit。在运行过程中,如果有4bit以下的内容错误,UltraSPARC T1的内存控制系统可自行纠正,如果错误数量提高到8bit,UltraSPARC T1仍然具备识别能力,系统可保持长时间的稳定运作。

另外,每组内存控制器都可以连接4个DIMM内存槽,因此一枚UltraSPARC T1处理器最多可管理多达16个DIMM模组,创造该领域

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top