发明名称 执行堆叠快取记忆体的推测载入运算之微处理器及装置
摘要 一种执行快速推测式载入运算的快取记忆体。此快取记忆体系以后进先出(LIFO)的方式,来快取堆叠资料,并且会储存存于其中之快取线的虚拟及实际位址。此快取记忆体会将载入指令虚拟位址与顶端快取记忆体项目的虚拟位址进行比较,其实质上会与虚拟载入位址转译成实际载入位址并行。若虚拟位址匹配,则此快取记忆体会将请求资料,从顶端项目推测式地传送到载入指令。此快取记忆体接下来会将实际载入位址与顶端快取记忆体项目实际位址进行比较,并且若其不匹配,则此快取记忆体会产生例外,并且处理器会产生正确资料。若虚拟及实际载入位址均未命中堆叠快取记忆体,则资料会由实质上与推叠快取记忆体并行地存取的非推叠快取记忆体产生。
申请公布号 TWI249673 申请公布日期 2006.02.21
申请号 TW093123853 申请日期 2004.08.10
申请人 智慧第一公司 发明人 胡克 罗德尼
分类号 G06F12/08;G06F7/00 主分类号 G06F12/08
代理机构 代理人 何文渊 台北市信义区松德路171号2楼
主权项 1.一种可执行快速推测式载入运算之快取记忆体, 包括: 复数个储存元件,配置为一后进先出记忆体,该些 储存元件中之顶端一个,系用以储存由复数个最新 近推入指令所指定之一快取线的资料,并且系用以 储存该快取线的一虚拟位址及一实际位址; 一比较器,耦接至该顶端储存元件,用以将该快取 线虚拟位址与由一载入指令所请求的资料之一来 源虚拟位址进行比较;以及 一输出,耦接至该比较器,在判断由该载入指令所 请求的该资料之一来源实际位址是否与该实际快 取线位址匹配之前,若该比较器显示该来源虚拟位 址与存于该顶端储存元件中的该快取线虚拟位址 匹配,则用以表示由该载入指令所请求的该资料系 存在于该快取记忆体中。 2.如申请专利范围第1项之快取记忆体,其中该来源 实际位址及该实际快取线位址中的每一个包括一 上方部份的转译位址位元,以及一下方部份的未转 译位址位元。 3.如申请专利范围第2项之快取记忆体,其中该转译 位址位元包括一实际记忆体分页的一位址,其中该 未转译位址位元包括该实际记忆体分页内的一偏 移量。 4.如申请专利范围第2项之快取记忆体,其中该来源 虚拟位址包括该未转译下方部份的该来源实际位 址。 5.如申请专利范围第4项之快取记忆体,其中该来源 虚拟位址更包括附加于该未转译下方部份之一上 方部份的未转译位址位元。 6.如申请专利范围第5项之快取记忆体,其中该来源 虚拟位址之该上方部份的未转译位址位元包括一 虚拟记忆体分页的一位址。 7.如申请专利范围第2项之快取记忆体,其中该来源 虚拟位址及该虚拟快取线位址包括分别是该未转 译较低部份的该来源实际位址及该实际快取线位 址,其中该来源虚拟位址以及该虚拟快取线位址都 更包括附加于该未转译下方部份之一上方部份的 堆积未转译位址位元。 8.如申请专利范围第1项之快取记忆体,其中该载入 指令包括明确地指定该来源虚拟位址之一指令。 9.如申请专利范围第1项之快取记忆体,其中该载入 指令包括不会暗示地指定与一堆叠指标暂存器値 相关之该来源虚拟位址的一指令。 10.如申请专利范围第1项之快取记忆体,其中该些 推入指令中的每一个包括暗示地指定与一堆叠指 标暂存器値相关之存于该快取线中的该资料之一 记忆体位址。 11.如申请专利范围第1项之快取记忆体,更包括: 一第二比较器,耦接至该些储存元件,用以将该来 源实际位址与该实际快取线位址进行比较。 12.如申请专利范围第11项之快取记忆体,更包括: 一第二输出,耦接至该第二比较器,用以显示该第 一输出不正确地表示由该载入指令所请求的该资 料系存在于该快取记忆体中,如果在该第一输出表 示由该载入指令所请求的该资料存在于该快取记 忆体之后,该第二比较器显示该来源实际位址与该 实际快取线位址未匹配。 13.如申请专利范围第1项之快取记忆体,更包括: 一第二比较器,耦接至该些储存元件,用以将该来 源虚拟位址与存于该些储存元件之一紧邻顶端一 个中的一快取线之一虚拟位址进行比较,该紧邻顶 端储存元件会将复数个紧邻最新近推入指令所指 定之一快取线的资料储存到该些最新近推入指令 。 14.如申请专利范围第13项之快取记忆体,其中在判 断该来源实际位址与存于该紧邻顶端储存元件中 之该快取线的该实际快取线位址匹配之前,若该第 二比较器系表示该来源虚拟位址与存该紧邻顶端 储存元件中的该快取线虚拟位址匹配,则该第一输 出会显示由该载入指令所请求的该资料系存在于 该快取记忆体中。 15.如申请专利范围第1项之快取记忆体,更包括: 复数个比较器,耦接至该些储存元件,用以将该来 源实际位址与存于该些储存元件中的复数个实际 快取线位址进行比较。 16.如申请专利范围第15项之快取记忆体,更包括: 一第二输出,耦接至该些比较器,用以显示由该载 入指令所请求的该资料系非推测式地存在于该快 取记忆体中,如果该比较器显示该来源虚拟位址与 存于该顶端储存元件中之该快取线虚拟位址未匹 配,并且该些比较器系显示该来源实际位址与存于 该些储存元件中之该些实际快取线位址其中之一 匹配。 17.如申请专利范围第16项之快取记忆体,其中在该 输出系表示由该载入指令所请求的该资料不存在 于该快取记忆体中之一第一时脉周期之后的一第 二时脉周期中,该第二输出系表示由该载入指令所 请求的该资料系非推测式地存在于该快取记忆体 中。 18.如申请专利范围第1项之快取记忆体,其中位于 一传输媒体中的一电脑资料讯号系包含提供给该 快取记忆体的电脑可读取程式码。 19.如申请专利范围第1项之快取记忆体,提供给该 快取记忆体的电脑可读取程式码系为一电脑程式 产品所包含之一电脑可使用媒体,其中该电脑程式 产品系用于一计算装置。 20.一种可执行堆叠快取记忆体的推测载入运算之 微处理器,包括: 一第一快取记忆体,用以快取由推入指令所指定的 资料,该第一快取记忆体包括一后进先出堆叠记忆 体,其具有一顶端项目,用以储存对应于最新推入 指令资料之一快取线的资料; 一第二快取记忆体,用以快取由非推入记忆体存取 指令所指定的资料,该第二快取记忆体包括一非后 进先出记忆体;以及 控制逻辑,耦接至该第一快取记忆体及该第二快取 记忆体,若由一载入指令所指定的一虚拟位址与存 入该顶端项目中的该快取线的一虚拟位址匹配,则 会从该第一快取记忆体中该载入指令所指定的该 顶端项目资料,推测式地提供资料。 21.如申请专利范围第20项之微处理器,其中若该载 入指令所指定的该虚拟位址与存于该顶端项目中 之该快取线的该虚拟位址未匹配,但若从该载入指 令所指定的该虚拟位址中所转译的一实际位址与 存于该第一快取记忆体中之复数条快取线其中之 一的一实际位址匹配,则该控制逻辑会使该第一快 取记忆体从该些快取线的该匹配一个中,非推测式 地产生该载入指令所指定的该资料。 22.如申请专利范围第21项之微处理器,其中若从该 载入指令所指定的该虚拟位址中所转译的该实际 位址与存于该第一快取记忆体中之复数条快取线 中的任一条之该实际位址未匹配,则当从该载入指 令所指定的该虚拟位址中所转译的该实际位址与 存于该第二快取记忆体中之一快取线中的一实际 位址匹配时,该控制逻辑会使该第二快取记忆体非 推测式地产生该载入指令所指定的该资料。 23.如申请专利范围第20项之微处理器,更包括: 复数个实际位址比较器,耦接至该控制逻辑,用以 侦测该控制逻辑是否位于不正确地使该第一快取 记忆体,从该载入指令所指定的该顶端项目资料中 ,推测式地提供资料的一状况。 24.如申请专利范围第23项之微处理器,其中系基于 从该载入指令所指定的该虚拟位址中所转译的一 实际位址是否未命中该第一快取记忆体之一判断, 来进行侦测。 25.如申请专利范围第23项之微处理器,更包括: 一微码记忆体,耦接至该控制逻辑,用以储存用以 从该情况中恢复之微指令。 26.如申请专利范围第20项之微处理器,其中在判断 从该载入指令所指定的该虚拟位址中所转译的一 实际位址是否与存入该顶端项目中之该快取线的 一实际位址匹配之前,若该载入指令所指定的该虚 拟位址与存入该顶端项目中之该快取线的该虚拟 位址匹配,则该控制逻辑会使该第一快取记忆体从 该载入指令所指定的该顶端项目资料中,推测式地 提供资料。 27.一种执行来自于堆叠记忆快取记忆体之推测式 载入运算之方法,该方法包括: 以后进先出的方式,将堆叠记忆体资料存入一快取 记忆体; 在该储存之后,判断一载入指令的一虚拟位址是否 与存入该快取记忆体之一顶端项目中的资料之一 虚拟位址匹配; 判断该载入指令的一实际位址是否与存入该顶端 项目中的资料之一实际位址匹配;以及 在判断该载入指令的该实际位址是否与存入该顶 端项目中的资料之该实际位址匹配之前,若该载入 指令的该虚拟位址与存入该顶端项目中的资料之 该虚拟位址匹配,则会从该顶端项目中产生资料。 28.如申请专利范围第27项之方法,更包括: 在判断该载入指令的该实际位址是否与存入该顶 端项目中的资料之该实际位址匹配之前,会将该载 入指令的该虚拟位址转译成该载入指令的该实际 位址。 29.如申请专利范围第28项之方法,其中将该载入指 令的该虚拟位址转译成该载入指令的该实际位址 动作,与该判断该载入指令的该虚拟位址是否与存 入该快取记忆体的该顶端项目中的资料之该虚拟 位址匹配的动作,二者系实质上并行地执行。 30.如申请专利范围第28项之方法,其中将该载入指 令的该虚拟位址转译成该载入指令的该实际位址 系藉由一转译旁视缓冲器来执行。 31.如申请专利范围第28项之方法,其中将该载入指 令的该虚拟位址转译成该载入指令的该实际位址 包括将一虚拟记忆体分页位址转译成一实际记忆 体分页位址。 32.如申请专利范围第27项之方法,更包括: 当该载入指令的该实际位址与存入该顶端项目中 的资料之该实际位址未匹配时,若该载入指令的该 虚拟位址与存入该顶端项目中的资料之该虚拟位 址匹配,则在从该顶端项目产生资料之后,会产生 一例外讯号。 33.如申请专利范围第32项之方法,其中该例外讯号 系表示从该顶端项目传送到该载入指令的资料为 不正确资料。 34.如申请专利范围第32项之方法,更包括: 回应该例外讯号,将正确资料传送到该载入指令。 35.如申请专利范围第34项之方法,其中回应于该例 外讯号而将正确资料传送到该载入指令的动作,包 括一微处理器,包含该快取记忆体,用以执行一微 码常式以产生正确资料。 36.如申请专利范围第27项之方法,更包括: 基于非堆叠记忆体资料的一位址,而将非堆叠记忆 体资料存入一第二快取记忆体,而进入该第二快取 记忆体的位置; 判断该载入指令的该实际位址是否与存入该第二 快取记忆体中的资料之一实际位址匹配;以及 若该载入指令的该实际位址与存入该第二快取记 忆体中的资料之一实际位址匹配,则会从该第二快 取记忆体中,产生资料。 37.如申请专利范围第36项之方法,其中该判断该载 入指令的该实际位址是否与存入该第二快取记忆 体中的资料之该实际位址匹配匹配的动作,与该判 断该载入指令的该实际位址是否与存入该后进先 出快取记忆体的该顶端项目中的资料之该实际位 址匹配的动作,二者系实质上并行地执行。 38.一种可执行堆叠快取记忆体的推测载入运算指 令之电脑可读取媒体,包括: 电脑可读取程式码,用以提供给一快取记忆体,该 程式码包括: 第一程式码,用以提供给配置成一后进先出记忆体 的复数个储存元件,系让该些储存元件中的一顶端 一个,用以储存由复数个最新近推入指令所指定之 一快取线的资料,并且用以储存该快取线的一虚拟 位址及一实际位址; 第二程式码,用以提供给耦接至该顶端储存元件一 比较器,系用以将该快取线虚拟位址与由一载入指 令所请求的资料之一来源虚拟位址进行比较;以及 第三程式码,用以提供给耦接至该比较器一输出, 系用以在判断由该载入指令所请求的该资料之一 来源实际位址是否与该实际快取线位址匹配之前, 若该比较器显示该来源虚拟位址与存于该顶端储 存元件中的该快取线虚拟位址匹配,则用以表示由 该载入指令所请求的该资料系存在于该快取记忆 体中。 图式简单说明: 图1系根据本发明之一管线式微处理器的方块图; 图2系绘示根据本发明之图1的堆叠快取记忆体之 方块图; 图3系绘示根据本发明之图1的堆叠快取记忆体之 额外元件的方块图; 图4系绘示根据本发明之图1的L1资料快取记忆体之 多工逻辑的方块图; 图5系绘示来自于根据本发明之图1的堆叠快取记 忆体之快速弹出运算的流程图; 图6系绘示根据本发明之图1的堆叠快取记忆体之 推入运算的流程图; 图7系绘示图1所示之微处理器相对应于加入到堆 叠指示器指令之运作的流程图; 图8系绘示根据本发明之图1的堆叠快取记忆体之 载入运算的流程图; 图9系绘示根据本发明之图1的L1资料快取记忆体之 储存运算的流程图; 图10系绘示来自于根据本发明之图1的堆叠快取记 忆体之图5的快速弹出运算之时序的时序图; 图11系绘示来自于根据本发明之图8的堆叠快取记 忆体运算之推测式载入的时序之时序图; 图12系绘示来自于根据本发明之图8的堆叠快取记 忆体运算之正常(亦即,非推测式)载入的时序之时 序图; 图13系绘示来自于根据本发明之图8的非堆叠快取 记忆体运算之载入的时序之时序图; 图14系根据本发明之一管线式微处理器的方块图; 图15系绘示根据本发明之图14的L1资料快取记忆体 之方块图; 图16系绘示来自于根据本发明之图15的资料快取记 忆体之快速弹出运算的流程图; 图17系绘示根据本发明之图15的资料快取记忆体之 推入运算的流程图; 图18系绘示回应于根据本发明的堆叠指标器指令 之相加之图14的微处理器之运算的流程图;以及 图19系绘示来自于根据本发明之图15的资料快取记 忆体运算之图16的快速弹出运算之时序的时序图 。
地址 美国
您可能感兴趣的专利