课程笔记导览
计算机组成原理学习笔记(1):概述
计算机组成原理学习笔记(2):发展
计算机组成原理学习笔记(3):总线
计算机组成原理学习笔记(4):存储器
计算机组成原理学习笔记(5):I/O
计算机组成原理学习笔记(6):数字
计算机组成原理学习笔记(7):指令系统
计算机组成原理学习笔记(8):CPU的结构和功能
计算机组成原理学习笔记(9):控制单元的功能
计算机组成原理学习笔记(10):控制单元的设计
附录:英语解释
CPU——Central Processing Unit,中央处理机(器)
PC——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器
IR——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器
CU——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件
ALU——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件
ACC——Accumulator,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器
MQ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器
X——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数
MAR——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器
MDR——Memory Data Register,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器
I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送
MIPS——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位
第七章 指令系统
7.1 机器指令
7.1.1 指令的一般格式
操作码
操作码:反映机器做什么操作,很多指令集中操作码还包含了对什么样的数据操作,还指出了操作数的寻址方式
扩展操作码技术(短操作码一定不能是长操作码的前缀)
经常出现的高频指令用短操作码
地址码
四地址(四次访存):指令访问,操作数A1,操作数A2,存入操作数A3(下一次指令访问的地址存在A4中,算在下一个指令的访存里面)
三地址(四次访存):指令访问,操作数A1,操作数A2,存入操作数A3
二地址(四次访存):指令访问,操作数A1,操作数A2,存入操作数A2
一地址(二次访存):指令访问,操作数A1
7.1.2 指令的字长
![]()
小结
当用一些硬件资源代替指令字中的地址码字段后(需要使用到的地址码更少了)
- 可扩大指令的寻址范围(指令总长度不变的情况下可以在访问地址空间范围不变的情况下分配更多的位数给操作码部分)
- 可缩短指令字长(地址码需要用的位数更少可以简短总的指令字长)
- 可减少访存次数(有些硬件单元不需要访存)
当指令的地址字段为寄存器时
- 三地址OPR1,R2,R3
- 二地址OPR1,R2
- 一地址OP,R1
- 可缩短指令字长
- 指令执行阶段不访存
7.2 操作数类型和操作类型
7.2.1 操作数类型
7.2.2 数据在存储器中的存放方式
字节编址,数据在存储器中的存放方式(存储字长64位,机器字长32位)
第一种方法:从任意位置开始存储
优点:不浪费存储资源
缺点:除了访问一个字节之外,访问其它任何类型的都可能花费两个存储周期的时间。读写控制比较复杂
第二种方法:从一个存储字的起始位置开始访问
优点:无论访问何种类型的数据,在一个周期均可完成,读写控制简单。
缺点:浪费了宝贵的存储资源
第三种方法:边界对准方式一一从地址的整数倍位置开始访问
数据存放的起始地址是数据长度(按照进行编址单位计算,上图编制单位是字节)的整数倍
本方案是前两个方案的折衷,在一个周可以完成存储访问,空间浪费也不太严重。
7.2.3 操作类型
- 数据传送
- 算术逻辑操作
- 移位操作
- 转移
- 输入输出
7.3 寻址方式
确定本条指令的操作数地址,下一条要执行指令的指令地址
![]()
7.3.1 指令寻址
![]()
7.3.2 数据寻址
![]()
立即寻址
形式地址A就是操作数
指令执行阶段不访存
A的位数限制了立即数的范围
直接寻址
EA=A有效地址由形式地址直接给出
执行阶段访问一次存储器
A的位数决定了该指令操作数的寻址范围
操作数的地址不易修改(必须修改A)(循环加一这种操作不太适合)
隐含寻址
操作数地址隐含在操作码中
![]()
相对寻址
间接寻址
EA=(A)有效地址由形式地址间接提供
寄存器寻址
EA= R i R_i Ri,有效地址即为寄存器编号
执行阶段不访存,只访问寄存器,执行速度快寄存器个数有限,可缩短指令字长
寄存器间接寻址
EA=( R i R_i Ri)有效地址在寄存器中
有效地址在寄存器中,操作数在存储器中,执行阶段便于编制循环程序
基址寻址
变址寻址
堆栈寻址
7.4 指令格式举例
7.4.1 设计指令格式时应该考虑的各种因素
指令系统的兼容性
其他因素
- 操作类型 包括指令个数及操作的难易程度
- 数据类型 确定哪些数据类型可参与操作
- 指令格式 指令字长是否固定,操作码位数、是否采用扩展操作码技
术,地址码位数、地址个数、寻址方式类型- 寻址方式 指令寻址、操作数寻址
- 寄存器个数 寄存器的多少直接影响指令的执行时间
7.4.2 举例
![]()
![]()
7.5 RISC技术
7.5.1 RISC的产生和发展
RISC(Reduced Instruction Set Computer)
CISC(Complex Instruction Set Computer)
7.5.2 RISC的主要特征
选用使用频度较高的一些简单指令,复杂指令的功能由简单指令来组合
指令长度固定、指令格式种类少、寻址方式少
只有LOAD/STORE指令访存
CPU中有多个通用寄存器
采用流水技术一个时钟周期内完成一条指令
采用组合逻辑实现控制器
7.5.3 CISC的主要特征
系统指令复杂庞大,各种指令使用频度相差大
指令长度不固定、指令格式种类多、寻址方式多
访存指令不受限制
CPU中设有专用寄存器
大多数指令需要多个时钟周期执行完毕
采用微程序控制器
7.5.4 RISC和CISC的比较
RISC更能充分利用VLSI芯片的面积
RISC更能提高计算机运算速度指令数、指令格式、寻址方式少,通用寄存器多,采用组合逻辑,便于实现指令流水
RISC便于设计,可降低成本,提高可靠性
RISC不易实现指令系统兼容
评论记录:
回复评论: