第十一章 输入输出系统
本章主要内容
计算机输入输出系统概述
计算机总线的功能与组成
计算机输入输出接口概述
常用的输入输出方式概述
计算机输入输出系统概述
输入输出系统的作用
■连通计算机的各个功能部件和设备,并在它们之间实现数据交换
输入输出系统的组成
■硬件部分主要由计算机总线和输入输出接口两部分组成,软件方面需要操作系统的支持
系统复杂多变的原因
■太多的CPU系列和型号:运行速度、处理功能、接口逻辑各不相同;更多的外围设备:运行原理、提供的功能、读写速度、接口逻辑千差万别
■不同的用户、不同的应用场合提出众多不同的使用要求,无法使用一种方式、一套方法全面解决问题
解决问题的途径
■建立公用的交换信息的通路,提供各部件协调使用通路的规则,这个通路就是计算机总线
■在众多不同的CPU和各种不同的外围设备之间设置功能电路,解决二者之间的连接、沟通、匹配、缓冲等,这个功能电路就是设备接口卡(输入输出接口)
■支持多个I/O设备并发执行输入输出操作,降低输入输出操作对CPU干预的需求,采用多种不同的输入输出方式,例如中断方式、DMA方式等
本章主要内容
计算机输入输出系统概述
计算机总线的功能与组成
计算机输入输出接口概述
常用的输入输出方式概述
计算机总线概述
总线是计算机各个部件之间传输信息的公共通路,包括传输数据信号的逻辑电路、管理信息传输协议的逻辑线路和物理连线。

在任何时刻,只可以有一个部件向总线上发送信息,但却可以有一个或多个部件同时接收信息。控制向总线发送信息通常用带有高阻态输出的选通门实现。

承担不同功能的三种总线
■数据总线:传输数据信息,频率与宽度正比于吞吐量
■地址总线:传输地址信息,宽度决定了内存寻址空间
■控制总线:给出总线周期类型、I/O操作完成时刻、DMA周期、中断等有关的控制信号等

总线周期以及相关概念
■总线周期:通过总线完成一次内存读写操作或者完成一次I/O设备读写操作所需的时间,一般由地址时间和数据时间两个时间段组成
◆地址时间:CPU向内存或IO设备送出地址信息到地址总线
◆数据时间:CPU完成数据读写
■周期类型:一般分为内存读周期、内存写周期、 I/O读周期、 I/O写周期四种类型
■总线的等待状态:由于被读写的部件或设备速度慢,一次数据时间内不能完成读写操作,就要增加一个或多个数据时间继续完成读写操作,在这增加的数据时间里,称总线处于等待状态。它影响系统的运行效率,降低系统的性能。
正常总线周期:每次数据传输都由一次地址时间和一次数据时间组成。(单周期数据传输方式)
Burst总线周期:数据传输由一次地址时间和多次数据时间组成,即给出一次地址信息,连续传送多个数据。(猝发数据传输方式)

计算机总线的结构
单总线结构:早期的计算机,如美国 DEC 公司PDP-11 机只使用一组总线,所有的部件和设备都接在这唯一的总线上,包括数据总线,地址总线,控制总线,其优点是结构简单,成本低廉,缺点是运行效率低。

总线性能(数据输入/输出的吞吐量)对计算机系统总体性能有重大的影响,提高总线性能,一是尽量提高CPU总线本身的速度,二是从总线结构多提供几组总线(铁路可以修复线,公路可以有多条,计算机当然也可以提供几组总线)。
多总线结构
■双总线:是指是指在计算机中配置两组总线,即在处理机总线上通过一块扩展总线的控制线路,提供出另外一组总线,称为输入/输出总线,比较常用的有工业标准总线(ISA)和扩展的工业标准总线(EISA),主要用于连接一般的输入/输出设备。
■三总线:是指在计算机中配置3组总线,即在处理机总线上通过一块被称为PCI桥的控制线路,提供出一组高性能的局部总线,称为PCI总线,而把原来的ISA总线和EISA总线从处理机总线上断开,并通过IO控制线路连接到这里的PCI总线上。把一些慢速的输入/输出设备接到EISA(ISA)总线上。
几种常用的标准总线
■ISA(Industrial Standard Architecture)总线:工业标准结构总线,8位(后来16位)数据线,20位(后来24位)地址线,工作频率8.33MHz。
■EISA(Extended Industrial Standard Architecture )总线:扩展工业标准结构总线,16或32位数据线,32位地址线,工作频率8.33MHz,支持Burst方式传输数据。
■VESA(Video Electronics Standard Association)总线:32位局部总线,连接显卡、网卡等,最高工作频率33MHz。没有严格标准,各厂家产品兼容性差,针对80486。
■PCI( Peripheral Component Interface)总线:外围部件互连总线(局部总线),V1.0支持33MHz工作频率,32位地址和数据线互用;V2.1支持66MHz工作主频,64位地址和数据线互用。


现代PC机的结构


总线仲裁与数据传输控制
总线主设备与从设备
■总线主设备(bus master) :申请总线使用权并发出命令控制总线运行的设备,如CPU等。
■总线从设备(bus slave):只能响应主设备发出的命令并执行读写操作的设备,如内存等。
总线控制器(总线仲裁器)
■执行总线仲裁功能,解决多个总线主设备竞争使用总线的管理问题,它是通过判别主设备使用总线的优先级(bus priority)来完成的,决定多个申请使用总线的主设备中哪个获取总线的使用权,保证任何时刻只有一个总线主设备使用总线传输数据。
总线仲裁方式
■集中式控制:总线控制逻辑集中在一个部件上(如CPU)
■分布式控制:总线控制逻辑分散在多个总线部件上
集中式仲裁之一:串行链式查询方式,优点是结构简单、易于扩展;缺点是优先级固定,链式线路故障会损害系统运行质量。

集中式仲裁之二:独立请求方式,可以采用多种仲裁策略,优先级灵活、响应速度快、结构复杂。

分布式仲裁:(1)各主模块有自己的仲裁号和仲裁逻辑。(2)以优先级仲裁策略为基础。(3)过程:首先把自己的仲裁号发送到仲裁总线上,仲裁逻辑将仲裁总线上的仲裁号与自己的仲裁号比较,若自己的优先级低,则请求失败,撤除自己的仲裁号,仲裁总线上最终保留优先级最高的仲裁号。

数据传输控制方式:解决的是通信双方交换数据过程中在时间上的配合关系,也就是同步问题。可以分为同步通信与异步通信
同步通信
■是指在总线上传送数据时,通信双方使用同一个时钟信号进行同步,这个时钟信号通常可以由CPU的总线控制逻辑部件提供,称为总线时钟。此种方式逻辑简单,可以有比较高的数据传输率。
异步通信
■是指在总线上传送数据时,允许通信双方各自使用自己的时钟信号,采用“应答方式”(握手方式)解决数据传输过程中的时间配合关系,而不是共同使用同一个时钟信号进行同步。此种方式便于实现不同速度部件之间的数据传送。
同步通信步骤:(1)主设备在第1个时钟周期开始处发出地址和读信号,地址和控制信号有效,(2)从设备接收后在下一个时钟周期开始处把数据信号及应答信号放到总线上,(3)在下一个时钟周期到来时,各信号恢复,完成总线周期。

异步通信步骤:(1)主设备先发出地址和读信号,待稳定后再发出主同步信号MSYN,表示地址和控制信号有效,(2)从设备检测到同步信号后发出数据,待数据稳定后再发出从同步信号SSYN,表示数据信号有效,(3)主设备接收数据。

总线参数选择
选择 |
提高性能 |
降低成本 |
总线宽度 |
将地址和数据线分开 |
互用地址和数据线 |
数据宽度 |
越宽越快(32位) |
越窄越廉价(8位) |
传送大小 |
多字可减少总线开销 |
单字传送简单 |
主设备 |
多主设备(仲裁) |
单主设备 |
时钟 |
同步 |
异步 |
|