第一范文网 - 专业文章范例文档资料分享平台

南京大学计算机组成原理2019冬试题-A-答案

来源:用户分享 时间:2025/6/6 11:34:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

同一个子空间,不可能跳出它本身所在的256MB的子空间,所以跳转目标地址范围的大小是256M,也即,假定跳转指令地址的高4位为X,则跳转目标地址范围是X0000000H~XFFFFFFCH。

(6)单周期处理器的时钟周期最小为200+50+100+200+50=600ps;多周期处理器的时钟周期最小为200ps。对于单周期数据通路中的10次循环执行,第1~4条指令执行了10次,第5~6条指令执行了9次,因此,共用了(4×10+2×9)×600=34800ps=34.8ns。对于多周期数据通路中的10次循环执行,sll、add和addi指令都需要4个时钟周期,bne和j指令需要3个时钟周期,lw指令需要5个时钟周期,因此,一共用了(4+4+5+3)×10×200+(4+3)×9×200=44600ps=44.6ns。

(7)第1和2、2和3、5和1条指令之间的数据相关可以被消除,但不能消除第3和4条指令之间的load-use冒险。

10次循环共有10个时钟的load-use阻塞;此外,对于bne控制(分支)冒险,第1次和最后1次预测错误,所以有2次需要对预取执行的指令进行冲刷。因为条件检测和转移目标地址修改都在“执行(Ex)”阶段进行,因此,分支延迟损失时间片(分支延迟槽)为2,也即每次冲刷掉2条指令。因此,2次共被冲刷掉4条指令,使流水线阻塞了4个时钟周期;对于最后一条jump指令,因为在“译码(ID)”阶段进行跳转目标地址修改,所以每次有一个时钟阻塞,10次循环jump指令共执行了9次,因而有9个时钟周期的阻塞。综上可知,10次循环总共有10+4+9=23次阻塞,且第1~4条指令各执行了10次,第5~6条指令各执行了9次,因此,10次循环所用的时钟周期数为4×10+2×9+23=81,总时间为81×200ps=16.2ns。执行上述程序段时,流水线处理器的速度大约是单周期处理器速度的34.8/16.2=2.15倍;大约是多周期处理器速度的44.6/16.2=2.75倍。

3.(10分)某计算机CPU主频为1GHz,所连接的某外设的最大数据传输率为40kBps,该外设接口中有一个32位的数据缓存器,相应的中断服务程序的执行时间为500个时钟周期。请回答下列问题:

(1)是否可用中断方式进行该外设的输入输出?若能的话,在该设备持续工作期间,CPU用于该设备进行输入/输出的时间占整个CPU时间的百分比大约为多少?

(2)若该外设的最大数据传输率提高到4MBps,则可否用中断方式进行输入输出?若此时采用周期挪用DMA方式进行输入/输出,每挪用一个周期传送一个32位数据,一次DMA传送完成1000字节的数据传送,DMA初始化和后处理的时间为2000个时钟周期,不考虑访存冲突,则CPU用于该设备进行输入/输出的时间占整个CPU时间的百分比大约为多少?

参考答案:

(1)因为该外设接口中有一个32位数据缓存器,所以,若用中断方式进行输入/输出的话,可以每32位数据进行一次中断请求,因此,中断请求的时间间隔为106×4B/40kB=100μs。

对应的中断服务程序的执行时间为(1/1GHz)×500×106=0.5μs,因为中断响应过程就是执行一条隐指令的过程,所用时间相对于中断处理时间(即执行中断服务程序的时间)而言,几乎可以忽略不计,因而整个中断响应并处理的时间大约1μs多一点,远远小于中断请求的间隔时间。因此,可以用中断方式进行该外设的输入输出。

若用中断方式进行该设备的输入/输出,则该设备持续工作期间,CPU用于该设备进行输入/输出的

时间占整个CPU时间的百分比大约为0.5/100=0.5%(也可以通过考察1秒钟内500M个时钟周期中有多少时钟周期用于中断来计算百分比,其计算公式为(106/100×500)/500M=1%)。

(2)若外设的最大传输率为4MBps,则中断请求的时间间隔为106×4B/4MB=1μs。而整个中断响应并处理的时间大约0.5μs多一点,中断请求的间隔时间和中断响应处理时间太接近,虽然可以用中断方式进行该外设的输入输出,但不太合适

若用周期挪用DMA方式,则一秒钟内产生的DMA次数为4MB/1000B=4000;每次DMA传送前都需要2000个时钟周期进行DMA初始化和DMA结束处理,所以,CPU用于DMA处理的总开销为4000?2000=8000000=8M个时钟周期;而CPU的时钟频率为1GHz,即CPU每秒钟内产生1000M个时钟周期,故CPU用于该外设I/O的时间占整个CPU时间的百分比8M/1000M=0.8%(也可通过考察相邻两次

DMA请求间隔时间内

CPU用于该外设

I/O的时间来计算,即

(2000×1/1GHz)/(1000B/4MB)=0.8%)。 得分 五、简答题(共16分,答案写在答题纸上)

1. 假定某一个高级语言源程序P中有乘、除运算,但机器M中不提供乘、除运算指令,

则程序P能否在机器M上运行?为什么?(3分)

2. 为什么要考虑cache的一致性问题?读操作时是否要考虑cache的一致性问题?为什么?(3分) 3. 简述虚拟地址到物理地址的转换过程。(2分)

4. 微程序控制器的特点是什么?适合于实现哪种类型的指令?(3分) 5. 各流水段寄存器的宽度是否一样?为什么?(2分) 6. 什么是I/O端口?有哪两种I/O端口编址方式?(3分)

南京大学计算机组成原理2019冬试题-A-答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2aq1n0e2fm4mn0g1mmp04oweh0q6fq00oj7_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top