8086CPU的工作原理示意图
一、8086CPU特性介绍
- 数据总线:16位
- 地址总线:20位
- 内存空间:CPU可直接寻址1MB内存空间
- 端口地址线:16位
- 流水线工作方式:取指令、执行指令并行进行
二、8086CPU内部结构
按功能可分为两部分:
- BIU(总线接口单元)
功能:地址形成、取指令、指令排队、读/写操作数、总线控制
- EU(执行部分)
功能:指令译码、指令执行
具体见下图:
- BIU:1段寄存器 2指令指针寄存器 3地址加法器 4指令队列缓冲器 5总线控制逻辑
段寄存器:
- 用于存放各段的段基址,包括:CS,DS,ES,SS 十六位
- 段基址:段起始地址的高16位 偏移地址:某地址偏移起始地址的偏移量,16位
- 逻辑地址:由段基址和偏移地址组成,表示形式:
段基址:偏移地址
- 物理地址:存储器的绝对地址,20位 范围:00000H-FFFFFH
指令指针寄存器:用于存放下一条将要执行指令的偏移地址
地址加法器:将16位的逻辑地址转换成为访问M需要的物理地址
物理地址=段基址×10H+偏移地址
指令队列缓冲器:存储将要被执行的指令代码
总线控制逻辑:发控制信号,实现M及I/O端口的读写控制
BIU工作过程:形成物理地址,发读信号,取指令送入指令队列
- EU:1算术逻辑单元 2EU控制电路 3寄存器组
- ALU:完成8或16位的二进制的算术、逻辑运算
- 寄存器的相关作用上述图中有标明
- 标志寄存器:用来存放ALU运算结果的特征及其他的控制位
- 暂存器:协助ALU运算,暂存参加运算的数据,16位
- EU控制器:从BIU的指令队列中取指令,译码,发控制命令,控制EU内部的各部件,完成指令的执行
EU工作过程:
从BIU的指令队列取得指令、进行译码、执行指令
3.8086CPU的内部结构特点:指令的提取与执行分别由BIU和EU两部分完成,二者既独立又相互配合-----并行工作
三、寄存器结构
寄存器:用于存放运算过程中所需要操作数地址、操作数及中间结果;
特点:在CPU内部,存取速度比存储器快得多,容量小
8086CPU内部有4组16位寄存器:
标志位寄存器:
六个状态标志位:CF,PF,AF,ZF,SF,OF
三个控制标志位:TF,IF,DF
状态标志位:
- CF(进位标志):保存加法的进位和减法的借位,有则为0,无则为1
- PF(奇偶标志):表示计算结果低八位“1”的个数是奇数还是偶数,偶数为1,奇数为0
- AF(辅助进位):保存加法或减法结果第4/5位之间的进位或借位
- ZF(零标志位):表示运算结果是否为0,为0则ZF=1
- SF(符号标志):保存运算结果的算数符号。SF=1,表示本次运算结果的最高位为“1”
- OF(溢出标志):溢出是在两个带符号数相加、减时可能产生的
控制标志位:
- TF(单步标志) IF(中断允许标志)DF(方向标志)