第二章 8086系统结构

50
第第第 第第第 8086 8086 第第 第第 8086CPU 第第第 第第第 8086CPU 第第第第 第第第 8086/8088 第第第第第 第第第 8086 第 第第

Upload: lucius-oneal

Post on 01-Jan-2016

105 views

Category:

Documents


2 download

DESCRIPTION

第二章 8086系统结构. 第一节 8086 CPU 的结构 第二节 8086 CPU 引脚功能 第三节 8086/8088存储器组织 第四节 8086系统配置. 第一节 8086 CPU 的结构. 执行部件( EU) 和总线接口部件( BIU) 寄存器结构. 执行部件( EU) 和总线接口部件( BIU). 8086 CPU 的内部结构由两部分组成: 总线接口部件 BIU、 执行部件( EU), 采 用流水线工作方式 总线接口部件 BIU: 负责取指令;存、取操作数 执行部件( EU): 负责分析指令、执行指令. EU. BIU. 段寄存器 指令指针. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第二章 8086系统结构

第二章 第二章 80868086 系统结构系统结构

• 第一节 8086CPU 的结构• 第二节 8086CPU 引脚功能• 第三节 8086/8088 存储器组织• 第四节 8086 系统配置

Page 2: 第二章 8086系统结构

第一节 第一节 80868086CPUCPU 的结构的结构

• 执行部件( EU )和总线接口部件( BIU )

• 寄存器结构

Page 3: 第二章 8086系统结构

执行部件(执行部件( EUEU ))和总线接口和总线接口部件(部件( BIUBIU ))

8086CPU 的内部结构由两部分组成:总线接口部件 BIU 、执行部件( EU ),

采用流水线工作方式总线接口部件 BIU :负责取指令;存、取操作数执行部件( EU ):负责分析指令、执行指令

Page 4: 第二章 8086系统结构

通用寄存器

操作数

ALU

标志

段寄存器

指令指针

地址生成和总线控制

指令队列

EU BIU

Page 5: 第二章 8086系统结构

BIU 总线接口部件组成:段寄存器 16 位 CS SS DS ES

指令指针( IP )存放指令的偏移地址 地址形成逻辑 完成逻辑地址到物理地址转

换 指令队列 采用 FIFO 结构,预取指令 总线控制逻辑 发出总线控制信号

Page 6: 第二章 8086系统结构

任务: 把段寄存器和 IP 相加形成 20BIT 有效地址 16*CS+IP 取指令 8086 如果队列中有 2 字节以上空格, EU 不要求总线,

则 BIU 预取指令 8088 如果队列中有 1 字节以上空格, EU 不要求总线,

则 BIU 预取指令 EU 要求总线周期,有 EU 提供信号和地址来源, BIU

进入总线,存取数据

Page 7: 第二章 8086系统结构

EU 执行部件组成: ALU 算术逻辑运算单元 PSW 标志寄存器 存放运算结果特征 寄存器组 存放中间结果 EU 控制器 取指令控制、时序控制任务:从队列中取指令控制

访问 M 和 I/O 由 EU 通知 BIU 提供信号和地址来源

内部:根据指令要求对寄存器和标志管理

Page 8: 第二章 8086系统结构

寄存器结构寄存器结构

• 通用寄存器• 指针和变址寄存器• 段寄存器• 指令指针• 标志寄存器

Page 9: 第二章 8086系统结构

通用寄存器组

EAX AX AH AL

EBX BX BH BL

ECX CX CH CL

EDX DX DH DL

•可 8 位、 16 位使用 用于存放数据或地址•专用功能 BX—— 基址寄存器 AX—— 累加器

CX—— 计数器 AX , DX—— 用于乘、除

Page 10: 第二章 8086系统结构

指针和变址寄存器

SP 堆栈指针

BP 基址寄存器

SI 源变址寄存器

DI 目的变址寄存器

用于堆栈操作

用于变址操作

这四个寄存器只能按 16 位操作

用于堆栈和变址操作计算操作数的有效地址

ESP

EBP

ESI

EDI

Page 11: 第二章 8086系统结构

段寄存器 存放每一段的起始地址

CS 代码段寄存器

SS 堆栈段寄存器

DS 数据段寄存器

ES 附加段寄存器

用于存放程序 CS*16+IP—— 取指

用于存放堆栈 SS*16+SP—— 堆栈

用于存放数据 DS*16+SP , BP , SI

用于存放数据 ES*16+BP , DI

Page 12: 第二章 8086系统结构

指令指针 IP• 每执行一条指令, IP 自动加 1• IP 指向偏移地址,有效地址 16*CS+IP• 程序员不能直接修改 IP ,(通过转移、调用、

中断、中断返回)

Page 13: 第二章 8086系统结构

标志寄存器 PSW

标志寄存器用来存放运算结果的特征• 6 位状态位• 3 位控制位

Page 14: 第二章 8086系统结构

状态位: CF 进位标志: 若最高位产生进位或借位,则 CF 置 1

若最高位无进位或借位,则 CF 清 0

PF 奇偶标志: 若运算结果中“ 1” 的个数为偶数个, PF置 1

若运算结果中“ 1” 的个数为奇数个, PF清 0

AF 辅助进位标志:第 3 位向第 4 位有进位或借位 AF 置1

第 3 位向第 4 位无进位或借位 AF 清0ZF 零标志: 若运算结果为 0 ,则 ZF 为 1 ,否则 ZF

为 0

SF 符号标志: 若运算结果为正, SF 为 0

若运算结果为负, SF 为 1

OF 溢出标志:若运算结果产生溢出 OF 为 1 ,否则 OF 为 0

Page 15: 第二章 8086系统结构

控制位:DF 方向标志

TF 陷阱标志 若 TF=1 , CPU 出单步工作方式,每执行一条指令,产生一次单步中断

IF 中断标志 当 IF=1 时,允许中断, 当 IF=0 时,禁止中断

DF=0 ,地址指针自动增加(由低到高)

DF=1 ,地址指针自动减少(由高到低)

Page 16: 第二章 8086系统结构

第二节 第二节 80868086CPUCPU 引脚功能引脚功能

8086 芯片共计 40 个引脚,主要分成三类:地址线数据线和控制线。外加电源。 CPU 芯片的引脚完全反映了该芯片的内部功能以及和外界部件的交互方式。学习这部分内容着重考察 CPU 内部的功能模块以及输入输出需求,掌握引脚的功能定义。 学习要求: 信号名称 信号含义 有效电平 输入 / 输出 状态

(两态 / 三态) 信号来源

Page 17: 第二章 8086系统结构

一、一、 8086 8086 CPUCPU 引脚及功能引脚及功能

• 地址总线和数据总线 *AD15~AD0 : 地址 / 数据总线 双向 三态 注: 8086/8088 地址线,数据线分时使用 总线的第一周期作地址线( 16bit 宽 A15~A0 ) 其余周期 作数据线 (8086 16bit/8088 8bit)

*A19~A16/S6~S3 :地址 / 状态 三态 输出 注:这四条线分时使用复用 总线的第一周期作地址线 A19~A16 (与 A15~A0 构成

20bit ) 其余周期 作状态线 S6~S3

注: 8086 访问存储器,使用 20 条地址线 8086 访问 I/O , 使用 16 条地址线

Page 18: 第二章 8086系统结构

S6~S3 :状态线S6 :为低电平 S5 指示中断允许 IF 状态S4 S3 指示哪一个段寄存器 S4 S3 段寄存器 0 0 ES

0 1 SS

1 0 CS 或非存储器操作 1 1 DS

Page 19: 第二章 8086系统结构

• 控制总线 控制总线是传送控制信号的一组信号线,有 输入,输出。

Page 20: 第二章 8086系统结构

*MN/MX 线:最小 / 最大方式控制线 若 MN/MX=1 , 8086 处于最小方式 若 MN/MX=0 , 8086 处于最大方式8086 具有两种系统配置方式:最小模式和最大模式,分别对应单机系统和多机系统。最小模式:由 8086 提供全部控制信号最大模式:由专用总线控制器 8288 提供总线控制信号在不同模式 8086的有些引脚不完全相同

Page 21: 第二章 8086系统结构

脚 最大 最小 脚 最大 最小28 S2 IO/M 27 S1 DT/R

26 S0 DEN 30 RQ/GT0 HOLD

24 QS1 INTA 31 RQ/GT1 HLDA

25 QS0 ALE 29 LOCK WR

受 MN/MX 影响的控制信号

Page 22: 第二章 8086系统结构

*S2~S0 :总线周期状态信号 S2 S1 S0 操作类型 0 0 0 中断响应 0 0 1 读 I/O 端口 0 1 0 写 I/O 端口 0 1 1 暂停 1 0 0 取指 1 0 1 读存储器 1 1 0 写存储器 1 1 1 无效

Page 23: 第二章 8086系统结构

最小方式:*IO/M 存储器 / 输入输出请求信号*DT/R 数据发送 / 接受端 *DEN 数据允许端

Page 24: 第二章 8086系统结构

*RQ/GT0

*RQ/GT1

在最大方式下:这两条信号为总线的请求和回答信号 、两信号功能相同 、 RQ/GT0 优先、 双向

/RQ /GT 释放 在 T4 或下一个 T1 输出 /GT

Page 25: 第二章 8086系统结构

在最小方式*HOLD 总线请求信号、 输入 、高电平有效*HLDA 总线响应信号、输出、高电平有效

Page 26: 第二章 8086系统结构

最大方式:QS1 QS0 为指令队列状态信号、输出、高电平有效 QS1 QS0 队列状态 0 0 无操作 0 1 取指令队列第一字节 1 0 队列空 1 1 取指令队列后续字节

Page 27: 第二章 8086系统结构

最小方式:INTA 中断响应信号、输出、低电平有效ALE 地址锁存允许信号、输出、高电平有效

Page 28: 第二章 8086系统结构

LOCK 最大方式有效、总线优先封锁信号 三态、输出、低电平有效WR 最小方式有效、写信号、三态、输出、低电平有效

Page 29: 第二章 8086系统结构

不受不受 MN/MXMN/MX 影响的控制信号影响的控制信号

*RD 读信号 三态 输出 、低电平有效*READY 准备就绪信号 、输出、 高电平有效*INTR 中断请求信号、输入、高电平有效*NMI 非屏蔽中断请求信号、 输入 、正沿触发

*TEST 测试信号 、输入 、低电平有效*RESET 复位信号、 输入、 高电平有效

Page 30: 第二章 8086系统结构

复位后, 8086CPU 的状态: 寄存器 状态 PSW 0000H

CS FFFFH

DS 0000H

SS 0000H

ES 0000H

IP 0000H

指令队列 清空

Page 31: 第二章 8086系统结构

其它CLK :时钟信号,由 8284 时钟产生VCC :电源 5V ( 5% )VSS : 地

Page 32: 第二章 8086系统结构

二、二、 80868086 与与 80888088 引脚不同引脚不同

• 数据线( 8086 : AD15~AD0 , 8088 :AD7~AD0 )

• 存储器 / 输入输出控制线不同( 8086 : M/IO , 8088 M/IO )

• BHE/S7 不同( BHE 是总线高允许)

Page 33: 第二章 8086系统结构

第三节 第三节 8086/80888086/8088 存储器组织存储器组织

• 一、存储器分段管理• 二、物理地址的计算方法• 三、逻辑地址来源• 四、 8086/8088 存储器分体结构• 五、堆栈的概念

Page 34: 第二章 8086系统结构

一、存储器分段管理

• 20 根地址线可寻址 1MB 地址空间,而实际寄存器是 16 位,只能寻址 64KB 空间。于是采用分段管理方式,每个段不超过 64KB 。段之间可连续,可分离,可重叠。• 段的首地址有限制,必须能被 16 整除。即低四位全为 0 。

1 Paragraph = 16 Bytes

每个存储单元由段地址和偏移地址组成

Page 35: 第二章 8086系统结构

二、物理地址的计算方法

• CPU 内部寄存器是 16 位,给出的地址也是 16 位,不能直接用于 20 位地址空间的寻址,因此必须寻求一种将 16 位逻辑地址转换成 20 位物理地址的方法。• 逻辑地址:段基址和偏移地址组成,无符号 16 位二进制数,是程序设计是采用的地址。• 物理地址:存储器绝对地址。 物理地址 =16* 段地址 + 偏移地址

Page 36: 第二章 8086系统结构

三、逻辑地址来源

常用搭配关系:(CS, IP), (DS, SI/DI/BX), (SS, SP/BP) 等等。

Page 37: 第二章 8086系统结构

四、 8086/8088 存储器分体结构

• 8086

奇地址512K*8

D7~D0

偶地址 512K*8 D7~D0

D15~D8

D7~D0

SEL A0~A18 SEL A0~A18

A1~A19

A0BHE

Page 38: 第二章 8086系统结构

• 8088

A19~A0

1M*8 D7~D0

D7~D0

A0~A19

Page 39: 第二章 8086系统结构

五、堆栈的概念

• 专用存储区域,暂时保存数据。“后进先出”( LIFO )

• SS— 段基址, SP— 栈顶单元地址• 堆栈生长方向:由高地址区向低地址区增长。• 用途:中断,子程序调用,暂存或交换数据。

Page 40: 第二章 8086系统结构

• 例如: SS=C000H,SP=1000H, 则

C0000H

C1000H SP

栈底

〈 64k

Page 41: 第二章 8086系统结构

第四节 第四节 80868086 系统配置系统配置

8086 具有两种系统配置方式:最小模式和最大模

式,分别对应单机系统和多机系统。注意学习一般的计算机系统的基本配置方式,配置的策略,建立微型机系统的基本配置模型。

Page 42: 第二章 8086系统结构

一、基本总线接口部件一、基本总线接口部件

地址锁存器 8282/8283 数据总线缓冲器 8286/8287 时钟发生器 8284 总线控制器 8288 总线裁决器 8289

Page 43: 第二章 8086系统结构

1. 1. 地址锁存器地址锁存器 8282/82838282/8283

• 8282 (不反相)和 8283 (反相)具有三态输出的锁存缓冲器,用于锁存、缓冲、多路输出

• 8282 的逻辑图• 8086 系统中, 8282 ( 8283 )用于地址

锁存器• 连接: ALE——STB OE—— 接地

DI——AD DO——A (地址)

Page 44: 第二章 8086系统结构

• D QCLK

DI0

STB OE

DO0

DI1

DI2

DI7

DO1

DO2

DO7

Page 45: 第二章 8086系统结构

22 、、数据总线缓冲器数据总线缓冲器 8286/82878286/8287

• 8286 (不反相) 8287 (反相)具有 8 路双向缓冲电路,可实现 8 位数据的双向传送, 8286/8287 具有很强总线驱动能力,可作为总线驱动器

• 8286 逻辑图• 8086 系统中, 8286 ( 8287 )为总线驱动器• 连接: T——DT/R OE——DEN

A——AD B——D (数据)

Page 46: 第二章 8086系统结构

A1

A2

A7

A0

或 或

B0

B1

B2

B7

OE T

Page 47: 第二章 8086系统结构

33 、、时钟发生器时钟发生器 82848284

• 提供整个 CPU 芯片的时钟控制信号,是实现精确控制的必要条件。

• 三大功能模块: 时钟信号发生器 OSC:14.318MHz

CLK: 4.77MHz, 占空比 1/3 ,供 CPU

PCLK: 2.385MHz, 占空比 1/2, 供外设 复位生成电路 就绪控制电路

Page 48: 第二章 8086系统结构

44 、、总线控制器总线控制器 82888288

由于 8086 系统配置为多处理器系统,有多个具有自主性的总线控制设备,原先的一些引脚用来传送其他控制信号,因此需要增加独立的总线控制器来输出总线控制命令。引脚功能: 总线状态信号 控制输入信号 总线命令信号 总线控制信号

两种工作方式:I/O 总线方式:局部总线方式系统总线方式

Page 49: 第二章 8086系统结构

55 、、总线裁决器总线裁决器 82898289

当系统中存在多个对总线具有主控权的设备时,每个主控设备需要增设 8289 来对总线进行合理分配,将总线使用权赋给优先权最高的设备。引脚功能: 状态信号: 8086CPU 输出 控制信号 多总线命令信号 系统信号

Page 50: 第二章 8086系统结构

二、最大方式和最小方式基本配置二、最大方式和最小方式基本配置

• 最小配置: 1 片 8284 、 3 片 8282 、 2片 8286

• 最大配置:除最小配置,外加 8288 、 8289