📜  门| GATE-CS-2016(Set 2)|第40章

📅  最后修改于: 2021-06-29 20:22:17             🧑  作者: Mango

假设函数F和G可以分别通过功能单元U F和U G在5纳秒和3纳秒内计算出来。给定U F的两个实例和U G的两个实例,需要对1 <= i <= 10实施计算F(G(Xi))。忽略所有其他延迟,完成此计算所需的最短时间为________________纳秒[请注意,这最初是空白填充问题] (A) 28
(B) 20
(C) 18
(D) 30答案: (A)
解释:
背景:说明:
流水线是一种执行技术,其中多个指令在执行中重叠。
这些阶段一个接一个地连接在一起,形成一个管道–指令一端输入,然后进行
通过各个阶段,然后在另一端退出。
流水线操作不会减少执行单个指令的时间。相反,它增加了
指令吞吐量。指令流水线的吞吐量由指令退出流水线的频率决定。

在流水线中使用相同的概念。此处的瓶颈是UF,因为它需要5 ns,而UG需要3 ns
只要。我们必须进行10次这样的计算,并且分别有2个UF和UG实例。
由于有两个功能单元,每个单元将获得5个要计算的单元。认为
计算从时间0开始。这意味着G从0开始,F从第3秒开始,因为G在第3秒完成了第一个元素的计算。
因此,超滤可以在5 * 10/2 = 25纳秒内完成。首先,UF需要等待UG输出3 ns,其余的都通过流水线传输,因此不再需要等待。所以答案是3 + 25 = 28

该解决方案由Nitika Bansal提供

另一个解决方案:
由于有两个功能单元,每个单元将获得5个要计算的单元。假设计算从时间0开始。
这意味着G从0开始,F从第3秒开始,因为G在第3秒完成了第一个元素的计算。
F结束计算的时间= 3 + 5 * 5 = 28这个问题的测验