第四章 指令系统_第1页
第四章 指令系统_第2页
第四章 指令系统_第3页
第四章 指令系统_第4页
第四章 指令系统_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原任课教师:叶晓霞广东海洋大学信息学院计算机系

信计1091-1092E-mail:xiaoxia7761@4.1指令系统的发展和性能要求4.2指令格式4.3操作数类型4.4指令和数据的寻址方式4.5典型指令第4章指令系统一、基本概念

⒈指令:就是要计算机执行某种操作的命令。

⒉指令的分类:微指令、机器指令、宏指令4.1

指令系统的发展和性能要求微指令:微程序级的命令,它属于硬件。机器指令:介于微指令与宏指令之间,每条指令可以完成一个独立的算术运算或逻辑运算。宏指令

:由若干条机器指令组成的软件指令,它属于软件。⒊指令系统:指一台计算机中所有机器指令的集合,指令系统的性能决定了计算机的基本功能,指令的格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,据指令系统的不同可将计算机分为

CISC和RISC。CISC:指复杂指令系统计算机。其特点为:指令功能强,指令条数多,计算机硬件结构复杂和设计周期加长。RISC:指精简指令系统计算机。其特点为:指令系统中只包含使用频率很高的指令和一些必要的指令,指令功能简单。二、指令系统的性能要求完善的计算机的指令系统应具备:1、完备性:一台计算机中最基本的、必不可少的指令构成了指令系统的完备性。2、有效性:指利用该指令系统所提供的指令编制的程序能够产生高效率。即占用存储空间小、执行速度快。3、规整性:指令操作的对称性和匀齐性,指令格式与数据格式的一致性。(1)对称性:在指令系统中,所有寄存器和存储单元都可同等对待,这对简化程序设计,提高程序的可读性非常有用。(2)匀齐性:是指一种操作性质的指令可以支持各种数据类型。(3)一致性:指令长度与数据长度有一定关系,以方便存取处理。程序、指令、指令系统4、兼容性:兼容性一般是指计算机的体系结构设计基本相同,机器之间具有相同的基本结构、数据表示和共同的基本指令集合。必须做到“向上兼容”三、低级语言与硬件结构的关系机器语言是计算机唯一能够直接识别和执行的语言汇编语言是机器语言的助记符,与机器指令一一对应,依赖于计算机的硬件结构和指令系统。高级语言与计算机的硬件结构及指令系统无关。4.2

指令格式计算机的指令格式与机器的字长、存储器的容量及指令的功能密切相关。指令格式是用二进制代码表示的指令形式,由操作码字段和地址码字段组成操作码:表示指令进行什么性质的操作,它提供指令操作控制信息。(1)每条指令都要求它的操作码必须是独一无二的位组合。(2)指令系统中指令的个数N与操作码的位数n,必须满足关系式:

N≤2n–地址码:指定参与操作的操作数地址指令字长=操作码的位数+(操作数地址个数)*(操作数地址码位数)地址码字段AC操作码字段OC指令分类----按地址码的个数操作码A1A2A3操作码A1A2操作码A操作码三地址指令

二地址指令

单地址指令

零地址指令

这种指令有两种可能:(1)无需任何操作数。如空操作指令,停机指令等。(2)所需的操作数是默认的:堆栈。指令中只有一个地址码提供一个操作数,另一个操作数是隐含的。如加1、减1、乘除等单操作数指令。例如,双操作数加法指令:ADDR0,R1表示将R0寄存器的内容和R1寄存器的内容相加以后,将结果存入R1寄存器中。例如,ADDXYZ含义为(X)+(Y)Z即X单元内容加上Y单元内容,结果送Z单元中。

指令字长指令格式设计准则

1、指令字长要短,以得到时间和空间上的优势。

2、指令字长必须有足够的长度。

3、指令字长一般应是机器字长的整数倍以便存储系统的管理。机器字长通常与贮存单元的位数一致。

4、指令格式的设计还与如何选定指令中操作数地址的位数有关。例如,对同一容量(如64KB)的存储器(1)若取存储单元为一字节长,则需要16位地址码,(2)若存储单元长度为32位,则只需14位地址码。 方案(1)对字符操作方便,但地址码位数多 方案(2)地址码位数少,很有利,但字符操作困难,分辩率低。对于一个机器的指令系统,在指令字中操作码字段和地址码字段长度通常是固定的。称为等长指令字结构

在单片机中,由于指令字较短,为了充分利用指令字长度,指令字的操作码字段和地址码字段是不固定的。称为变长指令字结构指令字长与扩展方法扩展操作码

1、要点:(1)操作码位数随地址码个数变化采取可变长度的类型;(2)指令间指令码一定不重复;(3)根据需要灵活变通。2、比较 假设一台计算机指令字长16位,操作码与地址码都为4位,如图所示。AC1操作码OCAC3AC2指令字长与扩展方法(1)方法一:固定格式,则最多可以设计16条三地址指令(2)方法二:扩展操作码,具体方法如下:

A、4位OC中用0000-1110定义15条三地址指令,留编码1111作为扩展标志与下一个4位组成一个8位操作码,引出二地址指令,则:

B、(a)若将AC1全部用作2地址指令的OC,能再定义16条2地址指令; (b)8位OC中用11110000-11111110定义15条二地址指令,剩下的一个编码11111111与下一个4位组成一个12位的操作码,引出一地址指令;指令字长与扩展方法 (c)选11110000—11111101共14条2地址指令,留11111110,11111111为扩展标志,再与AC2组合,以此类推。

C、若选B(c),则可定义31条1地址指令,留一个编码111111111111为扩展标志,与下一个4位组成16位操作码,引出16条零地址指令;3、扩展操作码的另一个演变是用操作码中的某一位或几位来说明指令的格式与长度,或是说明操作数的特征。 例如:小型机PDP-11是用操作码最左边一位(最高位15位)来指明指令操作处理的数据字长度,当第15位=0,是字指令,操作数是16位长的字;当15位=1,是字节指令,操作数是8位长的字节。指令的分类-------按操作数的位置分存储器-存储器型(SS型)参与操作的数及其结果都放在内存里。寄存器-存储器型(RS型)一个操作数在寄存器,另一个在主存例如Intel80x86整数处理器结构寄存器-寄存器型(RR型)读取存储器操作数只有LOAD指令,存储存储器操作数只有STORE指令,算术运算ALU等操作均在寄存器之间进行。具有简单、定长的指令编码例如大多数RISC处理器Pentium指令格式Pentium机的指令字长度可变:从1字节到12字节,还可以带前缀非固定长度的指令格式是典型的CISC结构特征为了与它的前身80486保持兼容希望能给编译程序的编制以更多灵活的编程支持前缀操作码Mod-R/MSIB位移量立即数0~4B1~2B0~1B0~1B0~4B0~4B[例1]分析指令格式的特点单字长二地址指令操作码字段OP长度为7位,可指定128条指令源寄存器和目标寄存器都是通用寄存器(可分别指定16个)。两个操作数均在寄存器中,所以是寄存器-寄存器型(RR)指令这种指令结构常用于算术逻辑运算类指令1597430OP

--------源寄存器目标寄存器[例2]分析指令格式的特点双字长二地址指令,用于访问存储器操作码字段OP为6位,可以指定64种操作一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定),所以是寄存器-存储器型(RS)指令15107430OP

--------源寄存器变址寄存器位移量(16位)

4.3操作数类型地址数据数值数据字符数据逻辑数据CPU可直接访问的位置:寄存器、内存、外设端口4.3指令和数据的寻址方式某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址寻址方式:形成指令或操作数的内存地址的方式,或者说查找指令或数据的方式[寻址方式的类别]指令寻址方式:用于形成指令在内存中的地址数据(操作数)寻址方式:用于形成操作数在内存中的地址,一般也包括数据在寄存器的情况顺序寻址:指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行。跳跃寻址:是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。可以实现程序转移。指令的顺序寻址方式指令的跳跃寻址方式(程序的控制转移)4.3.2操作数寻址方式指令中操作数字段的地址码,是由形式地址(偏移量)和变址、间址等组合形成操作数的寻址:把操作数的形式地址,根据间址和变址等组合变换为操作数有效地址的过程形式地址D变址X

间址I

操作码OP

操作码字段操作数字段常用数据寻址方式隐含寻址:在指令中不明显地给出操作数的地址立即寻址:指令的地址字段指出的不是操作数的地址,而直接是操作数本身直接寻址:在指令格式的地址字段中,直接给出操作数在内存的地址寄存器寻址:指令中给出的操作数地址不是内存的地址单元号,而是通用寄存器的编号。即操作数不放在内存中,而是放在通用寄存器中(寄存器按名寻址)寄存器间接寻址:指令中指定的寄存器中的内容不是操作数,而是操作数的地址基址(寄存器相对)寻址:基址寄存器的内容加上指令中给定的形式地址(偏移量),形成操作数的有效地址例如,MOVAX,1234H;(AX)=1234H

立即寻址方式用来表示常数,它常用于给寄存器或内存单元赋初值。需要强调的是,立即寻址只能用于源操作数,不能用于目的操作数。例如,MOVAX,1234H;(AX)=1234H

立即寻址方式用来表示常数,它常用于给寄存器或内存单元赋初值。需要强调的是,立即寻址只能用于源操作数,不能用于目的操作数。直接寻址基址(寄存器相对)寻址相对基址加变址寻址方式与其它寻址方式之间的变形关系源操作数指令的变形源操作数的寻址方式只有一个偏移量MOVAX,[100H]直接寻址方式只有一个寄存器MOVAX,[BX]

或MOVAX,[SI]寄存器间接寻址方式有一个寄存器和偏移量MOVAX,[BX+100H]

或MOVAX,[SI+100H]寄存器相对寻址方式有二个寄存器MOVAX,[BX+SI]基址加变址寻址方式有二个寄存器和常数项MOVAX,[BX+SI+100H]相对基址变址寻址方式寻址方式总结立即(数)寻址存储器直接寻址间接寻址变址寻址基址寻址基址加变址寻址在指令中在寄存器中在主存中在I/O端口中直接寻址寄存器间接寻址寄存器寻址寄存器间接寻址存储器间接寻址堆栈寻址方式堆栈:一个“先进后出FILO”或“后进先出LIFO”存取的存储区域,只有一个数据出入口,即当前栈顶(不断变化)两种基本操作写入:数据压进堆栈PUSH读出:数据弹出堆栈操作POP存储器堆栈使用主存部分空间作为堆栈区域寄存器堆栈(串联堆栈)CPU内部以堆栈方式存取数据的一组寄存器Word1Word2Word3Word4Word5StackPUSHPOP4.5典型指令系统一个完整的指令系统,应包含:数据传送类指令、算术运算类指令、逻辑运算类指令、转移指令、字符串指令和系统控制类指令。4.5.3精简指令系统为了增强处理器的功能,强化指令系统:指令多、寻址方式复杂、格式变化,形成复杂指令集计算机CISC(ComplexInstructionSetComputer)研究标明,CISC中最常用、最简单、最基本的指令仅占指令

温馨提示

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

评论

0/150

提交评论