[SOLVED] 代写 C computer architecture network Computer Architecture

30 $

File Name: 代写_C_computer_architecture_network_Computer_Architecture.zip
File Size: 565.2 KB

SKU: 6413536304 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


Computer Architecture
Course code: 0521292B 15. IO System
Jianhua Li
College of Computer and Information Hefei University of Technology
slides are adapted from CA course of wisc, princeton, mit, berkeley, etc.
The uses of the slides of this course are for educa/onal purposes only and should be
used only in conjunc/on with the textbook. Deriva/ves of the slides must
acknowledge the copyright no/ces of this and the originals.
1

内容概要 【中文教材】
6.1 引言
6.2 外部存储设备
6.3 可靠性、可用性和可信性
6.4 廉价磁盘冗余阵列RAID
6.5 I/O设备与CPU和存储器的连接 6.6 I/O与操作系统

引言
 输入/输出系统简称I/O系统  I/O设备:键盘、鼠标等
 I/O设备与处理机的连接
 I/O系统的重要性
 I/O是Von Neumann架构的重要组成部分
 衡量指标:
 响应时间(Response Time)  可靠性(Reliability)

I/O系统性能与CPU性能的一个谬论
 谬论:使用多进程技术可以忽略I/O性能对系 统性能的影响。
 多进程技术只能够提高系统吞吐率,并不能够减少 系统响应时间;
 进程切换时可能需要增加I/O操作;
 可切换的进程数量有限,当I/O处理较慢时,仍然 会导致CPU处于空闲状态;

性能示例
例 6.1 假设一台计算机的I/O处理占10%,当其 CPU性能按照如下方式改进,而I/O性能保持不变 时,系统总体性能会出现什么变化?
• 如果CPU的性能提高10倍
• 如果CPU的性能提高100倍

性能示例
解:假设原来的程序执行时间为1个单位时间。如果CPU的 性能提高10倍,程序的计算(包含I/O处理)时间为:
(1 – 10%)/10 + 10% = 0.19
也就是说:整机性能只能提高约5倍,差不多有50% 的CPU性能浪费在I/O上。
如果CPU性能提高100倍,程序的计算时间为: (1 – 10%)/100 + 10% = 0.109
而整机性能只能提高约10倍,表示有90%的性能浪费 在没有改进的I/O上了。

I/O系统的可靠性
 当前处理器性能已经很高,在很多场景下人们 更加关注系统可靠性。
 为什么可靠性这么重要?
 可信性是存储系统的基础 (云存储!)  可靠性?
 可用性?  可信性?

内容概要
6.1 引言
6.2 外部存储设备
6.3 可靠性、可用性和可信性
6.4 廉价磁盘冗余阵列RAID
6.5 I/O设备与CPU和存储器的连接 6.6 I/O与操作系统

外部存储设备
 各种外部存储器的相似之处
 记录原理类似:磁性、电阻、电压等;
 作为计算机部件,均包括驱动机制;
 作为存储设备,均包括控制器及接口逻辑;  均采用定位和校正技术以及相似的读写系统。
 目前常用的存储设备:  磁盘
 Flash, SSD等
 光盘、磁带 (逐渐消退。。。)

磁盘-Hard Disk
 磁盘占据着非易失性存储器的主导地位  它是存储层次中主存的下一级存储层次
 它是虚拟存储器技术的物质基础
 它是操作系统和所有应用程序的驻留介质
 磁盘的结构组成
 盘片:
 数量:1~12 转速:3600~15000转  盘径:1.0英寸(25.4厘米)~3.5英寸(8.9厘米)
 磁道:每面5000~30000道
 扇区:每道100~500个

磁盘结构图
盘片
扇间空隙
扇区
磁道
图6.1 磁盘结构图

磁盘性能  访问时间
 磁盘的工作过程:
 磁头首先移动到目标磁道上  使期望的扇区旋转到磁头下  读取扇区中的数据
 工作均在磁盘控制器的控制下完成
磁盘访问时间 = 寻道时间 + 旋转时间 + 传输时间+ 控制器开销

磁盘性能
 磁盘容量
 磁盘容量与盘片数量和单碟容量有关。
 受工业标准的限制,硬盘中能安装的盘片数目有限: 3~4片。一般都是5片以内。
 提高单碟容量的途径有两个:  提高道密度
 提高位密度
 目前的主流3.5英寸硬盘的单碟容量已经达到了百 GB。最新的可以达TB级别。

磁盘性能
 磁盘缓存 (Disk Cache)
 可以弥补磁盘和主存之间的速度差距
 利用被访问数据的局部性原理  时间局部性
 空间局部性
 磁盘缓存的管理和实现一般是软硬件协同

磁盘性能
 磁盘的发展
 磁盘容量的提高通常用面密度来衡量  面密度为单位面积可以记录的数据位数
 面密度=磁盘面的道密度×磁道的位密度  容量不断提升,每位价格不断下降。
 磁盘的性能价格比高于主存,但访问速度却要低得 多。换句话说,性能价格比与速度要求差距太大。

磁盘性能
$3,000 $2,500 $2,000 $1,500 $1,000
$500
20M 80M 210M 420M 1050M 2100M 4200M 9100M 18200M 36400M 72800M
$0
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99200020012002
图6.2 磁盘价格的变化

磁盘性能
价格
1*105 $/MB
1*104 1*103 1*102 1*101 1
1 * 1 0- 1 1 * 1 0- 2
SRAM DRAM 磁盘
1980 1985
1980
1995 2000
1990 1985 1990
1995
2000
访问时间差距 1980 1985
1990
1995 2000
1
1*101
1*102
1*103 1*104 1*105
1*106
1*107
1*108
访问时间
n s
图6.3 磁盘和半导体存储器之间的访问时间差距

Flash存储器
 工作原理同E2PROM,容量比E2PROM大。
 与磁盘相比的主要特点:  功耗小(≤50mw)
 尺寸小/存储密度大
 提供与DRAM相仿的访问速度  价格高

固态硬盘 (SSD)
图6.4 固态硬盘的结构图和架构图

固态硬盘优点
 极好的读延迟和顺序写带宽
 较低的 $/IOPS/GB
 较低的功耗开销
 无机械部件,更加可靠  封装尺寸更小,无noise

内容概要
6.1 引言
6.2 外部存储设备
6.3 可靠性、可用性和可信性
6.4 廉价磁盘冗余阵列RAID
6.5 I/O设备与CPU和存储器的连接 6.6 I/O与操作系统

可靠性、可用性和可信性
 系统可靠性
 系统从初始状态开始一直提供服务的能力  用平均无故障时间MTTF来衡量
 系统可用性
 工作时间在连续两次正常服务间隔时间中所占比率  用MTTF/MTBF(平均失效间隔时间)来衡量
 系统可信性
 多大程度上可以合理地认为服务是可靠的  可信性不可度量

可靠性、可用性和可信性示例
例 6.2 假设磁盘子系统的组成部件和它们的MTTF
如下:
1 磁盘子系统由10个磁盘构成,每个磁盘的MTTF为
1000000小时;
2 1个SCSI控制器,其MTTF为500000小时; 3 1个不间断电源,其MTTF为200000小时; 4 1个风扇,其MTTF为200000小时;
5 1根SCSI连线,其MTTF为1000000小时。

可靠性、可用性和可信性示例
假定每个部件的正常工作时间服从指数分布,即部 件的工作时间与故障出现的概率无关;同时假定 各部件的故障相互独立,试计算整个系统的MTTF。
解:整个系统的失效率为:
系统失效率 ×1+1+1+1+1
=10
1000000 500000 200000 200000 1000000
= 23 1000000

可靠性、可用性和可信性示例
系统的MTTF为系统失效率的倒数,即:
1000000
MTTF = 23 =43500 小时
大约为5年

可靠性、可用性和可信性  提高系统可靠性的方法
 有效构建方法  纠错方法
 具体的说,可分为:
 故障避免技术  故障容忍技术  错误消除技术  错误预报技术

内容概要
6.1 引言
6.2 外部存储设备
6.3 可靠性、可用性和可信性
6.4 廉价磁盘冗余阵列RAID
6.5 I/O设备与CPU和存储器的连接 6.6 I/O与操作系统

廉价磁盘冗余阵列RAID  廉价磁盘冗余阵列
 Redundant Array of Inexpensive Disks  独立磁盘冗余阵列
 Redundant Array of Independent Disks  简称盘阵列技术
 1988年,David Patterson教授的小组首先 提出。
 优点
 容量大、速度快、可靠性高、造价低廉

各级RAID的共性
1 RAID由一组物理磁盘驱动器组成,操作系统视 之为一个逻辑驱动器。
2 数据分布在一组物理磁盘上
3 冗余信息被存储在冗余磁盘空间中,保证磁盘
在万一损坏时可以恢复数据。
4 其中第23个特性在不同的RAID级别中的表现 不同,RAID-0不支持第3个特性。

RAID面对的问题
 关键问题:如何发现磁盘的失效
 磁盘技术(扇区中)提供了故障检测操作的信息。
 设计的另一个问题
 如何减少平均修复时间MTTR
 典型的做法:在系统中增加热备份盘
 热切换技术
 与热备份盘相关的一种技术  不用关机就能更换设备

RAID-0
 数据分块,即把数据分布在多个盘上。  非冗余阵列、无冗余信息。
 严格地说,它不是RAID。
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
etc…

RAID-1
 亦称镜像盘,使用双备份磁盘。
 每当数据写入一个磁盘时,将该数据也写到另
一个冗余盘,形成信息的两份复制品。
A
A
B
B
C
C
==
D
D
E
E
F
F
G
G
H
H

RAID-1特点  读性能好
 RAID-1的性能能够达到RAID-0性能的两倍。  写性能由写性能最差的磁盘决定。
 相对后面各级RAID来说,RAID-1的写速度较快。
 可靠性很高 (很显然)
 最昂贵的解决方法
 物理磁盘空间是逻辑磁盘空间的两倍。

RAID-01
 RAID-0 —> RAID-1 先分块后镜像
B
C
D
A
B
C
D
A
E
F
G
H
E
F
G
H
I
J
K
L
I
J
K
L
M
N
O
etc…
M
N
O
etc…

RAID-10
 RAID-1 —> RAID-0 先镜像后分块
A
A
B
B
C
C
D
D
E
E
F
F
G
G
H
H
I
I
J
J
K
K
L
L
M
M
N
N
O
O
etc…
etc…

RAID-2 (bit-interleaved hamming code)
 位交叉式海明编码阵列
 各个数据盘上的相应位计算海明校验码,编码
位被存放在多个校验(ECC)磁盘的对应位上。
A1
A2
A3
Ecc/Ax
Ecc/Ay
Ecc/Az
A0
B0
B1
B2
B3
Ecc/Bx
Ecc/By
Ecc/Bz
C0
C1
C2
C3
Ecc/Cx
Ecc/Cy
Ecc/Cz
D0
D1
D2
D3
Ecc/Dx
Ecc/Dy
Ecc/Dz

RAID-2特点
 并行存取,各个驱动器同步工作。
 使用海明编码来进行错误检测和纠正,数据传 输率高。
 需要多个磁盘来存放海明校验码信息,冗余磁 盘数量与数据磁盘数量的对数成正比。
 是一种在多磁盘易出错环境中的有效选择。并 未被广泛应用,目前还没有商业化产品。
 为什么没有商业化产品?

RAID-3 (bit/byte-interleaved parity)
 位交叉奇偶校验盘阵列
 单盘容错并行传输:数据以位或字节交叉存储,
奇偶校验信息存储在一台专用盘上。
位或字节
校验码 产生器
A1
A2
A3
A校验码
A0
B0
B1
B2
B3
B校验码
C0
C1
C2
C3
C校验码
D0
D1
D2
D3
D校验码

RAID-3特点
 将磁盘分组,读写要访问组中所有盘,每组中 有一个盘作为校验盘。
 校验盘一般采用奇偶校验。
 简单理解:先将分布在各个数据盘上的一组数 据加起来,将和存放在冗余盘上。一旦某一个 盘出错,只要将冗余盘上的和减去所有正确盘 上的数据,得到的差就是出错的盘上的数据。
 优点:高数据传输率,空间开销小。
 缺点:恢复时间较长,不能同时支持多个IO请求。

RAID-3读写特点
假定:有4个数据盘和1个冗余盘: • 读出数据时通常涉及所有磁盘;
• 写数据需要3次磁盘读和2次磁盘写操作【如下图】。 统瓶颈!!!
读操作 读操作
读操作
校验盘是系
D0 ‘
D0
D1
D2
D3
P
异或
D0 ‘
写操作
写操作
D1
D2
D3
P’

RAID-4 (block-interleaved parity)
 专用奇偶校验独立存取盘阵列
 数据以块(块大小可变)交叉的方式存于各盘,
奇偶校验信息存在一台专用盘上。
数据块
校验码 产生器
A0
A1
A2
A3
A校验码
B0
B1
B2
B3
B校验码
C0
C1
C2
C3
C校验码
D0
D1
D2
D3
D校验码

RAID-4特点
 冗余代价与RAID-3相同
 访问数据的方法与RAID-3不同
 在RAID-3中,一次磁盘访问将对磁盘阵列中的所
有磁盘进行操作。
 RAID-4出现的原因:
 希望使用较少的磁盘参与操作,以使磁盘阵列可以并行 进行多个数据的磁盘操作。

RAID-4读写特点
假定:有4个数据盘和1个冗余盘
• 读出数据,仅仅需要读取数据对应的磁盘; • 写数据需要2次磁盘读和2次磁盘写操作。
校验盘也是系
统瓶颈!!!
读操作
读操作
异或
异或
D0 ‘
D0
D1
D2
D3
P
D0 ‘
写操作
写操作
D1
D2
D3
P’

RAID-5 (block-interleaved distributed parity)
 块交叉分布式奇偶校验盘阵列
 数据以块交叉的方式存于各盘,无专用冗余盘, 奇偶校验信息均匀分布在所有磁盘上。
校验码
产生器
A0
B0
C0
D0
0校验码
A1
B1
C1
1校验码
E1
A2
B2
2校验码
D2
E2
A3
3校验码
C3
D3
E3
4校验码
B4
C4
D4
E4

RAID-5的校验信息分布
瓶颈
P0 P1
P2
P3 P4
P5 …..
01 45
89
12 13 16 17
20 21
23 01 67 45
1011 89
2 3 P0 6 P1 7
P2 10 11
13 14 15 17 18 19
22 25 P5
….. ….. …..
RAID5
14 15 18 19
22 25
12 P3 P4 16
20 21
….. …..
….. ….. ….. ….. RAID3 和 RAID4

RAID-6
 双维奇偶校验(P+Q校验)独立存取盘阵列
 数据以块(块大小可变)交叉方式存于各盘,检、 纠错信息均匀分布在所有磁盘上。
校验码
产生器
A0
B0
C0
0校验码
A1
B1
1校验码
A校验码
A2
2校验码
B校验码
D1
3校验码
C校验码
C1
D2
D校验码
B2
C2
D3

RAID-6特点
 读操作与RAID-5类似;
 可容忍双盘出错,适用于高可靠性要求的场景;  存储开销是RAID-5的两倍;
 RAID-6的写过程需要6次磁盘操作。  过程是怎么样的呢?

RAID的实现与发展
 实现盘阵列的方式主要有三种
 软件方式:阵列管理软件由主机来实现
 优点:成本低
 缺点:过多地占用主机时间,并且带宽指标上不去。  阵列卡方式
 把RAID管理软件固化在I/O控制卡上
 从而可不占用主机时间,一般用于工作站和PC机。  子系统方式
 这是一种基于通用接口总线的开放式平台,可用于各种主 机平台和网络系统。

RAID的实现与发展
 盘阵列技术研究的主要热点问题  新型阵列体系结构;
 RAID结构与其所记录文件特性的关系;
 在RAID冗余设计中,综合平衡性能、可靠性和开
销的问题;
 超大型盘阵列在物理上如何构造和连结的问题。

内容概要
6.1 引言
6.2 外部存储设备
6.3 可靠性、可用性和可信性
6.4 廉价磁盘冗余阵列RAID
6.5 I/O设备与CPU和存储器的连接 6.6 I/O与操作系统

6.5 I/O设备与CPU和存储器的连接  通过接口将许多子系统连接起来
 接口使用的最多的就是总线  输入输出方式:
 程序查询 中断
 DMA 通道

总线 (bus)
 优点:低成本、多样性
 BitBus, MultiBus, UniBus, PC-Bus(8), AT-Bus(16), PCI, Compact PCI, PCI-E, PCI-X, VXI, PXI, SCXI, RS-232C, RS-422, RS-485, USB, 1394, SATA, PATA, SCSI, AMBA …
 缺点:必须独占使用,造成了设备信息交换的 瓶颈,从而限制了系统中总的I/O吞吐量。
 多核系统逐渐转到基于NoC的架构上的主要原因

总线的设计
选择
高性能
低价格
总线宽度
独立的地址和 数据总线
分时复用数据和 地址总线
数据总线 宽度
越宽越快 (例如:64位)
越窄越便宜 (例如:8位)
传输块大小
块越大总线开销越小
每次传送单字
总线主设备
多个(需要仲裁)
单个(无需仲裁)
分离事务
采用
不用
定时方式
同步
异步

总线的设计
 分离事务总线
 在有多个主设备时,总线通过数据打包来提高总线带
宽(将总线事务分为请求和应答),而不必在整个传 输过程中都占有总线。
地址 地址1 地址2 地址3 数据 数据0 数据1 等待 等待1 完成1

总线的设计  同步总线
 同步总线上所有设备使用统一的总线系统时钟。
 优点:成本低,因为它不需要设备之间互相确定时序
的逻辑。
 缺点:总线操作必须以相同的速度运行。
 异步总线
 异步总线上的设备之间没有统一的系统时钟,设备自
己内部定时。

几种常用的并行总线
IDE / Ultra ATA
SCSI
PCI
PCI-X
数据宽度
16bit
8 / 16bit
32 / 64bit
32 / 64bit
时钟频率 MHz
100
10(Fast) 20(Ultra) 40(Ultra2) 80(Ultra3) 160(Ultra4)
33 / 66
66 / 100 / 133
主设备数量
一个
多个
多个
多个
峰值带宽
200MB/s
320MB/s
533MB/s
1066MB/s
同步方式
异步
异步
同步
同步
标准

ANSI X3.131


并行总线宽度大,适合于速度要求高的场合。

几种常用的串行总线
I2C
1-wire
RS-232
SPI
数据宽度(bit)
1
1
2
1
信号线数量
2
1
9 / 25
3
时钟频率(MHz)
0.4 ~ 10
异步
0.04或异步
异步
总线主设备数量
多个
多个
多个
多个
峰值带宽(Mb/s)
0.4 ~ 3.4
0.014
0.192
1
同步方式
异步
异步
异步
异步
标准


EIA, ITU-T V.21

串行总线宽度小,适用于嵌入式系统。如基于RS-232的 COM1 COM2接口。

设备的连接
 典型的总线连接 -主存总线
CPU
Cache
CPU
总线适配器
主存
总线
I/O控制器 I/O控制器
网络
I/O
I/O控制器
图形显示

设备的连接
 CPU寻址I/O设备的方式
 存储器映射I/O或统一编址
 I/O设备单独编址
 无论选择哪一种编址方法,每个I/O设备都提供 状态寄存器和控制寄存器。
 设备的连接和工作方式
 程序查询、中断、DMA、通道处理机

设备的连接
 程序查询、中断和DMA方式管理外围设备会
引起两个问题:
 所有外围设备的I/O工作都要涉及CPU,CPU的I/O 负担很重,不能专心于用户程序的计算。
 大型计算机系统中的外围设备台数众多,CPU管理 的开销巨大。
 解决上述问题的方法:  采用通道处理机

通道
 通道处理机能够负担外围设备的大部分I/O工作。
 通道处理机:能够执行有限I/O指令,并且能够 被多台外围设备共享的小型DMA专用处理机。
 通道的功能:
1 接受CPU发来的I/O指令,从而指定外围设备与通道相
连接;
2 执行通道程序,从主存中取出通道指令,对通道指令进 行译码,向被选中的设备控制器发出操作命令;
3 给出外围设备的有关地址,即进行读/写操作的数据所 在的位置。如磁盘存储器的柱面号、磁头号、扇区号等;

通道
 通道的功能:
4 给出主存缓冲区的首地址,存放从外围设备上输入/将
要输出到外围设备中去的数据。
5 控制外围设备与主存缓冲区之间数据交换的个数,并进 行计数,并判断数据传送工作是否结束。
6 指定传送工作结束时要进行的操作。
7 检查外围设备的工作状态,是正常或故障。根据需要将 设备的状态信息送往主存指定单元保存。
8 在数据传输过程中完成必要的格式变换。例如:把字拆 卸为字节,或者把字节装配成字。

通道
 通道对外围设备的控制通过I/O接口和设备控制 器进行,工作过程如下:
1. 在用户程序中使用访管指令进入管理程序,由CPU通 过管理程序组织一个通道程序,并启动通道。
2. 通道处理机执行CPU为它组织的通道程序,完成指定 的数据I/O工作。通道处理机执行通道程序是与CPU执 行用户程序并行的。
3. 通道程序结束后向CPU发中断请求。CPU响应这个中 断请求后,第二次进入操作系统,调用管理程序对I/O 中断请求进行处理。

通道
用户程序
管理程序 通道程序
访管
入口
OC
设备号
OC
交换长度
OC
主存起始地址
通道程序
断开通道指令
通道程序
置通道地址字
启动 I/O
广义 指令 和 参数
I/O 中断响应
I/O 中断返回
中断处理程序

通道
 通道程序、管理程序和用户程序的执行时间
请求 I/O 访管指令 响应 I/O 中断请求
时间
CPU 运行用户程序
CPU 运行 I/O 管理程序 通道运行存放在主存中的通道程序
编制通道程序
启动 I/O 操作
登记或处理
组织 I/O 操作
向 CPU 发中断请求

通道
 通道种类,通常分为3类:  字节多路通道
 选择通道
 数组多路通道
通道总线
……
通道总线
……
设备 …… 设备 通道总线
……
字节多 路通道
CPU
选择 通道
磁盘 控制器
磁盘 控制器
设备 控制器
设备
设备 控制器
数组多 路通道
设备 控制器
设备 控制器
设备
磁盘
磁盘 …… 磁盘
主存
设备 …… 设备

通道
 字节多路通道
 为多台低速或中速的外围设备服务;
 采用分时方式工作,依靠它与CPU之间的高速数据 通路分时为多台设备服务。
 选择通道
 为多台高速外围设备服务;
 传送数据期间,通道只能为一台高速外围设备服务, 在不同时间内可以选择不同设备。

通道
 数组多路通道
 数组多路通道适于为高速设备服务;
 每次选择一个高速设备后传送一个数据块,并 轮流为多台外围设备服务;
 数组多路通道之所以能够并行地为多个高速外 围设备服务,是因为这些高速外围设备并不能 在整个数据输入输出时间内单独利用通道的全 部传输能力。

通道
 通道中的数据传送过程
 字节多路通道的数据传送过程
 通道每连接一个外围设备,只传送一个字节,然后又与另 一台设备连接,并传送一个字节。
 数组多路通道的数据传送过程
 每连接一台高速设备,传送一个数据块,传送完成后,又
与另一台高速设备连接,再传送一个数据块。  选择通道的工作过程
 每连接一个外围设备,就把这个设备的n个字节全部传送 完成,然后再与另一台设备相连接。

通道
 通道中数据的传送过程与流量分析
 通道流量:一个通道在数据传送期间,单位时间内 能够传送的最大数据量,一般用字节个数来表示。 又称为通道吞吐率,通道数据传输率等。
 通道最大流量:一个通道在满负荷工作状态下的流 量。

通道
 流量计算公式
 TS:设备选择时间。
 TD:传送一个字节所用的时间。
 p:在一个通道上连接的设备台数,且这些设备同时都 在工作。
n: 每台设备传送的字节数,这里为了方便分析假设每 台设备传送的字节数都相同。
 k:数组多路通道传输的一个数据块中的包含的字节数。 在一般情况下,k

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] 代写 C computer architecture network Computer Architecture
30 $