- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章输入输出
第五章 输入输出
一、输入/输出体系结构
输入/输出定义为在外部设备和由CPU及主存储器组成的主机系统之间移动编码数据的一个子系统。
输入输出子系统一般由以下几部分组成:
用于I/O功能的主存储器模块
提供将数据从系统中移入和移出所需要的总线通道
主机和外围设备中的控制模块
连接外部元件的接口,例如,连接键盘和磁盘
连接主机系统和外围设备的电缆和其它通信连接
二、I/O模块
I/O模块主要负责主存储器和某些特定设备的接口之间的数据传递
(一)、I/O模块的功能
1、I/O模块负责与处理器和外设进行通信
1)、命令译码:I/O模块接受来自处理器的命令
2)、数据:数据是在处理器和I/O模块间经由数据总线来交换的。
3)、状态报告:常用的状态信号有忙(busy)和就绪(ready)
4)、地址识别:每个I/O设备也有地址。因此,I/O模块必须识别它的控制的每个外设的地址。
2、数据缓存
由于传入和传出主存或处理器的传送速度 高,而许多外设速度要低几个数量级,所以来自主存的数据通常以高速发送到I/O模块,数据保存在I/O模块的缓冲器中,然后以外设的数据传送速度发送到外设。
当反方向传送时,由于数据被缓存,内存能以高速操作。因此,I/O模块必须即能以设备速度又能以存储器速度传送。
3、检错,将差错信息报告给处理器
差错主要有两类:
1)、一类差错是设备机构和电路故障
2)、另一类差错是在信息从设备到I/O模块传送时,数据位发生变化。
对于传输中的差错,经常用一些检验码进行检测。
常用的校验码是在每个数据字符上采用一个奇偶校验位,如IRA字符代码占据了一个字节中的7位,第8位设置成奇偶检验位,根据字节中“1”的总数为偶数(偶校验)或奇数(奇校验)来校验。
当I/O模块接收一个字节时,检查奇偶校验位来确定是否有差错发生。
(二)、I/O模块结构
1、I/O模块逻辑图
I/O模块通过一组信号线(如系统总线)连接到计算机的其它部分。
传送到I/O模块或从I/O模块传出的数据缓存在一个或几个数据寄存器中,同时也有几个状态寄存器提供当前的状态信息,状态寄存器了能用做控制寄存器接收来自处理器的详细的控制信息。
模块内的逻辑通过一组控制线与处理器交互,处理器使用这些控制线发送命令给I/O模块。
控制线中的一部分也可被I/O模块使用(如用于仲裁和状态信号)。模块也能识别和产生与它控制的设备相关的地址,每个I/O模块有一个唯一的地址。
2、Intel 82C55A可编程外部接口
82C55A是单片的、与Intel 80386处理器一起使用的通用I/O模块。
右图是82C55A的外部接口,24条I/O线(PA0-PC7)由80386利用控制寄存器编程。24根线划分成3个8位组(A、B、C),每个组作为一个8位I/O端口。
8位双向数据总线(D0~D7),负责与I/O端口之间的数据传输,并传送控制信息到寄存器。
两根地址线(A0-A1)指定了3个I/O端口中一个控制器。
Chip select信号和READ或WRITE信号允许操作时,发生实际的数据传输。
RESET信号用于初始化82C55A芯片。
3、物理连接
键盘/显示器与82C55A的接口
三、I/O的控制方法
计算机系统通常有4种I/O控制方法。包括:编程式I/O、中断驱动式I/O、存储器直接存取(DMA)、I/O通道。
I/O技术
传递方式 无中断 使用中断 I/O与存储器之间的数据传送通过处理器实现
I/O与存储器直接传送 编程式I/O 中断驱动式I/O
存储器直接存取(DMA)
(一)、编程式I/O(Programmed I/O)
使用编程式I/O的计算机系统需要为每个I/O设备至少准备一个专用的寄存器。
CPU会持续不断地监视每个寄存器,等待数据到达。这种方法称为轮询(polling)。因此编程式也称为轮询的I/O。一旦CPU检测到某个“数据就绪”的条件,就会根据为这个特定寄存器所准备的指令执行各种操作。
I/O指令
对于编程式I/O,处理器从内存获取的I/O指令和为执行此指令处理器发送到I/O模块的I/O命令有着紧密的对应关系。即指令很容易被映射成I/O命令,它们经常是简单的一对一关系。
许多I/O设备通过I/O模块连接到系统,每个设备给出一个唯一的标识符或地址,当处理器发送一个I/O命令时,该命令包括所需设备地址。因此,每个I/O模块必须对地址线译码,确定命令是否发送给自己。
优缺点
优点:可以通过编程来控制每个外部设备的行为。通过改变程序就可以调整系统所控制的外部设备的数目、类型以及轮询的权限和时间间隔。
缺点:采用这种方式工作的CPU必须反复地查询I/O模块的状态,CPU持续一个“繁忙等待”循环中。直到开始服务某个I/O请求。结
文档评论(0)