计算机组成原理第五章课件.ppt

上传人:牧羊曲112 文档编号:6606695 上传时间:2023-11-17 格式:PPT 页数:64 大小:423KB
返回 下载 相关 举报
计算机组成原理第五章课件.ppt_第1页
第1页 / 共64页
计算机组成原理第五章课件.ppt_第2页
第2页 / 共64页
计算机组成原理第五章课件.ppt_第3页
第3页 / 共64页
计算机组成原理第五章课件.ppt_第4页
第4页 / 共64页
计算机组成原理第五章课件.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《计算机组成原理第五章课件.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理第五章课件.ppt(64页珍藏版)》请在三一办公上搜索。

1、2023/11/17,第1页,第5章 指令系统,计算机组成原理,教学目标教学重点教学过程,2023/11/17,第2页,教学目标,了解指令系统的发展与性能要求掌握指令格式和寻址方式,2023/11/17,第3页,教学重点,指令格式扩展操作码寻址方式,2023/11/17,第4页,教学过程,5.1 计算机的指令系统的发展与性能5.2 指令的格式5.3 寻址方式5.4 指令的分类与高级语言5.5 典型指令系统,2023/11/17,第5页,5.1计算机的指令系统的发展与性能,指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响

2、到系统软件设计的难易程度。完善的计算机的指令系统应具备:1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。3、规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。(1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。(2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。(3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。4、兼容性:兼容性一般是指计算

3、机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。,2023/11/17,第6页,5.2指令的格式,计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。,2023/11/17,第7页,5.2.1指令操作码与地址码(1/9),两个字段:操作码字段+操作数地址字段:1.操作码操作码是指明指令操作性质的命令码。它提供指令的操作控制信息。(1)每条指令都要求它的操作码必须是独一无二的位组合。(2)指令系统中指令的个数N与操作码的位数n,必须满足关系式:N2n2.操作数地址码(1)地址码:用来描述该指令的操作对象。(2)指令字长=操作码的位数+(操作数地址个

4、数)*(操作数地址码位数),2023/11/17,第8页,5.2.1指令操作码与地址码(2/9),一、指令格式1.零地址指令格式这是一种没有操作数地址部分的指令格式。这种指令有两种可能:(1)无需任何操作数。如空操作指令,停机指令等。(2)所需的操作数是默认的:堆栈。,操作码OC,2023/11/17,第9页,5.2.1指令操作码与地址码(3/9),A、堆栈的概念(a)是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。(b)数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。(c)堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。B、堆栈结

5、构在计算机中的作用(a)具有堆栈结构的机器使用零地址指令,这不仅合指令长度短,指令结构简单,机器硬件简化。(b)实现程序调用,子程序嵌套调用和递归调用。(c)对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。,2023/11/17,第10页,5.2.1指令操作码与地址码(4/9),C、堆栈的操作设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,SP的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出SP所指向的栈顶单元内容,再把SP内容自动递增而指向新的栈顶位置。即 PUSH X;(SP)-1SP(X)(SP)POP X;(SP)X(

6、SP)+1SP,2023/11/17,第11页,5.2.1指令操作码与地址码(5/9),2.一地址指令格式(1)指令中给出的一个地址即是操作数的地址,又是操作结果的存储地址。如加1、减1、移位等单操作数指令。(2)在某些计算机中,指令中提供的一个地址提供一个操作数,另一个操作数是由机内硬件寄存器“隐含”地自动提供的。所谓“隐含”是指此操作数在指令中不出现,而是按照事先约定由寄存器默认提供,运算结果仍送到寄存器中。因为这个寄存器在连续运算时,保存着多条指令连续操作的累计结果,故称为累加器(AC)。,2023/11/17,第12页,5.2.1指令操作码与地址码(6/9),3.二地址指令格式(1)把

7、保存操作前原来操作数的地址称为源点地址(SS),把保存指令执行结果的地址称为终点地址或目的地址(DD)。(2)将源点与终点操作数进行操作码规定的操作后,将结果存入终点地址。通常二地址指令又称为双操作数指令。例如,双操作数加法指令:ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以后,将结果存入R1寄存器中。又如ADD(R0),R1表示将R0寄存器的内容作为地址,到内存中取出该地址所指向的单元内容作为源点操作数,和作为终点操作数的R1寄存器的内容相加以后,将结果存入R1寄存器中。,2023/11/17,第13页,5.2.1指令操作码与地址码(7/9),4.三地址指令格式其操作是对A

8、C1、AC2指出的两个操作数进行操作码所规定的操作,并将结果存入AC3中。例如:ADD X Y Z 含义为(X)+(Y)Z 即X单元内容加上Y单元内容,结果送Z单元中。,2023/11/17,第14页,5.2.1指令操作码与地址码(8/9),5.多地址指令格式例如四地址指令格式。(1)含义:ADD X Y Z WA、(X)+(Y)ZB、(W)下一条指令地址(2)特点:A、直观明了;B、程序执行的流向明确;C、操作数和结果可以分散在内存各处。D、但是指令字长度太长。,2023/11/17,第15页,5.2.1指令操作码与地址码(9/9),指令格式设计准则 1、指令字长要短,以得到时间和空间上的优

9、势。2、指令字长必须有足够的长度。3、指令字长一般应是机器字符长度的整数倍以便存储系统的管理。若机器中字符码长是L位,则机器字长最好是L,2L,4L,8L等。4、指令格式的设计还与如何选定指令中操作数地址的位数有关。例如,对同一容量(如64KB)的存储器(1)若取存储单元为一字节长,则需要16位地址码,(2)若存储单元长度为32位,则只需14位地址码。方案(1)对字符操作方便,但地址码位数多,方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。(存储器分辩率:指存储器能被区分、识别与操作的精细程度),2023/11/17,第16页,5.2.2指令字长与扩展方法(1/3),一、操作码和地址

10、码间的权衡(操作码有两种编码格式)1、固定格式:操作码长度固定,且集中放在指令字的一个字段中。2、可变格式:即操作码长度可变,且分散地放在指令字的不同字段中。二、扩展操作码 1、要点:(1)操作码位数随地址码个数变化采取可变长度的类型;(2)指令间指令码一定不重复;(3)根据需要灵活变通。,2023/11/17,第17页,5.2.2指令字长与扩展方法(2/3),2、比较假设一台计算机指令字长16位,操作码与地址码都为4位,如图所示。(1)方法一:固定格式,则最多可以设计16条三地址指令,图10-3 阵列处理机结构,2023/11/17,第18页,5.2.2指令字长与扩展方法(3/3),(2)方

11、法二:扩展操作码,具体方法如下: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)选1111000011111101共14条2地址指令,留11111110,11111111为扩展标志,再与AC2组合,以此类推。3、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长

12、度,或是说明操作数的特征。例如:小型机PDP-11是用操作码最左边一位(最高位15位)来指明指令操作处理的数据字长度,当第15位=0,是字指令,操作数是16位长的字;当15位=1,是字节指令,操作数是8位长的字节。,2023/11/17,第19页,5.3 寻址方式(1/11),一、寻址方式的设计1、目的(1)丰富程序设计手段,提高程序质量;(2)减少访问主存的次数,压缩程序占用的存储空间。保证指令的地址码字段尽可能缩短,而访问的存储空间尽可能地大。2、概念(1)形式地址:指令中直接给出的地址;(2)有效地址:操作数所在的真实地址;(3)寻址方式:从形式地址生成有效地址的各种方式称为寻址方式。,

13、2023/11/17,第20页,5.3 寻址方式(2/11),3、寻址方式选用的依据(1)要与数据的表示方式相配合,对各种结构的数据能方便地进行存取和处理;(2)要与指令系统相匹配,依据对机器性能要求的高低来考虑选择;(3)还要考虑硬件实现的可能性与复杂程度,成本高低,设备与价格增加的合理性。4、区分寻址方式的方法(1)在指令中划出一个字段,用二进制编码来标志所采用的类型,此编码称寻址方式码;(2)使用隐含寻址方式,用操作码隐含寻址方式。,2023/11/17,第21页,1、隐含寻址,指令中隐含着操作数的地址如某些运算,隐含了累加器AC作为源和目的寄存器如8086汇编中的STC指令,设置标志寄

14、存器的C为1,2023/11/17,第22页,2、立即寻址,立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,因此,这样的操作数被称为立即数。指令格式:操作码 操作数A,2023/11/17,第23页,2、立即寻址,特点:在取指令时,操作码和操作数被同时取出,不必再次访问存储器,从而提高了指令的执行速度。但是,因为操作数是指令的一部分,不能被修改;而且对于定 长指令格式,操作数的大小将受到指令长度的限制,所以这种寻址方式灵活性最差通常用于给某一寄存器或主存单元赋初值,或者

15、用于提供一个常数。,2023/11/17,第24页,3、直接寻址,指令中地址码字段给出的地址A就是操作数的有效地址EA(Effective Address),即EAA。,2023/11/17,第25页,3、直接寻址,操作数地址是不能修改的,与程序本身所在的位置无关,所以又叫做绝对寻址方式在早期的计算机中,主存储器的容量较小,指令中地址码的位数要求不长,采用直接寻址方式简单快速,也便于硬件实现,因此,常被作为主要的寻址方式。但在现代,随着计算机主存容量的不断扩大,所需的地址码将会越来越长。指令中地址码的位数将不能满足整个主存空间寻址的要求,因此直接寻址方式受到了很大的限制。另外,在指令的执行过程

16、中,为了取得操作数,必须进行访存操作,降低了指令的执行速度。,2023/11/17,第26页,4、间接寻址,间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。操作数的有效地址的计算公式为:EA(A),2023/11/17,第27页,4、间接寻址,特点:因为操作数的有效地址在主存储器中,可以被灵活的修改而不必修改指令,从而使间接寻址要比直接寻址灵活得多。但是,间接寻址在指令执行过程中至少需要两次访问主存储器才能取出操作数,严重降低了指令执行的速度。,2023/11/17,第28页,5、寄存器寻址,在指令的地址码部分给出CPU内某

17、一通用寄存器的编号,指令的操作数存放在相应的寄存器中,即EA=Ri 优点:(1)由于寄存器在CPU的内部,指令在执行时从寄存器中取操作数比访问主存要快得多;(2)由于寄存器的数量较少,因此寄存器编号所占位数也较少,从而可以有效减少指令的地址码字段的长度。,2023/11/17,第29页,6、寄存器间接寻址,为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号,这时有EA=(Ri)这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作数,因此指令执行速度较前述的间接寻址方式要快,也

18、是目前在计算机中使用较为广泛的一种寻址方式。,2023/11/17,第30页,7、相对寻址,由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:EA(PC)D。,2023/11/17,第31页,7、相对寻址,对寻址方式使程序模块可采用浮动地址,编程时只要确定程序内部操作数与指令之间的相对距离,而无需确定操作数在主存储器中的绝对地址,这样,将程序安排在主存储器的任意位置都不会影响程序执行的正确性。,2023/11/17,第32页,8、基址寻址,在基址寻址方式中,指令的地址码部分给出偏移量D,而基准地址放在基址寄存器Rb中,最后操作数的有效地址仍

19、然是由基准地址A与偏移量D相加而成,即:EA(Rb)D。用哪一个寄存器作为基址寄存器也必须在硬件设计时就事先规定,基址寄存器Rb中的内容称为基准地址,该值可正可负。,2023/11/17,第33页,8、基址寻址,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。,2023/11/17,第34页,9、变址寻址,变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址,即:EAA(Rx)。用哪一个寄存器作为变址寄存器必须在硬件设计时就事先规定,变址寄存器Rx中的内容称为变址值,该值可正可负。,2023/11/17,第35页,9

20、、变址寻址,2023/11/17,第36页,9、变址寻址,变址寻址方式是一种被广泛采用的寻址方式,最典型的应用就是将指令的地址码部分给出的地址A作为基准地址,而将变址寄存器Rx中的内容作为修改量。在遇到需要频繁修改操作数地址时,无须修改指令,只要修改Rx中的变址值就可以了,这对于数组运算、字符串操作等一些进行成批数据处理的指令是很有用的。,2023/11/17,第37页,10、段寻址方式,2023/11/17,第38页,2023/11/17,第39页,寻址方式举例:Pentium,2023/11/17,第40页,Pentium寻址方式,2023/11/17,第41页,P118例4,某16位机器

21、所使用的指令格式和寻址方式如下所示,该机有两个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)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为

22、合法指令?,2023/11/17,第42页,P118例4,F0F1 3CD21111 0000 1111 0001 0011 1100 1101 0010,6FD60110 1111 1101 0110由于是单字长指令,则一定是MOV指令。则OP错误,修改为001010 00 1101 011028D6,2023/11/17,第43页,5.4 指令的分类与高级语言,5.4.1 指令系统的分类5.4.2 指令系统与高级语言,2023/11/17,第44页,5.4.1 指令系统的分类(1/9),1.数据传送类指令寄存器至寄存器(R-R:Register-Register)存储器至寄存器(S-R:S

23、torage-Register)寄存器至存储器(R-S::Register-Storage)存储器至存储器(S-S:Storage-Storage),2023/11/17,第45页,5.4.1 指令系统的分类(2/9),2.运算类指令 加法,减法,乘法和除法等指令。,2023/11/17,第46页,5.4.1 指令系统的分类(3/9),3.逻辑运算指令 逻辑运算主要是对布尔变量的运算。基本操作:包括逻辑与,逻辑或与逻辑非3种基本操作;组合逻辑操作:例如:异或。(1)逻辑与指令:(2)逻辑或指令:(3)逻辑非指令:(4)逻辑异或指令:算术逻辑运算指令除了给出运算结果外,往往还要给出某些状态信息。

24、如运算结果的正、负;运算结果是否为零;是否有溢出;是否有低位向高位的进位等,供其它指令或程序分析时使用。,2023/11/17,第47页,5.4.1 指令系统的分类(4/9),4.移位指令算术移位:左移或右移(右移时符号位不变)逻辑移位:左移或右移(右移时符号位补0)循环移位:左移或右移。,2023/11/17,第48页,5.4.1 指令系统的分类(5/9),5.程序控制类指令(1)转移指令:包括无条件转移指令和条件转移指令。(2)转子与返回指令:子程序是一组可以共享的指令序列,可被主程序调用执行。转子指令与转移指令之间最大的差别在于:转移指令无需返回,而转子指令则需要。子程序调用指令就是用来

25、调用子程序的。为了能够从子程序中正确返回到断点继续执行,并能支持多重嵌套和递归调用,现代计算机通常用堆栈来保存返回地址。(3)程序中断指令:中断一般是计算机系统出现异常情况或特殊请求时随机产生的。一般在计算机中,中断指令作为隐指令不提供用户使用。但在某些计算机中设置了可供用户使用的中断指令,以实现系统功能调用和程序请求。如IBM PC的中断指令,PDP-11的自陷指令等。,2023/11/17,第49页,5.4.1 指令系统的分类(6/9),6.输入输出类指令 用来处理机与外部设备之间进行通信的一类指令。以处理机为基准,信息由外部设备传向处理机称为输入(Input),信息由处理机传给外部设备称

26、为输出(Output)。一元化总线的计算机如PDP-11,不需设置专门的I/O指令,可以用一般的数据传送类指令实现输入和输出;对于主存和外设不采用统一编址技术的计算机来说,则需要有专门的I/O指令,如IBM PC就是一个典型的例子。,2023/11/17,第50页,5.4.1 指令系统的分类(7/9),7.字符串处理指令 非数值处理能力;字符串处理指令一般包括字符串传送、比较、查询、转换等指令。,2023/11/17,第51页,5.4.1 指令系统的分类(8/9),8.处理机控制类指令 包括停机指令、等待指令、空操作指令、开中断指令、关中断指令、设置条件码指令等。,2023/11/17,第52

27、页,5.4.1 指令系统的分类(9/9),9.特权指令 这类指令只能用于操作系统或其它系统软件,而不提供给用户使用,称特权指令。一般来说,在单用户、单任务的计算机中不一定需要特权指令,而在多用户、多任务的计算机系统中,特权指令却是必不可少的。它主要用于系统资源的分配和管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器管理的段表、页表和完成任务的创建和切换等。,2023/11/17,第53页,5.4.2 指令系统与高级语言,1、传统的冯诺依曼计算机的机器语言和高级程序设计语言在语义上的差别的主要原因(1)存储器组织方式不同 冯诺依曼计算机的存储器是一维的线性结构,而高级程序设计语言

28、表示的存储器则是一组变量,访问时调用变量即可,不必考虑访问方法,而且数据结构经常是多维的,如数组结构。(2)高级程序设计语言中,高级语言中的每种操作对于任何数据类型都是通用的,数据类型直接属于数据本身,而冯诺依曼计算机的数据本身没有属性标志,同一种操作要用不同的操作码来对数据类型进行区分。这些差别间的变换工作,主要由编译程序来承担。,2023/11/17,第54页,5.4.2 指令系统与高级语言,2、计算机指令结构分类两大类:(1)复杂指令集计算机(CISC:Complex Instruction Set Computer)指令系统十分庞大,指令类型、寻址方式较多,机器语言和高级语言之间的语义

29、差距正在缩小。(2)精简指令集计算机(RISC:Reduced Instruction Set Computer)。选用使用频率最高的少数指令,尽量使所有的简单指令在一个机器周期内执行完,采用大量的寄存器、高速缓冲存储器等技术,通过优化编译程序,提高处理速度。机器语言和高级语言的差距较大,这个差距主要靠提高计算机运行速度和配置优化编译程序来弥补。,2023/11/17,第55页,4.5 典型指令,基本指令系统P122表4.9介绍20%和80%规律:CISC中大约有20%的指令使用频率高,占据了80%的处理机时间,而有80%的不常用指令只占用处理机的20%时间。VLSI技术发展引起的问题VLSI

30、工艺要求规整性,而大量复杂指令控制逻辑极其不规整,给VLSI工艺造成了很大的困难。现在用微程序实现复杂指令与用简单指令组成的子程序相比,没有多大的区别。因为现在控制存储器和主存的速度差缩小。CISC中,通过增强指令系统的功能,简化了软件,增加了硬件的复杂程度。然而指令复杂了,指令的执行时间必然加长,从而使整个系统的执行时间反而增加,因而在计算机体系结构设计中,软硬件的功能分配必须恰当,2023/11/17,第56页,4.5 典型指令,RISC特点(采用流水线技术)简单而统一格式的指令译码;大部分指令可以单周期执行只有LOAD/STORE可以访问存储器简单的寻址方式采用延迟转移技术采用LOAD延

31、迟技术三地址指令格式较多的寄存器对称的指令格式,返回,2023/11/17,第57页,RISC 和CISC比较,RISC 和CISC 是目前设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出某种平衡,以求达到高效的目的,但采用的方法不同,因此,在很多方面差异很大,它们主要有:(1)指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令

32、系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。(2)存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。(3)程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。(4)中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。,2023/11/17,第58页,RISC 和CISC比较,(5)CPU:RISC CPU 包含有较少的单元电路,因而面积小、功耗低

33、;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。(6)设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。(7)用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。(8)应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。种类目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC和SuperH等。,2023/

34、11/17,第59页,六、指令格式举例,8位微型计算机的指令格式如8088,字长8位,指令结构可变包括单字长指令、双字长指令和三字长指令操作码长度固定PDP/11系列机的指令格式字长16位单字长指令操作码字段不固定,2023/11/17,第60页,七、Pentium指令格式,指令长度可变,最短1个字节,最长12个字节,典型的CISC指令系统由可选前缀(04)、操作码(12)、一个由mod-R/M字节和一个SIB(Scale Index Base)比例变址字节组成的地址指定器、一个可选的位移量(04)和一个可选的立即数字段(04)构成。,2023/11/17,第61页,七、Pentium指令格式

35、,指令前缀中的重复前缀指定串的重复操作,这样使Pentium处理串比软循环快得多。LOCK前缀用于多CPU环境中对共享存储器的排他性访问段取代用于改变默认段寄存器的情况操作数长度取代和地址长度取代用于在保护模式下决定操作数和指令的长度以下4个指令前缀都是可选的,分别为0或1个字节,2023/11/17,第62页,七、Pentium指令格式,操作码是必须的,12个字节Mod、Reg、R/M为共1个字节,是可选的。mod-R/M指定的操作数是在R中还是在M中。mod(2位)R/M(3位)的32种值构成了8种寄存器方式和24种变址方式(参考汇编语言教材);Reg或OP(3位)指定另一个操作数(寄存器

36、)或用作OP的补充。,2023/11/17,第63页,七、Pentium指令格式,S、I、B共1个字节,分别是比例系数、变址寄存器号、基址寄存器号,可选。mod-R/M中的某些编码要求SIB字节来完成寻址方式的指定;SS(2)指定比例变换的因子 1 2 4 8Index(2)指定变址寄存器,Base(3)指定基址寄存器位移量:可以是0,1,2,4个字节立即数:可以是0,1,2,4个字节EA=基址寄存器+(变址寄存器比例因子)+位移量,2023/11/17,第64页,本章小结,一台计算机中所有机器指令的集合称为该计算机的指令系统。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到计算机的硬件结构,而且也影响到系统软件。指令格式是指令字用二进制代码表示的结构形式,通常由操作码字段和地址码字段组成。操作码字段表征指令的操作特性与功能,而地址码字段指示操作数的地址。形成操作数地址的方式,称为数据寻址方式。操作数可放在专用寄存器、通用寄存器、内存和指令中。不同计算机有不同的指令系统。一个较完善的指令系统应当包含数据传送类指令、算术运算类指令、逻辑运算类指令、程序控制类指令、I/O类指令、字符串类指令、系统控制类指令。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号