【计算机组成原理】指令系统知识点总结

知识重点
1.扩展操作码方法
2.有效地址概念
3.数据寻址方式
4.CISC和RISC基本概念

一.指令系统的发展与性能要求

1.指令系统:一台计算机中所有机器指令的集合,它是表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。
【计算机组成原理】指令系统知识点总结_第1张图片
2.指令系统的性能要求
(1)完备性
(2)有效性
(3)兼容性
(4)规整性:对称性、匀齐性、一致性

二.指令格式

1.指令字(简称指令):即表示一条指令的机器字。
2.指令格式:是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。
在这里插入图片描述
3.操作码
(1)固定长度操作码:操作码所占的二进制位数固定不变,而且集中放在指令字的一个字段中。
(2)可变长度操作码:操作码扩展技术应用,操作码长度可变且分散地放在指令的不同字段中。
(3)操作码扩展方法让操作数地址个数多的指令(如三地址指令)的操作码字段短些,操作数地址个数少的指令(如一或零地址指令)的操作码字段长些。
(4)如果按照定长编码的方法,4位操作码字段最多只能表示16条不同的三地址指令。

例1:某指令系统,指令字长16位,每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数指令三类。若双操作数指令有K条,无操作数指令有L条,问单操作数指令最多有多少条?
解:指令字长16位,每个操作数的地址码长6位,所以操作数是16-6x2=4位。
因此可扩展状态为24-K。
无操作数有L条,需要从一地址指令操作码中保留扩展状态L/26(上取整)。
单操作指令数为:(24-K)x26-L/26(上取整)

4.地址码
【计算机组成原理】指令系统知识点总结_第2张图片
(1)三地址指令:A1为第一地址码,存放第一操作数,A2为第二地址码,存放第二操作数,A3为第三地址码,存放操作结果。
操作:(A1) OP (A2) -> A3

(2)二地址指令:A1既做第一操作数地址又做目的地址;A2为第二操作数地址。
操作:(A1) OP (A2) -> A1
①从操作数的物理位置来说,又可归结为三种类型:
存储器-存储器(SS)型指令(多次访问内存)
寄存器-存储器(RS)型指令(既要访问内存单元,又要访问寄存器)
寄存器-寄存器(RR)型指令(不需要访问内存)

(3)一地址指令:为了进一步缩短指令长度,指令中只给出一个操作数地址,另一个操作数地址和目的地址则是隐含的。这个隐含的地址就是运算器中的累加寄存器AC
操作:(A1) OP (A2) -> AC (读累加器内容与操作数地址内容按指令操作码规定的操作性质完成操作后,其结果送入累加器)

(4加粗样式)零地址指令:只有操作码,没有地址码,例如停机操作

5.指令字长度
(1)指令字长度:一个指令字中包含二进制代码的位数
(2)机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度
(3)等长指令字结构:各种指令字长度是相等的。这种指令字结构简单,且指令字长度是不变的。
(4)变长指令字结构:各种指令字长度随指令功能而异。结构灵活,能充分利用指令长度,但指令的控制较复杂

6.指令助记符
【计算机组成原理】指令系统知识点总结_第3张图片

三.寻址方式

1.人们将指令中给出与操作数地址有关的特征信息的地址码称为形式地址,而把操作数在内存中的真实地址称为有效地址(物理地址)。
2.由形式地址通过各种途径找到有效地址的方式,称为寻址方式
3.顺序寻址方式
【计算机组成原理】指令系统知识点总结_第4张图片
4.转移寻址方式
【计算机组成原理】指令系统知识点总结_第5张图片
5.操作数的寻址方式
【计算机组成原理】指令系统知识点总结_第6张图片
(1)隐含寻址:指令中不明显地给出操作数的地址,其操作数或操作数的地址隐含在某个专用寄存器或在某个指定的存储单元中。这种方式可以缩短指令的长度,在字长较短的微型机或小型机中被广泛采用。

(2)立即寻址:所需的操作数由指令的地址码域直接给出时,称为立即数(直接数)寻址方式,简称立即寻址。
【计算机组成原理】指令系统知识点总结_第7张图片
(3)直接寻址方式:直接寻址是指指令中的地址码就是操作数的有效地址,按这个地址可直接在存储器中写入或读取操作数。
【计算机组成原理】指令系统知识点总结_第8张图片
(4)间接寻址:若指令中的地址码部分给出的既不是操作数,又不是操作数的地址,而是存放操作数地址内存单元的地址时,这个地址叫做间接地址。
【计算机组成原理】指令系统知识点总结_第9张图片
(5)寄存器直接寻址:如果指令的地址码部分给出的是某通用寄存器号Ri,Ri寄存器中存放着操作数,则称为寄存器直接寻址
【计算机组成原理】指令系统知识点总结_第10张图片
(6)寄存器间接寻址:寄存器间接寻址,是指指令中地址字段所指的寄存器中存放的是操作数的地址。
【计算机组成原理】指令系统知识点总结_第11张图片
(7)相对寻址:程序计数器的内容就是当前指令的地址,相对寻址是把程序计数器的内容加上指令格式中的形式地址d而形成操作数的有效地址。“相对”寻址,就是相对于当前的指令地址而言。
【计算机组成原理】指令系统知识点总结_第12张图片
(8)基址寻址:在基址寻址方式中将CPU中基址寄存器的内容,加上指令格式中的形式地址而形成操作数的有效地址 。
【计算机组成原理】指令系统知识点总结_第13张图片
(9)变址寻址:变址寻址方式与基址寻址方式计算有效地址的方法很相似,它把变址寄存器的内容与偏移量相加来形成操作数有效地址。
注:使用变址寻址方式的目的不在于扩大寻址空间,而在于实现程序块的规律变化。为此必须使变址寄存器的内容实现有规律的变化(如自增“1”,自减“1”,乘比例系数)而不改变指令本身,从而使有效地址按变址寄存器的内容实现有规律的变化。

(10)页面寻址:页面寻址方式与基址、变址方式有所不同,其有效地址是由页面地址寄存器的内容和指令中的页内地址拼接而成。
【计算机组成原理】指令系统知识点总结_第14张图片
例1:一种两地址RS型指令的结构如图5-15所示,其中I为间接寻址标志位,X为寻址模式字段,D为偏移量字段。通过I,X,D的组合,可构成表5-2所示的寻址方式。请写出六种寻址方式的名称。【计算机组成原理】指令系统知识点总结_第15张图片【计算机组成原理】指令系统知识点总结_第16张图片
解:
(1)有效地址=偏移量,是直接寻址;
(2)出现PC计数器,是相对寻址;
(3)E=(R2)±D,是寄存器地址±偏移量,且寄存器为变址寄存器,因此是变址寻址;
(4)E=(R3),有效地址是寄存器中的地址,因此是寄存器间接寻址;
(5)E=(D),有效地址E是地址的地址,因此是间接寻址;
(5)E=(R1)±D,是寄存器地址±偏移量,且寄存器为基址寄存器,因此是基址寻址

例2:某计算机内存有64KB,CPU内有8个16位通用寄存器(其中4个又可以当成8个8位通用寄存器)。该机指令系统有64条指令,全部为双地址指令,且必有一个操作数在寄存器中,指令采用下列寻址方式:
(1)寄存器直接寻址。
(2)寄存器间接寻址(用16位寄存器)。
(3)存储器直接寻址。
(4)变址寻址(用任意一个16位寄存器做变址寄存器,位移量16位)。
要求:
设计该计算机的指令格式,并画出各种类型的指令格式示意图。
写出各种寻址方式的有效地址。

解:
(1)已知64KB为216B,因此D共需要16位。而系统有64条指令且全部为双地址指令,64=26,因此操作码为6位。有4个寻址方法,22=4,因此寻址方式需要2位。8个16位寄存器,其中4个可以扩展成8个8位寄存器,因此寄存器一共需要编码8+4x2=16个,24=16,因此寄存器的位数是4位。因此指令格式为:操作码(6)+寻址方式(2)+寄存器R1(4)+寄存器R2(4)+偏移量(16),如图:
【计算机组成原理】指令系统知识点总结_第17张图片
对四条方法进行寻址方式编码,00表示(1),01表示(2),10表示(3),11表示(4),对于前两个寄存器寻址方法,不需要带偏移量,只需要把寄存器表示出来,对于直接寻址,必有一个寄存器存在的情况下,可以不需要带第二个寄存器,最后四位编码可以随意。因此有:
【计算机组成原理】指令系统知识点总结_第18张图片(2)有效地址:
寄存器直接寻址:R1、R2
寄存器间接寻址:R1、(R2)
存储器直接寻址:R1、位移量(指令的第二个字)
变址寻址: R1、(R2)+位移量

四.CISC与RISC

1.CISC:
①CISC的结构复杂,这不仅增加了计算机的研制周期和成本,而且难以保证其正确性,有时还可能降低系统的性能。
②对CISC各种指令在程序中使用频率的测试表明,只有算术逻辑运算、数据传送、转移、子程序调用等约占指令系统20%的几十条基本指令才是常使用的,它们在程序中出现的概率达到80%左右,而占80%的指令在程序出现的概率只有20%左右,造成了硬件资源的大量浪费。

2.RISC主要特点
(1)选取使用频率高的一些简单指令以及一些很有用但又不复杂的指令,让复杂指令的功能由频度高的简单指令的组合来实现。
(2)指令长度固定,指令格式种类少,寻址方式种类少。
(3)只有取数/存数(LOAD/STORE)指令访问存储,其余指令的操作都在寄存器之间进行。
(4)采用流水线技术,大部分指令在一个机器周期内完成。采用超标量和超流水线技术,可使每条指令的平均执行时间小于一个时钟周期。
(5)控制器采用组合逻辑控制,不用微程序控制。
(6)CPU中有较多的通用寄存器,使指令操作数据在寄存器之间进行。
(7)采用优化的编译程序,以减少程序执行时间。

你可能感兴趣的:(计算机组成原理)