通用微处理器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档