组成原理习题总结.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.(8分)一台模型机共有7条指令,各指令的使用频度分别为35%,25%,20%,10%,5%,3%,2%,有8个通用数据寄存器,2个变址寄存器。 (1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 (2) 设计8位字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式 指令4条,变址范围不小于正、负127。请设计指令格式,并给出各字段的长度和操作码的编码。 (1) 操作码:0,10,110,1110,11110,111110,111111 平均长度:H = 2.4 (2) 00 R R,每个R为3位,共8位 01 R R 10 R R 1100 R X A,R为3位,X为1位,变址量8为,共16位 1101 R X A 1110 R X A 1111 R X A 2.(10分)某工作站采用时钟频率f为15MHZ,处理速率为10MIPS的处理机来执行一个已知混合程序。假定每次存储器存取为 1周期延迟,试问: (1)(4分)此计算机的有效CPI是多少 (2)(6分)假定将处理机的时钟频率f提高到30MHZ,但存储器子系统速率不变。 这样,每次存储器存取需要两个时钟周期,如果30%指令每条只需要一次存储存取, 而另外5%每条需要两次存储存取,还假定已知混合程序的指令数不变,并与原工作站兼容,试求改进后的处理机性能。 (1) CPIold = fold /(MIPS * 106)= 15×106 /(10 * 106 )= 1.5 (2) 如题所述,30%的指令需要一次存储存取,则这些指令在处理器提高时钟频率之后需要增加一个时钟 同样,另外5%的指令需要增加两个时钟周期。 CPInew= (改进前执行混合程序的所需时钟周期数 + 30%×1×指令数 + 5%×2×指令数) / 指令数 = 改进前有效CPI + 30%×1 + 5%×2= 1.5 + 0.3 + 0.1= 1.9 处理速率MIPS= fnew / (CPInew×106) = 30×106/(1.9×106) = 15.79 MIPS,假设混合程序的指令数为IC, 则有 3.(10分)在下列不同结构的处理机上执行6×6的矩阵乘法C=A×B,计算所需要的最短时间。只计算乘法指令和加法指令的执行 时间,不计算取操作数、数据传送和程序控制等指令的执行时间。加法部件和乘法部件的延迟时间都是3个时钟周期, 另外,加法指令和乘法指令还要经过取指令和指令译码的时钟周期,每个时钟周期为20ns,C的初始值为0。 各操作部件的输出端有直接数据通路连接到有关操作部件的输入端,在操作部件的输出端设置有足够容量的缓冲寄存器。 (1) (4分)处理机内只有一个通用操作部件,采用顺序方式执行指令。 (2) (6分)单流水线标量处理机,有一条两个功能的静态流水线,流水线每个功能段的延迟时间均为一个时钟周期, 加法操作和乘法操作各经过3个功能段。 要完成上面的矩阵乘法,需要完成的各种操作的数量: 需要完成的乘法次数为6×6×6=216次; 需要完成的加法次数为6×6×5=180次; 下面我们分析处理机的结构会给性能带来什么样的影响。 (1) 顺序执行时,每个乘法和加法指令都需要5个时钟周期(取指令、指令分析、指令执行);所以所需要的时间为: (2) 单流水线标量处理机,采用两功能静态流水线时;因为有足够的缓冲寄存器,所以我们可以首先把所有的乘法计算完,并通过调度使加法流水线不出现停顿,所以所需要的时间为: ?4.(10分)假设一条指令的执行过程分为取指令、分析和执行三段,每一段的时间分别为△t、2△t和3△t。在下列各种情况下,分别写出连续执行n条指令所需要的时间表达式。 ???? (1)(3分)顺序执行方式。 (2)(7分)取指令、分析和执行重叠。 顺序执行时每条指令用时=△t+2△t+3△t=6△t, 因此n条指令所需要的时间=6n*△t (2)第一条指令完成需要时间=△t+2△t+3Dt=6△t,由于一条指令的取指令和分析阶段和下一条指令的执行阶段重叠,因此,此后每3△t 完成一条指令,余下的n-1条指令用时(n-1)*3△t. 所以因此n条指令所需要

文档评论(0)

3344483cc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档