典型习题和题例分析与解答 - 图文

更新时间:2023-09-18 19:56:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

3.3 典型习题和题例分析与解答

题3.1 简要举出集中式串行链接、定时查询和独立请求3种总线控制方式的优缺点,同时分析硬件产生故障时通讯的可靠性。

[解答] 集中式串行链接的3种总线控制方式的优缺点,可参照本章3.2节内容要点 2中的2)的有关内容解答。

下面只就硬件产生故障时,对通讯的可靠性问题进行分析。

串行链接对通讯的可靠性,主要表现于“总线可用”线及其有关电路的失效会造成系统 整体瘫痪的问题。一旦“总线可用”线出现断路或碰地,其高电压不能顺链往下传送,就会 使后面的部件在要求使用总线时,其请求无法得到响应。为了提高可靠性,可以对“总线可 用”线及其相关电路,采取重复设置两套或多套的方法来解决。

定时查询对通讯的可靠性要比串行链接的高。因为总线控制器通过计数,查询到某个 出故障的部件时,故障部件不会给出“总线忙”信号。这样,不会影响控制器继续计数,去 查询下一个部件,所以整个总线系统的工作不会瘫痪。

独立请求对通讯的可靠性同样比串行链接的高。因为某个部件在发生故障时不发总线 请求,或即使发出总线请求,总线控制器也可以通过软件或硬件的措施,特发生故障的部件送来的请求屏蔽掉,使之不让其参与总线的分配。所以,某个部件的故障不会导致整个系统的工作处于瘫痪状态。

题3.2 设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如表3.1所示。

(1)当中断响应优先次序为l→2→3→4时,其中断处理次序是什么? (2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处 理时间少得多。当机器正在运行用户程序时,同时发出第2、3级中断请求,经过两个单位时间,又同时发生第1、4级中断请求,试画出程序运行过程示意图。

表3.1 中断处理程序级别 1 2 3 4 1 0 1 1 1 2 0 0 0 0 中断级屏蔽位 3 0 1 0 1 4 0 1 0 0

[分析]为了领会中断响应排队器对中断响应的优先次序是用硬件固定的,以及通过由操作系统给各中断级服务程序现行程序状态字中的中断级屏蔽位设置不同的状态,可以改变中断处理(完)的次序这两个要点,图3.1给出了一个中断响应硬件部分的简单逻辑原理示意图。图中略去了某些实现上的具体细节,因为这些已不是本课程要讨论的内容。

中断级屏蔽位是程序状态字中的一个组成部分。程序状态字是将散布于系统各部分, 反映程序工作时某些关键性硬件的状态,组合在一起所构成的字,有的计算机也称其为处 理器状态字或程序换道区。每类程序均在主存中指定一个区域来放置其程序状态字。运行 一个程序或进程时,就会将其程序状态字从主存指定单元或区域取出送到分散于系统各部 分的寄存器或计数器中,建立起运行此程序或进程的环境。一个程序或进程在退出运行 时,也会将反映该程序状态的这些寄存器或计数器内容组拼成程序状态字,存回该程序或

进程在主存中的指定单元或区域里.因此,程序或进程的切换,只需要通过硬件启动的交 换新旧程序状态字的内容即可快速完成。例如在IBM 370系列机上,程序状态字为64位, 等于它的长字,交换程序状态字只需硬件启动经写长字和读长宇二次访存即可完成。

尽管中断请求是随机发出的,为了便于精确保存中断的断点以及在中断处理完后又能 返回到原中断处,中断响应排队器总是在每条指令执行到最后一个机器周期的最后一个时 钟周期时,对目前到达中断响应排队器入口的所有中断请求排一次队,择优进行响应。在 中断响应排队器相应的输出端产生出响应信号,此信号经中断级服务程序入口地址形成硬 件,生成该级中断服务程序的程序状态字在内存区中所存放的地址。同时,经中断响应控 制信号启动,进行新旧程序状态字的交换,完成程序的切换.被中断的程序的断点地址(即 程序计数器的内容),由硬件自动压入返回地址堆栈,予以保存。系统切换到新的程序或进 程后,继续运行下去,如果新的程序或进程是一个中断服务程序,在运行结束,执行到中 断返回指令时,就会从堆栈中弹出所保存的返回地址.再次交换程序状态字,系统又重新 返回到原先被中断的程序,恢复运行。

当然,低级的中断服务程序在处理过程中又遇到了比其更高级的中断请求时,应允许 其被中断,以实现多级中断的嵌套。利用返回地址堆栈的后进先出工作方式,就可以完成

中断嵌套时的正确返回。可以看出,只要某道程序运行时,由操作系统在现行程序的程序 状态字中,根据对各中断级的中断请求是否屏蔽,设置好中断级屏蔽位的状态,就可以控 制这些级别的中断请求是否进入中断响应排队器去参加排队。只有能进入中断响应排队器 的中断级请求,才有机会得到响应,从而就可改变中断实际处理完的次序。

应当注意的是,用户程序是不能屏蔽任何中断的。因此,用户程序的现行程序状态字 中,对各级中断级的屏蔽位,均应让其处于“开放”状态。

根据本题所给出的各级中断处理程序对中断级屏蔽位设置的状况,很容易得出其中断 处理(完)的次序应当是1→3→4→2。因为正处理l级的中断处理程序时,现行程序状态字 中的中断级屏蔽位为0000,在其执行期间,任何新的同级和低级的中断请求都不可能进入 中断响应排队器进行排队,所以,1级中断处理程序一定会先处理完。当执行3级中断服 务程序时,由于现行程序状态字中的中断级屏蔽位为1000,即对l级中断请求是“开放” 的,而对其它各级中断请求则处于“屏蔽”状态,所以,只要此时发生1级中断请求,它就 能进入中断响应排队器去排队。从而在中断请求排队的微操作发出时,就可打断3级中断 服务程序的执行,交换程序状态字。转去执行1级中断处理程序,使之被优先处理完。而在执行3级中断服务程序时,由于现行程序状态字对2、3、4级的中断请求处于被“屏蔽”的状态,所以,它们都不能打断正在执行的3级中断处理程序。其它的情况也就可以依此类推得到。

[解答] (1) 当中断响应优先次序为l→2→3→4时,中断处理(完)的次序为1→3→4→2。 (2) 由题目所给出的条件,其CPU运行程序的过程示意田如图3.2所示。图中,粗短 线部分代表进行交换程序状态字的时间,△t为1个单位时间。

题3.3 若机器共有5级中断,中断响应优先次序为l→2→3→4→5,现要求其实际的中断处理次序为l→4→5→2→3。

(1) 设计各级中断处理程序的中断级屏蔽位(令“1”对应于屏蔽,“0”对应于开放);

(2) 若在运行用户程序时,同时出现第4、2级中断请求,而在处理第2级中断未完成 时,又同时出现第l、3、5级中断请求,请画出此程序运行过程示意图。 [分析] 根据题意,中断级屏蔽位“l”对应于屏蔽,“0”对应于开放,实际上就是在图 3.1中,控制各级中断请求进入中断响应排队器入口端的与门控制端是接在各中断级屏蔽 位触发器的“0”输出端而已,并无实质上的不同。此外,正在处理某级中断服务程序时,与其同级的新的中断请求是不能被响应的,应当予以屏蔽,这是因为两者既然是属于同一优先级的,则先来的中断请求理所应当先得到响应并被处理完。所以,根据所要求的中断处;理(完)的次序,各级中断处理程序现行状态字中各中断级屏蔽位的状态就很容易被设置出来。

[解答] (1) 各级中断处理程序中的中断级屏蔽位的设置,如表3.2所示。

(2) 由已知条件可得程序运行过程的示意图如图3.3所示。图中,粗短线表示交换程序状态宇的时间。

表3.2

中断处理程序级别 1 2 3 4 5

1 1 0 0 0 0 2 1 1 0 1 1 中断级屏蔽位 3 1 1 1 1 1 4 1 0 0 1 0 5 1 0 0 1 0

题3.4 简述字节多路、数组多路和选择通道的数据传送方式。

[分析] 如果通道所接P台设备都已被启动,设在通道数据传送期内,选择当前使用通道总线来传送数据的设备所需要的时间为Ts,通道传送一个字节数据所需要的时间为TD。那么,字节多路、数组多路和选择3类通道,在每台设备都要传送n个字节数据时的工作时间示意图,分别如图3.4中的(a)、(b)、(c) 所示。

[解答] 由图3.4可以看出,字节多路通道每选择好一台设备后,设备与通道只传送一个字节就释放总线,通道以字节交叉的方式轮流为多台低速设备服务。某台设备要想传 送n个字节,就需要经n次申请使用通道总线才行。

数组多路通道在每选择好一台设备后,要连续传送完固定义个字节的成组数据后,才 释放总线,通道再去选择下一台设备,再传送该设备的K个字节。如此,以成组方式轮流交叉地为多台高速设备服务。某台设备要想传送n个字节,就需要先后经??n??次申请使用K??通道总线才行。

选择通道每选择一台设备,就让该设备独占通道,将n个字节全部传送完后,才释放通

道总线,又去选择下一台设备,再传送它的全部字节数据。因此,每台设备为传送n个字节数据只需一次申请使用通道总线。

题3.5 如果通道在数据传送期中,选择设备需9.8μs,传送一个字节数据需0.2μs。 某低速设备每隔500μs发出一个字节数据传送请求,问至多可接几台这种低速设备?对于 如下A—F 6种高速设备,一次通讯传送的字节数不少于1024个字节,问哪些设备可以挂在此通道上?哪些则不能?其中,A—F设备每发一个字节数据传送请求的时间间隔分别如 表3.3所示。

表3.3

设备 发申请间隔时间/μs A 0.2 B 0.25 C 0.5 D 0.19 E 0.4 F 0.21

[分析] 根据第1个问题所提,通道在数据传送期中,低速设备每隔500μs发出一个字节数据传送请求,问至多可接几台这种低速设备。不难得出,挂低速设备的通道应该是按字节多路通道方式工作的。那么,由于字节多路通道的通道极限流量是

fmax?byte =1 / ( Ts + TD)

所以,在各设备均被启动后,最坏情况下,要想在宏观上不丢失设备的信息,通道极限流量就应大于或等于设备对通道要求的流量f byte,即应满足

fmax?byte ≥f byte

而在字节多路通道上,设备对通道要求的流量应是所挂全部设备的速率之和。如果字节多路通道上所挂设备台数为m,设备的速率fi实际就是设备发出字节传送请求的间隔时间的倒数,m台相同速率的设备其速率之和为mf,这样,为不丢失信息,就应满足

1≥mfi

TS?TD于是可求得在字节多路通道上能挂的设备台数m应满足

m≤

1

(Ts?TD)?fi对于第2个问题,A~F屑高速设备,一次通讯传送的字节数n不少于1024个字节,意味着此通道属于选择通道。如果通道上挂有m台设备,则选择通道的极限流量为

fmax?select=

1n=

TS?nTDTS?TDn

由于选择通道上,设备是独占通道进行通讯的,所以,要想通道工作时不丢失设备的信息,应满足

mfmax?select≥maxf

i?1i 根据上述不等式的要求。就可以求得A—F 6台设备中,哪些设备可以挂上,哪些设备

则不能挂了。这就是说,选择通道在宏观上要不丢失设备的信息,就要限制在通道上所挂设

备的速率不能超过一个限值。

[解答] 在字节多路通道方式工作时,限制所挂设备的台数应为

m≤

500us1?50台 ?(TS?TD)?fi(9.8?0.2)us 在选择通道方式工作时.通道的极限流量为

fmax?select=

1TS?TDn≥

1B

9.8us?0.2usn19.8?0.2n B/us

其中,n≥1024个字节。所以,限制通道上所挂的设备速率fi≤

才行。

根据属目所给出的各台设备每发一个字节数据传送请求的间隔时间,可得各台设备的遗率如表3.4所示.

┌────────┬────┬────┬─┬────┬────┬────┐ │ 设 备 │ │ │ │ │ │ │ ├────────┼────┼────┼─┼────┼────┼────┤ │设备遵串人(B/P)│I/0.2 │I/0.25│ │1/o.19│1/o.4 │I/0.21│ └────────┴────┴────┴─┴────┴────┴────┘

这样,能满足上述人不等式要求的,只能是挂B、c,E、F 4台设备,A和D因为超过了人?血。所以不能挂. 屉3.‘ 某字节多路通道连接6台外设,其数据传送逮率分别如表3.5所列. ┌─────────┬─┬─┬─┬─┬─┬─┐ │ 漫备号 │ │ │ │ │ │ │ ├─────────┼─┼─┼─┼─┼─┼─┤ │ 传送建事(hD/,)│ │ │ │ │ │ │ └─────────┴─┴─┴─┴─┴─┴─┘ (1)计算所有设备都工作时的通道实际最大罐量;

(2)9n果设计的通道工作周期,使通道极限流量恰好与通道实际流量相等,可以满碉流量设计的基本要求,同时让速率越高的设备被响应的优先级越高。从6台设备同时发喟请求开始,画出此通道在数据传送期内响应和处理各外设请求的时间示意图.由此你会瑁现什么问题? 周

(3)在(2)的基础上,在哪台设备内设置多少十字节的缓冲器就可以避免设备信息丢■失?那么,这是否说明书中关于流量设计的基本要求是没有必要的呢?为什么? 召 [分析] 由于各台设备的速率人(其中/=1~6)已知;可按∑六求得所有设备都工咽时,设备对通道实际要求的最大流量。如果设计的通道工作周期使通道极限流量恰好与潭I道实际的最大流量相等时,高速设备发出交换字节数据请求被响应的优先级越高,就会使冒低速设备在来不及将其上—‘次的字节数据传送掉之前,被新来的数据所清掉,这样,就遣蜀成了信息的丢失.为了在微观上不丢失信息,应在低速设备上设置一定容量的缓冲器来缓I冲—‘时宋不及传送的字节数据,或者可以动态调节各设备被响应的优先级,使在低速设备召时间紧迫时,可临时提高其设备被响应的优先级. -

在画通道在数据传送期内响应和处理各外设请求的时间关系图时,6台设备是否从同召时发出请求开始的假设对是否丢失信息来说是无关紧要的,因为各外设本来都是异步工作I的。这里,只是为了便于用图来表示出响应和处理各外设请求的时间关系而已· I 通道在每个工作周期里,对各设备所发出的请求进行一次排队,选出其中优先级高的I设备请求予以响应和处理.应注意的是,通道是在每个工作周期的开始时刻,111]Ts的开始I时刻选择高优先级的设备。只有在此时刻之前或与此时刻同时发出请求传送数据的那些设I备,才能参加本次在排队器中的排队。错过这一时刻后,就只有推迟到下一个选择设备时I间丁s的开始,才能参加排队。另外,还要强调的是,设备的传送速率与设备发出字节请求I的间隔时间是互为倒数关系的。在画工作时间图时,应当画出这6台设备同时发出请求到1下一次又同时发出请求这一重复工作周期,才能准确反映出在此期间里,通道在宏观上和1微观上是否丢失了字节信息. i

[解答] (1)l一6台设备同时工作时,设备对通道要求的实际最大流量为 :

fbyte??fi?50?15?100?25?40?20?250kB/s

i?16

(2)如果让所设计的字节通道的极限流量恰好与设备对通道要求的实际最大流量相 等,即

fmax?byte=fbyte?250kB/s

因为

fmax?byte? 所以,TS?TD?4us

需要说明的是,为了使计算和画图简单起见,在此令1 kB=1000B.而实际上,1 kB 应当是1024B,因此是有差异的.

这样,从6台设备同时发出要求传送字节数据的请求开始.到这6台设备再次同时发 出要求传送字节数据请求的这一段时间里,通道响应和处理外部设备请求的工作时间示意 图如图L 5所示.在图3,5中,用‘十”表示设备发出要求交换一个字节数据的申请时刻, 用“.”来表示通道传送完某台设备一个字节数据的时刻.通道每次传送完一个字节数据的

时刻也是重新按优先级排序选出下一次响应哪一台设备的开始时刻. 羽

由图3.s可以看出,低速的2号设备在66.6Ps时,由于第1个字节数据请求未棱响涸

应和传送,又来了第2个字节数据,从而使第1十字节数据丢失了。这就是说,虽然满足丁调

通道极限流量不低于设备对通道要求的流量,但在微观上某个局部时刻,也还会丢失低遣

1

TS?TD谓

设备的信息。 司

(3)在(2)的基础上,只儒在2号设备中设置两个字节的数据缓冲器,采用先进先出的I 方式工作,暂时保存尚未得到传送的数据,就可以避免字节数据信息的丢失.缓冲器的多1

少是根据各设备速率的不同而有所不同的。本题中,缓冲揣应设置2个字节,就可以保证I

各设备均不会丢失数据信息.如图3.5所示,在66.6Ps时,缓冲0e的第1十字节单元有的1

是oPs时所要传送的字节数据,而缓冲Se第2十字节单元存放的是设备在66.6卜,时所要I

求传送的字节数据。到100P,时,通道将缓冲器中的第1十字节数据传送掉了,腾出的位I

置可以用来缓冲存放下一个新的来不及处理的数据,如此类推,设备的信息就不会丢1 失了· 1

如果不能保证通道极限流量大于等于设备同时启动时对通道要求的最大流量这一基本I 条件,即使通道一刻不停地工作,仍来不及处理,那么无论设霞多少十缓冲器,倌息总还I

是要丢失的。 I

●3.7 通道型I/O系统由一个字节多路通道A(其中包括两个子通道A1和A2)、两1

个数组多路通道B1和B2及一个选择通道c构成.各通道所接设备和设备的数据传送速率I

如裹3.6所示。 0

┌──────────┬─────────────────┐ │ 遏遭号 │ 所接设备的数据传进速率(kB/s) │ ├────┬─────┼─────────────────┤ │字节害路│于通遭A1 │ │ │ ├─────┼─────────────────┤ │ 通道A │qrillS~AZ │ │ ├────┴─────┼─────────────────┤ │ 敷蛆多路通道H1 │ │ ├──────────┼─────────────────┤ │ 敷蛆多路通道日2 │ │ ├──────────┼─────────────────┤ │ 选择通道c │ │ └──────────┴─────────────────┘ (1)分别求出各通道应具有多大设计流量才不丢失信息;

(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少? [分析] 本题主要是领会在I/O系统和通道流量的设计中应注意的几个基本点。它 们是:

①I/O系统中各种通道和于通道是可以并行工作的,因此,I/O系统的最大流量应当 等于各通道最大流量之和.

②通道内的多个子通道之间也是可以并行工作的,因此,通道的最大流量应当等于各子

通道的最大流量之和.

⑧字节多路通道或子通道的最大流量应等于所挂各台设备的数据传送速率之和。 ④数组多路通道和选择通道的最大流量应等于所挂设备中的最高数据传送速率。

⑤在处理机、主存、I/O系统之间,应求得流量上的相对均衡,否则会造成计算机系统的效率降低,使某些部分的性能得不到充分发挥.对于目前大多敷通用计算机来说,都是以主存为中心,所以,主存流量应取成等于或略大于处理机流量和I/O系统流量的和。 [解答] (1)为了使设备信息不至于丢失,各通道设计的极限流量至少应分别是:

字节多路子通道A1;

?fi?18i?50?35?20?20?50?35?20?20?250kB/s

字节多路子通道A2;

?fi?18i?50?35?20?20?50?35?20?20?250kB/s

字节多路通道A;

子通道A1流量+子通道A2流量=250kB/s+250kB/s=500kB/s

数组多路通道Bl:

max﹛fi﹜=max﹛500,400,350,250﹜=500kB/s

i?14

数组多路通道B2:

max﹛fi﹜=max﹛500,400,350,250﹜=500kB/s

i?14

选择通道Cc

max﹛fi﹜=max﹛500,400,350,250﹜=500kB/s

i?14

(2)I/O系统的流量=

?i?14通道i的流量

=500十500+500+500 =2000kB/s雹2 MB/s

当I/O系统流量占主存流量的1/2时,可得主存系统流量为2~2MB/s--4MB/s。

本文来源:https://www.bwwdw.com/article/vq8h.html

Top