
第2章 16位和32位微处理器 本章内容: ◼ 16位微处理器8086/8088 ◼ 32位微处理器80386 ◼ 32位微处理器Pentium

2.1 16位微处理器8086/8088 本节内容: ◼ 简介 ◼ 8086/8088CPU的内部结构 ◼ 8086/8088 CPU的寄存器结构 ◼ 时钟周期、总线周期的概念 ◼ 8086/8088CPU的引脚信号和功能 ◼ 8086/8088系统的工作模式 ◼ 8086/8088的操作时序 ◼ 8086/8088的存储器组织

2.1.0 简介 ➢ 8086:16位微处理器 ◼ 采用单一的+5V电源和40条引脚的双列直插式封装;时钟频 率为5MHz~10MHz,最快的指令执行时间为0.4µs。 ◼ 8086有16根数据线和20根地址线,可以处理8位或16位数据, 可寻址2 20即1MB的存储单元和64KB的I/O端口。 ➢ 8088:准16位微处理器 ◼ 设计的主要目的是为了与Intel原有的8位外围接口芯片直接 兼容。 ◼ 8088的内部寄存器、运算器以及内部数据总线都是按16位设 计的,但外部数据总线只有8条,因此执行相同的程序, 8088要比8086有较多的外部存取操作而执行得较慢

2.1.1 8086/8088 CPU的内部结构 图2.1 8086微处理器内部结构框图

1.总线接口部件BIU ➢ 功能 负责CPU与内存或I/O端口传送指令或数据。 ❖ BIU从内存取指令送到指令队列缓冲器。 ❖ 当EU执行指令时,BIU要配合EU从指定的内存 单元或I/O端口中读取数据,或者把EU的操作结 果送到指定的内存单元或I/O端口去。 ➢ 组成:段寄存器、指令指针寄存器、地址 加法器、指令预取队列及总线控制逻辑

1)段寄存器 ➢ 所有寄存器都是16位的,因此,能够提供的最大 地址空间只能为64 KB。 ➢ 为了寻址1MB,将存储器的空间分成若干段,每 段最大为64KB。 ➢ 段寄存器:用来存放段的起始地址(16位)的寄存 器,设有四个段寄存器: ◼ CS 代码段寄存器(Code Segment register) ◼ DS 数据段寄存器(Data Segment register) ◼ SS 堆栈段寄存器(Stack Segment register) ◼ ES 附加数据段寄存器(Extra Segment register)

2)地址加法器 由于8086内部寄存器都是16位的,需要一个附加结构- 地址加法器来根据提供的16位信息产生20位地址

3)指令预取队列(指令队列缓冲器) ➢8086:指令预取队列为6字节 ➢8088:指令预取队列为4字节 ➢指令预取队列采用“先进先出”原则。 ➢要执行的指令预先由BIU从内存取出放在队 列中,然后EU再从队列中取出指令并执行。 ➢一般情况下,EU每执行完一条指令,就可 以立即从指令队列中取指令执行,从而提高 了CPU的效率

4)总线控制逻辑 ➢ 8086分配20条引脚线传送20位地址、16位 数据和4位状态信息,这就必须要分时传送。 ➢ 总线控制逻辑的功能,就是以逻辑控制方 法实现上述信息的分时传送

2.执行部件EU ➢ 功能 ◼ 负责指令的译码、执行和数据运算。 ◼ 负责向总线接口部件BIU提供偏移地址。 ◼ 对通用寄存器和标志寄存器进行管理。 ➢ 组成:算术逻辑单元(ALU) 、1个标志寄存 器、8个通用寄存器、1个数据暂存寄存器 和EU控制电路