计算机组成原理 | 第五章《指令系统》学习笔记
引言 & 声明
《计算机组成原理》是计算机及有关信息技术专业的一门核心基础课程。
在学习《计算机导论》、《程序设计基础》等课程、对计算机应用有基本掌握之后,便需要了解计算机的基本组成和工作原理。此外,对于后继课程,如《操作系统》等的学习,也需要在掌握计算机基本工作原理的基础上来进行。因此,从课程的地位来说,《计算机组成原理》在整个课程体系中起着承上启下的作用,是计算机及相关专业的主要课程之一。
以上介绍引用自《计算机组成原理》教材“引言”部分。
本文取材于学习时所做的课程笔记,引用资料部分另行标注。
本人水平有限,错误之处在所难免,欢迎读者批评、指正,我也会在适当时间进行修正与补充。
第一章 计算机系统概论
本章主要介绍了计算机的发展史和发展趋势,并对计算机的应用领域有一综合的描述。随后从硬件系统和软件系统的角度介绍了计算机系统的组成结构,着重介绍了五大功能部件以及操作系统的功能。并从层次结构的角度分析了计算机的层次结构。最后就如何衡量计算机的性能做了初步讨论。
第二章 计算机中数据的表示方法
本章主要讨论了计算机中数值数据的表示方法,介绍二、八、十、十六进制数据的表示和相互转化方法。接着了讨论有符号数据在计算机中的表示(原码、反码、补码和移码等)。同时介绍了非数值数据——字符、汉字、声音、图形、图像在计算机中的表示方法。最后讨论了计算机中常用的检验编码(奇偶校验码、交叉校验码、CRC校验码和海明校验码)。
第三章 运算方法和运算部件
本章讨论了在计算机内部完成各种基本逻辑运算和算术运算的方法。主要基于定点数和浮点数的运算方法,较详细地论证了各种运算方法的依据。在论证过程中又主要针对补码表示的机器数进行讨论。
第四章 存储系统
现代计算机是依据存储程序的原理而设计的。计算机的工作步骤和处理对象都存放在存储器中。存储器采用什么样的存储介质、怎样组织存储系统,以及怎样控制存储器存取操作都是至关重要的。
第五章 指令系统
指令是要求计算机执行某种操作的命令,一台计算机所有机器指令的集合就构成该机器的指令系统。
本章首先说明指令系统的发展与性能要求,然后介绍指令的一般格式。重点讲述寻址方式、指令的分类及功能。
此章节主要介绍机器如何处理指令,作为后一章节(CPU)的前置基础,了解即可,并非重点。
5.1& 指令系统的发展与性能要求
5.1.1 指令系统的发展
计算机程序由一系列机器指令组成。
指令:要计算机执行某种操作的命令。
【层次结构】
{
微
指
令
:
程
序
级
命
令
,
属
于
硬
件
机
器
指
令
:
介
于
微
指
令
与
宏
指
令
之
间
(
简
称
“
指
令
”
)
,
每
一
条
指
令
可
完
成
一
个
独
立
算
术
运
算
或
逻
辑
运
算
操
作
宏
指
令
:
由
若
干
条
机
器
指
令
组
成
的
软
件
命
令
,
属
于
软
件
\left\{ \begin{array}{c} 微指令:程序级命令,属于硬件 \\ 机器指令:介于微指令与宏指令之间(简称“指令”),每一条指令可完成一个独立算术运算或逻辑运算操作 \\ 宏指令:由若干条机器指令组成的软件命令,属于软件 \end{array}\right.
⎩⎨⎧微指令:程序级命令,属于硬件 机器指令:介于微指令与宏指令之间(简称“指令”),每一条指令可完成一个独立算术运算或逻辑运算操作 宏指令:由若干条机器指令组成的软件命令,属于软件
5.1.2 指令系统的性能要求
{ ① 完 备 性 ② 有 效 性 ③ 规 整 性 ④ 兼 容 性 \left\{ \begin{array}{c} ① 完备性 \\ ② 有效性 \\ ③ 规整性 \\ ④ 兼容性 \end{array}\right. ⎩⎪⎪⎨⎪⎪⎧①完备性②有效性③规整性④兼容性
5.1.2 指令与计算机语言的关系
{ 高 级 语 言 ( 如 : C 、 F O R T R A N 等 ) 低 级 语 言 ( 二 进 制 机 器 语 言 、 汇 编 语 言 ) \left\{ \begin{array}{c} 高级语言(如:C、FORTRAN等) \\ 低级语言(二进制机器语言、汇编语言)\end{array}\right. {高级语言(如:C、FORTRAN等) 低级语言(二进制机器语言、汇编语言)
计算机能够直接识别和执行的唯一语言是二进制机器语言。
汇编语言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。
5.2& 指令格式
指令包含的信息及格式
一条指令必须包含:
{
①
操
作
码
:
具
体
说
明
操
作
的
性
质
和
功
能
②
操
作
数
地
址
:
C
P
U
通
过
该
地
址
取
得
所
需
的
操
作
数
③
操
作
结
果
的
存
储
地
址
:
保
存
对
操
作
数
处
理
产
生
的
结
果
④
下
一
条
指
令
的
地
址
\left\{ \begin{array}{c} ① 操作码:具体说明操作的性质和功能 \\ ② 操作数地址:CPU通过该地址取得所需的操作数 \\ ③操作结果的存储地址:保存对操作数处理产生的结果 \\ ④ 下一条指令的地址 \end{array}\right.
⎩⎪⎪⎨⎪⎪⎧①操作码:具体说明操作的性质和功能 ②操作数地址:CPU通过该地址取得所需的操作数 ③操作结果的存储地址:保存对操作数处理产生的结果④下一条指令的地址
结构形式:
5.3& 寻址方式
形成操作数的有效地址方法称为操作数的寻址方式。
{ ① 隐 含 寻 址 ② 立 即 寻 址 ③ 直 接 寻 址 ④ 间 接 寻 址 ⑤ 寄 存 器 寻 址 和 寄 存 器 间 接 寻 址 ⑥ 相 对 寻 址 ⑦ 基 地 寻 址 ⑧ 变 址 寻 址 ⑨ 块 寻 址 ⑩ 段 寻 址 \left\{ \begin{array}{c} ① 隐含寻址 \\ ② 立即寻址 \\ ③ 直接寻址 \\ ④ 间接寻址 \\ ⑤ 寄存器寻址和寄存器间接寻址 \\ ⑥ 相对寻址 \\ ⑦ 基地寻址 \\ ⑧ 变址寻址 \\ ⑨ 块寻址 \\ ⑩ 段寻址 \end{array}\right. ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧①隐含寻址 ②立即寻址 ③直接寻址 ④间接寻址 ⑤寄存器寻址和寄存器间接寻址⑥相对寻址 ⑦基地寻址 ⑧变址寻址 ⑨块寻址 ⑩段寻址
5.4& 指令类型
指令的分类
{
①
数
据
传
送
指
令
②
算
术
逻
辑
运
算
指
令
③
移
位
操
作
指
令
④
浮
点
运
算
指
令
⑤
十
进
制
运
算
指
令
⑥
字
符
串
处
理
指
令
⑦
转
移
类
指
令
⑧
堆
栈
及
堆
栈
操
作
指
令
⑨
输
入
输
出
(
I
/
O
)
指
令
⑩
特
权
指
令
⑪
其
他
指
令
\left\{ \begin{array}{c} ① 数据传送指令 \\ ② 算术逻辑运算指令 \\ ③ 移位操作指令 \\ ④ 浮点运算指令 \\ ⑤ 十进制运算指令 \\ ⑥ 字符串处理指令 \\ ⑦ 转移类指令 \\ ⑧ 堆栈及堆栈操作指令 \\ ⑨ 输入输出(I/O)指令 \\ ⑩ 特权指令 \\ ⑪ 其他指令 \end{array}\right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧①数据传送指令 ②算术逻辑运算指令 ③移位操作指令 ④浮点运算指令 ⑤十进制运算指令 ⑥字符串处理指令 ⑦转移类指令 ⑧堆栈及堆栈操作指令 ⑨输入输出(I/O)指令⑩特权指令 ⑪其他指令
第六章 中央处理器(CPU)
计算机的硬件由控制器、运算器、存储器、输入设备和输出设备五部分组成。随着集成电路的出现及其集成度的提高,设计者将控制器和运算器集成在一片集成电路上,称作微处理器,通常称之为中央处理器(Central Processing Unit,简称CPU)。CPU是计算机的核心部件。本章介绍CPU的功能、结构及工作原理。
第七章 总线系统
总线技术是计算机系统的一个重要技术,总线的结构直接影响着计算机的性能,它是承载计算机系统各个部件之间信息传递的桥梁。
第八章 计算机的外围设备
计算机的外围设备主要包括输入设备、输出设备、外部存储设备,以及数据通信设备和过程控制设备。它们的功能是在计算机和其他设备之间,以及计算机与计算机之间提供联系。
第九章 输入输出系统
计算机系统输入/输入(I/O)的种类日益增多,使得输入/输出设备在计算机系统中的影响日益显著。
(已完结 2021.05.23)