16位微处理器
1
0
0
1
从偶地址开始读写一个字节
从奇地址开始读写一个字节 从奇地址开始读写一个字 (第一个总线周期,低八位 数据送AD15~AD8 ,第二个 总线周期,高八位数据送 AD7~AD0 )
AD7~AD0
AD15~AD8
0
1
1
0
AD15~AD8
AD7~AD0
存储器
8086
AD7~AD0 AD15~AD8 字节
9)INTA:中断响应信号输出
对外设的中断请求作出响应。 对8086来说,INTA是位于连续周期中的两个负脉冲, 在每个状态周期的T2、T3、TW状态,INTA为低电平。 第一个负脉冲:通知外设接口中断请求得到允许; 第二个负脉冲:外设收到后,往数据总线上放中断类型码。
10)MN/MX :最大和最小模式控制信号,输入。
12) READY:准备好信号,输入,高电平有效。 为了使CPU能和不同速度的存储器或I/O接口进行连接,设计 了READY信号。 CPU在每个总线周期的T3状态对READY进行采样。READY 信号有效,CPU进入T4 状态。 如果存储器或I/O的速度较慢,不能与CPU的速度相匹配, 可令READY为低。CPU在T3采样到READY为低电平,便在 T3之后插入Tw,延长读写周期,使CPU能和较慢速度的存储 器或I/O接口相匹配。
T3状态:数据信号D15~D0
2)A19/S6~A16/S3 :地址/状态复用信号,输出 T1状态:地址的高4位 T2~T4状态:输出状态信息 S6:指示8086当前是否与总线相连。 S6=0表示8086连在总线上。 S5:表示中断允许标志状态。 S5=1表示中断允许标志IF=1,允许可屏蔽中断; S5=0表示IF=0,禁止可屏蔽中断。
① 方向标志DF(direction flag) ② 中断允许标志IF(interrupt enable flag) ③ 跟踪标志TF(trap flag)又称为单步标志
控制 标志
状态标志:某操作执行后所记录的状态信息。 常作为转移指令的转移条件。
① CF:进位标志 CF=1:进行运算时,最高位产生进位或借位; CF=0:进行运算时,最高位没产生进位或借位 。
注:AF只反映运算结果的低八位。 用途:在BCD码运算中作为是否进行十进制调整的依据。
④ ZF:零标志
ZF=1:运算结果为‘0’; ZF=0:运算结果非‘0’ 。 ⑤ SF:符号标志 SF=1:运算结果为负数; SF=0:运算结果为正数。 注:SF与运算结果的最高位相一致。
⑥ OF:溢出标志 OF=1:运算结果超过了机器补码所能表示数的范围; OF=0:运算结果不超机器补码所能表示数的范围。
8086 CPU 的标 志位
状态 标志
① 符号标志SF(sign flag ) ② 零标志ZF(zero flag) ③ 奇偶标志PF(parity flag) ④ 进位标志CF(carry flag) ⑤ 辅助进位标志AF(auxiliary carry flag) ⑥ 溢出标志OF(overflow flag)
目录
二、 8086的引脚信号和功能
1、8086CPU的引脚
2、引脚分类
地址总线
8086CPU的引脚 (按功能分)
数据总线 控制总线 其它信号线
(1) 地址总线和数据总线
1)AD15~AD0 地址/数据复用信号 双向,三态。 T1状态:低16位的地址信号A15~A0 读周期:浮空 T2状态: 写周期:数据信号D15~D0
典型的总线周期通常由4个时钟(状态)周期T1、T2、
T3和T4组成。
3、空闲周期 当系统总线处在空闲状态时,执行空闲周期TI 。 注:只有在CPU与存储器或I/O接口之间进行数据 交互时,才执行总线周期。除此以外,总线处于空 闲周期。空闲周期表示为TI 。
4、典型的8086总线周期序列
5、总线周期的状态
AL
AH BL
BX
BH CL
CH DL DH
2、组成
基数指针寄存器BP(base pointer)
(2 )4 个 专用 寄存器 堆栈指针寄存器SP (stack pointer) 源变址寄存器SI (source index)
目的变址寄存器DI (destination index)
2、组成
(3)算术逻辑部件ALU(Arithmetic Logic Unit)
(1)T1状态 CPU发地址信息,指出要寻址的存储单元和外设端口地址。
(2)T2状态 CPU撤销地址,总线的高4位输出状态信息; 低16位高阻状态,为传数据作准备。 (3)T3状态 总线高4位继续提供状态信息; 低16位开始传数据。
(4)TW状态(可无) 1)当存储器或者I/O接口的访问速度低于CPU的读写速度时, 需要在T3之后插入一个或者多个附加时钟周期Tw。 2)存储器或I/O接口通过“READY”信号线在T3状态启动之前 向CPU发一未准备好信号。CPU在采样到READY为低时, 在T3之后插入Tw。 3)READY变为高电平以后,表示存储器或I/O准备好。CPU接 收到这一高电平信号便自动脱离Tw ,进入T4状态。 (5)T4状态
用于数据总线驱动器的控制信号。
3)DT/ R :数据收发控制信号,输出,三态。 在8086系统中,通常采用8286或8287作为数据总线的 驱动器,用DT/ R 信号来控制数据驱动器的数据传送方向。 1:数据驱动器进行数据发送; DT/ R= 0:数据驱动器进行数据接收。 高阻:DMA方式 4)M/ IO :存储器或I/O控制信号,输出,三态。
三、8086的总线周期的概念
1、时钟周期或状态周期 CPU的基本定时单位称为时钟周期或者状态周期。
8086CPU内部的逻辑操作、与外部存储器和I/O交 换数据进行的总线操作全部由CPU的时钟来定时。 假设8086的主频为10MHz,一个时钟周期为 100ns。
三、 8086的总线周期的概念
2、总线周期 进行一次数据传送的总线操作定义为一个总线周期。
1:指示CPU进行和存储器之间数据交互;
M/ IO= 0:表示CPU进行和I/O接口之间数据传输。 高阻:DMA方式
5)RD :读信号,输出,三态。 该信号有效,表示CPU执行一个对存储器或I/O端口的读操作。 在读操作总线周期中,在T2~T3状态中有效,为低电平。 6)WR :写信号,输出,三态。 该信号有效,表示CPU执行一个对存储器或I/O端口写操作。 在写操作总线周期中,在T2~T3状态中有效,为低电平。
算术逻辑部件主要是加法器,绝大部分指令的执行
都是由加法器完成的,它可处理各种数据信息。
(4)标志寄存器
指示微处理器的状态并控制它的工作。
Hale Waihona Puke 15 14 13 12 11 10 9 8
7
6
5
4
AF
3
2
PF
1
0
CF
OF DF IF TF SF ZF
控制标志
状态标志
注:标志寄存器为16位寄存器,7位未用,有9个标志位。
在移位指令中,CF可保存从最高位(左移时)或 最低位(右移时)移出的数码。
② PF:奇偶标志
PF=1:操作结果低八位中含有‘1’的个数为偶数; PF=0:操作结果低八位中含有‘1’的个数为奇数。 注:PF只检查操作结果的低八位,与该操作数的 长度无关。
③ AF:辅助进位标志
AF=1:算术运算时,低字节中低四位产生进位或借位; AF=0:算术运算时,低字节中低四位没产生进位或借位。
7) NMI:非屏蔽中断请求,输入,上升沿有效。 NMI不受中断允许标志的影响,不能用软件进行屏蔽。 当CPU检测到NMI有一个正沿触发的信号以后,CPU执行 完当前指令便响应中断类型号为2的非屏蔽中断请求。 8) INTR:可屏蔽中断请求,输入,高电平有效。
如果INTR信号有效,当CPU的中断允许标志IF=1时, CPU结束当前指令后,响应INTR中断。
第二章 16位微处理器
本章重点 :
一、8086CPU的编程结构
二、8086CPU的工作模式
三、CPU的中断和中断向量
四、8086存储器编址
微处理器的性能指标
1、字长 字长指 CPU 能同时处理的数据的位数,又称数据宽度。字 长越长,计算能力越高,速度越快,但集成度要求也越高, 工艺越复杂。 2、主频 即CPU的时钟频率,主频越高,运算速度越快。
决定8086工作在哪种工作模式。 1(+5V):CPU工作在最小模式 MN/MX = 0(接地): CPU工作在最大模式 11)RESET:复位信号,输入,高电平有效。 该信号有效时,CPU结束当前操作并对标志寄存器、IP、 DS、SS、ES及指令队列清零,并将CS设置为FFFFH。当 复位信号撤除时,(即电平由高变低时)CPU从FFFF0H 开始执行程序。 8086要求该信号至少维持4个时钟周期。
地址 加法 器
∑
20位
DX
专用 寄存器
段地址 寄存器 指令指针 寄存器
16位
CS DS SS ES IP 内部暂存器
16位
输入/输出 控制电路 外 部 总 线
ALU
执行部分 控制电路
1 2
3 4 5
6
指令队列 标志寄存器
执行部件 (EU) 总线接口部件 (BIU)
一、 总线接口部件(BIU)
1、功能:负责与存储器、I/O端口传送数据。
控制标志:由指令设置、清除,针对某一功能起控制作用。
① TF:跟踪标志,陷阱标志 常用于调试程序。 TF=1,CPU按单步方式执行指令,每执行一步,产 生一内部中断,显示各寄存器内容。
② IF:中断允许标志 IF=1:允许响应可屏蔽中断; IF=0:不允许响应可屏蔽中断。 ③ DF:方向标志 DF=1:串操作指令按自动减量修改地址指针; DF=0:串操作指令按自动增量修改地址指针。