通用微处理器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 通用微处理器
5.1 8086/8088 CPU 的外特性
一、8086/8088 CPU 的引脚信号
1) 地址线:015AD ~AD ,1619A ~A ,20位地址总线,地址线和数据线分时复用; 2) 数据线:015AD ~AD ,07AD ~AD
3) ALE :地址锁存信号,高电平时015AD ~AD 为地址信息,输出; 4)
DEN :数据允许信号,输出;
5) DT /R :数据收发信号; 6) RD :读信号,输出;
7)
WR :写信号,输出;
8) M /IO :存储器/输入输出控制信号,输出; 9) RESET :复位信号,输入;
10) NMI :不可屏蔽中断信号,输入; 11) INTR :中断信号,输入;
12) READY :数据准备好,输入; 13) CLK :时钟信号,输入;
14) MN/MX:最大模式、最小模式控制信号,输入。
二、数据和地址信号线的分时复用
8282:8位地址锁存器,STB锁存信号,需要3片;
8286:8位数据收发器,需要2片。
T=1时,数据由A端输入,B端输出;
T=0时,数据由A端输出,B端输入;
OE:输出允许。
5.2 8086 CPU的内部结构
一、8086 CPU的结构特点
1.两级流水结构;
2.总线分时复用;
3.存储空间分段管理;
4.指令集丰富;
5.寄存器组丰富。
二、寄存器组
1.数据寄存器组:
AX:累加器,BX:基址寄存器,CX:计数器,DX:数据寄存器。
2.指示寄存器和变址寄存器组:
SI:源变址器,DI:目的变址器,SP:堆栈指示器,BP:基础指示器。
3.段寄存器:
CS:代码段寄存器,DS:数据段寄存器,ES:辅助段寄存器,SS:堆栈段寄存器。
4.程序计数器:IP;
5.标志寄存器:IF
进位标志:CF,零标志:ZF,符号标志:SF,溢出标志:OF,辅助进位标志:AF,
奇偶标志:PF,方向标志:DF,中断标志:IF,跟踪标志:TF。
1:偶数0:低→高0:不允许
0:奇数1:高→低1:允许
三、20位地址形成
1.存在的矛盾:8086CPU有20根地址线,寻址能力为1M,而内部的寄存器为16位寄存器,
每个寄存器的寻址能力为64K。
2.解决办法:分段寻址,用两个16位寄存器转换为1个20位地址。
每个地址分为两部分,段地址和偏移地址,称为一个逻辑地址,表示为段地址:偏移地址。
每个段的大小为64K,段地址表示段的起始地址,偏移地址表示段内的地址。
一个真实的内存地址称为物理地址,是每个内存单元的唯一的20位地址。
3.逻辑地址和物理地址的转换公式:
物理地址= 10H*段地址+ 偏移地址。
一个逻辑地址唯一地对应着一个物理地址,而一个物理地址对应于多个逻辑地址。
FFFFH:0 = FFFF0H F000H:FFF0H = FFFF0H
4.偏移地址寄存器与段寄存器之间的默认对应关系:
代码段:CS:IP;
数据段:DS:BX,DS:SI,DS:DI;
堆栈段:SS:SP,SS:BP。
5.段与段之间是有交叠的,相邻段之间相差16Bytes。
DS=1000H, CS=1001H
数据段的物理地址:10000H~1FFFFH
代码段的物理地址:10010H~2000FH
五、数据在存储器中的存放次序
数据在存储器中的存放方式称为字序,8086的存放原则是:低位在前,高位在后。 例如:在20000H 地址存放55AAH
long int a = 0x22334455;
六、堆栈
1. 堆栈的概念
堆栈是由栈顶和栈底构成的,每次对数据的操作都是在栈顶进行的。 堆栈的操作有两种:入栈 – PUSH, 出栈 – POP 。
2. 8086堆栈操作的过程
8086中当前堆栈的栈顶由SS:SP 指示; 入栈过程:PUSH AX 假设:SS=9000H, SP=1000H, AX=55AAH
1) SP-1→SP :SP=0FFFH ;
2) 将AH →SS:SP 中:[90FFFH]=55H ; 3) SP-1→SP :SP=0FFEH;
4) 将AL →SS:SP 中:[90FFEH]=AAH 。 出栈操作:POP BX
1) SS:SP →BL :BL=AAH ;
AAH 55H
20000H 20001H
55H 44H 60000H 60001H 33H 22H
60002H 60003H
…
…
…
10000H
10010H
1FFFFH
2000FH
数据段
代码段
2) SP+1→SP :SP=0FFFH; 3) SS:SP →BH :BH=55H 4) SP+1→SP 。
5.3 8086的工作时序
8086CPU 读数据时序
CLK
M/IO 地址输出
A19~A16
地址输出AD15~AD0数据输出
ALE
RD
DT/R
DEN
T 1
T 2
T 3
T 4
采样READY信号
一、T1状态:
M /IO :置高电平,表示存储器读,一直持续到
T 4状态;
地址:由A 19~A 16和AD 15~AD 0送出地址数据;
ALE :通知8282对地址数据进行锁存,在ALE 的下降沿锁存地址;
DT /R :输出低电平,表示总线读周期; DEN :输出高电平,禁止8286进行数据收发。
AAH 55H
90FFEH 90FFFH
91000H