微处理器及使用指令循环高速缓存的方法技术

技术编号:11296150 阅读:133 留言:0更新日期:2015-04-15 12:27
本发明专利技术提供一种微处理器及使用指令循环高速缓存的方法,其包括处理器核心以及指令循环高速缓存。处理器核心提供指令流的提取地址,提取地址包括标签及索引。指令循环高速缓存自处理器核心接收提取地址。指令循环高速缓存包括高速缓存阵列以及标签存储器。高速缓存阵列存储多个高速缓存条目。各高速缓存条目包括标签识别码。高速缓存阵列输出提取地址中索引所对应的高速缓存条目的标签识别码。标签存储器存储多个标签值并输出高速缓存阵列输出的标签识别码所对应的标签值。指令循环高速缓存基于提取地址的标签与标签存储器输出的标签值之间的按比特比较,而决定高速缓存命中或高速缓存未中是否发生。

【技术实现步骤摘要】
微处理器及使用指令循环高速缓存的方法
本专利技术是有关于一种指令高速缓存(instructioncaching),且特别是有关于微处理器及使用指令循环高速缓存的方法。
技术介绍
指令高速缓存(instructioncache)是微处理器中不可或缺的元件。当微处理器需要提取指令时,其处理器核心会传送指令的提取地址(fetchaddress)至指令高速缓存。提取地址对应于指令流(instructionstream),且指令流包括一或多个指令。当指令已存在指令高速缓存内时,指令高速缓存可直接对处理器核心提供指令。否则,指令高速缓存会从指令所在的存储器中提取指令、存储指令以及将指令提供给处理器核心。由于从外部存储器提取指令比从指令高速缓存提取指令花费更多的时间并耗费更多功率,指令高速缓存可减低功率消耗并促进微处理器的处理速度。
技术实现思路
嵌入式系统(embeddedsystem)的应用程序通常在最深层循环(innermostloop)花费很多执行时间。因此,本专利技术提供一种微处理器及使用指令循环高速缓存的方法,藉以降低功率损耗并改善指令提取的效率。依据本专利技术一实施例,本专利技术提供一种微处理器。微处理器包括处理器核心以及指令循环高速缓存。处理器核心提供指令流的提取地址。指令流包括一或多个指令。提取地址包括标签(tag)以及索引(index)。指令循环高速缓存自处理器核心接收提取地址。指令循环高速缓存包括高速缓存阵列以及标签存储器。高速缓存阵列耦接至处理器核心。高速缓存阵列存储第一预定数量个高速缓存条目。各高速缓存条目包括标签识别码(tagidentification;tagID)。高速缓存阵列输出提取地址中索引所对应的高速缓存条目的标签识别码。标签存储器耦接至处理器核心以及高速缓存阵列。标签存储器经配置用以存储第二预定数量个标签值,并输出高速缓存阵列输出的标签识别码所对应的标签值。指令循环高速缓存基于提取地址的标签与标签存储器输出的标签值之间的按比特比较,而决定高速缓存命中(cachehit)或高速缓存未中(cachemiss)是否发生。依据本专利技术另一实施例,本专利技术提供一种使用前述指令循环高速缓存的方法。此方法包括下列步骤。初始时进入正常状态,其中指令循环高速缓存与包括正常状态及内部状态的有限状态机(finitestatemachine)相关。当目前状态为正常状态且处理器核心发送至指令循环高速缓存的标签值与之前存储在指令循环高速缓存中的每一标签值不同时,以该标签值更新指令循环高速缓存。当目前状态为内部状态,且处理器核心发送至指令循环高速缓存的标签值与之前存储在指令循环高速缓存中的每一标签值不同时,进入正常状态。当目前状态为正常状态时,对应于接收内部信号而进入内部状态。基于由处理器核心发送至该指令循环高速缓存的提取地址的标签以及存储在指令循环高速缓存中的标签值其中之一之间的比较,判断指令循环高速缓存内是否发生高速缓存命中或高速缓存未中。依据本专利技术另一实施例,本专利技术提供一种使用前述指令循环高速缓存的方法。此方法包括下列步骤。每当提示指令被提取并识别时,发送与提示指令相关的标签值至指令循环高速缓存。提示指令通过标签值而与提示指令被执行之后将被执行的指令循环相关。基于指令的提取地址的标签与存储在指令循环高速缓存中的标签值其中之一之间的比较,指令循环高速缓存判断高速缓存命中或高速缓存未中是否发生。为让本案的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。附图说明图1是依照本专利技术一实施例所示出的一种微处理器的示意图;图2是依照本专利技术一实施例所示出的存储器内的一种高速缓存线(cacheline)的示意图;图3是依照本专利技术一实施例所示出的微处理器的一种指令循环高速缓存的示意图;图4是依照本专利技术一实施例所示出的一种指令循环的示意图;图5是依照本专利技术一实施例所示出的一种使用指令循环高速缓存的方法的流程图;图6是依照本专利技术一实施例所示出的一种指令循环的示意图;图7是依照本专利技术一实施例所示出的另一种指令循环的示意图;图8是依照本专利技术一实施例所示出的一种使用指令循环高速缓存的方法的流程图;图9是依照本专利技术一实施例所示出的相关于指令循环高速缓存的一种有限状态机的示意图;图10是依照本专利技术一实施例所示出的一种指令循环的示意图;图11是依照本专利技术一实施例所示出的微处理器的一种指令循环高速缓存的示意图;图12是依照本专利技术一实施例所示出的一种指令循环的示意图。附图标记说明:100:微处理器;120:处理器核心;125:循环标签信号;140:指令循环高速缓存;160:存储器;320、1120:高速缓存阵列;322、1122:标签识别码(ID);324:有效比特;326、1126:指令/指令类别;340、1140:标签存储器;360、1160:比较器;365:命中信号;380、1180:控制器;I0~I7、HintA、HintB、CallF、F、RET、A、B、JA、JB:指令;505~545、805、812~818、832:方法步骤。具体实施方式图1是依照本专利技术一实施例所示出的一种微处理器的示意图。微处理器100包括处理器核心120以及指令循环高速缓存140。指令循环高速缓存140耦接在处理器核心120以及外部存储器160。处理器核心120可提供指令流中的一或多个提取地址至指令循环高速缓存140。指令流可包括一或多个指令。各提取地址包括一个标签以及索引。在此,指令的提取地址是代表指令存储在存储器160中的地址。提取地址并非指令其运算元(operand)中所包括的地址。指令循环高速缓存140接收处理器核心120所提供的提取地址,并对应于此提取地址以确认高速缓存命中或高速缓存未中是否发生。当高速缓存命中发生时,指令循环高速缓存140可对应于提取地址,而直接从指令循环高速缓存140本身提供指令至处理器核心120。当高速缓存未中发生时,指令循环高速缓存140则对应于提取地址,而从存储器160中的提取并存储指令,且将上述指令提供给处理器核心120。处理器核心120可通过循环标签(loop-tag)信号125而提供一或多个标签值(tagvalue)至指令循环高速缓存140,藉以对应反向分支(backwardbranch)指令或提示指令(hintinstruction)。循环标签信号125中所传送的标签值可以和处理器核心120传送至指令循环高速缓存140的提取地址的标签相异。循环标签信号125中所传送的标签值也可以和处理器核心120传送至指令循环高速缓存140的提取地址相关。在此情况下,循环标签信号可以用控制信号来实现,藉以表示提取地址与标签值有关。以下将详细说明。图2是依照本专利技术一实施例所示出的存储器内的一种高速缓存线(cacheline)的示意图。存储器160的地址可分为标签以及索引。在本实施例中,一个地址有32比特,而标签有30比特且索引有2比特。在另一实施例中,地址、标签以及索引可以是不同的比特数。在相同高速缓存线中的地址具有相同的标签。举例而言,指令I0至I3位于地址0至3,且属于相同的高速缓存线并具有相同标签0。指令I4至I7位于地址4至7,且属于相同的高速缓存线并具有相同标签1。图3是依照本专利技术一实施例所示出的微处理器的本文档来自技高网...
微处理器及使用指令循环高速缓存的方法

【技术保护点】
一种微处理器,其特征在于,包括:处理器核心,提供指令流的提取地址,其中该指令流包括一或多个指令,且其中该提取地址包括标签及索引;以及指令循环高速缓存,自该处理器核心接收该提取地址,包括:高速缓存阵列,耦接至该处理器核心,存储第一预定数量个高速缓存条目,其中每一上述高速缓存条目包括标签识别码,且其中该高速缓存阵列输出该提取地址中该索引所对应的该高速缓存条目的该标签识别码;以及标签存储器,耦接至该处理器核心以及该高速缓存阵列,经配置用以存储第二预定数量个标签值并输出该高速缓存阵列输出的该标签识别码所对应的该标签值,其中该指令循环高速缓存基于该提取地址的该标签与该标签存储器输出的该标签值之间的按比特比较,而决定高速缓存命中或高速缓存未中是否发生。

【技术特征摘要】
2013.09.26 US 14/037,3951.一种微处理器,其特征在于,包括:处理器核心,提供指令流的提取地址,其中该指令流包括一或多个指令,且其中该提取地址包括标签及索引;以及指令循环高速缓存,自该处理器核心接收该提取地址,包括:高速缓存阵列,耦接至该处理器核心,存储第一预定数量个高速缓存条目,其中每一上述高速缓存条目包括标签识别码,且其中该高速缓存阵列输出该提取地址中该索引所对应的该高速缓存条目的该标签识别码;以及标签存储器,耦接至该处理器核心以及该高速缓存阵列,经配置用以存储第二预定数量个标签值并输出该高速缓存阵列输出的该标签识别码所对应的该标签值,其中该指令循环高速缓存基于该提取地址的该标签与该标签存储器输出的该标签值之间的按比特比较,而决定高速缓存命中或高速缓存未中是否发生。2.根据权利要求1所述的微处理器,其特征在于,每当反向分支指令被取用时,该处理器核心发送与该反向分支指令相关的至少一标签值至该指令循环高速缓存。3.根据权利要求1所述的微处理器,其特征在于,每当该处理器核心提取并识别提示指令时,该处理器核心发送与该提示指令相关的标签值至该指令循环高速缓存。4.根据权利要求1所述的微处理器,其特征在于,每一上述高速缓存条目还包括有效比特,且该指令循环高速缓存还包括:比较器,耦接至该处理器核心、该标签存储器以及该高速缓存阵列,当该提取地址的该标签与该标签存储器输出的该标签值相同,且该提取地址中该索引所对应的该高速缓存条目的该有效比特被设定时,设立命中信号以表示该高速缓存命中,否则重置该命中信号以表示该高速缓存未中。5.根据权利要求1所述的微处理器,其特征在于,当该高速缓存阵列输出的该标签识别码与预定值相同时,该标签存储器输出无效标签值,该无效标签值为与任何提取地址的该标签皆不同的唯一值,且该指令循环高速缓存还包括:比较器,耦接至该处理器核心以及该标签存储器,当该提取地址的该标签与该标签存储器输出的该标签值相同时,设立命中信号以表示该高速缓存命中,否则重置该命中信号以表示该高速缓存未中。6.根据权利要求1所述的微处理器,其特征在于,每一上述高速缓存条目还包括指令,且该指令循环高速缓存还包括:控制器,耦接至该处理器核心、该高速缓存阵列、该标签存储器以及存储器,当该高速缓存命中发生时,提供该提取地址中该索引所对应的该高速缓存条目的该指令至该处理器核心,当该高速缓存未中发生时,提供位于该提取地址的该存储器中的指令至该处理器核心,当该高速缓存未中发生、该提取地址的该标签与存储在该标签存储器的标签值其中之一相同、且该提取地址中该索引所对应的该高速缓存条目为无效时,将位于该提取地址的该存储器中的该指令填入至该提取地址中该索引所对应的该高速缓存条目。7.根据权利...

【专利技术属性】
技术研发人员:陈忠和乔伟豪
申请(专利权)人:晶心科技股份有限公司
类型:发明
国别省市:中国台湾;71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1