组成原理课程第五章_第1页
组成原理课程第五章_第2页
组成原理课程第五章_第3页
组成原理课程第五章_第4页
组成原理课程第五章_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第五章第五章 指指 令令 系系 统统计算机组成原理计算机组成原理2本章知识点本章知识点1)1)指令格式指令格式2)2)寻址方式寻址方式3)3)指令格式设计与优化指令格式设计与优化4)CISC4)CISC与与RISCRISC的概念的概念5)MIPS5)MIPS指令系统简介绍指令系统简介绍计算机组成原理计算机组成原理3计算机组成原理计算机组成原理45.1 5.1 指令格式指令格式1 1、指令格式的一般形式:、指令格式的一般形式:操作码操作码(OP)(OP)地址码字段地址码字段(A)(A)操作码:表明指令的操作特性与功能。操作码:表明指令的操作特性与功能。地址码:用来协助表示操作数或操作数的地址

2、。地址码:用来协助表示操作数或操作数的地址。1)1)操作码操作码: : 不同功能的指令,操作码字段的编码不同。不同功能的指令,操作码字段的编码不同。 操作码的长度取决于计算机的指令的数量操作码的长度取决于计算机的指令的数量, ,即即 L LOPOP= = log log 2 2 n n 计算机组成原理计算机组成原理52)2)地址码字段地址码字段 由于一条指令可能需要多个操作数,因此,一条指令中可由于一条指令可能需要多个操作数,因此,一条指令中可 能能会有多个地址字段。会有多个地址字段。 根据一条指令中地址码字段的个数,将指令进行如下分类:根据一条指令中地址码字段的个数,将指令进行如下分类: 三

3、操作数指令:三操作数指令: OPA1A3A2(A1 )OP (A2) (A1 )OP (A2) A3 A3二操作数指令:二操作数指令:OPA1A2(A1) OP (A2) (A1) OP (A2) A1 A1一操作数指令一操作数指令:OPA1(AC ) OP (A1)(AC ) OP (A1) AC AC0 0 操作数指令:操作数指令:OP 计算机组成原理计算机组成原理6OP-源寄存器源寄存器目标寄存器目标寄存器15974 302.2.指令格式举例指令格式举例例例1 1 指令格式如下指令格式如下, ,其中其中OPOP为操作码为操作码, ,试分析指令格式的特点试分析指令格式的特点. .分析分析:

4、 :单字长二地址指令单字长二地址指令OPOP为为7 7位位, ,可以表示可以表示128128条指令条指令源操作数和目的操作数都是通用寄存器源操作数和目的操作数都是通用寄存器( (可分别使用可分别使用1616个个),),故是故是RRRR型指令型指令. .适合于算术运算和逻辑运算指令适合于算术运算和逻辑运算指令计算机组成原理计算机组成原理7例例2 2 指令格式如下指令格式如下, ,分析指令格式的特点分析指令格式的特点. .OP-源寄存器源寄存器 变址寄存器变址寄存器151074 30位移量位移量分析:分析:双字长,二地址指令,用于访问存储器双字长,二地址指令,用于访问存储器OPOP为为6 6位位

5、, 可以表示可以表示3232条指令条指令一个操作数在寄存器中(可用一个操作数在寄存器中(可用1616个),另一个在主存中,所以是个),另一个在主存中,所以是RSRS型型指令。指令。计算机组成原理计算机组成原理 5.2 5.2 寻址方式寻址方式 存储程序是实现存储控制的前提存储程序是实现存储控制的前提, ,内存基于地址访问内存基于地址访问; ; 寻址方式就是寻找指令或操作数有效地址的方法寻址方式就是寻找指令或操作数有效地址的方法; ; 寻址方式是指令系统设计的重要内容,对指令格式和指令功能设计均寻址方式是指令系统设计的重要内容,对指令格式和指令功能设计均有很大的影响。一套好的寻址方式能给用户提供

6、丰富的程序设计手段,有很大的影响。一套好的寻址方式能给用户提供丰富的程序设计手段,能提高程序的运行速度和存储空间的利用率。能提高程序的运行速度和存储空间的利用率。计算机组成原理计算机组成原理9顺序寻址:顺序寻址:下一条指令的地址在当前指令的地址基础上加下一条指令的地址在当前指令的地址基础上加“1”1”得到的寻址方式。得到的寻址方式。通通常由程序计数器常由程序计数器PCPC来计数指令的顺序号来计数指令的顺序号 1 1、指令的寻址方式、指令的寻址方式100PC+1100101计算机组成原理计算机组成原理10 不是由不是由PC+1PC+1的方式得到下一条指令的地址,而是指令的方式得到下一条指令的地址

7、,而是指令直接给出或由指令执行结果决定的寻址方式,如转移指令。直接给出或由指令执行结果决定的寻址方式,如转移指令。跳跃寻址:跳跃寻址:100Jmp 103PC103计算机组成原理计算机组成原理112.2.操作数的寻址方式操作数的寻址方式有效地址有效地址操作数在内存中的地址操作数在内存中的地址 , , 一般用一般用E E 表示表示 , , 则数据则数据 S =(E)S =(E)操作数寻址方式操作数寻址方式 形成操作数有效地址的方法形成操作数有效地址的方法操作数来源基本上有三种情况:操作数来源基本上有三种情况:操作数直接来自指令地址字段;操作数直接来自指令地址字段;操作数存放在寄存器中,即寄存器操

8、作数;操作数存放在寄存器中,即寄存器操作数; 操作数存放在存储器中,即存储器操作数。操作数存放在存储器中,即存储器操作数。操作数寻址方式就是如何从上述三种来源中为指令提供操作数。操作数寻址方式就是如何从上述三种来源中为指令提供操作数。计算机组成原理计算机组成原理122)2)立即数寻址立即数寻址 : :操作数在指令中操作数在指令中 指令的地址字段指出的不是地址指令的地址字段指出的不是地址, ,而是操作数本身而是操作数本身. . 如如 ADD AX , 2038H ADD AX , 2038H 不计算不计算E , S=2038HE , S=2038H 优点优点: : 不需要访问存储器不需要访问存储

9、器, , 指令执行速度快指令执行速度快 不足不足: : 数据的大小受形式地址字段的长度限制。数据的大小受形式地址字段的长度限制。如:若地址字段为如:若地址字段为1616位,则表示的数据范围位,则表示的数据范围-32768 -32768 3276732767不明确地给出操作数的地址不明确地给出操作数的地址, ,而是在指令中隐含地给出而是在指令中隐含地给出. . 如二操作数地址指令就隐含如二操作数地址指令就隐含ACAC作为一个操作数地址作为一个操作数地址. .又如又如 DAA DAA 这类寻址方式中,被隐含的部分一般是寄存器,故不计算这类寻址方式中,被隐含的部分一般是寄存器,故不计算E E1)1)

10、隐含寻址隐含寻址: :操作数在寄存器中操作数在寄存器中计算机组成原理计算机组成原理133)3)直接寻址直接寻址: :数据在内存中数据在内存中由指令的地址部分直接给出操作数的有效地址由指令的地址部分直接给出操作数的有效地址 所以所以 E=D S=(D)=(E)E=D S=(D)=(E)例如:例如: MOV AXMOV AX, 2038H2038H不足不足: : 寻址范围受寻址范围受D D的位数的限制的位数的限制计算机组成原理计算机组成原理144)4)间接寻址间接寻址 ( (相对于直接寻址相对于直接寻址): ): 操作数在内存中操作数在内存中指令的形式地址部分给出的是指令的形式地址部分给出的是操作

11、数地址的地址操作数地址的地址, ,即是操作数地址的指即是操作数地址的指示器示器. .E=(D) S=(E)=(D)E=(D) S=(E)=(D)优点优点: : 寻址的范围不再受寻址的范围不再受D D的位数限制的位数限制不足不足: :增加了访问内存的次数,降低了指令执行速度增加了访问内存的次数,降低了指令执行速度计算机组成原理计算机组成原理 5)5)寄存器寻址和寄存器间接寻址寄存器寻址和寄存器间接寻址: :数据分别在寄存器和主存中数据分别在寄存器和主存中寄存器寻址:寄存器寻址: 操作数不放在内存中,而是放在操作数不放在内存中,而是放在通用寄存器通用寄存器 ( (? ?) )中,此时,中,此时,指

12、令的形式地址字段指令的形式地址字段D D的值表示的是寄存器号。的值表示的是寄存器号。 不计算不计算E, S = E, S = (R RD D)寄存器间接寻址:寄存器间接寻址: 寄存器的内容不是操作数,而是操作数所在内存单元的地址寄存器的内容不是操作数,而是操作数所在内存单元的地址 E= E= (R RD D) S=S=(E E)=( R=( RD D ) ) 特点:特点: 既解决了寻址范围的问题,又不增加访内存的次数既解决了寻址范围的问题,又不增加访内存的次数计算机组成原理计算机组成原理166)6)相对寻址相对寻址: :数据在内存中数据在内存中把把PCPC的值和指令中形式地址的值和指令中形式地

13、址D D的内容相加,作为有效地址。的内容相加,作为有效地址。PCPC的值是当的值是当前指令的还是下一条指令的前指令的还是下一条指令的? ?。E=(PC) + D E=(PC) + D S= (E) = (PC)+D)S= (E) = (PC)+D)特点特点: :程序员可以使用相对地址编程程序员可以使用相对地址编程, ,所编制的所编制的程序可以放在内存的任意可以使用的地方程序可以放在内存的任意可以使用的地方计算机组成原理计算机组成原理17例例3 3 某计算机采用双字节长指令某计算机采用双字节长指令, ,内存基于字节寻址内存基于字节寻址, ,指令中的数据采用指令中的数据采用补码表示补码表示, ,且

14、且PCPC的值在取指阶段完成修改的值在取指阶段完成修改. .完成下列相对寻址的问题完成下列相对寻址的问题. .1)1)若某采用相对寻址指令的当前地址为若某采用相对寻址指令的当前地址为2003H,2003H,且要求转移后的目标地址且要求转移后的目标地址为为200AH,200AH,则该相对寻址指令的形式地址字段的值为多少则该相对寻址指令的形式地址字段的值为多少? ?2)2)若某采用相对寻址的指令的当前地址为若某采用相对寻址的指令的当前地址为2008H,2008H,且要求转移后的目标地且要求转移后的目标地址为址为2001H,2001H,则该相对寻址指令的形式地址字段的值为多少则该相对寻址指令的形式地

15、址字段的值为多少? ?解解: :1)200AH 1)200AH (2003H +2) = 5H (0000 0101) (2003H +2) = 5H (0000 0101)2)2001H 2)2001H (2008H +2) = -9 (1111 0111 (2008H +2) = -9 (1111 0111 即即F7H)F7H)若计算机字长若计算机字长3232位位, , 且且PCPC的值在取指阶段修改的值在取指阶段修改, ,情况如何情况如何? ?计算机组成原理计算机组成原理187)7)基址寻址基址寻址: :数据在主存中数据在主存中把基址寄存器的内容和把基址寄存器的内容和D D的内容相加,作

16、为有效地址。的内容相加,作为有效地址。其中其中基址寄存器中的值不变基址寄存器中的值不变,D D中的值可变。中的值可变。E = E = (BXBX)+ D + D S = S = (E E)= (BX)+D)= (BX)+D)特点特点: :基址寄存器的位数可以设得很长,因基址寄存器的位数可以设得很长,因而,可以扩大寻址能力而,可以扩大寻址能力计算机组成原理计算机组成原理198 8)变址寻址)变址寻址: :数据在主存中数据在主存中把变址寄存器的内容和把变址寄存器的内容和D D的内容相加,作为有效地址。的内容相加,作为有效地址。其中其中变址寄存器中的值可变变址寄存器中的值可变,D D中的值不变中的值

17、不变。E = (X)+DE = (X)+DS = (E)=(X)+D)S = (E)=(X)+D)特点特点: : 不是为了扩大寻址空间不是为了扩大寻址空间, ,而是为了实现而是为了实现程序的有规律的浮动程序的有规律的浮动, ,而不改变指令而不改变指令. .如循环如循环计算机组成原理计算机组成原理20例例4 4 主存数据分布如图所示主存数据分布如图所示, ,若若A A为单元地址为单元地址 (A)(A)为为A A的内容的内容, ,求求 ( 7 ) - (N) + ( N )+ ( N )( 7 ) - (N) + ( N )+ ( N )的值的值911225344320.501234567N( 7

18、 ) = 9( 7 ) = 9( N )= 5( N )= 5( N ) = 3( N ) = 3 ( N )=53 ( N )=53 结果结果 = 60= 60计算机组成原理计算机组成原理219)9)堆栈寻址方式堆栈寻址方式堆栈是计算机中的暂存单元堆栈是计算机中的暂存单元a)a)串联堆栈串联堆栈组成:组成: CPUCPU内的一组专门寄存器组成,每个寄存器保存一个字内的一组专门寄存器组成,每个寄存器保存一个字操作操作 进栈:进栈:将某个通用寄存器中的数据送入堆栈。将某个通用寄存器中的数据送入堆栈。 出栈:出栈:将堆栈中栈顶的数据送到某个寄存器中将堆栈中栈顶的数据送到某个寄存器中计算机组成原理计

19、算机组成原理22特点:特点:快速:在快速:在CPUCPU内部实现内部实现串行:进栈和出栈涉及到栈内所有其它数据的移动串行:进栈和出栈涉及到栈内所有其它数据的移动破坏性读出:读数据的同时也离开了堆栈破坏性读出:读数据的同时也离开了堆栈栈容量有限:取决于栈容量有限:取决于CPUCPU内堆栈专用寄存器的数量内堆栈专用寄存器的数量栈顶不动,数据移动栈顶不动,数据移动计算机组成原理计算机组成原理23b)b)存储器堆栈存储器堆栈把主存的一部分作为堆栈区,称为存储器堆栈。把主存的一部分作为堆栈区,称为存储器堆栈。存储器堆栈的结构存储器堆栈的结构出栈操作:出栈操作:SP SP (SP) +1 (SP) +1

20、, A A (Msp) (Msp)特点:特点:堆栈指示器,用于指示栈顶堆栈指示器,用于指示栈顶( (空空) )。是。是CPUCPU内部的一个寄存器内部的一个寄存器堆栈操作期间,堆栈中的数据不动,堆栈操作期间,堆栈中的数据不动,栈顶移动栈顶移动非破坏性读出非破坏性读出入栈操作:入栈操作:MspMsp (A) (A) , SP , SP (SP) (SP) 1 1 计算机组成原理计算机组成原理245.3 5.3 指令格式设计与优化指令格式设计与优化确定指令采用定长还是变长结构确定指令采用定长还是变长结构, ,在此基础还要确定操作码字段和地址在此基础还要确定操作码字段和地址码字段的位数及其组合形式,

21、以及各种寻址方式的编码方法。码字段的位数及其组合形式,以及各种寻址方式的编码方法。1.1.指令格式的设计指令格式的设计 1)1)指令编码格式的设计指令编码格式的设计确定指令是采用定长指令结构、变长指令结构还是混合结构。确定指令是采用定长指令结构、变长指令结构还是混合结构。2)2)操作码的设计操作码的设计确定操作码采用定长结构还是可变长的操作码,对于变长操作码结构还要确定操作码采用定长结构还是可变长的操作码,对于变长操作码结构还要研究其实现方法。研究其实现方法。3)3)地址码的设计地址码的设计 设计地址码的个数和位数设计地址码的个数和位数. .地址码的设计往往还与寻址方式有关。地址码的设计往往还

22、与寻址方式有关。4)4)寻址方式的设计寻址方式的设计有两种方法,一种是把寻址方式与操作码一起编码,另一种是设置专门的有两种方法,一种是把寻址方式与操作码一起编码,另一种是设置专门的寻址方式字段指示对应的操作数所采用的寻址方式。寻址方式字段指示对应的操作数所采用的寻址方式。计算机组成原理计算机组成原理25例例5 5 字长字长1616位,主存位,主存64K64K,指令单字长单地址,指令单字长单地址,8080条指令。寻址条指令。寻址方式有直接、间接、相对、变址。请设计指令格式方式有直接、间接、相对、变址。请设计指令格式解:解:8080条指令条指令 OP OP字段需要字段需要7 7位位( 2( 27

23、7=128 )=128 ) 4 4种寻址方式种寻址方式 寻址方式特征位寻址方式特征位2 2位位 单地址位长度单地址位长度:16-7-2 =7:16-7-2 =7位位 指令格式如下:指令格式如下:OPOPX XA A7 72 27 7PCPC为为1616位位 变址寄存器变址寄存器1616位位相对寻址相对寻址 E=E=(PCPC)+D ,+D ,寻址范围为:寻址范围为:64K64K变址寻址变址寻址 E=E=(R R)+D +D , 寻址范围为:寻址范围为:64K64K直接寻址直接寻址 E = D E = D ,寻址范围为,寻址范围为128128间接寻址间接寻址 E = E = (D D),), 寻

24、址范围为寻址范围为64K64K计算机组成原理计算机组成原理262.2.指令格式的优化指令格式的优化指令格式优化设计主要研究操作码优化和地址码优化的基本方法指令格式优化设计主要研究操作码优化和地址码优化的基本方法, ,优化的主要目标:优化的主要目标: 节省程序的存储空间节省程序的存储空间 指令格式尽量规整,以减少硬件译码的复杂程度指令格式尽量规整,以减少硬件译码的复杂程度1)1)操作码优化操作码优化 :如何缩短操作码的长度如何缩短操作码的长度, ,降低信息冗余。降低信息冗余。(1)Huffman(1)Huffman编码法编码法 根据指令的使用频度设计操作码字段长度,频度高的指令操作码字段根据指令

25、的使用频度设计操作码字段长度,频度高的指令操作码字段短短( (属于定长扩展属于定长扩展,4-8-12 or 3-6-9),4-8-12 or 3-6-9)。计算机组成原理计算机组成原理27例例6 6 哈夫曼压缩,某机器指令使用频率如下:哈夫曼压缩,某机器指令使用频率如下:I I1 1(0.4)(0.4)、I I2 2(0.3)(0.3)、I I3 3(0.15)(0.15)、 I I4 4(0.05)(0.05)、I I5 5(0.04)(0.04)、I I6 6(0.03)(0.03)、I I7 7 (0.03)(0.03)编制全哈夫曼码编制全哈夫曼码OPOP解:先构造解:先构造Huffma

26、nHuffman树树Pi 哈夫曼哈夫曼OP OP长度长度 扩展哈夫曼扩展哈夫曼OP Op长度长度 I1 1 0.4 0 1 00 2 I2 2 0.3 10 2 01 2 I3 3 0.15 110 3 10 2 I4 4 0.05 11100 5 1100 4 I5 5 0.04 11101 5 1101 4 I6 6 0.03 11110 5 1110 4 I7 7 0.03 11111 5 1111 4 计算机组成原理计算机组成原理28不增加指令长度的情况下增加能表示的指令数量,操作码扩展的基本不增加指令长度的情况下增加能表示的指令数量,操作码扩展的基本要求:要求: 短码不能是长码的前缀

27、短码不能是长码的前缀 操作码不能重复操作码不能重复 各类指令的格式应规整(体会:各类指令的格式应规整(体会:4-8-12 or 3-6-94-8-12 or 3-6-9 )(2)(2)基于地址码扩展的优化:操作码基于地址码扩展的优化:操作码向地址码字段扩展。向地址码字段扩展。( (介于定长和哈介于定长和哈弗曼编码间,属于不定长扩展弗曼编码间,属于不定长扩展) )计算机组成原理计算机组成原理29例例7 7 设某指令系统指令字长设某指令系统指令字长1616位,每个地址码为位,每个地址码为6 6位。若二地址指令位。若二地址指令1515条,一地址指令条,一地址指令3434条,则剩下零地址指令最多有多少

28、条?条,则剩下零地址指令最多有多少条?解解: :操作码按短到长进行扩展编码操作码按短到长进行扩展编码二地址指令二地址指令: (0000 : (0000 1110) 1110) 共共1515条条 ( (不扩展时为不扩展时为1616条条) )一地址指令一地址指令: 1111 (000000 : 1111 (000000 111111); ( 111111); (全集全集) )零地址指令零地址指令: 1111 (: 1111 (100010 100010 11111 11111) (000000 ) (000000 111111) 111111) (30(30种扩展标志种扩展标志) )故零地址指令最

29、多有故零地址指令最多有3030 2 26 6=15 =15 2 27 7 种种OP(4)A1(6)A2(6)计算机组成原理计算机组成原理30目的是缩短地址码的长度,并能用较短的地址码表示较大的逻辑空间目的是缩短地址码的长度,并能用较短的地址码表示较大的逻辑空间, ,常见方法包括常见方法包括: :2)2)地址码优化方法地址码优化方法(1)(1)用间接寻址方式缩短地址码长度用间接寻址方式缩短地址码长度在主存储器的低端开辟出一个专门用来存储地址的区域,由于表示在主存储器的低端开辟出一个专门用来存储地址的区域,由于表示存储器低端部分的地址所需的地址码长度可以很短。存储器低端部分的地址所需的地址码长度可

30、以很短。(2)(2)用变址寻址方式缩短地址码长度用变址寻址方式缩短地址码长度由于程序局部性原理,在变址寻址方式中使用的地址偏移量可以比较由于程序局部性原理,在变址寻址方式中使用的地址偏移量可以比较短,可把比较长的基地址放在变址寄存器中,在指令的地址码中只需短,可把比较长的基地址放在变址寄存器中,在指令的地址码中只需给出比较短的地址偏移量。给出比较短的地址偏移量。(3)(3)用寄存器间接寻址方式缩短地址码长度用寄存器间接寻址方式缩短地址码长度由于寄存器的数量比较少,表示一个寄存器的地址只需很少几位,而由于寄存器的数量比较少,表示一个寄存器的地址只需很少几位,而一个寄存器足可以放下一个逻辑地址。一

31、个寄存器足可以放下一个逻辑地址。计算机组成原理计算机组成原理315.4 CISC5.4 CISC和和RISCRISC简介简介1.CISC- Complex Instruction Set Computer1.CISC- Complex Instruction Set Computer :复杂指令集计算机复杂指令集计算机1)1)早期早期CISCCISC设计风格的主要特点:设计风格的主要特点:(1)(1)指令系统复杂。具体表现在指令数多、寻址方式多、指令格式多。指令系统复杂。具体表现在指令数多、寻址方式多、指令格式多。(2)(2)绝大多数指令需要多个时钟周期才能执行完成。绝大多数指令需要多个时钟周

32、期才能执行完成。(3)(3)各种指令都可访问存储器。各种指令都可访问存储器。(4)(4)采用微程序控制。采用微程序控制。(5)(5)有专用寄存器。有专用寄存器。(6)(6)难以用优化编译生成高效的目标代码程序。难以用优化编译生成高效的目标代码程序。2)CISC2)CISC计算机代表计算机代表: : IBM IBM公司的大、中型计算机,公司的大、中型计算机,Intel 8086Intel 8086、8028680286、80386 80386 等等 计算机组成原理计算机组成原理321)RISC1)RISC指令系统的主要特征指令系统的主要特征2).RISC2).RISC计算机代表计算机代表: :(

33、1) Intel(1) Intel的的PentiumPentium问世以来问世以来(92(92年末年末) ),融合了,融合了RISCRISC技术技术;(2) IBM 801(2) IBM 801、 DEC AlphaDEC Alpha、HP PAHP PA、 IBM PowerPC;IBM PowerPC;(3) MIPS(3) MIPS机机: R3000: R3000、R4000R4000、R10000R10000等等. .(1)(1)选取使用频率最高的一些简单指令;选取使用频率最高的一些简单指令;(2)(2)简化的指令系统。指令长度固定、指令数少、基本寻址方式少、指简化的指令系统。指令长度

34、固定、指令数少、基本寻址方式少、指令格式少、指令字长度一致。令格式少、指令字长度一致。(3)(3)只有取数存数指令访问存储器,其余的指令操作都在寄存器之间只有取数存数指令访问存储器,其余的指令操作都在寄存器之间进行。进行。RISCRISC的的CPUCPU的寄存器较多的寄存器较多, ,如如MIPSMIPS机有机有3232个寄存器。个寄存器。(4)(4)以流水方式工作,从而可在一个时钟周期内执行完毕。以流水方式工作,从而可在一个时钟周期内执行完毕。(5)(5)采用阵列逻辑实现的组合电路控制器,不用或少用微程序。采用阵列逻辑实现的组合电路控制器,不用或少用微程序。(6)(6)采用优化编译技术,保证流

35、水线畅通,优化寄存器分配。采用优化编译技术,保证流水线畅通,优化寄存器分配。2.RISC-Reduced Instruction Set Computer : 2.RISC-Reduced Instruction Set Computer : 精减指令集计算机精减指令集计算机计算机组成原理计算机组成原理335.5 MIPS5.5 MIPS指令介绍指令介绍1.1.三类指令三类指令MIPS MIPS 是是8080年代初期由斯坦福年代初期由斯坦福(Stanford)(Stanford)大学大学HennessyHennessy教授领导的研究小教授领导的研究小组研制成功组研制成功. . rs:rs:源操

36、作数字段源操作数字段1 1 rt:rt:源操作数字段源操作数字段2 2 rd:rd:目的数字段目的数字段 MIPSMIPS指令采用等长指令结构,三种类型指令都是指令采用等长指令结构,三种类型指令都是3232位;位; 没有寻址方式字段;没有寻址方式字段; 操作码字段长度固定为操作码字段长度固定为6 6位;位;计算机组成原理计算机组成原理34R R型指令的操作数只能来自寄存器,运算结果也只能存入寄存器中,属型指令的操作数只能来自寄存器,运算结果也只能存入寄存器中,属于于RRRR型指令。型指令。R R型指令的型指令的OPOP字段为字段为000000000000,具体的操作由,具体的操作由functf

37、unct字段指字段指定,该字段的编码与具体定,该字段的编码与具体R R型运算的关系下表所示。型运算的关系下表所示。1) R1) R型指令型指令计算机组成原理计算机组成原理35若是双目运算,若是双目运算,rs rs 和和rtrt字段分别是第一和第二源操作数,字段分别是第一和第二源操作数, rdrd字段指明存放结果的寄存器;若是字段指明存放结果的寄存器;若是移位移位运算,则表示对运算,则表示对rtrt的内的内容进行移位,所移位数由容进行移位,所移位数由shamtshamt字段指定。字段指定。计算机组成原理计算机组成原理36例例8 8 将指令将指令add $t0,$s1,$s2add $t0,$s1

38、,$s2翻译为机器码翻译为机器码($t0=$s1+$s2)($t0=$s1+$s2)解:解: opop: 000000 000000 加加/ /减减 functfunct:100000 100000 选择加操作选择加操作(SUB(SUB指令为指令为100010)100010) 寄存器寄存器$t0-$t7$t0-$t7分别对应寄存器分别对应寄存器8-158-15 寄存器寄存器$S0-$S7$S0-$S7分别对应寄存器分别对应寄存器16-2316-23 shamt shamt对应对应0 0 $s1: 17=10001B $s2: 18=10010B $t0: 8=01000B $s1: 17=10001B $s2: 18=10010B $t0: 8=01000B 000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论