- 注册
- 2002-07-28
- 消息
- 14,150
- 荣誉分数
- 533
- 声望点数
- 273
当前第1页:SUN未来处理器结构发展趋势Sun公司在不久前发布了其微处理器的详细发展蓝图。该蓝图中描述的处理器包括现有UltraSPARC III,双核心的UlteaSPARC IV,基于SMT的UltraSPARC V以及高级多线程Niagara处理器。
在SPARC处理器的研究开发中,Sun称其核心技术叫做“Throughput Computing”,也就是吞吐量计算。在未来Sun处理器的结构发展中将从以下几个方面来看到变化。
CMP和CMT
CMP和CMT技术是用来提高支持多线程的应用程序的多线程指令流在单芯片多核心处理器中各个核心上执行性能的技术。现今,这一技术的实现形式有Intel奔腾4的超线程技术,IBM的POWER4,和Sun的MAJC-5200(双核心/CMP)等。而将来的处理器能更深入的实现这些技术,包括像Niagara处理器(4线程/核心,8核心/硅片,32线程/芯片)将完全采用多线程技术设计。
硬件检测(hardware scout)
在运行大型商用软件时,处理器有70%的时间是空闲的,一般是在等待数据。在大型的多处理器服务器,尤其是由多个GHz的处理器组成的服务器中,一般要用500个时钟周期来等待数据。解决这种情况有两种方法,一种是调度线程,另一种是硬件预取。调度线程就是当有线程等待数据的时候,让处理器运行另外一个线程,直到这个线程停下来等待数据再转作其他的线程,如此继续下去。硬件预取是在硬件中加入硬件预取线程,当处理器有等待发生的时候,这个硬件线程尽快地浏览后面的指令并进行预测,然后根据预测的执行路径预取所有的数据和指令。预取是完全由硬件实现的,不需要任何编译和软件的支持,但是预取要搜集当前线程的执行状态信息,占用PC,读取分支预测状态。一般来说调度线程方法更为有效。
硬件监测是用来提高单个线程的效率,可以用于数据库应用和高性能计算。高性能计算是有限带宽的,执行的一般是单支流代码,所以用软件预测也是很方便出色的。
存储器带宽(Memory Bandwidth)
对于简单的处理器,如果预测失败,将会浪费掉28个时钟周期(这里所讲的是十分简单的管线,不会受程序分支过多的影响)。这时问题主要集中在,如果在cache中没有找到需要的数据而到主存中去取时,怎样消除这种开销。假如系统运行TPC-C或数据库程序,指令的典型未命中率为1%,也就是说每100条中有1条未命中,这条需要300时钟周期服务,其余99条每条只需要1个时钟周期,粗略认为总共需要400时钟周期,这时其IPC值为0.25,CPI值为4。可以看出,在这个例子中,处理器有75%的时间用于等待。要避免这个问题,那么在开始就要估计需要多少线程来替代这些延迟,但要注意得是如果以多线程和多内核来运行这些线程,最终还会得到前面的结果;每个线程拥有一个小的缓存,可能会造成命中率会下降,但可以忽略的。这样做需要有足够的内存带宽,也就是说前面的方法是将时间延迟的问题转换成了内存带宽的问题,因为要想将DRAM的延迟降低一半或者75%几乎是不可能的,但是要想提高内存带宽却比较容易。在Sun现有的系统中已经提供了很高的带宽,只不过是没有充分利用。因此在记者招待会上所说的15x,30x并不是说15倍或30倍的带宽,而是提高利用率和带宽的综合。硬件检测是将带宽转化为较小的延迟,分支预测需要并行进行而且要测试分支的两条路径,这样会占用较多的功耗,但设计计划的功耗是一定的。
因为将延迟问题转移到带宽上,新的处理器将会使用最新的最快的DRAM,并且将控制器集成到芯片中。尽管存储器带宽很重要,但由于Rambus的商业模式,DRAM生产厂商支持态度,所以在 UltraSPARCIIIi中使用DDR。
对于多核心和大缓存的关系上,主要是存储器带宽的问题,只要有高的带宽,这些带宽不是总被用于交换数据,命中率不被过分降低,处理器同样可以高性能运行。所以现在每个核心或每个线程的缓存比以前小。
乱序执行(Out-of-Order Execution)
Sun的专家正在研究可升级大型多处理器系统。这样的系统可以做到一个芯片管线里,因为芯片内可以同时实现高速总线和低延迟,所以这要比片外互连的系统快一到两个数量级。在多核心的芯片中,每个核心都简单一些,不使用较高的工作频率,这样每个核心功耗会很低。因为乱序执行要耗费较多的功率,估计Sun不会将其应用于CMTs中。但在Intel的处理器中,是用硬件实现从CISC到RISC的翻译,并且在CPU内部有执行微码的RISC管线,其高级分支预测技术允许延长管线前端,以便在多个时钟周期完成翻译并写到缓存中,然后在后端的RISC管线上执行,因此翻译后的微代码与软件源代码毫不相关,尽管占用很多的功耗,但其乱序执行引擎对性能会起很大作用。
性能比较(Performance Comparisons)
如果使用多核心技术,由于同步的原因,芯片的频率设置为片内核心中时钟最低的频率。而局部同步、整体异步技术,则还在研究中。
Niagara与650Mhz的UltraSPARC IIi 比较有15倍的性能提升,而30x的性能是与1.2GHz UltraSPARC III 比较。而对于 UltraSPARC V,Sun的专家将会开发新的冷却技术,但不是水冷。大概两年后,在推出UltraSPARC V后将很快推出30倍性能的芯片。
根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSparc Ⅲs的频率已经达到750GHz。即将推出UltraSparc Ⅳs和UltraSparc Ⅴs等型号,其中UltraSparc Ⅳs的频率为1GHz,UltraSparc Ⅴs则为1.5GHz。其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparcⅢi的频率达到700GHz,未来的UltraSparc Ⅳi的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。
近10年来Sun公司都是RISC/Unix工作站系统的最大的供货商,主要从事高端系统的研究,并且和SGI公司不同,他们很少涉及3D 动画行业。虽然Sun公司的Blade 2000服务器能取得了第二高的2-way SPECfp_rate峰值测试结果,它的性价比与基于x86构架的系统相比还是差很多。此外,Sun公司的图形芯片的开发速度相当的慢,虽然他们最新的XVR-1000比起上一代的图形芯片要快了3倍多,它的性能仍显得落后并且价格很高。
需要64位的寻址能力和大量内存来处理运算的工作站系统在工作站市场上占的比例每年都在增加,而且许多高端的工作站市场的附加软件和软件包都只能运行在UltraSPARC和HP的PA-RISC系统上(这两种系统是采用64位构架的工作站系统中最先进的)。此外,对于高端的工作站任务,软件的花销可能是巨大的,而且任何的软件故障带来的损失更是显著的。即使是昂贵的工作站系统都没法这些损失相比。这些因素可能就是高端的RISC工作站市场仍然有利可图的原因。随着HP转向采用Itanium处理器,AMD致力开发64位的扩展型x86构架的系统,高端工作站市场的竞争将会变得白热化,这也将会使整体产品的价格得以降低。对于一些工作站任务,如EDA(集中在CPU运算和内存性能上,但对图形运算要求不高),Sun公司已经开始转向采用另一种服务器的模式,由低端工作站来共享一个计算区域的资源。
Sun公司的服务器版的双UltraSPARC-III系统(Sun Fire280R和Netra20)都是rack-mount的系统,却采用了4U的机箱。虽然对这些系统进行web-serving这样的测试就可以表明它们的性能能与高端的基于x86构架的两路系统相比,但是Sun公司这一类的大多数产品都显得过于昂贵,而且大多数的web服务器并不需要超过4GB的内存以及更高的内存带宽。鉴于许多基于x86构架的双路系统都采用的1U机箱,Sun公司采用的4U机箱系统也并没有提供更好的性能密度比(而4-way Sun Fire V480采用的是5U机箱),虽然Sun公司已经开始研究更为“苗条的”模型。然而,任务繁重的应用服务器以及低端的数据库服务器将能从它的额外的内存和高速而且大容量cache中获得好处。但2-way UltraSPARC-III系统的价格几乎是2-way Pentium 系统的2倍,在这点上Sun公司的竞争力很差,仍需要在未来的发展中克服价格这一缺陷。
cpu与内存相对性能的比较,从1980年开始,每两年差距增大2倍,如下图:
普通的单线程技术是通过更高的处理器速度来节约处理器用在计算上的时间,这样在一定程度上可以节约总体的运行时间,如下图:
多线程技术可以让CMT芯片在一个线程的内存延迟周期中开始下一个线程的工作,令处理器始终在做有用功,最大限度的发挥处理器的运行能力,如下图:
多CMT处理器可以有效的提高处理器整体的数据吞吐量。如下图:
在SPARC处理器的研究开发中,Sun称其核心技术叫做“Throughput Computing”,也就是吞吐量计算。在未来Sun处理器的结构发展中将从以下几个方面来看到变化。
CMP和CMT
CMP和CMT技术是用来提高支持多线程的应用程序的多线程指令流在单芯片多核心处理器中各个核心上执行性能的技术。现今,这一技术的实现形式有Intel奔腾4的超线程技术,IBM的POWER4,和Sun的MAJC-5200(双核心/CMP)等。而将来的处理器能更深入的实现这些技术,包括像Niagara处理器(4线程/核心,8核心/硅片,32线程/芯片)将完全采用多线程技术设计。
硬件检测(hardware scout)
在运行大型商用软件时,处理器有70%的时间是空闲的,一般是在等待数据。在大型的多处理器服务器,尤其是由多个GHz的处理器组成的服务器中,一般要用500个时钟周期来等待数据。解决这种情况有两种方法,一种是调度线程,另一种是硬件预取。调度线程就是当有线程等待数据的时候,让处理器运行另外一个线程,直到这个线程停下来等待数据再转作其他的线程,如此继续下去。硬件预取是在硬件中加入硬件预取线程,当处理器有等待发生的时候,这个硬件线程尽快地浏览后面的指令并进行预测,然后根据预测的执行路径预取所有的数据和指令。预取是完全由硬件实现的,不需要任何编译和软件的支持,但是预取要搜集当前线程的执行状态信息,占用PC,读取分支预测状态。一般来说调度线程方法更为有效。
硬件监测是用来提高单个线程的效率,可以用于数据库应用和高性能计算。高性能计算是有限带宽的,执行的一般是单支流代码,所以用软件预测也是很方便出色的。
存储器带宽(Memory Bandwidth)
对于简单的处理器,如果预测失败,将会浪费掉28个时钟周期(这里所讲的是十分简单的管线,不会受程序分支过多的影响)。这时问题主要集中在,如果在cache中没有找到需要的数据而到主存中去取时,怎样消除这种开销。假如系统运行TPC-C或数据库程序,指令的典型未命中率为1%,也就是说每100条中有1条未命中,这条需要300时钟周期服务,其余99条每条只需要1个时钟周期,粗略认为总共需要400时钟周期,这时其IPC值为0.25,CPI值为4。可以看出,在这个例子中,处理器有75%的时间用于等待。要避免这个问题,那么在开始就要估计需要多少线程来替代这些延迟,但要注意得是如果以多线程和多内核来运行这些线程,最终还会得到前面的结果;每个线程拥有一个小的缓存,可能会造成命中率会下降,但可以忽略的。这样做需要有足够的内存带宽,也就是说前面的方法是将时间延迟的问题转换成了内存带宽的问题,因为要想将DRAM的延迟降低一半或者75%几乎是不可能的,但是要想提高内存带宽却比较容易。在Sun现有的系统中已经提供了很高的带宽,只不过是没有充分利用。因此在记者招待会上所说的15x,30x并不是说15倍或30倍的带宽,而是提高利用率和带宽的综合。硬件检测是将带宽转化为较小的延迟,分支预测需要并行进行而且要测试分支的两条路径,这样会占用较多的功耗,但设计计划的功耗是一定的。
因为将延迟问题转移到带宽上,新的处理器将会使用最新的最快的DRAM,并且将控制器集成到芯片中。尽管存储器带宽很重要,但由于Rambus的商业模式,DRAM生产厂商支持态度,所以在 UltraSPARCIIIi中使用DDR。
对于多核心和大缓存的关系上,主要是存储器带宽的问题,只要有高的带宽,这些带宽不是总被用于交换数据,命中率不被过分降低,处理器同样可以高性能运行。所以现在每个核心或每个线程的缓存比以前小。
乱序执行(Out-of-Order Execution)
Sun的专家正在研究可升级大型多处理器系统。这样的系统可以做到一个芯片管线里,因为芯片内可以同时实现高速总线和低延迟,所以这要比片外互连的系统快一到两个数量级。在多核心的芯片中,每个核心都简单一些,不使用较高的工作频率,这样每个核心功耗会很低。因为乱序执行要耗费较多的功率,估计Sun不会将其应用于CMTs中。但在Intel的处理器中,是用硬件实现从CISC到RISC的翻译,并且在CPU内部有执行微码的RISC管线,其高级分支预测技术允许延长管线前端,以便在多个时钟周期完成翻译并写到缓存中,然后在后端的RISC管线上执行,因此翻译后的微代码与软件源代码毫不相关,尽管占用很多的功耗,但其乱序执行引擎对性能会起很大作用。
性能比较(Performance Comparisons)
如果使用多核心技术,由于同步的原因,芯片的频率设置为片内核心中时钟最低的频率。而局部同步、整体异步技术,则还在研究中。
Niagara与650Mhz的UltraSPARC IIi 比较有15倍的性能提升,而30x的性能是与1.2GHz UltraSPARC III 比较。而对于 UltraSPARC V,Sun的专家将会开发新的冷却技术,但不是水冷。大概两年后,在推出UltraSPARC V后将很快推出30倍性能的芯片。
根据Sun公司未来的发展规划,在64位UltraSparc处理器方面,主要有3个系列,首先是可扩展式s系列,主要用于高性能、易扩展的多处理器系统。目前UltraSparc Ⅲs的频率已经达到750GHz。即将推出UltraSparc Ⅳs和UltraSparc Ⅴs等型号,其中UltraSparc Ⅳs的频率为1GHz,UltraSparc Ⅴs则为1.5GHz。其次是集成式i系列,它将多种系统功能集成在一个处理器上,为单处理器系统提供了更高的效益。已经推出的UltraSparcⅢi的频率达到700GHz,未来的UltraSparc Ⅳi的频率将达到1GHz。最后是嵌入式e系列,为用户提供理想的性能价格比,嵌入式应用包括瘦客户机、电缆调制解调器和网络接口等。
近10年来Sun公司都是RISC/Unix工作站系统的最大的供货商,主要从事高端系统的研究,并且和SGI公司不同,他们很少涉及3D 动画行业。虽然Sun公司的Blade 2000服务器能取得了第二高的2-way SPECfp_rate峰值测试结果,它的性价比与基于x86构架的系统相比还是差很多。此外,Sun公司的图形芯片的开发速度相当的慢,虽然他们最新的XVR-1000比起上一代的图形芯片要快了3倍多,它的性能仍显得落后并且价格很高。
需要64位的寻址能力和大量内存来处理运算的工作站系统在工作站市场上占的比例每年都在增加,而且许多高端的工作站市场的附加软件和软件包都只能运行在UltraSPARC和HP的PA-RISC系统上(这两种系统是采用64位构架的工作站系统中最先进的)。此外,对于高端的工作站任务,软件的花销可能是巨大的,而且任何的软件故障带来的损失更是显著的。即使是昂贵的工作站系统都没法这些损失相比。这些因素可能就是高端的RISC工作站市场仍然有利可图的原因。随着HP转向采用Itanium处理器,AMD致力开发64位的扩展型x86构架的系统,高端工作站市场的竞争将会变得白热化,这也将会使整体产品的价格得以降低。对于一些工作站任务,如EDA(集中在CPU运算和内存性能上,但对图形运算要求不高),Sun公司已经开始转向采用另一种服务器的模式,由低端工作站来共享一个计算区域的资源。
Sun公司的服务器版的双UltraSPARC-III系统(Sun Fire280R和Netra20)都是rack-mount的系统,却采用了4U的机箱。虽然对这些系统进行web-serving这样的测试就可以表明它们的性能能与高端的基于x86构架的两路系统相比,但是Sun公司这一类的大多数产品都显得过于昂贵,而且大多数的web服务器并不需要超过4GB的内存以及更高的内存带宽。鉴于许多基于x86构架的双路系统都采用的1U机箱,Sun公司采用的4U机箱系统也并没有提供更好的性能密度比(而4-way Sun Fire V480采用的是5U机箱),虽然Sun公司已经开始研究更为“苗条的”模型。然而,任务繁重的应用服务器以及低端的数据库服务器将能从它的额外的内存和高速而且大容量cache中获得好处。但2-way UltraSPARC-III系统的价格几乎是2-way Pentium 系统的2倍,在这点上Sun公司的竞争力很差,仍需要在未来的发展中克服价格这一缺陷。
cpu与内存相对性能的比较,从1980年开始,每两年差距增大2倍,如下图:

普通的单线程技术是通过更高的处理器速度来节约处理器用在计算上的时间,这样在一定程度上可以节约总体的运行时间,如下图:

多线程技术可以让CMT芯片在一个线程的内存延迟周期中开始下一个线程的工作,令处理器始终在做有用功,最大限度的发挥处理器的运行能力,如下图:

多CMT处理器可以有效的提高处理器整体的数据吞吐量。如下图:
