KR960032190A - Multiple processors with directory cache in memory modules - Google Patents

Multiple processors with directory cache in memory modules Download PDF

Info

Publication number
KR960032190A
KR960032190A KR1019950002102A KR19950002102A KR960032190A KR 960032190 A KR960032190 A KR 960032190A KR 1019950002102 A KR1019950002102 A KR 1019950002102A KR 19950002102 A KR19950002102 A KR 19950002102A KR 960032190 A KR960032190 A KR 960032190A
Authority
KR
South Korea
Prior art keywords
memory
memory module
block
request
directory cache
Prior art date
Application number
KR1019950002102A
Other languages
Korean (ko)
Other versions
KR0164919B1 (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 전주식
Priority to KR1019950002102A priority Critical patent/KR0164919B1/en
Publication of KR960032190A publication Critical patent/KR960032190A/en
Application granted granted Critical
Publication of KR0164919B1 publication Critical patent/KR0164919B1/en

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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Abstract

본 발명은 메모리 모듈내에 디렌토리 캐쉬를 포함하는 다중 프로세서에 관한 것으로서, 메모리 모듈내에 디렉토리 캐쉬를 포함하는 다중 프로서는 분리형 트랜잭션 프로코콜하에서 동작하는 시스템 버스, 상기 시스템 버스에 결합된 적어도 하나 이상의 메모리 모듈과, 각각 상기 시스템 버스에 결합된 다수의 프로세서 모듈을 갖는 공유 메모리 다중 프로세서에 있어서, 상기 메모리 모듈은 메모리와, 메모리보다 더 빠른 접근 시간을 제공하는 디렉토리 캐쉬를 분리하여 포함하며, 상기 메모리에 저장된 각 블록들에 대해 그 메모리 블록이 유효 한지 여부를 명시하는 상태 정보를 상기 티렉토리 캐쉬에 유지하도록 한다. 따라서 , 본 발명의 메모리 묘듈내에 디렉토리 캐쉬를 포함하는 다중 프로세서는 메모리 모듈에서의 병목 현상을 완화시키며, 빠른 메모리 접근으로 인해 쓰기-무효화 캐쉬 일관성 유지 프로토콜을 구동할 경우에 시스템의 성능을 향상시킬 수 있다.The present invention relates to a multiple processor including a directory cache in a memory module, wherein the multiple processor including a directory cache in the memory module operates under a separate transaction protocol, at least one memory module coupled to the system bus. And a plurality of processor modules each having a plurality of processor modules coupled to the system bus, wherein the memory module includes a memory and a directory cache that provides faster access time than the memory, the memory module being stored in the memory. For each block, the directory cache maintains state information that specifies whether the memory block is valid. Thus, multiple processors including directory cache in the memory module of the present invention alleviate bottlenecks in memory modules and improve system performance when running write-invalidate cache coherency protocols due to fast memory access. have.

Description

메모리 모듈내에 디렉토리 캐쉬를 포함하는 다중 프로세서Multiple processors with directory cache in memory modules

본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음Since this is an open matter, no full text was included.

제5도는 본 발명의 개선된 메모리 모듈을 포함하는 공유 메모리 다중 프로세서 시스템을 예시하는 도면.5 illustrates a shared memory multiprocessor system including an improved memory module of the present invention.

Claims (10)

분리형 트랜잭션 프로토콜(split transaction protocol)하에서 동작하는 시스템 버스(system bus), 상기 시스템 버스에 결합된 적어도 하나 이상의 메모리 모듈(memory module)과, 각각 상기 시스템 버스에 결합된 다수의 프로세서 모듈(processor module)을 갖는 공유 메모리 다중 프로세서(shared memory multiprocessor)에 있어서, 상기 메모리 모듈은 메모리와 메모리보다 더 빠른 접근시간을 제공하는 디렉토리캐쉬를 분리하여 포함하며, 상기 메모리에 저장된 각 블록들에 대해 그 메모리 블록이 유효한지 여부를 명시하는 상태 정보를 상기 디렉토리 캐쉬에 유지하는 공유 메모리 다중 프로세서.A system bus operating under a split transaction protocol, at least one memory module coupled to the system bus, and a plurality of processor modules coupled to the system bus, respectively. In a shared memory multiprocessor having a memory module, the memory module includes a memory and a directory cache that provides faster access time than the memory, and includes a memory block for each block stored in the memory. A shared memory multiprocessor that maintains state information in the directory cache that specifies whether it is valid. 제1항에 있어서, 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블록에 대한 접근 요청을 수신하였을 때 먼저 상기 디렉토리 캐쉬에 접근하여 상기 상태 정보가 상기 임의 블록이 유효함을 나타낼 때에만, 상기 메모리 접근 요청을 수행하는 공유 메모리 다중 프로세서.2. The method of claim 1, wherein upon receiving an access request for any block stored in the memory module from one of the processor modules, the directory cache is first accessed to indicate that the status information indicates that the arbitrary block is valid. And a shared memory multiprocessor for performing the memory access request. 제2항에 있어서, 상기 메모리 모듈은 상기 요청이 무효화 요청을 내포한 브로드캐스트 일기 요청일 경우 상기 디렉토리 캐쉬내의 상기 상태 정보를 상기 임의의 블록이 유효하지 않음을 나타내도록 변환하는 공유 메모리 다중 프로세서.3. The shared memory multiprocessor of claim 2, wherein the memory module converts the state information in the directory cache to indicate that any block is invalid when the request is a broadcast weather request containing an invalidation request. 제1항에 있어서, 상기 메모리 모듈은 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블록에 대한 무효화 요청을 수신하였을 때, 상기 상태 정보를 상기 임의의 블럭이 유효하지 않음을 나타내도록 변환/유지하는 공유 메모리 다중 프로세서.The memory module of claim 1, wherein when the memory module receives an invalidation request for any block stored in the memory module from one of the processor modules, the memory module converts the state information to indicate that the arbitrary block is invalid. Shared memory multiprocessor maintained. 제1항에 있어서, 상기 메모리 모듈은 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블럭 축출 요청을 수신하였을 때 , 상기 상태 정보를 상기 임의의 블럭이 유효하므로 나타내도록 변환하는 공유 메모리 다중 프로세서.The shared memory multiplex memory of claim 1, wherein the memory module converts the state information to indicate that the arbitrary block is valid when it receives an arbitrary block eviction request stored in the memory module from one of the processor modules. Processor. 분리형 트랜잭션 프로토콜하에서 동작하는 시스템 버스, 상기 시스템 버스에 결합된 다수의 메모리 모듈과, 각각 상기 시스템 버스에 결합된 다수의 프로세서 모듈을 갖는 공유 메모리 다중 프로세서에 있어서, 상기 다수의 메모리 모듈 중 적어도 하나 이상의 메모리 모듈은 메모리와 메모리보다 더 빠른 접근 시간을 제공하는 디렉토리 캐쉬를 분리하여 포함하며, 상기 메모리에 저장된 각 블럭들에 대해 그 메모리 블럭이 유효한지 여부를 명시하는 상태 정보를 상기 디렉토리 캐쉬에 유지하는 공유 메모리 다중 프로세서.A shared memory multiprocessor having a system bus operating under a separate transaction protocol, a plurality of memory modules coupled to the system bus, and a plurality of processor modules each coupled to the system bus, the shared memory multiprocessor comprising: at least one of the plurality of memory modules The memory module includes a memory and a directory cache that provides faster access time than the memory, and maintains state information in the directory cache that specifies whether the memory block is valid for each block stored in the memory. Shared memory multiprocessor. 제6항에 있어서, 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블럭에 대한 접근 요청을 수신하였을 때 먼저 상기 디렉토리 캐쉬에 접근하여 상기 상태 정보가 상기 임의 블럭이 유효함을 나타낼 때에만, 상기 메모리 접근 요청을 수행하는 공유 메모리 다중 프로세서.7. The method of claim 6, wherein upon receiving an access request for any block stored in the memory module from one of the processor modules, the directory cache is first accessed to indicate that the status information indicates that the arbitrary block is valid. And a shared memory multiprocessor for performing the memory access request. 제7항에 있어서, 상기 메모리 모듈은 상기 요청이 무효화 요청을 내포한 브로드캐스트 일기 요청일 경우 상기 디렉토리 캐쉬내의 상기 상태 정보를 상기 임의의 블록이 유효하지 않음을 나타내도록 변환하는 공유메모리 다중 프로세서.8. The shared memory multiprocessor of claim 7, wherein the memory module converts the status information in the directory cache to indicate that any block is invalid when the request is a broadcast weather request containing an invalidation request. 제6항에 있어서, 상기 메모리 모듈은 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블럭에 대한 뮤효화 요청을 수신하였을 때, 상기 상태 정보를 상기 임의의 블럭이 유효하지 않음을 나타내도록 변환/유지하는 공유 메모리 다중 프로세서.7. The memory module of claim 6, wherein when the memory module receives a muting request for any block stored in the memory module from one of the processor modules, the memory module indicates that the arbitrary block is invalid. Converted / maintained shared memory multiprocessor. 제6항에 있어서, 상기 메모리 모듈은 상기 프로세서 모듈중의 하나로부터 상기 메모리 모듈에 저장된 임의의 블록에 대한 블럭 축출 요청을 수신하였을 때 , 상기 상태 정보를 상기 임의의 블럭이 유효함을 나타내도록 변환하는 공유 메모리 다중 프로세서.The memory module of claim 6, wherein the memory module converts the state information to indicate that the arbitrary block is valid when receiving a block ejection request for any block stored in the memory module from one of the processor modules. Shared memory multiple processors. ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: The disclosure is based on the initial application.
KR1019950002102A 1995-02-07 1995-02-07 Multi-processor having directory cache in memory module KR0164919B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950002102A KR0164919B1 (en) 1995-02-07 1995-02-07 Multi-processor having directory cache in memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950002102A KR0164919B1 (en) 1995-02-07 1995-02-07 Multi-processor having directory cache in memory module

Publications (2)

Publication Number Publication Date
KR960032190A true KR960032190A (en) 1996-09-17
KR0164919B1 KR0164919B1 (en) 1999-01-15

Family

ID=19407722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950002102A KR0164919B1 (en) 1995-02-07 1995-02-07 Multi-processor having directory cache in memory module

Country Status (1)

Country Link
KR (1) KR0164919B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782592B1 (en) * 2006-08-10 2007-12-06 엠텍비젼 주식회사 Device having shared memory and method for controlling shared memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782592B1 (en) * 2006-08-10 2007-12-06 엠텍비젼 주식회사 Device having shared memory and method for controlling shared memory
WO2008018775A1 (en) * 2006-08-10 2008-02-14 Mtekvision Co., Ltd. Device having shared memory and method for controlling shared memory
US8200911B2 (en) 2006-08-10 2012-06-12 Mtekvision Co., Ltd. Device having shared memory and method for controlling shared memory

Also Published As

Publication number Publication date
KR0164919B1 (en) 1999-01-15

Similar Documents

Publication Publication Date Title
Archibald et al. An economical solution to the cache coherence problem
EP0422656B1 (en) Information processing system
US5950228A (en) Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US6651139B1 (en) Multiprocessor system
EP0438211B1 (en) Cache memory system
KR900015010A (en) Database Processing System Using Multiprocessor System
CA2291401A1 (en) Non-uniform memory access (numa) data processing system having shared intervention support
KR100234503B1 (en) Invalidation bus optimization for multiprocessors using directory-based cache coherence protocols in which an address of a line to be modified is placed on the invalidation bus simultaneously with sending a modify request to the directory
US20050160239A1 (en) Method for supporting improved burst transfers on a coherent bus
US20010010068A1 (en) State-based allocation and replacement for improved hit ratio in directory caches
CA2349569A1 (en) Non-uniform memory access (numa) data processing system that speculatively forwards a read request to a remote processing node
KR910014814A (en) Device for maintaining consistency of multiprocessing computer system using virtual cache
CA2109642A1 (en) Generalized shared memory in a cluster architecture for a computing system
CA2257309A1 (en) Internet file system
DE60042332D1 (en) MECHANISM FOR ORGANIZING TRANSACTIONS IN COMPUTER SYSTEMS WITH SNOOP-BASED CACHESCOPE COHERENCE PROTOCOLS
KR840006093A (en) Multiprocessor computer systems
KR970029141A (en) Instruction prefetch method and data processing system
CA2051209A1 (en) Consistency protocols for shared memory multiprocessors
EP0489583A2 (en) Multiple processor cache control system
US6564272B1 (en) Non-coherent cache buffer for read accesses to system memory
KR960024986A (en) Information processing device
CA2279138A1 (en) Non-uniform memory access (numa) data processing system that decreases latency by expediting rerun requests
KR960032190A (en) Multiple processors with directory cache in memory modules
CA2081913A1 (en) Method and apparatus for managing page zero memory accesses in a multi-processor system
US7516205B2 (en) System and method for concurrently decoding and transmitting a memory request

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
FPAY Annual fee payment

Payment date: 20120913

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20130903

Year of fee payment: 16

EXPY Expiration of term