计算机系统结构第三章
中断处理
中断级屏蔽位
程序级别 1级 2级 3级 4级 5级
第1级 0 0 0 0 0
第2级 1 0 1 1 1
第3级 1 0 0 0 0
第4级 1 0 1 0 1
第5级 1 0 1 0 0
17
一、中断系统
3)机器有五级中断,中断响应次序为1-2-3-4-5,现要求 中断处理次序为3-5-2-4-1 。 ①设计各级中断处理程序的中断级屏蔽位,令“1”表示开 放,“0”表示屏蔽; ②若在运行用户程序时,同时发生4、5级中断请求,而在 5级中断服务尚未完成时,又发生1、2、3级中断,请画出 处理机执行程序的全过程示意图。
7
一、中断系统
2 中断的分类和分级
一般在安排中断类响应的优先级时,采用如下方式:
第1级:机器校验类中断;
优先级最高
第2级:程序性中断和管理程序调用类中断;
第3级:外部中断;
第4级:输入输出类中断;
第5级:重新启动中断。
优先级最低
8
一、中断系统
3 中断嵌套的原则
✓中断嵌套指的是新的中断请求中断了CPU正在执行的中
断处理程序。
✓中断嵌套的原则:正在执行的中断处理程序,应当屏蔽
与之同级或比之低级的中断请求。
✓用户程序的级别最低,任何中断请求都能中断用户程序
的运行;
✓中断处理程序结束后,启用“从哪里来回那里去”机制。
9
一、中断系统
4 中断处理次序
为了能动态地调节中断处理程序实际执行完的次序,即中 断处理次序,在中断级请求源与中断响应排队器的入口端之间 又加设了一个中断级屏蔽位寄存器和相应的控制门电路硬件。
二、通道处理机
3 通道的流量设计
通道流量是指通道在“通道数据传送”期间,单位时间里 传送的字节数。
极限流量:通道所能达到的最大流量。
字节多路:fmax.byte=l/(Ts+TD)
数组多路: fmax.block=k/(Ts+kTD)=1/(Ts/K+TD)
选择:
fmax.select=n/(Ts+nTD)=1/(Ts/n+TD)
20
二、通道处理机
2、通道的分类及相应的数据宽度 在通道的数据传送期内,根据信息传送所采取的方式不同,
通道又可被分为字节多路、数组多路和选择3类。
设通道所连接的p台设备均已启动,且在数据传送期内,选 择使用当前通道总线来传送数据的设备所需要的时间为Ts,通 道传送一个字节数据所需要的时间为TD,则每台设备都要传送n 个字节数据时的工作时间示意图如下所示:
2)机器有五级中断,中断级屏蔽位“1”表示开放,“0”表 示屏蔽;中断响应次序为1-2-3-4-5,各级中断处理程序的中 断级屏蔽位设置如下表所示。
①中断处理次序为什么?
②若在运行用户程序时,同时发生4、5级中断请求,而在5级
中断服务尚未完成时,又发生1、2、3级中断,请画出处理机
执行程序的全过程示意图。
21
二、通道处理机
① 选中一台设备后,设备只传送1字节数据就释放总线; ② 各设备轮流传送; ③ 设备要传送n字节数据,需经n次申请使用通道总线; ④ t=n·p·(Ts+TD) ⑤ 适用于连接大量的低速设备; ⑥ 通道的数据宽度为单字节。
22
二、通道处理机
23
二、通道处理机
① 选中一台设备后,设备只传送k字节成组数据,然后释放总线; ② 各设备轮流传送; ③ 设备要传送n字节数据,需经[n/k]次申请使用通道总线; ④ t=p·(Ts+kTD)·[n/k] ⑤ 适用于连接多台高速设备,如磁盘,k=512B,一般地k<n; ⑥ 通道的数据宽度为k字节。
28
二、通道处理机
如果通道上所挂n台设备都被启动,则设备对通道要求的实 际流量分别为: ①字节多路通道的流量应当是所挂各台设备的速率之和,即
fbyte=f1+f2+……+fn ②数组多路通道和选择通道的流量都是所挂设备中速率最高 者,即
fblock= max( f1,f2,……,fn) fselect =max( f1,f2,……,fn)
15
一、中断系统
中断处理
中断级屏蔽位
程序级别 1级 2级 3级 4级 5级
第1级
第2级
第3级
第4级
第5级
中断处理
中断级屏蔽位
程序级别 1级 2级 3级 4级 5级
第1级 1 0 0 1 1
第2级 1 1 1 1 1
第3级 1 0 1 1 1
第4级 0 0 0 1 0
第5级 0 0 0 1 1
16
一、中断系统
2020年4月12日5时22分 第三章 总线中断与输入输出系统
19
二、通道处理机
要求进行输入/ 输出的访管指令
CPU
目态 (运行目态程序)
响应I/O中断请求
管态(运行 I/O管理程序)
编制通 道程序
通道
运行存放在主存 中的通道程序
时间轴
启动I/O指令
组织I/O 操作
I/O操作结束后,向 CPU发I/O中断请求
在通道程序编好且存入主存中某个通道缓冲区时,就置好相应的通道 地址字。当管理程序执行到“启动I/O”的管态指令时,发出启动命令。当 设备被成功启动之后,CPU就退出管态,返回目态去执行其它的用户程序。 此时,通道进入了“通道数据传送”期。
被启动的通道开始执行存放于通道缓冲区中的通道程序来具体组织I/O 操作,完成了通道程序后,又向CPU发出I/O中断请求。CPU在响应I/O中断 请求后,第二次进入管态,调出相应的管理程序,进行善后登记和处理后, 又重新返回目态。这样,一次输入/输出的过程中,CPU只需要二次进入管 态,使之减少了输入/输出对目态程序的干扰,也使CPU和外部设备及多台 设备之间可以并行地工作。
31
二、通道处理机
设备号
1
工作速率(B/ms)
50
二次请求的间隔时间(μs)
23456 50 40 25 25 10
设备号
1
工作速率(B/ms)
50
二次请求的间隔时间(μs) 20
23456 50 40 25 25 10 20 25 40 40 100
32
二、通道处理机
例2 设通道在数据传送期中,选择设备需4.9μs,传送一个字 节数据需0.1μs。
33
二、通道处理机
2)有8台外设,各设备要求传送信息的工作速率分别如下表 所示。设通道数据传送其内,选择一次设备需1/μs,每传送 一个字节数据也需要1/μs。现采用数组多路通道,定长块大 小为512B。
(1)通道工作时的极限流量是多少?
(2)哪些设备可挂在此通道上?为什么?
设备号
1 2345678
中中断级屏蔽位的状态,并正确画出发生多种中断级请求时, CPU执行程序时的状态转移过程示意图。
本章的基本要求
关于通道处理机的基本要求
✓了解采用通道处理机的目的。 ✓掌握字节多路、数组多路和选择三类通道的工作原理; ✓了解三种通道各自的适用场合。 ✓熟练掌握通道处理机和I/O系统的流量设计与分析。 ✓掌握字节多路通道流量的计算和通道工作周期的设计,能
例1 某字节交叉多路通道连接6台设备,其数据传送速率如 下表所示。 (1)在表中填出设备相应二次请求传送字节的间隔时间。 (2)当所有设备同时要传送数据时,求其对通道要求的总流 量fbyte。 (3)让通道以极限流量fmax·byte= fbyte 的工作周期工作,通 道的工作周期是多少? (4)让通道中所挂设备速率越高的,数据传送请求被响应的 优先级越高。画出6台设备同时发请求到下次同时发请求期 间里,通道响应和处理完各设备请求时刻的示意图。哪个 设备丢失了信息?提出一种不丢失信息的解决办法。
CPU
2 3 5 排队器
2 3
中断 屏蔽
5 位控
制器
1 0 0 1 0
1 2
中
3断
4源
5
10
一、中断系统
4 中断处理次序
中断级屏蔽字寄存器中的每一个中断级屏蔽位可以控制让 相应等级的中断请求能否进入中断响应排队器去参加排队。只 要能进入中断响应排队器的中断请求,总是让其中级别相对高 的优先得到响应。
CPU
2 3 5 排队器
2 3
中断 屏蔽
5 位控
制器
1 0 0 1 0
1 2 3
中 断
4源
5
12
一、中断系统 中断系统的解题关键
✓两个次序 ✓一个原则 ✓一个锦囊
13
一、中断系统
5 中断屏蔽位举例
中断处理 中断级屏蔽位 程序级别 1级 2级 3级 4级
第1级 0 0 0 0 第2级 1 0 1 1 第3级 1 0 0 1 第4级 1 0 0 0
(1)其低速设备每隔250μs发出一个字节数据传送请求,问 最多可接多少台这种设备?
(2)若有A~E共5种高速设备,要求字节传送的间隔时间如 下表所示,其时间单位为μs。若一次通信传送的字节数不少 于1024个字节,问哪些设备可挂在此通道上?哪些则不能?
设备
A
B
C
D
E
பைடு நூலகம்
间隔时间(μs) 0.13 0.1 0.11 0.2 0.3
中断的各种事件。
✓中断处理是通过具体执行中断服务程序来对中断源进行处
理的过程。
6
一、中断系统
2 中断的分类和分级 一般的高性能系统,系统的中断源个数可能多达数十甚
至数百个,为简化硬件的复杂度,宜将性质接近的中断源分 成类。
不同类的中断,就要根据中断类的性质、紧迫性、全局 性、重要性及软件处理的方便性等,再将它们分成不同的中 断响应优先级,让级别高的中断类能优先得到响应。