KR101087811B1 - 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치 - Google Patents

캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치 Download PDF

Info

Publication number
KR101087811B1
KR101087811B1 KR1020050002442A KR20050002442A KR101087811B1 KR 101087811 B1 KR101087811 B1 KR 101087811B1 KR 1020050002442 A KR1020050002442 A KR 1020050002442A KR 20050002442 A KR20050002442 A KR 20050002442A KR 101087811 B1 KR101087811 B1 KR 101087811B1
Authority
KR
South Korea
Prior art keywords
processor
cache line
ownership
transaction
memory device
Prior art date
Application number
KR1020050002442A
Other languages
English (en)
Other versions
KR20050074310A (ko
Inventor
그리어크리스토퍼알란
슈뢰더마이클알렉스
고스틴게리벨그래브
Original Assignee
휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
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 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. filed Critical 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.
Publication of KR20050074310A publication Critical patent/KR20050074310A/ko
Application granted granted Critical
Publication of KR101087811B1 publication Critical patent/KR101087811B1/ko

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/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/50Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating other intentions or conditions, e.g. request for waiting or overtaking
    • B60Q1/525Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating other intentions or conditions, e.g. request for waiting or overtaking automatically indicating risk of collision between vehicles in traffic or with pedestrians, e.g. after risk assessment using the vehicle sensor data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60QARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
    • B60Q1/00Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor
    • B60Q1/26Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic
    • B60Q1/44Arrangement of optical signalling or lighting devices, the mounting or supporting thereof or circuits therefor the devices being primarily intended to indicate the vehicle, or parts thereof, or to give signals, to other traffic for indicating braking action or preparation for braking, e.g. by detection of the foot approaching the brake pedal
    • B60Q1/441Electric switches operable by the driver's pedals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/10Road Vehicles
    • B60Y2200/11Passenger cars; Automobiles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 공유 메모리 멀티프로세서 컴퓨터 시스템 내의 프로세서들간에 캐시 라인 소유권을 이전하는 방법에 관한 것이다. 캐시 라인의 소유권에 대한 요청(10)은 요청 프로세서(A)로부터 메모리 장치로 전송된다. 메모리 장치는, 이 요청을 수신하고, 복수의 프로세서들 중 요청 프로세서가 아닌 다른 어느 프로세서가 요청되는 캐시 라인의 소유권을 가지고 있는지를 판단한다. 메모리는 그 프로세서로 소유권 리콜(ownership recall)(20)를 송신한다. 소유권 리콜에 응답하여, 캐시 라인의 소유권을 가지고 있는 프로세서(B)는 요청된 캐시 라인을 요청 프로세서(A)로 전송(30a)하고, 요청 프로세서(A)는 메모리 장치로 응답을 전송(50)하여 요청한 캐시 라인의 수신을 확인한다. 선택에 따라, 캐시 라인의 소유권을 가지고 있던 프로세서(B)가 요청되었던 캐시 라인을 요청 프로세서(A)로 전송했음을 확인하기 위해 캐시 라인의 소유권을 가지고 있던 프로세서(B)가 메모리 장치로 응답을 전송(30b)할 수 있다. 어떤 경우에는, 캐시 라인의 소유권을 가지고 있던 프로세서가 응답의 일부로서 요청된 캐시 라인에 대한 데이터의 복사본도 메모리 장치로 전송할 수 있다.

Description

캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치{CACHE LINE OWNERSHIP TRANSFER IN MULTI-PROCESSOR COMPUTER SYSTEMS}
도 1은 멀티프로세서 디렉토리 기반 캐시 일관성 시스템내의 프로세서들간에 캐시 라인의 소유권을 요청하는 단계의 일부를 간략하게 도시하는 흐름도,
도 2는 본 발명의 일 실시예에 따른 방법을 간략하게 나타내는 흐름도.
도면의 주요 부분에 대한 부호의 설명
10 : 요청 트랜잭션 라인 20 : 리콜 트랜잭션 라인
30a : 이전 트랜잭션 라인 30b : 응답 트랜잭션 라인
50 : 응답 트랜잭션 라인
공유 메모리 멀티프로세서 컴퓨터 시스템에서, 캐시 부적중 대기(cache miss latency)는 시스템 성능에 상당한 영향을 미친다. (본 발명의 문맥에서, "프로세서"는 CPU(central processing units) 및 I/O 프로세싱 에이전트를 포함하지만 이에 국한되지는 않는다.) 당업자라면 이해할 수 있는 바와 같이, "캐시 부적중"은 프로세서가 자시의 캐시에서 데이터를 검사하였으나 원하는 데이터가 캐시 내에 존재하지 않는 경우에 발생한다. "캐시 부적중"은, 요청되는 정보가 캐시 내에 존재하는 경우인 "캐시 적중(cache hit)"의 반대의 개념이다. 캐시 부적중이 발생하면, 프로세서는 "캐시 라인"이라고 하는 원하는 데이터를 컴퓨터 시스템의 메모리 서브시스템으로부터 요청해야 한다. 프로세서가 자신의 캐시를 검사하고, 그 데이터가 캐시 내에 있음을 발견하고, 메모리 서브시스템으로부터 원하는 데이터를 요청하고, 그 데이터를 메모리 시스템으로부터 수신하는 데 소요되는 시간은 프로세서가 유휴 상태의 시간이고, 캐시 부적중 대기라고 한다.
대형 시스템에서, 특히, 프로세서가, 멀리 떨어진 셀에 위치하는 다른 프로세서가 소유하는 캐시 라인의 소유권을 요청하는 경우에는 캐시 부적중 대기가 극도로 클 수 있다. 셀은 시스템의 서브 모듈이며, 통상적으로 다수의 시스템 자원, 예컨대 중앙 처리 장치(CPU), 중앙 에이전트 제어기, 입/출력(I/O) 처리 장치 및 메모리를 구비한다. 셀은 단일의 공유 메모리 도메인으로 구성될 수 있고, 또는 함께 그루핑되어 하나의 공유 메모리 도메인을 형성하는 복수의 셀의 일부로 구성될 수 있다. 프로세서들간에 캐시 라인의 소유권을 이전하는 것에는 여러 단계들이 있는데, 각 단계들은 캐시 부적중 대기를 증가시킨다.
본 발명은 캐시 라인의 소유권 이전 단계의 개수를 감소시켜, 대기를 감소시킴으로써 캐시 부적중 대기를 감소시키는 것을 그 목적으로 한다. 일 측면에서, 본 발명은 공유 메모리 멀티프로세서 컴퓨터 시스템 내의 프로세서들간에 캐시 라인의 소유권을 이전하는 방법을 포함한다. 본 방법은 캐시 라인의 소유권에 대한 요청을 제 1 프로세서로부터 메모리 장치로 전송하는 단계를 포함한다. 메모리 장치는 이 요청을 수신하고, 복수의 프로세서 중 제 1 프로세서가 아닌 어느 프로세서가 요청된 캐시 라인의 소유권을 가지고 있는지를 판단한다. 메모리는 캐시 라인의 소유권을 가지고 있는 프로세서로 소유권에 대한 리콜를 전송한다. 리콜에 응답하여, 캐시 라인의 소유권을 가지고 있는 프로세서로부터 캐시 라인 데이터가 그 소유권과 함께 제 1 프로세서로 전송된다. 요청한 캐시 라인의 소유권을 제 1 프로세서가 수신했음을 확인하기 위해, 제 1 프로세서로부터 메모리 장치로 응답이 전송된다.
선택에 따라, 캐시 라인의 소유권을 가지고 있던 프로세서가 요청된 캐시 라인의 소유권을 제 1 프로세서로 전송했음을 확인하기 위해, 캐시 라인의 소유권을 가지고 있던 프로세서로부터 추가 응답이 메모리 장치로 전송될 수 있다. 이러한 추가 응답의 일부로서 요청된 캐시 라인 데이터의 복사본이 메모리 장치로 전송될 수 있으나, 항상 그러할 필요는 없다.
본 발명은 셀 기반 및 비셀 기반형 컴퓨터 시스템을 포함한다. 셀 기반형 시스템에서, 본 발명은 단일의 셀 공유 메모리 시스템 및 복수의 셀 시스템 둘 다 를 포함하여 단일의 공유 메모리 도메인을 형성한다. 프로세서 및 메모리 장치는 임의의 그루핑으로, 하나, 두 개 또는 세 개의 별개의 셀에 상주할 수 있다.
도 1 및 2의 화살표는 프로세서와 메모리간에 전송되는 트랜잭션을 나타낸다. 본 발명은 이들 트랜잭션이 전송되는 패킷, 신호, 버스, 메세지 등을 포함하는 모든 구현을 포함한다. 본 명세서에서 모든 이러한 구현들을 포괄하는 것으로 용어 "트랜잭션"이 사용된다.
도 1은 디렉토리 기반형 캐시 일관성 방식을 이용하는 공유 메모리 멀티프로세서 컴퓨터 시스템을 상당히 간략화한 형태로 도시한다. 간략화된 시스템은 세 개의 셀, 임의로 지정된 셀(0), 셀(1), 셀(2)로 나뉜다. 제 1 프로세서, 임의로 (A)로 지정된 프로세서는 셀(0)과 연관되어 있다. 또 다른 프로세서, 임의로 프로세서(B)로 지정된 프로세서는 셀(2)과 연관되어 있다. 양 프로세서, 프로세서(A) 및 프로세서(B)는 그들 소유의 캐시 메모리를 가지고 있다. 메모리 장치는 셀(1)과 연관되고, 양 프로세서, 프로세서(A) 및 프로세서(B)가 공유한다.
프로세서(A)가, 메모리 장치가 소유하는 캐시 라인의 소유권을 필요로 하면, 메모리 장치 내에 저장되어 있는 요청된 캐시 라인에 대한 메모리 어드레스를 포함하는 요청 트랜잭션이 화살표(10)로 나타내는 바와 같이, 프로세서(A)로부터, 그 캐시 라인을 소유하고 있는 메모리 장치로 전송된다. 메모리 장치는 요청 트랜잭션을 수신하고, 요청된 캐시 라인의 메모리 어드레스에 대한 DRAM 태그로부터, 셀(2)과 연관되어 있는 프로세서(B)가 요청된 캐시 라인의 소유권을 가지고 있음을 판단한다. 이어서, 메모리 장치는 화살표(20)로 나타내는 바와 같이, 리콜 트랜잭션(recall transaction)을 프로세서(B)로 전송함으로써 요청된 캐시 라인을 프로세서(B)의 캐시로부터 리콜한다. 이에 응답하여, 프로세서(B)는 화살표(30)로 나타내는 바와 같이, 응답 트랜잭션을 전송함으로써 캐시 라인과 요청된 캐시 라인의 소유권을 메모리 장치로 리턴한다. 그 후, 메모리 장치는 화살표(40)로 나타내는 바와 같이, 데이터 트랜잭션을 전송함으로써, 캐시 라인 데이터 및 요청된 캐시 라인의 소유권을 프로세서(A)로 전달한다.
본 동작 방법의 불리한 점은 캐시 라인의 소유권을 프로세서(A)가 요청하고, 소유권이 프로세서(B)로부터 프로세서(A)로 이전되는 동안, 프로세서(A) 상에서 실행 중인 프로세서가, 프로세서(A)로 요청한 캐시 라인의 소유권 및 데이터가 전송될 때까지 멈춰야 한다는 것이다. 본 명세서에서 화살표(10, 20, 30, 40)로 표시되는 경로는 "대기 주요 경로"라 하고, 프로세서(A) 상에서 실행 중인 프로세서가 멈춰진 시간은 "캐시 부적중 대기"라고 한다.
본 발명에 따른 캐시 부적중 대기를 감소시키기 위한 방법은 도 2에 상당히 간략화된 형태로 도시되어 있다. 도 2에 도시한 실시예에 따라, 대기 주요 경로의 단계들 중 하나의 단계가 제거된다. 도 2에 도시한 바와 같이, 프로세서(A)가 메모리 장치가 소유하는 캐시 라인의 소유권을 필요로 하면, 화살표(10)로 나타내는 바와 같이, 메모리 어드레스를 포함하는 요청 트랜잭션이 프로세서(A)로부터 메모리 장치로 전송된다. 메모리 장치는 요청 트랜잭션을 수신하고, 요청된 캐시 라인의 메모리 어드레스에 대한 DRAM 태그로부터, 셀(2)과 연관되어 있는 프로세서(B)가 요청된 캐시 라인의 소유권을 가지고 있음을 판단한다. 그 후, 메모리 장치는 프로세서(B)의 캐시로부터 요청된 캐시 라인을 리콜하기 위해, 화살표(20)로 나타내는 바와 같이, 리콜 트랜잭션을 프로세서(B)로 전송한다.
리콜 트랜잭션에 응답하여, 프로세서(B)는 화살표(30a)로 나타내는 바와 같이, 데이터 트랜잭션을 전송함으로써, 요청 프로세서인 프로세서(A)로 캐시 라인 데이터 및 요청된 캐시 라인의 소유권을 전송한다.
화살표(30b)로 나타내는 바와 같이, 응답 트랜잭션을 전송함으로써, 캐시 라인의 복사본이 메모리 장치로 전송되어 메모리 장치 내에 유지되는 캐시 라인을 업데이트한다. 그러나, 모든 경우에 그러할 필요는 없다. 어떤 경우에는, 프로세서(B)가 메모리 장치로 캐시 라인의 복사본을 전송할 필요가 없다. 프로세서(A)가 캐시 라인의 소유권을 요청할 때, 요청되는 경우에 그 캐시 라인을 그 후의 요청에서 다른 프로세서로 제공할 것인지, 또는 캐시 라인을 제공하지 않을 것인지를 보장하는 표시와 함께 프로세서(A)가 요청을 수행할 수 있다. 캐시 라인의 소유권에 대한 요청에서, 프로세서(A)가 후속 요청에 응답하여 캐시 라인을 제공할 것이라고 보장하면, 도면부호(30b)로 표시되는, 프로세서(B)로부터 메모리 장치로의 응답은 캐시 라인 데이터의 복사본 없이 메모리 장치로 전송된다. 이러한 접근법이 사용되면 시스템 대역폭이 크게 감소된다. 그러나, 이러한 접근법은 프로세서(A)가 최초 요청에서, 후속 요청의 수신시, 캐시 라인 데이터를 제공할 것이라고 보장하는 경우에만 사용될 수 있다. 최초 요청에서, 프로세서(A)가, 후속 요청에서는 캐시 라인을 제공하지 않을 것이라면, 도면부호(30b)로 표시되는 응답은 캐시 라인 데이터의 복사본과 함께 메모리 장치로 전송된다.
일관성 흐름을 완성하기 위해, 화살표(50)로 나타내는 바와 같이, 응답 트랜잭션이 프로세서(A)로부터 메모리 장치로 전송될 수 있다. 이 트랜잭션은, 최초 요청 프로세서인 프로세서(A)가 그 캐시 라인을 수신했음을 메모리에게 통보한다. 이에 응답하여, 메모리 장치는 캐시 라인의 소유권이 프로세서(A)로 전달되었음을 나타내기 위해 DRAM 태그를 업데이트한다.
또한, 최초의 소유권 요청에서, 후속 요청의 수신시 캐시 라인 데이터를 제공할 것이라고 보장하면, 도면부호(30b)로 나타낸, 프로세서(B)로부터 메모리 장치로의 응답은 완전히 생략될 수 있다. 그러한 경우에는, 캐시 라인이 프로세서(B)로부터 수신되었다는 것을 메모리에게 알리는, 프로세서(A)로부터의 응답 트랜잭션이, 프로세서(B)가 캐시 라인을 프로세서(A)로 전송했음이 메모리에게 물론 통보한다. 그러므로, 그러한 이벤트에서는, 화살표(30b)로 나타낸 응답이 필요하지 않다.
또한, 도 2에 도시한 트랜잭션 흐름은, 프로세서(A), 프로세서(B) 및 메모리 장치가 어떠한 방식으로든 하나 또는 두 개의 셀에 상주하는 경우에도 실행될 수 있다. 또한, 트랜잭션 흐름은 비 셀 기반형 시스템 구조로 실행될 수 있다. 또한, 본 발명은 프로세서 또는 메모리 장치의 어떤 특정 개수에 국한되지 않는다.
본 발명은 멀티프로세서 시스템에서 캐시 부적중 대기를 감소시킨다. 캐시 라인 내에 포함되는 요청 데이터를 대기 중인 프로세서가 멈춰진 유휴 시간의 감소로 애플리케이션 및 벤치마크가 훨씬 더 고속으로 실행될 수 있다.
본 발명 및 본 발명의 유리한 점을 상세히 설명하였으나, 청구의 범위가 정의하는 본 발명의 사상 및 범주로부터 이탈하지 않고, 다양한 수정, 대체 및 변경이 이루어질 수 있음을 이해할 수 있을 것이다. 또한, 본 애플리케이션의 범주는 본 명세서에서 설명한 본 발명의 특정 실시예에 국한되지 않는다. 당업자라면, 전술한 설명으로부터, 본 명세서에서 설명하는 대응 실시예와 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 낼 수 있는 기존의 또는 추후에 개발될 프로세서, 머신, 제조품, 물체의 조합, 수단, 방법 또는 단계들이 본 발명을 구현 및 수행하기 위해 이용될 수 있다는 것을 이해할 수 있을 것이다. 이에 따라, 첨부한 청구의 범위는 이러한 프로세스, 머신, 제조품, 물체의 조합, 수단, 방법 또는 단계들을 그 범주 내에 포함시킨다.
전술은 발명가들이 상세한 설명을 이용할 수 있다고 예견하는 실시예의 측면에서 기술되었으나, 현재 제시되지 않은 본 발명의 비실체적 수정도 등가를 나타낼 수 있다.
프로세서들 간에 캐시 라인의 소유권을 이전하는 단계 중 일부 단계를 감소시켜 부적중 대기를 감소시킨다.

Claims (10)

  1. 디렉토리 기반 캐시 일관성 방식(directory-based cache coherency scheme)을 이용하여 공유 메모리 멀티프로세서 컴퓨터 시스템 내의 프로세서들 간에 캐시 라인의 소유권을 이전하는 방법으로서,
    캐시 라인의 소유권에 대한 요청 트랜잭션을 제 1 프로세서로부터 메모리 장치로 전송하는 단계와,
    상기 요청된 캐시 라인의 소유권을 갖는 제 2 프로세서를 상기 메모리 장치로부터 결정하고 리콜 트랜잭션(recall transaction)을 상기 제 2 프로세서로 전송하는 단계와,
    승인되지 않은 리턴 요청이 상기 제 2 프로세서에 의해 전송되었는지에 관계없이 상기 리콜 트랜잭션에 응답하여 소유권을 가진 상기 요청된 캐시 라인을 상기 제 2 프로세서로부터 상기 제 1 프로세서로 직접 전송하는 단계를 포함하는
    캐시 라인 소유권 이전 방법.
  2. 제 1 항에 있어서,
    상기 요청된 캐시 라인을 상기 제 1 프로세서가 수신했음을 확인하기 위해 상기 제 1 프로세서로부터 상기 메모리 장치로 응답 트랜잭션을 전송하는 단계를 더 포함하는
    캐시 라인 소유권 이전 방법.
  3. 제 1 항에 있어서,
    상기 제 2 프로세서가 상기 요청된 캐시 라인을 상기 제 1 프로세서로 전송했음을 확인하기 위해 상기 제 2 프로세서로부터 상기 메모리 장치로 응답 트랜잭션을 전송하는 단계를 더 포함하는
    캐시 라인 소유권 이전 방법.
  4. 제 3 항에 있어서,
    상기 제 2 프로세서로부터 상기 메모리 장치로의 상기 응답 트랜잭션은 상기 요청된 캐시 라인의 데이터의 복사본을 포함하는
    캐시 라인 소유권 이전 방법.
  5. 제 3 항에 있어서,
    상기 제 2 프로세서로부터 상기 메모리 장치로의 상기 응답 트랜잭션은, 상기 캐시 라인의 소유권에 대한 후속 요청에 응답하여 상기 제 1 프로세서로부터의 상기 캐시 라인의 소유권에 대한 요청이, 상기 제 1 프로세서가 요청된 캐시 라인 데이터를 이용가능하게 할 것이라는 보장을 포함하지 않는 경우에만, 상기 요청된 캐시 라인에 대한 데이터의 복사본을 포함하는
    캐시 라인 소유권 이전 방법.
  6. 제 1 항에 있어서,
    상기 캐시 라인의 소유권을 상기 제 1 프로세서로 이전했음을 반영하기 위해 상기 메모리 장치 내의 태그를 업데이트하는 단계를 더 포함하는
    캐시 라인 소유권 이전 방법.
  7. 삭제
  8. 디렉토리 기반 캐시 일관성 방식을 이용하여 공유 메모리 장치를 갖는 멀티프로세서 컴퓨터 시스템 내의 2개의 프로세서들 간에 캐시 라인의 소유권을 이전하는 장치로서,
    캐시 라인의 소유권에 대한 요청 트랜잭션을 제 1 프로세서로부터 상기 공유 메모리 장치에 제공하는 제 1 트랜잭션 라인과,
    상기 공유 메모리 장치에 의해 결정되는 상기 요청된 캐시 라인의 소유권을 갖는 제 2 프로세서에 리콜 트랜잭션을 제공하는 제 2 트랜잭션 라인과,
    승인되지 않은 리턴 요청이 상기 제 2 프로세서에 의해 전송되었는지에 관계없이 상기 리콜 트랜잭션에 응답하여 소유권을 가진 상기 요청된 캐시 라인을 상기 제 2 프로세서로부터 상기 제 1 프로세서로 직접 이전하는 제 3 트랜잭션 라인과,
    상기 요청된 캐시 라인의 소유권을 상기 제 1 프로세서가 수신했음을 확인하기 위해 응답 트랜잭션을 상기 제 1 프로세서로부터 상기 공유 메모리 장치에 제공하는 제 4 트랜잭션 라인을 포함하는
    캐시 라인 소유권 이전 장치.
  9. 제 8 항에 있어서,
    상기 요청된 캐시 라인을 상기 제 2 프로세서로부터 상기 제 1 프로세서로 이전했음을 확인하기 위해 상기 제 2 프로세서로부터 상기 메모리 장치에 상기 응답 트랜잭션을 제공하는 제 5 트랜잭션 라인을 더 포함하는
    캐시 라인 소유권 이전 장치.
  10. 제 8 항에 있어서,
    상기 요청된 캐시 라인에 대한 데이터의 복사본과 함께 상기 요청된 캐시 라인을 상기 제 2 프로세서로부터 상기 제 1 프로세서로 이전했음을 확인하기 위해, 상기 제 2 프로세서로부터 상기 메모리 장치에 응답 트랜잭션을 제공하는 제 5 트랜잭션 라인을 더 포함하는
    캐시 라인 소유권 이전 장치.
KR1020050002442A 2004-01-12 2005-01-11 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치 KR101087811B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/756,436 2004-01-12
US10/756,436 US7216205B2 (en) 2004-01-12 2004-01-12 Cache line ownership transfer in multi-processor computer systems

Publications (2)

Publication Number Publication Date
KR20050074310A KR20050074310A (ko) 2005-07-18
KR101087811B1 true KR101087811B1 (ko) 2011-11-29

Family

ID=34739830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050002442A KR101087811B1 (ko) 2004-01-12 2005-01-11 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치

Country Status (2)

Country Link
US (1) US7216205B2 (ko)
KR (1) KR101087811B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8010682B2 (en) * 2004-12-28 2011-08-30 International Business Machines Corporation Early coherency indication for return data in shared memory architecture
US7536514B2 (en) * 2005-09-13 2009-05-19 International Business Machines Corporation Early return indication for read exclusive requests in shared memory architecture
US20070083715A1 (en) * 2005-09-13 2007-04-12 International Business Machines Corporation Early return indication for return data prior to receiving all responses in shared memory architecture
US9497286B2 (en) 2007-07-07 2016-11-15 Qualcomm Incorporated Method and system for providing targeted information based on a user profile in a mobile environment
US9392074B2 (en) 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
US9203911B2 (en) 2007-11-14 2015-12-01 Qualcomm Incorporated Method and system for using a cache miss state match indicator to determine user suitability of targeted content messages in a mobile environment
US20090177530A1 (en) 2007-12-14 2009-07-09 Qualcomm Incorporated Near field communication transactions in a mobile environment
US10108548B2 (en) * 2014-08-19 2018-10-23 MIPS Tech, LLC Processors and methods for cache sparing stores
US11599469B1 (en) * 2022-01-07 2023-03-07 Huawei Technologies Co., Ltd. System and methods for cache coherent system using ownership-based scheme

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108764A (en) 1998-12-17 2000-08-22 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000067009A (ja) * 1998-08-20 2000-03-03 Hitachi Ltd 主記憶共有型マルチプロセッサ
US6275907B1 (en) * 1998-11-02 2001-08-14 International Business Machines Corporation Reservation management in a non-uniform memory access (NUMA) data processing system
US6381681B1 (en) * 1999-09-30 2002-04-30 Silicon Graphics, Inc. System and method for shared memory protection in a multiprocessor computer
US6374333B1 (en) * 1999-11-09 2002-04-16 International Business Machines Corporation Cache coherency protocol in which a load instruction hint bit is employed to indicate deallocation of a modified cache line supplied by intervention
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
US6829683B1 (en) * 2000-07-20 2004-12-07 Silicon Graphics, Inc. System and method for transferring ownership of data in a distributed shared memory system
US6868481B1 (en) * 2000-10-31 2005-03-15 Hewlett-Packard Development Company, L.P. Cache coherence protocol for a multiple bus multiprocessor system
US6640289B2 (en) * 2000-11-15 2003-10-28 Unisys Corporation Software controlled cache line ownership affinity enhancements in a multiprocessor environment
US6484241B2 (en) * 2000-12-28 2002-11-19 International Business Machines Corporation Multiprocessor computer system with sectored cache line system bus protocol mechanism
US6981106B1 (en) * 2002-11-26 2005-12-27 Unisys Corporation System and method for accelerating ownership within a directory-based memory system
US7249224B2 (en) * 2003-08-05 2007-07-24 Newisys, Inc. Methods and apparatus for providing early responses from a remote data cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108764A (en) 1998-12-17 2000-08-22 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention

Also Published As

Publication number Publication date
KR20050074310A (ko) 2005-07-18
US7216205B2 (en) 2007-05-08
US20050154840A1 (en) 2005-07-14

Similar Documents

Publication Publication Date Title
KR101087811B1 (ko) 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
US7469321B2 (en) Software process migration between coherency regions without cache purges
US7814279B2 (en) Low-cost cache coherency for accelerators
KR100194253B1 (ko) 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템
US7624236B2 (en) Predictive early write-back of owned cache blocks in a shared memory computer system
US8190820B2 (en) Optimizing concurrent accesses in a directory-based coherency protocol
US6330643B1 (en) Cache coherency protocols with global and local posted operations
US20050228952A1 (en) Cache coherency mechanism
KR20010101193A (ko) 판독 요청을 원격 처리 노드에 추론적으로 전송하는비정형 메모리 액세스 데이터 처리 시스템
US20050144399A1 (en) Multiprocessor system, and consistency control device and consistency control method in multiprocessor system
KR100613817B1 (ko) 분산 캐시들을 이용하기 위한 방법 및 장치
JP2000227908A (ja) 共用介入サポ―トを有する不均等メモリ・アクセス(numa)デ―タ処理システム
JP4667092B2 (ja) 情報処理装置、情報処理装置におけるデータ制御方法
US20140006716A1 (en) Data control using last accessor information
US7779210B2 (en) Avoiding snoop response dependency
US5987544A (en) System interface protocol with optional module cache
US10331373B2 (en) Migration of memory move instruction sequences between hardware threads
US6347361B1 (en) Cache coherency protocols with posted operations
JP2006079218A (ja) メモリ制御装置及び制御方法
JP3732397B2 (ja) キャッシュシステム
US10775870B2 (en) System and method for maintaining cache coherency
US10503648B2 (en) Cache to cache data transfer acceleration techniques
US11687460B2 (en) Network cache injection for coherent GPUs
US7594080B2 (en) Temporary storage of memory line while waiting for cache eviction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee