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

上传人:本田雅阁 文档编号:2635071 上传时间:2019-04-25 格式:PPT 页数:55 大小:957.01KB
返回 下载 相关 举报
计算机组成原理第五章.ppt_第1页
第1页 / 共55页
计算机组成原理第五章.ppt_第2页
第2页 / 共55页
计算机组成原理第五章.ppt_第3页
第3页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、第五章 指 令 系 统,5.1 指令系统的发展与性能要求,1、指令在计算机系统中的地位 (1)是软件和硬件分界面的一个主要标志 硬件设计人员采用各种手段实现它; 软件设计人员则利用它编制各种各样的系统软件和应用软件 (2)是硬件设计人员和软件设计人员之间的分界面,也是他们之间沟通的桥梁。,5.1 指令系统相关概念,指令就是规定计算机执行某种操作的指示与命令。 从计算机组成的层次结构来说,指令分: 微指令:在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作 。 属于硬件 宏指令:也是汇编指令,允许程序员把一组指令定义成几个短名字。定义之后,可以在代码中用一条宏指令来代替一组指令,节

2、省程序员的时间、简化应用,也使得程序更易读。属于软件。 机器指令:介于微指令与宏指令之间。,计算机语言,低级语言是指机器语言和汇编语言(助记符),比如机器语言全部是二进制代码, 高级语言是诸如Basic,C,Pascal,Delphi之类的语言 低级语言编写很麻烦, 下边以a=a+b (a取2,b取3)为例 机器: (一大串1和0,不再给出,因为的确很麻烦) 汇编: MOV AX,2 MOV BX,3 ADD AX,BX C语言: int a,b; a=2; b=3; a=a+b;,机器码与汇编语言之间的关系,B83412 对应与 MOV AX,1234H 1011 1000 0011 010

3、0 0001 0010,对寄存器操作,以字为单位操作,操作内容,Mov,机器码分析,00h: BA 11 01 03h: B4 09 05h: B9 0A 00 08h CD 21 0Ah: E2 FC 0Ch: B4 01 0Eh: CD 21 10h: C3 11h: 68 65 6C 6C 6F 21 24,MOV DX, OFFSET msg MOV AH, 9 MOV CX, 10 next: INT 21h LOOP next MOV AH, 1 INT 21h RET msg hello!,指令系统的发展与性能要求,低级语言与高级语言关系,指令系统的发展与性能,指令系统就是CPU

4、能够执行的所有机器指令的集合。 指令系统决定了计算机的基本功能,指令系统的设计是计算机系统设计的一个核心问题。它不仅与计算机的硬件设计紧密相关,而且直接影响到系统软件设计的难易程度。 完善的计算机的指令系统应具备: 1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。 2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。高效率主要表现在空间和时间方面,即占用存储空间小、执行速度快。 3、规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。 (1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。 (2

5、)匀齐性:是指一种操作性质的指令可以支持各种数据类型。 (3)指令的格式与数据格式的一致性:指令长度与数据长度有一定关系,以方便存取和处理。 4、兼容性:一般是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。,机 器 指 令,一、指令的一般格式,1. 操作码,反映机器做什么操作,(1) 长度固定,(2) 长度可变,用于指令字长较长的情况,,RISC,如 IBM 350,操作码 8 位,操作码分散在指令字的不同字段中,(3) 扩展操作码技术,操作码的位数随地址数的减少而增加,4 位操作码,8 位操作码,12 位操作码,16 位操作码,15条三地址指令,1

6、5条二地址指令,15条一地址指令,16条零地址指令,5.1,2. 地址码,(1) 四地址,8 6 6 6 6,A1 第一操作数地址,A2 第二操作数地址,A3 结果的地址,A4 下一条指令地址,若 PC 代替 A4,4 次访存,寻址范围 26 = 64,5.1,2. 地址码,(2) 三地址,8 8 8 8,4 次访存,寻址范围 28 = 256,若 A3 用 A1 或 A2 代替,5.1,这种格式虽然省去了一个地址,但指令长度仍比较长,所以只在字长较长的大、中型机中使用,而小型、微型机中很少使用。,(3) 二地址,8 12 12,或,4 次访存,若ACC 代替 A1(或A2),若结果存于 AC

7、C,寻址范围 212 = 4 K,3次访存,5.1,(PC) +1PC,(4) 一地址,(5) 零地址,8 24,无地址码,2 次访存,寻址范围 224 = 16 M,单操作数运算指令,如“+1”、“-1”、“求反” 指令中给出一个源操作数的地址,(PC) +1PC,“停机”、“空操作”、“清除”等控制类指令。,二、指令字长,指令字长决定于,操作码的长度,指令字长 = 存储字长,2. 指令字长 可变,操作数地址的长度,操作数地址的个数,1. 指令字长 固定,按字节的倍数变化,5.1,指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。,二、指令字长,5.

8、1,多字长指令的优缺点: 优点:提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点:必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。 指令系统中指令采用等长指令的优点:各种指令字长度是相等的,指令字结构简单,且指令字长度是不变的 ; 采用非等长指令的的优点:各种指令字长度随指令功能而异,结构灵活,能充分利用指令长度,但指令的控制较复杂 。,小结,当用一些硬件资源代替指令字中的地址码字段后,当指令的地址字段为寄存器时,可扩大指令的寻址范围,可缩短指令字长,可减少访存次数,三地址 OP R1, R2, R3,二地址 OP R1, R2,一地址 OP

9、R1,指令执行阶段不访存,可缩短指令字长,5.1,5.2 操作数类型和操作种类,一、操作数类型,无符号整数,定点数、浮点数、十进制数,ASCII,逻辑运算,二、数据在存储器中的存放方式,字地址 为 低字节 地址,字地址 为 高字节 地址,大端次序,小端次序,存储器中的数据存放(存储字长为 32 位),5.2,三、操作类型,1. 数据传送,寄存器,寄存器,寄存器,寄存器,存储器,存储器,存储器,存储器,置“1”,清“0”,2. 算术逻辑操作,加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算,与、或、非、异或、位操作、位测试、位清除、位求反,如 8086,MOVE,STORE,LOAD,

10、MOVE,PUSH,POP,例如,MOVE,MOVE,5.2,ADD SUB MUL DIV INC DEC CMP NEG AAA AAS AAM AAD AND OR NOT XOR TEST,3. 移位操作,算术移位,4. 转移,(1) 无条件转移 JMP,(2) 条件转移,结果为零转 (Z = 1) JZ,结果溢出转 (O = 1)JO,结果有进位转(C = 1)JC,跳过一条指令 SKP,循环移位(带进位和不带进位),如,逻辑移位,完成触发器,5.2,(3) 调用和返回,CALL SUB1,CALL SUB2,CALL SUB2,RETURN,RETURN,5.2,IN AX, n,

11、OUT DX, AL,OUT n, AX,OUT DX, AX,(4) 陷阱(Trap)与陷阱指令,意外事故的中断,设置供用户使用的陷阱指令,如 8086 INT TYPE 软中断,提供给用户使用的陷阱指令,完成系统调用,5. 输入输出,IN AL, DX,IN AX, DX,5.2,如,如,IN AL, n,OUT n, AL,5.3 寻 址 方 式,寻址方式,确定 本条指令 的 操作数地址 下一条 欲执行 指令 的 指令地址,寻址方式,5.3 寻 址 方 式,一、指令寻址,顺序,跳跃,由转移指令指出,指令和数据的寻址方式,操作数的寻址方式 形成操作数有效地址的方法,称为寻址方式。 操作数通

12、常放在哪儿呢? 操作数包含在指令中; 操作数包含在CPU的某一个内部寄存器中; 操作数包含在主存储器中; 操作数包含在I/O设备的端口中 根据操作数放在不同的地方,从而派生各种不同的寻址方式,往往不同的计算机具有不同的寻址方式。,1. 立即寻址,可正可负 补码,形式地址 A 就是操作数,5.3,特点:在取指令时,操作码和操作数被同时取出,不必再次访问存储器,从而提高了指令的执行速度。 但是,因为操作数是指令的一部分,不能被修改; 而且对于定 长指令格式,操作数的大小将受到指令长度的限制,A 的位数限制了立即数的范围,所以这种寻址方式灵活性最差,例如:LOAD R1 #2000 功能为:R1=2

13、000,单地址的移位指令格式: D 不表示地址,而是操作数 ,F 为标志位 当F=1 右移 当F=0 左移,立即寻址应用范围: 通常用于给某一寄存器或主存单元赋初值,或者用于提供一个常数,2. 直接寻址,EA = A,寻址特征,A,ACC,执行阶段访问一次存储器,A 的位数决定了该指令操作数的寻址范围,有效地址由形式地址直接给出,5.3,3. 隐含寻址,操作数地址隐含在操作码中,寻址特征,A,ACC,暂存,另一个操作数 隐含在 ACC 中,如 8086,MUL 指令,被乘数隐含在 AX(16位)或 AL(8位)中,指令字中少了一个地址字段,可缩短指令字长,5.3,4. 间接寻址,EA =(A)

14、,有效地址由形式地址间接提供,寻址特征,A,EA,A1,EA,执行指令阶段 2 次访存,可扩大寻址范围,便于编制程序,寻址特征,A,一次间址,多次间址,操作数,操作数,多次访存,5.3, ,转 子程序,转 子程序,间接寻址编程举例,(A) = 81,(A) = 202, 间址特征,5.3,JMP A,5. 寄存器寻址,EA = Ri,执行阶段不访存,只访问寄存器,执行速度快,寻址特征,寄存器个数有限,可缩短指令字长,有效地址即为寄存器编号,5.3,优点:,缺点:,操作数实现必须装入寄存器,EA = ( Ri ),6. 寄存器间接寻址,有效地址在寄存器中, 操作数在存储器中,执行阶段访存,寻址特

15、征,寻址空间达到全字长范围,计算机中广泛应用,有效地址在寄存器中,5.3,7、相对寻址,由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:EA(PC)D。,7、相对寻址,对寻址方式使程序模块可采用浮动地址,编程时只要确定程序内部操作数与指令之间的相对距离,而无需确定操作数在主存储器中的绝对地址,这样,将程序安排在主存储器的任意位置都不会影响程序执行的正确性。,(2) 按字节寻址的相对寻址举例,JMP * + 8,设 当前指令地址 PC = 2000H,转移后的目的地址为 2008H,因为 取出 JMP * + 8 后 PC = 2002H,

16、二字节指令,故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 6H,5.3,8. 基址寻址,(1) 采用专用寄存器作基址寄存器,EA = ( BR ) + A,BR 为基址寄存器,寻址特征,可扩大寻址范围,便于程序搬家,BR 内容由操作系统或管理程序确定,在程序的执行过程中 BR 内容不变,形式地址 A 可变,5.3,(2) 采用通用寄存器作基址寄存器,寻址特征,R0 作基址寄存器,由用户指定哪个通用寄存器作为基址寄存器,基址寄存器的内容由操作系统确定,在程序的执行过程中 R0 内容不变,形式地址 A 可变,5.3,9. 变址寻址,EA = ( IX ) +A,寻址特

17、征,可扩大寻址范围,便于处理数组问题,IX 的内容由用户给定,IX 为变址寄存器(专用),在程序的执行过程中 IX 内容可变,形式地址 A 不变,通用寄存器也可以作为变址寄存器,5.3,例,设数据块首地址为 D,求 N 个数的平均值,直接寻址,变址寻址,LDA D,ADD D + 1,ADD D + 2,ADD D + ( N -1 ),DIV # N,STA ANS,LDA # 0,LDX # 0,INX,CPX # N,BNE M,DIV # N,STA ANS,共 N + 2 条指令,共 8 条指令,X 为变址寄存器,D 为形式地址,(X) 和 #N 比较,结果不为零则转,5.3,10.

18、 堆栈寻址,(1) 堆栈的特点,堆栈,多个寄存器,指定的存储空间,先进后出(一个入出口),栈顶地址 由 SP 指出, 1,1FFFH,+1,2000 H,1FFF H,2000 H,5.3,(2) 堆栈寻址举例,PUSH A 前,PUSH A 后,POP A 前,POP A 后,5.3,(3) SP 的修改与主存编址方法有关, 按 字 编址,进栈,出栈, 按 字节 编址,存储字长 16 位,进栈,出栈,存储字长 32 位,进栈,出栈,5.3,5.4 指令格式举例,一、设计指令格式时应考虑的各种因素,1. 指令系统的 兼容性,(向上兼容),2. 其他因素,操作类型,数据类型,指令格式,包括指令个

19、数及操作的难易程度,指令字长、操作码位数,寻址方式,寄存器个数,地址码位数、地址个数,寻址方式、是否采用扩展操作码,二、指令格式举例,1. PDP 8,指令字长固定 12 位,5.4,2. PDP 11,指令字长有 16 位、32 位、48 位三种,零地址 (16 位),一地址 (16 位),扩展操作码技术,5.4,3. IBM 360,5.4,4. Intel 8086,(1) 指令字长,(2) 地址格式,1 6 个字节,MOV WORD PTR0204, 0138H 6 字节,INC AX 1 字节,一地址,NOP 1 字节,CALL,零地址,寄存器 寄存器,寄存器 立即数,寄存器 存储器

20、,ADD AX,BX 2 字节,ADD AX,3048H 4 字节,ADD AX,3048H 3 字节,二地址,CALL,5.4,5.5 RISC 技 术,一、RISC 的产生和发展,80 20 规律,典型程序中 80% 的语句仅仅使 用处理机中 20% 的指令,执行频度高的简单指令,因复杂指令 的存在,执行速度无法提高,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技术,例题,某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,

21、十六个16位通用寄存器。指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STO(OP)=(1B)H,LAD(OP)=(3C)H。MOV是传送指令,STO为存数指令,LAD为取数指令。要求:,(1)分析三种指令的指令格式与寻址方式特点。 (2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令? (F0F1)H (3CD2)H (2856)H (6FD6)H (1

22、C2)H,第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址指令,RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字长二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。 处理机完成第一种指令所花时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽然也访问存储器,但节省了求有效地址运算的时间开销。 根据已知条件:MOV(OP)001010,STA(OP)011011,LDA(

23、OP)111100,将指令的十六进制格式转换成二进制代码且比较后可知: (F0F1)H (3CD2)H 指令代表LDA指令,编码正确,其含义是把主存(13CD2)H 地址单元的内容取至15号寄存器。 (2856)H 指令代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。 (6FD6)H 是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H (1C2)H 是单字长指令,代表MOV指令,但编码错误,可改正为(28C2)H 。,某机器的16位单字长访内指令格式如下: 其中, A为形式地址,补码表示(其中一位为符号位) I为直接/间接寻址方式:I0为间接寻址, I1为直接寻址 M为寻址模式:0为绝对地址; 1为基地址; 2为相对地址; 3为立即寻址 X为变址寻址 设PC、Rx、Rb为指令计数器、变址寄存器、基地址寄存器 回答下列问题: 该指令能定义多少种操作?立即寻址操作数的范围是多少? 设基址寄存器为14位,在非变址直接基地址寻址时,确定存储器可寻址的范围? 间接寻址时,寻址范围是多少?,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1