A one-issue processor uses out-of-order execution with a Reorder Buffer (ROB). The processor has two unified reservation stations (RS0 and RS1) and four ROB entries (ROB0 through ROB3). There are two fully pipelined execution units. One unit only executes divide (DIV) instructions and has a 5-cycle latency. The other unit executes all other instructions and has a 2-cycle latency. All units need their full latency to compute the result (there is no left-over time in the last cycle of execution). Only one result can be broadcast in each cycle. A reservation station that has been used by an instruction is freed when the instruction is selected for execution, and another instruction can be issued into that RS during the first execution cycle of the original instruction. A ROB entry can be reused in the cycle after the one in which it was freed (you should know when that is). An instruction that is waiting for a result to be produced can begin execution in the cycle after the one in which its last missing operand is broadcast. Assume that all reservation stations and ROB entries are empty at the beginning of the starting cycle (Cycle 1), and that the processor has already fetched, decoded, and perfectly branch-predicted the following instructions, so they are all waiting to be issued at the beginning of the starting cycle (Cycle 1). We have filled out the first row of the execution timing table below. You need to fill the rest of it. Note: The points in this question are awarded depending on the demonstrated application of concepts and rules in instruction scheduling, not based on the number of "boxes" that contain the correct numbers. In other words, the boxes only exist to enter your overall answer to problem in a manageable way, but the points are awarded for the problem as a whole, not for each individual answer box. 多项填空题

登录即可查看完整答案

我们收录了全球超50000道真实原题与详细解析,现在登录,立即获得答案。

更多留学生实用工具

加入我们,立即解锁 海量真题独家解析,让复习快人一步!