组成原理12小时
打*的不确定(没打的也没多确定)没写的是大坑要好好填
目录
文章目录
一、选择题
相容性微操作、相斥性微操作
相容性微命令是指那些可以同时产生、共同完成某一些微操作的微命令,而互斥性微命令是指在机器中不允许同时出现的微命令。
CPU内部器件
控制器:控制部件
运算器:算术逻辑部件ALU
各种寄存器
CPU内部总线
总线的类型
系统总线包括:
- 地址总线
- 数据总线
- 控制总线
内部总线
I/O总线
向量地址
此处应该指的就是中断向量的地址
中断向量可以由CPU经过硬件操作得到服务程序的地址
中断向量地址是表示服务地址的地址
零的表示
[+0]原码=0000 0000,[-0]原码=1000 0000
[+0]反码=0000 0000,[-0]反码=1111 1111
[+0]补码=0000 0000,[-0]补码=0000 0000
移位指令
算术右移(高位补最高位),>>
,大部分编程语言默认逻辑右移
逻辑右移(高位补0)
左移(低位补0)
循环移位
源码、反码、补码的转换
- 原-> 反:符号位不变,其他取反
- 反 -> 补:反末位 + 1
微指令的地址断定方式*
后继微地址由微程序设计者指定,或由微指令的测试结果决定
区别于增量方式(由当前PC
++来形成或转移指令指定)
为确定下一条微指令的地址,通常采用断定方式,其基本思想是©
A、用程序计数器PC来产生后继微指令地址
B、用微程序计数器u PC来产生后继微指令地址
C、通过微指令的顺序控制字段产生后继微指令地址
D、通过指令中指定一个专门字段来控制产生后继微指令地址
寻址方式*
也可能是说的变址or基址?
立即寻址与寄存器寻址
立即寻址:操作数在代码中
寄存器寻址:操作数在寄存器中
即明确给出了数据或数据的地址
存储器寻址
没有明确给出地址,需要在存储单元中寻找该地址(类似于在数组中查找某个单元,即起始地址+index)
浮点数的规格化数
1 / 2 < = ∣ M ∣ < 1 1 /2 <= |M| < 1 1/2<=∣M∣<1
补码二进制定点小数、整数表示范围
最高位是负权,例如整数
3 | 2 | 1 | 0 |
---|---|---|---|
1 | 0 | 1 | 1 |
即 − 1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 1 × 2 0 = − 5 - 1 \times 2^3 + 0 \times2^2 + 1\times2^1 + 1 \times 2^0 = -5 −1×23+0×22+1×21+1×20=−5
故对于4位整数补码,最小是1000 -> -8,最大是0111 -> 7
小数同理
0 | -1 | -2 | -3 |
---|---|---|---|
0 | 1 | 0 | 1 |
即$ 0 \times 2^0 + 1 \times2^{-1} + 0\times2^{-2} + 1 \times 2^{-3} = 0.75$
故对于4位定点小数补码,最小是1000 -> -1,最大是0111 -> 0.875
二、填空题
补码、原码的表示范围
同上
原码最高位只表示符号
3 | 2 | 1 | 0 |
---|---|---|---|
1 | 0 | 1 | 1 |
1 × 2 3 + 0 × 2 2 + 1 × 2 1 + 1 × 2 0 = 11 1 \times 2^3 + 0 \times2^2 + 1\times2^1 + 1 \times 2^0 = 11 1×23+0×22+1×21+1×20=11
CPU内部器件
见CPU内部器件
- 运算器:数据的加工和处理
- 算术逻辑单元
ALU
:算术与逻辑运算 - 暂存寄存器:不同于通用寄存器。存储来自主存的内容,对程序员透明
- 累加寄存器
ACC
:暂时存放ALU
的计算结果,也可以作为被操作数(见运算的实现章节) - 通用寄存器:存放指令与操作数,如AX,BX等(见指令与指令格式章节)。SP是堆栈指针,指向栈顶。
- 程序状态寄存器
PSW
:存放程序运行中状态标志,如OF(溢出),CF(进位) - 移位器:移位运算
- 计数器
CT
:乘除运算的操作步骤(见乘除运算章节)
- 算术逻辑单元
- 控制器
- 程序计数器
PC
:指向下一条指令在主存中的地址,注意区别于CT
。PC
有自增功能 - 指令寄存器
IR
:存储当前执行的指令 - 指令译码器:对操作码进行译码操作、
- 存储器地址寄存器
MAR
:存放欲访问单元的地址 - 存储器数据寄存器
MDR
:存放读取自主存或将写入主存的信息 - 时序系统:产生时序信号
- 微操作信号发生器:产生控制信号
- 程序计数器
指令系统包括那些指令
数据传输类指令
算术运算类指令
逻辑运算类指令
机器指令的组成
操作码和操作数
DMA控制器按照其组成结构的分类
单通道合并型DMA
:一个DMA
对应于一台设备
选择型DMA
:一个DMA
对应多个设备,但是设备只能串行工作
集中多路型DMA
:可以并行工作,可以实现I/O
设备之间的工作
三、名词解释
汇编编程
用助记符代替机器指令的操作码],用地址符号或标号代替指令或操作数,通过汇编过程转换成机器指令。
微操作命令和微操作
微命令是构成控制信号序列的最小单位
微命令是微操作的控制信号,微操作是微命令控制的操作过程
周期挪用
周期挪用(周期窃取)是指利用CPU不访问存储器的那些周期来实现DMA
操作,此时DMA
可以使用总线而不用通知CPU也不会妨碍CPU的工作。
高速缓存
即Cache
,高速缓冲存储器是存在于主存与CPU之间的存储器, 由SRAM
组成,容量小、速度块、成本高。在计算机存储系统的层次结构中介于中央处理器和主存储器之间。
基址寻址
基址寻址是将CPU
中的基址寄存器BR
的内容加上指令格式中形式地址而形成的操作数的有效地址,即
E
R
=
(
B
R
)
+
A
ER = (BR) + A
ER=(BR)+A
流水线中的多发技术
-
超标量技术:部分
CPU
组件需要多个备份,每个时钟周期内并发执行多个指令 -
超流水线技术:时钟周期内再分段,一个周期内使用一个部件多次
-
超长指令字:将能并行的操作的指令合并为一条
指令字长
指令字长指机器指令中二进制代码的总位数。指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。
不同的指令的字长是不同的。
伪指令
伪指令是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,汇编后不会产生对应的机器代码,只用于汇编过程中为汇编程序提供汇编信息。