计算机系统结构课后答案unit3

更新时间:2023-04-29 05:43:01 阅读量: 实用文档 文档下载

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

. .

第3章总线、中断与输入输出系统

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

答:集中式串行链连接方式。其过程为:

①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。

②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。

③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。

④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。

⑤数据传送期间,“总线忙”维持“总线可用”的建立。

⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。

⑦当“总线请求”再次建立时,就开始新的总线分配过程。

优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。

缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线中信号传送速度慢。

集中式定时查询方式,过程:

①总线上每个部件通过“总线请求”发请求。

②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。

③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。除去“总线请求”,该部件获得总线使用权。

④“总线忙”维持到数据传送完毕。

⑤数据传送完,去除“总线忙”。

⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。

优点:①优先次序灵活性强;②可靠性高。

缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。

集中式独立请求方式,过程:

word ..

. .

①每个部件有一对“总线请求”和“总线准许”线。

②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。

③获得总线使用权的部件传送数据,直至完毕。

④数据传送完毕后,除去总线已分配”和“总线准许”,开始新的总线分配。

优点:①总线分配速度快;②灵活;③能方便隔离失效部件的请求。

缺点:①控制线数多;②复杂。

硬件产生故障时,通信的可靠性分析:

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

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

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

3.2. 设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如下:(见课本)

(1)当中断响应优先次序为1→2→3→4时,其中断处理次序是什么?

答:(1)1—3—4—2 中断处理程序

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

答:

word ..

. . 《南京大学出版社》李学干主编的辅导书对本题的分析:

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

中断级屏蔽位是程序状态字中的一个组成部分。程序状态字是将散布于系统各部分,反映程序工作时某些关键性硬件的状态,组合在一起所构成的字,有的计算机也称其为处理器状态字或程序换道区。每类程序均在主存中指定一个区域来放置其程序状态字。运行一个程序或进程时,就会将其程序状态字从主存指定单元或区域取出送到分散于系统各部分的寄存器或计数器中,建立起运行此程序或进程的环境。一个程序或进程在退出运行时,也会将反映该程序状态的这些寄存器或计数器内容组拼成程序状态字,存回该程序或进程在主存中的指定单元或区域里。因此,程序或进程的切换,只需要通过硬件启动的交换新旧程序状态字的内容即可快速完成。例如,在IBM370系列机上,程序状态字为64位,等于它的长字,交换程序状态字只需硬件启动写长字和读长字两次访存即可完成。

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

当然,低级的中断服务程序在处理过程中又遇到了比其更高级的中断请求时,应允许其被中断,以实现多级中断的嵌套。利用返回地址堆栈的后进先出工作方式,就可以完成中断嵌套时的正确返回。可以看出,只要某道程序运行时,由操作系统在现行程序的程序状态字中,根据对各中断级的中断请求是否屏蔽,设置好中断级屏蔽位的状态,就可以控制这些级别的

word ..

. . 中断请求是否进入中断响应排队器去参加排队。只有能进入中断响应排队器的中断级请求,才有机会得到响应,从而就可改变中断实际处理完的次序。

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

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

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

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

(2)若在运行用户程序时,同时出现第4,2级中断请求,而在处理第2级中断未完成时,又同时出现第1,3,5级中断请求,请画出此程序运行过程示意图。

答:( 选自老版主的答案)

1)五个级别的中断屏蔽位分别为(1开放;0屏蔽):

1:00000 2:10011 3:11011 4:10000 5:10010

2)中断过程示意图:如图

a. 2、4中断同时出现,进行排队器;

b. 按中断响应优先次序,2响应;

c. 此时屏蔽字为10011,所以;

word ..

. .

d. 响应4,中断4运行结束,回2;

e. 1、3、5进入排队器,此时屏蔽字为10011,且1优先级最高,所以;

f. 响应1,1运行结束,回2,根据屏蔽字,所以;

g. 5响应,5运行结束,回2;

h. 根据屏蔽字,不响应3,所以2运行结束;回用户程序;

i. 3还在排队器,响应3,运行直到结束,回用户程序

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

答:字节多路通道适用于连接大量的字符类低速设备。它以字节交叉方式轮流为多台设备服务,它可有多个子通道,它们分时进入通道。

数组多路通道适合于连接多台高速设备,每传送一个定长块就选择一次设备,多台设备以成组交叉方式工作。它可有多个子通道。它们分时进入通道。

选择通道方式适合于优先级高的高速设备,让它独占通道,数据传送以不定长方式进行,在数据传送期只选择一次设备。

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

设备A B C D E F

发申请间隔0.2 0.25 0.5 0.19 0.4 0.21

答:

(1)∵选择设备需9.8μs,传送一个字节需0.2μs

∴该通道完成一个字节的传送需9.8+0.2=1μs

∵某低速设备每隔500μs发出一字节数据请求,为使数据不丢失,该通道可连设备数至多为500μs/1μs=500台。

(2)对于高速设备,由于一次传送字节数不少于1024byte

∴该通道一次传送数据的时间为9.8μs+1024×0.2μs=214.6μs

由表中可得出每台设备发送1024字节的时间间隔分别为

A B C D E F

单位μs 204.8 256 512 194.56 409.6 215.04

word ..

. .

∴为使数据不丢失,B、C、E、F可挂在该通道上。A、D不能。

3.6 某字节多路通道连接6台外设,某数据传送速率分别如表中所列。

设备1 2 3 4 5 6

传送速率(KB/s)50 15 100 25 40 20

(1)计算所有设备都工作时的通道实际最大流量:答:实际最大流量=50+15+l00+25+ 40+20=250KB/S。

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

答:由表可解各设备连续发送两个字节的时间间隔分别为:

1 2 3 4 5 6

20μs 67μs 10μs 40μs 25μs 50μs

KB=1024B,s=10^6μs ,设备1的时间间隔为10^6/(50*1024)≈20μs ,其他如同1。

为简化计算,可视1024为1000

由此发现由于高速设备的响应优先级高,使低速设备6和设备2造成数据丢失。

(3)在(2)的基础上,在哪台设备内设置多少个字节的缓冲器就可以避免设备信息丢失?那么,这是否说书中关于流量设计的基本要求是没有必要的了呢?为什么?

答:在设备6和2中各设两个字节的缓冲区即可。

这并不说明流量设计的基本条件是不必要的,因为若基本条件不满足,无论设备优先级如何确定总有设备的信息会丢失。

阿利:这是我画的通道处理设备请求的示意图。(请点击看全图)

由图中可看出,6号设备有丢失信息现象,解决的办法是在6号设备内设置2个字节的缓冲器。

3.7 通道型I/O系统由一个字节多路通道A(其中包括两个子通道Al和A2),两个数组多路通道B1和B2及一个选择通道C构成,各通道所接设备和设备的数据传送速率如表所示。word ..

. .

(见课本)

(1)分别求出各通道应具有多大设计流量才不会丢失信息;

答:子通道Al的最大实际流量=50+35+20+20+50+35+20+20=250KB/S=O.25MB/S ∴子通道A1至少应有0.25MB/S的流量才不丢失信息。

同理子通道A2的流量必须≥0.25MB/S 子通道B1的实际最大流量=0.5MB/S

∴B1流量至少为0.5MB/S。

同理子通道B2流量至少设计成0.5MB/S。

选择通道C的流量至少设计成0.5MB/S。

(2)设I/O系统流量占主存流量的1/2时才算流量平衡,则主存流量应达到多少?

答:此I/O系统的流量应为各子通道流量之和。即为0.25+O.25+0.5+0.5+0.5=2MB/S

依题意I/O系统流量占主存流量的1/2才算流量平衡。

因此主存流量应达到4MB/S。

word ..

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

Top