CPU和外设数据传送方式.ppt_第1页
CPU和外设数据传送方式.ppt_第2页
CPU和外设数据传送方式.ppt_第3页
CPU和外设数据传送方式.ppt_第4页
CPU和外设数据传送方式.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 微机和外设的数据传输,主要内容: CPU和外设之间的数据传送方式: 程序方式 中断方式 DMA方式 程序方式 无条件传送方式 条件传送方式查询方式 中断 中断基本原理 8086的中断系统 中断的引申及分类 DMA DMA的基本原理 DMA工作过程,微型计算机系统硬件组成,问题:为什么存储器可以直接挂在系统总线上?而外设不能直接直接挂在系统总线上?,2外部设备特点 (1)品种繁多。 (2)工作速度一般比CPU慢,且速度的分布也相当宽。 (3)信号类型与信息格式多样化。,1存储器特点 (1)功能单一,品种有限 (2)速度与CPU匹配,1 I/O接口(Interface) I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。,信息格式 时序匹配,速度匹配(Buffer) 对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异,4.1 I/O接口的基本功能,信号形式匹配 A/D、D/A;串/并 、并/串,信号电平和驱动能力 电平转换、增加驱动能力,一. I/O端口 I/O接口通常包含一组能够与处理器交换信息的寄存器,称为I/O端口寄存器,简称为I/O端口。 ( 接口中可寻址并进行读写的寄存器。),4.2 I/O接口中的I/O端口,1. 一个外设与CPU交换信息往往需要几个端口:,数据端口 控制端口 状态端口,CPU对外设的访问实际上是通过对I/O端口的访问来实现的。 CPU对外设的各种操作(向外设发出控制命令、查询外设的状态向外设输出数据、从外设获得数据),均归结为对接口电路中各端口的读/写操作(IN/OUT指令)。,存放数据信息,存放状态信息,即反映外设当前工作状态的信息,状态信息与控制信息可以广义地看作数据信息, 通过数据总线传送。,存放控制命令,二、I/O端口的编址方式,I/O端口独立编址 I/O端口与存储单元统一编址,端口地址: 在微机系统中,每个端口分配有唯一的地址码,称之为端口地址:,I/O端口的编址方式,1. 统一编址 把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。 优点 指令统一,灵活; 访问控制信号统一。 缺点 内存可用地址空间减小,0,地址空间(共1MB),内存地址 (960KB),I/O地址 (64KB),FFFFFH,EFFFFH F0000H,2. 独立编址 外设地址空间和内存地址空间相互独立。 优点:内存地址空间不受I/O编址的影响 缺点:I/O指令功能较弱,0,I/O地址 1MB,FFFFFH,0,内存地址 1MB,FFFFFH,8088/8086 CPU的I/O编址方式 采用I/O独立编址方式 最小模式下,通过控制总线中的 来区分访问存储器还是IO端口; 最大模式下通过控制总线 、 IOR 、 IOW 区分访问存储器还是IO端口; I/O操作只使用20根地址线中的16根: A15 A0 I/O地址范围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),M/IO,8 0 8 6 总 线,A19-A0,A9-A0,MEMR、MEMW,IOR、IOW 、AEN,存储器,输入/输出,MEMR、MEMW,在接口电路的设计中,可把几个端口设计为相同的端口地址: (1)对数据输入端口只进行读操作(IN),对数据输出端口仅进行写操作(OUT),因此,数据输入端口和数据输出端口可使用相同的地址,接口电路用读写控制信号来区分。 IN AL,80H OUT 80H,AL (2)由于对状态端口只进行读操作(IN),对控制端口仅进行写操作(OUT),因此,状态端口和控制端口可使用相同的地址。 IN AL, 81H OUT 81H,AL,系统板上的I/O芯片 大多是可编程的大规模集成电路,完成相应的接口操作。 如定时/计数器、中断控制器、DMA控制器、并行接口、键盘控制器等。,I/O扩展槽上的接口控制卡 由若干个集成电路按一定的逻辑组成的一个部件。 如软驱卡、硬驱卡、图形卡、声卡、打印卡、串行通信卡等,4.3 I/O接口硬件分类 I/O接口的硬件分成两类:,I/O端口地址分配 PC微机I/O地址线可有16根,对应的I/O端口编址可达64K字节,其端口地址译码是采用部分译码法,即只使用了低10位地址线一个A0A9,故其I/O端口地址范围是0000H003FFH,总共只有1024个端口。,表2.1 系统板上接口芯片的端口地址 I/O芯片名称 端口地址 DMA控制器1 00001FH DMA控制器2 0C00DFH DMA页面寄存器 08009FH 中断控制器1 02003FH 中断控制器2 0A00BFH 定时器 04005FH 并行接口芯片(键盘接口) 06006FH RT/CMOS RAM 07007FH 协处理器 0F00FFH,2.2 I/O端口地址分配,表2.2扩展槽上接口控制卡的端口地址 I/0接口名称 端口地址 游戏控制卡 20020FH 并行口控制卡1 37037FH 并行口控制卡2 27027FH 串行口控制卡1 3F83FFH 串行口控制卡2 2F02FFH 原型插件板(用户可用) 30031FH 同步通信卡1 3A03AFH 同步通信卡2 38038FH 单显MDA 3B03BFH 彩显CGA 3D03DFH 彩显EGA/VGA 3C03CFH 硬驱控制卡 1F01FFH 软驱控制卡 3F03F7H PC网卡 36036FH,三、I/O地址空间的选用 凡是被系统配置占用了的地址一律不能使用; 未被占用的地址,用户可以使用,但申明保留的地址,不要使用。 用户可使用300H31FH地址。,4.4 输入输出的控制方式,主机与外设之间数据传送的控制方式有以下三种: 程序方式 中断方式 直接存储器存取(DMA, Direct Memory Access),程序传送方式,CPU与外设间的数据交换在程序(指令)控制下进行。 又分为:无条件程序传送; 条件传送即程序查询;,1 无条件程序传送方式,适用于总是处于准备好状态的外设 以下外设可采用无条件传送方式: 开关 发光器件(如发光二极管、7段数码管、灯泡等) 继电器 步进电机 优点:软件及接口硬件简单 缺点:只适用于慢速简单外设,适应范围较窄,认为外设已经准备就绪,直接与外设传送数据,查询方式的流程图,超时?,READY?,与外设进 行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,传送完?,防止死循环,复位计时器,N,Y,2 程序查询方式,CPU在与外设交换数据前必须询问外设状态“你准备好没有?”,适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。 对外设的要求:应提供设备状态信息 对接口的要求:需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差, 速度较慢 使用查询方式,CPU必须检测接口电路的状态寄存器,如果设备未准备好,CPU就要不断地查询,降低了CPU的运行效率.,动画演示,在进行输入输出操作时,输入需要缓冲,输出需要锁存 输入缓冲:输入时,在系统的数据总线和外设间接三态缓冲器,当读该缓冲器的控制信号有效时,才将缓冲器的三态门打开,使外设的数据进入系统的数据总线。 常用的三态缓冲器有: 74LS244(单向) 74LS245(双向) 当三态缓冲器的控制端有效时,三态门打开,允许数据通过 否则,三态门关闭,呈高阻状态,输出锁存:输出时,需要在系统的数据总线和外设间接锁存器,在锁存允许端为无效电平时,数据总线上的新数据不能进入锁存器。只有当确知外设已经取走上次输出的数据时,方能在锁存允许端为有效电平时,将新数据送入锁存器保留。 常用的锁存器有: 74LS273(8D触发器) 74LS373(8位锁存器,三态输出),中断方式,CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。 优点:CPU效率高,实时性好,速度快。 缺点:程序编制较为复杂。,DMA传输,前面三种I/O方式都需要CPU作为中介: 外设 CPU 内存 1)软件:外设与内存之间的数据传送是通过CPU执行程序(中断处理子程序)来完成的;(IN/OUT指令) 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:对于高速外设(如磁盘、高速A/D),中断方式不能满足数据传输速度的要求,解决:DMA传输,DMA传输: 外设 内存 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。 优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒),DMA=Direct Memory Access 直接存储器访问 DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU.这种专门的硬件电路称为DMA控制器,简称DMAC.,DMA传送原理示意图,系统总线,CPU,DMAC,存储器,外设接口,AEN,IOW,MEMW,MEMR,IOR,MEMW,MEMR,IOW,IOR,AEN,HOLD,HLDA,DRQ,DACK,AEN,IOW,IOR,MEMW,MEMR, 外设发出DMA请求 DMAC向CPU申请总线 CPU响应,释放总线控制权 DMAC得到总线控制权,并发出DMA响应信号 由DMAC发出各种控制信号和地址信息,控制外设与存储器之 间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线,中断的定义,CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,中断源,引起CPU中断的事件中断源。例如: 外设请求输入输出数据,报告故障等 事件掉电、硬件故障、软件、 中断源分为:外部中断、内部中断 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断 8086/8088的外部中断信号:INTR、NMI INTR可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。 NMI非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。,为何计算机中要引入中断?,提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了CPU的利用率。 实现对特殊事件的实时响应。,中断过程,五个步骤: 中断请求 中断判优(中断源识别) 中断响应 中断服务 中断返回 以下以外部中断为主介绍这五个步骤。,1中断请求,外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚; 中断请求信号:边沿请求,电平请求 例如,NMI为边沿请求,INTR为电平请求 中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队判优后向CPU发出: (I/O接口) PIC CPU,2中断源识别,计算机中的中断源有很多,CPU必须识别是哪一个设备产生中断。识别中断源有两个方法: 软件查询。 简单硬件方式之菊花链法 中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法),中断判优,多个中断源产生中断,CPU首先为谁服务? 中断优先级排队问题。 中断优先级控制要处理两种情况: 对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理; 对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。 中断优先级的控制方法 硬件判优链式判优、并行判优(中断向量法) 软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高) 通常将中断判优与中断源识别合并在一起进行处理。 x86系统中,这项任务由PIC和CPU共同完成。,INTAin,CPU INTA INTR,外设1,外设2,外设接口1,菊花链 逻辑电路,外设接口2,外设3,外设接口3,1,菊花链 逻辑电路,菊花链 逻辑电路,IREQ,IREQ,IREQ,中断确认,链式判优电路原理图,INTAin,INTAin,中断确认,中断确认,菊花链逻辑电路,INTAin,IREQ,INTR,&,1,INTAout,DB,三态门,中 断 向 量 码,E,外设接口,中断确认,菊花链 逻辑电路,3中断响应,在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成立,则CPU响应中断: 当前指令执行完。对INTR,还应满足以下条件 当前指令是STI和IRET,则下条指令也要执行完。 当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完; 对INTR,CPU应处于开中断状态,即IF=1; 当前没有复位(RESET)和保持(HOLD)信号。 若NMI和 INTR 同时发生,则首先响应NMI。,中断响应(续),CPU中断响应时,要做下述三项工作: 向中断源发出INTA#中断响应信号; 断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序。 获得中断服务程序首地址(入口)。,中断处理(中断服务),中断服务子程序特点 为”远”过程(类型为FAR) 要用IRET指令返回 中断服务子程序要做的工作 保护现场(PUSH regs) 开中断(STI) 进行中断处理 恢复现场(POP regs) 中断返回(IRET),8088的中断系统,与中断有关的控制线为:NMI、INTR、INTA# 8088系统的中断源 内部中断 除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。 单步中断:类型号1,TF=1时产生 断点中断:类型号3,这是一个软件中断,即INT 3指令。 溢出中断:类型号4,这是一个软件中断,即INTO指令。 软件中断:即INT n指令,类型号n(0-255)。 外部中断 非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。 可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论