计算机组成原理 第六章(指令系统)—第四节(指令格式)

写在前面:

  1. 本系列笔记主要以《计算机组成原理(唐朔飞)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:计算机组成原理(哈工大刘宏伟)135讲(全)高清_哔哩哔哩_bilibili

一、设计指令格式应考虑的因素

        指令系统集中反映了机器的性能,又是程序员编程的依据。用户在编程时既希望指令系统很丰富,便于用户选择,同时还要求机器执行程序时速度快、占用主存空间少,实现高效运行。此外,为了继承已有的软件,必须考虑新机器的指令系统与同一系列机器指令系统的兼容性,即高档机必须能兼容低档机的程序运行,称之为“向上兼容”。

        指令格式集中体现了指令系统的功能,为此,在确定指令格式时必须从以下几个方面总和考虑:

        ①操作类型:包括指令数及操作的难易程度。

        ②数据类型:确定哪些数据类型可以参与操作。

        ③指令格式:包括指令字长、操作码位数、地址码位数、地址个数、寻址方式类型,以及指令字长和操作码位数是否可变等。

        ④寻址方式:包括指令和操作数具体有哪些寻址方式。

        ⑤寄存器个数:寄存器的多少直接影响指令的执行时间。

二、指令格式举例——IBM 360

        IBM 360是32位机器,按字节寻址,并可支持多种数据类型,如字节、半字、字、双字(双精度实数)、压缩十进制数、字符串等,在CPU中有16个32位通用寄存器(用户可选定任一个寄存器作为基址寄存器BR或变址寄存器IX)、4个双精度(64位)浮点寄存器,指令字长有16位、32位、48位三种,如下图所示。

三、指令格式设计举例

        某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求。

        ①直接寻址的二地址指令3条。

        ②变址寻址的一地址指令6条。

        ③寄存器寻址的二地址指令8条。

        ④直接寻址的一地址指令12条。

        ⑤零地址指令32条。

(1)在直接寻址的二地址指令中,根据直接寻址空间为128字,则每个地址码为7位。3条这种指令的操作码为00、01和10,剩下的11可作为下一种格式指令的操作码扩展用。

(2)在变址寻址的一地址指令中,根据变址时的位移量为-64~+63,形式地址A取7位,根据16个通用寄存器可作为变址寄存器,取4位作为变址寄存器R_{x}的编号,剩下的5位可作操作码。6条这种指令的操作码为11000-11101,剩下的两个编码11110和11111可作为扩展用。

(3)在寄存器寻址的二地址指令中,两个寄存器地址R_{i}R_{j}共8位,剩下的8位可作操作码。8条这种指令的操作码为11110000-11110111,剩下的11111000-11111111这8个编码可作为扩展用。

(4)在直接寻址的一地址指令中,除去7位的地址码外,可有9位操作码。以11111作为指令的操作码特征位,12条这种指令的操作码为111110000-111111011,剩下的111111100-111111111可作为扩展用。

(5)在零地址指令中,指令的16位都作为操作码,与上述剩下的4个操作码组合后,共可构成4\times 2^{7}条指令的操作码。32条这种指令的操作码可取1111111000000000-1111111000011111。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值