《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章 IO控制

上传人:E**** 文档编号:89404144 上传时间:2019-05-24 格式:PPT 页数:85 大小:328.50KB
返回 下载 相关 举报
《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章  IO控制_第1页
第1页 / 共85页
《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章  IO控制_第2页
第2页 / 共85页
《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章  IO控制_第3页
第3页 / 共85页
《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章  IO控制_第4页
第4页 / 共85页
《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章  IO控制_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章 IO控制》由会员分享,可在线阅读,更多相关《《微机原理与接口技术(80386-Pentium)》-艾德才-电子教案 7第7章 IO控制(85页珍藏版)》请在金锄头文库上搜索。

1、第7章 输入/输出控制,在微处理机系统中,外围设备越来越多,其功能也越来越强,控制起来也就更加复杂,输入/输出控制技术通常也就采用硬件技术与软件相结合的方法来实现,所以,输入/输出控制技术是硬件和软件结合在一起的一项综合技术。 输入/输出设备种类众多,其工作原理和结构构成也各不相同,它们的操作速度与CPU相比相对较低,且在进行数据处理时,不论是在数据格式上、在处理数据速度上、还是在逻辑时序上与CPU均不能直接进行操作。所以,微处理机与输入/输出设备之间即不能直接相连也不能直接进行信息交换,而必须是通过接口设备来实现。 常见的输入设备有:键盘、鼠标、扫描仪、软/硬盘存储器驱动器、光盘驱动器。而打

2、印机、显示器、绘图仪、光盘刻录机、音频输出等设备则是常见的输出设备。,1接口的主要功能 (1)信号转换:由于微处理机的总线信号与输入/输出设备的控制信号之间存在着差异,无法进行相匹配的操作,需要在两种信号之间进行转换。像CPU的信号与输入/输出设备信号之间的逻辑关系、时序关系以及电平之间的关系均需转换。否则高速的CPU系统与低速的输入/输出设备之间是无法沟通的。 (2)数据缓冲:由于微处理机与输入/输出设备处理数据的速度不同,定时的标准也不同,二者又需进行信息交换,所以在接口上尚需设置对所传送的数据提供缓冲、隔离以及寄存的功能。具体说来,就是在输出接口中设置寄存器或锁存器,用以暂时存放CPU欲

3、输出的数据,然后再由输出设备根据自身的情况,将暂时存放的欲输出的数据进行适时输出处理。,(3)地址译码:在微处理机系统通常都配备有多个或多种外围设备,这样就会有多个输入/输出接口,像为键盘、鼠标、打印机、显示器、磁盘等诸输入/输出设备均配备有各自接口,且为它们分配了各自的地址码。通过接口中的地址译码电路对外围设备输入/输出地址寻址。 (4)控制和状态:由于微处理机的操作速度与输入/输出设备的运行速度不在一个数量级上,所以随时需要知道输入/输出设备的状态。常用的状态信号有正忙和准备就绪。 (5)校验和检查:在微处理机系统中,通常为输入/输出接口配备有校验功能,并且可以将出错信息报告给微处理机。像

4、外围设备机构中的机械和电路故障,就要向微处理机报告故障的类型和位置。若数据在传送中的错误就用奇偶校验码进行校验。如若USB在传送过程中出现错误则要用到容错功能,发送设备会重复发送数据直至正确为止。,2接口上的信息交换 通常,输入/输出设备接收或发送信息的速度与CPU的操作速度相比相差甚远。所以对输入/输出设备的控制可以采用信号交换(或查询)的方法。下图示出输入/输出接口的逻辑原理框图。,由图可以看出,输入/输出接口好像是CPU与外围设备之间进行信息传送的一个“连接部件”。输入/输出接口通过CPU的数据总线、地址总线和控制总线与CPU相连接,数据信息通过数据端口、控制信息通过控制端口和状态端口与

5、外围设备连接,外围设备与CPU交换的信息就是数据信息、状态信息和控制信息。 数据端口的作用是,在外围设备与CPU之间进行信息交换时,用来存放欲交换数据的一种缓冲寄存器,当程序执行到需要CPU加工处理来自外围设备的数据时,数据端口中存放的就是外围设备发给CPU的数据。而当程序执行到需要CPU将加工处理后的数据发送给外围设备时,数据端口中存放的就是欲通过外围设备输出的数据。,状态信息指的是外围设备当前的工作状态,像正忙(BUSY)信号,准备就绪(READY)信号等。 控制信息是指用于控制外围设备接口工作方式和外围设备启动或停止信息,通常是由CPU 发出各种控制信息。 在输入/输出接口中,可以通过C

6、PU进行读/写的寄存器又叫端口(Port)。存放数据的叫数据端口,存放状态信息的叫状态端口,而把存放控制信息的叫控制端口。CPU就是通过访问这些端口以确认外围设备的目前状态,去控制外围设备的运行,和外围设备进行数据交换操作。,基本的I/O操作技术有三种,它们分别是: (1)利用程序设计技术进行I/O操作:它是在程序的直接、连续地控制之下所进行的I/O操作。 (2)利用中断驱动实施I/O操作:在程序发出了I/O命令之后,继续进行I/O操作,只有当遇到I/O硬件中断,才被告之I/O操作已经结束。 (3)直接存储器存取DMA技术:这一技术是用一个指定的I/O处理器来替代I/O操作控制,在I/O设备和

7、存储器之间可以进行直接的大批量的数据传送操作。,7.1 I/O编址方式及I/O端口地址,7.1.1 PC机I/O编址方式 微处理机的I/O端口编址方式有两种,即统一编址和独立编址。 1统一编址 统一编址方式是把每一个I/O端口地址看成是一个存储器单元地址,CPU 可以像访问存储器那样,使用访问存储器的指令去访问I/O端口。 统一编址的优点是不需要专门的I/O指令,简化了指令系统,用存储器指令就可以直接对各种I/O端口数据传送。其不足之处是占用主存储器地址,而且程序中的I/O操作不够清晰,程序中难以区分哪一个是I/O操作,哪一个是存储器操作。早期微机常采用这种方式。,2独立编址 独立编址方式是微

8、机系统中的所有I/O端口与存储器空间一种,都有各自独立的I/O空间,每个I/O端口都配备有一个地址,CPU需用专门的I/O指令对其进行访问操作。这类指令就是I/O指令。用来对存储器进行访问的指令与对I/O端口进行读取操作的指令也易于辨认。Intel系列32位微处理机就采用了这种方式。 使用专门的I/O指令,按独立的I/O端口寻址方式进行I/O操作。用INS和OUTS指令在存储器和I/O外围设备之间进行数据串的传送操作,用IN和OUT指令在微处理机的累加寄存器(AL、AX或EAX)和I/O设备之间进行数据的传送操作。参阅表7. 1中列出了各种I/O指令形式。,7.1.2 I/O端口地址 计算机的

9、I/O操作是通过各种外围设备来完成的,外围设备提供了外部环境与计算机之间交换信息的一种手段。外围设备通过连接到I/O接口部件的连线与计算机系统进行了连接,这些连线在I/O接口部件和外围设备之间进行控制、状态和数据信息的传送操作。与I/O接口部件相连的外围设备也称外部设备。 实际上,I/O接口部件在复杂程度以及所控制的外围设备的数目上差别很大。下图中所示的是常用的I/O接口部件的框图。,常用的I/O接口部件的框图,从图可以看出,I/O接口部件是通过一组信号线与计算机相连。传送进I/O接口部件的数据和传送出I/O接口部件的数据,都被暂时存放在数据寄存器中。状态寄存器不仅能提供当前的状态信息,而且也

10、能当成控制寄存器接收来自CPU的控制信息。I/O接口部件通过一组控制线与CPU相连,CPU就是通过这些控制线给I/O接口部件发送操作命令。 PC机主板和多功能高集成的芯片组使用I/O端口地址对外围设备实施访问操作,使用IN、OUT指令进行传送,而在进行I/O操作时所使用的状态信息、控制信息和数据信息是属于不同性质的信息,必须采用分别传送方式。 必须为它们设置不同的端口地址,用数据寄存器来存放数据、用状态寄存器存放状态信息、而用控制命令寄存器存放控制信息。所用的这些寄存器就被称之为I/O端口。且为每个端口都配备有一个端口地址。这样,一个外围设备往往会有几个端口地址,所以CPU的寻址操作是对某一端

11、口进行的,而不是笼统地对某一外围设备。,7 2 程序控制I/O方式,在基本的I/O操作技术中,利用程序设计技术进行I/O操作,是在程序的直接地连续地控制之下所进行的I/O操作,是微处理机CPU与外围设备之间交换信息最简单的一种方式。CPU 执行的是一段它直接实施控制而进行I/O操作的程序。程序段的功能包括有:检测外围设备的状态、发送读 / 写命令以及对数据的传送操作等。,当微处理机在执行程序的过程中,遇到一条I/O指令时,CPU 就会发出一条指定某个I/O端口和外围设备的地址,并发出一条I/O命令。I/O命令有4类:它们分别是控制、测试、读和写。 控制命令用于激活某个外围设备,并告之它进行什么

12、操作。 测试命令用来测试与I/O端口以及与外围设备有关的各种状态。 读命令是使I/O端口从外围设备那里得到一个数据,并把这个数据存放在自己的缓冲器内。 而写命令是I/O端口从数据总线上得到一个数据,并把得到的这个数据传送给外围设备。,图7. 3展示出了用 程序设计技术, 从外围设备读取 一块数据,并将 其存放到主存储 器的程序流程。,721 可编程外围设备接口 82C55A 作为可编程控制的I/O外围设备接口,Intel 82C55A芯片是一个流行的、成本低且与Intel系列32位微处理机一起使用的通用I/O接口。 182C55A体系结构 图7.4中示出82C55A的逻辑框图。,82C55A的

13、逻辑框图,对82C55A内部的源寄存器或目标寄存器的访问,是通过大小为2位的寄存器选择码进行选择。 微处理机必须向82C55A的寄存器选择输入端A0和A1提供这样的选择码。 端口A(port A)、端口B(port B)及 端口C(port C)中的寄存器分别与选择码A1 A0 = 00、A1 A0 = 01和A1 A0 = 10相对应。也就是说,要用A1和 A0来选择其中的一个内部寄存器进行读/写操作或编写程序。,图7.5中示出82C55A的各管脚上信号。此逻辑图的左边表示与微处理机的接口。它包括一个8位双向数据总线D0D7。通过这些数据信号线,可使命令、状态信息及数据,在微处理机和82C5

14、5A之间进行传送。一旦形成了对于该接口电路内部寄存器地址的输入/输出总线周期,将传送这些数据信息。对82C55A数据传送的定时是由读/写控制信号(RD#和WR#)来控制的。,在82C55A逻辑框图的微处理器接口一边还有另外两个信号。它们是复位信号(RESET)和片选(CS#)输入信号。82C55A由片选(CS#)信号选择,然后对端口进行程序设计以及读/写操作。 在所有对82C55A的读或写操作期间CS#必须为0。它允许82C55A的微处理机接口电路进行输入或输出操作。 信号RESET的作用是对该电路进行初始化处理。在加电时信号RESET输入变为0,从而导致对82C55A内部寄存器的清除。经初始

15、化处理后将使全部I/O端口配置成为输入操作方式。,逻辑框图的右边对应于3个字节宽度的I/O端口。 它们分别是端口A,端口B和端口C,以及相关的I/O信号线PA0PA7,PB0PB7和PC0PC7。这些端口可以配置成输入或输出操作。因此总共可提供24位的I/O信号线。 82C55A的操作需在软件的控制下进行。为此,它配备有一个8位的内部控制寄存器。通过将0或1写入该寄存器的每一位,从而将各个端口配置成输入或输出操作,并从它们的三种操作方式中选择出其中的一种。该控制寄存器只能被写入,并且其内容可用指令进行修改。若82C55A拥有寄存器选择码A1A0=11及控制字的一个适当的写总线周期,即可用来修改

16、控制寄存器的内容。,2控制寄存器 下图所示的电路图,是用来说明82C55A是如何与微处理机接口的例子。微处理机的地址信号线A3和A2分别驱动82C55A的寄存器选择输入A1和A0。82C55A的CS#输入由地址译码器电路的输出来提供,该地址译码器的输入是地址信号线A4A15。 若欲访问82C55A的一个端口或控制寄存器,CS#必须有效。然后由地址码A3 A2选择要访问的端口或控制寄存器。端口选择的编码情况如图右下部所示。,选择 A3 A2 CS# 端口A 0 0 0 端口B 0 1 0 端口C 1 0 0 控制寄存器 1 1 0,例如,为要访问端口A,其设置应为A3 A2 =00,A15=A14=1,而A13=A12=A4=0,这样就给出了端口A的地址为: 1100 0000 0000 00XXB = C000H 同样可以确定端口B的地址等于C004H,端口C的地址等于C008H,控制寄存器的地址等于C00CH。,82C55A控制寄存器的各位及它们的控制功能如图7.7所示。其中D0D2位对应

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号