计算机组成原理4.1 指令系统
白中英《计算机组成原理》(第5版)笔记和课后习题详解复习答案

白中英《计算机组成原理》(第5版)笔记和课后习题详解完整版>精研学习网>无偿试用20%资料
全国547所院校视频及题库全收集
考研全套>视频资料>课后答案>往年真题>职称考试
第1章计算机系统概论
1.1复习笔记
1.2课后习题详解
第2章运算方法和运算器
2.1复习笔记
2.2课后习题详解
第3章多层次的存储器
3.1复习笔记
3.2课后习题详解
第4章指令系统
4.1复习笔记
4.2课后习题详解
第5章中央处理器
5.1复习笔记
5.2课后习题详解
第6章总线系统
6.1复习笔记
6.2课后习题详解
第7章外存与I/O设备
7.1复习笔记
7.2课后习题详解
第8章输入输出系统
8.1复习笔记
8.2课后习题详解
第9章并行组织与结构
9.1复习笔记
9.2课后习题详解
第10章课程教学实验设计
第11章课程综合设计。
《计算机组成原理》教程第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
计算机组成原理-指令系统

一地址指令格式: 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,存放在指令的下两个单元。
计算机组成原理-第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 操作码源操作数目的操作数下一条指令的引用指令字(简称指令)即表示一条指令的机器字。
指令字(简称指令)即表示一条指令的机器字。
计算机组成原理课程大纲

计算机组成原理课程大纲一、课程简介计算机组成原理课程是计算机科学与技术专业的重要基础课程之一,旨在让学生全面了解计算机组成及其内部运行原理。
本课程内容涵盖计算机硬件组成、指令系统结构、处理器设计与实现、存储器层次结构、I/O系统等方面的知识,通过理论讲解与实践操作相结合的方式,培养学生的计算机系统分析、设计与优化能力。
二、课程目标1. 理解计算机系统的层次结构与组成部件,掌握计算机系统的发展历程;2. 掌握指令系统设计与硬件描述语言的基本原理与方法;3. 理解处理器的主要功能与运行原理,能够进行处理器的设计与实现;4. 理解计算机存储器层次结构、高速缓存、虚拟存储器等相关概念与技术;5. 了解计算机的I/O系统、总线结构及工作原理。
三、课程大纲与内容安排1. 第一章:引言1.1 计算机的发展历程1.2 计算机系统的层次结构1.3 计算机性能指标与评价方法2. 第二章:计算机硬件组成2.1 冯·诺依曼体系结构2.2 中央处理器(CPU)的组成与功能 2.3 存储器的层次结构与分类2.4 输入输出设备与接口控制器2.5 总线与主板3. 第三章:指令系统结构3.1 指令的格式与编码方式3.2 寻址方式与寻址模式3.3 指令的执行过程与流水线技术4. 第四章:处理器设计与实现4.1 单周期与多周期处理器设计4.2 流水线处理器设计与优化4.3 异常处理与中断机制5. 第五章:存储器层次结构5.1 存储器的分类与特性5.2 高速缓存的工作原理与替换策略5.3 虚拟存储器的概念与实现6. 第六章:I/O系统6.1 输入输出系统的基本概念与功能6.2 I/O接口与设备控制器6.3 DMA技术与中断处理四、教学方法与评估方式本课程以理论授课、实践操作、课堂讨论等形式相结合,培养学生的综合分析与解决问题的能力。
通过课堂作业、实验报告以及期末考试等方式进行综合评估,考核学生对计算机组成原理的理解与应用能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令系统:
一台计算机支持(或称使用)的全部指令的 集合构成该计算机的指令系统。 由于指令与计算机的性能以及硬件结构密 切相关,所以不同系列、不同型号的计算机其 指令系统是不一样的。
4.1 指令系统
指令的基本格式 指令格式的优化 寻址方式 指令系统举例
Th-union汇编语言程序设计
一、指令的格式
单字指令仅用一个指令字。
双字指令要用两个指令字, 此时第二个指 令字的内容可能是立即数、一个绝对地址或 一个变址位移量。
Th-union的机器指令 0000000000010010 0000000100010010 0000100100110000 1000100000010000 0000000001010101
Ri:通用寄存器
12 D2 12 D
Xi:变址寄存器
Bi:基址寄存器 Di:位移量 I: 立即数 L: 数据的长度
8 4 4 4 OPC Rn Rm B
8 4 4 12 OPC I2 B1 D2 8 8 4 12 OPC L B1 D1
4 B2
12 D2
定长操作码的特点
优点:有利于简化硬件设计,提高 指令译码的速度和指令执行的速度。 缺点:限制了指令系统的扩充、 不 利于缩短指令的长度,存在有很大程度 的信息冗余 。
b. 变长指令定长操作码
指令字的长度与机器字长没有固定的关系。 例:IBM360/370 指令的操作码是8位的, 指令字为16位、32位、48位。
TH-union
指令的操作码是8位的, 指令字为16位.
Th-union的指令格式
8位 操 作 码 4位 4位 目的寄存器 源寄存器 I/O 端口地址 条件转移指令的偏移量 直接数 / 内存地址 / 指令中变址偏移量
为了克服机器语言的缺点,人们采用助记 符表示机器指令的操作码,用符号代替操作数 的存放地址等,这样就形成了汇编指令。 例:机器指令: 0000011100100001
汇编指令: MVRR
R2,R1
用汇编指令编写的程序称为汇编源程序。
一条机器指令对应一条汇编指令。用汇编 指令编写程序就直观方便得多。
规定指令完成 何种功能。
表明操作数存放 的位置,以便找 到操作数完成指 令的功能。
指令的操 例如: 作码字段 Th-union的机器指令 0000000000010010 0000000100010010 0000100100110000 1000100000010000 0000000001010101
习惯,与计算机硬件无关,易被用户掌握和使
用。
例如:编程实现 123 加 456 → 求和
(1) 用C语言实现: Main () { int a, b, sum; a=123; b=456; sum=a+b
}
(2)用8086汇编语言实现: a dw 123
b dw 456
sum dw ?
add ax, b mov sum , ax mov ax, 4c00h int 21h
操作码
…
寄存器编号
例如: 0000110010001001 0111010000110000
SUB R8,R9 INC R3
• 执行阶段不访存,只访问寄存器,执行速度快。 • 寄存器个数有限,可缩短指令字长。
3)间接寻址方式
a.通过寄存器的间接寻址方式 若寄存器中存放的是操作数在内存中所在 单元的地址,这就是寄存器间接寻址方式。 OP … Reg No
1、机器指令
任何一条机器指令由一组有意义的二进制 代码构成,称为一个指令字。
0000000000010010 0000000100010010
用机器指令编写的程序是计算机惟一能够 直接识别并执行的程序,称为机器语言程序。 机器语言程序被称为目标程序(目标代码)。
机器语言的特点
机器直接执行,速度快。 缺点:与机器硬件直接相关,通用性差; 编程不直观、难以记忆、使用很不方便。
多地址指令
Th-union的机器指令 0000000000010010 0000000110001001 0000100100110000 1000100000010000 NC MOV R1,R2 R8,R9 R3 R1,0055H
a. 无地址指令(零地址指令)
第4章 指令系统和控制器部件
4.1 指令系统 4.2 控制器部件
指令:
是指示计算机执行基本操作的命令。 指令也是用户使用计算机的最小功能单 位。 从计算机组成的层次结构来说,计 算机的指令有微指令、机器指令和宏指 令之分。
微指令:是微程序级的命令,它属于硬件; 宏指令:是由苦干条机器指令组成的软件指令, 它属于软件; 机器指令:则介于微指令与宏指令之间,通常 简称为指令。每一条指令可完成一个独立的算 术运算或逻辑运算操作。 本章所讨论的指令是机器指令。
操作码
…
存储器地址 操作数 内 存 储 器
存储器地址为操作数在 存储器中的地址。或转移 指令等用到的指令地址。
例:MOV R1,[0800] 操作码 0001 不用
0000100000000000
特点是什么? 简单直观,执行速度快。
编程不灵活,访问空间有限。
2)寄存器寻址
指令地址码字段给出某一通用寄存器的 编号(地址),且所需的操作数就在这个寄存 器中,这就是寄存器寻址方式。
指令的操 作数字段 汇编指令 ADD R1,R2 SUB R1,R2 INC R3 MVRD R1,0055
0
0
5
5
1)操作码
在指令系统中,每一条指令都有唯一确定 的操作码。 定长操作码 分二种形式: 变长操作码
a. 定长操作码形式
在指令字中,操作码字段的位数和 位置是固定的。 早期的计算机一般采用定长操作码 的设计,控制简单,且对操作码的译码 实现容易。
c. 双地址指令
格式:
操作码 地址码1 地址码2
地址码1既是源操作数的地址,也是目 的操作数的地址。 双操作数在运算类、传送类指令中使用 较多。 ADD DR, SR
d. 多地址指令
格式1: 格式2:
操作码 地址码1 地址码2 地址码3
操作码
地址码1
地址码2
地址码3
地址码4
特点:操作完成后源操作数的内容不被破坏, 用户编程方便。严重的缺点是指令字较长。
汇编指令 ADD R1,R2 SUB R1,R2 INC R3 MVRD R1,0055
思考:
设某机型需设计 100条指令。试确定 以下两种操作码设计方案的操作码长度。
1)采用定长操作码格式。 2)采用扩展操作码法。(设10℅的指令使 用频度为90℅)
二、寻址方式
寻址方式:指的是确定本条指令的数据地址 及下一条要执行的指令地址的方法。 不同的计算机系统,使用数目和功能不 同的寻址方式,其实现的复杂程度和运行性 能也各不相同。
设计方案为:
三地址指令采用4位操作码 0000 ~ 1110 双地址指令采用8位操作码 11110000 ~ 11111110 一地址指令采用12位操作码 111111110000 ~ 111111111110 无地址指令采用16位操作码 1111111111110000 ~ 1111111111111111
~
~ ~ ~
(3地址指令15条) (2地址指令15条)
8位操 作码
12位操 作码
(1地址指令15条)
(0地址指令16条)
16位操 作码
练习: 设某机为定长指令字结构,指令长度12位, 每个地址码占3位,试提出一种方案,使该系 统包含4条三地址指令,8条二地址指令, 180 条单地址指令。 另:能否构成三地址指令4条,单地址指 令 255条,零地址指令64条呢?
3) 指令字长度
机器指令的二进制序列的位数。
定长指令变长操作码
变长指令定长操作码
a. 定长指令变长操作码
该种形式是将操作码的设计与地址码的 设计作为一个整体考虑,以形成高效合理的 指令编码。 例:某机指令系统,指令字为16位固定长, 要求有3地址指令、2地址指令、1地址指 令和0地址指令,每个地址码4位。应如何 设计?
2500 1100 ...
跳跃寻址 顺序寻址
2、数据寻址
通常需要在指令中为每一个操作数专设一个地址字 段,用来表示数据的来源或去向的地址。
在指令中给出的操作数的地址被称为形式地址,使 用形式地址信息并按一定的规则计算出来的一个数值 才是数据(或指令)的实际地址。
操作码 寻址特征 形式地址 A
约定
指令字长 = 存储字长 = 机器字长
1、指令寻址
顺序 跳跃
PC +1
( PC ) + 1
由转移指令指出
指令地址
0 1 1 2 2 3 3 4 5 6 7 7 8 8 9
PC
指令
LDA ADD DEC JMP LDA SUB INC STA LDA 1000 1001 1200 7 2000 2001 指令地址寻址方式 顺序寻址 顺序寻址 顺序寻址
Code segment assume CS: Code, DS:Data Main endp Code ends Main:mov ax,data mov ds,ax end main mov ax, a
(3)用机器语言实现: 键入代码: -e cs:100 A1 0F 01 03 06 11 01 A3 13 01 B8 00 4C CD 21 为数据分配空间: -e ds:10F 7B 00 C8 01 00 00
三种语言编写程序占用字节数
程序设计语言
高级语言( C ) 汇编语言
可执行程序占用字节数
CSUM.EXE
4330 21
机器语言
21
2. 指令的基本格式