CN1791865B - 适用于高速缓存的读访问和存储电路读分配 - Google Patents

适用于高速缓存的读访问和存储电路读分配 Download PDF

Info

Publication number
CN1791865B
CN1791865B CN2004800137047A CN200480013704A CN1791865B CN 1791865 B CN1791865 B CN 1791865B CN 2004800137047 A CN2004800137047 A CN 2004800137047A CN 200480013704 A CN200480013704 A CN 200480013704A CN 1791865 B CN1791865 B CN 1791865B
Authority
CN
China
Prior art keywords
read
read access
circuit
distribute
speed cache
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.)
Expired - Fee Related
Application number
CN2004800137047A
Other languages
English (en)
Other versions
CN1791865A (zh
Inventor
威廉·C·莫耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rambus Inc
Original Assignee
Freescale Semiconductor Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of CN1791865A publication Critical patent/CN1791865A/zh
Application granted granted Critical
Publication of CN1791865B publication Critical patent/CN1791865B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

向存储电路(例如高速缓存22)提供读分配指示符(例如读分配信号30),以选择性地确定是否对读访问执行读分配。读分配可以包括高速缓存(22)的信息内容的修改和/或由高速缓存(22)中的读分配电路(70)执行的读读置换算法状态。对于特定类型的调试操作,提供读分配指示符,确保在读访问期间不对存储电路进行不希望的修改,这是非常重要的。其他类型的调试操作可能希望当发生读访问时以标准方式修改存储电路。

Description

适用于高速缓存的读访问和存储电路读分配
技术领域
本发明总的来说涉及存储电路读分配,尤其涉及适用于高速缓存的存储电路读分配。
背景技术
在现有技术的数据处理系统中,在高速缓存中未命中的读访问会导致根据高速缓存的读置换算法来分配该高速缓存中的高速缓存线。在高速缓存的正常操作中,这通常是期望的行为。然而,在某些情况下,这种行为可能是有问题的。
附图说明
借助(但不限于)附图的实例来说明本发明,在附图中,相同的参考标记表示相同的元件,其中:
图1以框图形式示出根据本发明一个实施例的数据处理系统;
图2以流程图形式示出根据本发明一个实施例的高速缓存的读访问;
图3以流程图形式示出要求根据本发明一个实施例的对存储电路读访问的调试操作。
本领域技术人员会认识到,图中的元件仅为了简明和清楚而示出,不必按比例绘制。例如,图中一些元件的尺寸可能相对于其他元件被夸大了,以有助于理解本发明的实施例。
具体实施方式
在现有技术的数据处理系统中,由调试器进行的在L2高速缓存中未命中的读访问会导致L2高速缓存中的高速缓存线被分配,潜在地置换当前有效的、且被潜在修正的高速缓存线。如果调试器是通过要执行的一系列指令来单步执行的,这可能是希望的结果。然而,如果调试器正在仅为了可见性(visibility)目的而读取高速缓存中的内容,这可能会造成问题。本发明解决了该问题、以及与读访问和存储电路读分配相关的众多其他问题。
图1示出根据本发明一个实施例的数据处理系统10。在一个实施例中,数据处理系统10包括调试电路12,该调试电路12通过信号36与交换电路20双向耦合,并向交换电路20提供读分配信号30。在一个实施例中,数据处理系统10还包括处理器14,处理器14通过信号38与交换电路20双向耦合,并向交换电路20提供读分配信号31。在一个实施例中,数据处理系统10还包括直接存储器访问(DMA)16,DMA 16通过信号40与交换电路20双向耦合,并向交换电路20提供读分配信号32。在一个实施例中,数据处理系统10还包括总线主控器18,总线主控器18通过信号42与交换电路20双向耦合,并向交换电路20提供读分配信号33。在一个实施例中,数据处理系统10还包括L2高速缓存22,L2高速缓存22通过信号44与交换电路20双向耦合,并从交换电路20接收读分配信号34。在一个实施例中,数据处理系统10还包括外围设备24,外围设备24通过信号46与交换电路20双向耦合,并从交换电路20接收读分配信号35。
注意,在本发明的一个实施例中,根据12、14、16或18中哪一个发起了对L2高速缓存22的读访问,来通过交换电路20将读分配信号30-33中的一个提供作为读分配信号34。注意,在本发明的一个实施例中,根据12、14、16或18中哪一个发起了对外围设备24的读访问,来通过交换电路20将读分配信号30-33中的一个提供作为读分配信号35。
在本发明的一个实施例中,处理器14包括耦合到处理器14的L1高速缓存15。尽管示出L1高速缓存15比L2高速缓存22更直接地耦合到处理器14,但本发明的替代实施例可以具有任何数量的高速缓存,它们以各种所希望的方式耦合到处理器14。在本发明的替代实施例中,L1高速缓存15和L2高速缓存22不必是高速缓存,而可以是具有读分配能力的任何类型的存储电路。在本发明的一个实施例中,L2高速缓存22通过导体48耦合到系统存储器26。
在本发明的一个实施例中,读分配信号30和信号36是总线60的一部分;读分配信号31和信号38是总线61的一部分;读分配信号32和信号40是总线62的一部分;读分配信号33和信号42是总线63的一部分;读分配信号34和信号44是总线64的一部分;读分配信号35和信号46是总线65的一部分。总线60-65可以是相同的总线,或者可以是具有公共总线协议的公共总线的一个或多个子集。作为替换,总线60-65中的不同总线可以使用相同的总线协议或不同的总线协议。在本发明的替代实施例中,互连电路50可以不使用任何总线结构或总线协议。在本发明的一个实施例中,互连电路50包括交换电路20和总线60-65;然而,互连电路50以按任何方式实现。如这里所使用的,术语“总线”用来表示多个信号或导体,它们可用来传送一个或多个不同类型的信息,例如数据、地址、控制或状态。
在本发明的一个实施例中,L2高速缓存22包括读分配电路70和写分配电路74,它们都与存储元件72向耦合。存储元件72可以用来存储信息,例如已经高速缓存的数据或指令,以及用于本发明一些实施例的历史比特和高速缓存标记。在本发明的替代实施例中,存储元件72可以按任何所希望的方式实现,并可以存储任何所希望的信息。
在图1示出的本发明的实施例中,调试电路12、处理器14、直接存储器访问(DMA)16和总线主控器18每个都可以是访问发起者,该发起者发起对L2高速缓存22的读访问。本发明的替代实施例可以使用不同的配置。例如,本发明的替代实施例可以具有比12、14、16和16更少、更多或不同的电路框,它们发起对L2高速缓存22的读访问。总线主控器18可以是能够通过总线63和64发起对L2高速缓存22的读访问的任何类型的电路。如果互连电路50不使用具有总线协议的总线,则电路18可以不是总线主控器,而是能够发起对L2高速缓存22的读访问的任何类型的电路。
图2以流程图形式示出了根据本发明一个实施例对L2高速缓存22(见图1)的读访问。该流程在椭圆开始框100开始。然后,流程继续步骤101,在此发起读访问。流程继续步骤102,在此提供与读访问对应的读分配信号。参考图1,电路12、14、16或18中的任何一个都可以发起读访问,并且随后将提供读分配信号。然后,流程继续菱形判定框103,在此询问“读访问是禁止高速缓存的读访问吗?”。如果对菱形判定框103的答案为是,则流程继续步骤104,在此完成禁止高速缓存的读访问。从步骤104,流程在椭圆结束框110结束。如果对菱形判定框103的答案为否,则流程继续菱形判定框105,在此询问“读分配信号指示没有读分配要执行吗?”。如果对菱形判定框105的答案为否,则流程继续步骤106,在此完成可高速缓存的读访问,同时允许修改高速缓存的内容和读分配电路的状态。从步骤106,流程在椭圆结束框110结束。如果对菱形判定框105的答案为是,则流程继续菱形判定框107,在此询问“读访问导致高速缓存未命中吗?”。如果对菱形判定框107的答案为否,则流程继续步骤108,在此完成可高速缓存的读访问,而不修改读分配电路的状态。如果对菱形判定框107的答案为是,则流程继续步骤109,在此,完成可高速缓存的读访问,而不修改高速缓存的内容,并且不修改读分配电路的状态。在本发明的替代实施例中,菱形判定框103是可选的。如果不使用菱形判定框103,则流程从步骤102继续到菱形判定框105。
图3以流程图形式示出了一种调试操作,其要求根据本发明一个实施例的对存储电路的读访问。在本发明的一个实施例中,图1的调试电路12可用来发起并执行调试操作。该流程在椭圆开始框200开始。然后,流程继续步骤201,在此发起要求读访问的调试操作。流程继续到菱形判定框202,在此询问“调试操作是单步操作吗?”。如果对菱形判定框202的答案为是,则流程继续步骤203,在此提供与读访问对应的读分配信号,以指示要执行读分配。从步骤203,流程继续到步骤204,在此执行带有读分配的读访问。从步骤204,流程继续到步骤205,在此完成调试操作。从步骤205,流程在椭圆结束框206结束。如果对菱形判定框202的答案为否,则流程继续到步骤207,在此提供与读访问对应的读分配信号,以指示没有读分配要执行。从步骤207,流程继续到布骤208,在此执行不带读分配的读访问。从步骤208,流程继续到步骤205,在此完成调试操作。从步骤205,流程在椭圆结束框206结束。
存在一些应用,例如某些类型的调试操作,在这些应用中有利的是,对系统存储器26执行的读访问对于高速缓存中的一个或多个(例如L2高速缓存22)而言是不唐突的。这要求在执行读访问时不应该发生高速缓存状态和/或内容的修改。这是很重要的,因为如果修改了高速缓存状态和/或内容,数据处理系统的调试可能导致其他不希望的副作用。另外,副作用可能导致该问题被调试以致改变特性,或者没有被暴露出来,这将阻止调试成功。另一方面,存在一些应用,例如其他调试操作(例如通过用户应用程序指令单步执行的),在这些应用中有利的是,对系统存储器26执行的读访问导致对高速缓存中的一个或多个(例如L2高速缓存22)作出与在正常操作中可能发生的相同的修改。因此,能够根据调试操作类型在高速缓存或其他存储电路中选择性地执行读分配是非常有用的。
在本发明的一个实施例中,将读分配信号(例如30、31、32或33)用作读分配指示符,以指示是否要执行读分配(例如在高速缓存22中)。如果没有发生读分配,则执行读访问,而不修改高速缓存22的信息内容,并且/或者不修改高速缓存22的读分配状态。本发明的一些实施例阻止高速缓存22的信息内容的修改,本发明的一些实施例阻止高速缓存22的读分配状态的修改,而本发明的一些实施例既阻止高速缓存22的信息内容的修改,又阻止高速缓存22的读分配状态的修改。高速缓存22的内容是存储在存储元件72(见图1)中的信息。读分配电路70用来执行在高速缓存22中使用的读置换算法。读置换算法是用来确定当高速缓存在读访问上未命中时接下来要替换掉哪一个高速缓存线的规则或规则组。本发明可与任何所希望的读置换算法一起使用。因此,由读分配电路70执行的读置换算法可以是任何希望的置换算法。每次发生高速缓存未命中时,置换算法单步调试一系列状态,以便总具有更新值,该更新值是为了在读访问上的下一次高速缓存未命中而应当填充入高速缓存线中的更新值。
对于本发明的一些实施例(例如使用一种或多种所选择类型的调试操作),阻止高速缓存的信息内容的修改是不够的;还必须不影响读分配电路70的读置换算法的当前状态(例如读分配状态)。注意,本发明的一些实施例可选地具有写分配电路74,其为写访问确定高速缓存22的行为。本发明的替代实施例甚至可以不具有写分配电路74。在本发明的一些实施例中,读分配电路70的操作和置换算法是完全与写分配电路74的操作和置换算法无关的。本发明的一些实施例可以对读和写高速缓存未命中具有共同的置换算法。在这种实施例中,读分配电路70和写分配电路74可以合并为单个和/或共同电路,不过注意到以下一点是很重要的,即读分配和写分配对数据处理系统10的用户或调试程序呈现完全不同的问题。
尽管在使用高速缓存22的特定实施例的情况中描述了本发明,但本发明的替代实施例可以使用具有读分配能力的任何类型的存储电路。本发明不限于高速缓存应用。此外,尽管本发明对调试操作是有用的,但本发明可用于任何希望的目的,而不限于在调试操作中使用。作为不同应用的一个可能例子,处理器14可以选择性地确定:由于读访问中的数据不大可能再次使用,因此不在一个或多个高速缓存中执行读分配,从而可有利地阻止读访问导致在高速缓存中已获得的潜在更有用信息被置换。
注意,本发明还可与L1高速缓存15一起使用。对于该实施例,可以从处理器14向L1高速缓存15提供读分配信号(未示出)。该读分配信号(未示出)可按与读分配信号30-35相同或相似的方式起作用。此外,本发明还可与外围设备24一起使用。读分配信号35可按与提供给L2高速缓存22的读分配信号34相同或相似的方式起作用。
在前面的说明书中,参考特定实施例描述了本发明。然而,本领域技术人员应该认识到,可以作出各种修改和变化,而不脱离在权利要求中提出的本发明的范围。因此,说明书和附图应该看作示例性的,而不是限制性的,并且所有这种修改都应包括在本发明的范围内。
上面针对特定实施例描述了益处、优势和问题的解决方法。然而,可以使任何益处、优势或方法出现或变得更加显著的益处、优势、解决问题的方法和任何部件不应推论为任何或所有权利要求的关键的、必须的或主要的特征或部件。如此处所使用的,术语“包括”、“包含”或其任何其它变化想要覆盖不排除的包含物,使得包括一列部件的工艺、方法、物品或设备不仅包括那些部件,而且还可以包括未明确列出的或这种工艺、方法、物品或设备固有的其他部件。
附加文本:
1.一种装置,其包括:
存储电路;和
耦合到所述存储电路的访问发起电路,所述访问发起电路发起对所述存储电路的读访问,并向所述存储电路提供与所述读访问对应的读分配指示符。
2.如权利要求1所述的装置,其中,根据所述读分配指示符,在所述读访问期间选择性地执行读分配。
3.如权利要求2所述的装置,其中,当所述读分配指示符具有第一值时,在具有读分配的情况下执行所述读访问,当所述读分配指示符具有第二值时,在没有读分配的情况下执行所述读访问。
4.如权利要求1所述的装置,其中,所述存储电路经互连电路耦合到所述访问发起电路。
5.如权利要求4所述的装置,其中,所述互连电路包括耦合到所述存储电路和访问发起电路的系统总线,并且经所述系统总线提供所述读分配指示符。
6.如权利要求4所述的装置,其中,所述存储电路包括高速缓存,所述访问发起电路包括调试电路,其中所述读访问是调试操作的一部分。
7.如权利要求1所述的装置,其中,所述存储电路包括高速缓存器。
8.如权利要求7所述的装置,其中,所述访问发起电路包括处理器。
9.如权利要求8所述的装置,其中,所述处理器包括高速缓存器。
10.如权利要求1所述的装置,其中,所述访问发起电路包括直接存储器访问(DMA)。
11.如权利要求1所述的装置,其中,所述访问发起电路包括调试电路,所述读访问是调试操作的一部分。
12.一种执行读访问的方法,其包括:
发起读访问;
提供对应所述读访问的读分配指示符;以及
在所述读访问期间,至少根据所述读分配指示符,选择性地执行读分配。
13.如权利要求12所述的方法,其中,所述读访问是对高速缓存的可高速缓存的读访问,并且该方法还包括:
确定所述可高速缓存的读访问是导致高速缓存命中还是高速缓存未命中;以及
当所述可高速缓存的读访问导致高速缓存未命中时,在不修改所述高速缓存的内容的情况下完成所述可高速缓存的读访问。
14.如权利要求13所述的方法,还包括:
当所述可高速缓存的读访问导致高速缓存未命中时,在不修改所述高速缓存的分配状态的情况下完成所述可高速缓存的读访问。
15.如权利要求13所述的方法,还包括:
当所述可高速缓存的读访问导致高速缓存命中时,在不修改所述高速缓存的分配状态的情况下完成所述可高速缓存的读访问。
16.如权利要求12所述的方法,还包括:
确定所述读访问是可高速缓存的读访问还是禁止高速缓存的读访问。
17.如权利要求12所述的方法,其中,所述读访问是对高速缓存的可高速缓存的读访问,并且在对所述高速缓存的写访问期间,所述高速缓存能够执行写分配。
18.如权利要求12所述的方法,其中,所述读访问是在调试操作之内,并且至少根据所述读分配指示符和所述调试操作来选择性地执行读分配。
19.如权利要求18所述的方法,其中,在单步调试操作期间执行读分配。
20.一种装置,其包括:
用于存储信息的存储元件;和
耦合到所述存储元件的读分配电路,其中,所述读分配电路对读分配指示符作出响应,其中,根据所述读分配指示符,所述读分配电路在对所述存储元件的读访问期间选择性地执行读分配。
21.如权利要求20所述的装置,还包括高速缓存,其中,所述高速缓存包括所述存储元件。
22.如权利要求21所述的装置,其中,根据所述读分配指示符,当对所述存储元件的读访问导致高速缓存未命中时,所述读分配电路选择性地阻止所述存储元件中存储的信息的修改。
23.如权利要求21所述的装置,其中,所述读分配电路存储所述高速缓存的读分配状态,并且其中,根据所述读分配指示符,所述读分配电路选择性地阻止所述高速缓存的读分配状态的修改。
24.如权利要求23所述的装置,其中,根据所述读分配指示符,当对所述存储元件的读访问导致高速缓存命中时,所述读分配电路选择性地阻止所述高速缓存的读分配状态的修改。
25.如权利要求20所述的装置,其中,所述读分配电路还包括输入,其中经由所述输入提供所述读分配指示符。
26.如权利要求25所述的装置,其中,经由所述输入,所述读分配指示符被提供用作总线信号。
27.一种执行读访问的方法,其包括:
发起调试操作,所述调试操作要求对高速缓存的读访问并具有调试操作类型;以及
至少根据所述调试操作类型,在所述读访问期间选择性地执行读分配。
28.如权利要求27所述的方法,其中,所述读分配包括修改所述高速缓存的内容和修改所述高速缓存的读分配状态中的至少一种。
29.如权利要求28所述的方法,其中,当所述调试操作类型是第一类型时,在所述读访问期间执行读分配,当所述调试操作类型是第二类型时,在所述读访问期间不执行读分配。
30.如权利要求28所述的方法,其中,当所述调试操作类型是第一类型时,向所述高速缓存提供对应所述读访问的读分配指示符,以指示要对所述读访问执行读分配,当所述调试操作类型是第二类型时,向所述高速缓存提供对应所述读访问的读分配指示符,以指示不对所述读访问执行读分配。
31.一种装置,其包括:
高速缓存;
耦合到所述高速缓存的互连电路;和
调试电路,耦合到所述互连电路,所述调试电路发起要求对所述高速缓存进行读访问的调试操作,并经所述互连电路向所述高速缓存提供对应所述读访问的读分配指示符。
32.如权利要求31所述的装置,其中,所述高速缓存响应所述读分配指示符,在所述读访问期间选择性地执行读分配。
33.如权利要求32所述的装置,其中,所述高速缓存响应所述读分配指示符并根据所述调试操作,在所述读访问期间选择性地执行读分配。
34.如权利要求31所述的装置,其中,当所述读分配指示符具有第一值时,在具有读分配的情况下执行所述读访问,当所述读分配指示符具有第二值时,在没有读分配的情况下执行所述读访问。
35.如权利要求31所述的装置,其中,所述互连电路包括交换电路,以从所述调试电路向所述高速缓存传递所述读分配指示符。
36.如权利要求31所述的装置,其中,所述互连电路包括系统总线,所述系统总线耦合到所述调试电路和所述高速缓存,并且其中经所述系统总线提供所述读分配指示符。

Claims (10)

1. 一种装置,其包括:
存储电路;和
耦合到所述存储电路的访问发起电路,所述访问发起电路发起对所述存储电路的读访问,并向所述存储电路提供与所述读访问对应的读分配指示符;
其中所述读分配指示符的值独立于在所述存储电路中存储的任何有效位。
2. 如权利要求1所述的装置,其中,当所述读分配指示符的值具有第一值时,在具有读分配的情况下执行所述读访问,当所述读分配指示符的值具有第二值时,在没有读分配的情况下执行所述读访问。
3. 如权利要求1所述的装置,其中,所述存储电路包括高速缓存,所述访问发起电路包括调试电路,其中所述读访问是调试操作的一部分。
4. 如权利要求1所述的装置,其中,所述访问发起电路包括处理器。
5. 一种执行读访问的方法,其包括:
发起读访问;
提供对应所述读访问的读分配指示符;以及
在所述读访问期间,至少根据所述读分配指示符,选择性地执行读分配;
其中所述读访问针对高速缓存;并且
其中所述读分配指示符的值独立于在所述高速缓存中存储的任何有效位。
6. 如权利要求5所述的方法,其中,所述读访问是对所述高速缓存的可高速缓存的读访问,并且该方法还包括:
确定所述可高速缓存的读访问是导致高速缓存命中还是高速缓存未命中;以及
当所述可高速缓存的读访问导致高速缓存未命中时,在不修改所述高速缓存的内容的情况下完成所述可高速缓存的读访问。
7. 一种装置,其包括:
用于存储信息的存储元件;和
耦合到所述存储元件的读分配电路,其中,所述读分配电路对读分配指示符作出响应,其中,根据所述读分配指示符,所述读分配电路在对所述存储元件的读访问期间选择性地执行读分配;
其中所述读分配指示符的值独立于在存储电路中存储的标记有效位和数据有效位。
8. 如权利要求7所述的装置,还包括高速缓存,其中,所述高速缓存包括所述存储元件,并且,根据所述读分配指示符,当对所述存储元件的读访问导致高速缓存未命中时,所述读分配电路选择性地阻止所述存储元件中存储的信息的修改。
9. 一种执行调试操作的方法,其包括:
发起所述调试操作,所述调试操作要求对高速缓存的读访问并具有调试操作类型;以及
至少根据所述调试操作类型,在所述调试操作期间选择性地执行读分配。
10. 一种装置,其包括:
高速缓存;
耦合到所述高速缓存的互连电路;和
调试电路,耦合到所述互连电路,所述调试电路发起要求对所述高速缓存的读访问的调试操作,并在所述调试操作期间经所述互连电路向所述高速缓存提供对应所述读访问的读分配指示符。
CN2004800137047A 2003-05-21 2004-04-30 适用于高速缓存的读访问和存储电路读分配 Expired - Fee Related CN1791865B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/442,718 US6954826B2 (en) 2003-05-21 2003-05-21 Read access and storage circuitry read allocation applicable to a cache
US10/442,718 2003-05-21
PCT/US2004/013372 WO2004107248A2 (en) 2003-05-21 2004-04-30 Read access and storage circuitry read allocation applicable to a cache

Publications (2)

Publication Number Publication Date
CN1791865A CN1791865A (zh) 2006-06-21
CN1791865B true CN1791865B (zh) 2011-05-18

Family

ID=33450268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800137047A Expired - Fee Related CN1791865B (zh) 2003-05-21 2004-04-30 适用于高速缓存的读访问和存储电路读分配

Country Status (7)

Country Link
US (2) US6954826B2 (zh)
EP (1) EP1629385A4 (zh)
JP (1) JP5066666B2 (zh)
KR (1) KR101053008B1 (zh)
CN (1) CN1791865B (zh)
TW (1) TW200517833A (zh)
WO (1) WO2004107248A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555605B2 (en) * 2006-09-28 2009-06-30 Freescale Semiconductor, Inc. Data processing system having cache memory debugging support and method therefor
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
US20080288725A1 (en) * 2007-05-14 2008-11-20 Moyer William C Method and apparatus for cache transactions in a data processing system
US8667226B2 (en) 2008-03-24 2014-03-04 Freescale Semiconductor, Inc. Selective interconnect transaction control for cache coherency maintenance
US8495287B2 (en) * 2010-06-24 2013-07-23 International Business Machines Corporation Clock-based debugging for embedded dynamic random access memory element in a processor core
US20120066676A1 (en) * 2010-09-09 2012-03-15 Yao Zu Dong Disabling circuitry from initiating modification, at least in part, of state-associated information
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8504777B2 (en) 2010-09-21 2013-08-06 Freescale Semiconductor, Inc. Data processor for processing decorated instructions with cache bypass
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US9086977B2 (en) 2011-04-19 2015-07-21 Freescale Semiconductor, Inc. Cache memory with dynamic lockstep support
US9208036B2 (en) 2011-04-19 2015-12-08 Freescale Semiconductor, Inc. Dynamic lockstep cache memory replacement logic
US8607121B2 (en) 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
KR101600601B1 (ko) 2014-03-07 2016-03-08 다인시스템주식회사 코일의 내주보호판 밀착장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5829027A (en) * 1994-05-04 1998-10-27 Compaq Computer Corporation Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
US6353829B1 (en) * 1998-12-23 2002-03-05 Cray Inc. Method and system for memory allocation in a multiprocessing environment
US6496902B1 (en) * 1998-12-31 2002-12-17 Cray Inc. Vector and scalar data cache for a vector multiprocessor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02189658A (ja) * 1989-01-18 1990-07-25 Fuji Xerox Co Ltd キャッシュメモリ
JPH03113655A (ja) * 1989-09-28 1991-05-15 Matsushita Electric Ind Co Ltd キャッシュメモリとプロセッサエレメント
JPH03282831A (ja) * 1990-03-30 1991-12-13 Nec Corp インサーキットエミュレータ
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
JP2636107B2 (ja) * 1991-12-12 1997-07-30 工業技術院長 デバッグ支援装置
GB2265734A (en) * 1992-03-27 1993-10-06 Ibm Free memory cell management system
CA2119788C (en) * 1992-07-24 1996-12-31 Peter L. Morse Computer method and system for allocating and freeing memory
US5689679A (en) * 1993-04-28 1997-11-18 Digital Equipment Corporation Memory system and method for selective multi-level caching using a cache level code
US5561779A (en) * 1994-05-04 1996-10-01 Compaq Computer Corporation Processor board having a second level writeback cache system and a third level writethrough cache system which stores exclusive state information for use in a multiprocessor computer system
JP2680998B2 (ja) * 1994-07-26 1997-11-19 日本電気エンジニアリング株式会社 ビル群管理システム用端末装置
US5689707A (en) * 1995-12-04 1997-11-18 Ncr Corporation Method and apparatus for detecting memory leaks using expiration events and dependent pointers to indicate when a memory allocation should be de-allocated
US5745728A (en) * 1995-12-13 1998-04-28 International Business Machines Corporation Process or renders repeat operation instructions non-cacheable
US5819304A (en) * 1996-01-29 1998-10-06 Iowa State University Research Foundation, Inc. Random access memory assembly
JP2000099366A (ja) * 1998-09-21 2000-04-07 Fujitsu Ltd 演算処理装置および演算処理装置のデバッグ方法
US6574708B2 (en) * 2001-05-18 2003-06-03 Broadcom Corporation Source controlled cache allocation
US20020174316A1 (en) * 2001-05-18 2002-11-21 Telgen Corporation Dynamic resource management and allocation in a distributed processing device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471598A (en) * 1993-10-18 1995-11-28 Cyrix Corporation Data dependency detection and handling in a microprocessor with write buffer
US5829027A (en) * 1994-05-04 1998-10-27 Compaq Computer Corporation Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
US6353829B1 (en) * 1998-12-23 2002-03-05 Cray Inc. Method and system for memory allocation in a multiprocessing environment
US6496902B1 (en) * 1998-12-31 2002-12-17 Cray Inc. Vector and scalar data cache for a vector multiprocessor

Also Published As

Publication number Publication date
US20050273562A1 (en) 2005-12-08
KR101053008B1 (ko) 2011-07-29
WO2004107248A3 (en) 2005-04-07
CN1791865A (zh) 2006-06-21
JP2007502480A (ja) 2007-02-08
KR20060017802A (ko) 2006-02-27
US7185148B2 (en) 2007-02-27
US6954826B2 (en) 2005-10-11
WO2004107248A2 (en) 2004-12-09
EP1629385A4 (en) 2008-08-27
TW200517833A (en) 2005-06-01
EP1629385A2 (en) 2006-03-01
JP5066666B2 (ja) 2012-11-07
US20040236911A1 (en) 2004-11-25

Similar Documents

Publication Publication Date Title
CN1791865B (zh) 适用于高速缓存的读访问和存储电路读分配
USRE49305E1 (en) Data processing system having cache memory debugging support and method therefor
CN102016790B (zh) 数据处理系统中的高速缓存一致性协议
KR100293136B1 (ko) Smp버스의최근판독상태에서의캐시라인들의공유개입방법
CN100416515C (zh) 高速缓冲存储器线清洗指令和执行该指令的方法,装置以及系统
US7447946B2 (en) Storage of trace data within a data processing apparatus
JP5204656B2 (ja) スレッド間同期通信のための装置、システム、および、その方法
JP3007872B2 (ja) マルチプロセッサ・データ処理システム内でキャッシュ・コヒーレンシを維持するキャッシュ・コヒーレンシ・プロトコルを提供する方法及び装置
US7447845B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality
JP5100176B2 (ja) マルチプロセッサシステム
US20060174163A1 (en) Software breakpoints for use with memory devices
US20070005906A1 (en) Information processing apparatus and cache memory control method
JPH03253963A (ja) マルチプロセツサ・システム
KR19980079662A (ko) Smp 버스의 공유 상태에서의 캐시 라인들의 공유 개입 방법
US20210103493A1 (en) Memory interface having data signal path and tag signal path
US5829024A (en) Hierarchical cache memory system and method for controlling data coherency between a primary and a secondary cache
US5999721A (en) Method and system for the determination of performance characteristics of a cache design by simulating cache operations utilizing a cache output trace
KR970011214B1 (ko) 마이크로컴퓨터 개발 지원 장치
US7356647B1 (en) Cache with integrated capability to write out entire cache
JP2004110240A (ja) キャッシュメモリ装置
US5901326A (en) Memory bus address snooper logic for determining memory activity without performing memory accesses
JP4974638B2 (ja) シミュレーション装置及びシミュレーション方法
JP2008176731A (ja) マルチプロセッサシステム
JP2000010816A (ja) デバッグ用トレース装置
EP0597729A1 (en) Method of allowing write-back caching in a write-through environment

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
ASS Succession or assignment of patent right

Owner name: LAMBUTH CO.

Free format text: FORMER OWNER: FREESCALE SEMICONDUCTOR, INC.

Effective date: 20120802

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120802

Address after: American California

Patentee after: Rambus Corp.

Address before: Texas in the United States

Patentee before: Fisical Semiconductor Inc.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110518

Termination date: 20130430