【计算机组成原理之指令系统】

发布于:2023-01-04 ⋅ 阅读:(745) ⋅ 点赞:(0)

计算机组成原理之指令系统


声明:此为个人笔记,代码一部分来自王道408课程,仅供个人学习使用,如有侵权请联系;如有转载使用,一切后果自行负责与本人无关

4.1指令格式

  • 4.1.1指令格式

在这里插入图片描述

在这里插入图片描述

  • 4.1.2 拓展操作码指令格式

    例如,可以有以下的设计操作码形式:

    仔细看图:
    在这里插入图片描述
    在这里插入图片描述

    设计时不允许短码是长码的前缀;各指令的操作码不能重复
    在这里插入图片描述

    设地址长度为n,上一层留出M种状态,下一层可以拓展出m*2的n次方种状态。

    在这里插入图片描述

    本题要求设计一套指令系统满足如上条件:

    设计前四位为操作码,若不是1111,说明是三地址指令;若是1111,且56位不是11,说明是二地址指令,地址码A1就是0000-1011(12条地址指令),以此类推。

4.2指令寻址

  • 4.2.1指令寻址
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

比如下面的例子,

主存按字节编址,采用变长指令字结构

此时总字节数为n,PC+n→PC

在这里插入图片描述

跳跃寻址 ?
在这里插入图片描述

总结:
在这里插入图片描述

  • 4.2.2数据寻址(小难)

    在这里插入图片描述

    假设指令字长=机器字长=存储字长

    操作数为3

    在这里插入图片描述

在这里插入图片描述

重点:如果通过形式地址得到有效地址
在这里插入图片描述

偏移寻址(具体可分三种:1、基址寻址;2、变址寻址;3、相对寻址)
在这里插入图片描述

1、基质寻址:

BR:基质寄存器
在这里插入图片描述

最终地址:(BR)中的内容+A(偏移量)=有效地址

有些计算机中采用通用寄存器作为基质寄存器

此时需要指名需要哪个通用寄存器作为基质寄存器

要用几个bit指名呢?根据通用寄存器总数判断

在这里插入图片描述

基质寻址的过程:
在这里插入图片描述

基质寄存器是面向操作系统的,其内容由操作系统或管理程序确定。程序员只能用汇编语言去写内容,并且不能轻易修改。

在这里插入图片描述

2、变址寻址
在这里插入图片描述

有的是专用的IX(变址寄存器),有的是通用寄存器作为基质寄存器。

类似于基质寻址

变址寻址的过程:

在这里插入图片描述

比如使用变址寻址在循环中,如下:(仔细看图)
在这里插入图片描述

基质&变址复合地址

先基址后变址寻址

3、相对寻址

而使用相对寻址

在这里插入图片描述

总结:
在这里插入图片描述

在这里插入图片描述

9、堆栈寻址

。。。SP(堆栈指针)。。。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

硬栈成本高;软栈成本低

在这里插入图片描述

堆栈寻址方式的有效地址:入栈出栈时EA的确定方式不同。硬栈不访存;软栈访存一次。

4.3 CSIC 和RISC

  • 4.3 CSIC 和RISC

    (复杂指令设置系统和精简指令设置系统)

在这里插入图片描述

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到