计算机组成原理 指令系统
计算机四级计算机组成原理知识点总结

计算机四级计算机组成原理知识点总结
计算机四级计算机组成原理涉及多个关键知识点,主要包括:
1.**计算机的基本组成**:计算机主要由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
其中,运算器和控制器合称为中央处理器(CPU)。
2.**指令系统**:指令是计算机执行某种操作的命令,通常由操作码和操作数地址码组成。
指令系统是指一台计算机中所有指令的集合。
指令的长度取决于操作码的长度、操作数地址码的长度和操作数地址的个数,与机器字长没有固定的关系。
指令可以分为零地址指令、一地址指令等多种类型。
3.**计算机硬件层次结构**:计算机硬件层次结构可以分为微程序机器层(M0)、传统机器层(M1)、虚拟机器层(M2)、汇编语言机器层(M3)和高级语言机器层(M4)。
每一层都对应着不同的指令系统和执行方式。
4.**存储系统**:存储系统包括主存储器(内存)和辅助存储器(外存)。
主存储器是计算机直接访问的存储部件,其速度快,但容量小。
辅助存储器则容量大,速度慢,需要通过输入输出设备才能访问。
5.**输入输出系统**:输入输出系统负责计算机与外部世界的联系,包括输入设备和输出设备。
输入设备用于将外部信息输入到计算机中,输出设备用于将计算机的处理结果输出到外部世界。
6.**总线系统**:总线是连接计算机各部件的通信线路,包括数据总线、地址总线和控制总线。
总线系统负责在各部件之间传输数据和控制信号。
以上就是计算机四级计算机组成原理的主要知识点,掌握了这些知识,就能对计算机的基本组成和工作原理有深入的理解。
《计算机组成原理》教程第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中详讲.
计算机组成原理-指令系统

一地址指令格式: OP10扩bi展t 6bit A 6bit 设为Z 剩余(24-X)26-Z
零地址指令格式: OP16bit ∴Z= (24-X)26- Y 2-6
扩展6bit Y种 ((24-X)26-Z) 26=Y
操作码扩展技术
鲁东大学 LUDONG UNIVERSITY
EX2.机器指令长度为16位,地址码长度为6位,包含单地址 指令,双地址指令和无地址指令,试问单地址指令最多有 多少条?此时双地址指令和无地址指令各多少条?
鲁东大学 LUDONG UNIVERSITY
强调:操作码扩展技术思考方向
EX2:假设指令字长16位,操作数的地址码为必6须位是,操指作令码有增零长地方址向、
一地址、二地址三种格式。要求:
(1) 设操作码固定,若零地址有P种,一地址指令有Q种,则二 地址最多有多少对种定?长操作码指令格式,应满足最长地址码要求
指令格式-操作码字段
变长操作码指令系统 鲁东大学 LUDONG UNIVERSITY
--随着地址码长度的变化,操作码长度变化 --特点:与定长刚好相反
常用技术: 操作码扩展技术★
OP 4b A1 A2 A3
三地址指令格式
0000 … 1110
三地址指令15条
OP 4b A1 A2
1111 0…000 1110
用于零地址指令扩展的编码最少为1个
指令格式-地址码字段
鲁东大学 LUDONG UNIVERSITY
2.指令的一般格式
分析指令地址码类型
地址码
OP A1 A2 A3 A4
作用:用于指明操作数的地址; ① 四地址指令 ② 三地址指令 ③ 二地址指令 ④ 一地址指令 ⑤ 零地址指令
计算机组成原理-第4章_指令系统

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

◆ CPU中设置程序计数器(PC)对指令的顺序号进行计 数。PC开始时存 放程序的首地址,每执行一条指令,PC 加”1”,指出下条指令的地址, 直到程序结束。
跳跃寻址 Leabharlann 转移指令指出AA22AA33
…
…
…
…
1111 1110 A2 A3
12 位操作码
1111 1111 0000 1111 1111 0001
AA33
…
…
…
…
1111 1111 1110 A3
16 位操作码
…
…
1111 1111 1111 0000 1111 1111 1111 0001 1111 1111 1111 1111
24
双字
28
双字(地址32)▲
32
双字
36
边界未对准
地址(十进制)
字( 地址2)
半字( 地址0)
0
字节( 地址7) 字节( 地址6)
字( 地址4)
4
半字( 地址10)
半字( 地址8)
8
5.2.2 数据类型
2、数据在计算机中存放方式
存储字长内部字节的次序
例: 12345678H如何存储? 12 34 56 78H
5.3.1指令寻址
指令寻址----计算指令有效地址的方法
指令地址
指令
指令地址寻址方式
PC +1
0 LDA
11 ADD 22 DEC 33 JMP
4 LDA
5 SUB 6 INC
77 STA 88 LDA
计算机组成原理(白中英)第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 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
计算机组成原理指令系统

…
Ri 操作数
Rn 寄存器
• 执行阶段不访存,只访问寄存器,执行速度快 • 寄存器个数有限,可缩短指令字长
6. 寄存器间接寻址
EA = ( Ri )
寻址特征
OP
Ri
指令中的形式地址为寄存器的编 号,寄存器的内容是操作数的有 效地址。
主存
R0
…
…
Ri 地址
操作数
…
…
MOV AX , [BX]
Rn 寄存器
PC
7. 基址寻址
(1) 采用专用基址寄存器(隐式)
EA = ( BR ) + A
BR 为基址寄存器
寻址特征
OP
A
主存
BR
ALU
操作数
• 可扩大寻址范围 • BR 内容由操作系统或管理程序确定 • 在程序的执行过程中 BR 内容不变,形式地址 A 可变
(2) 采用通用寄存器作基址寄存器(显式)
寻址特征
(1) 寄存器寻址 R (2)寄存器间接寻址 (R)
(3)直接寻址 1000 (4)存储器间接寻址 (1000)
(5)相对寻址-2000(PC) (6)立即数寻址 #2000
解: (1) Data=( R)=1000 (2) Data=( ( R) )=(1000)=2000 (3) Data=(1000)=2000 (4) Data=((1000))=(2000)=3000 (5) EA=(PC)-2000=4000-2000=2000
(1) 相对寻址举例
LDA # 0
LDX # 0
M
ADD X, D
M+1 INX
M+2 M+3
CPX # N BNE M DIV # N
计算机组成原理 指令系统

本章所讨论的指令,是机器指令
本章学习内容
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位。
指令长度可以等于机器字长,也可以大于或 小于机器字长。 在一个指令系统中,若所有指令的长度都是 相等的,称为定长指令字结构;若各种指令的长 度随指令功能而异,称为变长指令字结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
示例
17 17 0 0 100 100 5位 rd 5位 address 6位 shamt funct 32 34
add $s1,$s2,$s3 sub $s1,$s2,$s3 lw $s1,100($s2) sw $s1,100($s2) 所有MIPS指令都是32位 算术指令格式 数据传送指令格式
4.4
指令和数据的寻址方式
在存储器中,操作数或指令字写入或读出的3种方式——地址 指定方式、相联存储方式和堆栈存取方式;几乎所有的计算机, 内存中都采用地址指定方式
寻址方式——采用地址指定方式时,形成操作数或指令地
址的方式 指令寻址方式比较简单;数据寻址方式比较复杂
4.4.1 指令的寻址方式
一种是顺序寻址方式 另一种是跳跃寻址方式
MIPS汇编语言 类别 指令 算术 运算 加 示例 add $s1,$s2,$s3 语义 $s1=$s2+$s3 说明 3个操作数,都在寄存器中
减
sub $s1,$s2,$s3
$s1=$s2-$s3
3个操作数,都在寄存器中
数据从存储器到寄存器 数据从寄存器到存储器
数据 取字 lw $s1,100($s2) $s1=Memory[$s2+100] 传送 存字 sw $s1,100($s2) Memory[$s2+100]=$s1
(1) 微指令:微程序级的命令,属于硬件 (2)宏指令:由若干机器指令和伪指令构成的软件指令 (3) 机器指令(指令):介于微指令与宏指令之间,每条指令可完成 一个独立的算术运算或逻辑运算
3. 指令系统:一台计算机中所有机器指令的集合
目录
4. 指令系统的发展 50年代——只有定点加减、逻辑运算、数据传送、转移等十 几至几十条指令 60年代后期——增加了乘除运算、浮点运算、十进制运算、 字符串处理等,指令多达一二百条,寻址方式也趋多样化 60年代后期——开始出现系列计算机 70年代末期——CISC(Complex Instruction Set Computer) RISC(Reduced Instruction Set Computer) 系列计算机——基本指令系统、体系结构相同的一系列计算机 系列计算机必要条件——同一系列的各机种有共同的指令集;且 实现“向上兼容”
4. Pentium指令格式
指令字长度可变:112字节,典型的CICS结构
1或2 操作码 Mod 2位 0或1 Reg或操作码 3位 R/M 3位 0或1 比例S 变址I 2位 3位 基址B 3位 0,1,2,4 位移量 0,1,2,4 立即数
由操作码、Mod-R/M、SIB、位移量、立即数字段组成,除操 作码字段外,其他四个字段均可选
4.1.3 低级语言与硬件结构的关系 低级语言分机器语言(二进制)和汇编语言(符号) 高级语言与低级语言的性能比较:
高级语言的语句和用法与具体机器的指令系统无关 低级语言和具体机器的指令系统密切相关
机器语言是机器能直接识别和执行的惟一语言 汇编语言与硬件关系密切,编写的程序紧凑、占内存小、速 度快,适合编写经常与硬件打交道的系统软件 高级语言不涉及机器的硬件结构,通用性强、编写程序容易, 适合编写与硬件没有直接关系的应用软件
4.2.5 指令格式举例 1. 八位微型计算机(字长8位)的指令格式
——可变字长形式:单字长、双字长、三字长指令 操作码 操作码 A1
单字长指令
双字长指令
操作码
A1
A2
三字长指令
内存按字节编址,每执行一条指令后,指令地址的修正 ——加1、加2、加3
2. MIPS R4000指令格式——RISC
返回到 举例
CISC和RISC
CISC——复杂指令系统计算机,多达几百条 RISC——精简指令系统计算机
研制周期长,不易调试维护,且造成硬件资源浪费
从CISC转变到RISC的原因
指令系统百分比的20:80规律 降低控制器设计难度
4.1.2 指令系统的性能要求 一个完善的指令系统应满足的条件:
1. 完备性 指令丰富、功能齐全、使用方便——用汇编语言编各 种程序时,直接提供的指令足够用 2. 有效性 程序占存储空间小、执行速度快 3. 规整性 对称性、匀齐性、指令格式和数据格式的一致性 对称性:所有的寄存器和存储器单元都可同等对待;所有的指 令都可使用各种寻址方式 匀齐性:一种操作指令可支持各种数据类型 指令格式和数据格式的一致性:指令长度和数据长度有一定关 系,方便处理和存取 4. 兼容性 “向上兼容”
(1)无符号字节:用于逻辑和整数算术运算,由存储器读出装入 通用寄存器时左端以0填充 (2)无符号半字:与“无符号字节”类似,长度16位 (3)有符号半字:用于16位算术运算,装入寄存器时要符号扩展 (4)无符号字:用于32位逻辑运算,或作地址指针 (5)有符号字:用于32位算术运算 (6)无符号双字:用作64位地址指针 (7)字节串:长度0128个字节 (8)浮点数:支持IEEE754定义的单精度、双精度浮点类型
指令格式举例1 [例1] 已知指令格式,OP为操作码,试分析其特点
15 OP 9 8 —— 7 4 3 0 源寄存器 目标寄存器
[解 ]: (1)单字长二地址指令 (2)操作码字段OP为7位,可指定128条指令 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个)—— RR型指令 (4)这种指令结构常用于算术逻辑运算类指令
高级语言与低级语言的比较
比较内容 1 对程序员的训练要求: (1) 通用算法 (2) 语言规则 (3) 硬件知识 2 对机器独立的程度 3 编制程序的难易程度 4 编制程序所需时间 高级语言 有 较少 不需要 独立 易 短 低级语言 有 较多 需要 不独立 难 较长 短 少
5 程序执行时间 较长 6 编译过程中对计算机资源 多 (时间和存储容量)的要求
关于地址码个数的有关说明 (1)零地址指令
操作码
两种情况: 一是该指令不需要操作数,如NOP指令 二是操作数隐含,如DAA操作数隐含于累加器AC中
(2)一地址指令(单操作数指令)
操作码
A1
也有两种情况: 一是指令本身只需要一个操作数,如NOT指令 二是被操作数和结果隐含于累加器AC中 AC ← (AC) OP (A) (A)表示地址为A的内存或通用寄存器中的数
4.2.3 指令字长度 机器字长:计算机能直接处理的二进制数的位数 指令字长度:指令字包含二进制代码的位数,等长、变长两种 等长指令字结构:结构简单,且指令字长度不变 变长指令字结构:结构灵活,但控制较复杂
设L为指令字长度,N为机器字长度 L=N——单字长指令 L=0.5N——半字长指令 L=2N——双字长指令
4.4.2 操作数基本寻址方式
——形成操作数的有效地址的方法 例如,一种单地址指令的结构如下所示
操作码OP
变址X
间址I
形式地址A
指令中的地址码由形式地址和寻址方式特征位等组合形成 寻址过程就是把操作数的形式地址,变换为有效地址
具体的寻址方式有:
隐含寻址 立即寻址
直接寻址 间接寻址 寄存器寻址 寄存器间接寻址 偏移寻址(基值、变址、相对) 堆栈寻址 段寻址
指令格式举例2 [例2] 试分析下面指令格式的特点
15 OP 10 9 8 - 位移量(16位) 7 4 3 0 源寄存器 变址寄存器
[解 ]: (1)双字长二地址指令,用于访问存储器 (2)操作码字段OP为6位,可以指定64种操作 (3)一个操作数在源寄存器(共16个),另一个操作数在存储器 中(由变址寄存器和位移量决定)——RS型指令
指令格式举例3
[例3] MIPS R4000汇编语言中,寄存器$s0$s7对应寄存器号为 16 23(十进制),寄存器$t0$t7对应寄存器号为8 15。下表列出 了2条R型指令(add、sub),2条I型指令(IW、SW)的汇编语言表示。 请将4条汇编语言手工翻译成对应的机器语言(十进制)表示
目录
1. 顺序寻址方式
(PC)+1 -> PC
PC 100 +1
内存 100 101
设臵程序计数器(指令指针寄存器)PC对指令的顺 序号计数,该顺序号就是指令在内存中的地址
2. 跳跃寻址方式
目标地址->PC PC 100 103 主存 Jmp 103 100
101 102 103
跳跃寻址——下条指令的地址码由本 条指令给出
能处理——字节(8位)、字(16位) 、双字(32位) 、四字(64位) 字、双字、四字的起始地址无要求 当通过32位数据总线存取数据时,双字的起始地址能被4整除 Pentium的数据类型
目录
4.3.3 Power PC数据类型
Power PC——RISC 可处理——字节(8位)、半字(16位) 、字(32位) 、双字(64位) 能识别的数据类型:
5位 rt rt
4.3 操作数类型
4.3.1 一般的数据类型 地址数据:可看成无符号数 数值数据:常用的三种类型:定点数、浮点数、压缩BCD 字符数据:文本数据或字符串,目前广泛使用ASCII码 逻辑数据:将一个数据看成由若干位组成——可对具体的位进
行布尔逻辑运算
4.3.2 Pentium数据类型
指令格式举例3
$s0$s7对应寄存器号为16 23 [解]: MIPS机器语言表示如表所示
4条指令的机器语言
MIPS指令 字段值
说明
名称
add sub lw sw 字段大小 R型 I型
格式
R R I I R I 0 0 35 43 6位 op op 18 18 18 18 5位 rs rs 19 19 17 17
关于地址码个数的有关说明(续) (3)二地址指令(双操作数指令)
操作码 A1Leabharlann A2 A1← (A1) OP (A2) 按操作数的物理位臵不同又分为:SS型、RR型、RS型指令