KR100248630B1 - The device for snoop phase control of local bus - Google Patents

The device for snoop phase control of local bus Download PDF

Info

Publication number
KR100248630B1
KR100248630B1 KR1019970008647A KR19970008647A KR100248630B1 KR 100248630 B1 KR100248630 B1 KR 100248630B1 KR 1019970008647 A KR1019970008647 A KR 1019970008647A KR 19970008647 A KR19970008647 A KR 19970008647A KR 100248630 B1 KR100248630 B1 KR 100248630B1
Authority
KR
South Korea
Prior art keywords
snoop
signal
local bus
state
output
Prior art date
Application number
KR1019970008647A
Other languages
Korean (ko)
Other versions
KR19980073407A (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 KR1019970008647A priority Critical patent/KR100248630B1/en
Publication of KR19980073407A publication Critical patent/KR19980073407A/en
Application granted granted Critical
Publication of KR100248630B1 publication Critical patent/KR100248630B1/en

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 로컬버스의 스누프 제어장치에 관한 것이다.The present invention relates to a snoop control device of a local bus.

종래의 CPU 스누프 단계 제어장치는 인텔사(INTEL Co.)의 펜티움 프로세서 CPU를 포함한 인텔 칩세트(Intel's Chipset Module)를 사용한 멀티 프로세싱에 적용될뿐, 펜티움 프로 프로세서(P6)를 CPU로 사용할 때에는 호환되지 않는 문제점이 있었다.The conventional CPU snoop step controller is only applicable to multiprocessing using Intel's Chipset Module, including Pentium processor CPU from INTEL Co., but not compatible when using the Pentium Pro processor (P6) as a CPU. There was a problem.

따라서 본 발명은 다수개의 프로세서가 연결된 CPU 로컬버스를 통해 어드레스 스트로브(address strobe) 신호가 구동됨에 따라 스누프 응답단계를 조사하여 해당 상태값을 출력하고, 이와 같은 상태값과 사이클 어드레스의 접근 영역을 검지한 신호와 시스템 버스로부터의 스누프 요청신호와 시스템버스의 스누프 응답 및 스누프 단계 완료신호를 각각 조합하여 스누프 제어신호를 출력함으로써, 시스템 버스 상에서 캐시 일관성을 조사할 때까지 로컬버스의 스누프 단계를 지연시키도록 하는 로컬버스의 스누프 단계 제어장치를 제공함에 목적이 있다.Therefore, the present invention outputs a corresponding state value by examining a snoop response step as an address strobe signal is driven through a CPU local bus to which a plurality of processors are connected, and outputs a corresponding state value and an access area of such a state value and a cycle address. By combining the detected signal with the snoop request signal from the system bus, the snoop response from the system bus, and the snoop step completion signal, the snoop control signal is outputted. It is an object of the present invention to provide a snoop step control device of a local bus to delay the snoop step.

Description

로컬버스의 스누프 단계 제어장치Snoopy Phase Control on Local Bus

본 발명의 목적은 다수개의 프로세서가 연결된 CPU 로컬버스를 통해 어드레스 스트로브(adress strobe) 신호가 구동됨에 따라 스누프 응답단계를 조사하여 해당 상태값을 출력하고, 이와 같은 상태값과 사이클 어드레스의 접근 영역을 검지한 신호와 시스템 버스로부터의 스누프 요청신호와 시스템버스의 스누프 응답 및 스누프 단계 완료신호를 각각 조합하여 스누프 제어신호를 출력함으로써, 시스템 버스 상에서 캐시 일관성을 조사할 때까지 로컬버스의 스누프 단계를 지연시키도록 하는 로컬버스의 스누프 단계 제어장치를 제공함에 있다.An object of the present invention is to examine the snoop response step as the address strobe signal is driven through a CPU local bus to which a plurality of processors are connected and output a corresponding state value, and the access area of such a state value and a cycle address. The local bus until the cache consistency is checked on the system bus by outputting the snoop control signal by combining the detected signal with the snoop request signal from the system bus, the snoop response from the system bus, and the snoop step completion signal. It is to provide a snoop step control device of the local bus to delay the snoop step of.

본 발명은 씨피유(CPU) 로컬버스의 스누프 단계(Snoop Phase) 제어에 관한 것으로서, 특히 별도의 시스템 버스를 가지는 시스템에서 시스템 버스 상의 캐시 일관성을 조사할 때까지 로컬버스의 스누프 단계를 지연시키도록 하는 로컬버스의 스누프 단계 제어장치에 관한 것이다.The present invention relates to the snoop phase control of a CPU local bus. In particular, in a system having a separate system bus, the snoop phase of the local bus is delayed until the cache coherency on the system bus is examined. A snoop step control device of a local bus.

종래의 펜티움(Pentium) CPU의 스누프 단계 제어장치는 도 1에 도시된 바와 같이, 펜티움 CPU(11)와, 외부 캐시 메모리 및 캐시 메모리 제어부(13)를 포함한 칩세트 모듈(10)과; 상기 칩세트 모듈(10)의 신호를 처리하고 적절한 응답신호를 발생시키는 칩세트 인터페이스부(20)와; 상기 칩세트 인터페이스부(20)로부터의 저장된 사이클 어드레스(Address)를 디코딩하여 현재 사이클이 어느 어드레스 영역을 접근하는가를 조사한 결과(smem)를 상기 칩세트 인터페이스부(20)로 송출하는 어드레스 디코더(30)와; 상기 시스템 버스(System Bus)로부터의 접근을 제어하여 상기 칩세트 인터페이스부(20)에 전송하는 시스템 버스 제어부(40)로 구성된다.As shown in FIG. 1, a snoop stage control apparatus of a conventional Pentium CPU includes a chipset module 10 including a Pentium CPU 11, an external cache memory, and a cache memory controller 13; A chipset interface unit 20 for processing the signals of the chipset module 10 and generating an appropriate response signal; The address decoder 30, which decodes the stored cycle address from the chipset interface unit 20 and sends a result (smem) to the chipset interface unit 20 as a result of investigating which address area the current cycle approaches. )Wow; And a system bus controller 40 for controlling the access from the system bus and transmitting the access to the chipset interface 20.

이와 같이 구성된 종래 기술의 작용에 대해 설명하면 다음과 같다.Referring to the operation of the prior art configured as described above is as follows.

칩세트 모듈(10)에서 원하는 데이터가 없을 때, 즉 캐시 미스(Cache Miss)가 발생할 때에는 원하는 데이터 요청이 칩세트 모듈(10) 외부로 발생된다. 또한 이러한 요청 사이클의 어드레스를 칩세트 인터페이스부(20)에서 저장한다. 저장된 어드레스를 어드레스 디코더(30)에서 디코딩하여 접근 어드레스가 시스템 메모리(도면에 미도시)일 경우 시스템 버스 제어부(40)에서 시스템 버스를 통하여 시스템 메모리를 접근한다.When there is no desired data in the chipset module 10, that is, when a cache miss occurs, a desired data request is generated outside the chipset module 10. In addition, the address of the request cycle is stored in the chip set interface unit 20. When the stored address is decoded by the address decoder 30 and the access address is a system memory (not shown), the system bus controller 40 accesses the system memory through the system bus.

시스템 버스 상에서 캐시 일관성 조사가 끝나면 시스템 버스 제어부(40)에서는 'snrdy' 신호가 하이(high)로 발생하며 이때 'shared' 값은 결과값에 따라 하이 또는 로우(low)신호를 출력한다. 즉, 해당 사이클의 캐시 태그 상태값이 '공유(shared)' 상태로 되어야 할 때에는 'shared' 신호가 하이로 구동된다. 이는 시스템 버스 상에서 두 개 이상의 캐시 메모리에 해당 데이터가 유효하게 저장되어 있음을 나타낸다.When the cache coherency check is completed on the system bus, the system bus controller 40 generates a 'snrdy' signal high, and at this time, the 'shared' value outputs a high or low signal depending on the result value. That is, the 'shared' signal is driven high when the cache tag state value of the cycle is to be 'shared'. This indicates that the data is validly stored in two or more cache memories on the system bus.

시스템 버스 제어부(40)에서 시스템 버스상의 스누프 응답이 끝나면 'snrdy'가 하이로 구동되며, 칩세트 인터페이스부(20)의 'snrdy'가 하이로 구동될 때 'swend_' 신호는 로우로 구동한다. 이때의 메모리 라이트백/라이트스로우(write-back/write-through : 이하 'mwb/wt_'라 약칭함)값은 시스템 버스 제어기에서 구동되는 'shared' 값에 따라 좌우되며, 'drctm_'의 값은 해당 사이클이 쓰기를 위한 읽기 사이클일 때 로우로 구동되며, 그 외의 경우는 하이로 구동된다. 'shared'값이 하이이면 'mwb/wt_'의 값은 로우로 구동된다.When the snoop response on the system bus is completed in the system bus controller 40, 'snrdy' is driven high. When the 'snrdy' of the chip set interface unit 20 is driven high, the 'swend_' signal is driven low. . At this time, memory writeback / write-through (abbreviated as 'mwb / wt_') value depends on the 'shared' value driven by the system bus controller, and the value of 'drctm_' It is driven low when the cycle is a read cycle for writing, otherwise it is driven high. If the 'shared' value is high, the 'mwb / wt_' value is driven low.

종래 기술에 의한 CPU 스누프 단계 제어장치는 펜티움 프로세서 CPU를 포함한 인텔 칩세트를 사용한 멀티 프로세싱에 적용될 뿐, 펜티움 프로 프로세서(P6)를 CPU로 사용할 때에는 호환되지 않는 문제점이 있었다.The prior art CPU snoop step controller is only applied to multi-processing using the Intel chipset including the Pentium processor CPU, there was a problem incompatible when using the Pentium Pro processor (P6) as a CPU.

따라서 본 발명의 목적은 상기한 종래 기술의 문제점을 개선하고자 하여 다수개의 프로세서가 연결된 CPU 로컬버스를 통해 어드레스 스트로브(adress strobe) 신호가 구동됨에 따라 스누프 응답단계를 조사하여 해당 상태값을 출력하고, 이와 같은 상태값과 사이클 어드레스의 접근 영역을 검지한 신호와 시스템 버스로부터의 스누프 요청신호와 시스템버스의 스누프 응답 및 스누프 단계 완료신호를 각각 조합하여 스누프 제어신호를 출력함으로써, 시스템 버스 상에서 캐시 일관성을 조사할 때까지 로컬버스의 스누프 단계를 지연시키도록 하는 로컬버스의 스누프 단계 제어장치를 제공함에 있다.Accordingly, an object of the present invention is to investigate the snoop response step as the address strobe signal is driven through a CPU local bus to which a plurality of processors are connected in order to improve the problems of the prior art, and output a corresponding state value. By outputting the snoop control signal by combining the signal of detecting the state value and the cycle address access area, the snoop request signal from the system bus, the snoop response of the system bus and the snoop step completion signal, respectively, It is to provide a snoop step control device of a local bus that delays the snoop step of a local bus until it checks cache coherency on the bus.

도 1은 종래 기술에 의한 로컬버스의 스누프 단계 제어장치의 블록도.1 is a block diagram of a snoop step control apparatus for a local bus according to the prior art.

도 2는 본 발명에 따른 로컬버스의 스누프 단계 제어장치의 블록 구성도.2 is a block diagram of a snoop step control apparatus for a local bus according to the present invention;

도 3은 도 2에서 로컬버스 인터페이스부의 상세 회로 구성도.3 is a detailed circuit diagram illustrating a local bus interface unit in FIG. 2;

도 4는 도 2의 상태 천이부에서 구동되는 상태 천이도.4 is a state transition diagram driven in the state transition portion of FIG.

도 5는 도 2에서 조합부의 입출력 신호의 상세도.FIG. 5 is a detailed view of input / output signals of the combining unit in FIG. 2. FIG.

< 도면의 주요부분에 대한 부호의 설명 ><Explanation of symbols for the main parts of the drawings>

110 : 로컬버스 인터페이스부110: local bus interface unit

111 ∼ 117 : 제 1 내지 제 7 플립플롭111-117: 1st-7th flip flops

120 : 어드레스 디코더130 : 상태 천이부120: address decoder 130: state transition unit

140 : 스누프 요청부150 : 시스템 버스 제어부140: snoop request unit 150: system bus control unit

160 : 스누프 제어부161 : 조합부160: snoop control unit 161: combination unit

162 : 플립플롭163 : 버퍼162: flip-flop 163: buffer

상기한 본 발명의 목적을 달성하기 위한 로컬버스의 스누프 단계 제어장치는 다수개의 프로세서가 연결된 로컬버스에서 구동되는 트랜잭션 신호를 일정시간 지연 출력하는 로컬버스 인터페이스수단과; 상기 로컬버스 인터페이스수단으로부터 출력되는 어드레스 스트로브 신호가 구동에 따라 스누프 응답단계를 조사하여 해당 상태값을 출력하는 상태 천이수단과; 상기 로컬버스 인터페이스수단에서 처리된 로컬버스의 구동신호와, 상기 상태 천이수단으로부터 출력된 상태값과, 사이클 어드레스의 접근 영역을 검지한 결과신호와, 시스템 버스로부터의 스누프 요청신호와, 시스템 버스의 스누프 응답 및 스누프 단계 완료신호를 각각 조합하여 로컬버스의 스누프 단계를 제어하는 스누프 제어수단으로 이루어짐을 특징으로 한다.The snoop step control apparatus of the local bus for achieving the above object of the present invention includes a local bus interface means for outputting a delay for a predetermined time a transaction signal driven on a local bus to which a plurality of processors are connected; State transition means for investigating a snoop response step as the address strobe signal output from the local bus interface means is driven and outputting a corresponding state value; A drive signal of a local bus processed by the local bus interface means, a state value output from the state transition means, a result signal of detecting an access area of a cycle address, a snoop request signal from a system bus, and a system bus And a snoop control means for controlling the snoop phase of the local bus by combining the snoop response and the snoop phase completion signal, respectively.

여기서, 로컬버스 인터페이스수단은 로컬버스 어드레스 스트로브 신호를 로컬버스 클럭에 동기시켜 일정주기 지연 출력하도록 직렬 구성된 제 1 내지 제 3 플립플롭과; 상기 로컬버스 클럭에 동기시켜 로컬버스의 스누프 히트 신호를 일정주기 래치하여 출력하는 제 4 플립플롭과; 상기 로컬버스 클럭에 동기시켜 스누프 히트 갱신신호를 일정주기 래치하여 출력하는 제 5 플립플롭과; 상기 로컬버스 클럭에 동기시켜 CPU 리세트 상태신호를 일정주기 래치하여 리세트 신호를 출력하는 제 6 플립플롭과; 상기 제 2 플립플롭의 출력값에 의해 인에이블(enable)되고, 로컬버스의 어드레스를 일정주기 래치하여 출력하는 제 7 플립플롭으로 이루어짐을 특징으로 한다.Here, the local bus interface means includes: first to third flip-flops serially configured to output a predetermined period delay in synchronization with the local bus address strobe signal to the local bus clock; A fourth flip-flop that latches and outputs a snoop hit signal of a local bus in synchronization with the local bus clock; A fifth flip-flop configured to latch and output a snoop hit update signal by a predetermined period in synchronization with the local bus clock; A sixth flip-flop configured to output a reset signal by latching a CPU reset state signal for a predetermined period in synchronization with the local bus clock; And a seventh flip-flop that is enabled by the output value of the second flip-flop and outputs a latched address of the local bus at a predetermined period.

또한 상기 상태 천이수단은 대기상태에서 어드레스 스트로브신호가 액트브될 경우 지연상태로 천이한 후 다음 클럭 주기에서 더미상태로 천이하고, 상기 더미상태에서 스누프 단계가 완료된 경우 스누프 단계의 지연여부를 검지하는 제 1, 제 2 검지상태로 천이하고, 상기 제 2 검지상태에서 스누프 히트 및 스누프 히트 갱신신호가 인액티브(Inactive)될 경우 대기상태로 천이함을 특징으로 한다.In addition, the state transition means transitions to a delay state when the address strobe signal is activated in the standby state, then transitions to the dummy state in the next clock cycle, and delays the snoop phase when the snoop phase is completed in the dummy state. Transition to the first and second detection state to be detected, and transitions to the standby state when the snoop hit and the snoop hit update signal are inactive in the second detection state.

또한 상기 스누프 제어수단은 상기 상태 천이수단으로부터의 상태값과, 어드레스 디코더로부터의 저장된 사이클 어드레스의 접근 영역을 검지한 결과신호와, 스누프 요청부로부터 출력된 시스템 버스의 스누프 요청신호와, 시스템 버스 제어부로부터 출력된 시스템 버스의 스누프 응답완료 및 캐시 태그 상태값을 조합하여 로컬버스 스누프 단계 지연신호를 발생하는 조합수단과; 상기 조합수단에서 출력된 값을 로컬버스 클럭에 따라 일정주기 래치하는 플립플롭과; 상기 플립플롭에서 출력된 신호를 버퍼링하여 로컬버스로 스누프 제어신호를 출력하는 버퍼로 이루어짐을 특징으로 한다.The snoop control means may further include a state value from the state transition means, a result signal of detecting an access area of the stored cycle address from the address decoder, a snoop request signal of the system bus output from the snoop request unit, Combining means for generating a local bus snoop step delay signal by combining a snoop response completion and a cache tag state value of the system bus outputted from the system bus controller; A flip-flop which latches a value output from the combining means in a predetermined period according to a local bus clock; And a buffer for buffering the signal output from the flip-flop and outputting a snoop control signal to the local bus.

또한 상기 조합수단은 로컬버스로 스누프 요청 사이클을 구동하기 시작하여 스누프 요청 사이클이 완료될 때까지 스누프 히트 및 스누프 히트 갱신신호(hitip_, hitmip_)를 인액티브시키고; 스누프 요청 사이클이 완료되고, 현재 사이클 어드레스가 캐시 가능한 어드레스 영역에 속하지 않을 경우 스누프 히트신호를 액티브시키고; 어드레스 스트로브 신호가 액티브될 경우 스누프 히트 및 스누프 히트 갱신신호를 액티브시키고; 스누프 단계가 완료된 경우 스누프 히트 갱신신호를 인액티브시키고; 적어도 두 개이상의 캐시에서 해당 데이터의 공유상태에 있을 경우 스누프 히트 갱신신호를 인액티브시키고; 상기 제 4, 제 5 플립플립으로부터 출력된 스누프 히트 및 스누프 히트 갱신신호가 액티브될 경우 해당 스누프 히트 갱신신호를 인액티브시킴을 특징으로 한다.The combining means also starts driving a snoop request cycle on the local bus to inactivate the snoop hit and snoop hit update signals hitip_, hitmip_ until the snoop request cycle is completed; Activate the snoop hit signal if the snoop request cycle is complete and the current cycle address does not belong to the cacheable address area; Activate the snoop hit and snoop hit update signals when the address strobe signal is activated; Inactive the snoop hit update signal when the snoop step is complete; Inactive the snoop hit update signal when the data is in the shared state in at least two caches; The snoop hit update signal is inactive when the snoop hit and the snoop hit update signals outputted from the fourth and fifth flip flips are activated.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 실시예에 따른 로컬버스의 스누프 단계 제어장치의 블록도로서, 이에 도시된 바와 같이 다수개의 프로세서(도면에 미도시)가 연결된 로컬버스(CPU 로컬버스)에서 구동되는 신호(ads_, bclk, hit_, hitm_, p6rstp_, a[35:3]_)를 각각 래치하여 출력하는 로컬버스 인터페이스부(110)와; 상기 로컬버스 인터페이스부(110)로부터 저장된 사이클 어드레스(a[35:3]_)를 디코딩하여 어느 어드레스 영역을 접근하는가를 검색하는 어드레스 디코더(120)와; 상기 로컬버스 인터페이스부(110)에 저장된 값에 따라 해당 상태값(dest[2:0])을 출력하는 상태 천이부(130)와; 시스템 버스상의 트랜잭션을 스누프 하여 상기 로컬버스를 통해 스누프 요청을 수행하는 스누프 요청부(140)와; 상기 시스템 버스의 접근을 제어함과 아울러 시스템 버스상의 해당 스누프 응답 완료(snrdy) 및 캐시 태그 상태값(shared 등)을 출력하는 시스템 제어부(150)와; 상기 상태 천이부(130), 상기 로컬버스 인터페이스부(110), 상기 어드레스 디코더(120), 스누프 요청부(150) 및 시스템 버스 제어부(160)에서 출력된 값을 각각 조합하여 로컬버스의 스누프 단계를 제어하는 스누프 제어부(140)로 구성된다.FIG. 2 is a block diagram of a snoop step control apparatus for a local bus according to an exemplary embodiment of the present invention, and as shown therein, a signal driven on a local bus (CPU local bus) to which a plurality of processors (not shown) are connected. a local bus interface 110 for latching and outputting (ads_, bclk, hit_, hitm_, p6rstp_, a [35: 3] _), respectively; An address decoder (120) which decodes the stored cycle address (a [35: 3] _) from the local bus interface unit (110) and searches which address area is accessed; A state transition unit 130 for outputting a corresponding state value dest [2: 0] according to a value stored in the local bus interface unit 110; A snoop request unit 140 for snooping a transaction on a system bus to perform a snoop request through the local bus; A system controller 150 for controlling access of the system bus and outputting a corresponding snoop response (snrdy) and a cache tag state value (shared, etc.) on the system bus; The state transition unit 130, the local bus interface unit 110, the address decoder 120, the snoop request unit 150, and the system bus controller 160 combine the values output from the local bus switch. It consists of a snoop control unit 140 for controlling the snoop phase.

여기서, 로컬버스 인터페이스부(110)는 도 3에 도시된 바와 같이 로컬버스 어드레스 스트로브 신호(ads_ : Address Strobe signal)를 로컬버스 클럭(bclk)에 동기시켜 일정주기 지연 출력(adsndd_)하도록 직렬 구성된 제 1 내지 제 3 플립플롭(111∼112)과; 상기 로컬버스 클럭(bclk)에 동기 시켜 로컬버스의 스누프 히트 신호(hit_ : Snoop Hit signal)를 일정주기 래치하여 출력(hitn_)하는 제 4 플립플롭(114)과; 상기 로컬버스 클럭(bclk)에 동기시켜 스누프 히트 갱신신호(hitm_ : snoop hit modified signal)를 일정주기 래치하여 출력(hitmn_)하는 제 5 플립플롭과; 상기 로컬버스 클럭(bclk)에 동기되어 입력되는 CPU 리세트 신호(p6rstp_)를 일정주기 래치하여 로컬버스로 리세트신호(reset_)를 출력하는 제 6 플립플롭(116)과; 상기 제 1 플립플롭(111)의 출력값에 의해 인에이블(ENA : Clock Enable))되고, 로컬버스의 어드레스(a[35:3]_)를 일정주기 래치하여 출력(addr[35:3])하는 제 7 플립플롭(117)으로 구성된다.Here, as shown in FIG. 3, the local bus interface unit 110 is serially configured to output a predetermined period delay output (adsndd_) by synchronizing a local bus address strobe signal (ads_: address strobe signal) to the local bus clock bclk. First to third flip-flops 111 to 112; A fourth flip-flop (114) which latches and outputs a snoop hit signal (hit_: Snoop Hit signal) of a local bus at a predetermined period in synchronization with the local bus clock bclk; A fifth flip-flop which latches and outputs a snoop hit modified signal (hitm_) for a predetermined period in synchronization with the local bus clock bclk; A sixth flip-flop (116) for latching the CPU reset signal (p6rstp_) inputted in synchronization with the local bus clock (bclk) for a predetermined period and outputting the reset signal (reset_) to the local bus; Enabled (ENA: Clock Enable) by the output value of the first flip-flop 111, and outputs by latching the address (a [35: 3] _) of the local bus for a predetermined period (addr [35: 3]). It consists of a seventh flip-flop 117.

또한 상기 상태 천이부(130)는 도 4에 도시된 바와 같이, 대기상태(dest[2:0] = IDLED)에서 상기 제 3 플립플롭(113)에서 출력되는 어드레스 스트로브신호(adsndd_)가 액트브(Low)될 경우 지연상태(dest[2:0] = DELAYD)로 천이한 후 다음 클럭 주기에서 더미상태(dest[2:0] = DUMMYD)로 천이하고, 상기 더미상태(DUMMYD)에서 스누프 단계가 완료된 경우(snrdy = High) 스누프 단계의 지연여부를 검지하는 제 1, 제 2 검지상태(dest[2:0] = CHK0D)(dest[2:0] = CHK1D)로 천이하고, 상기 제 2 검지상태(CHK1D)에서 스누프 히트 또는 스누프 히트 갱신신호가 인액티브(hitn_ = High)(hitmn_ = High)될 경우 상기 대기상태(IDLED)로 천이하도록 구성한다.In addition, as shown in FIG. 4, in the state transition unit 130, the address strobe signal adsndd_ outputted from the third flip-flop 113 in the standby state dest [2: 0] = IDLED is activated. (Low), transition to the delay state (dest [2: 0] = DELAYD), then transition to the dummy state (dest [2: 0] = DUMMYD) in the next clock period, and snoop in the dummy state (DUMMYD). When the step is completed (snrdy = High), the state transitions to the first and second detection states (dest [2: 0] = CHK0D) (dest [2: 0] = CHK1D), which detect whether or not the snoop step is delayed. In the second detection state CHK1D, when the snoop hit or the snoop hit update signal becomes inactive (hitn_ = High) (hitmn_ = High), the standby state IDLED is configured to transition to the standby state IDLED.

또한 상기 스누프 제어부(160)는 상기 상태 천이부(130)로부터의 상태값(dest[2:0])과, 상기 어드레스 디코더(120)로부터 사이클 어드레스의 접근 영역을 검지한 결과신호(smem)와, 상기 스누프 요청부(140)로부터 출력된 시스템 버스의 스누프 요청신호(snon)와, 상기 시스템 버스 제어부(150)로부터 출력된 시스템 버스의 스누프 응답완료 및 캐시 태그 상태값(snrdy)(shared)을 조합하여 로컬버스 스누프 단계 지연신호(hitip_)(hitmip_)를 발생하는 조합부(141)와; 상기 조합부(141)에서 출력된 값을 로컬버스 클럭(bclk)에 따라 일정주기 래치하여 출력(hiti_)(hitmi_)하는 플립플롭(162)과; 상기 플립플롭(162)에서 출력된 신호를 버퍼링하여 로컬버스로 스누프 지연신호(hit_)(hitmi_)를 출력하는 버퍼(GTL+ Buffer)(163)로 구성된다.In addition, the snoop control unit 160 detects a state value dest [2: 0] from the state transition unit 130 and a result signal (smem) of detecting an access area of a cycle address from the address decoder 120. And a snoop request signal snon of the system bus output from the snoop request unit 140, and a snoop response completion and cache tag state value snrdy of the system bus output from the system bus controller 150. a combination unit 141 which combines (shared) to generate a local bus snoop step delay signal hitip_hitmip_; A flip-flop (162) for latching a value output from the combination unit (141) for a predetermined period according to a local bus clock (bclk) and outputting (hiti_) (hitmi_); A buffer (GTL + Buffer) 163 which buffers the signal output from the flip-flop 162 and outputs a snoop delay signal hit_hitmi_ to the local bus.

또한 상기 조합부(160)는 도 5에 도시된 바와 같이, 로컬버스로 스누프 요청 사이클을 구동하기 시작하여 스누프 요청 사이클이 완료될 때까지(snon = High) 스누프 히트 및 스누프 히트 갱신신호(hitip_, hitmip_)를 인액티브(High)시키고; 상기 스누프 요청부(140)에서 스누프 요청 사이클의 완료신호(snon = Low)가 출력되고, 상기 어드레스 디코더(120)로부터 출력된 'smem' 신호가 하이(현재 사이클 어드레스가 캐시 가능한 어드레스 영역에 속하지 않을 경우)로 출력될 경우 스누프 히트신호를 액티브(hitip_ = Low)시키고; 상기 로컬버스 인터페이스부(110)로부터 출력된 어드레스 스트로브 신호(adsndd_)가 액티브(Low)될 경우 스누프 히트 및 히트 갱신신호를 액티브시키고; 스누프 단계가 완료된 경우 스누프 히트 갱신신호를 인액티브(hitmip_ = High)시키고; 적어도 두 개이상의 캐시에서 해당 데이터의 공유상태에 있을 경우 스누프 히트 갱신신호를 인액티브(hitmip_ = High)시키고; 상기 제 4, 제 5 플립플립(114)(115)으로부터 출력된 스누프 히트 및 스누프 히트 갱신신호가 액티브(hitn_ = Low)(hitmn_ = Low)될 경우 해당 스누프 히트 갱신신호를 인액티브(hitmip_)시키도록 조합회로를 구성한다.In addition, as shown in FIG. 5, the combination unit 160 starts driving a snoop request cycle on a local bus and updates snoop hits and snoop hits until the snoop request cycle is completed (snon = High). Inactive the signals hitip_ and hitmip_; The snoop request unit 140 outputs a completion signal of snoop request cycle (snon = Low), and the 'smem' signal output from the address decoder 120 is high (the current cycle address is cacheable in an address area). Activates the snoop hit signal (hitip_ = Low) when outputting the same; Activating a snoop hit and a heat update signal when the address strobe signal (adsndd_) output from the local bus interface unit (110) is activated (Low); Inactive (hitmip_ = High) when the snoop step is completed; Inactive (hitmip_ = High) when a snoop hit update signal is shared in at least two caches of corresponding data; When the snoop hit and the snoop hit update signals output from the fourth and fifth flip flips 114 and 115 are active (hitn_ = low) (hitmn_ = low), the snoop hit update signal is inactive ( The combination circuit is configured to hitmip_).

이와 같이 구성된 본 발명의 실시예에 따른 로컬버스의 스누프 단계 제어장치의 작용을 도 2 내지 도 5를 참조하여 상세히 설명하면 다음과 같다.The operation of the snoop step control device of the local bus according to the embodiment of the present invention configured as described above will be described in detail with reference to FIGS. 2 to 5.

먼저 본 발명은 도 2에 도시된 바와 같이 로컬버스는 최대 4개의 펜티움 프로(P6) CPU가 연결될 수 있다.First, as shown in FIG. 2, the local bus may connect up to four Pentium Pro CPUs.

이와 같은 로컬버스 상에서 구동되는 각 신호는 로컬버스 인터페이스부(110)에서 일시 저장하고, 필요한 블록에 해당 신호를 제공한다. 특히, 현재 진행중인 사이클의 어드레스는 클럭 인에이블 기능이 있는 디 플립플롭(D Flip Flop)을 사용하여 저장한다.Each signal driven on the local bus is temporarily stored in the local bus interface unit 110 and provides a corresponding signal to a required block. In particular, the address of the ongoing cycle is stored using a D Flip Flop with a clock enable function.

로컬버스 인터페이스부(110)에 대한 상세 회로는 도 3에 도시되어 있으며, 이를 참조하여 보다 상세히 설명하면 다음과 같다.A detailed circuit for the local bus interface unit 110 is shown in FIG. 3, which will be described in more detail with reference to the following.

각 플립플롭(111∼117)은 동일한 버스 클럭(bclk)을 사용하며, 로컬버스로부터의 어드레스 스트로브 신호(ads_)는 제 1 내지 제 3 플립플롭(111∼113)을 통해 'adsndd_'신호를 출력한다.Each flip-flop 111 to 117 uses the same bus clock bclk, and the address strobe signal ads_ from the local bus outputs an 'adsndd_' signal through the first to third flip-flops 111 to 113. do.

또한 'hit_, hitm_'신호는 각각 제 4, 제 5 플립플롭(114)(115)을 통해 해당 'hitn_, hitmn_'신호를 출력한다.In addition, the 'hit_, hitm_' signals output the corresponding 'hitn_, hitmn_' signals through the fourth and fifth flip-flops 114 and 115, respectively.

제 6 플립플롭(116)은 입력되는 'p6rstp_'신호를 래치하여 로컬버스의 리세트 신호(reset_)로 제공된다.The sixth flip-flop 116 latches the input 'p6rstp_' signal and provides the reset signal reset_ of the local bus.

한편 현재 진행중인 사이클 어드레스(a[35:3]_)는 제 7 플립플롭(117)을 통해 'addr[35:3]'을 출력한다. 여기서 제 7 플립플롭(117)의 클럭 인에이블(ENA) 신호는 상기 제 1 플립플롭(111)의 출력신호에 의해 제공된다. 이는 실제로 로컬버스상에서는 사이클 어드레스가 한 클럭 동안에만 구동되기 때문에 이러한 사이클 어드레스 저장장치가 필요하다.On the other hand, the ongoing cycle address a [35: 3] _ outputs 'addr [35: 3]' through the seventh flip-flop 117. The clock enable signal ENA of the seventh flip-flop 117 is provided by the output signal of the first flip-flop 111. This is actually necessary for such cycle address storage because the cycle address is only driven for one clock on the local bus.

어드레스 디코더(120)에서는 상기한 제 7 플립플롭(117)으로부터 출력된 사이클 어드레스(addr[35:3])는 디코딩하여 접근 어드레스가 캐시 메모리에 저장될 수 있는(Cacheable) 시스템 메모리의 어드레스 영역에 속하면, 'smem'신호를 하이로 구동한다.In the address decoder 120, the cycle address addr [35: 3] output from the seventh flip-flop 117 is decoded so that the access address is stored in the cache memory address area of the system memory. If it belongs, drive the 'smem' signal high.

상태 천이부(130)는 로컬버스 상에서 어드레스 스트로브 신호인 'ads_'가 로우로 구동된 후 제 3 플립플롭(113)에서 출력된 'adsndd_'신호가 로우로 구동될 경우와 'p6rstp_'신호가 로우로 액티브되어 로컬버스가 리세트될 경우 상태 천이(transition)를 시작하여 해당 상태를 8비트 데이터(dest[2:0])로 출력한다.In the state transition unit 130, the address strobe signal 'ads_' is driven low on the local bus, and then the 'adsndd_' signal output from the third flip-flop 113 is driven low and the 'p6rstp_' signal is low. When the local bus is reset when the local bus is activated, a state transition is started and the state is output as 8-bit data (dest [2: 0]).

즉, 도 4는 상태 천이부(130)의 상태 천이도로서, 이에 도시된 바와 같이 대기상태(IDLED)에서 'adsndd_'가 액티브(Low)될 경우 'DELAYD' 상태로 천이한다. 다음 클럭 주기에서 'dest[2:0]' 상태는 'DUMMYD'로 천이하고, 'DUMMYD' 상태에서 스누프 단계가 완료여부에 따라 다음상태 'CHK0D'로 천이한다. 즉, 스누프 단계가 완료되지 않은 경우를 나타내는 'snrdy' 신호가 로우일 경우에는 'DELAYD' 상태로 천이하여 스누프 단계가 완료될 때까지 대기한다.That is, FIG. 4 is a state transition diagram of the state transition unit 130. When the 'adsndd_' is activated in the standby state IDLED as shown in FIG. 4, the state transition unit 130 transitions to the 'DELAYD' state. In the next clock period, the 'dest [2: 0]' state transitions to 'DUMMYD', and in the 'DUMMYD' state, the snoop phase transitions to the next state 'CHK0D' depending on whether or not it is completed. That is, when the 'snrdy' signal indicating that the snoop step is not completed is low, the signal transitions to the 'DELAYD' state and waits until the snoop step is completed.

그리고, 'snrdy' 신호가 하이일 때에는 'CHK0D' 상태로 천이한다. 'CHK0D' 및 'CHK1D'의 상태는 스누프 사이클 동안 스누프 단계의 지연여부를 검지하는 상태이다. 즉, 'CHK1D' 상태에서 로컬버스의 제어신호 'hitn_' 및 'hitmn_'가 로우로 유지되는 동안에는 'dest[2:0]'의 상태는 계속 'CHK0D'로 천이하여 스누프 단계를 지연시키고, 'hitn_' 또는 'hitmn_'이 하이상태가 될 경우에는 'IDLED' 상태로 천이한다.When the 'snrdy' signal is high, the signal transitions to the 'CHK0D' state. The states of 'CHK0D' and 'CHK1D' are for detecting whether the snoop phase is delayed during the snoop cycle. That is, while the control signals 'hitn_' and 'hitmn_' of the local bus are kept low in the 'CHK1D' state, the state of 'dest [2: 0]' continuously transitions to 'CHK0D' to delay the snoop phase. When 'hitn_' or 'hitmn_' becomes high, the state transitions to 'IDLED'.

이와 같이 상태 천이부(130)에서 출력된 'dest[2:0]'신호가 'DUMMYD' 상태일 때 시스템 버스 상에서 해당 사이클의 스누프 응답이 종료됐는가를 검지한다. 만약 시스템 버스 상에서 해당 사이클의 스누프 응답이 종료됐다면, 시스템 버스 제어부(150)에서는 'snrdy' 신호가 하이로 구동된다.As described above, when the 'dest [2: 0]' signal output from the state transition unit 130 is in the 'DUMMYD' state, the snoop response of the corresponding cycle is detected on the system bus. If the snoop response of the corresponding cycle on the system bus is terminated, the 'snrdy' signal is driven high in the system bus controller 150.

또한 시스템 버스 제어부(150)에서는 캐시 태그 상태값인 'shared'를 출력하게 되는데, 이는 시스템 버스의 스누프 응답값에 따라 결정되며, 'shared'값이 하이이면, 해당 사이클의 캐시 태그 상태값이 공유(shared)상태가 된다. 즉, 두 개 이상의 캐시 메모리에서 해당 데이터를 공유(함께 저장함)하고 있게 된다.In addition, the system bus controller 150 outputs the cache tag status 'shared', which is determined according to the snoop response value of the system bus. When the 'shared' value is high, the cache tag status value of the corresponding cycle is It is shared. That is, the data is shared (stored together) in two or more cache memories.

한편, 스누프 요청부(140)에서는 시스템 버스상의 트랜잭션을 스누프하여 필요에 따라 로컬버스 상에 수누프 요청 사이클을 발생시킬 수 있다. 이때 스누프 요청부(130)에서 로컬버스로 스누프 요청 사이클을 구동하기 시작할 때부터 스누프 요청 사이클이 끝날 때까지 'snon'신호는 하이로 구동된다.Meanwhile, the snoop request unit 140 may snoop a transaction on the system bus and generate a snoop request cycle on the local bus as needed. At this time, the 'snon' signal is driven high from the time when the snoop request cycle starts from the snoop request cycle 130 to the local bus until the snoop request cycle ends.

또한 상기 'snon' 신호는 로컬버스상의 트랜잭션이 시스템 메모리를 접근하는 어드레스를 가진다 할지라도 스누프 요청부(130)에 의한 스누프 요청 사이클이라면 시스템 버스를 접근하지 않는다. 단, 스누프에 의한 라이트백(Write-back) 사이클이 발생하면 이 사이클은 시스템 버스 상에서 수행된다.In addition, the 'snon' signal does not approach the system bus if the snoop request cycle by the snoop request unit 130, even if the transaction on the local bus has an address to access the system memory. However, if a write-back cycle by snoop occurs, this cycle is performed on the system bus.

이와 같이 상기 로컬버스 인터페이스부(110)로부터 출력된 'adsndd_', 'hitn_', 'hitmn_' 신호와, 어드레스 디코더(120)로부터 출력된 'smem' 신호와, 상태 천이부(130)로부터 출력된 'dest[2:0]'과, 상기 스누프 요청부(140)로부터 출력된 'snon' 신호와, 상기 시스템 버스 제어부(150)로부터 출력된 'snrdy', 'shared' 신호를 조합논리에 따라 조합부(141)에서 조합하여 스누프 히트 및 스누프 히트 갱신신호(hitip_, hitmip_)를 발생한다.As such, the 'adsndd_', 'hitn_', and 'hitmn_' signals output from the local bus interface unit 110, the 'smem' signal output from the address decoder 120, and the state transition unit 130 are output. 'dest [2: 0]', the 'snon' signal output from the snoop request unit 140, and the 'snrdy' and 'shared' signals output from the system bus controller 150 according to a combinational logic. The combination unit 141 generates the snoop hit and the snoop hit update signals hitip_ and hitmip_ in combination.

도 5는 상기한 조합부(141)에 입력되는 각 신호를 조합하여 스누프 제어신호를 발생하는 신호 입출력도이다.5 is a signal input / output diagram for generating a snoop control signal by combining the signals input to the combination unit 141 described above.

또한 다음 표 1은 조합부(141)에 입력된 각 신호를 조합하여 스누프 제어신호를 출력하는 진리표로서, 이를 참조하여 보다 상세히 설명하면 다음과 같다.In addition, Table 1 is a truth table for outputting a snoop control signal by combining the signals input to the combination unit 141, which will be described in more detail with reference to the following.

[표 1]TABLE 1

Figure kpo00001
Figure kpo00001

여기서, "X"는 'Don't Care' 상태이다.Here, "X" is a 'Don't Care' state.

즉, 스누프 요청부(140)에서 출력된 'snon' 신호는 로컬버스의 스누프 요청 사이클을 구동하기 시작할 때부터 스누프 요청 사이클이 완료될 때까지 하이를 유지하여 조합부(160)의 출력신호 'hitip_' 및 'hitmip_' 신호를 하이로 인액티브시킨다. 스누프 요청 사이클이 완료되어 'snon' 신호가 로우를 유지하게 되면 조합부(140)에 인가되는 각각의 제어신호에 의해서 'hitip_' 및 'hitmip_' 신호가 발생된다.That is, the 'snon' signal output from the snoop request unit 140 is kept high until the snoop request cycle is completed from the start of driving the snoop request cycle of the local bus to output the combination unit 160. Inactivate the signals 'hitip_' and 'hitmip_' signals high. When the snoop request cycle is completed and the 'snon' signal remains low, 'hitip_' and 'hitmip_' signals are generated by the respective control signals applied to the combination unit 140.

먼저, 로컬버스 인터페이스부(110)의 제 3 플립플롭(113)에서 출력된 'adsndd_' 신호가 로우일 경우에는 상태 천이부(130)의 'dest[2:0]'이 'DELAYD' 상태값을 출력하기 때문에, 즉 스누프 단계가 지연되고 있으므로 조합부(141)의 출력신호 'hitip_' 및 'hitmip_'는 로우로 액티브된다. 이때, 'hitip_' 신호는 스누프 요청부(140)로부터 출력된 'snon' 신호가 로우이고, 어드레스 디코더(120)로부터의 'smem' 신호가 하이일 경우에는 출력신호 'hitip_'는 다른 신호와 관계없이 항상 로우로 액티브된다.First, when the 'adsndd_' signal output from the third flip-flop 113 of the local bus interface unit 110 is low, 'dest [2: 0]' of the state transition unit 130 is a 'DELAYD' state value. The output signals 'hitip_' and 'hitmip_' of the combination unit 141 are activated low because the snoop phase is delayed. In this case, the 'hitip_' signal is low when the 'snon' signal output from the snoop request unit 140 is low, and the 'smem' signal from the address decoder 120 is high. Always active low regardless.

스누프 단계가 완료되지 않은 경우를 나타내는 제어신호 'snrdy' 신호가 로우일 경우에는 'hitmip_' 신호가 로우로 액티브되고, 스누프 단계가 완료된 경우, 즉 시스템 버스 제어부(150)로부터 출력된 'snrdy'가 하이인 경우에는 'hitmip_' 신호는 하이로 인액티브된다.When the control signal 'snrdy' signal indicating that the snoop phase is not completed is low, the 'hitmip_' signal is activated low, and when the snoop phase is completed, that is, 'snrdy' output from the system bus controller 150. If 'is high, the' hitmip_ 'signal is inactive high.

또한, 'dest[2:0]'이 'CHK1D' 상태를 갖는 경우에는 제 4, 제 5 플립플롭(114)(115)에서 각각 출력된 'hitn_' 및 'hitmn_' 신호가 로우로 구동될 경우 'hitmip_' 신호는 하이로 인액티브된다.In addition, when 'dest [2: 0]' has a 'CHK1D' state, when 'hitn_' and 'hitmn_' signals output from the fourth and fifth flip-flops 114 and 115 are driven low, respectively. The 'hitmip_' signal is inactive high.

이와 같이 조합부(161)에서 발생된 'hitip_' 및 'hitmip_' 신호는 플립플롭(162)과 버퍼(GTL+ Buffer)(163)를 통해 로컬버스로 제어신호 'hit_' 및 'hitm_' 신호가 구동된다.The 'hitip_' and 'hitmip_' signals generated by the combination unit 161 are driven by the control signals 'hit_' and 'hitm_' signals to the local bus through the flip-flop 162 and the buffer (GTL + Buffer) 163. do.

본 발명은 이상에서 설명한 바와 같이 로컬버스의 트랜잭션이 스누프 요청 사이클이 아니고, 시스템 메모리에 접근하는 어드레스일 경우 로컬버스상의 스누프 단계를 시스템 버스 상에서 해당 사이클의 스누프 응답이 끝날 때까지 지연시키도록 함으로써, 펜티움 프로(P6)를 CPU로 사용하는 멀티 프로세서의 로컬버스와 시스템 버스 사이의 인터페이스 로직으로 사용할 수 있는 효과가 있다.As described above, the present invention delays the snoop step on the local bus until the snoop response of the corresponding cycle is completed on the system bus when the transaction on the local bus is not a snoop request cycle but an address accessing the system memory. By doing so, the Pentium Pro (P6) can be used as an interface logic between the local bus and the system bus of a multiprocessor using the CPU.

Claims (5)

다수개의 프로세서가 연결된 로컬버스에서 구동되는 트랜잭션 신호를 일정시간 지연 출력하는 로컬버스 인터페이스수단과; 상기 로컬버스 인터페이스수단으로부터 출력되는 어드레스 스트로브 신호가 구동됨에 따라 스누프 응답단계를 조사하여 해당 상태값을 출력하는 상태 천이수단과; 상기 로컬버스 인터페이스수단에서 처리된 로컬버스의 구동신호와, 상기 상태 천이수단으로부터 출력된 상태값과, 사이클 어드레스의 접근 영역을 검지한 결과신호와, 시스템 버스로부터의 스누프 요청신호와, 시스템 버스의 스누프 응답 및 스누프 단계 완료신호를 각각 조합하여 로컬버스의 스누프 단계를 제어하는 스누프 제어수단을 포함하여 구성된 것을 특징으로 하는 로컬버스의 스누프 단계 제어장치.Local bus interface means for outputting a predetermined time delay of a transaction signal driven on a local bus to which a plurality of processors are connected; State transition means for investigating a snoop response step as the address strobe signal output from the local bus interface means is output and outputting a corresponding state value; A drive signal of a local bus processed by the local bus interface means, a state value output from the state transition means, a result signal of detecting an access area of a cycle address, a snoop request signal from a system bus, and a system bus And a snoop control means for controlling a snoop step of the local bus by combining a snoop response and a snoop step completion signal, respectively. 제 1 항에 있어서, 상기 로컬버스 인터페이스수단은 로컬버스 어드레스 스트로브 신호를 로컬버스 클럭에 동기시켜 일정주기 지연 출력하도록 직렬 구성된 제 1 내지 제 3 플립플롭과; 상기 로컬버스 클럭에 동기시켜 로컬버스의 스누프 히트 신호를 일정주기 래치하여 출력하는 제 4 플립플롭과; 상기 로컬버스 클럭에 동기시켜 스누프 히트 갱신신호를 일정주기 래치하여 출력하는 제 5 플립플롭과; 상기 로컬버스 클럭에 동기시켜 CPU 리세트 상태신호를 일정주기 래치하여 리세트신호를 출력하는 제 6 플립플롭과; 상기 제 2 플립플롭의 출력값에 의해 인에이블되고, 로컬버스의 어드레스를 일정주기 래치하여 출력하는 제 7 플립플롭으로 구성된 것을 특징으로 하는 로컬버스의 스누프 단계 제어장치.2. The apparatus of claim 1, wherein the local bus interface means comprises: first to third flip-flops serially configured to output a predetermined period delay in synchronization with a local bus address strobe signal; A fourth flip-flop that latches and outputs a snoop hit signal of a local bus in synchronization with the local bus clock; A fifth flip-flop configured to latch and output a snoop hit update signal by a predetermined period in synchronization with the local bus clock; A sixth flip-flop configured to output a reset signal by latching a CPU reset state signal for a predetermined period in synchronization with the local bus clock; And a seventh flip-flop, which is enabled by an output value of the second flip-flop and configured to output a latched address of the local bus by a predetermined period. 제 1 항에 있어서, 상기 상태 천이수단은 대기상태에서 어드레스 스트로브신호가 액트브될 경우 지연상태로 천이한 후 다음 클럭 주기에서 더미상태로 천이하고, 상기 더미상태에서 스누프 단계가 완료된 경우 스누프 단계의 지연여부를 검지하는 제 1, 제 2 검지상태로 천이하고, 상기 제 2 검지상태에서 스누프 히트 또는 스누프 히트 갱신신호가 인액티브될 경우 대기상태로 천이함을 특징으로 하는 로컬버스의 스누프 단계 제어장치.The method of claim 1, wherein the state transition means transitions to a delay state when the address strobe signal is activated in a standby state, and then transitions to a dummy state in a next clock period, and snoops when the snoop step is completed in the dummy state. Transition to the first and second detection state for detecting the delay of the step, and transitions to the standby state when the snoop hit or snoop hit update signal is inactive in the second detection state Snoopy step control. 제 1 항에 있어서, 상기 스누프 제어수단은 상기 상태 천이수단으로부터의 상태값과, 어드레스 디코더로부터의 저장된 사이클 어드레스의 접근 영역을 검지한 결과신호와, 스누프 요청부로부터 출력된 시스템 버스의 스누프 요청신호와, 시스템 버스 제어부로부터 출력된 시스템 버스의 스누프 응답완료 및 캐시 태그 상태값을 조합하여 로컬버스 스누프 단계 지연신호를 발생하는 조합수단과; 상기 조합수단에서 출력된 값을 로컬버스 클럭에 따라 일정주기 래치하는 플립플롭과; 상기 플립플롭에서 출력된 신호를 버퍼링하여 로컬버스로 스누프 제어신호를 출력하는 버퍼로 구성된 것을 특징으로 하는 로컬버스의 스누프 단계 제어장치.2. The snoop control means according to claim 1, wherein said snoop control means detects a state value from said state transition means, a result signal of detecting an access area of a stored cycle address from an address decoder, and a snoop of a system bus output from a snoop request unit. Combining means for generating a local bus snoop step delay signal by combining a snoop request signal with a snoop response completion of the system bus and a cache tag state value output from the system bus controller; A flip-flop which latches a value output from the combining means in a predetermined period according to a local bus clock; And a buffer for buffering the signal output from the flip-flop and outputting a snoop control signal to a local bus. 제 2 항 내지 제 4 항중 어느 한 항에 있어서, 조합수단은 로컬버스로 스누프 요청 사이클을 구동하기 시작하여 스누프 요청 사이클이 완료될 때까지 스누프 히트 및 스누프 히트 갱신신호(hitip_, hitmip_)를 인액티브시키고; 스누프 요청 사이클이 완료되고, 현재 사이클 어드레스가 캐시 가능한 어드레스 영역에 속하지 않을 경우 히트신호를 액티브시키고; 어드레스 스트로브 신호가 액티브될 경우 히트 및 히트 갱신신호를 액티브시키고; 스누프 단계가 완료된 경우 스누프 히트 갱신신호를 인액티브시키고; 적어도 두 개이상의 캐시 메모리에서 해당 데이터의 공유상태에 있을 경우 스누프 히트 갱신신호를 인액티브시키고; 상기 제 4, 제 5 플립플립으로부터 출력된 스누프 히트 또는 스누프 히트 갱신신호가 액티브될 경우 스누프 히트 갱신신호를 인액티브시킴을 특징으로 하는 로컬버스의 스누프 단계 제어장치.The snoop hit and snoop hit update signals (hitip_, hitmip_) according to any one of claims 2 to 4, wherein the combining means starts driving the snoop request cycle on the local bus until the snoop request cycle is completed. Inactive); Activate the hit signal when the snoop request cycle is complete and the current cycle address does not belong to the cacheable address area; Activate the hit and hit update signals when the address strobe signal is activated; Inactive the snoop hit update signal when the snoop step is complete; Inactive the snoop hit update signal when the data is in a shared state in at least two cache memories; And a snoop hit update signal inactive when a snoop hit or a snoop hit update signal output from the fourth and fifth flip flips is activated.
KR1019970008647A 1997-03-14 1997-03-14 The device for snoop phase control of local bus KR100248630B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970008647A KR100248630B1 (en) 1997-03-14 1997-03-14 The device for snoop phase control of local bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970008647A KR100248630B1 (en) 1997-03-14 1997-03-14 The device for snoop phase control of local bus

Publications (2)

Publication Number Publication Date
KR19980073407A KR19980073407A (en) 1998-11-05
KR100248630B1 true KR100248630B1 (en) 2000-03-15

Family

ID=19499725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970008647A KR100248630B1 (en) 1997-03-14 1997-03-14 The device for snoop phase control of local bus

Country Status (1)

Country Link
KR (1) KR100248630B1 (en)

Also Published As

Publication number Publication date
KR19980073407A (en) 1998-11-05

Similar Documents

Publication Publication Date Title
JP3787155B2 (en) Multiple processing cache coherency protocol on local bus
US5341487A (en) Personal computer having memory system with write-through cache and pipelined snoop cycles
US5787486A (en) Bus protocol for locked cycle cache hit
JP2717752B2 (en) Processor
US5581727A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
US5426765A (en) Multiprocessor cache abitration
US6151658A (en) Write-buffer FIFO architecture with random access snooping capability
US5829027A (en) Removable processor board having first, second and third level cache system for use in a multiprocessor computer system
US5485592A (en) Write back cache controller method and apparatus for use in a system having a CPU with internal cache memory
US5724550A (en) Using an address pin as a snoop invalidate signal during snoop cycles
EP0514050B1 (en) Control circuit for dual port memory
JPH0271344A (en) Micro-computer-system
US5748938A (en) System and method for maintaining coherency of information transferred between multiple devices
KR100248630B1 (en) The device for snoop phase control of local bus
CA2113867C (en) Method and system for enhanced efficiency of data transfers from memory to multiple processors in a data processing system
JP3202943B2 (en) Processing apparatus and improved apparatus and method for snooping a lookaside cache
US5781925A (en) Method of preventing cache corruption during microprocessor pipelined burst operations
JP3964049B2 (en) Microprocessor
US5652846A (en) Bus deadlock prevention circuit for use with second level cache controller
KR100251784B1 (en) Method and apparatus for providing a readable and writable cache tag memory
US6385703B1 (en) Speculative request pointer advance for fast back-to-back reads
KR100433511B1 (en) Snooping apparatus for cache cohecence
JPH07210464A (en) Method and apparatus for storage of cache
KR100258026B1 (en) Method and apparatus for transaction controlling of multi-processor system
KR100258027B1 (en) The method and apparatus for transaction controlling of multi-processor system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee