第四单元 输入 /输出系统和设备
刘卫东
liuwd@tsinghua.edu.cn
教学内容安排
? 第一讲 输入 /输出系统概述和输入 /输出方
式
? 第二讲 总线
? 第三讲 接口电路
? 第四讲 输入设备和输出设备
? 第五讲 本单元小结及考试说明
第一讲 输入 /输出系统概述和
输入 /输出方式
2003年 12月
主要教学内容
? 输入输出系统的作用、功能及与其他系统的关系
? 输入 /输出系统组成
? 要解决的问题
? 输入 /输出方式
– 程序直接控制
– 中断
– DMA
– 通道
– 外围处理机
计算机组成
? Datapath,完成算术和逻辑
运算,通常包括其中的寄
存器。
? Control,CPU的组成部分,
它根据程序指令来指挥
datapath,memory以及
I/O运行,共同完成程序功
能。
? Memory,存放运行时程序
及其所需要的数据的场所。
? Input,信息进入计算机的
设备,如键盘、鼠标等。
? Output,将计算结果展示给
用户的设备,如显示器、
磁盘、打印机、喇叭等。
Computer
Memory
Input
Output
Datapath
Control
个人计算机的组成
作用和功能
? 与计算机外部交换信息的通道
– 早期
? 穿孔机、纸带
– 中期
? 键盘、显示器、鼠标
– 现在
? 语音、图象、图形等多媒体数据(扫描仪,DC)
– 将来
? 无所不在的计算、普适计算
I/O 设备
? 繁多的输入 /输出设备
— 功能多样
—可扩展
—服务对象不同
—数据传输率差别很大
De vi ce Be hav ior P ar tner Da ta r ate (KB /s ec )
K ey bo ard i np ut hu m an 0,01
M ou s e i np ut hu m an 0,02
V oi c e i np ut i np ut hu m an 0,02
S c an ne r i np ut hu m an 40 0,00
V oi c e ou tp ut ou tp ut hu m an 0,60
Li ne p ri nt er ou tp ut hu m an 1,00
La s er p ri nt er ou tp ut hu m an 20 0,00
Graph i c s d i s pl ay ou tp ut hu m an 60,0 00,0 0
M od em i np ut o r ou tp ut m ac hi ne 2,00 -8.0 0
Ne tw ork /L A N i np ut o r ou tp ut m ac hi ne 50 0,00 -60 00,0 0
Fl op py d i s k s to rag e m ac hi ne 10 0,00
Opti c al d i s k s to rag e m ac hi ne 10 00,0 0
M ag ne ti c ta pe s to rag e m ac hi ne 20 00,0 0
M ag ne ti c d i s k s to rag e m ac hi ne 20 00,0 0-1 0,00 0,00
要解决的问题
? 控制方式
– CPU如何控制输入 /输出?(输入 /输出方式)
? 传输方式
– 使用传输通道、方式、速率等(总线、接口)
? 数据识别和转换
– 数 /模转换、语音识别等,转换为字符、数据等
计算机能识别的格式(设备)
控制方式
? 程序直接控制(轮询)
– CPU直接使用输入 /输出指令来控制外部设备
? 程序中断
– 外部设备请求,CPU响应,CPU与外设并行工
作
? 直接存储访问( DMA)
– 专用输入 /输出控制器
? 通道
? 外围处理机
程序直接控制
A 2000
2000,MVRD R2,000A
MVRD R0,0030
2004,OUT 80
DEC R2
JRZ 200E
PUSH R0
2008,IN 81
SHR R0
JRNC 2008
POP R0
INC R0
JR 2004
200E,RET
CPU方:
往接口送出要
输出的字符
查询接口状态
(循环等待)
直到外设已经
输出该字符
输出下一个字
符
外设方:
接收接口
中的字符
往外设中
输出字符
处理完后,
置状态寄
存器
接收下一
个字符
程序中断方式应用
? CPU与外部设备并行工作
? 硬件故障处理
? 人机交互
? 多道程序和分时操作
? 实时处理(监控)
? 应用程序和操作系统之间的联系
? 多处理机中各处理机之间联系
中断处理过程
关
中
断
保
存
断
点
判
中
断
源,
转
中
断
服
务
开
中
断
执
行
中
断
服
务
程
序
关
中
断
恢
复
断
点
开
中
断
返
回
断
点
中断组成
? 中断寄存器
? 中断屏蔽寄存器
? 优先级排队线路
? 数据缓冲寄存器
? 中断控制和工作状态逻辑
? 设备选择器
? 中断向量表
8259A中断控制器
直接存储访问( DMA)
? I/O设备和主存储器之间的直接数据通路,
为专设的硬件,用于高速 I/O设备和主存储
器之间成组传送数据。
? 数据传输过程由 DMA自行控制
? 主存储器需要支持成组传送
? 数据传送开始前和结束后通过程序或中断
方式对 DMA进行预处理和后处理
? DMA工作方式
DMA控制器组成
C P U 主 存
A D R
D B R
W C
D M A
控 制 逻 辑
中 断 逻 辑
I / O 设 备
C S R
M A R
总 线
请 求响 应
DMA数据传送过程
将 内 存 起 始 地 址,
设 备 地 址, 数 据 传
送 个 数 送 D M A,
然 后 启 动 设 备
继 续 执 行 主 程 序,
同 时 完 成 一 批 数 据
传 送
中 断 服 务 程 序 进 行
D M A 结 束 处 理
C P U 预 处 理
数 据 传 送
后 处 理
允 许 传 送?
主 存 地 址 送 总 线 ; 数 据
送 I / O 设 备 ( 主 存 ) ;
主 存 地 址 增 1 ;
W C 内 容 减 1 。
数 据 块 传 送
结 束?
Y
N
N
Y
向 C P U 申 请 程 序 中 断
D M A 请 求
DMA方式的问题
? 虚拟地址和实地址
– DMA采用实地址:虚拟地址连续,但实地址不连续
– 采用虚拟地址,DMA进行虚实地址转换
? Cache一致性
– 主存中的数据可能不是最新的
– 采用直接写会带来性能的降低
– DMA查询 Cache,降低性能
– 由操作系统安排回写
– 直接设计硬件控制
通道控制方式
? I/O通道是计算机系统中代替 CPU管理控制外设的独立部
件,是一种能执行有限 I/O指令集合 ——通道命令的 I/O处
理机。
? 一对多的连接关系
? 适应不同速度、不同种类的外部设备,可并行工作
通道的功能
? 根据 CPU要求选择某一指定外设与系统相
连,向该外设发出操作命令,进行初始化
? 指出外设读 /写信息的位置以及与外设交换
信息的主存缓冲区地址
? 控制外设与主存之间的数据交换
? 指定数据传送结束时的操作内容,检查外
设的状态
通道类型
? 字节多路通道
– 简单的共享通道,分时处理,面向低、中速字
符设备
? 选择通道
– 选择一台外设独占整个通道,以成组传送方式
传送数据块,效率高,适合快速设备
? 数组多路通道
– 上两种方式的结合,效率高,控制复杂
外围处理机
? 单独的计算机,应用于大型高效率的计算
机系统中
设计输入 /输出系统
? 性能
– 考虑吞吐量和延迟
– 适应各种不同类别的设备的性能的差异
– 从操作系统、驱动程序等各方面综合考虑
– 考虑到设备性能的提高
? 可扩展性
– 允许更多的设备接入到输入 /输出系统
? 可适应性
– 设备有无
– 设备故障
输入 /输出系统
? 输入 /输出设备多,功能复杂,速度不一
? 多种控制方式,解决速度不一的问题,尽
量少地占用 CPU资源
? 操作系统管理
? 硬件直接支持
? 与不同的设备有直接的依赖关系(驱动程
序)
? 尽量使设备使用统一的标准 ——虚拟设备
( e.g,X-Windows)
刘卫东
liuwd@tsinghua.edu.cn
教学内容安排
? 第一讲 输入 /输出系统概述和输入 /输出方
式
? 第二讲 总线
? 第三讲 接口电路
? 第四讲 输入设备和输出设备
? 第五讲 本单元小结及考试说明
第一讲 输入 /输出系统概述和
输入 /输出方式
2003年 12月
主要教学内容
? 输入输出系统的作用、功能及与其他系统的关系
? 输入 /输出系统组成
? 要解决的问题
? 输入 /输出方式
– 程序直接控制
– 中断
– DMA
– 通道
– 外围处理机
计算机组成
? Datapath,完成算术和逻辑
运算,通常包括其中的寄
存器。
? Control,CPU的组成部分,
它根据程序指令来指挥
datapath,memory以及
I/O运行,共同完成程序功
能。
? Memory,存放运行时程序
及其所需要的数据的场所。
? Input,信息进入计算机的
设备,如键盘、鼠标等。
? Output,将计算结果展示给
用户的设备,如显示器、
磁盘、打印机、喇叭等。
Computer
Memory
Input
Output
Datapath
Control
个人计算机的组成
作用和功能
? 与计算机外部交换信息的通道
– 早期
? 穿孔机、纸带
– 中期
? 键盘、显示器、鼠标
– 现在
? 语音、图象、图形等多媒体数据(扫描仪,DC)
– 将来
? 无所不在的计算、普适计算
I/O 设备
? 繁多的输入 /输出设备
— 功能多样
—可扩展
—服务对象不同
—数据传输率差别很大
De vi ce Be hav ior P ar tner Da ta r ate (KB /s ec )
K ey bo ard i np ut hu m an 0,01
M ou s e i np ut hu m an 0,02
V oi c e i np ut i np ut hu m an 0,02
S c an ne r i np ut hu m an 40 0,00
V oi c e ou tp ut ou tp ut hu m an 0,60
Li ne p ri nt er ou tp ut hu m an 1,00
La s er p ri nt er ou tp ut hu m an 20 0,00
Graph i c s d i s pl ay ou tp ut hu m an 60,0 00,0 0
M od em i np ut o r ou tp ut m ac hi ne 2,00 -8.0 0
Ne tw ork /L A N i np ut o r ou tp ut m ac hi ne 50 0,00 -60 00,0 0
Fl op py d i s k s to rag e m ac hi ne 10 0,00
Opti c al d i s k s to rag e m ac hi ne 10 00,0 0
M ag ne ti c ta pe s to rag e m ac hi ne 20 00,0 0
M ag ne ti c d i s k s to rag e m ac hi ne 20 00,0 0-1 0,00 0,00
要解决的问题
? 控制方式
– CPU如何控制输入 /输出?(输入 /输出方式)
? 传输方式
– 使用传输通道、方式、速率等(总线、接口)
? 数据识别和转换
– 数 /模转换、语音识别等,转换为字符、数据等
计算机能识别的格式(设备)
控制方式
? 程序直接控制(轮询)
– CPU直接使用输入 /输出指令来控制外部设备
? 程序中断
– 外部设备请求,CPU响应,CPU与外设并行工
作
? 直接存储访问( DMA)
– 专用输入 /输出控制器
? 通道
? 外围处理机
程序直接控制
A 2000
2000,MVRD R2,000A
MVRD R0,0030
2004,OUT 80
DEC R2
JRZ 200E
PUSH R0
2008,IN 81
SHR R0
JRNC 2008
POP R0
INC R0
JR 2004
200E,RET
CPU方:
往接口送出要
输出的字符
查询接口状态
(循环等待)
直到外设已经
输出该字符
输出下一个字
符
外设方:
接收接口
中的字符
往外设中
输出字符
处理完后,
置状态寄
存器
接收下一
个字符
程序中断方式应用
? CPU与外部设备并行工作
? 硬件故障处理
? 人机交互
? 多道程序和分时操作
? 实时处理(监控)
? 应用程序和操作系统之间的联系
? 多处理机中各处理机之间联系
中断处理过程
关
中
断
保
存
断
点
判
中
断
源,
转
中
断
服
务
开
中
断
执
行
中
断
服
务
程
序
关
中
断
恢
复
断
点
开
中
断
返
回
断
点
中断组成
? 中断寄存器
? 中断屏蔽寄存器
? 优先级排队线路
? 数据缓冲寄存器
? 中断控制和工作状态逻辑
? 设备选择器
? 中断向量表
8259A中断控制器
直接存储访问( DMA)
? I/O设备和主存储器之间的直接数据通路,
为专设的硬件,用于高速 I/O设备和主存储
器之间成组传送数据。
? 数据传输过程由 DMA自行控制
? 主存储器需要支持成组传送
? 数据传送开始前和结束后通过程序或中断
方式对 DMA进行预处理和后处理
? DMA工作方式
DMA控制器组成
C P U 主 存
A D R
D B R
W C
D M A
控 制 逻 辑
中 断 逻 辑
I / O 设 备
C S R
M A R
总 线
请 求响 应
DMA数据传送过程
将 内 存 起 始 地 址,
设 备 地 址, 数 据 传
送 个 数 送 D M A,
然 后 启 动 设 备
继 续 执 行 主 程 序,
同 时 完 成 一 批 数 据
传 送
中 断 服 务 程 序 进 行
D M A 结 束 处 理
C P U 预 处 理
数 据 传 送
后 处 理
允 许 传 送?
主 存 地 址 送 总 线 ; 数 据
送 I / O 设 备 ( 主 存 ) ;
主 存 地 址 增 1 ;
W C 内 容 减 1 。
数 据 块 传 送
结 束?
Y
N
N
Y
向 C P U 申 请 程 序 中 断
D M A 请 求
DMA方式的问题
? 虚拟地址和实地址
– DMA采用实地址:虚拟地址连续,但实地址不连续
– 采用虚拟地址,DMA进行虚实地址转换
? Cache一致性
– 主存中的数据可能不是最新的
– 采用直接写会带来性能的降低
– DMA查询 Cache,降低性能
– 由操作系统安排回写
– 直接设计硬件控制
通道控制方式
? I/O通道是计算机系统中代替 CPU管理控制外设的独立部
件,是一种能执行有限 I/O指令集合 ——通道命令的 I/O处
理机。
? 一对多的连接关系
? 适应不同速度、不同种类的外部设备,可并行工作
通道的功能
? 根据 CPU要求选择某一指定外设与系统相
连,向该外设发出操作命令,进行初始化
? 指出外设读 /写信息的位置以及与外设交换
信息的主存缓冲区地址
? 控制外设与主存之间的数据交换
? 指定数据传送结束时的操作内容,检查外
设的状态
通道类型
? 字节多路通道
– 简单的共享通道,分时处理,面向低、中速字
符设备
? 选择通道
– 选择一台外设独占整个通道,以成组传送方式
传送数据块,效率高,适合快速设备
? 数组多路通道
– 上两种方式的结合,效率高,控制复杂
外围处理机
? 单独的计算机,应用于大型高效率的计算
机系统中
设计输入 /输出系统
? 性能
– 考虑吞吐量和延迟
– 适应各种不同类别的设备的性能的差异
– 从操作系统、驱动程序等各方面综合考虑
– 考虑到设备性能的提高
? 可扩展性
– 允许更多的设备接入到输入 /输出系统
? 可适应性
– 设备有无
– 设备故障
输入 /输出系统
? 输入 /输出设备多,功能复杂,速度不一
? 多种控制方式,解决速度不一的问题,尽
量少地占用 CPU资源
? 操作系统管理
? 硬件直接支持
? 与不同的设备有直接的依赖关系(驱动程
序)
? 尽量使设备使用统一的标准 ——虚拟设备
( e.g,X-Windows)