首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >五级流水线处理器指令执行时间的计算

五级流水线处理器指令执行时间的计算
EN

Stack Overflow用户
提问于 2012-09-13 18:23:21
回答 1查看 13.8K关注 0票数 1

假设M5是一个的五阶段流水线实现

我知道五级管道有以下几个步骤:

代码语言:javascript
复制
    IF -- instruction fetch (and PC update)
    ID -- instruction decode (and get operands from registers)
    EX -- ALU operation (can be effective address calculation)
    MA -- memory access
    WB -- write back (results written to register(s))

假设有100条MIPS指令,指令混合如下:

代码语言:javascript
复制
Loads 23%, Stores 12%, Conditional Branches 12%, Jumps
8% and R-type instructions 45%.

The CPU clock frequency is 1.2 GHz

我正在计算执行这100条指令的时间。我知道如何使用这个公式计算非管道的时间。

代码语言:javascript
复制
ExTime = Instruction count * CPI * Clock period in seconds

我使用1/f = 8.33 * 10^-10 seconds将频率转换为周期,但我不确定如何计算此管道的执行时间,我是否需要知道管道实现的周期?

请帮帮我,因为我在网上找不到像样的例子。谢谢

编辑

我想我找到答案了!

我发现了一些信息

代码语言:javascript
复制
INSTRUCTION LATENCY = 5 time units THEREFORE
INSTRUCTION THROUGHPUT = 5 * (1 / 5) = 1 instruction per time unit
So in this case it would be: 
ExTime in seconds = Number of instructions * clock cycle period in seconds
EN

回答 1

Stack Overflow用户

发布于 2014-10-08 01:55:12

忽略分支/跳转刷新所用的时间:

给定指令混合中的指令占用的平均周期数=

(0.23)*5 + (0.12)*4 + (0.12)*4 + (0.08)*4 + (0.45)*4 = 4.23个时钟周期

(加载需要5个周期,存储: 4,R: 4,跳转/分支: 4)

现在,

平均一条指令占用的周期数= 4.23

=>平均100条指令占用的周期数= 423

时钟频率=1.2

1个周期所用的=>时间=8.33×10^-10

423周期所用的=>时间= 3.5236 * 10^-7 = Ans

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12404140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档