- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章输入输出与中断系统
第6章 输入/输出与中断系统 本章主要内容 6.1 输入/输出概述 6.2 CPU与外设之间的数据传送方式 6.3 中断处理技术 6.4 可编程中断控制器8259A 6.1 输入/输出概述 6.1.1 输入/输出与接口 6.1.2 CPU与外设之间交换的信息 1. 数据信息 (1)数字量 (2)模拟量 (3)开关量 2. 状态信息 反映了当前外设或接口本身所处的工作状态,是外设通过接口向CPU传送的信息。 3. 控制信息 CPU通过发送控制信息来控制外设的工作。 一般来说,CPU把控制信息传送到接口,再由接口具体控制外设的工作。 在微型计算机系统中,CPU通过接口和外设交换信息时,状态信息和控制信息也被广义地看成是一种数据信息。即状态信息作为一种输入数据,而控制信息作为一种输出数据。 微机只提供通用的IN和OUT指令。数据信息、状态信息和控制信息全都是通过公共的数据总线DB传送,然后,在接口中再对这3类信息进行区分。 6.1.3 外设接口的一般结构 结构框图,如图6-1所示。 接口的一边挂在系统总线上,接口的另一边与外设相连接。 接口由多个可寻址的寄存器组成,这些能被CPU寻址,并且可读或写的寄存器称为“端口”。 数据端口:在CPU与外设的数据传送中起缓冲作用,用于接收CPU送往外设的数据或者外设送往CPU的数据。 该端口是可读、可写或可读/写的。 状态端口:用来存放外设或者接口部件本身的状态。CPU通过状态端口可以检测外设和接口部件当前的状态。 该端口一般是只读的。 控制或命令端口:用来存放CPU发出的控制信息,以控制接口和外设按要求动作。 该端口一般是只写的。 6.1.4 输入/输出端口的编址方式 1. 内存和I/O端口统一编址 从存储空间划出一部分地址空间给I/O端口,CPU把I/O端口当作存储器单元一样进行访问。 统一编址方式的优点: (1) CPU对I/O端口的操作与对存储单元的操作采用完全相同的指令,CPU而不必设置专门的I/O指令。 (2) I/O端口可用的地址空间大,外设数目几乎不受限制(只受总存储容量的限制)。 统一编址方式的缺点: (1) I/O端口占用了一部分存储器的地址空间,使存储器的地址空间减小。 (2) 存储器操作指令长度比起专门的I/O指令长,因而执行I/O操作的时间较长。 (3) 从指令上不易区分是访问内存单元还是用于输入/输出操作的指令,程序可读性差。 2. 内存和I/O端口独立编址 存储单元的地址空间和I/O端口的地址空间是相互分开、各自独立的。 独立编址方式的优点: (1) 使用专门的I/O指令对端口进行操作,专门的I/O指令码较短,执行速度较快。 (2) 专用的I/O指令与存储器访问指令有明显的差别,程序可读性强。 缺点: 要求CPU必须设置专用的I/O指令,而且专用的I/O指令数量少,远不如存储器访问指令丰富,输入/输出的灵活性较差。 6.2 CPU与外设之间的数据传送方式 6.2.1 无条件传送方式 CPU认定外设已作好传送数据的准备,所以不必预先查询外设的状态,CPU随时可以无条件地直接地与外设进行数据传送。 数据交换与I/O指令的执行是同时进行的。故有人也称其为同步传送。 接口电路,如图6-2所示。 【注意】接口中只有数据端口,而没有(不需要)控制端口和状态端口。 无条件传送方式的特点: 接口电路和控制程序都很简单。 适用于一些简单的外设或外设控制过程的各种动作时间是固定、已知的场合,以保证每次数据传送时,外设总是处于就绪状态。 采用无条件传送方式的常用外设有: 发光二极管、数码管、开关、继电器、步进电机、交通灯管理、路灯管理和广告牌显示系统等。 6.2.2 查询传送方式 对于大多数外设来说,不能够随时无条件的与CPU进行数据交换。 在数据交换之前,CPU必须通过程序检测状态端口的状态,只有当外设准备好时,才能通过数据端口进行数据传送,否则程序只能循环等待或转入其它程序执行。 接口电路及控制程序流程,如图6-3所示。 例:如果一个输出设备接口的状态端口(8位)的地址为ADDR,状态端口的D0位为1,表明未准备好。数据端口(8位)的地址为PDATA,采用条件传送方式传送1字节数据(数据在BL中),程序段如下: LOOP1:MOV DX, ADDR IN AL,DX TEST AL,01H JNZ LOOP1 MOV AL,BL MOV DX,PDATA OUT DX,AL 查询传送方式的特点:
文档评论(0)