微机原理与接口技术

44
微微微微微微微微微 微微微

Upload: giovanni-lynagh

Post on 31-Dec-2015

47 views

Category:

Documents


0 download

DESCRIPTION

微机原理与接口技术. 第四讲. 第二章 8086 系统结构. 内 容 提 要.  微型计算机的发展概况  8086CPU 内部结构.  8086CPU 引脚及功能  8086CPU 存储器组织  8086CPU 系统配置  8086CPU 时序. 2. ※ 有关概念介绍.  主频,外频,倍频系数  T 状态.  总线周期  指令周期  时序.  时序图. 一、主频,外频,倍频系数. ① CPU 是在时钟信号的控制下工作. CLK 时钟信号 是一个按一定电压幅度, 一定时间间隔发出的脉冲信号 - PowerPoint PPT Presentation

TRANSCRIPT

微机原理与接口技术

第四讲

2

第二章 8086 系统结构

微型计算机的发展概况

8086CPU 内部结构

8086CPU 引脚及功能

8086CPU 存储器组织

8086CPU 系统配置

8086CPU 时序

内 容 提 要

※有关概念介绍

主频,外频,倍频系数

T 状态

总线周期

指令周期

时序

时序图

一、主频,外频,倍频系数

① CPU 是在时钟信号的控制下工作

CLK

时钟信号 是一个按一定电压幅度, 一定时间间隔发出的脉冲信号

② CPU 所有的操作都以时钟信号为基准 CPU 按严格的时间标准发出地址,控制信号,

存储器、接口也按严格的时间标准送出或接受数据。 这个时间标准就是由时钟信号确定。

4

5

③ CPU 的主频或内频指 CPU 的内部工作频率。主频是表示 CPU 工作速度的重要指标,在 CPU 其它性能指标相同时,主频越高, CPU 的速度越快

④ CPU 的外频或系统频率指 CPU 的外部总线频率。

⑤ 倍频系数指 CPU 主频和外频的相对比例系数。8088/8086/80286/80386 的主频和外频值相同;从 80486DX2 开始, CPU 的主频和外频不再相同,将外频按一定的比例倍频后得到 CPU 的主频,即:

CPU 主频 = 外频 × 倍频系数

⑥ PC 机各子系统时钟 ( 存储系统,显示系统,总线等 ) 是由 系统频率按照一定的比例分频得到。

一、主频,外频,倍频系数

6

550MHzPentium III

北桥440BX

南桥PIIX4E

USB

CMOS & RTC

超级 I/O

COM1

COM2

LPT1

550MHzL1

Cache

L2Cache

处理机总线 100MHz

100MHz

PCI 总线 33MHz

硬件实验箱

IDE1

IDE2

ISA 总线 8MHz

内存条

PCI插槽

显示器

硬盘

光驱

ISA 插槽

软驱

键盘鼠标

ROM BIOS

MODEM

打印机

AGP

66MHz显卡

内频

外频倍频系数 5.5

⑦ 外频性能指标

频率 f : 1 秒内的脉冲个数

周期 T = 1/ f

5MHz

200 ns

占空比:高电平在一个周期中的比例 1 : 3

CLK

T

7

一、主频,外频,倍频系数

1/3T

8

相邻两个脉冲之间的时间间隔,称为一个时钟周期,又称 T 状态( T 周期)。

二、 T 状态

每个 T状态包括:下降沿、低电平、上升沿、高电平

CLK

T

数据总线 DB

控制总线 CB

9

三、总线周期

CPU 通过总线完成与存储器、 I/O 端口之间的操作,这些操作统称为总线操作。

地址总线 AB

存储器

I/O接口

输入设备

I/O接口

输出设备CPU

中断响应周期中断响应操作

I/O 端口写周期写 I/O 端口操作( 往 I/O 端口写数 )

I/O 端口读周期读 I/O 端口操作( 取 I/O 端口中的数 )

存储器写周期写存储器操作

( 将结果存放到内存 )

存储器读周期读存储器操作( 取操作数 )

总线周期总 线 操 作

10

① 执行一个总线操作所需要的时间称为总线周期。

三、总线周期

T1 T2 T3 T4

CLK

总线周期

11

三、总线周期

② 一个基本的总线周期通常包含 4 个 T 状态,

按时间的先后顺序分别称为 T1、 T2、 T3、 T4

12

四、指令周期

① 执行一条指令所需要的时间称为指令周期。

执行一条指令的时间 : 是取指令、取操作数、执行指令、

存放结果所需时间的总和 ( 用所需的时钟周期数表示 ) 。

例 : MOV

MUL

BX, AX

BL

; 2 个 T 周期

; 70~77 个 T 周期

13

例 MOV

MOV

BX, AX

[ BX ], AX

2 个 T 周期

14 个 T 周期

四、指令周期

② 不同指令的执行时间 ( 即指令周期 ) 是不同的 ;

同一类型的指令,由于操作数不同,指令周期也不同

14

( 2 )取 ( DS:BX ) 内存单元操作数

( 3 ) 存放结果到 ( DS:BX ) 内存单元

存储器读周期

存储器写周期

例 1 执行 MOV BX, AX

包含 : 取指令

例 2 执行 MOV [ BX ], AX: 包含:

( 1 )取指令

四、指令周期

③ 执行指令的过程中,需从存储器或 I/O 端口读取或存放数据,故一个指令周期通常包含若干个总线周期。

15

① 为实现某个操作,芯片上的引脚信号在时钟信号的统一控制下,按一定的时间顺序发出有效信号,这个时间顺序就是时序。

五、时序

② 描述某一操作过程中,芯片 / 总线上有关引脚信号随时间发生变化的关系图,即时序图。

六、时序图

时间

有关引脚信号

16

T1 T2 T3 T4

CLK

A19~A0

ALE

D7~D0

RD

例 IBM PC/XT 总线上存储器读周期时序

时间 T

17

时间

有关引脚信号

T1 T2 T3 T4

CLK

A19~A0

ALE

D7~D0

RD

例 IBM PC/XT 总线上存储器读周期时序

六、时序图

③ 时序图以时钟脉冲信号作为横坐标轴,表示时间顺序; 纵轴上是有关操作的引脚信号随时间发生变化的情况 , 时序图中左边出现的事件发生在右边之前。

时间 T

18

第二章 8086 系统结构

微型计算机的发展概况 8086CPU 内部结构 8086CPU 引脚及功能 8086CPU 存储器组织 8086CPU 系统配置 8086CPU 时序

内 容 提 要

19

加深对指令执行过程及计算机工作原理的了解。

设计接口时,需考虑各引脚信号在时序上的配合。

学习时序的目的

20

主 要 内 容

概述

系统的复位和启动

最小模式下的总线操作

最小模式下的总线保持

§2-5 8086CPU 时序

一、概述 §2-5 【 8086CPU 时序】

计算机工作过程:在时钟脉冲 CLK 统一控制下的指令执行过程。8086 的时钟频率为 5MHz ,时钟周期或 T 状态为 200 ns 。

概念:

① 指令周期( Instruction Cycle ):执行一条指令所需的时间称为指令周期。不同指令的指令周期的长短是不同的.一个指令周期由几个总线周期组成。

② 总线周期( Bus Cycle ):BIU 完成一次访问存储器操作所需要的时间,称作一个总线周期。一个总线周期由几个 T 状态组成。

③ 时钟周期 (Clock Cycle) : CPU 的时钟频率的倒数,也称 T 状态。

21

注意:

在 8086/ 8088CPU 中,每个总线周期至少包含 4 个时

钟周期 (T1~T4) ,一般情况下,在总线周期的 T1状态传送地址, T2~T4状态传送数据。

22

一、概述 §2-5 【 8086CPU 时序】

0000H其它寄存器

清零变空指令队列

0000HES寄存器

0000HSS寄存器

0000HDS寄存器

FFFFHCS寄存器

0000H指令寄存器

清零标志寄存器

① 复位信号:通过 RESET 引脚上的触发信号来引起 8086 系统复位和启动, RESET至少维持 4 个时钟周期的高电平。

② 复位操作:当 RESET 信号变成高电平时, 8086/ 8088CPU 结束现行操作,各个内部寄存器复位成初值。

二、系统的复位与启动 §2-5 【 8086CPU 时序】

23

③ 复位后程序执行:代码段寄存器 CS=FFFFH ,指令指针 IP=0000H ,也就意味着从内存的 FFFF0H 处开始执行指令。

一般在 FFFF0 处存放一条无条件转移指令,以转到系统引 导程序的入口处,这样系统启动后就自动进入系统程序。

④ 可屏蔽中断被屏蔽:标志寄存器被清 0 ,程序中要用指令 STI来设置中断允许标志。

24

二、系统的复位与启动 §2-5 【 8086CPU 时序】

总线 不作用状态

25

二、系统的复位与启动

CLK

RESET复位

内部RESET

浮空

§2-5 【 8086CPU 时序】

系统复位的时序过程

二、系统的复位与启动

说明

在 RESET 信号变成高电平后,紧接的第一个时钟上升沿,内部的RESET 信号出现。然后经过一个时钟周期,所有的三态输出线被设置成高阻,并一直维持高阻状态 (浮空 ) ,直到 RESET 信号回到低电平为止。但在高阻状态的前半个时钟周期,三态输出引脚被置成不作用状态,当时钟信号又变成高电平时,才置成高阻状态。

置成高阻状态的三态输出引脚包括: AD15~AD0、 A19/S6~A16/S3、BHE/S7、 M/IO 、 DT/R 、 DEN 、 WR 、 RD 和 INTA 。另外有几条控制引脚在复位之后处于无效状态,但不浮空,它们是 ALE 、 HLDA 、RQ/GT0、 RQ/GT1、 QS0、 QS1。

26

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

1. 读总线周期

一个最基本的读总线周期包含 4 个 T 状态,即 T1、 T2、 T3、T4,在存储器和外设速度较慢时,在 T3后可插入 1 个或几个等待状态 Tw。

以下讲述的内容请参考教材第 143 页图 5-4。

29

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

1. 读总线周期T1状态: ①M/IO 信号在 T1 状态有效,指出 CPU 是从内存还是从 I/O 端口读取数据。 M/IO 信号的有效电平一直保持到总线周期结束的 T4 状态。

②T1 状态开始, 20位地址信号通过多路复用总线输出,指出要读取的存储 器或 I/O瑞口的地址。高 4位地址从 A19/S6~A16/S3 地址/状态线送出,低 16位从 AD15~AD0 地址/数据线送出。

③ALE 引脚上输出一个正脉冲作地址锁存信号。在 T1 状态结束时, M/IO 信 号,地址信号均已有效, ALE 的下降沿用作锁存器 8282 的选通信号,使 地址锁存。

④BHE 信号有效,作为奇地址存储体的选体信号,配合地址信号可实现存 储单元的寻址,它表示高 8位地址 /数据线上的地址数据有效。

⑤系统中若接有数据总线收发器 8286 时,在 T1 状态, DT/R 端输出低电平, 表示本总线周期为读周期,用 DT/R去控制 8286 接收数据。

30

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

1. 读总线周期

T2状态:

① 地址信号消失, A19/S6~A16/S3 引脚上输出状态信息 S6~ S3 ,指出当前正在使用的段寄存器及中断允许情况。

② 低位地址线 AD15~AD0进入高阻状态,为读取数据作准备。

③ BHE/S7 变成高电平,输出状态信息 S7 , S7 在设计中未赋于实际意义。

④ RD 信号有效,送到所有的存储器和 I/O 端口,但只选通地址有效的存储单元和 I/O 端口,使之能读出数据。

⑤ 若系统中接有 8286 , DEN 信号在 T2 状态有效,作为 8286 的选通信号,使数据通过 8286传送。

31

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

1. 读总线周期

T3状态:

①T3 状态一开始, CPU采样 READY 信号,若此信号为低电平表示系统中所连接的存储器或外设工作速度较慢,数据没有准备好,要求 CPU 在T3 和 T4 状态之间再插入一个 TW 状态。 READY 是通过时钟发生器 8284传递给 CPU 的。

②当 READY 信号有效时, CPU 读取数据。在 DEN= 0 、 DT/R= 0 的控制下,内存单元或 I/O 端口的数据通过数据收发器 8286 送到数据总线AD15~AD0 上。 CPU 在 T3 周期结束时,读取数据。 S3S4 指出了当前访问哪个段寄存器,若 S3S4= 10 ,表示访问 CS段,读取的是指令, CPU 将它送入指令队列中等待执行,否则读取的是数据,送入 ALU进行运算。

32

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

1. 读总线周期

Tw状态:CPU 在每个 TW 状态的前沿对 READY 信号采样,若为低电平继续插入 TW

状态。当在 TW 状态采样到 READY 信号为高电平时,在当前 TW 状态执行完,进入 T4 状态,在最后一个 TW 状态,数据肯定已出现在数据总线上,此时 TW 状态的动作与 T3 状态一样。 CPU采样数据线 AD15~AD0 。

T4 状态:

CPU 在 T3 与 T4 状态的交界处采样数据。然后在 T4 状态的后半周期,数据从数据总线上撤除,各个控制信号和状态信号线进入无效状态, DEN无效,总线收发器不工作,一个读总线周期结束。

33

§2-5 【 8086CPU 时序】

28

§2-5 8086CPU 时序三.最小模式下的总线操作1. 读总线周期(动画)

三、最小模式下的总线操作

2. 写总线周期

T1状态:M/IO 信号有效,指出 CPU 将数据写入内存还是 I/O 端

口; CPU给出写入存储单元或 I/O 端口的 20位物理地址;地址锁存信号 ALE 有效,选存储体信号 BHE 、 A0有效, DT/R

变高平,表示本总线周期为写周期。

T2状态:地址撤消, S6~ S3状态信号输出;数据从 CPU 送到数据

总线 AD15~AD0, WR 写信号有效; DEN 信号有效,作为数据总线收发器 8286 的选通信号。

35

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

2. 写总线周期

T3状态:CPU采样 READY 线,若 READY 信号无效,插入一个到

几个 TW状态,直到 READY 信号有效.存储器或 I/O 设备从数据总线上取走数据 。

T4状态:从数据总线上撤消数据,各控制信号和状态信号线变成

无效; DEN 信号变成高电平,总线收发器不工作 。

36

§2-5 【 8086CPU 时序】

28

§2-5 8086CPU 时序三.最小模式下的总线操作2. 写总线周期(动画)

三、最小模式下的总线操作

2. 写总线周期

与读总线周期几点不同之处:

①在 T1状态, DT/R 信号为高电平,表示本总线周期为写周期,即 CPU 将数据写入存储单元或 I/O 端口。

②在 T2状态,地址信号发出后, CPU立即向地址 / 数据总线AD15~AD0发出数据,数据信号保持到 T4状态的中间,使存储器或外设一旦准备好即可从数据总线取走数据。

③写信号为 WR(代替 RD) ,在 T2状态有效,维持到 T4状态,选通存储器或 I/O 端口的写入。

37

§2-5 【 8086CPU 时序】

三、最小模式下的总线操作

3. 总线空操作

只有在 CPU 和存储器或 I/O 接口之间传输数据时, CPU才执行总线周期,当 CPU 不执行总线周期时 ( 指令队列 6字节已装满, EU未申请访问存储器 ) ,总线接口部件不和总线打交道,就进入了总线空闲周期 Ti。此时状态信息 S6~ S3

和前一个总线周期一样。数据总线上信号不同,若前一个总线周期是读周期,则 AD15~AD0在 Ti状态处于高阻状态,若前一个总线周期是写周期,则 AD15~AD0在 Ti状态继续保持数据有效。在空闲周期中,虽然 CPU 对总线进行空操作,但 CPU 内部操作仍然进行。例 ALU 执行运算,内部寄存器之间数据传输等,即 EU 部件在工作。所以说,总线空操作是总线接口部件 BIU 对总线执行部件 EU 的等待。

38

§2-5 【 8086CPU 时序】

39

§2-5 8086CPU 时序四.最小模式下的总线保持

在一个系统中, CPU 以外的其它主模块要求获得控制总线的使用权时,向 CPU 发出总线请求信号 HOLD 。在每个时钟脉冲的上升沿, CPU检测 HOLD 引脚上的信号。如果检测到

HOLD 为高电平,并且允许让出总线,那么在总线周期的 T4

状态或空闲状态 Ti之后的下一个时钟周期, CPU 发出总线响应信号 HLDA ,并且让出总线。直到检测到 HOLD 信导无效,CPU才收回总线控制权。

教材第 149 页

四、最小模式下的总线保持

T4或 Ti

CLK

HOLD

HLDA

40

§2-5 【 8086CPU 时序】

CPU检测HOLD 引脚上的信号

四、最小模式下的总线保持

① HOLD 信号变高电平后, CPU 要在下一个时钟周期的上升沿才检测到。然后用 T4 或 Ti 状态的下降沿使 HLDA 变成高电乎。若采样到 HOLD 信号时,不在 T4 或 Ti 状态,可能会延迟几个时钟周期,等到 T4 或 Ti 状态才发HLDA 信号。

② 8086CPU 一旦让出总线控制权,使地址线,数据线及控制信号 RD 、WR 、 INTA 、 M/IO 、 DEN 及 DT/R 处于浮空状态,但 ALE 信号不浮空。

③ HOLD 信号影响 8086CPU 的总线接口部件 BIU 的工作 ( 总线浮空 ) ,但执行部件 EU继续执行指令队列中的指令,直到遇到需要使用总线的指令时,执行部件 EU才停下来,等待 BIU恢复运行。

④ 当总线请求结束, HOLD 及 HLDA 信号变为低电平时, CPU 不立刻驱动三总线,这些引脚继续浮空,直到 CPU 执行一条总线操作,才结束这些引脚的浮空状态。因此,为了防止总线控制切换时,因没有任何主模块的驱动而造成控制线电平飘移到最小电平以下。在控制线和电源之间要连接—个提拉电阻。

41

§2-5 【 8086CPU 时序】

五、 8088CPU I/O 端口、存储器读周期时序图

CLK

T1 T2 T3 T4

IO/M

A19~A16/S6~S3

A15~A8

AD7~AD0

ALE

RD

DT/R

DEN

42

高 IO

A19~A16

A7 ~ A0

低 M

S6 ~ S3

D7~ D0

CLK

T1 T2 T3 T4

高 IO

A19~A16

A7 ~ A0

IO/M

A19~A16/S6~S3

A15~A8

AD7~AD0

ALE

WR

DT/R

DEN

43

低 M

S6 ~ S3

D7 ~ D0

五、 8088CPU I/O 端口、存储器读周期时序图

44

课堂小结

重点:

了解系统的复位和启动

掌握 8086最小工作模式下的时序(读、写)。

44

课堂小结

习题:

了解系统的复位和启动

掌握 8086最小工作模式下的时序(读、写)。