第八章输入输出与中断.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 输入输出程序设计 1、 I/O设备的数据传送方式 2、 程序直接控制I/O方式 3、 中断传送方式 I/O设备的数据传送方式 1、 CPU与外设 2、 直接存储器存取(DMA)方式 CPU与外设 每种输入输出设备都要通过一个硬件接口或控制器和CPU相连。例如,显示器通过数据接口和CPU相连。这些接口和控制器都能支持输入、输出指令IN,OUT与外部设备交换信息。这些信息包括控制、状态和数据三种不同性质的信息,它们必须按不同的端口地址分别传送。 控制信息输出到I/O接口,通知接口和设备要做什么操作。 状态信息从I/O接口输入到CPU,表示I/O设备当前所处的状态。 数据信息是I/O设备和CPU真正要交换的信息。外设和接口之间的数据信息可以是串行的,也可以是并行的。 直接存储器存取(DMA)方式 1、程序直接控制的I/O方式 (1)立即传送方式 (2)程序查询方式 2、中断传送方式 3、直接存储器存取方式(DMA方式) 程序直接控制的I/O方式 (1)立即传送方式 立即传送方式又称为无条件传送方式,它是最简单的一种输入/输出传送方式。在该方式中,认为外设总是处于准备就绪状态,程序不必查询外设的状态,当需要与之交换数据时,就直接执行输入、输出指令来完成数据的传送。 (2)程序查询方式 程序查询方式是指:在数据传送之前,CPU要先查询外设的当前状态,只有当外设处于准备就绪或空闲状态时,才执行输入输出指令进行数据传送。否则,CPU循环查询,直到外设准备就绪为止。所以,程序查询方式比立即传送方式可靠性更高。 中断传送方式 中断传送方式的特点是:主机CPU正常执行操作,当外设需要进行I/O操作时,会向CPU发出一个“申请”信号,请求CPU处理。这时,CPU暂时中断当前正在执行的程序(即主程序),转去执行为输入/输出设备服务的中断处理程序,服务完毕,再返回到被中断的程序处继续执行。 采用中断传送方式,CPU不必花大量的时间查询外设状态,而使CPU和外设并行工作,只有当外设准备好时,用很短的时间去处理一下,处理完毕又回到主程序继续执行,可大大提高CPU的工作效率。 直接存储器存取方式(DMA方式) DMA方式的思路是:外设与内存间的数据传送不经过CPU,也不需要CPU的干预,在外设与内存间开设直接通道,由一个专门的硬件控制器来直接控制外设与内存间的数据交换,这种方式就叫做直接存储器存取方式,简称DMA方式。用来控制DMA操作的硬件控制器就是DMA控制器。 DMA方式可大大提高批量数据的传送速度,对于硬盘这类设备,采用DMA方式很合适。DMA方式主要是在硬件DMA控制器的控制下实现的。 程序直接控制I/O方式 I/O端口 计算机的外部设备和大容量存储设备都是通过接口连接到系统上,每个接口由一组寄存器组成,这些寄存器都分配有一个称为I/O端口的地址编码。计算机的CPU和内存就是通过这些端口和外部设备进行通信的。 I/O接口部件一般有三种寄存器: 数据寄存器,用作数据缓冲。 状态寄存器,用来保存设备和接口的状态信息,供CPU对外设进行测试。 命令寄存器,用来保存CPU发出的命令以控制接口和设备的操作 这些寄存器都分配有各自的端口号,CPU通过不同的端口号来选择各种外部设备。 I/O指令 I/O指令用来完成累加器(AL/AX)与I/O端口间的数据传送,包括输入指令IN和输出指令OUT两条指令,每条指令都有直接和间接两种端口寻址方式。 1.输入指令 IN 指令格式: IN AL/AX,addr 指令功能:将指定的I/O端口中的内容输入到累加器AL/AX中。 1)直接端口寻址方式: IN AL,addr ; AL←[addr] IN AX,addr ; AX←[addr +1,addr] 2)间接端口寻址方式: IN AL,DX ; AL← [DX] IN AX,DX ; AX←[DX+1, DX] 输出指令(OUT) 指令格式: OUT adr,AL/AX 指令功能:将累加器AL或AX中的内容输出到指定的I/O端口中。 1)直接端口寻址方式: OUT adr,AL ; [adr]←AL OUT adr,AX ;[adr +1,adr]←AX 2)间接端口寻址方式: OUT DX,AL ;[DX]← AL OUT DX,AX ;[DX +1, DX]← AX 需要注意的问题 1)输入、输出指令不影响标志位。 2)IN指令的目的操作数和OUT指令的源操作数只能使用累加器AL、AX,若需要将I/O

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档