当前位置:文档之家› 第四章_指令系统

第四章_指令系统


零地址指令
OP
① 无任何操作数运算,如NOP、HALT等指令。 ② 单操作数运算:隐含一个操作数,如Acc 。
OP (Acc) Acc
如CBW指令
一地址指令 ① 单操作数运算:
OP
A1
OP (A1)
A1
如INC指令
如MUL指令
17
② 双操作数运算:隐含一个操作数,如Acc
(Acc) OP (A1) Acc/A1
10
4.1.2
指令系统性能的要求
指令系统的性能决定了计算机的基本功能,它的设计直接关系 到计算机的硬件结构和用户的需要。
一个完善的指令系统应满足如下四方面的要求
完备性
常用指令齐全,编程方便;
有效性
程序占用内存少,运行速度快;
规整性
指令和数据的使用规则统一,易学易记;
兼容性
同一系列的低档计算机的程序能够在新的高档计算机上运行。
4.2.2 地址码(2/2)
两地址指令
OP A1 A2
功能: (A1) OP (A2) A1
三地址指令
OP A1 A2
如ADD、XOR等指令
A3
功能: (A1) OP (A2) A3
多地址指令(如四地址) 这类指令功能强,一般用高档小型机或中大型机,用于实 现成批数据处理,字符串处理、向量或矩阵运算指令等。
因此,零地址码指令最多有 [(28-K)×212 -L] ×212条。
25
4.2.3
机器字长
指令字长度
运算器一次能处理的二进制数的位数。 机器指令的长度直接决定着CPU运算的精度和直接寻址能 力的大小;
指令字长
一个指令字中包含二进制代码的位数; 指令字长由操作码长度、操作数长度和个数共同决定。
18
两地址指令的分类
存储器-存储器(SS)型指令
OP
根据操作数的物 理位置分。
A1 A2
A1、A2均为存储单元;
这类指令的执行需要多次访存。
哪种类型指令执行速度 寄存器-寄存器( RR)型指令
较快,哪种指令较慢? A1、A2均为寄存器(通用寄存器、专用寄存器); 为什么?
这类指令的执行不需要访存,因此速度很快。
A2 A1
A1 0000 1111 0000 0000
A3 A2
12条二地址指令 A2 A1 32条一地址指令 A1 0000 16条零地址指令 1111
23
8 位操作码
12 位操作码
16 位操作码
此指令系统共具有75条指令
【例】某机指令字长32位,一个操作数地址为12位,有 双地址码、单地址码、零地址码3种格式的指令。 若采用扩展操作码的方式来设计指令,已知双地址码指 令K条,单地址码指令L条,问零地址码指令有多少条?
15 OP 10 9 8 7 源寄存器 4 3 变址寄存器 0 ——
位移量(16位)
双字长 ,操作数的数目为____ 两 个。 双字长二 ① 指令字长为_________ 地址指令 ② 操作码字段OP为____ 6 位,可以指定_____ 64 种操作。
16 个,另一个操作 ③ 一个操作数在源寄存器,该类寄存器共____ 存储器 中,所以该类指令是____ 数在________ RS 型指令。
3
4.1 指令系统的发展和性能要求
4.1.1 指令系统的发展 4.1.2 对指令系统性能的要求 4.1.3 低级语言与硬件结构的关系
4
4.1.1 指令系统的发展
程序——用于解决实际问题的一系列的指令;
指令——使计算机执行某种操作的命令;
从组成的层次结构来说,计算机的指令可分为如下3类: 微指令:微程序级的命令,它属于硬件; 机器指令(指令):可完成一个独立的算术或逻辑运算; 宏指令:由若干条机器指令组成的软件指令,它属于软件;
指令有半字长、单字长、双字长、多字长等不同的长度类型;
指令系统可分为等长指令字结构、变长指令字结构两种。
26
4.2.4 指令助记符
指令助记符
使用3~4个英文缩写字母来表示的指令操作码。
在不同的计算机中,指令助记符的规定是不一样的;
指令助记符只是指令操作码字段的一种表示方法;
机器内部保存的还是二进制代码形式的机器指令;
...... 1110 A1 A2 A2 A3 A3
15条三地址指令
如果采用操作码扩展方法能否设计一
1111 0000 A1 A2 8 位操作码 ...... 15条二地址指令 个具有三地址指令15条,双地址指令 1111 1110 A1 A2
12 位操作码
12条,单地址指令 条以及零地址指 1111 1111 0000 31 A1
11
指令系统的规整性要求
规整性包括对称性、匀齐性、指令格式和数据格式的 一致性三方面的要求。 对称性 所有的指令都可使用各种寻址方式;
匀齐性
一种操作性质的指令可以支持各种数据类型; 指令格式和数据格式的一致性
指令长度和数据长度有一定的关系,以方便处理和 存取;
12
4.1.3 低级语言与硬件结构的关系
操作码长度为32位 操作码的可扩展位为32-20=12位。
24
【例】某机指令字长32位,一个操作数地址为12位,有 双地址码、单地址码、零地址码3种格式的指令。 若采用扩展操作码的方式来设计指令,已知双地址码指 令K条,单地址码指令L条,问零地址码指令有多少条?
由以上分析的指令格式,及题目可知: 双地址码指令最多有28条; 可用于扩展单地址码指令的编码有(28-K)个; 单地址码指令最多有(28-K)×212条: 可用于扩展零地址码指令的编码有[ (28-K)×212-L]个;
由汇编或编译程序,将助记符翻译成机器代码。
27
4.2.5 指令格式举例(1/2)
P110 【例1】 某16位系统中,指令格式如下所示,其中OP为操作码,试分 析指令格式的特点。
15 OP 9 8 —— 7 源寄存器 4 3 目的寄存器 0
单字长 ,操作数的数目为____ 两 个。 单字长二 ① 指令字长为_________ 地址指令
如Pentium系列PC机。
7
CISC
CISC(complex instruction set computer) 采用复杂的的指令系统,来达到增强计算机的功能、提 高机器速度的目的。 特点: 1. 指令系统复杂庞大,指令数目多; 2. 指令格式多,字长不固定,多种寻址方式; 3. 可访存指令不受限制;
...... 令16 条的指令系统? 1111 1111 1110 A1
15条一地址指令
1111 1111 1111 16 位操作码 ...... 1111 1111 1111
0000
16条零地址指令
1111
此指令系统共具有61条指令
22
操作码扩展举例(3/3)
4 位操作码
0000 A1 ...... 1110 A1 1111 0000 ...... 1111 1011 1111 1100 ...... 1111 1101 1111 1110 ...... 1111 1110 A2 A3 15条三地址指令
复杂指令系统计算机(CISC)、精简指令系统计算机(RISC)
6
系列计算机
基本指令系统、基本体系结构相同的一系列计算机;
但具体的器件、结构和性能都不会完全相同;
一般,新机种在各方面要优于旧机种。 一个系列往往有多种型号,各型号计算机的指令系统是 向下兼容的。 新机种的指令系统包含旧机种的全部指令;
OP A1 A2 A3
① 若全是三地址指令,则最多能有多少条指令? 操作码为4位的,则指令条数为24=16。
② 若三地址指令需15条 ─┐
两地址指令需15条 单地址指令需15条 │ 应如何安排? │
零地址指令需16条 ─┘
可使用操作码扩展技术,缩短固定操作码长度;
21
操作码扩展举例(2/3)
4 位操作码 0000 A1
寄存器-存储器(RS)型指令
A1、A2中一个为寄存器,一个为存储单元;
执行此类指令时,既要访问内存单元,又要访问寄存器。
19
指令的操作码扩展技术(补充)
一个指令系统中 若操作码长度固定 且指令格式不同; 指令格式如右:
OP OP OP OP A1 A1 A1 A2 A2 A3
无用 无用 无用
4. 各种指令的执行时间相差很大;
5. 大都采用微程序控制器;
8
RISC
RISC(Reduced instruction set computer) 从简化指令系统和优化硬件设计的角度来提高系统的性能 与速度。 RISC指令系统的主要特点: 1. 选取使用频率高的简单指令; 2. 指令长度固定,指令格式少,寻址方式种类少; 3. 采用流水线技术; 4. 使用较多的通用寄存器,减少访存; 5. 控制器以组合逻辑控制为主; 6. 采用优化编译技术;
固定长度的操作码
特征:所有指令长度均相同。
优点:控制简单,速度快,适用于指令条数不多的场合。
可变长度的操作码
特征:频繁使用的指令用位数较少的操作码;
不常使用的指令可利用操作码扩展技术进行扩展;
优点:充分利用软硬件资源,适用于大规模的指令系统。
16
4.2.2 地址码(1/2)
一条指令格式中有几个地址码字段,就称为是几地址指令;
无用 无用
无用
操作码字段长度取决于指令系统中的指令总数目; 地址码较少的指令,编码浪费; 操作码扩展 对于不需要某个地址码的指令,把它们的操作码扩充到该 地址字段; 既充分利用指令字的各字段,又在不增加指令长度的情况 下扩展操作码的长度。
20
操作码扩展举例(1/3)
设某指令长16位,包括4位基本操作码字段和3个4位地址码 字段。
相关主题