◆指令系统

一、指令系统的发展                                           1、指令系统基本概念
①、指令:就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。  微指令是微程序级的命令,它属于硬件;
②、宏指令:由若干条机器指令组成的软件指令,它属于软件;  机器指令:介于微指令与宏指令之间,通常简称为指令,每一  条指令可完成一个独立的算术运算或逻辑运算操作。
③、一台计算机中所有机器指令的集合,称为这台计算机的指令系统。
④、指令系统是表征一台计算机性能的重要因素,它的格式与功能  不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,  影响到机器的适用范围。                                                2、发展情况                                                      ①、复杂指令系统计算机,简称CISC。但是如  此庞大的指令系统不但使计算机的研制周期  变长,难以保证正确性,不易调试维护,而  且由于采用了大量使用频率很低的复杂指令  而造成硬件资源浪费。
②、精简指令系统计算机:简称RISC,人们又  提出了便于VLSI技术实现的精简指令系统计  算机。   

二、指令系统的性能要求                                   ①、完备性:完备性是指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件  来实现。完备性要求指令系统丰富、功能齐全、使  用方便。一台计算机中最基本、必不可少的指令是不多的。许多指令可用最基本的指令编程来实现。  例如,乘除运算指令、浮点运算指令可直接用硬件  来实现,也可用基本指令编写的程序来实现。采用  硬件指令的目的是提高程序执行速度,便于用户编  写程序。
②、有效性:有效性是指利用该指令系统所编写的程序  储空间小、执行速度快。一般来说,  能够高效率地运行。高效率主要表现在程序占据存  一个功能更强、  更完善的指令系统,必定有更好的有效性。                                            ③、规整性:规整性包括指令系统的对称性、匀齐性  指令格式和数据格式的一致性。对称性是指:在指  令系统中所有的寄存器和存储器单元都可同等对待,  所有的指令都可使用各种寻址方式;匀齐性是指:  一种操作性质的指令可以支持各种数据类型,如算  术运算指令可支持字节、字、双字整数的运算,十进制数运算和单、双精度浮点数运算等;指令格式  和数据格式的一致性是指:指令长度和数据长度有  数据长度通常是字节长度的整数倍。定的关系,以方便处理和存取。例如指令长度和数据长度通常是字节长度的整数倍。
④、兼容性:系列机各机种之间具有相同的基本结构和  共同的基本指令集,因而指令系统是兼容的,即各  机种上基本软件可以通用。但由于不同机种推出的  时间不同,在结构和性能上有差异,做到所有软件  都完全兼容是不可能的,只能做到“向上兼容”,  即低档机上运行的软件可以在高档机上运行。

三、 低级语言与硬件结构的关系                      低级语言与高级语言关系c000a52bd0074e17b875baab81431267.jpg

四、指令格式4885f40d0b4c4679857dcba4104b4854.jpg1、操作码                                                             设计计算机时,对指令系统的每一条指令都要规定一个操作码。  指令的操作码OP表示该指令应进行什么性质的操作,如进行加  法、减法、乘法、除法、取数、存数等等。不同的指令用操作  码字段的不同编码来表示,每一种编码代表一种指令。
组成操作码字段的位数一般取决于计算机指令系统的规模。较  大的指令系统就需要更多的位数来表示每条特定的指令。
等长(指令规整,译码简单)
例如IBM 370机,该机字长32位,16个通用寄存器R0~  R15,共有183条指令;指令的长度可以分为16位、32位  和48位等几种,所有指令的操作码都是8位固定长度。
固定长度编码的主要缺点是:信息的冗余极大,使程序的  总长度增加。                                         2、地址码                                                            根据一条指令中有几个操作数地址,可将该指  令称为几操作数指令或几地址指令。
三地址指令
二地址指令
单地址指令
零地址指令c9bf05d9ad994385bd686d88f9d8996c.jpg①、三地址指令
指令格式如下:853cb902a9fe4b248f8fae40f9af44ca.jpg
操作码op  第一操作数A1第二操作数A2结果  A3
功能描述:
(A1) op(A2)→>A3
(PC) +1→>PC
这种格式虽然省去了一个地址,但指令长度仍比较  长,所以只在字长较长的大、中型机中使用,而小.  型、微型机中很少使用。                  ②、二地址指令                                  
指令格式如下:56c532386dfd4e4badff450e89a32609.jpg
操作码op  第一操作数A1第二操作数A2
功能描述:
(A1) op(A2)→>A1
(PC) +1→>PC
二地址指令在计算机中得到了广泛的应用,但是在使用时有一点必须注意:指令执行之后,A1中原存的内容已经别新的运算结果替换了。de4130e2e11f4623b55e5249a3685f09.jpg ③、一地址指令
指令格式如下:eafa0c0800c945abbe0a2bd13e8e5ee6.jpg
操作码op  第一操作数A1
功能描述:
(AC) op(A1)→>A1
(PC) +1→>PC                                                      单操作数运算指令,如“+1”、“-1”、“求反” 指令中给出一个源操作数的地址
④、零地址指令
指令格式如下:74204da81f874f908251313dea5c93fe.jpg
操作码op                                                             “停机”、 “空操作”、 “清除”等控制类 指令。

五 、 指令字长度
①、概念
指令字长度(一个指令字包含二进制代码的位数)
机器字长:计算机能直接处理的二进制数据的位数。
单字长指令
半字长指令
双字长指令
②、多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题;  缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的  运算速度,又占用了更多的存储空间。
③、指令系统中指令采用等长指令的优点:各种指令字长度是相等的,  指令字结构简单,且指令字长度是不变的;
④、采用非等长指令的的优点:各种指令字长度随指令功能而异,
结构灵活,能充分利用指令长度,但指令的控制较复杂。

六、指令助记符
由于硬件只能识别1和0,所以采用二进制操作  码是必要的,但是我们用二进制来书写程序却  非常麻烦。
为了便于书写和阅读程序,每条指令通常用3  个或4个英文缩写字母来表示。这种缩写码叫  做指令助记符
用3~4个英文字母来表示操作码,一般为英文缩写不同的计算机系统,规定不一样必须用汇编语言翻译成二进制代码。

七、 操作数类型
1、一般的数据类型
2、Pentium数据类型
3、PowerPC数据类型

八、指令的寻址方式                                               1、顺序方式   2、跳跃方式cc85b5d3f6714b86a1898ee33f9b39ec.jpg

九、操作数的基本寻址方式                                形成操作数有效地址的方法,称为寻址方式。   例如,一种单地址指令的结构如下:操作数OP、变址C、简间址I、形式地址A

1、隐含寻址                                                         指令中隐含着操作数的地址                              如某些运算,隐含了累加器AC作为源和目的寄存器 如8086汇编中的STC指令,设置标志寄存器的C为1

2、立即寻址                                                         立即寻址是一种特殊的寻址方式,指令中在操作码字 段后面的部分不是通常意义上的操作数地址,而是操 作数本身,也就是说数据就包含在指令中,只要取出 指令,就取出了可以立即使用的操作数,因此,这样 的操作数被称为立即数。                                                                   指令格式:操作码OP 操作数A

3、直接寻址                                                         指令中地址码字段给出的地址A就是操作数的 有效地址EA(EffectiveAddress),即EA=A。132a4bd68e744312844650be374e710d.jpg4、间接寻址
间接寻址意味着指令的地址码部分给出的  地址A不是操作数的地址,而是存放操作数  地址的主存单元的地址,简称操作数地址的  地址。操作数的有效地址的计算公式为:4bd9735427f14670b05f055816fb9d34.jpg

5、寄存器寻址                                                     在指令的地址码部分给出CPU内某一通用寄存器的 编号,指令的操作数存放在相应的寄存器中,即 EA=Riebd27b7c91304b468945e7258e3939f8.jpg优点
(1)由于寄存器在CPU的内部,指令在执行时从寄  存器中取操作数比访问主存要快得多;
(2)由于寄存器的数量较少,因此寄存器编号所占位  数也较少,从而可以有效减少指令的地址码字段的长                                                         6、寄存器间接寻址                                             为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,  即将操作数放在主存储器中,而操作数的地址放在某一通用寄  存器中,然后在指令的地址码部分给出该通用寄存器的编号,  这时有EA=(Ri)e6ea017ab19047518a5f06d255de51b4.jpg这种寻址方式的指令较短,并且在取指后只需一次访存便可得到操作  数,因此指令执行速度较前述的间接寻址方式要快,也是目前在计算  机中使用较为广泛的一种寻址方式。                 7、偏移寻址
①、相对寻址:由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后  作为操作数的有效地址,即:EA=(PC)+D。dab2729a590746d6bf81c5b184d03215.jpg
②基本寻址6035458b19cc4ca78ccdea0fe170b62c.jpg基址寄存器的位数可以设置得很长,从而可以在较  大的存储空间中寻址。
③、变址寻址0342ded020d7474288cca19cae4b5494.jpg变址寻址就是将指令的地址码部分给出的基准地  址A与CPU内某特定的变址寄存器Rx中的内容相  加,以形成操作数的有效地址。
8、段寻址方式
存储空间划分为多段                                              分寄存器堆栈,存储器堆栈以先进后出原理存储数据2fb49bc8eab64af4b627619fe4930610.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值