计算机组成原理学习笔记第5章指令系统 5.4——指令格式设计

有诗云:苔花如米小,也学牡丹开。——袁枚
本篇笔记整理:Code_流苏(CSDN)
Last(在此处点击使用,直达文末)
Frist (在文末点击使用,返回文章首部)

★观前提示:本专栏笔记内容适合有一定的基础或复习时观看,内容如有错,还请大家评论指出!非常感谢!

0.思维导图

在这里插入图片描述

★回顾:
指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一条指令通常要包括操作码字段和地址码字段两部分。

1.指令格式设计的主要内容

在这里插入图片描述
■ 根据指令数量的要求及是否支持操作码扩展,确定操作码字段的位数
■ 根据对操作数的要求确定地址码字段的个数
■ 根据寻址方式的要求,为每个地址码字段确定寻址方式字段位数
■ 确定采用定长指令还是变长指令

2.指令格式设计举例

例1

1️⃣问题描述

某机字长32位,采用三地址指令,支持8种寻址操作,完成60种操作,各寻址方式均可在2K主存范围内取得操作数,并可在1K范围内保存运算结果。
问:应采用什么样的指令格式
指令字长最少应为多少位
执行一条指令最多要访问多少次主存?

2️⃣问题解答
解:根据题目条件,指令格式如下:
在这里插入图片描述

指令占两个存储字,取指访存2次,取2个源操作数访存2次,写结果访存1次,共5次

例2

1️⃣问题描述

字长16位,主存64K,指令单字长单地址80条指令。寻址方式有直接、间接、相对、变址。请设计指令格式。

2️⃣问题解答

解:80条指令→OP字段需要7位( 2^7=128 )
4种寻址方式→寻址方式特征位2位
单地址位长度:16-7-2 =7位
在这里插入图片描述
在这里插入图片描述

例3

1️⃣问题描述

设某指令系统指令字长16位,每个地址码为6位。若要求设计二地址指令15条、一地址指令34条,问最多还可设计多少条零地址指令?
在这里插入图片描述
1️⃣问题描述

解: 操作码按从短码到长码进行扩展编码
假定二地址指令编码: (0000 – 1110) 共15条,1111作为扩展标识;
则一地址指令编码的全集可表示为: 1111 000000 – 111111(假定扩向A1);
因一地址指令只需34条,可将全集中多余的30种编码作为向零地址指令扩展的标识,
假定为: 100010 – 111111,
故最多可支持的故零地址指令数为30×2 ^ 6 条

★小总结:在上一节的学习中,学习到了操作数寻址方式的相关知识。本节内容,通过设计内容以及几个示例的了解,学习到了指令格式设计的一些思路和解法。通过本节内容的学习,对指令有了进一步的认识,也对指令格式设计有了简要的了解。

Last (一键到达文章末尾)
First(一键返回到文章目录)

笔记内容学习资料:计算机组成原理微课版(谭志虎、秦磊华等编著)
课件资料及视频学习:MOOC计算机组成原理(华中科大)
计算机组成原理专栏——笔记及测验练习都在这
如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ღ( ´・ᴗ・` )比心。

猜你喜欢

转载自blog.csdn.net/qq_51646682/article/details/124972030