版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、77 计算机教育2005.7教/材/建/设一、C P U 指令系统CISC 与RISC要讲C P U ,就必须先讲指令系统。指令系统指的是一个CPU 所能够处理的全部指令的集合,是一个C P U 的根本属性。之所以说指令系统是一个CPU 的根本属性,是因为指令系统决定了一个C P U 能够运行什么样的程序,进行什么操作。所有采用高级语言编出的程序,都需要翻译(编译或解释成为机器语言后才能运行,这些机器语言就是由一条条的指令组成的。通常,一条指令包括两个部分:操作码和地址码。操作码其实就是指令序列号,用来告诉C P U 需要执行哪一条指令。地址码则复杂一些,主要包括源操作数地址、目的操作数地址。
2、在某些指令中,地址码可以部分或全部省略,比如一条空指令就只有操作码而没有地址码。从微处理器的指令系统来看,目前主要有两种发展趋势,一个是CISC,一个是RISC。1.CISC 的产生、发展和现状某一系列CPU,如IntelX86系列机,为了增加新的功能与提高速度,越来越多的复杂指令被加入到指令系统中。但是,这样就导致一个问题:一个指令系统的指令数是受指令操作码的位数所限制的,如果操作码为8位,那么指令数最多为256条(2的8次方。那么怎么办呢?指令的宽度是很难增加的,聪明的设计师们又想出了一种方案:操作码扩展。由于操作码的后面跟着的是地址码,而有些指令是用不着地址码或只用少量的地址码的。那么,
3、就可以把操作码扩展到这些位置。然后,为了达到操作码扩展的先决条件:减少地址码,设计师们又广开思路,发明了各种各样的寻址方式,如基址寻址、相对寻址等,用以最大限度地压缩地址码长度,为操作码留出空间。就这样,慢慢地,CISC 指令系统就形成了,大量的复杂指令、可变的指令长度、多种的寻址方式是Pentium 微处理器系统结构与原理的教学及教材的改进中国民航飞行学院宋海军何元清/文随着现代计算机技术的快速发展,以Pentium (32位高级微处理器为核心、以Windows 操作系统为主流应用环境的微机系统日益普及,各大专院校已摒弃了以8086为教学内容的过时的微机原理教材,而纷纷开始使用以Pentiu
4、m 为平台的“32位微机原理与接口技术”教材进行教学。由天津大学艾德才教授主编、高等教育出版社出版的“十五”规划教材微型计算机(Pentium 系列原理与接口技术为适应21世纪教学改革的需要,不仅在教学内容上进行了大幅度改革,而且在教学方法和手段上也实施了革新。书中以现代最优秀的32位Pentium 微处理机系统结构与原理为主体,全面地介绍了32位微型计算机的原理与接口技术。书中展示给学生的是目前微机领域里的顶尖技术及其实现过程,由于内容起点高,对初学者来说,较抽象,不容易理解和掌握,笔者在对本门课的核心部分Pentium系统结构与原理实施教学时,结合本教材中的第二章内容作了如下的处理,并以比
5、较通俗的语言进行讲解,获得了较好的效果。 78计算机教育2005.7教/材/建/设CISC 的特点,也是CISC 的缺点:因为这些都大大增加了解码的难度,而在现在的高速硬件发展下,复杂指令所带来的速度提升早已不及在解码上浪费的时间。2.RISC 的产生、发展和现状由“8020”结论,提出了RISC 的核心思想,进一步总结出RISC 的特点,如指令长度固定,指令格式种类少,寻址方式种类少,大多数是简单指令且都能在一个时钟周期内完成,易于设计超标量与流水线,寄存器数量多,大量操作在寄存器之间进行。3.Pentium微处理器结构的RISC 设计思想原本,RISC 应较为流行,现在,在服务器上有一些R
6、ISC 的应用,但是在普通的桌面机上还没流行起来,因为早期的桌面软件是按CISC 设计的,并一直延续到现在,如果用RISC 将无法兼容。所以,微处理器厂商一直在走CISC 的发展之路,包括Intel、AMD,还有其他一些现已更名的厂商,如TI、Cyrix,以及现在的VIA 等。不过,由于RISC 确实在设计和指令结构等方面具有先进的特性,现在的CISC 结构微处理器基本上经过RISC 改良,即已过渡成以RISC 为内核、外围是CISC 界面的微处理器。换句话说,现在的微处理器采用RISC 技术为内核,通过解码器,将它转换成对外的CISC 结构,像IntelPentium 系列、AMDK 6系列
7、就是这种结构的微处理器。由于教材没有直接阐述上述内容,而在Pentium 微处理器结构上又采用了RISC 设计思想,所以学生不明白CISC 与RISC 这一节的来龙去脉,所以笔者就将上述内容整合进本节给学生一个明白。二、Pentium 微处理器常用术语在第二章中,介绍这些当今微机领域内常用的技术术语是非常必要和行之有效的。每个术语虽然都进行了解释,但具体到为什么是这样或者说为什么这么做(如采用乱序执行技术等深层含义时,就略显突兀,学生不便理解。然,笔者作了如下安排。讲完Pentium 微处理器结构采用的RISC 设计思想(即采用RISC技术为内核,通过译码器,将它转换成对外的CISC 结构后,
8、再行解释微操作与微代码两个术语。对于复杂的CISC 指令,在内核为RICS 的微处理器上执行的话,就需要解码。解码分硬件解码和软件解码。硬件解码引出微操作概念,即把C I S C 指令解码成相应的微操作并交给RISC 内核。而软件解码对应微代码术语,即对特别复杂的CISC 指令则需要进行微解码,并把它分成若干条长度固定的类似RISC 的微指令后开始执行。若在还没有讲述流水线操作之前,就解释分支转移预测、乱序执行,往往会适得其反,让学生一开始就处于进退两难的境地。笔者是在讲完流水线操作后,再进行讲解,能让学生深刻理解分支转移预测、乱序执行的本意。这样一环一环引导学生,以此初步了解为铺垫,以便我们
9、接下来的课程对Pentium 微处理器系统结构与原理展开教学。三、C P U 核心的设计1.超标量(SuperscalarC P U 的性能是由什么决定的呢?单纯的一个A L U 速度在一个C P U 中并不起决定性作用,因为A L U 的速度都差不多。而一个C P U 的性能表现的决定性因素就在于C P U 内核的设计。既然无法大幅提高A L U 的速度,有什么替代的方法呢?并行处理的方法又一次产生了强大的作用。所谓的超标量C P U ,就是指集成了多个A L U、多个F P U 、多个译码器和多条流水线的C P U,以并行处理的方式来提高性能。而超标量技术必须结合Pentium 微处理器中
10、的两个各自独立的整数流水线讲解。U、V 流水线并行执行两条指令,使Pentium 微处理器在每个时钟周期内可以同时执行两条指令,即解释了超标量技术的含义以及Pentium 微处理器属于一种高性能微处理器。这样超标量技术应该是很容易理解的。2.流水线(Pipeline流水线是现代Pentium 微处理器RISC 核心的一个重要设计,它极大地提高了微机系统性能。对一条具体的指令执行过程来说,通常可以分为:取指令、指令译码、取操作数、运算(A L U 和写结果等五个操作步骤。其中前三步79 计算机教育2005.7教/材/建/设一般由指令控制器完成,后两步则由运算器完成。按照传统的方式,所有指令顺序执
11、行,那么先是指令控制器工作,完成第一条指令的前三步,然后运算器工作,完成后两步,在指令控制器工作,完成第二条指令的前三步,再是运算器,完成第二条指令的后两部很明显,当指令控制器工作时运算器基本上在休息,而当运算器在工作时指令控制器却在休息,造成了相当大的资源浪费。解决方法很容易想到,当指令控制器完成了第一条指令的前三步后,直接开始第二条指令的操作,运算单元也是。这样就形成了流水线系统,这是一条2级流水线。如果是一个超标量系统,假设有三个指令控制单元和两个运算单元,那么就可以在完成了第一条指令的取址工作后直接开始第二条指令的取址,这时第一条指令在进行译码,然后第三条指令取址,第二条指令译码,第一
12、条指令取操作数这样就是一个5级流水线。很显然,5级流水线的平均理论速度,约为不采用流水线技术的4倍之多。这时再重点讲解Pentium 微处理器两条整数流水线,笔者通过Flash 动画展示了整数指令的执行步骤以及在逻辑框图中的流程。这样使得学生对Pentium 微处理器流水线操作更有明确的认识,同时论证了Pentium 微处理器的RISC 核心结构。Pentium 微处理器采用的RISC 核心设计,易于设计流水线。引出流水线操作术语,以及对系统性能的提高。流水线系统最大限度地利用了C P U 资源,使每个部件在每个时钟周期都工作,大大提高了效率。但是,流水线有两个非常大的问题,即引出另外两个重要
13、的术语:相关和转移;进而对这两个问题所造成的流水线延迟(stall提出乱序执行技术、分支转移预测和推测执行技术。在一个流水线系统中,如果第二条指令需要用到第一条指令的结果,这种情况叫作相关。以上面的5级流水线为例,当第二条指令需要取操作数时,第一条指令的运算还没有完成,如果这时第二条指令就去取操作数,就会得到错误的结果。所以,这时整条流水线不得不停顿下来,等待第一条指令的完成。这是很讨厌的问题,特别是对于比较长的流水线,比如20级,这种停顿通常要损失十几个时钟周期。目前解决这个问题的方法是乱序执行。乱序执行的原理是在两条相关指令中插入不相关的指令,使整条流水线顺畅。比如上面的例子中,执行第一条
14、指令后直接开始执行第三条指令(假设第三条指令不相关,然后才开始执行第二条指令,这样当第二条指令需要取操作数时第一条指令刚好完成,而且第三条指令也快要完成了,整条流水线不会停顿。当然,流水线的阻塞现象还是不能完全避免的,尤其是当相关指令非常多的时候。另一个大问题是条件转移。在上面的例子中,如果第一条指令是一个条件转移指令,那么系统就会不清楚下面应该执行哪一条指令了。这时就必须等第一条指令的判断结果出来才能执行第二条指令。条件转移所造成的流水线停顿甚至比相关还要严重得多。所以,现在采用分支预测技术来处理转移问题。虽然程序中充满着分支,而且执行哪一条分支都是有可能的,但大多数情况下总是选择某一分支。比如一个循环的末尾是一个分支,除了最后一次我们需要跳出循环外,其他的时候我们总是选择继续循环这条分支。根据这些原理,分支预测技术可以在没有得到结果之前预测出下一条指令是什么,并执行它。现在的分支预测技术的准确率能够达到90%以上,但是,一旦预测错误,C P U 仍然不得不清理整条流水线,并回到分支点。这将损失大量的时钟周期。所以,进一步提高分支预测的准确率也是微机技术待研究的一个课题。越是长的流水线,相关和转移两大问题也越严重,所以,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于果蝇-灰色神经网络的煤炭物流需求精准预测模型构建与实证
- 基于机器视觉的铁塔结构件冲孔位置动态图像识别技术研究
- 基于机器视觉的PCB在线检测仪光学系统深度设计与实践
- 基于本体论的网格服务匹配方法研究:原理、应用与优化
- 基于有限元法的椭圆振动切削机理研究
- 基于有限元与系统模拟融合的发电机电路及控制系统仿真研究
- 基于智能融合的监所勤务态势分析系统数据服务平台软件设计与实践
- 基于智能技术的路基路面质量评定系统:开发创新与应用实践
- 基于时间自动机的列控中心软件:精准建模与高效验证研究
- 智能网联汽车标定技师考试试卷及答案
- 公务用车分时租赁实施方案
- 中国医院质量安全管理第2-13部分:患者服务临床用血
- 2024-2025学年人教版物理八年级上册 期中考试物理试卷
- 遥感应用模型全册配套完整课件
- T-CBMF 96-2020 T-CCPA 20-2020 超高性能混凝土预混料
- 吊篮施工计算书和相关图纸
- 加油站现场安全重点检查指引
- CRRT并发症及防治护理课件
- JJG 443-2023燃油加油机(试行)
- JJG 905-2010刮板细度计
- GB/T 9978.1-2008建筑构件耐火试验方法第1部分:通用要求
评论
0/150
提交评论