下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
438分)某计算机的U主频为500MHI为(即执行每条指令平均需5个时钟周期。假定某外设的数据传输率为0.5MB/s以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。U用于该外设I/O的时间占整个U时间的百分比是多少?当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)解答:,中断时每次传送用于数据传送的时钟周期为5×18+5×2=100。为达到外设0.5MB/s的数据传输率,外设每秒申请的中断次数为0.5MB/4B=1250001s内用于中断的开销为100×125000=12500000=12.5M个时钟周期。CPU用于外设I/O的时间占整个CPU时间的百分比为12.5M/500M=2.5%。当外设数据传输率提高到5MB/sDMADMA传送5000B,1s内需产生的DMA次数为5MB/5000B=1000。CPU用于DMA处理的总开销为1000×500=500000=0.5M个时钟周期。CPU用于外设I/O的时间占整个CPU时间的百分比为0.5M/500M=0.1%。【评分说明】如果考生只给出正确的计算结果,未给出计算过程,每个给2分。44(13分某计算机字长为1616如图A-2所示,图中所有控制信号为1时表示有效、为0MDRinE为1表示允许数据从DB打入为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))→(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。图 A-2表A-1给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。. ...表 A-1时钟时钟功能有效控制信号C1PCout,MARinMAR←(PC)MDR←M(MDR)C2MemR,MDRinE,PC+1PC←(PC)+1C3MDRout,IRinIR←(MDR)C4指令译码无解答:题干已给出取值和译码阶段每个节拍的功能和有效控制信号思路中,包括划分执行步骤、确定完成的功能、需要的控制信号。先分析题干中提供的示例(本部分解题时不做要求:取指令的功能是根据PC的内容所指主存地址,取出指令代码,经过MDR,最终送至IR。这部分和后面的指令执行阶段的取操作数、存运算结果的方法是相通的。C1:(PC)→MAR在读写存储器前,必须先将地址(这里为(PC))送至MAR。C2:M(MAR)→MDR,(PC)+1→PC读写的数据必须经过MDR,指令取出后PC自增1。C3:(MDR)→IR然后将读到MDR中指令代码送至IR进行后续操作。指令“ADD(R1),R0”的操作数一个在主存中,一个在寄存器中,运算结果在主存中。根据指令功能,要读出R1的内容所指的主存单元,必须先将R1的内容送至MAR,即(R1)→MAR。而读出的数据必须经过MDR,即M(MAR)→MDR。因此,将R1的内容所指主存单元的数据读出到MDR的节拍安排如下:C5:(R1)→MARC6:M(MAR)→MDRALU一端是寄存器A,MDR或R0中必须有一个先写入A中,如。C7:(MDR)→A然后执行加法操作,并将结果送入寄存器AC。C8:(A)+(R0)→AC之后将加法结果写回到R1的内容所指主存单元,注意MAR中的内容没有改变。C9:(AC)→MDRC10:(MDR)→M(MAR)X就是流出寄存器X就是。还需注意其他特殊控制信号,如PC+1、Add等。于是得到参考答案如下:时钟时钟功能有效控制信号C5R1out,MARinMAR←(R1)C6MemR,MDRinEMDR←M(MAR)C7A←(MDR)MDRout,AinC8R0out,Add,ACinAC←(A)+(R0)C9ACout,MDRinMDR←(AC)C10MDRoutE,MemWM(MAR)←(MDR)本题答案不唯一,如果在C6执行M(MAR)→MDR(R0)→A(即选择将(R0)写入A,并不会发生总线冲突,这种方案可节省1个节拍,见下表。时钟时钟功能有效控制信号C5R1out,MARinMAR←(R1)C6MDR←M(MAR),A←(R0)MemR,MDRinE,R0out,AinC7C7MDRout,Add,ACinAC←(MDR)+(A)C8ACout,MDRinMDR←(AC)C9MDRoutE,MemWM(MAR)←(MDR)43(11分)某计算机字长为16位,主存地址空间大小为128K字长指令格式,指令各字段定义如图B-4所示。转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义见表B-1。OPMsOPMsRsMdRd源操作数
目的操作数 图 B-4表B-1Ms/Md 寻址方式助记符含义000B 寄存器直接Rn操作数=(Rn)001B 寄存器间接(Rn)操作数=((Rn))010B 寄存器间接、自增(Rn)+操作数=((Rn)),(Rn)+1→Rn011B 相对()表示存储器地址X或寄存器X的内容。D(Rn)转移目标地址=(PC)+(Rn)请回答下列问题:器地址寄存器和存储器数据寄存器至少各需要多少位?转移指令的目标地址范围是多少?若操作码0010B(助记符为4和5的编号分别为100B和的内容为的内容为1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语言为“add(R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元中的内容会改变?改变后的内容是什么?解答:操作码占424=166方式占3位,于是寄存器编号占 3位,则该机最多有23=8个通用寄存器;主存容量为128KB,按字编址,计算机字长为16位,划分为128KB/2B=216个存储单元,故MDR和MAR至少各需16位。PC和Rn可表示的地址范围均为0~216-1,而主存地址空间为216指令的目标地址范围为0000~0~161。(3) (R4),,对应的机器码为001000110001。R5和存储单元5678H的内容从5678H变成5679H5678H中的内容变成该加法指令计算的结果5678H+1234H=68ACH。44(12分)某计算机的主存地址空间大小为256M,按字节编址。指令e和数据Cache分离,均有8个Cache行,每个Cache行大小为,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:程序A程序A:inta[256][256]intsum_array1(){ int for(i=0;i<256;i++)for(j=0;j<256;j++)sum+=a[i][j]; returnsum;程序B:inta[256][256]intsum_array2(){ int for(j=0;j<256;j++)for(i=0;i<256;i++)sum+=a[i][j]; returnsum;假定int类型数据用32位补码表示,程序编译时jsum均分配在寄存器中,数组a按行优先方式存放,其首地址为十进制数或给出计算过程。若不考虑用于CacheCache的总容量为多少?数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始程序A和B的数据访问命中率各是多少?哪个程序的执行时间更短?解答:每个Cache行对应一个标记项,如下图所示。不考虑用于Cache一致性维护和替换算法的控制位。地址总长度为28位(28,块内地址6位24e块号3位3,故g的位数为28-6-3=19位,还需使用一个有效位,故题中数据Cache行的结构如下图所示。数据Cache共有8行,因此数据Cache的总容量为8×(64+20/8)B=532B。数组a在主存的存放位置及其与Cache之间的映射关系如下图所示。数组按行优先方式存放,首地址为320,数组元素占4a[0][31]所在的主存块对应的Cache行号为(320+31×4)/64=6a[1][1所在的主存块对应的Cache行号为(320+256×4+1×4)/64%8=5。【另解】 由(1)可知主存和Cache的地址格式如下图所示。标记块号 块内地址27 8 6标记块号 块内地址主存地址8 65 0块号 块内地址Cache地址块号 块内地址320+31×4=1
数组按行优先方式存放,首地址320,数组元素占4个字节。a[0][31]的地址为10111100e行号为110B=的地址为320+256×4+1×4=1348=10101000100B,故其对应的Cache行号为101B=5。(3)数组a的大小为256×256×4B=218B,占用218/64=212个主存块,按行优先存放,程序A逐行访问数组a,共需访问的次数为216次,未命中次数为212次(一个数未命中,因此程序A(16-1)/16。【另解】数组a按行存放,程序A按行存取。每个字块中存放16个int型数据,除访问的第一个不命中,随后的15个全都命中,访问全部字块都符合这一规律,且数组大小为字块大小的整数倍,故程序A的命中率为15/16=93.75%。程序B逐列访问数组a,Cache总容量为64B×8=512B,数组a一行的大小为1KB,正好是Cache容量的2倍,可知不同行的同一列数组元素使用的是同一个Cache单元,故逐列访问每个数据时,都会将之前的字块置换出,也即每次访问都不会命中,命中率为0。由于从Cache读数据比从主存读数据快很多,所以程序A的执行比程序B43(11分)假定在一个8位字长的计算机中运行如下C段:unsignedintx=134;unsignedinty=246;intm=x;intn=y;unsignedintz1=x-y;unsignedintz2=x+y;intk1=m-n;intk2=m+n;若编译器编译时将8个8位寄存器R1~R8分别分配给变量x、、m、n、z1、z2、k1和k2(提示:带符号整数用补码表示)执行上述程序段后,寄存器R1R5和R6的内容分别是什么(用十六进制表示)?执行上述程序段后,变量m和k1的值分别是多少(用十进制表示)?//加法器辅助电路实现?简述理由。/哪些带符号整数运算语句的执行结果会发生溢出?解答:x的机器数为1000R1的内容为246=255-9=1111,所以y的机器数为1111。x-y:10000110+00001010=(0)10010000,括弧中为加法器的进位,故R5的内容为90H。x+10000110+11110110=(1)011111括弧中为加法器的进位6的内容为7C。的机器数与x86H=1000补码表示)-111。的机器数与x-y90H=1001,解释为带符号整数用补码表示)时,其值为-1110000B=-112。补n位加法器实现的是模2na和bb可用a加bb=a+-b](d,补所以n位无符号整数加/减运算都可在n位加法器中实现。由于带符号整数用补码表示,补码加/减运算公式为:[a+b]
=[a]
+[b]
(d[b]补 补 补补补 ]b](d,所以n减运算都可在n补 /(加法的符号相同,且不同于输出端(和)的符号,则结果溢出,或加法器完成加法操作时,若次高位的进位和最高位的进位不同,则结果溢出。最后一条语句执行时会发生溢出。因为10000110+11110110=(1)01111100,括弧中为加法器的进位,根据上述溢出判断规则,可知结果溢出。44(12分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16M,主(物理地址空间大小为页面大小为采用直接映射方式共8行;主存与Cache之间交换的块大小为 32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a图题44-b图所示图中页框号及标记字段的内容为六进制形式。虚页号01234567
页框号
行号 有效位 标记 102010200—101D11051064114D0—127A1061041151020—12B0—1321234567题44-a图 页表的部分内容 题44-b图 Cache的部分内容请回答下列问题。(理页号)?使用物理地址访问Cache的位数及在物理地址中的位置。虚拟地址001C60H物理地址是什么?访问该地址时是否Cache命中?要求说明理由。假定为该机配置一个 4路组相联的TLB共可存放8个页表项,若其当前内容(十六进制如题44-c024BACH中?要求说明理由。解答:虚拟地址为24位,其中高12位为虚页号。物理地址为20位,其中高8理页号。(2)20位物理地址中,最低5位为块内地址,中间3位为Cache行号,高12标志。()在主存中。虚拟地址001C60H=000000000001110001100000,故虚页号为000000000001B,查看000000000001B=001H处的页表项,由于对应的有效位为故虚拟地址001C60H所在的页面在主存中。页表001H(物理页号为04H=0000,与页内偏移110001100000B拼接成物理地址:00000100110001100000B=04C60H。对于物理地址00000100110001100000B,所在主存块只能映射到Cache的第3行(即第011B行(值为105(物理地址高12位,故访问该地址时Cache不命中。()虚拟地址024BACH=000000100100101110101100,故虚页号为00000100B;由于TLB只有8/4=2个组,故虚页号中高11位为TLB标记,最低1位为TLB组号,它们的值分别为00000010010B(即012H)和0B,因此,该虚拟地址所对应物理页面只可能映射到TLB的第0组。由于组 0中存在有效位=1、标记=012H的项,所以访问 TLB命中,即虚拟地址024BACH所在的页面在主存中。假定某计算机的CPU主频为80MHz,CPI为4,平均每条指令访存1.5次,主存与Cache之间交换的块大小为的命中率为,存储器总线宽带为32位。请回答下列问题。该计算机的MIPS数是多少?平均每秒 Cache缺失的次数是多少?在不虑DMA传送的情况下,主存带宽至少达到多少才能满足CPU的访存要求?假定在Cache0.0005%CPU平均每秒产生多少次缺页异常?若页面大小为4KB盘时DMA传送采用周期挪用方式,磁盘I/O接口的数据缓冲寄存器为32盘I/O接口平均每秒发出的DMA请求次数至少是多少?CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?为什么?为了提高性能,主存采用4体低位交叉存储模式,工作时每1/4启动一个体。若每个体的存储周期为50ns,则该主存能提供的最大带宽是多少?解答:平均每秒U80M/4=20S数为21分)平均每条指令访存1.5平均每秒e1分)当CacheCache宽为16B×300k/sDMA4.8MB/s才能满足CPU(2分)题中假定在Cache300000×0.0005%=1.5次因为存储器总线宽度为32位,所以每传送32位数据,磁盘控制器发出一次 DMA请求,故平均每秒磁盘 DMA请求的次数至少为1.5×4KB/4B=1.5K=153(2分(U和AA(1分)因为DMA传输数据可能会丢失(1分)(4)4模式能提供的最大带宽为4×4B/50ns=320MB/s(2分)某16位计算机中,带符号整数用补码表示,数据Cache和指令Cache分离。题44表给出了指令系统中部分指令格式,其中Rs和Rd表示寄存器,mem表示存储单元地址,表示寄存器x或存储单元x的内容。表 指令系统中部分指令格式名称名称指令的汇编格式指令功能加法指令ADD Rs,Rd(Rs)+(Rd)->Rd算术/逻辑左移SHL Rd2*(Rd)->Rd算术右移SHR Rd(Rd)/2->Rd取数指令LOAD Rd,mem(mem)->Rd存数指令STORE Rs,mem(Rs)->mem该计算机采用5段流水方式执行指令,各流水段分别是取指I、译码读寄存器(I、计算有效地址、访问存储器)和结果写回寄存器按序”不能在同一个时钟周期内进行。请回答下列问题:若int型变量x-513,存放在寄存器R1“SHL的内容是多少?(用十六进制表示)若某个时间段中,有连续的4阻塞,则执行这4条指令所需的时钟周期数为多少?若高级语言程序中某赋值语句为a和b均为int[x]、[a]和[b]。该语句对应的指令序列及其在指令流水线中的执行过程如下图所示。I1 LOAD I2 LOAD I3 ADD I4 STORE 图指令序列及其执行过程示意图则这4条指令执行过程中,I3的ID段和I4的IF段被阻塞的原因各是什么?若高级语言程序中某赋值语句为和a均为unsignedint的存储单元地址分别表示为[x]、[a],则执行这条语句至少需要多少个时钟周期?要求模仿题44图画出这条语句对应的指令序列及其在流水线中的执行过程示意图。44.解答:(1)x的机器码为[x]=11111101,即指令执行前(R1)=FDFFH,右移1位后为111111101111(R1)=FEFFH(2分)【评分说明】仅正确写出指令执行前的(R1)可给1分。至少需要4+(5-1)=8(2分)的ID段被阻塞的原因:因为与和都存在数据相关,需等到和才能读寄存器内容,所以的ID(1分)的IF段被阻塞的原因:因为的前一条指令在ID段被阻塞,所以的IF段(1分)因2*x操作有左移和加法两种实现方法,故x=x*2+a对应的指令序列为I1LOADR1,[x]I2LOADR2,[a]I3SHLR1 //或者 ADD R1,R1I4ADDR1,R2I5STORER2,[x]【评分说明】指令正确给2分;其他正确答案同样给分;部分正确,酌情给分。这5条指令在流水线中执行过程如下图所示(3分)时间单元时间单元指令12345678910 11 121314 15 1617I1IFIDEXMWBI2IFIDEXMWBI3IFIDEXMWBI4IFIDEXMWBI5IFID EX M WB故执行x=x*2+a语句最少需要17(1分)44.(12分某程序中有如下循环代码段p::”for(inti=0;i<N;i++)。假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中,数组编号地址机器代码汇编代码注释108048100H00022080Hloop:sllR4,R2,2(R2)<<2R4208048104H00083020H编号地址机器代码汇编代码注释108048100H00022080Hloop:sllR4,R2,2(R2)<<2R4208048104H00083020HaddR4,R4,R3(R4)+(R3)R4308048108H8C850000HloadR5,0(R4)((R4)+0)R540804810CH00250820HaddR1,R1,R5(R1)+(R5)R1508048110H20420001HaddR2,R2,1(R2)+1R2608048114H1446FFFAHbneR2,R6,loopif(R2)!=(R6)gotoloop执行上述代码的计算机M采用32位定长指令字,其中分支指令bne采用如下格式:OPRsOPRsRdOFFSETOP为操作码;;Rs和Rd为寄存器编号;OFFSET为偏移量,用补码表示。请回答下列问题,并说明理由。1)M的存储器编址单位是什么?已知sll指令实现左移功能,数组A中每个元素占多少位?题44表中bne指令的OFFSET字段的值是多少?已知bne指令采用相对寻址方式,当前PC内容为bne指令地址,通过分析题44表中指令地址和bne指令内容,推断出bne指令的转移目标地址计算公式。若M采用如下“按序发射、按序完成”的5取值、ID(译码及取数(执行(访存(写回寄存器,且硬件不采取任何转发措施,分支指令的执行均引起3个时钟周期的阻塞,则P中哪些指令的执行会由于数据相关发生流水线阻塞?哪条指令的执行会发生控制冒险?为什么指令 1的执行不会因为与指令5的数据相关而发生阻塞?解答:CPU分内容,考生因注意各章节内容之间的联系,才能更好的把握当前考试的趋势。已知计算机M采用32知,每条指令的地址差为4个地址单位,即4个地址单位代表4B,一个地址单位就代表了1B(2分)4址单位,而计算机按字节编址,所以数组A中每个元素占4B。(2分)指令的机器代码为2B内容为OFFSET字段,所以该指令的OFFSET字段为。(1分)当系统执行到bne自动加的内容就为是08048100H,两者相差了18H,即24个单位的地址间隔,所以偏移址的一位即是真实跳转地址的-24/-6=4位。(1分)可知bne指令的转移目标地址计算公式为(PC)+4+OFFSET*4。(1分)由于数据相关而发生阻塞的指令为第6条,因为第6条指令都(3分)第6(1分)6有3(1分)【评分说明】对于第11和22和33和45和6发生数据相关,因而发生阻塞的指令为第2346条,同样给3分。答对3个以上给3正确酌情给分。假设对于44题中的计算机M和程序PM采用页式虚拟存储管理;PCacheA理由。1)P的内容是多少?的指令Cache和数据Cache分离。若指令Cache共有16和主存交换的块大小为32字节,则其数据区的容量是多少?若仅考虑程序段P的执行,则指令Cache的命中率为多少?3)P在执行过程中,哪条指令的执行可能发生溢出异常?哪条指令的执行可能产生缺页异常?对于数组A的访问,需要读磁盘和TLB至少各多少次?解答:该题继承了上题中的相关信息,统考中首次引入此种设置,具体考察到程序的运行结果、Cache的大小和命中率的计算以及磁盘和TLB的相关计算,是一题比较综合的题型。R2里装的是i的值,循环条件是i<N(1000),即当i自增到不满足这个条件时跳出循环,程序结束,所以此时i的值为1000。(1分)Cache共有16行,每块32字节,所以Cache数据区的容量为16*32B=512B。(1分)P共有624,其起始地址为0804CacheP所在的主存块调入Cache令Cache10001Cache的命中率为:(1000×6-1)/(1000×6)=99.98%。(2分)1错误,但解题思路正确,可酌情给分。指令4为加法指令,即对应sum+=A[i],当数组A中元素的值过大时,则会导致条加法指令发生溢出异常;而指令5虽然都是加法指令,但他们分别为数组地址的计算指令和存储变量ii最大到达异常。(2分)只有访存指令可能产生缺页异常,即指令3可能产生缺页异常。(1分)因为数组A在磁盘的一页上,而一开始数组并不在主存中,第一次访问数组时会导致访盘,把AA(2分)每访问一次内存数据就会查TLB1000TLB1000A[0]第一次访问A[0]会先查一次,所以访问TLB的次数一共是1001次。(2分)【评分说明】①对于第1问,若答案中除指令4(即指令1、2、5),则给1分,其他情况,则给0分。②对于第2指令”,即可得分。③对于第3问,若答案中给出的读TLB的次数为1002的TLB3TLB及磁盘访问次数不正确,但解题思路正确,可酌情给分。43(13分某161616位定长指令字格式;CPUR0~R3TR(((righ)3R的输出由信号tU可实现直送(、A加Bd、A减BA与(d、请A或Bo、非AnoA加()7种操作,控制信号为。请回答下列问题。图中哪些寄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 胆囊癌课件教学课件
- 医疗数据安全事件应急处置流程优化
- 医疗数据安全与医疗数据标准化建设
- 2026届山东省泰安市宁阳县四中生物高三第一学期期末统考试题含解析
- 胃癌医学课件
- 医疗数据备份的区块链数据血缘关系构建
- 医疗数据协同的区块链桥梁
- 肿瘤讲座知识课件
- 肿瘤学课件教学课件
- 医疗数据共享的知识产权保护
- 西南名校联盟2026届高三12月“3+3+3”高考备考诊断性联考(一)英语试卷(含答案详解)
- 黄埔区2025年第二次招聘社区专职工作人员备考题库有答案详解
- 2025贵州锦麟化工有限责任公司第三次招聘7人备考笔试题库及答案解析
- 2025广东广州琶洲街道招聘雇员(协管员)5人笔试考试参考试题及答案解析
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 雨课堂学堂在线学堂云《劳动教育(西安理大 )》单元测试考核答案
- 2025年特种作业人员危险化学品安全作业(化工自动化控制仪表)考试题库及答案
- 2026四川成都高新投资集团有限公司第一批校园招聘35人笔试考试备考试题及答案解析
- 人社局公益性岗位笔试题目及答案
- 2025年华住集团酒店考试题库
- 《建设工程施工合同示范文本》(GF-2022-0201) 核心条款与使用指南
评论
0/150
提交评论