admin 管理员组文章数量: 1086019
2024年4月16日发(作者:pin是什么意思)
超标量、超级流水线、超长指令字、向量机
记得本科学计算机系统结构时,在了解了流水线这一用于提高cpu处理速度的方法后,
书中还介绍了一些其他的结构,这些结构一般用于较高性能的计算机中
(呵呵,嵌入式系统中我还没看到,连multi issue的cpu都不多),包括:
超标量(Super Scalar)、超级流水线(Super Pipeline)、超长指令字(VLIW)、
和向量机。这些概念我总混淆,现在随着理解的深入,已经完全知道了它们各自的
特点,写点简要的介绍,贴在这里。
1、超标量(Super Scalar)
将一条指令分成若干个周期处理以达到多条指令重叠处理,从而提高cpu部件利用
率的技术叫做标量流水技术.
超级标量是指cpu内一般能有多条流水线,这些流水线能够并行处理.在单流水线结
构中,指令虽然能够重叠执行,但仍然是顺序的,每个周期只能发射(issue)或退休(retire)
一条指令.超级标量结构的cpu支持指令级并行,每个周期可以发射多条指令(2-4条居
多).这样,可以使得cpu的IPC(Instruction Per Clock) > 1, 从而提高cpu处理速度.
超级标量机能同时对若干条指令进行译码,将可以并行执行的指令送往不同的执行
部件,在程序运行期间,由硬件(通常是状态记录部件和调度部件)来完成指令调度.
超级标量机主要是借助硬件资源重复(例如有两套译码器和ALU等)来实现空间的并
行操作.
我们熟知的pentium系列(可能是p-II开始),还有SUN SPARC系列的较高级型号,
以及MIPS若干型号等都采用了超级标量技术.
2、超级流水线(Super Pipeline)
超级流水线又叫做深度流水线,它是提高cpu速度通常采取的一种技术。CPU处理
指令是通过Clock来驱动的,每个clock完成一级流水线操作。每个周期所做的操作越
少,那么需要的时间久越短,时间越短,频率就可以提得越高。所以超级流水线就是将
cpu处理指令是得操作进一步细分,增加流水线级数来提高频率。频率高了,当流水线
开足马力运行时平均每个周期完成一条指令(单发射情况下),这样cpu处理得速度
久提高了。当然,这是理想情况下,一般是流水线级数越多,重叠执行的执行就越多,
那么发生竞争冲突得可能性就越大,对流水线性能有一定影响。
现在很多cpu都是将超标量和超级流水线技术一起使用,例如pentium IV,流水
线达到20级,频率最快已经超过3GHZ.我们教科书上用于教学的经典MIPS只有5
级流水。
3、超长指令字(VLIW:Very Long Instruction Word)
超常指令字是由美国Yale大学教授Fisher提出的。它有点类似于超级标量,是一
条指令来实现多个操作的并行执行,之所以放到一条指令是为了减少内存访问。通常
一条指令多达上百位,有若干操作数,每条指令可以做不同的几种运算。那些指令可以
并行执行是由编译器来选择的。通常VLIW机只有一个控制器,每个周期启动一条长指
令,长指令被分为几个字段,每个字段控制相应的部件。由于编译器需要考虑数据相关
性,避免冲突,并且尽可能利用并行,完成指令调度,所以硬件结构较简单。
VLIW机器较少,可能不太容易实现,我们平时很少接触VLIW机器(也许是我孤
陋寡闻),我知道业界比较有名的VLIW公司之一是Transmeta,在加州硅谷Santa
Clara(呵呵,我心目中硅谷圣地之一,还有San Jose, Palo Alto,都是it英雄辈
出的地方)。它做的机器采用X86指令集,VLIW实现,具体资料可以去访问公司的
网站。
4、向量机(Vector Machine)
我们平时接触的计算机都是标量机,向量机都是大型计算机,一般用于军事工业,
气象预报,以及其他大型科学计算领域,这也说明了向量机都很贵。国产的银河计算机
就是向量机。
普通的计算机所做的计算,例如加减乘除,只能对一组数据进行操作,被称为标量
运算。向量运算一般是若干同类型标量运算的循环。向量运算通常是对多组数据成批进
行同样运算,所得结果也是一组数据。
很多做科学计算的大(巨)型机都是向量机,例如国产银河。这个好像我们平时不
太接触的到。
5、SIMD技术
刚刚看到网上一段介绍SIMD的文字,贴在这里:
单指令多数据(Single Instruction Multiple Data)
简称SIMD。SIMD结构的CPU有多个执行部件,但都在同一个指令部件的控制下。
SIMD在性能上有什么优势呢?以加法指令为例,单指令单数据(SISD)的CPU对加
法指令译码后,执行部件先访问内存,取得第一个操作数;之后再一次访问内存,取得
第二个操作数;随后才能进行求和运算。
而在SIMD型CPU中,指令译码后几个执行部件同时访问内存,一次性获得所有操
作数进行运算。这个特点使得SIMD特别适合于多媒体应用等数据密集型运算。AMD
公司的3D NOW!技术其实质就是SIMD,这使K6-2处理器在音频解码、视频回放、
3D游戏等应用中显示出优异性能。
版权声明:本文标题:超标量、超级流水线、超长指令字、向量机 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713223022a624671.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论