收藏 分销(赏)

综合体系结构.doc

上传人:快乐****生活 文档编号:3001080 上传时间:2024-06-12 格式:DOC 页数:11 大小:430.04KB 下载积分:8 金币
下载 相关 举报
综合体系结构.doc_第1页
第1页 / 共11页
综合体系结构.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
1.6 某台主频为400MHz计算机实施标准测试程序,程序中指令类型、实施数量和平均时钟周期数以下: 指令类型 指令实施数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机有效CPI、MIPS和程序实施时间。 解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500=1.776 (或) (2)MIPS速率=f/ CPI =400/1.776 =225.225MIPS (或MIPS) (3)程序实施时间= (45000×1+75000×2+8000×4+1500×2)/400=575ms 1.7 将计算机系统中某一功效处理速度加紧10倍,但该功效处理时间仅为整个系统运行时间40%,则采取此增强功效方法后,能使整个系统性能提升多少? 解 由题可知: 可改善百分比 = 40% = 0.4 部件加速比 = 10 依据Amdahl定律可知: 采取此增强功效方法后,能使整个系统性能提升到原来1.5625倍。 2.11 某台处理机各条指令使用频度以下表所表示: 指令 使用频度 指令 使用频度 指令 使用频度 ADD 43% JOM 6% CIL 2% SUB 13% STO 5% CLA 22% JMP 7% SHR 1% STP 1% 请分别设计这9条指令操作码哈弗曼编码、3/3/3扩展编码和2/7扩展编码,并计算这3种编码平均码长。 解: 依据给出九条指令使用频度和哈弗曼生成算法结构不用结构了两种不一样哈夫曼树。 (左边为A,右边为B) 各编码以下: 指令 Ii Pi 哈弗曼A 哈弗曼B 3/3/3 2/7 ADD I1 0.43 0 0 00 00 CLA I2 0.22 10 100 01 01 SUB I3 0.13 110 101 10 1000 JMP I4 0.07 11100 1100 1100 1001 JOM I5 0.06 11101 1101 1101 1010 STO I6 0.05 11110 1110 1110 1011 CIL I7 0.02 111110 11110 111100 1100 SHR I8 0.01 1111110 111110 111101 1101 STP I9 0.01 1111111 111111 111110 1110               由表可知,三种编码平均码长为:(公式:L=∑Pi*Li) 哈弗曼编码:2.42位 3/3/3编码:2.52位 2/7编码:2.70位 平均码长:2*43%+2*22%+4*(1-43%-22%)=2.7 2.12.某机指令字长16位。设有单地址指令和双地址指令两类。若每个地址字段为6位.且双地址指令有X条。问单地址指令最多能够有多少条? 解: 双地址指令结构为:(4位操作码)(6位地址码)(6位地址码) 单地址指令结构为:(10位操作码)(6位地址码) 所以,每少一条双地址指令,则多2^6条单地址指令, 双地址指令最多是2^(16-6-6)=2^4=16条 , 所以单地址指令最多有(16-X)*2^6条。 2.13.若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。设指令字长为12位.每个地址码长为3位。问能否以扩展操作码为其编码?假如其中单地址指令为254条呢?说明其理由。 解: (1)不能用扩展码为其编码。 指令字长12位,每个地址码占3位,三地址指令最多是2^(12-3-3-3)=8条, 现三地址指令需4条, 所以可有4条编码作为扩展码,而单地址指令最多为4×2^3×2^3=2^8=256条,现要求单地址指令255条, 所以可有一条编码作扩展码 所以零地址指令最多为1×2^3=8条 不满足题目要求,故不可能以扩展码为其编码。 (2)若单地址指令254条,能够用扩展码为其编码。 依据(1)中推导,单地址指令中可用2条编码作为扩展码,零地址指令为2×2^3=16条,满足题目要求 3.6有一指令流水线以下所表示 (1) 求连续输入10条指令,该流水线实际吞吐率和效率; (2) 该流水线“瓶颈”在哪一段?请采取两种不一样方法消除此“瓶颈”。对于你所给出两种新流水线,连续输入10条指令时,其实际吞吐率和效率各是多少? 解:(1) (2)瓶颈在3、4段。 n 变成八级流水线(细分) n 反复设置部件 1 2 3-1 3-2 4-1 4-2 4-3 4-4 3.7有一个流水线由4段组成,其中每当流经第3段时,总要在该段循环一次,然后才能流到第4段。假如每段经过一次所需要时间全部是,问: (1) 当在流水线输入端连续地每时间输入任务时,该流水线会发生什么情况? (2) 此流水线最大吞吐率为多少?假如每输入一个任务,连续处理10个任务时实际吞吐率和效率是多少? (3) 当每段时间不变时,怎样提升该流水线吞吐率?仍连续处理10个任务时,其吞吐率提升多少? 解:(1)会发生流水线阻塞情况。 第1个任务 S1 S2 S3 S3 S4 第2个任务 S1 S2 stall S3 S3 S4 第3个任务 S1 stall S2 stall S3 S3 S4 第4个任务 S1 stall S2 stall S3 S3 S4 (2) (3)反复设置部件 吞吐率提升倍数==1.64 3.8 有一条静态多功效流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第3段时间为2△t,其它各段时间均为△t,而且流水线输出能够直接返回输入端或 暂存于对应流水寄存器中。现要在该流水线上计算 ,画出其时空图,并计算其吞吐率、加速比和效率。 解:首先,应选择适合于流水线工作算法。对于本题,应先计算A1+B1、A2+B2、A3+B3和A4+B4;再计算(A1+B1) ×(A2+B2)和(A3+B3) ×(A4+B4);然后求总结果。 其次,画出完成该计算时空图,图所表示,图中阴影部分表示该段在工作。 由图可见,它在18个△t时间中,给出了7个结果。所以吞吐率为: 假如不用流水线,因为一次求积需3△t,一次求和需5△t,则产生上述7个结果共需(4×5+3×3)△t =29△t。所以加速比为: 该流水线效率可由阴影区面积和5个段总时空区面积比值求得: 5.1解释下列术语 指令级并行:简称ILP。是指指令之间存在一个并行性,利用它,计算机能够并行实施两条或两条以上指令。 指令调度:经过在编译时让编译器重新组织指令次序或经过硬件在实施时调整指令次序来消除冲突。 指令动态调度:是指在保持数据流和异常行为情况下,经过硬件对指令实施次序进行重新安排,以提升流水线利用率且降低停顿现象。是由硬件在程序实际运行时实施。 指令静态调度:是指依靠编译器对代码进行静态调度,以降低相关和冲突。它不是在程序实施过程中、而是在编译期间进行代码调度和优化。 保留站:在采取Tomasulo算法MIPS处理器浮点部件中,在运算部件入口设置用来保留一条已经流出并等候到本功效部件实施指令(相关信息)。 CDB:公共数据总线。 动态分支估计技术:是用硬件动态地进行分支处理方法。在程序运行时,依据分支指令过去表现来估计其未来行为。假如分支行为发生了改变,估计结果也跟着改变。 BHT:分支历史表。用来统计相关分支指令最近一次或几次实施情况是成功还是失败,并据此进行估计。 分支目标缓冲:是一个动态分支估计技术。将实施过成功分支指令地址和估计分支目标地址统计在一张硬件表中。在每次取指令同时,用该指令地址和表中全部项目标对应字段进行比较,方便尽早知道分支是否成功,尽早知道分支目标地址,达成降低分支开销目标。 前瞻实施:处理控制相关方法,它对分支指令结果进行猜测,然后按这个猜测结果继续取指、流出和实施后续指令。只是指令实施结果不是写回到寄存器或存放器,而是放到一个称为ROB缓冲器中。等到对应指令得到“确定”(即确实是应该实施)后,才将结果写入寄存器或存放器。 ROB:ReOrder Buffer。前瞻实施缓冲器。 超标量:一个多指令流出技术。它在每个时钟周期流出指令条数不固定,依代码具体情况而定,但有个上限。 超流水:在一个时钟周期内分时流出多条指令。 超长指令字:一个多指令流出技术。VLIW处理机在每个时钟周期流出指令条数是固定,这些指令组成一条长指令或一个指令包,在这个指令包中,指令之间并行性是经过指令显式地表示出来。 循环展开:是一个增加指令间并行性最简单和最常见方法。它将循环展开若干遍后,经过重命名和指令调度来开发更多并行性。 7.9假设在3000次访存中,第一级Cache失效110次, 第二级Cache失效55次。试问:在这种情况下,该 Cache系统局部失效率和全局失效率各是多少? 解 第一级Cache失效率(全局和局部)是110/3000, 第二级Cache局部失效率是55/110, 第二级Cache全局失效率是55/3000, 7.10 给定以下假设,试计算直接映象Cache和两路组相联Cache平均访问时间和CPU性能。由计算结果能得出什么结论? (1) 理想Cache情况下CPI为2.0,时钟周期为2ns,平均每条指令访存1.2次; (2) 二者Cache容量均为64KB,块大小全部是32字节; (3) 组相联Cache中多路选择器使CPU时钟周期增加了10%; (4) 这两种Cache失效开销全部是80ns; (5) 命中时间为1个时钟周期; (6) 64KB直接映象Cache失效率为1.4%,64KB两路组相联Cache失效率为1.0%。 解: 平均访问时间=命中时间+失效率×失效开销 平均访问时间1-路=2.0+1.4% *80=3.12ns 平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns 两路组相联平均访问时间比较低 CPUtime=(CPU实施+存放等候周期)*时钟周期 CPU time=IC(CPI实施+总失效次数/指令总数*失效开销) *时钟周期 =IC((CPI实施*时钟周期)+(每条指令访存次数*失效率*失效开销*时钟周期)) CPU time 1-way=IC(2.0*2+1.2*0.014*80)=5.344IC CPU time 2-way=IC(2.2*2+1.2*0.01*80)=5.36IC 相对性能比:5.36/5.344=1.003 直接映象cache访问速度比两路组相联cache要快1.04倍,而两路组相联Cache平均性能比直接映象cache要高1.003倍。所以这里选择两路组相联。 8.6 一个字节多路通道连接有6台设备,它们数据传输率以下表所表示。 设备名称 D1 D2 D3 D4 D5 D6 数据传输速率(B/ms) 50 50 40 25 25 10 (1) 计算该通道实际工作流量。 (2) 若通道最大流量等于实际工作流量,求通道工作周期Ts+TD。 解:(1)通道实际流量为 (2)因为通道最大流量等于实际工作流量,即有 可得,通道工作周期Ts+TD = 5μs。 8.7.设某个数组多路通道设备选择时间TS=1ms,传送1个字节数据传送时间TD=1ms,一次传送定长数据块大小k=512B。现有8台外设数据传输速率分别为以下表所表示: 各外设数据传输速率( KB / s ) 外设号 1 2 3 4 5 6 7 8 数据传输速率 1000 480 480 800 512 512 1024 1024 问:哪些外设能够连接到该通道上正常工作? 最大流量Fmax.block=1/(Ts/k+TD)=0.998MB/s即:998KB/s 而数组多路通道中,实际流量等于连接在这个通道上全部设备中数据流量最大那个, 即Fblock=max fi 为了确保通道正常工作,多种通道实际流量应该小于最大流量,即 Fblock<=Fmax.block 所以每一台外设数据传输速率均应小于最大流量,才符合要求。 因另外设号为2、3、4、5、6能够连接到该通道上正常工作。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服