第四章_指令系统

合集下载

计算机组成原理第4章指令系统课件

计算机组成原理第4章指令系统课件

4.2 指令的格式
4.2.1 指令的编码格式
操作码OC
AC1
AC2
(1)把保存操作前原来操作数的地址称为源点地址(SS), 把保存指令执行结果的地址称为终点地址或目的地址(DD)。
(2)将源点与终点操作数进行操作码规定的操作后,将 结果存入终点地址。通常二地址指令又称为双操作数指令。
ADD R0,R1表示将R0寄存器的内容和R1寄存器的内容相加以
5 异或XOR
XOR指令对两个操作数进 行按位异或运算。
4.4 指令的种类
4.4.4 移位、循环类指令
CF
位移指令SAL/SHL操作示意图
CF
SAR操作示意图
CF 0
SHR操作示意图
4.4 指令的种类
4.4.4 移位、循环类指令
不带进位标志的循环左移指令ROL MSB 操作数 LSB
CF
不带进位标志的循环右移指令ROR MSB 操作数 LSB
例如:在IBM-PC指令系统中
MOV
AX,05FFH
4.3 寻址方式
4.3.2 常用的寻址方式
2.直接寻址方式
(1)含义: 是指地址字段直接指明操作数在存储器内的位置的寻址 方法。即形式地址等于有效地址。 (2)优缺点: A、优点:简单,不需要进行加法运算。 B、缺点:地址空间指令地址字段长度的限制。
4.2 指令的格式
4.2.3 指令助记符
通常采用一些符号来代表二进制数据,这些符号即指 令助记符。
指令助记符 ADD SUB MUL DIV
助记符示例
含义
指令助记符
相加
AND
相减
OR
相乘
LOAD
相除
STORE

第四章 指令系统[一]

第四章  指令系统[一]

译码开始
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器
4:16译码器 : 译码器

15条三地址指令 15条三地址指令

14条二地址指令 14条二地址指令

31条一地址指令 31条一地址指令

16条零地址指令 16条零地址指令
图4.1 指令译码逻辑图

注意事项: 注意事项: • 短操作码不能与长操作码 的前面代码部分相同; 的前面代码部分相同; • 各指令的操作码一定不能重复,而且各类指令的 各指令的操作码一定不能重复, 格式安排应统一规整. 格式安排应统一规整.
例1(P151.题2):假设某计算机指令长度为20位,具有双操作 1(P151.题2):假设某计算机指令长度为20位 假设某计算机指令长度为20 单操作数、无操作数三类指令形式, 数、单操作数、无操作数三类指令形式,每个操作数地址 规定用6位表示, 规定用6位表示,问: 若操作码字段固定为8 现设计出m条双操作数指令,n 若操作码字段固定为8位,现设计出m条双操作数指令,n 固定为 条无操作数指令,在此情况下, 条无操作数指令,在此情况下,这台计算机最多可以设计出 多少条单操作数指令? 多少条单操作数指令? 解 : 2 8 - m - n条
(1) 三个容易混淆的基本概念
• 指令字长:一条指令中包含二进制代码的位数. 指令字长:一条指令中包含二进制代码的位数. • 存储字长:存储单元中二进制数的位数. 存储字长:存储单元中二进制数的位数. • 机器字长:计算机能直接处理的二进制数据的 机器字长: 位数,通常与主存单元的位数一致. 位数,通常与主存单元的位数一致.
例:设某机器的指令字长为16位,包括基本操作码4位 设某机器的指令字长为16位 包括基本操作码4 16 和三个地址字段,每个地址字段长4 其格式为: 和三个地址字段,每个地址字段长4位,其格式为: 15 12 11 A1 OP 8 7 A2 4 3 A3 0

第4章 指令系统

第4章 指令系统

3. 规整性
规整性包括指令系统的对称性,匀齐性,指令 格式和数据格式的一致性.对称性是指:在指 令系统中所有的寄存器和存储器单元都可同等 对待,所有的指令都可使用各种寻址方式.匀 齐性是指:一种操作性质的指令可以支持各种 数据类型.
4.兼容性 兼容性
系列机各机种之间具有相同的基本结构和共 同的基本指令集,因而指令系统是兼容的,即 各机种上基本软件可以通用.但由于不同机种 推出的时间不同,只能做到"向上兼容" .
目前在指令操作码设计上主要采用以下两 种编码方式 1. 固定长度操作码 操作码的长度是固定的,且集中放在 指令字的一个字段中,指令的其余部分全 部用于地址码.例如IBM370机和VAX-11系 列机,操作码的长度均为8位,可表示256 种不同的操作. 2. 可变长度操作码
4.2.2 地址码
地址码用于指定操作数和存放运算结果的地址, 通常称为操作数.操作数可以是一个直接的数或者 是一个数据所在的地址,它以空格与操作码分开.
例如: MOV AX,[SI]
假如用户用高级语言编程,根本不用 考虑寻址方式,因为这是编译程序的事,但 若用汇编语言编程,则应对它有确切的了解, 才能编出正确而又高效的程序.此时应认真 阅读指令系统的说明书,因为不同计算机采 用的寻址方式是不同的,即使是同一种寻址 方式,在不同的计算机中也有不同的表达方 式或含义. 思考:设计指令系统时,数据的寻址方式 越多越好吗?为什么?
4.直接寻址 指令中的形式地址A就是操作数的真实 地址EA,这种寻址方式称为直接寻址方式, 又称为绝对寻址方式.如图5-3所示.
OP 寻址特征 A 主存 A 操作数
图5-3 直接寻址方式
例如: MOV AL,[0080H] MOV AX,[1000H]

《计算机组成原理》教程第4章指令系统

《计算机组成原理》教程第4章指令系统

4
二 指令的格式
即指令字用二进制代码表示的结构形式
包括 操作码:操作的性质 操作码 地址码:操作数(operand)的存储位置,即参加操作的 operand , 地址码 数据的地址和结果数的地址
操作码域(op) 地址码域(addr)
5
1.操作码 操作码
指令的操作码表示该指令应进行什么性质的操作。 组成操作码字段的位数一般取决于计算机指令系统的 规模。 固定长度操作码:便于译码,扩展性差 . 可变长度操作码:能缩短指令平均长度 操作码的的位数决定了所能表示的操作数,n位操 作码最多表示2n种操作
(2). 堆栈工作过程 .
(一)进栈操作 ① 建立堆栈,由指令把栈顶地址送入SP,指针 指向栈顶。 ② 进栈:(A)→Msp, (sp)-1→SP ;Msp:存储 器的栈顶单元 (二)出栈操作 (SP)+1→SP, (Msp)→A
22
五.指令类型
一个较完善的指令系统应当包括: 数据传送类指令: 例)move、load、store等 算术运算类指令: 例)add、sub、mult、div、comp等 移位操作类指令: 例) shl,shr,srl,srr 逻辑运算类指令: 例)and、or、xor、not等 程序控制类指令: 例)jump、branch、jsr、ret、int等 输入输出指令: 例)in、out等 字符串类指令: 例)如alpha中cmpbge、inswh、extbl等 系统控制类指令: 例)push、pop、test等
18
10) *段寻址方式 段寻址方式 Intel 8086 CPU中采用了段寻址方式(基址寻址的特例)。 由16位段寄存器和16位偏移量产生20位物理地址 11)*自动变址寻址 自动变址寻址 指在变址方式中,每经过一次变址运算时,都自动改变变址寄存 器的内容,以后在PDP-11中详讲.

计算机原理 第四章指令系统

计算机原理 第四章指令系统

4. 寄存器间接寻址方式
指令给出寄存器号,寄存器中存放着操作数的地址。
优点:寄存器的位数 较长(一般为机器字 长),足以访问整个 内存空间,这样既有 效地压缩了指令长度, 又解决了寻址空间太 小的问题。
主存单元 例: ADD (R1),(R2) R0 1000H 1000H 3A00H
R1
2C00H+ 3B00H → 3000H单元 R2
计 算 机 组 成 原 理
指令扩展举例 1
16位指令字 三地址指令范围 xxxx
0000 1110 1111 1111 1111 1111 1111 1111
xxxx xxxx xxxx
A1 A1 0000 1110 1111 1111 1111 1111 A2 A2 A1 A1 0000 1110 1111 1111 A3 A3 A2 A2 A1 A1 0000 1111
2.变长操作码,定长指令码。
操作码长度不固定,但指令码的长度固定。这种设计当操作码变 长时,地址码就缩短(地址个数变少),但指令字总长不变。 〔例〕 设某机器的指令长度为16位,包括基本操作码4位和三个 地址字段,每个地址字段长4位,其格式为: 15 14 13 12 OP 11 10 9 8 AD1 7 6 5 4 AD2 3 2 AD3 1 0
第四章
§4.1 指令格式
指令系统
(P148)
§4.2
寻址方式
§4.3 指令类型 §4.4 § 4.5 CISC和RISC 实验模型机的指令系统汇总表
§4.1 指令格式
计算机指令是计算机硬件能够识别并直接执行的操作命令,又称为 机器指令。
一、指令格式
一条指令应包括两方面的信息:操作码信息和地址码信息。 操作码OP 地址码AD

第4章 指令系统

第4章  指令系统
度和数据长度有一定的关系,以方便处理和
存取。
二、对指令系统性能的要求三
4、兼容性:
系列机各机种之间具有相同的基本结 构和共同的基本指令集,因而指令系统是 兼容的,即各机种上基本软件可以通用。但 由于不同机种推出的时间不同,在结构和性 能上有差异,做到所有软件都完全兼容是不 可能的,只能做到“向上兼容”,即低档机 上运行的软件可以在高档机上运行。
a、CISC:70年代后,大多数计算机的指 令系统多达几百条。我们称这些计算机 为复杂指令系统计算机(CISC)。
b、RISC:但是如此庞大的指令系统难以 保证正确性,不易调试维护,造成硬件 资源浪费。为此人们又提出了便于LSI技 术实现的精简指令系统计算机(RISC) 返回
二、对指令系统性能的要求一
4.4、指令和数据的寻址方式
一、指令的寻址方式 二、操作数寻址方式
三、寻址方式举例
一、指令的寻址方式一
1、寻址方式:形成操作数有效地址或指令 有效(偏移)地址的方式。 2、寻址方式分为两类,既指令寻址方式和 数据寻址方式。 3、指令的寻址方式有两种,一种是顺序寻 址方式,另一 种是跳跃寻址方式。 4、操作数或指令在存储器中的地址:某个 操作数或某条指令存放在某个存储单元 时,其存储单元的编号就是地址。请看 图示
答案:
退 出 上一页 下一页 上一节 下一节 返回节目录
例三答案:
三、低级语言与硬件结构的关系
高级语言 低级语言
Visual c++、foxpro、java
与软件结构和指令系统无关 编写的程序可在不同机器上 运行
汇编语言、二进制语言
与机器、指令系统密切相关 编写的指令系统不同,不同
机器用不同汇编语言编写程 序,机器唯一可识别的是二

ch04-指令系统

ch04-指令系统
把累加器A中的内容与源操作数所指的数
据相互交换。 (5条)
– – – – – XCH A, Rn XCH A, @Ri XCH A, direct XCHD A, @Ri SWAP A
堆栈操作指令
– PUSH direct • 先将堆栈指针SP的内容加1, 然后将direct 所指字节单元的内容送入SP所指内部RAM 单元;
40
逻辑与指令
用法(格式):ANL Dest , Source
– ANL A, Rn
– – – – – ANL ANL ANL ANL ANL A, direct A, @Ri A, #data direct, A direct, #data
A
B
Y
0
0 1
0
1 0
0
0 0
功能:Dest Dest & Source。
程序存储器数据传送指令
(1)指令格式 – 格式:MOVC A,[源字节] – MOVC A, @A+DPTR – MOVC A, @A+PC (2)操作数:目的操作数只能是累加器
A,源操作数则采用变址寻址方式。寄存 器 间 接 地 址 只 能 是 @A+DPTR 和 @A+PC 。
数据交换类指令
内部RAM之间的数据传送指令
共5条: – MOV direct1, direct2 – MOV direct , Rn – MOV Rn , direct – MOV direct ,@Ri – MOV @Ri ,direct
与累加器A有关的数据传送指令
共6条: – MOV A,Rn – MOV Rn , A – MOV A,direct – MOV direct , A – MOV A,@Ri – MOV @Ri , A

计算机组成原理-第4章_指令系统

计算机组成原理-第4章_指令系统

7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

零地址指令
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位地址码 字段。
相关文档
最新文档