单周期处理器的性能

时间:2018-03-31 19:59:00

标签: performance cpu computer-science cpu-architecture

假设:

  1. 所需的操作时间:

    • 内存单位:200 ps
    • ALU和加法器:100 ps
    • 注册文件:50 ps
    • 其他单位和电线:没有延迟
  2. ps中的指令组合和操作时间:

    • 25%负荷(600 ps)

    • 10%存储(550 ps)

    • 45%ALU指令(400 ps)

    • 15%分支(350 ps)

    • 5%跳跃(200 ps)

  3. 每条指令在1个时钟周期内执行

  4. 两种实施方式:固定长度和可变长度

  5. 哪种实施会更快,多少?

    Solution

    Reference Table

    规则: CPU执行时间:IC * CPI * CCT

    由于CPI = 1 ......

    CPU执行时间:IC * CCT

    我的问题是:

    • 当实现具有可变/固定长度时,它意味着什么?

    • 如何计算 CPU执行时间 singleclock 的值?

1 个答案:

答案 0 :(得分:1)

  

当实现具有可变/固定长度时,它意味着什么?

固定长度时钟意味着每个时钟周期具有相同的周期,而与执行指令无关。可变长度时钟意味着不同的时钟周期可能具有不同的周期,具体取决于正在执行的指令。

因此,在固定时钟设计中,时钟周期必须至少为600 ps,这是执行任何指令所需的最长时间(加载指令)。在可变时钟设计中,我们可以按如下方式计算平均时钟周期:

Average CPU clock cycle = 600*25% + 550*10% + 400*45% + 350*15% + 200*5% = 447.5 ps
  

CPU执行时间的值 singleclock   计算

要确定哪个实施更快,您需要测量加速,定义为:

Speedup = CPU execution time(single) / CPU execution time(variable)

使用我们获得的CPU执行时间的定义(注意指令的数量是相同的):

Speedup = CPU execution time(single) / CPU execution time(variable)
        =  (Instruction count * Clock cycle time(single)) / (Instruction count * Clock cycle time(variable))
        = Clock cycle time(single) / Clock cycle time(variable)
        = 600 / 447.5 = 1.34

可变时钟设计的速度提高了1.34。

关于CPU执行时间变量

CPU执行时间变量在技术上等于每个执行指令的各个时钟周期时间之和。但我们使用平均时钟周期时间来计算加速。我们会以哪种方式获得相同的结果?让我们找出来吧!

假设有N个执行指令,让C1,C2,...,CN分别表示每个指令的循环时间。因此:

CPU execution time(variable) = C1 + C2 + ... + CN
                             = 600*25%*N + 550*10%*N + 400*45%*N + 350*15%*N + 200*5%*N
                             = N * average CPU clock cycle

所以他们是一样的。