2002.12计算机组成原理§1主机与外设的连接
第十章 现代计算机系统中外部设备的种类繁多,各类外部设备不仅结构组成和工作原理不同,而且与主机的连接方式也是复杂多变的。因此,计算机的输入/输出子系统成为整个计算机系统中最具有多样性和复杂性的部分,本章将比较详细地介绍几种典型的输入/输出子系统的工作原理,以及总线技术。 §1 主机与外设的连接 1.1 主机和外设的连接方式 (1) 辐射型连接(星型) 以主机为中心向各设备辐射的星形连接,这种连接方式具有控制简单的优点,但结构复杂、连线多,缺乏灵活性。 (2) 总线型连接 各外设经集电极开路门或三态门挂接在总线上,故称为总线型连接。这种连接方式具有结构简单,易于扩展等优点,而且各外设之间也有可能通过同一组总线直接通信。其缺点是所有的外设都通过同一组总线分时地工作,由于信息吞吐量有限,将影响交换速度。 §1 主机与外设的连接 (3) 结合型连接 前述两种方式的结合型。主机通过“通道”来管理外设的输入/输出操作,主机与通道间采用辐射型连接,而通道和外设间则采用总线型连接。 1.2 输入/输出接口 无论何种外设,以何种方式与主机相联,仔细分析它们之间的全部动作,可以看出两者之间是在进行信息交换。输入/输出接口(I/O 接口)是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。 §1 主机与外设的连接 主机和外设之间需要交换的信息有: (1) 数据信息 这类信息可以是通过输入设备送到计算机的输入数据,也可以是经过计算机运算处理和加工后,送到输出设备的结果数据。传送可以是并行的,也可以是串行的。 (2) 控制信息 这是CPU对外设的控制信息或管理命令,如外设的启动和停止控制、 输入或输出操作的指定、工作方式的选择、中断功能的允许和禁止等。 §1 主机与外设的连接 (3) 状态信息 这类信息用来标志外设的工作状态,CPU 在必要时可通过对它的查询来决定下一步的操作。比如,输入设备数据准备好标志,输出设备忙闲标志等。 (4) 联络信息 这是主机和外设间工作的时间配合信息,它与主机和外设间的信息交换方式密切相关。通过联络信息可以决定不同工作速度的外设和主机之间交换信息的最佳时刻,以保证整个计算机系统能统一协调地工作。 §1 主机与外设的连接 (5) 外设识别信息 这是I/O寻址的信息,使CPU能从众多的外设中寻找出与自己进行信息交换的唯一外部设备。 1.3 接口的功能和基本组成 1. 接口的功能 (1) 实现主机和外设的通信联络控制 接口中的同步控制电路用来解决主机与外设的时间配合问题。 §1 主机与外设的连接 (2) 进行地址译码和设备选择 当CPU送来选择外设的地址码后,接口必须对地址进行译码以产生设备选择信息,使主机能和指定外设交换信息。 (3) 实现数据缓冲 在传送过程中,先将数据送入数据缓冲寄存器中,然后再送到输出设备或主机中去。 (4) 数据格式的变换 在输入或输出操作过程中,为了满足主机或外设的各自要求,接口电路中必须具有完成各类数据相互转换的功能。 §1 主机与外设的连接 (5) 传递控制命令和状态信息 当CPU要启动某一外设时,通过接口中的控制命令寄存器向外设发出启动命令;当外设准备就绪时,则有状态信息送回接口中的状态寄存器,为CPU 提供反馈信息,告诉CPU,I/O设备已经具备和CPU交换数据的条件。当外设向CPU提出中断请求和DMA请求时,CPU也有相应的响应信号反馈给外设。 §1 主机与外设的连接 2. 接口的基本组成 接口中要分别传送数据信息、控制信息和状态信息。大多数计算机都把I/O设备的状态信息视为输入数据,而把控制信息看成输出数据,并在接口中分设各自相应的寄存器,赋以不同的端口地址,各种信息分时地使用数据总线传送到各自的寄存器中。 接口与端口是两个不同的概念。端口是指接口电路中可以进行读/写的寄存器,若干个端口加上相应的控制逻辑电路才组成接口。 §1 主机与外设的连接 通常,一个接口中包含有数据端口、控制端口和状态端口。存放数据信息的寄存器称为数据端口,存放状态信息的寄存器称为状态端口,存放控制命令的端口称为命令端口。 CPU通过输入指令可以从有关端口中读出信息,通过输出指令可以把信息写入有关端口。对状态端口只进行输入操作,将设备状态标志送到CPU 中去;对命令端口只进行输出操作,CPU将向外设发送各种控制命令。因此,在有的接口电路中状态信息和控制信息共用一个寄存器,称之为设备的控制状态