30
130 6.5 I/O 设设设 CPU 设设设设设设设 1. 设设设设设设设设设 设设设设 2. 设设设设设设设设设设设设 3. 设设设设设设 直直 直直直直 直直 DMA 直直 设设设 设设 / 设设设

6.5 I/O 设备与 CPU 和存储器的连接

  • Upload
    candie

  • View
    86

  • Download
    22

Embed Size (px)

DESCRIPTION

第六章 输入 / 输出系统. 6.5 I/O 设备与 CPU 和存储器的连接. 1. 通过接口将许多子系统连接起来 2. 接口使用得最多的就是总线 3. 输入输出方式 ◆ 直接传送 ◆ 程序查询 ◆ 中断 ◆ DMA ◆ 通道. 6.5 I/O 设备与 CPU 和存储器的连接. 6.5.1 总线 优点: 低成本、多样性 缺点: 必须独占使用,造成了设备信息交换的瓶颈, 从而限制了系统中总的 I/O 吞吐量。 1. 总线的设计. 6.5 I/O 设备与 CPU 和存储器的连接. 地址. 地址. - PowerPoint PPT Presentation

Citation preview

Page 1: 6.5 I/O 设备与 CPU 和存储器的连接

1/ 30

6.5 I/O 设备与 CPU 和存储器的连接

1. 通过接口将许多子系统连接起来2. 接口使用得最多的就是总线3. 输入输出方式

◆ 直接传送 ◆ 程序查询 ◆ 中断 ◆ DMA ◆ 通道

第六章 输入 / 输出系统

Page 2: 6.5 I/O 设备与 CPU 和存储器的连接

2/ 30

6.5.1 总线优点:低成本、多样性

缺点:必须独占使用,造成了设备信息交换的瓶颈,

从而限制了系统中总的 I/O 吞吐量。

1. 总线的设计

6.5 I/O 设备与 CPU 和存储器的连接

Page 3: 6.5 I/O 设备与 CPU 和存储器的连接

3/ 30

选择 高性能 低价格总线宽度 独立的地址和

数据总线分时复用数据和

地址总线数据总线

宽度越宽越快

(例如: 64位)越窄越便宜

(例如: 8位)传输块大小 块越大总线开销越小 每次传送单字总线主设备 多个(需要仲裁) 单个(无需仲裁)分离事务 采用 不用定时方式 同步 异步

6.5 I/O 设备与 CPU 和存储器的连接

Page 4: 6.5 I/O 设备与 CPU 和存储器的连接

4/ 30

(1) 分离事务总线 在有多个主设备时,总线通过数据打包来提高总线带宽,而不必在整个传输过程中都占有总线。

地址地址 地址地址 1 1 地址地址 2 2 地址地址 33

数据数据 数据数据 0 0 数据数据 11

等待等待 等待等待 1 1 完成完成 11

6.5 I/O 设备与 CPU 和存储器的连接

Page 5: 6.5 I/O 设备与 CPU 和存储器的连接

5/ 30

(2) 同步总线 同步总线上所有设备通过统一的总线系统 时钟进行同步。 优点:成本低,因为它不需要设备之间互相确 定时序的逻辑。 缺点:总线操作必须以相同的速度运行。

(3) 异步总线 异步总线上的设备之间没有统一的系统时 钟,设备自己内部定时。

6.5 I/O 设备与 CPU 和 / 存储器的连接

Page 6: 6.5 I/O 设备与 CPU 和存储器的连接

2. 总线标准和实例 几种常用并行 I/O 总线

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 无 无

Page 7: 6.5 I/O 设备与 CPU 和存储器的连接

7/ 30

几种常用串行 I/O 总线

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.40.014 0.192 1

同步方式 异步 异步 异步 异步标准 无 无 EIA, ITU-T

V.21无

6.5 I/O 设备与 CPU 和存储器的连接

Page 8: 6.5 I/O 设备与 CPU 和存储器的连接

8/ 30

几种 CPU- 存储器互连系统

HP HyperPlane Crossbar

IBM SP

SUN Gigaplane-XB

数据宽度 (bit) 64 128 128

时钟频率 (MHz) 120 111 83.3

总线的主设备数 多个 多个 多个每端口峰值带宽

(MB/s)960 1700 1300

总峰值带宽 (MB/s) 7680 14200 10667

同步方式 同步 同步 同步标准 无 无 无

6.5 I/O 设备与 CPU 和存储器的连接

Page 9: 6.5 I/O 设备与 CPU 和存储器的连接

9/ 30

6.5.2 设备的连接1. 典型的总线连接

CPU

Cache主存

I/O控制器

图形显示

I/O控制器 I/O控制器

总线适配器

网络

CPUCPU-主存总线-主存总线

I/OI/O 总线总线

6.5 I/O 设备与 CPU 和存储器的连接

Page 10: 6.5 I/O 设备与 CPU 和存储器的连接

10/ 30

2. CPU 寻址 I/O 设备的方式

◆ 存储器映射 I/O 或统一编址

◆ I/O 设备单独编址

无论选择哪一种编址方法,每个 I/O 设备

都提供状态寄存器和控制寄存器。

3. 设备的连接和工作方式

直接传送、程序查询、中断、 DMA 、 I/O 处理机

6.5 I/O 设备与 CPU 和存储器的连接

Page 11: 6.5 I/O 设备与 CPU 和存储器的连接

11/ 30

4. 程序控制、中断和 DMA 方式管理外围设备会引

起两个问题:

◆ 所有外围设备的 I/O 工作全部都要由 CPU来

承担, CPU 的 I/O 负担很重,不能专心于用

户程序的计算。

◆ 大型计算机系统中的外围设备台数虽然很

多,但是一般并不同时工作。

解决上述问题的方法:采用通道处理机

6.5 I/O 设备与 CPU 和存储器的连接

Page 12: 6.5 I/O 设备与 CPU 和存储器的连接

12/ 30

6.5.3 通道

通道处理机能够负担外围设备的大部分 I/O 工作。

通道处理机:能够执行有限 I/O 指令,并且能够被多

台外围设备共享的小型 DMA 专用处理机。

1. 通道的功能

6.5 I/O 设备与 CPU 和存储器的连接

Page 13: 6.5 I/O 设备与 CPU 和存储器的连接

13/ 30

(1) 接受 CPU发来的 I/O 指令,根据指令要求选 择一台指定的外围设备与通道相连接。 (2) 执行 CPU 为通道组织的通道程序,从主存中 取出通道指令,对通道指令进行译码,并根 据需要向被选中的设备控制器发出各种操作 命令。 (3) 给出外围设备的有关地址,即进行读/写操 作的数据所在的位置。 如 磁盘存储器的柱面号、磁头号、扇区号等。

6.5 I/O 设备与 CPU 和存储器的连接

Page 14: 6.5 I/O 设备与 CPU 和存储器的连接

14/ 30

(4) 给出主存缓冲区的首地址,这个缓冲区用来暂时 存放从外围设备上输入的数据,或者暂时存放将 要输出到外围设备中去的数据。(5) 控制外围设备与主存缓冲区之间数据交换的个数, 对交换的数据个数进行计数,并判断数据传送工 作是否结束。(6) 指定传送工作结束时要进行的操作。(7) 检查外围设备的工作状态,是正常或故障。根据 需要将设备的状态信息送往主存指定单元保存。

6.5 I/O 设备与 CPU 和存储器的连接

Page 15: 6.5 I/O 设备与 CPU 和存储器的连接

15/ 30

(8) 在数据传输过程中完成必要的格式变换。

例如 把字拆卸为字节,或者把字节装配成字

2. 通道的主要硬件

(1) 寄存器部分 数据缓冲寄存器 主存地址计数器 传输字节数计数器 通道命令字寄存器 通道状态字寄存器

6.5 I/O 设备与 CPU 和存储器的连接

Page 16: 6.5 I/O 设备与 CPU 和存储器的连接

16/ 30

(2) 控制部分 分时控制 地址分配 数据传送 数据装配 拆卸

3. 通道对外围设备的控制通过 I/O 接口和设备控制 器进行 通道与设备控制器之间一般采用标准的 I/O 接口来连接。

6.5 I/O 设备与 CPU 和存储器的连接

Page 17: 6.5 I/O 设备与 CPU 和存储器的连接

17/ 30

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

6.5 I/O 设备与 CPU 和存储器的连接

Page 18: 6.5 I/O 设备与 CPU 和存储器的连接

访管 入口

OC 设备号

OC 交换长度

OC 主存起始地址

用户程序

广义指令和

参数

通道程序

置通道地址字

启动 I/O

管理程序

通道程序

断开通道指令

通道程序

中断处理程序

I/O中断响应

I/O中断返回

Page 19: 6.5 I/O 设备与 CPU 和存储器的连接

19/ 30

5. 通道程序、管理程序和用户程序的执行时间关系

CPU运行用户程序

时间 请求 I/O访管指令 响应 I/O中断请求

CPU运行 I/O管理程序

通道运行存放在主存中的通道程序

编制通道程序

启动 I/O操作

组织 I/O操作

向 CPU发中断请求

登记或处理

6.5 I/O 设备与 CPU 和存储器的连接

Page 20: 6.5 I/O 设备与 CPU 和存储器的连接

20/ 30

6. 通道种类

◆ 通道分为三种类型

◆ 三种类型的通道与 CPU 、设备控制器和外围设备

的连接关系

字节多路通道 选择通道 数组多路通道

6.5 I/O 设备与 CPU 和存储器的连接

Page 21: 6.5 I/O 设备与 CPU 和存储器的连接

……

……

……

CPU

主存

字节多路通道

磁盘

控制器 磁盘

控制器

磁盘 磁盘 磁盘

……

选择

通道

设备

控制器 设备

控制器

设备 设备 设备

……

数组多路通道

设备

控制器

设备

控制器 ……

设备 设备 设备

通道总线

通道总线

通道总线

Page 22: 6.5 I/O 设备与 CPU 和存储器的连接

22/ 30

(1) 字节多路通道 ◆ 为多台低速或中速的外围设备服务; ◆ 采用分时方式工作,依靠它与 CPU 之间的高 速数据通路分时为多台设备服务。(2) 选择通道

◆ 为多台高速外围设备服务;

◆ 传送数据期间,通道只能为一台高速外围设

备服务,在不同时间内可以选择不同设备。

6.5 I/O 设备与 CPU 和存储器的连接

Page 23: 6.5 I/O 设备与 CPU 和存储器的连接

23/ 30

(3) 数组多路通道 ◆ 数组多路通道适于为高速设备服务;

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

6.5 I/O 设备与 CPU 和存储器的连接

Page 24: 6.5 I/O 设备与 CPU 和存储器的连接

24/ 30

7. 通道中的数据传送过程 (1) 字节多路通道的数据传送过程 通道每连接一个外围设备,只传送一个 字节,然后又与另一台设备连接,并传送一 个字节。 (2) 数组多路通道的数据传送过程 每连接一台高速设备,传送一个数据块, 传送完成后,又与另一台高速设备连接,再 传送一个数据块。

6.5 I/O 设备与 CPU 和存储器的连接

Page 25: 6.5 I/O 设备与 CPU 和存储器的连接

25/ 30

(3) 选择通道的工作过程

每连接一个外围设备,就把这个设备的

n个字节全部传送完成,然后再与另一台设

备相连接。

8. 通道中数据的传送过程与流量分析 动画演示

6.5 I/O 设备与 CPU 和存储器的连接

Page 26: 6.5 I/O 设备与 CPU 和存储器的连接

26/ 30

(1) 通道流量

一个通道在数据传送期间,单位时间内

能够传送的最大数据量,一般用字节个数来

表示。

又称为通道吞吐率,通道数据传输率等。

(2) 通道最大流量

一个通道在满负荷工作状态下的流量。

(3) 流量计算公式

6.5 I/O 设备与 CPU 和存储器的连接

Page 27: 6.5 I/O 设备与 CPU 和存储器的连接

27/ 30

TS:设备选择时间。 TD :传送一个字节所用的时间。 p: 在一个通道上连接的设备台数,且这些设备 同时都在工作。 n: 每台设备传送的字节数,这里假设每台设备 传送的字节数都相同。 k: 数组多路通道传输的一个数据块中的包含的 字节数。在一般情况下, k<n。对于磁盘、 磁带等磁表面存储器,通常 k=512 。 T: 通道完成全部数据传送工作所需时间。

6.5 I/O 设备与 CPU 和存储器的连接

Page 28: 6.5 I/O 设备与 CPU 和存储器的连接

28/ 30

◆ 流量计算公式 字节多路通道

选择通道

数组多路通道

np)T(TT DSBYTE

np)Tk

T(T D

SBLOCK

np)Tn

T(T D

SSELECT

6.5 I/O 设备与 CPU 和存储器的连接

Page 29: 6.5 I/O 设备与 CPU 和存储器的连接

29/ 30

◆ 最大流量

字节多路通道

选择通道

数组多路通道

DSDSBYTE-MAX TT

1

)pnT(T

pnf

DS

DS

SELECT-MAX

Tn

T1

)pnTn

T(

pnf

DS

DS

BLOCK-MAX

Tk

T1

)pnTk

T(

pnf

6.5 I/O 设备与 CPU 和存储器的连接

Page 30: 6.5 I/O 设备与 CPU 和存储器的连接

30/ 30

◆ 实际流量小于最大流量 字节多路通道

选择通道

数组多路通道

BYTEMAXBYTE ff

SELECTMAXSELECT ff

BLOCKMAXBLOCK ff

6.5 I/O 设备与 CPU 和存储器的连接