计算机组成与设计第五版答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决方案4第4章解决方案S-34.1 4.1.1信号值如下:RegWrite MemReadALUMux MemWrite aloop RegMux Branch 0 0 1(Imm)1 ADD X 0 ALUMux是控制ALU输入处Mux 的控制信号,0(Reg)选择寄存器文件的输出,1(Imm)从指令字中选择立即数作为第二个输入。铝合金是控制Mux输入寄存器文件的控制信号,0(ALU)选择ALU的输出,1(Mem)选择存储器的输出。X值表示“不关心”(不管信号是0还是1)4.1.2除了未使用的寄存器4.1.3分支添加单元和写入端口:分支添加,寄存器写入端口没有输出:无(所有单元都生成输出)4.2 4.2.1第四条指令使用指令存储器、两个寄存器读取端口、添加Rd和Rs的ALU,寄存器中的数据存储器和写入端口。4.2.2无。此指令可以使用现有的块来实现。4.2.3无。此指令可以在不添加新的控制信号的情况下实现。它只需要改变控制逻辑。4.3 4.3.1时钟周期时间由关键路径决定。对于给定的延迟,它正好得到加载指令的数据值:I-Mem(读取指令)、Regs(长于控制时间)、Mux(选择ALU)输入)、ALU、数据存储器和Mux(从内存中选择要写入寄存器的值)。这个路径的延迟是400ps 吗?200秒?30秒?120秒?350马力?30秒?1130马力。1430马力(1130马力?300
ps,ALU在关键路径上)。4.3.2第4.3.2节加速度来自于时钟周期时间和程序所需时钟周期数的变化:程序要求的周期数减少了5%,但循环时间是1430而不是1130,所以我们的加速比是(1/0.95)*(1130/1430)?0.83,这意味着我们实际上在减速。S-4第4章解决方案4.3.3成本始终是所有组件(不仅仅是关键路径上的组件)的总成本,因此原处理器的成本是I-Mem、Regs、Control、ALU、D-Mem、2个Add单元和3个Mux单元,总成本是1000?200?500?100?2000年?2*30?3*10?3890我们将计算与基线相关的成本。相对于此基线的性能是我们先前计算的加速,相对于基线的成本/性能如下:新成本:3890?600?4490相对成本:4490/3890?1.15性价比:1.15/0.83?1.39条。我们必须付出更高的代价来换取更差的性能;成本/性能比未经修改的处理器差得多。4.2.2的单位是4.2倍,所以指令选择4.2倍的时间,而不是4.2倍的时间?4注意,通过另一个加法单元的路径较短,因为I-Mem的延迟比加法单元的延迟长。我们有:200秒?15磅?10磅?70秒?20秒?315 ps4.4.3条件分支和无条件分支具有相同的长延迟路径来计算分支地址。此外,它们还有一个长延迟路径,通过寄存器、Mux和ALU计算PCSrc
条件。关键路径是这两条路径中较长的一条。对于这些路径,通过PCSrc的路径具有更长的延迟:200ps?90秒?20秒?90秒?20秒?420 ps4.4.4 PC相关分支机构。4.4.5 PC 相对无条件分支指令。我们在c部分看到,这不是条件分支的关键路径,它只在PC相关分支上需要。注意,MIPS没有实际的无条件分支(bnezero、zero和Label扮演这个角色,所以不需要无条件分支操作码),所以对于MIPS,这个问题的答案实际上是“None”。
4.4.6在这两条指令(bne和ADD)中,bne的关键路径较长,决定了时钟周期时间。注意ADD的每条路径都小于或等于BNE的相应路径,因此第4章中解决方案S-5中的单位延迟变化不会影响这一点。因此,我们关心的是单元的延迟如何影响BNE的关键路径,而这个单元不在关键路径上,所以这个单元成为关键的唯一方法就是增加它的延迟直到它通过符号扩展,移位和分支加法地址计算的路径比PCSrc通过寄存器、Mux和ALU的路径长。所以延迟是2.5倍,所以延迟乘以2.5倍?10%?35%4.
5.2符号扩展电路实际上在每个循环中计算一个结果