当讨论浮点数加法时,我们简单那地假设每个功能单元都花费相同的时间。如果每个取命令与存命令都花费2纳秒,其余的每个操作耗费1纳秒。a 在上述假设下,每个浮点数加法要耗费多少时间?b 非流水线1000对浮点数的加法要耗费多少时间?c 流水线1000对浮点数加法要耗费多少时间?d 如果操作数/结果存储在不同级的内存层级上,那么取命令与存命令所要耗费的时间可能会差别非常大。假设从一级缓存上去数据/指令要耗费2纳秒,从二级缓存上取数据/指令要耗费5纳秒,从主存取数据/指令要耗费50纳秒。当执行某条指令,取其中一个操作数时,发生了一次一级缓存失效,那么流水线会发生什么情况?如果又发生二级缓存失效,又会怎样?