计算机组成原理_指令

本文介绍了计算机组成原理中的指令系统,包括CISC和RISC两种架构的特点。详细阐述了指令的作用,操作码和地址码的概念,以及它们在数据传送、算术逻辑操作等不同操作中的应用。同时,讨论了一至四地址指令的区别和访存次数。
摘要由CSDN通过智能技术生成

计算机组成原理总目录

指令

指令:指控制计算机的最小操作单位,其功能是指挥计算机进行一系列的操作来完成某个功能
就像我们命令机器人抬起右脚,然后放下右脚,抬起左脚,放下左脚,机器人通过这一系列的命令完成了行走的功能

指令系统:一台计算机所有指令的集合构成了指令系统,也称为指令集
对于不同的指令系统,他们是无法相互兼容的,常见的指令系统有Intel的x86架构,以及手机的ARM架构

两种指令集系统:

  • CISC:复杂指令集计算机(Complex Instruction Set Computer),其中的每一条指令能够完成较为复杂的功能,主要用于x86架构的笔记本和台式机中
    特点:电路设计复杂,指令系统复杂、庞大,一般大于200条,指令字长不固定,难以优化指令,各指令执行时间差距较大
  • RISC:精简指令集计算机(Reduced Instruction Set Computer),其中的每一条指令只能完成最为基本的功能,只有设计多条指令才能完成较为复杂的功能,主要用于ARM架构的手机和平板中
    特点:电路设计简单,指令系统简单、精简,一般小于100条,指令字长定长,大多在一个周期内完成,只有Load/Store指令访存

1. 指令的作用

指令由【操作码】和【地址码】构成

  • 操作码:规定该指令是执行的是什么操作,例如数据【0001】代表着加法,【0010】代表减法等等
  • 地址码:规定该指令操作对象的地址位置

在这里插入图片描述
一个完整的程序包括数据部分和指令部分存储在主存中,在程序执行的时候首先要读取指令,再根据指令内容进行对应的操作
假设【0000 1000】为取数操作:

  • 取指令阶段:PC = 0,读取主存位置为0的指令到指令寄存器IR中(PC自动+1,用于读取下一条指令)
    最后指令寄存器交由控制单元CU识别后得到该指令为取数操作

    在这里插入图片描述
  • 取数阶段:根据控制单元得到的是取数操作,则将地址码交给 MAR =【0000 0100】,从而读取主存地址为(4)内的数据 = 【0000 0000 0000 0011】
    在这里插入图片描述

2. 操作码

操作码代表了计算机的各种操作,而这些操作的分类如下:

  1. 数据传送:
    (1)Load:将【存储器】的数据加载到【寄存器】中
    (2)Store:将【寄存器】的数据存储到【存储器】中
  2. 算术逻辑操作:
    (1)算术运算:加、减、乘、除、加一、减一、求补码等
    (2)逻辑运算:与、或、非、异或等
  3. 移位操作:
    算术移位、逻辑移位、循环移位
  4. 转移操作:
    无条件转移、条件转移、陷入指令等

3. 地址码

0. 零地址指令:无地址码,如空操作、停机、关中断等等
且零地址指令用于堆栈计算机,两个操作数放在栈顶和次栈顶,计算结果压回栈顶
在这里插入图片描述

1. 一地址指令:地址码仅包含一个地址

  • 只对单个数据进行操作:如加一、减一、取反等操作
    例如将A1地址的数据【x】取出后加一,然后将【x+1】放回地址为A1的内存中
    访存次数 = 3次:【取指令】、【读A1】、【写A1】
    在这里插入图片描述
    在这里插入图片描述
  • 对两个数据进行操作:其中另一个数存在与CPU的寄存器中,例如ACC累加寄存器
    访存次数 = 2次:【取指令】、【读A1】
    在这里插入图片描述
    注意:A1代表地址,(A1)代表地址A1中的数据

2. 二地址指令:地址码部分包括两个地址,用于两个数据的算术运算以及逻辑运算

  • 例如:取出地址A1和地址A2的两个数,进行加法运算,得到的结果放回A1地址中

访存次数 = 4次:【取指令】、【读A1】、【读A2】、【写A1】

在这里插入图片描述

3. 三地址指令:地址码部分包括三个地址,和二地址指令不同在于最后得到的结果存放在第三个地址中
访存次数 = 4次:【取指令】、【读A1】、【读A2】、【写A3】
在这里插入图片描述

4. 四地址指令:地址码部分包括四个地址,第四个地址代表着下一条指令的地址,常用于指令的跳转

  • 例如执行完第十条指令后重新跳转到第一条指令,从而实现了循环的过程,就像代码的循环语句

访存次数 = 4次:【取指令】、【读A1】、【读A2】、【写A3】
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小-黯

免费的,尽力

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

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

打赏作者

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

抵扣说明:

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

余额充值