KR910007648B1 - High performance low pin count for inter - Google Patents
High performance low pin count for inter Download PDFInfo
- Publication number
- KR910007648B1 KR910007648B1 KR1019880701758A KR887001758A KR910007648B1 KR 910007648 B1 KR910007648 B1 KR 910007648B1 KR 1019880701758 A KR1019880701758 A KR 1019880701758A KR 887001758 A KR887001758 A KR 887001758A KR 910007648 B1 KR910007648 B1 KR 910007648B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- node
- data
- coupled
- terminal
- Prior art date
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
내용 없음.No content.
Description
[발명의 명칭][Name of invention]
고성능 로우핀 카운트버스 인터페이스High-Performance Low-Pin Countbus Interface
[도면의 간단한 설명][Brief Description of Drawings]
제1도는 본 발명을 이용한 시스템 버스를 포함하는 데이타 처리시스템의 블럭선도이며;1 is a block diagram of a data processing system including a system bus using the present invention;
제2도는 제1도의 데이타 처리 시스템에서의 노드에 대한 블럭선도이고;FIG. 2 is a block diagram of nodes in the data processing system of FIG. 1;
제3도는 제1도의 데이타 처리 시스템에서 사용된 타이밍 신호들을 도시한 타이밍선도이며;3 is a timing diagram showing timing signals used in the data processing system of FIG. 1;
제4도는 제2도의 노드에서의 데이타 인터페이스에 대한 블럭선도이고,;4 is a block diagram of the data interface at the node of FIG. 2;
제5도는 제1도의 테이타 처리 시스템에서의 중재기에 대한 블럭선도이며;5 is a block diagram of an arbiter in the data processing system of FIG. 1;
제6도는 제2도의 데이타 인터페이스 및 제2도의 노드 버스에 대한 인터페이스 회로의 상세블럭선도이고;6 is a detailed block diagram of the interface circuit for the data interface of FIG. 2 and the node bus of FIG.
제7도는 제2도에 도시된 클럭디코더(63)의 부분들에 대한 블럭선도이며;FIG. 7 is a block diagram of the parts of the
제8도는 CMOS 출력회로를 도시하고,8 shows a CMOS output circuit,
제9도는 CMOS 입력회로를 도시하며;9 shows a CMOS input circuit;
제10도는 제2도에서 도시된 노드 버스(67)에 대한 타이밍 신호를 도시한 것이다.FIG. 10 shows timing signals for the
[발명의 상세한 살명][Detailed murder of the invention]
[발명의 배경][Background of invention]
본 발명은 일반적으로 컴퓨터의 데이타 버스 분야에 관한 것으로서, 보다 구체적으로는 양방향 통신을 가능케하는 고속버스에 관한 것이다. 대부분의 버스, 특히 데이타를 병렬 포맷으로 전송하는 다중 라인을 포함하는 버스들에서는 버스상의 데이타가 유효한 상태인 동안에 시간 윈도우들이 존재한다. 동기식 버스들에 있어서, 주기적으로 반복하는 사이클들은 이러한 버스들에 대한 타이밍의 근원을 형성하는데, 이 각각의 사이클에서는 통상 하나의 버스 사이클당 한번씩 활성상태로 되는 개별 신호에 의해 윈도우들이 형성된다. 윈도우들간의 시간동안, 버스상의 데이타를 새로운 레벨로 변화시킬 수 있는데, 이러한 데이타는 무효 데이타로 간주된다.BACKGROUND OF THE
일반적으로, 버스상의 데이타 통신은 버스상에 데이타를 배치하는 버스 구동기와 그 버스로부터 데이타를 검색 및 기억시키는 기억 장치를 수반한다. 상기 버스 구동기는 일반적으로 다음의 2가지 유형중 한가지 유형으로 할 수 있다. 그중 한가지 유형은 단지 하나의 버스 라인을 한가지 레벨로, 예컨대 접지 전위로 구동시킬 수 있게 하는 것인데, 이는 다른 버스 레벨의 확립을 위하여 풀업 또는 예비 충전 장치를 필요로 한다. 다른 한가지 유형은 버스 라인을 2가지 레벨로 구동시킬 수 있게 하는 것인데, 이는 예비 충전 또는 풀업 장치를 필요로 하지는 않는다. 버스 구동기를 제어하는 구동 신호가 상기 한가지 상태인 경우에는, 상기 한가지 유형이 버스 구동기를 인에이블하여 그 버스 구동기로 하여금 버스를 버스 구동기의 입력 단자에서 입력된 입력 데이타에 대응하는 레벨(동일하거나 혹은 반전된 레벨중 어느 하나)로 구동케한다. 또, 구동 신호가 다른 한가지 상태인 경우, 상기 다른 한가지 유형은 버스 구동기로 하여금 버스 구동을 중단되게 한다.In general, data communication on a bus involves a bus driver that places data on the bus and a storage device that retrieves and stores data from the bus. The bus driver may generally be of one of the following two types. One type is to allow only one bus line to be driven to one level, for example to ground potential, which requires a pull up or precharge device to establish another bus level. The other type is to allow the bus lines to be driven at two levels, which does not require a pre-charge or pull-up device. When the drive signal for controlling a bus driver is in one of the above states, the one type enables the bus driver to cause the bus driver to level the bus (equivalent or equal to the input data input at the input terminal of the bus driver). One of the inverted levels). Also, when the drive signal is in another state, the other type causes the bus driver to stop driving the bus.
버스 구동기의 인에이블링직후, 버스상의 데이타가 여전히 변화하는 경우, 그 데이타도 또한 무효상태로 간주된다. 특정 구동기 기술 및 인터페이스 특성을 위해서 이러한 데이타 무효시간은 비교적 일정하지만, 실제로는 상태가 유사한 버스 길이 및 버스 구동기의 전파 지연등에 따라 달라진다. 버스 주파수가 증가함에 따라, 버스의 사이클 시간이 증가하고 이와 마찬가지로 버스 구동기 인에이블 시간은 감소한다. 따라서, 데이타가 유효 상태인 동안은 버스 구동기 인에이블 시간도 감소한다.Immediately after enabling the bus driver, if the data on the bus still changes, that data is also considered invalid. For specific driver technology and interface characteristics, these data dead times are relatively constant, but in practice depend on similar bus lengths and propagation delays of the bus drivers. As the bus frequency increases, the cycle time of the bus increases and likewise the bus driver enable time decreases. Thus, the bus driver enable time is also reduced while the data is valid.
기억 장치는 래치 신호의 작동에 응답하여 버스상의 현재 데이타를 기억한다. 상기 래치 신호는 그것이 버스상에서 유효 상태인 동안 상기 기억 장치가 데이타를 기억하도록 적절히 조절되어야 하는데, 이 래치 신호를 적절히 조절하는 통상의 기법은 버스 구동기가 여전히 인에이블된 상태인 동안 상기 기억 장치로 하여금 데이타를 기억케 하는 것이다. 따라서, 통상의 구동 신호는 래치 신호가 작동된 후의 "홀드시간"동안 버스구동을 계속되게 한다. 직접 회로칩 세트들간의 버스들을 구동시키기 위한 통상의 기법은 버스가 구동되지 않을 때 버스상의 전압레벨이 확정되지 않을 수 있을 뿐만 아니라 이러한 시간동안 기억장치가 버스 구동기에서 버스를 통해 전달될 데이타를 실제로 기억하지 않을 수도 있기 때문에, 버스 구동기를 디스에이블링 하기전에 래치를 작동시키는 것이다.The memory device stores current data on the bus in response to the operation of the latch signal. The latch signal must be properly adjusted so that the memory device stores data while it is valid on the bus, and a conventional technique of properly adjusting this latch signal causes the memory device to be held while the bus driver is still enabled. To remember the data. Thus, the normal drive signal keeps the bus driving for the "hold time" after the latch signal is activated. Conventional techniques for driving buses between sets of integrated circuit chips may not only determine the voltage level on the bus when the bus is not driven, but also during this time the memory actually stores the data to be transferred over the bus from the bus driver. Since it may not be remembered, the latch is activated before the bus driver is disabled.
버스 구동기의 발생과 홀드시간을 얻기 위한 래치 신호는 2개의 개별 클럭 신호, 즉 래치 신호에 대한 클럭 신호와 구동 신호에 대한 클록 신호를 필요로 한다. 그런데, 이들 2개의 클럭 신호는 버스 라인상의 단일 방향 통신인 경우에는 이들 둘만으로도 충분하다. 동일 버스라인들 상의 완전한 양방향 통신은 2개의 기억 장치/버스 구동기 쌍은 물론 4개의 클럭 신호(각 방향에 대해 2개의 신호씩)를 필요로 한다.The latch signal for obtaining the bus driver generation and hold time requires two separate clock signals, one for the latch signal and one for the drive signal. However, these two clock signals are sufficient in the case of unidirectional communication on a bus line. Full bidirectional communication on the same buslines requires four clock signals (two in each direction) as well as two storage / bus driver pairs.
게다가, 버스상의 한쪽 방향으로의 통신을 위해 사용된 구동 신호가 다른 쪽 방향으로의 통신을 위해 사용된 구동 신호와 중첩하지 않아야 하므로, 각각의 방향으로의 통신을 위해 사용된 버스 구동기는 버스를 동시에 구동시키지 않게 된다. 예를 들어, 만약 그들이 클럭 왜곡에 기인해 비록 짧은 시간이라 하더라도 버스를 동시에 구동시키지 않는다면, 그 구동기 및 버스 라인들은 전류 스파이크를 초래하며, 또 제2구동 신호에 의한 데이타의 전달은 지연될 것이다.In addition, since the drive signal used for communication in one direction on the bus must not overlap the drive signal used for communication in the other direction, the bus driver used for communication in each direction must It will not run. For example, if they do not simultaneously drive the bus, even for a short time due to clock distortion, the driver and bus lines will cause current spikes and the transfer of data by the second drive signal will be delayed.
양방향 통신에 대한 다중 클럭의 발생은 그러한 통신이 전체 시스템 클럭으로 동기화 되어야 하는 경우 더욱 복잡해지게 된다. 예를 들어, 버스의 구성요소들중 하나와 결합된 시스템 버스가 그것 자신의 버스 타이밍을 갖는다면, 양방향 통신을 위해 필요한 4개의 클럭 신호는 이러한 시스템 버스의 타이밍에 따라 동기화 될 수 있다. 이러한 동기화는 다음과 같은 몇가지 이유로 곤란해 질수 있다.The generation of multiple clocks for bidirectional communication becomes more complicated when such communication must be synchronized to the full system clock. For example, if a system bus coupled with one of the components of the bus has its own bus timing, the four clock signals needed for bidirectional communication can be synchronized according to the timing of this system bus. This synchronization can be difficult for several reasons.
첫째로, 시스템 버스를 위해 사용된 클럭의 사이클 시간은 양방향 통신을 위한 요구조건에 부합하는 4개의 서로 다른 클럭 신호를 얻도록 그 클럭 사이클 시간을 더욱 세분하는 것이 실현될 수 없을 정도로 짧아질수 있다.First, the cycle time of the clock used for the system bus can be shortened so that further subdivision of its clock cycle time to obtain four different clock signals that meet the requirements for bidirectional communication.
둘째로, 그들 클럭 신호를 얻는 것이 가능하다 하더라도 그들 펄스폭은 소자들내의 논리회로가 그들에 신뢰성 있게 반응할 수 없도록 좁아질수 있다.Second, even if it is possible to obtain their clock signals, their pulse widths can be narrowed so that the logic circuits in the devices cannot reliably react to them.
한가지 설계방안은 2개의 단일 방향 버스를 사용함으로써 4개의 개별 클럭 신호에 대한 필요성을 제거되게 하는 것이다. 그러나, 다른 단일 방향 버스에 대한 다른 라인 세트의 부가는 버스 라인들의 갯수와 그 라인들에 전용되어야 하는 영역의 양자를 2배로 되게 한다. 아울러, 이러한 버스들의 사용은 그 버스에 결합하는 소자상의 핀 갯수를 2배로 되게 한다. 따라서, 예를 들어, 2개의 단일 방향 버스들을 사용하여 64비트 데이타를 병렬로 전송시키기 위해서는, 단일의 양방향 버스에 비해 인터페이스당 부가적인 64개의 핀을 필요로 하게 된다.One design is to eliminate the need for four separate clock signals by using two unidirectional buses. However, the addition of another line set to another unidirectional bus doubles both the number of bus lines and the area that should be dedicated to those lines. In addition, the use of these buses doubles the number of pins on the device that couple to that bus. Thus, for example, transferring 64-bit data in parallel using two unidirectional buses requires an additional 64 pins per interface compared to a single bidirectional bus.
이들 모든 결점들 중, 증가된 핀 갯수는 가장 심각한 문제점일 수 있다. 요구되는 핀 카운트가 단일 집적회로 칩에서 지지될 수 있는 갯수를 초과한다면, 그 회로에는 다중칩이 사용되어야 한다. 따라서, 고속회로의 설계는 칩 경계를 횡단하는 분할 기능을 방지하기 위해 요구되는 핀 갯수를 최소화하는 기법의 개발을 수반한다. 상기 핀 카운트는 프린트회로 기판에 대한 그 핀들의 제한된 공간에 기인하여 종종 회로 설계의 제한 요인이 된다.Of all these drawbacks, the increased pin count may be the most serious problem. If the required pin count exceeds the number that can be supported on a single integrated circuit chip, then multiple chips must be used in the circuit. Thus, the design of high-speed circuits involves the development of a technique that minimizes the number of pins required to prevent splitting functionality across chip boundaries. The pin count is often a limiting factor in circuit design due to the limited space of those pins on the printed circuit board.
피전용 사용자 버스 및 메인 시스템 버스와 같은 2개의 버스들간의 고속버스 인터페이스에 대한 다른 바람직한 설계 목표는 메인 시스템 버스상의 모든 통신의 복제본을 유저 버스상에 대체시키는 것이다. 이것은 사용자 버스에 결합된 회로로 하여금 메인 시스템 버스상의 다른 리소오스들의 사용을 모니터할 수 있게 한다. 이러한 요구조건을 부합시키기 위해서는 데이타가 시스템 버스의 각각의 사이클 동안 시스템 버스에서 사용자 버스로 전송되어야 한다. 만일 사용자 버스가 양방향 통신을 위한 단일 라인을 사용한다면, 그 버스는 시스템 버스 사이클의 각 사이클 동안 2개의 통신(각각의 방향중 하나)을 허용하는 시스템 버스만큼 빠르게 2배로 동작하여야 한다. 이러한 요구조건은 타이밍의 문제점을 더욱 악화시킨다.Another desirable design goal for a high speed bus interface between two buses, such as the user bus and the main system bus, is to replace on the user bus a copy of all communications on the main system bus. This allows a circuit coupled to the user bus to monitor the use of other resources on the main system bus. To meet this requirement, data must be transferred from the system bus to the user bus during each cycle of the system bus. If the user bus uses a single line for bidirectional communication, the bus must operate twice as fast as the system bus allowing two communications (one in each direction) during each cycle of the system bus cycle. This requirement exacerbates the problem of timing.
만일 사용자 버스가 시스템 버스로서 동기화 될 수 있고 또 그 사용자 버스로부터 시스템 버스상에 배치된 메시지들을 포함하는 트래픽을 재생한다면, 몇가지 잇점을 얻을 수 있다. 이러한 시스템의 한가지 장점은 시스템 버스의 한 사용자가 모든 다른 사용자의 시스템 버스 트랜잭션을 모니터할 수 있다는 점이다. 예를 들자면, 한 사용자가 그것의 캐쉬 메모리들로 하여금 다른 사용자들의 모든 메모리기입 동작을 체크하게 함으로써 유효상태를 보증할 수 있다는 점이다. 사용자들은 다른 사용자들의 시스템 버스 트랜잭션과 관련하여 그들 자신의 시스템 버스 트랜잭션을 관찰할 수 있다. 아울러, 사용자들은 시스템 버스를 통해 그들 자신에게 메세지를 송출할 수 있으므로 시스템 버스를 통해 액세스 할 수 있는 시스템버스 제어 및 상태 레지스터와 같은 절점 리소오스들을 용이하게 조정할 수 있게 된다.If a user bus can be synchronized as a system bus and regenerate traffic containing messages placed on the system bus from that user bus, there are several advantages. One advantage of such a system is that one user on the system bus can monitor all other users' system bus transactions. For example, one user can guarantee its validity by having its cache memories check all memory write operations of other users. Users can observe their own system bus transactions in relation to other users' system bus transactions. In addition, users can send messages to themselves via the system bus, making it easy to coordinate node resources such as system bus control and status registers that are accessible through the system bus.
따라서, 본 발명의 제1목적은 구동기의 중첩없이 고속 양방향성 버스 전송을 위해 필요한 클릭 신호들의 갯수를 최소화시키는 것이다.Accordingly, a first object of the present invention is to minimize the number of click signals required for high speed bidirectional bus transmission without overlapping drivers.
본 발명의 제2목적은 하나의 버스가 다른 버스상의 모든 트래픽카피를 얻을 수 있도록 2개의 버스들간에 고속 데이타 전송을 제공하는 것이다.It is a second object of the present invention to provide high speed data transfer between two buses so that one bus can get all traffic copies on the other bus.
본 발명의 제3목적은 하나의 버스로 하여금 다른 버스에 송출된 메세지들의 리턴카피를 제공케 하는 것이다.A third object of the present invention is to allow one bus to provide a return copy of messages sent to another bus.
본 발명의 제4목적은 고속 시스템 버스에 대한 인터페이스를 위해 필요한 핀의 갯수를 최소화시키는 것이다.A fourth object of the present invention is to minimize the number of pins required for the interface to a high speed system bus.
본 발명의 기타 목적 및 장점들은 명세서에서 부분적으로 설명되며, 또 부분적으로는 명세서로부터 명백히 알수 있거나 혹은 본 발명의 실시예에 의해 명백히 이해할 수 있게 될 것이다. 본 발명의 목적 및 장점들은 특히 첨부된 특허청구범위에서 지적된 장치 및 그들의 조합에 의해 실현되거나 혹은 얻어질수 있다.Other objects and advantages of the invention will be set forth in part in the specification, and in part will be obvious from the description, or will be apparent by the embodiments of the invention. The objects and advantages of the invention may be realized or attained by means of the instruments and combinations thereof particularly pointed out in the appended claims.
[발명의 요약][Summary of invention]
본 발명은 핀 단자들간에 양방향 전송을 행하여 그 전송 타이밍을 그 각각의 방향으로 조심스럽게 제어함으로써 종래기술의 문제점 및 단점들을 해소시키는 것이다.The present invention solves the problems and disadvantages of the prior art by performing bidirectional transmission between pin terminals and carefully controlling their transmission timing in their respective directions.
상기 목적들을 달성하기 위하여 본 명세서에서 광범위하게 기술된 바와 같은 본 발명의 인터페이스 시스템은 데이타를 처리하기 위한 유저 부분을 가진 노드(node)와 반복 버스 사이클동안 데이타를 전파하는 시스템 버스에 대한 양방향 통신을 제공한다. 상기 인터페이스 시스템은 유저 부분에 결합되어, 데이타를 병렬로 전송하기 위한 노드 버스와; 상기 노드 버스 및 시스템 버스 사이에 결합되어, 상기 노드 버스 및 시스템 버스 사이에 결합되어, 그 시스템 버스 및 노드 버스간에 양방향 통신을 제공하고 또한 상기 시스템 버스 및 타이밍 수단 상에 전파된 모든 데이타의 카피를 상기 노드 버스에 공급하는 트랜시버 수단을 구비한다.In order to achieve the above objects, the interface system of the present invention as broadly described herein provides bidirectional communication with a node having a user portion for processing data and a system bus that propagates data during repetitive bus cycles. to provide. The interface system includes a node bus coupled to the user portion for transmitting data in parallel; Coupled between the node bus and the system bus, coupled between the node bus and the system bus to provide bidirectional communication between the system bus and the node bus and also to copy copies of all data propagated on the system bus and timing means. And transceiver means for supplying the node bus.
또, 상기 트랜시버 수단은 시스템 버스의 선택된 사이클동안 데이타를 차후 전송을 위한 노드 버스에서 시스템 버스로 수신하기 위해, 절점버스에 결합된 입력 단자들과 시스템 버스들에 결합된 출력단자들을 가지며, 각각의 시스템 버스 사이클마다 발생하는 제1클럭 신호의 액티브 부분에 응답하는 제1단일 방향 통신 수단과; 상기 시스템 버스상에 전파된 데이타를 그 시스템 버스의 매 사이클마다 노드 버스로 전송하기 위하여, 시스템 버스에 결합된 입력단자들(이 입력단자들은 각각 제1단일 방향 통신 수단의 출력단자들 중 다른 한 단자에 접속됨)과 노드 버스에 결합된 출력단자들(이 출력 단자들은 각각 제1단일 방향 통신 수단의 입력단자들 중 다른 한 단자에 접속됨)을 가지며, 각각의 시스템 버스 사이클마다 발생하는 제2클럭 신호의 액티브 부분에 응답하는 제2단일 방향 통신 수단을 포함한다. 또, 상기 타이밍 수단은 제1및 제2의 단일 방향 통신 수단에 결합되어, 제1및 제2클럭 신호를 제공하므로, 제1및 제2클럭 신호의 액티브 부분이 동시에 발생하지 않을 뿐만 아니라 제2클럭 신호의 액티브 부분도 제2의 단일 방향 통신 수단으로 하여금 노드 버스에서 시스템 버스로 전송된 데이타의 카피를 노드 버스로 복귀되게 한다.The transceiver means also has input terminals coupled to the node bus and output terminals coupled to the system buses for receiving data from the node bus for subsequent transmission during the selected cycle of the system bus. First unidirectional communication means responsive to an active portion of the first clock signal that occurs every system bus cycle; Input terminals coupled to the system bus, each input terminal coupled to the system bus to transfer data propagated on the system bus to each node of the system bus, each of which is the other of the output terminals of the first unidirectional communication means. Terminal connected to a node bus) and an output terminal coupled to the node bus, each of which is connected to the other of the input terminals of the first unidirectional communication means, and is generated in each system bus cycle. Second one-way communication means responsive to the active portion of the two clock signal. Further, the timing means are coupled to the first and second unidirectional communication means to provide the first and second clock signals, so that the active portions of the first and second clock signals do not occur simultaneously, but the second The active portion of the clock signal also causes the second unidirectional communication means to return a copy of the data transferred from the node bus to the system bus to the node bus.
본 명세서의 일부분을 이루는 첨부한 도면은 본 발명의 한 실시예를 예시하는 것으로서, 상세한 설명과 함께 본 발명의 원리들을 설명하는 역할을 한다.The accompanying drawings, which form a part of the specification, illustrate one embodiment of the present invention and, together with the description, serve to explain the principles of the present invention.
[양호한 실시예의 상세한 설명]Detailed Description of the Preferred Embodiments
이하, 첨부한 도면을 참조하여 본 발명의 양호한 실시예에 관해 상세히 설명하겠다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
A. 시스템 개관A. System Overview
제1도는 본 발명을 구현한 데이타 처리 시스템(20)의 일예를 도시한 것이다. 이러한 시스템(20)의 핵심은 몇몇 처리기들, 메모리 서브 시스템 및 입력/출력 시스템들간에 통신을 허용하는 동기 버스인 시스템 버스(25)이다. 시스템 버스(25)를 통한 통신은 주기적인 버스 사이클들을 사용하여 동기적으로 발생한다. 이러한 시스템 버스(25)에 대한 통산의 버스 사이클은 64(nsec)이다.1 shows an example of a
제1도에서, 시스템 버스(25)는 2개의 처리기(31,35), 메모리(39), 하나의 입/출력 장치(41)및 하나의 입/출력 장치(51)에 결합된다. 입/출력 장치(53)는 입/출력 버스(45) 및 입/출력 장치 인터페이스(41)에 의해 시스템 버스(25)에 결합된다.In FIG. 1, the
데이타 처리 시스템(20)의 양호한 실시예에서는 중앙 중재기(28)가 시스템 버스(25)에 결합된다. 이 중재기(28)는 시스템 버스(25)상의 다른 장치에 타이밍 및 버스 중재 신호를 직접 공급하여, 그 장치들과 몇몇 신호를 공유한다.In a preferred embodiment of the
제1도에 도시된 장치는 바람직한 한 실시예에 불과한 것이므로, 본 발명을 제한하는 것으로 해석되어야 하는 것은 아니다. 예를 들면, 입/출력 장치(53)는 시스템 버스(25)에 직접 결합될 수 있으며, 중재기(28)는 반드시 본 발명에서 기술된 방식으로 동작할 필요는 없다.The apparatus shown in FIG. 1 is only one preferred embodiment and should not be construed as limiting the invention. For example, input / output device 53 may be coupled directly to
본 발명을 기술하는데 사용된 용어에 있어서, 처리기(31,33), 메모리(39), 입/출력 인터페이스(41)및 입/출력 장치(51)는 모두 노드로 호칭된다. 이 "노드"란 용어는 시스템 버스(25)에 접속하는 하드웨어 장치로서 정의된다.In the terms used to describe the present invention, the processors 31 and 33, the
본 발명을 기술하는데 사용되는 용어에 의하면, "신호" 또는 "라인"이란 용어는 물리적인 와이어의 명칭으로 상호 변경가능하게 사용된다. 또, "데이타" 또는 "레벨"이란 용어는 신호들 또는 라인들이 가정할 수 있는 값을 언급하는데 사용된다.According to the terminology used to describe the invention, the terms "signal" or "line" are used interchangeably with the name of the physical wire. The term "data" or "level" is also used to refer to a value that signals or lines can assume.
노드들은 시스템 버스(25)를 통해 다른 노드들과의 전송을 수행한다. "전송"이란 용어는 공통송신 및 공통중재를 공유하는 하나 이상의 연속 사이클이다. 예를 들면, 시스템 버스(25)상의 다른 노드로부터 정보를 얻기 위하여 하나의 노드에 의해 개시된 판독동작은 제2노드에서 제1노드로의 하나 이상의 복귀 데이타 전송이 뒤따르는 제1노드에서 제2노드로의 명령 전송을 필요로 한다.The nodes perform transmissions with other nodes via the
"트랜잭션"이란 용어는 시스템 버스(25)상에서 수행되고 하나 이상의 전송을 포함할 수 있는 완전한 논리 태스크로서 정의된다. 예를 들면, 하나 이상의 복귀 데이타 전송이 나중에 뒤따르는 명령전송으로 이루어진 판독동작이 하나의 트랜잭션이다. 시스템 버스(25)의 바람직한 실시예에 있어서, 허용가능한 트랜잭션은 다른 데이타 길이의 전송을 제공하며, 판독 기입(마스크된), 인터로크 판독, 언로크기입 및 인터럽트 동작을 포함한다. 인터로크 판독 및 정규의 또는 비 인터로크 판독간의 차이점은 특수 위치에 대한 인터로크 판독이 그 위치에서 기억된 정보를 검색하여 차후 인터로크 판독 명령에 의한 기억된 정보의 액세스를 제한한다는 점이다. 이러한 액세스 제한은 로크 메카니즘을 세팅시킴으로써 수행된다. 차후 언로크 기입 명령은 특수위치내에 정보를 기억시켜, 그 위치에서 로크 메카니즘을 재세팅시킴으로써 상기 기억된 정보에 대한 액세스를 재기억시킨다. 따라서, 인터로크 판독/언로크 기입 동작은 판독 -수정-기입 동작의 구성으로 된다.The term "transaction" is defined as a complete logical task that can be performed on the
시스템 버스(25)는 "펜딩"버스이므로, 그것은 버스 리소오스들의 능률적인 사용을 촉진하여 다른 노드들로 하여금 다른 응답을 위한 대기를 초래할 수도 있는 버스 사이클들을 사용 가능케 한다. "펜딩"버스에 있어서는 하나의 노드가 트랜잭션을 개시한 후에 다른 노드들이 그 트랜잭션의 완료 이전에 버스의 액세스를 개시할 수 있다. 따라서, 그 트랜잭션을 개시한 노드는 전체 트랜잭션 시간동안 버스를 정체시키지 않는다.Since
이것은 버스가 전체 트랜잭션 동안 정체를 비 펜딩버스와는 대조를 이룬다. 예를 들어, 시스템 버스(25)에서는 노드가 판독 트랜잭션을 개시하여 명령전송을 행한 후에 명령전송이 관계되는 노드가 요구된 데이타를 즉시 복귀시킬 수 없을 수도 있다. 그러면 버스(25)상의 사이클들이 판독 트랜잭션의 명령전송 및 복귀 데이타 전송간에 이용될 수도 있다. 시스템 버스(25)는 그 사이클들을 사용하기 위해 다른 노드들을 허용한다.This contrasts with non-pending buses where the bus is congested during the entire transaction. For example, on the
시스템 버스(25)를 사용함에 있어서, 각각의 노드들은 정보의 전송을 실행하기 위하여 다른 롤들(roles)을 가정할 수 있다. 이들 롤중 하나가 현재 진행중인 트랜잭션을 개시한 노드로서 정의된 "커맨더(commander)"이다. 예를 들면, 기입 또는 판독동작에 있어서의 커맨더는 기입 또는 판독동작을 요구했던 노드이지만, 반드시 데이타를 송출 또는 수신하는 노드는 아니다. 시스템 버스(25)에 대한 바람직한 프로토콜에서는, 비록 다른 노드가 어떤 트랜잭션 사이클동안 시스템 버스(25)의 소유권을 취할 수 있다 하더라도, 하나의 노드가 전체 트랜잭션 곳곳에 걸쳐 커맨더로서 유지된다. 예를 들면, 비록 하나의 노드가 판독 트랜잭션의 명령전송에 응답하는 데이타의 전송동안 시스템 버스(25)의 제어를 받는다 하더라도, 그 하나의 노드는 버스의 커맨드가 되지 않는다. 이러한 노드는 "응답기"로 호칭된다.In using the
응답기는 커맨더에 응답한다. 예를 들어, 만일 커맨더가 데이타 노드 A에서 노드 B로 기입하는 기입 동작을 개시하였다면, 노드 B는 응답기가 될 수 있다. 아울러, 데이타 처리시스템(20)에 있어서, 노드는 동시에 커맨더 및 응답기의 기능을 할 수 있다.The responder responds to the commander. For example, if the commander initiated a write operation from data node A to node B, node B may become a responder. In addition, in the
송신기 및 수신기는 노드들이 개개의 전송을 가정하는 롤들이다. "송신기"는 전송동작동안 시스템 버스(25)상에 배치된 정보 소스인 노드로서 정의된다. "수신기"는 송신기를 보완한 것으로서, 이를 전송동작동안 시스템 버스(25)상에 놓인 정보를 수신하는 노드로서 정의된다. 예를 들면, 판독 트랜잭션 동안의 커맨더는 명령 전송동안은 송신기의 역할을 하며, 복귀 데이타의 전송동안은 수신기의 역할을 한다.The transmitter and receiver are roles in which nodes assume individual transmissions. A "transmitter" is defined as a node which is an information source placed on the
시스템 버스(25)에 접속된 노드가 시스템 버스(25)상에서 송신기의 역할을 하는 것이 요구되는 경우, 그 노드는 중앙 중재기(28)및 그 특정 노드 사이에 접속된 2개의 요구 라인 CMD REQ(커맨드 요구)및 RES REQ(응답기 요구)중 어느 하나를 가정한다. 일반적으로, 노드의 CMD REQ 라인은 커맨더의 역할을 요구하여 시스템 버스(25)상의 트랜잭션을 개시하는데 사용하며, 노드의 RES REQ 라인은 응답기의 역할을 하여 데이타 또는 메시지를 커맨더에 복귀시키는데 사용한다. 일반적으로, 중앙 중재기(28)는 노드들이 버스에 대한 액세스를 원하는 경우를 검출한다(예컨대, 요구 라인들이 가정된 경우). 그러면, 그 중재기는 우선 순위 알고리즘에 따라 버스(25)에 대응하는 노드 액세스를 허여하는 가정된 요구 라인들중 하나에 응답한다. 바람직한 실시예에 있어서, 중재기(28)는 2개의 독립적인 원형 대기행열, 즉 하나는 커맨더 요구에 대한 대기행열 또는 하나는 응답기 요구에 대한 대기행열을 유지한다. 상기 응답기는 커맨더 요구보다 고우선순위를 가지고 커맨더 요구 이전에 처리되는 것이 바람직하다.If a node connected to the
상기 커맨더 요구 라인들 및 응답기 요구 라인들은 중재 신호들로 간주된다. 제1도에서 예시된 바와 같이, 중재신호는 또한 중재기(28)로부터 각각의 노드로 포인트별 조건부 허여 신호를 포함하고, 시스템 버스는 다중 버스 사이클 송신기를 수행하는 신호를 확장시키며 또한 예컨대 메모리와 같은 노드가 시스템 버스상의 트래픽으로 인해 순간적으로 불안정해질때 새로운 버스 트랜잭션의 개시를 제어하는 시스템 버스 억제 신호를 확장시킨다.The commander request lines and the responder request lines are considered arbitration signals. As illustrated in FIG. 1, the arbitration signal also includes a point-by-point conditional grant signal from the
시스템 버스(25)를 구성할 수 있는 다른 유형의 신호는 정보전송 신호, 응답 신호, 제어 신호, 콘솔/프론트 패널 신호 및 몇개의 잡통지 신호를 포함한다. 상기 정보전송 신호는 데이타 신호, 현재 사이클동안 시스템 버스상에서 수행될 기능을 나타내는 기능 신호, 커맨더를 식별하는 식별 신호 및 패리티 신호를 포함한다. 상기 응답 신호는 일반적으로 데이타 전송의 상태를 송신기에 알리기 위하여 수신기에서 발생된 인식 또는 확인 신호를 포함한다.Other types of signals that may constitute the
제어 신호는 클럭 신호, 저 라인 전압 또는 저 직류 전압을 식별하는 것과 같은 경고 신호, 초기화 동안 사용되는 리세트 신호, 노드 고장 신호, 유휴 버스 사이클동안 사용되는 디폴트 신호 및 애러 디폴트 신호를 포함한다. 또, 상기 콘솔/프론트 패널 신호는 직렬데이타를 시스템 콘솔로 송수신하는 신호와, 시동동안 부트 처리기의 동작을 제어하는 부트 신호, 시스템 버스(25)상의 처리기의 소거가능 PROM에 대한 수정을 인에이블하는 신호, 프론트 패널상의 RUN LIGHT를 제어하는 신호 및 어떤 노드상의 클럭 로직에 밧데리 전력을 제공하는 신호를 포함한다. 그리고 상기 잡통지 신호는 예비신호와 더불어 각각의 노드로 하여금 그 식별 코드를 정의케하는 식별 신호를 포함한다.Control signals include clock signals, warning signals such as identifying low line voltage or low direct current voltage, reset signals used during initialization, node failure signals, default signals used during idle bus cycles, and error default signals. The console / front panel signal may also transmit and receive serial data to and from the system console, boot signals to control the operation of the boot processor during startup, and enable modifications to the erasable PROM of the processor on the
제2도는 시스템 버스(25)에 접속된 노드(60)의 일예를 도시한 것이다. 이 노드(60)는 처리기, 메모리, 입/출력 장치 또는 입/출력 인터페이스이다. 제2도에서 도시된 예에 있어서, 노드(60)는 노드 지정 로직(65), 노드 버스(67), 그리고 데이타 인터페이스(61)및 클럭디코더(63)를 포함하는 시스템 버스 인터페이스(64)를 포함한다. 상기 데이타 인터페이스(61), 클럭디코더(63)및 노드 버스(67) 시스템 버스(25)에 접속된 노드들에 대한 표준 소자인 것이 바람직하다. 시스템 버스 인터페이스(64)에서의 다른 직접회로를 사용하는 노드 지정 로직(65)은 노드의 특정 기능을 수행하기 위한 사용자가 지정한 회로와 더불어 인터페이스에 대한 표준회로를 노드 버스(67)로서 포함하는 것이 바람직하다. 일반적으로, 데이타 인터페이스(61)는 노드(60)및 시스템 버스(25) 사이의 기본 논리 및 전기 인터페이스이고, 상기 클럭디코더(63)는 중앙 발생 클럭 신호를 기초로하여 노드(60)에 대한 타이밍 신호를 제공하며, 또 노드 버스(67)는 데이타 인터페이스(61)및 노드 지정 로직(65)간에 고속 인터페이스를 제공한다.2 shows an example of a
제2도에서 도시된 노드(60)및 시스템 버스 인터페이스(64)의 바람직한 실시예에 있어서, 클릭디코더(63)는 시스템 버스(25)상에 놓이게 될 신호를 형성하기 위한 제어회로를 포함하므로, 중앙 중재기(28)로부터 수신된 클럭 신호를 처리하여 노드 지정 로직(65) 및 데이타 인터페이스(61)에 대한 타이밍 신호를 얻게 된다. 클럭 디코더(63)에 의해 얻어진 타이밍 신호가 중앙 발생된 클럭 신호를 사용하므로, 노드(60)는 시스템 버스(25)와 동기적으로 동작하게 된다.In the preferred embodiment of
제3도는 하나의 버스 사이클, 클럭디코더(63)에 의해 수신된 클럭 신호 및 클럭 디코더(63)에 의해 발생된 타이밍 신호를 도시한 타이밍도이다. 클럭디코더(65)에 의해 수신된 클럭 신호는 제3도에서 도시된 바와 같은 시간 H신호, 시간 L 신호 및 위상 신호를 포함한다. 시간 H 및 시간 L은 기본적인 클럭 신호의 반전 신호이며, 위상 신호는 기본적인 클럭 신호를 3개로 분할함으로써 얻어진다. 버스 사이클당 한번 발생하는 데이타 인터페이스(61)에 의해 요구되는 타이밍 신호는 데이타 인터페이스(61)에 제공되며, 이 데이타 인터페이스(61)에 제공된 타이밍 신호들의 등가 신호를 포함하는 완전한 타이밍 신호 세트들은 버퍼되어, 노드 지정 로직(65)에 공급된다. 이러한 버퍼링의 목적은 노드 지정 로직(65)이 시스템 버스 인터페이스(64)의 동작에 악영향을 끼치지 않도록 함으로써 타이밍 신호를 부정확하게 로우딩하지 않도록 하는 것이다. 클럭디코더(63)는 클록 신호로 하여금 각각의 버스 사이클동안 6개의 서브 사이클을 발생케 하는데 사용되며 또한 이 서브 사이클들로 하여금 6개의 타이밍 신호 CXY를 발생케 하는데 사용되는데, 여기서 X및 Y는 하나의 시간 신호를 형성하도록 결합된 2개의 인접 서브 사이클을 나타낸다.3 is a timing diagram showing one bus cycle, a clock signal received by the
시스템 버스내의 각각의 노드는 그 클럭디코더(63)에 의해 발생된 타이밍 신호에 대응하는 타이밍 신호세트를 갖는다. 상기 대응하는 신호가 시스템 곳곳의 모든 노드에서 사실상 동일한 시간에 발생하는 동안은 다수 노드내의 클록디코더(63)및 다른 회로 사이의 변화가 대응 신호들 간의 타이밍 변화를 초래시킨다.Each node in the system bus has a set of timing signals corresponding to the timing signals generated by its
이들 타이밍 변화는 통상 "클럭 스큐(skew)"로서 알려져 있다.These timing changes are commonly known as "clock skews."
제4도는 데이타 인터페이스(61)의 바람직한 실시예를 도시한 것이다. 이러한 데이타 인터페이스(61)는 노드 버스(67)의 각 라인들과 시스템 버스(25)의 각 라인들 사이에 양방향성 고속 인터페이스를 제공하기 위하여 일시기억회로 및 버스 구동기 회로를 함한다.4 shows a preferred embodiment of the
제4도에서 도시된 바와 같은 데이타 인터페이스(61)는 노드 버스(67)에서 시스템 버스(25)까지 통신경로를 제공하도록 기억소자(70), (72)및 시스템 버스 구동기(74)를 포함하는 것이 바람직하다. 데이타 인터페이스(61)는 또한 시스템 버스(25)에서 노드 버스(67)까지의 통신통로를 제공하기 위해 기억소자(80)및 노드 버스 구동기(82)를 포함한다. 데이타 인터페이스(61)의 설명으로 사용되는 "기억소자"란 용어는 일반적으로 투명 래치 또는 마스터 슬래이브 기억소자와 같은 쌍안정 기억 장치를 의미한다. 이 분야의 기술에 숙련된자라면, 이와 같은 기억소자들의 용어가 타당한 것이라는 것을 알수 있을 것이다.
제4도에서 도시한 바와 같이, 기억소자(70)는 노드 버스(67)에서 데이타를 수신하도록 접속된 입력 및 기억소자(72)의 입력에 접속된 출력을 갖는다. 기억소자(72)의 출력은 시스템 버스 구동기(74)의 입력에 접속되며, 그 구동기(74)의 출력은 시스템 버스(25)에 접속된다. 기억소자(70)및 (72)는 각기 노드 버스 제어신호(76)및 (78)에 의해 제어되는데, 이러한 제어 신호는 클럭디코더(63)에 의해 발생된 타이밍 신호로부터 발생된다. 기억소자(70)및 (72)는 노드 버스(67)에서 시스템 버스(25)로 데이타를 전송시키기 위하여 2단 일시 저장 기능을 제공한다. 또한, 기억단의 상이한 갯수가 사용될 수 있다.As shown in FIG. 4, the
시스템 버스 구동기(74)는 시스템 버스 구동기 인에이블 신호(79)에 의해 제어된다. 상기 시스템 버스 구동기 인에이블 신호(79)의 상태에 따르면, 시스템 버스 구동기(74)의 입력은 그 출력에 결합되어, 기억소자(72)의 출력에서 시스템 버스(25)로 데이타를 전송하거나 혹은 그 출력으로부터 분리되거나 둘중 어느 하나이다. 시스템 버스 구동기 인에이블신호(79)가 시스템 버스 구동기(74)의 입력 및 출력을 분리시키는 경우, 시스템 버스 구동기(74)는 시스템 버스(25)에 대한 고 임피던스로 존재한다. 시스템 버스 구동 인에이블 신호(79)는 또한 시스템 버스(25)에서 수신된 클럭 신호와 노드 지정 로직(65)에서 수신된 제어 신호에 따라서 클럭디코더(63)에 의해 발생된다.
기억소자(80)는 시스템 버스(25)에 접속된 입력단자 및 노드 버스 구동기(82)의 입력에 접속된 출력단자를 갖는다. 이 노드 버스 구동기(82)의 출력은 다시 노드 버스(67)에 접속된다. 기억소자(80), 바람직하게는 투명 래치가 클럭디코더(63)에 의해 발생된 타이밍 신호로부터 유도되는 시스템 버스 제어 신호에 의해 제어된다. 노드 버스 구동 신호(87)는 시스템 버스 구동기(79)가 시스템 버스 구동기(74)를 제어하는 방식과 유사한 노드 버스 구동기(82)를 제어한다. 따라서, 노드 버스 구동기 신호(87)에 응답하여, 그 노드 버스 구동기(82)는 그것의 입력을 그것의 출력에 결합하거나 혹은 그것의 입력을 그것의 출력에서 분리하거나 둘중 어느 하나로서, 노드 버스(67)에 고 임피던스를 제공한다.The
시스템 버스(25)를 통해 데이타가 어떻게 전송되는지를 설명하기 위해서는, 시스템 버스 구동 인에이블 제어 신호들(85)간의 관계를 이해하는 것이 중요하다. 본 발명의 실시예에서는, 이러한 관계가 제3도에 도시되어 있다. 시스템 버스 구동 인에이블 신호(79)는 공칭적으로 버스 사이클의 개시점에서 종료점까지 구동된다. 이 새로운 데이타는 구동기 전파 시간 및 버스 세팅시간이 발생된 이후에 시스템 버스(25)에서의 수신에 유용한 것이다. 본 발명의 실시예에 있어서, 기억소자(30)는 투명 래치이다. 또, 제어 신호(35)는 클럭 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) 사이의 포인트별 접속을 이루는 상호 접속 시스템이다. 그러나, 본 발명에 따르면, 이러한 포인트별 상호 접속에 대한 요구조건은 전혀 없다.The
제5도는 시스템 버스(25)에도 접속된 중앙 중재기(28)의 바람직한 실시예를 도시한 것이다. 중앙 중재기(28)는 시스템 버스(25)에 대한 클럭 신호를 제공해서, 그 버스의 소유권을 시스템 버스(25)상의 노드에 허여한다. 이러한 중앙 중재기(28)는 중재회로(90), 클럭회로(95) 및 오실레이터(97)를 포함하는 것이 바람직하다. 오실레이터(97)는 기본적인 클럭 신호를 발생시킨다. 클럭(95)는 중재회로(71)에 대한 타이밍 신호, 기본 시간 H, 시간 L 및 시스템 버스(25)상의 타이밍에 대한 위상 클럭 신호를 제공한다. 상기 중재회로(71)는 커맨더 요구 및 응답기 요구 신호를 수신하여, 시스템 버스(25)에 대한 액세스를 요구하는 노드들간의 불일치를 중재하고, 또한 커맨더 및 응답기 요구들에 대한 대기행열을 유지한다. 중재회로(71)는 또한 어떤 제어 신호를 클럭(95)에 제공한다.5 shows a preferred embodiment of a
B. 버스 인터페이스회로B. Bus Interface Circuit
제2도 및 제4도에서 도시된 노드(60)에 있어서, 각각의 데이타 인터페이스(61)는 단일 핀 단자에 의해 시스템 버스(25)의 대응 라인에 결합된다. 그 접속부는 직접 관여할 수도 있지만, 본 발명의 이해와는 무관하므로 저항을 통해 관여하는 것이 바람직하다. 본 발명의 배경에서 설명한 바와 같은 이유로서, 각각의 데이타 인터페이스(61)가 단일 핀 단자에 의해 시스템 버스(25)의 라인들에 대응하는 노드 버스(67)의 라인들에 대한 노드 버스(67)의 대응 라인에 결합되는 것이 바람직하다. 단일 핀 단자들을 사용함으로써, 노드 버스(67)가 2개의 병렬 버스들 대신에 단일 양방향 버스로 될 수 있으므로, 요구되는 핀 또는 단자들의 갯수가 최소화된다. 아울러, 노드 버스(67)에 접속된 회로는 2배의 병렬 버스들에 대한 인터페이스에 요구되는 증가된 핀 갯수를 만족시키기 위해 단지 몇개의 집적회로 칩 중에서 분할될 필요는 없다.In the
게다가, 본 발명의 배경에서, 이미 설명한 바와 같은 이유로 단일 핀 단자에 대해 단일 핀 단자를 달성하는 회로 설계에 있어서의 양방향 전송 콤플렉스는 노드(60)에 의해 제공된 시스템 버스(25)상의 데이타를 포함하는 시스템 버스(25)에서의 모든 데이타 또는 메시지들의 카피를 노드 버스(67)상에 배치하려는 요구에 의해 복잡해지게 된다. 그렇게 하는 것은 노드 지정 로직(65)으로 하여금 시스템 버스(25)상의 모든 데이타 또는 메시지들을 관찰케하여 시스템 버스(25)를 관리하는데 도움을 주게 한다. 시스템 버스(25)상의 모든 데이타 또는 메시지들을 노드 지정 로직(65)에 이용할 수 있게 함으로써, 노드(60)는 데이타 처리시스템(20)의 리소오스들이 사용되어, 그 처리들이 시스템 버스(25)의 사용에 대한 자체 관리기법을 수행하는데 사용되는 인식을 이용할 수 있다.In addition, in the context of the present invention, a bidirectional transmission complex in a circuit design that achieves a single pin terminal for a single pin terminal for the same reasons as previously described includes data on the
아울러, 시스템 버스(25)의 각각의 라인에 대한 핀 단자를 통해 데이타 인터페이스(61)및 시스템 버스(25)간에 양방향 통신을 제공하게 되면, 노드 지정 로직(65)이 자체 메시지를 감시하여 그 자체 메시지를 시스템 버스(25)로 수신한다. 이러한 접속은 또한 노드 지정 로직(65)로 하여금 시스템 버스(25)에 의해 메시지를 송출케 하므로, 다른 노드들이 그 트랜잭션을 감시할 수 있게 된다.In addition, when bidirectional communication is provided between the
시스템 버스(25)의 노드 버스(67)로의 사이클 가시성에 의한 사이클의 다른 잇점은 캐쉬 코히어런시를 유지하는 것이다. 이러한 사용에 따라, 만일 노드가 시스템 버스(25)를 통해 액세스 가능한 메모리 위치에서의 내용을 수정하는 경우, 다른 노드들은 그러한 액세스들을 감시할 수 있으며 또한 그들 자신의 캐쉬들이 이들 메모리 위치들의 카피들을 포함하는지의 여부를 결정할 수 있다.Another advantage of the cycle by the cycle visibility of the
시스템 버스(25)의 각 사이클동안 양방향 전송 능력은 물론 단일 핀 단자 접속을 제공하기 위하여, 노드버스(67)는 본 발명의 배경에서 설명된 바와 같이 시스템 버스(25)의 속도의 2배로 동작하여야 한다. 그러므로, 노드 버스(67)는 시스템 버스(25)보다 더 짧은 전송시간을 가져야 한다. 시스템 버스(25)에 대한 64nesc 사이클 시간을 갖는 본 발명의 바람직한 실시예에서는, 예를 들어 CMOS 회로로 구성된 시스템 버스 인터페이스(64)에서의 회로 요구조건에 기인하여 단지 6개의 서브 사이클만이 이용가능하다. 각각 2개의 서브 사이클을 카바하는 6개의 타이밍 신호들 C12, C23, C34, C45, C56 및 C61은 노드 버스(67)의 타이밍을 위해 형성된다.In order to provide bidirectional transmission capability as well as a single pin terminal connection during each cycle of the
2쌍의 클럭 신호를 요구하는 양방향 버스 전송에 대한 종래의 방법에서는 그들 신호를 형성하는데 필요한 타이밍은 제3도의 타이밍 신호나 혹은 6개의 서브 사이클에 기인한 다른 신호의 사용에 대한 수행을 어렵게 한다. 실제로, 그 수행은 단지 제3도에 도시된 타이밍 신호 보다 더 긴 구동기에 대한 특수 타이밍 신호(예컨대, C123와 같은 3개의 서브 사이클에 대한 긴 신호)를 발생케 하거나 혹은 그 타이밍 신호보다 더 짧은 래치 제어 신호(예컨대, C1 또는 C2와 같은 단일 서브 사이클 신호)를 발생케 함으로써 가능해진다.In conventional methods for bidirectional bus transmissions requiring two pairs of clock signals, the timing required to form these signals makes it difficult to perform the use of timing signals in FIG. 3 or other signals due to six subcycles. In practice, the execution only generates a special timing signal for the driver that is longer than the timing signal shown in FIG. 3 (eg, a long signal for three subcycles, such as C123) or a latch shorter than that timing signal. This is made possible by generating a control signal (eg, a single sub cycle signal such as C1 or C2).
첫번째 경우에는, 보다 긴 클럭 신호(즉, C123 및 C456)가 구동기를 제어하는데 사용될 수 있으므로 2개의 다른 구동기가 동시에 그 버스를 구동하게 될 높은 확률이 존재하며, 또한 클럭 스큐가 그들 신호를 중첩케하여 그 버스를 동시에 구동케 할 높은 확률도 존재한다. 두번째 경우에는, 보다 짧은 타이밍 신호가 논리회로에 의해 효과적으로 사용될 만큼 혹은 래치의 작동 이전에 구동기로부터 래치로의 데이타 전송을 허용할 만큼 충분히 길지 않을 수 있으므로, 종래의 버스 구동 방법은 8개의 최소 서브 사이클로부터 얻어질수 있는 타이밍 신호를 필요로 한다. 이것은 중첩을 방지하기 위해 하나의 서브 사이클로 분리되는 2/3 서브 사이클 구동기 신호와 3개의 서브 사이클 구동 신호의 첫번째 2개의 구동 신호 동안 계속할 수 있는 래치 제어 신호를 허용할 수 있다.In the first case, longer clock signals (ie, C123 and C456) can be used to control the driver, so there is a high probability that two other drivers will drive the bus at the same time, and the clock skew will superimpose them. There is also a high probability of driving the bus simultaneously. In the second case, the shorter bus signal may not be long enough to be effectively used by the logic circuitry or to allow data transfer from the driver to the latch prior to the latch's operation, so the conventional bus driving method uses eight minimum subcycles. Requires a timing signal that can be obtained from This may allow a latch control signal that can continue during the first two drive signals of the two-third subcycle driver signal and three subcycle drive signals that are separated into one subcycle to prevent overlap.
본 발명의 회로는 제한된 수의 서브 사이클이 있는 경우 양방향 데이타 전송의 문제점과, 그리고 집적회로 칩 경계 양단의 데이타 전송의 문제점에 대해 예전에는 인지되지 않았던 버스 라인의 현상을 이용함으로써 다른 회로의 부가에 대한 필요성을 방지하는 것이다. 노드 버스(67)의 각 라인들은 통상 5-10pf 의 고유 용량값을 갖는다. 본 발명자는 이러한 고유 용량값이 버스 구동기에 의해 버스가 더 이상 특정 레벨로 구동되지 않은 다음에도 그 버스 라인상 적절한 전압 레벨을 유지하는데 사용될 수 있음을 발견하였다. 전하를 버스 라인의 고유 용량값으로 기억하기 위해서는, 그 용량값의 방전 통로에 대한 임피던스가 높아져야 한다. 일반적으로, 버스에 대한 방전은 구동기 출력 및 그 버스에 접속된 기억소자 입력을 통해 행해진다. 본 발명자는 또한 고입력 및 고 출력 임피던스를 가진 장치, 특히 버스라인들에 수 pf의 용량값을 가산하는 CMOS 장치를 사용함으로써, 그 버스 라인의 고유 용량값이 버스 구동기로부터 구동 신호가 제거된 이후에도 그 버스에 배치된 데이타를 유효상태로 되게 하는 시간동안 확장되도록 사용될 수 있음을 발견하였다.The circuit of the present invention utilizes the phenomenon of bus lines, which was not previously recognized for the problem of bidirectional data transfer when there are a limited number of subcycles, and the problem of data transfer across the integrated circuit chip boundary, thereby adding to other circuits. To avoid the need. Each line of
인터페이스 장치는 각각 그 버스의 다른 라인에 대응하는 다수의 버스 구동기를 구비한다. 이 구동기의 각각은 대응하는 버스 라인을 2개의 전압 레벨중 어느 하나로 구동할 수 있다. 제6도는 노드 지정 로직(65)및 데이타 인터페이스(61)내의 회로에 접속된 버스(67)의 한 라인에 대한 일예를 도시한 것이다. 이미 기술된 버스 구동기(82)가 버스(67)의 그러한 라인에 결합된 것으로 도시되어 있다. 상기 버스 구동기(82)는 기억소자(80)에서 노드 버스(67)의 라인으로 전송될 입력 데이타를 홀딩하기 위한 입력단자(90)와, 노드버스(67)의 라인에 실제 결합된 버스 인터페이스 단자(92)를 포함한다. 상기 버스 구동기(82)는 또한 제4도에서의 2상태 구동 신호, 소위 구동기 신호(87)를 수신하며, 특히 제6도에서 C61로서 도시된 인에이블 단자(94)를 갖는다.The interface device has a plurality of bus drivers each corresponding to a different line of the bus. Each of these drivers can drive the corresponding bus line to either of two voltage levels. FIG. 6 shows an example of one line of
제3도는 신호 C61의 타이밍을 도시한 것이다. C61이 고 레벨(이러한 레벨은 변환 가능하며 필수적인 것은 아니다)일 때, 그 출력 단자(92)는 노드 버스(67)의 대응 라인을 입력 데이타에 따른 레벨들중 하나로 구동시킨다. 또, 신호 C61이 저 레벨인 경우에는, 상기 버스 구동기(82)가 버스 라인의 구동을 중단시켜 노드 버스(67)의 라인에 고 임피던스를 제공한다.3 shows the timing of the signal C61. When C61 is at a high level (this level is convertible and not required), its
인터페이스 장치는 또한 버스의 다른 한 라인에 대응하는 다수의 래치를 포함한다. 제6도가 도시하는 바와 같이, 기억소자(110)은 구동기(82)와 마찬가지로 노드 버스(67)의 동일 라인에 결합된다. 이 기억소자(110)는 그 입력단자(112)가 노드 버스(67)의 그 라인에 결합되어 있어서, 그 라인에 고 임피던스를 제공한다. 상기 기억소자(110)는 또한 제6도에서 도시된 C61과 같은 제어 신호를 수신하기 위한 제어 단자(114)를 갖는다. 단자(114)에서의 제어 신호는 그 제어 신호가 작동될 때(즉, C61이 비가정될 때) 기억소자(110)로 하여금 노드 버스(67)의 대응하는 라인상의 레벨을 기억케한다. 일반적으로, 제어 신호는 상승 또는 하강 구간중 어느 하나와 같은 상태들간의 신호전송동안 작동된다.The interface device also includes a number of latches corresponding to the other line of the bus. As shown in FIG. 6, the memory element 110 is coupled to the same line of the
상기 인터페이스 장치는 또한 버스 구동기의 입력 단자에서의 입력 데이타를 버스를 통해 래치들로 전송시키는 구동 및 제어 신호를 발생시키기 위해 다수의 래치에 결합된 신호 발생 수단을 포함한다. 제7도는 신호 C61을 구동시키는 회로를 포함하는 클럭디코더(61)의 일예를 도시한 것이다. 제7도에서, 시간 L신호는 버퍼(130)를 통해 수신되어, 3개의 비트 시프트 레지스터(132)의 클럭 입력에 결합된다. 위상 신호가 버퍼(134)를 통해 통과한 다음에는 시프트 레지스터(132)의 데이타 입력 단자에 제공된다. 그 레지스터의 Q1, Q2 및 Q3 출력은 각기 C12, C34 및 C56신호를 형성하기 위하여 버퍼(140), (138) 및 (136)를 통해 통과된다. 시프트 레지스터(132)의 Q1 출력은 그 클럭입력이 버퍼(114)를 통해 시간 H신호로 결합되는 3비트 시프트 레지스터(142)에 데이타 입력을 공급한다. 상기 레지스터(142)의 Q1, Q2 및 Q3 출력은 각기 버퍼(150), (148)및 (146)를 통해 통과되어 C23, C45 및 C61신호를 형성한다. 제3도에서 도시된 바와 같이, 본 발명의 바람직한 실시예에서의 클럭 신호 C61의 액티브 부분은 시스템 버스(25)의 사이클의 약 1/3 동안 계속된다.The interface device also includes signal generating means coupled to the plurality of latches for generating drive and control signals for transferring input data at the input terminals of the bus driver to the latches over the bus. 7 shows an example of a
신호 발생 수단은 대응하는 제어 신호가 작동되는 것과 실질상 같은 기간에 구동 신호를 제1상태에서 제2상태로 스위칭 하기 위한 제1수단을 포함한다. 다시 말해서, 구동 신호는 래치 신호 이후에는 부가적인 서브 사이클을 유지할 필요가 없다. 바람직한 실시예에 있어서, 클럭디코더(63)는 구동기 신호 및 제어 신호 양자에 대해 타이밍 신호 C61을 발생시킨다. 이미 설명했던 바와 같이, 데이타 인터페이스(61)에 송출된 타이밍 신호 C61을 노드 지정 로직(65)으로 송출된 타이밍 신호 C61로부터 분리시키는 것이 바람직하다. 그러나, 이들 양자의 타이밍 신호는 실질상 동일하다. 이러한 신호 분리는 노드 지정 로직(65)의 특성이 예컨대 부적절한 로우딩에 기인해 데이타 인터페이스(65)에 나타나는 타이밍 신호를 변동되게 하는 것을 방지함은 물론 클럭디코더(63)의 타이밍 신호에 의한 데이타 인터페이스(61)와 서비스에 악영향을 끼치는 것을 방지한다.The signal generating means includes first means for switching the drive signal from the first state to the second state in substantially the same period as the corresponding control signal is actuated. In other words, the drive signal does not need to maintain additional subcycles after the latch signal. In the preferred embodiment,
본 발명의 방식은 종래의 방식과는 대조적으로 버스 라인에 대한 별도의 구동기 홀드 시간이 전혀없다. 이러한 별도의 구동기 홀드 시간의 부재는 본 발명으로 가능한데, 그 이유는 버스 라인들의 고유 용량값이 노드 버스(67)가 더 이상 액티브 상태로 구동되지 않는다 하더라도 그 라인들에 대한 레벨을 유지하도록 사용되기 때문이다. 노드 버스(67) 라인들에 대한 방전 통로는 구동기가 인에이블되는 경우 기억소자(110)의 고 입력 임피던스 및 버스 구동기(82)의 고 출력 임피던스를 통해 이루어지므로, 노드 버스(67)의 라인들에 대한 전압 레벨이 비교적 소정의 시간 주기동안 일정한 레벨로 유지된다. 그 시간은 고유버스 캐패시턴스, 구동기(82) 및 기억소자(110)의 캐패시턴스 및 임피던스로부터 계산될 수 있다.The scheme of the present invention has no separate driver hold time for the bus lines as opposed to the conventional scheme. The absence of such a separate driver hold time is possible with the present invention because the intrinsic capacitance of the bus lines is used to maintain the level for those lines even if the
버스 구동기(82)에 대한 출력회로는 제8도에서 도시된 바와 같은 CMOS 구동기인 것이 바람직하다. 그 회로는 직렬 접속된 p채널 풀업 트랜지스터(200) 및 n 채널 풀다운 트랜지스터(210)를 포함한다. 상기 p 채널 트랜지스터(200)는 공급전압 Vcc 및 출력단자(92) 사이에 결합된 전류 통로를 갖는다. 또 상기 n채널 트랜지스터(210)는 출력단자(92) 및 기준 단자 사이에 결합된 전류 통로를 갖는다.The output circuit for the
프리버퍼(220)는 상기 p채널 트랜지스터(200)의 게이트를 제어하기 위해 게이트 p신호를 송출하고, 또 m 채널 트랜지스터(210)의 게이트를 제어하기 위해 게이트 N신호를 송출한다. 버스 구동기(82)가 인에이블될 때, 게이트 P 및 게이트 N 신호는 각기 노드 버스(67)를 "1" 또는 "0"데이타에 대응하는 고 또는 저 레벨중 어느 하나로 구동시키기 위해 트랜지스터(200) 및 (210)를 제어한다. 특히, 노드 버스(67)가 레벨로 구동하는 경우, 게이트 P 및 게이트 N 신호는 고 레벨(Vcc에 근접함)이 되고, 또 노드 버스(67)가 고 레벨로 구동되는 경우에는 게이트 P 및 게이트 N 신호가 저레벨(접지에 근접함)로 된다. 단자(90)가 출력단자(92)로부터 분리되도록 버스 구동기(82)가 디스에이블되면, 프리버퍼(220)는 게이트 P 신호를 고 레벨로 설정되게 하고 게이트 N 신호는 저 레벨로 설정되게 한다. 이것은 트랜지스터(200)및 (210) 양자를 디스에이블되게 하여, 통상 수 메가옴의 고 임피던스를 노드 버스(67)로 제공되게 한다.The prebuffer 220 sends a gate p signal to control the gate of the p-
랫치(110)에 대한 입력회로는 또한 표준 CMOS 회로인 것이 바람직하다. 이에 대한 일예는 제9도에서 p 채널 트랜지스터(235) 및 n 채널 트랜지스터(237)로 이루어진 인버터회로(230)로 도시되어 있다. 제9도의 회로의 전형적인 입력 임피던스는 또한 수 메가옴 정도이다.The input circuit to the latch 110 is also preferably a standard CMOS circuit. An example of this is illustrated in FIG. 9 as an
제8도에서 도시된 CMOS 구동기 회로를 가진 구동기(82)와, 제9도에서 도시된 CMOS 입력회로를 가진 기억소자(110)를 사용함으로써, "홀드시간"이 왜 효과적인지에 대한 데이타가 노드 버스(67)상에 유지되므로, 제어 신호(C61)의 하강 구간에서 비록 버스 구동기(82)가 그 구동 신호(또한, C61)에 의해 디스에이블되었다 하더라도 상기 기억소자(110)는 그 레벨을 기억한다. 이러한 방식으로, "홀드시간"은 통상의 버스구동회로에서의 "구동기 비중첩 시간"으로 간주되는 홀드시간과 중첩된다.By using the
상기 타이밍은 데이타가 버스상에서 유효상태인 경우의 "원도우"동안 제어신호가 작동되게 하도록 보장하는 것이 바람직하다. 그러나, 본 발명의 회로는 버스 구동기(82)가 노드 버스(67)동안 액티브하게 중단시키는 시간을 경과한 후에는 그 윈도우의 확장을 허용한다.The timing preferably ensures that the control signal is actuated during the " window " when the data is valid on the bus. However, the circuitry of the present invention allows for expansion of the window after the
노드 버스(67)의 동일 라인을 통한 양방향 통신의 경우, 다른 구동기/기억소자 쌍은 데이타를 노드 지정로직(65)에서 시스템 버스(25)로 전송시키기 위해 요구된다. 제6도에서 도시된 바와 같은 노드 지정 로직(65)은 입력단자(121), 출력단자(122) 및 인에이블 단자(124)를 갖는 버스 구동기(120)를 포함한다. 버스 구동기(120)은 버스 구동기(82)와 구조적으로 유사한 것이 바람직하다. 버스 구동기(120)의 입력단자(121)는 기억소자(130)에서 수신된 바와 같은 제2입력 레벨을 유지하는데, 이는 제6도에 도시되어 있다. 이러한 제2입력 레벨은 버스 구동기(122)의 출력단자(122)가 결합된 노드 버스(67)의 동일 라인에 결합된다. 제6도에 도시된 본 발명의 실시예에서의 인에이블 단자는 클럭디코더(63)로부터 제공된 타이밍 신호 C34에 접속된다.In the case of bidirectional communication over the same line of
데이타 인터페이스(61)는 기억소자(70)를 버스 구동기(120)에 대한 보완소자로서 포함하는 것이 바람직하다. 기억소자(70)는 입력단자(71)및 제어단자(75)를 갖는다. 제6도에 도시된 본 발명의 실시예에 있어서, 제어단자(75)에서의 제어 신호는 또한 신호 C34이다.The data interface 61 preferably includes the
양방향 통신을 제공하기 위한 인터페이스 장치의 신호 발생 수단은버스 구동기(82)및 (120)의 각 입력에서의 데이타를 노드 버스(67)로 전송하기 위해 기억소자(70),(110)및 버스 구동기(82),(120)에 대한 다른 구동기 제어 신호를 발생시킨다. 그 신호 발생 수단은, (1) 대응하는 제어 신호들이 작동되는 것과 실질상 동일한 시간에 제1및 제2상태 사이의 버스 구동기들 중 하나의 구동기에 대한 구동신호를 스위칭하고, (2)대응하는 래치들에 대한 제어신호가 작동되는 것과 실질장 동일한 시간에 버스 구동기들중 다른 하나의 구동기들에 대한 구동 신호를 스위칭하며,(3) 상기 제1및 제2구동 신호들의 제1상태에서 동시에 구동하지 못하도록 보장하는 수단을 포함한다.The signal generating means of the interface device for providing bidirectional communication includes the
제7도에서 도시한 바와 같은 클럭디코더(63)는 제3도에서 알수 있는 바와 같이 중첩하지 않는 타이밍 신호 C61 및 C34를 발생시킨다. 사실, 서브 사이클(2)및 (5)에 대응하는 타이밍 신호 C34 및 C61간에는 시간 주기들이 있는데, 그 시간 주기들은 노드 버스(67)가 버스 구동기(82)및 (120)에 의해 동시에 구동되지 않도록 보장하는 것이다.The
데이타 인터페이스(61)를 통한 다른 전송 관계는 물론 전체 양방향성 데이타 전송동작은 제10도의 타이밍 도로부터 이해될 수 있다. 제10도에서의 타이밍 신호 C12 내지 C61은 현재 및 기존시스템 버스 구동기 인에이블 신호, 시스템 버스(25)상의 유효 데이타 주기 및 제어 신호(85)와 마찬가지로 재생된다. 타이밍 신호 C45가 서브 사이클(5)의 종료점에서 비가정될때, 시스템 버스(25)상의 데이타는 유효상태로 되고 투명 래치(80)는 그 유효 데이타를 포획한다. 이어서, 그 데이타는 타이밍 신호 C61이 액티브 상태인 동안 노드 버스(67)에 전송되는데, 그 이유는 구동 신호(87)로서도 도시된 그 타이밍 신호가 버스 구동기(82)를 인에이블 하기 때문이다. 서브 사이클 1의 종료점에서, 예컨대 타이밍 신호 C61이 비가정될때, 기억소자(110)는 노드 버스(67)로부터 데이타를 포획한다. 이러한 방식으로, 시스템 버스(25)로부터의 데이타가 시스템 버스(25)의 매 사이클마다 기억소자(110)로 전송된다.The overall bidirectional data transfer operation as well as other transfer relationships via the
동일한 시스템 버스 사이클의 서브 사이클들(3)및 (4)동안은 비록 타이밍 신호 C61이 엑티브 상태가 아니라 하더라도, 버스 구동기(120)가 기억소자(130)내의 데이타를 노드 버스(67)로 전송되게 한다.During
제6도가 도시하는 바와 같이 C34가 비가정되는 경우, 버스 구동기(120)에 의해 노드 버스(67)로 전송되는 데이타는 기억소자(70)에 의해 포획되는데, 그 이유는 제10도에서 도시된 제어 신호(75)때문이다. 나중에, 서브 사이클(2)의 종료점에서, 기억소자(70)내의 데이타는 노드가 버스에 액세스되어 GC12가 가정된 경우 기억소자(72)에 의해 포획될 수 있다.In the case where C34 is not assumed as shown in FIG. 6, the data transferred to the
C. 인터페이스 시스템C. Interface System
본 발명의 인터페이스 시스템은 노드및 시스템 버스 사이에 양 방향 통신을 제공한다. 시스템 버스(25)와 같은 시스템 버스는 반복 버스 사이클동안 데이타를 전파하며, 노드(6)와 같은 노드는 그 데이타를 처리하기 위해 노드 지정 로직(65)와 같은 유저 부분을 갖는다. 상기 인터페이스 시스템은 노드 지정 로직(65)에 결합되어 데이타를 병렬로 전송하는 노드 버스(67)와 같은 노드 버스를 포함한다.The interface system of the present invention provides bidirectional communication between a node and a system bus. A system bus, such as
본 발명의 인터페이스 시스템에 따라서, 트랜시버 수단은 시스템 버스 및 노드 버스간에 양방향 통신을 제공함과 아울러 시스템 버스상에 전파된 모든 데이타의 카피를 노드 버스에 제공하기 위해 노드 버스 및 시스템 버스 사이에 결합된다. 본 발명의 바람직한 실시예에 있어서의 데이타 인터페이스(61)가 그러한 양방향성 통신을 제공한다.According to the interface system of the present invention, the transceiver means are coupled between the node bus and the system bus to provide bidirectional communication between the system bus and the node bus as well as to provide the node bus with a copy of all data propagated on the system bus. The data interface 61 in the preferred embodiment of the present invention provides such bidirectional communication.
본 발명에 따르면, 트랜시버 수단은 제1및 제2의 단일 방향성 통신 수단을 추가로 포함한다. 이 단일 방향성 통신 수단은 노드 버스에 결합된 입력단자 및 시스템 버스에 결합된 출력 단자를 가지며, 그 시스템 버스의 선택된 사이클동안 시스템 버스에 전송될 노드 버스에서의 데이타를 수신한다 제4도 및 제6도에서 도시된 바와 같이, 본 발명의 양호한 실시예에서의 제1단일 방향 통신 수단은 기억소자(70),(72)및 버스 구동기(74)를 포함한다. 상기 기억소자(70)는 노드 버스에 결합된 입력단자(71)를 갖는다. 또, 상기 기억소자(70)의 출력은 기억소자(72)에 결합된다. 버스 구동기(74)는 기억소자(72)의 출력에 결합되고, 또 시스템 버스(25)에 결합된 출력단자(77)를 갖는다.According to the invention, the transceiver means further comprises first and second unidirectional communication means. This unidirectional communication means has an input terminal coupled to the node bus and an output terminal coupled to the system bus and receive data on the node bus to be transmitted to the system bus during selected cycles of the system bus. As shown in the figure, the first one-way communication means in the preferred embodiment of the present invention includes
상술된 바와 같이, 클럭 C34의 작동부분(예컨대, 하강시간)동안 노드 버스(67)에서의 데이타가 기억소자(70)내에 수신된다. 이어서, 그 데이타는 그것이 제10도에서 도시된 바와 같은 신호 GC12에 의해 작동될 때 기억소자(72)로 전송된다. 신호 GC12는 2개의 신호 C12 및 GC12EN의 논리곱 신호이다. 제3도 및 제10도에서 도시된 C12신호는 클럭디코더(63)에 의해 발생된 타이밍 신호들중 하나이고, 또 GC12EN 신호는 액티브 상태일때 노드(60)가 시스템 버스(25)상의 송신기임을 가리킴과 아울러 데이타 인터페이스(61)를 통해 데이타가 시스템 버스(25)상에 전송될 수 있음을 가리키는 신호이다. 그리고, GC12신호는 중재기(28)및 노드 지정 로직(65)로부터의 신호를 이용하여 클럭디코더에 의해 발생된다.As described above, data on the
제4도 및 제6도에서 도시된 바와 같은 구동기(74)는 그 입력으로서 구동 신호 피호출 시스템 버스 구동 인에이블 신호(79)를 갖는데, 이것은 클럭디코더(63)로부터 수신되어, 기억소자(72)내의 데이타를 시스템 버스(25)상에 전송되게 한다. 상기 시스템 버스 구동 인에이블 신호(79)는 노드 지정 로직(65)에서의 요구는 물론 데이타 처리시스템(20)에서 수신된 어떤 허가 신호에 대한 요구시에 발생된다. 따라서, 데이타는 노드(60)가 송신기인 경우 시스템 버스(25)의 사이클들 동안만 시스템 버스(5)상에 전송된다.The
본 발명에 따른 제2단일 방향 통신수단은 시스템 버스에 결합된 입력 단자와 노드 버스에 결합된 출력 단자를 갖는다. 상기 제2단일 방향 통신 수단의 입력 및 출력단자는 각각 제1단일 방향 통신 수단의 대응하는 출력 및 입력단자에 각기 결합된다. 상기 제2단일 방향 통신 수단은 또한 시스템 버스상에 전파된 데이타를 시스템 버스의 매 사이클마다 노드 버스에 전송한다.The second one-way communication means according to the invention has an input terminal coupled to the system bus and an output terminal coupled to the node bus. The input and output terminals of the second single direction communication means are respectively coupled to the corresponding output and input terminals of the first single direction communication means. The second one-way communication means also transmits data propagated on the system bus to the node bus every cycle of the system bus.
제4도 및 제6도에서 도시된 바와 같은 기억소자(80)는 시스템 버스(25)에 결합된 입력단자를 가지며, 클럭디코더(63)에서 수신된 클럭신호 C45에 의해 인에이블된다. 버스 구동기(82)는 노드 버스(67)에 의해 노드에 결합되어, 대응하는 기억소자(70)의 입력단자(71)에 결합된 출력단자(92)를 갖는다. 이 버스 구동기(82)의 인에이블 단자(94)가 C61신호에 결합된다.The
본 발명의 인터페이스 시스템은 또한 상기 제1및 제2단일 방향 통신 수단에 결합되어 그 수단들을 제어하는 타이밍 수단을 포함한다. 본 발명에 의하면, 상기 타이밍 수단은 제1클럭 신호의 선택된 액티브 부분동안 노드 버스로부터 데이타를 수신하기 위해 제1단일 방향 통신 수단을 제어하며, 또한 제2클럭 신호의 액티브 부분동안 데이타를 시스템 버스에서 노드 버스로 전송하기 위해 제2단일 방향 통신 수단을 제어한다. 상기 제1수단은 또한 제1및 제1 클럭 신호를 발생시키므로, 그 클럭 신호들의 액티브 부분들은 매 사이클마다 발생하여 중첩하지 않게 된다.The interface system of the present invention also includes timing means coupled to and controlling the first and second unidirectional communication means. According to the present invention, the timing means controls the first one-way communication means to receive data from the node bus during the selected active portion of the first clock signal, and also controls the data on the system bus during the active portion of the second clock signal. The second one-way communication means is controlled for transmission to the node bus. The first means also generates first and first clock signals so that active portions of the clock signals are generated every cycle and do not overlap.
이미 설명한 바와 같이, 클럭디코더(63)는 클럭 신호 C34 및 C61을 발생시킨다. 기억소자(70)는 클럭C34의 종료점에서 데이타를 수신하여, 시스템 버스(25)의 선택된 사이클들 동안 그 데이타를 시스템 버스(25)로 전송시킨다. 게다가, 기억소자(80)는 타이밍 신호 C45동안 시스템 버스(25)로부터 데이타를 수신하고, 또 구동기(82)는 C61클럭 사이클 동안 그 데이타를 노드 버스(67)로 전송시킨다. 따라서, 시스템 버스(25)의 매 사이클동안 전송된 데이타가 노드 버스(67)를 허가하도록 그 노드 버스(67)에 전송되므로, 노드 지정 로직(65)은 시스템 버스(25)상에 전송된 모든 메시지의 사진을 얻는다. 클럭 사이클들 C45및 C61이 시스템 버스 사이클당 한번씩 발생하기 때문에, 시스템 버스(25)에서 노드 버스(67)로의 전송도 또한 시스템 버스(25)의 사이클 당 한번씩 발생한다.As already explained, the
함께 사용되는 경우, 본 발명의 버스 인터페이스회로 및 인터페이스 시스템은 종래 기술의 시스템에 비해 몇가지 잇점을 제공한다. 그 잇점들은 클럭 신호들의 최소 갯수를 사용하여 고속 버스 전송을 포함하는데, 그에 따라 하나의 버스, 예컨대 노드 버스가 시스템 버스와 같은 다른 버스를 통해 모든 메시지들의 카피를 얻을 수 있도록 버스들간에 고속 데이타 전송을 제공한다. 이러한 카피를 제공하여 시스템 버스(25)에 대한 단일 핀 접속을 이용함으로써, 노드 버스에 결합된 노드가 그 자체 메시지들을 감시할 수 있을 뿐만 아니라 그 시스템 버스에 의해 메시지들을 다시 송출할 수 있으므로, 다른 노드들이 그 메시지들을 모니터할 수 있다.When used together, the bus interface circuit and interface system of the present invention provide several advantages over prior art systems. The benefits include high speed bus transfers using a minimum number of clock signals, thus allowing high speed data transfers between buses so that one bus, for example a node bus, can obtain a copy of all messages over another bus, such as a system bus. To provide. By providing such a copy and using a single pin connection to the
이 분야에 기술에 숙련된자에게는 본 발명의 사상 및 범위에서 벗어나지 않고도 본 발명의 버스 인터페이스 회로 및 인터페이스에 대한 여러 가지 수정 및 변화가 이루어질 수 있음이 명백할 것이다. 본 발명은 첨부된 특허청구의 범위 및 그 등가 범위 이내에서 그러한 수정 및 변화를 카바한다.It will be apparent to those skilled in the art that various modifications and variations can be made to the bus interface circuits and interfaces of the present invention without departing from the spirit and scope of the invention. It is intended that the present invention cover such modifications and variations as come within the scope of the appended claims and their equivalents.
Claims (14)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US044,467 | 1987-05-01 | ||
US07/044,467 US4829515A (en) | 1987-05-01 | 1987-05-01 | High performance low pin count bus interface |
PCT/US1988/001360 WO1988008583A1 (en) | 1987-05-01 | 1988-04-22 | High performance low pin count bus interface |
Publications (1)
Publication Number | Publication Date |
---|---|
KR910007648B1 true KR910007648B1 (en) | 1991-09-28 |
Family
ID=26721596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019880701758A KR910007648B1 (en) | 1987-05-01 | 1988-04-22 | High performance low pin count for inter |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR910007648B1 (en) |
-
1988
- 1988-04-22 KR KR1019880701758A patent/KR910007648B1/en active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0360817B1 (en) | High speed low pin count bus interface | |
EP0370018B1 (en) | Apparatus and method for determining access to a bus | |
US6557069B1 (en) | Processor-memory bus architecture for supporting multiple processors | |
US6526469B1 (en) | Bus architecture employing varying width uni-directional command bus | |
KR920006745B1 (en) | Node for servicing interrupt request message on a pended bus | |
US5111424A (en) | Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer | |
KR910007645B1 (en) | Apparatus and method for a node to obtain access to a bus | |
US5428794A (en) | Interrupting node for providing interrupt requests to a pended bus | |
EP0358725B1 (en) | Apparatus and method for servicing interrupts utilizing a pended bus | |
JPH0642236B2 (en) | Device that executes interlock read command message from commander node in responder node | |
KR910007646B1 (en) | Backplane bus | |
EP0492817A2 (en) | Data processing system and memory controller for lock semaphore operations | |
US4829515A (en) | High performance low pin count bus interface | |
KR910007648B1 (en) | High performance low pin count for inter | |
EP0130471A2 (en) | Interface controller for connecting multiple asynchronous buses and data processing system including such controller | |
KR100487218B1 (en) | Apparatus and method for interfacing an on-chip bus | |
JPH064401A (en) | Memory access circuit | |
KR910008418B1 (en) | Bus arbitration circuit in round-robin selecting method | |
JP2504552B2 (en) | Commander method and apparatus for ensuring sufficient access to system resources in a multiprocessor computer system |