KR910007750B1 - Method and apparatus for implementing multigle lock indications in a multiprocessor computer system - Google Patents
Method and apparatus for implementing multigle lock indications in a multiprocessor computer system Download PDFInfo
- Publication number
- KR910007750B1 KR910007750B1 KR1019880701787A KR880701787A KR910007750B1 KR 910007750 B1 KR910007750 B1 KR 910007750B1 KR 1019880701787 A KR1019880701787 A KR 1019880701787A KR 880701787 A KR880701787 A KR 880701787A KR 910007750 B1 KR910007750 B1 KR 910007750B1
- Authority
- KR
- South Korea
- Prior art keywords
- lock
- command
- bus
- node
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Control By Computers (AREA)
- Vehicle Body Suspensions (AREA)
Abstract
내용 없음.No content.
Description
[발명의 명칭][Name of invention]
다중 프로세서 컴퓨터 시스템에서 다중 록 표시자를 실시하기 위한 방법 및 장치Method and apparatus for implementing multi-lock indicator in multiprocessor computer system
[도면의 간단한 설명][Brief Description of Drawings]
제1도는 본 발명을 사용하는 데이타 처리 시스템의 블록도이다.1 is a block diagram of a data processing system using the present invention.
제2도는 제1도 데이타 처리 시스템에서의 노드의 블록도이다.2 is a block diagram of a node in the FIG. 1 data processing system.
제3도는 제1도 데이타 처리 시스템에서 사용된 타이밍 신호들을 도시한 타이밍도이다.3 is a timing diagram illustrating timing signals used in the FIG. 1 data processing system.
제4도는 제2도 노드에서의 데이타 인터페이스(61)의 블록도이다.4 is a block diagram of the
제5도는 제1도 데이타 처리 시스템에서의 중재기의 블록도이다.5 is a block diagram of an arbiter in the FIG. 1 data processing system.
제6도는 인터록 판독 트랜잭션 중에 제1도 시스템 버스상에 나타나는 신호들을 도시한 타이밍도이다.FIG. 6 is a timing diagram illustrating signals that appear on the FIG. 1 system bus during an interlock read transaction.
제7도는 제1도 데이타 처리 시스템에서의 프로세서 노드의 블록도이다.7 is a block diagram of a processor node in the FIG. 1 data processing system.
제8도는 제1도 데이타 처리 시스템에서의 메모리 노드의 블록도이다.8 is a block diagram of a memory node in the FIG. 1 data processing system.
제9도는 제8도 메모리 노드에서의 록 제어기의 블록도이다.9 is a block diagram of a lock controller in the FIG. 8 memory node.
[발명의 상세한 설명]Detailed description of the invention
[발명의 배경][Background of invention]
본 발명은 컴퓨터 시스템에 관한 것으로서, 더욱 구체적으로 말하면 펜디드(pended)버스에 의해 상호 접속된 다중 프로세서를 갖는 컴퓨터 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates to a computer system, and more particularly to a computer system having multiple processors interconnected by a suspended bus.
기존의 컴퓨터 시스템은 고성능의 전체 계산력을 얻기 위해 공통버스에 의해 상호 접속된 다중 프로세서, 메모리 자원 및 입/출력(I/O)장치를 가질 수 있다. 그러한 구성으로 초당 수백만개의 명령을 실행할 수 있는 고성능 시스템에 제공될 수 있다. 그러나, 다중 프로세서들을 상호 접속하면 판독-수정-기입(RMW) 동작으로서 알려진 명령 시퀀스를 수행하는 것이 요구될 때 어려움이 발생될 수 있다. RMW 동작에서 하나의 프로세서는 메모리 위치로부터 데이타를 검색하고, 그 데이타에 대한 동작을 수행하며, 그 수정된 데이타를 다시 원래의 메모리 위치로 기입한다. 하나의 프로세서가 하나의 메모리 위치에 대해 RMW 동작을 개시했을 경우 데이타 보전성에 영향을 주는 예측할 수 없는 결과가 발생할 수 있으며, 제2프로세서는 제1프로세서의 RMW동작의 "판독"부와 "기입"부 사이의 기간에서 동일 메모리 위치에 대해 RMW 동작을 시도한다.Existing computer systems may have multiple processors, memory resources, and input / output (I / O) devices interconnected by a common bus in order to achieve high performance overall computing power. Such a configuration can provide a high performance system capable of executing millions of instructions per second. However, interconnecting multiple processors can cause difficulties when it is desired to perform an instruction sequence known as a read-modify-write (RMW) operation. In an RMW operation, one processor retrieves data from a memory location, performs operations on that data, and writes the modified data back to the original memory location. If one processor initiates an RMW operation on one memory location, unpredictable results affect data integrity, and the second processor writes and reads the RMW operation of the first processor. In the inter-term period, an RMW operation is attempted for the same memory location.
다중 프로세서들로 하여금 동일 메모리 위치에서 RMW동작을 수행하지 못하게 하기 위한 한 방식은 "인터록 판독"능력을 제공하는 것이다. 이것은 록 비트와 같은 "록"표시자를 사용하며, 이 록 비트는 RMW동작의 "판독"부가 수행될때 세트되고 RMW 동작의 "기입"부가 종료된 후 리셋된다. 록 비트가 세트될 때 메모리내의 위치에서 RMW동작을 개시하고자 하는 제2프로세서에 의해, 제2프로세서가 인터록 판독 명령을 발생한 후 소정 수의 버스 사이클 동안 메모리가 "비지" 또는 "재시행"확인에 의해 록 상태 정보를 복귀시키게 된다. 비지 확인은 제2인터록 판독 명령이 메모리에 의해 허용되지 않았다는 것을 프로세서에 가리킨다.One way to prevent multiple processors from performing RMW operations at the same memory location is to provide interlock read capability. It uses a block indicator, such as the lock bit, which is set when the read part of the RMW operation is performed and reset after the write portion of the RMW operation is finished. The second processor, which attempts to initiate an RMW operation at a location in memory when the lock bit is set, causes the memory to be idled or retried for a predetermined number of bus cycles after the second processor issues an interlock read command. The lock status information is returned. Busy acknowledgment indicates to the processor that the second interlock read command was not allowed by the memory.
인터록 판독 동작은 RMW 동작을 각각 수행하고자 하는 다중프로세서들에 의해 야기된 문제를 경감시킨다. 프로세서들은 예를들어 라운드로빈 알고리즘을 사용하는 중재 처리에 의해 그러한 인터록 판독 동작중에 버스에 대한 유효 액세스가 부여된다. 그러나, 그럼에도 아직도 성능 장애가 발생할 수 있다. 예를들면, 어느 버스 교통 상태하에서 특정 프로세서가 록된 메모리 위치와 반복적으로 마주칠 수도 있으며, 적시에 메모리 자원에 대한 필요한 액세스를 얻을 수 없겠다. 그러한 문제들은 메모리 노드에 다중 록 비트를 제공함으로써 감소될 수 있는데, 각 록 비트는 전체 메모리 노드보다 메모리 노드 일부분과 관련된다. 그러한 다중 록 비트는 인터록 판독 동작후 메모리의 보다 작은 부분을 구속하는, 메모리 노드상의 인터록된 판독 동작의 보다 정교한 "입도(granularity)"를 제공하겠다. 이 해결책은 또한 RMW 동작의 보다 높은 성공률을 허용하고, 따라서 시스템 처리 능력을 향상시킨다. 그러나, 종래 기술의 펜디드 버스 다중 프로세서 시스템에서 다중 록 비트를 수행하면, 록 상태 정보를 검출하고 전송하기 위한 회로가 허용할 수 없을 정도로 복잡하게 된다.The interlock read operation alleviates the problems caused by the multiple processors wishing to perform the RMW operation respectively. Processors are granted effective access to the bus during such interlock read operations, for example by arbitration processing using a round robin algorithm. Nevertheless, however, performance failure may still occur. For example, under certain bus traffic conditions, a particular processor may repeatedly encounter a locked memory location and may not be able to obtain the necessary access to memory resources in a timely manner. Such problems can be reduced by providing multiple lock bits to the memory node, where each lock bit is associated with a portion of the memory node rather than the entire memory node. Such multiple lock bits will provide a more sophisticated granularity of interlocked read operation on the memory node, constraining a smaller portion of memory after the interlock read operation. This solution also allows for a higher success rate of RMW operation and thus improves system throughput. However, performing multiple lock bits in the prior art pending bus multiprocessor system makes the circuitry for detecting and transmitting lock state information unacceptably complex.
상기 설명이 프로세서 노드, 메모리 노드 및 I/O 노드를 활용하는 컴퓨터 시스템의 동작을 강조하였지만, 그러한 시스템의 더욱 일반적인 설명은 명령기 노드, 즉 버스상에 트랜잭션을 개시시키는 노드 및 응답기 노드, 즉 명령기 노드에 의해 개시된 트랜잭션에 응답하는 노드에 관한 것이다. 여러기산에서 단일 디바이스가 명령기 노드나 응답기 노드로서 기능을 할 수 있다.Although the above description emphasizes the operation of a computer system utilizing processor nodes, memory nodes and I / O nodes, a more general description of such a system is a commander node, i.e., a node and a responder node that initiates a transaction on a bus, i. It relates to a node that responds to a transaction initiated by an existing node. In many operations, a single device can function as a commander node or responder node.
각각 상이한 특성을 갖는 소자들이 몇개의 버스를 통하여 상호접속되는 컴퓨터 시스템을 제공하는 것이 바람직하다. 그러나, 이것은 록 상태 정보가 초기 인터록된 판독 명령과의 종래 기술의 펜디스버스 시스템에서 수행하기에는 매우 힘들었다.It would be desirable to provide a computer system in which elements each having different characteristics are interconnected through several buses. However, this was very difficult for lock state information to be performed in the prior art Pendiverse system with a read command that was initially interlocked.
[발명의 개요]Overview of the Invention
본 발명의 제1목적은 다중 록비트를 갖고 록상태 정보를 전송하기 위한 간략회로를 갖는 다중 프로세서 시스템에서 응답기 노드를 제공하는 것이다.It is a first object of the present invention to provide a responder node in a multiprocessor system having multiple lock bits and a simplified circuit for transmitting lock state information.
본 발명의 제2목적은 록 상태 정보가 초기 인터록 판독 명령과의 고정 시간 관계로 전송되지 않는 인터록 판독 동작을 갖는 다중 프로세서 펜디드 버스 컴퓨터에서 응답기 노드를 제공하는 것이다.It is a second object of the present invention to provide a responder node in a multiprocessor pending bus computer having an interlock read operation in which lock state information is not transmitted in a fixed time relationship with an initial interlock read command.
본 발명의 추가의 목적 및 장점은 뒤이은 기재에서 부분적으로 설명되고 그 기재로부터 부분적으로 명백하겠으며, 또는 본 발명의 실시에 의해 교시될 수 있다. 본 발명의 목적 및 장점은 부속 청구 범위에서 특히 지적된 수단 및 조합에 의해 실현될 수 있도 달성될 수 있다.Additional objects and advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description, or may be taught by the practice of the invention. The objects and advantages of the invention may be achieved even if they can be realized by means and combinations particularly pointed out in the appended claims.
본 발명은 인터록 판독 명령후 소정 시간 동안 인식 확인을 발생시키고 인터록 또는 메시지후 비 특정 시간에 록상태 메시지를 발생시키는 응답기 노드를 제공함으로써 종래 기술의 문제 및 단점을 극복한다.The present invention overcomes the problems and disadvantages of the prior art by providing a responder node that generates an acknowledgment for a predetermined time after an interlock read command and generates a lock status message at a non-specific time after the interlock or message.
본 발명의 원리에 따르면, 펜디드 버스상에 배타적 판독-수정-기입 동작을 실행하기 위한 장치가 제공되는데, 그 동작은 특정 위치에 기억된 정보를 검색하고 후속 인터록 판독 명령에 의해 그 기억된 정보에 대한 액세스를 제한하기 위한 인터록 판독 명령과, 그 특정 위치에 정보를 기억시키고 그 기억된 정보에 대한 액세스를 복원시키기 위한 언록 기입 명령을 포함하는 펜디드 버스상의 일련의 상이한 트랜잭션을 갖는다. 이 장치는 명령기 노드로부터 인터록 판독 명령을 수신하기 위한 수단과; 정보를 기억하기 위한 특정위치를 포함하는 기억 수단과; 기억 수단과 결합되고, 언록 상태에서 기억 수단에 대한 액세스를 허용하고 록 상태에서 기억 수단에 대한 액세스를 부정하기 위한 언록 상태로 록 상태사이에서 동작 가능한 록 수단과; 인터록 판독 명령에 응답하여, 록 수단의 상태를 나타내는 록 상태 표시를 발생시키고 언록 상태로부터 록 상태로 록수단을 스위칭하기 위한 인터록 판독 명령 수단과; 언록 기입 명령에 응답하여, 특정 위치에서 수정된 정보를 기억시키고 록 상태로부터 언록 상태로 록 수단을 스위칭하기 위한 언록 기입 명령 수단과; 인터록 판독 명령을 발생시킨 명령기 노드에 그 인터록 판독 명령에 뒤이은 비 특정 시간에서 록 수단 상태를 포함하는 록 상태 메시지를 전송하기 위한 상태 응답 수단을 구비한다.According to the principles of the present invention, there is provided an apparatus for performing an exclusive read-modify-write operation on a fenced bus, the operation of retrieving information stored at a specific location and by means of a subsequent interlock read command. It has a series of different transactions on the pending bus that includes an interlock read command to restrict access to the data and an unlock write command to store information at that particular location and restore access to the stored information. The apparatus includes means for receiving an interlock read command from the commander node; Storage means including a specific position for storing information; Lock means coupled with the storage means, the lock means operable between the locked state in an unlocked state to allow access to the storage means in the unlocked state and to deny access to the storage means in the locked state; In response to the interlock read command, interlock read command means for generating a lock status indication indicative of the status of the lock means and for switching the lock means from the unlocked state to the locked state; In response to the unlock write command, unlock write command means for storing the modified information at a specific position and for switching the lock means from the locked state to the unlocked state; And status response means for transmitting a lock status message comprising a lock means status at a non-specified time following the interlock read command to the commander node that issued the interlock read command.
또한, 본 발명은 펜디드 버스상에 배타적 판독-수정-기입 동작에 응답하기 위한 방법을 제공하는데, 그 동작은 특정 위치에 기억된 정보를 검색하고 후속 인터러고록 판독 명령에 의해 그 기억정보에 대한 액세스를 제한하기 위한 인터록 판독 명령과, 그 특정 위치에 정보를 기억시키고 그 기억된 정보에 대한 액세스를 복원시키기 위한 언록 기입 명령을 포함하는 펜디드 버스상의 일련의 상이한 트랜잭션을 갖는다. 이 방법은 명령기 노드로부터 인터록 명령을 수신하는 단계와, 인터록 판독 명령의 수신을 나타내는 명령들의 개시에 뒤이은 소정시간에 명령기 노드에 인식 확인을 전송하는 단계와, 록 표시자를 검사하여 록 표시자가 언록 상태에 있을 경우 록 표시자를 언록 상태로부터 록 상태로 스위칭하는 단계와, 록 표시자 상태에 대응하는 록 상태 신호를 인터록 판독 명령의 개시에 뒤이은 비특정 시간에 명령기 노드에 전송하는 단계와, 수정된 정보를 특정 위치에 기억시키고, 언록 기입 명령의 수신시 록 상태로부터 언록 상태로 록 표시자를 스위칭하는 단계를 포함한다.In addition, the present invention provides a method for responding to an exclusive read-modify-write operation on a fenced bus, the operation of which retrieves information stored at a particular location and writes the information to the stored information by a subsequent interlog read command. It has a series of different transactions on the pending bus that includes an interlock read command for restricting access to and an unlock write command for storing information at that particular location and restoring access to the stored information. The method includes receiving an interlock command from the commander node, transmitting an acknowledgment to the commander node at a predetermined time subsequent to the commencement of the command indicating receipt of the interlock read command, checking the lock indicator to indicate the lock. Switching the lock indicator from an unlock state to a lock state if the self is in the unlock state, and transmitting a lock state signal corresponding to the lock indicator state to the commander node at a non-specific time following the initiation of the interlock read command. And storing the modified information in a specific position and switching the lock indicator from the locked state to the unlocked state upon receipt of the unlock write command.
본 명세서에 포함되어 일부분을 구성하는 첨부한 도면들은 본 발명의 일실시예를 예시하는 것이며, 본 기재와 함께 본 발명의 원리를 설명하고 있다.The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate one embodiment of the invention and, together with the description, explain the principles of the invention.
바람직한 실시예의 상세한 설명Detailed description of the preferred embodiment
A. 시스템 개요A. System Overview
제1도는 본 발명을 구현하는 데이타 처리 시스템(20)의 실시예를 도시하고 있다. 시스템(20)의 중심부는 몇개의 프로세서, 메모리 부시스템 및 I/O 시스템간의 통신을 허용하는 동기 버스인 시스템버스(25)이다. 시스템 버스(25)를 통한 통신은 주기적 버스 사이클을 사용하여 동기적으로 발생한다. 시스템 버스(25)에 대한 통상의 버스사이클 시간은 64nsec이다.1 illustrates an embodiment of a
제1도에는 시스템 버스(25)가 2개의 프로세서(31,35), 메모리(39), 하나의 I/O인터페이스(41) 및 하나의 I/O장치(51)에 결합된다.In FIG. 1, a
데이타 처리 시스템(20)의 바람직한 실시예에서 시스템 버스(25)에 중앙 중재기(28)가 또한 접속된다. 중재기(28)는 시스템버스(25)상의 다른 소자들에 직접 어느 타이밍 및 버스중재 신호들을 공급하고 이들 소자들과 함께 어느 신호들을 공유한다.In a preferred embodiment of the
제1도에 도시된 설치는 바람직한 실시예이며, 본 발명을 한정하는 것으로 반드시 받아들여서는 안되겠다. 예를 들어, I/O장치(53)는 시스템 버스(25)에 직접 결합될 수 있고, 중재기(28)는 본 발명에 대해 설명된 방식으로 동작할 필요는 없다.The installation shown in FIG. 1 is a preferred embodiment and should not be taken as limiting the invention. For example, I / O device 53 may be coupled directly to
본 발명을 설명하는데 사용된 용어에서 프로세서(31,35), 메모리(39), I/O 인터페이스(41) 및 I/O장치(51)는 모두 노드를 일컫는다. "노드"는 시스템 버스(25)에 접속되는 하드웨어 소자로서 정의된다.In the terms used to describe the present invention, the
본 발명을 설명하는데 사용된 용어에 따르면, "신호" 또는 "라인"이란 말은 물리적 와이어의 명칭을 언급하게끔 교체 가능하게 사용된다. "데이타" 또는 "레벨"이란 말은 신호 또는 라인이 취할 수 있는 값을 언급하게끔 사용된다.According to the terminology used to describe the present invention, the term “signal” or “line” is used interchangeably to refer to the name of a physical wire. The term "data" or "level" is used to refer to a value that a signal or line can take.
노드는 시스템 버스(25)를 통하여 다른 노드들과의 전송을 수행한다. "전달"은 공통 송신기 및 공통 중재기를 공유하는 하나이상의 인접사이클이다. 예를 들면, 하나의 노드에 의해 시스템 버스(25)상의 또 다른 노드로부터의 정보를 얻기 위해 개시된 판독 동작은 제1노드로부터 제2노드로의 명령 전송을 요구하며 뒤이어서 제2노드로부터 제1노드로의 하나 이상의 복귀 데이타 전송을 요구한다.The node performs transmissions with other nodes via the
"트랜잭션"은 시스템 버스(25)상에 수행되는 완전한 논리 태스크로서 정의되며, 하나 이상의 전송을 포함할 수 있다. 예를 들면, 하나 이상의 복귀 데이타 전송으로 이어지는 명령 전송으로 이루어진 판독 동작이 하나의 트랜잭션이다. 시스템 버스(25)의 바람직한 실시예에서, 허용 가능 트랜잭션은 상이한 데이타 길이의 전송을 지지하며, 판독, 기입(마스크된), 인터록 판독, 언록 기입 및 인터럽트 동작을 포함한다. 인터록 판독과 정규 즉 논인터록 판독간의 차이점은 특정 위치에 대한 인터록 판독이 그 위치에 기억된 정보를 검색하고 뒤이은 인터록 판독 명령에 의해 그 기억된 정보에 대한 액세스를 제한하는 점이다. 액세스 제한은 록 메카니즘을 세트시킴으로써 수행된다. 후속 언록 기입 명령은 특정 위치에서 정보를 기억시키고 그 기억된 정보에 대한 액세스를 그 위치에서 록메카니즘을 리셋시킴으로써 복원시킨다. 따라서, 인터록 판독/언록기입 동작은 판독-수정-기입 명령의 형태로 되어 있다.A transaction is defined as a complete logical task performed on the
시스템 버스(25)가 "펜디드" 버스이므로, 그것은 응답을 대기하는데 소모되는 버스사이클을 다른 노드들이 사용하게 함으로써 버스 자원의 효율적인 사용을 촉진시킨다. 펜디드 버스에서, 한 노드가 트랜잭션을 개시시킨 후 다른 노드가 그 트랜잭션이 종료되기 전에 버스에 대한 액세스를 가질 수 있다. 따라서 그 트랜잭션을 개시시키는 노드는 전체 트랜잭션 시간동안 버스를 구속하지 않는다. 이것은 버스가 전체 트랜잭션 동안 구속되는 논펜디드 버스와 대조된다. 예컨대, 시스템 버스(25)에서 노드가 판독 트랜잭션을 개시시키고 명령 전송을 이룬 후에, 그 명령 전송이 향해지는 노드는 그 요구된 데이타를 즉시 복귀시킬 수 없다. 이어서, 버스(25)상의 사이클은 판독 트랜잭션의 명령 전송과 복귀 데이타 전송 사이에서 유효하다. 시스템 버스(25)는 다른 노드들로 하여금 그 사이클들을 사용하게끔 한다.Since the
시스템 버스(25)를 사용함에 있어서 노드들 각각은 정보 전송에 영향을 주기 위해 상이한 역활을 취할 수 있다. 그 역할들중 하나는 진행중에 트랜잭션을 개시시킨 노드로서 정의되는 "명령기"이다. 예를들면, 기입 또는 판독 동작에서 명령기는 기입 또는 판독 동작을 요구한 노드이며 반드시 데이타를 송신 또는 수신하는 노드는 아니다. 시스템 버스(25)에 대한 바람직한 프로토콜에서, 또다른 노드가 트랜잭션의 어느 사이클중에 시스템 버스(25)의 소유권을 취할 수 있을지라도 전체 트랜잭션을 통하여 한 노드가 명령기로서 유지된다. 예를들면, 한 노드가 판독 트랜잭션을 명령 전송에 응답하여 데이타 전송중에 시스템 버스(25)의 제어를 갖더라도 그 노드는 버스의 명령기가 되지 못한다. 그대신 이 노드는 "응답기"라 일컫는다.In using the
응답기는 명령기에 응답한다. 예를들면, 명령기가 노드 A로부터 노드 B로 데이타를 기입하기 위해 기입 동작을 개시시킬 경우, 노드 B는 응답기가 된다. 또한, 데이타 처리 시스템(20)에서 노드는 동시에 명령기 및 응답기가 될 수 있다.The responder responds to the commander. For example, if the commander initiates a write operation to write data from node A to node B, then node B becomes a responder. Also, in the
송신기 및 수신기는 노드들이 개별적인 전송에서 취하는 역할이다. "송신기"는 전송중에 시스템 버스(25)상에 실린 정보 소스인 노드로서 정의된다. "수신기"는 송신기와 보족 관계이며 전송중에 시스템 버스(25)상에 실린 정보를 수신하는 노드로서 정의된다. 판독 트랜잭션중에, 예컨대 명령기는 먼저 명령 전송중에 송신기일 수 있고 이어서 복귀 데이타 전송중에 수신기일 수 있다.The transmitter and receiver are the roles that nodes take on separate transmissions. "Transmitter" is defined as a node which is a source of information carried on the
시스템 버스(25)에 접속된 노드가 시스템 버스(25)상에서 송신기로 되는 것이 요구될 때, 그 노드는 중앙 중재기(28)와 그 특정 노드 사이에 접속된 2개의 요구 라인 CMD REQ(명령기 요구) 및 RES REQ(응답기 요구)중 하나를 어서트한다. 일반적으로, 노드는 명령기로 되는 것을 요구하고 그리고 시스템 버스(25)상의 트랜잭션을 개시시키기 위해 CMD REQ라인을 사용하고, 명령기로 데이타 또는 메시지를 복귀시키기 위해 응답기로 되게끔 RES, REQ라인을 사용한다. 보통, 중앙 중재기(28)는 노드가 버스에 대한 액세스를 요구하는 것(즉, 요구 라인이 어서트 되는 것)을 검출한다. 이어서, 중재기는 우선 순위 알고리즘에 따라서 버스(25)에 대한 대응 노드 액세스를 부여하기 위해 그 어서트된 요구라인 중 하나의 응답한다. 바람직한 실시예에서 중재기(28)는 2개의 독립된 원형 큐를 유지하는데, 하나는 명령기 요구이고 다른 하나는 응답기 요구이다. 바람직하게는, 응답기 요구는 명령기 요구보다 상위 우선 순위를 갖고 명령기 요구전에 처리된다.When a node connected to the
명령기 요구 라인 및 응답기 요구 라인은 중재 신호들로 고려된다. 제1도에 도시된 바와 같이, 또한 중재신호는 중앙중재기(28)로부터 각 노드로의 지점간 조간부허용 신호, 다중버스 사이클 전송을 수행하기 위한 시스템 버스연장신호 및 예컨대 메모리와 같은 노드가 시스템 버스상에서 교통 상태로 순간적으로 유지될 수 없을 때 새로운 버스 트랜잭션의 개시를 제어하기 위한 시스템 버스 삭제신호를 포함한다.The commander request line and the responder request line are considered arbitration signals. As shown in FIG. 1, the arbitration signal is also a point-to-point interleave permit signal from the
시스템 버스(25)를 구성할 수 있는 다른 형태의 신호는 정보 전송 신호, 응답신호, 제어신호, 콘솔/프론트 파넬 신호 및 몇가지 보조 신호를 포함한다. 정보 전송 신호는 데이타 신호, 현재 사이클중에 시스템 버스상에 수행되는 기능을 나타내는 기능 신호, 명령기를 식별하는 식별신호 및 패리티 신호를 포함한다. 응답신호는 일반적으로 데이타 전송의 상태를 송신기에 통제하기 위해 수신기로부터 인식 또는 확인 신호를 포함한다.Other types of signals that may constitute the
제어 신호는 로우 라인 전압 또는 로우 DC전압을 식별하는 바와 같은 경고 신호, 클럭신호, 초기 설정중에 사용된 리셋신호, 로드고장신호, 유휴 버스사이클중에 사용된 디폴트 신호 및 에러 디폴트 신호를 포함한다. 콘솔/프론트 파넬신호는 시스템 콘솔로 직렬 데이타를 송/수신하기 위한 신호, 전력 공급중에 부트 프로세서의 행위를 제어하기 위한 부트신호, 시스템버스(25)상의 프로세서의 소거 가능 PROM에 대한 수정을 인에이블시키기 위한 신호, 프론트 파넬상의 "운전등"을 제어하기 위한 신호 및 어느 노드상의 논리부를 클럭시키기 위해 배터리 전력을 공급하는 신호를 포함한다. 여분의 신호에 부가하여 보조 신호는 각 노드로 하여금 식별 코드를 형성하게 하는 식별신호를 포함한다.Control signals include warning signals, such as identifying low line voltage or low DC voltage, clock signals, reset signals used during initial setup, load failure signals, default signals used during idle bus cycles, and error default signals. The console / front panel signal enables signals to send and receive serial data to the system console, boot signals to control the behavior of the boot processor during power up, and modifications to the erasable PROM of the processor on the
제2도는 시스템 버스(25)에 접속된 노드(60)의 실시예를 도시하고 있다. 노드(60)는 프로세서, 메모리, I/O장치 또는 I/O인터페이스일 수 있다. 제2도에 도시된 실시예에서, 노드(60)는 노드 특정 논리부(65), 노드버스(67) 및 데이타 인터페이스(61) 및 클럭 디코더(63)를 내장하는 시스템 버스 인터페이스(64)를 포함한다. 바람직하게는, 데이타 인터페이스(61), 클럭 디코더(63) 및 노드 버스(67)는 시스템 버스(25)에 접속된 노드용 표준 소자들이다. 노드 특정 논리부(65)는 시스템 버스 인터페이스(64)와 상이한 집적회로를 사용하는데, 바람직하게는 노드의 특정 기능을 수행하기 위해 사용자에 의해 지정된 회로에 부가하여, 노드 버스(67)와 인터페이스하기 위한 표준회로를 포함한다. 일반적으로, 데이타 인터페이스(61)는 주 논리부이고 노드(60)와 시스템 버스(25)간의 전기적 인터페이스이며, 클럭 디코더(63)는 중앙에 발생된 클럭 신호에 따라 노드(60)에 타이밍 신호를 공급하고, 노드버스(67)는 데이타 인터페이스(61)와 노드 특정 논리부(65)간의 고속 인터페이스를 제공한다.2 shows an embodiment of a
제2도에 도시된 노드(60) 및 시스템 버스 인터페이스(64)의 바람직한 실시예에서, 클럭 디코더(63)는 시스템 버스(25)상에 실려질 신호를 형성하기 위한 제어회로를 내장하고, 노드 특정 논리부(65) 및 데이타 인터페이스(61)에 대한 타이밍 신호를 얻기 위해 중앙 중재기(28)로부터 수신된 클럭 신호를 처리한다. 클럭 디코더(63)에 의해 얻어진 타이밍 신호가 중앙에 발생된 클럭 신호를 사용하므로, 노드(60)는 시스템 버스(25)와 동기하여 동작하겠다.In the preferred embodiment of
제3도는 하나의 버스 사이클, 클럭 디코더(63)에 의해 수신된 클럭 신호 및 클럭 디코더(63)에 의해 발생된 타이밍 신호들중 어느 신호를 도시한 타이밍도이다. 클럭 디코더(63)에 의해 수신된 클럭 신호들은 제3도에 도시된 바와 같이 시간 H신호, 시간 L신호 및 위상신호를 포함한다. 시간 H 및 L신호는 기본 클럭 신호들의 반대 신호들이고, 위상 신호는 기본 클럭 신호를 3으로 나눔으로써 얻어진다. 클럭 디코더(63)에 의해 발생된 타이밍 신호는 C12, C23, C34, C45, C56 및 C61을 포함하며, 모두 제3도에 도시되어 있다. 데이타 인터페이스(61)에 의해 요구된 이들 타이밍 신호들(버스 사이클당 1회 발생함)은 데이타 인터페이스(61)에 공급되며, 데이타 인터페이스(61)에 공급된 타이밍 신호들에 대한 등가 신호를 포함하는 일련의 완전한 타이밍 신호가 버퍼링되어 노드 특정 논리부(65)에 공급된다. 버퍼링의 목적은 노드 특정 논리부(65)가 타이밍 신호를 부적당하게 로드함으로써 시스템 버스 인터페이스(64)의 동작에 악영향을 주지 못하게 하는 것을 보장하는 것이다, 클럭(63)은 각 버스 사이클동안 6부 사이클을 발생시키게끔 클럭 신호를 사용하고, 이어서 그 부사이클들을 여섯가지 타이밍 신호 CXY를 생성하기 위해 사용하며, 여기서 X 및 Y는 하나의 타이밍 신호를 형성하게끔 조합된 2개의 인접 부사이클을 나타낸다.3 is a timing diagram showing any one of one bus cycle, a clock signal received by the clock decoder 63 and timing signals generated by the clock decoder 63. FIG. The clock signals received by the clock decoder 63 include a time H signal, a time L signal and a phase signal as shown in FIG. The time H and L signals are the opposite of the base clock signals, and the phase signal is obtained by dividing the base clock signal by three. Timing signals generated by clock decoder 63 include C12, C23, C34, C45, C56 and C61, all of which are shown in FIG. These timing signals required by the data interface 61 (which occur once per bus cycle) are supplied to the
시스템 버스에서 각 노드는 클럭 디코더(63)에 의해 발생된 일련의 대응 타이밍 신호를 갖는다. 시스템을 통하여 노드마다 정확히 동일한 시간에 대응 신호들이 발생하는 동안, 다중노드에서 클럭 디코더(63)와 다른 회로간의 변동으로 인해 대응 신호들간의 타이밍이 변동된다. 이러한 타이밍 변동을 통상 "클럭 스큐"로서 알고 있다.Each node in the system bus has a series of corresponding timing signals generated by the clock decoder 63. While the corresponding signals occur at exactly the same time from node to node through the system, the timing between the corresponding signals varies due to variations between the clock decoder 63 and other circuits at the multiple nodes. This timing variation is commonly known as "clock skew".
제4도는 데이타 인터페이스(61)의 바람직한 실시예를 도시하고 있다. 데이타 인터페이스(61)는 노드버스(67)의 라인들 각각과 시스템 버스(25)의 각 라인들간에 양방향 고속 인터페이스를 제공하기 위해 일시 기억회로 및 버스 구동 회로를 내장한다. 제4도에 도시된 바와 같이, 데이타 인터페이스(61)는 바람직하게 노드버스(67)로부터 시스템 버스(25)로의 통신 경로를 제공하기 위해 기억 소자(70,72) 및 시스템 버스 구동기(74)를 포함한다. 또한, 데이타 인터페이스(61)는 시스템 버스(25)로부터 노드 버스(67)로의 통신 경로를 제공하기 위해 기억소자(80) 및 노드 버스 구동기(82)를 포함한다. 데이타 인터페이스(61) 설명에서 사용된 바와 같이, "기옥소자"라는 용어는 투명 래치 또는 마스터-슬레이브 기억소자와 같은 쌍안정 기억소자를 보통 말하며, 특정 설비를 말하는 것은 아니다. 통상의 숙련된 자는 어느 형태의 기억 소자가 적합하다는 것을 알고 있겠다.4 shows a preferred embodiment of the
제4도에 도시된 바와 같이, 기억소자(70)는 노드버스(67)로부터 데이타를 수신하게끔 접속된 입력 및 기억소자(72)의 입력에 접속된 출력을 갖는다. 기억소자(72)의 출력은 시스템 버스 구동기(74)의 입력에 접속되고, 이 구동기의 출력은 시스템 버스(25)에 접속된다. 기억소자(70,72)는 노드 버스제어 신호들(76,78)에 의해 각각 제어되고, 이 신호들은 클럭 디코더(63)에 의해 발생된 타이밍 신호들로부터 인출된다. 기억소자(70,72)는 노드버스(67)로부터 시스템 버스(25)로 데이타를 파이프라이닝 하기 위해 2단 일시 기억을 제공한다.As shown in FIG. 4, the memory element 70 has an input connected to receive data from the
시스템 버스 구동기(74)는 시스템 버스 구동기 인에이블(79)에 의해 제어된다. 시스템 버스 구동기 인에이블(79)의 상태에 따르면, 시스템 버스 구동기(74)의 입력은 그 출력에 전기적으로 결합되어 이에 의해 기억소자(72)의 출력에서의 데이타를 시스템 버스(25)에 전송하거나, 그 출력으로부터 분리된다. 시스템 버스 구동기 인에이블(79)이 시스템 버스 구동기(74)의 입력과 출력을 분리시킬 때, 시스템 버스 구동기(74)는 시스템 버스(25)에 고임피던스를 부여한다. 시스템 버스 인에이블(79)은 시스템 버스(25)로부터 수신된 클럭 신호 및 노드 특정 논리부(65)로부터 수신된 제어신호에 따라서 클럭 디코더(63)에 의해 또한 발생된다.
기억소자(80)는 시스템 버스(25)에 접속된 입력 단자 및 노드버스 구동기(82)의 입력에 접속된 출력단자를 갖는다. 노드버스 구동기(82)의 출력은 노드버스(67)에 다시 접속된다. 바람직하게는 투명 래치인 기억 소자(80)는 클럭디코더(63)에 의해 발생된 타이밍 신호로부터 인출된 시스템 버스 래치 제어신호(85)에 의해 제어된다. 노드버스 구동 신호(87)는 시스템 버스 구동 신호(79)가 시스템 버스 구동기(74)를 제어하는 방식과 마찬가지로 노드 버스 구동기(82)를 제어한다. 따라서, 노드버스 구동신호(87)에 응답하여, 노드버스 구동기(82)는 그것의 출력에 그것의 입력을 결합시키거나 그것의 출력으로부터 그것의 입력을 분리시키며, 노드 버스(67)에 고임피던스를 공급한다.The
시스템 버스(25)를 통하여 데이타가 어떻게 전송되는지를 설명하기 위하여, 시스템 버스 구동 인에이블(79)과 제어신호(85)간의 관계를 이해하는 것이 중요하다. 본 실시예에서는 이 관계가 제3도에 도시되어 있다. 시스템 버스 구동 인에이블(79)은 버스 사이클의 개시로부터 종료로 인출된다. 새로운 데이타가 구동기 전파 및 버스정착 시간이 발생된 후 버스사이클에서 어느 나중 시간에 시스템 버스(25)로부터의 수신을 위해 유효하게 된다. 본 실시예에서 기억소자(80)는 투명 래치이다. 제어신호(85)는 클럭 C45와 논리적으로 동일하다. 버스 타이밍은 시스템 버스(25)데이타가 제어신호(85)의 디어서트 이전에 때때로 수신하기 위해 유효한 것을 보장한다. 기억소자(80)는 제어신호(85)의 디어서트 이전의 최소한 셋업시간에서 안정 상태이고 제어신호(85)의 디어서트후 홀드시간 동안 안정 상태로 유지되는 버스 데이타를 기억시킨다.In order to explain how data is transmitted over the
노드버스(67)는 바람직하게 데이타 인터페이스(61)에 의해 노드 특정 논리부(65)와 시스템 버스(25)간의 양방향 데이타 전송을 허용하는 매우 고속의 데이타 버스이다. 제2도에 도시된 노드(60)의 바람직한 실시예에서, 노드버스(67)는 시스템 버스 인터페이스(64)와 노드 특정 논리부(65)간의 지점간 접속부로 이루어진 이중 사용자가 시스템이다. 그러나, 본 발명에 따르면, 그러한 접속 및 노드버스(67)가 2이상의 사이클을 지지해야 하는 요건은 없다.The
제5도는 시스템 버스(25)에 또한 접속된 중앙 중재기(28)의 바람직한 실시예를 도시하고 있다. 중앙 중재기(28)는 시스템 버스(25)에 클럭 신호를 공급하고, 시스템 버스(25)상의 노드에 대한 버스의 소유권을 인정한다. 중앙 중재기(28)는 중재회로(90), 클럭회로(95) 및 발진기(97)를 바람직하게 포함한다. 발진기(97)는 기본 클럭 신호를 발생시킨다. 클럭(95)은 중재회로(71)용 타이밍 신호를 공급하고, 시스템 버스(25)상의 타이밍용 기본 시간 H, 시간 L 및 위상 클럭신호들을 공급한다. 중재회로(71)는 명령기 및 응답기 요구 신호들을 수신하고, 시스템 버스(25)에 대한 액세스를 요구하는 노드들간의 콘플릭트를 중재하며, 명령기 및 응답기 요구들에 대해 상기 언급된 큐를 유지한다. 중재회로(71)는 또한 클럭(95)에 어느 제어 신호들을 공급한다.5 shows a preferred embodiment of a
B. 인터록 동작 설명B. Interlock Operation Description
간단히 상술된 바와 같이, 다수의 상이한 형태의 트랜잭션이 버스(25)상에 허용된다. 각 경우, 트랜잭션은 하나의 노드로부터 또 다른 노드로의 하나 이상의 분리 전송으로 구성된다. 응답기 노드가 하나 이상의 버스사이클 동안 명령 전송을 성공적으로 수신할때, 그것은 전송의 각 사이클 후에 제2버스 사이클 처음에 인식 확인을 발생시킨다. 그러한 인식 신호는 본래 전송에 포함된 명령의 성공적 실행을 나타내는 것이 아니라 단지 소정 응답기 노드에서의 입력큐에서 전송이 성공적으로 실려진 것을 나타낸다. 본 발명에 관련된 트랜잭션은 이하 간단히 설명되겠다.As briefly described above, many different types of transactions are allowed on the
명령기 노드에 대한 어드레스 공간 영역을 관리하는 응답기 노드에서의 특정 위치로부터 4바이트, 8바이트, 16바이트 또는 32바이트 블록으로 데이타를 이동시키게끔 판독 트랜잭션이 사용된다. 바람직한 실시예에서 메모리 및 I/O 동작은 공통 어드레스 공간에 관련된다. 응답기 노드는 메모리 노드, 프로세서 노드, 또는 I/O노드일 수 있다.A read transaction is used to move data from a specific location in the responder node that manages the address space area for the commander node into a 4, 8, 16, or 32 byte block. In a preferred embodiment, memory and I / O operations are related to a common address space. The responder node may be a memory node, a processor node, or an I / O node.
인터록 판독 트랜잭션은 판독 트랜잭션과 유사하다. 그러나, 인터록 판독 트랜잭션의 정확한 효과는 이후 상세히 설명되는 방식으로 응답기 노드에서의 록 태그 상태에 좌우된다. 록 태그는 어드레스 공간에서의 위치 또는 위치 그룹에 대한 액세스를 방지한다. 록 태그의 효과는 금속제 "블랙보드"에 나타나는 것으로서 시스템(20)의 어드레스 공간을 보이게 함으로써 이해될 수 있다. 록 태그는 어드레스 공간 "블랙 보드" 상의 위치 또는 위치 그룹의 상부에 제거 가능하게 놓여진 자기 태그와 같이 동작한다. 인터록 판독 트랜잭션에서 특정된 어드레스 공간에서의 위치가 이미 록 태그로 카바될 경우, 즉 그 특정 어드레스 공간이 "록"될 경우, 응답기 노드는 "록"된 응답 메시지로 인터록 판독 요구에 응답하고 복귀되는 데이타는 없다. 이것은 인터록 판독 명령에 특정된 어드레스 공간에서의 위치가 액세스 가능하지 않다는 것을 명령기에 나타낸다. 이 록된 응답 메시지는 응답기 노드가 인터록 판독 명령을 서비스한 후 명령기에 전송되고, 그후 응답기 노드는 버스(25)에 대한 액세스를 얻을 수 있다. 따라서, 명령기는 인터록 판독 트랜잭션의 명령 전송후 비특정 시간에 록된 응답 메시지를 수신한다.Interlock read transactions are similar to read transactions. However, the exact effect of the interlock read transaction depends on the lock tag state at the responder node in the manner described in detail below. The lock tag prevents access to a location or group of locations in the address space. The effect of the lock tag can be understood by showing the address space of the
그 특정 위치가 록 되지 않을 경우, 즉 록 태그와 관련되지 않을 경우, 인터록 판독 명령에 특정된 어드레스에 기억된 정보는 인터록 판독 명령을 발생시킨 명령기노드에 응답 메시지로 복귀된다. 또한, 응답기 노드는 인터록 판독명령에 특정된 어드레스 공간에서의 위치에 록 태그를 부착시켜 뒤이은 인터록 판독 명령에 대한 어드레스 공간에서의 특정 위치로의 액세스를 부정한다.If the specific position is not locked, i.e., not associated with the lock tag, the information stored at the address specified in the interlock read command is returned in the response message to the command node that issued the interlock read command. The responder node also attaches a lock tag at a location in the address space specified in the interlock read command to deny access to a specific location in the address space for subsequent interlock read commands.
언록 기입 트랜잭션은 인터록 판독 트랜잭션에 대한 보족 관계이다. 명령기 노드가 판독-수정-기입 동작에서 판독 및 수정 위치를 성공적으로 완료할 경우, 그것은 인터록 판독 명령에 의해 일시적으로 록된 어드레스 공간에서의 위치를 언록시켜야 한다. 명령기는 특정 위치 안으로 적절히 수정 데이타를 기입하기 위해 어드레스 공간에서의 특정 위치에 대한 언록 기입 트랜잭션을 수행함으로써 이 동작을 수행한다. 응답기 노드는 어드레스 공간을 언록하고 요구된 데이타를 기입함으로써 언록 기입 명령을 처리한다. 이어서, 록 태그가 상세히 설명되는 방식으로 클리닝된다.The unlock write transaction is a complementary relationship to the interlock read transaction. If the command node successfully completes the read and modify position in a read-modify-write operation, it must unlock the position in the address space temporarily locked by the interlock read command. The commander accomplishes this operation by performing an unlock write transaction for a particular location in the address space to properly write modification data into the particular location. The responder node processes the unlock write command by unlocking the address space and writing the required data. The lock tag is then cleaned in the manner described in detail.
인터록 판독 명령 전송중에 버스(25)를 통하여 전송된 메시지는 64데이타 라인상의 데이타를 포함한다. 그 데이타는 4비트 명령 필드, 예를들어 메모리(39)로부터 프로세서 노드(31)로 전송되는 워드의 수를 명세하는 2비트 길이 필드 및, 데이타가 판독되게끔 요구되는 메모리(39)에서의 어드레스 위치를 명세하는 30비트 어드레스 필드를 포함한다. 인터록 판독 명령중에 정보를 이송하는 시스템 버스(25)의 다른 라인은 명령전송을 나타내는 4비트 기능 코드를 이송하는 4기능 라인, 인터록 판독 명령을 개시시킨 명령기 노드를 식별하는 6비트 코드를 이송하는 6ID라인 및 3패리티 라인을 포함한다.The message sent over the
간단히 상술된 바와 같이, 시스템 버스(25)는 송신기에 의해 버스상에 실린 정보의 성공적인 수신을 나타내기 위해 송신기에 의해 사용되는 응답신호를 포함한다. 바람직한 실시예에서, 응답 신호는 3개의 동일한 와이어드 OR확인(CNF)라인을 포함한다. 3가지 라인은, 각 명령에 응답하여 응답기가 무엇을 행하였는가를 명령기가 정확히 아는 것이 버스 트랜잭션의 보전성에 대해 매우 중요하므로, 특히 인터록 명령 또는 I/O레지스터에 대한 기입의 경우 제공된다. 따라서, 수신기는 3가지 CNF라인 모두를 어서트함으로써 인식(ACK)지시를 전송하거나 3가지 CNF라인 모두를 어서트하지 않음으로서 무인식(NACK)신호를 전송하겠다. 3가지 CNF라인 모두가 동일 논리 레벨에서 수신기에 의해 수신되지 않을 경우 참 CNF상태를 결정하기 위해 에러 정정 논리부가 수신기에 구성된다.As briefly described above,
ACK 확인은 응답기가 하나의 명령 전송 사이클로부터의 정보를 허용했다는 것을 나타내거나, 명령기가 하나의 응답 메시지 사이클로부터의 정보를 허용했다는 것을 나타낸다. ACK확인을 발생시킨 판독 명령 전송 사이클은 응답기가 어느 나중 시간에 판독 응답 메시지를 복귀한 것을 나타낸다.The ACK acknowledgment indicates that the responder has accepted information from one command transmission cycle or that the commander has accepted information from one response message cycle. The read command transfer cycle that generated the ACK acknowledgment indicates that the responder returned the read response message at some later time.
CNF 라인상에 복귀된 NACK확인은 명령 전송의 버스사이클로부터 정보를 수신기가 허용하지 않았다는 것을 나타낸다. 이것은 다음 3가지 원인으로 될 수 있다 : (1) 패리티 에러가 시스템 버스(25)상에 발생되었다. (2) 예컨대 수신기의 입력 큐가 찼을 때 수신기가 명령을 일시적으로 허용할 수 없다. (3) 특정 어드레스에 대응하는 응답기 노드가 없다.The NACK acknowledgment returned on the CNF line indicates that the receiver did not allow information from the bus cycle of command transmission. This can be caused by three reasons: (1) A parity error has occurred on the
버스 사이클에 대응하는 확인 지시는 버스사이클후 제2사이클의 처음에서 수신기 노드에 의해 CNF라인에 실린다.The acknowledgment corresponding to the bus cycle is carried on the CNF line by the receiver node at the beginning of the second cycle after the bus cycle.
인터록 판독 트랜잭션의 실시예가 제6도를 참조하여 설명되겠다. 제6도 상부에서의 수평축은 버스(25)상의 연속버스 사이클을 나타낸다. 제6도 좌측에 따라서 수직으로 보여지는 레이블은 버스(25)내에 포함된 라인 그룹, 즉 기능 라인, 데이타 라인, ID라인, 확인라인 및 중재라인을 나타낸다. 제6도의 수평 및 수직축에 의해 형성된 매트릭스에서의 엔트리는 특정 버스사이클중에 특정 버스라인상에 나타나는 데이타 형태를 설명한다.An embodiment of an interlock read transaction will be described with reference to FIG. The horizontal axis at the top of FIG. 6 represents the continuous bus cycle on the
버스 사이클 0에서, 제1명령기 노드 예를들어 제1도의 노드(31)는 중재기(28)에 그것의 CMD REQ중재 요구 라인(중재기(28)에 접속된 지점간 라인중 하나로서 제1도에 도시되어 있음)을 어서트한다.In bus cycle 0, the first commander node, e.g.,
따라서, 제6도는 사이클 1에서 시스템 버스(25)의 중재 라인상에 존재하는 "cmdr # 1"요구를 나타낸다. 상위 우선 순위의 다른 노드가 버스에 대한 액세스를 동시에 요구하고 있지 않는다면, 프로세서(31)는 사이클 1에서 버스 액세스를 얻고 시스템 버스(25)로 메시지를 전송한다.Thus, FIG. 6 shows the "
사이클 1중에 버스(25)의 기능 라인상에 실린 정보는 버스상의 정보가 명령(cmd)정보인 것을 나타낸다. 버스(25)의 데이타 라인상에 실린 데이타는 인터록 판독 트랜잭션으로서 현재 트랜잭션을 식별하고 데이타가 프로세서(31)로 복귀되는 메모리(39)에서의 어드레스를 특정하는 명령 및 어드레스(c/a)데이타로 이루어진다. 버스 사이클 1중에 ID 라인은 버스(25)상에 현재 전송하고 있는 프로세서(명령기/cmdr)노드(31)의 식별 코드를 포함한다.The information on the function line of the
버스 사이클 2중에, 현재의 인터록 판독 트랜잭션과 관련하여 버스(25)상에 실린 정보는 없다.During
인터록 판독 트랜잭션 개시후의 2개의 사이클(즉 소정시간)인 버스 사이클 3의 처음에서 메모리 노드(39)는 버스 사이클 1중에 전송된 명령 전송을 수신한 ACK확인을 전송한다. 이어서, 메모리(39)는 그것의 입력큐에 명령 메시지를 위치시킨다.At the beginning of
버스 사이클 3의 종료에서 인터록 판독 트랜잭션에서의 제1전송이 종료된다. 버스(25)상의 트랜잭션의 펜디드 특성으로 인하여, 요구된 정보가 메모리(39)로부터 프로세서(31)로 복귀되는 시간이 정확히 정의되지 않는다. 응답 시간은 요구 정보를 처리하기 위해 메모리(39)에 의해 요구된 시간 길이와, 다른 노드에 의해 발생된 버스(25)상의 추가 교통량을 처리하기 위해 시스템 버스에 필요한 시간량에 좌우된다. 인터록 판독 트랜잭션의 두전송간 시간의 비특정 특성이 제6도에서 버스 사이클 3 및 4사이의 점선으로 표시되어 있다. 따라서, 버스사이클 4 내지 7을 통하여 발생하는 후속 정보가 제6도에 의해 표시되지만, 이것은 단지 인터록 판독 트랜잭션에 포함된 타이밍의 특정 실시이며 그러한 트랜잭션의 제2전송이 버스(25)의 어느 후속 사이클에서 발생할 수 있다는 것을 알아야겠다.At the end of
메모리(39)는 그것의 입력 큐로부터 인터록 판독 전송 메시지를 제거하고 전송에 포함된 어드레스 정보를 검사함으로써 인터록 판독 명령을 처리한다. 그 정보는 더욱 완전히 설명되기 위해 록 태그에 기억된 어드레스값에 비교된다. 인터록 판독 전송의 기억된 어드레스값과 어드레스 정보가 일치될 경우, 이것은 소정 어드레스 위치가 이전 인터록 판독 명령에 의해 록 되었다는 것을 나타낸다. 이어서, 메모리(39)는 응답 메시지에 필요한 다른 정보와 함께 "록"기능 코드를 포함하는 록된 응답 메시지를 메모리 노드(39)의 출력 큐에서 발생시킨다.The
인터록 판독 전송 어드레스 정보와의 록 태그에 기억된 어드레스 값의 비교가 "히트"를 생성하지 않을 경우, 다시 말하면 전송된 어드레스가 어느 기억된 어드레스에 대응하지 않을 경우, 메모리 노드(39)는 기능 라인에 대한 "양호 판독 데이타"(grdo)와 같은 유효 판독 응답 노드, 데이타 라인에 대한 특정 어드레스 위치의 내용 및, ID라인에 대한 인터록 판독 명령을 개시시킨 명령기 노드의 명령기 식별 코드로 이루어진 응답 메시지를 구성한다. 이 응답 메시지는 메모리 노드(39)의 출력 큐로 로드된다.When the comparison of the address value stored in the lock tag with the interlock read transfer address information does not produce a "hit", that is, when the transmitted address does not correspond to any stored address, the
메모리(39)가 더욱 완전히 설명될 방식으로 인터록 판독 트랜잭션을 처리하고 그 출력큐내의 응답 메시지를 발생시켰을 때, 메모리(39)는 중재기(28)에 대한 RES REQ 요구라인(제1도에 도시된 또다른 지점간 라인)을 어서트한다. 따라서, 중재라인은 버스사이클 4에서 제6도에 도시된 바와 같이 응답기 요구(resp)지시를 이송한다. 이때, 상위 우선순위를 다른 노드가 갖지 않는다고 가정하면, 중재기(28)는 버스사이클 5중에 버스(25)에 대한 액세스를 메모리(39)에 허용한다. 메모리(39)는 시스템 버스(25)의 기능 라인에 "양호 판독 데이타"(grdo)신호를 포함하는 응답 메시지를 전송하고, 프로세서(31)로부터 그것으로의 초기 전송의 어드레스 필드에 의해 특정된 메모리 위치로부터 시스템 버스(25)의 데이타 라인을 통하여 8바이트(즉 64비트) 데이타를 전송하며, 인터록 판독 요구를 처음 발생시킨 명령기 즉 프로세서(31)와 복귀 데이타를 결합시키기 위해 버스(25)의 ID 라인에 프로세서(31)의 ID를 전송한다.When
버스 사이클 6중에, 이 인터록 판독 트랜잭션에 관련된 교통량은 시스템 버스(25)상에 나타나지 않는다. 끝으로, 인터록 판독 트랜잭션은 프로세서(31)가 버스(25)의 확인 라인에 ACK확인을 전송할때 버스 사이클 7에서 종결된다.During
메모리에서의 동일 특정 위치에 대한 제2판독 트랜잭션은 제6도의 사이클 8-15에서 도시된 바와 같이 버스상에 데이타가 나타나게 할 것이다. 사이클 8에서, 제2명령기(Cmdr #2)는 중재기(28)에 대한 명령기 요구를 개시시킨다. 버스사이클 9-12는 사이클 1-4와 동일한 교통량을 버스(25)상에 발생시킨다. 그러나, 수신된 인터록 판독 명령의 처리시, 메모리(39)는 록태그에 기억된 어드레스 값과 인터록 판독 명령으로 전송된 어드레스와의 일치를 발견한다. 따라서, 예컨대 사이클 13에서 버스(25)의 기능 라인상에 LOC응답이 존재한다. 버스 사이클 14 및 15는 사이클 6 및 7과 동일하다.The second read transaction for the same specific location in memory will cause the data to appear on the bus as shown in cycles 8-15 of FIG. In cycle 8, the second
C. 프로세서(31)의 설명C. Description of
제7도를 참조하면, 프로세서(31)내의 노드 명세 논리부(65)에 대한 더욱 상세한 블록도가 도시되어 있다. 프로세서 노드(31)는 모든 노드가 그렇듯이 버스 인터페이스 회로(64)를 포함한다. 또한, 프로세서 노드(31)는 프로세서 논리부(202)를 포함한다. 제7도에 도시된 바와 같이 프로세서 논리부(202)는 본 기술 분야에 숙련된 자에게 잘 알려진 방식으로 소프트 웨어를 실행하는데 필요한 중앙처리장치(CPU)회로를 포함한다. 또한, 프로세서 논리부(202)는 필요한 응용 기능을 실행할 뿐만 아니라 시스템 버스(25)를 통한 전송을 제어하기 위해 시스템(20)에 의해 요구될 때 명령 및 어드레스 정보를 발생시킨다.Referring to FIG. 7, a more detailed block diagram of the node specification logic 65 in the
또한, 프로세서 노드(31)는 버스인터페이스 회로(64)로부터 수신된 시스템 버스(25)의 기능, 데이타, ID 및 패리티 라인상의 정보를 기술상 공지된 방식으로 그 신호들에 대한 패리티 검사를 수행하기 위해 모니터링하는 패리티 에러 검사회로(204)를 포함한다. 검출된 패리티 에러는 신호라인(206)상에 패리티 에러 지시를 발생시키겠다.In addition, the
ID라인상의 정보는 비교기 회로(207)에 의해 모니터링 되며, 비교기 회로(207)에는 장착 캐비넷에서 프로세서(31)의 위치에 의해 결정되는 백 플레인상의 하드와이어드 접속부(210)로부터의 프로세서(31)의 식별 코드가 또한 공급된다. 비교기(207)로부터의 비교 결과는 인식 확인 발생기(208)에 패리티 에러 신호 라인(206)상의 정보와 함께 공급된다.The information on the ID line is monitored by the
패리티 에러가 검출되지 않고 응답 메시지에 대한 버스(25)를 통하여 수신된 ID코드가 프로세서(31)의 ID코드와 일치할 경우, 프로세서(31)로 향해진 응답 전송의 각 사이클 후 제2버스 사이클 처음에 인식 지시 발생기(208)에 의해 ACK확인이 버스(25)의 CNF라인을 통하여 전송된다.If no parity error is detected and the ID code received via the
버스(25)의 기능 및 데이타 라인들상의 정보는 버스 인터페이스(64)를 통하여 응답 디코더(212)에 공급된다. 디코더(212)는 버스(25)를 통한 메시지가 프로세서(31)에 대해 의도될 때 비교기(207)에 의해 인에이블 된다. 이것은 비교기(207)로부터의 비교 결과에 의해 결정된다. 디코더(212)가 비교기(207)에 의해 인에이블될 경우, 디코더(212)는 시스템 버스(25)의 기능라인들로부터 기능코드를 추출하고, 어느 기능 코드의 경우에는 적절한 행위를 위해 버스(25)의 라인으로부터의 명령 및 데이타 정보를 프로세서 논리부(202)에 공급한다.The function of the
프로세서(31)가 버스(25)상의 트랜잭션을 개시시키고자 할 때, 명령, 어드레스 및 데이타 정보가 접속부(210)로부터 공급된 이 노드의 ID와 함께 명령 발생기(214)에 공급된다. 명령 발생기(214)는 명령 전송 메시지를 준비하고, 프로세서(31)가 명령 메시지를 전송하기 위해 버스(25)에 대한 액세스를 요구하는 것을 중재기(28)(제7도에는 도시 생략)에 지시하기 위해 노드 CMD REQ중재라인(216)을 어서트한다. 중재 시스템을 사용하면, 본래의 인터록 판독 전송후 비특정 시간에 중재기(28)가 프로세서(31)에 대한 버스 액세스를 허용한다.When
액세스가 허용되면, 명령 발생기(214)는 버스 인터페이스(64)로 하여금 명령 발생기(214)로부터 명령 메시지를 시스템버스(25)로 전송하게 한다.If access is granted,
인터록 판독 명령이 향해지는 응답기 노드는 인터록 판독 명령 전송후 2사이클 동안 인식확인을 발생시킨다. 특히 제7도에 도시된 바와 같이), 명령 발생기(214)는 명령 전송의 각 사이클이 시스템 버스(25)를 통하여 프로세서(31)에 의해 전송된 후 정확히 2버스 사이클 동안 CNF 버스라인 상의 ACK 확인 존재를 검출하기 위해 CNF라인을 모니터링한다.The responder node to which the interlock read command is directed generates an acknowledgment for two cycles after the transmission of the interlock read command. In particular, as shown in FIG. 7), the
ACK확인의 존재검출 고장으로 인해, 바람직한 실시예에서는 이전 명령의 재전송으로 이루어진 적절한 정정 행위가 발생된다. 그 전송이 종료될 때, 응답기 노드는 인터록 판독 명령을 처리하고 시스템 버스(25)상에 응답 메시지를 복귀시킨다. 시스템 버스(25)상의 교통량 및 큐 길이로 인한 불확실성으로 인해, 응답기 노드는 명령 전송후 비특정 시간에 응답 메시지를 발생시키겠다.Due to the presence detection failure of the ACK acknowledgment, in the preferred embodiment, an appropriate corrective action is made by retransmission of the previous command. When the transmission ends, the responder node processes the interlock read command and returns a response message on the
D. 메모리(39)의 설명D. Description of
제8도는 응답기 노드로서 기능을 할 수 있는 메모리(39)의 블록도를 도시하고 있다. 제8도에 도시될 수 있는 바와 같이, 메모리(39)는 명령 디코드와 어드레스 및 패리티 검사회로(300)를 포함한다. 회로(300)는 버스 기능, 어드레스 및 ID라인들에 접속되고, 공지된 방식으로 패리티 검사를 수행한다. 또한 회로(300)는 버스 어드레스 라인들상의 정보를 레지스터(302)로부터 공급될 때 메모리(39)에 의해 제공된 어드레스 공간의 한계와 비교하고, 그 비교결과를 어드레스 부한 라인(301)상에 공급한다. 버스(25)를 통하여 수신된 어드레스 정보가 메모리(39)에 의해 제공된 어드레스 공간 영역내에 있고 패리티 에러가 발생되지 않았을 경우, 회로(300)에 접속된 인식 발생기(304)가 메모리(39)에 대해 향해진 전송 사이클 후 제2사이클의 처음에 3가지 CNF라인 모두를 어서트함으로써 ACK확인을 발생시킨다.8 shows a block diagram of a
본 발명에 따르면, 메모리가 명령기 노드로부터의 인터록 판독 명령을 수신하기 위한 수단을 포함한다. 바람직하게는, 메모리는 인터록 판독 명령 개시에 뒤이은 소정시간에 명령기의 노드로 인식확인을 전송하기 위한 수단을 포함한다. 또한 바람직하게는, 그러한 수단은 명령 메시지에 뒤이은 소정수의 버스 사이클후 인식 지시를 프로세서노드에 전송하기 위한 인식수단을 구비한다. 여기서 구현되는 바와 같이, 그러한 수단은 버스 인터페이스(64), 입력 큐(306), 회로(300), 어드레스 레지스터회로(302), 인식 지시 발생기(304) 및 메모리(39)내부로의 CNF 라인을 구비한다. 입력 큐(306)는 버스(25)를 통하여 고속으로 수신된 메시지를 메모리(39)의 비교적 저속의 논리부로 인해 그러한 메시지가 행해지게 될 때까지 기억되게 한다. 입력 큐(306)는 버스(25)상의 메시지에 나타나는 어드레스 정보가 메모리(39)에 대한 어드레스 공간 한계내에 있을 때 버스(25)로부터의 메시지를 기억시키게끔 인에이블되며, 이것은 어드레스 부합신호(301)에 의해 결정된다.According to the invention, the memory comprises means for receiving an interlock read command from the commander node. Preferably, the memory comprises means for sending an acknowledgment to the node of the commander at a predetermined time subsequent to the initiation of the interlock read command. Also preferably, the means comprises recognition means for sending a recognition instruction to the processor node after a predetermined number of bus cycles following the command message. As implemented herein, such means includes a CNF line into
본 발명에 따르면, 메모리는 입력 큐로부터 기억된 메시지를 제거하고 그 메시지로부터 인터록 판독 및 언록 기입 명령과 어드레스 데이타를 발생시키기 위한 명령 디코더 수단을 구비한다. 여기서 구현되는 바와 같이 그러한 수단은 디코더(308)를 구비한다. 입력 큐(306)의 출력은 디코더(308)에 공급되며 디코더(308)는 입력 큐(306)내에 기억된 메시지로부터 어드레스 및 명령 정보를 추출한다. 디코더(308)가 여러 명령을 디코드하기 위해 다중 지시를 공급하고 일련의 병렬 신호 라인상에 어드레스 정보를 공급하지만, 디코더(308)의 어드레스 및 명령 출력이 명백히 하기 위해 라인(309,311)으로 제8도에 각각 도시되어 있다.According to the invention, the memory has command decoder means for removing a stored message from an input queue and generating interlock read and unlock write commands and address data from the message. As implemented herein, such means includes a
본 발명에 따르면, 메모리(39)는 정보를 기억하기 위한 기억수단을 포함한다. 여기서 구현되는 바와 같이 기억 수단은 메모리 어레이(312)를 포함한다. 기술상 공지된 바와 같이, 어레이(312)에 공급된 판독 및 기입 명령들로 특정될 수 있는 어드레스에 의해 식별된 메모리 어레이(312)내의 복수의 불연속 위치에 정보가 기억된다.According to the present invention, the
본 발명에 따르면, 메모리(39)는 기억 수단과 결합되고 언록 상태와 록상태 사이에서 동작가능한 록 수단을 포함하는데, 이 록 수단은 언록 상태에서 기억 수단에 대한 액세스를 허용하고 록 상태에서 기억수단에 대한 액세스를 부정하기 위한 수단이다. 바람직하게는, 록 수단은 록 제어기 수단을 포함하는데, 이 록 제어기 수단은 디코더 수단으로부터의 인터록 판독 명령 및 어드레스 데이타에 응답하여, 인터록 판독 어드레스가 록 기억 레지스터에서 벌써 나타나지 않을 경우 록 기억 레지스터내에 인터록 판독 어드레스 데이타를 위치시키고, 록 기억 레지스터에 기억된 데이타에 대응하는 메모리 어레이 어드레스 위치를 록 상태에서 위치시키며, 디코더 수단으로부터의 언록 기입 제어 및 어드레스 데이타에 응답하여, 록 기억 레지스터에 기억된 언록 기입 데이타에 대응하는 메모리 어레이 어드레스 위치를 언록 상태에서 위치시키고, 인터록 판독 제어 데이타에 응답하여, 인터록 판독 어드레스 데이타에 의해 특정된 메모리 어레이 어드레스 위치 상태에 대응하는 록 상태 신호를 발생시킨다. 바람직하게는, 록 제어기 수단은 응답 메시지가 프로세서 노드에 의해 성공적으로 수신되지 않을 경우 언록 상태에 대한 메모리 어레이 어드레스 위치를 복원시키기 위한 수단을 구비한다. 여기서 구현되는 바와 같이 그러한 수단은 록 제어기(310)를 구비한다.According to the invention, the
또한, 본 발명은 명령 수단을 포함하는데, 이 명령 수단은 프로세서 노드중 하나로부터의 인터록 판독 명령에 응답하여, 록 수단의 상태를 나타내는 록 상태 지시를 발생시키고 록 수단을 언록 상태에서 록 상태로 스위칭하며, 언록 기입 명령에 응답하여, 수정된 정보를 특정 위치에 기억시키고 록 수단을 록 상태에서 언록 상태로 스위칭한다. 여기서 구현되는 바와 같이 명령 수단은 록 제어기(310) 및 메모리 어레이(312)를 구비한다.The invention also includes command means, which in response to an interlock read command from one of the processor nodes, generate a lock state indication indicative of the state of the lock means and switch the lock means from an unlocked state to a locked state. And in response to the unlock write command, store the modified information in a specific position and switch the lock means from the locked state to the unlocked state. As implemented herein, the command means comprises a
이후 상세히 설명될 로킹 구조를 수행하는 록 제어기(310)에 어드레스 및 명령 정보가 공급된다. 또한, 메모리 어레이(312)에 디코더(308)로부터의 어드레스 및 명령 정보가 공급된다. 메모리 어레이(312)는 판독 및 기입 명령에 응답하여, 디코더(308)로부터 수신된 어드레스 정보에 의해 특정된 어레이(312)내의 위치로 데이타를 판독/기입한다.Address and command information is supplied to the
본 발명에 따르면, 메모리(39)는 인터록 판독 명령의 개시에 뒤이은 비 특정 시간에, 인터록 판독 명령을 발생시킨 프로세서 노드에 록 상태 지시를 포함하는 록 상태 메시지를 전송하기 위한 상태 응답 수단을 포함한다. 바람직하게는, 응답 발생기는 언록 상태에 록 수단이 있을 때 특정 위치의 내용을 포함하는 제1메시지 형태 및 록수단이 록 상태에 있을 때 그 특정 위치의 무용성을 나타내는 제2메시지 형태를 발생시키기 위한 응답수단을 구비한다. 여기서 구현되는 바와 같이, 상태 응답 수단은 응답 발생기(316) 및 출력 큐(318)를 구비한다.According to the present invention, the
제어기(310)로부터의 록 상태 신호(314) 및 메모리 어레이(312)로부터의 메모리 데이타는 이후 상세히 설명될 출력 응답 메시지를 발생시키는 응답 발생기(316)에 공급된다. 발생기(312)로부터의 응답 메시지는 상술된 중재 처리를 통하여 메모리(39)가 버스에 대한 액세스를 얻을 때까지 기억시키기 위해 출력 큐(318)에 공급된다.The
응답 발생기(316)는 (312)로부터 수신된 데이타, 제어기(310)로부터 수신된 록 상태 신호(314) 및 디코더(308)로부터 수신된 명령 및 ID정보에 따라서 응답 메시지를 준비한다. 발생기(316)에 의해 준비된 응답 메시지는 메모리(39)가 요구된 데이타를 공급하게끔 허용되는 지의 여부에 따라서 두가지 형태중 하나가 된다. 응답되고 있는 명령이 논인터록 판독 명령일 경우나, 명령이 인터록 판독 명령이고 록 상태 신호(314)가 어서트되지 않을 경우, 응답 발생기(316)는 메모리(312)내의 특정위치의 요구된 내용을 포함하는 제1형태의 메시지를 준비한다. 그러나, 명령이 인터록 판독 명령이고 록 상태 라인(314)이 어서트될 경우, 응답 발생기(316)는 인터록 판독 명령의 특정 어드레스가 록 상태에 있다는 것과 요구된 데이타가 그 수신된 인터록 판독 명령에 응답하여 메모리(39)에 의해 전송된 응답 메시지에 구성되지 않는다는 것을 나타내는 기능 라인상의 "록"코드를 갖는 제2형태의 메시지를 준비한다.The
본 발명에 따르면, 메모리(39)는 응답 발생기(316)로부터의 응답 메시지를 기억시키기 위한 그리고 프로세서(31)에 의한 대응 명령의 개시에 뒤이은 비특정 시간에 버스(25)에 대한 액세스를 얻은 후 프로세서 노드(31)로 기억된 응답 메시지를 전송하기 위한 출력 큐 수단을 포함한다. 여기서 구현되는 바와 같이 그러한 수단은 출력 큐(318)를 포함한다. 발생기(316)가 응답메시지를 컴파일 했을 경우, 그것은 출력 큐(318)에 공급된다. 출력큐(318)는 메모리(39)가 버스(25)에 대한 액세스를 요구한다는 것을 버스 인터페이스(64)에 신호한다. 응답 메시지는 그러한 액세스가 얻어질때까지 비특정 시간 동안 출력 큐(318)에 기억된다.According to the present invention, the
메모리(39)가 버스(25)에 대한 액세스가 허용될 때, 출력 큐(318)에 포함된 응답 메시지는 명령을 본래 발생시킨 명령기 노드에 전송하기 위해 시스템 버스(25)상에 실린다. 명령기 노드에 의해 본래 전송된 명령의 실행을 메모리(39)가 종료할 시간을 알지 못하고 또한 메모리(39)가 요구된 데이타 또는 록 상태 정보를 공급하기 위해 버스(25)에 대한 액세스를 얻을 시간이 불확실하므로, 인터록 판독 명령에 대응하는 록 상태 정보가 본래의 인터록 판독 명령의 개시에 뒤이은 비특정 시간에 명령기 노드에서 버스(25)의 기능 라인상에 나타난다.When the
명령기 노드가 성공적인 인터록 판독 명령후 응답기 노드에 의해 발생된 응답 메시지를 수신하지 못할 경우, 명령기 노드는 인식 지시를 발생시키지 않는다. 응답기노드가 응답 메시지로부터의 확인을 수신하지 못하거나 인식하지 못할 경우, 인터록 판독 명령에 의해 세트된 록 비트를 클리어시킨다.If the commander node does not receive a response message generated by the responder node after a successful interlock read command, the commander node does not issue a recognition indication. If the responder node does not receive or acknowledge the acknowledgment from the response message, it clears the lock bit set by the interlock read command.
본 발명에 따르면, 메모리(39)는 제1 및 제2형태의 응답 메시지를 선택적으로 발생키기기 위한 수단을 포함하는데, 제1방식의 데이타 메시지는 록 수단이 언록 상태에 있을 때 기억된 정보를 포함하고 제2방식의 데이타 메시지는 록 수단이 록 상태에 있을 때 정보의 무용성을 나타낸다. 여기서 구현되는 바와 같이, 그러한 수단은 록 상태 라인(314), 응답 발생기(316), 디코더(308) 및 록 제어기(310)를 포함한다.According to the invention, the
E. 록제어기(310)의 설명E. Description of
제9도를 참조하면 록 제어기(310)의 더욱 상세화된 블록도가 도시되어 있다. 본 발명에 따르면, 록 수단은 인터록 판독 명령이 방지되는 메모리 어레이(39)내의 어드레스에 대응하는 선택된 어드레스를 수신하기 위한 록 태그 수단을 포함한다. 여기서 구현되는 바와 같이 록 태그 수단은 논리 제어기(350)와 함께 록 제어기(310)를 구성하는 논리 제어기(352b,352c,352d)를 포함한다. 보다 많거나 보다 적은 록 태그가 특정 응용에 따라서 구성될 수 있다는 것을 알아야겠다. 록 태그들(352a-d)은 구성 및 동작면에서 동일하다. 명백하게 하기 위해 록태그(352a)에 대해서만 상세한 회로가 도시되어 있다.Referring to FIG. 9, a more detailed block diagram of the
각 록 태그(352a-d)는 시스템(20)의 어드레스 공간에서의 위치에 대응하는 값을 기억하기 위한 기억레지스터(354)를 포함한다. 레지스터(354)는 그것에 저장된 값을 나타나게 하는 출력단자(356)를 포함한다. 또한 레지스터(354)는 어드레스 라인(309)에 접속된 입력단자(360) 및 인에이블 단자(358)를 포함한다. 인에이블 단자(358)를 작동 시키면, 레지스터(354)가 어드레스 라인(309)상에 실린 신호를 로드하게 된다.Each
레지스터 출력단자(356)는 비교기(368)의 한 입력단자(366)에 접속된다. 비교기(368)는 어드레스 라인(309)에 접속된 또 다른 입력단자(370)를 갖는다. 비교기(368)의 출력단자(372)는 2입력 AND게이트(374)의 한 입력단자에 공급되는 "부합"신호를 구성한다. AND게이트(374)의 다른 입력단자는 명령라인(311)의 언록기입라인(380)에 접속된다. AND게이트(374)의 출력단자는 래치(382)의 리셋 단자에 접속된다.The
래치(382)의 출력 단자는 2입력 AND게이트(386)의 한 입력단자(387)에 공급되는 "록"신호를 구성한다. AND게이트(386)와 다른 입력단자는 비교기(368)의 부합신호 출력에 접속된다. AND게이트(386)의 출력은 어드레스 라인상에 나타나는 어드레스가 록 태그(352)에 의해 "록"된 것을 나타내는 "히트"신호를 구성한다.The output terminal of the
록 태그(352a)의 최종 구성 소자는 4입력 AND게이트(388)이다. AND게이트(388)의 한 입력은 메모리 노드(39)에 의해 현재 처리되고 있는 명령이 인터록 판독 명령인 것을 나타내는 명령 라인(311)의 라인(390)에 접속된다. AND게이트(388)의 제2입력은 록 태그(352a)의 동작을 적당히 게이트하고 레이스 상태를 방지하기 위해 클럭 신호(389)에 접속된다. AND게이트(388)의 제3입력은 이하 설명될 논리제어기(350)의 "할당"단자에 접속된다. AND게이트(388)의 제4입력 단자는 반전된 록 상태 신호(314)에 접속된다. AND게이트(388)의 출력단자는 레지스터(354)의 인에이블 입력(358) 및 래치(382)의 세트 단자에 접속된다.The final component of the
논리제어기(350)는 유휴 록 태그를 선택하기 위해 선택 인코더로서 기능을 하는 록 태그 할당회로(392)를 포함한다. 록 태그(352a-d)로부터의 록 비트의 상태에 의해 할당회로(392)는 록 태그가 자유 상태라는 것을 결정하며, 선택된 록 태그에 대해 "할당"신호를 발생시킴으로써 로킹 기능을 제공하기 위해 유효 록 태그중 하나를 할당한다.The
록 태그 모두가 현재 할당될 경우, "모두 비지" 출력 신호가 5입력 OR게이트(394)의 한 입력에 공급된다. OR게이트(394)의 다른 입력들에는 록 태그(352a-d)의 각 "히트"신호가 공급된다.When all of the lock tags are currently assigned, all non-cleared output signals are supplied to one input of the five input OR
인터록 판독 명령을 처리하는 록 제어기(310)의 동작이 이제 설명되겠다. 어드레스 라인(309)상의 어드레스 값이 레지스터(354)에 기억된 어드레스 값과 일정하게 비교된다. 레지스터(354)에 기억된 어드레스 값중 어느값도 어드레스 라인(309)상에 나타나는 어드레스값과 같지 않을 경우, 부합 신호가 어서트되지 않고, "히트"신호가 어서트되지 않는다. 회로(392)의 "모두 비지"신호가 또한 어서트되지 않는다고 가정하면, OR게이트(394)의 입력은 액티브되지 않고 록 상태 라인(314)은 세트되지 않는다. 이어서, 메모리 어레이(312) (제8도)는 특정 위치의 내용을 응답 발생기(316)에 공급한다. 록 상태 라인(314)의 논어서트로 인해 응답 발생기(316)가 제1형태의 응답 메시지를 발생시키게 되는데, 이 제1형태의 응답 메시지에서는 "양호 판독 데이타"코드가 응답 메시지 비트에 세트되며, 이 응답 메시지 비트가 그것을 요구한 명령 코드에 버스(25)의 기능 라인을 통하여 전송된다.The operation of the
이제 록 상태 라인(314)의 반전된 값이 AND게이트(388)에 공급된다. 회로(392)는 록 태그(352a-d)의 할당 신호중 하나를 공급한다. 인터록 판독이 처리되고 있으므로, 인터록 판독 라인(390)이 디코더(308)(제8도)에 의해 세트된다. 따라서, 클럭신호(389)가 활성화될때, 록 태그(352a)의 AND게이트(388)가 레지스터(354)를 인에이블시키게끔 활성화된다. 어드레스 라인(309)상에 나타나는 어드레스 값이 록 태그(352a)의 레지스터(354)에 기억된다. 또한 AND게이트(388)의 활성화로 인해 래치(382)가 세트되어 록 태그(352)의 단자(384)의 록 비트를 어서트시킨다. 록 태그(352)의 레지스터(354)내에 포함된 특정 위치에 대한 액세스는 후속 인터록 판독 명령으로 이제 부정된다.The inverted value of
록된 위치에 대한 후속 인터록 판독 명령은 다음의 동작을 발생시킨다. 어드레스 라인(309)상에 나타나는 어드레스 값은 록 태그(352a)의 레지스터(354)에 기억된 값과 동일하다. 록 태그(352a)의 단자(372)에서의 부합 신호가 따라서 세트된다. 록 태그(352a)에 대한 단자(384)에서의 록 비트가 이전 인터록 판독 동작으로부터 세트되므로, AND게이트(386)의 양 입력이 이제 액티브되어 록 태그(352a)의 히트 신호가 어서트되게 된다. 이것은 또한 록 상태 라인(314)을 활성화시키기 위해 OR게이트(394)를 활성화시킨다. 록상태 라인(314)의 활성화로 인해, 응답 발생기(316)(제8도)가 제2형태의 응답 메시지를 발생시키게 되며, 이 응답 메시지에는 록된 응답 코드가 메시지의 기능 비트상에 세트된다.Subsequent interlock read commands for the locked position produce the following operation. The address value appearing on the
록 비트를 클리어시키는 언록 기입 명령의 동작이 이제 설명되겠다. 이전 록된 위치에 대한 언록 기입 명령은 록태그의 레지스터(354)에 기억된 값과 동일한 값을 어드레스 라인(309)상에 실리게 한다. 예를들어, 록 태그(352a)에 의해 록된 위치를 언록시키기 위해 언록기입 명령이 전송되었다고 하자. 어드레스 라인(309)상에 어드레스값이 나타날때, 비교기(368)의 출력은 부합 신호를 세트시킨다. 언록 기입 라인(391)이 이때 또한 하이가 되므로, AND게이트(374)가 활성화되어 래치(382)가 출력단자(384)에서 록 비트 신호를 리셋시키게 된다. AND게이트(386)는 활성화가 해제되어 OR게이트(394)의 입력단자로부터 록 태그(352)에 대한 액티브 히트 신호를 제거한다. 언록 기입 명령으로 전송된 데이타가 이어서 메모리내의 특정 위치에 기입된다.The operation of the unlock write command to clear the lock bit will now be described. The unlock write command for the previously locked position causes the same value as the value stored in the
인터록 판독 명령후 비특정 시간에 시스템 버스를 통하여 데이타 전송으로서 프로세서에 공급된 록 상태 메시지를 제공함으로써, 본 발명은 전송 인식과 록 상태 전송 기능들을 분리시켜서, 록 상태 정보가 소정 시간 또는 전용 록 상태 라인들을 통하여 전송되게끔 요구되었을 경우 필요한 경비 및 복잡성 없이 다중 록 비트의 사용을 위해 제공한다. 또한, 본 발명은 시스템 버스로부터 분리된 버스들 및 아답터를 통하여 시스템에 접속된 노드들로부터 록 상태정보를 얻게한다.By providing the lock status message supplied to the processor as a data transfer over the system bus at an unspecified time after an interlock read command, the present invention separates the transfer recognition and lock state transfer functions, so that the lock state information can be stored for a predetermined time or dedicated lock state. Provides for the use of multiple lock bits without the necessary cost and complexity when required to be transmitted over the lines. The present invention also obtains lock status information from nodes connected to the system via buses and adapters separate from the system bus.
상기 설명을 통하여, 록된 메모리 즉 어드레스 공간은 "위치"로 기재되었다. 단일 인터록 판독 명령 또는 언록 기입 명령이 어드레스에서의 위치들의 영역을 각각 록 및 언록할 수 있으며 단지 단일 위치만을 록 및 언록하지 않도록, 레지스터에 기억된 각 어드레스는 어드레스들의 영역을 구성할 수도 있다.Throughout the above description, the locked memory, that is, the address space, has been described as " position ". Each address stored in a register may constitute an area of addresses such that a single interlock read command or an unlock write command can lock and unlock areas of positions in an address, respectively, and not lock and unlock only a single position.
본 발명의 버스인터페이스 회로 및 인터페이스에서 본 발명의 사상 및 범위를 벗어나지 않고 여러가지 수정 및 변화가 이루어질 수 있다는 것을 본 기술 분야에 숙련된 자는 명백히 알 수 있겠다. 부속 청구범위에는 그러한 수정 및 변화가 포함되어 있다.It will be apparent to those skilled in the art that various modifications and changes can be made in the bus interface circuit and the interface of the present invention without departing from the spirit and scope of the invention. The appended claims contain such modifications and variations.
Claims (7)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/044,466 US4949239A (en) | 1987-05-01 | 1987-05-01 | System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system |
US044,466 | 1987-05-01 | ||
PCT/US1988/001299 WO1988008584A1 (en) | 1987-05-01 | 1988-04-25 | Method and apparatus for implementing multiple lock indicators in a multiprocessor computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR890702145A KR890702145A (en) | 1989-12-23 |
KR910007750B1 true KR910007750B1 (en) | 1991-09-30 |
Family
ID=21932544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019880701787A KR910007750B1 (en) | 1987-05-01 | 1988-04-25 | Method and apparatus for implementing multigle lock indications in a multiprocessor computer system |
Country Status (8)
Country | Link |
---|---|
US (1) | US4949239A (en) |
EP (1) | EP0344216B1 (en) |
JP (1) | JPH0642236B2 (en) |
KR (1) | KR910007750B1 (en) |
AU (1) | AU600830B2 (en) |
CA (1) | CA1304828C (en) |
DE (1) | DE3882977T2 (en) |
WO (1) | WO1988008584A1 (en) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1227711B (en) * | 1988-11-18 | 1991-05-06 | Caluso Torino | MULTIPROCESSOR SYSTEM FOR DATA PROCESSING TO SHARED DISTRIBUTED RESOURCES AND STALL PREVENTION. |
US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
US5175837A (en) * | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
US5182809A (en) * | 1989-05-31 | 1993-01-26 | International Business Machines Corporation | Dual bus microcomputer system with programmable control of lock function |
JPH0387958A (en) * | 1989-06-30 | 1991-04-12 | Nec Corp | Bus lock control system |
US5101479A (en) * | 1989-07-21 | 1992-03-31 | Clearpoint Research Corporation | Bus device for generating and responding to slave response codes |
US5353416A (en) * | 1989-10-25 | 1994-10-04 | Zenith Data Systems Corporation | CPU lock logic for corrected operation with a posted write array |
US5136714A (en) * | 1989-12-04 | 1992-08-04 | International Business Machines Corporation | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system |
US5499356A (en) * | 1989-12-29 | 1996-03-12 | Cray Research, Inc. | Method and apparatus for a multiprocessor resource lockout instruction |
US5168570A (en) * | 1989-12-29 | 1992-12-01 | Supercomputer Systems Limited Partnership | Method and apparatus for a multiple request toggling priority system |
US5381536A (en) * | 1989-12-29 | 1995-01-10 | Cray Research, Inc. | Method and apparatus for separate mark and wait instructions for processors having multiple memory ports |
US5276847A (en) * | 1990-02-14 | 1994-01-04 | Intel Corporation | Method for locking and unlocking a computer address |
US5359715A (en) * | 1991-09-16 | 1994-10-25 | Ncr Corporation | Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces |
US5269005A (en) * | 1991-09-17 | 1993-12-07 | Ncr Corporation | Method and apparatus for transferring data within a computer system |
US5430860A (en) * | 1991-09-17 | 1995-07-04 | International Business Machines Inc. | Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence |
US5491799A (en) * | 1992-01-02 | 1996-02-13 | Amdahl Corporation | Communication interface for uniform communication among hardware and software units of a computer system |
JP3515142B2 (en) * | 1992-06-11 | 2004-04-05 | セイコーエプソン株式会社 | Data transfer control device |
GB2273586A (en) * | 1992-12-21 | 1994-06-22 | Hanover | Restricting access to shared memory during updates. |
US5666515A (en) * | 1993-02-18 | 1997-09-09 | Unisys Corporation | Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address |
US5574862A (en) * | 1993-04-14 | 1996-11-12 | Radius Inc. | Multiprocessing system with distributed input/output management |
JP3360933B2 (en) * | 1994-06-01 | 2003-01-07 | 富士通株式会社 | Storage control method and storage control device in information processing system |
US5594875A (en) * | 1994-07-01 | 1997-01-14 | Digital Equipment Corporation | Method and apparatus to provide pended transaction on a non-pended system bus |
US5701422A (en) * | 1995-12-13 | 1997-12-23 | Ncr Corporation | Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses |
US5872980A (en) * | 1996-01-25 | 1999-02-16 | International Business Machines Corporation | Semaphore access control buffer and method for accelerated semaphore operations |
EP0887741B1 (en) * | 1997-06-27 | 2005-04-13 | Bull S.A. | Interface bridge between a system bus and a local bus for controlling at least one slave device, such as a ROM memory |
US6611891B1 (en) | 1998-11-23 | 2003-08-26 | Advanced Micro Devices, Inc. | Computer resource configuration mechanism across a multi-pipe communication link |
US6421751B1 (en) * | 1998-11-23 | 2002-07-16 | Advanced Micro Devices, Inc. | Detecting a no-tags-free condition in a computer system having multiple outstanding transactions |
US6397225B1 (en) * | 1998-12-23 | 2002-05-28 | Advanced Micro Devices, Inc. | Messaging system with protocol independent message format |
US6681341B1 (en) | 1999-11-03 | 2004-01-20 | Cisco Technology, Inc. | Processor isolation method for integrated multi-processor systems |
US6529983B1 (en) | 1999-11-03 | 2003-03-04 | Cisco Technology, Inc. | Group and virtual locking mechanism for inter processor synchronization |
US6892237B1 (en) | 2000-03-28 | 2005-05-10 | Cisco Technology, Inc. | Method and apparatus for high-speed parsing of network messages |
US6505269B1 (en) | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6922745B2 (en) * | 2002-05-02 | 2005-07-26 | Intel Corporation | Method and apparatus for handling locks |
JP4576323B2 (en) * | 2004-12-10 | 2010-11-04 | 富士通株式会社 | Data transfer apparatus and data transfer method |
US7315910B2 (en) * | 2005-06-16 | 2008-01-01 | Oracle International Corporation | Techniques for handling lock-related inconsistencies |
US8994533B2 (en) * | 2006-11-30 | 2015-03-31 | Patent Navigation, Inc. | Conditional RFID |
US8001328B2 (en) * | 2008-01-29 | 2011-08-16 | International Business Machines Corporation | Method and process for expediting the return of line exclusivity to a given processor through enhanced inter-node communications |
US9560134B1 (en) * | 2012-06-27 | 2017-01-31 | Netapp, Inc. | Storage array side write locking |
US20170111286A1 (en) * | 2015-10-15 | 2017-04-20 | Kabushiki Kaisha Toshiba | Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto |
CN113821470B (en) * | 2020-06-19 | 2024-09-06 | 杭州中天微系统有限公司 | Bus device, embedded system and system on chip |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3398405A (en) * | 1965-06-07 | 1968-08-20 | Burroughs Corp | Digital computer with memory lock operation |
US3528061A (en) * | 1968-07-05 | 1970-09-08 | Ibm | Interlock arrangement |
FR2056894A1 (en) * | 1969-07-31 | 1971-05-07 | Cii | |
US3761883A (en) * | 1972-01-20 | 1973-09-25 | Ibm | Storage protect key array for a multiprocessing system |
US3997875A (en) * | 1973-01-08 | 1976-12-14 | U.S. Philips Corporation | Computer configuration with claim cycles |
US3916384A (en) * | 1973-06-15 | 1975-10-28 | Gte Automatic Electric Lab Inc | Communication switching system computer memory control arrangement |
JPS5319501B2 (en) * | 1973-11-21 | 1978-06-21 | ||
GB1536853A (en) * | 1975-05-01 | 1978-12-20 | Plessey Co Ltd | Data processing read and hold facility |
US3993981A (en) * | 1975-06-30 | 1976-11-23 | Honeywell Information Systems, Inc. | Apparatus for processing data transfer requests in a data processing system |
US4000485A (en) * | 1975-06-30 | 1976-12-28 | Honeywell Information Systems, Inc. | Data processing system providing locked operation of shared resources |
US4075692A (en) * | 1976-01-02 | 1978-02-21 | Data General Corporation | Data path configuration for a data processing system |
US4055851A (en) * | 1976-02-13 | 1977-10-25 | Digital Equipment Corporation | Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle |
US4099243A (en) * | 1977-01-18 | 1978-07-04 | Honeywell Information Systems Inc. | Memory block protection apparatus |
JPS53105139A (en) * | 1977-02-24 | 1978-09-13 | Nec Corp | Dynamic main memory controller |
US4115854A (en) * | 1977-03-28 | 1978-09-19 | International Business Machines Corporation | Channel bus controller |
US4161778A (en) * | 1977-07-19 | 1979-07-17 | Honeywell Information Systems, Inc. | Synchronization control system for firmware access of high data rate transfer bus |
JPS596415B2 (en) * | 1977-10-28 | 1984-02-10 | 株式会社日立製作所 | multiplex information processing system |
US4296466A (en) * | 1978-01-23 | 1981-10-20 | Data General Corporation | Data processing system including a separate input/output processor with micro-interrupt request apparatus |
US4384322A (en) * | 1978-10-31 | 1983-05-17 | Honeywell Information Systems Inc. | Asynchronous multi-communication bus sequence |
JPS55134470A (en) * | 1979-03-12 | 1980-10-20 | Digital Equipment Corp | Data processing system |
US4315310A (en) * | 1979-09-28 | 1982-02-09 | Intel Corporation | Input/output data processing system |
US4313161A (en) * | 1979-11-13 | 1982-01-26 | International Business Machines Corporation | Shared storage for multiple processor systems |
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
US4407016A (en) * | 1981-02-18 | 1983-09-27 | Intel Corporation | Microprocessor providing an interface between a peripheral subsystem and an object-oriented data processor |
JPS58107977A (en) * | 1981-12-22 | 1983-06-27 | Toshiba Corp | Accessing system for storage device |
US4480307A (en) * | 1982-01-04 | 1984-10-30 | Intel Corporation | Interface for use between a memory and components of a module switching apparatus |
JPS58140862A (en) * | 1982-02-16 | 1983-08-20 | Toshiba Corp | Mutual exclusion system |
US4490785A (en) * | 1982-05-07 | 1984-12-25 | Digital Equipment Corporation | Dual path bus structure for computer interconnection |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4698753A (en) * | 1982-11-09 | 1987-10-06 | Texas Instruments Incorporated | Multiprocessor interface device |
JPS59106021A (en) * | 1982-12-10 | 1984-06-19 | Oki Electric Ind Co Ltd | Bus constituting system |
US4543628A (en) * | 1983-01-28 | 1985-09-24 | Digital Equipment Corporation | Bus for data processing system with fault cycle operation |
US4891749A (en) * | 1983-03-28 | 1990-01-02 | International Business Machines Corporation | Multiprocessor storage serialization apparatus |
JPS6010384A (en) * | 1983-06-29 | 1985-01-19 | Nec Corp | Data processor |
US4587609A (en) * | 1983-07-01 | 1986-05-06 | Honeywell Information Systems Inc. | Lockout operation among asynchronous accessers of a shared computer system resource |
US4660169A (en) * | 1983-07-05 | 1987-04-21 | International Business Machines Corporation | Access control to a shared resource in an asynchronous system |
US4706190A (en) * | 1983-09-22 | 1987-11-10 | Digital Equipment Corporation | Retry mechanism for releasing control of a communications path in digital computer system |
AU564271B2 (en) * | 1983-09-22 | 1987-08-06 | Digital Equipment Corporation | Retry mechanism for releasing control of a communications path in a digital computer system |
US4763249A (en) * | 1983-09-22 | 1988-08-09 | Digital Equipment Corporation | Bus device for use in a computer system having a synchronous bus |
US4626843A (en) * | 1983-09-27 | 1986-12-02 | Trw Inc. | Multi-master communication bus system with parallel bus request arbitration |
JPS60107170A (en) * | 1983-11-15 | 1985-06-12 | Nec Corp | Multiprocessor control system |
US4604694A (en) * | 1983-12-14 | 1986-08-05 | International Business Machines Corporation | Shared and exclusive access control |
US4709326A (en) * | 1984-06-29 | 1987-11-24 | International Business Machines Corporation | General locking/synchronization facility with canonical states and mapping of processors |
-
1987
- 1987-05-01 US US07/044,466 patent/US4949239A/en not_active Expired - Lifetime
-
1988
- 1988-04-25 JP JP63504036A patent/JPH0642236B2/en not_active Expired - Lifetime
- 1988-04-25 KR KR1019880701787A patent/KR910007750B1/en not_active IP Right Cessation
- 1988-04-25 EP EP88904314A patent/EP0344216B1/en not_active Expired - Lifetime
- 1988-04-25 AU AU17168/88A patent/AU600830B2/en not_active Ceased
- 1988-04-25 DE DE88904314T patent/DE3882977T2/en not_active Expired - Fee Related
- 1988-04-25 WO PCT/US1988/001299 patent/WO1988008584A1/en active IP Right Grant
- 1988-04-29 CA CA000565480A patent/CA1304828C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US4949239A (en) | 1990-08-14 |
AU600830B2 (en) | 1990-08-23 |
EP0344216B1 (en) | 1993-08-04 |
WO1988008584A1 (en) | 1988-11-03 |
CA1304828C (en) | 1992-07-07 |
KR890702145A (en) | 1989-12-23 |
AU1716888A (en) | 1988-12-02 |
DE3882977T2 (en) | 1994-03-24 |
EP0344216A1 (en) | 1989-12-06 |
DE3882977D1 (en) | 1993-09-09 |
JPH0642236B2 (en) | 1994-06-01 |
JPH02500783A (en) | 1990-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR910007750B1 (en) | Method and apparatus for implementing multigle lock indications in a multiprocessor computer system | |
KR920010915B1 (en) | Method and apparatus for managing multiple lock indicators in multiprocessor computor system | |
US4937733A (en) | Method and apparatus for assuring adequate access to system resources by processors in a multiprocessor computer system | |
KR930000992B1 (en) | Method and apparatus for initiating interlock read tranactions on a multiprocessor system | |
KR910007644B1 (en) | Apparatus and method for determining access to a bus | |
US5111424A (en) | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer | |
EP0346398B1 (en) | Apparatus and method for a node to obtain access to a bus | |
US5034883A (en) | Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers | |
US5341510A (en) | Commander node method and apparatus for assuring adequate access to system resources in a multiprocessor | |
JP2504552B2 (en) | Commander method and apparatus for ensuring sufficient access to system resources in a multiprocessor computer system |
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 | ||
LAPS | Lapse due to unpaid annual fee |