【技术实现步骤摘要】
本案是申请日为2010年7月30日、申请号为201010243785.7、专利技术名称为“微处理器以及预取数据至微处理器的方法”的专利技术专利申请的分案申请。
本专利技术是关于微处理器,特别是关于微处理器中的预先提取(prefetching)。
技术介绍
美国专利第6,832,296号揭露了适用于x86架构的预取指令(prefetch instruction),上述预取指令利用重复前置码(REP prefix)将存储器中的多条序列快取线(cache lines)预先提取至处理器的高速缓存中。换言之,处理器的通用暂存器中具有多条由计数值(count)所指定的序列快取线。然而,程序设计者知道会有想要预先提取存储器中的非连续快取线的情况,其中非连续快取线代表这些快取线的位置是任意的。若一个程序想要预先提取多条非连续快取线,则此程序必须包含多个上述美国专利所提及的预取(REP PREFETCH)指令。然而,这会增加程序码长度(code size)并使得处理器需要执行多个指令而不是单一指令。因此,我们需要一种改良的预取指令用以解决这些问题。
技术实现思路
本专利技术提供一种微处理器,该微处理器包括一指令解码器。指令解码器用以解码一指令集中的多个指令,其中指令集包括一重复预取间接指令。重复预取间接指令包括多个地址操作数以及一计数值。微处理器使用地址操作数来计算一预取表中的一第一项目的一地址,其中预取表具有多个项目, ...
【技术保护点】
一种微处理器,包括:一指令解码器,用以解码一指令集中的多个指令,其中上述指令集包括一重复预取间接指令;以及上述重复预取间接指令,包括:多个地址操作数,上述微处理器使用上述地址操作数来计算一预取表中的一第一项目的一地址,其中上述预取表具有多个项目,并且上述预取表中的各个项目包括一预取地址;一计数值,用以指定欲被预取的多个快取线的数量,其中上述快取线的每一个的存储器地址是由上述项目中的一个中的上述预取地址所指定;以及一延迟值,其中上述微处理器在执行上述重复预取间接指令时是以一延迟量来延迟各个预取上述快取线中的一个的迭代,其中上述延迟量是等于上述延迟值中所指定的一指令数量。
【技术特征摘要】 【专利技术属性】
2009.08.07 US 61/232,084;2009.10.15 US 12/579,9311.一种微处理器,包括:
一指令解码器,用以解码一指令集中的多个指令,其中上述指令集包括
一重复预取间接指令;以及
上述重复预取间接指令,包括:
多个地址操作数,上述微处理器使用上述地址操作数来计算一预取表中
的一第一项目的一地址,其中上述预取表具有多个项目,并且上述预取表中
的各个项目包括一预取地址;
一计数值,用以指定欲被预取的多个快取线的数量,其中上述快取线的
每一个的存储器地址是由上述项目中的一个中的上述预取地址所指定;以及
一延迟值,其中上述微处理器在执行上述重复预取间接指令时是以一延
迟量来延迟各个预取上述快取线中的一个的迭代,其中上述延迟量是等于上
述延迟值中所指定的一指令数量。
2.如权利要求1所述的微处理器,其中上述预取表中的上述项目是位于
多个非连续存储器位置。
3.如权利要求1所述的微处理器,其中上述重复预取间接指令还包括:
一偏移量,用以指定上述预取表中的各个项目之间的一距离。
4.如权利要求3所述的微处理器,其中上述偏移量是通过位于上述重复
预取间接指令之前的一指令加载至一通用暂存器。
5.一种预取数据至微处理器的方法,用以预取数据至一微处理器,预取
数据至微处理器的方法包括:
解码一重复预取间接指令;以及
响应于解码上述重复预取间接指令且按照上述重复预取间接指令的指
示,预取多个快取线至上述微处理器;
其中上述重复预取间接指令包括:
多个地址操作数,用以计算具有多个项目的一预取表的一第一项目的一
地址,其中上述预取表具有多个项目,并且上述预取表中的各个项目包括一
预取地址;
一计数值,用以指定欲被预取的上述快取线的数量至上述微处理器内,
其中上述快取线的每一个的存储器地址是由上述预取表中的上述项目中的一
\t个中的上述预取地址所指定;以及
一延迟值,其中上述预取是以一延迟量来延迟各个预取上述快取线中的
一个的迭代,其中上述延迟量是等于上述延迟值中所指定的一指令数量。
6.如权利要求5所述的预取数据至微处理器的方法,其中上述重复预取
间接指令还包括:
一运算码,上述运算码与一奔腾Ⅲ预取指令运算码不同。
7.如权利要求6所述的预取数据至微处理器的方法,其中上述重复预取
间接指令还包括:
一奔腾Ⅲ重复字串指令前置码,上述奔腾Ⅲ重复字串指令前置码是位于
技术研发人员:罗德尼E虎克,约翰M吉尔,
申请(专利权)人:威盛电子股份有限公司,
类型:发明
国别省市:台湾;71
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。