440 likes | 553 Views
微机原理与接口技术. 第四讲. 第二章 8086 系统结构. 内 容 提 要. 微型计算机的发展概况 8086CPU 内部结构. 8086CPU 引脚及功能 8086CPU 存储器组织 8086CPU 系统配置 8086CPU 时序. 2. ※ 有关概念介绍. 主频,外频,倍频系数 T 状态. 总线周期 指令周期 时序. 时序图. 一、主频,外频,倍频系数. ① CPU 是在时钟信号的控制下工作. CLK 时钟信号 是一个按一定电压幅度, 一定时间间隔发出的脉冲信号
E N D
微机原理与接口技术 第四讲
第二章 8086系统结构 内 容 提 要 微型计算机的发展概况 8086CPU内部结构 8086CPU引脚及功能 8086CPU存储器组织 8086CPU系统配置 8086CPU时序 2
※有关概念介绍 主频,外频,倍频系数 T状态 总线周期 指令周期 时序 时序图
一、主频,外频,倍频系数 ①CPU是在时钟信号的控制下工作 CLK 时钟信号 是一个按一定电压幅度, 一定时间间隔发出的脉冲信号 ② CPU所有的操作都以时钟信号为基准 CPU 按严格的时间标准发出地址,控制信号, 存储器、接口也按严格的时间标准送出或接受数据。 这个时间标准就是由时钟信号确定。 4
一、主频,外频,倍频系数 ③CPU的主频或内频指CPU的内部工作频率。 主频是表示CPU工作速度的重要指标, 在 CPU其它性能指标相同时,主频越高, CPU 的速度越快 ④CPU的外频或系统频率指CPU的外部总线频率。 ⑤ 倍频系数指CPU主频和外频的相对比例系数。 8088/8086/80286/80386的主频和外频值相同; 从80486DX2开始,CPU的主频和外频不再相同,将外频按一定 的比例倍频后得到CPU的主频,即: CPU主频 = 外频 × 倍频系数 ⑥PC机各子系统时钟(存储系统,显示系统,总线等)是由 系统频率按照一定的比例分频得到。 5
L2 Cache 550MHz 内频 550MHz Pentium III L1 Cache 外频 倍频系数5.5 处理机总线 100MHz 显 示 器 100MHz PCI 总线 33MHz 北桥 440BX 内存条 PCI 插槽 AGP 66MHz 显卡 IDE1 IDE2 ISA总线 8MHz USB CMOS & RTC 硬盘 光驱 ISA插槽 南桥 PIIX4E 硬件实验箱 COM1 软驱 COM2 LPT1 超级I/O MODEM 打印机 键盘鼠标 ROM BIOS 6
一、主频,外频,倍频系数 ⑦ 外频性能指标 频率f :1秒内的脉冲个数 周期T = 1/ f 5MHz 200 ns 占空比:高电平在一个周期中的比例 1 : 3 1/3T CLK T 7
二、T状态 相邻两个脉冲之间的时间间隔,称为一个时钟周期,又称T状态(T周期)。 CLK T 每个T状态包括:下降沿、低电平、上升沿、高电平 8
三、总线周期 CPU通过总线完成与存储器、I/O端口之间的操作,这些操 作统称为总线操作。 地址总线 AB 输 出 设 备 输 入 设 备 存 储 器 I/O 接 口 I/O 接 口 CPU 数据总线 DB 控制总线 CB 9
三、总线周期 ① 执行一个总线操作所需要的时间称为总线周期。 总 线 操 作 总线周期 读存储器操作 (取操作数) 存储器读周期 写存储器操作 (将结果存放到内存) 存储器写周期 读 I/O 端口操作 (取 I/O 端口中的数) I/O 端口读周期 写 I/O 端口操作 (往 I/O 端口写数) I/O 端口写周期 中断响应操作 中断响应周期 10
三、总线周期 ② 一个基本的总线周期通常包含4 个T状态, 按时间的先后顺序分别称为T1、T2、T3、T4 T1 T2 T3 T4 CLK 总线周期 11
四、指令周期 ① 执行一条指令所需要的时间称为指令周期。 执行一条指令的时间: 是取指令、取操作数、执行指令、 存放结果所需时间的总和(用所需的时钟周期数表示)。 例 : MOV MUL ; 2个T周期 ; 70~77个T周期 BX, AX BL 12
四、指令周期 ② 不同指令的执行时间(即指令周期)是不同的; 同一类型的指令,由于操作数不同,指令周期也不同 例 2个T周期 14个T周期 MOV MOV BX, AX [ BX ], AX 13
四、指令周期 ③ 执行指令的过程中,需从存储器或I/O端口读取或存放数 据,故一个指令周期通常包含若干个总线周期。 例1 执行 MOV BX, AX 包含: 取指令 例2 执行MOV [ BX ], AX: 包含: (1)取指令 存储器读周期 存储器写周期 (2)取 ( DS:BX )内存单元操作数 (3) 存放结果到 ( DS:BX )内存单元 14
五、时序 ① 为实现某个操作,芯片上的引脚信号在时钟信号的统一 控制下,按一定的时间顺序发出有效信号,这个时间顺 序就是时序。 ② 描述某一操作过程中,芯片/总线上有关引脚信号随时间 发生变化的关系图,即时序图。 15
六、时序图 例 IBM PC/XT 总线上存储器读周期时序 T2 T1 T3 T4 时间 CLK 有 关 引 脚 信 号 A19~A0 ALE D7~D0 RD 时间T 16
六、时序图 ③ 时序图以时钟脉冲信号作为横坐标轴,表示时间顺序; 纵轴上是有关操作的引脚信号随时间发生变化的情况, 时序图中左边出现的事件发生在右边之前。 例 IBM PC/XT 总线上存储器读周期时序 T2 T1 T3 T4 时间 有 关 引 脚 信 号 CLK A19~A0 ALE D7~D0 RD 17 时间T
第二章 8086系统结构 内 容 提 要 微型计算机的发展概况 8086CPU内部结构 8086CPU引脚及功能 8086CPU存储器组织 8086CPU系统配置 8086CPU时序 18
学习时序的目的 加深对指令执行过程及计算机工作原理的了解。 设计接口时,需考虑各引脚信号在时序上的配合。 19
§2-5 8086CPU时序 主 要 内 容 概述 系统的复位和启动 最小模式下的总线操作 最小模式下的总线保持 20
一、概述 §2-5【8086CPU时序】 计算机工作过程:在时钟脉冲CLK统一控制下的指令执行过程。 8086的时钟频率为5MHz,时钟周期或T状态为200 ns。 概念: ① 指令周期(Instruction Cycle): 执行一条指令所需的时间称为指令周期。不同指令的指令周期的长短是 不同的.一个指令周期由几个总线周期组成。 ② 总线周期(Bus Cycle): BIU完成一次访问存储器操作所需要的时间,称作一个总线周期。一个总 线周期由几个T状态组成。 ③ 时钟周期(Clock Cycle):CPU的时钟频率的倒数,也称T状态。 21
一、概述 §2-5【8086CPU时序】 注意: 在8086/8088CPU中,每个总线周期至少包含4个时 钟周期(T1~T4),一般情况下,在总线周期的T1状态传送地 址,T2~T4状态传送数据。 22
二、系统的复位与启动 §2-5【8086CPU时序】 ① 复位信号:通过RESET引脚上的触发信号来引起8086系统复位和启 动,RESET至少维持4个时钟周期的高电平。 ② 复位操作:当RESET信号变成高电平时,8086/8088CPU结束现行 操作,各个内部寄存器复位成初值。 标志寄存器 清零 指令寄存器 0000H CS寄存器 FFFFH DS寄存器 0000H SS寄存器 0000H ES寄存器 0000H 指令队列 清零变空 其它寄存器 0000H 23
二、系统的复位与启动 §2-5【8086CPU时序】 ③ 复位后程序执行:代码段寄存器CS=FFFFH,指令指针 IP=0000H,也就意味着从内存的FFFF0H处开始执行指令。 一般在FFFF0处存放一条无条件转移指令,以转到系统引 导程序的入口处,这样系统启动后就自动进入系统程序。 ④ 可屏蔽中断被屏蔽:标志寄存器被清0,程序中要用指令 STI来设置中断允许标志。 24
二、系统的复位与启动 CLK RESET 复位 内部 RESET §2-5【8086CPU时序】 系统复位的时序过程 浮空 总线 不作用状态 25
二、系统的复位与启动 §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时序 三.最小模式下的总线操作 1. 读总线周期(动画) 28
三、最小模式下的总线操作 §2-5【8086CPU时序】 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时序 三.最小模式下的总线操作 2. 写总线周期(动画) 28
三、最小模式下的总线操作 §2-5【8086CPU时序】 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时序 四.最小模式下的总线保持 教材第149页 在一个系统中,CPU以外的其它主模块要求获得控制总线的 使用权时,向CPU发出总线请求信号HOLD。在每个时钟脉 冲的上升沿,CPU检测HOLD引脚上的信号。如果检测到 HOLD为高电平,并且允许让出总线,那么在总线周期的T4 状态或空闲状态Ti之后的下一个时钟周期,CPU发出总线响 应信号HLDA,并且让出总线。直到检测到HOLD信导无效, CPU才收回总线控制权。 39
四、最小模式下的总线保持 §2-5【8086CPU时序】 T4或Ti CLK HOLD HLDA 40 CPU检测HOLD引脚上的信号
四、最小模式下的总线保持 §2-5【8086CPU时序】 ① 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
五、8088CPU I/O端口、存储器读周期时序图 T2 T1 T3 T4 CLK 低 M S6 ~ S3 D7~ D0 高 IO A19~A16 A7 ~ A0 IO/M A19~A16/S6~S3 A15~A8 AD7~AD0 ALE RD DT/R DEN 42
五、8088CPU I/O端口、存储器读周期时序图 T2 T1 T3 T4 CLK 高 IO A19~A16 A7 ~ A0 低 M S6 ~ S3 D7 ~ D0 IO/M A19~A16/S6~S3 A15~A8 AD7~AD0 ALE WR DT/R DEN 43
课堂小结 重点: 了解系统的复位和启动 掌握8086最小工作模式下的时序(读、写)。 44
课堂小结 习题: 了解系统的复位和启动 掌握8086最小工作模式下的时序(读、写)。 44