第四章指令系统-Read课件.ppt

上传人(卖家):三亚风情 文档编号:2424498 上传时间:2022-04-16 格式:PPT 页数:91 大小:557.50KB
下载 相关 举报
第四章指令系统-Read课件.ppt_第1页
第1页 / 共91页
第四章指令系统-Read课件.ppt_第2页
第2页 / 共91页
第四章指令系统-Read课件.ppt_第3页
第3页 / 共91页
第四章指令系统-Read课件.ppt_第4页
第4页 / 共91页
第四章指令系统-Read课件.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、计算机组成原理 第 四 章 指令系统计算机组成原理4.1 概述n计算机的工作,体现为执行指令。CPU的基本任务是解释执行指令代码,所以指令系统又在很大程度上决定着计算机如何工作,它是硬件逻辑设计的基础,与CPU的总体结构及整机设计思想密切相关。n本章主要讲述指令格式,地址结构,寻址方式,指令类型等方面。计算机组成原理4.2 指令格式 一条指令应提供两方面的信息:1、是指明操作的性质,即干什么工作2、指明操作数来源的地址指令的基本格式如下:在指令格式设计时应相应地考虑如下问题: 指令字长需要多少位,是定字长还是变字长; 操作扩展,是一段还由若干段组合;3、地址结构:一条指令的执行涉及到哪些地址,

2、在指令中给出哪些地址,哪些地址隐含的约定;操作码字段OP 地址码字段AD 计算机组成原理4.2 指令格式4、寻址方式:如何获得操作数地址,是直接给出还是间接给出,或是经过变得计算获得等。计算机组成原理4.2 指令格式4.2.1指令字长1、一条指令字中包含二进制代码的位数总和称为指令字长度。 指令字越长表示操作信息和地址信息就越多,功能越丰实,占用存贮空间就越多读取的时间越多。 指令简单则执行时间短,指令复杂则执行时间长。 早期计算机如NOVA系列,采用定字长指令格式,每条指令16位。 现代计算机广泛应用变字长指令,能短则短、需长则长。 指令短执行速度快;指令长功能强计算机组成原理4.2 指令格

3、式 2、机器字长:是指计算机能直接处理的二进制数据的位数,一般与主存单元的位数一致。由指令字长和机器字长之间的关系又可分为半字长指令、单字长指令,双字长指令。 采用单字长指长,则访问内存所花费的时间短。 采用多字长指令,可以有足够的地址位来解决访问内存任何单元的寻址问题,但缺点是必须两次或多次访问内存,浪费时间,且又占用了更多的内存空间。 3、变字长指令 在变字长指令中,往往将操作码放在第一个字节中,根据它可以判明该指令的类型及相应的字节数。计算机组成原理4.2 指令格式n例1. DEC公司的PDP-11是16位小型机的典型代表,其指令有几下几种格式: 16 位位 16 位位 16 位位 1

4、指指 令令 2 指指 令令 地地 址址 3 指指 令令 地地 址址 地地 址址 计算机组成原理4.2 指令格式n例2DEC公司的VAX-11是32位超级小型机中的典型代表。它采用的是以字节为单位的变字长指令格式,第一个字节是操作码,可有二百多种指令,其后是若干字节的操作数说明符。在操作数说明符中,提供了寻址方式,寄存器号,位移量,立即数,直接地址等信息,视指令的需要,字节数可变,非常灵活。 计算机组成原理4.2 指令格式4.2.2 操作码格式操作码的位数决定了该操作类型的多少。操作码大致有几下几种 1.定长操作码定长操作码:该操作码的位数与位置固定,通常占据指令最前面的几位。便于译码。 例如:

5、VAX-11,第一个字节(高8位)为操作码,又如Intel8088的高6位为操作码。 计算机组成原理4.2 指令格式n2、扩展操作码 操作码长度可变使控制器设计复杂化,因此,操作码的编码至关重要。通常在指令中用一个固定长度的字段表示基本操作码。 设某机器的指令长度为16位,格式如下:设某机器的指令长度为16位,有4位基本的操作码字段和两个6位地址码字段,其格式如下:OP A1 A215 12 11 6 5 0计算机组成原理4.2 指令格式.二地址指令只用15条,由4位基本操作码0000-1110组合给出,剩余一个1111用于把操作码扩展到A1。.单地址指令由操作码 1111 000000-11

6、11 111110给出,剩余一个1111 111111用于把操作码扩展到A2。.零地址的16位操作码由1111 111111 000000-1111 111111 111111给出。 二地址指令有15条,单地址指令有63条,零地址指令有64条,共计142条指令。计算机组成原理4.2 指令格式4.2.3 地址结构 指令所要指明的操作数,可能在存贮器中,也可能在CPU的寄存器中。 如果指令中明显地给出地址(单元地址或寄存器号),则称为为显地址。如果地址是以隐含的方式约定(如在某个寄存器或堆栈中),则称之为隐地址。 根据指令中地址数的多少可分为四地址指 令,三地址指令,二地址指令,单地址指令,零地址

7、指令。 计算机组成原理4.2 指令格式从操作数的物理位置来说,又可分为三种类型:第一种:访问内存的指令格式, 存贮器存贮器SS型第二种:访问寄存器的指令格式, 寄存器寄存器RR型第三种:寄存器存贮器RS型机器执行寄存器的存取操作速度比较快,内存比较慢,但寄存器的硬件成本比较高。 计算机组成原理4.2 指令格式例例1指令格式如下所示,其中OP为操作码,试分析指令格式的特点。 159 7 4 3 0OP-源寄存器目标寄存器源寄存器目标寄存器解解:(1)单字长二地址指令。单字长二地址指令。 (2)操作码字段操作码字段OP可以指定可以指定128条指令。条指令。 (3)源寄存器和目标寄存器都是通用寄存器

8、(可源寄存器和目标寄存器都是通用寄存器(可分别指定分别指定16个),所以是个),所以是RR型指令,两个操作数型指令,两个操作数均在寄存器中。均在寄存器中。(4)这种指令结构常用于算术逻辑运算类指令。这种指令结构常用于算术逻辑运算类指令。 计算机组成原理4.2 指令格式例例2 指令格式如下所示,OP为操作码字段,试分析指令格式特点。 15 10 7 4 3 0 OP -源寄存器变址寄存器源寄存器变址寄存器位移量位移量(16位位) 解解: (1)双字长二地址指令,用于访问存储器。双字长二地址指令,用于访问存储器。 (2)操作码字段操作码字段OP为为6位,可以指定位,可以指定64种操作。种操作。 (

9、3)一个操作数在源寄存器(共一个操作数在源寄存器(共16个),另一个个),另一个操作数在存储器中(由变址寄存器和位移量决定)操作数在存储器中(由变址寄存器和位移量决定)所以是所以是RS型指令。型指令。计算机组成原理4.2 指令格式n比较短指令和长指令的优缺点n1、短指令从原则上讲,优点是节省硬件(包括CPU中的通用寄存器组,ALU与主存贮器,MDR等)。缺点是操作码字段短,指令条数少,另外由于地址码字段受限,可能要采用复杂的寻址方法,从而降低指令的速度。n2、长指令刚好与其相反。 计算机组成原理4.2 指令格式指令格式举例不同的机器有不同的指令格式1、IBM370的指令格式。 IBM370曾经

10、是大型机的重要代表,它根据操作数的不同来源,分为: RR(寄存器寄存器)型; RS(寄存器存贮器)型; RX(寄存器变址存贮器)型; SI(寄存器立即数)型; SS(存贮器存贮器)型; 指令字长可变,但操作码长度不变。相应地设置了5种主要的指令格式如下: 计算机组成原理4.2 指令格式RR格式 2 6 4 4 00 OP Ri RjRX格式 2 6 4 4 4 12 01 OP Ri Rx Rb D计算机组成原理4.2 指令格式RS格式 2 6 4 4 4 12 10 OP Ri Rj Rb DSI格式 2 6 8 4 12 10 OP I Rb D计算机组成原理4.2 指令格式SI格式 2

11、6 8 4 12 4 12 11 OP L Rb1 D1 Rb2 D2 上图中,Ri,Rj为16个通用寄存器中的任意两个寄存器号,分别用4位字段表示。Rx为变址寄存器号Rb为基址寄存器号S为位移量,占12位I为立即数,占8位L可以是一个8位字段或两个4位字段,用来指定一个或两个操作数的长度。计算机组成原理4.2 指令格式2、PDP11指令格式 PDP-11曾是16位机的典型代表,其指令的基本字长为16位,但根据不同的寻址方式,在16位指令字之后还可以跟24字节的存贮器地址,采用了扩展操作码的方法。下面介绍了几种16位的指令字格式。 计算机组成原理4.2 指令格式15 12 11 9 8 6 5

12、 3 2 0 操作码 寻址方式 寄存器号 寻址方式 寄存器号15 9 8 6 5 3 2 0操 作 码 寄存器号 寻址方式 寄存器号 15 9 8 6 5 3 2 0操 作 码 寄存器号 寻址方式 计算机组成原理4.2 指令格式 15 87 0 操操 作作 码码 位移量位移量 15 4 3 0 操操 作作 码码 条件码条件码计算机组成原理指令和数据的寻址方式4.3.1 指令的寻址方式指令的寻址方式一种是顺序寻址方式,另一种是跳跃寻址方式。1.顺序寻址方式顺序寻址方式指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行。从存储器取出第一条指令,然后执行这条指令;接着从

13、存储器取出第二条指令,在执行第二条指令;接着再取出第三条指令这种程序顺序执行的过程,我们称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址.组成原理-白中英网络版Chap04images4.2.swf计算机组成原理指令和数据的寻址方式2.跳跃寻址方式跳跃寻址方式 当程序转移执行的顺序时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。程序跳跃后,按新的指令地址开始顺序执行。指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。采用指令跳跃寻址方式,可以实现程序转移

14、或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的。计算机组成原理指令和数据的寻址方式4.3.2 操作数的寻址方式1.隐含寻址2.立即寻址3.直接寻址4.间接寻址5.寄存器寻址方式和寄存器间接寻址方式6.相对寻址方式7.基值寻址方式8.变址寻址方式9.块寻址方式10.段寻址方式计算机组成原理指令和数据的寻址方式n隐含寻址 这种类型的指令,不是明显地给出操作数的地址,而是指令中隐含着操作数的地址。计算机组成原理指令和数据的寻址方式n立即地址 指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方

15、式称为立即寻址。立即寻址方式的特点是指令执行时间很短,因为它不需要访问内存取数,从而节省了访问内存的时间。 例如:单地址的移位指令格式为 这里,D不表示地址,而是表示某寄存器中存放的操作数需要移位的次数,因此D可看做移位指令的操作数。F为标志位,当F=1时,进行右移;当F=0时,进行左移。OP(移位) F D计算机组成原理指令和数据的寻址方式n寄存器寻址方式 当操作数不放在内存中,而是放在中央处理器的通用寄存器中时,可采用寄存器寻址方式。显然,此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号,在IBM370计算机的指令结构中,RR型指令,就是采用寄存器寻址方式。计算机组成原

16、理指令和数据的寻址方式n直接寻址 直接寻址是一种基本的寻址方法,其特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。由于操作数的地址直接给出而不需要经过某种变换或运算,所以称这种寻址方式为直接寻址方式。 操作数=2000HOP X D=1350H 。 2000H1350H计算机组成原理指令和数据的寻址方式直接寻址的地址不能修改,使程序不能灵活地处理数组以及方便地实现程序循环,程序的位置也不能在存贮器中浮动,给多道程序的运行和管理带来不便。计算机组成原理指令和数据的寻址方式n间接寻址 间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而

17、是操作数地址的指示器,或者说D单元的内容才是操作数的有效地址。计算机组成原理指令和数据的寻址方式操作数=1234HOP X2 D=1000H 操作数地址=2000HS=1234H1000H2000计算机组成原理指令和数据的寻址方式n相对寻址 是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数有效地址。程序计数器的内容就是当前指令的地址。因此,所谓“相对”寻址,就是相对于当前指令地址而言。采用相对寻址方式的好处是程序员勿需用指令的绝对地址编程,因而所编程序可以放在内存任何地方。计算机组成原理指令和数据的寻址方式 PC操作数=1234H+假设D=1000H,PC=2000H,则有效地址

18、=(PC)+D=2000H+1000H=3000H操作数=(3000H)=1234HOP X3 D1234H3000H计算机组成原理指令和数据的寻址方式 变址和基值寻址方式变址寻址方式与基值寻址方式有点类似,它是把某个变址寄存器或基值寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址。 计算机组成原理指令和数据的寻址方式变址寻址方式:变址方式是为了灵活的修改地址以适应连续区间的操作格式: OP Rx DD为形式地址,应该提供全字长的地址码,能够指向主存的任一单元。它的位数应该较长。 有效地址=(变址寄存器号)+形式地址例如对一个数组进行操作时,可以将该数组的首地址作为形式地址,变址寄

19、存器中存放位移量,通过修改变址寄存器的内容,可以访问数组中任何一个元素。 计算机组成原理指令和数据的寻址方式基址寻址方式:目的是为了扩大字长有限的指令的寻址空间格式: OP Rb DD为位移量有效地址=(基址寄存器地址)+位移量 基址寄存器应能提供全字长地址码,能够指向主存的任一单元。位移量不必是全字长,这是由于程序运行时的区域局限性所定。 计算机组成原理指令和数据的寻址方式例如IMB-PC8086的主存空间,程序段的长度小于64KB,且指令中的形式地址段只有16位。则可采用基址寻址方式。指令只需用很短的寄存器号即可选定基址寄存器,基地寄存器为20位,存放程序段的基址(基地址),形式地址给出1

20、6位的位移量。计算机组成原理指令和数据的寻址方式基址加变址方式 结合了两者的优点有效地址=(基址量)+(变址量)+位移量这样的寻址方式可以方便的处理两维数组。例如让基址寄存器内容指向数组起始端,基址加位移量为其一行数组的起点,而变址寄存器的内容为一行数组中元素与起点间的距离。 计算机组成原理指令和数据的寻址方式 寄存器寻址方式和寄存器间接寻址方式寄存器寻址方式和寄存器间接寻址方式当操作数不放在内存中,而是放在CPU的通用寄存器中时,可采用寄存器寻址方式。此时指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。 寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不

21、是操作数,而是操作数的地址,该地址指明的操作数在内存中。计算机组成原理指令和数据的寻址方式n块寻址块寻址:块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方式在内存中还可用于数据块搬家。 块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。如果数据块是变长的,可用三种方法指出它的长度:(1)指令中划出字段指出长度;(2)指令格式中指出数据块的首地址与末地址;(3)由块结束字符指出数据块长度。 操作码首地址标志位末地址操作码首地址标志位末地址计算机组成原理指令和数据的寻址方式n段寻址以8086的段寻址为例。这种寻址方式的实质

22、是基值寻址。计算机组成原理指令和数据的寻址方式在设计指令系统中,需要考虑两方面:一方面是选取哪些寻址方式才能满足程序需要,又能使编程灵活方便; 另一方面是:考虑CPU解释执行的硬件代价,以及执行速度。 计算机组成原理指令和数据的寻址方式例例3一种二地址RS型指令的结构如下所示:6位4位1位2位16位OP- 通用寄存器通用寄存器I X 偏移量偏移量D其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。 请写出六种寻址方式的名称。寻址方式寻址方式 IX 有效地址有效地址E算法说明算法说明 (1) 000E=D (2) 001E=(PC)+/-D

23、 PC为程序计数为程序计数 (3) 010E=(R2)+/-D R2为变址寄存器为变址寄存器 (4) 111E=(R3) (5) 100E=(D) (6) 011 E=(R1)+/-D R1为基址寄存器为基址寄存器计算机组成原理指令和数据的寻址方式解: 直接寻址相对寻址 变址寻址 寄存器间接寻址 间接寻址 基址寻址 计算机组成原理指令和数据的寻址方式例例4 某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)(A)H

24、,STA(OP)(1B)H ,LDA(OP)(3C)H。MOV是传送指令,STA为写数指令,LDA为读数指令。计算机组成原理指令和数据的寻址方式 15 10 9 8 7 4 3 0 OP - 目标 源 MOV S,D OP 基址 源 变址 STA S,M 位移量 OP - 目标 LDA S,M 20位地址 计算机组成原理指令和数据的寻址方式要求: 分析三种指令的指令格式与寻址方式特点。 CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? 下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?

25、(F0F1)H (3CD2)H (2856)H (6FD6)H (1C2)H计算机组成原理指令和数据的寻址方式第一种指令是单字长二地址指令,RR型; 第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定; 第三种也是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。 计算机组成原理处理机完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。 第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。 第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问

26、存储器,但节省了求有效地址运算的时间开销。计算机组成原理指令和数据的寻址方式 根据已知条件知: MOV(OP)001010, STA(OP)011011, LDA(OP)111100, 将指令的十六进制格式转换成二进制代码且比较后可知:(F0F1)(3CD2)H 指令代表LDA指令,编码正确,其含义是把主存(13CD2)H 地址单元的内容取至15号寄存器。(2856)H 指令代表MOV指令,编码正确,含义是把5号源寄存器的内容传送至6号目标寄存器。 计算机组成原理(6FD6)H 是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H(1C2)H 是单字长指令,代表MOV指令,但编码

27、错误,可改正为(28C2)H 。计算机组成原理作业P151 第2、5、7、9题 补充题:1.比较直接寻址、间接寻址、寄存器寻址和寄存器间接寻址、基址寻址的速度快慢。2.若内存的大小为1M,某数据表的大小为1K,指令的操作码为6位,问采用基址寻址和变址寻址方式的指令的字长各为多少? OP Rb D ; OP Rx D 计算机组成原理4.4 堆栈寻址方式一、串联堆栈 串联堆栈一般是由一组专门的寄存器组成,通常为8个或16个,数量较少,但速度很快。.组成原理-白中英网络版Chap04images4.7.swf 计算机组成原理4.4 堆栈寻址方式二、存贮器椎栈串联堆栈的缺点:堆栈的数目有限串联堆栈的读

28、出是破坏性的当进栈的数目大于堆栈本身的数量单元时,“老”的数据就会被破坏。 因此,通常在主存中开辟一个堆栈区,一旦设定,该区域就不能作其它用途。为了便于操作,设置一个堆栈指示器SP。进栈:(A)Msp,(sp)-1sp出栈:(sp)+1sp,(Msp)A.组成原理-白中英网络版Chap04images4.8.swf计算机组成原理4.5 典型指令n数据传送类指令n算术运算类指令n逻辑运算类指令n程序控制类指令n输入输出类指令n字符串处理指令n特权指令n其他指令计算机组成原理4.5 典型指令4.5.2 基本指令系统 CISC(复杂指令系统)的指令系统一般多达二三百条,例如VAX11/780计算机有

29、303条指令,18种寻址方式。Pentium机也有191条指令,9种寻址方式。但是对CISC机的测试表明,最常使用的是一些最基本最简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%。基本指令系统表见P147。计算机组成原理4.5 典型指令4.5.3 精简指令系统RISC指令系统的最大特点是:选取使用频率最高的一些简单指令,指令条数少;指令长度固定,指令格式种类少;只有取数存数指令访问存储器,其余指令的操作都在寄存器之间进行。 计算机组成原理4.5 典型指令 表4.6 典型RISC机指令系统的基本特征 通用寄通用寄型型 号号 指令数指令数 寻址方式寻址方式 指令格式指令格式 存器数

30、存器数 主频主频/MHZRISC-I 31 2 2 78 8RISC-II 39 2 2 138 12MIPS 55 3 4 16 4SPARC 75 4 3 120-136 25-33MIPSR3000 91 3 3 32 25I860 65 3 4 32 50计算机组成原理4.5 典型指令下面以SPARC机为例来说明,该机是一个32位字长的计算机,共有75条指令。 1.指令类型和指令格式指令类型和指令格式 SPARC机有如下六种指令类型: 算术运算逻辑运算移位指令 取数(LOAD)存数(STORE)指令 控制转移指令 读写专用寄存器指令 浮点运算指令 协处理器指令 SPARC共有三种指令格

31、式,见P149表4.9计算机组成原理4.5 典型指令2.指令的功能与寻址方式指令的功能与寻址方式算术逻辑运算指令算术逻辑运算指令 功能:将Rs1,Rs2 的内容(或Simm13)按操作码规定的操作运算后将结果送往Rd 。当i=0时,(Rs1)OP(Rs2)Rd当i=1时,(Rs1)OP Simm13Rd计算机组成原理4.5 典型指令取数存数指令取数存数指令功能:LOAD指令将存储器中的数据送往Rd中,而STORE指令将Rd中的数据送往存储器中。存储器地址的计算方法如下(寄存器间接寻址方式): 当i=0时,存储器地址(Rs1)(Rs2); 当i=1时,存储器地址(Rs1)Simm13。计算机组成

32、原理4.5 典型指令控制转移类指令控制转移类指令条件转移(BRANCH):由Cond字段决定程序是否转移。用相对寻址方式形成转移地址。 转移并连接(JMPL):将本条指令的地址(PC值)保存在以Rd为地址的寄存器中以备程序返回时使用。用寄存器间址方式形成转移地址。 调用(CALL):采用相对寻址方式形成转移地址。 陷阱(TRAP):采用寄存器间址方式形成转移地址。 从TRAP程序返回(RETT):用寄存器间址方式形成转移地址。计算机组成原理4.5 典型指令读写专用寄存器指令读写专用寄存器指令SPARC有四个专用寄存器(PSR,Y,WIM,TBR),其中PSR称为程序状态寄存器,它的内容反映并控

33、制机器的运行状态,比较重要,因此读写PSR的指令一般是特权指令。计算机组成原理例1例1,某机字长16位,存贮器直接寻址空间为128字,变址时的位移量为-64+63,16个通用寄存器均可作为变址寄存器,设计一套指令系统格式,满足下列寻址类型的要求:(1)直接寻址的二地址指令3条(2)变址寻址的一地址指令6条(3)寄存器寻址的二地址指令8条(4)直接寻址的一地址指令12条(5)零地址指令32条试问还有多种代码未用?计算机组成原理例1解:(1)直接寻址的二地址指令格式为: 2 7 7 OP A1 A2 00,01,10 共3条(2)变址寻址的一地址指令格式为: 5 4 7 OP RX D 11000

34、11101 共6条计算机组成原理例1( 3)寄存器寻址的二地址指令格式为: 8 4 4 OP R1 R2 1111000011110111 共8条( 4)直接寻址的一地址指令格式为: 9 7 OP A 111110000111111011 共12条计算机组成原理例1 (5)零地址指令格式为: 16 OP 11111110000000001111111000011111 共32条还有29-32=480种代码未用。 计算机组成原理例2例2,某机字长32位, CPU内有32个32位的通用寄存器,设计一种能够容纳64种操作的指令系统,设指令字长等于机器字长。(1)如果主存可直接或间接寻址,采用RS型指

35、令,能直接寻址的最大的存储空间是多少?画出指令格式。 (2)如果采用通用寄存器作为基址寄存器,则上述RS型指令的指令格式有何特点?画出指令格式并指出这类指令可访问多大的存储空间?计算机组成原理例2解:根据题意有:(1) 6 1 5 20 OP I R DOP为6位,可容纳64种操作; I为1位,为直接或间接寻址方式位; R为5位,为32个通用寄存器的编号; D为20位,为形式地址。这种指令可直接寻址的最大的存储空间是220;计算机组成原理例2(2) 6 1 5 5 15 OP I R B DOP为6位,可容纳64种操作; I为1位,为直接或间接寻址方式位; R为5位,为32个通用寄存器的编号;

36、 B为5位,为基址寄存器的编号; D为15位,为形式地址。这种指令可寻址的最大的存储空间是232计算机组成原理例3例3:若机器采用三地址格式访问存储器指令,试问完成一条加法指令共需要访问几次存储器?若该机共能完成54种操作,操作数可在1K地址范围内寻址,试画出该机器的指令格式。解:依题意义有: 6 10 10 10 OP D1 D2 D3完成一条加法指令共需要访问4次存储器,一次取指令,两次取操作数,一次存放结果。计算机组成原理例4例4:某指令系统字长12位,地址码长3位,试提出一种方案,使该指令系统有4条三地址指令、8条二地址指令、150条单地址指令。解: 000 xxxxxxxxx 001

37、xxxxxxxxx 010 xxxxxxxxx 4条三地址指令 011xxxxxxxxx计算机组成原理 100 000 xxxxxx 100 001 xxxxxx . 8条二地址指令 . 100 111 xxxxxx 101 000000 xxx 101 000001 xxx . 64条单地址指令 . 101 111111 xxx计算机组成原理 110 000000 xxx 110 000001 xxx . 64条单地址指令 . 110 111111 xxx 111 000000 xxx 111 000001 xxx . 22条单地址指令 . 111 010101 xxx计算机组成原理谢谢!计

38、算机组成原理指令和指令系统指令的使用执行频率排序 80X86 指令 指令执行频率 1 Load 22 2 条件分支 20 3 比较 16 4 Store 12 5 加 8 6 与 6 7 减 5 8 寄存器寄存器间数据移动 4 9 调用 1 10 返回 1 合 计 96 计算机组成原理CISC和RISC大寄存器文件的使用n为什么要大量采用寄存器n公共子表达式消去法可以有效地降低一个表达式的计算量。同时,将公共子表达式的计算结果保存在一个寄存器中有助于降低表达式计算的访存开销。FBADEBAC*)(BAR1FRDERC*11计算机组成原理精简指令集结构nCISC的理由n减小代码空间n精简指令集结

39、构的特征n每周期一条指令n寄存器-寄存器操作(Load/Store类型结构)n简单的寻址方式n简单的指令格式计算机组成原理RISC流水线技术nRISC指令集结构:DLXn具有一个简单的Load/Store指令集;n注重指令流水效率;n简化指令的译码;n高效支持编译器。n最适合计算机体系结构教学用的指令集结构计算机组成原理RISC流水线技术R0R1R2R3R4R5R6R7R8R9R10R11R12R13R14R15R16R17R18R19R20R21R22R23R24R25R26R27R28R29R30R3132个32位的通用寄存器(GPRs)。寄存器R0的内容恒为全0。计算机组成原理RISC流

40、水线技术32个32位浮点寄存器(FPRs)。单精度浮点数表示和双精度浮点数表示。F0F1F2F3F4F5F6F7F8F9F10F11F12F13F14F15F16F17F18F19F20F21F22F23F24F25F26F27F28F29F30F31计算机组成原理RISC流水线技术n寄存器寻址;n立即值寻址;n偏移寻址;n寄存器间接寻址。存储器地址宽度为32位。计算机组成原理RISC流水线技术 I 类型指令 6 5 5 16操作码rs1rd立即值 字节、半字、字的载入和储存; rd rs1 op 立即值。计算机组成原理流水线的优化n相关n数据相关n控制相关n结构相关n结构相关n多部件n细分流

41、水线计算机组成原理流水线的优化n数据相关n写后写n读后写n写后读n解决数据相关的途径n定向n载入延迟调度n插入空周期计算机组成原理流水线的优化n控制相关n排空/冻结流水线n分支预测n预测分支转移成功n预测分支转移失败n分支延迟n从前调度n从目标处调度n从失败处调度计算机组成原理流水线的优化 失败的分支指令 IF ID EX MEM WB 指令 i+1 IF ID EX MEM WB 指令 i+2 IF ID EX MEM WB 指令 i+3 IF ID EX MEM WB 指令 i+4 IF ID EX MEM WB 成功的分支指令 IF ID EX MEM WB 指令 i+1 IF idle

42、idle idleidle idleidle idleidle 分支目标 IF ID EX MEM WB 分支目标+1 IF ID EX MEM WB 分支目标+2 IF ID EX MEM WB 基于“预测分支失败”方法的流水线时空图 计算机组成原理流水线的优化 失败的分支指令 IF ID EX MEM WB 延迟分支指令(i+1) IF ID EX MEM WB 指令 i+2 IF ID EX MEM WB 指令 i+3 IF ID EX MEM WB 指令 i+4 IF ID EX MEM WB 成功的分支指令 IF ID EX MEM WB 延迟分支指令(i+1) IF ID EX M

43、EM WB 分支目标指令 j IF ID EX MEM WB 分支目标指令 j+1 IF ID EX MEM WB 分支目标指令 j+2 IF ID EX MEM WB 基于“延迟分支”方法的流水线时空图 计算机组成原理流水线的优化 (a) 从前调度 (b) 从目标处调度 (c) 从失败处调度 (From before) (From target) (From fall through) Add R1,R2,R3 SUB R4,R5,R6 ADD R1,R2,R3 if R2=0 then if R1=0 then ADD R1,R2,R3 延迟槽 if R1=0 then 延迟槽 SUB R4,R5,R6 延迟槽 调度后 调度后 调度后 ADD R1,R2,R3 if R2=0 then ADD R1,R2,R3 if R1=0 then if R1=0 then Add R1,R2,R3 SUB R4,R5,R6 SUB R4,R5,R6 调度分支延迟指令的三种常用方法

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第四章指令系统-Read课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|