KR970029123A - 데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 - Google Patents
데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 Download PDFInfo
- Publication number
- KR970029123A KR970029123A KR1019960041952A KR19960041952A KR970029123A KR 970029123 A KR970029123 A KR 970029123A KR 1019960041952 A KR1019960041952 A KR 1019960041952A KR 19960041952 A KR19960041952 A KR 19960041952A KR 970029123 A KR970029123 A KR 970029123A
- Authority
- KR
- South Korea
- Prior art keywords
- specified data
- processor
- data
- copy
- exclusive
- Prior art date
Links
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/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
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)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
대칭형 멀티프로세서 시스템(symmetrical multiprocessor system : SMP)에서 크로스 바 스위치 대역폭(bandwidth of a cross bar switch)의 효과적인 이용을 증가시키는 방법 및 시스템이 제공된다. SMP는 캐쉬를 각각 갖는 다수의 프로세서(a plurality of processors), 적어도 하나의 메모리 유닛(at least one memory unit), 및 프로세서의 각각의 하나를 적어도 하나의 메모리 유닛에 접속하는 크로스 바 스위치를 포함한다. 적어도 하나의 메모리 유닛은 동일한 데이타를 저장하는 캐쉬 라인(cache lines)의 상태, 예를 들면, 배타(exclusive) 또는 공유(shared)를 유지하는 지능적 메모리 디렉토리 유닛(intelligent memory directory unit)을 포함한다. 지능적 메모리 디렉토리 유닛의 이용은 프로세서중 임의의 하나가 공유 저장(shared store) 또는 저장 미스(store miss)를 송출하는 단일 커맨드를 이용하도록 하여, 메모리 디렉토리 유닛이 어떤 커맨드가 수행되도록 의도되었는지를 결정하고 적절한 동작을 취한다. 메모리 디렉토리 유닛은 캐쉬 라인의 상태를 유지함으로써 공유 저장 요구를 송출하는 프로세서에 연관된 핑잉(pinging)을 제거하여 저장 미스 커맨드를 재송출한다.
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명이 실행되는 대칭형 멀티프로세서 시스템(SMP)(100)의 개략도.
Claims (21)
- 각각 캐쉬(a cache)를 갖는 다수의 프로세서(a plurality of processors)를 구비하는 데이타 프로세싱 시스템(a data processing system)에서, 상기 다수의 프로세서로부터 송출된 요구(requests)를 프로세스하여 데이타를 변경(modify)하는 방법에 있어서, 메모리 유닛(a memory unit)에서, 제1 및 제2캐쉬에 저장된 동일한 특정된 데이타(the same specified data)를 변경하기 위해 상기 프로세서중 제1 및 제2프로세서(a first and second processor)로부터 송출된 제1 및 제2요구(a first and second request)를 수신하는 단계와, 상기 제1프로세서에 상기 특정된 데이타르 변경하는 배타적인 권리(exclusive right)를 제공하기 위해 상기 제1요구를 프로세스하는 단계; 및 상기 제2프로세서에 상기 특정된 데이타의 유효 복사본(a valid copy) 및 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하기 위해 상기 제2요구를 프로세스하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 상기 메모리 유닛이, 상기 메모리 유닛에 저장된 데이타 복사본(copies of data)를 갖는 캐쉬 라인의 상태(the state of cache lines)를 표시하는 엔트리(entries)를 갖는 메모리 디렉토리(a memory directory)를 포함하는 데이타 프로세싱 시스템에서, 상기 제1요구를 프로세스하는 상기 단계는, 상기 특정된 데이타에 대응하는 엔트리를 상기 메모리 디렉토리에 위치시키는 단계와; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계와; 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화(invalidate)시키는 단계; 및 상기 제1프로세서에 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제2항에 있어서, 상기 제2요구를 프로세스하는 상기 단계는, 상기 메모리 디렉토리에 상기 엔트리를 위치시키는 단계와; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 단계와; 상기 특정된 데이타의 자신의 복사본을 상기 제2프로세서에 전송하도록 상기 제1프로세서를 요구하는 단계; 및 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제3항에 있어서, 상기 엔트리중 각각의 하나는 태그(a tag), 배타 비트(an exclusive bit), 및 포괄 필드(an inclusion field)를 포함하되, 상기 태그에 의해 표시된 데이타 복사본을 갖는 상기 다수의 프로세서중 하나를 나타내기 위해 상기 포괄 필드의 상기 비트중 각각의 하나가 이용되고, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계는, 상기 위치된 배타 비트가 세트되지 않았는지를 판정하는 단계; 및 세트된 상기 제1 및 제2프로세서를 나타내는 상기 포괄 필드 비트로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제4항에 있어서, 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 단계는, 상기 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제5항에 있어서, 상기 제1프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 단계는, 상기 위치된 배타 비트를 세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제6항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 상기 단계는, 세트된 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 제1캐쉬가 상기 특정된 데이타의 복사본을 갖는지를 판정하는 단계; 및 세트된 상기 위치된 배타 비트로부터 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제7항에 있어서, 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 상기 단계는, 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 제8항에 있어서, 상기 제1 및 제2요구는 정확히 동일한 커맨드(exact same command)를 상기 메모리 유닛에 송출하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
- 멀티-프로세서 시스템(a multi-processor system)에 있어서, 각각 캐쉬를 갖는 다수의 프로세서와; 상기 다수의 프로세서의 각각의 하나에 접속된 버스와; 상기 버스에 접속된 메모리 유닛으로서, 그 메모리 유닛은 데이타를 저장하는 수단과; 상기 다수의 프로세서로부터 송출된 상기 데이타를 변경할 요구를 수신하는 수단과; 상기 데이타의 복사본을 갖는 상기 캐쉬를 표시하고, 상기 캐쉬중 임의의 하나가 상기 데이타를 변경할 배타적인 권리를 갖는지의 여부를 표시하는 디렉토리 수단(directory means)과; 상기 디렉토리 수단을 이용하여 상기 요구를 프로세스하는 수단을 구비하는 상기 메모리 유닛을 포함하는 데이타 프로세싱 시스템.
- 제10항에 있어서, 상기 수신하는 수단은 상기 제1 및 제2캐쉬에 저장된 동일하게 특정된 데이타를 변경하기 위해 상기 프로세서중 제1 및 제2프로세서로부터 송출된 제1 및 제2요구를 제각기 수신하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제11항에 있어서, 상기 프로세싱 수단은 상기 제1프로세서에 상기 특정된 데이타를 변경하기 위해 배타적인 권리를 제공하기 위해 상기 제1요구를 프로세스하는 수단; 및 상기 제2프로세서에 상기 특정된 데이타의 유효 복사본 및 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하기 위해 상기 제2요구를 프로세스하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제12항에 있어서, 상기 디렉토리 수단은, 상기 메모리 유닛에 저장된 데이타 복사본을 갖는 캐쉬 라인 상태를 표시하는 엔트리를 갖는 메모리 디렉토리를 포함하는 데이타 프로세싱 시스템.
- 제13항에 있어서, 상기 제1요구를 프로세스하는 수단은, 상기 특정된 데이타에 대응하는 엔트리를 상기 메모리 디렉토리에 위치시키는 수단과; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단과; 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 수단; 및 상기 제1프로세서에 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제15항에 있어서, 상기 제2요구를 프로세스하는 수단은, 상기 메모리 디렉토리에 상기 엔트리를 위치시키는 수단과, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 수단과; 상기 특정된 데이타의 자신의 복사본을 상기 제2프로세서에 전송하도록 상기 제1프로세서에 요구하는 수단; 및 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하여 수단을 포함하는 데이타 프로세싱 시스템.
- 제15항에 있어서, 상기 엔트리중 각각의 하나는, 태그와; 배타 비트; 및 포괄 필드를 포함하되, 상기 다수의 프로세서중 하나를 나타내기 위해 상기 포괄 필드의 상기 비트중 각각의 하나가 이용되는 데이타 프로세싱 시스템.
- 제16항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단과, 상기 위치된 배타 비트가 세트되었는지를 판정하는 수단; 및 세트된 상기 제1 및 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제17항에 있어서, 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 수단은, 상기 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제18항에 있어서, 상기 제1프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 수단은, 상기 위치된 배타 비트를 세팅하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제19항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 상기 수단은, 세트된 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 제1캐쉬가 상기 특정된 데이타의 복사본을 갖는지를 판정하는 수단; 및 세트된 상기 위치된 배타 비트로부터 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 수단을 포함하는 데이타 프로세싱 시스템.
- 제20항에 있어서, 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 상기 수단은, 상기 제1프로세서를 나타내는 상기 위치된 포괄적인 필드 비트를 리세팅하는 수단을 포함하는 데이타 프로세싱 시스템.※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55401695A | 1995-11-06 | 1995-11-06 | |
US08/554,016 | 1995-11-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR970029123A true KR970029123A (ko) | 1997-06-26 |
Family
ID=24211713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960041952A KR970029123A (ko) | 1995-11-06 | 1996-09-24 | 데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0772128A1 (ko) |
JP (1) | JPH09160892A (ko) |
KR (1) | KR970029123A (ko) |
TW (1) | TW469376B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881803B1 (ko) * | 2006-03-29 | 2009-02-03 | 닛본 덴끼 가부시끼가이샤 | 기억 장치, 데이터 배치 방법 및 프로그램 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814279B2 (en) * | 2006-03-23 | 2010-10-12 | International Business Machines Corporation | Low-cost cache coherency for accelerators |
JP6213345B2 (ja) * | 2014-03-31 | 2017-10-18 | 富士通株式会社 | 転送装置、決定方法、及びデータ処理装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
-
1996
- 1996-03-04 TW TW085102616A patent/TW469376B/zh not_active IP Right Cessation
- 1996-08-27 JP JP8225595A patent/JPH09160892A/ja active Pending
- 1996-09-24 KR KR1019960041952A patent/KR970029123A/ko not_active Application Discontinuation
- 1996-10-15 EP EP96307490A patent/EP0772128A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881803B1 (ko) * | 2006-03-29 | 2009-02-03 | 닛본 덴끼 가부시끼가이샤 | 기억 장치, 데이터 배치 방법 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
EP0772128A1 (en) | 1997-05-07 |
JPH09160892A (ja) | 1997-06-20 |
TW469376B (en) | 2001-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100194253B1 (ko) | 메시 데이터 코히어런시 프로토콜 이용 방법 및 멀티프로세서 시스템 | |
US8281079B2 (en) | Multi-processor system receiving input from a pre-fetch buffer | |
US6529968B1 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
JP3700787B2 (ja) | セマフォ・バイパス法 | |
US5995967A (en) | Forming linked lists using content addressable memory | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
US6438660B1 (en) | Method and apparatus for collapsing writebacks to a memory for resource efficiency | |
US7284097B2 (en) | Modified-invalid cache state to reduce cache-to-cache data transfer operations for speculatively-issued full cache line writes | |
US20070204111A1 (en) | Method and apparatus for reducing memory latency in a cache coherent multi-node architecture | |
US6098156A (en) | Method and system for rapid line ownership transfer for multiprocessor updates | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
KR930016891A (ko) | 캐쉬 제어기 | |
GB2439650A (en) | Snoop filter that maintains data coherency information for caches in a multi-processor system by storing the exclusive ownership state of the data | |
WO2002054250A2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US20100287342A1 (en) | Processing of coherent and incoherent accesses at a uniform cache | |
US6360301B1 (en) | Coherency protocol for computer cache | |
KR101087811B1 (ko) | 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치 | |
KR970016951A (ko) | 디렉토리 기반의 캐시 코히어런스 프로토콜을 사용하는 멀티프로세서에서의 무효화 버스 최적화 | |
US6076147A (en) | Non-inclusive cache system using pipelined snoop bus | |
US6134635A (en) | Method and apparatus of resolving a deadlock by collapsing writebacks to a memory | |
US9442856B2 (en) | Data processing apparatus and method for handling performance of a cache maintenance operation | |
KR970029123A (ko) | 데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 | |
KR102069696B1 (ko) | 캐시 제어 장치 및 방법 | |
US7328313B2 (en) | Methods to perform cache coherency in multiprocessor system using reserve signals and control bits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |