计算机组成原理第二版课后答案 下载本文

解:480×10=4800位/秒=4800波特; 波特——是数据传送速率波特率的单位。

注:题意中给出的是字符传送速率,即:字符/秒。要求的是数据传送速率,串行传送时一般用波特率表示。 两者的区别:字符传送率是数据的―纯‖有效传送率,不含数据格式信息;波特率是―毛‖传送率,含数据格式信息。

10. 什么是I/O接口?为什么要设置I/O接口?I/O接口如何分类?

解: I/O接口一般指CPU和I/O设备间的连接部件; I/O接口分类方法很多,主要有: 按数据传送方式分有并行接口和 串行接口两种;

按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。 12. 结合程序查询方式的接口电路,说明其工作过程。 解:程序查询接口工作过程如下(以输入为例):

开命令接收门;?选中,发SEL信号?设备选择器译码?接口?地址总线? 1)CPU发I/O地址 设备开始工作;?接口向设备发启动命令? D置0,B置1 ? 2)CPU发启动命令 DBR;? 3)CPU等待,输入设备读出数据

B置0,D置1;?接口?4)外设工作完成,完成信号 CPU;?控制总线? 5)准备就绪信号

6)输入:CPU通过输入指令(IN)将DBR中的数据取走;

若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:

开命令接收门;?选中,发SEL信号?设备选择器译码?接口?地址总线?1)CPU发I/O地址 2)输出: CPU通过输出指令(OUT)将数据放入接口DBR中;

设备开始工作;?接口向设备发启动命令? D置0,B置1 ? 3)CPU发启动命令 4)CPU等待,输出设备将数据从 DBR取走; B置0,D置1;?接口? 5)外设工作完成,完成信号

CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。?控制总线?6)准备就绪信号 13. 说明中断向量地址和入口地址的区别和联系。 解:

中断向量地址和入口地址的区别:

向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。 中断向量地址和入口地址的联系:

中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JUM指令;主存中设向量地址表。参考8.4.3) 讨论:

硬件向量法的实质:

当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。

由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。

14. 在什么条件下,I/O设备可以向CPU提出中断请求?

解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

15. 什么是中断允许触发器?它有何作用?

解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。

16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?

解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?

解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。

N个数据所需的处理时间=P×N+Q秒

平均每个数据所需处理时间= (P×N+Q) /N秒; 求倒数得:

该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。

19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么? 解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。 讨论:

′ 打印机不停,理由有如下几种: 打印内容已存入打印机缓存;′ 问题:1)如果打印机无缓存呢?

2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA) 由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。′ 问题:打印中断处理程序=打印指令?

采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。′ 问题:这是程序中断方式吗?

由于打印机速度比CPU慢得多,CPU将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。′

问题:停止打印机传送=停止打印机动作? 我有打印机,感觉上打印机工作是连贯的;′ 问题:人的感觉速度=计算机工作速度?

22. CPU对DMA请求和中断请求的响应时间是否一样?为什么?

解: CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求(一个存取周期末)。 讨论:

CPU对DMA的响应是即时的;′ 随时都能响应?

CPU响应DMA的时间更短;′ ′ DMA比中断速度高; 短、高或不一样的具体程度?

′ 不一样。因为DMA与CPU共享主存,会出现两者争用主存的冲突,CPU必须将总线让给DMA接口使用,常用停止CPU访存、周期窃取及DMA与CPU交替访存三种方式有效的分时使用主存; 这种情况仅仅存在于DMA与中断程序之间吗?答非所问。

24. DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。 解:两种DMA方式的工作流程见下页,其主要区别在于传送阶段,现行程序是否完全停止访存。 停止CPU访存方式的DMA工作流程如下: 现行程序 CPU DMAC I/O CPU DMAC I/O B C D

周期窃取方式的DMA工作流程如下: 现行程序 CPU DMAC I/O CPU DMAC I/O B C D

25. s,试问该外设是否可用程序中断方式与主机交换信息,为什么?m假设某设备向CPU传送信息的最高频率是40K次/秒,而相应的中断处理程序其执行时间为40

sm 解:该设备向CPU传送信息的时间间隔 =1/40K=0.025×103=25 < sm40

则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。 讨论:

s)比较接近,传送过程会频繁的打断CPU执行主程序,而执行中断服务程序,因此不能用程序中断方式……。ms)与中断处理时间(40m×I/O传送(25 错:此时CPU还有可能执行主程序吗? 举例说明: (输入)

假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应;

I/O设备匀速运行, s时响应;ms后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据, 40m25 s时响应;ms后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到80m50 s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;m75 讨论:

s,CPU大部分时间处于―踏步等待‖状态;m 交换一次用时25+40=65′

sm 错1:25 I/O传送间隔主要指设备准备数据的时间(输入),这段时间设备与CPU并行工作。 错2:程序中断不存在踏步等待。

′ 10-6=1′40′40K.6秒,时间过长,用程序中断不划算; 中断处理程序执行时间=?′ 错1:设备传送频率 错2:越慢速的设备越适合用中断。

若外设与CPU之间有足够大的缓冲区,则可以用程序中断方式;′ 如果安排足够大的缓冲区,为何不用DMA方式? 讨论(续):

两者速度相差较小没有必要用中断。′

26. s,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?m设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25 解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。 16?16 =1K ×8 ×8 ?道容量=1KB×8 =1K ×4=4K字

数传率=4K字×3000转/分 =4K字×50转/秒 =200K字/秒 sm5?一个字的传送时间=1/200K字/秒 注:在此1K=1024,来自数据块单位缩写。

5 sm<<25 s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。m 讨论:

扇面、扇段和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。

问题:是否磁盘转一圈读完所有扇区上的磁道?

答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着读(如果文件未读完的话)。

′ s,CPU工作周期大于主存周期,应采用DMA与CPU交替访存;ms,CPU执行指令20ms内主存占用5m不行,在25

s;m错1:题意为CPU执行指令25

指令周期;1 错2:CPU工作周期=内存周期(同步控制)而

′ 不行,传送间隔=20ms,远大于指令执行周期,应在DMA接口设一小容量存储器,可减少DMA传送占用总线时间;

对于想采用DMA的慢速设备(像打印机等),可采用此法,对于磁盘不需要。另外,占用总线时间较长的DMA传送为停止CPU访存DMA,如采用周期窃取方式的DMA,每次传送只占一个主存周期时间。 27. 试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。 (1)数据传送依赖软件还是硬件; (2)传送数据的基本单位; (3)并行性; (4)主动性; (5)传输速度; (6)经济性; (7)应用对象。 解:比较如下:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。 (注意:这里指主要的趋势)

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。 (3)程序查询方式传送时,CPU与I/O设备串行工作;

程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行; DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。 (4)程序查询方式时,CPU主动查询I/O设备状态;

程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。