KR970029123A - 데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 - Google Patents

데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 Download PDF

Info

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
Application number
KR1019960041952A
Other languages
English (en)
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 KR970029123A publication Critical patent/KR970029123A/ko

Links

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/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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)

  1. 각각 캐쉬(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요구를 프로세스하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  2. 상기 메모리 유닛이, 상기 메모리 유닛에 저장된 데이타 복사본(copies of data)를 갖는 캐쉬 라인의 상태(the state of cache lines)를 표시하는 엔트리(entries)를 갖는 메모리 디렉토리(a memory directory)를 포함하는 데이타 프로세싱 시스템에서, 상기 제1요구를 프로세스하는 상기 단계는, 상기 특정된 데이타에 대응하는 엔트리를 상기 메모리 디렉토리에 위치시키는 단계와; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계와; 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화(invalidate)시키는 단계; 및 상기 제1프로세서에 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  3. 제2항에 있어서, 상기 제2요구를 프로세스하는 상기 단계는, 상기 메모리 디렉토리에 상기 엔트리를 위치시키는 단계와; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 단계와; 상기 특정된 데이타의 자신의 복사본을 상기 제2프로세서에 전송하도록 상기 제1프로세서를 요구하는 단계; 및 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  4. 제3항에 있어서, 상기 엔트리중 각각의 하나는 태그(a tag), 배타 비트(an exclusive bit), 및 포괄 필드(an inclusion field)를 포함하되, 상기 태그에 의해 표시된 데이타 복사본을 갖는 상기 다수의 프로세서중 하나를 나타내기 위해 상기 포괄 필드의 상기 비트중 각각의 하나가 이용되고, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계는, 상기 위치된 배타 비트가 세트되지 않았는지를 판정하는 단계; 및 세트된 상기 제1 및 제2프로세서를 나타내는 상기 포괄 필드 비트로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  5. 제4항에 있어서, 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 단계는, 상기 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  6. 제5항에 있어서, 상기 제1프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 단계는, 상기 위치된 배타 비트를 세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  7. 제6항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 상기 단계는, 세트된 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 제1캐쉬가 상기 특정된 데이타의 복사본을 갖는지를 판정하는 단계; 및 세트된 상기 위치된 배타 비트로부터 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  8. 제7항에 있어서, 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 상기 단계는, 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 단계를 포함하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  9. 제8항에 있어서, 상기 제1 및 제2요구는 정확히 동일한 커맨드(exact same command)를 상기 메모리 유닛에 송출하는 데이타 프로세싱 시스템에서 데이타를 변경하는 방법.
  10. 멀티-프로세서 시스템(a multi-processor system)에 있어서, 각각 캐쉬를 갖는 다수의 프로세서와; 상기 다수의 프로세서의 각각의 하나에 접속된 버스와; 상기 버스에 접속된 메모리 유닛으로서, 그 메모리 유닛은 데이타를 저장하는 수단과; 상기 다수의 프로세서로부터 송출된 상기 데이타를 변경할 요구를 수신하는 수단과; 상기 데이타의 복사본을 갖는 상기 캐쉬를 표시하고, 상기 캐쉬중 임의의 하나가 상기 데이타를 변경할 배타적인 권리를 갖는지의 여부를 표시하는 디렉토리 수단(directory means)과; 상기 디렉토리 수단을 이용하여 상기 요구를 프로세스하는 수단을 구비하는 상기 메모리 유닛을 포함하는 데이타 프로세싱 시스템.
  11. 제10항에 있어서, 상기 수신하는 수단은 상기 제1 및 제2캐쉬에 저장된 동일하게 특정된 데이타를 변경하기 위해 상기 프로세서중 제1 및 제2프로세서로부터 송출된 제1 및 제2요구를 제각기 수신하는 수단을 포함하는 데이타 프로세싱 시스템.
  12. 제11항에 있어서, 상기 프로세싱 수단은 상기 제1프로세서에 상기 특정된 데이타를 변경하기 위해 배타적인 권리를 제공하기 위해 상기 제1요구를 프로세스하는 수단; 및 상기 제2프로세서에 상기 특정된 데이타의 유효 복사본 및 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하기 위해 상기 제2요구를 프로세스하는 수단을 포함하는 데이타 프로세싱 시스템.
  13. 제12항에 있어서, 상기 디렉토리 수단은, 상기 메모리 유닛에 저장된 데이타 복사본을 갖는 캐쉬 라인 상태를 표시하는 엔트리를 갖는 메모리 디렉토리를 포함하는 데이타 프로세싱 시스템.
  14. 제13항에 있어서, 상기 제1요구를 프로세스하는 수단은, 상기 특정된 데이타에 대응하는 엔트리를 상기 메모리 디렉토리에 위치시키는 수단과; 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단과; 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 수단; 및 상기 제1프로세서에 상기 특정된 데이타를 변경하는 상기 배타적인 권리를 제공하는 수단을 포함하는 데이타 프로세싱 시스템.
  15. 제15항에 있어서, 상기 제2요구를 프로세스하는 수단은, 상기 메모리 디렉토리에 상기 엔트리를 위치시키는 수단과, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 수단과; 상기 특정된 데이타의 자신의 복사본을 상기 제2프로세서에 전송하도록 상기 제1프로세서에 요구하는 수단; 및 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하여 수단을 포함하는 데이타 프로세싱 시스템.
  16. 제15항에 있어서, 상기 엔트리중 각각의 하나는, 태그와; 배타 비트; 및 포괄 필드를 포함하되, 상기 다수의 프로세서중 하나를 나타내기 위해 상기 포괄 필드의 상기 비트중 각각의 하나가 이용되는 데이타 프로세싱 시스템.
  17. 제16항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단과, 상기 위치된 배타 비트가 세트되었는지를 판정하는 수단; 및 세트된 상기 제1 및 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 특정된 데이타의 복사본이 상기 제1 및 제2캐쉬에 상주하는지를 판정하는 수단을 포함하는 데이타 프로세싱 시스템.
  18. 제17항에 있어서, 상기 특정된 데이타의 상기 복사본을 상기 제2캐쉬내에서 무효화시키는 수단은, 상기 제2프로세서를 나타내는 상기 위치된 포괄 필드 비트를 리세팅하는 수단을 포함하는 데이타 프로세싱 시스템.
  19. 제18항에 있어서, 상기 제1프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 수단은, 상기 위치된 배타 비트를 세팅하는 수단을 포함하는 데이타 프로세싱 시스템.
  20. 제19항에 있어서, 상기 위치된 엔트리로부터 상기 특정된 데이타의 복사본이 상기 제1캐쉬에 상주하는지, 그리고 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 상기 수단은, 세트된 상기 제1프로세서를 나타내는 상기 위치된 포괄 필드 비트로부터 상기 제1캐쉬가 상기 특정된 데이타의 복사본을 갖는지를 판정하는 수단; 및 세트된 상기 위치된 배타 비트로부터 상기 제1프로세서가 상기 특정된 데이타를 변경할 배타적인 권리를 갖는지를 판정하는 수단을 포함하는 데이타 프로세싱 시스템.
  21. 제20항에 있어서, 상기 제2프로세서에 상기 특정된 데이타를 변경하는 배타적인 권리를 제공하는 상기 수단은, 상기 제1프로세서를 나타내는 상기 위치된 포괄적인 필드 비트를 리세팅하는 수단을 포함하는 데이타 프로세싱 시스템.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960041952A 1995-11-06 1996-09-24 데이타 프로세싱 시스템에서 데이타를 변경하는 방법 및 데이타 프로세싱 시스템 KR970029123A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881803B1 (ko) * 2006-03-29 2009-02-03 닛본 덴끼 가부시끼가이샤 기억 장치, 데이터 배치 방법 및 프로그램

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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