- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工大学计算机系统结构考试材料
一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的执行时间均为,流水线的输出端与输入端之间有直接数据通路,且设置有足够的缓冲寄存器。试用尽可能短的时间计算,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。
解 为了减少流水线中发生先写后读相关的次数,使流水线完成计算的时间尽可能短,采用下述算法计算F:
按先乘后加、先括号内后括号外的优先次序,上述计算F的过程需要先做6次乘法,用1~6表示;再做3个括号内的3次加法,用7~9表示;最后做括号外的2次加法,用10~11表示。流水线时空图如图所示。
由时空图可得实际吞吐率、加速比和效率分别为
假设每种向量指令都有自己的一条流水线完成该向量指令的流水处理,下面一组向量指令能分成几个编队?
LV V1,RX ;取向量X
MULTSV V2,F0,V1 ;向量和标量相乘
LV V3,RY ;取向量Y
ADDV V4,V2,V3 ;向量加
SV RY,V4 ;存结果向量
解 第一条指令LV为第一编队,MULTSV指令因与第一条LV指令相关,所以它们不能在同一个编队中。MULTSV指令和第二条LV指令之间不存在功能部件冲突和数据相关,所以这两条指令为第二编队。ADDV指令与第二条LV指令数据相关,所以ADDV为第三编队。SV指令与ADDV指令数据相关,所以SV为第四编队。因此,这一组向量指令分为以下4个编队
① LV
② MULTSV LV
③ ADDV
④ SV
某模型机有9条指令,其使用频度分别为
ADD:30% SUB:24% LOD:6% STO:7%
JMP:7% SHR:2% ROL:3% MOV:20%
STP:1%
要求有2种指令字长,且都是二地址指令。采用扩展编码,并限制只能有2种操作码码长。设该机有若干个通用寄存器,主存宽度为16位,按字节编址,采用按整数边界存储,任何指令都在1个主存周期中取得。短指令为寄存器-寄存器型,长指令为寄存器-主存型。主存地址能变址寻址。
(1)仅根据使用频度,不考虑其他要求,设计出哈夫曼编码,并计算平均码长。
(2)根据给出的全部要求,设计优化实用的操作码编码,并计算平均码长。
(3)画出该机的2种指令字的格式,标出各字段的位数。该机允许使用多少个可编址的通用寄存器?访存变址寻址的最大相对位移量是多少字节?
解 (1)根据频度分布,得出哈夫曼树,如图所示。
1
0.56
0.44
0.26
0.30
0.12
0.14
0.06
0.06
0.03
0.03
0.20
0.24
0.07
0.07
I5
I6
I2
I9
I8
0.01
0.02
I7
I4
I3
I1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
由哈夫曼树,得出9条指令的哈夫曼编码,如表中第4列所示。
哈夫曼编码和扩展编码
指令Iipi哈夫曼编码li(位)2/5扩展编码li(位)ADDI130%0 120 02SUBI224%1 120 12MOVI320%1 021 02STOI47%0 0 1 141 1 0 0 05JMPI57%0 0 1 041 1 0 0 15LODI66%0 0 0 141 1 0 1 05ROLI73%0 0 0 0 151 1 0 1 15SHRI82%0 0 0 0 0 161 1 1 0 05STPI91%0 0 0 0 0 061 1 1 0 15计算哈夫曼编码的平均码长为
(2)根据题目要求,指令有2种字长,主存宽度为16位,按字节编址,采用按整数边界存储,任何指令都在1个主存周期取得,那么,短指令字长只能是8位,长指令字长只能是16位。
指令都是二地址指令,短指令为寄存器-寄存器型,据此可得出短指令格式为
操作码
寄存器号1
寄存器号2
长指令为寄存器-主存型,且主存地址应能变址寻址,可得出长指令格式为
操作码
主存逻辑地址
寄存器号
变址寄存器号
相对位移
在一般的计算机中,变址寄存器就是某一个通用寄存器,所以,变址寄存器号字段的位数与寄存器号字段的位数相同。
根据题目要求,指令操作码可采用扩展编码,并只能有2种码长。从指令使用频度来看,ADD、SUB和MOV的使用频度较高,其余6条指令的使用频度都低得多,因此,短操作码码长宜取2位长,可有22=4个码点,用3个码点表示这3条指令,尚余下1个码点作为扩展标志。用1个扩展标志再扩展表示出6个操作码,还需要3位,因此,长操作码码长为5位。由此,得出9条指令
文档评论(0)