6-1指令系统的基本概念

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指令系统:一台计算机的所有指令的集合,是软件 和硬件的主要界面。
• 程序员所能看到的机器的主要属性 • 表明计算机具有哪些最基本的硬件功能
4
完善的指令系统应具备的特征
完备性
• 指令功能齐全、足够使用
高效性
• 所编写的程序占据存储空间小、执行速度快
规整性
• 对称性:所有的寄存器和存储单元都可同等对待,所有的 指令都可使用各种寻址方式 • 匀齐性:可以支持各种数据类型 • 指令的格式和数据格式的一致性
• 15条3地址指令,15条2地址指令,15条1地址指令,16条零地址指令
18
指令的类型
数据传送类指令
• 用于实现通用寄存器之间、通 用寄存器与存储单元之间、存储 器不同单元之间的数据传送
程序控制类指令
• 转移类指令 • 子程序调用与返回指令 • 循环控制指令
运算类指令
• 算术运算 • 逻辑运算
15
指令中操作码格式
定长操作码,变长指令字
• 操作码的长度固定,且集中放在指令字的一个字段中
操作码长度n位与操作种类N种之间的关系: N≤2n
• 指令的长度随操作数的个数而变化。 • 操作码规整,有利于简化操作码译码器的设计
但字段的位使用率不高
• 在字长较长的计算机以及RISC上广泛使用,如IBM370机、 VAX-11
指令中地址码格式
零地址指令
OP 这种指令有两种可能: • 指令不需要操作数,如停机指令(HALT)、空操作指令(NOP) 等。 • 所需的操作数是默认的,如默认在堆栈中。
14
地址码个数
对存储空间占用、程序执行效率的影响
• 地址码个数越少,指令本身占用的存储单元少,取指令时间 短; • 但是,完成同样的功能,编程所用的指令条数就越多,程序 执行的时间就越长,并且整体上所占用的存储空间也不一定 小。
9
指令中地址码格式
二地址指令
OP A2 A1
指令完成的操作:(A1)OP(A2)—>A1(或A2) (PC)+1—>PC 保存结果的操作数称为目的操作数地址Ad,另一个操 作数称为源操作数地址As。
10
指令中的地址码格式
一地址指令格式
OP A1
•只有一个操作数,比如求补,求反等操作。 OP(A1) →A1,(PC)+1—>PC •需要两个操作数,但另一个操作数 “隐含”于累加器Acc中 •累加器Acc既是源操作数,也是目标操作数 (Acc) OP (A1) → Acc,(PC)+1—>PC •累加器(Accumulator)结构易造成性能瓶颈 •一般用在某些字长较短的微型机中(如早期的Z80、 Intel 8080等) 11
四地址指令
OP A4 A3 A2 A1
• 指令完成的操作:(A1)OP(A2)—>A3 A4=下一条将要执行指令的地址 • 直观但指令的长度太长
目标:大的地址范围,短的地址码长度
• 缩减地址码长度的措施:用PC指明后继指令地址
8
指令中地址码格式
三地址指令
OP A3 A2 A1
程序计数器PC(Program Counter)存放将要执行的指 令地址 指令完成的操作:(A1)OP(A2)—>A3 (PC)+1—>PC
输入输出(I/O)类指令
• 输入输出类指令完成主机与外 围设备间的数据传送
移位类指令
• 按移位方向:左移和右移; • 按移位方式:算术移位、逻辑 移位和循环移位;
其他指令
19
16
指令中操作码格式
变长操作码,定长指令字
• 采用扩展操作码的方式,即操作码位数随地址码数量的减少 而增加。 • 有效利用指令字长
在字长较短的微型机上广泛使用

某机器的指令长度是16位,包括4位基本操作码字段和3个4 位地址码字段,其格式如下: OP (4位) A3 (4位) A2 (4位) A1 (4位) 试给出一种扩展操作码的方案 。 17
兼容性
• 系列机各种机型具有相同的基本结构和共同的基本指令集 5
指令的格式 指令的基本格式:
操作码字段 OP 地址码字段 A
OP用于说明该指令操作的性质及功能; A地址码用来给出被操作对象的信息。包括参加运算的 操作数或操作数的地址、运算结果的保存地址及下一条 指令的地址等
6
指令字长
D15
D12
D11
D8
D7
D4
D3
D0
OP
3地址指令 2地址指令 0000~1110 1111
A3
地址码3 0000~1110
A2
地址码2 地址码2
A1
地址码1 地址码1
1地址指令
0地址指令
Байду номын сангаас
1111
1111
1111
1111
0000~1110
1111
地址码1
0000~1111
该机器指令系统可以有61条指令
指令字长
• 一条指令中包含二进制代码的位数 • 取决于操作码的长度、操作数的地址的长度和操作数地址 的个数 • 指令的长度有固定的,也有不固定的。为了充分利用存储 空间,指令的长度通常为存储器字长的整数倍。 指令字长=操作码的长度+地址码的长度
决定指令系 统的规模
决定寻址空 间的大小
7
指令中地址码格式
第六章 指令系统 及汇编语言程序设计
不以规矩 不成方圆
本章内容
6.1 6.2 6.3 6.4 6.5 指令系统的基本概念 寻址方式 RISC技术 指令系统举例 汇编语言程序设计
2
6.1 指令系统的基本概念
基本概念
程序:由一系列有序的指令构成。 指令:执行某种基本操作的命令。
• 由一组二进制代码表示,指示计算机硬件完成指定的基本操 作
相关文档
最新文档