2009-7-27 计算机系统结构 1
第四章 输入输出系统( P208)
输入输出系统 是计算机系统中实现各种输入输出任务的资源总称 。
它包括各种输入输出设备,相关的管理软件等等 。 由于输入输出设备的特殊工作性质使其数据吞吐率通常远低于主机,设计输入输出系统就是要建立数据交换的最佳方案,使双方都能高效率地工作 。
本章重点是 中断优先级管理,通道流量设计 。
2009-7-27 计算机系统结构 2
4.1 I/O原理
I/O系统能够提供处理机与外部世界进行交往或通信的各种手段。
外部世界指处理机以外的需要与处理机交换信息的人和物。
定义,在计算机系统中,通常把处理机和主存之外的部分称为 I/O系统,
它包括 I/O设备,I/O接口,I/O软件等。
CPU输入 输出存储器
2009-7-27 计算机系统结构 3
I/O系统的特点
1,异步性,外围设备相对于处理机通常是异步工作的。
原因,当设备准备好与处理机交往时,要向处理机申请服务。
但申请服务对于处理机来说,这个时间一般是随意的,
两次申请时间之间可能经过很长时间,这就造成输入输出相对于处理机的异步性和时间上的任意性。
2,实时性,当外围设备与处理机交往时,由于设备的类型不同,他们的工作步调是不相同的,处理机必须按照不同设备所要求传送方式和传输速率不失时机地为设备提供服务,
这就要求实时性控制。 处理机为了能够为各种不同类型的设备提供服务,必须具有相配合的工作方式,包括程序控制方式、中断方式、直接存储器方式等 。
3,与设备无关性,各种外部设备必须根据其特点和要求选择一种标准接口和处理机进行连接,他们之间的差别必须由设备本身的控制器通过硬件和软件来填补。这样,处理机本身无须了解外设的具体细节,可以采用统一的硬件和软件对其管理。
2009-7-27 计算机系统结构 4
4.2 基本输入输出方式 (P212)
4.2.1 程序控制 I/O方式
4.2.2 中断 I/O方式
4.2.3 DMA方式
4.2.4 通道方式
4.2.5 I/O处理机 方式
2009-7-27 计算机系统结构 5
I/O 功能的演变 (The Evolution of the I/O function)
CPU 直接控制外部设备;
增加了一个控制器或者 I/O模块。 CPU使用 P I/O方式,开始与外部设备接口具体细节脱离;
运用中断技术。 CPU不必花时间等待 I/O操作的执行;
通过 DMA,I/O模块可以直接访问内存,只在传输开始和结束的时候需要 CPU的干预;
I/O模块成为自主的处理器,使用特殊的 I/O指令集。 CPU指挥 I/O处理器执行内存中的 I/O程序。 I/O处理器只在 I/O序列全部执行后才向 CPU发出中断;
I/O模块有了自己的存储器,实际上就是一台自主的“计算机”。它可以控制大量 I/O设备,只需要 CPU很少的干预。
2009-7-27 计算机系统结构 6
程序控制 I/O方式特点
1,何时对何设备进行输入输出操作完全受 CPU控制。
2,外围设备与 CPU处于异步工作关系。
3,数据的输入输出都要经过 CPU。
4,用于连接低速外围设备输入设备 ID
输出设备 OD
处理机
CPU
主存储器
MM
程序控制方式的数据传送过程
2009-7-27 计算机系统结构 7
一台处理机管理两个速度差别很大的一个例子键盘输入再显示的框图启动设备从输入设备寄存器中读出一个字符到主存储器中从主存储器送一个字符到输出设备寄存器中
Done=1
Ready=1
结束是是否否
2009-7-27 计算机系统结构 8
在早期的计算机系统中,一台处理机在一段时间内只管理一台外围设备,处理机利用率非常低。
例如,处理机在一段时间内只能管理一台打印机。处理机执行指令的速度为 1GIPS,字长 32位,打印机每秒钟打印 100个字符。 处理机用一条指令就能向打印机传送 4个字符。 计算其处理机利用率。
解,处理机的实际利用率只有:
100/(109× 4) = 0.25× 10-7,即 4千万分之一 。
一个处理机管理多台外围设备 。处理机采用轮流循环测试方法,分时为各台外围设备服务。
程序控制输入输出方式的优点,灵活性好。可以很容易地改变各台外围设备优先级。
程序控制输入输出方式的缺点,实现处理机与外围设备并行工作困难。
2009-7-27 计算机系统结构 9
中断 I/O方式定义,当出现来自系统内部、机器内部、甚至处理机本身的任何例外的,或者虽是事先安排的,但出现在程序的什么地方是事先不知道的事件时,CPU暂停现行程序,转去处理,处理完后再继续执行原先的程序。
特点,
a) CPU与外围设备能够并行工作。
b) 能够处理例外事件。
c) 数据的输入和输出都要经过 CPU,灵活性好。
d) 一般用于连接低速外围设备。
优点,完全克服了程序控制方式中处理机和外围设备之间不能并行的缺点。
现代计算机系统中,中断输入输出方式的作用已经远远超出了为外围设备服务的范畴,成为现代计算机系统中非常重要的一个组成部分。
2009-7-27 计算机系统结构 10
DMA的特点
1,主存既可被 CPU访问,也可被外围设备访问。
2,在外围设备与主存间传送数据不需要执行程序,也不用 CPU中的数据寄存器和指令计数器,因此,不需要保护现场和恢复现场,
从而使工作速度加快。
3,外围设备和主存间的数据交换过程是要在全硬件控制下完成的,
由于它们的传送单位不同,因此,DMA控制器中还要有从字节装配成字和从字拆卸成字节的硬件。
4,在 DMA方式开始前要对 DMA控制器进行初始化,并启动设备开始工作。结束后要向 CPU申请中断,在中断服务程序中对主存中数据缓冲区进行后处理。
2009-7-27 计算机系统结构 11
DMA的特点
5,在 DMA方式中 CPU不仅能够与外围设备并行工作,而且整个数据的传送过程不需要 CPU干预。如果主存的频宽足够,外围设备的工作可以不影响 CPU运行它自身的程序。
输入设备 ID
输出设备 OD
处理机
CPU
主存储器
MM
DMA方式的数据传送过程
2009-7-27 计算机系统结构 12
中断 是为实时任务优先获得处理机资源而采用的一种调度技术,当系统中存在多个中断源时必须根据实时性强弱设定优先顺序,这也被称为 中断的分级 。
4.3 中断优先级管理 (P219)
2009-7-27 计算机系统结构 13
中断系统的软硬件功能分配
主要考虑两个因素:
1,中断响应时间,从某一中断源发出中断请求到处理机响应这个中断源的中断请求服务,并开始执行这个中断源的中断请求服务程序所用的这一段时间。在实时计算机系统中,它是整个计算机系统的一个关键性指标。
1,灵活性,一般情况下,用硬件实现速度快,但灵活性差;但软件正好相反。 这两个要求实际是矛盾的,如果用软件实现的功能多了,灵活性好了,但中断响应时间就必然要增加 。
2009-7-27 计算机系统结构 14
中断的处理过程主程序硬件排队保护原屏蔽字保护现场设置新的屏蔽字开中断中断服务处理程序关中断恢复现场和屏蔽字返回中断响应周期其它中断请求中断请求
2009-7-27 计算机系统结构 15
中断响应时间 (P223)
影响中断响应时间的因素主要有 4个:
最长指令执行时间 。在一条指令执行期间,一般不允许被中断。
但在 CISC中,有些指令的执行时间很长,甚至无法预测。为了实现这一点,在处理机中也必须采取相应的措施。
在一条指令执行完成后,处理其他更紧急的任务所用时间 。 如:
采用周期窃取方式工作的 DMA服务请求等。
从第一次“关 CPU中断”到第一次“开 CPU中断”所经历的时间。
在整个中断响应时间中,这一段时间最重要。如果用硬件来完成,中断响应时间就可以大大缩短。相反用软件实现会使响应时间很长。中断系统的软硬件功能分配,主要就是考虑这一段时间用硬件还是用软件来实现。
多个中断源同时请求中断服务时,通过软件找到相关的中断源
的中断服务程序入口所经历的时间。
以上四部分时间中,1和 3 是最重要的 。在中断系统的设计中,主要考虑
3部分时间。
2009-7-27 计算机系统结构 16
多中断源的中断处理为了兼顾中断响应的时效与配置的灵活,通常采用两套机制结合组成中断优先序管理体系 。
(1)硬件响应优先序,未被屏蔽的几个中断源同时提出申请时
,CPU选择服务对象的顺序 。 它由硬件电路实现,用户不能修改 。 如 P226图 4.11所示 。
2009-7-27 计算机系统结构 17
举例:有 4级中断源,优先级从高到低是,1级,2级,3级,4级,
当发生下图所示的中断请求时中断优先级响应次序如下:
中断请求 主程序 中断服务程序
1级 2级 3级 4级
3级,2级
4级
1级时间 T
2009-7-27 计算机系统结构 18
多中断源的中断处理
(2)软件服务优先序,在各中断服务程序开头,用软件设置自己的中断屏蔽字 ( 在主程序中也设置 ) 。 以此改变实际服务顺序 (P230)。
例如,某个硬件响应优先级高的中断源,其中断服务程序执行中屏蔽了自身,而开放了某个硬件响应优先级比它低的中断源,后者就可以在前者刚开放中断时就打断它,从而在实际上先得到服务 。
中断服务过程示意图如 P231图 4.14所示 。
由于常规用户主程序对处理机的需求紧迫性最低,所以它的中断屏蔽字是,全部开放,。
(3)实例分析,屏蔽字表,中断服务过程图 。 ( P230倒数第 8行开始 )
2009-7-27 计算机系统结构 19
例 1.中断屏蔽位某处理机共有 4个中断源
D1,D2,D3,D4,硬件中断优先级从高到低分别为 1级,2级,3
级,4级。
“1” 为屏蔽实例分析,屏蔽字表、中断服务过程图 。
2009-7-27 计算机系统结构 20
某处理机共有 4个中断源
D1,D2,D3,D4,它们在串行排队链中的硬件中断优先级从低到高分别为 1级,2级,3级,4
级。处理机本身的优先级最低,为 0级。
在中断源 D1,D2,D3、
D4的处理机状态字中,
程序员为它们设置的优先级分别为 4级,3级,2
级,1级。
例 2.改变处理机优先级
2009-7-27 计算机系统结构 21
两种方法的比较都比较灵活,但是,
1,两者使用的概念不同;
2,前者为每个中断源设置一个屏蔽位,而后者设置优先级,使用的位数少,前者可屏蔽掉任意一个或几个中断源,而后者只能屏蔽比自身低的所有中断源。
2009-7-27 计算机系统结构 22
4.4 通道处理机 (P233)
1,原因:
在大型计算机系统中,外围设备的台数一般比较多,设备的种类、
工作方式和工作速度的差别较大,为了把对外围设备的管理工作从
CPU中分离出来,采用通道处理技术。
2,不采用通道处理机技术,将会引起的问题,
a) 所有外围设备的输入输出工作全部都要由 CPU来负担,
CPU的负担很重;
b) 大型计算机系统的外围设备台数虽然很多,但是一般并不同时工作;
3,从 IBM 360系列机开始,普遍采用通道处理机技术
2009-7-27 计算机系统结构 23
4,定义,
通道处理机 (简称 "通道 ")是隶属于主处理机的输入输出专用协处理机。
分析,对于 DMA方式,每一台快速外围设备都配备一个专用的 DMA
控制器作为代价,而在大型计算机系统中,外围设备的数量显著增加,就存在效率问题,而通道处理机能够负担外围设备的大部分输入输出工作。
2009-7-27 计算机系统结构 24
有一套输入输出功能很强的专用指令系统;
与主处理机共享主存,存放相应的程序和数据;
一个通道可以连接多台外部设备;
主处理机可用 "启动 I/O"指令 来启动一个通道;
当通道访存与主处理机冲突时,存控部件赋予通道较高的优先权;
通道程序执行完毕自动转入休眠状态,同时向主处理机发出一个特定的中断申请,通知 CPU查询该事件。
5,通道的特点:
6,地位:
从属于主处理机
2009-7-27 计算机系统结构 25
通道完成一次数据输入输出的过程需三步,
(1) 在用户程序中使用访管指令进入管理程序,由 CPU通过管理程序组织一个通道程序,并启动通道;
(2) 通道处理机执行 CPU为它组织的通道程序,完成指定的数据输入输出工作;
(3) 通道程序结束后向 CPU发出中断请求,第二次调用管理程序 对输入输出请求进行处理 。
每完成一次输入输出工作,CPU只需要两次调用管理程序,大大减少了对用户程序的打扰程序。
7,通道的工作过程:
2009-7-27 计算机系统结构 26
2009-7-27 计算机系统结构 27
主存地址OC
交换长度OC
设备号OC
入口访管 通道程序置通道地址字启动 I/O
通道程序断开通道指令用户程序 管理程序 通道程序入口返回 I/O中断请求
I/O中断响应
I/O中断返回通道完成一次数据传输的主要过程
2009-7-27 计算机系统结构 28
a) 字节多路通道,是一种简单的共享通道,主要为多台低速或中速的外围设备服务。字节多路通道采用分时方式工作,依靠它与 CPU之间的高速数据通路以字节为单位交叉分时为多台设备服务。 子通道的概念。
8,通道的分类 (P238):
b) 选择通道,完成一台设备的全部传输再去为另一台设备服务。
分析,因为一些高速外围设备需要很高的速传率,则需要设置专门的通道在一段时间内单独为一台外设服务,但在不同的时间内仍可选择不同的设备。
c) 数组多路通道,结合字节多路通道和选择通道的特性,它每次选择一个高速设备后传送一个数据块,并轮流为多台外围设备服务。
分析,数组多路通道之所以能够并行的为多个高速设备服务,是因为这些高速设备并不能在整个数据输入输出时间内单独利用通道的全部能力。其实际的工作方式是通道在为一台设备服务的时候,其他的高速设备可以在进行如定位、寻址等工作。
2009-7-27 计算机系统结构 29
2009-7-27 计算机系统结构 30
字节多路通道字节交叉方式
不同设备轮流占用时间片
一次传送一个字节成组方式
时间片可以增加直到一组数据全部传送完
每次只能由一个设备独占
设备之间串行传送
2009-7-27 计算机系统结构 31
字节多路通道,
其中 n是单台设备的数据传输量;
选择通道,
数组多路通道,
其中 k是块尺寸,。
nPTTT DSB Y T E )(
nPTnTT DSS E L E C T )(
nPTkTT DSB L O C K )(
nk?
10.通道传输过程的实际有效工作时间
( P241,其中 P是设备台数 ):
2009-7-27 计算机系统结构 32
11 通道流量分析 (P243):
通道最大能力流量,
D
S
B L O C KM A X
D
S
S E L E C TM A X
DS
B Y T EM A X
T
k
T
f
T
n
T
f
TT
f
1
1
1
.
.
.
2009-7-27 计算机系统结构 33
通道实际最大负荷流量:
i
P
i
B L O C K
i
P
i
S E L E C T
P
i
iB Y T E
ff
ff
ff
1
1
1
m a x
m a x

通道正常工作条件:
jM A Xj ff,?
2009-7-27 计算机系统结构 34
实例分析( P243倒数第 2行开始)
通道时间关系图
)解:(见教材
,并作时间图。。求通道实际流量秒







秒已知:
244243
1075
1
1050
1
1030
1
1030
1
1010
1
6564
636261
PP
fff
fff
B Y T E


2009-7-27 计算机系统结构 35
2009-7-27 计算机系统结构 36
问题,
高速设备优先得到通道响应,导致低速设备长时间内得不到通道相应,数据丢失,
解决方法,
2009-7-27 计算机系统结构 37
4.5 I/O处理机( P245)
1,原因:
a) 每调用一次输入输出操作的前处理和后处理仍然要 CPU来完成;
b) 当外围设备或通道处理机出现异常情况时,通道处理机本身不能处理,要通过中断方式请求 CPU来处理;
c) 对所传送数据的格式转换、码制转换、数据块整体的正确性检验等工作仍然要 CPU来实现;
d) 文件的管理、设备的管理等操作系统的工作,通道处理机本身无能为力,需要 CPU来实现。
2009-7-27 计算机系统结构 38
2,定义:
有独立内存和操作系统的 I/O专用计算机( IOP)。
2009-7-27 计算机系统结构 39
码制转换
数据校验和校正
故障处理
文件管理
诊断和显示系统状态
处理人机对话
网络或远程终端可以直接连接到 I/O处理机上,
由 I/O处理机完成远程用户服务
3,I/O处理机除了能够完成通道处理机的全部功能之外还具有如下功能:
IOP通常是一台独立的处理器,具有一定运算能力,可承担一般的外围处理器的输入输出、控制操作和运算处理等任务。它具有自己的存储器。
2009-7-27 计算机系统结构 40
独立于 CPU异步工作,独立内存,也可共享内存
输入输出处理机之间共享运算和控制部件,或独立
根据是否共享主存:
共享主存储器的输入输出处理机,管理程序放在主存储器,
运行时导入局部存储器
不共享主存储器的输入输出处理机,管理程序全部存放在局部存储器
根据是否共享运算部件和指令控制部件
合用同一运算部件和指令控制部件的输入输出处理机
独立运算部件和指令控制部件的输入输出处理机
4,输入输出处理机的种类
2009-7-27 计算机系统结构 41
本章小结
(1) 5种 I/O方式;
(2) 中断优先级管理(屏蔽字表、中断服务过程图);
(3) 3种通道处理机的特点;
(4) 3种 通道最大能力流量 ;
(5) 3种 通道实际最大负荷流量 ;
(6) 通道正常工作条件 ;
(7) 通道时间关系图(字节多路通道) ;
习题,P250,题 5,题 8。
2009-7-27 计算机系统结构 42
SYM53C875 Chip Block Diagram
2009-7-27 计算机系统结构 43
SCSI HBA 与 HOST关系
2009-7-27 计算机系统结构 44
主处理器调度程序及中断处理程序
( 主处理器执行,,C,程序 )
S C R I P T S 程序 ( N C R 5 3 C 8 X X 执行 )
例,S C S I I n i t i a t o r,写,过程:
数据结构 ( 主处理器与 N C R 5 3 C 8 X X 公用 )
消息缓冲命令缓冲数据缓冲状态缓冲系统主存系统总线
P
C
I
写 D S P

S C R I P T S
数据
N C R
5 3 C 8 X X
......
w r i t e _ l o n g _ r e g ( D S P,a d d r ) ;
......
,s e l e c t A T N S C S I - i d,a l t _ a d d r ; 选择 T a r g e t
,m o v e 1,i d e n t i f y _ m s g _ b u f,w h e n M S G _ O U T ; 输入消息
,m o v e 6,c m d _ b u f,w h e n C M D ; 输出命令
,m o v e f r o m d a t a _ b u f,w h e n D A T A _ O U T ; 输出数据
,m o v e f r o m s t a t _ i n _ b u f,w h e n S T A T U S ; 输入状态信息
,m o v e f r o m m s g _ i n _ b u f,w h e n M S G _ I N ; 输入命令完成消息
,m o v e S C N T L 2 & 0 x 7 f t o S C N T L 2 ; S C S I 期望失连
,c l e a r A C K ; 清除 S C S I 应答
,w a i t d i s c o n n e c t a l t 2 ; 等待 S C S I 总线空闲
,i n t e n d _ o f _ S C S I _ S C R I P T ; 产生命令完成中断
S C S I