计算机组成原理(修订版) 教学课件 作者 竺士蒙 主编 柳 祎 副主编 18.PPT

计算机组成原理(修订版) 教学课件 作者 竺士蒙 主编 柳 祎 副主编 18.PPT

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第8章 输入输出系统 要点 1. 接口 2. CPU通过接口与I/O进行数据交换 * 1、接口 1.1、接口是什么 通常是一块印刷电路板,使用时插在总线插槽中。 比如微机的主板上都附有若干个总线插槽,连接显示器的显示适配器(俗称显卡),连接网络设备的网络适配器(俗称网卡)都插在这些插槽上。 接口在CPU和I/O设备两个部件中起着“转换器”的作用,以便实现彼此间的信息传送。接口通常有如下功能: 控制。接收CPU通过总线发来的指令(I/O指令),启动I/O设备,完成与CPU的数据传送。 缓冲。接口作为一个缓冲器,用来匹配CPU和I/O设备之间的速度差异。 其它。接口要完成数据传送过程中的诸如串/并、并/串转换,以及电平转换等工作。接口要监视I/O设备的工作状态,把状态信息(如是否出错,设备的忙、闲,数据准备好否等)保存下来供CPU分析之用。接口还要完成一些其它特殊的功能,例如数据传送过程中,可能需要修改一些寄存器的值。 1.2、I/O端口是什么 I/O端口是I/O接口中的一些寄存器,常用的是:数据寄存器(称为数据端口或数据口)、状态寄存器(称为状态端口或状态口和命令寄存器(称为命令端口或命令口)。 数据口存放数据,状态口存放状态信息,命令口存放控制命令信息。 每个端口有一个端口编号,即端口地址(或称为口地址)。 一般地,一个I/O设备有一个I/O接口,一个I/O接口有几个I/O端口,对应着几个口地址。 CPU进行I/O设备寻址时,就是寻找相应的I/O端口地址。 1.3、I/O端口的编址(寻址)方式 端口和内存统一编址 把端口看作是内存单元,统一编址。例如,系统的寻址空间为1MB,编号为0~220-1,其中0~255是端口号,256~220-1是内存地址。CPU访问I/O设备和访问内存一样,不需要专门的I/O指令。 端口和内存独立编址 端口和内存分开,独立编址。例如,内存的寻址空间为1MB,编号为0~220-1,都是内存单元;端口的寻址空间为256B,编号为0~255。CPU访问I/O设备时需要专门的I/O指令。 1.4、I/O指令 即CPU和I/O设备之间传送数据的指令。 若系统采用端口和内存统一编址方式,则不需要I/O指令,用普通的CPU访问内存的指令即可。 若系统采用端口和内存独立编址方式,则需要I/O指令。 IN AL,DATA-PORT OUT DATA-PORT,AL 其中AL和DATA-PORT是两个操作数,AL是CPU内部的8位累加器,DATA-PORT是接口中的数据端口地址;IN和OUT是操作码,IN表示输入,即把DATA-PORT数据口中的数据传送到AL中,OUT表示输出,即把AL中的数据传送到DATA-PORT数据口中。 2、CPU通过接口与I/O进行数据交换 CPU 接口 I/O 输入过程: CPU选择、启动某一输入设备。 CPU等待输入设备,在接口的数据缓冲寄存器中准备好数据。 CPU取走数据。 输出过程: CPU选择某一输出设备。 CPU把数据放在接口的数据缓冲寄存器中。 输出设备取走数据 。 输入输出时关心的问题 数据缓冲寄存器什么时候满,I/O设备什么时候准备好数据,可以通知CPU取走。 数据缓冲寄存器什么时候空,CPU什么时候取完数据,可以通知I/O设备放数据。 2.1、无条件传送方式 CPU不必关心何时数据缓冲寄存器满,何时数据缓冲寄存器空,CPU只管输入/输出数据就行了。 无条件传送方式适用于速度极慢或简单的外围设备。如机械开关、显示二极管等。 2.2、程序查询方式 查询方式是由CPU通过程序不断查询I/O设备是否做好准备,从而控制I/O设备与主机交换信息。 因此查询方式又称为程序查询方式。 采用这种方式实现I/O设备与主机交换信息,要求I/O接口内设置一个能反映设备是否准备就绪的状态标志,即对应于状态寄存器中的某一位,CPU通过对这位是1(表示准备好)还是0(表示没有准备好)的检测,可得知设备的准备情况。 输入时,CPU首先测试状态寄存器中对应数据缓冲寄存器 “满” 的标志位是1还是0,若是0,CPU继续测试,直到是1。相应的程序中是一条循环指令,此时CPU处于踏步等待状态;若是1,CPU执行一条输入指令,接收数据,并把该标志位置0,通知I/O设备可以输入下一个数据了。

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档