目录
- 一. 运算器的基本结构
- 1.1. 专用数据通路方式
- 1.2 CPU内部单总线方式
\quad
每执行完一条指令之后, CPU都会检查一下是否有中断处理(比如鼠标的点击操作,或出现的异常情况)
\quad
一. 运算器的基本结构
\quad
1.1. 专用数据通路方式
\quad
对于X86架构的CPU来说, 通用寄存器的命名规则通常是AX,BX,CX,DX
这里用
R
0
,
R
1
,
R
2
,
R
3
R_0,R_1,R_2,R_3
R0,R1,R2,R3来表示
(AH相当于AX通用寄存器的高位, AL相当于AX通用寄存器的低位)补充
采用专用数据通路方式, 性能较高,基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。
那么怎么缓解多线路复杂带来的问题呢
\quad
方法1: 使用多路选择器
多路选择器MUX
00表示打开
R
0
R_0
R0那条导线, 01表示打开
R
1
R_1
R1那条导线
\quad
方法2: 使用三态门
用三角形表示三态门
采用专用数据通路方式, 性能较高,基本不存在数据冲突现象,但结构复杂,硬件量大,不易实现。
\quad
1.2 CPU内部单总线方式
\quad
CPU内部单总线方式:将所有寄存器的输入端和输出端都连接到一条公共的通路上。
结构简单,容易实现,但数据传输存在较多冲突的现象,性能较低。
如何解决数据传输存在较多冲突的现象?
增加暂存寄存器, 比如
R
0
R_0
R0和
R
1
R_1
R1相加, 可以先把
R
0
R_0
R0传到暂存寄存器中, 再把
R
1
R_1
R1
传到B, 这样就不会在总线处出现传输冲突