Chinaunix首页 | 论坛 | 博客
  • 博客访问: 327807
  • 博文数量: 55
  • 博客积分: 910
  • 博客等级: 准尉
  • 技术积分: 393
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-07 07:12
文章分类

全部博文(55)

文章存档

2012年(55)

我的朋友

分类:

2012-05-25 09:38:00

流水线技术把处理器的一条指令操作分解为若干个可以独立处理的子操作(如取指令、分析指令、执行指令),每个子操作在一个专门的硬件上进行,若干条子操作顺序地经过流水线中多个站完成指令任务。采用流水线技术提高了指令并行执行程度,进而提高了指令执行速度。

设某流水线分为n个基本操作:操作时间分别是Δti (i=1,2,…,n),执行m条指令,相应的流水线性能指标如下:

操作周期:取决于基本操作时间最长的一个,即

Δt=max{t1, t2,…, ti}

吞吐率TP:单位时间内执行的指令数。

执行m条指令的时间

t=n×Δt+(m-1)Δt

【例】某指令流水线由5段组成,第1、3、5段所需时间为Δ他,第2、4段所需时间分别为3Δt和2Δt,那么连续输入n条指令时的吞吐率

TP=n / [(Δt+3Δt+Δt+2Δt+Δt)+(n-1)×3Δt]=n / (3n+5)Δt

             若每一条指令都可以分解为取指、分析和执行三步。已知取指时间t取指=4Δt,分析时间t分析=3Δt,执行时间t执行=5Δt。如果按照串行方式执行完100条指令需要时间

(4Δt+3Δt+5Δt)×100=1200Δt

             如果按照流水方式执行,执行完100条指令需要时间

(4Δt+3Δt+5Δt)+(100-1)×max(4Δt,3Δt,5Δt)=507Δt
阅读(1669) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~