计算机原理 第四章指令系统
计算机组成原理第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
《计算机原理学习指导》第四章指令系统综合练习题参考答案
《计算机原理学习指导》第四章指令系统综合练习题参考答案一、填空题1 、一个完善的指令系统应满足以下4个方面的要求,它们是:完备性、有效性、规整性和兼容性。
2、一条完整的指令是由操作码和地址码(操作数)两部分信息组成的。
3 、指令中的地址码字段包括源操作数的地址和操作结果数的地址(目的操作数的地址),前者用语指明操作数的存放处,后者用语存放运算的结果。
4 、指令格式按地址码部分的地址个数可以分为零地址指令格式、一地址指令格式、二地址指令格式和三地址指令格式。
5、常见的操作码方法有定长操作码和扩展操作码。
6、逻辑运算指令包括逻辑乘(与)、逻辑加(或)、逻辑非(求反)和异或(按位加)等操作。
二、单项选择题1、直接、间接、立即这 3 种寻址方式指令的执行速度有快到慢的排序是( C )A .直接、立即、间接B.直接、间接、立即C .立即、直接、间接D.立即、间接、直接2、指令系统中采用不同寻址方式的目的是(B)A .实现存储程序和程序控制B.缩短指令长度,扩大寻址空间,提高编程灵活性C .可以直接访问外存D.提高扩展操作码的可能并降低指令译码难度3、一地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常采用( C )A .堆栈寻址方式B.立即寻址方式C.隐含寻址方式 D .间接寻址方式4、对某个寄存器中操作数的寻址方式称为(C)寻址方式A .直接B .间接C .寄存器直接D.寄存器间接5、寄存器间接寻址方式中,操作数在(B)A .通用寄存器 B.主存单元C.程序计数器 D .外存6、变址寻址方式中,操作数的有效地址等于( C )A .基址寄存器内容加上偏移量B.堆栈指示器内容加上偏移量C .变址寄存器内容加上偏移量D.程序计数器内容加上偏移量7、扩展操作码是(D)A .操作码字段中用来进行指令分类的代码B.指令格式中不同字段设置的操作码C.操作码字段外用来操作字段的代码D.一种指令优化技术,即让操作码的长度随地址数的变化而变化8 A 、下面关于汇编语言的叙述中,不恰当的是( D ).对程序员的训练要求来说,需要硬件知识B.汇编语言对机器的依赖性强C.用汇编语言编写程序的难度比高级语言大D.用汇编语言编写的程序执行速度比高级语言慢9 A 、能够改变程序执行顺序的是( D ).数据传送类指令B.移位操作类指令 C .输入 /输出类指令 D .条件 /无条件转移类指令10 、以下的( D )不能支持数值处理A .算术运算类指令B.移位操作类指令C.字符串处理类指令D.输入/ 输出类指令三、名词解释题1 、指令:计算机能够识别和执行的操作命令2 、指令系统:一台计算机或一个计算机系统能够执行的各种指令的集合3 、指令字:一条完整的指令称为一个指令字4 、操作码:表示操作的性质及功能5 、地址码:表示指令的操作对象,指出操作数的地址6 、指令字长:等于地址码长度加上操作码长度7、定长操作码:让操作码的长度固定且集中放在指令字的一个字段中8、扩展操作码:操作码的长度可变且分散地放在不同的字段中9、寻址方式:指确定本条指令的地址及下一条要执行的指令地址的方法10、汇编语言:一种面向机器的程序设计语言,用助记符形式表示,属于低级程序设计语言11、机器语言:一种能被机器识别和执行的语言,用二进制数“0”和“1”形式表示12、 RISC :精简指令系统计算机13: CISC :复杂指令系统计算机,指具有大量指令的计算机系统四、简答题1、计算机指令中一般包含哪些字段?分别是什么含义?答:计算机指令中一般包含地址码和操作码两部分,地址码表示指令的操作对象,指出操作数的地址,操作码表示操作的性能及功能。
微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)
第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H
微机原理 第四章 微型计算机指令系统
例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H
…
78H 21000H 56H
青岛理工大学琴岛学院
4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。
例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP
《计算机组成原理》教程第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章_指令系统
7. 段寻址方式(Segment Addressing)
方法:E由段寄存器的内容加上段内偏移地址而形成。
应用:微型机采用段寻址方式,20位物理地址为16位 段地址左移四位加上16位偏移量。
分类:① 段内直接寻址; ② 段内间接寻址; ③ 段间直接寻址; ④ 段间间接寻址;
9 堆栈寻址方式
堆栈:是一组能存入和取出数据的暂时存储单元。
*** 指令字长度
概念 指令字长度(一个指令字包含二进制代码的位数) 机器字长:计算机能直接处理的二进制数据的位数。 单字长指令 半字长指令 双字长指令
多字长指令的优缺点
优点提供足够的地址位来解决访问内存任何单元的寻址问题 ; 缺点必须两次或多次访问内存以取出一整条指令,降低了CPU的运 算速度,又占用了更多的存储空间。
*** 指令系统的发展与性能要求
*** 指令系统的发展
指令:即机器指令,要计算机执行某种操作的命令。
指令划分:微指令、机器指令和宏指令。
简单
复杂
指令系统:一台计算机中所有指令的集合;是表征
计算机性能的重要因素。
系列计算机:基本指令系统相同、基本体系结构相同 的一系列计算机。
*** 对指令系统性能的要求
(2)立即数只能作为源操作数,立即寻址主要用来给寄存 器或存储器赋初值。以A~F开头的数字出现在指令中时,前 面要加0。
(3)速度快(操作数直接在指令中,不需要运行总线周期)
(4)立即数作为指令操作码的一部分与操作码一起放在代 码段区域中。
(5)指令的长度(翻译成机器语言后)较长,灵活性较差。
【例】MOV AX, 10H 执行后(AX)=? 其中:这是一条字操作指令,源操作数为立即寻址 方式,立即数为0010H,存放在指令的下两个单元。
计算机组成原理-第4章 指令系统
0000 0001
AA11
AA22
AA33
…
…
…
…
1110 A1 A2 A3
1111 0000 1111 0001
AA22
AA33
…
…
…
…
1111 1110 A1 1111
0000 0001
AA33
…
…
…
…
1111 1111 1110 A3
1111 1111 1111 0000 1111 1111 1111 0001
操作码字段
地址码字段
•操作码:表征指令的操作特性和功能。不同指令有不 同编码。
•地址码:指定参与操作的操作数的地址。
4.2 指令格式
一、操作码设计 1、分类 • 固定长度操作码:操作码的长度固定,且集中放在指令字 的一个字段中 – 便于译码,扩展性差 • 可变长度操作码:操作码的长度可变,且分散放在指令字 的不同字段中 – 能缩短指令平均长度;指令的译码复杂
2、操作码位数的确定 1)要点:组成操作码字段的位数取决于指令系统的指令条数。 2)举例 • 指令系统8条指令8=23 3位操作码 • 指令系统32条指令32=25 5位操作码 • 指令系统2n条指令n位操作码
3) 扩展(可变长度)操作码技术
•基本思路: • 让操作数地址个数多的指令操作码 字段短些,让操作数地址个数少的 指令操作码字段长些
– 等长指令字结构:在一个指令系统中,各种指令字长度是相等的。结 构简单,取指快、译码简单
– 变长 指令字结构: …………………,…………………….不相等 结 构灵活,可提高编码效率,控制复杂
4.1指令系统的基本概念
4、指令系统:一台机器中所有机器指令的集合。它对计算机性能的影响主要体 现在三个方面: – 机器的硬件结构 – 机器的系统软件 – 机器的适用范围
计算机组成原理(白中英)第4章指令系统
计算机组成原理(白中英)第4章指令系统指令系统概述寻址方式指令系统20XX年3月15日10时45分概述指令:是指示计算机某种操作的命令。
微指令,机器指令,宏指令指令系统:一台计算机中所有机器指令的集合。
它是机器硬件设计的依据,也是软件设计的基础。
它决定了一台计算机硬件的主要性能和基本功能。
是硬件和软件间的界面。
系列计算机:有共同的指令集,相同的基本体系结构。
CISC和*****X年3月15日10时45分2一个完善的指令系统应满足:1.完备性:指令丰富,功能齐全,使用方便。
1.完备性:指令丰富,功能齐全,使用方便。
完备性 2.有效性程序占空间小,执行速度快。
有效性: 2.有效性:程序占空间小,执行速度快。
3.规整性对称性,匀齐性,规整性:3.规整性:对称性,匀齐性,指令格式和数据格式的一致性。
据格式的一致性。
4.兼容性兼容性:4.兼容性:向上兼容”----系列机中低档机上运行“向上兼容”----系列机中低档机上运行的软件可以在高档机上运行。
的软件可以在高档机上运行。
20XX年3月15日10时45分计算机语言与硬件结构的关系高级语言的语句和用法与具体机器的指令系统无关;低级语言分机器语言和汇编语言,他们和具体机低级语言分机器语言和汇编语言,器的指令系统密切相关。
器的指令系统密切相关。
汇编语言与硬件的关系密切,编写的程序紧凑、汇编语言与硬件的关系密切,编写的程序紧凑、占内存小、速度快,占内存小、速度快,特别适合与编写经常与硬件打交道的系统软件;打交道的系统软件;而高级语言不涉及机器的硬件结构,通用性强、编写程序容易,件结构,通用性强、编写程序容易,特别适合与编写与硬件没有直接关系的应用软件。
编写与硬件没有直接关系的应用软件。
20XX年3月15日10时45分4概述机器指令的要素C C C C 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
计算机组成原理 指令系统
本章所讨论的指令,是机器指令
本章学习内容
4.1 指令格式 4.2 寻址技术 4.3 堆栈与堆栈操作 4.4 指令类型
本章学习要求
理解:指令的基本格式以及不同地址码(3、2、1 、0地址)的双操作数指令的区别 理解:规整型指令和非规整型指令的特点 掌握:扩展操作码的方法 理解:编址单位和指令中地址码的位数与主存容量 、最小寻址单位的关系 掌握:基本的数据寻址方式和有效地址EA的计算方 法 掌握:自底向上的存储器堆栈的概念及堆栈的进、 出栈操作 理解:常用指令的特点
当用一些硬件资源代替指令字中的地址码字段后
• 可扩大指令的寻址范围
• 可缩短指令字长 • 可减少访存次数 当指令的地址字段为寄存器时
三地址
二地址 一地址
OP R1, R2, R3
OP R1, R2 OP R1
• 可缩短指令字长 • 指令执行阶段不访存
EXP 某指令字长为16位,每个地址码为6位,扩 展操作码技术,设有14条二地址指令,100条一 地址指令,100条零地址指令: 1)画出扩展图 2)计算操作码平均长度 3)指令译码逻辑
1.规整型
操作码字段的位数和位置是固定的。 假定:指令系统共有m条指令,指令中操 作码字段的位数为N位,则有如下关系式: N≥log2 m 规整型编码对于简化硬件设计,减少指 令译码的时间是非常有利的。 IBM 370机(字长32位)的指令可分为 三种不同的长度,不论指令的长度为多少位,其 中操作码字段一律都是8位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。
计算机组成原理_指令系统
4.1 指令系统的发展与性能要求 4.2 指令格式与 4.3 操作数类型 4.4 指令和数据的寻址方式 4.5 典型指令
返回
1
4.1 指令系统的发展与性能要求
1、指令在计算机系统中的地位 (1)是软件和硬件分界面的一个主要标志
– 硬件设计人员采用各种手段实现它;
– 软件设计人员则利Βιβλιοθήκη 它编制各种各样的系统软 件和应用软件
– 指令系统是表征一台计算机性能的重要因素,它的格式 与功能不仅直接影响到机器的硬件结构,而且也直接影
3
4.1 指令系统的发展与性能要求
3、发展情况 – 复杂指令系统计算机,简称CISC。但是如 此庞大的指令系统不但使计算机的研制 周期变长,难以保证正确性,不易调试 维护,而且由于采用了大量使用频率很 低的复杂指令而造成硬件资源浪费。 – 精简指令系统计算机:简称RISC,人们又 提出了便于VLSI技术实现的精简指令系统 计算机。
• Pentium数据类型(见P111表4.4)
– 常规数据类型 – 整数数据类型 – ……..
23
4.4 指令和数据的寻址方式
• 研究问题
– 确定本条指令中各操作数的地址 – 下一条指令的地址
• 寻址方式是指CPU根据指令中给出的地址码 字段寻找相应的操作数的方式,它与计算 机硬件结构紧密相关,而且对指令的格式 和功能有很大的影响。
30
2、立即寻址
• 特点:在取指令时,操作码和操作数被同时取出, 不必再次访问存储器,从而提高了指令的执行速 度。 • 但是,因为操作数是指令的一部分,不能被修改; • 而且对于定 长指令格式,操作数的大小将受到指 令长度的限制,所以这种寻址方式灵活性最差 • 通常用于给某一寄存器或主存单元赋初值,或者 用于提供一个常数。
计组第4章
CISC:
•复杂指令系统计算机。 •指令系统中指令数量多达几百条。
RISC:
•精简指令系统计算机。 •选取使用频率最高的简单指令,指令 条数少。
4.1.2 对指令系统性能的要求
一个完善的指令系统应满足如下 四方面的要求:
完备性 规整性
有效性
兼容性
完备性 是指用汇编语言编写各
种程序时,指令系统直接提 供的指令足够使用,而不必 用软件来实现。完备性要求 指令系统丰富、功能齐全、 使用方便。
《计算机组成原理》
第四章 指令系统
介绍几个基本概念
指令是指挥机器完成某种操作的命令。
指令系统是某台计算机能直接识别并正
确执行的所有指令的集合。
指令系统是表征一台计算机性能的重要
因素,是计算机软件与硬件的交界面。
主要内容
1. 2. 3. 4. 5. 指令系统的发展 指令的格式 寻址方式 指令的分类和功能 典型指令系统的模型
操作操作数指令操作码寄存器指令操作数寄存器直接寻址操作码存储器指令操作数直接寻址操作码操作数存储器寄存器指令存储器指令操作码操作数寄存器间接寻址存储器间接寻址操作码操作数pc指令存储器存储器寄存器指令操作码操作数变址寻址pc存储器寄存器指令操作码操作数存储器寄存器指令操作码操作数变址相对寻址间接变址寻址16位偏移量dop其中i为间接寻址标志位x为寻址模式字段d位偏移量字段
有效性是指利用该指令系统所编
写的程序能够高效率地运行。 高效率主要表现:
•
•
空间:在程序占据存储空间小;
时间:执行速度快。
规整性包括指令系统的对称性、匀齐性、
指令格式和数据格式的一致性。
• 对称性:指在指令系统中所有的寄存器 和存储器单元都可同等对待,所有的指 令都可使用各种寻址方式; • 匀齐性:指一种操作性质的指令可以支 持各种数据类型; • 指令格式和数据格式的一致性:指指令 长度和数据长度有一定的关系,以方便 处理和存取。通常都是字节的整数倍。
计算机组成原理第四章指令系统[一]
例如:Intel8086 中的立即寻址指令.
MOV Ax,2000H; 将立即数2000H存入累加器AX中
2.存储器直接寻址(Memory direct addressing):指令的地
4.1 指令格式
1.指令格式
操作码 地址码
• 操作码(Operation code):指明该指令执行 什么性质的操作,不同的指令有不同的操作 码.其位数反映了机器操作种类,即机器允许 的指令条数.
• 地址码:指明操作数所在的地址(Source operand reference),结果存放的地址(Result operand reference)以及下一条指令的地址 (Next instruction reference).
• 变长指令字结构:一个指令系统中,各种指令字 长度随功能而异.CISC采用变长指令字结构. 优点:使用灵活,充分利用指令的每一位,指令平均 长度短,码点冗余少,易于扩展; 缺点:指令格式不规整,取指令时需要多次访存,从 而导致不同指令的执行时间不同,硬件控制系统 复杂.
2.地址码结构
设计指令的地址码格式时需解决:
XXXX XXXX 0000 1 1 01 1110 1110 1110 1111 1111 1111 1111
YYYY YYYY YYYY YYYY 0000 0001 1111 0000 1110 1111 1111
ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ
ZZZZ 0000 1111
指令格式为:
设Data为操作数
微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H
被
ACH
加
74H
数
3BH
…
DATA2 C1H
36H
加
9EH
数
D5H
20H
…
图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)
白中英计算机组成原理第四章答案
第4章 指令系统
第一页,编辑于星期日:四点 四十三分。
3、指令格式结构如下所示,试分析指令格
单字长单地址指令
寻址方式 寻址特征X 有效地址E
直接寻址方式
00
E=D
立即寻址方式
01
D=Imm
剩余8位作为形式地址; 变址寻址方式
10
E=(R)+D
设计方案:
相对寻址方式
11
E=(PC)+D
方案1:专用变址寄存器;
方案2:通用寄存器作为变址寄存器;
第五页,编辑于星期日:四点 四十三分。
方案1:专用变址寄存器
6位
2位
OP 寻址特征
8位 形式地址
各操作数的寻址范围: 立即数寻址方式
指令中的立即数不能超过8位;
直接寻址方式
直接地址为8位,可直接寻址范围为28个单元;
变址寻址方式
E=(R)+D,其中变址寄存器R为16位; 由于主存容量64K字,可直接寻址整个主存空间;
相对寻址方式
E=(PC)+D,可直接寻址整个主存空间;
4位
形式地址D 18位
64种操作
操作码占6位;
16个通用寄存器一个操作数和基址寄存器各占4位;
单字长指令 形式地址占32 – 6 – 4 – 4 = 18位;
操作数S的地址E =(R1)+D,其中R1为32位的;
若系统的地址总线≤32位,则可寻址整个主存;
若系统的地址总线>32位,则可寻址的最大存储空间为232+218
王道计算机组成原理第四章指令系统思维导图脑图
根据操作码的长度不同分类
定长操作码:指令系统中所有指令的操作码长度都相同 可变长操作码:指令系统中各指令的操作码长度可变
n位→2n 条指令 控制器的译码电路设计简单,但灵活性较低 控制器的译码电路设计复杂,但灵活性较高
LOAD 作用:把存储器中的数据放到寄存器中
1. 数据传送
STORE 作用:把寄存器中的数据放到存储器中
x86处理器中程序计数器PC通常被称为IP
选择语句的机器级表示
设计思路:一条指令完成一个复杂的基本功能。
代表:x86架构,主要用于笔记本、台式机等
设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基 本功能
代表:ARM架构,主要用于手机、平板等
CISC: Complex Instruction Set Computer RISC: Reduced Instruction Set Computer
概念
存储字长:一个存储单元中的二进制代码位数(通常和MDR位数相同)
半字长指令、单字长指令、双字长指令 ——指令长度是机器字长的多少倍
根据指令长度分类
指令字长会影响取指令所需时间。如:机器字长=存储字长=16bit,则取一条双 字长指令需要两次访存
定长指令字结构:指令系统中所有指令的长度都相等
变长指令字结构:指令系统中各种指令的长度不等
隐含寻址
优点:有利于缩短指令字长 缺点:需增加存储操作数或隐含地址的硬件 形式地址A就是操作数本身,又称为立即数,一般采用补码形式
#表示立即寻址特征
一条指令的执行:取指令,访存1次;执行指令,访存0次;
暂不考虑存结果,共访存1次
优点:指令执行阶段不访问主存,指令执行时间最短
缺点:A的位数限制了立即数的范围,如A的位数为n,且立即数采用补码时,可 表示的数据范围为-2n−1 ~2n−1 -1
计算机组成原理(第三版)第 4 章 指令系统汇编
内存
有效地址 EA=[D]; [EA]= DATA; • 例如: ADD A,@[3050H] MOV A,@[3050H]
… EA … DATA
EA
INFO DEPT@ZUFE HANGZHOU.CHINA
5、寄存器寻址方式 ( Register Addressing )
寄存器寻址:操作数存放于指令的操作码所规定的寄存 器中即操作数位于寄存器中,操作数所在的寄存器编号 存放在指令的REG字段中。 • →速度快、指令短,操作数在CPU中; • 指令格式:
内存
有效地址 EA=[PC或IP]+D; [EA]=DATA (指令);
EA→
…
指令 …
D • 例如:JR SUB1-$
INFO DEPT@ZUFE HANGZHOU.CHINA
;
10、堆栈寻址 ( Stack Addressing )
• 操作数位于存储器中,操作数所在的存储器地址 EA由堆栈指针寄存器SP隐含指出,通常用于堆栈 指令。 • 堆栈是由若干个连续主存单元组成的先进后出( first in last out,即FILO)存储区,第一个放 入堆栈的数据存放在栈底,最近放入的数据存放 在栈顶。栈底是固定不变的,而栈顶是随着数据 的入栈和出栈在时刻变化。栈顶的地址由堆栈指 针SP指明。 • 一般计算机中,堆栈从高地址向低地址扩展,即 栈底的地址总是大于或等于栈顶的地址,称为堆 栈向上生成;堆栈寻址主要用来暂存中断和子程 序调用时现场数据及返回地址。
OP* MOD REG CPU 寄存器组
R0 … Ri
有效地址 EA=REG; [REG]= DATA; • 例如: EA→ ADD A, Ri ; MOV A, Ri ;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
2. 算术运算指令。 对数据进行算术操作,包括加法ADD、减法SUB、乘 法MULT、除法
DIV、求反NOT、求补COM、算术移位SHA等。
3. 逻辑运算指令。 对数据进行逻辑操作,包括按位与AND、按位 或OR、逻辑移位SHL和数据转换等。
4. 程序控制指令。 用以控制程序执行的顺序和方向。主要包括转移 指令、循环控制指令、子程序调用指令、返回指令、 程序中断指令等。 5. 输入输出指令。 用于启动外设、检查测试外设的工作状态、读 写外设的数据。有些计算机用专门的输入输出操 作指令,如Intel X86指令中IN、OUT指令。
地址/立即数(16位长)
三、操作码格式
操作码指定机器执行什么样的操作(如:加法,传送等),操 作码位数越多,所能表示的操作种类也就越多。 常见的操作码格式有以下两种编码方式。
1. 定长操作码,地址码变长
操作码的长度固定,占指令最前面几位,称操作码字段。 后面 有可能跟一个地址信息,或二个地址信息。 例如 “ADD”, 加法指令,后面需要两个地址提供“加数”与“被加 数” ; “INC”, 加1指令, 只需一个地址信息,指令就短。 优点: 这种方式的操作码字段规整,有利于简化操作码译码器的设计, 广泛用于指令字长较长的大、中型及超级小型机中。例如当年的IBM370 大型机指令系统,操作码固定在指令最高8位,早前的Intel 8086也是高8 位为操作码。
例: ADD表示加法, SUB表示减法; MOV表示数据传送等 地址码中常用R表示寄存 器,A表示存储单元。
如:ADD R1,A
,
(R1)+(A) →A
计算机中所有指令的助记符的集合以及使用规则构成了汇编语言。 用汇编语言编写的程序可以比较简单地转换成机器指令代码,这种转换 由汇编程序完成。汇编语言是面向计算机硬件的语言,通过它可以了解 计算机的硬件结构。
1、若采用寄存器间址方式读取操作数,指定寄存器R1的内容为3004H,则操 作数是多少? 2、若采用存储器间接寻址读取操作数,指令中给出的地址是3003H,,则操 作数是多少? 3、若采用变址寻址方式X(R2)读取操作数,指令中给出形式地址为2H,变 址寄存器R2内容为3000H,则操作数是多少?
§4.3 指令类型
3. CPU中采用大量的通用寄存器。一般不少于32个,多则几百。
4. 指令采用流水线工作方式 。采用流水线技术可使每一时刻都有多条指令重 叠执行。尽管一条指令的执行仍需要几个周期时间,但从平均效应来看,每 条指令的周期数大大减少,每条指令只需一个周期。只有LOAD和STORE两 条指令不采用流水线方式。
它是按照一定格式编制的二进制代码,所以机器指令由二进制 代码来表示。 操作码OP指明该指令完成何种操作;地址码AD指明操作数的 地址信息。
历史上地址码AD部分出现过四地址指令、三地址指令、 二地址指令和一地址指令系统,目前一般采用的是二地址 指令系统。
操作码OP
源操作数地址A1
目的操作数地址A2
(A1) OP (A2) →A2
15条
4章
二地址指令范围
15条
15条 16条
指 一地址指令范围 令 系 零地址指令范围 统
信息工程学院
总指令条数:15+15+15+16=61
首页
指令扩展举例 2
计 算 机 组 成 原 理
16 位指令字
xxxx
0000 1101
1110 1110 1111 1111 1111 1111 1111 1111
二、指令字长
指令字长=操作码长度+地址码长度(源操作数地址长度与目的操 作数地址长度) 指令字长通常设计成字节(八位二进制)的整数倍。
指令字长长,优点是所能表示的操作码信息和地址码信 息越丰富,可使指令功能丰富。缺点是占存储空间就大,读 取指令时间就增加。 指令长度一般不固定,从一字节到十几个字节不等,多 数指令为短指令,少数复杂指令为长指令。固定长度的指令 现在很少采用。
6. 相对寻址方式
操作数的地址是程序计数器PC的值加上一个偏移量,这个偏移 量在指令地址码中给出。因为访问的数据位置相对于指令的位置, 因此称为相对寻址方式。
例:ADD 100(PC),R1
源操作数在PC+100的内存单元中。
7. 变址寻址方式
操作数的地址是变址寄存器内容与形式地址(地址数值)相加, 变址寄存器由指令给出,形式地址也由指令给出。 完整地址 这种寻址方式适合于 对一组数据进行访问。 只要改变变址寄存器 的值,该指令就可形 成另一个数据元素的 地址。
xxxx xxxx xxxx
A1 A1
0000 1111 0000 1110 1111 1111 1111 1111
三地址指令范围
A2 A2
A1 A1 A1 A1 0000 1110 1111 1111
A3 A3
A2 A2 A2 A2 A1 A1 0000 1111
14条
二地址指令范围
4章
31条
76
指 令 系 统
一地址指令范围
零地址指令范围
15条
16条
信息工程学院
首页
操作码扩展技术是一种重要的指令优化技术,它可以缩短指令的 平均长度,并且增加指令字表示的操作信息。这种方式多用于微、小 型机上。
四、指令助记符
用一些比较容易记忆的文字符号来表示指令中各种信息, 即操作码和操作数地址,这些符号称为助记符。
一台计算机指令系统从二三十条指令到几百条指令不等,指 令少计算机的功能、速度等指标就弱,指令多则代表CPU的硬 件投入大,相应的指标就高。无论指令系统的规模如何,都应具 备基本指令类型功能,常见指令类型包括:
1. 数据传送指令。
将数据在主存与CPU寄存器之间进行传输,即数据从一个地方传送到 另一个地方。 汇编助记符有MOV或LD两套常用符号。 例MOV R1,R2, (R1) →R2 LD R1,(R2) (R1) →((R2)) 。
例1: DEC公司的PDP – 11是16位小型机中的重要代表。它的基 本指令字长16位,占主存两个字节,但有些指令之后紧跟一个 16位的地址或立即数,或是紧跟两个16位地址或立即数,指令 长度变为32位或48位。其格式如下:
(16位长)指令
(16位长)指令
地址/立即数(16位长)
(16位长)指令
地址/立即数(16位长)
RISC的主要技术内容: 1. 简化的指令系统。表现在指令条数较少,基本寻址方式少,指令格式 少,指令字长度一致。指令总数大都不超过100条,寻址方式一般限制 在2~3种,指令格式一般限制在2~3种, 长度为32位。
2. 以寄存器间的数据处理为主。只有LOAD取数和STORE存数两条指令访问内 存。
位移量
例:ADD R2,1000(R0) ,1000(R0)就是变址寻址方式,R0寄 存器充当变址寄存器,操作数地址等于1000加上R0的内容。
8. 基址寻址方式
操作数的地址是基址寄存器内容与形式地址(地址数值) 相加得到内存地址。基址寄存器由指令给出,形式地址也由 指令给出。
位移量 OP RB D 加 法 器
数据
1A00H 1B00H 1C00H
例如:
ADD
2000,R2
(2000)+(R2) →R2
3. 寄存器寻址方式
操作数在指定的寄存器中,寄存器号在指令中给出。
R0 R1 R2 R3 例如: ADD 2000,R2 (2000)+(R2) →R2 1000H
2000H 3A00H 3C00H
和直接寻址方式比有两个优点: 1)读取操作数的速度要比访问主存快得多; 2)占指令字的位数较少,从而有效地缩短了指令长度。
一、CISC
CISC结构是传统的计算机指令系统,最少百条以上,多则几百条指令。 指令越丰富,计算机功能越强,但相应地指令格式越来越复杂,指 令越变越长 ,执行时间也越来越长。
二、RISC
人们对程序在机器上的运行情况作大量分析后,惊奇地发现, 机器所执行的指令竟然有80%以上是简单指令,复杂指令只占 很小比例。根据实际情况人们提出用一套精简的指令系统取代 复杂指令系统,使机器结构简化,提高机器的性能价格比。于 是70年代开始了RISC技术的研究。