




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第四章指令系统,1指令系统的发展与性能要求2指令的一般格式3寻址方式4指令格式的优化,.,2,引言,指令系统:又称指令集(InstructionSet)是计算机体系结构设计的核心,是计算机软、硬件接口,是用机器语言、汇编语言编写程序的用户所能看到的计算机的基本属性。,指令系统的设计主要是确定它的指令格式、类型、操作以及对操作数的访问方式。,.,3,4.1指令系统的发展与性能要求,指令:即机器指令,要计算机执行某种操作的命令。指令划分:微指令、机器指令和宏指令。,4.1.1指令系统的发展,指令系统:一台计算机中所有指令的集合;是表征计算机性能的重要因素。系列计算机:基本指令系统相同、基本体系结构相同的一系列计算机。,.,4,完备性:直接提供的指令足够使用,不必再用软件来实现。有效性:程序能够高效地运行。表现在占用存储空间小、执行速度快。规整性:指令系统的对称性、匀齐性、指令格式和数据格式的一致性。兼容性:完全兼容不可能,只能做到“向上兼容”(低档机上的软件可以在高档机上运行)。,4.1.2对指令系统性能的要求,.,5,4.1指令系统的发展,系列计算机的基本指令系统相同,基本体系结构相同。能实现向上兼容。随着VLSL技术的发展,多数计算机指令系统多达几百条,称这些计算机为复杂指令系统计算机(CISC)。研制周期长难保证正确性不易调试维护后提出精简指令系统计算机(RISC)。,.,6,一种指令集结构中的指令到底要支持哪些类型的操作?这是指令集结构功能设计的基本问题。,精简指令集计算机(RISC)尽可能地降低指令集结构的复杂性,以达到简化实现,提高性能的目的。当今指令集结构功能设计的一个主要趋势。,复杂指令集计算机(CISC)强化指令功能,实现软件功能向硬件功能转移。,两种截然不同的方向:,.,7,1复杂指令集计算机(CISC)CISC(ComplexInstructionSetComputer),1)CISC结构追求的目标:强化指令功能,减少程序的指令条数,其中Tc:表示时钟周期。IN:表示CPU执行某一程序中所包含的指令总数。CPI:表示执行每条指令所需的平均时钟周期数。,CISC是通过减少IN值来减少Tcpu的,.,8,1)指令系统复杂,表现在:指令数多,一般大于100条寻址方式多,一般大于4种指令格式多,一般大于4种,2)CISC的主要特点:,5)有专用寄存器,4)采用微程序控制,3)各种指令都可访问存储器,2)绝大多数指令需要多个机器时钟周期方可完成,6)难以用优化编译生成高效的目标代码程序,.,9,指令系统庞大,硬件复杂、庞大,执行速度低,编译程序复杂、长,部分指令使用效率低,3)CISC结构存在的缺点:,.,10,Intel80X86最常用的十条指令,.,11,2RISC(ReducedInstructionSetComputer),1975年,IBM的801小型计算机1979年,加州大学提出RISC这一术语,并研制出RISC-I,RISC-II计算机1981年,斯坦福大学于推出了MIPSRISC计算机1987年,SUN公司的SPARC系列工作站1988年Motorola推出的MC88000RISC计算机,1)RISC的产生,RISC是通过减少CPI值,简化结构来减少Tcpu,.,12,1)精简指令系统指令条数少,一般小于100条基本寻址方式少,一般23种指令格式少,一般23种指令长度一致(32位),2)RISC的主要特点:,2)以寄存器-寄存器方式工作,除了Load/Store指令访问存储器外,其余指令只访问寄存器,.,13,4)使用较多的通用寄存器,一般至少32个,不允许有专用寄存器,5)大多采用硬联线控制,少用或不用微程序实现,3)除了Load/Store指令访问存储器外,所有指令在一个机器时钟周期完成,并采用流水线技术,.,14,4.1.3低级语言与硬件结构的关系,高级语言用法与具体机器的指令系统无关。低级语言(机器语言&汇编语言)和具体机器的指令系统密切相关。汇编语言依赖于计算机的硬件结构和指令系统。,.,15,高级语言如何访问机器硬件资源,高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序作为高级语言的一个外部过程或函数。利用堆栈来传递参数或参数的地址。两者编译生成目标(OBJ)文件。利用连接程序(LINKER)把它们连接成可执行文件便可运行。,.,16,操作码字段:表示指令的操作特性与功能。地址码字段:通常用于指定参与操作的操作数地址。,4.2指令格式,指令的一般结构形式:,.,17,4.2.1指令字长度,指令的长度是指一条指令所包含二进制代码的位数,取决于操作码长度和操作数地址个数及每个地址的长度。机器字长:计算机能直接处理的二进制数据的位数。指令长度与机器字长的关系:半字长指令单字长指令双字长指令,.,18,4.2.2操作码,(1)定长编码:便于译码,扩展性差IBM370机(2)变长编码:能缩短指令平均长度PDP-11,作用:指定指令是执行什么性质的操作。不同的指令用操作码字段的不同编码表示。,.,19,(2)一地址指令:单操作数指令。该指令常以AC中数作为被操作数,指令中地址码字段所指明的数为操作数,操作结果又放回AC。,根据指令中操作数地址的个数,将指令划分为:,4.2.3地址码,(1)零地址指令:指令中只有操作码,没有地址码。,作用:常用于指定参与操作的操作数地址。,(AC)OP(A)AC,.,20,(3)二地址指令:双操作数指令,两地址指明被操作数和操作数地址,其中A1兼做结果地址:,(A1)OP(A2)A1,(4)三地址指令:三个地址分别指明被操作数、操作数以及结果存放地址:,(A1)OP(A2)A3,.,21,A为内存或运算器中通用寄存器的地址;(A)为内存或运算器中通用寄存器地址为A中的数。,.,22,二、地址码,二地址地址根据操作数的物理位置分为:SS存储器-存储器类型RS寄存器-存储器类型RR寄存器-寄存器类型,慢,.,23,为了便于书写和阅读程序,每一指令采用3个或4个英文缩写字母来表示,称为指令助记符。注:1在不同的计算机中,指令助记符的规定是不一样的;2由于机器只能识别二进制语言,因此指令助记符必须转换成相应的二进制操作码。,4.2.4指令助记符,.,24,8位微型计算机的指令格式如8088,字长8位,指令结构可变包括单字长指令、双字长指令和三字长指令操作码长度固定PDP/11系列机的指令格式字长16位单字长指令操作码字段不固定,4.2.5指令格式举例(P135),.,25,4.2.6Pentium指令格式,指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统由可选前缀(04)、操作码(12)、一个由mod-R/M字节和一个SIB(ScaleIndexBase)比例变址字节组成的地址指定器、一个可选的位移量(04)和一个可选的立即数字段(04)构成。,.,26,指令前缀中的重复前缀指定串的重复操作,这样使Pentium处理串比软循环快得多。LOCK前缀用于多CPU环境中对共享存储器的排他性访问段取代用于改变默认段寄存器的情况操作数长度取代和地址长度取代用于在保护模式下决定操作数和指令的长度以下4个指令前缀都是可选的,分别为0或1个字节,4.2.6Pentium指令格式,.,27,操作码是必须的,12个字节Mod、Reg、R/M为共1个字节,是可选的。mod-R/M指定的操作数是在R中还是在M中。mod(2位)R/M(3位)的32种值构成了8种寄存器方式和24种变址方式(参考汇编语言教材);Reg或OP(3位)指定另一个操作数(寄存器)或用作OP的补充。,4.2.6Pentium指令格式,.,28,S、I、B共1个字节,分别是比例系数、变址寄存器号、基址寄存器号,可选。mod-R/M中的某些编码要求SIB字节来完成寻址方式的指定;SS(2)指定比例变换的因子,Index(2)指定变址寄存器,Base(3)指定基址寄存器位移量:可以是0,1,2,4个字节立即数:可以是0,1,2,4个字节,4.2.6Pentium指令格式,.,29,寻址方式:采用地址指定方式时,形成操作数地址或指令地址的方式。,寻址方式,4.3指令和数据的寻址方式,寻址技术:指的是指令按什么方式寻找(或访问)到所需的操作数或信息。它影响主存规模速度及存取方式。寻址方式对应用程序员是透明的。,.,30,1.顺序寻址方式程序指令按顺序存放在内存中,执行时按顺序从内存中取出所要执行的指令。程序计数器(指令指针寄存器,指令计数器)PC(ProgramCounter)存放正在执行的指令地址(要执行的下一指令地址)。,一、指令的寻址方式,.,31,程序要执行的下条指令地址不是由PC给出,而是由本指令的地址码给出。用途:实现程序转移或构成循环程序。,2.跳跃寻址方式,.,32,寻址方式特征位:指出是何种寻址方式。有效地址由形式地址和寻址方式特征位等共同确定。实质:将形式地址()转化为有效地址()。,二、操作数寻址方式,形式地址(D):偏移量,逻辑地址,指令中给出的地址。有效地址(E):真实地址,物理地址,用形式地址并结合某些计算规则求出来的地址。,例:一种单地址指令的结构如下:,.,33,不明显指定操作数的地址,而是在指令中隐含着操作数的地址。比如单地址指令格式的第二操作数由AC隐含指定。,1.隐含寻址(ImpliedAddressing),例:加法指令ADD200H,0010,AC,0011,200H,=ADDAC,200H,.,34,2.立即寻址(ImmediateAddressing),优点:无需访问内存,指令的执行时间很短。缺点:操作数的范围受限。适用范围:用于操作数固定的指令中,主要用于给寄存器或存储器赋初值。,特点:地址字段指出的不是操作数地址,而是操作数本身。,13H,AL,.,35,其形式地址()又称为直接地址(),3.直接寻址(DirectAddressing),特点:地址字段直接指出操作数在内存中地址。,E=D,1000H,1000H,FFFFH,优点:简单。缺点:寻址空间受限。,0000H,.,36,特点:地址字段中的D是操作数地址的指针。,4.间接寻址(IndirectAddressing),E=(D),1000H,1000H,5000H,5000H,13H,说明:两次访存影响执行速度,现已不大使用。,优点:寻址空间大。缺点:需多次访问主存。,.,37,寄存器寻址方式:寄存器中存放的是操作数。,5.寄存器寻址(RegisterAddressing)和寄存器间接寻址(RegisterIndirectAddressing),区别:(1)寄存器中前者存的是操作数,后者是操作数地址。(2)前者不需要访问内存,速度相对快;寻址空间小;后者需要访问内存,速度相对慢;寻址空间大。联系:地址字段中给出的都是寄存器的编号。,寄存器间接寻址方式:寄存器中存放的不是操作数,而是操作数在内存中的地址。,.,38,特点:把PC的内容加上指令格式中形式地址D而形成操作数的有效地址E。,6.相对寻址方式(RelativeAddressing),E=(PC)+D,.,39,特点:把基址寄存器的内容加上指令格式中D而形成操作数的E。用途:可用于扩大寻址能力。,7.基址寻址方式(Base-RegisterAddressing),E=(BR)+D,.,40,特点:把某个变址寄存器的内容加上指令格式中D而形成操作数的E。用途:用于实现程序块的有规律变化。,8.变址寻址方式(IndexAddressing),.,41,基址寻址方式和变址寻址方式有什么特点?(上海交通大学硕士研究生入学考试试题),解:,两者有不同的特点和用途:在基址寻址的系统中,基址是不变的,程序中的所有地址都相对于基地址来变化。而对于变址寻址则相反,指令中的D给出的是一个存储器地址基准,变址寄存器X中存放的是相对于该基准地址的偏移量。不同的变址寄存器值指出了不同的单元;在基址寻址中,偏移量位数较短,而在变址寻址中,偏移量位数足以表示整个存储空间;前者主要解决程序逻辑空间与存储器物理空间的无关性,而后者主要为了可编写出高效率访问一片存储空间的程序。,.,42,用途:用在I/O指令中,以实现外存储器或外围设备同内存之间的数据块传送,还适用于内存的数据块搬家。,9.块寻址方式(BlockAddressing),200H,800H,指定数据块长度的三种方法:(1)指令中划出字段指出长度;(2)指令中指出数据块的首尾地址;(3)由块结束字符指出数据块的长度。,.,43,方法:E由段寄存器的内容加上段内偏移地址而形成。应用:微型机采用段寻址方式,20位物理地址为16位段地址左移四位加上16位偏移量。,10.段寻址方式(SegmentAddressing),.,44,4.4堆栈寻址方式,堆栈:是一组能存入和取出数据的暂时存储单元。区别:对数据的存取方法或寻址方式不同。分类:串联堆栈和存储器堆栈。,特点:数据传送在栈顶和某个通用寄存器之间进行。存/取数方式:当压入数据时,栈中数据先向栈底移动一个数据字,空出栈顶寄存器来存放压入的数据。当取出数据时,从栈顶的寄存器中取出数据,栈中数据向栈顶顺序移动一个数据字。,4.4.1串联堆栈(硬堆栈,下压堆栈),由CPU中的一组专门寄存器组成。,.,45,“先进后出”FILO(FirstInLastOut)。“后进先出”LIFO(LastInFirstOut)。,.,46,在主存储器中划分出一部分区域来作为堆栈。优点:(1)容量可任意;(2)可同时建立多个堆栈;(3)可用对存储器寻址的任一指令来对堆栈中数据寻址。需设置一个堆栈指示器SP(StackPointer),它是CPU中的一个专用寄存器,指定堆栈的栈顶。,4.4.2存储器堆栈(软堆栈),缺点:(1)容量有限;(2)读出具有破坏性;,.,47,串联堆栈不需要堆栈指示器,栈顶是由硬件确定,操作时栈顶不动,数据串联地在寄存器间移动。因存储单元中的数据不容易移动,为此实行栈顶移动,数据不动。数据的压入和读出用“进栈”(PUSH)和“出栈”(POP)指令。,进栈操作描述:(A)Msp,(SP)-1SP出栈操作描述:(SP)+1SP,(Msp)A,注:进栈时先存入数据,后修改堆栈指示器;出栈时先修改堆栈指示器,后取出数据。,.,48,.,49,寻址方式举例:Pentium,.,50,Pentium寻址方式,.,51,P120例4,某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STO(OP)=(1B)H,LAD(OP)=(3C)H。MOV是传送指令,STO为存数指令,LAD为取数指令。要求:(1)分析三种指令的指令格式与寻址方式特点。(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?,.,52,P120例4,F0F13CD211110000111100010011110011010010,3C15号寄存器13CD2把主存13CD2的内存装载到15号寄存器,6FD60110111111010110由于是单字长指令,则一定是MOV指令。则OP错误,修改为001010001101011028D6,.,53,4.5典型指令,(1)数据传送指令主要用于主存和寄存器、寄存器和寄存器之间的数据传送。主要有:取数、存数、传送、成组传送、字节交换、清除累加器和堆栈操作指令等。(2)算术运算指令主要用于定点或浮点的算术运算、向量运算。主要有:二进制定点加、减、乘、除指令;浮点加、减、乘、除指令,求反、求补、算术移位指令。,4.5.1指令的分类,.,54,(4)程序控制指令转移指令一般分为:条件转移、无条件转移、转子程序、返回主程序、中断返回指令等。条件转移的条件有进位标志位(C)、结果为零标志(Z)、负标志(N)、溢出标志(V)和奇偶标志(P)等。(5)输入输出指令主要用来启动外围设备,检查测试外围设备的工作状态,并实现外围设备和CPU之间、外围设备与外围设备之间的信息传送。,(3)逻辑运算指令主要用于无符号数的位操作、代码转换、判断及运算。主要有:逻辑加、乘、异或、移位等。,.,55,(6)字符串处理指令常用在文字编辑中对字符串进行处理。包括:字符串传送、转换、比较、查找、抽取和替换等。(7)特权指令是具有特殊权限的指令,只用于操作系统或其他系统软件,一般不直接提供用户使用。主要用于系统资源的分配和管理:改变系统工作方式,检测用户的访问权限、修改虚拟存储器管理的段表、页表,完成任务的创建和切换。(8)其他指令状态寄存器置位、复位、测试、暂停、空操作,以及其它系统控制用的特殊指令。,.,56,4.5典型指令,基本指令系统P122表4.9介绍20%和80%规律:CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。VLSI技术发展引起的问题VLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,.,57,4.5典型指令,RISC特点(采用流水线技术)简单而统一格式的指令译码;大部分指令可以单周期执行只有LOAD/STORE可以访问存储器简单的寻址方式采用延迟转移技术采用LOAD延迟技术三地址指令格式较多的寄存器对称的指令格式,返回,.,58,1.霍夫曼编码(操作码设计),基本思想(频率相关思想):当事件发生的概率不均等时,对概率高的事件用较短的位数(或时间)来表示,对概率低的事件用较长的位数(或时间)来表示,导致平均位数(时间)最短。,表示方法:霍夫曼树。,4.6.1操作码的优化设计,4.6指令格式的优化,.,59,用霍夫曼压缩概念进行编码的步骤:,(1)将要编码的字符按出现频率的次序排列,频率相等的符号可任意排列;(2)把出现频率最小的两个符号合并,并将其频率相加,按相加后的频率次序重新排序;(3)继续过程(2),直至只剩下两个频率,此后以相反过程进行编码;(4)对最后两个频率分别指定代码0和1;(5)若某一频率由两个频率相加而成,则分别指定这两个频率的下一个代码为0或1;(6)继续过程(5),直到所有符号均已指定不同代码为止。,.,60,例:现设一台模型机,共有7种不同的指令,使用频度如表所示。若用定长操作码表示,则需要3位。,操作码表示的平均长度L=li*Pili:第i个操作码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 横店招聘考试题及答案
- 核电监护考试题及答案
- 购买活动策划方案
- 灌肠实验考试题及答案
- 工地焊工考试题及答案
- 幼儿园教学教案设计:安全小警报危险物品认知与分类
- 项目管理风险分析及应对措施清单模板
- 团队项目进度管理看板模板
- (正式版)DB15∕T 3676-2024 《白鲜工厂化育苗技术规程》
- 企业文化建设方案与活动策划手册
- 2024-2025学年小学生情绪色彩教学设计实施要素
- Unit 2 My school things第1课时教学课件
- 全过程工程咨询投标方案(技术方案)
- 玉米脱粒机行业发展分析及投资价值研究咨询报告
- (北师大版)一年级数学上册习题-同步训练(有参考答案)
- 2024年上海杉达学院马克思主义基本原理概论(期末考试题+答案)
- (多场景)劳务合同(通用)
- 2024年重庆建筑安全员-B证考试题库及答案
- 新生儿护理与安全
- 急性胃肠炎诊疗规范
- 铁道车辆制动装置及制动新技术全套教学课件
评论
0/150
提交评论