《计算机组成原理》教程第4章指令系统.ppt_第1页
《计算机组成原理》教程第4章指令系统.ppt_第2页
《计算机组成原理》教程第4章指令系统.ppt_第3页
《计算机组成原理》教程第4章指令系统.ppt_第4页
《计算机组成原理》教程第4章指令系统.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机组成原理 第4章 指令系统,2,本章知识点,指令系统:机器指令的集合,表征计算机性能的重要因素 机器语言 汇编语言(Assemble Language) Instruction Set Architecture(ISA) CISC、RISC、VLIW 处理器、C编译器、OS 本章的内容 指令格式 寻址方式 指令系统介绍 学时:10节,3,从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分: 微指令-微程序级的命令,解释执行机器指令。属于硬件 宏指令-由若干条机器指令组成的软件指令,完成某一特定功能。属于软件 机器指令-介于微指令与宏指令之间,通常简称为指令,完成某一特

2、定操作。本章所讨论的指令,是机器指令。,一 指令分类与要求,4,一个完善的指令系统应满足如下四方面的要求: (1) 完备性 完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。 (2) 有效性 有效性是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。 (3) 规整性规整性包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。 对称性:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性:一种操作性质的指令可以支持各种数据类型; 格

3、式一致性:指令长度和数据长度有一定的关系,以方便处理和存取。 (4) 兼容性: 至少要能做到向上兼容,即低档机上运行的软件可以在高档机上运行。,指令系统:指计算机所能执行的所有指令的集合,5,即指令字用二进制代码表示的结构形式 包括 操作码:操作的性质 地址码:操作数(operand)的存储位置,即参加操作的 数据的地址和结果数的地址,二 指令的格式,6,1.操作码 指令的操作码表示该指令应进行什么性质的操作。组成操作码字段的位数一般取决于计算机指令系统的规模。 固定长度操作码:便于译码,扩展性差. 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操作码最多表示2

4、n种操作,7,2地址码 根据一条指令中有几个操作数地址,可将该指令称为几操作数指令或几地址指令。目前二地址和一地址指令格式用得最多。 零地址指令:零地址指令的指令字中只有操作码,没有地址码。 如:NOP、 CLR指令 一地址指令:一地址指令常称单操作数指令,指令中仅给出一个操作数地址A,另一个操作数址和目的操作数地址均隐含(指定为累加器AC)。(AC) OP (A) AC 如:ADD R1 二地址指令:二地址指令常称双操作数指令,指令中给出两个地址码字段A1和A2,分别指明参与 操作的两个数在内存中或运算器通用寄存器的地址,其中地址A1兼作存放操作结果的地址。(A1) OP (A2) A1 如

5、:ADD R1, R2 三地址指:三地址指令字中有二个源操作数地址A1,A2和一个目的操作数地址A3。(A1) OP (A2) A3 如:ADD R1, R2, R3,8,在二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型: (SS)型指令-存储器存储器型指令,为访问存储器的指令格式; (RR)型指令-寄存器寄存器型指令,为访问寄存器的指令格式; (RS)型指令-寄存器存储器型指令,用于存储器与寄存器交换信息。,9,1.指令字长 机器字长-指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。 指令字长-指令字长度等于机器字长度的指令,称为单字长指令;指令字长度等于半个机

6、 器字长度的指令,称为半字长指令;指令字长度等于两个机器字长度的指令,称为双字长指令。 2多字长指令 使用多字长指令的目的,在于提供足够的地址位来解决访问内存任何单元的寻址问题。但是主要缺点是必须两次或多次访问内存以取出整条指令,这就降低了CPU的运算速度,同时又占用了更多的存储空间。 3指令字结构 等长指令字结构-在一个指令系统中,如果各种指令字长度是相等的,称为等长指令字结构。优点:指令字结构简单:取指快、译码简单。 变长指令字结构-如果在一个指令系统中,各种指令字长度随指令功能而异,就称为变长指令字结构。优点:指令字结构灵活,能充分利用指令长度;缺点:指令的控制较复杂。,三 指令字,10

7、,为便于书写和记忆而设定的,与机器指令一一对应; 不同的计算机采用的助记符是不一样的.,数据传递 mov,load,store 算术逻辑逻运算 add,sub,and,not,or,xor,dec,inc,cmp *移位操作 shl,shr,srl,srr *转移控制 jmp,bnz,beq,call,ret,int,iret I/O指令 in,out 系统指令 Halt,nop,wait,sti,cli,4.指令助记符,11,四 寻址方式,寻址方式-当采用地址指定方式时,形成操作数的地址或指令地址的方式,称为寻址方式。 分类:指令寻址方式 和 数据寻址方式 1.指令寻址: 顺序寻址方式-指令

8、逐条顺序执行,由PC+1PC控制; 跳跃寻址方式-程序执行转移指令,下条指令的地址不再是由PC给出,而是由本条指令给出。 2.操作数寻址 即形成操作数有效地址的方法 有效地址:操作数在内存中的物理地址 EA寻址方式形式地址,12,典型寻址方式 隐含寻址立即寻址直接寻址间接寻址寄存器寻址方式和寄存器间接寻址方式相对寻址基址寻址方式变址寻址方式块寻址方式段寻址方式 复合寻址方式,13,(1)隐含寻址 在指令中并不直接给出操作数的地址,而是隐含着操作数的地址。 例:ADD B ;另一个操作数的地址即隐含为累加器AC (2)立即寻址指令的地址字段指出的不是操作数的地址,而是操作数本身,这种寻址方式称为

9、立即寻址。优点:不需操作数地址寻址,速度快。例: ADD B,#3 ;#3为立即数 (3)直接寻址直接寻址是一种基本的寻址方式,其特点是:在指令格式的地址字段中直接指出操作数在内存的地址D,即有效地址等于形式地址。 E=D 例:INC 3A00H这是一条加1指令,指令有效地址E=3A00H,14,(4)间接寻址间接寻址是相对于直接寻址而言的,在间接寻址的情况下,指令地址字段中的形式地址D不是操作数的有效地址,而是操作数地址的指示器,即D单元的内容才是操作数的有效地址。 E=(D)优点:提供编程的灵活性;缺点:增加了访存时间,速度慢。 例: INC (3A00H)这是一条加1指令,指令有效地址E

10、=(3A00H)=4000H,15,(5)寄存器寻址方式和寄存器间接寻址方式寄存器寻址方式-当操作数不放在内存中,而是存放在CPU的通用寄存器中时,可采 用寄存器寻址方式。 优点:用寄存器暂存操作数,无需访存,速度快。 例:INC R1 这是一条加1指令,指令有效地址E = R1 寄存器间接寻址方式-指令中的寄存器内容不是操作数,而是操作数的地址,该地 址指明的操作数应在内存中。E=(Ri) 例:INC (R1) 这是一条加1指令,指令有效地址E=(R1)=3A00H,16,6)相对寻址把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。 E=(PC) D 优点:相对于当前

11、指令地址进行浮动。 例: INC PC+200H 这是一条加1指令,指令有效地址E=(PC)+200H=2200H,17,7)基址寻址方式将CPU中基址寄存器Bx的内容加上指令格式中的形式地址而形成操作数的有效地址。E=(Bx) D 如:INC Bx+300H 这是一条加1指令,指令有效地址E=(Bx)+300H=0380H (8) 变址寻址方式把CPU中某个变值寄存器Rx的内容与偏移量D相加来形成操作数的有效地址。 E=(Rx) D如:INC Rx+300H 这是一条加1指令,指令有效地址E=(Rx)+300H=0380H 变址寻址和基址寻址寻址方法十分类似,但用途不同: 变址寻址:主要便于

12、数组访问 基址寻址:可扩大寻址范围, 可实现程序浮动,18,(9) 块寻址方式实现数据块的传送。 指示数据块长度的方法: 指令中划出字段给出块长度; 指令中划出字段指出块的首地址、末地址; 由块结束字符指出数据块长度。 (10)复合寻址方式-多种寻址方式的组合 例1:相对、间址寻址方式 INC (PC+100H) 这是一条加1指令,指令有效地址:E=(PC)+100H)=2000H,19,10) *段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变

13、变址寄存 器的内容,以后在PDP-11中详讲.,20,3.堆栈寻址方式,(1)特征 堆栈是一种特殊的数据寻址方式,它对数据的存取方法采用“先进后出”原理。具体见P98 按结构不同可分为: 寄存器堆栈(串联堆栈) 存储器堆栈串行堆栈 是由CPU当中的一组专门的寄存器构成,采用下压式进栈方式。优点:速度快缺点: 堆栈大小有限 破坏性读出 串行堆栈存的容量有限,为了突破这种限制,使用了存储器堆栈,21,存储器堆栈 -由程序员设置一部分主存作为堆栈,并使用CPU中的一个特殊寄存器SP作为堆栈指示器,指示栈顶位置。 串联堆栈和存储器堆栈的操作方式不同,在串联堆栈中,移动的是数据,而在存储器堆栈中,移动的

14、是栈顶。 特点: 堆栈能根据程序员要求,设置任意长度; 可按程序员要求,在主存中建立多个堆栈; 可用访存指令来对堆栈中的数据进行寻址操作。 用途: 保留断点及现场; 利用堆栈传递参数。,22,(2) 堆栈工作过程(一)进栈操作 建立堆栈,由指令把栈顶地址送入SP,指针指向栈顶。 进栈:(A)Msp, (sp)-1SP ;Msp:存储器的栈顶单元 (二)出栈操作 (SP)+1SP, (Msp)A,23,一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,

15、srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等 (由于大家已学过汇编语言,因此指令系统这一小节请自学,参照书P114-140),五.指令类型,24,25,六.指令的编码(了解),1.固定长度编码法 即操作码固定长度,用N位表示某一种操作. 2.哈夫曼编码法 是一种操作码的优化编码,其编码原则:对出现频率较高的信息单元用较短的位数表示,对出现频

16、度较低的信息单元则用较长的位数表示. 具体见P110 3.扩展操作码法 由哈夫曼编码引申出来的一种编码,即对于出现概率较高的信息用较短的位数来表示,而对于较低的则用较长位数表示,26,7.PDP-11机指令系统,地址:存储器和寄存器均有统一编址 通用寄存器组:R0-R7 指令格式:单操作数和双操作数指令 具体见图示P117 寻指方式,操作码寻址方式寄存器,27,.寄存器直接寻址(0型寻址) 操作数写法:Rn 寻址方式字段为:000 .寄存嚣间接寻址(1型寻址) 操作数字段写法:Rn 寻址方式字段为:111,其余类推 .自增直接寻址(2型寻址) 指令中的Rn中的数据即为操作数,然后对该寄存器中内

17、容递增,操作数字段记作:(Rn)+,28,.自增间接寻址 (Rn)+ .自减直接寻址 -(Rn) 通用寄存器Rn的内容先递减,然后再作为操作数地址. .自减间接寻址 -(Rn) .直接变址寻址 X (Rn) 指令中指定的通用寄存器内容与本条指令下一单元内容相加,和为操作数地址. .间接变址寻址 X(Rn) 指令中指定的通用寄存器中内容与本条指令下一单元内容相加,和为操作数地址的地址.,29,.立即寻址方式n 本条指令的下一单元的内容为操作数 10.绝对间接寻址 #n 指令 中指定R7,且寻址字段为011时,则本指令下一单元内容为操作数地址. 11.相对寻址方式 A 指令中指定R7,且寻址字段为

18、110时,则本指令下一单元的内容与当时的PC值相加,和为操作数地址. 12.相对间接寻址 A 指令中指定R7,且寻址字段为111时,本条指令的下一单元的内容与当时的PC值相加,和作为操作数地址的地址.,30,内存编址方式,程序状态字 见书P124 指令系统介绍 .算术运算指令(注意其标志位) 加法:ADD SS,DD 例:ADD R1,R2 ADD #10,R3,31,减法:SUB SS,DD 例:SUB R1,R2 (R2)-(R1) R2 其余的见书. .逻辑运算指令 求反COMDD / COMB DD 比较 CMP SS,DD / CMPB SS,DD 加 BIS SS,DD / BISB SS,DD 乘 BIT SS,DD / BITB SS,DD 按位清 BIC SS,D

温馨提示

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

评论

0/150

提交评论