当前位置:
文档之家› 计算机组成原理第四章 指令系统[二]
计算机组成原理第四章 指令系统[二]
【解答】 105种操作,故操作码取7位; 按题意有4种寻址方式,故寻址方式特征位
取2位. 指令格式如下:
OP M A 各字段含义说明(略)
7位 2位 7位
指令可直接寻址的范围:27=128; 一次间接寻址的范围: 216=65536.
(2)若存储字长不变,可采用什么方法直接 访问容量为16MB的主存?
OP操作码字段7位—97种操作;
M寻址方式特征字段3位—六种寻址方式; A形式地址字段16-7-3=6位.
(2)该指令直接寻址的最大范围是多少? 解: A是6位,26=64是直接寻址的最大范围. (3)一次间址和多次间址的寻址范围? 解: 存储字长16位,故一次间址寻址范围是216; 若多次间址,需用存储字的最高位来区别是
❖ 10条常用指令用4位编码表示,即从0000 到1001.
❖ 不常用的47条指令需要7位编码表示,即 从1010000到1111110,操作码平均长度:
❖ 4×80%+7×20%=4.6
4.1 指令格式
4.2指令和数据的寻址方式 4.3 CISC和RISC
4.3 CICS和RISC
一、指令系统的发展
(1)采用一地址或二地址格式; (2)有寄存器寻址、直接寻址和相对寻址(位
移量为-128~+127)三种寻址方式; (3)有16个通用寄存器,算术运算和逻辑运算
的操作数及运算结果都在寄存器中; (4)取数/存数指令在通用寄存器和主存之间
传送数据; (5)存储器容量为1MB,按字节编址. 要求设计算逻指令、取数/存数指令和相对
(4)有效地址通过变址寻址求得,变址寄存器 由16个通用R里的一个如Ri充当,则 EA=(Ri)+位移量.
ቤተ መጻሕፍቲ ባይዱ
例:某机配有基址寄存器和变址寄存器,采用 一地址格式的指令系统,允许直接和间接寻 址,且指令字长、机器字长和存储字长均为 16位,主存按字编址.
(1)若采用单字长指令,共能完成105种操作, 则指令可直接寻址的范围是多少?一次间 接寻址的寻址范围是多少?画出其指令格 式并说明各字段的含义.
【解答】
❖ 16MB=8M×16位,需要23位的地址位才 能访问该主存的全部单元.
❖ 可在上述(1)指令格式的基础上,采用双
字长指令;格式如下:
7位 2位 7位 OP M A1
形式地址A=A1//A2
A2
共23位;刚好寻址8M个16位.
例:某16位模型机共有64种操作,操作码位置 固定,且具有以下特点:
转移指令的格式,并简述设计理由.
解:
(1)算逻指令为R-R型,单字长16位二地址即
可:
M为寻址方式模式,表
6位 2位 4位 4位 示寄存器寻址、直接
OP M Ri
Rj 寻址和相对寻址.
各个字段位数及作用说明(略).
(2)取数/存数指令为R-S型,鉴于1MB寻址的
存储容量,需要使用双字长32位二地址格
式:
6位
OP
2位 4位
M Ri A2
注意其中Ri在 4位 取数时为目标地址, A1 存数时为源地址;
其他字段说明略.
解:
(3)相对转移指令:
按题目所给定的位移量-128~+127可知,
有8位补码表示该位移量即可;
再考虑OP字段6位和寻址方式字段2位,使
用单字长一地址指令就可以设计.
6位 2位 8位
OP M
A
各个字段位数及作用说明(略).
例:某机主存容量为4M×16位,且存储字长 等于指令字长,若该机指令系统能完成97 种操作,操作码位数固定,具有直接、间接、 变址、基址、相对、立即六种寻址方式.
(1)画出一地址指令格式并指出各字段作用. 解: 一地址指令格式为:
7位 3位 6位
OP M A
4.2.3 指令格式分析与设计方法举例
例:某16位机指令格式结构如下所示,试分
析指令格式及寻址方式特点.
15 10 9 8 7 4 3 0
OP
— 目标寄存器 源寄存器
解:(1)单字长二地址指令;
(2)OP即操作码字段6位,可指定64条指令;
(3)两个操作数都在寄存器中,故为R-R型指令, 可以分别指定16个通用寄存器;
1、50年代—计算机技术水平较低,使用的元件体积 大、功耗高、价格高,故硬件结构简单,指令系统的 功能也相对简单,其中只有加减及逻辑运算、数据传 送、转移等十几至几十条指令,寻址方式简单;
2、60年代后期--由于集成电路(IC) 出现,硬件结构越 加复杂,对指令系统功能的要求也越来越高,增设了乘 除运算、浮点运算、十进制运算、字符串处理等指令, 指令数目达一二百条,寻址方式趋于多样化,引入了各 种数据类型,指令系统不断扩大;
(4)该类指令结构常用于算逻运算类指令。
例:某16位机指令格式结构如下所示,试分析指
令格式及寻址方式特点.
15
10 9 8 7
43
0
OP
— 源寄存器 变址寄存器
位移量(16位)
解:
(1)双字长二地址指令;
(2)操作码字段6位,可指定64条指令;
(3)R-S型指令,一个操作数在通用寄存器(共 16个)中,另一个在主存中;
否继续间接寻址,故其寻址范围为215.
(4)立即数的范围? 解: A是6位,若是有符号数则立即数的范围是
-32~+31;无符号数则为0~63. (5)相对寻址的位移量(十进制数表示)? 解: 位移量为补码表示,所以有
-32~+31.
(6)上述六种寻址方式的指令哪一种执行时 间最短?哪一种执行时间最长?哪一种 便于用户编制处理数组问题的程序?哪 一种便于程序浮动?
解: 立即寻址的执行时间最短; 间接寻址的执行时间最长; 变址寻址指令便于用户编制处理数组问题
的程序; 相对寻址有利于程序浮动.
❖ 例:内存中数据分布如下,若A为单元地 址,(A)为A的内容.
地址 0 1 2 3 4 5 6 7 …N 内容 1 2 3 4 5 6 7 6 …5
试求:((7))-(N)+((N))+(((N)))=? 解:因为: ((7))=7, (N)=5,((N))=6,(((N)))=7 所以 :((7))-(N)+((N))+(((N)))=15 注意: 直接寻址、间接寻址的意义及表示法.
❖例:设某台计算机的指令系统中共有 57条指令:
❖(1) 若采用固定长度编码,其操作码的 编码长度需要多少位?
❖ 解:需要6位,即从000000到111011.
❖ (2) 设该指令系统中有10条指令的使用频 率为80%,其余为20%,若采用不等长编 码方式,其操作码的平均长度为多少?
❖ 解: 采用不等长编码方式时,常用的指令 用短的操作码表示,不常用的指令可用长 操作码表示.