[发明专利]基于跟踪的指令高速缓冲存储无效
申请号: | 99816486.0 | 申请日: | 1999-01-15 |
公开(公告)号: | CN1354852A | 公开(公告)日: | 2002-06-19 |
发明(设计)人: | R·F·克里克;G·J·欣顿;M·D·乌普顿;D·J·萨格;C·W·李 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 马铁良,梁永 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 跟踪 指令 高速 缓冲 存储 | ||
1.发明领域
本发明涉及计算机系统领域。更具体地说,本发明涉及指令高速缓存技术。
2.发明背景
以前,高速缓存的指令是按照其空间关系被存储和组织在一个指令高速缓冲存储器中。典型地,每行高速缓存储存的是在主存储器中空间上彼此相邻的指令。这种空间高速缓存指令的方法至少有一个缺点:不论一个程序的执行从一行高速缓存的中间转移出来还是程序的执行转移到一行高速缓存的中,通常都需要访问多行高速缓存。
在美国专利No.5,381,533中,波莱格(Peleg)和维瑟(weiser)揭示了另一组织高速缓存指令的方法以克服空间存储方式中的上述的缺点以及其它一些缺点。按照波莱格和维瑟的方法,高速缓存指令按照预定的执行顺序被存储和组织起来。那些预定要按序执行的指令的基本块被组织成跟踪段并存储在高速缓存行中,每个高速缓存行有一个跟踪段。如果位于前驱基本块末尾的分支指令被指示已占据的话,则存储于高速缓存行中用以形成跟踪段的相应的后继基本块就是分支目标基本块;否则,后继基本块就是被跳过的基本块。在高速缓存行内的后继基本块,借助第一个基本块的第一条指令的方式,按照定位到第一条指令,顺序被检索。
由于波莱格和维瑟的方法不支持跟踪段跨越多条高速缓存行,所以为定位下一高速缓存行,地址匹配每次只能在存储于某高速缓存行中的指令执行后才能进行。结果,波莱格和维瑟的方法至少存在这样一个缺点:在一段时间内,它能提供给处理器执行单元的指令数是有限的。这种限制对具有非常高的指令执行速率的现代处理器来说,是特别不希望看到的。
麦尔文(Melvin)等人在一篇题为:“在动态预定机中的大原子单元的硬件支持,微程序和微结构第21届年度专题研讨会年报”一文中(1998年11月30日-12月2日,圣迭哥,加里佛尼亚),建议按执行原子单元来储存和组织高速缓存指令。每一个高速缓存入口(假定是一高速缓存行)是由一个执行原子单元组成。一个执行原子单元是一个最小的微操作码组,处理器可视其为不可分单元来分发。微操作码是由处理器使用的微指令用以实现宏指令。文章还建议用一个填充单元来构造执行原子单元。填充单元用来接收来自预取缓冲器和微操作码发生器的微操作码。至少在下述两个条件下执行原子单元的构造才可终止:第一个是当检测出流控制发生变化时,第二个是当填充单元中不再有足够的空的微操作码存储槽来供下一个宏指令使用时。
麦尔文的方法受到若干缺陷的困扰,至少包括以下缺点:每一个原子执行单元基本上只允许占据一个基本块;而且必须高速缓存一个宏指令的所有被译码的微操作码。如果当宏指令组中包括一些译码后变成大量微操作码的复杂的宏指令时,则所述后一个缺点是特别不希望看到的情况。
于是,人们希望有一种新方法来储存和组织高速缓存指令,包括译码后的微操作码,这种方法应具有波莱格等人和麦尔文等人(的方法)的优点,但又没有他们的缺点。
发明概要
一个高速缓存由一个数据阵列和控制逻辑组成。数据阵列包括许多数据线,而控制逻辑则把许多指令的跟踪段储存在数据线中,其中也包括那些跨越多条数据线的跟踪段。
在一个具体实施例中,每个跟踪段包括一个或多个具有一条或多条基本指令块的跟踪段成员,每一个跟踪段成员占据一条数据线,多线跟踪段的数据线被有序地组合起来(按逻辑组合)。多线跟踪段的跟踪段成员的检索是这样完成的:先定位存有这个跟踪段的第一跟踪段成员的数据线,然后根据数据线的逻辑后继关联定位存有其余跟踪段成员的其余的数据线。在一个具体实施例中,这些指令是宏指令的微操作码。
在一个具体实施例中,为使每一条数据线存储一个跟踪段的第一跟踪段成员需要保留一个存储单元地址。存有一个跟踪段的第一跟踪段成员的数据线是通过与保留的定位地址和存取地址相匹配的地址来定位的。在一个具体实施例中,地址匹配是用地址位的子集来进行的,而且匹配的数据线要被验证是否真的含有被搜寻的第一跟踪段成员。在一个S集N路的具体实施例中,跟踪段成员的存储还需用一个标准来进一步验证,此标准保证所保留的与某数据线集的各路有关的,匹配定位地址子集的地址,如果有,是唯一的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/99816486.0/2.html,转载请声明来源钻瓜专利网。