计算机组成与系统结构

Similar documents
水晶分析师



01

HighPoint产品的FAQ手册

燃烧器电子控制系统 目录 2

水权定义 法律规定的用户获得水权的方式 法律规定的几种水相关许可 水利经济 电话 传真


Microsoft Word - 封面.doc

é ê



中国社会科学 年第 期,,. % 1,,,. %,. % 2,, %, ;,,,, 3,,,, 4 ( ) ( ) ( ) (),, %, 5,,,,,,,,, 1 :,, ://.. / / - / /., 2 :,, 3 :, 4,,, 5 ( ),,, ( ),, ( ), ( ), ( );

# # # # # # # # #


日本学刊 年第 期!!

相 关 知 识 1 计 算 机 工 作 原 理 1946 年 2 月, 世 界 上 第 一 台 电 子 计 算 机 ENIAC (Electronic Numerical Integrator And Computer, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚

上海现代设计集团建筑协同设计平台研究与应用

《计算机应用基础》学习材料(讲义)

FPGAs in Next Generation Wireless Networks WPChinese

Microsoft Word - 67

137677_Eta_press Folder-cn用的.indd

第 期 丘志力等 从传世及出土翡翠玉器看我国清代翡翠玉料的使用

PureSCM enhances competitive advantage with an integrated approach to IT service level management

. ( ) (.).,,,. ( ) (.). ( ). ( ) (.). ( ) (.).. ( ) ( ) ( ) ( ) ( ) ( ) ( ).. ( ) (.). ( - ) ( ) (.)., ( ).,,,,.. ( ) ( ) ( ) ( ) ( )... ( )... ( ) (

Microsoft Word _TC_Lemel_new.doc



Conductix-Wampfler Inductive Power Transfer IPT 2

抗战时期沦陷区的电影检查 #

! %! &!! % &

34 15 LonWorks GB /T Works IP LonWorks LonWorks 1-3 LonWorks Works ANSI AAR SEMI ASHRAE IFSF IEEE LonWork ISO /IEC

孙 蓝等 基于目标导向的研究生英语学习模式创新

USER MANUAL_2.0_CN_V2_溫度修改版本.indd

,,,,,,, ;,, ;, ;, (, / ),, ;,,.,,,,,,,,,,,,,,,,, ;,,,,,,, 1, :,,, ;,,,, (, ),,,,, 1,,, (,, )

目 录 汉 邦 高 科 介 绍 局 域 网 设 置 广 域 网 设 置 网 络 访 问 常 见 问 题 销 售 服 务 网 络 2

通过动态路由协议实现链路备份

!!


目 录 1 简 介 VirtualBox 是 什 么 虚 拟 机 有 什 么 功 能 虚 拟 机 的 几 个 重 要 概 念 7 2 虚 拟 机 软 件 和 虚 拟 机 主 要 组 件 间 的 关 系 和 特 征 虚 拟 机 软 件 虚 拟

航天电器 SAM 系列射频同轴连接器 机械和电气基准面 a b c 头部配合尺寸 m n l k 机械和电气基准面 d e f p q r g s t i h j u w 尺寸代号最小值最大值尺寸代号最小值最大值尺寸代号最小值最大值 a 3.30 h p 1/4-36UNS-2A b

BLOS的教程_BIOS的设置及其影响



% %

# # +,! +,!!!!!!!! #!!

Microsoft Word - N757IAX_TC_2_01.doc

中国与欧洲关系 年

untitled

第九章

<4D F736F F D20CFB5B7D62DCFC2CEE749CAD4CCE22D3037C9CF>

<4D F736F F D B9E3B6ABCAA1CBAEC0FBB9A4B3CCCAD3C6B5BCE0BFD8CFB5CDB3BCBCCAF5B9E6B7B6A3A8CAD4D0D0A3A9C7A9B7A22E646F63>

穨TX2使用手冊草稿.PDF

2 职 业 核 心 知 识 ( 66 学 分 ) 经 营 环 境 分 析 财 务 管 理 实 务 管 理 学 基 础 统 计 学 基 础 初 级 会 计 中 级 会 计 企 业 制 度 设 计 出 纳 实 务 审 计 基 础 与 实 务 职 业 资 格 培 训 ( 第 三 五 学 期 ) 0 7.5

邀请函1

untitled


研究问题 自主学习中心 研究对象 研究方法 自主学习中心参与度以及学生对其认可度

显示屏集成式工业计算机用户手册

201011


Agenda PXI PXI

总量开始减少的欧洲人口形势分析

????????



LJY911.nps

Microsoft PowerPoint - 7输入输出系统-2.ppt

378高雄市都市計畫說明書

Microsoft PowerPoint - 1计算机系统概论.ppt


欧洲研究 年第 期


I 2001年我国计算机制造业的基本运行状况

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页


中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国中华人民共和国

, 60 IBM 多 个 计 算 机 互 联 的 计 算 机 网 络 60 HOS HOS 1-1a 1-1b HOS FEP 1-1c ARPANE(Advanced Research Project Agency Network) ARPA (1) 1-2 IMP

国 债 期 货 仿 真 交 易 指 南 目 前, 我 所 国 债 期 货 仿 真 交 易 上 市 合 约 有 :TF1203,TF1206, TF1209 为 了 更 好 地 了 解 国 债 期 货 定 价 交 易 和 交 割 策 略, 我 们 分 析 一 个 具 体 的 国 债 期 货 合 约 T

! " # +(!"# $%& (!"!#$%& (&%!)*) +,)) )!#$%&+!$%-./! $*0! +,)) 1*23!% %*2$*23 1!%%*$*2,2#%!,) )4542*$ *0!2$*1*#,$*&2!! 1!%%*$*2 $#!"!)!" "

标题

Acronis True Image 2015

Dell Storage Center SCv2000 和 SCv2020 存储系统 使用入门指南


长 三 角 地 区 在 中 国 IT 业 占 有 核 心 地 位, 其 囊 括 了 从 集 成 电 路 计 算 机 零 部 件 整 机 制 造 通 信 设 备 消 费 类 电 子 到 软 件 的 整 个 IT 产 业 链 长 三 角 的 IT 业 主 要 集 中 于 江 苏 省 和 上 海 市,20


<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

Microsoft PowerPoint - Renesas USB products online seminar ver001_修改第7页_尺寸已改.pptx

PowerPoint Presentation

RM500 CAT / ECM RM300 2

98

Microsoft Word - 134招标文件.doc

01

虚拟仪器综述

新开放专科单片机技术与应用教学大纲


Sun StorEdge 3000 系列安装、操作和维护手册(Sun StorEdge 3510 FC 阵列和带 SATA 的 3511 FC 阵列)

抗日战争研究 # 年第 期 % % % # % % % % # # # # # #

抗战时期湖南教育发展述论 # # # # #

Microsoft Word - USB2 0信號分析技巧.doc

Transcription:

第7章 输入输出 I/O 系统 键盘 鼠标 打印机都是常见的计算机外围设备 这些设备就是通常意义上所说的输入输出设备 从功 能上可以将输入输出设备分为两类 一类是完成输入输出操作的设备 另一类是作为外部存储器的设备 外部存储器的访问需要通过输入输出接口进行 因此也可以看作是一种输入输出设备 各种外围设备通过输入输出接口与计算机主机相连 完成主机分配的任务并进行信息交换 这就是输 入输出系统的功能 输入输出接口需要连接各种不同类型 不同工作速度和数据传输速度的外围设备 因此产生了各种不 同的输入输出控制方式 本章首先介绍 5 种输入输出控制方式 然后重点介绍程序中断 DMA 通道这三种常用方式 最后介 绍几个通用输入输出接口的实例 7.1 输入输出控制方式 一般而言 CPU 管理外围设备的输入输出控制方式有 5 种 程序查询方式 程序中断方式 DMA 方式 通道方式 外围处理机方式 前两种方式由软件实现 后三种方式由硬件实现 1. 程序查询方式 程序查询方式是早期计算机中使用的一种方式 CPU 与外围设备的数据交换完全依赖于计算机的程序 控制 在进行信息交换之前 CPU 要设置传输参数 传输长度等 然后启动外设工作 与此同时 外设则进 行数据传输的准备工作 相对于 CPU 来说 外设的速度是比较低的 因此外设准备数据的时间往往是一 个漫长的过程 而在这段时间里 CPU 除了循环检测外设是否已准备好之外 不能处理其他业务 只能一 直等待 直到外设完成数据准备工作 CPU 才能开始进行信息交换 这种方式的优点是 CPU 的操作和外围设备的操作能够完全同步 硬件结构也比较简单 但是 外围设 备的动作通常很慢 程序进行循环查询白白浪费了宝贵的 CPU 时间 数据传输效率低下 在当前的实际应 用中 除了单片机之外 已经很少使用程序查询方式了 2. 程序中断方式 中断是外围设备用来 主动 通知 CPU 准备发送或接收数据的一种方式 通常 当一个中断发生时 CPU 暂停其现行程序 转而执行中断处理程序 完成数据 I/O 工作 当中 断处理完毕后 CPU 又返回到原来的任务 并从暂停处继续执行程序 这种方式节省了 CPU 时间 是管理 I/O 操作的一个比较有效的方法 中断方式一般适用于随机出现的 服务 并且一旦提出要求 应立即执行 与程序查询方式相比 程序中断方式的硬件结构相对复杂一些 服务成本较大 3. DMA 方式 DMA 方式就是直接存储器存取 Direct Memory Access 方式 是一种完全由硬件执行 I/O 交换的工 作方式 在该方式中 DMA 控制器从 CPU 完全接管对总线的控制权 数据交换不经过 CPU 而直接在主存和 外围设备之间进行 以便高速传送数据 这种方式的主要优点是数据传送速度很高 传送速率仅受限于主存的访问时间 与程序中断方式相比 这种方式需要更多的硬件 适用于主存和高速外围设备之间大批量数据交换的场合 4. 通道方式 DMA 方式的出现减轻了 CPU 对 I/O 操作的控制 使得 CPU 的效率显著提高 而通道的出现则进一步 提高了 CPU 的效率 通道是一个具有特殊功能的处理器 又称为输入输出处理器 IOP 它分担了 CPU 的一部分功能 可以实现对外围设备的统一管理 完成外围设备与主存之间的数据传送 101

通道方式大大提高了 CPU 的工作效率 然而这种效率的提高是以增加更多的硬件为代价的 5. 外围处理机方式 外围处理机 Peripheral Processor Unit PPU 方式是通道方式的进一步发展 PPU 基本上独立于主机工作 它的结构更接近于一般的处理机 甚至就是微小型计算机 在一些系统 中 设置了多台 PPU 分别承担 I/O 控制 通信 维护诊断等任务 从某种意义上说 这种系统已经变成了 分布式多机系统 综上所述 计算机外围设备的输入/输出方式如图 7-1 表示 其中 程序查询方式和程序中断方式适用 于数据传输率比较低的外围设备 而 DMA 方式 通道方式和外围处理机方式则适用于数据传输率比较高 的外围设备 I/O控制方式 主要由程序实现 程序 查询方式 主要由硬件实现 程序 中断方式 DMA方式 通道方式 PPU方式 图 7-1 外围设备的输入/输出方式 7.2 程序中断方式 7.2.1 中断的基本概念 程序查询方式要求 CPU 不断地用指令检测方法来获取外设工作状态 造成 CPU 的运行效率极低 20 世 纪 50 年代中后期中断概念的出现 是计算机系统结构设计中的一项重大变革 在程序中断方式中 某一外设的数据准备就绪后 它 主动 向 CPU 发出中断请求信号 请求 CPU 暂 时中断目前正在执行的程序转而进行数据交换 当 CPU 响应这个中断时 便暂停运行主程序 自动转去执 行该设备的中断服务程序 当中断服务程序执行完毕 数据交换结束 后 CPU 又回到原来的主程序继续 执行 中断处理示意图如图 7-2 所示 由图可见 CPU 只是在外围设备 A B C 的数据准备就绪后 才去执行 对应的中断服务程序 进行数据交换 而当低速的外围设备准备自己的数据时 CPU 则照常执行自己的主 程序 从这个意义上说 CPU 和外设的一些操作是异步并行进行的 因而与串行进行的程序查询方式相比 计算机系统的效率的确是大大提高了 A中断请求 B中断请求 C中断请求 主程序 主程序 A中断服务程序 B中断服务程序 C中断服务程序 图 7-2 中断处理示意图 CPU 只有在当前一条指令执行完毕后 即转入公操作时 才会受理外围设备的中断请求 为了在中断服务程序执行完毕以后 能够正确地返回到原来主程序被中断的地方 断点 继续执行 必须把程序计数器 PC 的内容 以及当前指令执行结束后 CPU 的状态 包括寄存器的内容和一些状态标志 位 都保存到堆栈中去 这些操作称为保存现场 在中断服务程序执行完毕后 需要执行恢复现场操作 从堆栈中恢复 PC 内容和 CPU 状态 以便从断点处继续执行主程序 102

中断处理过程是由硬件和软件结合来完成的 中断周期由硬件实现 而中断服务程序则由机器指令序 列实现 计算机的中断过程类似于子程序调用 但在本质上又有所区别 子程序的调用是事先安排好的 而中 断则是随机产生的 子程序的执行往往与主程序有关 而中断服务程序则可能与主程序毫无关系 比如发 生电源掉电等异常情况 7.2.2 单级中断与多级中断 根据计算机系统对中断处理策略的不同 中断系统可以分为单级中断系统和多级中断系统 单级中断 系统是中断结构中最基本的形式 在单级中断系统中 图 7-3 所有的中断源都属于同一级 所有中断源触发器排成一行 其优先次 序是离 CPU 越近优先级越高 当响应某一中断请求时 CPU 执行该中断源的中断服务程序 在此过程中 中 断服务程序不允许被其他中断源所打断 即使优先级比它高的中断源也不例外 只有当该中断服务程序执 行完毕之后 才能响应其他中断 主程序 单级中断 服务程序 图 7-3 单级中断示意图 多级中断系统是指计算机系统中的多个中断源 根据中断事件的轻重缓急程度不同而分成若干个级别 每一个中断级分配一个优先级 一般而言 优先级高的中断级可以打断优先级低的中断服务程序 以程序 嵌套方式进行工作 中断嵌套是指当一个中断服务程序正在执行时 一个优先级比它更高的中断源发出中 断请求 CPU 暂停当前中断服务程序的执行 转而执行优先级更高的中断服务程序 如图 7-4 所示 图中 CPU 嵌套响应了系统中的两个中断服务程序 多级中断的出现 扩大了系统中断功能 进一步加强了系统 处理紧急事件的能力 主程序 一级中断 服务程序 二级中断 服务程序 图 7-4 多级中断示意图 为了能够及时处理最为紧迫的中断 必须判断多级中断中哪个中断的优先级更高 通常可采用以下两 种处理方法 1. 软件查询法 103

所谓软件查询法 就是采用程序查询技术来确定发出中断请求的中断源及其中断优先级 最先查询的 中断具有最高优先级 最后查询的中断则为最低优先级 因此 查询的先后顺序决定了中断优先级的高低 如果中断请求正好来源于最后查询的那个中断 那么就浪费了此前的大量查询时间 因此 软件查询的效 率很低 2. 硬件处理法 为了提高处理效率 通常采用硬件处理方法 即采用优先级排队电路或专用中断控制器等硬件电路来 管理中断 7.2.3 中断控制器 中断控制器是一块专用的集成电路芯片 它将中断接口与优先级判断等功能集于一身 在 80x86 的早期系统中 采用一片 8259A 芯片作为中断控制器 到了 80386 系统中 则采用可编程中 断控制器 PIC Programmable Interrupt Controller 也就是两块 8259A 芯片的级联 在 Pentium 以及 后来的 CPU 中 集成了高级可编程中断控制器 APIC Advanced Programmable Interrupt Controller 可用于多处理器 7.3 DMA方式 7.3.1 DMA基本概念 DMA 方式是一种完全由硬件执行 I/O 交换的工作方式 在这种方式中 DMA 控制器从 CPU 完全接管对总 线的控制 数据交换不经过 CPU 而直接在主存和 I/O 设备之间进行 DMA 控制器向主存发出地址和控制信 号 修改主存地址 对传送的字的个数进行计数 并且以中断方式向 CPU 报告传送操作的结束 DMA 方式控 制简单 适用于高数据传输率设备进行成组传送 DMA 方式的主要优点是速度快 由于 CPU 不参加传送操作 因此省去了 CPU 取指令 取数 送数等操作 也没有保存现场 恢复现场之类的工作 而且 主存地址的修改 传送字个数的计数等也不由软件实现 而 是用硬件线路直接实现的 所以 DMA 方式能够满足高速 I/O 设备的要求 也有利于 CPU 效率的发挥 一般 用于高速传送成组数据 DMA 方式的工作过程如下 首先 当要求通过 DMA 方式传输数据时 DMA 控制器向 CPU 发出请求 CPU 释放总线控制权 交由 DMA 控制器管理 然后 DMA 控制器向外设返回一个应答信号 外设与主存开始进 行数据交换 最后 当数据传输完毕后 DMA 控制器把总线控制权交还给 CPU 在这种方式下 DMA 控制器 与 CPU 分时使用总线 其时间图如图 7-7 所示 t 主存工作时间 CPU控制 并使用主存 DMA控制 并使用主存 CPU不使用总线 DMA不工作 DMA不工作 DMA工作 图 7-7 DMA 传送方式时间图 在 DMA 方式中 批量数据传送前的准备工作 以及传送结束后的处理工作 仍由 CPU 通过执行管理程 序来承担 DMA 控制器只负责具体的数据传送工作 7.3.2 DMA数据传送过程 一次 DMA 数据块传送过程可分为三个阶段 传送前预处理 正式传送 传送后处理 如图 7-8 所示 104

DMA请求 DMA响应 发送主存地址 传送一个字数据 检测传送 是否结束 修改地址指针和字计数器 否 是 中断申请 结束处理 CPU完成 图 7-8 DMA 传输数据的过程 1 预处理阶段 CPU 执行几条输入输出指令 测试设备状态 向 DMA 控制器的设备地址寄存器中送入设备号并启动设 备 向主存地址计数器中送入起始地址 向字计数器中送入交换数据字个数 在这些工作完成后 CPU 继 续执行原来的主程序 当外设准备好发送数据 输入 或接收数据 输出 时 它发出 DMA 请求 由 DMA 控制器向 CPU 发出 总线使用权请求 HOLD 2 正式传送阶段 当外围设备发出 DMA 请求时 CPU 在本机器周期执行结束后响应该请求 并使 CPU 的总线驱动器处于 第三态 高阻状态 之后 CPU 与系统总线相脱离 而 DMA 控制器则接管数据总线与地址总线的控制 并 向主存提供地址 于是在主存与外围设备之间进行数据交换 每交换一个字 地址计数器和字计数器加 1 当字计数器溢出时 DMA 操作结束 DMA 控制器向 CPU 发出中断报告 DMA 数据传送是以数据块为基本单位进行的 因此 每次 DMA 控制器占用总线后 无论是数据输入操 作 还是输出操作 都是通过循环来实现的 当进行输入操作时 外围设备的数据 一次一个字或一个字 节 传向主存 当进行输出操作时 主存的数据传向外围设备 3 后处理阶段 一旦 DMA 的中断请求得到响应 CPU 停止主程序的执行 转去执行中断服务程序 完成 DMA 结束处理 工作 这些工作包括校验送入主存的数据是否正确 决定继续 DMA 传送还是结束 测试传送过程中是否发 生错误等等 基本 DMA 控制器与系统的连接方式有两种 一种是公用的 DMA 请求方式 另一种是独立的 DMA 请求方 式 7.3.3 选择型和多路型DMA控制器 最简单的 DMA 控制器 一个控制器只控制一个 I/O 设备 而在实际应用中情况要复杂得多 因此通常 采用选择型 DMA 控制器和多路型 DMA 控制器 1. 选择型 DMA 控制器 选择型 DMA 控制器在物理上可以连接多个设备 而在逻辑上只允许连接一个设备 换句话说 在某一 个时间段内只能为一个设备提供服务 105

选择型 DMA 控制器的工作原理与基本 DMA 控制器大致相同 除了前面提到的基本逻辑部件外 还有一 个设备号寄存器 数据传送是以数据块为单位进行的 在每个数据块传送之前的预置阶段 除了用程序中 的 I/O 指令给出数据块的传送个数 起始地址 操作命令外 还要给出所选择的设备号 从预置开始 一直 到这个数据块传送结束 DMA 控制器只为所选的设备提供服务 下一次预置时再根据 I/O 指令指出的设备号 为所选择的另一设备提供服务 显然 选择型 DMA 控制器相当于一个逻辑开关 根据 I/O 指令来控制此开 关与某个设备连接 选择型 DMA 控制器只增加了少量的硬件就达到为多个外围设备提供服务的目的 它特别适合于数据传 输率很高甚至接近于主存存取速度的设备 在高速传送完一个数据块后 控制器又可为其他设备提供服务 2. 多路型 DMA 控制器 与选择型 DMA 方式相比 多路型 DMA 不仅在物理上可以连接多个外围设备 而且在逻辑上也允许这些 外围设备同时工作 各个设备以字节交叉方式通过 DMA 控制器进行数据传送 多路型 DMA 控制器适合于同时为多个慢速外围设备提供服务 多路型 DMA 控制器可以对多个独立的 DMA 通路进行控制 当某个外围设备请求 DMA 服务时 操作过程 如下 ⑴ DMA 控制器接到设备发出的 DMA 请求 将请求转送到 CPU ⑵ CPU 在适当的时刻响应 DMA 请求 若 CPU 不需要占用总线则继续执行指令 若 CPU 需要占用总线则进 入等待状态 ⑶ DMA 控制器接到 CPU 的响应信号后 进行以下工作 ①对现有 DMA 请求中优先权最高的请求予以响 应 ②选择相应的地址寄存器的内容来驱动地址总线 ③根据所选设备操作寄存器的内容 向总线发出读 写信号 ④外围设备向数据总线传送数据 或从数据总线接收数据 ⑤每个字节传送完毕后 DMA 控制器 使相应的地址寄存器和长度寄存器加 1 或减 1 以上是一个 DMA 请求的过程 在一批数据传送过程中 要多次重复上述过程 直到外围设备表示一个 数据块已传送完毕 或该设备的长度控制器判定传送长度已满 7.4 通道方式 7.4.1 通道的功能 DMA 方式解决了快速外设和主机成批交换信息的难题 简化了 CPU 对数据传送的控制 提高了主机与 外设并行工作的程度 提高了系统的效率 但是 在 DMA 方式下 CPU 仍然摆脱不了管理和控制外设的沉重 负担 难以充分发挥高速运算的能力 随后出现的通道方式 将控制 I/O 操作和信息传送的功能从 CPU 中 独立出来 代替 CPU 管理和调度外设与主机的信息交换 从而进一步提高了 CPU 的效率 通道是一个特殊功能的处理器 是计算机系统中代替 CPU 管理控制外设的独立部件 它有自己的指令 和程序 专门负责数据输入输出的传输控制 而 CPU 在将 传输控制 功能下放给通道后只负责 数据处 理 功能 这样 通道与 CPU 分时使用主存 实现了 CPU 内部运算与 I/O 设备的并行工作 通道的基本功能是执行通道指令 组织外围设备和主存进行数据传输 按 I/O 指令要求启动外围设备 向 CPU 报告中断等 CPU 通过执行 I/O 指令以及处理来自通道的中断 实现对通道的管理 来自通道的中断有两种 一种是 数据传送结束中断 另一种是故障中断 通道使用通道指令控制设备控制器进行数据传送操作 并以通道状态字接收设备控制器反映的外围设 备的状态 因此 设备控制器是通道对 I/O 设备实现传输控制的执行机构 7.4.2 通道的工作过程 系统在进行一次通道操作之前 CPU 要完成准备通道程序 安排数据缓冲区 给通道和外设发起命令等 工作 在通道接到启动命令后 便到指定点取通道地址 指定点是系统设计好的 由通道硬件实现 通道根 据指定点提供的主存地址 从主存中取出 CPU 为它准备的通道程序 106

在执行第一条通道程序之前 通道首先要选择外设 启动外设的设备号 看其是否有响应 总线上的 外设都有自己的地址译码器 用于判断总线上的呼叫地址是否是本设备地址 选择设备后 通道向外设接 口发出命令 外设接口接到命令后返回状态码 通道便以条件码形式回答 CPU 表示这次启动成功 于是 CPU 便可以转去执行其他程序 而通道程序则由通道独立完成 当通道与外设之间的信息交换完成后 通 道向 CPU 发出中断信号 CPU 根据通道状态字分析这次通道操作的执行情况 7.4.3 通道的类型 根据通道的工作方式 通道分为字节多路通道 选择通道 数组多路通道三种类型 一个系统可以兼有 多种类型的通道 也可以只有其中一 二种 1. 字节多路通道 字节多路通道是一种简单的共享通道 主要用于连接控制多台低速外设 以字节交叉方式传送数据 例如 某个外设的数据传输率只有 1000B/s 即传送 1 个字节的时间间隔是 1ms 而通道从设备接收或发 送一个字节只需要几百 ns 因此 通道在传送两个字节之间有很多空闲时间 字节多路通道正是利用这 个空闲时间为其他设备提供服务 每个设备分时占用一个很短的时间片 不同的设备在各自分得的时间片 内与通道建立连接 实现数据的传输 2. 选择通道 选择通道又称高速通道 在物理上它可以连接多个设备 但是这些设备不能同时工作 在某一个时间 段内通道只能选择一个设备进行工作 选择通道很像一个单道程序的处理器 在一段时间内只允许执行一 个设备的通道程序 只有当这个设备的通道程序全部执行完毕后 才能执行其他设备的通道程序 选择通道主要用于连接高速外围设备 如磁盘 磁带等 信息以成组方式高速传输 由于数据传输率很 高 如达到 1.5MB/s 通道在传送两个字节之间只有很少的空闲时间 所以 在数据传送期间只为一台设 备服务是合理的 但是 这类设备的寻址等辅助操作的时间往往很长 在这样长的时间里通道一直处于等 待状态 因此 整个通道的利用率还不是很高 3. 数组多路通道 连接控制多个高速外设并以成组交叉方式传送数据的通道称为数组多路通道 数组多路通道是对选择 通道的一种改进 当某个设备进行数据传送时 通道只为该设备提供服务 当设备在执行寻址等控制性动 作时 通道暂时断开与该设备的连接 挂起该设备的通道程序 而转去为其他设备提供服务 即执行其他 设备的通道程序 所以 数组多路通道很像一个多道程序的处理器 对于磁盘一类的高速外设 采用数组多路通道 可在其中一个外设占用通道进行数据传送时 让其他 外设进行寻址等辅助操作 使一个设备的数据传送操作与其他设备的寻址操作彼此重叠 实现成组交叉方 式的数据传送 从而使通道具备多路并行工作的能力 充分发挥通道高速信息交换的效能 由于数组多路通道既保留了选择通道高速传送数据的优点 又充分利用控制性操作的时间间隔为其他 设备提供服务 使通道的效率得到充分的发挥 因此 数组多路通道在实际系统中得到较多的应用 字节多路通道和数组多路通道都是多路通道 在一段时间内均能交替执行多个设备的通道程序 使这 些设备同时工作 不同之处在于 数组多路通道允许多个设备同时工作 但只允许一个设备进行传输型操 作 其他设备进行控制型操作 而字节多路通道不仅允许多个设备同时操作 而且也允许它们同时进行传 输型操作 另外 数组多路通道与设备之间进行数据传送的基本单位是数据块 而字节多路通道与设备之 间进行数据传送的基本单位则是字节 7.5 通用I/O接口 7.5.1 RS-232接口 RS-232 接口是一种常用的串行通信接口 它是在 1970 年由美国电子工业协会 EIA 制定的串行通 信标准 其全名是 数据终端设备 DTE 和数据通信设备 DCE 之间串行二进制数据交换接口技术标 准 107

RS-232 接口最初是为了在 DTE 与 DCE 之间进行远程连接而制定的 后来则用于在计算机与其外围设备 或终端之间建立近距离的连接 由于这个接口在诸如信号功能 电器特性和机械特性上都进行了明确细致的 规定 加上通信接口与设备制造厂商生产的通信设备均与 RS-232 兼容 因此 RS-232 接口在计算机系统 中成为一种用来实现与打印机 CRT 终端 键盘 调制解调器等外围设备进行异步串行数据通信的标准硬件 接口 1. RS-232 的系统结构 RS-232 标准规定采用一个 25 针的 DB-25 连接器 并对连接器的每个引脚的信号内容以及各种信号的 电平进行了规定 后来 IBM PC 机将 RS-232 简化成了 DB-9 连接器 某些设备与 PC 机连接的 RS-232 接口 由于不使用传送控制信号 因此只需要三根信号线就可以实现双向通信 即 发送数据 TXD 接收数 据 RXD 和 信号地 GND RS-232 传输线采用屏蔽双绞线 2. RS-232 的技术指标 1) 传送速率 RS-232 接口支持的最大波特率为 20000bps 一般而言 接收和发送的波特率不一定要完全相同 然而 在大部分比较简单的系统中 往往把它们设置为相同的值 2 传送距离 RS-232 标准规定 在码元畸变小于 4%的情况下 传输电缆长度应为 50 英尺 其实这个 4%的码元畸变 是很保守的 在实际应用中 约有 99%的用户是按码元畸变 10-20%的范围工作的 所以 实际使用中最大 距离会远超过 50 英尺 经过许多年来 RS-232 接口器件以及通信技术的改进 RS-232 接口的通信距离已经大大增加 波士电子 的 RS-232 增强器可以将普通的 RS-232 接口的通信距离延长到 1000 米 然而 不同的波特率其最大传送距 离的差别也很大 美国 DEC 公司规定允许码元畸变为 10%而得出的实验结果显示 当波特率为 110bps 时 其最大传送距离为 1500 米 当波特率为 9600bps 时 其最大传送距离缩短为 75 米 7.5.2 IDE接口 IDE 接口是一种用于在 PC 机中连接硬盘驱动器的接口 其英文全称为 Integrated Drive Electronics 即 电子集成驱动器 其本意是指把 硬盘控制器 与 盘体 集成在一起的硬盘驱 动器 代表着硬盘的一种类型 IDE 接口技术一直在不断发展 其性能也在不断的提高 拥有价格低廉 兼 容性强的特点 近几年来 随着硬盘接口技术的发展 IDE 接口已经慢慢趋于淘汰 而其后发展分支出的 硬盘接口 如 ATA Ultra ATA DMA Ultra DMA 等 也都属于 IDE 硬盘 1. IDE 的系统结构 IDE 接口硬盘的控制电路集成在硬盘上 与 IDE 驱动器通信所需的软件程序则存储在 PC 机主板的 BIOS 芯片中 IDE 接口用一个 40 针电缆连接硬盘与主板 电源由另外的电缆提供 其中包括 3 个寻址的 信号线引脚 16 个传输数据的双向数据线引脚 以及其他用于控制信号 驱动信号和状态表示等的引脚 2. IDE 模式的发展 随着技术的发展 计算机产品对数据传输速度的要求日益提高 IDE 硬盘接口的数据传输模式也经历 了三次技术变化 由最初的 PIO 模式 到 DMA 模式 直到 Ultra DMA 模式 1 PIO 模式 PIO Programming Input/Output Model 模式是一种通过 CPU 执行 I/O 端口指令来进行数据读写的交 换模式 作为最早的硬盘数据传输模式 其数据传输速率低下 CPU 占用率很高 大量传输数据时会因为 占用过多的 CPU 资源而导致系统停顿 无法进行其他的操作 PIO 数据传输模式又分为 PIO mode 0 PIO m ode 1 PIO mode 2 PIO mode 3 PIO mode 4 等几种模式 数据传输速率从 3.3MB/s 到 16.6MB/s 不等 受限于 传输速率低下和极高的 CPU 占用率 这种数据传输模式很快就被淘汰了 2 DMA 模式 DMA 是一种不经过 CPU 而直接从主存存取数据的数据交换模式 PIO 模式下硬盘和主存之间的数据 传输是由 CPU 来控制的 而在 DMA 模式下 CPU 只须向 DMA 控制器下达指令 让 DMA 控制器来处理 108

数据的传送 数据传送完毕再把信息反馈给 CPU 这样就在很大程度上降低了 CPU 资源占用率 DMA 模 式与 PIO 模式的区别在于 DMA 模式不过分依赖 CPU 可以大大节省系统资源 二者在传输速度上的差 异并不十分明显 DMA 模式可以分为 Single-Word DMA 单字 DMA 和 Multi-Word DMA 多字 DMA 两种 但其所能达到的最大传输速率只有 16.6MB/s 3 Ultra DMA 模式 Ultra DMA Ultra DMA 一般简写为 UDMA 的含义是高级直接主存访问 UDMA 模式以 16-bit MultiWord DMA 16 位多字 DMA 模式为基准 可以理解为 DMA 模式的增强版本 它在包含 DMA 模式优点的基础 上 又增加了 CRC Cyclic Redundancy Check 循环冗余码校验 技术 以提高数据传输过程的准确性 安全性 在以往的硬盘数据传输模式下 一个时钟周期只传输一次数据 而在 UDMA 模式中逐渐应用了 Double Data Rate 双倍数据传输 技术 因此数据传输速度有了很大的提高 此技术就是在时钟的上升 期和下降期各进行一次数据传输 可以使数据传输速度成倍增长 在 UDMA 模式发展到 UDMA 133 之后 受限于 IDE 接口的技术规范 无论是连接器 连接电缆 信号协议 都显现出了很大的技术瓶颈 而且所支持的最高数据传输率也很有限 同时 随着 IDE 接口传输率的提高 也就是工作频率的提高 IDE 接口的交叉干扰 地线增多 信号混乱等缺陷也给其发展带来了很大的制 约 最终被新一代的 SATA 接口所取代 7.5.3 SATA接口 SATA Serial ATA 串行 ATA 是一种连接存储设备 大多为硬盘 的串行接口 用于取代传统的并 行 ATA 接口 2001 年 由 Intel APT Dell IBM 希捷 迈拓这几大厂商组成的 SATA 委员会正式确立了 SATA 1.0 规范 2002 年又确立了 SATA 2.0 规范 SATA 接口使用嵌入式时钟信号 具备了更强的纠错能力 与以 往相比 其最大的改进在于能对传输指令 不仅仅是数据 进行检查 并且在发现错误后可以自动矫正 这在很大程度上提高了数据传输的可靠性 SATA 接口还具有结构简单 支持热插拔等优点 1. SATA 的物理结构 SATA 的物理设计 是以 Fibre Channel 光纤通道 作为蓝本的 所以采用了四芯电缆 同时 所需的 电压也从传统的 ATA 接口的 5V 大幅减低至 250mV 最高 500mV 由此可以给 SATA 硬盘附加上热插拔 Hot Swapping 等高级功能 更重要的是 在连接形式上 除了传统的点对点 Point-to-Point 形式之外 SATA 还支持星型连接 这样就为 RAID 等高级应用提供了设计上的便利 在实际使用中 SATA 的主机总 线适配器 Host Bus Adapter HBA 就好像网络交换机一样 可以以通道形式与每个硬盘单独通信 即 每个 SATA 硬盘都可独占一个传输通道 所以不存在像 ATA 那样的主/从控制问题 SATA 以连续串行的方式传送数据 一次只传送 1 位数据 这样能够减少 SATA 接口的针脚数目 使 连接电缆数目变少 效率也会更高 实际上 SATA 仅用四个针脚就能完成所有的工作 他们分别用于连接 电缆 连接地线 发送数据和接收数据 同时 这样的架构还能降低系统的复杂性和能耗 2. SATA 的特点 SATA 规范不仅立足于未来 而且还保留了多种向后兼容方式 在使用上不存在兼容性的问题 在硬件 方面 SATA 标准允许使用转换器提供与 ATA 设备的兼容性 转换器能把来自主板的 ATA 信号转换成 SATA 硬盘使用的串行信号 这在某种程度上保护了计算机用户的原有投资 降低了升级成本 在软件方 面 SATA 和 ATA 保持了软件兼容性 这意味着厂商不必为了使用 SATA 而重写任何驱动程序和系统代码 另外 SATA 接线较传统的 ATA 接线简单得多 而且容易收放 能够明显改善机箱内的气流及散热 而且 与始终被困在机箱之内的 ATA 不同 SATA 硬盘的扩充性很强 可以置于机箱之外 外置式机柜不 但可以提供更好的散热及插拔功能 也可以用多重连接来防止单点故障 由于 SATA 与光纤通道的设计如 出一辙 所以其传输速度可以用独立通道的形式得到保证 这在服务器和网络存储上具有重要的意义 与 ATA 相比 SATA 的起点更高 发展潜力更大 SATA 1.0 定义的数据传输率可达 150MB/s 这比 ATA 所能达到的 133MB/s 的最高数据传输率还要高 而 SATA 2.0 的数据传输率则达到 300MB/s 最终 SATA 将实现 600MB/s 的最高数据传输率 109

7.5.4 USB接口 USB Universal Serial Bus 通用串行总线 接口是近几年推出的一种全新的外部设备接口 它是 由 Compaq DEC IBM Intel Microsoft NEC 等公司为简化 PC 与外设之间的互连而共同研究开发的一种标准 化接口 支持各种 PC 与外设之间的连接 还可实现数字多媒体集成 USB 接口的主要特点是即插即用 允许热插拔 USB 连接器将各种各样的外设 I/O 端口合而为一 使之 可以热插拔 并具有自动配置能力 用户只要简单地将外设插入到 USB 连接器上 PC 机就能自动识别和配 置 USB 设备 除此之外 USB 接口的其他优点 如带宽更大 增加外设时无需添加接口卡 多个 USB 集线器可 互传数据等 也使得 PC 机可以用全新的方式控制外设 随着时间的推移 USB 已成为 PC 机的标准配置 基于 USB 的外设也逐渐增多 包括调制解调器 键盘 鼠标 光驱 游戏手柄 软驱 扫描仪等 近年来 USB 总线标准由 1.1 版升级到了 2.0 版 传输率由 12Mbps 增加到了 480Mbps 连接距离也由 原来的 5 米增加到近百米 USB 设计者尽其所能地在 USB 接口上体现出未来计算机对接口的需求标准 易用性 稳定性 兼容性 扩 展性 完备性 网络性和低耗性 1. USB 的系统结构 USB 总线结构简单 信号定义仅由 2 条电源线和 2 条信号线组成 从硬件结构来说 USB 系统采用级联星型拓扑 该拓扑由三个基本部分组成 主机 Host 集线器 Hub 和功能设备 ⑴主机 也称为根 根结点或根 Hub 做在计算机主板上或作为适配卡安装在计算机上 主机包含有主 控制器和根集线器 Root Hub 控制 USB 总线上数据和控制信息的流动 每个 USB 系统只能有一个根集 线器 它连接在主控制器上 ⑵集线器是 USB 结构中的特定部分 它提供端口 Port 以便将设备连接到 USB 接口上 同时检测 连接在总线上的设备 并为这些设备提供电源管理 负责总线的故障检测和恢复 ⑶功能设备通过端口与总线连接 从软件结构来说 每个 USB 只有一个主机 它包括以下几层 ⑴ USB 总线接口 USB 总线接口处理电气层与协议层的互连 ⑵ USB 系统 USB 系统用主控制器管理主机与 USB 设备间的数据传输 它与主控制器间的接口依赖于 主控制器的硬件定义 同时 USB 系统也负责管理 USB 资源 例如带宽和总线能量 这使得客户访问 USB 成 为可能 ⑶ USB 客户软件 位于软件结构的最高层 负责处理特定 USB 设备驱动器 客户程序层描述所有直接 作用于设备的软件入口 当设备被系统检测到后 这些客户程序将直接作用于外围硬件 2. 数据传输模式 主控制器负责主机与 USB 设备间数据流的传输 这些传输数据被当作连续的比特流 每个设备提供了 一个或多个可以与客户程序通信的接口 每个接口由 0 个或多个管道组成 它们分别独立地在客户程序与 设备的特定终端间传输数据 通用串行总线驱动程序 USBD 为主机软件的现实需求建立了接口和管道 当提出配置请求时 主控制器根据主机软件提供的参数提供服务 USB 支持四种基本的数据传输模式 控制传输 等时传输 中断传输 数据块传输 每种传输模式应用到 同名终端 则具有不同的性质 ⑴控制传输类型 支持外设与主机之间的控制 状态 配置等信息的传输 为外设与主机之间提供一个 控制通道 每种外设都支持控制传输类型 这样主机与外设之间就可以传送配置和命令/状态信息 ⑵等时 Isochronous 传输类型 支持有周期性 有限的时延和带宽 且数据传输速率不变的外设与 主机间的数据传输 该类型无差错校验 故不能保证正确的数据传输 支持诸如计算机 电话集成系统 CTI 音频系统与主机的数据传输 110

⑶中断传输类型 支持诸如游戏手柄 鼠标 键盘等输入设备 这些设备与主机间的数据传输量小 无 周期性 但对响应时间敏感 要求马上响应 ⑷数据块 Bulk 传输类型 支持打印机 扫描仪 数码相机等外设 这些外设与主机间的数据传输量 大 USB 在满足带宽的情况下才进行该类型的数据传输 USB 为计算机外设输入输出提供了新的接口标准 它使设备具有热插拔 即插即用 自动配置的能力 使设备连接标准化 USB 的级联星型拓扑结构大大扩充了外设数量 使增加 使用外设更加便捷 快速 而 USB2.0 标准更是将数据传输速率提高到了一个新的高度 使之拥有美好的应用前景 7.5.5 SCSI接口 SCSI 接口是小型计算机系统接口 Small Computer System Interface 的简称 是一种并行 I/O 标 准接口 其设计思想来源于 IBM 大型机系统的 I/O 通道结构 目的是使 CPU 摆脱对各种设备的繁杂控制 它 是一个高速智能接口 可以混接各种磁盘 光盘 磁带机 打印机 扫描仪 条码阅读器以及通信设备 它由 SCSI 控制器 又称为主机适配器 进行数据操作 SCSI 控制器相当于一块小型的 CPU 有自己的命令集和 缓存 SCSI 接口具有应用范围广 多任务 带宽大 CPU 占用率低 热插拔等优点 主要应用于中 高端服务器 和高档工作站中 SCSI 系统可以只有一个主机 一个主机适配器和一个外设控制器 也可以有多个主机以及多个主机适 配器和外设控制器 主机适配器和外设控制器统称为 SCSI 设备 SCSI 规定 系统至多可以有的 SCSI 设备 的数目 是 SCSI 数据总线的位数 如采用 32 位数据总线 则至多可以有 32 个 SCSI 设备 其中有一个是 主机适配器 每个外设控制器可以带一个或多个设备 每台 SCSI 设备都有自己的识别 ID 每台外设也都有自己的识 别号 主机和主机适配器之间是系统总线 主机适配器和外设控制器之间是 SCSI 总线 外设控制器和外设 之间是设备总线 这样的系统构成使总线并不直接与外设接口 不需要按照具体外设的物理性能给予特别 的处理 而是用一组通用的高级命令通过外设控制器去控制各种设备 从而使得 SCSI 总线具有很好的通 用性 SCSI 设备以菊花链连接成一个系统 使用 50 针 A 电缆和可选的 68 针 B 电缆 单端方式和差分方式在 一个系统中不能同时存在 SCSI 是一种不断前进的技术 为了提高数据传输率 改善接口的兼容性 20 世纪 90 年代又陆续推出 了 SCSI-2 和 SCSI-3 标准 除此之外 串行 SCSI 也由并行 SCSI 接口演化而来 数据传输率最高可达到 600MB/s 7.5.6 IEEE-1394接口 IEEE-1394 是 IEEE 制定的一项具有视频数据传输速度的串行接口标准 支持外接设备热插拔 同时可 为外设提供电源 省去了外设自带的电源 支持同步数据传输 IEEE-1394 接口的速度很快 而且相对于 SCSI 来讲又要小巧许多 所以逐渐被人们所接受 并日益普及 1. IEEE-1394 的性能特点 与 SCSI 等并行接口相比 IEEE-1394 串行接口具有如下三个显著特点 ⑴数据传送的高速性 IEEE-1394 标准定义了三种传输速率 100Mbps 200Mbps 和 400Mbps 这个速 度完全可以用来传输未经压缩的动态画面信号 ⑵数据传送的实时性 保证多媒体数据的实时传送 避免出现图像和声音时断时续的现象 ⑶体积小易安装 连接方便 使用 6 针电缆 插座体积小 具有 热插拔 能力 即使在全速工作时 也可以插入或拆除设备 2 IEEE-1394 的结构配置 IEEE-1394 采用菊花链式配置 也允许采用树型结构配置 不过仍是以线性连接菊花链组成树型结构 的各种线性分支 IEEE-1394 接口也需要一个主适配器和系统总线相连 通常将主适配器及其端口称为主 端口 主端口是 IEEE-1394 接口树型配置结构的根节点 一个主端口最多可连接 63 台设备 这些设备称为 节点 两个相邻节点之间的线缆最长为 4.5 米 两个节点之间进行通信时中间最多可经越 15 个节点的转接 111

再驱动 因此通信的最大距离是 72 米 线缆不需要终端器 IEEE-1394 标准接口结构的所有资源都是统一 存储编址 并用存储变换方式识别 实现资源配置和管理 总之 IEEE-1394 是一种高速串行 I/O 标准接口 各被连接装置的关系是平等的 不用 PC 介入也能自 成系统 IEEE-1394 已经在多媒体领域被广泛接受 112