RISC处理器设计.ppt_第1页
RISC处理器设计.ppt_第2页
RISC处理器设计.ppt_第3页
RISC处理器设计.ppt_第4页
RISC处理器设计.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、RISC处理器设计,RISC系统结构,基本思想:简单结构的高效实现 体:指令系统结构 操作:简单 数据:Load-Store结构,寻址方式简单 编码:定长 相:实现与使用方式 简化硬件,提高主频 指令流水线技术:寄存器操作容易解决相关 编译技术 用:性能及兼容性 性能:每条指令周期数差不多,主频高,CPI高 流水及多发射技术在提高性能的前提下不影响兼容性,指令系统结构,指令系统的设计原则,指令系统在计算机中的位置 硬件和软件的界面 设计要求 兼容性:在很长时间内保持不变 通用性:适合于各种应用 方便:编译器或程序员觉得好用,有较多功能 高效:便于CPU设计的优化,不同的实现方法得到不同的性能,

2、指令系统与系统结构,50-60年代 Computer Architecture=Computer Arithmetic 70-80年代 Computer Architecture=Instruction Set Design 90年代以后 Computer Architecture=Design of CPU, Memory System, I/O System, Multiprocessors Searching the space of possible designs at all levels of computer systems,影响指令系统设计的因素,工艺技术 早期的硬件昂贵,简

3、化硬件是指令系统设计的主要因素 如何发挥存储层次的效率,如何利用芯片面积 系统结构 增加指令功能还是提高主频? 并行性:SIMD、向量、多发射(兼容性好)、PIM 操作系统 多进程支持、虚地址空间等 编译技术与程序设计语言 指令的表达能力 应用程序 兼容性,工艺技术的发展(1),工艺技术是处理器技术发展的源动力 集成度及CPU主频提高快,访存延迟提高慢 1990年: 33MHz Intel 386, 80ns访存延迟 1996年:266MHz Intel PII, 60ns访存延迟 上述趋势影响系统结构研究的内容 并行技术:流水线、多处理器、磁盘阵列 存储层次 网络,工艺技术的发展(2),Mo

4、ore定律 Intel的创始人之一Gordon Moore在1971年预言每18个月芯片集成度增加一倍。 30年来这个预言基本正确,普遍认为这个定律可以适用到2010年 2002年达到每个芯片100,000,000个晶体管 2910年达到每个芯片1,000,000,000个晶体管 这么多晶体管用来做什么?=系统结构的研究,工艺技术的发展(3),Moore定律:处理器集成度提高,工艺技术的发展(4),Moore定律:存储器集成度的提高,工艺技术对指令系统的影响,早期的指令系统设计主要考虑如何减少硬件 随着集成度的提高,如何有效利用芯片面积成为系统结构重要研究内容,一些新的并行结构如PIM、SIM

5、D等必然影响指令系统 多发射技术的兼容性好 由于CPU与存储器的速度差距,指令系统的设计应能较好地利用存储层次,如通过并行或流水容忍延迟。,微处理器技术的发展(1),通常微处理器指单片上的处理器 1971年Intel设计出第一个商品化微处理器。 70年代以来,微处理器的性能提高速度远大于大型机或小型机。 目前几乎所有的计算机系统都基于微处理器 微处理器性能的提高不仅得益于微电子技术,更加得益于系统结构技术(近年来尤其如此)。 主频每3年增加一倍,微处理器速度每18个月增加一倍(约每年增加50%)。性能价格比每年增加70%。,微处理器技术的发展(2),微处理器与其它计算机的性能提高速度,微处理器

6、技术的发展(3),微处理器性能提高越来越快,系统结构对指令系统的影响,指令系统本身是系统结构设计的一部分 不改变指令系统的前提下提高性能,如流水、多发射等 指令系统的兼容性与系统结构发展的矛盾关系 Intel的做法,编译技术对指令系统的影响,指令是编译器的工作结果 早期的指令系统主要考虑如何便于编程 编译器的影响 寄存器分配 堆栈用于存放局部变量,全局数据区用于存放静态数据,堆用于存放动态数据。 寄存器分配要考虑一致性问题,可以被aliased的数据不能分配在寄存器中(C中的volatile)。 为使编译器有效使用graph coloring启发式算法,至少需要16个通用寄存器。 规整:所有访

7、存指令都可用所有寻址方式 简单:简化trade-offs,允许编译时确定常量,只提供基本的通用操作。,设计指令系统考虑的因素,操作 操作种类 操作数 堆栈型、累加器型、寄存器型 操作数个数和类型 访存操作数的寻址方式:寄存器、立即数、直接、间接. 指令编码 定长、变长,指令系统的类型(1),根据指令使用数据的方式,指令系统分为以下几类 堆栈型(Stack):操作数在栈顶,运算操作不用指定操作数 累加器型(Accumulator):一个操作数总在累加器中,结果也写回累加器 寄存器型(Register),每个操作数都由指令指定 Register-Register型,又称为Load-Store型,所

8、有运算操作的操作数都在寄存器中 Register-Memory型, Memory-Memory型, 上述三种指令系统类型也可以分别称为0地址指令,单地址指令,以及多地址指令,指令系统的类型(2),例子:不同指令系统完成C=A+B的指令序列,假设A、B、C在内存中不同的单元,指令系统的类型(3),早期的计算机多用堆栈和累加器型指令 出于降低硬件复杂度的考虑 现在已经不用(Intel有点例外) 80年代后的机器主要是寄存器型 访问寄存器比访问存储器快 便于编译器使用和优化 寄存器可以用来存放变量,减少访存次数,寄存器指令再分类,分类标准 运算操作中操作数的个数 运算操作中存储器操作数的个数,存储访

9、问的表示,两个方面 如何表示地址:寻址方式 给定一个地址,访问目标及其长度,访存对象,存储器按字节编址:所有地址都是字节地址 访问长度:字节、半字、字、双字 地址对齐简化硬件设计:如字地址最低两位为0 Big Endian和Little Endian:影响不同机器间的数据兼容性。 Little Endian地址指向一个字的最右字节,Big Endian 反之,寻址方式(1),如何在指令中表示访存地址,寻址方式(2),至少支持Register, Immediate, Displacement, 和Register indirect四种寻址方式 地址偏移量位数12-16位 立即数位数8-16位,指

10、令操作,Rule of Thumb:最常用的指令是简单指令 SPECint92的X86指令统计 把这些简单指令做得快一点,其它慢一点没关系,转移指令特点,条件转移最多 偏移量至少要8位 转移条件简单:与0比较的最多,指令编码,需要考虑的因素 操作码部分比较简单 操作数的个数、类型对指令长度影响很大 变长指令程序代码短、定长指令实现简单 编码方法 定长:RISC 变长:VAX的指令1-53字节,其中ADD指令3-19字节 混合,从上述分析可以看出,简单操作和简单寻址方式用得最多 10简单操作指令占96% 寄存器, 立即数, 偏移寻址, 寄存器间接寻址四种寻址方式 简单指令便于高效实现和使用 lo

11、ad-store结构简化硬件设计,提高主频 定长简化译码 符合编译器“常用的做得快,少用的只要对”的原则 硬件优化应充分考虑兼容性 流水、多发射不改变指令系统 流水、多发射技术在load-store指令系统上容易实现,否则相关性分析困难 上述原因呼唤RISC系统结构,一个“典型”的RISC,32位定长指令 32个32位通用寄存器 三寄存器操作数运算指令 Load-Store指令,基址+偏移量寻址方式 简单转移条件 Delay-Branch,MIPS指令格式,RISC发展过程(1),1964年CDC公司推出的CDC 6600是第一台超级计算机,具备了RISC的一些基本特征 CDC 6600的设计

12、者认识到为了实现有效的流水技术,需要简化体系结构 Load-Store结构 记分板(Score-Boarding)动态流水线调度 乱序执行(Out-of-Order)技术 1976年的Cray-1向量机使用了与CDC 6600类似的想法 Cray是CDC 6600的主要设计者之一 上述简化结构以高效实现的想法在60-70年代没有受到小型机和微处理器设计者的重视,RISC发展过程(2),1968年John Cocke在IBM的San Jose研究中心开始ASC(Advanced Scientific Computer)项目的研究 基本思想是让编译器做更多的指令调度以减少硬件复杂度 还提出了每个周

13、期发射多条指令的思想 ASC计划后来被取消,Cocke在1971年到Future System 1975年Cocke到IBM的Yorktown研究中心开始研制IBM 801,801是最早开始设计的RISC处理器 Cocke获得了Eckert-Mauchly和Turing奖 801是PowerPC的前身 比801稍晚开始的有Patterson在Berkeley的RISC-I及RISC-II与Hennessy在Standford的MIPS项目 这两个大学的研究生曾参与801项目的研究,后来返回大学 RISC-II是SPARC的前身,MIPS项目是MIPS处理器前身,RISC发展过程(3),801的

14、项目经理Joel Birnbaum到HP创立了PA-RISC DEC在推出Alpha之前曾经使用MIPS处理器三年 1994年Intel和HP宣布使用相同的系统结构 从上述发展过程不难解释刚开始时五个RISC处理器的相似性 后来每个RISC处理器有了不同的发展 如Alpha的指令简单,超流水结构,流水级多,主频高,“a speed demon” PowerPC指令功能强,灵活,甚至有点象CISC,“a brainiac”,常见RISC指令系统比较,通过比较常见RISC处理器的指令系统加深对RISC的了解 MIPS IV (Alpha与MIPS很象) PA-RISC 1.1 and 2.0 Po

15、werPC SPARC v.9 通过以下方面进行比较 指令格式 寻址方式 指令功能,RISC指令系统的发展,寻址方式比较,指令功能比较,所有RISC处理器都有一些公共指令 load/store指令 算术运算及逻辑指令 控制流指令 不同处理器在比较及转移指令时有较大不同,比较及条件转移(1),转移条件 SPARC v.8使用4位条件码(CC),该条件码在程序状态字中 整数运算指令设置CC,条件转移指令检测CC 浮点运算有另外两位CC v.9为了支持64位运算增加了4位整数CC,3位浮点CC MIPS直接比较寄存器内容判断是否转移 浮点部件有一位条件码,记录cmp指令的结果 PowerPC有4位C

16、C,一个条件寄存器中有8份4位CC 整数和浮点运算各1位,其它用于比较指令。 Branch指令需指定根据哪一位进行转移 运算指令中有一位指定该指令是否影响CC PA-RISC有多中选择,最常用的是比较两个寄存器的值并根据结果决定是否转移,比较及条件转移(2),Delayed Branch技术 紧挨Branch指令后面的指令视为Branch前面的指令执行可以避免流水线断流。 转移不成功时取消已执行的delay slot指令可以把转移目标的指令安排在delay slot中。 转移成功时取消已执行的delay slot指令可以把转移不成功的指令安排在delay slot中。,指令系统的其它功能,下面

17、指令在前述的指令系统中也很常见(至少在两个指令系统中出现) Atomic Swap指令 64位指令,ALPHA本来就是64位的,因此不区分64位指令 预取指令 Big Endian与Little Endian的切换 共享存储同步指令 等,Atomic Swap指令,以MIPS的LL和SC指令 为例 LL(Load Linked)取数且置系统中LLbit为1 LL为1时,处理器检查相应单元是否被修改,如果其它处理器或设备访问了相应单元或执行了ERET操作,LLbit置为0 执行SC(Store Conditional)时若Llbit为1,则成功,目标寄存器为1;否则存数不成功,目标寄存器为0 L

18、1: LL R1, (R3) ADD R2, R1, 1 SC R2, (R3) BEQ R2, 0, L1 NOP,MIPS部分指令特色(1),作为比较早期的RISC系统,MIPS的指令系统已经发展了四代,不断增加新指令,包括 边界不对齐的数据传送 TLB指令(在MIPS中TLB失效由软件解决) TLBI,TLBR,TLBW,TLBP SYSCALL CTCi, CFCi NOR指令 JUMP/CALL指令,绝对跳转,指令中的立即数左移两位替换PC的低28位地址 条件过程调用,BGEZAL, BLTZAL LL/SC指令用于原子操作 RECIP和RSQRT(Reciprocal),MIPS部分指令特色(2),边界不对齐的数据传送,SPARC部分指令特色(1),寄存器窗口 多组寄存器用于不同进程,8个全局寄存器用于传递参数等 2-32个寄存器穿口,每个24个寄存器 过程调用和退出不用把现场保留到存储器 SAVE和RESTORE指令 SAVE做加法,源寄存器来自调用过程(caller),目标寄存器来自被调用过程(callee),该指令可用于自动修改堆栈指针。 RESTORE做加法,源寄存器来自被调用过程(callee),目标寄存器来自调用过程(caller),该指令用来自动释放堆栈 “标志”加减指令 数据的低两位指出数据类型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论