大家好,欢迎来到IT知识分享网。
文章目录
- 内部结构
-
- 执行部件EU(Execution Unit)
- 总线接口部件BIU(Bus Interface Unit)
- 工作流程
- 寄存器
-
- 通用寄存器
- 段寄存器
- IP指令指针寄存器
- FX状态标志寄存器
- 存储器(内存)
-
- 存储格式
- 存储器分段
- 地址
- 堆栈操作
- 工作模式
- 时钟周期
内部结构
执行部件EU(Execution Unit)
总线接口部件BIU(Bus Interface Unit)
工作流程
从BIU的指令队列缓冲器中取得指令,译码,根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O端口,则EU将操作数的偏移地址送给BIU,由BIU取得操作数送给EU。
由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。
寄存器
共14个寄存器。
- 8个通用寄存器(AX,BX,CX,DX,SP,BP,SI,DI)
- 4个段寄存器(CS,DS,SS,ES)
- 1个指令指针寄存器(IP)
- 1个状态标志寄存器(FX)
通用寄存器
- AX
字 乘/除指令中作为累加器,字I/O 指令中作为数据寄存器
- AL
字节乘/除指令,字节 I/O的数据寄存器,查表转移XLAT的偏移地址和结果,十进制运算的结果
- AH
字节乘/除指令(高八位/余数)
- BX
作为地址/基址寄存器
- CX
串操作时,循环计数器,自动自增
- CL
变量位移或循环操作时用作计数器
- DX
字乘/除指令(高十六位/余数),短格式I/O的间接寻址
- 基址指针寄存器
- SP:堆栈指针寄存器,其内容为栈顶的偏移地址;
- BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。
- 变址寄存器
- SI:源变址寄存器,存放源操作数的偏移地址
- DI:目标变址寄存器,存放目标操作数的偏移地址
段寄存器
IP指令指针寄存器
FX状态标志寄存器
- 进位CF(Carry Flag):
最高位是否有进位(CF=1 有进位/借位;CF=0 无进位/借位)
- 辅助进位AF(Auxiliary Carry Flag):
表示低4位有无进位或借位(AF=1 有进位/借位;AF=0 无进位/借位)
- 溢出标志OF(Overflow Flag):
带符号数是否溢出 [ 最高位和次高位的进位异或不同为1 ](OF=1 有溢出;OF=0 无溢出)
- 零标志位ZF(Zero Flag):
ZF=1 运算结果为0;ZF=0 运算结果不为0
- 符号标志位SF(Sign Flag)
结果的最高位为1,SF=1 负数;结果的最高位为0,SF=0 正数
- 奇偶标志PF(Parity Flag)
PF=1 运算结果1的个数为偶数;PF=0 运算结果1的个数为奇数
- 方向标志DF(Direction Flag):
控制数据串操作指令的步进方向(DF=1 减址方式(STD指令);DF=0 增址方式(CLD指令))
- 中断允许标志IF(Interrupt Enable Flag):对可屏蔽中断
- 陷阱标志TF(Trap Flag):方便程序调试
TF=1 单步执行,以便检查程序;TF=0 连续正常执行
存储器(内存)
存储格式
- 规则字:从偶地址开始存放的字
- 非规则字:从奇地址开始存放的字
规则字的存取在一个总线周期内即可完成;非规则字的存取则需2个总线周期
- 低位库:8086CPU的低位库与数据总线的D7~D0相连,库中的每个单元的地址均为偶数。
- 高位库:8086CPU的高位库与数据总线的D15~D8相连,库中的每个单元的地址均为奇数
- 一个字的存储
数据 地址 BB 03H AA 02H BBAA储存在02H地址上
存储器分段
8086有20位的地址信号,需要5位16进制数表示。所以才有分逻辑段的概念。
地址
- 段基地址:来源于四个段寄存器(SS,DS,CS,ES)。
- 偏移地址:相对于段基址的偏移,16位数,最大可到64kB(0000H~FFFFH)来源于SP,BP,SI,DI,有效地址。
- 有效地址(16位)EA:在指令中用SP,BP,SI,DI和立即数计算出的偏移地址,它不是实际地址。
- 逻辑地址:产生实际地址用到的两个地址(段首址:偏移地址);
- 实际地址(物理地址20位)PA:CPU和存储器进行数据交换时使用的地址;
实际地址 = 段基址 << 4 + 偏移地址
堆栈操作
- 堆栈段的最大围为16bit~64KB
- 栈顶在高地址,SS存放栈基址,SP存放偏移量
- 只能操作一个字的数据,即16位
- 栈首址:SS<<4;栈顶:SS<<4+SP;栈底:SS<<4+FFFFH
工作模式
时钟周期
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/118772.html


