《最新微机与外设的数据传输PPT课件》由会员分享,可在线阅读,更多相关《最新微机与外设的数据传输PPT课件(69页珍藏版)》请在金锄头文库上搜索。
1、微机与外设的数据传输微机与外设的数据传输OUT 43H, ALOUT 43H, AL5.4 CPU和外设之间的数据传送方式和外设之间的数据传送方式 解决定时问题的三种传送方式:程序方式 中断方式 DMA方式 5.4.1 程序方式程序方式 1. 无条件传送方式无条件传送方式 图图 无无条条件件传传送送方方式式的的工工作作原原理理2 . 条件传送方式条件传送方式 (1)条件传送的概念)条件传送的概念(2)条件传送的三个环节:)条件传送的三个环节:CPU从接口中读取状态字从接口中读取状态字CPU检测状态字检测状态字传送数据传送数据查询式输入的接口电路查询式输入的接口电路 查询式输出的接口电路查询式输
2、出的接口电路 查查询询式式输输入入过过程程的的流流程程图图5.4.2 中断方式中断方式 1. 中断传送方式的原理中断传送方式的原理 可屏蔽中断的响应和执行可屏蔽中断的响应和执行 2 . 中断优先级问题的解决中断优先级问题的解决 (1)解决中断优先级的三种办法:软件查询方式 简单硬件方式菊花链法专用硬件方式 (2)三种方法的优缺点 中断优先级菊花链及其逻辑电路中断优先级菊花链及其逻辑电路 (a) 菊花链菊花链 (b)菊花链逻辑电路中断请求菊花链逻辑电路中断请求 典型的可编程中断控制器典型的可编程中断控制器 5.4.3 DMA方式方式 1. DMA传送方式的提出传送方式的提出DMA传送方式的优点传
3、送方式的优点数据传输率数据传输率2 .DMA控制器的功能和原理控制器的功能和原理 DMA控制器的功能:控制器的功能: 向向CPU发总线请求信号发总线请求信号 实行对总线的控制实行对总线的控制 修改所用的存储器或接口的地址指针修改所用的存储器或接口的地址指针 发读写控制信号发读写控制信号 存放数据长度存放数据长度 交还总线控制权交还总线控制权DMA传输单个数据传输单个数据(输出过程输出过程)的原理的原理 DMA控制器的内部最小配置和接口要求控制器的内部最小配置和接口要求 从接口往内存传输一个数据块的过程:从接口往内存传输一个数据块的过程: 接口往DMA控制器发一个DMA请求 得到总线控制权 地址
4、寄存器的内容送地址总线 通知接口将数据送到数据总线 数据送到所指单元 地址寄存器的值加1 字节计数器的值减1 如字节计数器的值不为0,则回到;否则结束 DMA传输对接口的要求:传输对接口的要求: 控制寄存器有1位指出数据传输方向 控制寄存器有1位用来启动I/O操作 状态寄存器有1位指出设备当前是否处于忙状态 DMA传输对传输对DMA控制寄存器的要求:控制寄存器的要求: 有1位作为DMA允许位 有1位用来确定DMA方向 有1位决定进行一次传输后放弃还是维持对总线的控制权 状态寄存器有1位表示数据块传输是否结束对对DMA控制器和接口部件预置的信息:控制器和接口部件预置的信息: 往DMA控制器的字节
5、计数器设置初值 往DMA控制器的地址寄存器中设置地址初值 对DMA控制器设置控制字并启动DMA操作 对接口部件设置控制字并启动I/O操作 启动数据块输入的例子启动数据块输入的例子IDLE:IN AL,INTSTAT ;检测设备是否处于 忙状态,如是,则等待 TEST AL,04 JNZ IDLE MOV AX,COUNT ;设置计数 OUT BYTE-REG,AX LEA AX,BUFFER ;设置地址初值 OUT ADD-REG,AX MOV AL,DMAC;取原DMA控制字OR AL,49H;设置方向、块传输;和允许标志OUT DMACON,AL ;置DMA控制字MOV AL,INTC ;
6、设置接口的传输方向 ;及允许标志OR AL,05HOUT INTCON,AL ;设置接口的控制字 3. DMA控制器的工作特点控制器的工作特点 是一个接口电路 能够控制系统总线操纵外设和存储器之间的数据传输5.4.4 输入输出过程中提出的几个问题输入输出过程中提出的几个问题 1.系系统统如如何何知知道道接接口口已已准准备备好好数数据据等等待待CPU提提取取或者准备接收或者准备接收CPU的数据的数据?2.当当系系统统中中有有几几个个设设备备处处于于同同一一种种传传输输方方式式之之下下、而而且且同同时时发发传传输输请请求求时时,系系统统到到底底先先响响应应哪哪个请求个请求? 1.外部设备为什么要通
7、过接口电路和主机系统相连?存储器需要接口电路和总线相连吗?为什么?解答:解答: n因为外设的功能多种多样,对于模拟量信息的外设必须要进行A/D和D/A转换,而对于串行信息的外设则必须转换为并行的信息,对于并行信息的外设还要选通。而且外设的速度比CPU慢的多,必须增加缓冲功能。只有这样计算机才能使用这些外设。而所有这些信息转换和缓冲功能均由接口电路才能完成。n存储器不需要接口电路和总线相连。n因为存储器功能单一,且速度与CPU相当。因此可直接挂在CPU总线上。2、是不是只有串行数据形式的外设需要接口电路和主机系统连接?为什么?解答:解答: n不是。并行数据形式的外设也需要接口电路和主机系统连接。
8、n因为,CPU每次只能访问一个外设,因此并行信息的外设需增加选通功能,才能满足CPU的访问要求,必须用接口电路。3、接口电路的作用是什么?按功能可分为几类?解答:解答: n接口电路的作用就是在外设和CPU之间起信息变换和缓冲功能。n按功能可分为两类:n一种是使微处理器正常工作所需要的辅助电路。n另一种是输入/输出接口电路。4、数据信息有哪几类?举例说明它们各自的含义。 解答:解答: n1.数据信息有四类:数字量、模拟量、开关量。n2.如键盘、磁盘等就是数字量信息;温度、湿度、压力等转换的电信号就是模拟量;电机的起停、发光设备的亮灭等都是开关量。 5、CPU和输入/输出设备之间传送的信息有哪几类
9、?解答:解答: 有数据信息、控制信息、状态信息三类。6、什么叫端口?通常有哪几类端口?计算机对I/O端口编址时通常采用哪两种方法?在8086/8088系统中,用哪种方法对I/O端口进行编址? 解答:解答: nCPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。n有数据端口、控制端口、状态端口三类。n在微型计算机中通常用两种I/O端口编址方式:存储器映象寻址和I/O端口单独寻址。n在8086/8088系统中,用I/O端口单独寻址方式编址。7、为什么有时候可以使两个端口对应一个地址?解答:解答: 因为这两个端口一个是只读端口,一个是只写端口。而CPU对一个I
10、/O端口地址可进行读/写两种访问。如果将这两个只读和只写端口编为一个地址,则CPU对该端口地址读操作对应的是只读端口;CPU对该端口地址写操作则对应的是只写端口,互不影响。因此可以使两个单向的只读和只写端口对应一个端口地址。 8、CPU和外设之间的数据传送方式有哪几种?实际选择某种传输方式时,主要依据是什么?解答:解答: nCPU和外设之间的数据传送方式有三种:程序方式、中断方式、DMA方式。n主要依据是外设的情况(外设的速度和外设提供信息的方式)。 9、无条件传送方式用在哪些场合?画出无条件传送方式的工作原理图并说明。解答:解答: n无条件传送方式只用在对一些简单外设进行操作的场合。如开关、
11、LED显示等。n无条件传送方式的工作原理图:(见书203页图5.2所示)n在无条件输入时:CPU执行一条输入指令,使和M/信号为有效低电平,并对应送出该端口地址,因此选中输入缓冲器,打开其三态门,使输入缓冲器的数据经数据总线送到CPU的累加器中。n在无条件输出时:CPU执行一条输出指令,使和M/信号为有效低电平,并对应送出该端口地址,因此选中输出锁存器,将由累加器送到数据总线上的数据打入输出锁存器中供外设使用。10、条件传送方式的工作原理是怎样的?主要用在什么场合?画出条件传送(查询)方式输出过程的流程图。解答:解答: n条件传送方式的工作原理是:外设给CPU提供一个状态信息,当CPU要访问外
12、设时,必须先检测该状态信息是否合乎要求,不停检测直至合乎要求时才进行CPU对外设的访问。n查询方式主要用在外设较少,数据交换不频繁的非实时系统的场合。开始初始化外设空吗?CPU从内存取数由累加器输出给外设外设空吗?YNNY后续处理11、设一个接口的输入端口地址为0100H,而它的状态端口地址为0104H,状态口中第5位为1表示输入缓冲区中有一个字节准备好,可输入。设计具体程序实现查询式输入。 解答:解答: DATASEGMENTBUFFERDB20 DUP(?);接收数据缓冲区DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTAT:MOVAX,DATA;对DS
13、初始化MOVDS,AXMOVDI,OFFSET BUFFERMOVDX,0104HSTATIN:INAL,DXTESTAL,20H;测试第5位JZSTATIN;第5位为0继续测试MOVDX,0100HINAL,DX;输入数据MOVDI,ALCODEENDSENDSTAT12、查询式传送方式有什么缺点?中断方式为什么能弥补查询方式的缺点?解答:解答: n查询式传送方式缺点是:花费CPU的时间作等待循环,大大降低了CPU的运行效率。n中断方式是在外设准备就绪时向CPU申请中断,再进行传送,因而CPU无需花费时间作等待循环,弥补了查询方式的缺点。13、叙述可屏蔽中断的响应和执行过程。解答:解答: 接
14、口发中断请求信号。 CPU的IF=1时,当前指令执行完后,CPU进行中断回答,发两个负脉冲。 接口将中断类型号n送CPU。 当前的PSW、CS和IP推入堆栈,并清除IF和TF。 (4n)作为IP,(4n+2)作为CS,即取中断向量。 执行中断子程序,并开中断。 中断返回IRET指令使IP、CS和PSW弹出堆栈。 返回被中断的程序。14、通常解决中断优先级的方法有哪几种?各有什么优缺点? 解答:解答: n有软件查询方式、简单硬件方式菊花链法、专用硬件方式三种。n软件查询方式的优点是节省硬件,缺点是中断响应时间长;简单硬件方式的优点是中断响应时间短,硬件较简单,缺点是优先级固定,变动起来很麻烦;专
15、用硬件方式优点是对优先级可编程修改,中断管理非常方便,缺点是硬件复杂的多,好在有专用的中断控制器。15、和DMA比较,中断传输方式有什么不足之处?解答:解答: CPU执行一次传送要花费许多与传送操作无关的指令执行等时间,另外中断传送方式不能进行数据块传送,而是按字节或字传送。 16、叙述用DMA方式传送单个数据的全过程。 解答:解答: 接口准备就绪,发DMA请求信号给DMA控制器。 DMA控制器向CPU转发总线请求信号HOLD。 CPU向DMA控制器发总线请求允许信号HLDA,DMA控制器得到总线控制权。 DMA控制器把地址送地址总线。 DMA控制器向接口发DMA请求确认信号。 内存和接口通过
16、数据总线传送数据。 DMA控制器撤销总线请求信号HOLD。 8086 CPU收回总线控制权。17、在查询方式、中断方式和DMA方式中,分别用什么方法启动数据传输过程?解答:解答: n查询方式:通过程序来检测接口中状态寄存器中的“准备好”位,以确定当前是否可以进行数据传输。n中断方式:当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求。CPU响应中断后,便通过运行中断处理程序来实现输入/输出。nDMA方式:外设要求传送数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而向CPU发一个总线请求信号,以请求得到总线控制权,如果得到CPU允许,那么,就可在没有CPU参与的情况下,实现DMA传输。结束语结束语谢谢大家聆听!谢谢大家聆听!69