计算机组成原理-cpu指令系统

  1. 机器指令
  2. 操作数类型和操作类型
  3. 寻址方式
  4. 指令格式举例
  5. RISC技术

指令系统是软件和硬件之间的桥梁

机器指令

指令格式:
操作码:[做啥操作]
长度固定、以及可变
扩展操作码:操作码位数随地址数的减少而增加
在这里插入图片描述
地址码
地址码用来指出该指令的原操作数的地址(一个或两个)、结果的地址以及下一条指令的地址。
在这里插入图片描述

四地址 —PC—>三地址-->二地址(操作结果存储在ACC)--》一地址--》0地址(将数据全部存储在ACC中)
减少地址码个数,增加地址码寻址范围。

寻址方式

指令字长:固定、可变
取决于:

  1. 操作码长度
  2. 操作数地址长度
  3. 操作数地址个数

小结:
当用一些硬件资源(寄存器)代替指令中地址码后:

  • 可扩大寻址范围
  • 缩短指令字长
  • 减少访存次数

当指令的地址字段为寄存器时:

  • 缩短指令字长
  • 指令执行阶段不访存

操作数类型和操作种类

操作数类型
地址、数字、字符、逻辑数
地址 | 无符号整数
字符 | ASCII
数字 | 定点、浮点、十进制
逻辑数 | 逻辑运算

数据在存储器中存放方式
在这里插入图片描述
字节编址

  1. 从任意位置开始存储
    按顺序存储,优点:空间利用率高,缺点,访存效率低
  2. 从一个存储字的起始位置开始访问
    任意一个周期内均可访存完成,缺点:空间浪费
  3. 边界对齐方式
    数据存放的起始地址是数据长度的整数倍,从地址整数倍开始访问。[由于不同的机器数据字长不同,每台机器处理的数据字长也不统一,为了便于硬件实现,通常要求多字节的数据在存储器的存放方式能满足“边界对准”的要求。]
    在这里插入图片描述
    本方法优点兼顾以上两种。

操作类型

  1. 数据传送[move、store、load、pop、push]
  2. 算数逻辑操作
  3. 移位操作[算数、逻辑]
  4. 转移[1.有条件2.无条件3.调用和返回、跳过下一条指令,如果=0就跳转]
  5. 陷阱和陷阱指令[异常《空指针、下标越界》]
  6. 输入输出[IO对外部设备端口内容传输到cpu寄存器中]

寻址方式

下一条指令的地址

指令寻址
指令寻址分顺序寻址和跳跃寻址。顺序寻址可通过程序计数器PC加1,自动形成下一条指令的地址;跳跃寻址则通过转移类指令来实现。

数据寻址
在这里插入图片描述

  1. 立即寻址
  2. 直接寻址
  3. 隐含寻址
  4. 间接寻址[操作数地址保存在指定内存单元中、2次访存]
    间接寻址执行指令阶段有2次访存,可以扩大寻址的范围,便于编制程序。
  5. 寄存器寻址[有效地址就是寄存器编号、不访存、CPU内部访问寄存器就够了]
  6. 寄存器间接寻址[操作数地址保存在内存中、便于编写循环程序]
  7. 基址寻址[专用的寄存器作为基址寄存器]
    基址寻址EA=(BR)+ A,其中BR为基址寄存器(专用),也可用通用寄存器作为基址寄存器。
  8. 变址寻址[便于处理数组循环遍历问题]
  9. 相对寻址[相对当前指令的偏移量]
  10. 堆栈寻址

指令格式

设计指令格式时考虑的因素包括指令系统的兼容性,操作类型,数据类型,指令格式,寻址方式和寄存器个数等。
在这里插入图片描述

RISC

简化指令集计算机
80-20规律

  1. 80-20规律是指典型程序中80%的语句仅仅使用处理机中20%的指令。
  2. 执行频率高的简单指令,因为复杂指令存在,执行速度无法提高。

RISC技术
使用20%的简单指令组合的方式,实现80%复杂指令的功能。

RISC特征
在这里插入图片描述
CISC特征
在这里插入图片描述
RISC 比较 CISC
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值