微机原理
DESCRIPTION
在此幻灯片插入公司的徽标 从“插入”菜单 选择图片 找到徽标文件 单击“确定” 重新设置徽标大小 单击徽标内任意位置。徽标外部出现的方框是“调整控点” 使用这些重新设置对象大小 如果在使用尺寸调整控点前按下 shift 键,则对象改变大小但维持原比例。. 微机原理. 制作者: 张幸. 第二章 8086系统结构. 第一节 8086 CPU 的结构 第二节 8086 CPU 引脚功能 第三节 8086/8088存储器组织 第四节 8086系统配置. 第一节 8086 CPU 的结构. 一、执行部件( EU) 和总线接口部件( BIU) - PowerPoint PPT PresentationTRANSCRIPT
一、执行部件( EU )和总线接口部件( BIU)
8086CPU 的内部结构由两部分组成:总线接口部件 BIU 、执行部件( EU),
采用流水线工作方式总线接口部件 BIU :负责取指令;存、取操作数执行部件( EU):负责分析指令、执行指令
AH ALBH BLCH CLDH DL
SPBPDISI
暂存器
ALU
标志寄存器
∑
CSDSSS
内部寄存器
ESIP
总线控制电路
8086 总线
(16位 )
地址总线 (20位 )
数据总线(16位 )
1 2 3 4
指令队列EU
控制器
通用寄存器AXBXCXDX
ALU 数据总线
(16位 )
队列总线
(8位 )
执行单元 EU 总线接口单元 BIU
8086CPU 内部结构
1.BIU 总线接口部件组成:段寄存器 16 位 CS SS DS ES 指令指针( IP )存放指令的偏移地址 地址形成逻辑 完成逻辑地址到物理地址转换 指令队列 采用 FIFO 结构,预取指令 总线控制逻辑 发出总线控制信号
任务: 把段寄存器和 IP 相加形成 20 位有效地址 16*CS+IP
取指令 8086 如果队列中有 2 字节以上空格, EU 不要求总线,则 BIU 预取指令8088 如果队列中有 1 字节以上空格, EU 不要求总线,则 BIU 预取指令
EU 要求总线周期,有 EU 提供信号和地址来 源, BIU 进入总线,存取数据
2.EU 执行部件组成: ALU 算术逻辑运算单元 PSW 标志寄存器 存放运算结果特征 寄存器组 存放中间结果 EU 控制器 取指令控制、时序控制
访问 M和 I/O : 由 EU 通知 BIU 提供信号和地址来源
内部:根据指令要求对寄存器和标志管理
任务:从队列中取指令控制
1. 通用寄存器组
EAX AX AH AL
EBX BX BH BL
ECX CX CH CL
EDX DX DH DL
•可 8 位、 16 位使用 用于存放数据或地址•专用功能 BX—— 基址寄存器 AX—— 累加器
CX—— 计数器 AX, DX—— 用于乘、除
2. 指针和变址寄存器
这四个寄存器只能按 16 位操作
用于堆栈和变址操作计算操作数的有效地址
SP 堆栈指针
BP 基址寄存器
SI 源变址寄存器
DI 目的变址寄存器
用于堆栈操作
用于变址操作
ESP
EBP
ESI
EDI
3. 段寄存器 存放每一段的起始地址
CS 代码段寄存器
SS 堆栈段寄存器
DS 数据段寄存器
ES 附加段寄存器
用于存放程序 CS*16+IP—— 取指
用于存放堆栈 SS*16+SP—— 堆栈
用于存放数据 DS*16+SP, BP, SI
用于存放数据 ES*16+BP, DI
状态位:
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
若最高位产生进位或借位,则 CF 置 1
若最高位无进位或借位,则 CF 清 0CF 进位标志:
5394H+(-777FH) 0101 0011 1001 0100 + 1000 1000 1000 0001 1101 1100 0001 0101
CF=0 PF=0 AF=0 ZF=0 SF=1 OF=0
控制位:
DF=0 ,地址指针自动增加(由低到高)
DF=1 ,地址指针自动减少(由高到低)DF 方向标志
TF 陷阱标志 若 TF=1, CPU 处单步工作方式,每执行一条指令,产生一次单步中断
IF 中断标志 当 IF=1 时,允许中断, 当 IF=0 时,禁止中断
第二节 8086CPU 引脚功能8086 芯片共计 40 个引脚,主要分成三类:地址线数据线和控制线。外加电源。 CPU 芯片的引脚完全反映了该芯片的内部功能以及和外界部件的交互方式。学习这部分内容着重考察 CPU 内部的功能模块以及输入输出需求,掌握引脚的功能定义。 学习要求: 信号名称 信号含义 有效电平 输入 / 输出 状态
(两态 / 三态) 信号来源
GND
8086CPU
123456789
1011121314151617181920 21
22232425262728293031323334353637383940
AD 14AD 13AD 12AD 11AD 10AD 9AD 8AD 7AD 6AD 5AD 4AD 3AD 2AD 1AD 0
NMIINTRCLKGND RESET
READYTEST
)QS(INTA 1
ALE(QS 0 ))S(DEN 0
)S(RDT 1/)S(IOM 2/
)LOCK(WR
)GT/RQ(HOLD 0
RDMX/MN
7SBHE /A 19 /S6
A 18 /S5
A 17 /S4
A 16 /S3
AD 15
VCC (£«5 V)
)GT/RQ(HLDA 1
GND
8088CPU
123456789
1011121314151617181920 21
22232425262728293031323334353637383940
A 14A 13A 12A 11A 10A 9A 8
AD 7AD 6AD 5AD 4AD 3AD 2AD 1AD 0
NMIINTRCLKGND RESET
READYTEST
)QS(INTA 1
ALE(QS 0))S(DEN 0
)S(R/DT 1
)S(M/IO 2
)LOCK(WR
)GT/RQ(HOLD 0
RDMX/MN
)HIGH/(SS0
A 19 /S6
A 18 /S5
A 17 /S4
A 16 /S3
A 15
VCC (£«5 V)
)GT/RQ(HLDA 1
一、 8086 CPU 引脚及功能1. 地址总线和数据总线 *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 条地址线
S4 S3 当前正在使用的段寄存器
0
0
1
1
0
1
0
1
ES
SS
CS或未使用任何段寄存器
DS
S6~S3 :状态线S6 :为低电平 S5 指示中断允许 IF 状态S4 S3 指示哪一个段寄存器
*MN/MX 线:最小 / 最大方式控制线 若MN/MX=1, 8086 处于最小方式 若MN/MX=0, 8086 处于最大方式8086 具有两种系统配置方式:最小模式和最大模式,分别对应单机系统和多机系统。最小模式:由 8086 提供全部控制信号最大模式:由专用总线控制器 8288 提供总线控制信号在不同模式 8086 的有些引脚不完全相同
。
脚 最大 最小 脚 最大 最小28 S2 IO/M 27 S1 DT/R26 S0 DEN 30 RQ/GT0 HOLD24 QS1 INTA 31 RQ/GT1 HLDA25 QS0 ALE 29 LOCK WR
受MN/MX 影响的控制信号
*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 无效
不受 MN/MX 影响的控制信号
*RD读信号 三态 输出 、低电平有效*READY 准备就绪信号 、输出、 高电平有效*INTR 中断请求信号、输入、高电平有效*NMI 非屏蔽中断请求信号、 输入 、正沿触发
*TEST 测试信号 、输入 、低电平有效*RESET 复位信号、 输入、 高电平有效
内 部 寄 存 器 状 态
标志寄存器
IP
CS
DS
SS
ES
指令队列缓冲器
其余寄存器
0000H
0000H
FFFFH
0000H
0000H
0000H
空
0000H
复位后, 8086CPU 的状态:
二、 8086 与 8088 引脚不同 数据线( 8086: AD15~AD0, 8088:
AD7~AD0) 存储器 / 输入输出控制线不同( 8086:M/
IO, 8088 IO/M) BHE/S7 不同( BHE 是总线高允许)
一、存储器地址的分段
矛盾:存储器地址空间1MB, 20bit 地址线;内部各寄存器和数据总线均为 16bit 。
¶Î 1
¶Î 2
¶Î 16
¶Î 3
00000H
0FFFFH10000H
1FFFFH20000H
2FFFFH
F0000H
FFFFFH
解决方法:将整个存储空间分为若干个逻辑段,每段内地址 16bit ,即最多地址空间 64KB 。
允许各逻辑段在整个存储空间浮动,段与段之间可以是连续的,也可以是分开的或重叠的。
00000H
逻辑段2<=64KB
逻辑段 1 起点逻辑段 2 起点
逻辑段 3 起点
逻辑段 4 起点
FFFFFH
逻辑段1<=64KB
逻辑段4<=64KB
逻辑段3<=64KB
每个段的起始地址必须能被 16整除( XXXX0H )
程序执行前,分别对相应的段寄存器CS, DS, SS,ES 置“段基值”,若程序长度大于64KB ,则可通过对 CS 送新的“段基值”将程序转移到新段中。
二、物理地址的计算方法
CPU 内部寄存器是 16 位,给出的地址也是 16 位,不能直接
用于 20 位地址空间的寻址,因此必须寻求一种将 16 位逻辑地址
转换成 20 位物理地址的方法。 逻辑地址:段基址和偏移地址组成,无符号 16 位二进制数,是程序设计是采用的地址。 物理地址:存储器中实际存放的地址 物理地址 =16* 段地址 + 偏移地址
四、 8086/8088 存储器分体结构
在 8088CPU 系统中,外部数据总线为 8 位,在存储器地址空间中数据存储格式以字节 (8bit) 为单位组织存储的, CPU 访问一次存储器,只读写一个字节,读写一个字要两次访问存储器。
而 8086CPU 的数据总线为 16 位, CPU 除了可以对一个字节寻址外,还必须能进行一个字的读写。即:如何组织数据存储格式使 CPU 访问一次存储器,获得一个字的数据。
硬件条件:( 1 )将 1M 的存储空间分成两个存储体:偶地址和奇地址存储体
0000000001
00002
00004
FFFFEFFFFF
00003
00005
512K*8bit
A0 =0
512K*8bit
A0=1
D0D7D8D15
( 2 )将数据总线的低 8 位与偶地址存储体数据线相连,数据总线的高 8 位与奇地址存储体数据线相连。( 3 )用地址线 A0和 BHE 信号选择存储体
BHE A0 操作 总线使用情况 0 0 从偶地址开始读 /写一个字 AD15--
AD0 0 1 从奇地址开始读 /写一个字节 AD15--
AD8 1 0 从偶地址开始读 /写一个字节 AD7--AD0 1 1 无效
14230H
1422FH
1422EH
1422DH
字 (16bit) 数 据 地 址1422EH低位在低地址,高位在高地址
H(高 8bit)
L(低 8bit)字节地址字节地址
存储器二个连续字节组成一个字,一个字中的每一个字节都有各自的字节地址。存入时以低位字节在低地址,高位字节在高地址的次序存放,字单元的地址以低位地址表示。若要求 8086在一个总线周期访问一个整字( 16 位)时,则该字的地址为偶地址(“对准存放”)。如果则该字的地址为奇地址(“未对准存放”),则 8086 要用两个连续的总线周期访问一个整字,每个周期访问一个字节。
数据存放格式:
第四节 8086 系统配置
8086 具有两种系统配置方式:最小模式和最大模式,分别对应单机系统和多机系统。注意学习一般的计算机系统的基本配置方式,配置的策略,建立微型机系统的基本配置模型。
一、基本总线接口部件
二、最大方式和最小方式基本配置
1. 地址锁存器 8282/8283
8282 (不反相)和 8283 (反相)具有三态输出的锁存缓冲器,用于锁存、缓冲、多路输出
8282 的逻辑图 8086 系统中, 8282 ( 8283 )用于地
址锁存器 连接: ALE——STB OE—— 接地
DI——AD DO——A (地址)
2.数据总线缓冲器 8286/8287
8286 (不反相) 8287(反相)具有 8路双向缓冲电路,可实现 8 位数据的双向传送, 8286/8287具有很强总线驱动能力,可作为总线驱动器
8286 逻辑图 8086 系统中, 8286 ( 8287)为总线驱动器 连接: T——DT/R OE——DEN A——AD B——D (数据)
3.时钟发生器 8284 提供整个 CPU 芯片的时钟控制信号,是实现精确控制
的必要条件。 三大功能模块: 时钟信号发生器 OSC:14.318MHz CLK: 4.77MHz, 占空比 1/3 ,供 CPU PCLK: 2.385MHz,占空比 1/2,供外设 复位生成电路 就绪控制电路
4.总线控制器 8288
由于 8086 系统配置为多处理器系统,有多个具有自主性的总线控制设备,原先的一些引脚用来传送其他控制信号,因此需要增加独立的总线控制器来输出总线控制命令。引脚功能: 总线状态信号 控制输入信号 总线命令信号 总线控制信号
两种工作方式:I/O 总线方式:局部总线方式系统总线方式
5.总线裁决器 8289
当系统中存在多个对总线具有主控权的设备时,每个主控设备需要增设 8289来对总线进行合理分配,将总线使用权赋给优先权最高的设备。引脚功能: 状态信号: 8086CPU 输出 控制信号 多总线命令信号 系统信号