📌  相关文章
📜  国际空间研究组织 | ISRO CS 2020 |问题 70

📅  最后修改于: 2022-05-13 01:58:00.737000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2020 |问题 70

非流水线 CPU 有 12 个通用寄存器(R0、R1、R2、……R12)。支持以下操作:

ADD Ra, Rb, Rr Add Ra to Rb and store the result in Rr
MUL Ra, Rb, Rr Multiply Ra to Rb and store the result in Rr 

MUL 操作需要两个时钟周期,ADD 需要一个时钟周期。
计算计算表达式 XY + XYZ + YZ 的值所需的最小时钟周期数。变量 X、Y、Z 最初在寄存器 R0、R1 和 R2 中可用,不得修改这些寄存器的内容。
(一) 5
(乙) 6
(三) 7
(四) 8答案:(乙)
解释:给定的表达式是,

= XY + XYZ + YZ
= Y*(X + Z + X*Z) 

所以,这些是说明

ADD R0, R1, R3
MUL R0, R1, R4
ADD R3, R4, R3
MUL R2, R3, R3

由于它是非流水线处理器,因此需要 2*2 + 2*1 = 6 个周期。

选项(B)是正确的。
这个问题的测验