10.2 80386的体系结构 Inte公司于1984年底推出高性能的32位微处理 器 1ntel80386,它是80826的扩充,从而 形成由8086、80186、80286、80386组成的 完整的86系列。 80386的最大特点是在CPU芯片上集成了一个存 储器管理部件(MMU),可对246的虚拟存储空间 和4干兆字节(232)的物理存储空间进行分段和分 页管理,段的最大空间为4千兆字节。 ● 80386的时钟频率有16MHz和20MHz两种,每 秒钟可持续执行三四百万条指令,性能为80286 的三倍,已超过许多超级小型机的速度。 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 10.2 80386的体系结构 • Intel公司于1984年底推出高性能的32位微处理 器——Intel 80386,它是80826的扩充,从而 形成由8086、80186、80286、80386组成的 完整的86系列。 • 80386的最大特点是在CPU芯片上集成了一个存 储器管理部件(MMU),可对2 46的虚拟存储空间 和4千兆字节(232)的物理存储空间进行分段和分 页管理,段的最大空间为4千兆字节。 • 80386的时钟频率有16MHz和20MHz两种,每 秒钟可持续执行三四百万条指令,性能为80286 的三倍,已超过许多超级小型机的速度
80386的内部结构 80386逻辑上由六个功能部件组成:总线接口部件、代码预取部 件、指令译码部件、存储器管理部件、执行部件及控制部件。这 六个功能部件采用流水线结构,这样可以同时处理多条指令,以 减少程序实际执行时间。 总线接口部件完成在总线周期内对必要的信号线进行控制。在其 他五个部件没有传送要求时,总线接口部件则执行从存储器预取 指令的工作。 代码预取部件从存储器中以4个字节为单位预先取出指令,存放 在16个字节的指令预取队列中。 指令译码部件从代码预取部件中的预取队列里按顺序取出指令并 译码。 执行部件与别的部件协同完成指令的功能。 存储器管理部件由分段部件和分页部件构成,分段部件将逻辑地 址转换为线性地址,芯片上有一个段描述符高速缓冲寄存器,其 中存有当前段的段描述符,它可加快这种转换。分页部件将线性 地址转换为物理地址,在芯片中还有页描述符高速缓冲寄存器。 它存放着页描述符。分页部件把物理总线地址接到总线接口部件, 以执行存储器访问或/O访问。 Ji Lin University China COMPUTER SCIENCE山DI里CHNOLOG
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 80386的内部结构 • 80386逻辑上由六个功能部件组成:总线接口部件、代码预取部 件、指令译码部件、存储器管理部件、执行部件及控制部件。这 六个功能部件采用流水线结构,这样可以同时处理多条指令,以 减少程序实际执行时间。 • 总线接口部件完成在总线周期内对必要的信号线进行控制。在其 他五个部件没有传送要求时,总线接口部件则执行从存储器预取 指令的工作。 • 代码预取部件从存储器中以4个字节为单位预先取出指令,存放 在16个字节的指令预取队列中。 • 指令译码部件从代码预取部件中的预取队列里按顺序取出指令并 译码。 • 执行部件与别的部件协同完成指令的功能。 • 存储器管理部件由分段部件和分页部件构成,分段部件将逻辑地 址转换为线性地址,芯片上有一个段描述符高速缓冲寄存器,其 中存有当前段的段描述符,它可加快这种转换。分页部件将线性 地址转换为物理地址,在芯片中还有页描述符高速缓冲寄存器。 它存放着页描述符。分页部件把物理总线地址接到总线接口部件, 以执行存储器访问或I/O访问
80386的内部结构框图 分段部件 分页部件 总线控制 分 3输入 加法器 请求 加法器 特权 32 页面 描述符 超高速 寄存器 缓存 界限和 控制和 属性 保持 地址 PLA PLA 驱动器 流水线 保护检 总线宽度 测部件 控制器 多路 收发器 预取器 移位地址 译码和 界限 加法器 定序 指令译码 检测器 乘除 控制 已译码 16B指令 寄存器堆 ROM 队列 队列 Ji Lin University China COMPUTER SCIENCE AND TECHNOLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 80386的内部结构框图 3输入 加法器 描述符 寄存器 界限和 属 性 PLA 加法器 页 面 超高速 缓 存 控制和 保 持 PLA 请求 特权 地 址 驱动器 流水线/ 总线宽度 控制器 多 路 收发器 保护检 测部件 移位地址 加法器 乘 / 除 寄存器堆 译码和 定序 控制 ROM 指令译码 已译码 队 列 预取器 界限 检测器 16B指令 队列 32 32 分段部件 分页部件 总线控制
80386寄存器组(1) (1)通用寄存器80386有八个32位的通用寄存器:EAX、 EBX、ECX、EDX、ESP、EBP、ESL、EDI。为了与8086系列微 处理器兼容,各寄存器的低16位部分可作为16位寄器存器使用, 这时分别指定为AX、BX、CX、DX、SP、BP、SI和DI。前四个 寄器的低16位又可分作高8位和低8位,作为8位寄器使用。 (2)段寄存器80386有六个16位段寄存器:CS、DS、SS、 ES、FS和GS。其中CS为代码段、SS为堆栈段、其余为数据段。 段寄存器主要在实地址方式时存放段基地址,在保护方式时,它 作为保存段描述符的选择器。 (3)专用寄存器80386有两个32位专用寄存器:指令指针 4 (EIP)和标志寄存器(EFLAGS)。 EIP的低16位称为IP,用于执行8086的指令。 EFLAGSI的低16位和80286的状态标志寄存器完全相同,新增加 的两个标志位在高16位中。其中VM用于控制方式转移,当 VM=1时,从保护方式转换到虚拟8086方式;当VM=0时,恢 复保护方式。RF是恢复标志,当指令执行结束时,RF=O;执行 过程中发生中断时,RF=1。因此,在页变换后需检查RF标志, 若RF=1,则再执行该指令;若RF=0时,则从下一条指令开始执 行。 4 Lin University China CoPTE型CIENCE AND T里CHNDLOGY
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 80386寄存器组(1) • (1)通用寄存器 80386有八个32位的通用寄存器:EAX、 EBX、ECX、EDX、ESP、EBP、ESI、EDI。为了与8086系列微 处理器兼容,各寄存器的低16位部分可作为16位寄器存器使用, 这时分别指定为AX、BX、CX、DX、SP、BP、SI和DI。前四个 寄器的低16位又可分作高8位和低8位,作为8位寄器使用。 • (2)段寄存器 80386有六个16位段寄存器:CS、DS、SS、 ES、FS和GS。其中CS为代码段、SS为堆栈段、其余为数据段。 段寄存器主要在实地址方式时存放段基地址,在保护方式时,它 作为保存段描述符的选择器。 • (3)专用寄存器 80386有两个32位专用寄存器:指令指针 (EIP)和标志寄存器(EFLAGS)。 • EIP的低16位称为IP,用于执行8086的指令。 • EFLAGS的低16位和80286的状态标志寄存器完全相同,新增加 的两个标志位在高16位中。其中VM用于控制方式转移,当 VM=1时,从保护方式转换到虚拟8086方式;当VM=0时,恢 复保护方式。RF是恢复标志,当指令执行结束时,RF=0;执行 过程中发生中断时,RF=1。因此,在页变换后需检查RF标志, 若RF=1,则再执行该指令;若RF=0时,则从下一条指令开始执 行
80386寄存器组(2) (4)控制寄存器80386有四个32位的控制寄存器:CR。~ CR30 CR是机器状态寄存器,各位的含义如表3.2.1所示。PG为分页 允许位,指示是否使用分页。EF、EM、MP位控制了与协处理 器的接口,TS进行任务切换。PG、PE组合后设置操作方式,用 来控制80386的工作方式。 CR1是Intel公司的保留寄存器。 C2是页故障线性地址寄存器,保存最后发生页故障的线性地址。 CR,是页目录地址寄存器,用来保存页表的基地址。 (5)系统地址寄存器 80386有四个系统地址寄存器:GDTR、 IDTR、LDTR和TR. GDTR为全局描述符表寄存器,用来保存GDT的32位线性基地址 和16位界限值。,IDTR为中断描述符表寄存器,用来保存DT的 32位线性基地址和16位界限值。LDTR为局部描述符表寄存器, 用来保存乳DT的16位选择器的值。,TR为任务状态寄存器,用来 保存TS的16位选择器的值。这四个寄存器在保护方式时都可使 用,但在实地址时只能访问GDTR和DTR。 (6)调试寄存器80386有八个32位调试寄存器DR,~DR7 用于调试功能。DR~DR,设定四个断点线性地址。DR6是调试 状态寄存器,保存断点的当前状态,DR是调试控制寄存器,设 置断点并指示中断果/DR4和DR,保留,供1ntel公司使用
COMPUTER SCIENCE AND TECHNOLOGY COMPUTER SCIENCE AND TECHNOLOGY 80386寄存器组(2) • (4)控制寄存器 80386有四个32位的控制寄存器:CR0~ CR3。 • CR0是机器状态寄存器,各位的含义如表3.2.1所示。PG为分页 允许位,指示是否使用分页。EF、EM、MP位控制了与协处理 器的接口,TS进行任务切换。PG、PE组合后设置操作方式,用 来控制80386的工作方式。 • CR1是Intel公司的保留寄存器。 • CR2是页故障线性地址寄存器,保存最后发生页故障的线性地址。 • CR3是页目录地址寄存器,用来保存页表的基地址。 • (5)系统地址寄存器 80386有四个系统地址寄存器:GDTR、 IDTR、LDTR和TR。 • GDTR为全局描述符表寄存器,用来保存GDT的32位线性基地址 和16位界限值。IDTR为中断描述符表寄存器,用来保存IDT的 32位线性基地址和16位界限值。LDTR为局部描述符表寄存器, 用来保存LDT的16位选择器的值。TR为任务状态寄存器,用来 保存TS的16位选择器的值。这四个寄存器在保护方式时都可使 用,但在实地址时只能访问GDTR和IDTR。 • (6)调试寄存器 80386有八个32位调试寄存器DR0~DR7, 用于调试功能。DR0~DR3设定四个断点线性地址。DR6是调试 状态寄存器,保存断点的当前状态,DR7是调试控制寄存器,设 置断点并指示中断结果,DR4和DR5保留,供Intel公司使用