第八章输入输出程序设计.ppt
《第八章输入输出程序设计.ppt》由会员分享,可在线阅读,更多相关《第八章输入输出程序设计.ppt(59页珍藏版)》请在第壹文秘上搜索。
1、第八章第八章 输入输出程序设计输入输出程序设计22023-3-30本章内容提要本章内容提要 I/OI/O设备的数据传送方式设备的数据传送方式程序直接控制程序直接控制I/OI/O方式方式中断传送方式中断传送方式32023-3-308.1 I/O8.1 I/O设备的数据传动方式设备的数据传动方式 CPUCPU与外设与外设直接存储器存取(直接存储器存取(DMADMA)方式)方式42023-3-308.1.1 CPU8.1.1 CPU与外设与外设 与与CPUCPU进行数据交换的,除了存储器外,还有输入输出设备进行数据交换的,除了存储器外,还有输入输出设备(统称为外设)。(统称为外设)。 输入输入INI
2、N和输出和输出OUTOUT指令,可以从外设读取数据和向外设提供指令,可以从外设读取数据和向外设提供数据。数据。 由于外设种类繁多,其工作原理、数据格式、操作时序等各由于外设种类繁多,其工作原理、数据格式、操作时序等各异,所以在处理器与外设之间还有一个协调两者数据传送的逻辑异,所以在处理器与外设之间还有一个协调两者数据传送的逻辑电路,称为电路,称为输入输出(输入输出(I/OI/O)接口电路)接口电路。 处理器并不直接操纵外设,而是通过处理器并不直接操纵外设,而是通过I/OI/O接口来控制外设。接口来控制外设。52023-3-30I/OI/O接口电路中的寄存器接口电路中的寄存器I/OI/O接口电路
3、呈现给程序员的,是各种可编程寄存器。接口电路呈现给程序员的,是各种可编程寄存器。这些寄存器可以分成三类:这些寄存器可以分成三类:数据寄存器数据寄存器它保存和处理与外设间交换的数据;它保存和处理与外设间交换的数据;控制寄存器控制寄存器处理器通过它对外设进行控制,也称处理器通过它对外设进行控制,也称命令寄存器;命令寄存器;状态寄存器状态寄存器外设的当前工作状态通过它向处理器外设的当前工作状态通过它向处理器提供。提供。 在涉及外设操作的输入输出程序中,各种寄存器以在涉及外设操作的输入输出程序中,各种寄存器以I/OI/O地址(端地址(端口)体现;对应三类寄存器分别称为:口)体现;对应三类寄存器分别称为
4、:数据端口、控制端口、状态数据端口、控制端口、状态端口。端口。62023-3-30CPUCPU与外设数据传送方式与外设数据传送方式程序直接控制传送方式程序直接控制传送方式程序查询程序查询I/OI/O方式方式中断传送方式中断传送方式直接存储器存取(直接存储器存取(DMADMA)方式)方式72023-3-308.1.2 8.1.2 直接存储器存取(直接存储器存取(DMADMA)方式)方式主要由硬件主要由硬件DMADMA控制器实现其传送功能。控制器实现其传送功能。DMADMA(direct memory accessdirect memory access)方式,也称为成组数据传送方式。)方式,也称
5、为成组数据传送方式。主要用于一些高速的主要用于一些高速的I/OI/O设备。如磁带、磁盘、设备。如磁带、磁盘、A/DA/D等设备。等设备。 传送数据时,每个字节一到达端口,就直接从接口送到存储器;传送数据时,每个字节一到达端口,就直接从接口送到存储器;同样,接口和它的同样,接口和它的DMADMA控制器也能直接从存储器取出字节并把它送到控制器也能直接从存储器取出字节并把它送到I/OI/O设备去。设备去。82023-3-30DMADMA工作原理工作原理DMADMA控制器(控制器(intel 8237Aintel 8237A)一般包括四个寄存器:)一般包括四个寄存器:控制寄存器控制寄存器状态寄存器状态
6、寄存器地址寄存器地址寄存器字节计数器字节计数器在信息传送前,应初始化这些寄存器。在信息传送前,应初始化这些寄存器。地址寄存器地址寄存器要传送的数据块首地址;要传送的数据块首地址;字节寄存器字节寄存器要传送的数据长度(字节数);要传送的数据长度(字节数);状态寄存器状态寄存器控制字,指出数据是输入还是输出,并启动控制字,指出数据是输入还是输出,并启动DMADMA操作。操作。每个字节传送后,地址寄存器加每个字节传送后,地址寄存器加1 1,字节计数器减,字节计数器减1 1。92023-3-30DMADMA传送步骤传送步骤由系统完成以下步骤:由系统完成以下步骤:DMADMA控制器向控制器向CPUCPU
7、发出发出HOLDHOLD信号,请求使用总线。信号,请求使用总线。CPUCPU发出响应信号发出响应信号HOLDHOLD给给DMADMA控制器,并将总线让出,这时控制器,并将总线让出,这时CPUCPU放弃放弃了对总线的控制,而了对总线的控制,而DMADMA控制器获得了总线控制权。控制器获得了总线控制权。传输数据的存储器地址(在地址寄存器中)通过总线发出。传输数据的存储器地址(在地址寄存器中)通过总线发出。传输的字节数通过数据总线进行传送。传输的字节数通过数据总线进行传送。地址寄存器加地址寄存器加1 1,以指向下一个要传送的字节。,以指向下一个要传送的字节。字节计数器减字节计数器减1 1。如字节计数
8、器非如字节计数器非0 0,转向第,转向第3 3步。步。否则,否则,DMADMA控制器撤销总线请求信号控制器撤销总线请求信号HOLDHOLD,传送结束,传送结束102023-3-308.2 8.2 程序直接控制程序直接控制I/OI/O方式方式 I/O端口端口I/O指令指令I/O程序举例程序举例112023-3-308.2.1 I/O8.2.1 I/O端口端口 80 x86 80 x86中,中,I/OI/O端口独立编址,允许设置端口独立编址,允许设置64K64K(6553565535)个)个8 8位端口,位端口,或或32K32K(3276832768)个)个1616位端口。位端口。CPUCPU和内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 输入输出 程序设计
