[原文链接 —— SevenOne’Blog](http://www.my71.fun/2022/03/24/汇编语言/07-8086 CPU 结构/)
8086 CPU 内部结构
分类
- 结构可以分为物理结果和编程结构。
- 芯片可分为可编程芯片和不可编程芯片。
编程结构
总线结构单元 BIU
-
寄存器组
- 段寄存器:CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段)
- 指令指针寄存器:IP 属于指令指针寄存器,它只能存放指令地址。
- IP 中存放下一条将要执行的指令地址。
- SS 堆栈段用于存放临时数据。
- ES 附加段用于存放附加数据。
- 段寄存器中存放的是当前程序的段地址。
-
地址加法器:通过地址加法器可以讲段地址及指针地址进行运算得到 20 位的物理地址,并将改地址存到内存中。
-
指令队列
- 存储指令集合的队列(先进先出)
- EU 执行的指令只能来自指令队列。
- 内部有 6 个字节的存储空间。
- 当队列中出现两个或两个以上空字节时,BIU 继续向队列中存址。
-
总线周期
- BIU 做一次工作的时间就叫做总线周期。
- 一个总线周期至少有 4 个时钟周期(T1 ~ T4)。
- T1:发出地址
- T2:撤销地址,为数据传输作准备
- T3:数据传输
- T4:结束传输,结束本总线周期
执行单元 EU
-
寄存器组
-
4 个通用寄存器:AX、BX、CX、DX
-
4 个专用寄存器:SP(堆栈指针寄存器)、BP(基址指针寄存器)、DI(目的变址寄存器)、SI(源地址寄存器)
-
8 个寄存器都是 16 位的。
-
通用寄存器可以分为高、低 8 位存储数据。nX 可以分为 nH 和 nL 组成。
-
-
ALU 逻辑运算单元
-
标志寄存器(PSW)
- 16位,8086 实际使用是 9 位。
- 6 个状态标志位:CD(进位标志)PF(奇偶标志)AF(半进位标志)ZF(零标志)SF(符号标志)OF(溢出标志)
- 3 个控制标志位:TF(单步中断标志)IF(中断允许标志)DF(方向标志)
-
图
工作条件
- 供电
- 正极:VCC
- 负极:GND
- 时钟:通过 CLK 连接时钟
- 复位:RESET
- 准备好信号:READY
引脚定义
-
正极:VCC
-
负极:GND