[发明专利]非循序执行的微处理器及其操作方法有效

专利信息
申请号: 201010185616.2 申请日: 2010-05-19
公开(公告)号: CN102087591A 公开(公告)日: 2011-06-08
发明(设计)人: 马修·D·戴;罗德尼·E·虎克 申请(专利权)人: 威盛电子股份有限公司
主分类号: G06F9/38 分类号: G06F9/38
代理公司: 北京市柳沈律师事务所 11105 代理人: 钱大勇
地址: 中国台*** 国省代码: 中国台湾;71
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 循序 执行 微处理器 及其 操作方法
【说明书】:

技术领域

本发明是有关于非循序执行微处理器(out-of-order executionmicroprocessor),特别是有关于非循序执行微处理器内的存储器加载指令的效能。

背景技术

微处理器具有加载指令(load instruction),用以将数据由存储器来源位置(source memory location)加载至微处理器的暂存器;以及储存指令,用以将数据由微处理器的暂存器储存至存储器目的地位置(destinationmemory location)。一般而言,微处理器会遭遇的情况是加载指令所指定(specify)的存储器来源地址等同于较先前的(older)储存指令的存储器目的地地址。换言之,较先前的储存指令将数据写入至加载指令正在读取的存储器地址。这种情况通常称为储存碰撞(store collision)。当储存碰撞发生时,为了要正确地执行程序,微处理器必须确定加载指令接收由较先的地址重迭的储存指令所写入的数据。

非循序执行微处理器并不依照程序顺序(out of the program order)来执行指令。当储存碰撞发生时,这会是个问题,原因在于加载指令可能会在较先前的储存指令之前被发布(issued)并执行,因此使得加载指令接收到错误的数据。在这种情况下,加载指令不能将加载的数据退返(retire)至其架构目的地暂存器(architectural destination register)。更确切地说,加载指令必须接收正确的储存数据,并且将正确的数据退返至目的地暂存器(destination register)。

让加载指令能够接收正确的储存数据的一种方法是重新执行(replay)。换言之,微处理器会检测前述的情况,并在执行储存指令之后,使得加载指令被重新发出并且重新执行。由于储存指令已经被执行,故在后续执行操作中,加载指令将可接收到正确的储存数据。

然而,重新执行指令所付出的代价是相当大的,特别是发生在具有非常多管线级的微处理器中。首先,储存指令可能依附于其它指令;事实上,储存指令是位于相依性长链接(long chain of dependencies)的一端,所以储存指令可能不会执行这么多时钟;因此,加载指令在被重新执行之前可能要等待很多时钟周期。若加载指令在重新执行前须等待的时钟周期愈多,则处理加载指令所造成的效能损失(penalty)也就愈严重。此外,当加载指令被重新发布并重新执行时,加载指令必须通过相关管线级(relevant pipelinestages)而被再次地传回(pass back again),并因此花费更多时钟周期。若加载指令需要通过愈多的管线级才能将加载指令传回,以处理加载指令的时钟周期数来看,则效能损失也就愈严重。

Panwar等人的专利(美国专利号:6,006,326)借着使用储存关于加载指令和储存指令的彩色位(color bits)的特殊阵列(special array)试图解决这个问题。彩色位阵列中所包含的项目(entries)对应于指令高速缓存的项目,当加载指令或储存指令由指令高速缓存(instruction cache)被读取时,彩色位阵列亦会被读取。在发布早先于储存指令的加载指令而造成的重新执行之后,彩色位阵列中相应的一个项目的彩色位会被更新为相同的色彩值(colorvalue),用以表示加载指令和储存指令的相依性(依附关系)。当储存指令和加载指令再度被设置于管线中而执行时,相依性比对逻辑(dependencychecking logic)检测到储存指令和加载指令具有相同的色彩值,故将相依性回报至指令调度逻辑器(instruction scheduling logic),其中指令调度逻辑器在具有类似色彩的储存指令(similarly colored store instruction)已经被调度后,才对此加载指令进行调度。

因为彩色位阵列需要为指令高速缓存的每个加载指令和储存指令储存彩色位,所以彩色位阵列的大小会是指令高速缓存项目个数的函数。因为指令高速缓存的项目数目通常很多,所以彩色位阵列的潜在缺点是其在微处理器中需要大量的储存空间。一个大的彩色位阵列会消耗大量的电源和微处理器的物理空间。

因此,需要一种新的机制,用以减少在非循序执行微处理器中发生储存碰撞时,重新执行加载指令的次数。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010185616.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top