计算机组成原理尹辉第五八三章作业.docx
《计算机组成原理尹辉第五八三章作业.docx》由会员分享,可在线阅读,更多相关《计算机组成原理尹辉第五八三章作业.docx(13页珍藏版)》请在冰豆网上搜索。
计算机组成原理尹辉第五八三章作业
8.24现有A、B、C、D四个中断源,其优先级由高向低按A→B→C→D顺序排列。
若中断服务程序的执行时间为20µs,请根据下图所示时间轴给出的中断源请求中断的时刻,画出CPU执行程序的轨迹。
解:
8.25某机有五个中断源L0、L1、L2、L3、L4,按中断响应的优先次序由高向低排序为L0→L1→L2→L3→L4,根据下示格式,现要求中断处理次序改为L1→L4→L2→L0→L3,根据下面的格式,写出各中断源的屏蔽字。
解:
中断源
0
1
2
3
4
L0
1
0
0
1
0
L1
1
1
1
1
1
L2
1
0
1
1
0
L3
0
0
0
1
0
L4
1
0
1
1
1
8.26设某机配有A、B、C3台设备,其优先级按A→B→C降序排列,为改变中断处理次序,它们的中断屏蔽字如下:
设备
屏蔽字
A
111
B
010
C
011
按下图所示时间轴给出的设备请求中断的时刻,画出CPU执行程序的轨迹。
按A、B、C中断服务程序时间均为20µs。
解:
8.27设某机有3个中断源,其优先级按1→2→3降序排列。
假设中断处理时间均为t,在下图所示的时间内共发生5次中断请求,图中①表示1级中断源发出中断请求信号,其余类推,画出CPU执行程序的轨迹。
解:
8.28设某机有4个中断源1、2、3、4,其响应优先级按1→2→3→4降序排列,现要求将中断处理次序改为4→1→3→2。
根据下图给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。
设每个中断源的中断服务程序时间均为20µs。
解:
5.17某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。
此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。
试问该系统可以跟踪到每秒多少次中断请求?
解:
处理N个数据所需时间=P×N+Q(秒)
每秒可跟踪到中断请求数=(P×N+Q)/N(秒)
5.21中断向量通过什么总线送至什么地方?
为什么?
解:
中断向量通过数据总线送至CPU中的PC。
因为要通过向量地址找到中断服务程序的入口地址,中断响应阶段由中断响应信号INTA将排队器输出送至编码器形成向量地址,向量地址送至PC,再作为下一条指令的地址。
5.22程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?
解:
程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。
它通过
“程序”传送数据时,程序对I/O要I/O准备和I/O传送两段时间。
CPU和I/O串行工作,程序不断反复查询I/O的状态,造成“踏步等待”,严重浪费了CPU的工作时间。
程序中断方式仅对I/O传送阶段进行控制,I/O准备阶段不需要CPU查询。
实现了CPU与I/O的并行工作,提高了CPU的资源利用率。
5.23调用中断服务程序和调用子程序有何区别?
解:
(1)调用子程序发生的时间是已知的和固定的,即在主程序的调用指令执行时发生主程序调用子程序过程,调用指令所在位置也是已知的和固定的;而中断过程发生的时间一般是随机的,CPU在执行某一主程序时受到中断源提出的中断申请,就发生中断过程,而中断申请一般由硬件电路产生,申请时间是随机的。
也可以说,调用子程序是程序设计者事先安排好的,而执行中断服务程序是由系统工作环境随机决定的。
(2)子程序完全为主程序服务,两者属于主从关系,主程序需要子程序时就去调用子程序,并把调用结果带回主程序继续执行;而中断服务程序与主程序一般是无关的,两者是平行关系。
(3)主程序调用子程序的过程完全属于软件处理过程,不需要专门的硬件电路;而中断处理系统是一个软、硬件结合的系统,需要专门的硬件电路才能完成中断处理的过程。
(4)子程序只保护断点;而中断程序除了保护断点以外还需要保护现场。
5.27DMA方式有何特点?
什么样的I/O设备与主机交换信息时采用DMA方式,举例说明。
解:
由于DMA接口和主存之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工作速度比程序中断方式的工作速度高。
在DMA方式中,由于DMA接口与CPU共享主存,这就有可能出现两者争用主存的冲突。
为了有效地分时使用主存,通常DMA与主存交换数据时采用如下三种方法:
(1)停止CPU访问主存;
(2)周期挪用(或周期窃取);
(3)DMA与CPU交替访问。
DMA的这些特点特别适合于高速I/O或辅存与主存之间的信息交换。
因为高速I/O设备若每次申请与主机交换信息时,都要等待CPU做出中断响应后再进行,很可能因此使数据丢失。
5.28CPU对DMA请求和中断请求的响应时间是否一样?
为什么?
解:
CPU对DMA请求和中断请求的响应时间不相同。
程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期的任一存取周期结束时响应。
因为采用DMA方式交换数据,数据输入输出的速度很快,CPU必须以更短的时间查询和响应,否则数据丢失。
中断方式是在指令执行结束的时候发出查询信号,以获取中断请求信号,若条件满足,CPU就响应其请求;而DMA方式是由DMA接口根据设备的工作状态向CPU申请占用总线,只要总线未被CPU占用,即可立即响应DMA请求,如果总线正被CPU占用,则必须等待该存取周期结束,DMA才可使用总线。
5.29结合DMA接口电路说明其工作过程。
解:
DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。
(1)预处理
在DMA接口开始工作之前,CPU必须给它预置如下信息:
①通知DMA控制逻辑传送方向(输入/输出)
②向DMA的设备地址寄存器送入设备号,并启动设备
③向DMA的主存地址寄存器送人交换数据的主存起始地址
④对字计数器赋予交换数据的个数
上述工作由CPU执行几条输入输出指令完成,即程序的初始化阶段。
这些工作完成后,CPU继续执行原来的程序。
当I/O设备准备好发送的数据(输入)或上次接收的数据已经处理完毕(输出)时,它便通过DMA接口向CPU提出占用总线的申请,若有多个DMA同时申请,则按轻重缓急由硬件排队判优逻辑决定优先等。
待I/O设备得到主存总线的控制权后,数据的传送便由该DMA接口进行管理。
(2)数据传送
DMA方式是以数据块为单位传送的。
结合上图,数据输入的具体操作如下:
①当设备准备好一个字时,发出选通信号,将该字读到DMA的数据缓冲寄存器(BR)中,表示数据缓冲寄存器
“满”(如果I/O设备是面向字符的,则一次读入一个字节,组装成一个字)。
②与此同时设备向DMA接口发请求(DREQ)。
③DMA接口向CPU申请总线控制权(HRQ)。
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口。
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写。
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
⑦将DMA数据缓冲寄存器的内容送至数据总线。
⑧主存将数据总线上的信息写至地址总线指定的存储单元中。
⑨修改主存地址和字计数值。
⑩判断数据块是否传送结束,若未结束,则继续传送;若已结束,(字计数器溢出),则向CPU申请程序中断,标志数据块传送结束。
若为输出数据,则应完成以下操作:
①当DMA数据缓冲寄存器已将输出数据送至I/O设备后,表示数据缓冲寄存器已“空”。
②设备向DMA接口发请求(DREQ)。
③DMA接口向CPU申请总线控制权(HRQ)。
④CPU发回HLDA信号,表示允许将总线控制权交给DMA接口使用。
⑤将DMA主存地址寄存器中的主存地址送地址总线,并命令存储器写。
⑥通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备。
⑦主存将相应地址单元的内容通过数据总线读入到DMA的数据缓冲寄存器中。
⑧将DMA数据缓冲寄存器的内容送到输出设备,若为字符设备,则需将其拆成字符输出。
⑨修改主存地址和字计数值。
⑩判断数据块是否传送结束,若未完毕,继续传送;若已传送完毕,则向CPU申请程序中断。
(3)后处理
当DMA的中断请求得到响应后,CPU停止原程序的执行,转去执行中断服务程序,做一些DMA的结束工作。
这包括校验送入主存的数据是否正确;决定是否继续用DMA传送其它数据块,若继续传送,则又要对DMA接口进行初始化,若不需要传送,则停止外设;测试在传送过程中是否发生错误,若出错,则转错误诊断及处理错误程序。
5.30DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?
画图说明。
解:
主要区别在于传送阶段,现行程序是否完全停止访存。
停止CPU访存方式的DMA工作流程如下:
(传送阶段停止CPU访存)
周期窃取方式的DMA工作流程如下:
(传送阶段不停止CPU访存,而是让出一个MM周期)
5.31假设某设备向CPU传送信息的最高频率是40000次/秒,而相应的中断处理程序其执行时间为40µs,试问该外设是否可用程序中断方式与主机交换信息,为什么?
解:
每次信息传送时间=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交换。
3.5解释概念:
总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期、总线的通信控制。
解:
总线宽度:
通常是指数据总线的根数,用bit(位)表示,如8位、16位、32位、64位(即8根、16根、32根、64根)。
总线带宽:
总线带宽可理解为总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。
总线复用:
一条信号线上分时传送两种信号。
例如,通常地址总线和数据总线在物理上是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。
为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。
总线的主设备(或主模块):
指一次总线传输期间,对总线有控制权的设备(模块)。
总线的从设备(或从模块):
指一次总线传输期间,对总线没有控制权的设备(模块),它只能被动接受主设备发来的命令。
总线的传输周期:
总线的传输周期是连接在总线上的两个部件完成一次完整且可靠的信息传输时间。
总线的通信控制:
指总线传送过程中双方的时间配合方式。
3.8为什么说半同步通信同时保留了同步通信和异步通信的特点?
解:
半同步通信既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐地工作,因此工作效率介于两者之间。
3.14设总线的时钟频率为8MHZ,一个总线周期等于一个时钟周期。
如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?
解:
T=1/f=1/8M(秒)
总线带宽=16/(1/8M)=128MBps
(注:
文档可能无法思考全面,请浏览后下载,供参考。
)