内容根据秦磊华《计算机组成原理》正文及习题和华科大网课及习题整理而来。
知识点整理
指令系统和指令格式
- 指令是计算机能直接识别、执行的操作命令;是冯诺依曼结构计算机“程序控制”原理实现的载体。
- 指令系统是指一台计算机中所有机器指令的集合。
- 系列机是同一公司不同时期生产,基本系统结构和指令系统相同的计算机。兼容机是不同公司生产,基本系统结构和指令系统相同的计算机。
- 一条汇编指令=一条机器语言指令=多条微指令
- 单地址指令可以处理多个数据
- 一个指令系统应该满足以下几个方面的要求:完备性(指令总是足够用);有效性(指令总是尽可能高效);规整性(见下);兼容性(可在不同机器运行)
- 规整性包括对称性(支持各种寻址方式)、均齐性(支持各种数据类型)以及指令格式与数据格式的一致性(指令长度与数据长度都应该是字节的整数倍)等内容。
- 长 度 为 n 的 操 作 码 , 最 多 可 以 表 示 2 n 条 指 令 长度为n的操作码,最多可以表示2^{n}条指令 长度为n的操作码,最多可以表示2n条指令
- 具有两个操作对象的运算叫做双目运算
- 三地址指令:如果有两个操作数和一个运算结果在一条指令中将三者的地址全部给出,那么就是三地址指令。
- 双地址指令:R表示寄存器,S表示存储器
- 单地址指令:有两种情况——单目运算类指令;隐含了一个操作对象的指令
- 零地址指令:只有操作码而没有地址字段的指令
- 指令长度:半字长指令(指令字长等于半个机器字长);单字长指令(指令字长等于机器字长);多字长指令(指令字长等于多个机器字长)
寻址方式和指令寻址
- 指令的寻址方式:顺序寻址;跳跃寻址
- 顺序寻址需要设置一个程序计数器(PC),取指令放入IR(指令寄存器),之后PC+1。
- 跳跃寻址需要设置一个程序计数器(PC),取指令放入IR(指令寄存器),PC+1,之后PC+指令寄存器中的地址。(考点)
- 指令的寻址方式使用指令寄存器来决定而不需要寻址方式特征位。
- 操作数的寻址方式
- 相对寻址,pc先加上存储单元的大小,然后再加上偏移地址。
- 寻址方式有利于缩短指令字长,方便程序设计,扩展访存空间
- 指令格式设计:首先根据指令数量要求和是否支持操作码扩展,确定操作码字段的位数;其次根据对操作数的要求确定地址码字段的个数;最后根据寻址方式的要求,为每一个地址码字段确定寻址方式字段位数;确定是定长指令还是变长指令。
- Huffman编码:对于概率最高的指令使用最短的编码表示
- CISC:复杂指令系统计算机
- RISC:精简指令系统计算机——RISC体系结构的基本思路是:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过减少指令种类、规范指令格式和简化寻址方式,方便处理器内部的并行处理,从而大幅度地提高处理器的性能。.
- 互锁的指令集:先发出的指令先完成
MIPS指令集
- 指令格式:有三种指令格式
- 1.R型指令:Rs、Rt分别为第一、二源操作数;Rd为目标操作数2.I型指令:
3.J型指令
- MIPS寄存器
还有32个32位单精度浮点寄存器f0-f31
还有2个32位乘、商寄存器Hi和Lo;乘法分别存放64位乘积的高、低32位;除法时分别存放余数和商。 - R型指令由OP和funct字段共同隐含说明当前寻址方式;I型和J型指令由OP字段隐含说明当前指令使用的寻址方式
MIPS寻址方式
- 左移两位的目的是为了实现按照32位整数边界对齐存放
MIPS指令详解
这里只有很少一部分,具体请参考指令手册。
习题
记录了mooc的部分习题和课本全部习题
Mooc
1.某计算机字长64位,采用单字长指令,下列描述中,正确的是()(多选)
A.指令字长为64位
B.指令字长为16位
C.顺序寻址时,PC<-(PC)+1
D.顺序寻址时,PC<-(PC)+8
选择D,1是存储单元数量,对于64位计算机单字长指令来说,存储单元仍然是1个字节8bit,如果是双字长,那么存储单元是16bit
2.下列关于指令格式的描述中,正确的是()(多选)
A.对采用定长操作码的计算机而言,若需要支持65条指令,则其操作码字段最少需要7位
B.若指令中每个地址字段位均为4位,则对RR型指令而言,可以使用16个寄存器
C.指令字长确定的情况下,指令的地址字段越多,则其位数就越少
D.计算机硬件是影响指令格式设计的因素之一
选择A B C D,对于B选项,可以使用全部的8位寄存器,也就是16个
课本
在做了在做了.jpg