第9章-输入输出设计重点.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  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文档。上传文档
查看更多
第9章???输入/输出程序设计 ◆ 输入/输出指令 ◆ 输入/输出控制方式 ◆ I/O程序举例 ◆ BIOS中断调用     9.1 输入/输出指令 9.1.1 I/O端口寻址 当设备通过接口与主机相连时,CPU可以通过接口地址来访问I/O设备。通常将I/O设备码视为地址码,对I/O地址码的编址可采用存储器编址和I/O端口编址两种方式。 1.存储器编址方法 存储器编址也叫统一编址,就是将I/O地址看作是存储器地址的一部分。 2.I/O端口编址方法 I /O端口编址也称为不统一编址,就是指I/O地址和存储器地址是分开的,所有对I/O的访问必须有专用的I/O指令。 9.1.2 输入/输出指令 1.输入指令 格式: IN AL/AX,PORT 功能:将PORT端口内容(字节或字)传送给AL或AX中。 2.输出指令 格式: OUT PORT,AL/AX 功能:将AL或AX中的内容输出到端口PORT。 3. 端口地址的寻址方式 用上两条指令时,有直接和间接两种寻址方式来确定端口地址。 (1) 直接端口寻址 输入/输出指令的端口地址可以是直接给出,此时指令为双字节,第二字节即为一个具体的8位二进制数,可对0-255个8位端口寻。 (2) 间接端口寻址 间接端口寻址是采用寄存器DX的内容来指定端口地址,此寻址方式的指令是单字节指令。因为DX是16位寄存器,所以这种寻址方式可对0-65535个16位端口进行寻址。当端口号大于255时,就应采用间接端口寻址。 9.2 输入/输出控制方式 9.2.1 程序控制方式 程序控制方式是在用户程序的控制下实现主机(CPU)与外设交换信息,对哪个端口何时进行输入/输出操作,都在程序中反映出来。具体实现时又有立即传送和程序查询两种方法。 1.立即传送方式 采用这种方法时,应该确定外设已经准备好,因此不再询问外设是否准备情况,在程序中需要输入/输出时,就向指定端口进行输入/输出操作。 2.程序查询方式 若CPU与外设交换信息时,根据外设的工作状态来决定是否进行交换,这就是程序查询方法,这时CPU常常要查询外设的某些标记,然后再作出决定,就是程序查询方式。 9.2.2 中断控制方式 程序控制方式的立即传送方法,不能根据设备实时状况操作,而程序查询方式使这种问题得以解决,但工作时CPU与外设相当串联工作,占用CPU大量时间,因此工作效率不可恭维。如果在外设已准备好的情况下,通知CPU,这时CPU才停下原来的工作与外设实施数据交换,此次信息交换完成后CPU在继续自己的原有工作,按此想法就产生了中断工作方式。 CPU启动外设后仍继续执行原程序,在第K条指令执行结束后,CPU响应了外设的请求,中断了现行程序,转至中断服务程序,等处理完后又返回到原程序断点处,继续从第K+1条指令往下执行。这种方式中断了原程序的运行,所以称为程序中断方式。 9.2.3 直接存储器存取方式 如果外设能直接与主存交换信息而不占用CPU,CPU的资源利用率显然又可进一步提高,这就出现了直接存储器存取的DMA(DirectMemoryAccess)方式。 DMA的数据块传送操作可以分为3个主要步骤: (1)预处理阶段:由CPU执行几条输入输出指令,测试设备状态;向DMA控制器的设备地址寄存器中送入设备号,并启动设备;向内存地址计数器送入起始地址;向字计数器中送入交换的数据字的个数。 (2)正式传送阶段:外设准备好发送数据(输入)或接收数据(输出)时,发出DMA请求,由DMA控制器向CPU发出总线使用权的请求;CPU在本机器周期执行完毕后响应该请求并使CPU的总线驱动器处于高阻状态,然后与系统总线相脱离,DMA控制器接管数据总线和地址总线的控制,并向内存提供地址;在内存与外围设备之间进行数据交换,每交换一个字则地址计数器和字计数器减1,当计数值到0时,DMA操作结束并向CPU提出中断申请。 (3)DMA后处理工作:一旦DMA的中断请求得到响应,CPU将停止主程序的执行,转去执行中断服务程序进行DMA操作的后处理。包括校验送入内存的数据是否正确;决定使用DMA方式传送数据还是结束传送;测试传送过程中是否发生错误。 9.3 I/O程序举例 例9.1 编制查询方式打印字符的子程序。设打印机数据寄存器口地址378H,状态寄存器口地址379H,控制寄存器口地址37AH. 编制子程序说明文件如下: 子程序名:PRINT; 子程序功能:打印一个字符; 入口条件:打印字符在AL中; 出口条件:无 受影响的寄存器:F。 例

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档