计算机组成原理课件第4章借鉴教学

上传人:壹****1 文档编号:570181136 上传时间:2024-08-02 格式:PPT 页数:61 大小:2.87MB
返回 下载 相关 举报
计算机组成原理课件第4章借鉴教学_第1页
第1页 / 共61页
计算机组成原理课件第4章借鉴教学_第2页
第2页 / 共61页
计算机组成原理课件第4章借鉴教学_第3页
第3页 / 共61页
计算机组成原理课件第4章借鉴教学_第4页
第4页 / 共61页
计算机组成原理课件第4章借鉴教学_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《计算机组成原理课件第4章借鉴教学》由会员分享,可在线阅读,更多相关《计算机组成原理课件第4章借鉴教学(61页珍藏版)》请在金锄头文库上搜索。

1、第四章第四章指令系统指令系统主讲教师 庄春兴1技术教育本章主要内容本章主要内容4.1指令系统的发展和性能要求指令系统的发展和性能要求4.2指令格式指令格式4.3指令和数据的寻址方式指令和数据的寻址方式4.4堆栈寻址方式堆栈寻址方式4.5典型指令典型指令2技术教育指令系统基本概念指令系统基本概念p机器指令(指令)机器指令(指令)n计算机能直接识别、执行的某种操作命令。n微指令:微程序级的命令,它属于硬件;n宏指令:由若干条机器指令组成的软件指令,它属于软件;n机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。p程序程序n是解决某一实际问题的指令序列p指令系统(

2、指令集)指令系统(指令集)n 一台计算机中所有机器指令的集合。n机器硬件设计的依据,也是软件设计的基础。n硬件和软件间的界面,直接影响计算机系统性能3技术教育系列计算机系列计算机p指基本指令系统相同、基本体系结构相同的一系列计算机。pIBM,PDP-11,VAX-11,ARM,Intel-x86, Pentiump系列计算机主要是解决软件兼容的问题。新计算机中必须包含老计算机的指令系统,保证软件向上兼容,保护用户投资。4技术教育RISC与与CISCpCISC(复杂指令系统计算机复杂指令系统计算机)nComplex Instruction System Computern指令数量多(多达几百条)

3、,指令功能,复杂的计算机。n难以保证正确性,不易调试维护,造成硬件资源浪费pRISC(精简指令系统计算机精简指令系统计算机)nReduced Instruction System Computern指令数量少,指令功能单一的计算机。5技术教育4.1.2对指令系统性能的要求对指令系统性能的要求p完备性:指令丰富,功能齐全,使用方便。p有效性:程序占空间小,执行速度快。p规整性:n对称性(所有寄存器、存储单元同等对待)、匀齐性(一种操作支持多种数据类型):n指令格式和数据格式的一 致性(指令长度和数据长度通常是字节的整数倍):p兼容性:系列机软件向上兼容6技术教育p高级语言(如高级语言(如C,FO

4、RTRAN等)等)n其语句和用法与具体机器的指令系统无关,易编程。n不能用于编写直接访问机器硬件资源的系统软件或设备控制软件不能用于编写直接访问机器硬件资源的系统软件或设备控制软件p低级语言低级语言n机器语言(二进制语言)n汇编语言(符号语言)n面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。p必须借助必须借助汇编程序汇编程序或或编译程序编译程序,把符号语言或高级语言翻译成二进制,把符号语言或高级语言翻译成二进制码组成的码组成的机器语言机器语言。4.1.3低级语言与硬件结构的关系低级语言与硬件结构的关系7技术教育4.2 指令格式指令格

5、式p表示一条指令的机器字,称为指令字指令字,简称指令。p指令格式:用二进制代码表示指令的结构形式。操作码字段地址码字段8技术教育4.2.1操作码操作码(OP)p操作码字段表征指令的操作特性与功能p指令系统中每一条指令对应一个操作码p操作码字段的位数取决于指令系统的规模nn=2L p定长指令、变长指令(固定位数和可变位数)操作码字段地址码字段9技术教育4.2.2地址码地址码(AC)p地址码通常指定参与操作的地址码通常指定参与操作的操作数的地址操作数的地址或或操作数本身操作数本身p地址码包括地址码包括被操作数,操作数,操作结果被操作数,操作数,操作结果 操作码 1 2 3操作码 1 2操作码 1

6、操作码 二地址格式三地址格式一地址格式零地址格式10技术教育4.2.2地址码地址码(AC)(1)零地址指令两种情况:n不需要操作数,如空操作指令NOP;n隐含一个操作数位于累加器AC中。如十进制修正指令DAA。(2)一地址指令有两种情况:n只需要一个操作数,如求反指令NOT;n需要两个操作数,但另一个操作数在累加寄存器AC中(AC)OP(A)-AC11技术教育4.2.2地址码地址码(AC)(3)二地址指令(A1)OP(A2)-A1(4)三地址指令(A1)OP(A2)-A3nA1为被操作数地址,也称源操作数地址; nA2为操作数地址,也称终点操作数地址; nA3为存放结果的地址。 nA1,A2,

7、A3可以是内存中的单元地址,也可以是运算器中通用寄存器的地址。 12技术教育按操作数的物理位置分类按操作数的物理位置分类pp存储器存储器(存储器存储器(SSSS)型)型pp寄存器寄存器(寄存器寄存器(RRRR)型)型pp寄存器存储器(寄存器存储器(RSRS)型)型 13技术教育4.2.3指令字长度指令字长度p指令中包含二进制代码的位数p机器字长机器字长n计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度p指令字长度指令字长度与机器字的长度有关: n 单字长,双字长,半字长。p等长指令: 结构简单,控制线路简单。p变长指令: 结构灵活,充分利用指令长度,控制复杂14技术教育指令字助记符

8、指令字助记符典典型型指指令令 指令助记符指令助记符 二进制操作码二进制操作码 加法加法 ADD 001减法减法 SUB 010传送传送 MOV 011跳转跳转 JMP 100转子转子 JSR 101存储存储 STR 110读数读数 LDA 111 为了为了书写和阅读程序,每条指令通常用书写和阅读程序,每条指令通常用3个或个或4个英文个英文缩写字母来表示。缩写字母来表示。表表4.2指令助记符指令助记符举例举例15技术教育4.2.5 指令格式举例指令格式举例1.八位微型计算机的指令格式八位微型计算机的指令格式8位微型机字长只有位微型机字长只有8位,指令结构是一种可变字长形式,位,指令结构是一种可变

9、字长形式,包含单字长、双字长、三字长指令等多种。包含单字长、双字长、三字长指令等多种。操作码 操作码 1 2操作码 1 单字长指令双字长指令三字长指令16技术教育4.2.5 指令格式举例指令格式举例2.PDP/11系列机指令格式系列机指令格式操作码字段是操作码字段是不固定不固定,长度不相同长度不相同。这样做可以扩展操作码以包含较多的指令。但。这样做可以扩展操作码以包含较多的指令。但是操作码字段不固定,对控制器的设计来说必将复杂化是操作码字段不固定,对控制器的设计来说必将复杂化17技术教育4. ARM指令格式指令格式18技术教育4.2.5 指令格式举例指令格式举例4.pentium指令格式指令格

10、式pentium机的指令字长度是可变的:从字节到机的指令字长度是可变的:从字节到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位位19技术教育指令格式指令格式分析分析例例1指令格式如下所示,其中指令格式如下所示,其中OP为操作码,试分

11、析指令为操作码,试分析指令格式的特点。格式的特点。15 9 8 7 4 3 0 op源寄存器源寄存器目标寄存器目标寄存器解:(1)单字长二地址指令。(2)操作码字段OP可以指定128条指令。(3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个),所以是RR型指令,两个操作数均在寄存器中。(4)这种指令结构常用于算术逻辑运算类指令。20技术教育指令格式指令格式分析分析例例2指令格式如下所示,指令格式如下所示,OP为操作码字段,试分析指令格式特点为操作码字段,试分析指令格式特点解:(1)双字长二地址指令,用于访问存储器。(2)操作码字段OP为6位,可以指定64种操作。(3)一个操作数在源寄存

12、器(共16个),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。 op源寄存器源寄存器变址寄存器变址寄存器 位移量(位移量(16位)位)1510743021技术教育4.3指令和数据的寻址方式指令和数据的寻址方式p在在存存储储器器中中,操操作作数数或或指指令令字字写写入入或或读读出出的的方方式式,有有地址指定方式地址指定方式、相联存储方式相联存储方式和和堆栈存取方式。堆栈存取方式。p当当采采用用地地址址指指定定方方式式时时,寻寻找找指指令令或或操操作作数数有有效效地地址的方式址的方式n指令寻址指令寻址F顺序寻址顺序寻址F跳跃寻址跳跃寻址n操作数寻址操作数寻址22技术教育1.顺

13、序寻址方式顺序寻址方式(PCPC)1 1PCPCp程序的指令序列在主存顺序存放。程序执行时从第一条指令开始,逐条取出并逐条执行,这种程序的顺序执行过程,称为顺序寻址方式。p为了达到顺序寻址的目的,CPU中必须有一个程序计数器(PC)对指令的顺序号进行计数。PC中开始时存放程序的首地址,每执行一条指令,PC 加1,以指出下条指令的地址,直到程序结束。pPC存放下一条指令的地址23技术教育跳跃寻址跳跃寻址目标地址目标地址目标地址目标地址PCPCp当程序中出现分支或循环时,就会改变程序的执行顺序。此时对指令寻址就要采取跳跃寻址方式。p所谓跳跃,就是指下条指令的地址不是通过程序计数器PC当前值获得的,

14、而是由指令本身给出。p跳跃的处理方式是重新修改PC的内容。然后进入取指令阶段。24技术教育跳跃寻址过程跳跃寻址过程IR100JMP103MOVAX,BXPCPC内存内存100100 101 101 102102 103 103 +1 +1JMP103指令寄存器指令寄存器IRIRMOVAX,BX10325技术教育4.3.2 操作数的寻址方式操作数的寻址方式p形成操作数有效地址的方法。n例如,一种单地址指令的结构如下所示,其中用X,I,D各字段组成该指令的操作数地址。n寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。n实际有效地址为E, 实际操作数Sn S= (E) OPXID操作码

15、操作码变址位变址位形式地址形式地址间址位间址位26技术教育隐含寻址隐含寻址p在在指令中不明显的给出而是隐含着操作数的地址指令中不明显的给出而是隐含着操作数的地址p例如,单地址的指令格式,没有在地址字段中指明例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器第二操作数地址,而是规定累加寄存器AC作为第作为第二操作数地址,二操作数地址,AC对单地址指令格式来说是隐含对单地址指令格式来说是隐含地址。地址。27技术教育立即寻址立即寻址p指令的地址字段指出的不是操作数的地址,而是操作数本身指令的地址字段指出的不是操作数的地址,而是操作数本身p这种方式的特点是指令执行时间很短,

16、不需要访问内存取数这种方式的特点是指令执行时间很短,不需要访问内存取数例如:单地址的移位指令格式为例如:单地址的移位指令格式为OP(移位移位)FD这里这里D不是地址,而是一个操作数。不是地址,而是一个操作数。F为标志为标志位,当位,当F1,操作数进行右移;当,操作数进行右移;当F0时,操作时,操作数进行左移。数进行左移。28技术教育直接寻址特点是:直接寻址特点是:在指令格式的地址字段中直接指出操作数在内在指令格式的地址字段中直接指出操作数在内存的地址存的地址D。采用直接寻址方式时,指令字中的形式地址采用直接寻址方式时,指令字中的形式地址D就是操作数的就是操作数的有效地址有效地址E,既,既ED。

17、因此通常把形式地址。因此通常把形式地址D又称为直接地址。又称为直接地址。此时,由寻址模式给予指示。此时,由寻址模式给予指示。如果用如果用S表示操作数,那么直接寻表示操作数,那么直接寻址的逻辑表达式为址的逻辑表达式为S(E)()(D)直接寻址直接寻址29技术教育间接寻址的情况下,间接寻址的情况下,指令地址字段中的形式地址指令地址字段中的形式地址D不是操作数的真正不是操作数的真正地址,而是操作数地址的指示器,地址,而是操作数地址的指示器,D单元的内容才是操作数的有效地址单元的内容才是操作数的有效地址如果把直接寻址和间接寻址结合起来,指令有如下形式:如果把直接寻址和间接寻址结合起来,指令有如下形式:

18、操作码操作码ID 寻址特征位寻址特征位I0,表示直接寻址,这时有效地址,表示直接寻址,这时有效地址ED; I1,表示间接寻址,这时有效地址,表示间接寻址,这时有效地址E(D)。间接寻址间接寻址30技术教育寄存器寻址方式和寄存器间接寻址方式寄存器寻址方式和寄存器间接寻址方式p寄存器寻址n操作数在CPU的内部寄存器中.p寄存器间接寻址n指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中31技术教育相对寻址是相对寻址是把程序计数器把程序计数器PC的内容加上指令格式中的形式地址的内容加上指令格式中的形式地址D而形成操作数的有效地址而形成操作数的有效地址。采用相对寻址方式的好

19、处是程序员无须用指令的绝对地址编程,采用相对寻址方式的好处是程序员无须用指令的绝对地址编程,所编程序可以放在内存任何地方。所编程序可以放在内存任何地方。此时形式地址此时形式地址D通常称为通常称为偏移量偏移量,其值,其值可正可负可正可负,相对于当前,相对于当前指令地址进行浮动。指令地址进行浮动。相对寻址方式相对寻址方式32技术教育基址寻址方式是基址寻址方式是将将CPU中基址寄存器的内容加上指令格中基址寄存器的内容加上指令格式中的形式地址而形成操作数的有效地址式中的形式地址而形成操作数的有效地址。优点是可以扩大寻址能力。优点是可以扩大寻址能力。基址寻址方式基址寻址方式33技术教育变址寻址方式变址寻

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

21、址方式在内存中还可用于数据块搬家。块搬家。块寻址时,通常在指令中指出数据块的起始地址(首地址)块寻址时,通常在指令中指出数据块的起始地址(首地址)和数据块的长度(字数或字节数)。和数据块的长度(字数或字节数)。如果数据块是变长的,可用三种方法指出它的长度:如果数据块是变长的,可用三种方法指出它的长度:(1)指令中划出字段指出长度;指令中划出字段指出长度;(2)指令格式中指出数据块的首地址与末地址;指令格式中指出数据块的首地址与末地址;(3)由块结束字符指出数据块长度。由块结束字符指出数据块长度。操作码操作码首地址首地址标志位标志位末地址末地址34技术教育段寻址段寻址pIntel 8086/80

22、88微机中,ALU16位运算,但其寻址范围可到1M,即地址有20位。p实质是基值寻址。4位16位逻辑地址16位段寄存器20位物理地址ALU35技术教育例例3一种二地址一种二地址RS型指令的结构如下所示:型指令的结构如下所示:6位位4位位1位位2位位16位位其中其中I为间接寻址标志位,为间接寻址标志位,X为寻址模式字段,为寻址模式字段,D位偏移量字段。通过位偏移量字段。通过I,X,D的的组合,可构成下表所示的寻址方式。组合,可构成下表所示的寻址方式。请写出六种寻址方式的名称。请写出六种寻址方式的名称。解解:直接寻址直接寻址相对寻址相对寻址变址寻址变址寻址寄存器间接寻址寄存器间接寻址间接寻址间接寻

23、址基址寻址基址寻址OPIX偏移量偏移量D36技术教育例:某例:某1616位机器所使用的指令格式和寻址方式如下所示,该机有两个位机器所使用的指令格式和寻址方式如下所示,该机有两个2020位位基址寄存器,四个基址寄存器,四个1616位变址寄存器,十六个位变址寄存器,十六个1616位通用寄存器,指令汇编格位通用寄存器,指令汇编格式中的式中的S S和和D D都是指通用寄存器,都是指通用寄存器,M M指主存中的一个单元。三种指令的操作码指主存中的一个单元。三种指令的操作码分别是分别是MOVMOV为为0AH 0AH ,STASTA为为1BH 1BH ,LDALDA为为3CH3CH。(1)分析三种指令的指令

24、格式与寻址方式特点)分析三种指令的指令格式与寻址方式特点。(2 2)CPUCPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?指令的执行时间有时会等于第三种指令的执行时间吗?(3 3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?不正确,如何改正才能成为合法指令? LDA D LDA D,M M37技术教育例:某例:某1616位机器所使用的指令格式和寻址方式如下所示,该

25、机有两个位机器所使用的指令格式和寻址方式如下所示,该机有两个2020位位基址寄存器,四个基址寄存器,四个1616位变址寄存器,十六个位变址寄存器,十六个1616位通用寄存器,指令汇编格位通用寄存器,指令汇编格式中的式中的S S和和D D都是指通用寄存器,都是指通用寄存器,M M指主存中的一个单元。三种指令的操作码指主存中的一个单元。三种指令的操作码分别是分别是MOVMOV为为0AH 0AH ,STASTA为为1BH 1BH ,LDALDA为为3CH3CH。说明:说明:MOVMOV是传送指令,是传送指令,STASTA为写数指令,为写数指令,LDALDA为读数指令。为读数指令。(1)分析三种指令的

26、指令格式与寻址方式特点)分析三种指令的指令格式与寻址方式特点。该指令是单字长二地址指令,是该指令是单字长二地址指令,是RRRR型,源寄存器型,源寄存器S S由由0 03 3位指定,目标寄存位指定,目标寄存器器D D由由4 47 7位指定位指定。该指令是双字长二地址指令,是该指令是双字长二地址指令,是RSRS型,源寄存器型,源寄存器S S由由4 47 7位指定位指定,存储器存储器M M由采用由采用0 03 3位指定的变址寄存器加位移量的位指定的变址寄存器加位移量的变址方式变址方式得到或者由得到或者由89位指定位指定的基址寄存器加位移量的的基址寄存器加位移量的基址寻址基址寻址得到。得到。38技术教

27、育LDA DLDA D,M M该指令是双字长二地址指令,该指令是双字长二地址指令,RS型,其中目标寄存器型,其中目标寄存器D D由由4 47 7位指定,存储位指定,存储器由指令中给出的器由指令中给出的2020位地址由直接内存寻址决定位地址由直接内存寻址决定。(2 2)CPUCPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?指令的执行时间有时会等于第三种指令的执行时间吗?nCPUCPU完成第一种指令所花时间最短,因为是完成第一种指令所花时间最短,因为是RRRR型指令,不需要访问

28、存储器型指令,不需要访问存储器nCPUCPU完成第二种指令所花时间最长,因为是完成第二种指令所花时间最长,因为是RSRS型指令需要访问存储器,同型指令需要访问存储器,同时要进行寻址方式的变换运算,基址寄存器的内容加位移量或变址寄存器内时要进行寻址方式的变换运算,基址寄存器的内容加位移量或变址寄存器内容加位移量,这也需要时间。容加位移量,这也需要时间。n 第二种指令的执行时间不会等于第三种指令,因为第三种指令也访问存第二种指令的执行时间不会等于第三种指令,因为第三种指令也访问存储器,但节省了求有效地址运算的时间开销。储器,但节省了求有效地址运算的时间开销。39技术教育(3 3)下列情况下每个十六

29、进制指令字分别代表什么操作?其中如果有编码)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?不正确,如何改正才能成为合法指令? F0F13CD2H F0F13CD2H根据已知条件:根据已知条件: MOVMOV(OPOP)0AH0AH00 101000 1010 STA STA(OPOP)1BH1BH01 101101 1011 LDA LDA(OPOP)3CH3CH11 110011 11001111 0000 1111 0001 0011 1100 1101 00101111 0000 1111 0001 0011 1100 1101 00101

30、11100 111100 0000 11111111 0001 0011 1100 1101 00100001 0011 1100 1101 00102856H2856H0010 1000 0101 01100010 1000 0101 0110编码正确,其含义是把主存编码正确,其含义是把主存(13CD2)H地址单元的内容取至地址单元的内容取至15号寄存器号寄存器。001010001010 0000 0101 0101 01100110编码正确,含义是把编码正确,含义是把6号源寄存器的内容传送至号源寄存器的内容传送至5号目标寄存器。号目标寄存器。 6FD6H 6FD6H0110 1111 11

31、01 01100110 1111 1101 0110011011011011 1111 1101 1101 01100110编码错误,可改正为编码错误,可改正为28D6H28D6H40技术教育20050011002001005008001002002100OPXD=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例:例:设某机的指令格式、有关寄存器和

32、主存内容如下,设某机的指令格式、有关寄存器和主存内容如下,X为寻址方式,为寻址方式,D为形式地址,请在下表中填入有效地址为形式地址,请在下表中填入有效地址E及操作数的值及操作数的值。?41技术教育4.4堆栈寻址方式堆栈寻址方式p堆栈堆栈-一组能存取数据的暂时存储单元。一组能存取数据的暂时存储单元。n存储器一般采用存储器一般采用随机存储方法随机存储方法,而堆栈采用,而堆栈采用先进后出先进后出的存储方法的存储方法p串联堆栈串联堆栈n一组专门的寄存器,一个一组专门的寄存器,一个R保存一个数据。保存一个数据。n数据的传送在栈顶和通用寄存器之间进行。数据的传送在栈顶和通用寄存器之间进行。n快速:在快速:

33、在CPU内部实现内部实现n串行:进栈和出栈涉及到栈内所有其它数据的移动;串行:进栈和出栈涉及到栈内所有其它数据的移动;n破坏性读出:读数据的同时也离开了堆栈;破坏性读出:读数据的同时也离开了堆栈;n栈容量有限:取决于栈容量有限:取决于CPU内堆栈专用寄存器的数量;内堆栈专用寄存器的数量;n栈顶不动,数据移动。栈顶不动,数据移动。42技术教育堆栈寻址方式堆栈寻址方式AA ABB BA ACC CB BA ACB BA A堆栈顶堆栈顶 PUSH A PUSH A PUSH B PUSH B PUSH C PUSH C POP C POP C通用寄存器通用寄存器43技术教育存储器堆栈存储器堆栈p用一

34、部分主存空间作堆栈称为用一部分主存空间作堆栈称为存储器堆栈存储器堆栈n堆栈的数目、长度可随意指定堆栈的数目、长度可随意指定nSP-堆栈指示器堆栈指示器(栈指针栈指针),CPU中一个专门寄存器,中一个专门寄存器,SP内容是栈顶单元地址。改变内容是栈顶单元地址。改变SP内容即可移动栈内容即可移动栈顶的位置。顶的位置。n堆栈操作期间,堆栈中数据不动,栈顶移动堆栈操作期间,堆栈中数据不动,栈顶移动n非破坏性读出非破坏性读出44技术教育进栈进栈p进栈-累加器中的数送堆栈保存.p(AC) 堆栈MSP 堆栈指针(sp) 1 spaPUSH aPUSH aPUSH bPUSH b100999897SPabbA

35、CAC45技术教育出栈出栈p出栈-将堆栈中的数取出送累加器p堆栈指针(sp) 1 sp (堆栈MSP) AC100999897SPabbACACa46技术教育1)存储器堆栈是一个由高地址向低地址延伸的空间。)存储器堆栈是一个由高地址向低地址延伸的空间。2)存储器堆栈的栈顶由堆栈指针存储器堆栈的栈顶由堆栈指针SPSP指示,如果用指示,如果用AA表示通用表示通用寄存器寄存器A A的内容,的内容,SPSP表示堆栈指示器,表示堆栈指示器,MspMsp表示堆栈指示的存储表示堆栈指示的存储器栈顶单元器栈顶单元, ,入栈操作和出栈操作可以表示为:入栈操作和出栈操作可以表示为: 入栈:入栈:AMsp AMsp

36、 ,SPSP1SP1SP 出栈:出栈:SPSP1SP1SP,MspA MspA 存储器堆栈的优点:存储器堆栈的优点:1 1)堆栈能够具有程序员要求的任意长度;)堆栈能够具有程序员要求的任意长度;2 2)存储器堆栈的数目由程序员自己决定;)存储器堆栈的数目由程序员自己决定;3 3)可以用对存储器寻址的任何一条指令来对堆栈中的数据进)可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址。行寻址。存储器堆栈的特点存储器堆栈的特点47技术教育p数据传送指令数据传送指令n取数指令取数指令n存数指令存数指令n传送指令传送指令p算术运算指令算术运算指令n定点,定点, n浮点,浮点, n求反,求补,比较等

37、求反,求补,比较等4.5典型指令典型指令n 成组传送指令成组传送指令n 字节交换指令字节交换指令n 清累加器指令清累加器指令n 堆栈操作指令堆栈操作指令48技术教育p逻辑运算指令逻辑运算指令nNOT,AND,OR,XOR,TESTp程序控制指令程序控制指令n无条件转移 条件转移(C,Z,N,P,V)n转子程序 子程序返回 RET 中断返回 IRETp输入输出指令输入输出指令nIN AX,n OUT n, A4.5典型指令典型指令49技术教育p字符串处理字符串处理n字符串传送、转换、比较、查找字符串传送、转换、比较、查找p特权指令特权指令:系统资源的分配和管理系统资源的分配和管理p其他类其他类n

38、状态寄存器置位、复位指令状态寄存器置位、复位指令(如如CLC,STC,CLI,STI)n测试指令、暂停指令,空操作指令测试指令、暂停指令,空操作指令4.5典型指令典型指令50技术教育指令系统发展方向指令系统发展方向pCISC-CISC-复杂指令系统计算机复杂指令系统计算机 nComplex Instruction System ComputerComplex Instruction System Computern指令数量多,指令功能,复杂的计算机。指令数量多,指令功能,复杂的计算机。p RISC-RISC-精简指令系统计算机精简指令系统计算机nReduced Instruction Syst

39、em ComputerReduced Instruction System Computern指令数量少,指令功能单一的计算机。指令数量少,指令功能单一的计算机。51技术教育精减指令系统精减指令系统(RISC)p选取使用频率最高的一些简单指令选取使用频率最高的一些简单指令,指令条数少指令条数少;p寻址方式简单寻址方式简单p指令长度固定指令长度固定,指令格式简单指令格式简单pCPU设置大量寄存器设置大量寄存器p只有存只有存/取数指令才能访问存储器取数指令才能访问存储器,p其余指令的操作都在寄存器之间进行其余指令的操作都在寄存器之间进行.p每一个机器周期完成一条机器指令。每一个机器周期完成一条机器

40、指令。52技术教育CISC与与RISC的比较的比较特特征征CISCRISCIBM370/168VAX11/780Intel80486SPARCMIPSR4000开发年份开发年份19731978198919871991指令数量指令数量/条条2083032356994指令长度指令长度/B262511144寻址方式寻址方式4221122通用寄存器数通用寄存器数/个个161684052032控制存储器大小控制存储器大小/Kb420480246Cache大小大小/KB646483212853技术教育典型典型RISCRISC机指令系统机指令系统机器型号指令数寻址方式指令格式通用寄存器数RISC-I3122

41、78RISC-II3922138MIPS553416SPARC7543120-136MIPSR3000913332i86065343254技术教育4.6 ARM汇编语言p汇编语言是计算机机器语言(二进制指令代码)进行符号化的一种表示方法,每一个基本汇编语句对应一条机器指令。表4.11列出了嵌入式处理机ARM的汇编语言。其中操作数使用16个寄存器(r0 , r1r12 , sp , Ir , pc),230个存储字(字节编址,连续的字的地址间相差4)。 55技术教育56技术教育57技术教育 例例55 将将将将ARMARM汇编语言翻译成机器语言。已知汇编语言翻译成机器语言。已知汇编语言翻译成机器语

42、言。已知汇编语言翻译成机器语言。已知5 5条条条条ARMARM指令格式译码如下表所示:指令格式译码如下表所示:指令格式译码如下表所示:指令格式译码如下表所示:设r3寄存器中保存数组A的基址,h放在寄存器r2中。C语言程序语句A30=h+A30 可编译成如下3条汇编语言指令:LDR r5, r3, #120;寄存器r5中获得A30ADD r5, r2,r5;寄存器r5中获得h+A30STR r5, r3, #120;将h+A30存入到A30请问这3条汇编语言指令的机器语言是什么?58技术教育解解LDR r5 , r3, #120;寄存器r5中获得A30ADD r5 , r2 , r5 , ;寄存器r5中获得h+A30STR r5 , r3, #120;将h+A30存入到A3059技术教育4.6ARM汇编语言汇编语言p在进行汇编语言程序设计时,可直接使用英文单词或其缩写表示指令,使用标识表示数据或地址,从而有效地避免了记忆二进制的指令代码。不用由程序设计人员对指令和数据分配内存地址,直接调用操作系统的某些程序段完成输入输出。用编辑程序建立好的汇编语言源程序,需要经过系统软件中的“汇编器”翻译为机器语言程序之后,才能交付给计算机硬件系统去执行。60技术教育本章重点内容本章重点内容p指令系统基本概念p指令基本格式p指令系统寻址方式61技术教育

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号