资料介绍
1 引言 本文给出了一种可用于32位以上
CPU执行单元的移位
寄存器电路,并针对CISC指令集
INTELX86进行了优化(由于
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,所以需辅以额外的译码单元。 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])。因此需由处理器的控制单元在每类移位指令移位之前进行指令的预处理。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- LDMOS总体性能资料下载21次下载
- PCB外观检查机系统的总体结构资料下载14次下载
- CPU是怎样访问内存的?资料下载11次下载
- VGA视频采集系统总体设计资料下载12次下载
- 解析单片机与CPU的区别资料下载2次下载
- 常用USB设备结构分析资料下载3次下载
- 单片机C程序编译、执行过程资料下载14次下载
- CPU上的晶体管有多少个?资料下载3次下载
- 电容式触摸屏的基本结构资料下载24次下载
- 在执行程序及产生中断时CPU内会发生什么变化?资料下载2次下载
- 硬件设计总体思路和一些常见误区资料下载13次下载
- MOS 管的半导体结构资料下载22次下载
- 如何让ARM代码执行速度更快?资料下载1次下载
- 机器视觉应用,CPU还是FPGA?资料下载7次下载
- 欧姆龙CP1ECPU单元软件SYSMAC CP系列5次下载
- 处理器和cpu是一个东西吗cpu和主板的区别1755次阅读
- CPU与PUA的区别2319次阅读
- CPU和GPU之间的主要区别320次阅读
- 什么是CPU使用率?如何测量CPU使用率?2633次阅读
- 证明CPU指令是乱序执行的586次阅读
- 外表面缺陷检测机械结构总体方案设计886次阅读
- CPU、寄存器和内存单元的物理结构3485次阅读
- CPU指令的执行过程CPU指令流水线1.4w次阅读
- 一文详解PLC的结构单元3221次阅读
- AVR单片机的CPU内核结构及汇编语言4617次阅读
- CPU操作指令详解9387次阅读
- 电脑硬件基础篇cpu(cpu工作原理及作用_特性参数及型号和位置)7845次阅读
- FPGA比CPU和GPU快的原因9.5w次阅读
- cpu执行指令的过程详解9.9w次阅读
- cpu的相关技术参数及其处理技术1966次阅读
下载排行
本周
- 1TI 10kW双向三相三级双向三相三级型 逆变器和逆变器和PFC参考设计
- 6.22 MB |25次下载 |免费
- 2IP2305英集芯锂电池充电IC
- 2.83 MB |5次下载 |免费
- 3TLK111 PHYTER工业温度10/100Mbs以太网物理层收发器数据表
- 1.29MB |4次下载 |免费
- 4PCB及电路设计的接地资料基础
- 0.42 MB |2次下载 |免费
- 5UC3843高性能电流型PWM控制器
- 422.56 KB |2次下载 |免费
- 6ONET8501T高速、高增益、限幅跨阻放大器数据表
- 429.35KB |2次下载 |免费
- 7ISO26262 汽车功能安全标准第二版
- 20.79 MB |1次下载 |5积分
- 8FS5281升压充电管理IC介绍
- 6.40 MB |1次下载 |免费
本月
- 1对讲机原理、使用及纵图集
- 未知 |83次下载 |10积分
- 2TI 10kW双向三相三级双向三相三级型 逆变器和逆变器和PFC参考设计
- 6.22 MB |25次下载 |免费
- 3马可尼IFR 2945A综合测试仪使用手册
- 未知 |24次下载 |8积分
- 4基于STM32微处理器为核心的水质监测系统
- 6.46 MB |23次下载 |免费
- 52.4GHz IEEE 802.15.4 和 ZigBee应用的CC253X 片上系统解决方案
- 9.00 MB |20次下载 |1积分
- 6基于51单片机TEA5767收音机数码管显示设计
- 0.69 MB |15次下载 |10积分
- 7使用UC3875构成的3KW实用高频开关电源设计
- 0.46 MB |6次下载 |1积分
- 8奋斗STM32开发板V5原理图.pdf
- 0.15 MB |6次下载 |免费
总榜
- 1matlab软件下载入口
- 未知 |935107次下载 |10积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB |420061次下载 |10积分
- 3Altium DXP2002下载入口
- 未知 |233076次下载 |10积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 |191349次下载 |10积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M |183327次下载 |10积分
- 6labview8.5下载
- 未知 |81574次下载 |10积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB |73800次下载 |10积分
- 8LabVIEW 8.6下载
- 未知 |65983次下载 |10积分
评论
查看更多