计算机组成原理课件第4章分解

PPT
  • 阅读 61 次
  • 下载 0 次
  • 页数 61 页
  • 大小 2.589 MB
  • 2022-12-01 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
计算机组成原理课件第4章分解
可在后台配置第一页与第二页中间广告代码
计算机组成原理课件第4章分解
可在后台配置第二页与第三页中间广告代码
计算机组成原理课件第4章分解
可在后台配置第三页与第四页中间广告代码
计算机组成原理课件第4章分解
计算机组成原理课件第4章分解
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 61
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】计算机组成原理课件第4章分解.ppt,共(61)页,2.589 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-76277.html

以下为本文档部分文字说明:

第四章指令系统主讲教师庄春兴上午7时12分2本章主要内容4.1指令系统的发展和性能要求4.2指令格式4.3指令和数据的寻址方式4.4堆栈寻址方式4.5典型指令上午7时12分3指令系统基本概念机器指令(指令)计算机能直接识别、

执行的某种操作命令。微指令:微程序级的命令,它属于硬件;宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。程序是解决某一实际问题的指令序列指令系统(指令集)一台计算机中所有机器指令的集合。

机器硬件设计的依据,也是软件设计的基础。硬件和软件间的界面,直接影响计算机系统性能上午7时12分4系列计算机指基本指令系统相同、基本体系结构相同的一系列计算机。IBM,PDP-11,VAX-11,ARM,Intel-x86,Pentium系列计算机主要是解决软件兼容的问题。新计算

机中必须包含老计算机的指令系统,保证软件向上兼容,保护用户投资。上午7时12分5RISC与CISCCISC(复杂指令系统计算机)ComplexInstructionSystemComputer指令数量多(多达几百条),指令功能,复杂的计算机。难以保证正确性,不易调试维护

,造成硬件资源浪费RISC(精简指令系统计算机)ReducedInstructionSystemComputer指令数量少,指令功能单一的计算机。上午7时12分64.1.2对指令系统性能的要求完备性:指令丰富,功能齐全,使用

方便。有效性:程序占空间小,执行速度快。规整性:对称性(所有寄存器、存储单元同等对待)、匀齐性(一种操作支持多种数据类型):指令格式和数据格式的一致性(指令长度和数据长度通常是字节的整数倍):兼容性:系列机软件向上兼容上午7时12分7高

级语言(如C,FORTRAN等)其语句和用法与具体机器的指令系统无关,易编程。不能用于编写直接访问机器硬件资源的系统软件或设备控制软件低级语言机器语言(二进制语言)汇编语言(符号语言)面向机器的语言,和具体机器的指

令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。必须借助汇编程序或编译程序,把符号语言或高级语言翻译成二进制码组成的机器语言。4.1.3低级语言与硬件结构的关系上午7时12分84.2指令格式表示一条指令的机器字,称为指令字,简

称指令。指令格式:用二进制代码表示指令的结构形式。操作码字段地址码字段上午7时12分94.2.1操作码(OP)操作码字段表征指令的操作特性与功能指令系统中每一条指令对应一个操作码操作码字段的位数取决于指令系统的规模n=2L定长指令、变长指令

(固定位数和可变位数)操作码字段地址码字段上午7时12分104.2.2地址码(AC)地址码通常指定参与操作的操作数的地址或操作数本身地址码包括被操作数,操作数,操作结果操作码A1A2A3操作码A1A2操作码A1操作码二地址格式三地址格式一地址格式零地址格式上午7时12分114.2.

2地址码(AC)(1)零地址指令两种情况:不需要操作数,如空操作指令NOP;隐含一个操作数位于累加器AC中。如十进制修正指令DAA。(2)一地址指令有两种情况:只需要一个操作数,如求反指令NOT;需要两个操作数,但

另一个操作数在累加寄存器AC中(AC)OP(A)->AC上午7时12分124.2.2地址码(AC)(3)二地址指令(A1)OP(A2)->A1(4)三地址指令(A1)OP(A2)->A3A1为被操作数地址,也称源操作数地

址;A2为操作数地址,也称终点操作数地址;A3为存放结果的地址。A1,A2,A3可以是内存中的单元地址,也可以是运算器中通用寄存器的地址。上午7时12分13按操作数的物理位置分类存储器-存储器(SS)型寄存器-寄存器(RR)型寄存器-存储器

(RS)型上午7时12分144.2.3指令字长度指令中包含二进制代码的位数机器字长计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度指令字长度与机器字的长度有关:单字长,双字长,半字长

。等长指令:结构简单,控制线路简单。变长指令:结构灵活,充分利用指令长度,控制复杂上午7时12分15指令字助记符典型指令指令助记符二进制操作码加法ADD001减法SUB010传送MOV011跳转JMP100转子JSR10

1存储STR110读数LDA111为了书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。表4.2指令助记符举例上午7时12分164.2.5指令格式举例1.八位微型计算机的指令格式8位微型机字长只有8位,指令结构是一种可变字长形式,包含单字长、双字长

、三字长指令等多种。操作码操作码A1A2操作码A1单字长指令双字长指令三字长指令上午7时12分174.2.5指令格式举例2.PDP/11系列机指令格式操作码字段是不固定,长度不相同。这样做可以扩展操作

码以包含较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化上午7时12分184.ARM指令格式上午7时12分194.2.5指令格式举例4.pentium指令格式pentium机的指令字长度是可变的:从1字节到12字节,还可以带前缀,指令格式如下所示。0或1

0或10或10或1(字节数)指令前缀段取代操作数长度取代地址长度取代1或20或10或10,1,2,40,1,2,4(字节数)操作码ModReg或操作码R/M比例S变址I基址B位移量立即数2位3位3位2位3位3位上午7时12分20指令格式分析[例1]

指令格式如下所示,其中OP为操作码,试分析指令格式的特点。15987430op源寄存器目标寄存器[解]:(1)单字长二地址指令。(2)操作码字段OP可以指定128条指令。(3)源寄存器和目标寄存器都是通用寄存器(可分别指定16

个),所以是RR型指令,两个操作数均在寄存器中。(4)这种指令结构常用于算术逻辑运算类指令。上午7时12分21指令格式分析[例2]指令格式如下所示,OP为操作码字段,试分析指令格式特点[解]:(1)双字长二地址指令,用于访问存储器。(2)操作码字段OP

为6位,可以指定64种操作。(3)一个操作数在源寄存器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。op源寄存器变址寄存器位移量(16位)15107430上午7时12分224.3指令和数据的寻址方式在存储器中,操作数或指令字写

入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。当采用地址指定方式时,寻找指令或操作数有效地址的方式指令寻址顺序寻址跳跃寻址操作数寻址上午7时12分231.顺序寻址方式(PC)+

1->PC程序的指令序列在主存顺序存放。程序执行时从第一条指令开始,逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式。为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,每执行一

条指令,PC加1,以指出下条指令的地址,直到程序结束。PC存放下一条指令的地址上午7时12分24跳跃寻址目标地址->PC当程序中出现分支或循环时,就会改变程序的执行顺序。此时对指令寻址就要采取跳跃寻址方式。所谓跳跃,就是指下条指令的地址不是通过程序计数器PC当前值获

得的,而是由指令本身给出。跳跃的处理方式是重新修改PC的内容。然后进入取指令阶段。上午7时12分25跳跃寻址过程IR100JMP103MOVAX,BXPC内存100101102103+1JMP103指令寄存器IRMOVAX,BX103上午7时12分264

.3.2操作数的寻址方式形成操作数有效地址的方法。例如,一种单地址指令的结构如下所示,其中用X,I,D各字段组成该指令的操作数地址。寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。实际有效地址为E,实际操作数SS=(E)OPXID操作

码变址位形式地址间址位上午7时12分27隐含寻址在指令中不明显的给出而是隐含着操作数的地址例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址。上午7时12分28立即寻址指令的地址字

段指出的不是操作数的地址,而是操作数本身这种方式的特点是指令执行时间很短,不需要访问内存取数例如:单地址的移位指令格式为OP(移位)FD这里D不是地址,而是一个操作数。F为标志位,当F=1,操作数进行右移;当F=0时,操作数进行左移。上午7时12

分29直接寻址特点是:在指令格式的地址字段中直接指出操作数在内存的地址D。采用直接寻址方式时,指令字中的形式地址D就是操作数的有效地址E,既E=D。因此通常把形式地址D又称为直接地址。此时,由寻址模式给予指示。

如果用S表示操作数,那么直接寻址的逻辑表达式为S=(E)=(D)直接寻址上午7时12分30间接寻址的情况下,指令地址字段中的形式地址D不是操作数的真正地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址如果把直接寻址和间接寻址结合起来,指令有如下形式:操作码ID寻址特征位I=0,表示直接

寻址,这时有效地址E=D;I=1,表示间接寻址,这时有效地址E=(D)。间接寻址上午7时12分31寄存器寻址方式和寄存器间接寻址方式寄存器寻址操作数在CPU的内部寄存器中.寄存器间接寻址指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址

指明的操作数在内存中上午7时12分32相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。此时形式地址D通常称为

偏移量,其值可正可负,相对于当前指令地址进行浮动。相对寻址方式上午7时12分33基址寻址方式是将CPU中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址。优点是可以扩大寻址能力。基址寻址方式上午7时12分34变址寻址方式变址寻址方

式与基址寻址方式计算有效地址的方法很相似,它把CPU中某个变址寄存器的内容与偏移量D相加来形成操作数有效地址。但使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律性变化。块寻址方式块寻址方式经常用在输入输出指令中,以实现外存储器或外围设备同内存之间的数据块传送。块寻址方

式在内存中还可用于数据块搬家。块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。如果数据块是变长的,可用三种方法指出它的长度:(1)指令中划出字段指出长度;(2)指令格式中指出数据块的首地址与末地址;(3)由块结束字

符指出数据块长度。操作码首地址标志位末地址上午7时12分35段寻址Intel8086/8088微机中,ALU16位运算,但其寻址范围可到1M,即地址有20位。实质是基值寻址。4位16位逻辑地址16位段寄存器20位物理地址ALU上午7时12分36[例3

]一种二地址RS型指令的结构如下所示:6位4位1位2位16位其中I为间接寻址标志位,X为寻址模式字段,D位偏移量字段。通过I,X,D的组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。[解]:⑴直接寻址⑵相对寻址⑶变址寻址⑷寄存器间接寻址⑸间接寻址⑹基址寻址OPIX偏移量

D上午7时12分37例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指主存中的一个单元。三种指令的操作码分别是MOV为0AH,STA为1BH,LDA为3

CH。(1)分析三种指令的指令格式与寻址方式特点。(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不

正确,如何改正才能成为合法指令?LDAD,M上午7时12分38例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器,指令汇编格式中的S和D都是指通用寄存器,M指

主存中的一个单元。三种指令的操作码分别是MOV为0AH,STA为1BH,LDA为3CH。说明:MOV是传送指令,STA为写数指令,LDA为读数指令。(1)分析三种指令的指令格式与寻址方式特点。该指令是单字长二地址指令,是RR型,源寄存器S由0~3位指定,目标寄存器

D由4~7位指定。该指令是双字长二地址指令,是RS型,源寄存器S由4~7位指定,存储器M由采用0~3位指定的变址寄存器加位移量的变址方式得到或者由8~9位指定的基址寄存器加位移量的基址寻址得到。上午7时12分39LDAD,M该指令是双字长二地址指令,R

S型,其中目标寄存器D由4~7位指定,存储器由指令中给出的20位地址由直接内存寻址决定。(2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?CPU完成第一种指令所花时间最短,因为

是RR型指令,不需要访问存储器CPU完成第二种指令所花时间最长,因为是RS型指令需要访问存储器,同时要进行寻址方式的变换运算,基址寄存器的内容加位移量或变址寄存器内容加位移量,这也需要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令也访问存

储器,但节省了求有效地址运算的时间开销。上午7时12分40(3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?①F0F13CD2H根据已知条件:MOV(OP)=0AH=00101

0STA(OP)=1BH=011011LDA(OP)=3CH=1111001111000011110001001111001101001011110000111100010011110011010010②2856H00101000010101

10编码正确,其含义是把主存(13CD2)H地址单元的内容取至15号寄存器。0010100001010110编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。③6FD6H01101111110101100110111111010110编码错误,可改正为

28D6H上午7时12分4120050011002001005008001002002100OPXD=100PC=1000R基=2000寻址方式X操作数立即0100直接1200间接2500相对3100变址4200变址间址5500有效

地址ES=DE=D=100E=(D)=200E=PC+D=1100E=(R)+D=2100E=((R)+D)=200例:设某机的指令格式、有关寄存器和主存内容如下,X为寻址方式,D为形式地址,请在下表中填入有效地址E及操作数的值。?上午7时12分424

.4堆栈寻址方式堆栈------一组能存取数据的暂时存储单元。存储器一般采用随机存储方法,而堆栈采用先进后出的存储方法串联堆栈一组专门的寄存器,一个R保存一个数据。数据的传送在栈顶和通用寄存器之间进行。快速:在CPU内部实现串行:进栈和出栈涉及到栈内所

有其它数据的移动;破坏性读出:读数据的同时也离开了堆栈;栈容量有限:取决于CPU内堆栈专用寄存器的数量;栈顶不动,数据移动。上午7时12分43堆栈寻址方式AABBACCBACBA堆栈顶PUSHA

PUSHBPUSHCPOPC通用寄存器上午7时12分44存储器堆栈用一部分主存空间作堆栈称为存储器堆栈堆栈的数目、长度可随意指定SP---堆栈指示器(栈指针),CPU中一个专门寄存器,SP内容是栈顶单元地址。改变SP内容即可移动栈顶的位置。堆栈操作期间,堆栈中数据不

动,栈顶移动非破坏性读出上午7时12分45进栈进栈--------累加器中的数送堆栈保存.(AC)→堆栈MSP堆栈指针(sp)-1→spaPUSHaPUSHb100999897SPabbAC上午7时12分46出栈出栈--------将堆栈中的数取出送累加器堆栈指针(sp

)+1→sp(堆栈MSP)→AC100999897SPabbACa上午7时12分471)存储器堆栈是一个由高地址向低地址延伸的空间。2)存储器堆栈的栈顶由堆栈指针SP指示,如果用[A]表示通用寄存器A的内容,SP表示堆栈

指示器,Msp表示堆栈指示的存储器栈顶单元,入栈操作和出栈操作可以表示为:入栈:[A]→Msp,[SP]-1→SP出栈:[SP]+1→SP,[Msp]→A-存储器堆栈的优点:1)堆栈能够具有程序员要求的任意长度;2)存储器堆栈的数目由程序员自己决定;3)可以用对

存储器寻址的任何一条指令来对堆栈中的数据进行寻址。存储器堆栈的特点上午7时12分48数据传送指令取数指令存数指令传送指令算术运算指令定点+,-,×,÷浮点+,-,×,÷求反,求补,比较等4.5典型指令成组

传送指令字节交换指令清累加器指令堆栈操作指令上午7时12分49逻辑运算指令NOT,AND,OR,XOR,TEST程序控制指令无条件转移条件转移(C,Z,N,P,V)转子程序子程序返回RET中断返回IRET输入输出指令

INAX,nOUTn,A4.5典型指令上午7时12分50字符串处理字符串传送、转换、比较、查找特权指令:系统资源的分配和管理其他类状态寄存器置位、复位指令(如CLC,STC,CLI,STI)测试指令、暂停指令,空操作指令4.5典型指令上午

7时12分51指令系统发展方向CISC---复杂指令系统计算机ComplexInstructionSystemComputer指令数量多,指令功能,复杂的计算机。RISC---精简指令系统计算机ReducedInstructionSystemC

omputer指令数量少,指令功能单一的计算机。上午7时12分52精减指令系统(RISC)选取使用频率最高的一些简单指令,指令条数少;寻址方式简单指令长度固定,指令格式简单CPU设置大量寄存器只有存/取数指令才能访问存储器,其余指令的操作都在寄存器

之间进行.每一个机器周期完成一条机器指令。上午7时12分53CISC与RISC的比较特征CISCRISCIBM370/168VAX11/780Intel80486SPARCMIPSR4000开发年份19731978198919871

991指令数量/条2083032356994指令长度/B2~62~51~1144寻址方式4221122通用寄存器数/个1616840~52032控制存储器大小/Kb420480246--Cache大小/KB6464

832128上午7时12分54典型RISC机指令系统机器型号指令数寻址方式指令格式通用寄存器数RISC-I312278RISC-II3922138MIPS553416SPARC7543120-136MIPSR3000913332i860653432上午7时12分554.6ARM汇编语言汇编

语言是计算机机器语言(二进制指令代码)进行符号化的一种表示方法,每一个基本汇编语句对应一条机器指令。表4.11列出了嵌入式处理机ARM的汇编语言。其中操作数使用16个寄存器(r0,r1~r12,sp,Ir,pc),230个存储字

(字节编址,连续的字的地址间相差4)。上午7时12分56上午7时12分57上午7时12分58[例5]将ARM汇编语言翻译成机器语言。已知5条ARM指令格式译码如下表所示:设r3寄存器中保存数组A的基址,h放在寄存器r2中。C语言程序语

句A[30]=h+A[30]可编译成如下3条汇编语言指令:LDRr5,[r3,#120];寄存器r5中获得A[30]ADDr5,r2,r5;寄存器r5中获得h+A[30]STRr5,[r3,#120];将h+A[30]存入到A[30]请问这3条汇编语言指令的机器语言是

什么?上午7时12分59解LDRr5,[r3,#120];寄存器r5中获得A[30]ADDr5,r2,r5,;寄存器r5中获得h+A[30]STRr5,[r3,#120];将h+A[30]存入到A[30]上午7时12分604.6ARM汇编语言在进行汇编语言程序设计时,

可直接使用英文单词或其缩写表示指令,使用标识表示数据或地址,从而有效地避免了记忆二进制的指令代码。不用由程序设计人员对指令和数据分配内存地址,直接调用操作系统的某些程序段完成输入输出。用编辑程序建立好的汇编

语言源程序,需要经过系统软件中的“汇编器”翻译为机器语言程序之后,才能交付给计算机硬件系统去执行。上午7时12分61本章重点内容指令系统基本概念指令基本格式指令系统寻址方式

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?