您的位置 首页 5G

一种高性能32位移位寄存器单元的规划

1引言随着CPU设计位数与性能的不断提高,对CPU执行单元中专用硬件移位寄存器的要求也越来越高。CPU移位寄存器的性能直接影响到所设计CP

1 导言

跟着CPU规划位数与功能的不断提高,对CPU 履行单元中专用硬件移位寄存器的要求也越来越高。CPU移位寄存器的功能直接影响到所规划CPU 对移位类指令的处理才能和履行速度。传统结构的CPU中,移位寄存器的规划一般选用矩阵结构和树状结构。当CPU的位数抵达32位,速度抵达100M以上时,要在一个指令周期内对32位的数据进行32 位内恣意移位,从前的规划办法现已很难抵达要求。从前有过对32位桶形移位寄存器的行为级描绘,但其只适用于RISC指令集,而且作为CPU中的专用硬件为了抵达功耗、速度和面积上的最佳,一般硬件电路选用全定制规划。

本文给出了一种可用于32位以上CPU履行单元的移位寄存器电路,并针对CISC指令集INTEL X86进行了优化(因为RISC指令会集移位类指令完成比较简单,故没有在文中评论);选用指令预处理的技能和经过冗余位,能很便利的完成带进位标志 CF移位和设置CF位,并使得每条移位指令的均匀履行速度为两个指令周期。它有效地提高了CPU对移位类指令的履行功能,而且作为一个根本的内核单元能很便利地移植到不同指令集(RISC或 CISC)的CPU规划之中。

2 32位CPU中履行单元整体结构

咱们所规划的32位CPU的履行部分选用双总线结构,数据总线(Abus,Bbus)的宽度是32位。因为移位类指令假如用ALU进行完成的话,必然会消耗太多的CPU周期,为完成在一个指令周期内对32位数据进行恣意位的移位操作,因此有必要在履行单元中规划专用硬件移位寄存器,在履行移位类指令时由它进行32位数据的移位。

图1给出了32位CPU履行单元整体结构数据流结构简图,并省掉了一切操控信号。图中Abus为双向32数据总线,Bbus为单向32位数据总线。因为考虑到要完成INTEL X86系列一切的移位类指令(RCR,RCL,ROR,ROL等),所以移位寄存器在规划时选用双输入端,即实践该移位寄存器最大能完成64位移位。经过特别的指令预设置办法,并经过添加冗余位完成标志位的设置。

3 移位寄存器单元的规划

3.1 矩阵移位器和树状移位器

在CPU中移位寄存器单元的规划一般选用的是矩阵结构和树状结构的移位器。

3.1.1 矩阵结构(Matrix Style)移位器

它的结构为一传输门组成的阵列。行数等于操作数据宽度,列数等于最多能移位数如图2所示(以4位举例)。

其间A3~A0是4位数据输入线,sh3~sh0是 4根操控信号线。每次进行N位移位操作,对应的shN为高,其它操控信号为低。

这种结构的长处是:(1)数据传输的速度快,每个信号抵达输出端只经过了一级传输,不受移位器位数约束;(2)地图很规整。缺陷是:(1)每根操控信号的负载太大,如32位移位器,每根信号线(sh0,sh1,……sh31)都要驱动32个开关管;(2)所需晶体管数目太多,如n位移位器所需晶体管数为2× n×n=2n2 (传输门部分选用CMOS完成),所带来的功耗和芯片面积也会添加;(3)每一移位操作只需一根操控线为1,所以需辅以额定的译码单元。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/254348.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部