第 6 章 输入输出系统

68
计计计 计计计 chapter6.1 第6第 第第第第第6.1 第第 6.2 第第第第第第第 6.3 第第 6.4 I/O 第第第第6.5 I/O 第 第第

Upload: dermot

Post on 09-Jan-2016

104 views

Category:

Documents


9 download

DESCRIPTION

6.1 概述 6.2 存储设备的种类 6.3 总线 6.4 I/O 与操作系统 6.5 I/O 系统设计. 第 6 章 输入输出系统. 6.1 概述. I/O 指处理器和存储器以外的部件 Disk,tape,LAN,WAN 等 过去的状况 性能在人们心目中不是很关心 特点: 外部的,非优先的,不常用的,慢速的 例外情况: swap 区 结论:不重视 I/O 性能. 目前 新的应用不断出现,特别是多媒体应用 I/O 设备种类繁多 网络技术,通信技术的发展 结果: 系统总线的性能直接关系到系统整体性能 不同机器配置构成是不同的 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 6 章   输入输出系统

计算机体系结构 chapter6.1

第 6 章 输入输出系统

6.1 概述

6.2 存储设备的种类

6.3 总线

6.4 I/O与操作系统

6.5 I/O 系统设计

Page 2: 第 6 章   输入输出系统

计算机体系结构 Chapter6.2

6.1 概述I/O 指处理器和存储器以外的部件

•Disk,tape,LAN,WAN 等过去的状况

•性能在人们心目中不是很关心•特点:外部的,非优先的,不常用的

,慢速的•例外情况: swap 区•结论:不重视 I/O 性能

Page 3: 第 6 章   输入输出系统

计算机体系结构 Chapter6.3

目前•新的应用不断出现,特别是多媒体应用•I/O 设备种类繁多•网络技术,通信技术的发展•结果:系统总线的性能直接关系到系统整体性能•不同机器配置构成是不同的•即使是 PC 也略有不同(价格,功耗)

Page 4: 第 6 章   输入输出系统

计算机体系结构 Chapter6.4

系统性能和 CPU 性能性能指标

• 吞吐率• 响应时间

当任务都在 memory 中时,主要关注 CPU 性能

当任务很大或任务访问的数据很大时,并分布在多个文件时,如 OLTP, 数据库应用等, I/O性能十分重要

Page 5: 第 6 章   输入输出系统

计算机体系结构 Chapter6.5

影响系统性能的因素• CPU, Compiler, OS, Cache, Main Memory

• Memory - I/O bus

• I/O 控制器或 I/O 通道• I/O 驱动程序和中断处理程序• I/O 设备

- 自动化程度,内部缓冲大小,设备控制参数对响应时间和吞吐率的影响

I/O 系统性能参数• 连接特性:哪些 I/0 设备可以和计算机系统连接• I/O 系统的容量: I/O 系统容纳的 I/O 设备数

衡量 I/O 系统性能的另一种方法• 考虑 I/O 操作对 CPU 的打扰情况:即考察某个进程执行时,由于

其他进程的 I/O 操作,使得该进程的执行时间增加了多少

Page 6: 第 6 章   输入输出系统

计算机体系结构 Chapter6.6

典型的系统

Page 7: 第 6 章   输入输出系统

计算机体系结构 Chapter6.7

关键是系统性能的平衡 Amdahl 定律 I/O 操作与 CPU 执行重叠

• TimeWorkload = Timecpu + TimeI/O – Timeoverlap

响应时间与吞吐率的关系

Page 8: 第 6 章   输入输出系统

计算机体系结构 Chapter6.8

I/O 系统的可靠性、可用性和可信性 系统的可靠性( reliability )

• 指系统从某个初始参考点开始一直连续提供服务的能力• 通常用平均无故障时间 MTTF(Mean Time To Failure) 来度量• 系统中断服务的时间用平均修复时间 MTTR ( Mean Time To Repair) 来

度量• 系统失效率: MTTF 的倒数• 如果系统中每个模块的生存期服从指数分布,则系统整体失效率是各部件

的失效率之和

系统的可用性( availability )• 指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率• 可用性 = MTTF / (MTTF + MTTR)

• 平均故障间隔时间 MTBF = MTTF + MTTR

系统的可信性( dependability )• 指服务质量,即在多大程度上可以合理地认为服务是可靠的• 可信性 与可靠性和可用性不同,它是不可度量的

Page 9: 第 6 章   输入输出系统

计算机体系结构 Chapter6.9

例题 假设磁盘子系统的组成部件和它们的 MTTF 如下:

( 1 )磁盘子系统由 10 个磁盘构成,每个磁盘的 MTTF 为1000000 个小时

( 2 ) 1 个 SCSI 控制器,其 MTTF 为 500000 小时

( 3 ) 1 个不间断电源,其 MTTF 为 200000 小时

( 4 ) 1 个风扇,其 MTTF 为 200000 小时

( 5 ) 1 根 SCSI 连线,其 MTTF 为 1000000 小时

假定每个部件的生存期服从指数分布,同时假定各部件的故障是相互独立的,求整个系统的 MTTF 。

Page 10: 第 6 章   输入输出系统

计算机体系结构 Chapter6.10

I/O 系统设计需考虑的主要问题I/O 设备的类型

•Size, Bandwidth, 传送方式•使用频度•延迟还是立即进行

存储器和 I/O 总线设备控制器是如何工作的

Page 11: 第 6 章   输入输出系统

计算机体系结构 Chapter6.11

一些典型的 I/O 设备

Page 12: 第 6 章   输入输出系统

计算机体系结构 Chapter6.12

6.2 存储设备的种类磁盘设备

•磁盘•半导体盘•盘阵列

磁带设备光盘设备

Page 13: 第 6 章   输入输出系统

计算机体系结构 Chapter6.13

Disk Figure of Merit: Areal Density Bits recorded along a track

• Metric is Bits Per Inch (BPI) Number of tracks per surface

• Metric is Tracks Per Inch (TPI) Disk designs brag about bit density per unit area

• Metric is Bits Per Square Inch: Areal Density = BPI x TPI

Year Areal Density1973 2 1979 8 1989 63 1997 3,090 2000 17,100 2006 130,000

1

10

100

1,000

10,000

100,000

1,000,000

1970 1980 1990 2000 2010

Year

Are

al D

ensi

ty

Page 14: 第 6 章   输入输出系统

计算机体系结构 Chapter6.14

磁盘-磁盘结构

Page 15: 第 6 章   输入输出系统

计算机体系结构 Chapter6.15

磁盘-磁盘性能( 1/3)访问磁盘时间 为 :

排队时间+寻道时间+旋转时间+传输时间+控制器开销

寻道时间• 若要读写扇区,磁盘控制器首先发出命令,将磁头移动到包含有

所需数据的磁道上,这个过程称为“寻道”,所需要的时间叫做“寻道时间”。

• 最小寻道时间,最大寻道时间(实际测量)• 平均寻道时间(统计结果)

旋转时间• 所需扇区转到磁头下所需要的时间。大部分磁盘的转速在 3600

rpm 到 12000rpm 。平均延迟是磁盘旋转半圈的时间。即 TAR = 0.5r /转速

Page 16: 第 6 章   输入输出系统

计算机体系结构 Chapter6.16

磁盘-磁盘性能( 2/3)

传输时间 : 指在磁头下传输一个数据块所花费的时间。与传输时间对应的重要 I/O 参数为数据传输率。现在磁盘驱动器上都有用半导体存储器组成的数据缓冲器,从盘面上读出的数据先送到缓冲器,再从缓冲器经过接口送主机。数据传输率有两种

• 内部传输率:从盘面- > 缓冲器• 外部传输率:从缓冲器- > 主机

Page 17: 第 6 章   输入输出系统

计算机体系结构 Chapter6.17

磁盘-磁盘性能( 3/3)

控制器时间:控制器在执行 I/O 访问时的额外开销

等待磁盘空闲的时间 (排队时间 )

磁盘成本:每兆字节的成本

Page 18: 第 6 章   输入输出系统

计算机体系结构 Chapter6.18

磁盘-半导体盘按磁盘访问方式工作的 DRAM阵列固态盘: DRAM 加一个保持系统数据的电池构成

扩充存储器:只支持块传送的大容量存储器中的区域

Page 19: 第 6 章   输入输出系统

计算机体系结构 Chapter6.19

Future Disk Size and Performance

Continued advance in capacity (60%/yr) and bandwidth (40%/yr)

Slow improvement in seek, rotation (8%/yr)

Time to read whole disk

Year Sequentially Randomly (1 sector/seek)

1990 4 minutes 6 hours

2000 12 minutes 1 week(!)

2006 56 minutes 3 weeks (SCSI)

2006 171 minutes 7 weeks (SATA)

Page 20: 第 6 章   输入输出系统

计算机体系结构 Chapter6.20

Use Arrays of Small Disks?

14”10”5.25”3.5”

3.5”

Disk Array: 1 disk design

Conventional: 4 disk designs

Low End High End

Katz and Patterson asked in 1987: “Can smaller disks be used to close gap in performance between disks and CPUs?”

Page 21: 第 6 章   输入输出系统

计算机体系结构 Chapter6.21

Replace Small Number of Large Disks with Large Number of Small Disks! (1988 Disks)

Capacity

Volume

Power

Data Rate

I/O Rate

MTTF

Cost

IBM 3390K

20 GBytes

97 cu. ft.

3 KW

15 MB/s

600 I/Os/s

250 KHrs

$250K

IBM 3.5" 0061

320 MBytes

0.1 cu. ft.

11 W

1.5 MB/s

55 I/Os/s

50 KHrs

$2K

x70

23 GBytes

11 cu. ft.

1 KW

120 MB/s

3900 IOs/s

??? Hrs

$150K

Disk Arrays have potential for large data and I/O rates, high MB per cu. ft., high MB per KW, but what about reliability?

9X

3X

8X

6X

Page 22: 第 6 章   输入输出系统

计算机体系结构 Chapter6.22

Array Reliability

• Reliability of N disks = Reliability of 1 Disk ÷ N

50,000 Hours ÷ 70 disks = 700 hours

Disk system MTTF: Drops from 6 years to 1 month!

• Arrays (without redundancy) too unreliable to be useful!

Hot spares support reconstruction in parallel with access: very high media availability can be achievedHot spares support reconstruction in parallel with access: very high media availability can be achieved

Page 23: 第 6 章   输入输出系统

计算机体系结构 Chapter6.23

磁盘-磁盘冗余阵列 RAID(Rapid Array of Inexpensive Disks) 容量大,速度快,可靠性高,造价低廉的存储技术

通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能

通过把数据分成多个数据块,并行写入 /读出多个磁盘,以提高访问磁盘的速度

通过镜像或数据校验操作提供容错能力

根据实际情况选择适当的 RAID级别,可以满足用户对存储系统可用性、性能和容量的要求

Page 24: 第 6 章   输入输出系统

计算机体系结构 Chapter6.24

RAID级别数组种类 英文简述 硬盘容错

吗 ?N 颗硬盘可用容量

RAID level 0 Stripe / Span No N

RAID level 1 Mirror Yes N÷2

RAID level 3 Parallel with Parity Yes N—1

RAID level 4 Parallel with Parity Yes N—1

RAID level 5 Striped with Rotating Parity Yes N—1

RAID level 0+1 Mirror + Stripe Yes N÷2

Page 25: 第 6 章   输入输出系统

计算机体系结构 Chapter6.25

RAID 0 无冗余。整个逻辑盘的数据被分条分布在多个物理盘上,

可以并行读 /写,提供最快的速度,至少两个盘。 可靠性差

Page 26: 第 6 章   输入输出系统

计算机体系结构 Chapter6.26

RAID 1镜像:把一个磁盘的数据镜像到另一个磁盘上 每个盘是另一个盘的校验盘,所写的文件在两个盘上,一旦一个失效,可以从另一个盘上恢复。盘利用率为 50%

Page 27: 第 6 章   输入输出系统

计算机体系结构 Chapter6.27

RAID 0+1 把 RAID 0 和 RAID 1 技术结合起来,数据除分布在多个盘

上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响可用性,并具有快速读写能力,要求至少 4 个硬盘,才能做 RAID 0+1

Page 28: 第 6 章   输入输出系统

计算机体系结构 Chapter6.28

RAID 2位交叉式海明编码阵列(存储器式 ECC) 。原理上比较优越,但冗余开销太大,未被广泛使用

所需的冗余盘的个数为 log2m级, m 是数据盘的个数,即数据字的位数

• Overhead Cost 20%~40%

• Useable Storage Capacity 71%~83%

虽然在分级上有这一级,但实际上没有商业化的产品

Page 29: 第 6 章   输入输出系统

计算机体系结构 Chapter6.29

RAID 3 , RAID 4 两种方式类似,数据是以位或字节( RAID3) , 或以块( RAID4 )为单位交叉方式存储

Page 30: 第 6 章   输入输出系统

计算机体系结构 Chapter6.30

RAID3 vs. RAID 4

RAID 3

•带有一个专门的校验盘来存储校验信息• 当一个成员盘故障时,控制器可以从校验盘重新恢复 /

生成丢失的数据,要求至少三块盘•我们需权衡,从故障恢复的时间和成本•校验 = 所有磁盘块的和•写操作时,必须存取所有盘,这可能是性能瓶颈

RAID 4

• 与 RAID 3 类似,但校验和仅是针对一块• 因此,只需对目标盘和校验盘存取• 问题是并发写时,校验盘是性能的瓶颈

Page 31: 第 6 章   输入输出系统

计算机体系结构 Chapter6.31

RAID 5 数据以块交叉的方式存于各盘,但无专用的校验盘,而是将冗余的奇偶校验信息均匀地分布在所有磁盘上

校验盘不再写在同一盘上 可能会减少写冲突 因此在连续写情况下有较高的性能

Page 32: 第 6 章   输入输出系统

计算机体系结构 Chapter6.32

RAID 4 vs. RAID 5

Page 33: 第 6 章   输入输出系统

计算机体系结构 Chapter6.33

实现盘阵列的方式

软件方式阵列卡方式子系统方式

Page 34: 第 6 章   输入输出系统

计算机体系结构 Chapter6.34

6.3 总线 总线的概念

• 共享的通信链路• 由一组线连接多个子系统• 是构成大而复杂系统的基本工具

总线的主要特点• 多样性 新的设备很容易添加到系统中。由于采用相同的总线标准,不同计算机上

的外设可以互换• 低成本:多台设备共享一组线

总线的主要缺点• 由于其独占性,造成通信瓶颈:总线的带宽限制了最大的 I/O 吞吐量• 总线的速度受限于总线的长度,总线上设备的数量以及所需支持的设备的

种类• 这些设备可能延迟各不相同,数据传输率也不相同

Page 35: 第 6 章   输入输出系统

计算机体系结构 Chapter6.35

Page 36: 第 6 章   输入输出系统

计算机体系结构 Chapter6.36

6.3.1 总线的基本组成

控制线• 服务请求与确认信号• 指示数据线上信息的类型

数据线:源设备与目的设备之间的信息交换• 数据和地址• 复杂的命令

Data Lines

Control Lines

Page 37: 第 6 章   输入输出系统

计算机体系结构 Chapter6.37

主设备和从设备

总线事务包括两部分• 发出命令(和地址)-请求• 传送数据 -实际操作

主设备指启动事务发送命令和地址的设备

从设备是响应主设备请求,发送数据给主设备或从主设备接收数据的设备

BusMaster

BusSlave

Master issues command

Data can go either way

Page 38: 第 6 章   输入输出系统

计算机体系结构 Chapter6.38

6.3.2 总线的类型 Processor-Memory Bus (design specific)

• 短而高速• 仅需匹配存储系统,使 memory-to-processor 的带宽最大• 直接连到 CPU

• 优化 Cache 块的传送

I/O Bus (industry standard)• 通常比较长,较慢• 需要适应较大范围的 I/O 设备( I/O 设备种类多)• 一般连接到 processor-memory bus 或 backplane bus

Backplane Bus (standard or proprietary)• Backplane: 机箱内组件间的互连方式• 可以将 processors, memory 和 I/O devices 连接在一起• 低成本:一条总线连接所有设备

Serial Buses (wholescale move to serial interconnects)

Page 39: 第 6 章   输入输出系统

计算机体系结构 Chapter6.39

例如 Pentium System Organization

Processor/MemoryBus

PCI Bus

I/O Busses

Page 40: 第 6 章   输入输出系统

计算机体系结构 Chapter6.40

计算机系统的单总线结构:Backplane Bus

一条总线用于 CPU-Memory, I/O 之间,以及 I/O-Memory之间的通信

优点:简单,便宜

缺点:慢,总线是性能瓶颈

例如: IBM PC-AT

Processor Memory

I/O Devices

Backplane Bus

Page 41: 第 6 章   输入输出系统

计算机体系结构 Chapter6.41

双总线结构

I/O BUS 通过 Bus Adaptor 连到 Processor-Memory Bus

• Processor-Memory Bus 主要进行 CPU-Memory 之间的数据传送• I/O Buses: 提供 I/O扩展槽

如 Apple Macintosh-II• NuBus: Processor , Memory 以及一些快速 I/O 设备• SCCI Bus: 其余的 I/O 设备

Processor Memory

I/OBus

Processor Memory Bus

BusAdaptor

BusAdaptor

BusAdaptor

I/OBus

I/OBus

Page 42: 第 6 章   输入输出系统

计算机体系结构 Chapter6.42

三总线结构

加入一些 Backplane Bus• Processor-Memory Bus仅用于 CPU-Memory 之间的数据交换• I/O 总线连到 Backplane Bus

Processor-Memory Bus 上的通信量进一步减少

Processor Memory

Processor Memory Bus

BusAdaptor

BusAdaptor

BusAdaptor

I/O BusBackplane Bus

I/O Bus

Page 43: 第 6 章   输入输出系统

计算机体系结构 Chapter6.43

The move from Parallel to Serial I/O

CPU I/O IF

I/O 1 I/O 2

Shared Parallel Bus WiresCentral Bus

Arbiter

CPU I/O IF

I/O 1

I/O 2

Dedicated Point-to-point Serial Links

• Parallel bus clock rate limited by clock skew across long bus (~100MHz)• High power to drive large number of loaded bus lines• Central bus arbiter adds latency to each transaction, sharing limits throughput• Expensive parallel connectors and backplanes/cables (all devices pay costs)• Examples: VMEbus, Sbus, ISA bus, PCI, SCSI, IDE

• Point-to-point links run at multi-gigabit speed using advanced clock/signal encoding (requires lots of circuitry at each end)• Lower power since only one well-behaved load• Multiple simultaneous transfers• Cheap cables and connectors (trade greater endpoint transistor cost for lower physical wiring cost), customize bandwidth per device using multiple links in parallel• Examples: Ethernet, Infiniband, PCI Express, SATA, USB, Firewire, etc.

Page 44: 第 6 章   输入输出系统

计算机体系结构 Chapter6.44

Main components of Intel Chipset: Pentium 4

Northbridge:• Handles memory

• Graphics

Southbridge: I/O• PCI bus

• Disk controllers

• USB controllers

• Audio

• Serial I/O

• Interrupt controller

• Timers

Page 45: 第 6 章   输入输出系统

计算机体系结构 Chapter6.45

review

存储设备• 磁盘• 磁盘阵列

总线• 总线的基本组成• 总线的基本类型• 总线的定义

Page 46: 第 6 章   输入输出系统

计算机体系结构 Chapter6.46

6.3.4 总线的定义

Bunch of Wires

Physical / Mechanical Characteristics – the connectors

Electrical Specification

Timing and Signaling Specification

Transaction Protocol

Page 47: 第 6 章   输入输出系统

计算机体系结构 Chapter6.47

问题之一:同步总线和异步总线 同步总线 :

• 总线信号中包含时钟信号• 通信以相对于该时钟固定的协议进行• 优点:控制逻辑简单,速度快• 缺点:

- 总线上的每一设备必须以相同的时钟速率运行- 为避免时钟信号扭曲,总线较短

异步总线 :• 没有统一的时钟信号• 可以适应多种速度的设备• 总线可以较长,不必担心时钟扭曲• 需要握手协议

Page 48: 第 6 章   输入输出系统

计算机体系结构 Chapter6.48

典型的同步协议

BReq

BG

Cmd+AddrR/WAddress

Data1 Data2Data Data1

Wait

从设备标识何时数据传送准备好然后进行实际的数据传送

Page 49: 第 6 章   输入输出系统

计算机体系结构 Chapter6.49

简单的同步协议

BReq

BG

Cmd+AddrR/WAddress

Data1 Data2Data

存储器总线的同步协议要复杂一些• 存储器读写数据需要一定的时间• 可能需要控制数据传输率

Page 50: 第 6 章   输入输出系统

计算机体系结构 Chapter6.50

异步握手协议 -写事务时序Address

Data

write

Req

Ack

Master Asserts Address

Master Asserts Data

Next Address

Write Transaction

t0 t1 t2 t3 t4 t5 t0 : 主设备获得总线控制权,发出地址信号,数据信号以及读写信号,等待从设备

t1: 主设备发出请求信号 t2: 从设备发出应答信号,指示接收数据 t3: 主设备释放请求信号 t4: 从设备释放应答信号

Page 51: 第 6 章   输入输出系统

计算机体系结构 Chapter6.51

读事务时序

t0 : 主设备获得总线控制权,发出地址信号和读写信号,等待从设备 t1: 主设备发出请求信号 t2: 从设备发出应答信号,指示数据传送准备好 t3: 主设备释放请求信号,接收数据 t4: 从设备释放应答信号

Address

Data

Read

Req

Ack

Master Asserts Address Next Address

t0 t1 t2 t3 t4 t5

Slave Data

Page 52: 第 6 章   输入输出系统

计算机体系结构 Chapter6.52

问题之二:主设备和从设备

° ° °Master Slave

Control LinesAddress LinesData Lines

总线主设备 : 具有控制总线,初始化总线事务能力的设备总线从设备:由总线事务激活的模块总线通信协议 : 说明信息传送过程中发生的事件以及时序要求 .

Page 53: 第 6 章   输入输出系统

计算机体系结构 Chapter6.53

总线事务

仲裁 : 确定哪个设备占用总线 总线请求 : 请求完成什么操作 响应操作 : 响应请求所进行的操作

Page 54: 第 6 章   输入输出系统

计算机体系结构 Chapter6.54

仲裁:总线的控制权Bus

MasterBusSlave

Control: Master initiates requests

Data can go either way

总线设计的最重要的问题之一: 希望使用总线的设备如何占用总线

只有总线主设备可以控制访问总线,它初始化事务,并控制所用的总线请求。

从设备只能响应读写请求

最简单的系统• 处理器是唯一的总线主设备• 所有的总线请求必须由处理器控制发出• 主要缺陷:处理器参与每一总线事务

Page 55: 第 6 章   输入输出系统

计算机体系结构 Chapter6.55

多个总线主设备时需要仲裁逻辑 总线仲裁方案 :

• 需要使用总线的主设备发出总线请求• 该请求信号未被确认前,主设备不能使用总线• 一旦得到总线使用权,该设备使用完总线后,必须通知仲裁器

总线仲裁方案通常考虑以下两个因素 :• 优先级:高优先级的设备优先使用总线• 公平性:低优先级的设备不能永远得不到服务

总线仲裁方案可以分为四类: 菊花链仲裁方案• 中央控制的并行仲裁方案• 分布式自选方案:希望得到总线的设备将标识该设备的设备码放到总线上• 分布式冲突检测方案:希望得到总线使用权的设备总是直接使用,发现有冲突时解决冲突

Page 56: 第 6 章   输入输出系统

计算机体系结构 Chapter6.56

菊花链方案

BusArbiter

Device 1

Highest

Priority

Device N

LowestPriorit

y

Device 2

Grant Grant Grant

Release

Request

wired-OR

优点 : 简单缺点 :

• 无法保证公平性 : 低优先级设备可能永远得不到总线使用权

• 使用菊花链确认信号也限制了总线的速度

Page 57: 第 6 章   输入输出系统

计算机体系结构 Chapter6.57

集中式仲裁方式

BusArbiter

Device 1

Device N

Device 2

Grant Req

所有的 processor-memory busses 和 high-speed I/O busses 都使用这种方式

Page 58: 第 6 章   输入输出系统

计算机体系结构 Chapter6.58

6.3.5 总线的使用

Page 59: 第 6 章   输入输出系统

计算机体系结构 Chapter6.59

提高总线带宽 独立的地址线和数据线 VS. 分时复用地址线和数据线

• 如果分别有地址线和数据线,地址信号和数据信号可以同时传送• 开销 : (a) 需要更多的信号线 , (b) 增加了复杂性

数据总线的宽度 :• 增加数据总线的宽度,使得可以用较少的总线周期传送多个字• 例如 : SPARCstation 20’s memory bus 128位宽• 开销 : 需要更多的信号线

块传送模式 :• 允许总线一次传送多个字• 只需要在开始时给出地址信息• 传送完一个字后,不放弃总线占用权,继续传送下一个字,直到传送完一块• 开销 : (a) 增加了复杂性

(b) 请求的响应时间加长

Page 60: 第 6 章   输入输出系统

计算机体系结构 Chapter6.60

提高总线的吞吐率仲裁与事务的执行重叠

• 执行当前事务期间完成下一事务的仲裁

Bus parking• 只要没有其他主设备请求,当前主设备一直占用总线,完成多个事务

包交换总线• 地址传送阶段与数据传送阶段完全分开• 这两个阶段分别仲裁• 地址阶段有标识位来标识其对应的数据

以上技术是现代大多数存储器总线使用的技术

Page 61: 第 6 章   输入输出系统

计算机体系结构 Chapter6.61

典型的总线- Parallel I/O bus

Page 62: 第 6 章   输入输出系统

计算机体系结构 Chapter6.62

典型的总线- Serial I/O bus

Page 63: 第 6 章   输入输出系统

计算机体系结构 Chapter6.63

典型的总线- CPU-memory interconnects

Page 64: 第 6 章   输入输出系统

计算机体系结构 Chapter6.64

6.4 I/O 与操作系统早期 Unix 很多使用 16位微处理器作为 I/O 控制器 I/O 与 Cache 的数据一致性问题

• 3 个 Copy - cache, memory 和 disk

• 2 个陈旧数据问题- I/O 系统将数据从 memory->I/O ,如果没有从 cache写回- I/O 系统将数据从 I/O->memory, I/O仅更新了 memory, 因此 CPU见到的是陈旧数据

• 解决办法- 第一个问题 : cache 写策略采用 write through ,否则 OS帮助进

行数据检查,如果 I/O 所访问的数据块在 cache 中,则首先进行写回操作。

- 第二个问题:保证输入后, CPU 使用最新数据。 (1) 通过 OS 来保证

( 2 )通过硬件失效该 cache 块

DMA 和 VM• 物理地址 DMA VS. VDMA

Page 65: 第 6 章   输入输出系统

计算机体系结构 Chapter6.65

6.5 I/O 系统设计 I/O 设计的复杂性

• I/O 设备千差万别- Latency

- Bandwidth

- Block Size

• I/O 系统必须具有良好的可扩充性• 性能与价格权衡• 其他互相冲突矛盾的因素

I/O 系统设计步骤• 列出计算机需要连接的 I/O 设备的类型• 列出每种 I/O 设备的指标,如容量、功耗、接口等• 列出每种 I/O 设备的价格• 记录每个 I/O 设备对系统资源的要求• 列出每种 I/O 设备所需要的存储器和 I/O 总线资源• 分析和评价这些 I/O 设备不同连接方法的性能

Page 66: 第 6 章   输入输出系统

计算机体系结构 Chapter6.66

例题 如图

Cache

Bus AdaptorTLB

CPU

memory

CPU-Memory Bus

I/O Bus

Page 67: 第 6 章   输入输出系统

计算机体系结构 Chapter6.67

首先看直接将磁盘页读入 Cache 对 CPU带来的影响。假设 每页为 16KB , Cache 块大小为 64字节 对应新页的地址不在 Cache 中; CPU 不访问新页中的任何数据 Cache 中 95% 的被替换块将再次被读取,并引起一次失效 Cache 使用写回方法,平均 50% 的块被修改过; I/O 系统缓冲能够存储一个 Cache完整的块(称为速度匹配缓冲区,

使存储器与 I/O 的速度得到匹配 访问或失效在所有 Cache 块中均匀分布; 在 CPU 和 I/O 之间,没有其他访问 Cache 的干扰 无 I/O 时,每 100万个时钟周期中,有 15000 次失效; 失效开销为 30 时钟周期。如果替换块被修改过,则再加上 30 个周期

用于写回主存 假设计算机平均每 100万周期处理 1页分析 I/O 对于性能的影响

Page 68: 第 6 章   输入输出系统

计算机体系结构 Chapter6.68

I/O 性能标准• 数据传输率( MB/s ) , 每秒 I/O 操作次数( IOPS )等

基于以下性能和价格信息: 一个 500MIPS 的 CPU ,价格为¥ 3000; 一个宽度 16字节、访问周期为 100ns 的存储器 I/O 总线传输速度为 200MB/s, 可接 20 个 SCSI-2 总线及控制器 每条 SCSI-2 总线传输率为 20MB/s ,最多连接 15 个磁盘 每个 SCSI-2 控制器价格¥ 1500 ,每次磁盘 I/O, 需要增加 1ms 的控

制器开销 每次磁盘 I/O ,操作系统要使用 10000 条 CPU 指令 对于 8GB 的大磁盘或 2GB 的小磁盘,价格均为¥ 0.25/MB; 磁盘转速为 7200r/min ,平均寻道时间为 8ms ,传输速度为 6MB/s; 要求外存容量为 200GB 平均每次 I/O 传输 16KB 假设每次磁盘访问都需要平均寻道时间和平均旋转时间的开销;所有

设备的空间利用率为 100%;工作负载在所有磁盘上均匀分布。计算使用 2GB 小磁盘或 8GB 大磁盘时,每次 IOPS 的价格。