【问题标题】:Processor performance complex and simple instructions处理器性能复杂简单指令
【发布时间】:2017-04-29 23:46:40
【问题描述】:

一个星期以来,我一直在课堂上遇到一个问题。 我希望有人能帮助我朝着正确的方向前进。

a busy cat http://www.designedbychristian.com/unnamed.png

处理器 R 是 64 位 RISC 处理器,时钟频率为 2GHz。平均指令需要一个周期才能完成,假设零等待状态存储器访问。处理器 C 是时钟频率为 1.8GHz 的 CISC 处理器。假设零等待状态存储器访问,平均简单指令需要一个周期才能完成。假设零等待状态存储器访问,平均复杂指令需要两个周期才能完成。处理器 R 不能直接执行复杂的处理指令或处理器 C。执行一组等效的简单指令平均需要三个周期才能完成,假设内存访问的等待状态为零。

程序 S 只包含简单的指令。程序 C 执行 70% 的简单指令和 30% 的复杂指令。哪个处理器将更快地执行程序 S?两个处理器的性能相等的复杂指令的百分比是多少?


我在上面附上了一张图片,尽我所能将数据转换为 excel。 我不是要你们为我回答这个问题,但我完全被困住了,我会从哪里开始以及我的答案应该是什么样子的。

【问题讨论】:

  • 哪个处理器执行程序 S 更快?两个处理器使用相同数量的周期来处理一条简单的指令。 S 非常简单,因此两个处理器将花费相同数量的周期来执行 S。谁的周期更快?
  • RISC 处理器执行程序 S 的速度最快。这就是它的构建目的,简单的说明。由于它是 2GHz 而不是 1.8GHz,就像处理器 C 一样,它会更快地完成处理。程序 C 有复杂的指令(30%),处理器 C 是为它而构建的。但是由于处理器 R 会更快地完成另一部分(70%)并在 30% 时减速,处理器 C 应该赶上然后击败它。我只需要找出支持这一点的公式。

标签: performance architecture cpu risc


【解决方案1】:

第二部分:

Processor R Total cycles = 1 x #simpleInstructions + 3 x #complexInstructions
Processor C Total cycles = 1 x #simpleInstructions + 2 x #complexInstructions

那么,R 需要多少时间,C 需要多少时间?

当用百分比表示复杂/简单指令时,

RCycles = 1 x 0.7 x totalInstructions + 3 x 0.3 x totalInstructions
CCycles = 1 x 0.7 x totalInstructions + 2 x 0.3 x totalInstructions

哪个更快?

现在将百分比替换为变量,使 Rtime 和 Ctime 相等并计算百分比。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-07-05
  • 2011-03-16
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多