CN101960433A - 用于高速缓冲存储器线替代的系统和方法 - Google Patents
用于高速缓冲存储器线替代的系统和方法 Download PDFInfo
- Publication number
- CN101960433A CN101960433A CN2009801067345A CN200980106734A CN101960433A CN 101960433 A CN101960433 A CN 101960433A CN 2009801067345 A CN2009801067345 A CN 2009801067345A CN 200980106734 A CN200980106734 A CN 200980106734A CN 101960433 A CN101960433 A CN 101960433A
- Authority
- CN
- China
- Prior art keywords
- cache memory
- cache
- maintenance instruction
- cache line
- recognizer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明描述一种用于确定要替代的高速缓冲存储器线的系统。在一个实施例中,所述系统包括高速缓冲存储器,所述高速缓冲存储器包含多个高速缓冲存储器线。所述系统进一步包括识别器,其经配置以识别要替代的高速缓冲存储器线。所述系统还包括控制逻辑,其经配置以确定所述识别器的值,所述值选自增量器、高速缓冲存储器维护指令,或保持相同。
Description
技术领域
本文所揭示的发明性概念的实施例大体上涉及数据处理系统的领域。举例来说,本文所揭示的发明性概念的实施例涉及用于高速缓冲存储器线替代的系统和方法。
背景技术
在如今的许多计算系统中,存储器(例如,随机存取存储器)存储将由处理器用于计算指令的数据。举例来说,存储器可存储将由处理器相加的两个操作数,且存储来自所述两个操作数的求和的结果。因此,在实例中,处理器可存取存储器以读取所述两个操作数,且再次存取所述存储器以写入结果。
存储器可能具有比处理器慢的操作速度。因此,处理器在对存储器的存取期间可能等待。因此,在处理器可能闲置而等待对存储器的存取时,计算设备消耗功率和时间。为了增加计算系统的总体处理速度并减少功率消耗,可将具有比存储器快的操作速度的高速缓冲存储器耦合到处理器。所述高速缓冲存储器包括多个高速缓冲存储器线,其中每一高速缓冲存储器线可将数据的一部分存储在存储器中。
由于高速缓冲存储器比存储器快,因此可由处理器使用的数据被预加载到高速缓冲存储器的若干部分(例如,高速缓冲存储器线)中。因此,当处理器将检索用于处理的数据时,所述处理器存取高速缓冲存储器以获得所述数据。如果高速缓冲存储器不包括所述数据,那么存取存储器以获得所述数据。
随着更多数据被预加载到高速缓冲存储器中,先前存储的数据可被新计算或检索到的数据替代。因此,可存在经配置以确定填充和/或替代高速缓冲存储器线的顺序的系统。在常规处理器中,高速缓冲存储器的高速缓冲存储器线是按序使用的,其中一旦到达高速缓冲存储器的最后一个高速缓冲存储器线,处理器就返回到第一高速缓冲存储器线。处理器中可存在用以确定并指向将由所述处理器使用的下一高速缓冲存储器线的系统。一种此系统实施先入先出(FIFO)高速缓冲存储器替代策略,其中使指针递增以便循序地指向高速缓冲存储器的下一高速缓冲存储器线。
处理器可执行一程序以包括使高速缓冲存储器线无效的高速缓冲存储器维护指令。由于指令可使高速缓冲存储器线无效,因此在系统指向将借助处理器来替代的有效高速缓冲存储器线时,无效高速缓冲存储器线可存在于高速缓冲存储器中。因此,在实施FIFO替代策略的高速缓冲存储器中,当存在无效高速缓冲存储器线时,有效的高速缓冲存储器线可能通过加载操作而被替代。此方法中的一个问题在于,有效高速缓冲存储器线的减少可能要求处理器更频繁地存取存储器,从而导致功率消耗增加且计算速度减小。
发明内容
本发明描述一种用于确定要替代的高速缓冲存储器线的系统。在一个实施例中,所述系统包括高速缓冲存储器,所述高速缓冲存储器包含多个高速缓冲存储器线。所述系统进一步包括识别器,所述识别器经配置以识别要替代的高速缓冲存储器线。所述系统还包括控制逻辑,所述控制逻辑经配置以确定所述识别器的值,所述值选自增量器、高速缓冲存储器维护指令,或保持相同。
本文所揭示的一个或一个以上实施例的优点可包括省电和增加的处理器速度。
提到此说明性实施例不是为了限制或界定本文所揭示的发明性概念,而是为了提供实例以帮助其理解。在审阅整个申请案之后,本发明的其它方面、优点和特征将变得明显,申请案包括以下部分:附图说明、具体实施方式和权利要求书。
附图说明
当参看附图阅读以下具体实施方式时,会更好地理解本文所揭示的本发明的发明性概念的这些和其它特征、方面和优点,其中:
图1是说明用于确定要替代的高速缓冲存储器线的常规系统的现有技术示意图。
图2是说明用于确定要替代的高速缓冲存储器线的示范性系统的示意图,其中存在按索引使无效指令。
图3是说明用于确定要替代的高速缓冲存储器线的示范性系统的示意图,其中存在按索引使无效指令和按地址使无效指令。
图4是说明图2的示意图中所说明的系统的操作的示范性方法的流程图。
图5是说明图3的示意图中所说明的系统的操作的示范性方法的流程图。
图6是说明并入有可包括如图2到图3中所说明的高速缓冲存储器替代系统的数字信号处理器的实例便携式通信装置的总图。
图7是说明并入有可包括如图2到图3中所说明的高速缓冲存储器替代系统的数字信号处理器的实例蜂窝式电话的总图。
图8是说明并入有可包括如图2到图3中所说明的高速缓冲存储器替代系统的数字信号处理器的实例无线因特网协议电话的总图。
图9是说明并入有可包括如图2到图3中所说明的高速缓冲存储器替代系统的数字信号处理器的实例便携式数字助理的总图。
图10是说明并入有可包括如图2到3中所说明的高速缓冲存储器替代系统的数字信号处理器的实例音频文件播放器的总图。
具体实施方式
贯穿以下描述,出于阐释的目的,陈述大量特定细节以便提供对本文所揭示的发明性概念的全面理解。然而,所属领域的技术人员将明白,可在无这些特定细节中的某些细节的情况下实践本文所揭示的发明性概念。在其它例子中,以框图形式展示众所周知的结构和装置,以避免混淆本文所揭示的发明性概念的基本原理。
本文所揭示的发明性概念的实施例涉及用于高速缓冲存储器线替代的系统和方法。图1的示意图中所说明的常规系统100可经修改以便减少高速缓冲存储器中存在的无效高速缓冲存储器线的数目。因此,可存在较少的高速缓存未中(cache miss)。因此,处理器在操作期间可较少地存取存储器。
常规高速缓冲存储器替代系统
图1是说明用于确定要替代的高速缓冲存储器线的常规系统100的示意图。在系统100中,处理器经循序配置以遍历高速缓冲存储器以替代存储在高速缓冲存储器线中的数据。
如图1的示意图中所说明,系统100包括标签存储装置110和状态存储装置112。标签存储装置110和状态存储装置112可为包含相同数目的组(例如,行)和路(例如,列)的阵列。状态和标签阵列110、112的每一单元对应于处理器的高速缓冲存储器的一高速缓冲存储器线。在系统100中,每一组包括十六个路(0到15),其可对应于处理器可独立地从其读取和向其写入的十六个数据高速缓冲存储器线。
标签阵列110的每一单元存储一标签。所述标签可为当前对应于一高速缓冲存储器线的存储器位置的地址。举例来说,高速缓冲存储器线可存储来自具有存储器地址A的存储器位置的数据。因此,对应的标签单元存储存储器地址A。状态阵列112的每一单元存储对应的高速缓冲存储器线的状态(例如,有效或无效)。继续上述实例,如果高速缓冲存储器线中的所存储值有效,那么状态单元存储指示所述高速缓冲存储器线为有效的信息。将由处理器执行的程序可包括高速缓冲存储器维护指令,所述指令可包括用以通过直接指向将使之无效的高速缓冲存储器线或指向标签(存储对应于所述标签的存储器的值的高速缓冲存储器线将因其而无效)来使高速缓冲存储器线无效的指令。为使高速缓冲存储器线无效,系统100可将无效状态存储在状态阵列112的对应单元中。
系统100进一步包括多个识别器114(例如,指针)。识别器114的数目对应于标签和状态阵列110、112中的组的数目。此外,由于在系统100中,每组中的路的数目为16,因此每一识别器可为四个位。因此,每一FIFO可经配置以指向其相应组的十六个路中的任一者,因此能够指向与所述组相关联的十六个高速缓冲存储器线。
在系统100中,当指令102将由处理器执行时,指令102可由系统100接收。指令102可包括组104、字节106和标签108。字节106可为执行所述指令的处理器将实施的操作的类型(例如,加载、相加等)。如果所述指令为加载或存储,那么组104可为所述十六个高速缓冲存储器线中一者的值可从中加载被存储的组。标签108是存储所述指令将包括的值的存储器的存储器地址。在一实例中,如果所述指令为加载操作数A,那么所述指令可包括组104(将操作数A存储在高速缓冲存储器中何处)、字节106(所述指令为加载指令)和标签108(操作数A存储在存储器中何处)。
系统100进一步包括增量器120。在系统100中,对于识别器114中的每一者存在一增量器。用于待加载的高速缓冲存储器的一组的对应识别器114指向所述组的下一路。接着,当将一值加载到所述高速缓冲存储器的组104的所述路时,那么用于组104的识别器114的增量器120使所述识别器递增,以指向所述高速缓冲存储器的所述组的下一路。一旦递增到所述组的最后一路,增量器就可翻转所述值(例如,15到0),以便指向所述组的第一路。因此,循序地加载高速缓冲存储器线。
如果指令102不是加载指令,那么系统100确定指令102的标签108是否存储在标签阵列110中。如果标签108存储在标签阵列110中,那么可存储对应于标签108的存储器位置的存储器值。存储位置可为用于标签阵列110的其中存储标签108的单元的相应高速缓冲存储器线。
系统100包括标签比较器116,用以确定存储在对应于标签108的存储器位置中的存储器值是否存储在高速缓冲存储器的高速缓冲存储器线中。对于标签和状态阵列的每一路(例如,列)可存在一标签比较器。因此,对于系统100,116中可存在十六个标签比较器。对于标签比较器的对应的路,标签比较器将标签108与标签阵列110中为组104的路而存储的标签进行比较。标签比较器进一步通过存取对应于标签阵列110的单元的状态阵列112的单元的状态来确定存储在标签阵列110中的标签是否有效。如果十六个比较器均未发现标签与有效状态之间的匹配,那么标签比较器116可输出表示所述存储器值未存储在高速缓冲存储器中的未中信号118。因此,可将所述值从存储器加载到高速缓冲存储器中。如果十六个比较器中的一者发现标签与有效状态之间的匹配,那么标签比较器116可输出表示所述存储器值存储在高速缓冲存储器中的命中信号118。因此,处理器可存取高速缓冲存储器而不是存取存储器。
如果指令102为加载指令,那么系统100可存取用于组104的识别器114,以确定将加载哪一高速缓冲存储器线。接着使识别器114递增,以便指向将加载的下一高速缓冲存储器线。
由于可存在用以使高速缓冲存储器的高速缓冲存储器线无效的指令,因此在对应的识别器指向高速缓冲存储器的一不同高速缓冲存储器线时,可能存在无效的高速缓冲存储器线。因此,在包括常规系统100的处理器中,当存在无效高速缓冲存储器线时,有效的高速缓冲存储器线可能通过加载操作而被替代。
高速缓冲存储器维护指令
高速缓冲存储器维护指令可包括按索引使无效(invalidate by index)指令和按地址使无效(invalidate by address)指令。按索引使无效指令包括将使之无效的高速缓冲存储器的索引。因此,所述指令明确地指向将使之无效的高速缓冲存储器线。因此,当处理器执行按索引使无效指令时,状态阵列的对应于被索引高速缓冲存储器线的单元存储无效状态。
按地址使无效指令包括存储器的地址(例如,标签)。因此,当处理器执行按地址使无效指令时,处理器将使与存储器地址相关联的高速缓冲存储器线无效。因此,处理器在标签阵列中搜索存储器地址,且使与存储匹配标签的标签单元相关联的高速缓冲存储器线无效。
在示范性系统200(图2)和示范性系统300(图3)中,对于经由使无效指令而变为无效的高速缓冲存储器线,系统200、300可选派对应于用于无效高速缓冲存储器线的组的识别器,使得所述识别器指向所述无效高速缓冲存储器线。因此,无效的高速缓冲存储器线在同一组的有效高速缓冲存储器线之前被替代。
高速缓冲存储器替代系统的说明性实施例
图2到图3中的示意图说明用于替代高速缓冲存储器线的系统的示范性实施例。图2的示意图说明用于确定高速缓冲存储器的要替代的高速缓冲存储器线的示范性系统200,其中处理器的操作期间存在按索引使无效指令。图3的示意图说明用于确定高速缓冲存储器的要替代的高速缓冲存储器线的示范性系统300,其中处理器的操作期间存在按索引使无效指令和按地址使无效指令。
参看图2,与图1的系统100相比,系统200包括选择器202。在非维护指令的处理期间,选择器202选择经递增的识别器值(即,增量器120的输出)。因此,系统200可类似于图1中的系统100而操作。举例来说,在加载操作期间,系统200使用指令102的组104来选择识别器114、状态阵列112的组和标签阵列110的组。处理器接着将存储在存储器的标签108中的值加载到由组104和识别器114识别的高速缓冲存储器线中。由于字节106显示所述指令为加载指令,因此接收到字节106的增量器120使所选择的识别器114递增,以指向所述组的下一高速缓冲存储器线。由于所述指令不是高速缓冲存储器维护/按索引使无效指令,因此选择器202接着选择所述增量器的输出(经递增的识别器值)。识别器114接着存储经递增的识别器值。
在另一实例中,在存储操作期间,系统200使用指令102的组104来选择识别器114、状态阵列112的组和标签阵列110的组。处理器将对应于组104和一预定路的高速缓冲存储器线的值发送到由标签108识别的存储器的存储器位置以供存储。由于所述指令不是加载指令,也不需要来自存储器的值以便由处理器执行,因此增量器120并不使识别器值递增。由于所述指令不是按索引使无效指令,因此选择器202选择增量器120的输出。因此,识别器的识别器值在存储指令的执行期间保持相同。
一些指令(例如相加或相乘)可包括将用于指令的执行的操作数。所述操作数按照惯例存储在存储器中。因此,所述操作数可存储在高速缓冲存储器中。因此,系统200可确定所述操作数是否存储在高速缓冲存储器中。类似于图1中的系统100,如果所述操作数存储在高速缓冲存储器中,那么从标签比较器116输出命中信号118。如果所述操作数未存储在高速缓冲存储器中,那么从标签比较器116输出未中信号118。将命中或未中信号118路由到增量器120,以帮助控制增量器120是否使识别器值递增。
如果信号118为未中,那么所述操作数未存储在高速缓冲存储器中,且需要从存储器加载到高速缓冲存储器。因此,用于组104的识别器114识别将替代的下一高速缓冲存储器线。将操作数加载到所识别的高速缓冲存储器线。在接收到未中信号118后,增量器120使识别器值递增,以便指向被替代的高速缓冲存储器线之后的下一高速缓冲存储器线。如果信号118为命中,那么无需将操作数从存储器加载到高速缓冲存储器。因此,在接收到命中信号118后,增量器120不改变识别器值。
系统200的操作在高速缓冲存储器维护指令(例如,高速缓冲存储器使无效指令)的执行期间从系统100(图1)的操作转向。当执行高速缓冲存储器维护指令时,选择器202选择来自所述指令的索引输入。处理器还使被索引的高速缓冲存储器线无效。由于选择器202选择来自所述指令的索引,因此用于被索引高速缓冲存储器线的识别器114等于所述索引,以便指向无效的高速缓冲存储器线。因此,当使一高速缓冲存储器线无效时,系统200将所述无效的高速缓冲存储器线设置为一组中将被替代的下一高速缓冲存储器线。
参看图3,可按索引或按地址来执行使无效操作。因此,与图1中的系统100相比,系统300包括编码器302和选择器304。类似于图2中的系统200,系统300在非维护指令的执行期间类似于图1的系统100而操作。但当执行维护指令时,所述维护指令可为按索引使无效指令或按地址使无效指令。如果高速缓冲存储器维护指令为按索引使无效指令,那么选择器304选择来自指令102的索引,且系统300类似于图2中的系统200而操作。
如果高速缓冲存储器维护指令为按地址使无效指令,那么选择器304选择编码器302的输出。如先前所描述,按地址使无效指令包括存储器地址,处理器将因为所述地址而发现与标签108的存储器位置相关联的高速缓冲存储器线,并使所述高速缓冲存储器线无效。因此,编码器302可经配置以输出与存储器的标签108的存储器位置相关联的组104中的高速缓冲存储器线的识别器值,使得所述识别器指向要借助处理器来替代的无效高速缓冲存储器线。
对于标签阵列的一组中的每一路存在一标签比较器。因此,在说明性实施例中,可存在十六个标签比较器。如先前所陈述,如果标签比较器具有有效的标签匹配,那么标签比较器输出命中信号。在一个实施例中,如果比较器对标签进行匹配,且从状态阵列112中的对应单元接收到有效状态,那么比较器输出一。一组中仅一个高速缓冲存储器线可与一存储器地址(标签108)相关联。因此,用于组104的十六个标签比较器的输出可为:(i)表示未中的十六个零(即,每个零各来自一个标签比较器),或(ii)表示命中的十五个零和一个一(即,一个一来自对标签进行匹配且接收到有效状态的标签比较器,且每个零各来自其余十五个标签比较器中的每一者)。因此,从标签比较器116将所述十六个位发送到编码器302。
在一个实施例中,编码器302经配置以将接收到的十六个位值编码为一个四位识别器值。举例来说,如果用于组104的路10(来自路0到15)的标签比较器为一,那么编码器可输出“1010”。在另一实例中,如果路3为一,那么编码器302可输出“0011”。因此,编码器302输出的识别器值由选择器304选择且由识别器114存储,使得无效的高速缓冲存储器线被指向作为将替代的下一高速缓冲存储器线。
高速缓冲存储器替代系统的操作的示范性方法
图4到图5是说明高速缓冲存储器替代系统200、300的操作的示范性方法的流程图。图4是说明图2的示意图中所说明的系统200的操作的示范性方法400的流程图。图5是说明图3的示意图中所说明的系统300的操作的示范性方法500的流程图。
参看图4,系统200在402中确定待执行的指令是否为高速缓冲存储器维护指令。用于系统200的高速缓冲存储器维护指令是按索引使无效指令。如果指令不是高速缓冲存储器维护指令,那么系统200在404中选派用于组104的识别器作为增量器120的输出。在一个实施例中,选择器202选择增量器120的输出以将值馈送回识别器114中。如果增量器120接收到来自标签比较器116的命中信号118,那么增量器120不使识别器值递增。如果增量器120接收到未中信号118,那么增量器120使识别器值递增。因此,用于组104的识别器要么保持相同,要么递增。
如果所述指令是高速缓冲存储器维护指令,那么系统200从指令102检索使无效索引。接着在408中使位于所述索引处的高速缓冲存储器线无效。进行到410,系统200选派用于组104的识别器作为来自指令的索引。在一个实施例中,选择器202选择来自指令的索引以馈送回识别器114中。因此,识别器指向无效的高速缓冲存储器线作为将替代的下一高速缓冲存储器线。
关于图3中的系统300而参看图5,系统300确定待执行的指令是否为高速缓冲存储器维护指令(502和510)。用于系统300的高速缓冲存储器维护指令可为按索引使无效指令或按地址使无效指令。因此,在502中开始,系统300确定指令是否为按索引使无效指令。如果指令是按索引使无效指令,那么系统300在504中从指令102检索使无效索引。接着在506中使位于所述索引处的高速缓冲存储器线无效。进行到508,系统200选派用于组104的识别器作为来自所述指令的索引。在一个实施例中,选择器304选择来自所述指令的索引以馈送回识别器114中。因此,识别器指向无效的高速缓冲存储器线作为将替代的下一高速缓冲存储器线。
如果所述指令不是按索引使无效指令,那么系统300在510中确定所述指令是否为高速缓冲存储器按地址使无效指令。如果所述指令是按地址使无效指令,那么系统300在512中从指令102检索使无效存储器地址(例如,标签108)。进行到514,系统300确定用于组104的任何高速缓冲存储器线是否存储存储器中位于从指令102检索到的存储器地址(例如,标签108)处的值。
如果系统300确定高速缓冲存储器线存储来自存储器中所述地址处的值,那么系统300的编码器302在516中对来自标签比较器116的输出进行编码以产生高速缓冲存储器线索引(例如,指向无效的高速缓冲存储器线的四位识别器值)。进行到518,系统300将用于组104的识别器选派为经编码值,使得组104的识别器指向将为无效的高速缓冲存储器线。在520中使所述高速缓冲存储器线无效。
如果系统300在514中确定存储在使无效地址的存储器位置中的值未存储在高速缓冲存储器中,那么用于组104的识别器114保持相同,因为在522中未使任何高速缓冲存储器线无效。返回参看510,如果指令不是按地址使无效指令,那么指令不是高速缓冲存储器维护指令。因此,系统300在524中选派用于组104的识别器作为增量器120的输出。在一个实施例中,选择器304选择增量器120的输出以将值馈送回识别器114中。如果增量器120接收到来自标签比较器116的命中信号118,那么增量器120不使识别器值递增。如果增量器120接收到未中信号118,那么增量器120使识别器值递增。因此,用于组104的识别器要么保持相同,要么递增。
包括高速缓冲存储器替代系统的实例装置
可在任何包括寄存器堆的处理器(例如数字信号处理器)中包括多模式寄存器堆。图6到图10的总图说明可并入有高速缓冲存储器替代系统以如图2和图3的示意图中所说明那样替代无效的高速缓冲存储器线的实例装置。
图6是说明便携式通信装置600的示范性实施例的图。如图6的总图中所说明,所述便携式通信装置包括芯片上系统602,所述芯片上系统602包括数字信号处理器(DSP)604。图6的总图还展示显示器控制器606,其耦合到数字信号处理器604和显示器608。而且,输入装置610耦合到DSP 604。如图所示,存储器612耦合到DSP 604。另外,编码器/解码器(CODEC)614可耦合到DSP 604。扬声器616和麦克风618可耦合到CODEC 614。
图6的总图进一步说明无线控制器620,其耦合到数字信号处理器604和无线天线622。在特定实施例中,电力供应624耦合到芯片上系统602。而且,在特定实施例中,如图6中所说明,显示器626、输入装置630、扬声器616、麦克风618、无线天线622和电力供应624在芯片上系统602外部。然而,显示器626、输入装置630、扬声器616、麦克风618、无线天线622和电力供应624中的每一者均耦合到芯片上系统602的一组件。
在特定实施例中,DSP 604包括高速缓冲存储器替代系统680以确定DSP 604的高速缓冲存储器的哪些高速缓冲存储器线将用来自存储器612的值替代。
图7是说明蜂窝式电话700的示范性实施例的图。如图所示,蜂窝式电话700包括芯片上系统702,其包括耦合在一起的数字基带处理器704和模拟基带处理器706。在特定实施例中,数字基带处理器704是数字信号处理器。如图7的总图中所说明,显示器控制器708和触摸屏控制器710耦合到数字基带处理器704。在芯片上系统702外部的触摸屏显示器712又耦合到显示器控制器708和触摸屏控制器710。
图7的总图进一步说明视频编码器714(例如,逐行倒相(PAL)编码器、顺序传送彩色与记忆制(sequential couleur a memoire,SECAM)编码器或美国国家电视系统委员会(NTSC)编码器)耦合到数字基带处理器704。此外,视频放大器716耦合到视频编码器714和触摸屏显示器712。而且,视频端口718耦合到视频放大器716。如图7的总图中所描绘,通用串行总线(USB)控制器720耦合到数字基带处理器704。而且,USB端口722耦合到USB控制器720。存储器724和订户身份模块(SIM)卡726也可耦合到数字基带处理器704。此外,如图7的总图中所示,数字相机728可耦合到数字基带处理器704。在示范性实施例中,数字相机728是电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图7的总图中进一步说明,立体声音频CODEC 730可耦合到模拟基带处理器706。而且,音频放大器732可耦合到立体声音频CODEC 730。在示范性实施例中,第一立体声扬声器734和第二立体声扬声器736耦合到音频放大器732。麦克风放大器738也可耦合到立体声音频CODEC 730。另外,麦克风740可耦合到麦克风放大器738。在特定实施例中,频率调制(FM)无线电调谐器742可耦合到立体声音频CODEC 730。而且,FM天线744耦合到FM无线电调谐器742。此外,立体声头戴式耳机746可耦合到立体声音频CODEC 730。
图7的总图进一步说明射频(RF)收发器748可耦合到模拟基带处理器706。RF开关750可耦合到RF收发器748和RF天线752。小键盘754可耦合到模拟基带处理器706。而且,具有麦克风的单声道头戴耳机756可耦合到模拟基带处理器706。此外,振动器装置758可耦合到模拟基带处理器706。图7的总图还展示电力供应760可耦合到芯片上系统702。在特定实施例中,电力供应760是直流(DC)电力供应,其向蜂窝式电话700的各种组件提供电力。此外,在特定实施例中,所述电力供应是可再充电DC电池或从耦合到AC电源的交流(AC)到DC变压器得到的DC电力供应。
如图7的总图中所描绘,触摸屏显示器712、视频端口718、USB端口722、相机728、第一立体声扬声器734、第二立体声扬声器736、麦克风740、FM天线744、立体声头戴式耳机746、RF开关750、RF天线752、小键盘754、单声道头戴耳机756、振动器758和电力供应760可在芯片上系统702外部。在特定实施例中,数字基带处理器704包括高速缓冲存储器替代系统780,以确定处理器704的高速缓冲存储器的哪些高速缓冲存储器线将由来自存储器724的值替代。
图8是说明无线因特网协议(IP)电话800的示范性实施例的图。如图所示,无线IP电话800包括芯片上系统802,所述芯片上系统802包括数字信号处理器(DSP)804。显示器控制器806可耦合到DSP 804,且显示器808耦合到显示器控制器806。在示范性实施例中,显示器808是液晶显示器(LCD)。图8进一步展示小键盘810可耦合到DSP 804。
快闪存储器812可耦合到DSP 804。同步动态随机存取存储器(SDRAM)814、静态随机存取存储器(SRAM)816和电可擦除可编程只读存储器(EEPROM)818也可耦合到DSP 804。图8的总图还展示发光二极管(LED)820可耦合到DSP 804。另外,在特定实施例中,语音CODEC 822可耦合到DSP 804。放大器824可耦合到语音CODEC 822,且单声道扬声器826可耦合到放大器824。图8的总图进一步说明耦合到语音CODEC 822的单声道头戴耳机828。在特定实施例中,单声道头戴耳机828包括麦克风。
无线局域网(WLAN)基带处理器830可耦合到DSP 804。RF收发器832可耦合到WLAN基带处理器830,且RF天线834可耦合到RF收发器832。在特定实施例中,蓝牙控制器836也可耦合到DSP 804,且蓝牙天线838可耦合到控制器836。图8的总图还展示USB端口840也可耦合到DSP 804。而且,电力供应842耦合到芯片上系统802,且向无线IP电话800的各种组件提供电力。
如图8的总图中所指示,显示器808、小键盘810、LED 820、单声道扬声器826、单声道头戴耳机828、RF天线834、蓝牙天线838、USB端口840和电力供应842可在芯片上系统802外部,且耦合到芯片上系统802的一个或一个以上组件。在特定实施例中,数字信号处理器804包括高速缓冲存储器替代系统880,以确定处理器804的高速缓冲存储器的哪些高速缓冲存储器线将用来自快闪存储器812、SDRAM 814、SRAM 816和/或EEPROM 818的值替代。
图9是说明便携式数字助理(PDA)900的示范性实施例的图。如图所示,PDA 900包括芯片上系统902,芯片上系统902包括数字信号处理器(DSP)904。触摸屏控制器906和显示器控制器908耦合到DSP 904。此外,触摸屏显示器910耦合到触摸屏控制器906且耦合到显示器控制器908。图9的总图还指示小键盘912可耦合到DSP 904。
在特定实施例中,立体声音频CODEC 926可耦合到DSP 904。第一立体声放大器928可耦合到立体声音频CODEC 926,且第一立体声扬声器930可耦合到第一立体声放大器928。另外,麦克风放大器932可耦合到立体声音频CODEC 926,且麦克风934可耦合到麦克风放大器932。图9的总图进一步展示第二立体声放大器936可耦合到立体声音频CODEC 926,且第二立体声扬声器938可耦合到第二立体声放大器936。在特定实施例中,立体声头戴式耳机940也可耦合到立体声音频CODEC 926。
图9的总图还说明802.11控制器942可耦合到DSP 904,且802.11天线944可耦合到802.11控制器942。而且,蓝牙控制器946可耦合到DSP 904,且蓝牙天线948可耦合到蓝牙控制器946。USB控制器950可耦合到DSP 904,且USB端口952可耦合到USB控制器950。另外,智能卡954(例如,多媒体卡(MMC)或安全数字卡(SD))可耦合到DSP 904。此外,电力供应956可耦合到芯片上系统902,且可向PDA 900的各种组件提供电力。
如图9的总图中所指示,显示器910、小键盘912、IrDA端口922、数字相机924、第一立体声扬声器930、麦克风934、第二立体声扬声器938、立体声头戴式耳机940、802.11天线944、蓝牙天线948、USB端口952和电力供应956可在芯片上系统902外部,且耦合到所述芯片上系统的一个或一个以上组件。在特定实施例中,数字信号处理器904包括高速缓冲存储器替代系统980,以确定处理器904的高速缓冲存储器的哪些高速缓冲存储器线将用来自快闪存储器914、ROM 916、DRAM 918和/或EEPROM 920的值替代。
图10是说明音频文件播放器(例如,MP3播放器)1000的示范性实施例的图。如图所示,音频文件播放器1000包括芯片上系统1002,芯片上系统1002包括数字信号处理器(DSP)1004。显示器控制器1006可耦合到DSP 1004,且显示器1008耦合到显示器控制器1006。在示范性实施例中,显示器1008是液晶显示器(LCD)。小键盘1010可耦合到DSP 1004。
如图10的总图中进一步描绘,快闪存储器1012和只读存储器(ROM)1014可耦合到DSP 1004。另外,在特定实施例中,音频CODEC 1016可耦合到DSP 1004。放大器1018可耦合到音频CODEC 1016,且单声道扬声器1020可耦合到放大器1018。图10的总图进一步指示麦克风输入1022和立体声输入1024也可耦合到音频CODEC 1016。在特定实施例中,立体声头戴式耳机1026也可耦合到音频CODEC 1016。
USB端口1028和智能卡1030可耦合到DSP 1004。另外,电力供应1032可耦合到芯片上系统1002,且可向音频文件播放器1000的各种组件提供电力。
如图10的总图中所指示,显示器1008、小键盘1010、单声道扬声器1020、麦克风输入1022、立体声输入1024、立体声头戴式耳机1026、USB端口1028和电力供应1032在芯片上系统1002外部,且耦合到芯片上系统1002上的一个或一个以上组件。在特定实施例中,数字信号处理器1004包括高速缓冲存储器替代系统1080,以确定处理器1004的高速缓冲存储器的哪些高速缓冲存储器线将用来自快闪存储器1012和/或ROM 1014的值替代。
总结
已仅出于说明和描述的目的而呈现了对本文所揭示的发明性概念的实施例的以上描述,且不希望以上描述是详尽的或将本文所揭示的发明性概念限于所揭示的精确形式。在不脱离本文所揭示的发明性概念的精神和范围的情况下,所属领域的技术人员可明白许多修改和适应。
Claims (20)
1.一种系统,其包含:
高速缓冲存储器,其包含多个高速缓冲存储器线;
识别器,其经配置以识别要替代的高速缓冲存储器线;以及
控制逻辑,其经配置以确定所述识别器的值,所述值选自增量器、高速缓冲存储器维护指令,或保持相同。
2.根据权利要求1所述的系统,其中所述高速缓冲存储器维护指令是高速缓冲存储器按索引使无效指令。
3.根据权利要求2所述的系统,其中所述高速缓冲存储器维护指令包括将由所述控制逻辑选择的所述值。
4.根据权利要求1所述的系统,其中所述高速缓冲存储器维护指令是高速缓冲存储器按地址使无效指令。
5.根据权利要求4所述的系统,其中所述控制逻辑包含存储在所述高速缓冲存储器中的信息的标签索引。
6.根据权利要求5所述的系统,其中所述控制逻辑进一步包含比较器,所述比较器经配置以确定所述维护指令的标签是否与存储在预定义组处的所述标签索引中的任一标签匹配。
7.根据权利要求6所述的系统,其中所述控制逻辑进一步包含状态索引,所述状态索引经配置以存储所述标签索引中的多个所述标签中的每一者的有效性,其中所述比较器经配置以确定存储在所述标签索引中的所述标签是否有效。
8.根据权利要求7所述的系统,其中所述控制逻辑进一步包含编码器,所述编码器经配置以接收所述比较器的输出,且将所述输出编码为高速缓冲存储器线的路地址作为所述维护指令的输出,供选择为所述识别器的所述值。
9.一种方法,其包含:
由识别器从包含多个高速缓冲存储器线的高速缓冲存储器中识别要替代的高速缓冲存储器线;以及
由控制逻辑来确定所述识别器的值,所述值选自增量器、高速缓冲存储器维护指令,或保持相同。
10.根据权利要求9所述的方法,其中所述高速缓冲存储器维护指令是高速缓冲存储器按索引使无效指令。
11.根据权利要求10所述的方法,其中所述高速缓冲存储器维护指令包括将由所述控制逻辑选择的所述值。
12.根据权利要求9所述的方法,其中所述高速缓冲存储器维护指令是高速缓冲存储器按地址使无效指令。
13.根据权利要求12所述的方法,其进一步包含:
由所述控制逻辑来存储存储在所述高速缓冲存储器中的信息的标签索引;以及
由比较器来确定所述维护指令的标签是否与存储在预定义组处的所述标签索引中的任一标签匹配。
14.根据权利要求13所述的方法,其进一步包含在确定所述标签索引中的标签与所述维护指令的所述标签之间的匹配后,由所述比较器来确定所述标签索引中的所述标签是否有效。
15.根据权利要求14所述的方法,其进一步包含由编码器将所述比较器的输出编码为高速缓冲存储器线的路地址作为所述维护指令的输出,供选择为所述识别器的所述值。
16.一种系统,其包含:
用于从包含多个高速缓冲存储器线的高速缓冲存储器中识别要替代的高速缓冲存储器线的装置;以及
用于确定所述用于识别高速缓冲存储器线的装置的值的装置,所述值选自增量器、高速缓冲存储器维护指令,或保持相同。
17.根据权利要求16所述的系统,其中所述高速缓冲存储器维护指令是高速缓冲存储器按索引使无效指令。
18.根据权利要求16所述的系统,其中所述高速缓冲存储器维护指令是高速缓冲存储器按地址使无效指令。
19.根据权利要求18所述的系统,其进一步包含用于确定存储在所述高速缓冲存储器中的所述维护指令的状态的位置的装置。
20.根据权利要求18所述的系统,其进一步包含用于编码将被识别为所述将替代的高速缓冲存储器线的所述位置的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610180597.1A CN105868128B (zh) | 2008-02-29 | 2009-02-03 | 用于高速缓冲存储器线替代的系统和方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/039,954 | 2008-02-29 | ||
US12/039,954 US8464000B2 (en) | 2008-02-29 | 2008-02-29 | Systems and methods for cache line replacements |
PCT/US2009/032920 WO2009108463A1 (en) | 2008-02-29 | 2009-02-03 | Systems and methods for cache line replacement |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610180597.1A Division CN105868128B (zh) | 2008-02-29 | 2009-02-03 | 用于高速缓冲存储器线替代的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960433A true CN101960433A (zh) | 2011-01-26 |
CN101960433B CN101960433B (zh) | 2016-04-27 |
Family
ID=40565113
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610180597.1A Expired - Fee Related CN105868128B (zh) | 2008-02-29 | 2009-02-03 | 用于高速缓冲存储器线替代的系统和方法 |
CN200980106734.5A Expired - Fee Related CN101960433B (zh) | 2008-02-29 | 2009-02-03 | 用于高速缓冲存储器线替代的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610180597.1A Expired - Fee Related CN105868128B (zh) | 2008-02-29 | 2009-02-03 | 用于高速缓冲存储器线替代的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8464000B2 (zh) |
EP (1) | EP2260388B1 (zh) |
JP (2) | JP5474836B2 (zh) |
KR (1) | KR101252744B1 (zh) |
CN (2) | CN105868128B (zh) |
TW (1) | TW200945051A (zh) |
WO (1) | WO2009108463A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8464000B2 (en) | 2008-02-29 | 2013-06-11 | Qualcomm Incorporated | Systems and methods for cache line replacements |
US9170955B2 (en) * | 2012-11-27 | 2015-10-27 | Intel Corporation | Providing extended cache replacement state information |
US9158702B2 (en) | 2012-12-28 | 2015-10-13 | Intel Corporation | Apparatus and method for implementing a scratchpad memory using priority hint |
WO2015075673A1 (en) | 2013-11-21 | 2015-05-28 | Green Cache AB | Systems and methods for reducing first level cache energy by eliminating cache address tags |
US9619387B2 (en) * | 2014-02-21 | 2017-04-11 | Arm Limited | Invalidating stored address translations |
US10019368B2 (en) | 2014-05-29 | 2018-07-10 | Samsung Electronics Co., Ltd. | Placement policy for memory hierarchies |
US10146438B1 (en) | 2016-06-29 | 2018-12-04 | EMC IP Holding Company LLC | Additive library for data structures in a flash memory |
US10055351B1 (en) | 2016-06-29 | 2018-08-21 | EMC IP Holding Company LLC | Low-overhead index for a flash cache |
US10089025B1 (en) | 2016-06-29 | 2018-10-02 | EMC IP Holding Company LLC | Bloom filters in a flash memory |
US10037164B1 (en) | 2016-06-29 | 2018-07-31 | EMC IP Holding Company LLC | Flash interface for processing datasets |
US10261704B1 (en) | 2016-06-29 | 2019-04-16 | EMC IP Holding Company LLC | Linked lists in flash memory |
US10331561B1 (en) * | 2016-06-29 | 2019-06-25 | Emc Corporation | Systems and methods for rebuilding a cache index |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS579155B2 (zh) * | 1975-02-04 | 1982-02-19 | ||
JPS63178354A (ja) | 1987-01-20 | 1988-07-22 | Hitachi Ltd | バツフアメモリのリプレ−ス制御方式 |
JPH05189356A (ja) | 1992-01-14 | 1993-07-30 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP2005108262A (ja) | 1994-09-09 | 2005-04-21 | Renesas Technology Corp | データ処理装置 |
JP3740195B2 (ja) | 1994-09-09 | 2006-02-01 | 株式会社ルネサステクノロジ | データ処理装置 |
GB2311880A (en) | 1996-04-03 | 1997-10-08 | Advanced Risc Mach Ltd | Partitioned cache memory |
US6405287B1 (en) * | 1999-11-17 | 2002-06-11 | Hewlett-Packard Company | Cache line replacement using cache status to bias way selection |
US6408364B1 (en) | 2000-03-17 | 2002-06-18 | Advanced Micro Devices, Inc. | Apparatus and method for implementing a least recently used cache replacement algorithm |
US6725337B1 (en) * | 2001-05-16 | 2004-04-20 | Advanced Micro Devices, Inc. | Method and system for speculatively invalidating lines in a cache |
US20040143711A1 (en) * | 2002-09-09 | 2004-07-22 | Kimming So | Mechanism to maintain data coherency for a read-ahead cache |
US7669009B2 (en) * | 2004-09-23 | 2010-02-23 | Intel Corporation | Method and apparatus for run-ahead victim selection to reduce undesirable replacement behavior in inclusive caches |
US8464000B2 (en) | 2008-02-29 | 2013-06-11 | Qualcomm Incorporated | Systems and methods for cache line replacements |
-
2008
- 2008-02-29 US US12/039,954 patent/US8464000B2/en not_active Expired - Fee Related
-
2009
- 2009-02-03 CN CN201610180597.1A patent/CN105868128B/zh not_active Expired - Fee Related
- 2009-02-03 JP JP2010548780A patent/JP5474836B2/ja not_active Expired - Fee Related
- 2009-02-03 CN CN200980106734.5A patent/CN101960433B/zh not_active Expired - Fee Related
- 2009-02-03 WO PCT/US2009/032920 patent/WO2009108463A1/en active Application Filing
- 2009-02-03 EP EP09714236.8A patent/EP2260388B1/en not_active Not-in-force
- 2009-02-03 KR KR1020107021738A patent/KR101252744B1/ko active IP Right Grant
- 2009-02-17 TW TW098104985A patent/TW200945051A/zh unknown
-
2013
- 2013-05-15 US US13/894,545 patent/US8812789B2/en not_active Expired - Fee Related
- 2013-06-19 JP JP2013128940A patent/JP5722389B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20130254489A1 (en) | 2013-09-26 |
KR101252744B1 (ko) | 2013-04-09 |
TW200945051A (en) | 2009-11-01 |
JP2011513844A (ja) | 2011-04-28 |
CN105868128B (zh) | 2018-05-18 |
KR20100119820A (ko) | 2010-11-10 |
CN101960433B (zh) | 2016-04-27 |
JP5474836B2 (ja) | 2014-04-16 |
US20090222626A1 (en) | 2009-09-03 |
CN105868128A (zh) | 2016-08-17 |
JP5722389B2 (ja) | 2015-05-20 |
JP2013232210A (ja) | 2013-11-14 |
EP2260388A1 (en) | 2010-12-15 |
WO2009108463A1 (en) | 2009-09-03 |
US8464000B2 (en) | 2013-06-11 |
EP2260388B1 (en) | 2016-08-31 |
US8812789B2 (en) | 2014-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960433A (zh) | 用于高速缓冲存储器线替代的系统和方法 | |
CN102037443B (zh) | 用于分支预测的多模式寄存器堆 | |
CN102067092B (zh) | 存储器管理单元引导的对系统接口的接入 | |
EP2438529B1 (en) | Conditional operation in an internal processor of a memory device | |
CN102150135B (zh) | 用于在多线程处理器中分配中断的方法及系统 | |
EP2423821A2 (en) | Processor, apparatus, and method for fetching instructions and configurations from a shared cache | |
US20060168390A1 (en) | Methods and apparatus for dynamically managing banked memory | |
CN102968294B (zh) | 用于低复杂性指令预取系统的方法和设备 | |
EP3149594B1 (en) | Method and apparatus for cache access mode selection | |
CN102446087B (zh) | 指令预取方法与预取装置 | |
CN101809547A (zh) | 使用n路高速缓冲存储器的系统和方法 | |
CN101346694B (zh) | 用于处理器中的算术逻辑和移位装置 | |
EP2609595B1 (en) | System and method of reducing power usage of a content addressable memory | |
CN111209243B (zh) | 数据处理装置、方法及相关产品 | |
US7774583B1 (en) | Processing bypass register file system and method | |
US7346737B2 (en) | Cache system having branch target address cache | |
CN105474181A (zh) | 内容可寻址存储器设备 | |
CN107678786A (zh) | 一种快速切换菜单的方法、存储介质及智能终端 | |
CN105373490A (zh) | 字长可切换缓存系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160427 Termination date: 20210203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |