CN101539889A - 提高存储性能 - Google Patents

提高存储性能 Download PDF

Info

Publication number
CN101539889A
CN101539889A CN200910126210A CN200910126210A CN101539889A CN 101539889 A CN101539889 A CN 101539889A CN 200910126210 A CN200910126210 A CN 200910126210A CN 200910126210 A CN200910126210 A CN 200910126210A CN 101539889 A CN101539889 A CN 101539889A
Authority
CN
China
Prior art keywords
data
buffer
memory
storage
overall situation
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
Application number
CN200910126210A
Other languages
English (en)
Other versions
CN101539889B (zh
Inventor
弗拉基米尔·彭特科维克西
岑玲
维韦克·加尔格
迪普·布什
戴维·赵
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101539889A publication Critical patent/CN101539889A/zh
Application granted granted Critical
Publication of CN101539889B publication Critical patent/CN101539889B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

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

本发明公开了一种存储操作的体系结构,其改善了存储操作延迟,并提高了专有读取(RFO)的吞吐率。本发明的实施例涉及通过实现RFO操作的乱序发射和更有效地使用存储缓冲器延迟周期来改善微处理器的存储性能的方法和装置。

Description

提高存储性能
本申请为分案申请,其原申请是于2005年1月28日向中国专利局提交的专利申请,申请号为200510005133.9,发明名称为“提高存储性能”。
技术领域
本发明的实施例涉及微处理器体系结构。更具体地说,本发明的实施例涉及通过实现专有读取(read-for-ownership)的乱序发射和更有效地使用存储缓冲器延迟周期来提高微处理器中的存储性能的方法和装置。
背景技术
微处理器一般通过被称为“前端总线”(FSB)的共享计算机系统总线来与计算机系统进行通信。但是,由于微处理器性能被提高而且计算机系统使用沿着同一FSB互连的多个处理器,所以FSB已经成为性能瓶颈。
解决这个问题的一个方法是在多处理器系统中的各个处理器之间使用点到点(PtP)链路。PtP链路一般被实现为多处理器网络中各个处理器的专用总线踪迹(trace)。虽然典型PtP链路比FSB提供更大的吞吐率,但是PtP链路的延迟可能比FSB的延迟更大。
PtP的延迟尤其可能会影响微处理器执行存储操作的性能,特别是在其存储操作之间要求强有序的微处理器体系结构中更是这样。例如,因为要求强有序,所以在后来的存储操作可以被处理器发射之前,先前发射的存储操作对于系统中的其它总线代理来说一般必须是可访问的,或至少是可检测到的。操作(例如存储、载入或其它操作)对于计算机系统中的其它总线代理的可检测性通常被称为该操作的“全局观测”。一般地,微处理器操作或指令仅在它们已经被存储到缓存或其它存储器后才变为可被全局观测,系统中的其它代理可以在所述缓存或其它存储器中检测到所述操作或指令的存在。
在强有序微处理器体系结构中的存储操作中,直到先前的存储操作已经被全局观测,典型的微处理器才从存储缓冲器,或者其它存储序列结构,或者在某些情况下从处理器执行单元发射存储操作。例如专有读取(RFO)操作的一个操作会先于典型微处理器体系结构中的存储操作的发射,以获得对将要存储该存储操作的缓存或其它存储区域线的排他性控制,从而使该存储操作可以被全局观测。但是,在典型微处理器体系结构中,直到先前的存储操作被全局观测,RFO操作才被发射。
图1示出了用于在强有序微处理器体系结构中处理被发射的存储操作的现有技术的缓存体系结构。该存储缓冲器包括将要通过缓存线填充缓冲器(LFB)而被分别存储在第一级(L1)缓存的地址X和Y中的数据X1和Y1。但是,在典型的现有技术的体系结构中,直到L1缓存中的数据X0和地址X已经被全局观测,存储数据X1、Y1和它们相应的RFO操作才可以被发射。
在现有技术体系结构中,由于存储操作发射以及最终的指令退休中的延迟,微处理器和其所在的系统的整体性能可能会受到损害。另外,随着PtP多处理器系统变得更加普遍,这个问题可能被恶化,因为系统中的每个处理器都可能依赖于由系统中的其它存储器存储的数据。
发明内容
本发明的目的通过实现RFO操作的乱序发射和更有效地使用存储缓冲器延迟周期来改善微处理器的存储性能。
本发明提供了一种处理器,包括:
用于存储数据的第一存储单元;和
耦合到所述第一存储单元的第二存储单元,用于仅在所述数据变为可被总线代理检测到后存储所述数据。
本发明提供了一种具有强有序指令体系结构的处理器,包括:
存储缓冲器,不论先于第二数据值从所述存储缓冲器中被读取的第一数据值是否已经变为可被全局观测,所述第二数据值都从所述存储缓冲器中被读取并被存储到缓存中。
本发明提供了一种计算机系统,包括:
存储第一指令和第二指令的存储单元,所述第一指令用于在至少一个总线代理中存储第一数据值,所述第二指令用于当所述第一数据值被存储在至少一个总线代理后,在至少一个总线代理中存储第二数据值;
第一级缓存和线填充缓冲器,用于在所述第一或所述第二数据值可被至少一个总线代理检测到之前同时存储所述第一和第二数据值;和
第一总线代理,用于在所述第一总线代理能够在所述第一级缓存或线填充缓冲器中检测到所述第一和第二数据值中的之一或二者之前,检测所述第一和第二数据值中的之一或二者。
本发明提供了一种装置,包括:
分配逻辑,用于分配全局观测存储缓冲器中的条目,以在所述数据对应的存储操作变为非推测性的之后、所述数据从存储缓冲器被读取之前,存储可被全局观测的数据;
耦合到所述全局观测存储缓冲器的缓存,用于在所述数据变为可被全局观测前存储所述数据;和
专有读取逻辑,用于在所述数据被存储在所述缓存中之前获得对所述缓存中的一条线的排他性所有权。
本发明还提供了一种用于发射强有序存储器操作的方法,包括:
发射第一存储操作;
在存储缓冲器中存储与所述第一存储操作相关联的第一数据;
发射第二存储操作;
在所述存储缓冲器中存储与所述第二存储操作相关联的第二数据;
在存储单元中存储所述第一数据;以及
在所述第一数据被存储在所述存储单元中且不可被全局观测的期间,在所述存储单元中存储所述第二数据。
附图说明
通过附图,以举例而非限制的方式来图示本发明的实施例,其中相似的标号表明类似的元件,并且:
图1示出了用于在强有序微处理器体系结构中处理被发射的存储操作的现有技术的缓存体系结构。
图2示出了其中可以使用本发明的至少一个实施例的计算机系统。
图3示出了其中可以使用本发明的至少一个实施例的总线代理。
图4示出了本发明的一个实施例,其中全局观测存储缓冲器(GoSB)被用来跟踪存储操作并存储已经变为可被全局观测的相应数据值。
图5示出了本发明的一个实施例,其中GoSB索引和GoSB有效字段没有被存储在第一级(L1)缓存或线填充缓冲器(LFB)条目中,相反地,GoSB索引字段被存储在存储缓冲器的条目中。
图6的流程图示出了与本发明的至少一个实施例相关联的操作。
具体实施方式
本发明的实施例涉及微处理器体系结构。更具体地说,本发明的实施例涉及通过实现专有读取的乱序发射和更有效地使用存储缓冲器延迟周期来提高微处理器中的存储性能的方法和装置。
为了在提高存储缓冲器效率的同时辅助乱序RFO操作,本发明的至少一个实施例涉及使用例如全局观测存储缓冲器(GoSB)的存储介质,以跟踪已经变为可被全局观测的存储数据。在GoSB中跟踪可被全局观测的数据使得存储数据能够被存储在可监听的存储设备(例如第一级(L1)缓存和线填充缓冲器(LFB))中,而不考虑先前的存储数据是否已经被全局观测,于是提高了微处理器中的存储数据的吞吐率和存储操作的性能。
图2示出了可以与本发明的至少一个实施例结合起来使用的计算机系统。处理器205从缓存210和主存储器215访问数据。本发明的一个实施例206的位置在图2的处理器内部被示出。但是,本发明的实施例可以在系统中的其它设备(例如独立的总线代理)中实现,或者分布在整个网络中。主存储器可以是动态随机访问存储器(DRAM)、硬盘驱动器(HDD)220或包含各种存储设备和技术的远离所述计算机系统的存储源230。所述缓存可以位于所述处理器中或其附近,例如在处理器本地总线207上。另外,所述缓存可以由速度较快的存储单元(例如六电晶体(6T)单元或其它具有近似等同或更快访问速度的存储单元)组成。
图3示出了其中可以使用本发明的至少一个实施例的总线代理。具体地说,图3所示的微处理器300包括本发明的至少一个实施例305的一个或更多组成部分。在图3的微处理器中还示出了执行单元310,其在微处理器中执行例如存储操作的操作。所述执行单元的精确或相对位置以及本发明的实施例的组成部分并不限于图3所述。
图4示出了本发明的一个实施例,其中GoSB 401被用于跟踪存储操作并存储已经变为全局可观测的相应数据。图4的GoSB的每个条目405包括用于条目引用的索引值字段406、用于指示所述存储操作的目标地址的地址值字段407、用于存储与所述存储操作相关联的数据的数据值字段408、用于计算还未变为可被全局观测的存储操作的数目的计数字段409,以及用于指示相应于可被全局观测的存储操作的数据是否可用、且是否被存储在GoSB的数据字段中的有效位字段410。
图4还示出了未提交(non-committed)存储队列(NcSQ)415。NcSQ存储相应于已经被存储在线填充缓冲器(LFB)420或第一级缓存425中,但是还未变为可被全局观测的存储操作的数据和地址信息。在图4所示的实施例中,NcSQ是先进先出(FIFO)队列,其所具有的条目包含:用于存储相应于特定存储操作的地址信息的地址字段416、用于存储相应于所述存储操作的数据的数据字段417,以及用于存储用于引用GoSB中的相应条目的索引信息的GoSB索引字段418。
在图4所示的实施例中,从存储缓冲器430发射、传输或读取存储操作,在NcSQ中存储存储操作,L1缓存或LFB和相应的条目在GoSB中被分配。在存储数据变为可被全局观测后,所述数据从NcSQ被存储到相应的GoSB条目中。
当相应于特定目标地址的存储数据被存储在NcSQ中时,GoSB的相应计数字段被增加。当存储操作变为可被全局观测时,相应的存储地址和数据从NcSQ被删除,而且GoSB中的相应计数字段被减少。在GoSB计数字段到达0后,相应的GoSB条目可以被释放并被重新分配给新的存储操作。
在图4所示的本发明的实施例中,一个或更多例如微处理器的总线代理可以对L1缓存和LFB中的每一个实施监听以获得存储数据。在L1缓存和LFB的每个条目中都有GoSB索引字段426和GoSB有效字段427。GoSB索引字段向监听代理表明GoSB中相应存储数据的位置。GoSB有效字段表明相应的GoSB索引是否有效,以及它是否还不可被全局观测到。GoSB还可以被总线代理实施监听以获得所述数据,并且提供数据以供监听代理使用,或指向供监听代理使用的最有效数据。如果L1缓存或LFB和GoSB都包含被请求的数据,那么GoSB向发出请求的代理提供所述数据。
在图5所示的本发明的实施例中,GoSB索引和GoSB有效字段没有被存储在L1缓存和LFB条目中,相反地,GoSB索引501字段被存储在存储缓冲器的条目中。在图5所示的实施例中,只要存储操作变为非推测性的或“高级的”,GoSB条目就可以被分配给存储操作,而无需等待直到存储操作从存储缓冲器被读取、传输或发射到LFB或L1缓存。
可替换地,在相应存储缓冲器字段被访问时,通过使用逻辑来指向特定的GoSB索引字段,GoSB索引字段501可以逻辑上与存储缓冲器相关联,而物理上与所述存储缓冲器并不位于同一结构中。在上述任何一种情况下,与存储缓冲器的各条目相关联的GoSB索引字段允许监听代理及早在GoSB中定位存储数据,以使得只要数据在GoSB中变为可被全局观测,监听代理就可以获取该数据。在图5所示的实施例中,可以在相应存储数据被存储在存储缓冲器之前发射专有读取(RFO)操作。图5所述的实施例的其它方面与已经参照图4所述的本发明的实施例讨论过的那些方面类似。
图6的流程图示出了与本发明的至少一个实施例相关联的操作。参照图6,在操作601,从微处理器执行逻辑发射第一存储操作,并且相应数据被存储在存储缓冲器条目中。在操作602,在从存储缓冲器发射第一存储操作之前或之后,分配GoSB条目并执行RFO操作,以获得对GoSB以及L1缓存或LFB中的一条线的排他性所有权。然后,第一存储操作数据被存储在NcSQ中以及LFB或L1缓存条目中。在操作603,相应的GoSB计数器被增加。
在操作604发射第二存储操作,并且在存储缓冲器条目中存储相应数据。在操作605,在从存储缓冲器发射第二存储操作之前或之后,分配GoSB条目并执行RFO操作,以获得对GoSB以及L1缓存或LFB中的一条线的排他性所有权。然后,第二存储操作被移动到NcSQ中以及LFB或L1缓存条目中,并且在操作606,相应的GoSB计数器被增加。
在本发明的至少一个实施例中,第一和第二存储操作数据在同一时期驻留在LFB和L1缓存中。在操作607,如果在第一存储操作的数据为可被全局观测前,相应于第二存储的RFO数据从L1缓存或LFB返回,那么第二存储操作就会被并入L1和/或LFB的合适条目中,而非GoSB的相应条目中。但是,在操作608,如果在第二存储操作的RFO数据从L1缓存或LFB被返回之前,第一存储操作的数据变为可被全局观测,那么第二存储操作的数据就会被并入GoSB的合适条目。计数器被增加或减少,以表明与在GoSB中分配的特定存储操作相关联的尚未变为或已经变为可被全局观测的数据的数量。
可以用多种方式实现这里图示的本发明的任何或全部实施例,包括而不限于:使用互补金属氧化物半导体(CMOS)电路设备的逻辑(硬件);存储在存储介质中的指令(软件),当其被例如微处理器的机器执行时,使得该微处理器执行此处所描述的操作;或者是硬件和软件的组合。这里引用的“微处理器”或“处理器”是指任何这样的机器或设备(包括CMOS设备),其在接收到一个或更多输入信号或指令时能够执行操作。
虽然本发明是结合图示的实施例进行描述的,但是,本描述不应当被解释为限制性的。对于本发明所属领域的技术人员来说显而易见的对图示实施例以及其它实施例的各种修改被视为落在本发明的精神和范围中。

Claims (9)

1.一种具有强有序指令体系结构的处理器,包括:
存储缓冲器,不论先于第二数据值从所述存储缓冲器中被读取的第一数据值是否已经变为可被全局观测,所述第二数据值都从所述存储缓冲器中被读取并被存储到缓存中;以及
全局观测存储缓冲器,用于当所述第一和第二数据值变为可被全局观测之后,仅存储所述第一和第二数据值,其中
所述全局观测存储缓冲器包括对应于每个将要被存储在所述全局观测存储缓冲器中的数据值的索引字段。
2.如权利要求1所述的处理器,其中所述缓存包括第一级缓存和线填充缓冲器之一,其中所述线填充缓冲器用于存储将要被写入第一级缓存的数据。
3.如权利要求2所述的处理器,其中所述第一级缓存和线填充缓冲器中的之一或二者通过点到点总线被耦合到第一总线代理,其中所述第一总线代理用于在所述第一总线代理能够在所述第一级缓存或线填充缓冲器中检测到所述第一和第二数据值中的之一或二者之前,检测所述第一和第二数据值中的之一或二者。
4.一种用在具有强有序指令体系结构的处理器中的装置,包括:
分配逻辑,用于分配全局观测存储缓冲器中的条目,以在可被全局观测的数据对应的存储操作变为非推测性的之后,可被全局观测的数据从存储缓冲器被读取之前,存储可被全局观测的数据;
耦合到所述全局观测存储缓冲器的缓存,用于在可被全局观测的数据变为可被全局观测前存储所述数据;和
专有读取逻辑,用于在可被全局观测的数据被存储在所述缓存中之前获得对所述缓存中的一条高速缓存线的排他性所有权。
5.如权利要求4所述的装置,其中所述缓存包括第一级缓存和线填充缓冲器之一,其中所述线填充缓冲器用于存储将要被写入第一级缓存的数据。
6.如权利要求5所述的装置,其中所述第一级缓存和线填充缓冲器中的之一或二者通过点到点总线被耦合到第一总线代理,其中所述第一总线代理用于在所述第一总线代理能够在所述第一级缓存或线填充缓冲器中检测到所述第一和第二数据值中的之一或二者之前,检测所述第一和第二数据值中的之一或二者。
7.一种用于发射指令的方法,所述指令用于执行强有序存储器操作,该方法包括:
发射用于执行第一存储操作的指令;
在存储缓冲器中存储与所述第一存储操作相关联的第一数据;
发射用于执行第二存储操作的指令;
在所述存储缓冲器中存储与所述第二存储操作相关联的第二数据;
在存储单元中存储所述第一数据;以及
在所述第一数据被存储在所述存储单元中且不可被全局观测的期间,在所述存储单元中存储所述第二数据。
8.如权利要求7所述的方法,其中所述存储单元包括第一级缓存和线填充缓冲器之一。
9.如权利要求8所述的方法,其中所述第一级缓存和线填充缓冲器中的之一或二者通过点到点总线被耦合到第一总线代理,其中所述第一总线代理用于在所述第一总线代理能够在所述第一级缓存或线填充缓冲器中检测到所述第一和第二数据中的之一或二者之前,检测所述第一和第二数据中的之一或二者。
CN2009101262104A 2004-03-30 2005-01-28 提高存储性能 Expired - Fee Related CN101539889B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/813,942 2004-03-30
US10/813,942 US7484045B2 (en) 2004-03-30 2004-03-30 Store performance in strongly-ordered microprocessor architecture

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100051339A Division CN100480993C (zh) 2004-03-30 2005-01-28 提高存储性能

Publications (2)

Publication Number Publication Date
CN101539889A true CN101539889A (zh) 2009-09-23
CN101539889B CN101539889B (zh) 2011-11-09

Family

ID=35049879

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB2005100051339A Expired - Fee Related CN100480993C (zh) 2004-03-30 2005-01-28 提高存储性能
CN2009101262104A Expired - Fee Related CN101539889B (zh) 2004-03-30 2005-01-28 提高存储性能

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2005100051339A Expired - Fee Related CN100480993C (zh) 2004-03-30 2005-01-28 提高存储性能

Country Status (5)

Country Link
US (2) US7484045B2 (zh)
JP (1) JP4452644B2 (zh)
KR (1) KR100876486B1 (zh)
CN (2) CN100480993C (zh)
TW (1) TWI318373B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484045B2 (en) * 2004-03-30 2009-01-27 Intel Corporation Store performance in strongly-ordered microprocessor architecture
US7523265B2 (en) * 2005-03-18 2009-04-21 International Business Machines Corporation Systems and arrangements for promoting a line to exclusive in a fill buffer of a cache
US7836229B1 (en) 2006-06-23 2010-11-16 Intel Corporation Synchronizing control and data paths traversed by a data transaction
US7584335B2 (en) * 2006-11-02 2009-09-01 International Business Machines Corporation Methods and arrangements for hybrid data storage
CN101464839B (zh) * 2009-01-08 2011-04-13 中国科学院计算技术研究所 一种访存缓冲装置及方法
JP5953573B2 (ja) 2013-05-02 2016-07-20 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. ペリフェラル・コンポーネント・インターコネクト・エクスプレス・エンドポイントデバイスにアクセスするためのコンピュータシステム、方法、および装置
US10754782B1 (en) * 2019-03-30 2020-08-25 Intel Corporation Apparatuses, methods, and systems to accelerate store processing

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043886A (en) * 1988-09-16 1991-08-27 Digital Equipment Corporation Load/store with write-intent for write-back caches
US5202969A (en) * 1988-11-01 1993-04-13 Hitachi, Ltd. Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively
JPH0680499B2 (ja) * 1989-01-13 1994-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムのキャッシュ制御システムおよび方法
US5210848A (en) * 1989-02-22 1993-05-11 International Business Machines Corporation Multi-processor caches with large granularity exclusivity locking
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5255387A (en) * 1990-04-27 1993-10-19 International Business Machines Corporation Method and apparatus for concurrency control of shared data updates and queries
US5434970A (en) * 1991-02-14 1995-07-18 Cray Research, Inc. System for distributed multiprocessor communication
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
TW234174B (en) * 1993-05-14 1994-11-11 Ibm System and method for maintaining memory coherency
US5751995A (en) * 1994-01-04 1998-05-12 Intel Corporation Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
US5526510A (en) * 1994-02-28 1996-06-11 Intel Corporation Method and apparatus for implementing a single clock cycle line replacement in a data cache unit
US5671444A (en) * 1994-02-28 1997-09-23 Intel Corporaiton Methods and apparatus for caching data in a non-blocking manner using a plurality of fill buffers
US5680572A (en) * 1994-02-28 1997-10-21 Intel Corporation Cache memory system having data and tag arrays and multi-purpose buffer assembly with multiple line buffers
TW388982B (en) 1995-03-31 2000-05-01 Samsung Electronics Co Ltd Memory controller which executes read and write commands out of order
US5867400A (en) * 1995-05-17 1999-02-02 International Business Machines Corporation Application specific processor and design method for same
US5652859A (en) 1995-08-17 1997-07-29 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5893165A (en) 1996-07-01 1999-04-06 Sun Microsystems, Inc. System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO
US5860107A (en) 1996-10-07 1999-01-12 International Business Machines Corporation Processor and method for store gathering through merged store operations
US6185660B1 (en) 1997-09-23 2001-02-06 Hewlett-Packard Company Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
US6009488A (en) * 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6460119B1 (en) * 1997-12-29 2002-10-01 Intel Corporation Snoop blocking for cache coherency
DE19807872A1 (de) * 1998-02-25 1999-08-26 Pact Inf Tech Gmbh Verfahren zur Verwaltung von Konfigurationsdaten in Datenflußprozessoren sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstruktur (FPGAs, DPGAs, o. dgl.
US6349382B1 (en) 1999-03-05 2002-02-19 International Business Machines Corporation System for store forwarding assigning load and store instructions to groups and reorder queues to keep track of program order
US6374332B1 (en) * 1999-09-30 2002-04-16 Unisys Corporation Cache control system for performing multiple outstanding ownership requests
US6557053B1 (en) 2000-01-04 2003-04-29 International Business Machines Corporation Queue manager for a buffer
TW515952B (en) 2001-04-23 2003-01-01 Mediatek Inc Memory access method
US6704841B2 (en) 2001-06-26 2004-03-09 Sun Microsystems, Inc. Method and apparatus for facilitating speculative stores in a multiprocessor system
EP1399823B1 (en) 2001-06-26 2011-02-16 Oracle America, Inc. Using an l2 directory to facilitate speculative loads in a multiprocessor system
US6839808B2 (en) * 2001-07-06 2005-01-04 Juniper Networks, Inc. Processing cluster having multiple compute engines and shared tier one caches
JP3661614B2 (ja) 2001-07-12 2005-06-15 日本電気株式会社 キャッシュメモリ制御方法及びマルチプロセッサシステム
US6766665B2 (en) 2001-12-05 2004-07-27 Emhart Glass S.A. Glass container forming machine
JP4234361B2 (ja) 2002-06-28 2009-03-04 富士通株式会社 記憶制御装置およびデータ格納方法
JP4180569B2 (ja) 2003-01-27 2008-11-12 富士通株式会社 記憶制御装置、データキャッシュ制御装置、中央処理装置、記憶装置制御方法、データキャッシュ制御方法およびキャッシュ制御方法
US6859123B2 (en) 2003-04-03 2005-02-22 Ge Medical Systems Global Technology Company, Llc Methods and apparatus for positioning permanent magnetic blocks
US7325102B1 (en) * 2003-11-17 2008-01-29 Sun Microsystems, Inc. Mechanism and method for cache snoop filtering
US7117312B1 (en) * 2003-11-17 2006-10-03 Sun Microsystems, Inc. Mechanism and method employing a plurality of hash functions for cache snoop filtering
US7962696B2 (en) * 2004-01-15 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for updating owner predictors
US7484045B2 (en) 2004-03-30 2009-01-27 Intel Corporation Store performance in strongly-ordered microprocessor architecture
US8475985B2 (en) 2005-04-28 2013-07-02 Xerox Corporation Magnetic compositions
JP2007044459A (ja) 2005-08-05 2007-02-22 Noboru Takahashi 電子レンジ用蒸し器
JP2009198253A (ja) 2008-02-20 2009-09-03 Hitachi Maxell Ltd 光学フィルムの検査装置及び検査方法

Also Published As

Publication number Publication date
CN101539889B (zh) 2011-11-09
US8244985B2 (en) 2012-08-14
US20050223177A1 (en) 2005-10-06
US7484045B2 (en) 2009-01-27
KR20060045031A (ko) 2006-05-16
KR100876486B1 (ko) 2008-12-31
TW200620103A (en) 2006-06-16
JP2005310134A (ja) 2005-11-04
TWI318373B (en) 2009-12-11
JP4452644B2 (ja) 2010-04-21
CN100480993C (zh) 2009-04-22
US20090144500A1 (en) 2009-06-04
CN1677341A (zh) 2005-10-05

Similar Documents

Publication Publication Date Title
US12001345B2 (en) Victim cache that supports draining write-miss entries
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
US6205506B1 (en) Bus interface unit having multipurpose transaction buffer
KR100252570B1 (ko) 축소된요구블로킹을갖는캐시메모리
CN101539889B (zh) 提高存储性能
JP3620473B2 (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
TWI405081B (zh) 對共享第二層對映快取記憶體對稱配置之方法與系統
US6754739B1 (en) Computer resource management and allocation system
JPH02255932A (ja) マルチプロセツサ・システム
US20060117144A1 (en) Method and apparatus for optimizing data streaming in a computer system utilizing random access memory in a system logic device
US20050044321A1 (en) Method and system for multiprocess cache management
JP3733604B2 (ja) キャッシュメモリ
EP1607869A1 (en) Data cache system
JPH04245350A (ja) キャッシュ一致化方式
JPH04102146A (ja) 高性能キャッシュ

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: 20111109

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