6.1 概 述
1,输入 /输出系统简称 I/O系统包括:
I/O设备 (如键盘、磁盘、打印机 )
I/O设备与处理机的连接
(1)数据如何传送 (并行或串行,传输速率 )
(2)对外设如何控制 (如程序控制,DMA,I/O
处理机 )
第六章 输入输出系统
2,I/O系统的基本任务:
完成与外部系统的信息交换。
是 Von Neumann结构计算机系统的四大组成部分之一。
3,几个与 I/O有关的问题
(1) 对系统性能的影响
CPU速度再提高,如果无相适应的 I/O系统的话,
将无多大意义。
(2) 不同系统中 I/O的差异不同类型系统 (微机、工作站、大型机、巨型机 )
的 CPU速度差异正在缩小,差异更多来自于 I/O系统。
(3) I/O系统的设计问题与 CPU设计遇到的问题不同成本、性能和容量容量包括:
(1)能和哪些不同类型的 I/O设备相兼容
(2)能带多少个 I/O设备。
例 6.1 假设一台计算机的 I/O处理占 10%,当其
CPU性能改进,而 I/O性能保持不变时,系统总体性能会出现什么变化?
解,假设原来的程序执行时间为 1个 单位时间。
如果 CPU的性能提高 10倍,程序的计算(包含 I/O处理)时间为:
(1 - 10%)/10 + 10% = 0.19
如果 CPU的性能提高 10倍
如果 CPU的性能提高 100倍即整机性能只能提高约 5倍,差不多有 50% 的
CPU性能浪费在 I/O上。
如果 CPU性能提高 100倍,程序的计算时间为:
(1 - 10%)/100 + 10% = 0.109
而整机性能只能提高约 10倍,表示有 90% 的性能浪费在没有改进的 I/O上了。
6.2 存储设备
6.2.1 磁盘设备目前常用的存储设备主要有 磁盘、磁带、光盘 等。
1,磁盘
(1) 磁盘的 盘片,磁道 和 扇区一个磁盘设备通常有:
1? 20 个盘片组成每个盘片表面可分 500? 2500个磁道每个磁道可分几十到几百个扇区盘片磁道扇间空隙扇区一般:
每个盘片有一个磁头负责读写选择盘片由控制电路负责选择磁道由磁头径向移动来实现选择扇区和读取扇区内容依靠盘片旋转来完成一般:
各磁头连在一起,同时移动 ---各盘片的同一磁道可同时读取 ----组成一个 圆柱体 。
每个磁道的扇区数固定 -----每个磁道可容纳的信息量固定 -----信息密度的限制来自于最内磁道。
磁盘上的数据需采用某种游程长度受限码进行编码旋转速度:决定寻找扇区时间和扇区读取时间
3600r/min? 12000r/min
(等角速度和等线速度 )
(2) 磁盘性能公式访问磁盘时间 = 寻道时间 + 旋转时间
+ 传输时间 + 控制器开销
① 寻道时间寻道,磁盘控制器发出命令将磁头移动到包含有所需数据的磁道上的过程。
寻道时间,寻道所需要的时间。
最小寻道时间
最大寻道时间
平均寻道时间 (6ms? 20ms)
注:实际值可能更低,约 20%? 33%
② 旋转时间所需扇区转到磁头之下所需要的时间。
平均值为磁盘旋转半周的时间最慢的磁盘:
TAR=0.5r / 3600rpm = 8.3ms
最快的磁盘:
TAR=0.5r / 10000rpm = 3.0ms
③ 传输时间在磁头下传输一个数据块 (通常是一个扇区 )所需花的时间。
它由以下几个因数决定:
块的大小
旋转速度
磁道记录密度
连接磁盘电子器件的速度数据传输率,与传输时间相对应的重要 I/O参数内部传输率 = 记录的位密度 × 盘面旋转的线速度取决于接口方式 (IDE,EIDE,Ultra-EIDE,SCSI、
Fast and Wide SCSI,FC-AL等 )
④ 控制器时间控制器在执行 I/O访问时的额外开销。
从盘面到缓冲存储器的内部传输率
从缓冲存储器到主机的外部传输率例 6.2 对于目前一般的磁盘而言,读或写一个 512字节的扇区的平均时间是多少?假设此时磁盘空闲,这样没有排队延迟;公布的平均寻道时间是 9ms,传输速度是 4MB/s,转速是 7200rpm,控制器的开销是 1ms。
解:平均磁盘访问时间 = 平均寻道时间 +
平均旋转延迟 + 传输时间 + 控制器开销
1 4,3 m s10,1 2 54,291 m s4,0 M B / s0,5 K B7 2 0 0 R P M0,59 m s
假设实际测得的寻道时间是公布值的 33%,则答案是:
3ms + 4.2ms + 0.125ms + 1ms = 8.325ms
特性 Seagate ST423451 Seagate ST19171 Seagate ST92255
磁盘直径 (英寸 ) 5.25 3.50 2.50
格式化后容量 (MB) 23,200 9,100 2,250
盘面数 28 20 10
MTBF(小时 ) 500,000 1,000,000 300,000
转速 (rpm) 5400 7200 4500
内部传输速度 (Mb/s) 86~124 80~124 可达 60.8
外部接口 快速 SCSI-2(8-16位 ) 快速 SCSI-2(8-16位 ) 快速 ATA
外部传输率 (MB/s) 20~40 20~40 可达 16.6
最小寻道时间 (磁道间 )(ms) 0.9 0.6 4
平均寻道时间 +旋转时间 (ms) 11 9 14
电源 /机箱 (瓦 ) 26 13 2.6
MB/瓦 892 700 865
体积 (立方英寸 ) 322 37 8
MB/立方英寸 72 246 273
(3) 希捷公司三种磁盘的特性参数
⑤ 磁盘成本
◆ 磁盘的成本取决于许多因素:
◆ 降低成本的两种方法:
磁头
磁盘片
磁盘的机械部分
控制电路
电源及电缆
增大单片或者单盘的容量
提高产量
◆ 磁表面记录密度,磁盘记录数据的密度,每平方英寸上的位数 。
磁表面记录密度 (每平方英寸 )
= 表面道密度 (每英寸 )? 道上位密度 (每英寸 )
◆ 磁盘价格的变化
▲ 在 1983年到 1995年之间每个 PC机磁盘的价格的变化
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
年磁盘价格($)
20MB
80MB
210MB
420MB
1050MB
4030MB
▲ PC机磁盘每兆字节价格的变化在 1992年和 1998年之间,PC机磁盘的每兆字节价格降低速率大约是每年 2倍。
0.01
0.1
1
10
100
1000
1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998年每兆字节磁盘价格($)
◆,访问时间差距,问题磁盘的性能价格比高于主存,但访问速度却要低得多,换句话说,性能价格比与速度要求差距太大 。
1.00E+00
1.00E+01
1.00E+02
1.00E+03
1.00E+04
1.00E+05
1.00E
+00
1.00E
+01
1.00E
+02
1.00E
+03
1.00E
+04
1.00E
+05
1.00E
+06
1.00E
+07
1.00E
+08
1.00E
+09
访问时间(ns)
每M
B磁盘价格(
$
)
S R A M 芯片
DRAM板
D R A M 芯片磁盘半导体存储器磁盘访问时间差距
2,半导体盘
(1) 半导体盘是按磁盘访问方式工作的 DRAM阵列。
(2) 半导体盘有两种
◆ 固态盘 (SSDs),由 DRAM阵列 加上一个保持系统存储数据的电池构成。
◆ 扩充存储器 (ES),一个只支持块传送的大容量存储器中的一个区域。
(3) 优点
永久性
速度快
高传送速率
高可靠性
(4) 最大缺点:成本太高,每兆的价格大约是磁盘价格的 50倍。
3,盘阵列 (RAID)
廉价磁盘冗余阵列,简称 盘阵列技术 。
优点:
容量大
速度快
可靠性高
造价低廉
① RAID0
数据分块,即把数据分布在多个盘上。
非冗余阵列、无冗余信息严格地说,它不属于 RAID系列。
② RAID1
亦称镜像盘,使用双备份磁盘。
每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,形成信息的两份复制品。
特点,昂贵、系统可靠性高、效率低 (冗余度太大 )
③ RAID2
位交叉式海明编码阵列。
特点,原理上比较优越,但冗余信息的开销太大。
④ RAID3
位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。
数据以 位或字节交叉的方式 存于各盘,冗余的奇偶校验信息存储在一台专用盘上。
将磁盘分组,读写要访问组中所有盘,每组中有一个盘作为校验盘。
校验盘一般采用 奇偶校验法,当一个磁盘出故障时,可以通过奇偶校验磁盘中的校验和来恢复出错数据。
简单理解为,先将分布在各个数据盘上的一组数据加起来,将和存放在冗余盘上。一旦某一个盘出错,只要将冗余盘上的和减去所有正确盘上的数据,得到的差就是出错的盘上的数据。
缺点,恢复时间较长
⑤ RAID4
专用奇偶校验独立存取盘阵列。
数据以 块 (块大小可变 )交叉 的方式存于各盘,
冗余的奇偶校验信息存在一台专用盘上。
特点,允许独立存取,多个访问请求可同时进行
⑥ RAID5
块交叉分布式奇偶校验盘阵列。
数据以块交叉的方式存于各盘,无专用校验盘,
冗余的奇偶校验信息均匀分布于所有盘。
特点,无瓶颈盘,多个写访问请求可同时进行
RA I D 3 和 RA I D 4
1
5
9
1 3
1 7
2 1
…,.
2
6
10
1 4
1 8
2 2
…,.
3
7
11
1 5
1 9
2 5
…,.
P0
P1
P2
P3
P4
P5
…,.
0
4
8
12
P4
20
…,.
1
5
9
P3
1 6
2 1
…,.
2
6
P2
1 3
1 7
2 2
…,.
3
P1
10
1 4
1 8
2 5
…,.
P0
7
11
15
19
P5
…,.
RA I D 5
0
4
8
12
16
20
…,.
⑦ RAID6
双维奇偶校验独立存取盘阵列。
数据以 块 (块大小可变 )交叉 的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。
每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。
⑧ RAID7
采用 Cache和异步技术的 RAID6,提高响应速度和传输速率 (可达每秒几十兆字节 )。
(1) 各级 RAID的结构特点
RAID级 数据磁盘数可正常工作的最多失效盘数检测磁盘数
0 非冗余 8 0 0
1 镜像 8 1 8
2 存储器式 ECC 8 1 4
3 位交叉奇偶校验 8 1 1
4 块交叉奇偶校验 8 1 1
5 块交叉分布奇偶校验
8 1 1
6 P+Q冗余 8 2 2
7 Cache + 异步 8 2 2
盘阵列技术飞速发展的原因:
(1)应用需求,CPU与单个磁盘的速度差异越来越大。
(2)一些单项技术 (如交叉存取、数据分块、缓冲存储等 )
已比较成熟。
(3)在 PC带动下,小盘驱动器得到了更高速发展。
(4)微电子技术的发展,使得支持盘阵列的大规模芯片成为可能。
(2) 实现盘阵列的三种方式
◆ 软件方式由主机实现阵列管理软件。
优点,成本低缺点,
◆ 阵列卡方式把 RAID管理软件固化在 I/O控制卡上,从而可不占用主机时间。
过多地占用主机时间
带宽指标上不去
◆ 子系统方式一种基于通用接口总线的开放式平台,可用于各种主机平台和网络系统。
(3) 目前 RAID研究的几个热点问题
新型阵列体系结构;
RAID结构设计与其所记录文件特性的关系;
在 RAID冗余设计中,综合平衡性能、可靠性和开销的问题;
超大型盘阵列在物理上如何构造和连结的问题等。
6.2.2 磁带设备
1,磁带
(1) 磁盘和磁带性能价格比的差异 主要取决于它们的机械构成。
◆ 磁盘盘片具有有限的存储面积,并且存储介质被封装在每个读部件内,提供 ms级的随机访问;
◆ 磁带绕在可转动轴上,一个读部件可以使用多盘磁带 (没有长度限制 ),但磁带需要顺序访问,每次访问都可能需要较长的反绕、退出和加载时间,等待时间较长 (数秒 )。
(2) 优点:
(3) 缺点:
容量极大
技术成熟
单位价格低廉
访问时间较长
不能随机访问
易磨损
2,自动磁带库
(1) 通过机械手自动地安装和更换磁带,相当于又提供了一个新的存储器层次。
(2) 通过加大规模,降低成本 (单位价格 )。
(3) 磁带容量与 GB价格的关系
0
20
40
60
80
100
120
140
160
180
1 10 100 1000 10000容量( G B )
每G
B
磁带价格(
$
)
6.2.3 光盘设备光盘是通过激光来读写的,主要有:
1,光盘
(1) 只读类光盘,光学紧密盘,简称 CD-ROM。
优点:
容量大
成本低
便于保管、便于携带
存储寿命长 (数据可稳定保存 20年 )
只读类 (如 CD-ROM,DVD-ROM等 )
可写类 (如 CD-R,MO等 )
缺点,不能够写入
(2) 可写类光盘
◆ 一次性写的光盘:称为可记录光盘 CD-R,
又称为 WORM盘。
◆ 多次写光盘:又称为 WMRM盘,主要采用磁光 (MO)存储技术。
2,盘库、光盘塔和光盘阵列将多台光盘机组合在一起有三种结构:
光盘库 (也叫自动换盘机,即 Jukebox)
光盘塔 (CD-ROM Tower)
光盘阵列 (CD-ROM Array)
(1) 光盘库光盘库是一种能自动把机框中存放的许多片光盘选出并装入光盘机进行读写的设备。
优点:
费用低
可兼容性及低风险
随机存取
耐用性
多媒体功能
(2) 光盘塔光盘塔实际上是多个 CD-ROM放在一起,再加上相应的控制器和网络连接设备,构成一个网络存储设备。
许多光盘机通过标准接口 (如 SCSI)电缆连接起来,一根典型的 SCSI接口电缆可以连接 7台 光盘机,用软件控制读写其中某一台。
优点,寿命长、结构简单、造价低;
读取光盘速度快。
缺点,容量较小。
(3) 光盘阵列光盘阵列技术的特殊性:
① 光盘具有盘片可换的问题
(可换光盘的有序管理问题)
② 光盘的寻道和旋转等待时间比磁盘长,而且每道只有一个读写头,因此在大量数据连续读写时,
寻道的次数要比磁盘多。
③ 实现光盘阵列快速响应的 关键技术 之一较大的缓存和优化的调度策略。
光盘机及其所装的盘片可能有对应关系问题
在线工作盘片和离线备用盘片在内容上可能有逻辑联系问题优点,低成本、多样性、灵活性缺点,必须独占使用,造成了设备信息交换的瓶颈,从而限制了系统中总的 I/O吞吐量。
6.1.1 总线分类
1,按用途分类
(1) CPU-存储器总线
CPU-存储器总线比较短,具有较高的速度,
并且要和存储器系统的速度匹配来优化带宽。
6.3 总 线
(2) I/O总线
I/O总线比较长,并且还应遵循总线标准。
2,按设备定时方式分类
(1) 同步总线同步总线上所有设备通过统一的总线系统时钟进行同步。
优点,成本低,因为它不需要设备之间互相确定时序的逻辑。
缺点,总线操作必须以相同的速度运行。
(2) 异步总线异步总线上的设备之间没有统一的系统时钟,设备自己内部定时。
6.3.2 总线基本工作原理三个常用的参数:
Tp:总线信号传输延迟。即在总线上的每个设备都取到和识别一个信号需要的最大时间。
Tsk:响应其它设备的最大时间。
Top:设备的操作时间。
1,总线结构设备 设备 设备 设备数据、地址和控制信号时钟主设备 (Master),产生地址、控制信号的设备;
从设备 (Slave),响应主设备的设备。
2,单同步总线时序总线的周期必须大 Tp和 2Tsk的和。
DATA 有效 有效
Tp
CLKin
> Tsk > Tsk 采样锁存
3,异步总线的时序数据 有效 有效请求
T
p
T
p
+T
op
T
p
应答
6.3.3 总线使用总线的 任务 就是进行信息交换,主要包括 读和写操作 。
1,同步总线的数据传送过程时钟地址数据读等待
2,总线的主要可选特性选择 高性能 低价格总线宽度 独立的地址和数据总线 分时复用数据和地址总线数据总线宽度 越宽越快 (64/128位 ) 越窄越便宜传输块大小 块越大总线开销越小 每次传送单字总线主设备 多个 (需要仲裁 ) 单个 (无需仲裁 )
分离处理 采用 不用定时方式 同步 异步
3,分离处理技术在有多个主设备时,总线通过 数据打包 来提高总线带宽,而不必在整个传输过程中都占有总线。
地址 地址 1 地址 2 地址 3
数据 数据 0 数据 1
等待 等待 1 完成 1
4,异步总线上主设备执行 写操作地址 主设备输出地址 下一个地址数据 主设备输出数据读 /写请求认可
t0 t1 t2 t3 t4
6.3.4 总线标准和实例
1,PCI(Peripheral Component Interconnect)
即 外围器件互连,是一种为 CPU和外设之间提供高性能数据通道的总线。
特点:?
数据线和地址线采用多路复用结构,减少了引脚数;
基本传输方式为猝发传送;
PCI总线定义了两种电信号标准环境,5V和 3.3V;
总线信号与处理器无关,可以支持多系列的处理器;
透明的 32/64位总线,允许 32位和 64位总线设备相互操作;
PCI支持总线扩展和设备的自动配置。
2,USB( Universal Serial Bus)
◆ 通用串行总线端口
◆ 试图取代串口、并口和 PS/2的连接。
◆ 提供这种端口的 目的提供设备快速的热插拔和即插即用的能力。
3,FireWire
◆ 适用于磁盘和视频图像系统等高速设备。
◆ 可以实现即插即用,具有更高的数据传输速率。
(高达 100Mbps~ 200Mbps,USB为 12Mbps)
S总线 PCI IPI SCSI-2
数据宽度 32位 32或 64位 16位 8到 16位时钟频率 16到
25MHz
33MHz 异步 10MHz
或异步总线的主设备数多个 多个 一个 多个读 32位的带宽
33 MB/s 33MB/s 25MB/s 20MB/s
或 6MB/s
峰值带宽 89 MB/s 111MB/s 25MB/s 20MB/s
或 6MB/s
标准 无 2.0 ANSI
X3.129
ANSI X3.131
几种常用总线
HP Summit SGI Challenge SUN XDBus
数据宽度 128位 256位 144位时钟频率 60 MHz 48 MHz 66 MHz
总线的主设备数多个 多个 多个峰值带宽 960MB/sec 1200MB/sec 1056MB/sec
标准 无 无 无几种 CPU-存储器总线
6.3.5 设备的连接
1,设备的连接和工作方式
2,两种 I/O总线的连接
程序查询
中断
DMA
I/O处理机
连接到 存储器 上
连接到 Cache上
CPU
Cache
主存
I/O 控制器图形显示
I/O 控制器 I/O 控制器
I/O 总线
CPU-主存总线总线适配器网络
3,一种典型的系统和总线的组织
4,CPU寻址 I/O设备的方式
存储器映射 I/O
专用的 I/O指令
6.4 通道处理机
6.1.1 通道的作用和功能
1,采用 程序控制,中断 和 DMA方式管理外围设备存在以下问题:
程序控制:大量的 CPU时间用于等待。
中断,中断服务程序的开销。
DMA,(1)DMA控制器只有数据传输功能,仍旧需要
CPU来完成外部设备的控制。
(2)DMA控制器一般不具备复杂的多路传输能力,一个 DMA控制器只能与一个外部设备相连。
2,解决上述问题的方法:
将 DMA控制器的,智能,提高 ---通道处理机
(1) 负担外围设备的大部分 I/O工作 (传输和控制 )
(2) 能同时为多台外围设备服务。
通道处理机,能够执行有限 I/O指令,并且能够被多台外围设备共享的小型 DMA专用处理机。
3,I/O系统的四级层次结构在一台大型计算机系统中可以有多个通道,一个通道可以连接多个设备控制器,而一个设备控制器又可以管理一台或多台外围设备。
4,通道的功能
(1) 接受 CPU发来的 I/O指令,根据指令要求选择一台指定的外围设备与通道相连接。
(2) 执行 CPU为通道组织的通道程序,从主存中取出通道指令,对通道指令进行译码,并根据需要向被选中的设备控制器发出各种操作命令。
(3) 给出外围设备的有关地址,即进行读/写操作的数据所在的位置。
如 磁盘存储器的柱面号、磁头号、扇区号等。
(4) 组织和控制数据在内存和外设之间的传送操作,
对交换的数据个数进行计数,并判断数据传送工作是否结束。
(5) 向 CPU发出输入输出操作中断请求,将外部设备的中断请求和通道本身的中断请求按次序报告 CPU。
(6) 检查外围设备的工作状态,是正常或故障。根据需要将设备的状态信息送往主存指定单元保存。
(7) 在数据传输过程中完成必要的格式变换。
例如 把字拆卸为字节,或者把字节装配成字
5,通道的主要硬件
(1) 寄存器部分
数据缓冲寄存器
主存地址计数器
传输字节数计数器
通道命令字寄存器
通道状态字寄存器
(2) 控制部分?
分时控制
地址分配
数据传送
数据装配
拆卸
6,通道对外围设备的控制通过 I/O接口和设备控制器进行。
通道与设备控制器之间一般采用标准的 I/O
接口来连接 ----这使得通道可与不同种类的设备控制器相连。
6.4.2 通道的工作过程
1,工作过程
(1) 在用户程序中使用访管指令进入管理程序,
由 CPU通过管理程序组织一个通道程序,并启动通道。
(2) 通道处理机执行 CPU为它组织的通道程序,
完成指定的数据 I/O工作。通道处理机执行通道程序是与 CPU执行用户程序并行的。
(3) 通道程序结束后向 CPU发中断请求。 CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对 I/O中断请求进行处理。
访管 入口
O C 设备号
O C 交换长度
O C 主存起始地址用户程序广义指令和参数通道程序置通道地址字启动 I / O
管理程序通道程序断开通道指令通道程序中断处理程序
I / O 中断响应
I / O 中断返回
C P U 运行用户程序时间请求 I / O 访管指令 响应 I / O 中断请求
C P U 运行 I / O 管理程序通道运行存放在主存中的通道程序编制通道程序启动 I / O 操作组织 I / O 操作向 C P U 发中断请求登记或处理
2,通道程序、管理程序和用户程序的 执行时间关系
6.4.3 通道种类
◆ 通道分为三种类型
◆ 三种类型的通道与 CPU、设备控制器和外围设备的 连接关系
字节多路通道
选择通道
数组多路通道
……
……
……
C P U
主存字节多路通道磁盘控制器磁盘控制器磁盘 磁盘 磁盘
……
选择通道设备控制器设备控制器设备设备设备
……
数组多路通道设备控制器设备控制器
……
设备 设备设备通道总线通道总线通道总线
1,字节多路通道
(1) 字节多路通道主要为多台低速或中速的外围设备服务。
(2) 采用分时方式工作,依靠它与 CPU之间的高速数据通路分时为多台设备服务。
(3) 工作方式
◆ 字节交叉方式连接在通道上的各个设备轮流占用一个很短的时间片(通常小于 100微秒 )传输一个字节。
◆ 成组方式一个设备一次占用通道比较长的时间传输一组数据,或者说,设备与通道的连接可以根据需要维持到一组数据全部传送完成。
2,数组多路通道
(1) 数组多路通道适于为高速设备服务。
(2) 每次选择一个高速设备后传送一个数据块,
并轮流为多台外围设备服务。
(3) 数组多路通道之所以能够并行地为多个高速外围设备服务,是因为这些高速外围设备并不能在整个数据输入输出时间内单独利用通道的全部传输能力。
3,选择通道
(1) 选择通道也是为多高速外围设备服务的。
(2) 在传送数据期间,该通道只能为一台高速外围设备服务,但在不同的时间内可以选择不同的设备。
6.4.4 通道中的数据传送过程
1,字节多路通道的数据传送过程通道每连接一个外围设备,只传送一个字节,
然后又与另一台设备连接,并传送一个字节。
TS,设备选择时间。
TD,传送一个字节所用的时间。
P,在一个通道上连接的设备台数,且这些设备同时都在工作。
n,每一个设备传送的字节个数。
Dij,连接在通道上的 第 i台 设备传送的第 j个数据,
其中,i=1,2,…,p; j=1,2,…,n。
T,通道完成全部数据传送工作所需要的时间。
T
S T D
D 11
T S T D
D 21
……
……
T S T D
D ij
……
….,
T S T D
D pn
T
) p nT(TT DSB Y T E
2,数组多路通道的数据传送过程每连接一台高速设备,传送一个数据块,传送完成后,又与另一台高速设备连接,再传送一个数据块。
TDi,通道传送第 i个数据所用的时间,
其中,i = 1,2,…,n。
Di:通道正在为第 i台设备服务,
其中,i = 1,2,…,p。
k,一个数据块中的字节个数。
T
S T D1 T D 2,,,T Dk
D 1
T
T S T D1 T D 2,,,T Dk
D 2
T S T Dn - k T D 2,,,
T Dn
D p
T S T D k + 1 T D 2,,,T D 2 k
D 1
……
……
……
……
) p nTkT(T DSB L O C K
3,选择通道的工作过程每连接一个外围设备,就把这个设备的 n个字节全部传送完成,然后再与另一台设备相连接。
T
S T D1 T D 2,,,T Dn
D 1
……
……
T
T S T D1 T D 2,,,T Dn
D 2
T S T D1 T D 2,,,T Dn
D p
) p nTnT(T DSS E L E C T
6.4.5 通道的流量分析
1,通道流量一个通道在数据传送期间,单位时间内能够传送的最大数据量,一般用字节个数来表示。
又称为 通道吞吐率,通道数据传输率 等。
2,通道最大流量一个通道在满负荷工作状态下的流量。
3,最大流量计算公式
DSDS
B Y T E-M A X TT
1
) p nT(T
pnf
D
S
D
S
B L O C K-M A X
T
k
T
1
) p nT
k
T(
pnf
D
S
D
S
S E L E C T-M A X
T
n
T
1
) p nT
n
T
(
pn
f
字节多路通道数组多路通道选择通道
4,实际流量
(1) 字节多路通道连接在这个通道上的所有设备的数据传输率之和。
p
1i
iB Y T E ff
(2) 数组多路通道和选择通道这两种通道的实际流量就是连接在这个通道上的所有设备中数据流量最大的那一个 。
i
p
1iB LO C K
fm axf
i
p
1iS EL E C T fm axf
5,各种通道实际流量与最大流量的关系
B Y T EM A XB Y T E ff
B L O C KM A XB L O C K ff
S E L E C TM A XS E L E C T ff
◆ 两边的差值越小,通道的利用率就越高。
◆ 当两边相等时,通道处于满负荷工作状态 。
6.5 I/O与操作系统在计算机系统中,I/O系统硬件的功能如何使用,
往往完全是由操作系统来决定的。
6.5.1 I/O和 Cache数据一致性
◆ Cache会使一个数据出现两个副本一个在 Cache中,一个在主存中。
◆ I/O与计算机的连接方式
1,连接到 CPU的 Cache上
CPU
Cache
主存
CPU-主存总线总线适配器
I/O 总线
TLB
◆ 不会产生数据不一致的问题
◆ 所有 I/O设备和 CPU都能在 Cache中看到最新的数据,而且存储器中的机制能保证数据的其它副本得到及时更新。
CPU
Cache
主存
CPU-主存总线
DMA 控制器
I/O 总线
TLB
地址转换寄存器
2,直接连到存储器上数据不一致问题有两个方面:
(1) 存储器中可能不是 CPU产生的最新数据,所以
I/O系统从存储器中取出来使用的是陈旧数据。
如何确保 I/O使用到正确的数据?
写直达 Cache可以保证存储器和 Cache有相同的数据;
写回 Cache则需要操作系统帮助进行数据检查。
(2) I/O与存储器交换数据之后,在 Cache中被 CPU
使用的可能就是陈旧数据。
如何确保 Cache中的数据在 I/O操作之后能够及时更新?
操作系统根据 I/O操作的存储器地址清除
Cache中的相应块,以确保 I/O使用的数据不在 Cache中。
6.5.2 DMA和虚拟存储器
DMA是使用 虚拟地址 还是 物理地址 来传输数据?
1,使用物理地址进行 DMA,存在以下两个问题,
(1) 对于超过一页的数据缓冲区,由于缓冲区使用的页面在物理存储器中不一定是连续的,
所以传输将会发生问题。
(2) 假设,DMA正在存储器和帧缓冲器之间传输数据时,操作系统从存储器中移出一些页面
(或重新分配 ),DMA将会在存储器中错误的页面上传输数据。
2,解决问题的方法采用,虚拟 DMA”技术。
例 6.3 如果 CPU在处理一个页数据时发生了一次 I/O:
将一个磁盘页读入 Cache,假设:
每页为 16KB,Cache块大小为 64字节;
对应新页的地址不在 Cache中;
CPU不访问新页中的任何数据;
Cache中 95%的被替换块将在处理该页数据期间被再次读取,并引起一次失效;
Cache使用写回方法,平均 50%的块被修改过;
访问或失效在所有 Cache块中均匀分布;
在 CPU和 I/O之间,没有其他访问 Cache的干扰;
无 I/O时,每 100万个时钟周期中,有 15000次失效;
失效开销是 30个时钟周期 。 如果替换块被修改过,
则再加上 30个时钟周期回写;
假设计算机平均每 100万个时钟周期处理 1页 。
分析 I/O对于性能的影响 。
解,每个主存页有 16K/64=256块,
有 I/O时:
(1) I/O传输一个页需占用 Cache的 256个块? 其中 50%
被修改过,需要先回写? 需要 (256/2)? 30 = 3840 个时钟周期 。
(2) 替换出去的块有 95%需再一次被访问? 引起 256?
95% = 244 次失效? 需要 244? (30+30) = 14640 个时钟周期 (所有这 244个块需回写 )。
I/O造成的额外时间为,
3840 + 14640 = 18480 个时钟周期无 I/O时:
(1) 处理一页需使用 100万个时钟周期 。
(2) 处理一页 (100万个时钟周期 )引起 15000 次失效? 其中 50%被修改过,需要回写? 需要 (15000? 50%)? 30
+ (15000? 50%)? (30+30)= 675000 个时钟周期 。
处理一页一共需要:
1000000 + 675000=1675000个时钟周期处理一页过程中 I/O一个页对性能的影响:
18480 / 1675000 = 1.1%
1,输入 /输出系统简称 I/O系统包括:
I/O设备 (如键盘、磁盘、打印机 )
I/O设备与处理机的连接
(1)数据如何传送 (并行或串行,传输速率 )
(2)对外设如何控制 (如程序控制,DMA,I/O
处理机 )
第六章 输入输出系统
2,I/O系统的基本任务:
完成与外部系统的信息交换。
是 Von Neumann结构计算机系统的四大组成部分之一。
3,几个与 I/O有关的问题
(1) 对系统性能的影响
CPU速度再提高,如果无相适应的 I/O系统的话,
将无多大意义。
(2) 不同系统中 I/O的差异不同类型系统 (微机、工作站、大型机、巨型机 )
的 CPU速度差异正在缩小,差异更多来自于 I/O系统。
(3) I/O系统的设计问题与 CPU设计遇到的问题不同成本、性能和容量容量包括:
(1)能和哪些不同类型的 I/O设备相兼容
(2)能带多少个 I/O设备。
例 6.1 假设一台计算机的 I/O处理占 10%,当其
CPU性能改进,而 I/O性能保持不变时,系统总体性能会出现什么变化?
解,假设原来的程序执行时间为 1个 单位时间。
如果 CPU的性能提高 10倍,程序的计算(包含 I/O处理)时间为:
(1 - 10%)/10 + 10% = 0.19
如果 CPU的性能提高 10倍
如果 CPU的性能提高 100倍即整机性能只能提高约 5倍,差不多有 50% 的
CPU性能浪费在 I/O上。
如果 CPU性能提高 100倍,程序的计算时间为:
(1 - 10%)/100 + 10% = 0.109
而整机性能只能提高约 10倍,表示有 90% 的性能浪费在没有改进的 I/O上了。
6.2 存储设备
6.2.1 磁盘设备目前常用的存储设备主要有 磁盘、磁带、光盘 等。
1,磁盘
(1) 磁盘的 盘片,磁道 和 扇区一个磁盘设备通常有:
1? 20 个盘片组成每个盘片表面可分 500? 2500个磁道每个磁道可分几十到几百个扇区盘片磁道扇间空隙扇区一般:
每个盘片有一个磁头负责读写选择盘片由控制电路负责选择磁道由磁头径向移动来实现选择扇区和读取扇区内容依靠盘片旋转来完成一般:
各磁头连在一起,同时移动 ---各盘片的同一磁道可同时读取 ----组成一个 圆柱体 。
每个磁道的扇区数固定 -----每个磁道可容纳的信息量固定 -----信息密度的限制来自于最内磁道。
磁盘上的数据需采用某种游程长度受限码进行编码旋转速度:决定寻找扇区时间和扇区读取时间
3600r/min? 12000r/min
(等角速度和等线速度 )
(2) 磁盘性能公式访问磁盘时间 = 寻道时间 + 旋转时间
+ 传输时间 + 控制器开销
① 寻道时间寻道,磁盘控制器发出命令将磁头移动到包含有所需数据的磁道上的过程。
寻道时间,寻道所需要的时间。
最小寻道时间
最大寻道时间
平均寻道时间 (6ms? 20ms)
注:实际值可能更低,约 20%? 33%
② 旋转时间所需扇区转到磁头之下所需要的时间。
平均值为磁盘旋转半周的时间最慢的磁盘:
TAR=0.5r / 3600rpm = 8.3ms
最快的磁盘:
TAR=0.5r / 10000rpm = 3.0ms
③ 传输时间在磁头下传输一个数据块 (通常是一个扇区 )所需花的时间。
它由以下几个因数决定:
块的大小
旋转速度
磁道记录密度
连接磁盘电子器件的速度数据传输率,与传输时间相对应的重要 I/O参数内部传输率 = 记录的位密度 × 盘面旋转的线速度取决于接口方式 (IDE,EIDE,Ultra-EIDE,SCSI、
Fast and Wide SCSI,FC-AL等 )
④ 控制器时间控制器在执行 I/O访问时的额外开销。
从盘面到缓冲存储器的内部传输率
从缓冲存储器到主机的外部传输率例 6.2 对于目前一般的磁盘而言,读或写一个 512字节的扇区的平均时间是多少?假设此时磁盘空闲,这样没有排队延迟;公布的平均寻道时间是 9ms,传输速度是 4MB/s,转速是 7200rpm,控制器的开销是 1ms。
解:平均磁盘访问时间 = 平均寻道时间 +
平均旋转延迟 + 传输时间 + 控制器开销
1 4,3 m s10,1 2 54,291 m s4,0 M B / s0,5 K B7 2 0 0 R P M0,59 m s
假设实际测得的寻道时间是公布值的 33%,则答案是:
3ms + 4.2ms + 0.125ms + 1ms = 8.325ms
特性 Seagate ST423451 Seagate ST19171 Seagate ST92255
磁盘直径 (英寸 ) 5.25 3.50 2.50
格式化后容量 (MB) 23,200 9,100 2,250
盘面数 28 20 10
MTBF(小时 ) 500,000 1,000,000 300,000
转速 (rpm) 5400 7200 4500
内部传输速度 (Mb/s) 86~124 80~124 可达 60.8
外部接口 快速 SCSI-2(8-16位 ) 快速 SCSI-2(8-16位 ) 快速 ATA
外部传输率 (MB/s) 20~40 20~40 可达 16.6
最小寻道时间 (磁道间 )(ms) 0.9 0.6 4
平均寻道时间 +旋转时间 (ms) 11 9 14
电源 /机箱 (瓦 ) 26 13 2.6
MB/瓦 892 700 865
体积 (立方英寸 ) 322 37 8
MB/立方英寸 72 246 273
(3) 希捷公司三种磁盘的特性参数
⑤ 磁盘成本
◆ 磁盘的成本取决于许多因素:
◆ 降低成本的两种方法:
磁头
磁盘片
磁盘的机械部分
控制电路
电源及电缆
增大单片或者单盘的容量
提高产量
◆ 磁表面记录密度,磁盘记录数据的密度,每平方英寸上的位数 。
磁表面记录密度 (每平方英寸 )
= 表面道密度 (每英寸 )? 道上位密度 (每英寸 )
◆ 磁盘价格的变化
▲ 在 1983年到 1995年之间每个 PC机磁盘的价格的变化
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
年磁盘价格($)
20MB
80MB
210MB
420MB
1050MB
4030MB
▲ PC机磁盘每兆字节价格的变化在 1992年和 1998年之间,PC机磁盘的每兆字节价格降低速率大约是每年 2倍。
0.01
0.1
1
10
100
1000
1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998年每兆字节磁盘价格($)
◆,访问时间差距,问题磁盘的性能价格比高于主存,但访问速度却要低得多,换句话说,性能价格比与速度要求差距太大 。
1.00E+00
1.00E+01
1.00E+02
1.00E+03
1.00E+04
1.00E+05
1.00E
+00
1.00E
+01
1.00E
+02
1.00E
+03
1.00E
+04
1.00E
+05
1.00E
+06
1.00E
+07
1.00E
+08
1.00E
+09
访问时间(ns)
每M
B磁盘价格(
$
)
S R A M 芯片
DRAM板
D R A M 芯片磁盘半导体存储器磁盘访问时间差距
2,半导体盘
(1) 半导体盘是按磁盘访问方式工作的 DRAM阵列。
(2) 半导体盘有两种
◆ 固态盘 (SSDs),由 DRAM阵列 加上一个保持系统存储数据的电池构成。
◆ 扩充存储器 (ES),一个只支持块传送的大容量存储器中的一个区域。
(3) 优点
永久性
速度快
高传送速率
高可靠性
(4) 最大缺点:成本太高,每兆的价格大约是磁盘价格的 50倍。
3,盘阵列 (RAID)
廉价磁盘冗余阵列,简称 盘阵列技术 。
优点:
容量大
速度快
可靠性高
造价低廉
① RAID0
数据分块,即把数据分布在多个盘上。
非冗余阵列、无冗余信息严格地说,它不属于 RAID系列。
② RAID1
亦称镜像盘,使用双备份磁盘。
每当数据写入一个磁盘时,将该数据也写到另一个冗余盘,形成信息的两份复制品。
特点,昂贵、系统可靠性高、效率低 (冗余度太大 )
③ RAID2
位交叉式海明编码阵列。
特点,原理上比较优越,但冗余信息的开销太大。
④ RAID3
位交叉奇偶校验盘阵列,是单盘容错并行传输的阵列。
数据以 位或字节交叉的方式 存于各盘,冗余的奇偶校验信息存储在一台专用盘上。
将磁盘分组,读写要访问组中所有盘,每组中有一个盘作为校验盘。
校验盘一般采用 奇偶校验法,当一个磁盘出故障时,可以通过奇偶校验磁盘中的校验和来恢复出错数据。
简单理解为,先将分布在各个数据盘上的一组数据加起来,将和存放在冗余盘上。一旦某一个盘出错,只要将冗余盘上的和减去所有正确盘上的数据,得到的差就是出错的盘上的数据。
缺点,恢复时间较长
⑤ RAID4
专用奇偶校验独立存取盘阵列。
数据以 块 (块大小可变 )交叉 的方式存于各盘,
冗余的奇偶校验信息存在一台专用盘上。
特点,允许独立存取,多个访问请求可同时进行
⑥ RAID5
块交叉分布式奇偶校验盘阵列。
数据以块交叉的方式存于各盘,无专用校验盘,
冗余的奇偶校验信息均匀分布于所有盘。
特点,无瓶颈盘,多个写访问请求可同时进行
RA I D 3 和 RA I D 4
1
5
9
1 3
1 7
2 1
…,.
2
6
10
1 4
1 8
2 2
…,.
3
7
11
1 5
1 9
2 5
…,.
P0
P1
P2
P3
P4
P5
…,.
0
4
8
12
P4
20
…,.
1
5
9
P3
1 6
2 1
…,.
2
6
P2
1 3
1 7
2 2
…,.
3
P1
10
1 4
1 8
2 5
…,.
P0
7
11
15
19
P5
…,.
RA I D 5
0
4
8
12
16
20
…,.
⑦ RAID6
双维奇偶校验独立存取盘阵列。
数据以 块 (块大小可变 )交叉 的方式存于各盘,冗余的检、纠错信息均匀地分布在所有磁盘上。
每次写入数据都要访问一个数据盘和两个校验盘,可容忍双盘出错。
⑧ RAID7
采用 Cache和异步技术的 RAID6,提高响应速度和传输速率 (可达每秒几十兆字节 )。
(1) 各级 RAID的结构特点
RAID级 数据磁盘数可正常工作的最多失效盘数检测磁盘数
0 非冗余 8 0 0
1 镜像 8 1 8
2 存储器式 ECC 8 1 4
3 位交叉奇偶校验 8 1 1
4 块交叉奇偶校验 8 1 1
5 块交叉分布奇偶校验
8 1 1
6 P+Q冗余 8 2 2
7 Cache + 异步 8 2 2
盘阵列技术飞速发展的原因:
(1)应用需求,CPU与单个磁盘的速度差异越来越大。
(2)一些单项技术 (如交叉存取、数据分块、缓冲存储等 )
已比较成熟。
(3)在 PC带动下,小盘驱动器得到了更高速发展。
(4)微电子技术的发展,使得支持盘阵列的大规模芯片成为可能。
(2) 实现盘阵列的三种方式
◆ 软件方式由主机实现阵列管理软件。
优点,成本低缺点,
◆ 阵列卡方式把 RAID管理软件固化在 I/O控制卡上,从而可不占用主机时间。
过多地占用主机时间
带宽指标上不去
◆ 子系统方式一种基于通用接口总线的开放式平台,可用于各种主机平台和网络系统。
(3) 目前 RAID研究的几个热点问题
新型阵列体系结构;
RAID结构设计与其所记录文件特性的关系;
在 RAID冗余设计中,综合平衡性能、可靠性和开销的问题;
超大型盘阵列在物理上如何构造和连结的问题等。
6.2.2 磁带设备
1,磁带
(1) 磁盘和磁带性能价格比的差异 主要取决于它们的机械构成。
◆ 磁盘盘片具有有限的存储面积,并且存储介质被封装在每个读部件内,提供 ms级的随机访问;
◆ 磁带绕在可转动轴上,一个读部件可以使用多盘磁带 (没有长度限制 ),但磁带需要顺序访问,每次访问都可能需要较长的反绕、退出和加载时间,等待时间较长 (数秒 )。
(2) 优点:
(3) 缺点:
容量极大
技术成熟
单位价格低廉
访问时间较长
不能随机访问
易磨损
2,自动磁带库
(1) 通过机械手自动地安装和更换磁带,相当于又提供了一个新的存储器层次。
(2) 通过加大规模,降低成本 (单位价格 )。
(3) 磁带容量与 GB价格的关系
0
20
40
60
80
100
120
140
160
180
1 10 100 1000 10000容量( G B )
每G
B
磁带价格(
$
)
6.2.3 光盘设备光盘是通过激光来读写的,主要有:
1,光盘
(1) 只读类光盘,光学紧密盘,简称 CD-ROM。
优点:
容量大
成本低
便于保管、便于携带
存储寿命长 (数据可稳定保存 20年 )
只读类 (如 CD-ROM,DVD-ROM等 )
可写类 (如 CD-R,MO等 )
缺点,不能够写入
(2) 可写类光盘
◆ 一次性写的光盘:称为可记录光盘 CD-R,
又称为 WORM盘。
◆ 多次写光盘:又称为 WMRM盘,主要采用磁光 (MO)存储技术。
2,盘库、光盘塔和光盘阵列将多台光盘机组合在一起有三种结构:
光盘库 (也叫自动换盘机,即 Jukebox)
光盘塔 (CD-ROM Tower)
光盘阵列 (CD-ROM Array)
(1) 光盘库光盘库是一种能自动把机框中存放的许多片光盘选出并装入光盘机进行读写的设备。
优点:
费用低
可兼容性及低风险
随机存取
耐用性
多媒体功能
(2) 光盘塔光盘塔实际上是多个 CD-ROM放在一起,再加上相应的控制器和网络连接设备,构成一个网络存储设备。
许多光盘机通过标准接口 (如 SCSI)电缆连接起来,一根典型的 SCSI接口电缆可以连接 7台 光盘机,用软件控制读写其中某一台。
优点,寿命长、结构简单、造价低;
读取光盘速度快。
缺点,容量较小。
(3) 光盘阵列光盘阵列技术的特殊性:
① 光盘具有盘片可换的问题
(可换光盘的有序管理问题)
② 光盘的寻道和旋转等待时间比磁盘长,而且每道只有一个读写头,因此在大量数据连续读写时,
寻道的次数要比磁盘多。
③ 实现光盘阵列快速响应的 关键技术 之一较大的缓存和优化的调度策略。
光盘机及其所装的盘片可能有对应关系问题
在线工作盘片和离线备用盘片在内容上可能有逻辑联系问题优点,低成本、多样性、灵活性缺点,必须独占使用,造成了设备信息交换的瓶颈,从而限制了系统中总的 I/O吞吐量。
6.1.1 总线分类
1,按用途分类
(1) CPU-存储器总线
CPU-存储器总线比较短,具有较高的速度,
并且要和存储器系统的速度匹配来优化带宽。
6.3 总 线
(2) I/O总线
I/O总线比较长,并且还应遵循总线标准。
2,按设备定时方式分类
(1) 同步总线同步总线上所有设备通过统一的总线系统时钟进行同步。
优点,成本低,因为它不需要设备之间互相确定时序的逻辑。
缺点,总线操作必须以相同的速度运行。
(2) 异步总线异步总线上的设备之间没有统一的系统时钟,设备自己内部定时。
6.3.2 总线基本工作原理三个常用的参数:
Tp:总线信号传输延迟。即在总线上的每个设备都取到和识别一个信号需要的最大时间。
Tsk:响应其它设备的最大时间。
Top:设备的操作时间。
1,总线结构设备 设备 设备 设备数据、地址和控制信号时钟主设备 (Master),产生地址、控制信号的设备;
从设备 (Slave),响应主设备的设备。
2,单同步总线时序总线的周期必须大 Tp和 2Tsk的和。
DATA 有效 有效
Tp
CLKin
> Tsk > Tsk 采样锁存
3,异步总线的时序数据 有效 有效请求
T
p
T
p
+T
op
T
p
应答
6.3.3 总线使用总线的 任务 就是进行信息交换,主要包括 读和写操作 。
1,同步总线的数据传送过程时钟地址数据读等待
2,总线的主要可选特性选择 高性能 低价格总线宽度 独立的地址和数据总线 分时复用数据和地址总线数据总线宽度 越宽越快 (64/128位 ) 越窄越便宜传输块大小 块越大总线开销越小 每次传送单字总线主设备 多个 (需要仲裁 ) 单个 (无需仲裁 )
分离处理 采用 不用定时方式 同步 异步
3,分离处理技术在有多个主设备时,总线通过 数据打包 来提高总线带宽,而不必在整个传输过程中都占有总线。
地址 地址 1 地址 2 地址 3
数据 数据 0 数据 1
等待 等待 1 完成 1
4,异步总线上主设备执行 写操作地址 主设备输出地址 下一个地址数据 主设备输出数据读 /写请求认可
t0 t1 t2 t3 t4
6.3.4 总线标准和实例
1,PCI(Peripheral Component Interconnect)
即 外围器件互连,是一种为 CPU和外设之间提供高性能数据通道的总线。
特点:?
数据线和地址线采用多路复用结构,减少了引脚数;
基本传输方式为猝发传送;
PCI总线定义了两种电信号标准环境,5V和 3.3V;
总线信号与处理器无关,可以支持多系列的处理器;
透明的 32/64位总线,允许 32位和 64位总线设备相互操作;
PCI支持总线扩展和设备的自动配置。
2,USB( Universal Serial Bus)
◆ 通用串行总线端口
◆ 试图取代串口、并口和 PS/2的连接。
◆ 提供这种端口的 目的提供设备快速的热插拔和即插即用的能力。
3,FireWire
◆ 适用于磁盘和视频图像系统等高速设备。
◆ 可以实现即插即用,具有更高的数据传输速率。
(高达 100Mbps~ 200Mbps,USB为 12Mbps)
S总线 PCI IPI SCSI-2
数据宽度 32位 32或 64位 16位 8到 16位时钟频率 16到
25MHz
33MHz 异步 10MHz
或异步总线的主设备数多个 多个 一个 多个读 32位的带宽
33 MB/s 33MB/s 25MB/s 20MB/s
或 6MB/s
峰值带宽 89 MB/s 111MB/s 25MB/s 20MB/s
或 6MB/s
标准 无 2.0 ANSI
X3.129
ANSI X3.131
几种常用总线
HP Summit SGI Challenge SUN XDBus
数据宽度 128位 256位 144位时钟频率 60 MHz 48 MHz 66 MHz
总线的主设备数多个 多个 多个峰值带宽 960MB/sec 1200MB/sec 1056MB/sec
标准 无 无 无几种 CPU-存储器总线
6.3.5 设备的连接
1,设备的连接和工作方式
2,两种 I/O总线的连接
程序查询
中断
DMA
I/O处理机
连接到 存储器 上
连接到 Cache上
CPU
Cache
主存
I/O 控制器图形显示
I/O 控制器 I/O 控制器
I/O 总线
CPU-主存总线总线适配器网络
3,一种典型的系统和总线的组织
4,CPU寻址 I/O设备的方式
存储器映射 I/O
专用的 I/O指令
6.4 通道处理机
6.1.1 通道的作用和功能
1,采用 程序控制,中断 和 DMA方式管理外围设备存在以下问题:
程序控制:大量的 CPU时间用于等待。
中断,中断服务程序的开销。
DMA,(1)DMA控制器只有数据传输功能,仍旧需要
CPU来完成外部设备的控制。
(2)DMA控制器一般不具备复杂的多路传输能力,一个 DMA控制器只能与一个外部设备相连。
2,解决上述问题的方法:
将 DMA控制器的,智能,提高 ---通道处理机
(1) 负担外围设备的大部分 I/O工作 (传输和控制 )
(2) 能同时为多台外围设备服务。
通道处理机,能够执行有限 I/O指令,并且能够被多台外围设备共享的小型 DMA专用处理机。
3,I/O系统的四级层次结构在一台大型计算机系统中可以有多个通道,一个通道可以连接多个设备控制器,而一个设备控制器又可以管理一台或多台外围设备。
4,通道的功能
(1) 接受 CPU发来的 I/O指令,根据指令要求选择一台指定的外围设备与通道相连接。
(2) 执行 CPU为通道组织的通道程序,从主存中取出通道指令,对通道指令进行译码,并根据需要向被选中的设备控制器发出各种操作命令。
(3) 给出外围设备的有关地址,即进行读/写操作的数据所在的位置。
如 磁盘存储器的柱面号、磁头号、扇区号等。
(4) 组织和控制数据在内存和外设之间的传送操作,
对交换的数据个数进行计数,并判断数据传送工作是否结束。
(5) 向 CPU发出输入输出操作中断请求,将外部设备的中断请求和通道本身的中断请求按次序报告 CPU。
(6) 检查外围设备的工作状态,是正常或故障。根据需要将设备的状态信息送往主存指定单元保存。
(7) 在数据传输过程中完成必要的格式变换。
例如 把字拆卸为字节,或者把字节装配成字
5,通道的主要硬件
(1) 寄存器部分
数据缓冲寄存器
主存地址计数器
传输字节数计数器
通道命令字寄存器
通道状态字寄存器
(2) 控制部分?
分时控制
地址分配
数据传送
数据装配
拆卸
6,通道对外围设备的控制通过 I/O接口和设备控制器进行。
通道与设备控制器之间一般采用标准的 I/O
接口来连接 ----这使得通道可与不同种类的设备控制器相连。
6.4.2 通道的工作过程
1,工作过程
(1) 在用户程序中使用访管指令进入管理程序,
由 CPU通过管理程序组织一个通道程序,并启动通道。
(2) 通道处理机执行 CPU为它组织的通道程序,
完成指定的数据 I/O工作。通道处理机执行通道程序是与 CPU执行用户程序并行的。
(3) 通道程序结束后向 CPU发中断请求。 CPU响应这个中断请求后,第二次进入操作系统,调用管理程序对 I/O中断请求进行处理。
访管 入口
O C 设备号
O C 交换长度
O C 主存起始地址用户程序广义指令和参数通道程序置通道地址字启动 I / O
管理程序通道程序断开通道指令通道程序中断处理程序
I / O 中断响应
I / O 中断返回
C P U 运行用户程序时间请求 I / O 访管指令 响应 I / O 中断请求
C P U 运行 I / O 管理程序通道运行存放在主存中的通道程序编制通道程序启动 I / O 操作组织 I / O 操作向 C P U 发中断请求登记或处理
2,通道程序、管理程序和用户程序的 执行时间关系
6.4.3 通道种类
◆ 通道分为三种类型
◆ 三种类型的通道与 CPU、设备控制器和外围设备的 连接关系
字节多路通道
选择通道
数组多路通道
……
……
……
C P U
主存字节多路通道磁盘控制器磁盘控制器磁盘 磁盘 磁盘
……
选择通道设备控制器设备控制器设备设备设备
……
数组多路通道设备控制器设备控制器
……
设备 设备设备通道总线通道总线通道总线
1,字节多路通道
(1) 字节多路通道主要为多台低速或中速的外围设备服务。
(2) 采用分时方式工作,依靠它与 CPU之间的高速数据通路分时为多台设备服务。
(3) 工作方式
◆ 字节交叉方式连接在通道上的各个设备轮流占用一个很短的时间片(通常小于 100微秒 )传输一个字节。
◆ 成组方式一个设备一次占用通道比较长的时间传输一组数据,或者说,设备与通道的连接可以根据需要维持到一组数据全部传送完成。
2,数组多路通道
(1) 数组多路通道适于为高速设备服务。
(2) 每次选择一个高速设备后传送一个数据块,
并轮流为多台外围设备服务。
(3) 数组多路通道之所以能够并行地为多个高速外围设备服务,是因为这些高速外围设备并不能在整个数据输入输出时间内单独利用通道的全部传输能力。
3,选择通道
(1) 选择通道也是为多高速外围设备服务的。
(2) 在传送数据期间,该通道只能为一台高速外围设备服务,但在不同的时间内可以选择不同的设备。
6.4.4 通道中的数据传送过程
1,字节多路通道的数据传送过程通道每连接一个外围设备,只传送一个字节,
然后又与另一台设备连接,并传送一个字节。
TS,设备选择时间。
TD,传送一个字节所用的时间。
P,在一个通道上连接的设备台数,且这些设备同时都在工作。
n,每一个设备传送的字节个数。
Dij,连接在通道上的 第 i台 设备传送的第 j个数据,
其中,i=1,2,…,p; j=1,2,…,n。
T,通道完成全部数据传送工作所需要的时间。
T
S T D
D 11
T S T D
D 21
……
……
T S T D
D ij
……
….,
T S T D
D pn
T
) p nT(TT DSB Y T E
2,数组多路通道的数据传送过程每连接一台高速设备,传送一个数据块,传送完成后,又与另一台高速设备连接,再传送一个数据块。
TDi,通道传送第 i个数据所用的时间,
其中,i = 1,2,…,n。
Di:通道正在为第 i台设备服务,
其中,i = 1,2,…,p。
k,一个数据块中的字节个数。
T
S T D1 T D 2,,,T Dk
D 1
T
T S T D1 T D 2,,,T Dk
D 2
T S T Dn - k T D 2,,,
T Dn
D p
T S T D k + 1 T D 2,,,T D 2 k
D 1
……
……
……
……
) p nTkT(T DSB L O C K
3,选择通道的工作过程每连接一个外围设备,就把这个设备的 n个字节全部传送完成,然后再与另一台设备相连接。
T
S T D1 T D 2,,,T Dn
D 1
……
……
T
T S T D1 T D 2,,,T Dn
D 2
T S T D1 T D 2,,,T Dn
D p
) p nTnT(T DSS E L E C T
6.4.5 通道的流量分析
1,通道流量一个通道在数据传送期间,单位时间内能够传送的最大数据量,一般用字节个数来表示。
又称为 通道吞吐率,通道数据传输率 等。
2,通道最大流量一个通道在满负荷工作状态下的流量。
3,最大流量计算公式
DSDS
B Y T E-M A X TT
1
) p nT(T
pnf
D
S
D
S
B L O C K-M A X
T
k
T
1
) p nT
k
T(
pnf
D
S
D
S
S E L E C T-M A X
T
n
T
1
) p nT
n
T
(
pn
f
字节多路通道数组多路通道选择通道
4,实际流量
(1) 字节多路通道连接在这个通道上的所有设备的数据传输率之和。
p
1i
iB Y T E ff
(2) 数组多路通道和选择通道这两种通道的实际流量就是连接在这个通道上的所有设备中数据流量最大的那一个 。
i
p
1iB LO C K
fm axf
i
p
1iS EL E C T fm axf
5,各种通道实际流量与最大流量的关系
B Y T EM A XB Y T E ff
B L O C KM A XB L O C K ff
S E L E C TM A XS E L E C T ff
◆ 两边的差值越小,通道的利用率就越高。
◆ 当两边相等时,通道处于满负荷工作状态 。
6.5 I/O与操作系统在计算机系统中,I/O系统硬件的功能如何使用,
往往完全是由操作系统来决定的。
6.5.1 I/O和 Cache数据一致性
◆ Cache会使一个数据出现两个副本一个在 Cache中,一个在主存中。
◆ I/O与计算机的连接方式
1,连接到 CPU的 Cache上
CPU
Cache
主存
CPU-主存总线总线适配器
I/O 总线
TLB
◆ 不会产生数据不一致的问题
◆ 所有 I/O设备和 CPU都能在 Cache中看到最新的数据,而且存储器中的机制能保证数据的其它副本得到及时更新。
CPU
Cache
主存
CPU-主存总线
DMA 控制器
I/O 总线
TLB
地址转换寄存器
2,直接连到存储器上数据不一致问题有两个方面:
(1) 存储器中可能不是 CPU产生的最新数据,所以
I/O系统从存储器中取出来使用的是陈旧数据。
如何确保 I/O使用到正确的数据?
写直达 Cache可以保证存储器和 Cache有相同的数据;
写回 Cache则需要操作系统帮助进行数据检查。
(2) I/O与存储器交换数据之后,在 Cache中被 CPU
使用的可能就是陈旧数据。
如何确保 Cache中的数据在 I/O操作之后能够及时更新?
操作系统根据 I/O操作的存储器地址清除
Cache中的相应块,以确保 I/O使用的数据不在 Cache中。
6.5.2 DMA和虚拟存储器
DMA是使用 虚拟地址 还是 物理地址 来传输数据?
1,使用物理地址进行 DMA,存在以下两个问题,
(1) 对于超过一页的数据缓冲区,由于缓冲区使用的页面在物理存储器中不一定是连续的,
所以传输将会发生问题。
(2) 假设,DMA正在存储器和帧缓冲器之间传输数据时,操作系统从存储器中移出一些页面
(或重新分配 ),DMA将会在存储器中错误的页面上传输数据。
2,解决问题的方法采用,虚拟 DMA”技术。
例 6.3 如果 CPU在处理一个页数据时发生了一次 I/O:
将一个磁盘页读入 Cache,假设:
每页为 16KB,Cache块大小为 64字节;
对应新页的地址不在 Cache中;
CPU不访问新页中的任何数据;
Cache中 95%的被替换块将在处理该页数据期间被再次读取,并引起一次失效;
Cache使用写回方法,平均 50%的块被修改过;
访问或失效在所有 Cache块中均匀分布;
在 CPU和 I/O之间,没有其他访问 Cache的干扰;
无 I/O时,每 100万个时钟周期中,有 15000次失效;
失效开销是 30个时钟周期 。 如果替换块被修改过,
则再加上 30个时钟周期回写;
假设计算机平均每 100万个时钟周期处理 1页 。
分析 I/O对于性能的影响 。
解,每个主存页有 16K/64=256块,
有 I/O时:
(1) I/O传输一个页需占用 Cache的 256个块? 其中 50%
被修改过,需要先回写? 需要 (256/2)? 30 = 3840 个时钟周期 。
(2) 替换出去的块有 95%需再一次被访问? 引起 256?
95% = 244 次失效? 需要 244? (30+30) = 14640 个时钟周期 (所有这 244个块需回写 )。
I/O造成的额外时间为,
3840 + 14640 = 18480 个时钟周期无 I/O时:
(1) 处理一页需使用 100万个时钟周期 。
(2) 处理一页 (100万个时钟周期 )引起 15000 次失效? 其中 50%被修改过,需要回写? 需要 (15000? 50%)? 30
+ (15000? 50%)? (30+30)= 675000 个时钟周期 。
处理一页一共需要:
1000000 + 675000=1675000个时钟周期处理一页过程中 I/O一个页对性能的影响:
18480 / 1675000 = 1.1%