KR100387576B1 - 멀티프로세서시스템의캐쉬응집프로토콜처리방법 - Google Patents

멀티프로세서시스템의캐쉬응집프로토콜처리방법 Download PDF

Info

Publication number
KR100387576B1
KR100387576B1 KR1019950067166A KR19950067166A KR100387576B1 KR 100387576 B1 KR100387576 B1 KR 100387576B1 KR 1019950067166 A KR1019950067166 A KR 1019950067166A KR 19950067166 A KR19950067166 A KR 19950067166A KR 100387576 B1 KR100387576 B1 KR 100387576B1
Authority
KR
South Korea
Prior art keywords
cache
processor
read
address
memory
Prior art date
Application number
KR1019950067166A
Other languages
English (en)
Other versions
KR970049431A (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 KR1019950067166A priority Critical patent/KR100387576B1/ko
Publication of KR970049431A publication Critical patent/KR970049431A/ko
Application granted granted Critical
Publication of KR100387576B1 publication Critical patent/KR100387576B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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) 응집 프로토콜에 관한 것으로, 프로세서가 데이타 호출시 발생하는 의사 주기(Dummy Cycle)을 제거함으로서 시스템의 실행 능력을 향상 시키고자 하는 것이다. 이와 같은 목적은 제1 프로세서에서 어드레스를 구동하여 비교기에서 캐쉬(Cache)에 프로세서가 원하는 소스가 있는지를 판단하는 제 1 과정과, 캐쉬(Cache) 히트(태그 매치)일 경우 캐쉬(Cache)에 리드(Read), 라이트(Write)하는 제 2 과정과,
캐쉬(Cache) 미스(태그 미스매치)일경우 시스템 버스를 통하여 메모리에 접근하여 메모리로부터 캐쉬(Cache)로 리드(Read), 라이트(Write)하는 과정에서 다른 프로세서가 같은 어드레스로 접근하였을 경우 스누프 콘트롤러(SC)로 제어하는 제 3 과정으로 이루어진 것을 특징으로 하는 멀티프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 처리 방법. 이루어짐으로서 달성된다.

Description

멀티프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 처리 방법
본 발명은 멀티 프로세서 시스템에서 캐쉬(Cache) 응집 프로토콜에 관한 것으로, 특히 프로세서가 데이타 호출시 발생하는 의사 주기(Dummy Cycle)를 제거함으로서 시스템의 실행 능력을 향상 시키고자 하는 멀티프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 처리방법에 관한 것이다.
종래의 멀티프로세서 시스템의 캐쉬 응집 프로토콜 수행장치는 제 1도에 도시한 바와 같이, 명령어와 데이타의 규칙적인 나열로 이루어진 프로그램을 순서에 의하여 해석하고 수행하는 프로세서(1,2)와, 중앙처리장치의 빠른 처리속도와 주기억장치의 느린 응답 속도사이에서 효율적인 동작을 위해서 두장치사이에 설치되어 중앙처리장치와 주기억 장치사이의 교류 회수를 줄여주는 캐쉬(Cache)로직(3,4)과, 캐쉬(Cache) 컨트롤러의 요청을 받아 스누프(Snoop)상태와 태그를 업데이트(Update)하거나 시스템 버스에 구동된 어드레스를 지속적으로 감시하여 필요에 따라 스누프 상태(Snoop State)를 업데이트하는 스누프 로직(Snoop Logic)(5,6)과, 각장치간에 데이타나 어드레스를 송수신하는 시스템 버스(7)로 구성되어져 있다.
이와 같이 구성된 종래의 멀티프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 수행 장치는 태그 미스(Tag Miss)로 발생되는 메인 메모리로 접근 동작에서, 가장 먼저 접근한 프로세서가 동작을 완료할때까지 캐쉬(Cache)리드(Read)/라이트(Write) 두경우 모두 시간을 보장해준다. 제 1 프로세서에서 원하는 데이타를 호출하기 위하여 캐쉬(Cache) 블럭의 어드레스로 접근한다. 리드(Read) 동작이던 라이트(Write)동작이던 캐쉬(Cache)에 그 어드레스가 존재하면 데이타를 호출해가거나 임의의 데이타를 캐쉬(Cache)에 라이트(Write) 하게 된다. 만약 캐쉬(Cache)에 그 어드레스가 존재하지 않는다면 시스템 버스를 경유하여 메인 메모리로 접근하여 그 해당영역을 우선 캐쉬(Cache)에 가져다 놓는다. 리드(Read) 동작일때는 알에프알(RFR)(Read for Read)동작으로 메모리에서 캐쉬(Cache)로 해당영역을 가져다 놓고 라이트(Write) 동작일때는 알에프더블유(RFW)(Redd For Write)동작으로 캐쉬(Cache)로 해당영역을 가져다 놓는다.
이런 동작이 진행되는 동안 다른 프로세서가 캐쉬(Cache)미스로 인하여 제 1 프로세서(1)가 진행중인 해당영역의 어드레스로 동일하게 접근하게 되면 캐쉬(Cache) 응집 프로토콜이 엉망이 되고 만다.
이런 경우를 없애기 위하여 스누프 컨트롤러(SC) 블럭이 존재하는데 알에프알(RFR), 알에프더블유(RFW)중의 어떠한 동작이 진행되고 있을때 그동작이 행하여 지는 영역의 어드레스와 동일한 어드레스가 타 프로세서에 의해 구동되면 스누프 컨트롤러(SC)에서 스낵(Snack)이라는 신호를 보내 그영역으로 접근하지 못하게하고 재시도(Retry) 하도록 한다. 재시도는 먼저 시작된 캐쉬(Cache) 동작이 끝나고 난후 시작될수 있다.
이와 같이 알에프더블유(RFW) 동작이 진행중일때 동일 어드레스로 접근하는프로세서에게 스낵(Snack)신호를 구동하는 것은 문제가 없으나, 알에프알(RFR)동작에서는 스낵(Snack)을 구동할 필요가 없다. 왜냐하면 메인 메모리에서 데이타를 읽어가는 동작이므로 타 프로세서가 같은 어드레스로 접근하였을때 스누프 컨트롤러(SC)에서 스낵 대신에 공유 신호(Shared signal)를 구동하기만 하면 시간 지연 없이 캐쉬(Cache) 동작을 완료할 수 있다. 그러나 이러한 종래기술에는 재시도라는 의사 주기(Dummy-Cycle)를 수행하므로 시스템 실행에 지장을 초래하게 되는 문제점이 있었다.
따라서 본 발명의 목적은 멀티프로세서에서 프로세서간 데이타 호출선 발생하는 의사 주기(Dummy Cycle)을 제거함으로서 시스템의 실행을 향상시키고자하는 멀티프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 방법을 제공함에 있다.
이와 같은 본 발명의 목적을 달성하기 위한 처리 방법은 제 1 프로세서에서 어드레스를 구동하여 비교기에서 캐쉬(Cache)에 프로세서가 원하는 소스가 있는지를 판단하는 제 1 과정과, 캐쉬(Cache) 히트(태그 매치)일 경우 캐쉬(Cache)에 리드(Read) 라이트(Write)하는 제 2 과정과, 캐쉬(Cache) 미스(태그 미스매치)일경우 시스템 버스를 통하여 메모리에 접근하여 메모리로부터 캐쉬(Cache)로 리드(Read), 라이트(Write)하는 과정에서 다른 프로세서가 같은 어드레스로 접근하였을 경우 스누프 콘트롤러(SC)로 제어하는 제 3 과정으로 이루어진다.
이하, 본 발명을 첨부한 도면에 의거하여 상세히 설명하면 다음과 같다.
본 발명에 의한 처리 방법을 구현하기 위한 장치의 구성은 종래의 경우와 동일하다 즉, 제 1도에 도시한 바와 같이 명령어와 데이타의 규칙적인 나열로 이루어진 프로그램 을 순서에 의해서 해석하고 수행하는 프로세서(1,2)와, 중앙처리장치의 빠른 처리속도와 주기억장치의 느린 응답 속도사이에서 효율적인 동작을 위해서 두장치사이에 설치되어 중앙처리장치와 주기억장치사이의 교류 회수를 줄여주는 캐쉬(Cache)로직(3,4)과, 캐쉬(Cache) 컨트롤러의 요청을 받아 스누프(Snoop)상태와 태그를 업데이트(Update)하거나 시스템 버스에 구동된 어드레스를 지속적으로 감시하여 필요에 따라 스누프 상태(Snoop State)를 업데이트하는 스누프 로직(Snoop Logic)(5,6)과, 각장치간에 데이타나 어드레스를 송수신하는 시스템 버스(7)로 구성되어져 있다.
이와 같이 구성된 장치와 관련된 본 발명의 작용, 효과를 제 4 도 내지 제 5 도를 참조하여 상세히 설명하면 다음과 같다. 제 1 프로세서(1)에서 어떤 데이타를 호출하기 위하여 임의의 어드레스를 구동한다. 이 구동된 어드레스가 캐쉬(Cache) 블럭에 존재하기만 하면 리드(Read) 동작이던 라이트(Write) 동작이던 관계없이 캐쉬(Cache)에서 데이타를 읽어오거나 캐쉬(Cache)에 쓰는 동작을 완료할 수 있다.
그러나 구동된 어드레스가 캐쉬(Cache) 블럭에 존재하지 않는 경우 메인 메모리에서 그 어드레스를 읽어와야 하는데 디시알큐시(DCRQC:Dual Channel Request controller)(8)를 이용해 시스템 버스(7)에 연결되므로서 메모리에 접근이 이루어 진다. 여기에서 주안점은 메모리에 접근하는 과정에서 다른 프로세서(2)가 캐쉬(Cache) 미스로 인하여 데이타 호출을 위하여 동일한 메모리의 어드레스로 접근한다면 제 1 프로세서(1)의 스누프 컨트롤러(SC)(5A)가 스낵(Snack)이라는 신호를 송출한다. 이 신호는 제 1 프로세서(1)가 캐쉬(Cache)에 라이트(Write)하는 작업을 무사히 종료시킬수 있도록 시간적인 보장을 하여준다. 다른 프로세서(2)들은 제 1 프로세서(1)의 동작이 종료될때까지 재시도(RETRY) 동작을 계속하는데 제 1 프로세서(1)의 동작이 끝나서 스낵(Snack)신호가 삭제 되어야 자신들의 동작을 시작할수 있다.
종래의 방식은 알에프알(RFR), 알에프더블유(RFW) 두경우에 모두 스낵(SNACK) 신호를 구동하는데 반하여 본 발명은 알에프더블유(RFW)에만 적용한다. 알에프더블유(RFW)인 경우는 데이타 변경이 발생되므로 스낵이 구동되지 않는다면 각 프로세서들은 같은 어드레스에 서로다른 데이타를 가지게 되기 때문이다. 그러므로 알에프더블유(RFW) 동작에는 스낵 신호(SNACK SIGNAL)가 꼭 필요하지만, 메모리에서 데이타를 리드(Read)하는 동작에서는 데이타의 불일치 현상이 발생하지 않으므로 스낵 신호를 구동하여 굳이 시간적인 보장을 받을 필요도 없고 이로 인하여 다른 프로세서들이 재시도를 계속해야하는 문제점도 가질필요가 없다. 따라서 알에프알(RFR)동작에서는 스낵(SNACK) 대신에 공유 신호(SHARED SIGNAL)를 구동한다. 재시도로 인해 발생되는 실행 지연은 대략 9~10 버스 클럭으로 대단히 큰 영향을 미친다고 할수 있다.
제 5 도를 참조하여 본 발명의 동작을 설명하면 다음과 같다. 본 발명의 제 1 과정은 제 1 프로세서(1)에서 어드레스를 구동하는 단계(S1)과 비교기에서 캐쉬(Cache)에 프로세서가 원하는 소스가 있는지를 판단하는 단계(S2)로 이루어지고, 제 2 과정은 캐쉬(Cache) 히트일 경우 리드(Read)단계인지 라이트(Write)단계인지 판단하는 단계(S3)과, 리드(Read)일경우 캐쉬(Cache)에서 데이타를 읽어들이는 단계(S4)과, 라이트(Write) 일경우 캐쉬(Cache)의 상태를 D(Dirty)로 변경하는 단계(S5)과 캐쉬(Cache)에 라이트(Write)하는 단계(S6)과, 캐쉬(Cache) 미스일 경우 시스템 버스를 통하여 메모리에 접근하는 단계(S7)로 이루어지고, 제 3 과정은 상기 단계에서 캐쉬 미스일 경우, 제 1 프로세서의 스누프 컨트롤러(SC)가 시스템 버스를 지켜보고 있다가 다른 프로세서가 데이타 호출을 위하여 구동한 어드레스가 자기가 구동한 어드레스와 동일한 경우, 스낵신호(SNACK SIGNAL)를 발생하여 다른 프로세서가 재시도(RETRY) 하도록 한다. 즉 리드(Read) 동작일 경우에는 스낵 신호(SNACK SIGNAL)를 통하여 다른 프로세서가 재시도를 하도록 하는 것이 아니라 공유신호(SHARED SIGNAL)를 발생하여 동일한 어드레스에 있는 데이타를 공유하도록 하고, 라이트(Write) 동작일 경우에만 스낵 신호(SNACK SIGNAL)를 구동하여 다른 프로세서가 재시도를 하도록 하고, 상기 프로세서의 요구가 리드(Read)동작인지 라이트(Write) 동작인지를 판단하는 단계(S8)과, 리드(Read) 동작일 경우 알에프알(RFR)동작으로 메모리에서 캐쉬(Cache)로 데이타를 가져오는 단계(S9)과, 캐쉬(Cache) 스테이트를 S,V로 변경시키는 단계(S10)과, 라이트(Write) 동작일 경우 알에프더블유(RFW) 동작으로 메모리에서 캐쉬(Cache)로 데이타를 가져오는 단계(S11)과, 캐쉬(Cache)의 스테이트를 D(Dummy)로 변경하는 단계(S12)으로 이루어진다.
이상에서와 같이 본 발명은 알에프알(RFR) 캐쉬(Cache)동작에서 임의의 스누프 컨트롤러 (SC)가 스낵 신호를 구동하여 다른 프로세서들이 동일 번지에 접근하지 못한 상태에서 재시도를 하도록 하는것은 하나의 루프에서 시간 지연을 유발하게 되는 의사 주기 (Dummy - Cycle)을 제거하므로서 시스템의 실행속도를 월등히 향상시키는 효과가 있다.
제 1 도는 종래 및 본 발명의 멀티 프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 수행의 블럭구성도
제 2 도는 종래 멀티 프로세서 시스템 캐쉬(Cache)의 라이트(Write) 동작 신호 흐름도
제 3 도는 종래 멀티 프로세서 시스템 캐쉬(Cache)의 리드(Read) 동작 신호 흐름도
제 4 도는 본 발명의 멀티 프로세서 시스템의 캐쉬(Cache) 응집 프로토콜의 상세 블럭도
제 5도는 본 발명의 멀티 프로세서 시스템의 캐쉬(Cache) 응집 프로토콜 수행의 신호 흐름도
*** 도면의 주요 부분에 대한 부호의 설명 ***
1,2 : 프로세서 3,4 : 캐쉬(Cache) 로직
5,6 ; 스누프 로직 7 : 시스템 버스
3A,4A : 캐쉬(Cache) 콘트롤러 3B,4B : 태그,스테이트,데이타
5A,6A : 스누프 콘트롤러 5B,6B : 태그,스테이트
8 : 디시알큐시(DCRQC)

Claims (3)

  1. 다수개의 프로세서를 구비한 멀티프로세서 시스템에 있어서,
    제1 프로세서에서 어드레스를 구동하여 비교기에서 캐쉬에 프로세서가 원하는 소스가 있는지를 판단하는 제1 과정과,
    캐쉬 히트일 경우 캐쉬에 리드, 라이트 동작을 수행하는 제2 과정과,
    캐쉬 미스일 경우 시스템 버스를 통하여 메모리에 접근하여 메모리로부터 캐쉬로 리드, 라이트 하는 과정에서 다른 프로세서가 같은 어드레스로 접근하였을 경우 제1 프로세서의 동작을 판단하는 제3 과정과,
    상기 제1 프로세서의 동작이 리드인지 라이트인지 여부에 따라 스누프 콘트롤러가 서로 다른 스누프 제어신호를 발생하는 제4 과정으로 이루어진 것을 특징으로 하는 멀티프로세서 시스템의 캐쉬 응집 프로토콜 처리 방법.
  2. 제1항에 있어서,
    상기 스누프 제어신호를 송출하는 과정은 제1 프로세서의 동작이 리드 동작일 경우에는 공유신호를 발생하여 다른 프로세서가 동일한 어드레스에 있는 데이터를 공유하도록 하는 것을 특징으로 하는 멀티프로세서 시스템의 캐쉬 응집 프로토콜 처리방법.
  3. 제1항에 있어서,
    상기 스누프 제어신호를 송출하는 과정은 제1 프로세서의 동작이 라이트 동작일 경우, 스낵신호를 발생하여 다른 프로세서가 재시도 동작을 하도록 하는 것을 특징으로 하는 멀티프로세서 시스템의 캐쉬 응집 프로토콜 처리방법.
KR1019950067166A 1995-12-29 1995-12-29 멀티프로세서시스템의캐쉬응집프로토콜처리방법 KR100387576B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950067166A KR100387576B1 (ko) 1995-12-29 1995-12-29 멀티프로세서시스템의캐쉬응집프로토콜처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950067166A KR100387576B1 (ko) 1995-12-29 1995-12-29 멀티프로세서시스템의캐쉬응집프로토콜처리방법

Publications (2)

Publication Number Publication Date
KR970049431A KR970049431A (ko) 1997-07-29
KR100387576B1 true KR100387576B1 (ko) 2003-09-22

Family

ID=37421722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950067166A KR100387576B1 (ko) 1995-12-29 1995-12-29 멀티프로세서시스템의캐쉬응집프로토콜처리방법

Country Status (1)

Country Link
KR (1) KR100387576B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100430561B1 (ko) * 2000-12-27 2004-05-10 주식회사 케이티 엑티브 네트워크 환경에서 웹 서버와 웹 캐쉬 서버간데이터 일치성 유지 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0396940A2 (en) * 1989-05-08 1990-11-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Cache memory and related consistency protocol
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
JPH0744458A (ja) * 1992-04-29 1995-02-14 Sun Microsyst Inc キャッシュメモリ構造およびキャッシュ・メモリを動作させる方法
KR950029941A (ko) * 1994-04-11 1995-11-24 김광호 멀티프로세서 시스템의 스누프회로

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0396940A2 (en) * 1989-05-08 1990-11-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Cache memory and related consistency protocol
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed
JPH0744458A (ja) * 1992-04-29 1995-02-14 Sun Microsyst Inc キャッシュメモリ構造およびキャッシュ・メモリを動作させる方法
KR950029941A (ko) * 1994-04-11 1995-11-24 김광호 멀티프로세서 시스템의 스누프회로

Also Published As

Publication number Publication date
KR970049431A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
EP1029280B1 (en) Cache memory operation
EP0283891B1 (en) Cache memory with hit predictive logic
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
KR100282118B1 (ko) 하이스루풋단일포트다중갱신유니트태그제어기
KR100387576B1 (ko) 멀티프로세서시스템의캐쉬응집프로토콜처리방법
KR100404374B1 (ko) 캐시 변수의 자동 갱신을 실행하는 방법 및 장치
KR100258883B1 (ko) 멀티 프로세서 시스템의 캐시 메모리 제어방법 및 장치
JPH04305746A (ja) キャッシュメモリ制御装置
JPH10222423A (ja) キャッシュメモリ制御方式
KR950003877B1 (ko) 캐쉬 업데이트(Cache Update)장치 및 방법
JPH03154139A (ja) キャッシュメモリ
KR940005780B1 (ko) 멀티프로세서 시스템에서의 캐쉬메모리 구현방법
JPH0628258A (ja) マイクロプロセッサ
JPH04291642A (ja) キャッシュ制御方式
JPH07152650A (ja) キャッシュ制御装置
JPH01128156A (ja) マルチプロセッサシステムにおけるキャッシュ制御方式
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH02307123A (ja) 計算機
JPH06124235A (ja) キャッシュ制御方式
JPH10154099A (ja) 情報処理装置
JPH04102143A (ja) メモリ装置
JPH04367044A (ja) キャッシュメモリ
JPH0528115A (ja) 協調処理型情報処理装置
JPH11306020A (ja) 情報処理装置におけるブロックストア命令の実行制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090302

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee