一种高性能32位移位寄存器单元的设计

发布者:cwk2003最新更新时间:2015-04-20 来源: eechina关键字:32位  高性能  移位寄存器 手机看文章 扫描二维码
随时随地手机看文章
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,所以需辅以额外的译码单元。 [page]

3.1.2 树状结构(Tree Style)移位器 

这种结构M位移位器所需的级数是log 2M每一级都由两根信号线(shn和sh n#)控制数据的传输,数据在第i级要么移动2 i位或者不移动。 树状移位器如图3所示。


这种结构的优点是:(1)晶体管数目少, n位移器所需晶体管数目为2×n×log n(传输门部分采用CMOS实现),版图面积小于矩阵移位器;(2)控制信号shN~sh0本身就是二进制表示,不需要额外的译码单元。缺点是:数据通路所需经过的开关管数目太多,M位移位器所需的级数是log 2M,因此导致延时太大。 

3.2 矩阵-树状结构移位器 

由上面的分析我们可以看出,如果所设计的处理器为16位以下CPU,那其移位器不管采用上述哪种方案都能达到要求,但当数据宽度到32位以上,从功耗,速度及版图面积考虑以上方案的固有缺点就会显得非常突出。在本设计中,移位寄存器的实际输入为64位,为结合矩阵结构的优点(速度快、版图规整)和树状结构的优点(晶体管数目少、译码简单),我们在设计中采用矩阵-树状结构整个移位寄存器的是由双总线输入,即输入64位,表1中列举了不同级别比例的矩阵-树状结构所需晶体管数目(n1为tree的级数,n2为matrix的控制线,n3为matrix中用的晶体管数目)。经过综合考虑,我们采用第2行的矩阵-树状级别比例,即矩阵部分最大能实现8位移位,树状部分最大能实现4位移位。 


经过各方面综合考虑,我们所设计的移位寄存器的前级为矩阵结构部分(输入数据为64位,控制信号8位),由这一部分形成一36位的数据送入下一级树状结构(输入数据为36位,控制信号2位)部分再完成剩余的4位移位,形成32位输出数据。结构简图如图4所示。 


在这个结构中,后级的树状移位器最高实现3 位移位。输入的2bit信号为2进制码,这两位由移位计数器sh4~sh0直接将最低两位送入(在后一节将介绍)。前级的矩阵结构完成64位输入36位输出,我们设64位数据输入由Abus,Bbus提供,如图5所示。每一小格代表4位数据。这64位数据送入矩阵移位器后,根据计数器的高三位sh4~sh2 进行译码对其进行4,8,12,16,20,24,28,32中的一种移位(对应8bits中的一位为高)。形成36位的数据输出送入下级树状移位器以完成剩余位数的移位。36位数据输出格式如图6所示。其中COUNT表示总共移位数。


4 指令的预处理及移位类指令的实现 

在我们设计的这片CPU中,需要对INTEL的 X86系列移位类指令进行兼容。因此移位寄存器单元需要在周围译码和锁存单元的配合下,要能在一个指令节拍内实现ROL,ROR,RCL,RCR, SHL,SHR,SAR,其中RCL,RCR实现了带标志位C的移位(指令说明见文献[4])。因此需由处理器的控制单元在每类移位指令移位之前进行指令的预处理。 [page]

4.1 移位寄存器单元总体结构 

最终设计出的移位寄存器单元总体结构如图7 所示,其中其核心部分的矩阵-树状结构的移位寄存器就是使用上一节所描述的结构。记数器中的数据(sh4~sh0)在移位上一拍由Bbus写入,并进行译码,其中低两位(sh1,sh0)直接送树状结构移位部分,高三位(sh4,sh3,sh2)经过译码产生8位控制信号送入矩阵移位部分。Abus和Bbus输入锁存器能锁存32位数据输入,并根据不同指令的要求进行操作,对指令进行预处理。移位结果送ALU输出锁存器,并对CF寄存器进行设置。

 


4.2 指令的预处理 

由于要对实现带进位CF的移位并在移位操作后对CF进行设置,在一般情况下这需要CPU的控制单元提供多周期指令节拍来实现。在本设计中,将 Abus和Bbus输入锁存器设计为能根据不同的指令实现清0和带CF左移一位或右移一位的操作,以便为移位做好数据上的准备,使输入数据的0~32位移位能在一个指令周期内完成。对不同的指令具体设置情况如图8所示。图中CF表示为进位标志位;len为操作数长度(如32位数据); n为移位数;DATA表示输入锁存输出的数据为操作数据本身; 0表示输入锁存输出的数据为0;CF:DATA(-1)表示输入锁存输出的数据为操作数带CF右移一位;DATA(-1):CF表示输入锁存输出的数据为操作数带CF左移一位;SIGN_EXT表示输入锁存输出的数据为操作数带符号扩展。横线下为移位前Abus和Bbus锁存器中数据预处理完后的格式,横线上方位移位完成后数据输出及进位CF所处位置。 


例:RCL AX , CL 指令 
设AX=0001H , CL=3 , CF=1 
Abus锁存器输出数据为操作数本0001H; 
Bbus锁存器输出的数据为操作数带CF右移一位为1000H; 
在输出中,CF在输出结果的最左端为0。 

5 验证及结论 

通过verilog的行为仿真及starsim的时序仿真显示,性能完全符合要求。对比INTEL X86指令集中移位类指令标准执行周期为4~7个机器周期,本设计移位类指令平均执行时间为2个指令周期,因此大大提高了移位类指令执行效率。移位寄存器作为CPU中执行单元的专用硬件,其性能的好坏直接影响到CPU处理移位类指令的速度和效率。本文采用的矩阵-树状结构移位寄存器,配合指令预处理技术,能有效实现32位数据的移位操作,并兼容INTEL X86系列的所有移位类指令还可作为通用硬件方便地移植到其他指令级别的CPU设计之中。
关键字:32位  高性能  移位寄存器 引用地址:一种高性能32位移位寄存器单元的设计

上一篇:应用超声波传感器设计水位自动控制系统研究
下一篇:32位嵌入式CPU中系统控制协处理器的设计与实现

推荐阅读最新更新时间:2024-03-16 13:58

单片机32位LED花样流水灯程序+原理图
最近有点忙,可还是腾出空来打造了一款 单 片机32位LED花样流水灯 !......................那是没办法的,那*丝急了 这是原理图: 呵呵,原理不怎么难吧 LED心形排布图: 这是PCB,我改过了的,减少了一些限流电阻! 将PCB打印好,弄好板,装好原件,再焊接好,看,这就是成品了 部分程序: #include reg52.h #define uchar unsigned char uchar flag=200; //////////////////////////////////////////////////////////////////
[单片机]
单片机<font color='red'>32位</font>LED花样流水灯程序+原理图
PerSe™传感技术打造合规、高性能的智能手机设备
近几年,随着移动互联网的全面覆盖,中国的智能手机市场迎来了高速发展,移动支付、数字办公、智慧生活等应用领域使手机从单一的通讯演变为数字化生活的核心。同时,面对消费者持续追求移动设备更快速、顺畅的互联体验, 在国内迅速推广, 截至2021年底,我国已经累计建成基站超142万站,覆盖所有地级市、98%的县区,预计2022年5G基站总数将超过200万个,由城市到村镇实现全面下沉。同时,5G网络的普及促使智能手机市场对相关设备的产业资源倾斜,仅2022年1-2月,国内市场5G手机出货量实现3770万部,占同期手机出货量的78.7%。   5G手机消费市场饱满的活力,催生了消费者对影音娱乐、在线游戏、虚拟活动等线上应用场景更频繁
[机器人]
NI CEO:融合技术有助解决高性能计算问题
Truchard博士在今年的NIWeek会议上发表讲话时提道,当他在上世纪六十年代开始他作为物理学者的职业生涯时,存在这样一种乐观观点,即融合技术将提供无限的电能。 “事实是当我们无法解决与其相关的技术问题时,这种情况一直都未发生。National Instruments公司的LabVIEW现已被马克斯普朗克学会用在多个多核服务器上,从而为高性能计算提供高性能I/O,以找到这个问题的另外一个突破口。 “基于FPGA的I/O和多核编程的这种结合可以在这个极其困难的问题上找到另一个突破口,如果我们解决了这个问题,这将成为我们曾经经历的最令人兴奋的事情之一。” 位于德国加兴市和格赖夫斯瓦尔德市的马克斯普朗克等离子物理研究所(Max
[焦点新闻]
Sense Photonics推出量产激光雷达平台 具有灵活性、可扩展性和高性能
据外媒报道,日前,闪光激光雷达解决方案供应商Sense Photonics(下文简称Sense)推出了全球首个灵活、可扩展的高性能汽车激光雷达平台,使ADAS和自动驾驶系统能够广泛用于所有车辆。在Sense专利VCSEL激光发射器和SPAD接收技术的支持下,该平台能以汽车激光雷达系统每秒最多点(PPS)的密度,提供丰富的数据点云。 (图片来源:Sense Photonics) Sense采用摄像头式设计,可照亮整个场景,并利用全局快门采集,同时捕捉视野内每一帧画面中的所有数据点,使得车辆和其他物体的图像没有运动失真或数据缺口。传统扫描激光雷达系统的点云密度为200万PPS,而Sense平台的点云密度超过1000万PPS
[汽车电子]
Sense Photonics推出量产激光雷达平台 具有灵活性、可扩展性和<font color='red'>高性能</font>
飞思卡尔为低端32位嵌入式系统推出10 款新ColdFire
高度集成的MCU提供免费开发工具支持,实现经济、高效的连接和超低功率应用 德州奥斯汀—2007年9月17日 ——为了解决嵌入世界的灵活连接和能源效率需求,飞思卡尔半导体又在其广泛的32位ColdFire系列产品基础上新增了10款高度集成的微控制器(MCU)。这些新增的 ColdFire MCU产品为开发人员提供诸多经济、高效和低功率的连接选项,同时还提供完善的软件工具。 扩展后的ColdFire MCU产品线包括MCF5223x 以太网MCU、 MCF5221x USB MCU和MCF51QE超低功率MCU系列新增产品。这些产品系列主要针对以下应用:安全控制面板、条形码扫描仪、医用泵/监控器、环境监控和远程数据收集。 这些
[新品]
8/32位元MCU分头进击16位元MCU市场逐渐萎缩
在ARM核心的开放开发环境之下,研发人员利用32位元微控制器(MCU)开发应用的成本逐渐降低,晶片价格亦因为供应商众多而随之下降。尽管如此,8位元MCU具备更低廉的价格,加上低阶应用市场的规模依然庞大,因此,尽管32位元MCU出货量急起直追,仍未超越8位元MCU。相较之下,16位元MCU便成为被8位元与32位元MCU夹杀的产品。 盛群半导体业务行销中心副总经理蔡荣宗认为,以目前全球市场看来,尽管32位元MCU产值较高,然销售数量依然是以8位元MCU为大宗。16位元MCU则处于被夹杀的状态,由于8位元MCU的效能持续提升,目前已足以满足较为低阶的16位元MCU应用需求;32位元MCU的成本逐渐降低,则瓜分了高阶的16位元MCU市
[半导体设计/制造]
ZLG致远电子基于不同形式接口开发高性能CAN接口卡
无人化行业迅速发展, CAN -bus在无人配送中发挥着重要的作用。ZLG致远电子针对目前无人行业存在的需求,提供系统的CAN-bus应用解决方案,助力无人化行业进程。 CAN-bus在无人化行业中的应用 随着云计算、 AI 、边缘计算等新兴技术的不断涌现与成熟普及,以电动化、智能化、网络化、共享化为趋势的“新四化”已成为各行业内的普遍共识。 近几年热度较高的 自动驾驶 ,就是以无人智能化为核心的。目前,实现完全地自动驾驶除了相关政策限制,技术难度尤为困难。为此,各行业针对自身业务的应用场景,纷纷效仿实现无人化作业。例如,末端无人物流配送,园区通勤,矿区特种作业,景区游览车,无人农业机,无人清洁车等等。 实现无人化
[汽车电子]
第四代32位微控制器实现单芯片车载信息娱乐系统控制
  瑞萨电子株式会社近日宣布推出六个新型第四代(X4代)、基于V850系列的S系列微控制器(MCU)。该微控制器适用于汽车信息娱乐系统和网络。新产品包括两个V850E2/Sx4-H系列100引脚的微控制器、两个V850E2/SJ4-H系列144引脚的微控制器、以及两个V850E2/SK4-H系列176引脚的微控制器。   车载信息娱乐系统和网络的发展需要借助协议的支持,如以太网和MOST(面向媒体的系统传输),以支持高带宽和高可靠性的数据传输。这对于完善的汽车网络可谓锦上添花,如瑞萨公司的V850E2/Sx4-H系列也支持CAN和IEBus(国际设备总线)等。 V850E2/Sx4-H微控制器的主要特点:   (1)增
[汽车电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved