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

下载本文档

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

文档简介

第四章指令系统4.4指令和数据的寻址方式9、堆栈寻址方式堆栈寻址方式分寄存器堆栈、存储器堆栈以先进后出原理存储数据堆栈寻址方式堆栈是一组能存储和取出数据的暂时存储单元。很多计算机把存储器的一部分用作堆栈。堆栈和其他形式的存储器之间的差别就在于,它们对数据的存取方法或寻址方法有所不同。堆栈寻址方式堆栈是一种数据结构,是数据的一种组织方式。栈是一种只能在叫做栈顶的一端进行进栈和出栈操作的线性数据结构。栈的主要特点是“后进先出”。堆栈寻址方式常用的堆栈结构有:串联堆栈(硬件堆栈)存储器堆栈(软件堆栈)1串联堆栈一些计算机的CPU中有一组专门的寄存器,有16个或更多,它们称为串联堆栈,其中每一个寄存器能保存一个字的数据。1串联堆栈2存储器堆栈串联堆栈存在一些限制:一是寄存器的数目一般是有限的。如堆栈有8个寄存器,那么把多于8个的数据压入堆栈时,“老”的数据就从栈底压出并被丢失。二是堆栈的读出是破坏性的。当从堆栈取出一个数时,它就不能再在堆栈中存在。2存储器堆栈存储器堆栈的三个优点:堆栈能够具有程序员要求的任意长度;只要程序员喜欢,愿意建立多少堆栈,就能建立多少堆栈;可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址。2存储器堆栈存储器堆栈的缺点:进出栈的操作实质上是对内存的读写操作;进出栈的操作要由多条指令完成;栈满与栈空的判别也要由软件来完成。2存储器堆栈在存储器类型的堆栈中,需要一个堆栈指示器,它是CPU中一个专用的寄存器。堆栈指示器指定的存储器单元,就是堆栈的栈顶。在设计计算机系统时,把主存储器的一部分用作堆栈区。一旦设定堆栈区后,这一部分就不能用作其他用途。2存储器堆栈2存储器堆栈当建立存储器堆栈时,可用程序来设置。把一个主存地址送入堆栈指示器,就可确定堆栈的顶。在存储器堆栈中,数据的压入或取出操作,通常也是使用“进栈”指令和“出栈”指令来实现的,但是指令的功能和串联堆栈中的情况有所不同。2存储器堆栈(A)→Msp,(SP)-1→SP(SP)+1→SP,(Msp)→A存储器堆栈中,进栈时先存入数据,后修改堆栈指示器;出栈时,先修改堆栈指示器,然后取出数据。

4.4.3寻址方式举例4.4.3寻址方式举例4.4.3寻址方式举例(P60-8)MOV001010STO011011LAD11110011110000111100010011110011010010001010000101011001101111

1101011000000001110000104.5典型指令4.5.1指令的分类1.数据传送指令2.算术运算指令3.逻辑运算指令4.程序控制指令5.输入输出指令

6.字符串处理指令7.特权指令8.其他指令

1数据传送指令这类指令用以实现寄存器与寄存器,寄存器与存储器单元,存储器单元与存储器单元之间的数据传送;数据传送时,数据从源地址传送到目的地址,而源地址中的数据保持不变,因此实际上是数据复制;数据传送指令一次可以传送一个数据或一批数据;有些机器设置了数据交换指令,完成源操作数与目的操作数互换,实现双向数据传送。2算术运算指令一般计算机都具有这类指令。早期的低档微型机,要求价格便宜,硬件结构比较简单,支持的算术运算指令就较少,一般只支持二进制加、减法、比较和求补码(取负数)等最基本的指令;而其他计算机,由于要兼顾性能和价格两方面因素,还设置乘、除法运算指令。通常根据算术运算的结果置状态位,一般有Z(结果为0)、N(结果为负)、V(结果溢出)、C(产生进位或借位)四个状态位。当满足括弧内所提出的条件时,相应位置成“1”,否则为“0”。3逻辑运算指令通常计算机具有对两个数进行与、或、非(求反)、异或(按位加)等操作的逻辑运算指令。有些计算机还设置有位操作指令,如位测试(测试指定位的值)、位清除(把指定位清零)、位求反(取某位的反值)指令等。4程序控制指令(转移指令)无条件转移指令条件转移指令(根据状态测试结果进行转移)转子程序指令返回主程序指令中断返回指令转移指令分为绝对转移和相对转移5输入/输出(I/O)指令计算机所处理的一切原始数据和所执行的程序(除了固化在ROM中的以外)均来自外部设备的输入,处理结果需通过外部设备输出。有些计算机采用外部设备与存储器统一编址的方法把外部设备寄存器看成是存储器的某些单元,任何访问存储器的指令均可访问外部设备,因此不再专设I/O指令。6输入/输出(I/O)指令计算机所处理的一切原始数据和所执行的程序(除了固化在ROM中的以外)均来自外部设备的输入,处理结果需通过外部设备输出。有些计算机采用外部设备与存储器统一编址的方法把外部设备寄存器看成是存储器的某些单元,任何访问存储器的指令均可访问外部设备,因此不再专设I/O指令。7特权指令某些指令使用不当会破坏系统或其他用户信息,因此为了安全起见,这类指令只能用于操作系统或其他系统软件,而不提供给用户使用,称为特权指令。一般来说,在单用户、单任务的计算机中不一定需要特权指令,而在多用户、多任务的计算机系统中,特权指令却是必不可少的。它主要用于系统资源的分配和管理,包括改变系统的工作方式、检测用户的访问权限、修改虚拟存储器管理的段表、页表和完成任务的创建和切换等。在某些多用户的计算机系统中,为了统一管理所有的外部设备,输入输出指令也作为特权指令,不允许用户直接使用。需输入输出时,可通过系统调用,由操作系统来完成。8其他指令等待指令停机指令空操作指令开中断、关中断状态寄存器置位、复位指令测试指令向量指令多处理机指令4.5.2基本指令系统早期CISC设计风格的主要特点:指令系统复杂。具体表现在指令数多、寻址方式多、指令格式多。绝大多数指令需要多个时钟周期才能执行完成。各种指令都可访问存储器。采用微程序控制。有专用寄存器。难以用优化编译生成高效的目标代码程序。4.5.3精简指令系统RISC指令系统的最大特点是:⑴选取使用频率最高的一些简单指令,指令条数少;⑵指令长度固定,指令格式种类少;⑶只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。4.5.3精简指令系统RISC技术的主要特征:简化的指令系统。表现在指令数较少、基本寻址方式少、指令格式少、指令字长度一致。以寄存器-寄存器方式工作。以流水方式工作,从而可在一个时钟周期内执行完毕。使用较多的通用寄存器以减少访存,不设置或少设置专用寄存器。采用由阵列逻辑实现的组合电路控制器,不用或少用微程序。采用优化编译技术,保证流水线畅通,对寄存器分配进行优化。RISC的产生与发展1.RISC的产生1975年IBM公司开始研究指令系统的合理性问题,IBM的Johncocke提出精简指令系统的想法。后来美国加州伯克莱大学的RISCI和RISCⅡ机、斯坦福大学的MIPS机的研究成功,为精简指令系统计算机(reducedinstructionsetcomputer,简称RISC)的诞生与发展起了很大作用。对CISC进行测试表明,各种指令的使用频率相差悬殊,最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%。而较少使用的占指令总数20%的复杂指令,为了实现其功能而设计的微程序代码却占总代码的80%。

复杂的指令系统必然增加硬件实现的复杂性,这不仅增加了研制时间和成本(例如,开发32位微处理器80386用了三年多时间、投资一亿五千万美元)以及设计失误的可能性,而且由于复杂指令需要进行复杂的操作,与功能较简单的指令同时存在于一个机器中,很难实现流水线操作,从而降低了机器的速度。

另外还难以将基于CISC技术的高档微型机的全部硬件集成在一个芯片上或将大、中型机的CPU装配在一块板上,而对电路的延迟时间来讲,芯片内部、芯片之间与插件板之间的电路,其延迟时间差别很大,这也会影响CISC的速度。

由于以上原因,终于产生了不包含复杂指令的RISC。2.RISC的发展1983年以后,一些中、小型公司开始推出RISC产品,由于它具有高性能价格比,市场占有率不断提高。1987年SUN微系统公司用SPARC芯片构成工作站,从而使其工作站的销售量居于世界首位。当前一些大公司,如IBM,DEC,Intel,Motorola等都将其部分力量转到RISC方面来,RISC已成为当前计算机发展的不可逆转的趋势。一些发展较早的大公司转向RISC是很不容易的,因为RISC与CISC指令系统不兼容,因此他们在CISC上开发的大量软件如何转到RISC平台上来是首先要考虑的;而且这些公司的操作系统专用性强,又比较复杂,更给软件的移植带来了困难。而像SUN微系统公司,以UNIX操作系统作为基础,软件移植比较容易,因此它的工作站的重点很快从CISC(用68020微处理器)转移到RISC(用SPARC徽处理器)。从技术发展的角度来讲,CISC技术已很难再有突破性的大进展,要想大幅度提高性能价格比也已很困难。而RISC技术是在CISC基础上发展起来的,且发展势头正猛。正因为看到这一点,在CISC市场上占有率最高的Intel公司和Motorola公司也进军RISC领域。IBM、Motorola和Apple联合发展PowerPC芯片,HP和Intel联合开发代号为Merced的微处理器芯片。RISC的产生与发展RISC的特点精简指令系统计算机的着眼点不是简单地放在简化指令系统上,而是通过简化指令使计算机的结构更加简单合理,从而提高运算速度。计算机执行程序所需要的时间P可用下式表示:

P=I╳CPI

╳T

其中I是高级语言程序编译后在机器上运行的指令数,CPI为执行每条指令所需的平均周期数,T是每个机器周期的时间。

由于RISC指令比较简单,原CISC机中比较复杂的指令在这里用于程序来代替,因此RISC的I要比CISC多20%一40%。但是RISC的大多数指令只用一个机器周期实现(80年代),所以CPI的值要比CISC小得多。同时因为RISC结构简单,所以完成一个操作所经过的数据通路较短,使得了值大为减少。后来,RISC的硬件结构有很大改进,一个机器周期平均可完成1条以上指令,甚至可达到几条指令。RISC的特点证明题1、

用定量分析方法证明多模块交叉存储器带宽大于顺序存储器带宽。

解:假设:(P90)①存储器模块字长等于数据总线宽度;②模块存取一个字的存储周期等于T;③总线传送周期为τ;④交叉存储器的模块数为m。T=mτ交叉存储器要求其模块数≥m,以保证启动某模块后经mτ时间再次启动该模块时,它的上次存取操作已经完成。这样连续读取m个字所需时间为:(1)交叉存储器为实现流水方式存储,即每经过τ时间延时后启动下一模块,应满足:t1=T+(m-1)τ=mτ+mτ-τ=(2m-1)τ(2)顺序方式存储器连续读取m个字所需时间为

t2=mmτ=m2τ存储器带宽为比较可知W1>W2故存储器带宽为:W1==11t1(2m-1)τW2==11t2m2τ简答题1

、简要总结一下,采用哪几种技术手段可以加快存储系统的访问速度?

2、一台机器的指令系统有哪几类典型指令?列出其名称。

设计题1、用2M×8位的SRAM芯片,设计8M×32位的SRAM存储器。

A0-A20为片内地址;用4片为一组进行位扩展,构成2M×32位;用4组进行字扩展,构成8M×32位;用A21和A22经2:4译码器产生各组的片选信号2、机器字长32位,常规设计的物理存储空间≤32M,若将物理存储空间扩展到256M,请提出一种设计方案。

解:可采用多体交叉存取方案,即将主存分成8个相互独立、容量相同的模块M0,M1,M2,···,M7,每个模块32M×32位。它们各自具备一套地址寄存器、数据缓冲寄存器,各自以等同的方式与CPU传递信息。0819715CPU存储器控制器M0M1M7CPU访问8个存储模块,可采用两种方式:一种是在一个存取周期内,同时访问8个存储模块,由存储器控制器控制它们分时使用总线进行信息传递。另一种方式是:在一个存取周期内分时访问每个体,即每经过1/8存取周期就访问一个模块。这样对每个模块而言,从CPU给出访存操作命令直到读出信息仍然是一个存取周期时间。而对CPU来说,它可以在一个存取周期内连续访问8个存储体,各体的过程将重叠(并行)进行。3、某机器单字长指令为32位,共有40条指令,通用寄存器有128个,主存最大寻址空间为64M。寻址方式有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基值寻址、相对寻址六种。请设计指令格式,并做必要说明。解:(1)40指令,OP为占6位;(2)六种寻址方式,占3位;(3)用7位来指定寄存器;(4)剩余16位为偏移量,直接寻址空间为64K;

分析题1、某机的指令格式如下所示

X为寻址特征位:X=00:直接寻址;X=01:用变址寄存器RX1寻址;X=10:用变址寄存器RX2寻址;X=11:相对寻址

设(PC)=1234H,(RX1)=0037H,(RX2)=1122H(H代表十六进制数),请确定下列指令中的有效地址:

①4420H

②2244H

③1322H

④3521H解:(1)X=00,D=20H,有效地址EA=20H;(2)X=10,D=44H,有效地址EA=1122H+44H=1166H;(3)X=11,D=22H,有效地址EA=1234H+22H=1256H;(4)X=01,D=21H,有效地址EA=0037H+21H=0058H。(PC)=1234H,(RX1)=0037H,(RX2)=1122H

①4420H

②2244H

③1322H

温馨提示

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

评论

0/150

提交评论