家电论坛

广告合作
 注册  找回密码

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

UB+
查看: 2274|回复: 1

影响流水线效率的因素

[复制链接]

1

主题

9

帖子

0

威望

禁止发言

交易诚信度
0
注册时间
2011-9-14
发表于 2011-12-2 17:09 | 显示全部楼层 |阅读模式

马上注册 家电论坛,众多有奖活动等你来参与!

您需要 登录 才可以下载或查看,没有账号?注册

x
     影响宁波流水线效率的因素:1.条件转移指令
     最常见的就是条件转移指令。在存在转移指令的情况下,下一条需要执行的指令未必是程序计数器所指的指令。只有在这条转移指令执行完成后,才能判断下一条指令是什么。
    这时,如果在遇到转移指令时,关闭流水线的进入端口防止错误发生,这种方法无疑会降低流水线的效率;同时程序中的条件转移是大量存在的,这势必使得流水线在很长的时间内闲置,从而影响计算机的性能。
    有的计算机采用猜测式,在发现条件转移指令时,猜测可能会跳转到的语句,如果猜测正确,则流水线正常运行:如果猜测错误,则需要清空当前流水线的内容。
    2.资源共享
    由于使用流水线,若相邻的两条指令都对同一个资源进行操作时,或者前一条指令的输出是后一条指令的输入,这在没有流水线情况下是正常的,在流水线时就可能会出现错误。例如,前一条指令是写,后一条指令是读,当前一条指令保持结构没有完成时,后一条指令的读操作数就已经开始,这样后一条指令读到的就是未改写的数据。
    为了解决这个问题,当遇到资源冲突时,就只好暂停后读指令进入流水线,这就降低了流水线的效率。显然,流水线步骤越多,越容易引起资源冲突的发生。
    也可以在编译系统上做文章,当发现相邻的语句存在资源共享冲突的时候,在两者之间插入其他语句,将两条指令进入流水线的时间拉开,以避免错误。
    3.寄存器相关
    如果相邻的指令使用了相同的寄存器,这也会使流水线失常。
    通常的解决方法是,如果此时还有其他寄存器可用,则给两个指令分配不问的寄存器,以避免冲突的发生。这对拥有大量的通用寄存器的精简指令系统计算机是个不错的方法。
    4.中断系统
    当有中断发生时,与条件转移指令类似,流水线也不得不停止,以载入中断处理程序,由于中断的其他方面的优点,这种影响对流水线而言,是不可避免的。
    流水线响应中断有两种方式,—种是立即停止现有的流水线,称为精确断点法,这种方法能够立即响应中断,缩短了中断响应时间。但是增加了中央处理器的硬复杂度。
    还有一种是在中断时,在宁波流水线内的指令继续执行,堵住流水线的入门,停止新的指令进入。当所有流水线内的指令执行后,再执行中断处理指令。这种方式中断响应时间较长。这种方式称为不精确断点法,其优点是实现控制简单。
   本帖来自:www.cxkefan.com

回复

使用道具 举报

0

主题

20

帖子

0

威望

禁止访问

交易诚信度
0
注册时间
2012-2-11
发表于 2012-2-12 18:14 | 显示全部楼层
大家都来支持一下...赞一下啊...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|手机版|客服:010-60152166 邮箱:zx@jd-bbs.com QQ:895456697|广告合作|账号注销|家电联盟网

京公网安备 11010602010207号 ( 京ICP证041102号,京ICP备09075138号-9 )

GMT+8, 2026-4-9 01:09 , Processed in 0.100898 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表