计算机组成原理本科生期末试卷一部分答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科生期末试卷(一)
二、简答题(每小题8分,共16分)
1 假设主存容量16M×32位,Cache容量64K×32位,主存与Cache之间以每块4×32位大小传送数据,请确定直接映射方式的有关参数,并画出内存地址格式。
2 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据。
答:计算机可以从时间和空间两方面来区分指令和数据,在时间上,取指周期从内存中取出的是指令,而执行周期从内存取出或往内存中写入的是数据,在空间上,从内存中取出指令送控制器,
而执行周期从内存从取的数据送运算器、往内存写入的数据也是来自于运算器三、计算题(14分)
设x=-18(-15),y=+26(+13),数据用补码表示,用带求补器的阵列乘法器求出乘积x×y,并用十进制数乘法进行验证。
解:设最高位为符号位,输入数据为:[x]补=10001,[y]补=10011,算前求补器输出后
|x|=1111,|y|=1101
1111
×1101
乘积符号位运算:1111
1=0y = 1⊕x⊕0000 001111
1111 +
,利用补码与真值的换0,最后得补码乘积值为0算后求补器输出为,加上乘积符号算公式,补码二进制数的真值是0176=128+64+2+1 =+1952×+12×+12×××xy = 12+1y=(-15)××(-13)
=+195x十进制数乘法验证:
分)四、证明题(12
用定量分析方法证明多模块交叉存储器带宽大于顺序存储器带宽。解:假设(1)存储器模块字长等于数据总线宽度;
(2)模块存取一个字的存储周期等于T;
(3)总线传送周期为τ;
(4)交叉存储器的交叉模块数为m.。
交叉存储器为了实现流水线方式存储,即每经过τ时间延迟后启动下一模快,应满足
T = mτ, (1)
交叉存储器要求其模快数≥m,以保证启动某模快后经过mτ时间后再次启动该模快时,它的上次存取操作已经完成。这样连续读取m个字所需要时间为
t1 = T + (m –1)τ= mτ+ mτ–τ= (2m –1) τ(2)
故存储器带宽为W1 = 1/t1 = 1/(2m-1)τ(3)
而顺序方式存储器连续读取m个字所需时间为
t2 = mT = m2×τ(4)
存储器带宽为W2 = 1/t2 = 1/m2×τ(5)
比较(3)和(5)式可知,交叉存储器带宽W1 大于顺序存储器带宽W2
五、分析题(12分)
图1所示的系统中,A、B、C、D四个设备构成单级中断结构,它要求CPU在执行完当前指令时转向对中断请求进行服务。现假设:
①T为查询链中每个设备的延迟时间;DC②T、T、T、T分别为设备A、B、
C、D的服务程序所需的执行时间;DBCA③T、T分别为保存现场和恢复现场所需的时间;RS④主存工作周期为T;M⑤中断批准机构在确认一个新中断之前,先要让即将被中断的程序的一条指令执行完毕。
试问:在确保请求服务的四个设备都不会丢失信息的条件下,中断饱和的最小时间是多少中断极限频率是多少.
解:
:假设主存工作周期为T,执行一条指令的时间也设为T。则中断处理过程和各时M M间段如图所示。当三个设备同时发出中断请求时,依次处理设备A、B、C的时间如下:
t = 2T + T + T + T + T RASMDCA t = 2T + T + T + T + T RBSM DCA t = 2T + T + T + T + TR MSDCAC2T + T + T S+ta+tb+tcTd=DCM达到中断饱和的时间为:T = t+ t+ t +Td 中断极限频率为:f = 1 / T CB A
图
六、设计题(16分)
某计算机有图2所示的功能部件,其中M为主存,指令和数据均存放在其中,MDR为主存数据寄存器,MAR为主存地址寄存器,RRIR为通用寄存器,~30.
为指令寄存器,PC为程序计数器(具有自动加1功能),C、D为暂存寄存器,ALU为算术逻辑单元,移位器可左移、右移、直通传送。
(1)将所有功能部件连接起来,组成完整的数据通路,并用单向或双向箭头表示信息传送方向。
(2)画出“ADD R1,(R2)”指令周期流程图。该指令的含义是将R中的1数与(R)指示的主存单元中的数相加,相加的结果直通传送至R中。12(3)若另外增加
一个指令存贮器,修改数据通路,画出⑵的指令周期流程图。
解:(1)各功能部件联结成如图所示数据通路:
图B
(2)此指令为RS型指令,一个操作数在R中,另一个操作数在R为地址的内存单元中,21相加
结果放在R中。MAR送当前指令地址到1MAR )→PC(.
取当前指令到IR,)+ 1→MBR→IR,(PCM PC + 1,为取下条指令做好准备
译码
①CR()→1
②→(MARR)2
③MBRD →M→
(C)+(D)→R 1④
图B
(说明):①:取R操作数→C暂存器。②:送地址到MAR。③:取出内存单元中的操作数1。R暂存器。④:相加后将和数→→D1