超长指令字计算机,超长指令字

超长指令字是微处理器设计领域中的一种越来越流行的技术。

超长指令字处理器采用多个独立的功能部件,但它并不是将多条指令流出到各个功能单元,而是将多条指令的操作打包,形成一条非常长的指令,超长指令字由此得名。选择同时可流出的多条指令的任务由编译器完成,而在超标量机器中此功能是由硬件完成的,所以超长指令字机器可以节省大量硬件。[1]

中文名

超长指令字

外文名

Very Long Instruction Word简    称

VLIW

提出时间

1983年

超长指令字发展

编辑

语音

1980年代,迅速发展的RISC处理器广泛采用超标量和超流水线等指令级并行处理技术。由于相关性问题的存在,尽管这两种技术都采用了硬件逻辑电路来解决和处理相关性问题,但指令序列并不能够充分流水化,使处理器不能充分实现指令级并行处理,影响了计算机性能的提高。

1983年,美国Yale大学教授J Fisher提出了超长指令字(Very Long Instruction Word,VLIW)体系结构。VLIW处理器指令字较长,一般为128位,甚至上千位。VLIW处理器指令字被划分成多个独立控制字段,且具有固定格式。指令字中的每个控制字段可直接独立控制相应的功能部件。也就是说,一个控制字段就相当于其他处理器中的一条指令。[2]

超长指令字原理

编辑

语音

VLlW处理器的一个超长指令字包含多个操作字段,每个字段可与相应的功能部件对应。这些操作字段包括可并行执行的多个运算器控制指令字段、若干个存储器控制指令字段和其他操作控制字段。各运算部件和共享的大容量寄存器堆直接相连,以便提供运算所需要的操作数或存放运算结果,对数据的读/写操作也可以通过存储器指令字段对指定存储模块中的存储单元进行。运行时不需要用软件或硬件来检测其并行性,而直接由超长指令字来控制机器中多个相互独立的功能部件并行操作。虽然这种字段控制方式的思路来自于微程序控制器的水平微指令方式,但微指令只对一个运算部件进行控制,而VLIW是对多个功能部件并行控制。

实际上,VLIW的实现是由编译器将多条可以发送的标准指令捆绑在一条超长指令字中。基于多个可以同时执行的功能部件的支持,处理器在一个时钟周期内可以发射超长指令字中的多条指令,实现多条指令的并行执行。由于VLlW指令中的字段数是固定的,因此要提高VLIW处理器同时发射指令的条数,就需要重新设计VLlW指令格式,增加有关功能部件,并重新设计编译系统。这与同样具有多发射指令的超标量处理器不同。超标量处理器具有多条指令执行流水线,指令的并行性由处理模块硬件来检验,无须编译保证。增加处理模块的个数有可能提高超标量处理器同时发射指令的条数。[3]

超长指令字结构格式

编辑

语音

每个VLIW的指令可能包括两个整数操作、两个浮点操作、两个访存操作和一个分支操作。每条指令对应于每个功能单元有几个域,每个功能单元可能占用16到24位,从而指令长度达到112到168位。为了充分利用功能单元,要求代码序列必须有较大的并行度来有效填充操作槽。通过循环展开和使用全局的调度技术来对基本块进行调度可获得较高的并行度。除了通过循环展开消除分支转移的开销,全局调度策略可将指令跨转移点移动。

超长指令字也有助于开发程序中的指令级并行性。一个超长指令字包含了多条基本指令(primitive instructions),它们被发送到不同的VLIW入口中并行执行。但是这个能力不是在执行时由硬件负责,而是由编译器赋予的。编译器在生成的目标代码中把彼此独立的基本指令分到一个组里,以并行执行。由于超长指令字处理器不需要动态调度,也不需要进行重定向操作,所以它的控制逻辑相当简单。[4]

超长指令字特点

编辑

语音

VLIW方式具有下述主要特征:

(1)依靠编译组装超长指令。VLIW方式是在编译时发现和利用程序的并行运算可能性。编译从原程序中抽出可能的并行运算组装成一条超长指令,可以得到接近VLIW处理器中并行运算器数目的并行度。但要是程序并行度低,会造成VLlW指令中的运算器控制字段部分空闲,降低了指令字段的利用率。因此,VLIW方式的并行度依赖于编译的并行化能力及程序本身的并行化程度。

(2)硬件结构简单。由于指令的并行调度由编译完成,运行时不需要检验,因此VLIW方式简化了控制电路,使得它的结构简单,芯片制造成本低,能耗小。

(3)需要较大的指令带宽和较大的存储空间,这是超长指令字整体传输的要求。

(4)虽然经过编译处理,但由于程序在动态执行时不可避免的转移等操作,超长指令字指令仍可能在并行执行时出现相关,导致代码空间和执行速度上的双重损失。

(5)适合于细粒度的并行处理。VLlW方式可用指令字段直接控制运算部件在指令级进行细粒度并行处理,它有多条总线与运算器相连,指令字段可直接控制其数据链路,因此通信开销小,适合于面向低级运算的细粒度并行处理。

(6)指令系统的非兼容性。VLlW方式的指令格式与硬件密切相关,一旦定型后很难改变,使其指令系统不仅与传统的通用处理器结构完全不兼容,就是和同类型而并行性不同的VLlW处理器也不兼容。因此,尽管VLIW思想提供了简化处理器设计的途径,但难以成为处理器的主流,只能辅助超标量、超流水线等处理方式的应用。[3]

参考资料

1.

马礼主编.高等学校计算机专业教材 计算机组成原理与系统结构:人民邮电出版社,2004年07月

2.

刘瑞挺,张宁林等编著.计算机新导论:清华大学出版社,2013.09

3.

徐洁主编.计算机系统结构:中国铁道出版社,2012.01

4.

张民选,王永文编著.高性能微处理器:技术与结构:国防科技大学出版社,2004.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值