①总线接口单元 主要用于外部地址、数据和控制总线管理,完成预取指令、读/写数 据等总线操作。 ②指令预取单元 内含一个32字节的指令预取队列,当指令预取队列不满且总线空闲 时,指令预取单元通过总线接口单元从存储器读取指令放到队列中 指令预取单元平均可以预取10条指令。 ③指令译码单元 从指令预取队列中读取指令,进行预译码后将其送入已译码的指令队列 等待执行。如果预译码时发现是转移或调用指令,可提前通知总线接口部 件去新的目标地址取指令,以刷新指令预取队列 ④指令执行单元 完成眢种算术逻辑运算和变址地址生成。在控制单元中,大多数指令 采用微程序控制结构执行,常用基本指令采用硬件逻辑控制执行
①总线接口单元 主要用于外部地址、数据和控制总线管理,完成预取指令、读/写数 据等总线操作。 ②指令预取单元 内含一个32字节的指令预取队列,当指令预取队列不满且总线空闲 时,指令预取单元通过总线接口单元从存储器读取指令放到队列中。 指令预取单元平均可以预取10条指令。 ③指令译码单元 从指令预取队列中读取指令,进行预译码后将其送入已译码的指令队列 等待执行。如果预译码时发现是转移或调用指令,可提前通知总线接口部 件去新的目标地址取指令,以刷新指令预取队列。 ④指令执行单元 完成各种算术逻辑运算和变址地址生成。在控制单元中,大多数指令 采用微程序控制结构执行,常用基本指令采用硬件逻辑控制执行
⑤段管理单元 用于存储器分段管理,将逻辑地址变换为32位线性地址 ⑥页管理单元 用于进行存储器分页管理,将线性地址变换为32位物理地址 ⑦高速缓存单元 用于加速指令/数据的访问过程。 ⑧浮点运算单元 相当于一个增强型浮点协处理器80387,专门用作浮点运算,可与 ALU的整数运算并行进行
⑤段管理单元 用于存储器分段管理,将逻辑地址变换为32位线性地址。 ⑥页管理单元 用于进行存储器分页管理,将线性地址变换为32位物理地址。 ⑦高速缓存单元 ⑧浮点运算单元 用于加速指令/数据的访问过程。 相当于一个增强型浮点协处理器80387,专门用作浮点运算,可与 ALU的整数运算并行进行
指令 时钟周期 步骤|1 3 4 5 7 8 10 11 取指令I11213I4I5I6 指令译码 I2 I3 I415I6 地址生成 工1 I2 I3 I4 I5 I6 取操作数 II I2I3I4I516 执行指令 I1I2|I3I4I5|16 存储结果 I11213I4I56 80486的流水线工作示意图
80486的流水线工作示意图
2内部寄有器 1)基本寄存器 ①通用寄存器 有8个32位的EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP;它 们的低16位可以单独访问被命名为:AX、BX、cX、DK、SIDI、BP SP。其中A、BX、CX、DX还可以分别分成两个8位寄存器:AH、AL BH、BL、cH、cL、DH、DL。 ②指令指针寄存器(EIP) EIP用于保存下一条待颢取指令相对于代码段基址的偏移量。它的低 16位可以单独访问,称之为IP ③标志寄存器( EFLAGS): 32位标志寄待器( EFLAGS)中包含三种标志:状态标志(S)、控 制标志(C)和系统标志(X)
2.内部寄存器 1)基本寄存器 ① 通用寄存器 ② 指令指针寄存器 (EIP) 有8个32位的EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP;它 们的低16位可以单独访问被命名为: AX、BX、CX、DX、SI、DI、BP、 SP。其中AX、BX、CX、DX还可以分别分成两个8位寄存器:AH、AL、 BH、BL、CH、CL、DH、DL。 EIP用于保存下一条待预取指令相对于代码段基址的偏移量。它的低 16位可以单独访问,称之为IP ③ 标志寄存器 (EFLAGS): 32位标志寄存器 (EFLAGS)中包含三种标志:状态标志(S)、控 制标志(C)和系统标志(X)
状态标志(S):反映指令执行过程及结果的状态。 控制标志(C):它仅含一个标志DF,用于控制串操作指令的地址改变方向 系统标志(X):它用于控制o、屏蔽中断、调试、任务转换和控制保 护方式与虚拟8086方式间的转换。 ④段寄存器: 80486有6个段寄存器(cs、SS、Ds、ES、FS、GS),用于决定程 序使用存储器区域块。其中CS指明当前的代码段;SS指明当前的堆栈段; DS、ES、FS和Gs指明当前的4个数据段。 在保护方式下,80486段的长度可以在1字节到4G字节之间变化;而 在实地址方式下,段的长度最大为64KB
④ 段寄存器: 状态标志(S):反映指令执行过程及结果的状态。 控制标志(C):它仅含一个标志DF,用于控制串操作指令的地址改变方向。 系统标志(X):它用于控制I/O、屏蔽中断、调试、任务转换和控制保 护方式与虚拟8086方式间的转换。 80486有6个段寄存器(CS、SS、DS、ES、FS、GS),用于决定程 序使用存储器区域块。其中CS指明当前的代码段;SS指明当前的堆栈段; DS、ES、FS和GS指明当前的4个数据段。 在保护方式下,80486段的长度可以在1字节到4G字节之间变化;而 在实地址方式下,段的长度最大为64KB