Movatterモバイル変換


[0]ホーム

URL:


KR920009192B1 - Sub-unit for snoop interface - Google Patents

Sub-unit for snoop interface
Download PDF

Info

Publication number
KR920009192B1
KR920009192B1KR1019890019507AKR890019507AKR920009192B1KR 920009192 B1KR920009192 B1KR 920009192B1KR 1019890019507 AKR1019890019507 AKR 1019890019507AKR 890019507 AKR890019507 AKR 890019507AKR 920009192 B1KR920009192 B1KR 920009192B1
Authority
KR
South Korea
Prior art keywords
control signal
signal line
snoop
local
asserted
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
KR1019890019507A
Other languages
Korean (ko)
Other versions
KR910012874A (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 재단법인한국전자 통신연구소, 경상현filedCritical재단법인한국전자 통신연구소
Priority to KR1019890019507ApriorityCriticalpatent/KR920009192B1/en
Publication of KR910012874ApublicationCriticalpatent/KR910012874A/en
Application grantedgrantedCritical
Publication of KR920009192B1publicationCriticalpatent/KR920009192B1/en
Expiredlegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

내용 없음.No content.

Description

Translated fromKorean
다중처리 시스템의 스눕 인터페이스 방법 및 그 장치Snoop interface method and apparatus thereof in multiprocessing system

제 1도는 본 발명의 회로도.1 is a circuit diagram of the present invention.

제 2도는 본 발명의 스눕 인터페이스 콘트롤러의 기능을 나타낸 블럭도.2 is a block diagram showing the functions of the snoop interface controller of the present invention.

제 3도는 본 발명의 스눕 인터페이스 콘트롤러가 글로벌 데이터의 엑세스를 시도하는 과정을 나타낸 플로우 챠트.3 is a flowchart illustrating a process in which the snoop interface controller of the present invention attempts to access global data.

제 4도는 본 발명의 스눕 인터페이스 콘트롤러가 글로벌 신호를 받은 상태의 과정을 나타낸 플로우 챠트.4 is a flowchart illustrating a process of a snoop interface controller according to the present invention receiving a global signal.

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

1, 10 : 보드 2, 3, 11, 12 : 캐쉬 메모리1, 10:boards 2, 3, 11, 12: cache memory

4, 5, 13, 14 : 어드레스 래치 6, 15 : 라인 선택부4, 5, 13, 14: address latch 6, 15: line selector

7, 16 : 스눕 인터페이스 서브 유니트 8 : 공유 메모리7, 16: snoop interface subunit 8: shared memory

본 발명은 다중 처리 시스템에서의 스눕 인터페이스(Snoop Interface)에 관한 것으로, 특히 캐쉬 코히어런스(Cache Coherence) 프로토콜을 로컬버스의 차원이 아닌 시스템 버스의 차원에서 이루어지도록 한 스눕 인터페이스 방법 및 그 장치에 관한 것이다.The present invention relates to a snoop interface in a multi-processing system, and more particularly, to a snoop interface method and apparatus for caching a cache coherence protocol in a system bus rather than a local bus. It is about.

다중 처리 시스템의 프로세서에 정의한 캐쉬 코히어런스에서는 로컬버스를 스누핑(snooping) 하는 기능이 포함되어 있었다. 그러나 하나의 보드(board)에 두 개의 프로세서 모듈이 서로 독립적으로 존재하고, 이에 따라 로컬 버스도 서로 분리되어 있는 상태이므로, 캐쉬 메모리의 내용과 주기억 장치(main memory)인 공유 메모리의 내용을 일치시키기 위하여(즉, 캐쉬 코히어런스를 위하여) 스누핑(Snooping) 한다는 것은 의미가 없다.Cache coherence, defined for processors in multiprocessing systems, included the ability to snoop on the local bus. However, since two processor modules exist on a board independently of each other, and the local buses are separated from each other, the contents of the cache memory and the shared memory that is the main memory are matched. It doesn't make sense to snoop for you (i.e. for cache coherence).

더우기, 다중 처리 시스템의 전체 구성으로 볼 때 각 프로세서 모듈이 속한 로컬버스는 전체 시스템이 공유하는 버스가 아니기 때문에 스누핑의 의미가 없게 된다.In addition, the overall configuration of a multi-processing system makes the local bus to which each processor module belong is not a bus shared by the entire system, which makes no sense of snooping.

이에 따라 본 발명은 캐쉬 코히어런스 프로토콜(cache coherence protocol)이 시스템 버스의 차원에서 이루어지도록 하는 스눕 인터페이스 방법 및 그 장치를 제공하는 것을 목적으로 한다.Accordingly, an object of the present invention is to provide a snoop interface method and apparatus for allowing a cache coherence protocol to be implemented in the dimension of a system bus.

본 발명은 첨부 도면에 의거 상세히 기술하여 보면 다음과 같다.The present invention will be described in detail with reference to the accompanying drawings.

제 1도는 본 발명의 개략적인 구성을 나타낸 것으로 동일한 보드 내에 존재하면서도 다른 로컬버스에 연결된 캐쉬 메모리에 대해서도, 다른 보드에 존재하는 캐쉬 메모리와 동일한 차원에서 스눕 인터페이스 서브 유니트를 통하여 캐쉬 코히어런시(cachy coherency)가 성립되는 과정을 나타낸 것이다.FIG. 1 is a schematic diagram of the present invention. For cache memory existing on the same board and connected to another local bus, cache coherency (Snop interface subunit) is provided through the snoop interface subunit in the same dimension as the cache memory existing on another board. cachy coherency) is shown.

두 개의 보드(1) (10)에 각각 두 개씩의 프로세서 모듈(도시되지 않음)이 존재하므로 각각 두 개씩의 캐쉬 메모리(2), (3)와 (11), (12)를 위치시키고, 각각의 캐쉬 메모리(2), (3), (11), (12)에서는 양 방향성의 어드레스래치(4), (5), (13), (14)를 거치고 라인 선택부(6), (15)를 경유하여 시스템 버스(100)와 연결하며, 시스템 버스(100)를 통하여 연결되는 공유메모리(8)는 물론, 보드(1), (10) 내의 캐쉬 메모리와 어드레스 래치 및 라인 선택부로 콘트롤 신호를 출력하는 두 스눕 인터페이스 콘트롤러(7), (16)에서는 상호간에도 콘트롤 신호를 주고 받는다.Since two processor modules (not shown) exist on each of the two boards (1) and (10), two cache memories (2), (3), (11), and (12), respectively, are placed. In the cache memory (2), (3), (11), (12) through the address latches (4), (5), (13), (14) of the bidirectional line selection section (6), (15) The control signal is connected to thesystem bus 100 via thesystem bus 100 and the cache memory and the address latch and line selector in theboards 1 and 10 as well as the sharedmemory 8 connected through thesystem bus 100. In the two snoop interface controller (7), 16 that outputs the control signal to each other.

제 2도는 스눕 인터페이스 콘트롤러(7, 16)의 기능을 나타낸 것으로, 스눕 인터페이스 콘트롤러는 로컬버스 매스터(local bus master) 중 어느 하나(예를 들면, 캐쉬 메모리)가 글로벌 정보(global data)를 로우드(Load) 또는 기억(store)하기 위하여 주기억장치인 공유메모리(8)를 호출하면, 동시에 어서트(assert)하기 위한 콘트롤 신호(G1), (G2)와 로컬버스를 로크(Lock)하기 위한 콘트롤 신호(LK1), (LK2) 및 인텐트 투 모디 파이(Intent to modify)에 의한 읽기와 쓰기를 수행하기 위한 콘트롤 신호(IM1), (IM2)를 시스템 버스(100)가 동시에 로우딩(loading)해야 함으로써 파생되는 전송부하를 줄이기 위하여 스눕 인터페이스 콘트롤러(7, 16) 내의 양 방향성 버퍼(도시되지 않음)를 통하여 시스템 버스(100)의 G 신호선, LK 신호선 및 IM 신호선과 연결하고, 보드 내의 로컬버스 상태 신호선(LSTx)과 보드와 보드 사이의 시스템 버스 상태 신호선(SSTx)도 양 방향성 버퍼를 이용하여 연결한다.FIG. 2 shows the functions of thesnoop interface controllers 7 and 16. The snoop interface controller has one of the local bus masters (e.g., a cache memory) configured to log global data. When the sharedmemory 8, which is the main memory, is called to load or store, the control signals G1 and G2 for locking at the same time and the control for locking the local bus. Thesystem bus 100 simultaneously loads the control signals IM1 and IM2 for reading and writing by the signals LK1, LK2 and Intent to modify. In order to reduce the transmission load which is derived by the connection, the G bus signal line, the LK signal line, and the IM signal line of thesystem bus 100 are connected through a bidirectional buffer (not shown) in thesnoop interface controllers 7 and 16, and the local bus in the board is connected. Status signal line (LSTx) System bus state signal line (SSTx) between the board and the board are connected by using a bilateral buffer.

여기서 ainq1, 2는 스누핑을 위하여 시스템 버스(100)의 신호선으로부터 들어온 어드레스 값을 로컬버스 콘트롤 서브 유니트 내에 있는 어드레서 래치(4, 5, 13, 14)에 입력시키기 위한 콘트롤 신호이며, aid11, 2는 어드래스 래치(4, 5, 13, 14)에 입력된 어드레스 값을 로컬버스로 출력시키기 위한 콘트롤 신호이며, select-snoop-path1, 2는 시스템 버스(100) 어드레스 신호선으로부터 주어진 어드레스 값을 보드(1, 10) 내로 입력시키는 경로를 라인 선택부(6, 15)를 통해 만들어 주기 위한 콘트롤 신호로서, 이 신호 1, 2는 시스템 버스(100)의 어드레스 신호선과 각 보드(1), (10) 내의 두 어드레스 래치(4, 4), (13, 14) 간의 경로를 형성하기 위해 라인 선택부(6, 15)의 두 어드레스 경로 중 프로세서 어느 하나 또는 둘 다 논리적으로 연결시키기 위한 신호이다.Here, ainq1 and 2 are control signals for inputting address values input from the signal line of thesystem bus 100 to theaddress latch 4, 5, 13, and 14 in the local bus control subunit for snooping. Is a control signal for outputting the address value input to theaddress latches 4, 5, 13, and 14 to the local bus, and select-snoop-path 1 and 2 are boards of the address value given from thesystem bus 100 address signal line. As a control signal for making a path to be input into (1, 10) through the line selector 6, 15, thesignals 1, 2 are the address signal lines of thesystem bus 100 and therespective boards 1, (10). Is a signal for logically connecting either or both of the processors of the two address paths of the line selector 6, 15 to form a path between the twoaddress latches 4, 4, 13, 14 in Fig. 2).

그리고 snooping 신호는 현재 스누핑 동작이 수행 중에 있음을 로컬버스 사이클 콘트롤러(도시되지 않음)와 시스템 버스 사이클 콘트롤러(도시되지 않음)에게 알려주는 신호이다.The snooping signal is a signal informing the local bus cycle controller (not shown) and the system bus cycle controller (not shown) that a snooping operation is currently being performed.

그러므로 어느 하나의 로컬버스 매스터가 글로벌 정보를 로우드하거나 기억하기 위하여 공유메모리(8)를 억세스하게 되면 G 신호선 (또는/과 IM 신호선)이 어서트 된다.Therefore, when any local bus master accesses the sharedmemory 8 to load or store global information, the G signal line (or / and IM signal line) is asserted.

그 신호는 즉시 같은 보드(1) 내의 스눕 인터페이스 콘트롤러(7)로 전달되고, 그에 따라 스눕 인터페이스 콘트롤러(7)는 동일 보드(1)내의 다른 로컬 버스와의 어드레스 경로를 구성하기 위한 콘트롤 신호(select-snoop-path 2)를 라인 선택부(6)로 보낸다.The signal is immediately passed to the snoop interface controller 7 in thesame board 1, so that the snoop interface controller 7 selects a control signal for configuring an address path with another local bus in thesame board 1. -snoop-path 2) is sent to the line selector 6.

그리고 어드레스의 역 방향 전달이 이루어지도록 어드레스래치(4), (5)를 구동하는 콘트롤 신호(ainq)(aidq)를 보낸다. 그와 동시에 다른 로컬 버스의 G 신호선과 시스템 버스의 G 신호선을 어서트시키고, 이 경우에는 캐쉬 코히어런스를 위해 사용되는 다른 콘트롤 신호(LK) (IM)에 대해서도 동일한 방법으로 시스템 전체의 각 로컬 버스로 전달된다.Then, a control signal (ainq) (aidq) for driving the address latches (4) and (5) is sent to reverse the transfer of the address. At the same time, it asserts the G signal line of the other local bus and the G signal line of the system bus, in which case each local throughout the system in the same way for the other control signal (LK) (IM) used for cache coherence. Delivered by bus.

한편, 다른 보드(10)에 있는 스눕 인터페이스 콘트롤러(16)는 시스템 버스 G 신호선이 어서트되면, 즉시 두 로컬버스에 속한 G 신호선을 어서트 시키는 동시에, 시스템 버스의 어드레스 신호선이 두 로컬버스의 어드레스 신호선으로 동시에 연결되는 경로를 만들어 주기 위한 콘트롤 신호(select-snoop-path 1과 2)를 라인 선택부(15)로 보낸다.On the other hand, when the system bus G signal line is asserted, thesnoop interface controller 16 on theother board 10 immediately asserts the G signal lines belonging to the two local buses, while the address signal lines of the system bus are the addresses of the two local buses. The control signal (select-snoop-path 1 and 2) for making a path connected to the signal line at the same time is sent to the line selector 15.

그리고 어드레스 래치(13), (14) 들의 역 방향 전달이 이루어지도록 해당 콘트롤 신호(ainq) (aidq)를 보낸다. 그러면 다른 프로세서에서는 현재 진행중인 트랜잭션(transaction)을 중단하고 이를 우선적으로 처리한다.Then, a corresponding control signal (aidq) (aidq) is sent so that reverse transfer of the address latches (13) and (14) is performed. The other processor then aborts the current transaction and processes it first.

한편 콘트롤 신호(G)를 받은 각 캐쉬 메모리(2), (3) (11), (12)는 자신에 연결된 p-버스(private-bus)에서 수행되고 있는 상태를 알려주기 위한 신호(reply)의 신호선과 로컬버스의 상태 신호선(STx)을 통하여 "WAIT" 신호를 보낸다.On the other hand, each of the cache memories (2), (3) (11), and (12) receiving the control signal (G) is a signal for informing the status of being performed on the private bus connected to it. It sends 'WAIT' signal through the signal line of and the status signal line (STx) of the local bus.

만약, 이때 로컬 버스의 전달 과정에서 에러가 발생하였다면 로컬버스 상태 신호선(STx)의 에러 발생 신호선을 어서트하고, 원래 수행하던 동력으로 되돌아간다. 로컬버스의 전달과정에서 에러가 발생하지 않았다면 캐쉬 메모리의 태그(tag)를 검사하여 스누핑의 히트(hit) 또는 미스(miss)의 여부를 확인하고 미스인 경우에는 로컬버스의 상태 신호선(STx)의 사이클 종료 신호선(OK)을 어서트하지만, 히트인 경우에는 히트된 캐쉬엔트리(cache entry)의 상태에 따라 로컬버스의 상태 신호선(STx)의 재시도 신호선(Retry)를 어서트 하여 재시도를 요구하거나, 로컬버스의 상태 신호선(STx)의 사이클 종료 신호선(OK)을 어서트하고, 히트된 캐쉬엔트리의 상태 비트를 캐쉬 코히어런스 프로토콜에 맞게 변경한다.If an error occurs in the transfer process of the local bus at this time, the error occurrence signal line of the local bus status signal line STx is asserted, and the power is returned to the original power. If there is no error in the local bus transfer, check the tag of cache memory to check whether it is hit or miss of snooping. In case of miss, the status signal line (STx) of local bus The cycle end signal line OK is asserted, but in the case of a hit, the retry signal line Retry of the status signal line STx of the local bus is asserted according to the state of the hit cache entry, and a retry is requested. Alternatively, the cycle end signal line OK of the state signal line STx of the local bus is asserted, and the status bit of the hit cache entry is changed to match the cache coherence protocol.

이에 따라 각 캐쉬 메모리에서 어서트 된 로컬버스의 상태 신호선(STx)을 글로벌데이타 액세스를 시도했던 캐쉬 메모리까지 전달할 수 있는 직접 경로가 필요하게 되고, 이 로컬버스의 상태 신호선(STx)에 모든 캐쉬 메모리의 상태 신호선(STx)이 공동으로 연결되어야 하므로 로우딩의 문제가 발생할 수 있다.This requires a direct path from each cache memory to the asserted local bus status signal line (STx) to the cache memory that attempted to access the global data, and all cache memory on the local bus status signal line (STx). Since the state signal lines STx must be jointly connected, a problem of loading may occur.

그러므로 보드와 보드 사이의 연결은 버퍼를 통하여 연결하고, 이 버퍼를 스눕 인터페이스 콘트롤러 내에서 구현하게 되면 로컬 버스의 상태 신호선(STx)에서의 상호전달을 계층 구조를 갖게 된다.Therefore, the board-to-board connection is made through a buffer, and when this buffer is implemented in the snoop interface controller, it has a hierarchical structure of intercommunication on the status signal line (STx) of the local bus.

즉, 보드 내의 로컬버스의 상태 신호선(LSTx)은 스눕 인터페이스 콘트롤러에게로만 전달되고, 보드와 보드 사이의 상태 신호선(SSTx)은 각 보드의 스눕 인터페이스 콘트롤러들 사이에서 신호 전달이 이루어지도록 한다.That is, the status signal line LSTx of the local bus in the board is transmitted only to the snoop interface controller, and the status signal line SSTx between the board and the board allows signal transmission between snoop interface controllers of each board.

제 3도는 스눕 인터페이스 콘트롤러(7, 16)가 글로벌 데이터의 액세스를 시도하는 과정으로 나타낸 것으로, 글로벌 호출을 시도한 캐쉬 메모리와 같은 보드에 있는 스눕 인터페이스 콘트롤러의 기능을 나타낸 것이다.3 illustrates the process ofsnoop interface controllers 7 and 16 attempting to access global data. Thesnoop interface controller 7 and 16 illustrate the function of the snoop interface controller on the same board as the cache memory that attempted the global call.

공유메모리(8)를 호출하면 어서트 되는 콘트롤 신호(G1)와, 로컬버스를 로크 하기 위한 콘트롤 신호(LK1)와, 인텐트 투 모디파이에 의한 읽기와 쓰기를 수행할 때 어서트 되는 콘트롤 신호(LM1) 중 하나가 입력되면 (단계 20), 같은 보드 내의 다른 프로세서 모듈로의 경로를 만들어 주기 위한 콘트롤 신호 즉, 라인 선택부로 어드레스 경로를 형성하기 위해 출력되는 콘트롤 신호(select-snoop-path 2)와, 콘트롤 신호(G2), 콘트롤 신호(LK2), (IM2) 중 하나와, 어드레스 래치에 입력시키기 위한 콘트롤 신호(ainq2) 및 로컬버스로 출력시키기 위한 콘트롤 신호(aidq2)를 출력하면서 신호선(G)와 신호선(LK) 또는 (IM) 중 하나를 어서트하는 경로 조절 기능을 한다(단계 21).The control signal G1 asserted when the sharedmemory 8 is called, the control signal LK1 for locking the local bus, and the control signal asserted when reading and writing by intent-to-modify When one of the signals LM1 is input (step 20), a control signal for creating a path to another processor module in the same board, that is, a control signal output to form an address path to the line selector (select-snoop-path 2). ), One of the control signal G2, the control signal LK2, and the IM2, the control signal ainq2 for input to the address latch, and the control signal aidq2 for output to the local bus, A path adjustment function for asserting one of G) and the signal line LK or IM is performed (step 21).

그리고 시스템 버스 레벨의 상태 정보인 모드간의 시스템 버스 상태 신호선(SSTx)이 어서트 되기를 기다리다가 어서트 되면(단계 22), 전달 상태의 에러 여부를 체크한다(단계 23). 그리하여 스눕 에러상태(S-ERROR)이면, 로컬버스 상태 신호선(STx)를 에러발생 신호선을 어서트 하는 콘트롤 신호(local-error)를 출력하고 (단계 24), 콘트롤 신호(G1)가 재입력 되는가를 확인한 후(단계 25) 재입력 되지 않으면 처음의 상태로 되돌아간다.After waiting for the system bus status signal line SSTx between modes, which is the status information of the system bus level, to be asserted (step 22), it is checked whether there is an error in the transmission status (step 23). Thus, if the snoop error state (S-ERROR), the local bus status signal line (STx) outputs a control signal (local-error) that asserts the error occurrence signal line (step 24), and is the control signal (G1) input again? After confirming (step 25), if it is not input again, it returns to the initial state.

그리고 캐쉬 메모리의 태그를 검사하여 미스(S-OK)인 경우에는, 사이클 종료 신호선을 어서트하는 콘트롤 신호(local-OK)를 출력하고(단계 26), 콘트롤 신호(G1)가 재입력 되는가를 확인하여(단계 27), 재입력되지 않으면 처음의 상태로 되돌아간다. 또한 캐쉬 메모리의 태그를 검사하여 히트(S-Retry)인 경우에는, 재시도 신호선을 어서트하는 콘트롤 신호(local-retry)를 출력하고(단계 28), 콘트롤 신호(G1)가 재입력되는가를 확인하여 (단계 29) 재입력되지 않으면 처음의 상태로 되돌아가는 것이다.If the tag of the cache memory is checked and miss (S-OK), the control signal (local-OK) for asserting the cycle end signal line is output (step 26), and it is determined whether the control signal (G1) is input again. If it is confirmed (step 27), if it is not input again, it returns to the initial state. In addition, when the tag of the cache memory is checked and in the case of a hit (S-Retry), a control signal (local-retry) for asserting the retry signal line is output (step 28), and it is determined whether the control signal G1 is input again. If it is not checked and entered again (step 29), it is returned to the original state.

제 4도는 스눕 인터페이스 콘트롤러가 글로벌 신호를 받은 상태의 과정을 나타낸 것으로, 호출을 시도한 캐쉬 메모리와 다른 보드에 있는 스눕 인터페이스의 기능을 나타낸 것이다. 시스템 버스를 통하여 공유메모리(8)를 호출하는 신호선(G)와, 로컬 버스를 로크시키는 신호선(LK) 또는 인텐트 투 모디파이를 위한 읽기 또는 쓰기를 수행하는 신호선(IM)의 하나가 어서트 되면(단계 30) 라인 선택부로 두 개의 캐쉬 메모리에게 어드레스 경로를 형성하기 위한 콘트롤 신호(select-snoop-path 1) 및 (select-snoop-path 2)와, 콘트롤 신호(G1) (G2)와, 콘트롤 신호(IM1) 또는 (LK1) 중 하나와, 콘트롤 신호(IM2) 또는 (LK2) 중 하나와, 양 방향성인 두 어드레스 래치를 통하여 캐쉬 메모리로 전달이 이루어지도록 하기 위한 콘트롤 신호(aing2), (aidg2), (aing1) (aing1)들을 출력한다(단계 31).4 shows the process of the snoop interface controller receiving a global signal, showing the function of the snoop interface on a different board than the cache memory that attempted to make the call. One of the signal line G for calling the sharedmemory 8 through the system bus and the signal line LK for locking the local bus or the signal line IM for reading or writing for Intent-to-Modify are asserted. (Step 30) the control signal (select-snoop-path 1) and (select-snoop-path 2) for forming an address path to the two cache memories by the line selector, the control signal (G1) (G2), One of the control signal IM1 or LK1, one of the control signal IM2 or LK2, and a control signal aing2 for transmitting to the cache memory through two address latches which are bidirectional. aidg2), (aing1) and (aing1) are output (step 31).

그리고 보드 내의 캐쉬 메모리로부터 로컬버스 상태 신호선(LSTx)이 어서트되는가를 기다리다가 어서트 되면(단계 32) 전달 상태의 에러 여부를 체크한다(단계 33).It waits for the local bus status signal line LSTx to be asserted from the cache memory in the board, and when it is asserted (step 32), it is checked whether there is an error in the transmission status (step 33).

그리하여 로컬버스의 상태 신호 중 에러 발생 신호선을 어서트 하는 콘트롤 신호(local-error)가 입력되면, 스눕 에러상태의 정보(S-ERROR)를 어서트하고(단계 34) 신호선(G)이 다시 어서트 되는가를 확인하여(단계 35) 다시 어서트 되지 않으면 처음의 상태로 되돌아간다.Thus, if a control signal (local-error) that asserts an error occurrence signal line is input among the status signals of the local bus, the snoop error state information (S-ERROR) is asserted (step 34), and the signal line G again If it is not asserted again, it returns to the original state.

그리고 사이클 종료선을 어서트하는 콘트롤 신호(local-OK)가 입력되면, 캐쉬 메모리의 태그를 검사한 결과에 따라 미스의 정보(S-OK)를 어서트 하고(단계 36), 신호선(G)이 다시 어서트 되는가를 확인하여(단계 37) 다시 어서트 되지 않으면 처음의 상태로 되돌아 간다.When a control signal (local-OK) for asserting the cycle end line is input, it asserts the miss information (S-OK) according to the result of checking the tag of the cache memory (step 36), and the signal line (G). If it is asserted again (step 37), if it is not asserted again, it returns to the initial state.

또한, 캐쉬 메모리의 태크를 검사한 결과가 콘트롤 신호(local-retry)로 입력되면, 재시도 신호선을 어서트하는 신호이므로 검사 결과가 히트의 정보(S-RETRY)를 어서트 하고(단계 38), 신호선(G)이 다시 어서트 되는가를 확인하여 (단계 39) 다시 어서트되지 않으면 처음의 상태로 되돌아가는 것이다.If the result of checking the tag of the cache memory is input as a control signal (local-retry), the retry signal line is asserted, so the test result asserts the hit information S-RETRY (step 38). If the signal line G is asserted again (step 39), if it is not asserted again, it returns to the original state.

따라서 본 발명은 다중처리 시스템에서 공유 메모리와 캐쉬 메모리의 일관성을 유지하기 위하여 스누핑하는 것으로서, 글로벌 데이터의 호출을 시도한 캐쉬 메모리가 속한 스눕 인터페이스 컨트롤러에서는 보드 내의 다른 프로세서 모듈로의 경로를 만들어 주는 콘트롤 신호를 출력하면서, 시스템 버스 레벨의 정보인 시스템 버스 상태 신호선(SSTx)이 어서트 되면 동일한 성질의 콘트롤신호(local-retry) (local-error) (local -OK)를 전달하는 한편, 다른 보드의 스눕 인터페이스 콘트롤러에서는 시스템 버스레벨의 글로벌 신호선(G)을 받으면 필요한 각 경로를 만들어 주는 콘트롤 신호를 공급하며, 각 캐쉬 메모리로부터 로컬버스 상태 신호선(LSTx)이 어서트 되면 이를 시스템 레벨의 상태 정보(S-RETRY), (S-OK), (S-ERROR)를 어서트하도록 함으로서 캐쉬 코히어런스 프로토콜이 시스템 버스의 차원에서 동시에 이루어지도록 한 것임을 알 수 있다.Therefore, the present invention is a snooping to maintain the coherence of shared memory and cache memory in a multi-processing system. In the snoop interface controller, which belongs to the cache memory that attempts to call global data, the control signal makes a path to another processor module in the board. When the system bus status signal line SSTx, which is the system bus level information, is asserted, it transmits a control signal (local-retry) (local-error) (local-OK) of the same property and snoops from another board. When the interface controller receives the global signal line (G) of the system bus level, the interface controller supplies a control signal that creates each required path. When the local bus status signal line (LSTx) is asserted from each cache memory, the interface level information (S-) is asserted. RETRY), (S-OK), (S-ERROR) to assert Cache Coherence Pro It can be seen that a call is to occur at the same time at the level of the system bus.

Claims (2)

Translated fromKorean
시스템 버스(100)와 연결되고 캐쉬 메모리(2), (3)를 구비한 다중처리기 시스템의 프로세서 보드(2)에 있어서, 캐쉬 코히어런스를 위해 상기 시스템 버스(100)를 스누핑하기 위한 제어신호(sinq, aidq, select-snoop-path, G, LK, IM, LSTx, SSTx)를 발생시키는 스눕 인터페이스 콘트롤러(7)와, 로벌버스를 통하여 상기 캐쉬 메모리(2), (3)과 각각 연결되고 상기 스눕 인터페이스 콘트롤러(7)에 의해 제어되어 데이터를 래치한 후 소정의 방향 또는 그 반대 방향으로 출력하는 어드레스 래치(4), (5)와, 상기 어드레스 래치(4), (5)와 상기 시스템 버스(100) 사이에 연결되고 상기 스눕 인터페이스 콘트롤러(7)에 의해 제어되어 상기 어드레스 래치(4), (5)와 상기 시스템 버스(100)를 논리적으로 연결하거나 차단하여 데이터 전달 경로를 선택적으로 형성하는 라인 선택부(6)를 포함하는 것을 특징으로 하는 다중처리 시스템의 스눕 인터페이스 장치.In a processor board 2 of a multiprocessor system connected with a system bus 100 and having cache memories 2 and 3, a control signal for snooping the system bus 100 for cache coherence. a snoop interface controller (7) generating (sinq, aidq, select-snoop-path, G, LK, IM, LSTx, SSTx), and connected to the cache memories (2) and (3) via a local bus, respectively. Address latches 4, 5, controlled by the snoop interface controller 7, and latching data and outputting the data in a predetermined direction or vice versa, the address latches 4, 5, and the system Connected between the buses 100 and controlled by the snoop interface controller 7 to logically connect or block the address latches 4 and 5 and the system bus 100 to selectively form a data transfer path. Comprising line selector 6 Snoop interface device of the multiprocessing system according to claim.다중 처리기 시스템의 시스템 버스 차원에서 캐쉬 코히어런스 프로토콜이 이루어지도록 하는 방법에 있어서, 글로벌 호출을 시도한 캐쉬 메모리와 같은 보드에 있는 스눕 인터페이스 콘트롤러가 콘트롤 신호(G1)와 콘트롤 신호(LK1) 또는 (IM1) 중 하나가 입력되는가를 확인하는 단계와, 같은 보드 내의 다른 브로세서 모듈로의 경로를 만들어 주기 위한 콘트롤 신호를 출력하는 단계와, 시스템 버스 상태신호선(SSTx)이 어서트되는가를 확인하는 단계와, 전달 상태의 에러여부에 따라 콘트롤 신호(local-error), (local-OK), (local-retry)를 각각 출력한 후, 콘트롤 신호(G1)가 재입력 되는가를 확인하는 단계와, 호출을 시도한 캐쉬 메모리와 다른 보드에 존재하는 스눕 인터페이스 서브 유니트에서는 신호선(G) 신호선(LK) 또는 (IM) 중 하나가 어서트 되는가를 확인하는 단계와, 필요한 각 경로를 만들어 주는 콘트롤 신호를 출력하는 단계와, 로컬버스 상태 신호선(LSTx)이 어서트 되는가를 확인하는 단계와, 전달상태의 에러여부에 따라 시스템 레벨의 정보(S-RETRY), (S-OK), (S-ERROR)들을 각각 어서트 한 후 신호선(G1)이 다시 어서트 되는가를 확인하는 단계를 포함하는 것을 특징으로 하는 다중처리 시스템의 스눕 인터페이스 방법.In a method of causing a cache coherence protocol to be performed at the system bus level of a multiprocessor system, a snoop interface controller on the same board as the cache memory that attempted the global call is controlled by the control signal G1 and the control signal LK1 or IM1. ) Outputting a control signal for creating a path to another processor module in the same board, and checking whether the system bus status signal line (SSTx) is asserted. After outputting the control signal (local-error), (local-OK), (local-retry) respectively according to the error of the transmission status, checking whether the control signal (G1) is re-input, and calling In the snoop interface subunit that exists on the other cache and the cache memory that has been attempted, it is necessary to check whether one of the signal line (G) and the signal line (LK) or (IM) is asserted. Outputting a control signal for making each necessary path; checking whether the local bus status signal line LSTx is asserted; and system level information (S-RETRY), And a step of checking whether the signal line (G1) is asserted again after asserting the (S-OK) and the (S-ERROR), respectively.
KR1019890019507A1989-12-261989-12-26Sub-unit for snoop interfaceExpiredKR920009192B1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1019890019507AKR920009192B1 (en)1989-12-261989-12-26Sub-unit for snoop interface

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1019890019507AKR920009192B1 (en)1989-12-261989-12-26Sub-unit for snoop interface

Publications (2)

Publication NumberPublication Date
KR910012874A KR910012874A (en)1991-08-08
KR920009192B1true KR920009192B1 (en)1992-10-14

Family

ID=19293647

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1019890019507AExpiredKR920009192B1 (en)1989-12-261989-12-26Sub-unit for snoop interface

Country Status (1)

CountryLink
KR (1)KR920009192B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20230236974A1 (en)*2019-05-242023-07-27Texas Instruments IncorporatedMethods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20230236974A1 (en)*2019-05-242023-07-27Texas Instruments IncorporatedMethods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths
US12380035B2 (en)*2019-05-242025-08-05Texas Instruments IncorporatedMethods and apparatus to facilitate read-modify-write support in a coherent victim cache with parallel data paths

Also Published As

Publication numberPublication date
KR910012874A (en)1991-08-08

Similar Documents

PublicationPublication DateTitle
Vranesic et al.Hector-a hierarchically structured shared memory multiprocessor
US5682516A (en)Computer system that maintains system wide cache coherency during deferred communication transactions
US5375215A (en)Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank
US5283870A (en)Method and apparatus for avoiding processor deadly embrace in a multiprocessor system
KR100286962B1 (en) Cache controller
US7971003B2 (en)Cache coherency in a shared-memory multiprocessor system
KR20010031690A (en)System and method for providing speculative arbitration for transferring data
US20090024688A1 (en)Accessing Memory And Processor Caches Of Nodes In Multi-Node Configurations
US5659708A (en)Cache coherency in a multiprocessing system
US4930106A (en)Dual cache RAM for rapid invalidation
US6745274B1 (en)Apparatus and method for synchronizing multiple accesses to common resources
US5787468A (en)Computer system with a cache coherent non-uniform memory access architecture using a fast tag cache to accelerate memory references
US5829024A (en)Hierarchical cache memory system and method for controlling data coherency between a primary and a secondary cache
KR980010804A (en) Signal Processing Protocol Converter between Processor and High Performance System Bus
US6874049B1 (en)Semaphores with interrupt mechanism
US6490662B1 (en)System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module
US5586274A (en)Atomic operation control scheme
KR920009192B1 (en)Sub-unit for snoop interface
JPH10187534A (en)Method and system for maintaining strong order in coherent memory system
US5537609A (en)Mini cache operational module for enhancement to general cache
US6163830A (en)Method and apparatus to identify a storage device within a digital system
US6507878B1 (en)Bus snoop control circuit
JP2973227B2 (en) Exclusive control instruction execution method
KR920003849B1 (en)Lsm of multiprocessor system
US6295477B1 (en)Bus coupler between a system bus and a local bus in a multiple processor data processing system

Legal Events

DateCodeTitleDescription
A201Request for examination
PA0109Patent application

St.27 status event code:A-0-1-A10-A12-nap-PA0109

PA0201Request for examination

St.27 status event code:A-1-2-D10-D11-exm-PA0201

R17-X000Change to representative recorded

St.27 status event code:A-3-3-R10-R17-oth-X000

PG1501Laying open of application

St.27 status event code:A-1-1-Q10-Q12-nap-PG1501

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

St.27 status event code:A-1-2-D10-D21-exm-PE0902

T11-X000Administrative time limit extension requested

St.27 status event code:U-3-3-T10-T11-oth-X000

P11-X000Amendment of application requested

St.27 status event code:A-2-2-P10-P11-nap-X000

P13-X000Application amended

St.27 status event code:A-2-2-P10-P13-nap-X000

G160Decision to publish patent application
PG1605Publication of application before grant of patent

St.27 status event code:A-2-2-Q10-Q13-nap-PG1605

E701Decision to grant or registration of patent right
PE0701Decision of registration

St.27 status event code:A-1-2-D10-D22-exm-PE0701

GRNTWritten decision to grant
PR0701Registration of establishment

St.27 status event code:A-2-4-F10-F11-exm-PR0701

PR1002Payment of registration fee

St.27 status event code:A-2-2-U10-U11-oth-PR1002

Fee payment year number:1

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:4

FPAYAnnual fee payment

Payment date:19980929

Year of fee payment:7

PR1001Payment of annual fee

St.27 status event code:A-4-4-U10-U11-oth-PR1001

Fee payment year number:7

LAPSLapse due to unpaid annual fee
PC1903Unpaid annual fee

St.27 status event code:A-4-4-U10-U13-oth-PC1903

Not in force date:19991015

Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903Unpaid annual fee

St.27 status event code:N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date:19991015

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

PN2301Change of applicant

St.27 status event code:A-5-5-R10-R13-asn-PN2301

St.27 status event code:A-5-5-R10-R11-asn-PN2301

P22-X000Classification modified

St.27 status event code:A-4-4-P10-P22-nap-X000


[8]ページ先頭

©2009-2025 Movatter.jp