清华计算机组成原理课件05指令系统.ppt

上传人:牧羊曲112 文档编号:6588132 上传时间:2023-11-15 格式:PPT 页数:50 大小:703KB
返回 下载 相关 举报
清华计算机组成原理课件05指令系统.ppt_第1页
第1页 / 共50页
清华计算机组成原理课件05指令系统.ppt_第2页
第2页 / 共50页
清华计算机组成原理课件05指令系统.ppt_第3页
第3页 / 共50页
清华计算机组成原理课件05指令系统.ppt_第4页
第4页 / 共50页
清华计算机组成原理课件05指令系统.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《清华计算机组成原理课件05指令系统.ppt》由会员分享,可在线阅读,更多相关《清华计算机组成原理课件05指令系统.ppt(50页珍藏版)》请在三一办公上搜索。

1、2023/11/15,计算机组成原理,1,第五章 指令系统,5.9 IBM大型机指令系统简介,5.1 指令系统概述,5.2 指令格式,5.3 数据在内存中的存放格式,5.4 指令的寻址方式(编码方式),5.5 指令的类型,5.6 指令系统的兼容性,5.7 精简指令系统计算机(RISC)简介,5.8 Pentium微处理器指令系统简介,2023/11/15,计算机组成原理,2,5.1 指令系统概述,计算机系统中运行的软件有系统软件和应用软件两种。系统软件对整个计算机系统进行调度、管理、监视、服务,为用户提供使用方便,扩大机器功能,提高机器使用效率。应用软件是用户针对某种领域实际应用需求而开发的软

2、件。许多通用商品化的应用软件现已成为系统软件,如Word等。前述所有各种软件的设计基础就是计算机的指令系统。,2023/11/15,计算机组成原理,3,名词解释:,指令:命令计算机直接进行某种基本操作的二进制代码串,也叫机器语言代码。每条指令可以完成一个独立的算术运算或逻辑运算操作。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令。微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间。指令系统:一台计算机能直接理解与执行的全部指令的集合称为该机的指令系统,也叫机器语言。指令系统是进行计算机逻辑设计和编制程序

3、的基本依据。它直接说明了这台计算机的功能.不同类型CPU的指令系统是不能混用与兼容的,但同一系列的CPU一般升级后指令都有扩充,并可兼容。复杂指令系统计算机(CISC)和精简指令系统计算机(RISC),2023/11/15,计算机组成原理,4,计算机的性能与它所设置的指令系统有很大的关系,而指令系统的设置又与机器的硬件结构密切相关。通常性能较好的计算机都设有功能齐全、通用性强、指令丰富的指令系统,但这需要复杂的硬件结构来支持。系列(Series)计算机是指基本指令系统相同,基本体系结构相同的一系列计算机。一个系列往往有多种型号,各型号的基本结构相同。但由于推出的时间不同,所采用的器件也不同,因

4、此在结构和性能有很大差异。系列机能解决软件兼容问题的必要条件使该系列的各机种有共同的指令集,旧机种上运行的各种软件可以不加修改的在新机种上运行。本章从指令格式、地址结构、寻址方式、指令类型等方面介绍。,2023/11/15,计算机组成原理,5,5.2.1 指令的结构指令字:代表指令的一组二进制代码信息;指令长度:指令字中二进制代码的位数。位数越多,所能表示的操作信息和地址信息也就越多,使指令功能丰富。但会占用存储空间多,读取指令的时间可能增加。1、典型的指令格式 操作 码 OP指明操作性质的命令码,提供指令的操作控制信息。操作对象A说明操作数存放的地址,有时则就是操作数本身。,5.2 指令格式

5、,OP,A,2023/11/15,计算机组成原理,6,零地址指令 例如:NOP、HLT,也叫无操作数指令一地址指令 例如:递增,移位,取反,INC AX,NOT BX二地址指令 例:A1+A2A1,A2为源地址,A1目的地址三地址指令 例:A1+A2A3,其中A1、A2为源地址,A3为目的地址,操作后源地址内容不变仅被拷贝多地址指令:用于实现成批数据处理。,OP,OP A,2、指令格式的五种类型根据操作对象地址长度的不同而划分。,2023/11/15,计算机组成原理,7,3、指令操作码的编码格式,指令操作码的位数限制指令系统中完成操作的指令条数。固定格式操作码操作码长度固定,一般集中于指令字的

6、前一个字段中。若操作码长度为K为,则它最多只能有2K条不同指令。在字长较长的大中型以及超级小型机上广泛使用。优点:有利于简化硬件设计,减少译码时间可变格式操作码通常在指令字中用一个固定长度的字段来表示基本的操作码,而对于一部分少地址指令则把它们的操作码扩充到该指令的地址字段,即操作码长度可以改变。这种方法在不增加指令字长度的情况下可表示更多的指令,但增加了译码和分析难度,需更多硬件支持。微机中常使用此方式。,2023/11/15,计算机组成原理,8,5.2.2 指令操作码的扩展技术 可变格式操作码的指令示例1,假设某机器的指令长度为16位,包括4位基本操作码和三个4位地址码段。15 12 11

7、8 7 4 3.04位基本操作码可表示16个状态,因此如用4位操作码则能表示16条三地址指令,而用8位操作码则可表示256条二地址指令。而用12位操作码则可表示4096条一地址指令。,2023/11/15,计算机组成原理,9,同样情况下,如果需要三地址、二地址、一地址指令各15条、零地址指令16条,则一样能够采用可变格式操作码实现。例如可以这样规定:15条三地址指令的操作码为:0000 1110 15条二地址指令的操作码为:前4位1111,即 1111 0000 1111 1110 15条一地址指令的操作码为:前8位均为1,即 11111111 0000 11111111 1110 16条零地

8、址指令的操作码为:前12位均为1,即 00001111 其中1111、1111 1111和1111 1111 1111 作为扩展操作码标志。,可变格式操作码的指令示例2,2023/11/15,计算机组成原理,10,再如:同样情况下用可变格式操作码分别形成三地址指令、二地址指令、一地址指令和零地址指令15、14、31、16条。按要求得到结果之一如下15条三地址为:0000 111014条二地址为:11110000 1111110131条一地址为:1111 1110 0000 1111 1111 111016条零地址为:1111 1111 1111 00001111 1111 1111 1111

9、其中1111、1111 1110、1111 1111和1111 1111 1111是扩展操作码标志,可变格式操作码的指令示例3,2023/11/15,计算机组成原理,11,5.2.3 指令长度与机器字长的关系 机器字长是指计算机能直接处理的二进制数据的位数,它与计算机的功能和用途有很大的关系,是计算机的一个重要技术指标。首先,字长决定了计算机的运算精度,字长越长计算机的运算精度越高,因此高性能的计算机字长较长。其次,地址码长度决定了指令直接寻址能力,若为n位,则给出的n位直接地址寻址2n字节。这对于字长较短(8位或16位)的微型机来说远远满足不了实际需要,扩大寻址能力的方法,一是通过增加机器字

10、长来增加地址码的长度;二是采用地址扩展技术,把存储空间分成若干个段,用基地址加位移量的方法来增加地址码的长度。指令字长度是指一个指令字中包含二进制代码的位数。如指令字长度等于机器字长度的指令,称为单字长指令。,2023/11/15,计算机组成原理,12,指令的长度主要取决于操作码的长度、操作数地址的长度和操作数地址的个数。由于操作码的长度、操作数地址的长度及指令格式不同,各指令的长度不是固定的,指令的长度通常为字节的整数倍。指令的长度与机器的字长没有固定的关系,它既可以小于或等于机器的字长,也可以大于机器的字长。前者称为短格式指令,后者称为长格式指令。一条指令存放在地址连续的存储单元中、。同一

11、台计算机中可能既有短格式指令又有长格式指令,但通常是把最常用的指令(如算术逻辑运算指令、数据传送指令)设计成短格式指令,以便节省存储空间和提高指令的执行速度。在Pentium系列机中,指令格式也是可变的:由8位、16位、32位、64位不等。,2023/11/15,计算机组成原理,13,5.3 数据在内存中的存放格式,计算机中基本数据有逻辑数、定点数、无符号数、浮点数、字符数及数组等。目前微机所用的数据(字)长度一般为32位,4个字节。内存地址按字节编址。计算机指令系统可支持对字节、半字、字、双字的运算,有的还支持位操作。为便于硬件的实现,一般要求多字节数据采用对准数据边界的方式储存。不合要求则

12、填充空白字节(无操作)代替。,2023/11/15,计算机组成原理,14,4字节32位存储器,字地址0,字地址4,半字地址8,半字地址10,半字地址12,字节地址15,半字地址22,对准边界(下图所示)格式存储数据:,字节地址14,字节地址19,字节地址18,字节地址16,字节地址17,字节地址20,字节地址21,地址,048121620,在数据对准边界存储的计算机中,对于以二进制表示的存储地址来说,半字地址的最低位、字地址的最低两位和双字地址的最低三位恒为零。这种方式的整个字的存储时间要短,需要1个存储周期。,2023/11/15,计算机组成原理,15,32位、4个字节,地址,04,8,字节

13、,半字的一半,一字的3/4,半字,有的计算机不要求对准边界存储数据,如下图所示,但这种方式增加硬件的复杂程度,并且有可能导致访问次数增加。例如存储一个字,则需要2个存储周期。,半字另一半,一字的1/4,半字,2023/11/15,计算机组成原理,16,5.4 指令的寻址方式(编码方式),寻址方式:指令中如何提供操作数或操作数地址。换句话说就是规定如何对地址字段作出解释以找到操作数。不同类型计算机的寻址方式亦有差别,但大多可以归结为立即寻址、直接寻址、间接寻址、变址寻址以及相对寻址等几种寻址方式,或者这几种方式的组合与变形。,2023/11/15,计算机组成原理,17,在这种方式中,指令的地址码

14、部分就是指令的操作数,而不是操作数的地址。优点:取指同时取得操作数,提高指令的运行速度。缺点:操作数的长度受指令长度的影响,且不便修改。适合操作数固定的情况。例:MOV AX,1AH的结果:(AX)1AH,1、立即数寻址方式,立即数,可正可负 补码,形式地址 A 就是操作数,演示,2023/11/15,计算机组成原理,18,2、直接寻址方式,指令的地址码部分给出的就是操作数在存储器中的地址。特点是简单直观,便于硬件实现,但操作数地址是指令的一部分,只能用于访问固定的存储器单元。例:MOV AX,0110H,存储器,OP A,操作数 0110H,演示,2023/11/15,计算机组成原理,19,

15、3、寄存器寻址方式,在指令的地址码部分给出某一寄存器的名称,而所需的操作数就在这个寄存器中。这种方式数据传送快,计算机中多采用。例:MOV AX,BX其中BX为源操作数地址,AX为目的操作数地址,操作的结果为将BX中的数据传送(拷贝)到AX中。,有效地址即为寄存器编号,演示,2023/11/15,计算机组成原理,20,4、寄存器间接寻址方式,在指令的地址码部分直接给出的既不是操作数也不是操作数的地址,而是操作数地址的地址。优点:改变寄存器 Rn中的内容就可访问内存的不同地址。修改十分方便。缺点:二次寻址速度慢。例:MOV AX,BX,存储器,OP Rn,A:,操作数,Rn:,A,演示,2023

16、/11/15,计算机组成原理,21,5、变址寻址方式,变址寻址:把CPU中变址寄存器的内容和指令地址部分给出的地址之和作为操作数的地址来获得操作数。这种方式多用于字串处理、矩阵运算和成批数据处理。,OP.Rx A,K,Rx:,加法器,存储器,操作数,A+K:,A:,演示,2023/11/15,计算机组成原理,22,6、基址寻址方式,将整个存储空间分成若干个段,段的首地址存放在基址寄存器中,操作数的存储地址与段的首地址的距离即段内偏移量由指令直接给出。操作数存储单元的实际有效地址就等与基址寄存器的内容与段内偏移量之和。改变基址寄存器的内容(基准量)并由指令提供位移量就可以访问存储器的任一单元。基

17、址寄存器用于程序装配可为浮动程序分配存储单元。基址寻址面向系统,解决程序的存储定位问题;变址寻址面向用户,用以访问字串和数组。,2023/11/15,计算机组成原理,23,(1)采用专用寄存器作基址寄存器,EA=(BR)+A,BR 为基址寄存器,可扩大寻址范围,便于程序搬家,BR 内容由操作系统或管理程序确定,在程序的执行过程中 BR 内容不变,形式地址 A 可变,演示,2023/11/15,计算机组成原理,24,(2)采用通用寄存器作基址寄存器,R0 作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,基址寄存器的内容由操作系统确定,在程序的执行过程中 R0 内容不变,形式地址 A 可变,

18、2023/11/15,计算机组成原理,25,7、相对寻址方式,也称程序计数器PC(指令指针IP)寻址,其有效地址是指令中地址码部分给出的形式地址(偏移量Disp)与程序计数器PC(或IP)的内容之和。即有效地址是以当前PC(IP)的内容为基准浮动的,浮动的距离就是偏移量。偏移量可正可负,通常用补码表示。相对寻址方式主要应用于相对转移指令。由于目的地址随PC(IP)变化不固定,所以非常适用于浮动程序的装配与运行。,2023/11/15,计算机组成原理,26,相对寻址,EA=(PC)+A,A 是相对于当前指令的位移量(可正可负,补码),A 的位数决定操作数的寻址范围,程序浮动,广泛用于转移指令,操

19、作数,相对距离 A,演示,2023/11/15,计算机组成原理,27,寻址方式演示直接寻址间接寻址多重间接寻址相对基地址寻址变址寻址变址间接寻址间接变址寻址,2023/11/15,计算机组成原理,28,例题:一种两地址(寄存器与存储器)RS型指令的结构如下所示,其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。可写出六种寻址方式的名称。6位 4位 1位 2位 16位 寻址方式表,为变址寄存器 R3为通用寄存器为基址寄存器,E=D()()()()(),0 0,0,(1)(2)(3)(4)(5)(6),说 明,有效地址E算法,X,I,寻址方式

20、,0,0,0,1,1,2023/11/15,计算机组成原理,29,解:,直接寻址,相对寻址,变址寻址,寄存器间接寻址,存储器间接寻址,基址寻址,2023/11/15,计算机组成原理,30,5.5 指令的类型,一个指令系统常有几十、几百条指令(Intel 8086具有133条指令),但按功能可以划分为如下几大类:1、数据传送指令用以实现寄存器与寄存器之间(MOV AX,BX)、寄存器与内存单元之间(MOV 0001H,AX)以及内存单元相互之间的数据传送。数据能够被从源地址传送到目的地址,而源地址中数据不变,拷贝。包括:立即数送寄存器(MOV AX,1)、将数据送到不同字长的寄存器中(MOV A

21、L,78H、MOV AX,A0A0H MOV EAX,12345678H)以及寄存器组数据交换等操作指令。,2023/11/15,计算机组成原理,31,2、算术与逻辑运算指令,算术运算指令:一般包括定点、浮点的加、减、乘、除运算。根据运算结果改变标志寄存器的状态位。ADD,ADC,SUB,SBB,INC,DEC,DIV,MUL逻辑运算:一般包括逻辑与,逻辑或,逻辑非,逻辑异或等运算,是以二进制为单位按位进行运算。OR,AND,XOR,NOT,2023/11/15,计算机组成原理,32,3、移位指令,算术移位:左移时空位补0而符号位进标志位,右移时空位复制符号位而溢出位进标志位。逻辑移位:整体移

22、位,空位补0,溢出进标志位。循环移位:有不带进位循环和带进位循环。前者循环后的溢出位进标志位,后者与标志位一起循环。,4、比较指令,比较指令:CMP AX,BX作用:根据参加比较的两个数相减后的结果,区分大于等于小于等情况对标志位进行置位操作。比较指令只影响标志位,而不影响参加比较的操作数。,2023/11/15,计算机组成原理,33,5、转移指令,作用:根据逻辑判断结果,改变程序的执行顺序。无条件转移指令强迫CPU运行程序地址转移至新地址开始执行程序。有条件转移指令根据当前运算的结果进行逻辑判断,符合判断条件则转移到指令表明的新地址处执行程序,否则继续按原顺序执行原来的程序。根据实际需要,有

23、条件转移指令分为许多种类,其中包括单一条件转移指令、复合条件转移指令、适用于无符号数的条件转移指令、适用于有符号数的条件转移指令以及某些特殊的条件转移指令等等。,2023/11/15,计算机组成原理,34,6、调用指令和返回指令,调用指令实现从一个程序转去执行子程序的操作;返回指令则使CPU结束执行子程序而返回执行原程序。,7、输入、输出指令,完成在中央处理器和外设之间进行数据交换。输入指令使数据由外设传送到处理机。输出指令使数据由处理机传送到外设。,CALL SUB1,CALL SUB2,CALL SUB2,RETURN,RETURN,2023/11/15,计算机组成原理,35,8、堆栈及堆

24、栈操作指令 堆栈(stack是由若干个连续存储单元组成的先进后出(first in last out,简称FILO)存储区,也称为软堆栈。其工作原理是第一个送入堆栈中的数据存放在栈底,最后送入堆栈中的数据存放在栈顶。栈底是固定不变的,而栈顶却是随着数据的入栈和出栈在不断变化。为了表示栈顶的位置,有一个寄存器或存储器单元用于指出栈顶的地址,这个寄存器或存储器单元就称为堆栈指针(stack pointer简称SP),任何堆栈操作只能在栈顶进行.。在一般计算机中堆栈主要用来暂存中断和子程序调用时现场数据及返回地址,用于访问堆栈的指令只有压入(即进栈)和弹出(即退栈)两种,它们实际上是一种特殊的数据传

25、送指令。压入指令(PUSH)是把指定的操作数送入堆栈的栈顶,而弹出指令(POP)的操作刚好相反,是把栈顶的数据取出,送到指令所指定的目的地。,2023/11/15,计算机组成原理,36,在一般的计算机中,堆栈从高地址向低地址扩展,即栈底的地址总是大于或等于栈顶的地址(也有少数计算机刚好相反)。当执行压入操作时,首先把堆栈指针(SP)减量(减量的多少取决于压入数据的字节数,若压入一个字节,则减1;若压入两个字节,则减2,以此类推),然后把数据送入SP所指定的单元。当执行弹出操作时,首先把SP所指定的单元(即栈顶)的数据取出,然后根据数据的大小(即所占的字节数)对SP增量。例如:压入指令 PUSH

26、 OPR 把OPR(长度为两个字节)压入堆栈,其操作是(SP)2 SP OPR(Sp)例如:弹出指令 POP OPR 弹出一个数据(长度为两个字节)送OPR。其操作是:(SP)OPR(SP)十2 SP。其中,(SP)表示堆栈指针的内容;(SP)表示SP所指的栈顶的内容。硬堆栈是由寄存器组成,其特点是速度快但容量小。只有个别机器上采用。,2023/11/15,计算机组成原理,37,9、字符串处理指令,用于各种文字编辑与排版处理包括:字符串的传送、比较、查找、匹配以及字符串的抽取和字符串的替换等操作指令。,10、其它特殊指令,专用指令用来完成特殊的专门操作。如:暂停、等待、空操作、位操作、以及开中

27、断、关中断等等。特权指令分配和管理系统资源,防止非法用户对系统资源及其他用户程序的修改、打印以及删除等。,需要说明的是:计算机种类不同其指令系统包括数量与功能亦有所不同,用其编程时务必参照相应的指令系统手册。,2023/11/15,计算机组成原理,38,5.6 指令系统的兼容性,计算机的操作过程:加电开外设 开主机 产生RESET信号 执行程序 停主机 停外设 停电计算机工作过程本身就是根据存储执行原理,按一定顺序自动执行程序指令。指令执行五阶段:取指译码取操作数操作结果处理,采用不同指令系统编写的程序不能相互使用,同一系列兼容机采用具有向前兼容的特点。系列机的指令系统只能扩充而不能减少,使其

28、指令系统越来越复杂。这样就会使计算机的研制周期变长,增加了研制时间、成本以及调试和维护的难度,还会降低系统的性能(即难以实现流水线操作降低了机器的运行速度)。如开发80386微处理器用了三年多的时间,投资一亿五千万美元。,2023/11/15,计算机组成原理,39,5.7 精简指令系统计算机(RISC)简介,1、RISC由来 计算机的不断升级扩充,同时又兼容过去产品使指令系统日趋复杂,形成了“复杂指令系统计算机(CISC)”。如VAXII780由303条指令,18种寻址方式。Pentium机有191条,种寻址方式。复杂指令系统增加硬件复杂性,降低机器运行速度。经实际分析发现:1、各种指令使用频

29、率相差悬殊。80%指令使用很少。2、指令系统的复杂性带来系统结构的复杂性,增加了设计时间和售价,也增加了VLSI设计负担,不利于微机向高档机器发展。3、复杂指令操作复杂、运行速度慢。由此提出“精简指令系统计算机(RISC)”的概念。,2023/11/15,计算机组成原理,40,RISC不是简单地简化指令系统,而是通过简化指令使计算机的结构更加简单合理,从而提高运算速度。1、仅选使用频率高的一些简单指令和很有用但不复杂指令,指令条数少。2、指令长度固定,指令格式少,寻址方式少。3、只有取数/存数指令访问存储器,其余指令都在寄存器中进行,即限制内存访问。4、CPU中通用寄存器数量相当多;大部分指令

30、都在一个机器周期内完成。5、以硬布线逻辑为主,不用或少用微程序控制。6、特别重视编译工作,以简单有效的方式支持高级语言,减少程序执行时间。,2、RISC的特点,2023/11/15,计算机组成原理,41,5.8 Pentium微处理器指令系统简介 Pentium处理器包括4个32位数据寄存器EAX,EBX,ECX和EDX、其低16位称为AX,BX,CX和 DX,低 16位还可分为两个 8位例如 AX的低 8位为 AL,高 8位为 AH。寄存器名字中的E表示扩展,所以EAX表示将16位AX扩充到32位。还有5个32位寄存器可用作指针或变址寄存器,它们是堆栈指针ESP基指针EBP,源变址寄存器ES

31、I,目的变址寄存器EDI,指令指针EIP(即程序计数器PC)。,2023/11/15,计算机组成原理,42,EAX,EBX,ECX,EDX,EBP,ESI和EDI可用作通用寄存器、AX,BX,CX,DX,BP。SI和DI可被程序员作为多种用途而应用于实模式,但也可被指定为专用。例如,AX用于乘法和除法操作中或者在指令中用于访问IO端口;CX在循环操作中作为指针,CX的低8位CL寄存器还可作为移位操作的计数器;DX用于乘法和除法操作,还可作为访问IO的指针;SI和DI在字符串操作中作为指针。,2023/11/15,计算机组成原理,43,Pentium 拥有6个段寄存器,它用于控制访问主存和外设I

32、O端口。程序段寄存器CS用于取指令,数据段寄存器DS常被默认用于读写数据,堆栈段寄存器SS用于堆栈操作,扩展段寄存器ES用于程序员希望的任何事情。附加的两个段寄存器FS和GS是从80386开始增加的,可供程序员任意使用、所有段寄存器都为 16位。设CS的内容为A000H,指令指针IP(即PC)的内容为5F00H,在实模式情况下形成访存地址的过程如下:将CS的内容左移4位(二进制数)即把A000H改变成A0000H然后与IP的内容相加得A5F00H,并以此新值写入IP中,此即为下一条指令的地址。在32位保护模式,段寄存器用作选择器指出预定义的段描述符,段描述符中包含有寻址和控制信息,用以产生32

33、位地址。Pentium的指令长度变化(即可变长度)很大(1字节10余字节)今将其指令格式介绍如下:,2023/11/15,计算机组成原理,44,指令包括以下字段:(l)OP(操作码)每条指令都有操作码,某些指令在操作码中还包含有操作数长度W(8位,16位或32位)或立即数是否需扩充符号位(S)等信息。(2)MODRM 本字节与下一字节联合一起提供寻址信息.MODRM 字节可指出操作数是存储在寄存器中还是在存储在存储器中。该字节分成3个字段:Mod字段(2位)与RM字节(3位)可以产生32个数值,分别表示8个寄存器和24种变址方法;Regop字段(3位)可以是寄存器号,或者作为3位附加的操作码;

34、RM 字段(3位)可以是1个操作数所在的寄存器或者与Mod字段一起指出寻址方式。(3)SIB 当MODRM为某些值时,需要SIB参与决定寻址方式。SIB字节分成3个字段;SS字段(2位)指出变址寄存器的放大因子;Index字段(3位)指出变址寄存器;Base字段(3位)指出基寄存器。(4)disp 当寻址方式指示用到disp(位移量)时,则存在8位,16位或32位的位移量字段。(5)lmm 当寻址方式指示使用立即数时,存在8位,16位或32位立即数。,2023/11/15,计算机组成原理,45,字节,1,或,2 0,或,1 0,或,1,0,1,2,或,4,0,1,2,或,4,OP,MOD/RM

35、,7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0,Mod Reg/Op R/M,SS Index Base,SIB,Didp,Imm,2023/11/15,计算机组成原理,46,Pentium有9种寻址方式:1、立即2、寄存器3、直接 E=Disp4、基址 E=(B)B基址寄存器5、基址+偏移量 E=(B)+Disp6、比例变址+偏移量 E=(I)*S+Disp I为变址寄存器,S为比例因子(1、2、4、8)7、基址+变址+偏移 E=(B)+(I)+Disp8、基址+比例变址+偏移 E=(B)+(I)*S+Disp9、相对 指令地址=(PC)+Disp,2023/11/15,计

36、算机组成原理,47,举例:MOV EAX,EBX ECX 4十 6 基 变址 放大因子 位移量 上例中假设EBX为基寄存器,ECX为变址寄存器,放大因子为4,位移量为6。放大因子在处理数组时(该数组中的数据可以是字节、字、双字或4字)特别有用。寄存器与其编码之间的关系,如表5.4所示。图 5.13 说明在实模式下 32位地址的形成过程。,2023/11/15,计算机组成原理,48,段寄存器,CS DS ES,FS GS SS,基寄存器,EAX EBX ECX EDX,EBP ESI EDI,ESP,变址寄存器,EAX EBX ECX EDX,EBP ESI EDI,放大因子,1 2 4 8,位

37、移量,(DISP),0,8,位,16,位,有效地址,2023/11/15,计算机组成原理,49,5.9 IBM大型机指令系统简介 IBM360是32位机器,按字节寻址,支持的数据类型有:字节、半宇、字、双字(双精度实数)、装配的十进制数(一个字节放两个BCD码)和未经装配(拆卸)的字符串(一字节存放一字符)。机内有16个32位通用寄存器,4个双精度(64位)浮点寄存器。IBM36O370有五种指令格式。1、R-R型 寄存器-寄存器格式 2、R-X型 寄存器-变址寄存器 3、R-S型 寄存器-存储器 4、S-I型 存储器-立即数 5、S-S型 存储器-存储器,2023/11/15,计算机组成原理,50,作业:5.1 5.2 5.3 5.5 5.8 5.95.12 假设某机器指令系统指令定长12位,其中每个地址段3位,试提出一种扩充操作码的分配方案,使其指令系统具有4条三地址指令,8条二地址指令,180条单地址指令。,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号