KR920009442B1 - 스누우프 제어기의 콘트롤러 - Google Patents

스누우프 제어기의 콘트롤러 Download PDF

Info

Publication number
KR920009442B1
KR920009442B1 KR1019900021864A KR900021864A KR920009442B1 KR 920009442 B1 KR920009442 B1 KR 920009442B1 KR 1019900021864 A KR1019900021864 A KR 1019900021864A KR 900021864 A KR900021864 A KR 900021864A KR 920009442 B1 KR920009442 B1 KR 920009442B1
Authority
KR
South Korea
Prior art keywords
signal
address
bus
memory
signals
Prior art date
Application number
KR1019900021864A
Other languages
English (en)
Other versions
KR920013140A (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 KR1019900021864A priority Critical patent/KR920009442B1/ko
Publication of KR920013140A publication Critical patent/KR920013140A/ko
Application granted granted Critical
Publication of KR920009442B1 publication Critical patent/KR920009442B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

내용 없음

Description

스누우프 제어기의 콘트롤러
제1도는 본 발명의 쓰기 어드레스 비교기의 구성을 나타낸 회로도.
제2도는 본 발명의 읽기 어드레스 비교기의 구성을 나타낸 회로도.
제3도는 본 발명의 제어신호 발생부의 구성을 나타낸 회로도.
* 도면의 주요부분에 대한 부호의 설명
1, 6, 7, 8, 9 : 에지트리거래치 2, 3, 4, 5 : 쓰기 어드레스비교기
10, 11, 12, 13 : 읽기 어드레스비교기 14 : 비교기
15, 16, 17 : 프로그램 가능 메모리
본 발명은 스누우프 제어기로 관한 것으로, 특히 캐쉬 메모리를 갖는 다중 프로세서 시스템에서 메인 메모리와 캐쉬 메모리의 내용을 일치시키는 캐쉬 코히어런스(Cache Coherence) 프로토콜을 수행하기 위한 제어신호를 발생시키는 스누우프 제어기의 큰트롤러에 관한 것이다.
일반적으로 버스에서 전송되는 어드레스 정보를 캐쉬 디렉토리의 내용과 비교하여 일치하는 캐쉬블록이 있으면 그 어드레스의 데이타가 캐쉬들 사이에 공유되고 있음을 나타내고, 메모리의 데이타가 캐쉬들 사이에 공유되는 상황에서 시스템의 동작이 올바르게 되려면 데이타의 동일성 유지를 위한 적절한 조치가 필요하게 되며 상기의 동일성 유지를 위하여 취하는 절차를 캐쉬 코히어런스 프로토콜이라함은 이미 잘 알려진 사실이다. 그리고 캐쉬와 메모리의 사이는 물론 캐쉬와 다른 캐쉬와의 사이에도 데이타의 상호전송이 행하여지도록 한 일리노이즈 프로토콜에서는 캐쉬에 저장된 데이타 블록의 상태 등을 나타내는 제어신호를 콘트콜러에서 발생시키도록 하고, 이의 동작 주기가 어드레스 및 데이타의 전송이 이루어지는 한 주기동안에 행하여 지도록 하였다.
그러나 상기와같은 종래의 스누우프 제어기의 콘트롤러에 의하여서는 그구성이 복잡함은 물론 동작주기가 매우 느리므로 다음의 동작도 늦어지게 되면서 버스의 사용효율이 낮아지게 되는 문제점이 있었다.
이에 따라 본 발명은 메모리 사이클과 캐쉬 메모리의 상태에 따른 제어신호들을 빠른 시간 동안에 발생시키도록 한 스누우프 제어기의 콘트롤러를 제공하는 것을 그 목적으로 한다. 이를 위하여 본 발명은 버스로부터 입력되는 어드레스 정보중에서 메모리 사이클에 관계되는 신호들의 상태에 따라 타임 펄스의 주기동안에 캐쉬 동일성을 위한 캐쉬 코히어런스 프로토콜에 필요한 제어신호를 발생하도록 한 것이다.
이하 본 발명을 첨부 도면에 의거 상세히 기술하여 보면 다음과 같다.
제1도는 쓰기 어드레스 비교기의 구성을 나타낸 것으로, 32비트의 버스 어드레스 신호(BA31∼BA0)가 입력단(D)으로 입력되면서 스누우프가 버스에서 채집한 어드레스의 데이타가 캐쉬에 내용이 다른 상태로 저장되어 있는 경우에 그것을 저장하고 있는 캐쉬가 구동하는 제어신호(DIRTY)가 클럭단으로 인가되는 에지트리거(edge Trigger) 래치(1)의 출력단(Q)에서는 32비트의 라이트백(Write back) 어드레스 신호(WBA31∼WBA24,WBA23∼WBA16,WBA15∼WBA8,WBA7∼WBA0)를 각각 쓰기 어드레스 비교기(2), (3), (4), (5)의 일측 입력단(B7∼B0)에 인가되도록 하고, 타측 입력단(A7∼A0)으로 각각 버스 어드레스 신호(BA31∼BA24,BA23∼BA16,BA15∼BA8,BA7∼BA0)가 인가되는 쓰기 어드레스 비교기(2)∼(5)에서는 두 입력단(B7∼B0,A7∼A0)으로 인가되는 두 어드레스 신호(WBA,BA)를 비교하여 일치한 경우에만 출력단(A=B)을 통하여 쓰기용 어드레스 일치신호(WBMAT3), (WBMAT2), (WBMAT1), (WBMAT0)를 "0"으로 도면에 도시되지 않은 제어신호 구동기로 출력하여 캐쉬가 메모리 블록에서 데이타 블록을 읽고 내용을 바꾸었을 때 캐쉬가 내용이 다른 상태의 블록을 메모리로 보내기 전에 다른 캐쉬가 동일한 어드레스의 메모리 블록을 접하게 되면 그릇된 데이타를 읽게 되므로 이러한 경우가 발생하지 않도록 한다.
제2도는 읽기 어드레스 비교기의 구성을 나타낸 것으로, 에지트리거래치 (6),(7),(8),(9)의 입력단(D)으로 각각 입력되는 버스어드레스 신호(BA31∼BA24,BA23∼BA16,BA15∼BA8,BA7∼BA0)는 읽기어드레스 비교기(10), (11), (12), (13)의 일측 입력단(A7∼A0)으로도 각각 인가되도록 하고, 타임펄스(TP)가 동시에 클럭단으로 인가되는 에지트리거래치(6)∼(9)의 출력단(Q)에서는 각각 비교기(10)∼(13)의 타측입력단(B7∼B0)으로 연결하여 각각의 출력단(A=B)에서 읽기용 어드레스 일치신호(PPMAT3,PPMAT2,PPMAT1,PPMAT0)가 출력되도록 하는 한편, 버스로부터 버스 어드레스 태그신호(BAT)가 일측 입력단(A)으로 인가되면서 타측 입력단(B)으로 버스 매스터의 고유번호(BID)가 입력되는 비교기(14)에서는 버스의 메모리 사이클이 자신의 것인가를 판단하여 출력단(A=B)으로 버스 어드레스 판단신호(BA-SELF)를 "0"의 상태로 상기의 에지트리거래치(6)∼(9)의 칩 인에이블 단자(CE)로 출력되도록 한 것이다.
제3도는 제어신호 발생부의 구성을 나타낸 것으로, 버스로부터 4비트의 버스 어드레스 스페이스 신호(BAS3∼BAS0)와 4비트의 패리티 에러신호(PERR3∼PERR0)와 버스 어드레스 인에이블 신호(BAE) 및 외부로부터의 스누우프 동작정지신호(SNINH)가 입력단(I0∼I9)으로 각각 입력되는 제1프로그램 가능 메모리(15)의 출력단(Y1)에서는 버스 패리티 에러신호(BPERR)를 제2프로그램 가능 메모리(16)의 입력단(I1)으로 출력하면서 출력단(B1)에서는 현재 동작중임을 알리는 수행신호(ACT)를 제2프로그램 가능 메모리(16)의 입력단(I0) 및 제3프로그램 가능 메모리(17)의 입력단(I5)으로 출력하고, 정상적으로 동작하면서 메모리 사이클을 종료하였음을 나타내는 정상종료 신호(DONE)와, 실패에 의해 메모리 사이클을 종료하였음을 나타내는 실패종료 신호(FAIL)와, 상태 메모리의 데이타 출력신호(ST-OUT1), (ST-OUT0)와, 태그메모리로부터의 태그매치 신호(TG-MATCH)와 상기 비교기(14)로부터의 버스 어드레스 판단신호(BA-SELF) 및 타임펄스(TP)가 입력단 (I2), (I3), (I4), (I5), (I6), (I7)으로 각각 입력되는 제2프로그램 가능 메모리(16)의 출력단(Q)에서는 라이트백 진행신호(WBING)를 제3프로그램 가능메모리(17)의 입력단(B0)으로 출력하고, 메모리 사이클의 종류(RFR,RFW,WRB,IVLD)를 나타내는 4비트의 버스트랜스퍼 타입신호(BTT3∼BTT0)와, 태그메모리 크리어신호(TG-CLR)와, 태그매치 신호(TG-MATCH)와, 상태메모리의 데이타 출력신호(ST-OUT1), (ST-OUT0)와, 캐쉬 제어기가 유효하고 유일한 캐쉬블록상태의 데 이타를 바꾸려고 하는 시점을 나타내는 캐쉬 제어기의 제어신호(VDMODE)와, 상기의 버스어드레스 판단신호(BA-SELF) 및 버스 어드레스 인에이블 신호(BAE)가 각각 입력단(I0∼I3), (I4), (I6), (I7), (I8), (I9), (I10), (B1)으로 각각 입력되는 제3프로그램 가능 메모리(17)의 출력단(Y1), (Y2), (Y3)에서는 상태 메모리 쓰기인에이블신호(SWEN)와, 캐쉬에 저장된 데이타블럭의 저장상태를 구별하는 상태 메모리의 데이타 입력신호(ST-IN1), (ST-IN0)를 각각 출력하도록 한 것이다.
상기와 같이 구성한 콘트롤러의 동작을 설명하면 다음과 같다.
버스에서 채집한 32비트의 버스 어드레스 신호(BA31~BA0)가 입력단(D)으로 인가되는 에지트리거래치(1)는 제어신호(DIRTY)의 상승에지(rising edge)에서만 라이트백 어드레스 신호(WBA31∼WBA24), (WBA23∼WBA16), (WBA15∼WBA8), (WBA7∼WBA0)를 쓰기 어드레스 비교기(2)∼(5)의 일측 입력단(B7∼B0)으로 출력하여 타측 입력단(A7∼A0)으로 입력되는 버스어드레스신호(BA31∼BA24), (BA24∼BA16), (BA15∼BA8), (BA7∼BA0)으로 비교하여 일치하는 경우에만 출력단(A=B)으로 쓰기용 어드레스 일치신호(WBMAT3), (WBMAT2), (WBMAT1), (WBMAT0)를 모드 "0"으로 제어신호 구동기로 출력한다.
그리고 버스 어드레스 태그신호(BAT)와 버스매스터의 고유번호(BID)가 양측 입력단(A), (B)으로 입력되는 비교기(14)에서 두 신호가 일치할 때 즉 버스는 메모리 사이클이 자신이 것인 경우에 버스 어드레스 신호(BA-SELF)를 "0"의 상태로 에지트리거래치(0)∼(9)의 칩 인에이블 단자(CE)로 입력되면 타임펄스(TP)의 상승 에지될때에만 입력단(D)으로 입력되는 버스 어드레스 신호(BA31∼BA24), (BA23∼BA16), (BA15∼BA8), (BA7∼BA0)와 같은 값을 각각 출력단(Q)을 통하여 읽기 어드레스 비교기(10)∼(13)의 타측 입력단(B7∼B0)으로 입력되도록 하여 일측 입력단(A7∼A0)으로 입력되는 일치할 때 즉 자신이 구동한 메모리 사이클의 어드레스이면 출력단(A=B)을 통하여 읽기용 어드레스 일치신호(PPMAT3), (PMAT2), (PPMAT1), (PPMAT0)를 모두 "0"으로 구동함으로써 캐쉬가 메모리에서 데이타 블록을 읽어오는 경우(RFR, RFW) 또는 공유하고 있는 다른 캐쉬의 데이타 블록을 유효하지 않은 상태로 만들고자 하는 경우에 이들을 성공적으로 수행한 다음에 디렉토리의 내용을 변경할 수 있으므로 메모리 사이클의 시작과 종료 사이에 다른 캐쉬에 의해 동일한 데이타 블록이 접근 되는 것을 방지하도록 한다.
한편, 버스 어드레스 스페이스 신호(BAS3),(BAS2),(BAS1),(BAS0)와 패리티 에러신호(PERR3), (PERR2), (PERR1), (PERR0)와 버스어드레스 인에이블 신호(BAE) 및 스누우프 동작정지신호(SNINH)가 입력되는 제1프로그램 가능 메모리(15)는 버스에서 채집한 어드레스 정보를 바이트 단위로 홀수 패리티를 검사한 패리티 에러신호(PERR3)∼(PERR0)가 모두 "0"인 경우에만 버스 패리티 에러신호(BPERR)를 "0"로 출력하고 하나라도 "1"인 경우에는 "1"로 출력하여 패리티 에러가 검출되었음을 알리는 한편, 버스 매스터가 데이타를 접근하려는 메모리의 종류(공유메모리, 입출력 메모리, 시스템 제어 메모리)를 나타내는 버스 어드레스 스페이스 신호(BAS3)∼(BAS1)가 공유메모리를 표시하는 "0,0,0,0"으로 입력되면서 버스 어드레스 인에이블 신호(BAE)는 "1", 스누우프 제어기의 동작이 정지되도록 하는 제어신호(SHINH)는 "0"으로 입력되면 스누우프 제어기는 동작 상태임을 알리는 수행신호(ACT)를 "0"로 출력한다. 이를 논리식으로 나타내면가된다.
그리고 수행신호(ACT) 버스패리티 에러신호(BPERR), 정상 종료신호(DONE), 실패종료신호(FAIL), 상태메모리의 데이타 출력신호(ST-OUT1), (ST-OUT0), 태그매치신호(TG-MATCH), 버스어드레스 판단신호(BA-SELF) 및 타임펄스(TP)가 입력되는 제2프로그램 가능 메모리(16)에서는 수행신호(ACT)가 "0", 캐쉬에 저장중인 메모리블럭의 상태를 나타내는 상태 메모리의 데이타 출력신호(ST-OUT1), (ST-OUT0)가 유효하고 유일하고 내용이 다른 블록인 "1,1", 데이타 입력과 메모리의 내용을 비교하여 같음을 나타내는 태그매치신호(TG-MATCH)가 "1", 버스 어드레스 판단신호(BA-SELF)가 "0", 버스 패리티 에러신호(BPERR)가 "0"으로 입력되면서 정상 종료신호(DONE)와 실패 종료신호(FAIL)가 모두 "0"으로 입력될 때에만 캐쉬에 저장된 유효한 데이타 블록 중에서 내용이 다른 데이타 블록을 먼저 메모리로 전송한 후 다른 메모리 블록으로 대치하도록 하는 라이트백(Write back)을 수행중임을 알리는 라이트백 진행신호(WBING)를 "1"로 출력한다.
또한 제3프로그램 가능 메모리(17)는 메모리 사이클의 종류를 의미하는 버스 트랜스퍼 타입신호(BTT3,BTT2,BTT1,BTT0), 태그메모리의 크리어신호(TG-CLR), 상태 메모리의 데이타 출력신호(ST-OUT1,ST-OUT0), 태그메모리로 부터의 태그매치신호 (TG-MATCH), 캐쉬 제어기로 부터의 제어신호(VDMODE), 버스 어드레스 판단신호(BA-SELF), 버스 어드레스 인에이블 신호(BAE), 제1프로그램가능 메모리(15)롤 부터의 수행신호(ACT) 및 제2프로그램 가능 메모리(16)로 부터의 라이트백 진행신호 (WBING)들을 입력받아 상태 메모리 쓰기 인에이블 신호(SWEN)와 상태 메모리의 데이타 입력신호(ST-IN1,ST-IN0)를 출력하는 것으로, 상태 메모리 쓰기 인에이블 신호(SWEN)는
의 "1" 또는 "0"의 입력에 따라 선택되고, 상태 메모리의 데이타 입력신호(ST-IN1)는의 입력상태에 선택되며, 데이타입력신호(ST-IN0)는 의 입력상태에 따라 선택되도록 한 것이다.
따라서 본 발명의 콘트롤러는 스누우프 제어기에 있어서 버스로 부터의 어드레스 정보와 캐쉬에 저장된 메모리 블럭의 상태 및 태그의 정보 메모리 사이클의 종류에 대한 입력들의 상태에 따라 상태 메모리, 태그 메모리, 제어신호 구동기 및 디렉토리의 동작을 제어하는 제어신호(PPMAT3∼0, BEMAT3∼0, ACT, BPERR, SWEN, WBING, ST-IN1∼0)들을 타임펄스의 클럭주기 동안에 출력하도록 하여 빠른 동작 수행이 이루어지도록 한 것임을 알 수 있다.

Claims (1)

  1. 버스 어드레스 신호(BA31∼BA0)하고 제어신호(DIRTY)의 상층에지 마다 검출한 라이트백 어드레스신호(WBA31∼WBA0)를 비교하여 쓰기용 어드레스 일치신호(WBMAT3∼WBMAT0)를 출력 하는 쓰기어드레스 비교기(2)∼(5)와, 버스 어드레스 태그신호(BAT)가 버스매스터의 고유번호(BI)와 일치할 때 버스 어드레스 신호(BA31∼BA0)를 타임펄스(TP)의 상승에지 마다 검출한 신호하고 상기의 버스 어드레스신호(BA31∼BA0)를 비교하여 읽기용 어드레스 일치신호(PPMAT3∼PPMAT0)를 출력하는 읽기 어드레스 비교기(10)∼(13)와, 버스 어드레스 스페이스 신호(BAS3∼BAS0), 페리티 에러 신호(PERR3∼PERR0), 버스 어드레스 인에이블 신호(BAE) 및 스누우프 동작 정지신호(SNINH)의 입력에 따라 버스 패리티 에러신호(BPERR) 및 수행신호(ACT)를 출력하는 제1프로그램 가능메모리(15)와, 상기 제1프로그램가능 메모리(15)의 출력신호(BPERR, ACT), 정상 종료신호(DONE), 실패 종료신호(FAIL), 상태 메모리의 데이타 출력신호(ST-OUT1, ST-OUT0), 태그 매치 신호(TG-MATCH), 버스 어드레스 판단신호(BA-SELF) 및 타임펄스(TP)의 입력에 따라 라이트백 진행신호(WBING)를 출력하는 제2프로그램가능메로리(16)와, 버스 트랜스퍼 타입신호(BTT3∼VTT0), 태그메모리의 크리어 신호(TG-CLR), 수행신호(ACT), 태그매치신호(TG-MATCH), 상태 메모리의 데이타 출력신호(ST-OUT1, ST-OUT0), 버스 어드레스 판단신호(BA-SELF), 라이트백 진행신호(WBING) 및 버스 어드레스 인에이블 신호(BAE)의 입력에 따라 상태 메모리 쓰기 인에이블 신호(SWEN) 및 상태 메모리의 데이타 입력신호(ST-IN1, ST-IN0)를 출력하는 제3프로그램 가능 메모리(17)들로 구성됨을 특징으로 하는 스누우프제어기의 콘트롤러.
KR1019900021864A 1990-12-26 1990-12-26 스누우프 제어기의 콘트롤러 KR920009442B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019900021864A KR920009442B1 (ko) 1990-12-26 1990-12-26 스누우프 제어기의 콘트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900021864A KR920009442B1 (ko) 1990-12-26 1990-12-26 스누우프 제어기의 콘트롤러

Publications (2)

Publication Number Publication Date
KR920013140A KR920013140A (ko) 1992-07-28
KR920009442B1 true KR920009442B1 (ko) 1992-10-16

Family

ID=19308545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900021864A KR920009442B1 (ko) 1990-12-26 1990-12-26 스누우프 제어기의 콘트롤러

Country Status (1)

Country Link
KR (1) KR920009442B1 (ko)

Also Published As

Publication number Publication date
KR920013140A (ko) 1992-07-28

Similar Documents

Publication Publication Date Title
KR960009659B1 (ko) 멀티프로세서 시스템의 스누프회로
US5802561A (en) Simultaneous, mirror write cache
JPH0727493B2 (ja) ライトスルーキャッシュおよびパイプラインスヌープサイクルを備えたメモリシステムを有するパーソナルコンピュータ
JPS63123139A (ja) デジタルデータ処理システム
EP0283891B1 (en) Cache memory with hit predictive logic
EP0514050B1 (en) Control circuit for dual port memory
JP3092566B2 (ja) パイプライン方式のバスを用いたメモリ制御方式
JPH0271344A (ja) マイクロコンピユータ・システム
US20020129210A1 (en) Multiprocessor system snoop scheduling mechanism for limited bandwidth snoopers that uses dynamic hardware/software controls
KR920009442B1 (ko) 스누우프 제어기의 콘트롤러
US6594732B1 (en) Computer system with memory system in which cache memory is kept clean
AU602952B2 (en) Cache memory control system
KR920010977B1 (ko) 개선된 성능의 메모리 버스 아키텍쳐(memory bus architecture)
SE445270B (sv) Dator med ett fickminne, vars arbetscykel er uppdelad i tva delcykler
KR0155532B1 (ko) 멀티프로세서 시스템에서의 되쓰기 중에 있는 데이터에 대한 캐쉬 일치성 보장장치
KR930007050B1 (ko) 펜디드 버스 프로토콜을 위한 스누우프 제어기
KR940004581B1 (ko) 펜디드 프로토콜 시스템 버스에서의 라이트 백 사이클 구현회로
JP3055908B2 (ja) キャッシュメモリ制御装置
CA1313422C (en) Cache memory control system
JP3196094B2 (ja) メモリ監視装置
KR950000495B1 (ko) 병렬처리시스템을 위한 노드메모리 시스템
JP3106448B2 (ja) プロセッサ装置
JPH01128156A (ja) マルチプロセッサシステムにおけるキャッシュ制御方式
SU1456996A1 (ru) Устройство дл контрол блоков пам ти
KR920010968B1 (ko) 공유 캐쉬 메모리의 어드레스경로 제어회로

Legal Events

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

Payment date: 20020930

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee