KR940005778B1 - 공유상태의 캐쉬데이타의 액세스 중재회로 - Google Patents

공유상태의 캐쉬데이타의 액세스 중재회로 Download PDF

Info

Publication number
KR940005778B1
KR940005778B1 KR1019910025587A KR910025587A KR940005778B1 KR 940005778 B1 KR940005778 B1 KR 940005778B1 KR 1019910025587 A KR1019910025587 A KR 1019910025587A KR 910025587 A KR910025587 A KR 910025587A KR 940005778 B1 KR940005778 B1 KR 940005778B1
Authority
KR
South Korea
Prior art keywords
signal
output
flip
flop
clock pulse
Prior art date
Application number
KR1019910025587A
Other languages
English (en)
Other versions
KR930014037A (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 KR1019910025587A priority Critical patent/KR940005778B1/ko
Publication of KR930014037A publication Critical patent/KR930014037A/ko
Application granted granted Critical
Publication of KR940005778B1 publication Critical patent/KR940005778B1/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

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

내용 없음.

Description

공유상태의 캐쉬데이타의 액세스 중재회로
제1도는 본 발명의 실시예를 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 프로그램디바이스(program device) 20 : 앤드게이트(AND gate)
30, 40 : 레지스터 : (register) 50 : 비교기(comparator)
60, 70, 90 : 플립플롭(flip-flop) 80 : 오어게이트(OR gate)
본 발명은 공유메모리 다중 프로세서 시스템(shared memory multiple processor system)의 캐쉬 메모리(cache memory)에 관한 것으로, 특히 동일 블럭의 캐쉬데이타를 복수의 프로세서들이 동시에 액세스하려는 경우 하나의 프로세서가 배타적으로 캐쉬데이타를 변경할 수 있도록 중재하는 회로에 관한 것이다.
공유메모리 다중 프로세서 시스템의 각 프로세서가 캐쉬 메모리를 갖게 하면 프로세서들은 상호 독립적으로 캐쉬의 데이타를 액세스하려 하므로 동일한 블럭의 캐쉬데이타를 복수의 프로세서들이 동시에 액세스하는 경우가 발생할 수 있다.
하나 이상의 프로세서들이 쓰기액세스동작을 수행하면 동일 블럭의 캐쉬데이타가 상호 상이한 값으로 변경되므로 공유상태의 캐쉬블럭의 데이타를 변경하려 할 때는 캐쉬에서 블럭데이타를 제거하고 공유메모리에 직접 쓰기액세스동작을 수행함으로써 상술한 문제들을 해결할 수는 있으나, 그와 같은 방법은 고속메모리인 캐쉬를 사용하지 않기 때문에 시스템의 성능을 저하시키는 문제가 있다.
따라서, 본 발명의 목적은 복수의 프로세서들에 의해 동시에 발생되는 캐쉬데이타 액세스 요청들을 중재하여 우선순위를 정하고 순차적으로 캐쉬메모리 액세스 동작들이 수행되도록 하는 중재회로를 제공하는 것이다.
이하 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
제 1 도는 본 발명의 실시예를 나타낸 것으로, 도면에서 참조번호 10은 프로그램디바이스를 나타낸 것이고, 20은 앤드게이트, 30 및 40은 레지스터, 50은 비교기, 60과 70 및 90은 플립플롭, 80은 오어게이트를 각각 나타낸 것이다.
본 실시예의 구성을 살펴보면 다음과 같다.
클럭펄스(TP)신호와 캐쉬제어기(도시되지 않음)로부터 제공되는 REQUEST 신호를 논리곱하는 앤드게이트(20)의 출력단은 레지스터(30)의 클럭단자에 연결된다.
이 레지스터(30)의 입력단(Din)은 캐쉬제어기와 연결되고 출력단(Dout)은 비교기(50)의 일 입력단(A)과 연결된다.
다른 레지스터(40)의 입력단(Din)은 버스와 연결되고 출력단(Dout)은 상기 비교기(50)의 다른 입력단(B)과 연결된다.
캐쉬제어기로부터 제공되는 REQUEST 신호와 RELEASE 신호를 받아들이는 프로그램디바이스(10)의 일 출력단(Q1)은 오어게이트(80)의 일 입력단과 연결되고, 다른 출력단(Q2)은 플립플롭(70)의 입력단(D)에 연결된다.
플립플롭(70)의 부 출력단은 플립플롭(60)의 클리어단자에 연결되고 이 플립플롭(60)의 입력단(D)은 상기한 비교기(50)의 출력단(C)과 연결된다.
플립플롭(90)의 클리어단자는 캐쉬제어기에 연결되고, 입력단(D)에 상기한 오어게이트(80)의 출력단이 연결된다.
플립플롭(90)의 부 출력단은 상기한 비교기(50)의 인에이블단자에 연결되고, 정 출력단(Q)은 상기한 오어게이트(80)의 다른 입력단에 연결된다.
플립플롭 60은 상기 TP 신호에 비해 펄스의 상승점이 60나노초(nsec) 지연된 TP-60 신호에 의해 동기되고, 플립플롭 70 및 90은 상기 TP 신호에 비해 펄스의 상승점이 20나노초 지연된 TP-20 신호에 의해 동기된다.
이제부터 본 발명의 회로동작을 설명한다.
캐쉬제어기가 액세스하고 있는 데이타를 다른 캐쉬에 액세스할 수 없도록 막기 위하여 캐쉬제어기는 REQUEST 신호를 '1'로 바꾸어 어드레스를 레지스터(30)로 입력시키고, 데이타의 액세스가 완료되면 RELEAST 신호를 '1'로 바꾸어 비교기(50)의 동작을 멈추게 한다.
TP 신호는 80나노초의 주기를 갖는 클럭펄스이고 같은 주기의 TP-20 신호와 TP-60 신호는 상기 TP신호에 비하여 펄스의 상승점이 각각 20나노초와 60나노초 만큼씩 지연된 펄스신호이다.
플립플롭(60)의 출력(SNACK)신호는 버스로 전달되어 현재 버스전송을 수행하는 캐쉬의 동작을 중단시켜 데이타를 액세스할 수 없도록 하기 위하여 사용된다.
프로그램디바이스(10)의 출력(EXCLUDE)신호는 REQUEST 신호와 ATAGSAME 신호 및 AE 신호가 모두 '1'일때 '1'로 바뀐다.
프로그램디바이스(10)의 다른 출력(SNINHIB)신호는 AE 신호가 '0'이거나, AS0 신호가 '1'이거나, ATAGSAME 신호가 '1'이거나, TT3 신호 내지 TT0 신호가 '1001'의 값일때 '1'로 바뀐다.
ECLUDE 신호와 SNINHIB 신호의 논리식(Boolean Equations)은 다음과 같다.
EXCLUDE=REQUEST*AE*ATAGSAME
SNINHIB=/AE+AS0+ATAGSAME+TT3*/TT2*/TT1*TT0
(여기서, '*'는 AND, '+'는 OR, '/'는 NOT를 의미한다)
REQUEST 신호가 '1'이고 클럭펄스(TP) 신호가 '0'에서 '1'바뀌면 앤드게이트(20)의 출력은 '0'에서 '1'로 바뀌고 레지스터(30)의 데이타출력(Dout)은 데이타입력(Din)에 가해진 어드레스 값으로 바뀐다.
마찬가지로 레지스터(40)도 클럭펄스(TP)신호가 '0'에서 '1'로 바뀌면 데이타 입력단(Din)에 가해진 버스의 어드레스가 데이타출력단(Dout)을 통하여 출력된다.
프로그램디바이스(10)의 출력(ECLUDE)신호와 플립플롭(90)의 정출력(EXCLUSION)신호는 오어게이트(80)로 입력되기 때문에 EXCLUD 신호가 '1'이면 오어게이트(80)의 출력 또한 '1'이 되어 플립플롭(90)의 입력단(D)에 제공되므로 클럭펄스(TP-20)가 '0'에서 '1'로 바뀌는 순간 상기 플립플롭(90)의 출력(EXCLUSION)신호는 '1'이 된다.
이때, EXCUSION 신호는 RELEASE 신호가 '0'로 바뀔때까지 그 상태를 계속 유하게 된다.
플립플롭(90)의 출력신호가 '0'인 경우에 인에이블(enable)되는 비교기(50)는 자신의 두입력단(A, B)으로 제공되는 두 레지스터들(30, 40)의 출력들을 비교한다.
이때, 두 데이타 입력들이 동일하면 '1'을 출력하고 그렇지 않으면 '0'을 출력한다.
비교기(50)의 출력을 받아들이는 플립플롭(60)의 출력(SNACK)은 클럭펄스(TP-60)신호가 '0'에서 '1'로 바뀌는 순간 '1'로 된다.
이 SNACK 신호는 동일한 하나의 데이타블럭을 복수의 프로세서들이 동시에 액세스하려 할 때 먼저 요청하는 프로세서에게 우선순위를 주어 액세스가 배타적으로 수행되도록 하는 신호이다.
이 SNACK 신호는 프로그램디바이스의 출력(SNINHIB)신호가 '1'이고 클럭펄스(TP-20) 신호가 '0'에서 '1'로 바뀔때 '0'가 된다.
이상에서 설명한 바와 같이, 공유상태의 캐쉬데이타를 변경하려는 경우 다른 캐쉬들에게 그것을 전달하기 위하여 무효(invalidation)버스사이클을 구동하여야 하는데 그에 앞서 비교기에 액세스하려는 데이타의 어드레스를 입력한다.
버스스누핑(bus snooping)을 담당하는 수단은 자신의 캐쉬에게 발생된 무효버스전송이 버스상에 나타나면 비교기를 동작시켜 자신의 액세스 어드레스와 버스상에 나타나는 다른 캐쉬의 버스전송어드레스가 같은지를 비교하게 하여 두 어드레스들이 일치하면 다른 캐쉬의 버스전송이 성공되지 못하게 한다.
이와 같은 비교기의 동작은 버스스누핑수단이 발생한 무효버스사이클이 버스상에 나타나는 시점부터 시작되므로 동일한 캐쉬블럭의 액세스가 하나씩 순차로 수행된다.

Claims (2)

  1. 공유메모리 다중 프로세서 시스템의 캐쉬메모리에서 동일블럭의 캐쉬데이타를 동시에 복수의 프로세서들이 액세스하려는 경우 하나의 프로세서만 배타적으로 캐쉬데이타를 변경할 수 있도록 중재하는 회로에 있어서, AE, ATAGSAME, AS0, RELEASE, TT3 내지 TT0 신호들을 받아들여 이 신호들을 논리조합하여 EXCLUDE 신호와 SNINHIB 신호를 생성하는 프로그램디바이스(10)와 ; 캐쉬제어기로부터 제공되는 REQUEST 신호와 클럭펄스(TP)신호를 논리곱하는 앤드게이트(20)와 ; 상기 앤드게이트(20)의 출력신호에 동기되고, 상기 캐쉬제어기로부터 제공되는 어드레스를 받아들여 출력하는 제 1 레지스터(30)와 ; 상기 클럭펄스(TP)에 동기되고, 버스로부터 제공되는 어드레스를 받아들여 출력하는 제 2 레지스터(40)와 ; 상기 제1 및 제 2 레지스터(30, 40)의 두 출력들을 비교하여 동일하면 '1'상태의 신호를 출력하고, 동일하지 않으면 '0'상태의 신호를 출력하는 비교기(50)와 ; 상기 클럭펄스(TP)신호보다 소정시간 지연된 클럭펄스(TP-60)에 동기되어 SNACK 신호를 출력하는 제 1 플립플롭(60)과 ; 상기 클럭펄스(TP)신호보다 소정시간 지연된 클럭펄스(TP-20)신호에 동기되어 상기 비교기(50)를 인에이블시키는신호를 발생시키는 제 2 플립플롭(90)과 ; 상기 프로그램디바이스(10)의 출력(EXCLUDE)신호와 상기 제 2 플립플롭(90)의 출력(EXCLUSION)신호를 받아들여 논리합한 후 상기 제 2 플립플롭(90)에 제공되는 오어게이트(80) 및 ; 상기 클럭펄스(TP-20)에 동기되고, 상기 프로그램디바이스(10)로부터 제공되는 상기 SNINHIB 신호에 응답하여 상기 제 1 플립플롭(60)을 클리어시키는 제 3 플립플롭(70)을 포함하는 것을 특징으로 하는 공유상태의 캐쉬데이타의 액세스 중재회로.
  2. 제 1 항에 있어서, 상기 프로그램디바이스(10)는 REQUEST*AE*ATAGS AME의 논리조합으로 출력(EXCLUDE)신호를 생성하고, /AE+AS0+ATAGSAME+ TT3*/TT2*/TT1*TT0의 논리조합(여기서, '*'는 AND, '+'는 OR, '/'는 NOT를 의미한다)으로 출력(SNINHIB)신호를 생성하는 것을 특징으로 하는 공유상태의 캐쉬데이타의 액세스 중재회로.
KR1019910025587A 1991-12-31 1991-12-31 공유상태의 캐쉬데이타의 액세스 중재회로 KR940005778B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910025587A KR940005778B1 (ko) 1991-12-31 1991-12-31 공유상태의 캐쉬데이타의 액세스 중재회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910025587A KR940005778B1 (ko) 1991-12-31 1991-12-31 공유상태의 캐쉬데이타의 액세스 중재회로

Publications (2)

Publication Number Publication Date
KR930014037A KR930014037A (ko) 1993-07-22
KR940005778B1 true KR940005778B1 (ko) 1994-06-23

Family

ID=19327071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910025587A KR940005778B1 (ko) 1991-12-31 1991-12-31 공유상태의 캐쉬데이타의 액세스 중재회로

Country Status (1)

Country Link
KR (1) KR940005778B1 (ko)

Also Published As

Publication number Publication date
KR930014037A (ko) 1993-07-22

Similar Documents

Publication Publication Date Title
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
RU2110838C1 (ru) Устройство для оптимизации организации доступа к общей шине во время передачи данных с прямым доступом к памяти
US5761450A (en) Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
US6401176B1 (en) Multiple agent use of a multi-ported shared memory
US4841178A (en) Asynchronous processor arbitration circuit
US5313591A (en) Computer bus arbitration for N processors requiring only N unidirectional signal leads
RU2067314C1 (ru) Система для обработки запросов на доступ к шине
US5579492A (en) Data processing system and a method for dynamically ignoring bus transfer termination control signals for a predetermined amount of time
US4853847A (en) Data processor with wait control allowing high speed access
US6314499B1 (en) Non-preemptive memory locking mechanism in a shared resource system
US5255373A (en) Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US3564507A (en) Asynchronous interface for use between a main memory and a central processing unit
US6504854B1 (en) Multiple frequency communications
KR940005778B1 (ko) 공유상태의 캐쉬데이타의 액세스 중재회로
CA2113867C (en) Method and system for enhanced efficiency of data transfers from memory to multiple processors in a data processing system
KR100201325B1 (ko) 다중 프로세서 시스템에서 시스템 버스의 클럭속도를 향상시키는 방법
JPH01134557A (ja) アービタ回路
KR0159008B1 (ko) 직접 메모리 억세스에서의 버스사용 중재회로
US5638528A (en) Data processing system and a method for cycling longword addresses during a burst bus cycle
JP3072168B2 (ja) メモリ動作調停回路
KR0149687B1 (ko) 멀티프로세서 시스템의 공통메모리 억세스 제어회로
KR960016406B1 (ko) 중앙처리장치와 주변장치간의 버스이양장치
KR910007648B1 (ko) 고성능 로우핀 카운트버스 인터페이스
KR940005777B1 (ko) Fifo를 사용한 캐쉬디렉터리 변경회로
KR0176655B1 (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: 20020529

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee