KR0152398B1 - 다중 캐시 시스템에서 지연 스누우핑 장치 - Google Patents

다중 캐시 시스템에서 지연 스누우핑 장치

Info

Publication number
KR0152398B1
KR0152398B1 KR1019950024204A KR19950024204A KR0152398B1 KR 0152398 B1 KR0152398 B1 KR 0152398B1 KR 1019950024204 A KR1019950024204 A KR 1019950024204A KR 19950024204 A KR19950024204 A KR 19950024204A KR 0152398 B1 KR0152398 B1 KR 0152398B1
Authority
KR
South Korea
Prior art keywords
state
snooping
delay
cache
address information
Prior art date
Application number
KR1019950024204A
Other languages
English (en)
Other versions
KR970012160A (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 양승택
Priority to KR1019950024204A priority Critical patent/KR0152398B1/ko
Publication of KR970012160A publication Critical patent/KR970012160A/ko
Application granted granted Critical
Publication of KR0152398B1 publication Critical patent/KR0152398B1/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
    • 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/0893Caches characterised by their organisation or structure

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

본 발명은 다중 캐시를 갖는 다중처리 또는 병렬처리 시스템에서 캐시간 데이터 동일성(Cache Coherency)문제를 효과적으로 해결하기 위하여 스누우핑 방식을 사용할 때 수누우프에서 상태 변경을 시스템 버스의 주소 응답 사이클 이후로 지연시켜 시스템 버스를 통한 재전송 부담을 저감하고 불필요한 캐시 상태 천이를 방지하도록 한 다중 캐시 시스템에서 지연 스누우핑 장치에 관한 것이다.
이러한 본 발명은 지연 스누우핑 중인 주소 정보를 일시 저장하는 지연 버퍼와, 지연 버퍼에 저장된 주소 정보와 연결 매체에서 요구되는 주소 정보를 비교하는 비교기와, 스누우핑이 필요할 때 상태 메모리의 상태를 검사하여 상태 분석기 및 제어기에 전달하고 상태 변경을 위한 주소를 생성하는 주소 발생기와, 비교기의 출력값을 검색하고 주소 발생기에서 출력되는 상태 메모리의 상태값에 따라 지연 스누우핑이 이루어지도록 스누우핑 동작을 제어하는 상태 분석기 및 제어기를 구비하여, 수누우프에서 상태 변경을 시스템 버스의 주소 응답 사이클 이후로 지연시켜 시스템 버스를 통한 재전송부담을 저감하고 불필요한 캐시 상태 천이를 방지하게 되는 것이다.

Description

다중 캐시시스템에서 지연 스누우핑(Snooping)장치(Device for delayed snooping on a multi-cache system)
제 1 도는 일반적인 다중 캐시 시스템 블럭 구성도.
제 2 도는 종래 스누우핑 시기를 설명하기 위한 설명도.
제 3 도는 본 발명에 의한 다중 캐시 시스템에서 지연 스누우핑 장치 블럭구성도.
제 4 도는 본 발명에서 지연 스누우핑 시기를 설명하기 위한 설명도.
* 도면의 주요 부분에 대한 부호의 설명
13 : 지연 버퍼 14 : 주소 발생기
15 : 상태 메모리 16 : 비교기
17 : 상태 분석기 및 제어기 18 : 연결 매체(시스템 버스)
본 발명은 다중 캐시 시스템에서 지연 스누우핑(Snooping)에 관한 것으로, 특히 다중 캐시를 갖는 다중처리 또는 병렬처리 시스템에서 캐시간 데이터동일성(Cache Coherency)문제를 효과적으로 해결하기 위하여 스누우핑 방식을 사용할 때 스누우프에서 상태 변경을 시스템 버스의 주소 응답 사이클 이후로 지연시켜 시스템 버스를 통한 재전송 부담을 저감하고 불필요한 캐시 상태 천이를 방지하도록 한 다중 캐시 시스템에서 지연 스누우핑 장치에 관한 것이다.
일반적으로, 컴퓨터 시스템의 속도는 프로세서 속도, 연결 매체 속도 및 기억장치 접근 속도에 의하여 결정된다.
따라서 많은 시스템에서 기억장치 접근 속도를 줄이기 위한 방법으로 캐시 메모리를 채용하고 있으며, 특히 다수의 프로세서를 지원하는 다중처리 또는 병렬처리 시스템에서는 하나 이상의 캐시 메모리가 존재하게 되며 이들간 데이터 동일성 유지를 효과적으로 유지하기 위하여 스누우핑 방법이 널리 사용되고 있다.
제 1 도는 다수의 프로세서를 갖는 일반적인 다중 캐시 시스템의 블럭 구성도이다.
도시된 바와 같이, 다수의 프로세서(la-ln), 주기억장치(4a-4m)에 상기 다수의 프로세서(la-ln)에서 얻어지는 데이터를 연결 메체인 시스템 버스(3)를 통해 주기억장치(4a-4m)로 전송하거나, 주기억장치(4a-4m)로 전송하거나, 주기억장치(4a-4m)에 저장된 데이터를 인출하여 상기한 다수의 프로세서(la-ln)중 데이터를 요구한 프로세서로 전달하는 연결 매체인 시스템 버스(3)와, 주기억장치(4a-4m)에 대한 접근시간 완충을 위한 캐시 메모리(2a-2n)로 구성 되었다.
이와 같이 구성된 일반적인 다중 캐시 시스템의 동작을 설명하면 다음과 같다.
프로세서(la-ln)가 기억장치로부터 데이터를 읽거나 기억장치로 쓰려고할 경우, 먼저 프로세서와 연결된 캐시 메모리(2a-2n)의 상태를 알아야 한다.
즉, 캐시 메모리에 해당하는 주소를 갖는 데이터가 있으면 캐시 메모리 접근만으로 기억장치 요구가 종료될 수 있으나 그렇지 못한 경우에는 다시 주 기억장치(4a-4m)에 대한 요구를 연결 매체인 시스템 버스(3)를 통해 발생시킨다.
주기억장치 접근을 마칠 때 캐시 메모리 내용도 갱신하여 다음에 같은 주소 영역, 데이터에 대한 요구가 있을 때 주기억장치 까지 접근하는 부담을 줄이도록 한다.
이때, 다수의 프로세서들이 기억 공간을 공유하므로 같은 주기억장치 데이터가 여러 프로세서의 캐시 메모리에 저장되는 경우가 발생한다.
이들은 같은 데이터이므로 항상 동일성이 유지되어야 한다.
프로세서는 다른 프로세서의 캐시 메모리를 직접 접근할 수 없으므로 캐시 메모리간 동일성 유지를 위한 부가 기능이 필요하다.
즉, 한 캐시 메모리 내용이 주기억장치로 부터 읽은 값으로 갱신될 때는 공유하는 연결 매체(3)에 그 요구 내용이 나타나므로 이를 이용하여 모든 캐시메모리가 연결 매체를 감시(스누우핑)할 수 있는 기능을 가짐으로서 데이터 갱신을 알고 동일성이 유지되도록 자신이 갖고 있는 데이터 상태를 변경시킬 수 있다.
이와 같이 동작되는 일반적인 다중 캐시 시스템에서 연결 매체(3)가 동기식 시스템 버스인 경우 종래 스누우핑 동작을 제2도에 나타내었다.
제 2 도에서 주소 정보가 나타난 후(5) 다음 단계(6)에서 주기억장치와 다른 캐시 메모리들이 해당 주소 정보를 분석하여 자신이 취할 동작을 결정한다.
주기억장치는 그 다음 단계에서(7) 주소 정보가 나타난 단계(5)의 주소 정보에 대한 응답 신호를 구동하여 요구한 프로세서에게 프로세서의 요구가 처리될 것인지 여부를 알린다.
이때 다른 캐시 메모리들도 자신의 상태를 보아 해당 주소 정보(5)를 재 시도시킬 필요가 있다고 판단되면 필요한 신호를 구동한다.
그러나 이러한 종래의 스누우핑 방법은 제2도와 같은 경우 기억장치 응답을 검사하지 않고 캐시 메모리가 응답을 해야 하므로 기억장치에서 응답할 수 없는 경우에도 캐시 메모리는 상태를 변경할 수 있는 불합리한 문제점이 있었다.
예를 들어, 캐시 메모리 A가 배타적으로 데이터를 가지고 있는 상황에서 다른 프로세서가 해당 데이터에 대한 읽기 요구를 주기억장치로 보내면 캐시메모리A는 데이터 공유 상태가 됨으로 자신의 상태를 공유 상태로 바꾸고 요구한 프로세서에게도 해당 데이터를 읽은 후 공유 상태로 표시 해야 함을 캐시 메모리 응답 단계(8)에서 통보한다.
이때 주기억장치가 비지(Busy)상태이거나 주소 정보 수신시 오류로 인하여 정상 응답을 할 수 없는 상태라면 주기억장치는 캐시 메모리 동작과 관계없이 해당 요구를 거부하고 재 시도할 것을 프로세서에게 기억장치 응답단계(7)에서 통보한다.
결국 캐시 메모리 A는 실제로는 데이터를 배타적으로 유지하고 있으면서 상태는 공유 상태로 표시한 것이 되고, 이때 캐시 메모리 A가 해당 데이터를 변경하고자 하면 정상 공유 상태에서와 같이 일단 다른 캐시 메모리의 데이터를 연결매체를 통하여 무효화 시킨 후 변경하게 된다.
즉, 이때 발생한 무효화 동작은 불필요한 동작이 되어 귀중한 공유 자원인 연결 매체 성능을 낭비시키는 문제점이 있으며, 캐시 메모리A의 응답 성능도 저하시키게 되는 문제가 있다.
특히 위와 같이 불필요한 공유 상태로 천이하는 것이 이전 상태가 데이터 변경 상태(modified))였다면 변경된 유일한 최신 데이터값을 보존할 수 없는 상황이 발생할 수 있으므로 치명적 오류가 발생할 수도 있다.
따라서 본 발명은 상기와 같은 종해 기술의 제반 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 다중 캐시를 갖는 다중처리 또는 병렬처리 시스템에서 캐시간 데이터 동일성(Cache Coherency)문제를 효과적으로 해결하기 위하여 스누우핑 방식을 사용할 때 스누우프에서 상태 변경을 시스템 버스의 주소 응답 사이클 이후로 지연시켜 시스템 버스를 통한 재전송 부담을 저감하고 불필요한 캐시 상태 천이를 방지하도록 다중 캐시 시스템에서 지연 스누우핑 장치를 제공하는데 있다.
이러한 본 발명의 목적을 달성하기 위한 기술적 수단은 지연 스누우핑 중인 주소 정보를 일시 저장하고 선입 선출하는 지연 버퍼와, 상기 지연 버퍼에서 출력되는 주소 정보와 연결 매체를 통해 수신되는 주소 정보를 비교하고 그 결과값을 출력하는 비교기와, 캐시 메모리의 상태를 저장하는 상태 메모리와, 스누우핑이 필요할 때 상기 상태 메모리의 상태를 검사하여 상태 분석기 및 제어기에 전달하고 상태 변경을 위한 주소를 생성하는 주소 발생기와, 상기 비교기의 출력값을 검색하여 지연 버퍼에 저장된 주소 정보와 연결 매체에서 요구되는 주소 정보가 다를 경우 상기 주소 발생기에서 출력되는 상태 메모리의 상태값에 따라 지연 스누우핑이 이루어지도록 스누우핑 동작을 제어하는 상태 분석기 및 제어기로 이루어진다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면에 의거 설명하면 다음과 같다.
제3도는 본 발명에 의한 다중 캐시 시스템에서 지연 스누우핑 장치 블럭 구성도 이다.
도시된 바와 같이, 상태 메모리(15)는 캐시 메로리의 상태를 저장하며, 주소발생기(14)는 스누우핑이 필요할 때 해당 상태를 검사하고 필요한 경우에는 주소를 생성하고 유지하며, 상태 분석기 및 제어기(17)는 스누우핑을 위한 상태 분석을 하며 스누우핑 장치 전체동작을 제어한다.
또한, 연결 메체(18)를 통해 제어신호를 구동하거나 수신하기도 한다.
지연 스누우핑을 위한 지연 동작도 상태 메모리(15) 내용, 연결 매체(18)로부터 받은 주소 정보, 지연 버퍼(13)의 내용들을 종합하여 상태 분석기 및 제어기(17)에서 수행한다.
이와 같은 구성을 갖는 본 발명에 의한 다중 캐시 시스템에서 지연 스누우핑 장치의 작용 및 효과를 첨부한 도면 제4도를 참조하여 설명하면 다음과 같다.
지연 스누우핑 중인 주소 정보는 선입 선출 방식인 지연 버퍼(13)에 저장되며 연속되는 연결 매체(18)상의 요구는 일단 주소 정보를 수신한 후 지연버퍼(13)의 내용과 비교기(16)에서 비교하여 같을 경우에만 해당 요구를 재시도 시킨다.
비교기(16)에서 비교한 결과 다른 주소 영역에 대한 요구일 경우 상태 분석기 및 제어기(17)와 주소 발생기(14)를 통하여 상태 메모리(15)를 읽어 스누우핑을 수행하도록 한다.
같은 주소에 대한 요구가 연결 메체(18)상에 연속해서 요구되는 경우는 보통 상황에서 거의 없다고 보아야 하므로 제4도와 같은 구조를 갖는 지연 스누우핑 기능을 구현함으로써 불 필요한 상태 천이로 인한 문제와 캐시 메모리 응답 지연으로 인한 문제를 해소할 수 있다.
또한, 캐시 구조 및 캐시 동일성 유지 방식에 따라서 캐시 메모리 응답 단계(8)에서 데이터 동일성 유지를 위한 되쓰기(copy-back)동작이 필요한 경우가 있다.
이때는 기억장치 응답 결과와 관계없이 되쓰기를 요구할 수 있으므로 스누우핑 지연으로 한 단계만큼 대기할 필요가 없다.
이와 같은 상황 상태 분석기 및 제어기(17)가 판단하는 문제이므로 지연 스누우핑을 하지않고 바로 되쓰기를 요구할 수 있다.
즉, 되쓰기가 필요한 경우 지연 스누우핑을 하지 않도록 하여 연결 매체(18)의 성능을 최대로 활용하도록 한다.
이상에서와 같이 본 발명은 스누우핑시 주기억장치의 응답을 기다린 후 스누우핑 상태를 변경함으로써 불필요한 상태 변화를 방지 할 수 있는 효과가 있다.
또한 주소 정보를 지연 버퍼에 저장하고 연속되는 연결 매체상의 요구에 대해 주소 정보 비교를 통해 같은 주소 영역에 대한 요구인 경우에만 재시도 시킴으로서 불필요한 재시도를 방지할 수 있는 효과도 있다.

Claims (1)

  1. 지연 스누우핑 중인 주소 정보를 일시 저장하고 선입 선출하는 지연 버퍼와, 상기 지연 버퍼에서 출력되는 주소 정보와 연결 매체를 통해 수신되는 주소 정보를 비교하고 그 결과값을 출력하는 비교기와, 캐시 메모리의 상태를 저장하는 상태 메모리와, 스누우핑이 필요할 때 상기 상태 메모리의 상태를 검사하여 상태 분석기 및 제어기에 전달하고 상태 변경을 위한 주소를 생성하는 주소 발생기와, 상기 비교기의 출력값을 검색하여 지연 버퍼에 저장된 주소 정보와 연결 매체에서 요구되는 주소 정보가 다를 경우 상기 주소 발생기에서 출력되는 상태 메모리의 상태값에 따라 지연 스누우핑이 이루어지도록 스누우핑 동작을 제어하는 상태 분석기 및 제어기로 구성된 것을 특징으로 하는 다중 캐시 시스템에서 지연 스누우핑 장치.
KR1019950024204A 1995-08-05 1995-08-05 다중 캐시 시스템에서 지연 스누우핑 장치 KR0152398B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950024204A KR0152398B1 (ko) 1995-08-05 1995-08-05 다중 캐시 시스템에서 지연 스누우핑 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950024204A KR0152398B1 (ko) 1995-08-05 1995-08-05 다중 캐시 시스템에서 지연 스누우핑 장치

Publications (2)

Publication Number Publication Date
KR970012160A KR970012160A (ko) 1997-03-29
KR0152398B1 true KR0152398B1 (ko) 1998-10-15

Family

ID=19422941

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950024204A KR0152398B1 (ko) 1995-08-05 1995-08-05 다중 캐시 시스템에서 지연 스누우핑 장치

Country Status (1)

Country Link
KR (1) KR0152398B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433511B1 (ko) * 1996-12-30 2005-05-09 삼성전자주식회사 캐시일관성유지를위한스누핑장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433511B1 (ko) * 1996-12-30 2005-05-09 삼성전자주식회사 캐시일관성유지를위한스누핑장치

Also Published As

Publication number Publication date
KR970012160A (ko) 1997-03-29

Similar Documents

Publication Publication Date Title
US5659710A (en) Cache coherency method and system employing serially encoded snoop responses
US5740400A (en) Reducing cache snooping overhead in a multilevel cache system with multiple bus masters and a shared level two cache by using an inclusion field
KR100567099B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-저장촉진 방법 및 장치
KR100318789B1 (ko) 멀티프로세서 데이타 처리 시스템에서의 캐쉬를 관리하는시스템과 방법
EP0434250B1 (en) Apparatus and method for reducing interference in two-level cache memories
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
KR100704089B1 (ko) L2 디렉토리를 이용한 멀티프로세서 시스템의 가-로드촉진 방법 및 장치
US5745730A (en) Apparatus and methods for implementing dedicated cache flushing
US8423720B2 (en) Computer system, method, cache controller and computer program for caching I/O requests
US20020199079A1 (en) Method to prefetch data from system memory using a bus interface unit
US20050144399A1 (en) Multiprocessor system, and consistency control device and consistency control method in multiprocessor system
US20060212652A1 (en) Information processing device and data control method in information processing device
US5594887A (en) Main memory controller responsive to signals indicative of owned and unowned status
KR0152398B1 (ko) 다중 캐시 시스템에서 지연 스누우핑 장치
US5699552A (en) System for improved processor throughput with enhanced cache utilization using specialized interleaving operations
JPH10105461A (ja) 処理装置及びルックアサイド・キャッシュをスヌープする改善された装置及び方法
EP0437712B1 (en) Tandem cache memory
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
JPH04305746A (ja) キャッシュメモリ制御装置
JPH03230238A (ja) キャッシュメモリ制御方式
JPH0744459A (ja) キャッシュ制御方法およびキャッシュ制御装置
JP3162459B2 (ja) データ処理装置
JPH10222423A (ja) キャッシュメモリ制御方式
KR100258026B1 (ko) 다중 프로세서 시스템의 트랜잭션 제어방법 및 장치
KR960015584B1 (ko) 다중프로세서의 캐시메모리 필터링방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080530

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee