2019年9月17日,第1页,,第5章 指令系统,计算机组成原理,教学目标 教学重点 教学过程,2019年9月17日,第2页,教学目标,了解指令系统的发展与性能要求 掌握指令格式和寻址方式,2019年9月17日,第3页,教学重点,指令格式 扩展操作码 寻址方式,,2019年9月17日,第4页,教学过程,5.1 计算机的指令系统的发展与性能 5.2 指令的格式 5.3 寻址方式 5.4 指令的分类与高级语言 5.5 典型指令系统,2019年9月17日,第5页,5.1计算机的指令系统的发展与性能,指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。 完善的计算机的指令系统应具备: 1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。 2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。 3、规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。 (1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。 (2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。 (3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。 4、兼容性:兼容性一般是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。,2019年9月17日,第6页,5.2指令的格式,计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。,2019年9月17日,第7页,5.2.1指令操作码与地址码 (1/9),两个字段:操作码字段+操作数地址字段: 1.操作码 操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。 (1)每条指令都要求它的操作码必须是独一无二的位组合。 (2)指令系统中指令的个数N与操作码的位数n,必须满足关系式: N≤2n 2.操作数地址码 (1)地址码:用来描述该指令的操作对象。 (2)指令字长=操作码的位数+(操作数地址个数)*(操作数地址码位数),2019年9月17日,第8页,5.2.1指令操作码与地址码 (2/9),一、指令格式 1.零地址指令格式 这是一种没有操作数地址部分的指令格式。 这种指令有两种可能: (1)无需任何操作数。如空操作指令,停机指令等。 (2)所需的操作数是默认的:堆栈。,操作码OC,2019年9月17日,第9页,5.2.1指令操作码与地址码 (3/9),A、堆栈的概念 (a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。 (b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。 (c)堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。 B、 堆栈结构在计算机中的作用 (a)具有堆栈结构的机器使用零地址指令,这不仅合指令长度短,指令结构简单,机器硬件简化。 (b)实现程序调用,子程序嵌套调用和递归调用。 (c)对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。,2019年9月17日,第10页,5.2.1指令操作码与地址码 (4/9),C、堆栈的操作 设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,SP的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出SP所指向的栈顶单元内容,再把SP内容自动递增而指向新的栈顶位置。即 PUSH X;(SP)-1SP (X)(SP) POP X; ((SP))X (SP)+1SP,2019年9月17日,第11页,5.2.1指令操作码与地址码 (5/9),2.一地址指令格式 (1)指令中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加1、减1、移位等单操作数指令。 (2)在某些计算机中,指令中提供的一个地址提供一个操作数,另一个操作数是由机内硬件寄存器“隐含”地自动提供的。所谓“隐含”是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器(AC)。,2019年9月17日,第12页,5.2.1指令操作码与地址码 (6/9),3.二地址指令格式 (1)把保存操作前原来操作数的地址称为源点地址(SS),把保存指令执行结果的地址称为终点地址或目的地址(DD)。 (2)将源点与终点操作数进行操作码规定的操作后,将结果存入终点地址。通常二地址指令又称为双操作数指令。 例如,双操作数加法指令: ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以后,将结果存入R1寄存器中。 又如ADD (R0),R1表示将R0寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的R1寄存器的内容相加以后,将结果存入R1寄存器中。,2019年9月17日,第13页,5.2.1指令操作码与地址码 (7/9),4.三地址指令格式 其操作是对AC1、AC2指出的两个操作数进行操作码所规定的操作,并将结果存入AC3中。例如: ADD X Y Z 含义为 (X)+(Y)Z 即X单元内容加上Y单元内容,结果送Z单元中。,2019年9月17日,第14页,5.2.1指令操作码与地址码 (8/9),5.多地址指令格式 例如四地址指令格式。 (1)含义: ADD X Y Z W A、(X)+(Y)→Z B、(W)→下一条指令地址 (2)特点: A、直观明了; B、程序执行的流向明确; C、操作数和结果可以分散在内存各处。 D、但是指令字长度太长。,2019年9月17日,第15页,5.2.1指令操作码与地址码 (9/9),指令格式设计准则 1、指令字长要短,以得到时间和空间上的优势。 2、指令字长必须有足够的长度。 3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是L位,则机器字长最好是L,2L,4L,8L等。 4、指令格式的设计还与如何选定指令中操作数地址的位数有关。 例如,对同一容量(如64KB)的存储器 (1)若取存储单元为一字节长,则需要16位地址码, (2)若存储单元长度为32位,则只需14位地址码。 方案(1)对字符操作方便,但地址码位数多, 方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。 (存储器分辩率:指存储器能被区分、识别与操作的精细程度),2019年9月17日,第16页,5.2.2指令字长与扩展方法 (1/3),一、操作码和地址码间的权衡(操作码有两种编码格式) 1、固定格式:操作码长度固定,且集中放在指令字的一个字段中。 2、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。 二、扩展操作码 1、要点: (1)操作码位数随地址码个数变化采取可变长度的类型; (2)指令间指令码一定不重复; (3)根据需要灵活变通。,2019年9月17日,第17页,5.2.2指令字长与扩展方法 (2/3),2、比较 假设一台计算机指令字长16位,操作码与地址码都为4位,如图所示。 (1)方法一:固定格式,则最多可以设计16条三地址指令,图10-3 阵列处理机结构,2019年9月17日,第18页,5.2.2指令字长与扩展方法 (3/3),(2)方法二:扩展操作码,具体方法如下: A、4位OC中用0000-1110定义15条三地址指令,留编码1111作为扩展标志与下一个4位组成一个8位操作码,引出二地址指令,则: B、(a)若将AC1全部用作2地址指令的OC,能再定义16条2地址指令; (b)8位OC中用11110000-11111110定义15条二地址指令,剩下的一个编码11111111与下一个4位组成一个12位的操作码,引出一地址指令; (c)选11110000—11111101共14条2地址指令,留11111110,11111111为扩展标志,再与AC2组合,以此类推。 C、若选B(c),则可定义31条1地址指令,留一个编码111111111111为扩展标志,与下一个4位组成16位操作码,引出16条零地址指令; 3、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。 例如:小型机PDP-11是用操作码最左边一位(最高位15位)来指明指令操作处理的数据字长度,当第15位=0,是字指令,操作数是16位长的字;当15位=1,是字节指令,操作数是8位长的字节。,2019年9月17日,第19页,5.3 寻址方式 (1/11),一、寻址方式的设计 1、目的 (1)丰富程序设计手段,提高程序质量; (2)减少访问主存的次数,压缩程序占用的存储空间。保证指令的地址码字段尽可能缩短,而访问的存储空间尽可能地大。 2、 概念 (1)形式地址:指令中直接给出的地址; (2)有效地址:操作数所在的真实地址; (3)寻址方式:从形式地址生成有效地址的各种方式称为寻址方式。,2019年9月17日,第20页,5.3 寻址方式 (2/11),3、寻址方式选用的依据 (1)要与数据的表示方式相配合,对各种结构的数据能方便地进行存取和处理; (2)要与指令系统相匹配,依据对机器性能要求的高低来考虑选择; (3)还要考虑硬件实现的可能性与复杂程度,成本高低,设备与价格增加的合理性。 4、区分寻址方式的方法 (1) 在指令中划出一个字段,用二进制编码来标志所采用的类型,此编码称寻址方式码; (2)使用隐含寻址方式,用操作码隐含寻址方式。,2019年9月17日,第21页,1、隐含寻址,指令中隐含着操作数的地址 如某些运算,隐含了累加器AC作为源和目的寄存器 如8086汇编中的STC指令,设置标志寄存器的C为1,2019年9月17日,第22页,2、立即寻址,立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,因此,这样的操作数被称为立即数。 指令格式:操作码θ 操作数A,2019年9月17日,第23页,2、立即寻址,特点:在取指令时,操作码和操作数被同时取出,不必再次访问存储器,从而提高了指令的执行速度。 但是,因为操作数是指令的一部分,不能被修改; 而且对于定 长指令格式,操作数的大小将受到指令长度的限制,所以这种寻址方式灵活性最差 通常用于给某一寄存器或主存单元赋初值,或者用于提供一个常数。,2019年9月17日,第24页,3、直接寻址,指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EA=A。,2019年9月17日,第25页,3、直接寻址,操作数地址是不能修改的,与程序本身所在的位置无关,所以又叫做绝对寻址方式 在早期的计算机中,主存储器的容量较小,指令中地址码的位数要求不长,采用直接寻址方式简单快速,也便于硬件实现,因此,常被作为主要的寻址方式。 但在现代,随着计算机主存容量的不断扩大,所需的地址码将会越来越长。指令中地址码的位数将不能满足整个主存空间寻址的要求,因此直接寻址方式受到了很大的限制。另外,在指令的执行过程中,为了取得操作数,必须进行访存操作,降低了指令的执行速度。,2019年9月17日,第26页,4、间接寻址,间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为:EA=(A),2019年9月17日,第27页,4、间接寻址,特点:因为操作数的有效地址在主存储器中,可以被灵活的修改而不必修改指令,从而使间接寻址要比直接寻址灵活得多。但是,间接寻址在指令执行过程中至少需要两次访问主存储器才能取出操作数,严重降低了指令执行的速度。,2019年9月17日,第28页,5、寄存器寻址,在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EA=Ri 优点: (1)由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多; (2)由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。,2019年9月17日,第29页,6、寄存器间接寻址,为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号,这时有EA=(Ri) 这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算机中使用较为广泛的一种寻址方式。,2019年9月17日,第30页,7、相对寻址,由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:EA=(PC)+D。,2019年9月17日,第31页,7、相对寻址,对寻址方式使程序模块可采用浮动地址,编程时只要确定程序内部操作数与指令之间的相对距离,而无需确定操作数在主存储器中的绝对地址,这样,将程序安排在主存储器的任意位置都不会影响程序执行的正确性。,2019年9月17日,第32页,8、基址寻址,在基址寻址方式中,指令的地址码部分给出偏移量D,而基准地址放在基址寄存器Rb中,最后操作数的有效地址仍然是由基准地址A与偏移量D相加而成,即:EA=(Rb)+D。用哪一个寄存器作为基址寄存器也必须在硬件设计时就事先规定,基址寄存器Rb中的内容称为基准地址,该值可正可负。,2019年9月17日,第33页,8、基址寻址,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。,2019年9月17日,第34页,9、变址寻址,变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址,即:EA=A+(Rx)。用哪一个寄存器作为变址寄存器必须在硬件设计时就事先规定,变址寄存器Rx中的内容称为变址值,该值可正可负。,2019年9月17日,第35页,9、变址寻址,,2019年9月17日,第36页,9、变址寻址,变址寻址方式是一种被广泛采用的寻址方式,最典型的应用就是将指令的地址码部分给出的地址A作为基准地址,而将变址寄存器Rx中的内容作为修改量。在遇到需要频繁修改操作数地址时,无须修改指令,只要修改Rx中的变址值就可以了,这对于数组运算、字符串操作等一些进行成批数据处理的指令是很有用的。,2019年9月17日,第37页,10、段寻址方式,2019年9月17日,第38页,,2019年9月17日,第39页,寻址方式举例: Pentium,2019年9月17日,第40页,Pentium寻址方式,2019年9月17日,第41页,P118例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)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?,2019年9月17日,第42页,P118例4,F0F1 3CD2 1111 0000 1111 0001 0011 1100 1101 0010,6FD6 0110 1111 1101 0110由于是单字长指令,则一定是MOV指令。 则OP错误,修改为001010 00 1101 0110=28D6,2019年9月17日,第43页,5.4 指令的分类与高级语言,5.4.1 指令系统的分类 5.4.2 指令系统与高级语言,,2019年9月17日,第44页,5.4.1 指令系统的分类 (1/9),1. 数据传送类指令 寄存器至寄存器(R-R:Register-Register) 存储器至寄存器(S-R:Storage-Register) 寄存器至存储器(R-S::Register-Storage) 存储器至存储器(S-S:Storage-Storage),2019年9月17日,第45页,5.4.1 指令系统的分类 (2/9),2. 运算类指令 加法,减法,乘法和除法等指令。,2019年9月17日,第46页,5.4.1 指令系统的分类 (3/9),3. 逻辑运算指令 逻辑运算主要是对布尔变量的运算。 基本操作:包括逻辑与,逻辑或与逻辑非3种基本操作; 组合逻辑操作:例如:异或。 (1)逻辑与指令: (2)逻辑或指令: (3)逻辑非指令: (4)逻辑异或指令: 算术逻辑运算指令除了给出运算结果外,往往还要给出某些状态信息。如运算结果的正、负;运算结果是否为零;是否有溢出;是否有低位向高位的进位等,供其它指令或程序分析时使用。,2019年9月17日,第47页,5.4.1 指令系统的分类 (4/9),4. 移位指令 算术移位:左移或右移(右移时符号位不变) 逻辑移位:左移或右移(右移时符号位补0) 循环移位:左移或右移。,2019年9月17日,第48页,5.4.1 指令系统的分类 (5/9),5. 程序控制类指令 (1)转移指令: 包括无条件转移指令和条件转移指令。 (2)转子与返回指令: 子程序是一组可以共享的指令序列,可被主程序调用执行。转子指令与转移指令之间最大的差别在于:转移指令无需返回,而转子指令则需要。 子程序调用指令就是用来调用子程序的。为了能够从子程序中正确返回到断点继续执行,并能支持多重嵌套和递归调用,现代计算机通常用堆栈来保存返回地址。 (3)程序中断指令: 中断一般是计算机系统出现异常情况或特殊请求时随机产生的。一般在计算机中,中断指令作为隐指令不提供用户使用。但在某些计算机中设置了可供用户使用的中断指令,以实现系统功能调用和程序请求。如IBM PC的中断指令,PDP-11的自陷指令等。,2019年9月17日,第49页,5.4.1 指令系统的分类 (6/9),6. 输入输出类指令 用来处理机与外部设备之间进行通信的一类指令。以处理机为基准,信息由外部设备传向处理机称为输入(Input),信息由处理机传给外部设备称为输出(Output)。 一元化总线的计算机如PDP-11,不需设置专门的I/O指令,可以用一般的数据传送类指令实现输入和输出; 对于主存和外设不采用统一编址技术的计算机来说,则需要有专门的I/O指令,如IBM PC就是一个典型的例子。,2019年9月17日,第50页,5.4.1 指令系统的分类 (7/9),7. 字符串处理指令 非数值处理能力; 字符串处理指令一般包括字符串传送、比较、查询、转换等指令。,2019年9月17日,第51页,5.4.1 指令系统的分类 (8/9),8. 处理机控制类指令 包括停机指令、等待指令、空操作指令、开中断指令、关中断指令、设置条件码指令等。,2019年9月17日,第52页,5.4.1 指令系统的分类 (9/9),9. 特权指令 这类指令只能用于操作系统或其它系统软件,而不提供给用户使用,称特权指令。 一般来说,在单用户、单任务的计算机中不一定需要特权指令,而在多用户、多任务的计算机系统中,特权指令却是必不可少的。它主要用于系统资源的分配和管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器管理的段表、页表和完成任务的创建和切换等。,2019年9月17日,第53页,5.4.2 指令系统与高级语言,1、传统的冯诺依曼计算机的机器语言和高级程序设计语言在语义上的差别的主要原因 (1)存储器组织方式不同 冯诺依曼计算机的存储器是一维的线性结构,而高级程序设计语言表示的存储器则是一组变量,访问时调用变量即可,不必考虑访问方法,而且数据结构经常是多维的,如数组结构。 (2)高级程序设计语言中,高级语言中的每种操作对于任何数据类型都是通用的,数据类型直接属于数据本身,而冯诺依曼计算机的数据本身没有属性标志,同一种操作要用不同的操作码来对数据类型进行区分。 这些差别间的变换工作,主要由编译程序来承担。,2019年9月17日,第54页,5.4.2 指令系统与高级语言,2、计算机指令结构分类 两大类: (1)复杂指令集计算机( CISC: Complex Instruction Set Computer) 指令系统十分庞大,指令类型、寻址方式较多,机器语言和高级语言之间的语义差距正在缩小。 (2)精简指令集计算机( RISC:Reduced Instruction Set Computer)。 选用使用频率最高的少数指令,尽量使所有的简单指令在一个机器周期内执行完,采用大量的寄存器、高速缓冲存储器等技术,通过优化编译程序,提高处理速度。机器语言和高级语言的差距较大,这个差距主要靠提高计算机运行速度和配置优化编译程序来弥补。,2019年9月17日,第55页,4.5 典型指令,基本指令系统 P122表4.9介绍 20%和80%规律:CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。 VLSI技术发展引起的问题 VLSI工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。 现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。 CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,2019年9月17日,第56页,4.5 典型指令,RISC 特点(采用流水线技术) 简单而统一格式的指令译码; 大部分指令可以单周期执行 只有LOAD/STORE可以访问存储器 简单的寻址方式 采用延迟转移技术 采用LOAD延迟技术 三地址指令格式 较多的寄存器 对称的指令格式,返回,2019年9月17日,第57页,RISC 和CISC比较,RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有: (1) 指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。 (2) 存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。 (3) 程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。 (4) 中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。,2019年9月17日,第58页,RISC 和CISC比较,(5) CPU:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。 (6) 设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。 (7) 用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。 (8) 应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。 种类 目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC和SuperH等。,2019年9月17日,第59页,六、指令格式举例,8位微型计算机的指令格式 如8088,字长8位,指令结构可变 包括单字长指令、双字长指令和三字长指令 操作码长度固定 PDP/11系列机的指令格式 字长16位 单字长指令 操作码字段不固定,2019年9月17日,第60页,七、 Pentium指令格式,指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统 由可选前缀(0~4)、操作码(1~2)、一个由mod-R/M字节和一个SIB(Scale Index Base)比例变址字节组成的地址指定器、一个可选的位移量(0~4)和一个可选的立即数字段(0~4)构成。,2019年9月17日,第61页,七、 Pentium指令格式,指令前缀中的重复前缀指定串的重复操作,这样使Pentium处理串比软循环快得多。 LOCK前缀用于多CPU环境中对共享存储器的排他性访问 段取代用于改变默认段寄存器的情况 操作数长度取代和地址长度取代用于在保护模式下决定操作数和指令的长度 以下4个指令前缀都是可选的,分别为0或1个字节,2019年9月17日,第62页,七、 Pentium指令格式,操作码是必须的,1~2个字节 Mod、Reg、R/M为共1个字节,是可选的。 mod-R/M指定的操作数是在R中还是在M中。 mod(2位)R/M(3位)的32种值构成了8种寄存器方式和24种变址方式(参考汇编语言教材); Reg或OP(3位)指定另一个操作数(寄存器)或用作OP的补充。,2019年9月17日,第63页,七、 Pentium指令格式,S、I、B共1个字节,分别是比例系数、变址寄存器号、基址寄存器号,可选。mod-R/M中的某些编码要求SIB字节来完成寻址方式的指定; SS(2)指定比例变换的因子 1 2 4 8 Index(2)指定变址寄存器, Base(3)指定基址寄存器 位移量:可以是0,1,2,4个字节 立即数:可以是0,1,2,4个字节 EA =[基址寄存器]+([变址寄存器]×比例因子)+ 位移量,2019年9月17日,第64页, 本章小结,一台计算机中所有机器指令的集合称为该计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到计算机的硬件结构,而且也影响到系统软件。 指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址。 形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、内存和指令中。 不同计算机有不同的指令系统。一个较完善的指令系统应当包含数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、I/O类指令、字符串类指令、系统控制类指令。,

展开阅读全文

计算机组成及原理ppt课件,计算机组成原理第五章课件.ppt相关推荐

  1. 计算机组成原理第五课,计算机组成原理第五章课件(白中英版).ppt

    <计算机组成原理第五章课件(白中英版).ppt>由会员分享,可在线阅读,更多相关<计算机组成原理第五章课件(白中英版).ppt(103页珍藏版)>请在人人文库网上搜索. 1.第 ...

  2. 计算机组成原理第五版第五章课件,计算机组成原理第五章课件

    计算机组成原理第五章课件 (64页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 计算机组成原理 计 算 机 组 成 原 理 ⊙ 第五章指 ...

  3. 计算机组成原理白中英第七章,计算机组成原理第七章课件(白中英版).ppt

    <计算机组成原理第七章课件(白中英版).ppt>由会员分享,可在线阅读,更多相关<计算机组成原理第七章课件(白中英版).ppt(32页珍藏版)>请在人人文库网上搜索. 1.计算 ...

  4. 计算机组成原理第四章ppt,计算机组成原理-第四章--指令系统.ppt

    计算机组成原理-第四章--指令系统.ppt 1,第四章 指令系统,4.1 指令系统的发展与性能要求 4.2 指令格式 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令 4.6 ARM ...

  5. (计算机组成原理)第五章中央处理器-第四节4:微程序控制单元设计

    文章目录 一:微程序控制单元设计步骤 第一步:分析每个阶段的微操作序列 第二步:写出对应机器指令的微操作命令及节拍安排 第三步:确定微指令格式 第四步:编写微指令码点 二:微程序设计分类 (1)静态微 ...

  6. (计算机组成原理)第五章中央处理器-第五节2:指令流水线影响因素和分类及多发技术

    文章目录 一:影响指令流水线的因素 (1)结构相关(资源冲突) (2)数据相关(数据冲突) (3)控制相关(控制冲突) 二:流水线的分类 (1)根据流水线使用的级别不同分类 (2)根据流水线可以完成的 ...

  7. 计算机绘图尺寸标注,AutoCAD计算机绘图 第五章 尺寸标注.ppt

    <AutoCAD计算机绘图 第五章 尺寸标注.ppt>由会员分享,可在线阅读,更多相关<AutoCAD计算机绘图 第五章 尺寸标注.ppt(13页珍藏版)>请在人人文库网上搜索 ...

  8. 计算机组成原理第二版第6章ppt,计算机组成原理第6章简.ppt

    文档介绍: * 第6章 控制器 6.1 控制器的功能与组成概述 6.2 硬连线控制器 6.3 微程序的控制器部件 清绩寺浮热埂杉症咽拆秽篓河种蜀苔栅跋攀俗瘩瑰趟甩寝媚构诀悍携垒借计算机组成原理第6章简 ...

  9. 计算机组成原理白朔飞,计算机组成原理(第四章复习).ppt

    计算机组成原理(第四章复习) 计算机组成原理 第四章 指令系统 本章复习要点: 1. 理解指令的基本格式. 定长与扩展操作码格式 2. 掌握指令寻址方式的基 本概念.常见寻址方式 及其有效地址的计算 ...

最新文章

  1. MySQL字符编码设置
  2. Android 抓包的一些命令 及 adb使用的一些注意事项
  3. iic裸机与linux通信,基于IIC协议的Linux操作系统与裸机通信的方法
  4. JQUERY获取text,areatext,radio,checkbox,select值
  5. 三、RabbitMQ安装
  6. memcache-session-manager(flexjson)
  7. 1037:计算2的幂
  8. 论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述
  9. c语言中把一个数缩小十倍_小学数学易错点:一个数缩小10倍?缩小到它的十分之一?哪个正确?...
  10. java8 stream index_Java8 Stream基本使用
  11. c语言课程设计物业管理,C语言-小区物业管理-实验报告
  12. js实现微信浏览器关闭
  13. 中国国家信息安全产品认证证书 | CCRC信息安全服务资质认证
  14. java log4j jar下载_Apache Log4j1.2jar包
  15. oracle net Manager 配置连接 tiptop 鼎捷ERP 数据库
  16. traceroute不通linux,能ping通traceroute不通
  17. android 直播推流sdk,Android——直播推流SDK
  18. 查看云服务器信息,查看云服务器信息
  19. 引入纯 ESM 模块化的第三方包
  20. 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会

热门文章

  1. 判断串口通信是否正常c语言,串口通信测试方法
  2. Veritas NetBackup 10.0 (Unix, Linux, Windows)
  3. 计算机内存不足16g内存,win10 16g内存显示内存不足怎么办_win10 16g内存显示可用7.95g如何恢复...
  4. 微信文章实现代码高亮
  5. CSR867x — 广播数据设置接口以及如何添加厂商数据
  6. 手把手教你接入快应用账号开发-客户端方式
  7. 分布式IO模块在工厂中的应用
  8. 基于准则匹配的图像对准
  9. 买富勒鼠标的请注意了
  10. intellij idea快速切换大小写