计算机组成原理 第 章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机组成原理作业(第五、三章)
第五章
5.17 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?解:
5.21 中断向量通过什么总线送至什么地方?为什么?
答:中断向量通过数据总线送至PC。由于中断向量要为中断服务子程序提供入口地址,使得主程序转到中断服务子程序继续执行,所以中断向量要通过数据总线送至PC。
5.22 程序查询方式和程序中断方式都是通过“程序”传送数据,二者的区别是什么?
答:程序查询方式通过“程序”传送数据时,程序对I/O的控制包括了I/O准备和I/O传送两段时间。由于I/O的工作速度通常比CPU慢,因此程序进行时CPU要反复询问I/O的状态,使得CPU原地踏步等待,降低了其工作效率。
程序中断方式虽然也是通过“程序”传送数据,但程序仅对I/O传送阶段进行控制。在I/O 设备准备就绪前CPU不需要进行查询,使得CPU可以与I/O并行工作,提高了其工作效率。
5.23 调用中断服务程序和调用子程序有何区别?
答:调用中断服务程序和调用子程序的区别如下:
(1)调用子程序是预先安排好的,而调用中断服务程序是随机发生的;
(2)调用子程序是为主程序服务的,而中断服务程序与主程序并没有什么关系;
(3)子程序是由调用指令给出的目标地址,中断是由隐指令获得中断服务程序的入口地址。
5.27 DMA方式有何特点?什么样的I/O设备与主机交换信息时采用DMA方式,举例说明。答:
DMA方式工作特点:由于主存和DMA接口之间存在数据通路,所以主存和设备交换信息是不通过CPU的,也不需要CPU暂停现行程序为设备服务,省去了保护和恢复现场的工作,因此DMA的工作速度比程序中断方式的快。
通常DMA与主存交换数据是采用如下三种方法:
(1)停止CPU访问主存
(2)周期挪用
(3)DMA与CPU交替访问
当I/O设备与硬盘、U盘等辅存交换信息时,即可采用DMA方式。因为在此传输过程中不需要CPU对信息进行处理,故不需要CPU的参与,故可以采用DMA方式。
5.28 CPU对DMA请求和中断请求的响应时间是否一样?为什么?
答:
CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。
响应中断请求是在每条指令执行周期结束的时刻。由于中断方式实际上就是程序的切换,所以CPU必须在每条指令执行周期结束的时刻才发出查询信号以获取中断请求。若此时条件满足,CPU才能响应请求。
而响应DMA请求是在存取周期结束的时刻。DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线。只要总线此时未被占用,CPU即可立即响应DMA请求;若被占用,
则必须等待该存取周期结束时才能响应DMA请求。
5.29 结合DMA接口电路说明其工作过程。
答:DMA的数据传送过程可分为预处理、数据传送和后处理3个阶段:
(1)预处理
在DMA接口开始工作之前,CPU必须给它预置:控制逻辑传送方向、设备号、数据的主存起始地址、交换数据个数。这些工作完成后,CPU继续执行原来的程序。
(2)数据传送
当I/O设备准备好输入或输出时,它便通过DMA接口向CPU提出占用总线的申请,若有多个DMA同时申请,则按轻重缓急由硬件排队判优逻辑决定优先等。待I/O设备得到主存总线的控制权后,数据的传送便由该DMA接口进行管理。
(3)后处理
当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作。这包括校验送入主存的数据是否正确;决定是否继续用DMA传送其它数据块,若继续传送,则又要对DMA接口进行初始化,若不需要传送,则停止外设;测试在传送过程中是否发生错误,若出错,则转错误诊断及处理错误程序。
5.30 在DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同,画图说明。
答:主要区别在于传送阶段,现行程序是否完全停止访存。
CPU暂停方式,让出总线使用权:
周期窃取方式,传送阶段不停止CPU访存,而是让出一个MM周期:
5.31 假设某设备向CPU传送信息的最高频率是40000次/秒,而相应的中断处理程序其执行时间为40μs,试问该外设是否可用程序中断方式与主机交换信息,为什么?
答:由于该设备向CPU传送信息的时间为1/40000 = 25μs < 40μs,即中断处理程序的执行速度比该设备信息交换的速度慢,故其不能用程序中断方式与主机进行信息交换。
5.33试从下面七个方面比较程序查询、程序中断和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请求;
(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;DMA方式基本由硬件实现传送,因此速度最快;
(6)程序查询接口硬件结构最简单,因此最经济;程序中断接口硬件结构稍微复杂一些,因此较经济;DMA控制器硬件结构最复杂,因此成本最高;
(7)程序中断方式适用于中、低速设备的I/O交换;程序查询方式适用于中、低速实时处理过程;DMA方式适用于高速设备的I/O交换。