好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理讲义(2)CPU.doc

36页
  • 卖家[上传人]:206****923
  • 文档编号:41263483
  • 上传时间:2018-05-28
  • 文档格式:DOC
  • 文档大小:14.20MB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 18088 在最小模式下的典型配置见下图图 2.4 8088 最小模式的基本组成28086 最小模式硬件连接特点:① MN/MX 端接+5V 决定 8086 工作在最小模式② 有 1 片 8284A,作为时钟发生器③ 有 3 片 8282 或 74LS373 作为地址锁存器,8282 是 8 位的,20 位地址+BHE, 共 21 根,若系统小于 64K 内存,16 地址即两片 8282 足矣456④ 系统中所连外设或存储器较多时,要用总线收发器8286/8287(2 片)⑤ ALE 是地址允许锁存信号,BHE 也需要被锁存(高 8 位数据有效)78284A 除了提供频率恒定的时钟信号外,还起同步作用8284A 输出频率只有振荡源的 1/388284 内部逻辑结构8282 锁存器和 8086 的连接:8282 的选通信号输入端 STB 和 CPU 的 ALE 相连9OE 为输出允许信号,不带 DMA 的系统将 OE 接地即可108286 收发器和 8088 的连接T 端和 CPU 的 DT/R 端(数据收发信号)相连11OE 和 CPU 的 DEN 端相连有时设计的系统总线信号与 CPU 相位相反,8282 和 8286 换成 8283 和 8287,8286 替代芯片 74LS24512表 2.4 信号 M/IO、RD、WR 和读写操作的关系M/IORDWR功能 001I/O 读 010I/O 写 101存储器读 110存储器写2.2.42.2.4最大模式最大模式将 8086/8088 的 MN/MX 引腿接地,CPU 工于与最大模式,典型配置见图 2.5图 2.5 8086 在最大模式下的典型配置1324~31 腿含义如下:1.QS1 、QS0(Instruction Queue Status):反映队列的充实程度表 2.5 QS1 、QS0的代码组合含义QS1QS0含义 00无操作 01从指令队列的第一个字节中 取走代码 10队列为空 11除第一字节外,还取走了后 续字节2.S2、S1、S0(Bus Cycle Status)总线周期状态信号输出14(读写方式组合)表 2.6 S2、S1、S0代码组合和对应操作S2S1S操作过程 000发中断响应信号 001读 I/O 端口 010写 I/O 端口 011暂停 100取指令 101读内存 110写内存 111无源状态3.LOCK 总线封锁信号输出 29 腿LOCK 信号是指令前缀 LOCK 产生的,该前缀后的指令执行后LOCK 信号撤销,此外两个中断响应脉冲之间 LOCK 信号也自动有效。

      4.RQ/GT1、RQ/GT0(Request/Grant)总线请求信号输入/总线允许信号输出,可供 CPU 以外的二个处理器发总线请求信号,CPU 发总线请求应答信号(双向) RQ/GT0的优先级高于 RQ/GT15.最大模式下 34 腿,8086 为 BHE/S7,8088 恒为高电平与最小模式主要差别:在最大模式下,需用外加电路来对CPU 发出的控制信号进行变换和组合,以得到对存储器、I/O 端口的读写信号和对锁存器 8282、总线收发器 8286 的控制信号――-靠 8288 总线控制器完成15最大、最小模式均可带中断优先级管理部件 8259,根据需要最小模式中,M/IO、WR、INTA、ALE、DT/R 和 DEN 直接来自CPU最大模式中,S2、S1、S0通过 8288 组合出这些信息CLK 使 8288 和 CPU 以及系统中的其它部件同步S2、S1、S0和 CPU 的 S2、S1、S0直接相连,组合出下列信号:① 送给地址锁存器的信号 ALE② 送给数据总线收发器的信号 DEN 和 DT/R③ 用来作为 CPU 进行中断响应的信号 INTA④ 两组读写控制信号 MRDC、MWTC、IORC、IOWC,控制读写地点。

      ⑤ 提前的写 I/O、写内存命令(Advanced Memory Write Command)AIOWC 等,提前一个 T 发出2.3 8086 的操作和时序8086 的主要操作:①系统的启动和复位操作②暂停操作③总线操作④中断操作⑤最小模式下的总线保持16⑥最大模式下的总线保持2.3.1 系统的复位和启动操作复位要求 RESET 至少保持 4 个时钟周期,结果见下表表 2.7 复位时各内部寄存器的值标志寄存器清零 指令指针(IP)0000H CS 寄存器FFFFH DS 寄存器0000H SS 寄存器0000H ES 寄存器0000H 指令队列空 其他寄存器0000H一般在 FFFF0H 处放一条无条件跳转指令,适当时候总要STI 开中断,注意复位时 8086 的总线信号和复位时序图2.3.1 总线操作CPU 与存储器或 I/O 交换数据,需执行总线周期包括总线读操作、总线写操作171.最小模式下的总线读操作图 2.6 8086 读周期的时序可分为 T1、T2、T3、T4 和 TW状态⑴T1状态①M/IO 在 T1状态成为有效;②地址 20 位有效 低 16 位 AD15~AD0 高 4 位 A19/S6~A16/S3③ALE 地址锁存信号有效④BHE/S7有效,表示高 8 位数据线上的(地址)数据有效⑤DT/R 有效,系统有数据收发器时,和 DEN 作为控制信18号,控制数据方向和数据选通⑵T2状态⑦地址信号消失⑥⑧A19/S6~A16/S3 和 BHE/S7上输出状态信息 S7~ S3⑩DEN 信号在 T2 变为低电平,数据允许⑨ RD 有效,与地址共选通所需存储器或 I/O 单元⑶T3 状态内存或 I/O 单元数据送到数据线上,CPU 通过AD15~AD0 读取⑷TW状态系统中的存储器或外设较慢时,Ready 信号通过8284A 同步给 CPUCPU 在 T3 或 TW状态的前沿(下降沿处)采样Ready=1,则进入 T4,否则继续插入等待状态Tw。

      ⑸T4 状态在 T4 状态和前一个状态交界的下降沿处,CPU对数据总线采样2.最小模式下的总线写操作192.3.最大模式下的总线读操作204.最大模式下的总线写操作216. 总线空操作只有 CPU 和内存或 I/O 交换数据时,CPU 才执行总线周期,不执行总线周期时,BIU 就进入空闲周期 TI,CPU内部 EU 仍在有效操作,总线空操作是 BIU 对 EU 的等待2.3.3 中断操作和中断系统1. 8086 的中断分类很强的中断处理,中断类型码 0~255按产生方法:硬件中断(外部中断) 、软件中断硬件中断:可屏蔽中断有多个(受 IF 控制从 INTR 引入),非屏蔽中断 NMI 是唯一的222324图 2.7 8086/8088 中断向量表在内存中的位置软件中断是 CPU 根据软件中的某条指令或者软件对标志寄存器中某个标志的设置而产生的,与硬件无关如除数为零中断等2. 中断向量和中断向量表8086/8088 的中断系统是位于内存 0 段的 0~3FFH 区域的中断向量表为基础,中断向量即中断子程序入口地址25一个中断向量占 4 个存储单元,前二单元偏移量(IP) ,后为(CS)比如类型 20H 的中断向量,存放在 0000:0080H 开始的 4个单元。

      如果该中断子程序存放在 4030:2010 开始的存储区,则在 0080~0083 中依次存放 10、20、30、40从图 2.7 中可见,256 个中断的前 5 个是专用中断5~31 为保留的 27 个中断其余原则上用户定义,但有些已有固定含义,如 INT 21H3. 硬件中断外部设备可从 NMI 和 INTR 送入中断请求信号从 NMI 引入的是非屏蔽中断,如掉电,处理过程如下:一是将现场保存到非易蚀性存储器中,以便来电恢复工作;二是启动热备份设备 三是连接备用充电电源从 INTR 引入可屏蔽中断,IF=1 的话,积极响应,有优先处理4. 硬件中断的响应和时序可屏蔽中断响应过程如下:INTR=1 时,若 IF=1,CPU执行当前指令后,开始响应,从 INTA 发出两个负脉冲,外设收到第二个负脉冲后,立即往数据线上发中断类型码,26CPU 作如下事情:①从数据总线上读取中断类型码,存入内部暂存器②将标志寄存器的值推入堆栈③把标志寄存器中的 IF 和单步标志 TF 清零④将断点保存到堆栈中(CS\IP)⑤根据前面得到的中断类型码,到内存的 0000 段的中断向量表中找到中断向量,转入相应中断子程序。

      响应 NMI 与 INTR 只略有不同: NMI 无需取中断类型码,必为 2 型几点说明:①对 NMI 与 INTR 的响应有两点不同,不论 IF=1,不取类型码②TF 是单步中断标志,TF=1,进入单步循环,直到程序设置的 TF=0③进入中断子程序后,如遇 NMI,或 IF=1 时,遇到更优先INTR,积极响应(嵌套)④中断子程序结束时,会按中断响应相反的过程返回⑤有关内部中断,下一章讨论⑥有时即使 IF=1,也不能立即响应 INTR,而要执行完下一条指令(不仅本条)比如发中断请求时,CPU 执行封锁指令;往段寄存器传送指令;注意:修改堆栈地址时,一定先改 SS,再改 SP27⑦遇到等待指令或串操作指令时,允许在指令执行过程中响应中断,但必须在一个基本动作完成之后8086 的中断响应要用两个总线周期,CPU 在两总线周期各发出 INTA 负脉冲(长度二个时钟周期) ,第一个负脉冲通知外设准备发中断类型号,第二个负脉冲外设收到后立即将中断类型号放在 D7~D0 上,相隔 2-3 个 TI(8086)CPU 实际执行的总线时序:第一步,执行二个中断响应总线周期,之间用 2~3 个空闲状态 TI 隔开,第二周期时,外设送出中断类型码,CPU 收到后乘以 4,得到中断向量存放地点。

      第二步,执行一个总线写周期,将标志寄存器 FR 的值推入堆栈;第三步,将标志寄存器中的 IF 和 TF 置成 028第四步,执行一个总线写周期,CS 内容进栈第五步,执行一个总线写周期,IP 内容进栈第六步,执行一个总线读周期,从中断表前二字节读得偏移量至 IP第七步,执行一个总线读周期,后二字节读得送 CS如为 NMI 或软件中断,跳过第一步5. 中断处理子程序中断处理子程序功能各异,但是结构相同①通过一系列推入堆栈进一步保护现场,内部寄存器或单元内容入栈②用指令设置 IF 以便响应更高级的中断(STI)③中断处理的具体内容(中断服务子程序)④一系列弹出堆栈操作,使各寄存器恢复中断前状态⑤中断返回指令(IRET) ,使堆栈中保存的断点值和标志值恢复给 IP、CS、FR此外中断子程序都是固定装配的,通常常驻内存5.5. 软件中断软件中断①中断子程序与一般子程序相比,只是返回指令不同②通过中断指令来使 CPU 执行中断子程序的方法――软件中断③在用软件中断时,指令本身提供了中断类型码,无需INTA 负脉冲,29④不受 IF 的影响,但受 TF 的影响⑤软件中断没有随机性,与主程序的关系固定,一般有参数传递。

      ⑥可被其它可屏蔽中断打断⑦以上按最小模式说明,最大模式时中断响应信号不是INTA,由 S2 S1 S0组合产生2.3.22.3.2 最小模式下的总线保持最小模式下的总线保持HOLD 是其它总线主模块发出的总线保持请求信号;HLDA 是 CPU 发出的总线保持回答信号CPU 一旦让出总线控制权,他的地址、数据、状态引腿全部浮空ALE 例外 HOLD 要在下一个时钟上升沿被检测到HOLD 直接影响 BIU,间接影响 EU,HLDA 后,指令队列照样执行完HOLD、 HLDA 相继低电平后(释放) ,CPU 不马上驱动总线,继续浮空2.3.32.3.3 最大模式下的总线请求/允许最大模式下的总线请求/允许总线控制信号不再是 HOLD、 HLDA,而是 RQ/GT0、RQ/GT18086 的存储器组织和管理2.4.12.4.1 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.