计算机组成原理复习 --- 第四章 指令系统

4.1 指令概述

计算机的指令有微指令、机器指令和宏指令。微指令为微程序级的命令,主要面向硬件,宏指令是由若干机器指令组成的软件指令,它是面向软件的。机器指令主要处在微指令和宏指令之间。

指令系统:一台计算机中所有机器指令的集合,称为这台计算机的指令系统。

指令是设计一台计算机的硬件和底层软件的接口。

指令:引起计算机执行某种操作的最小的功能单位

一个完善的计算机系统应具有以下四方面要求RISC

  • 完备性
  • 有效性
  • 规整性
  • 兼容性

低级语言中机器语言(二进制语言)和汇编语言都是面向机器的语言。

计算机能够直接识别和执行的唯一语言是二进制语言,借助编译器或汇编器将符号语言(汇编语言)和高级语言翻译为二进制码组成的机器语言。

4.2 指令格式(重点)

机器指令是用机器字来表示的,表示一条指令的机器字,就称为指令字,通常称为指令

一条指令的结构通常为:

操作码字段OP + 地址码字段 A

地址码 何处取操作数,操作数的地址

操作码 做什么操作

n位的操作码最多能够表示2^n条指令。

# 一个指令系统只有八位,则只需要3位作为操作码  即2^3 = 8
# 一个指令系统有32位,则需要5位操作码,2^5 = 32 

指令字的长度:包含的二进制代码的位数,机器字长是指计算机能直接处理的二进制数据的位数。

单字长指令:指令字长 = 机器字长

半字长指令:指令字长 = 1/2机器字长

双字长指令:指令字长 = 2机器字长

指令格式

  • 定长的操作码(优点:硬件设计简单提高了指令译码和识别速度 ;缺点:指令长度较短,操作地址位数不足。用于字长较大的指令系统)
  • 变长的操作码(优点:在较短的指令字表示出较多的指令条数;缺点:硬件设计复杂,指令译码和识别速度慢)
  • 操作码与操作数地址有所交叉(不常用)

地址码来源:CPU内部寄存器、内存单元、外设接口寄存器

四地址指令(淘汰):寻址空间2^9 A1第一操作数 A2第二 A3结果 A4下一条指令(访问内存次数过多5次)

三地址指令:寻址空间2^12 A1 A2 A3(访问四次) (A1 OP A2 -> A3)

二地址指令:寻址空间2^18 A1放操作数也放结果 A2 PC–下一条指令地址(访问四次) (A1 OP A2 -> A1)

单地址指令:寻址空间2^36 A1 ACC(累加器)放一个操作数又放结果,PC–下一条指令地址 (A1 OP AC -> AC)

零地址指令:操作数由堆栈提供

在二地址指令中,从操作数的物理位置又可分为:存储器-存储器 SS,寄存器-寄存器 RR,寄存器-存储器 RS

SS:参与操作的数都放在内存中,需要多次访问内存

RR:不需要访问内存

RS:既要访问寄存器还要访问内存

指令助记符

由于硬件只能识别0/1,所以采用二进制操作码,将指令采用3-4个英文字母的缩写来表示指令,缩写码称为指令助记符。

#典型的指令助记符#
加法   ADD  001
减法   SUB  010
传送   MOV  011
跳转   JMP  100
转子   JSR  101
存数   STO  110
取数   LAD  111

例题

在这里插入图片描述

如图指令格式,其中OP为操作码,分析指令格式的特点。

  1. 单字长二地址指令
  2. 操作码地段OP可以指定128条指令 2^7
  3. 源寄存器和目标寄存器都是通用寄存器是RR型指令
  4. 这种指令结构常用于算术逻辑运算类指令。
4.3 寻址方式

通过PC寻找指令,本次寻址?寻找操作数的地址

形式地址:指令中给出的地址

有效地址:操作数的真正地址(物理地址)

取指令–>分析指令–>执行指令

寻址方式分为两类:指令寻址方式和数据寻址方式

指令寻址又分为顺序寻址方式和跳跃寻址方式

数据寻址方式

  • 立即寻址:指令的地址码就是操作数;
  • 直接寻址:指令中的形式地址就是操作数的有效地址;
  • 间接寻址(一次间址/多次间址):形式地址是操作数有效地址的地址;
  • 隐含寻址:操作数隐含在累加器中;
  • 变址寻址:IR(变址)+D(形式地址) = 有效地址EA;
  • 基址寻址:将变址变为基址;
  • 复合寻址:变址和间址的复合(先变后间/先间后变);
  • 相对寻址:主要用于转移指令
  • 堆栈寻址:通过堆栈指针SP给出操作数地址

RISC精简指令系统特点:

  • 选取使用频率最高的一些简单指令,条数少;
  • 指令长度固定,格式种类少,寻址方式少;
  • 只有取数 存数指令访问存储器,其余指令操作都在寄存器间执行,速度快。
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值