[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR910007648B1 - High performance low pin count for inter - Google Patents

High performance low pin count for inter Download PDF

Info

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
Application number
KR1019880701758A
Other languages
Korean (ko)
Inventor
디. 도날드선 다렐
쥬니어 리차드 비. 길렛
디. 윌리암스 더글라스
Original Assignee
디지탈 이큅먼트 코오포레이숀
로날드 이. 마이릭
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US07/044,467 external-priority patent/US4829515A/en
Application filed by 디지탈 이큅먼트 코오포레이숀, 로날드 이. 마이릭 filed Critical 디지탈 이큅먼트 코오포레이숀
Application granted granted Critical
Publication of KR910007648B1 publication Critical patent/KR910007648B1/en

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 clock decoder 63 shown in FIG. 2;

제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 node bus 67 shown in FIG.

[발명의 상세한 살명][Detailed murder of the invention]

[발명의 배경][Background of invention]

본 발명은 일반적으로 컴퓨터의 데이타 버스 분야에 관한 것으로서, 보다 구체적으로는 양방향 통신을 가능케하는 고속버스에 관한 것이다. 대부분의 버스, 특히 데이타를 병렬 포맷으로 전송하는 다중 라인을 포함하는 버스들에서는 버스상의 데이타가 유효한 상태인 동안에 시간 윈도우들이 존재한다. 동기식 버스들에 있어서, 주기적으로 반복하는 사이클들은 이러한 버스들에 대한 타이밍의 근원을 형성하는데, 이 각각의 사이클에서는 통상 하나의 버스 사이클당 한번씩 활성상태로 되는 개별 신호에 의해 윈도우들이 형성된다. 윈도우들간의 시간동안, 버스상의 데이타를 새로운 레벨로 변화시킬 수 있는데, 이러한 데이타는 무효 데이타로 간주된다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to the field of data buses in computers, and more particularly to express buses that enable bidirectional communication. Most buses, especially those containing multiple lines that transfer data in parallel format, have time windows while the data on the bus is valid. In synchronous buses, the periodically repeating cycles form the source of timing for these buses, in which each window is formed by an individual signal that is typically active once per bus cycle. During the time between windows, it is possible to change the data on the bus to a new level, which is considered invalid data.

일반적으로, 버스상의 데이타 통신은 버스상에 데이타를 배치하는 버스 구동기와 그 버스로부터 데이타를 검색 및 기억시키는 기억 장치를 수반한다. 상기 버스 구동기는 일반적으로 다음의 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 data processing system 20 implementing the present invention. At the heart of this system 20 is the system bus 25, which is a synchronous bus that allows communication between several processors, memory subsystems, and input / output systems. Communication over the system bus 25 takes place synchronously using periodic bus cycles. The total bus cycle for this system bus 25 is 64 (nsec).

제1도에서, 시스템 버스(25)는 2개의 처리기(31,35), 메모리(39), 하나의 입/출력 장치(41)및 하나의 입/출력 장치(51)에 결합된다. 입/출력 장치(53)는 입/출력 버스(45) 및 입/출력 장치 인터페이스(41)에 의해 시스템 버스(25)에 결합된다.In FIG. 1, the system bus 25 is coupled to two processors 31 and 35, a memory 39, one input / output device 41 and one input / output device 51. Input / output device 53 is coupled to system bus 25 by input / output bus 45 and input / output device interface 41.

데이타 처리 시스템(20)의 양호한 실시예에서는 중앙 중재기(28)가 시스템 버스(25)에 결합된다. 이 중재기(28)는 시스템 버스(25)상의 다른 장치에 타이밍 및 버스 중재 신호를 직접 공급하여, 그 장치들과 몇몇 신호를 공유한다.In a preferred embodiment of the data processing system 20, a central arbiter 28 is coupled to the system bus 25. This arbiter 28 supplies timing and bus arbitration signals directly to other devices on the system bus 25, sharing some signals with the devices.

제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 system bus 25 and arbiter 28 does not necessarily operate in the manner described herein.

본 발명을 기술하는데 사용된 용어에 있어서, 처리기(31,33), 메모리(39), 입/출력 인터페이스(41)및 입/출력 장치(51)는 모두 노드로 호칭된다. 이 "노드"란 용어는 시스템 버스(25)에 접속하는 하드웨어 장치로서 정의된다.In the terms used to describe the present invention, the processors 31 and 33, the memory 39, the input / output interface 41 and the input / output device 51 are all referred to as nodes. The term "node" is defined as a hardware device that connects to the system bus 25.

본 발명을 기술하는데 사용되는 용어에 의하면, "신호" 또는 "라인"이란 용어는 물리적인 와이어의 명칭으로 상호 변경가능하게 사용된다. 또, "데이타" 또는 "레벨"이란 용어는 신호들 또는 라인들이 가정할 수 있는 값을 언급하는데 사용된다.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 system bus 25. The term "transmit" is one or more consecutive cycles that share common transmission and common arbitration. For example, a read operation initiated by one node to obtain information from another node on the system bus 25 may be performed by a node at the first node followed by one or more return data transfers from the second node to the first node. Requires sending commands to

"트랜잭션"이란 용어는 시스템 버스(25)상에서 수행되고 하나 이상의 전송을 포함할 수 있는 완전한 논리 태스크로서 정의된다. 예를 들면, 하나 이상의 복귀 데이타 전송이 나중에 뒤따르는 명령전송으로 이루어진 판독동작이 하나의 트랜잭션이다. 시스템 버스(25)의 바람직한 실시예에 있어서, 허용가능한 트랜잭션은 다른 데이타 길이의 전송을 제공하며, 판독 기입(마스크된), 인터로크 판독, 언로크기입 및 인터럽트 동작을 포함한다. 인터로크 판독 및 정규의 또는 비 인터로크 판독간의 차이점은 특수 위치에 대한 인터로크 판독이 그 위치에서 기억된 정보를 검색하여 차후 인터로크 판독 명령에 의한 기억된 정보의 액세스를 제한한다는 점이다. 이러한 액세스 제한은 로크 메카니즘을 세팅시킴으로써 수행된다. 차후 언로크 기입 명령은 특수위치내에 정보를 기억시켜, 그 위치에서 로크 메카니즘을 재세팅시킴으로써 상기 기억된 정보에 대한 액세스를 재기억시킨다. 따라서, 인터로크 판독/언로크 기입 동작은 판독 -수정-기입 동작의 구성으로 된다.The term "transaction" is defined as a complete logical task that can be performed on the system bus 25 and can include one or more transfers. For example, a read operation consisting of a command transfer followed by one or more return data transfers is one transaction. In the preferred embodiment of the system bus 25, an acceptable transaction provides for transfer of different data lengths and includes read write (masked), interlock read, unwrite and interrupt operations. The difference between an interlock readout and a regular or non-interlock readout is that an interlock readout for a particular location retrieves the information stored at that location and subsequently restricts access to the stored information by the interlock readout command. This access restriction is performed by setting the lock mechanism. Subsequent unlock write instructions store the information in a special location and re-remember access to the stored information by resetting the lock mechanism at that location. Thus, the interlock read / unlock write operation is made up of a read-modify-write operation.

시스템 버스(25)는 "펜딩"버스이므로, 그것은 버스 리소오스들의 능률적인 사용을 촉진하여 다른 노드들로 하여금 다른 응답을 위한 대기를 초래할 수도 있는 버스 사이클들을 사용 가능케 한다. "펜딩"버스에 있어서는 하나의 노드가 트랜잭션을 개시한 후에 다른 노드들이 그 트랜잭션의 완료 이전에 버스의 액세스를 개시할 수 있다. 따라서, 그 트랜잭션을 개시한 노드는 전체 트랜잭션 시간동안 버스를 정체시키지 않는다.Since system bus 25 is a "pending" bus, it facilitates efficient use of bus resources to enable other nodes to use bus cycles that may result in waiting for other responses. For a "pending" bus, one node may initiate a transaction and then other nodes may initiate access to the bus before completion of that transaction. Thus, the node that initiated the transaction does not stall the bus for the entire transaction time.

이것은 버스가 전체 트랜잭션 동안 정체를 비 펜딩버스와는 대조를 이룬다. 예를 들어, 시스템 버스(25)에서는 노드가 판독 트랜잭션을 개시하여 명령전송을 행한 후에 명령전송이 관계되는 노드가 요구된 데이타를 즉시 복귀시킬 수 없을 수도 있다. 그러면 버스(25)상의 사이클들이 판독 트랜잭션의 명령전송 및 복귀 데이타 전송간에 이용될 수도 있다. 시스템 버스(25)는 그 사이클들을 사용하기 위해 다른 노드들을 허용한다.This contrasts with non-pending buses where the bus is congested during the entire transaction. For example, on the system bus 25, after a node initiates a read transaction to perform a command transfer, the node involved in the command transfer may not be able to immediately return the requested data. Cycles on bus 25 may then be used between the command transfer and return data transfer of read transactions. System bus 25 allows other nodes to use those cycles.

시스템 버스(25)를 사용함에 있어서, 각각의 노드들은 정보의 전송을 실행하기 위하여 다른 롤들(roles)을 가정할 수 있다. 이들 롤중 하나가 현재 진행중인 트랜잭션을 개시한 노드로서 정의된 "커맨더(commander)"이다. 예를 들면, 기입 또는 판독동작에 있어서의 커맨더는 기입 또는 판독동작을 요구했던 노드이지만, 반드시 데이타를 송출 또는 수신하는 노드는 아니다. 시스템 버스(25)에 대한 바람직한 프로토콜에서는, 비록 다른 노드가 어떤 트랜잭션 사이클동안 시스템 버스(25)의 소유권을 취할 수 있다 하더라도, 하나의 노드가 전체 트랜잭션 곳곳에 걸쳐 커맨더로서 유지된다. 예를 들면, 비록 하나의 노드가 판독 트랜잭션의 명령전송에 응답하는 데이타의 전송동안 시스템 버스(25)의 제어를 받는다 하더라도, 그 하나의 노드는 버스의 커맨드가 되지 않는다. 이러한 노드는 "응답기"로 호칭된다.In using the system bus 25, each node may assume different roles to perform the transfer of information. One of these roles is the "commander" defined as the node that initiated the ongoing transaction. For example, a commander in a write or read operation is a node that has requested a write or read operation, but is not necessarily a node that sends or receives data. In the preferred protocol for the system bus 25, one node remains as a commander throughout the entire transaction, even though other nodes may take ownership of the system bus 25 during some transaction cycle. For example, even though one node is controlled by the system bus 25 during the transfer of data in response to the command transfer of the read transaction, that one node is not a command on the bus. This node is called a "responder".

응답기는 커맨더에 응답한다. 예를 들어, 만일 커맨더가 데이타 노드 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 data processing system 20, a node can simultaneously function as a commander and a responder.

송신기 및 수신기는 노드들이 개개의 전송을 가정하는 롤들이다. "송신기"는 전송동작동안 시스템 버스(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 system bus 25 during a transmission operation. A "receiver" is a complement to the transmitter and is defined as a node that receives information placed on the system bus 25 during the transmission operation. For example, the commander during a read transaction acts as a transmitter during command transmission and as a receiver during transmission of return data.

시스템 버스(25)에 접속된 노드가 시스템 버스(25)상에서 송신기의 역할을 하는 것이 요구되는 경우, 그 노드는 중앙 중재기(28)및 그 특정 노드 사이에 접속된 2개의 요구 라인 CMD REQ(커맨드 요구)및 RES REQ(응답기 요구)중 어느 하나를 가정한다. 일반적으로, 노드의 CMD REQ 라인은 커맨더의 역할을 요구하여 시스템 버스(25)상의 트랜잭션을 개시하는데 사용하며, 노드의 RES REQ 라인은 응답기의 역할을 하여 데이타 또는 메시지를 커맨더에 복귀시키는데 사용한다. 일반적으로, 중앙 중재기(28)는 노드들이 버스에 대한 액세스를 원하는 경우를 검출한다(예컨대, 요구 라인들이 가정된 경우). 그러면, 그 중재기는 우선 순위 알고리즘에 따라 버스(25)에 대응하는 노드 액세스를 허여하는 가정된 요구 라인들중 하나에 응답한다. 바람직한 실시예에 있어서, 중재기(28)는 2개의 독립적인 원형 대기행열, 즉 하나는 커맨더 요구에 대한 대기행열 또는 하나는 응답기 요구에 대한 대기행열을 유지한다. 상기 응답기는 커맨더 요구보다 고우선순위를 가지고 커맨더 요구 이전에 처리되는 것이 바람직하다.If a node connected to the system bus 25 is required to act as a transmitter on the system bus 25, the node is connected to two request lines CMD REQ (connected between the central arbiter 28 and that particular node). Command request) and RES REQ (responder request). In general, a node's CMD REQ line requires the role of a commander to initiate a transaction on the system bus 25, and the node's RES REQ line serves as a responder to return data or messages to the commander. In general, central arbiter 28 detects when nodes want access to the bus (eg, when request lines are assumed). The arbiter then responds to one of the hypothesized request lines granting node access corresponding to bus 25 according to a priority algorithm. In the preferred embodiment, the arbiter 28 maintains two independent circular queues, one queued for commander requests or one queued for responder requests. Preferably, the responder has a higher priority than the commander request and is processed before the commander request.

상기 커맨더 요구 라인들 및 응답기 요구 라인들은 중재 신호들로 간주된다. 제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 arbiter 28 to each node, and the system bus extends a signal performing a multi-bus cycle transmitter and also, for example, memory and When the same node becomes momentarily unstable due to traffic on the system bus, it extends the system bus suppression signal that controls the initiation of a new bus transaction.

시스템 버스(25)를 구성할 수 있는 다른 유형의 신호는 정보전송 신호, 응답 신호, 제어 신호, 콘솔/프론트 패널 신호 및 몇개의 잡통지 신호를 포함한다. 상기 정보전송 신호는 데이타 신호, 현재 사이클동안 시스템 버스상에서 수행될 기능을 나타내는 기능 신호, 커맨더를 식별하는 식별 신호 및 패리티 신호를 포함한다. 상기 응답 신호는 일반적으로 데이타 전송의 상태를 송신기에 알리기 위하여 수신기에서 발생된 인식 또는 확인 신호를 포함한다.Other types of signals that may constitute the system bus 25 include information transmission signals, response signals, control signals, console / front panel signals, and some miscellaneous notification signals. The information transmission signal includes a data signal, a function signal representing a function to be performed on a system bus during the current cycle, an identification signal identifying a commander, and a parity signal. The response signal generally includes an acknowledgment or confirmation signal generated at the receiver to inform the transmitter of the status of the data transmission.

제어 신호는 클럭 신호, 저 라인 전압 또는 저 직류 전압을 식별하는 것과 같은 경고 신호, 초기화 동안 사용되는 리세트 신호, 노드 고장 신호, 유휴 버스 사이클동안 사용되는 디폴트 신호 및 애러 디폴트 신호를 포함한다. 또, 상기 콘솔/프론트 패널 신호는 직렬데이타를 시스템 콘솔로 송수신하는 신호와, 시동동안 부트 처리기의 동작을 제어하는 부트 신호, 시스템 버스(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 system bus 25. Signal, a signal that controls RUN LIGHT on the front panel, and a signal that provides battery power to the clock logic on any node. In addition to the preliminary signal, the notification signal includes an identification signal that allows each node to define its identification code.

제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 node 60 connected to the system bus 25. This node 60 is a processor, memory, input / output device or input / output interface. In the example shown in FIG. 2, node 60 includes a system bus interface 64 including node designation logic 65, node bus 67, and data interface 61 and clock decoder 63. Include. It is preferably a standard element for the nodes connected to the data interface 61, clock decoder 63 and node bus 67 system bus 25. The node designation logic 65 using other integrated circuits at the system bus interface 64 is to include the standard circuitry for the interface as the node bus 67, as well as user-specified circuitry to perform the node's specific functions. desirable. In general, data interface 61 is the basic logical and electrical interface between node 60 and system bus 25, and clock decoder 63 is timing for node 60 based on a centrally generated clock signal. In addition, the node bus 67 provides a high speed interface between the data interface 61 and the node designation logic 65.

제2도에서 도시된 노드(60)및 시스템 버스 인터페이스(64)의 바람직한 실시예에 있어서, 클릭디코더(63)는 시스템 버스(25)상에 놓이게 될 신호를 형성하기 위한 제어회로를 포함하므로, 중앙 중재기(28)로부터 수신된 클럭 신호를 처리하여 노드 지정 로직(65) 및 데이타 인터페이스(61)에 대한 타이밍 신호를 얻게 된다. 클럭 디코더(63)에 의해 얻어진 타이밍 신호가 중앙 발생된 클럭 신호를 사용하므로, 노드(60)는 시스템 버스(25)와 동기적으로 동작하게 된다.In the preferred embodiment of node 60 and system bus interface 64 shown in FIG. 2, click decoder 63 includes control circuitry to form a signal that will be placed on system bus 25. The clock signal received from the central arbiter 28 is processed to obtain timing signals for the node designation logic 65 and the data interface 61. Since the timing signal obtained by the clock decoder 63 uses the centrally generated clock signal, the node 60 is operated synchronously with the system bus 25.

제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 clock decoder 63 and a timing signal generated by the clock decoder 63. FIG. The clock signal received by the clock decoder 65 includes a time H signal, a time L signal and a phase signal as shown in FIG. Time H and time L are inverted signals of the basic clock signal, and the phase signal is obtained by dividing the basic clock signal into three. The timing signal required by the data interface 61, which occurs once per bus cycle, is provided to the data interface 61, and the complete timing signal sets including the equivalent signals of the timing signals provided to the data interface 61 are buffered. Is supplied to the node designation logic 65. The purpose of this buffering is to prevent the node assignment logic 65 from incorrectly loading timing signals by not adversely affecting the operation of the system bus interface 64. The clock decoder 63 is used to cause the clock signal to generate six subcycles during each bus cycle and also to cause these subcycles to generate six timing signals CXY, where X and Y are one. It represents two adjacent sub cycles combined to form a time signal of.

시스템 버스내의 각각의 노드는 그 클럭디코더(63)에 의해 발생된 타이밍 신호에 대응하는 타이밍 신호세트를 갖는다. 상기 대응하는 신호가 시스템 곳곳의 모든 노드에서 사실상 동일한 시간에 발생하는 동안은 다수 노드내의 클록디코더(63)및 다른 회로 사이의 변화가 대응 신호들 간의 타이밍 변화를 초래시킨다.Each node in the system bus has a set of timing signals corresponding to the timing signals generated by its clock decoder 63. While the corresponding signal occurs at virtually the same time at all nodes throughout the system, changes between the clock decoder 63 and other circuits in the multiple nodes cause a change in timing between the corresponding signals.

이들 타이밍 변화는 통상 "클럭 스큐(skew)"로서 알려져 있다.These timing changes are commonly known as "clock skews."

제4도는 데이타 인터페이스(61)의 바람직한 실시예를 도시한 것이다. 이러한 데이타 인터페이스(61)는 노드 버스(67)의 각 라인들과 시스템 버스(25)의 각 라인들 사이에 양방향성 고속 인터페이스를 제공하기 위하여 일시기억회로 및 버스 구동기 회로를 함한다.4 shows a preferred embodiment of the data interface 61. This data interface 61 includes a temporary memory circuit and a bus driver circuit to provide a bidirectional high speed interface between each line of the node bus 67 and each line of the system bus 25.

제4도에서 도시된 바와 같은 데이타 인터페이스(61)는 노드 버스(67)에서 시스템 버스(25)까지 통신경로를 제공하도록 기억소자(70), (72)및 시스템 버스 구동기(74)를 포함하는 것이 바람직하다. 데이타 인터페이스(61)는 또한 시스템 버스(25)에서 노드 버스(67)까지의 통신통로를 제공하기 위해 기억소자(80)및 노드 버스 구동기(82)를 포함한다. 데이타 인터페이스(61)의 설명으로 사용되는 "기억소자"란 용어는 일반적으로 투명 래치 또는 마스터 슬래이브 기억소자와 같은 쌍안정 기억 장치를 의미한다. 이 분야의 기술에 숙련된자라면, 이와 같은 기억소자들의 용어가 타당한 것이라는 것을 알수 있을 것이다.Data interface 61 as shown in FIG. 4 includes storage elements 70, 72 and system bus driver 74 to provide a communication path from node bus 67 to system bus 25. FIG. It is preferable. The data interface 61 also includes a memory element 80 and a node bus driver 82 to provide a communication path from the system bus 25 to the node bus 67. The term " memory element " used in the description of the data interface 61 generally means a bistable memory device such as a transparent latch or master slave memory element. Those skilled in the art will appreciate that such terminology is valid.

제4도에서 도시한 바와 같이, 기억소자(70)는 노드 버스(67)에서 데이타를 수신하도록 접속된 입력 및 기억소자(72)의 입력에 접속된 출력을 갖는다. 기억소자(72)의 출력은 시스템 버스 구동기(74)의 입력에 접속되며, 그 구동기(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 on the node bus 67 and an output connected to the input of the memory element 72. As shown in FIG. The output of the memory element 72 is connected to the input of the system bus driver 74, and the output of the driver 74 is connected to the system bus 25. Memory elements 70 and 72 are controlled by node bus control signals 76 and 78, respectively, which are generated from timing signals generated by clock decoder 63. The memory elements 70 and 72 provide a two-stage temporary storage function for transferring data from the node bus 67 to the system bus 25. Also, different numbers of storage stages can be used.

시스템 버스 구동기(74)는 시스템 버스 구동기 인에이블 신호(79)에 의해 제어된다. 상기 시스템 버스 구동기 인에이블 신호(79)의 상태에 따르면, 시스템 버스 구동기(74)의 입력은 그 출력에 결합되어, 기억소자(72)의 출력에서 시스템 버스(25)로 데이타를 전송하거나 혹은 그 출력으로부터 분리되거나 둘중 어느 하나이다. 시스템 버스 구동기 인에이블신호(79)가 시스템 버스 구동기(74)의 입력 및 출력을 분리시키는 경우, 시스템 버스 구동기(74)는 시스템 버스(25)에 대한 고 임피던스로 존재한다. 시스템 버스 구동 인에이블 신호(79)는 또한 시스템 버스(25)에서 수신된 클럭 신호와 노드 지정 로직(65)에서 수신된 제어 신호에 따라서 클럭디코더(63)에 의해 발생된다.System bus driver 74 is controlled by a system bus driver enable signal 79. According to the state of the system bus driver enable signal 79, the input of the system bus driver 74 is coupled to its output to transfer data from the output of the memory element 72 to the system bus 25 or It is either isolated from the output or either. When the system bus driver enable signal 79 separates the input and output of the system bus driver 74, the system bus driver 74 is present at high impedance with respect to the system bus 25. The system bus drive enable signal 79 is also generated by the clock decoder 63 in accordance with a clock signal received at the system bus 25 and a control signal received at the node designation logic 65.

기억소자(80)는 시스템 버스(25)에 접속된 입력단자 및 노드 버스 구동기(82)의 입력에 접속된 출력단자를 갖는다. 이 노드 버스 구동기(82)의 출력은 다시 노드 버스(67)에 접속된다. 기억소자(80), 바람직하게는 투명 래치가 클럭디코더(63)에 의해 발생된 타이밍 신호로부터 유도되는 시스템 버스 제어 신호에 의해 제어된다. 노드 버스 구동 신호(87)는 시스템 버스 구동기(79)가 시스템 버스 구동기(74)를 제어하는 방식과 유사한 노드 버스 구동기(82)를 제어한다. 따라서, 노드 버스 구동기 신호(87)에 응답하여, 그 노드 버스 구동기(82)는 그것의 입력을 그것의 출력에 결합하거나 혹은 그것의 입력을 그것의 출력에서 분리하거나 둘중 어느 하나로서, 노드 버스(67)에 고 임피던스를 제공한다.The memory device 80 has an input terminal connected to the system bus 25 and an output terminal connected to the input of the node bus driver 82. The output of this node bus driver 82 is again connected to the node bus 67. The memory element 80, preferably the transparent latch, is controlled by a system bus control signal derived from the timing signal generated by the clock decoder 63. The node bus drive signal 87 controls the node bus driver 82 similar to the manner in which the system bus driver 79 controls the system bus driver 74. Thus, in response to the node bus driver signal 87, the node bus driver 82 couples its input to its output, or separates its input from its output, or as either, a node bus ( 67 provide high impedance.

시스템 버스(25)를 통해 데이타가 어떻게 전송되는지를 설명하기 위해서는, 시스템 버스 구동 인에이블 제어 신호들(85)간의 관계를 이해하는 것이 중요하다. 본 발명의 실시예에서는, 이러한 관계가 제3도에 도시되어 있다. 시스템 버스 구동 인에이블 신호(79)는 공칭적으로 버스 사이클의 개시점에서 종료점까지 구동된다. 이 새로운 데이타는 구동기 전파 시간 및 버스 세팅시간이 발생된 이후에 시스템 버스(25)에서의 수신에 유용한 것이다. 본 발명의 실시예에 있어서, 기억소자(30)는 투명 래치이다. 또, 제어 신호(35)는 클럭 C45와 논리적으로 등가이다. 상기 버스 타이밍은 시스템 버스(25)의 데이타가 제어 신호(85)의 비가정 이전의 때때로의 수신에 유용하다. 기억소자(80)는 적어도 제어 신호(85)의 비가정 이전의 셋업시간을 안정화시키는 버스 데이타를 기억하여 제어 신호(85)의 비가정 이후의 홀딩시간을 안정상태로 유지한다.In order to explain how data is transmitted over the system bus 25, it is important to understand the relationship between the system bus drive enable control signals 85. In an embodiment of the invention, this relationship is shown in FIG. The system bus drive enable signal 79 is nominally driven from the start point to the end point of the bus cycle. This new data is useful for reception on the system bus 25 after the driver propagation time and bus setting time have occurred. In the embodiment of the present invention, the memory device 30 is a transparent latch. The control signal 35 is logically equivalent to the clock C45. The bus timing is useful for the occasional reception of data on the system bus 25 before the non-assuming of the control signal 85. The memory device 80 stores at least the bus data for stabilizing the setup time before the non-temporalization of the control signal 85 to maintain the holding time after the non-temporary control of the control signal 85 in a stable state.

노드 버스(67)는 데이타 인터페이스(61)에 의하여 노드 지정 로직(65) 및 시스템 버스(25) 사이의 양방향 데이타 전송을 허용하는 초 고속 데이타 버스인 것이 바람직하다. 제2도에서 도시된 노드(60)의 바람직한 실시예에서는, 노드(67)가 시스템 버스 인터페이스(64) 및 노드 지정 로직(65) 사이의 포인트별 접속을 이루는 상호 접속 시스템이다. 그러나, 본 발명에 따르면, 이러한 포인트별 상호 접속에 대한 요구조건은 전혀 없다.The node bus 67 is preferably an ultra-high speed data bus that allows bidirectional data transfer between the node designation logic 65 and the system bus 25 by the data interface 61. In the preferred embodiment of node 60 shown in FIG. 2, node 67 is an interconnect system that makes point-to-point connections between system bus interface 64 and node designation logic 65. However, according to the present invention, there is no requirement for such point-to-point interconnection.

제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 central arbiter 28 also connected to the system bus 25. The central arbiter 28 provides a clock signal for the system bus 25, granting ownership of that bus to nodes on the system bus 25. This central arbiter 28 preferably includes an arbitration circuit 90, a clock circuit 95, and an oscillator 97. Oscillator 97 generates a basic clock signal. Clock 95 provides a timing signal for the arbitration circuit 71, a phase clock signal for the base time H, time L, and timing on the system bus 25. The arbitration circuit 71 receives the commander request and responder request signals to mediate inconsistencies between nodes requesting access to the system bus 25 and also maintains queues for commander and responder requests. Arbitration circuit 71 also provides a control signal to clock 95.

B. 버스 인터페이스회로B. Bus Interface Circuit

제2도 및 제4도에서 도시된 노드(60)에 있어서, 각각의 데이타 인터페이스(61)는 단일 핀 단자에 의해 시스템 버스(25)의 대응 라인에 결합된다. 그 접속부는 직접 관여할 수도 있지만, 본 발명의 이해와는 무관하므로 저항을 통해 관여하는 것이 바람직하다. 본 발명의 배경에서 설명한 바와 같은 이유로서, 각각의 데이타 인터페이스(61)가 단일 핀 단자에 의해 시스템 버스(25)의 라인들에 대응하는 노드 버스(67)의 라인들에 대한 노드 버스(67)의 대응 라인에 결합되는 것이 바람직하다. 단일 핀 단자들을 사용함으로써, 노드 버스(67)가 2개의 병렬 버스들 대신에 단일 양방향 버스로 될 수 있으므로, 요구되는 핀 또는 단자들의 갯수가 최소화된다. 아울러, 노드 버스(67)에 접속된 회로는 2배의 병렬 버스들에 대한 인터페이스에 요구되는 증가된 핀 갯수를 만족시키기 위해 단지 몇개의 집적회로 칩 중에서 분할될 필요는 없다.In the node 60 shown in FIGS. 2 and 4, each data interface 61 is coupled to the corresponding line of the system bus 25 by a single pin terminal. Although the connection part may be directly involved, it is not relevant to the understanding of the present invention, and it is preferable to participate through the resistance. For the reason as described in the background of the present invention, the node bus 67 for the lines of the node bus 67 each data interface 61 corresponds to the lines of the system bus 25 by a single pin terminal. It is preferred to be coupled to the corresponding line of. By using single pin terminals, the node bus 67 can be a single bidirectional bus instead of two parallel buses, thereby minimizing the number of pins or terminals required. In addition, the circuit connected to the node bus 67 need not be split among just a few integrated circuit chips to meet the increased pin count required for the interface to twice the parallel buses.

게다가, 본 발명의 배경에서, 이미 설명한 바와 같은 이유로 단일 핀 단자에 대해 단일 핀 단자를 달성하는 회로 설계에 있어서의 양방향 전송 콤플렉스는 노드(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 system bus 25 provided by the node 60. The need to place copies of all data or messages on the system bus 25 on the node bus 67 is complicated. Doing so allows node assignment logic 65 to observe all data or messages on system bus 25 to help manage system bus 25. By making all data or messages on the system bus 25 available to the node specific logic 65, the node 60 uses resources of the data processing system 20 so that the processes can be transferred to the system bus 25. Recognition can be used to perform self-management techniques for use.

아울러, 시스템 버스(25)의 각각의 라인에 대한 핀 단자를 통해 데이타 인터페이스(61)및 시스템 버스(25)간에 양방향 통신을 제공하게 되면, 노드 지정 로직(65)이 자체 메시지를 감시하여 그 자체 메시지를 시스템 버스(25)로 수신한다. 이러한 접속은 또한 노드 지정 로직(65)로 하여금 시스템 버스(25)에 의해 메시지를 송출케 하므로, 다른 노드들이 그 트랜잭션을 감시할 수 있게 된다.In addition, when bidirectional communication is provided between the data interface 61 and the system bus 25 through the pin terminals for each line of the system bus 25, the node assignment logic 65 monitors its own message to itself. Receive a message on the system bus 25. This connection also causes node assignment logic 65 to send a message by the system bus 25 so that other nodes can monitor the transaction.

시스템 버스(25)의 노드 버스(67)로의 사이클 가시성에 의한 사이클의 다른 잇점은 캐쉬 코히어런시를 유지하는 것이다. 이러한 사용에 따라, 만일 노드가 시스템 버스(25)를 통해 액세스 가능한 메모리 위치에서의 내용을 수정하는 경우, 다른 노드들은 그러한 액세스들을 감시할 수 있으며 또한 그들 자신의 캐쉬들이 이들 메모리 위치들의 카피들을 포함하는지의 여부를 결정할 수 있다.Another advantage of the cycle by the cycle visibility of the system bus 25 to the node bus 67 is to maintain cache coherency. According to this use, if a node modifies the content at a memory location accessible through the system bus 25, other nodes can monitor such accesses and their own caches also contain copies of these memory locations. Can be determined.

시스템 버스(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 system bus 25, the node bus 67 must operate at twice the speed of the system bus 25 as described in the context of the present invention. do. Therefore, node bus 67 should have a shorter transmission time than system bus 25. In a preferred embodiment of the present invention having 64nesc cycle time for the system bus 25, only six subcycles are available due to the circuit requirements at the system bus interface 64, for example composed of CMOS circuits. Do. Six timing signals C12, C23, C34, C45, C56 and C61 each covering two sub cycles are formed for the timing of the node bus 67.

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 node bus 67 typically has a unique capacitance value of 5-10 pf. The inventors have found that this intrinsic capacitance value can be used to maintain an appropriate voltage level on the bus line even after the bus is no longer driven to a particular level by the bus driver. In order to store the charge as the intrinsic capacitance value of the bus line, the impedance of the capacitance value to the discharge passage must be high. In general, the discharge to the bus is performed through the driver output and the memory element input connected to the bus. The inventors also use devices with high input and high output impedance, especially CMOS devices, which add capacitance values of several pf to bus lines so that the intrinsic capacitance of those bus lines can be removed even after the drive signal is removed from the bus driver. It was found that the data placed on the bus could be used to expand for a period of time to make it valid.

인터페이스 장치는 각각 그 버스의 다른 라인에 대응하는 다수의 버스 구동기를 구비한다. 이 구동기의 각각은 대응하는 버스 라인을 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 bus 67 connected to the circuitry within node designation logic 65 and data interface 61. The already described bus driver 82 is shown coupled to such a line of bus 67. The bus driver 82 is an input terminal 90 for holding input data to be transferred from the memory device 80 to the line of the node bus 67 and a bus interface terminal actually coupled to the line of the node bus 67. (92). The bus driver 82 also receives a two-state drive signal, so-called driver signal 87 in FIG. 4, in particular having an enable terminal 94 shown as C61 in FIG.

제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 output terminal 92 drives the corresponding line of node bus 67 to one of the levels according to the input data. When the signal C61 is at a low level, the bus driver 82 stops driving the bus line to provide a high impedance to the line of the node bus 67.

인터페이스 장치는 또한 버스의 다른 한 라인에 대응하는 다수의 래치를 포함한다. 제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 node bus 67 as with the driver 82. As shown in FIG. This memory element 110 has its input terminal 112 coupled to that line of the node bus 67, providing a high impedance to that line. The memory element 110 also has a control terminal 114 for receiving a control signal such as C61 shown in FIG. The control signal at terminal 114 causes the memory element 110 to store the level on the corresponding line of the node bus 67 when the control signal is activated (ie, when C61 is indeterminate). In general, the control signal is activated during signal transmission between states such as either rising or falling sections.

상기 인터페이스 장치는 또한 버스 구동기의 입력 단자에서의 입력 데이타를 버스를 통해 래치들로 전송시키는 구동 및 제어 신호를 발생시키기 위해 다수의 래치에 결합된 신호 발생 수단을 포함한다. 제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 clock decoder 61 including a circuit for driving the signal C61. In FIG. 7, the time L signal is received through the buffer 130 and coupled to the clock input of the three bit shift registers 132. After the phase signal passes through the buffer 134, it is provided to the data input terminal of the shift register 132. The Q1, Q2 and Q3 outputs of that register are passed through buffers 140, 138 and 136 to form C12, C34 and C56 signals, respectively. The Q1 output of the shift register 132 supplies a data input to the 3-bit shift register 142 whose clock input is coupled to the time H signal through the buffer 114. Q1, Q2 and Q3 outputs of the register 142 are passed through buffers 150, 148 and 146, respectively, to form C23, C45 and C61 signals. As shown in FIG. 3, the active portion of the clock signal C61 in the preferred embodiment of the present invention continues for about one third of the cycle of the system bus 25. As shown in FIG.

신호 발생 수단은 대응하는 제어 신호가 작동되는 것과 실질상 같은 기간에 구동 신호를 제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, clock decoder 63 generates timing signal C61 for both the driver signal and the control signal. As already explained, it is preferable to separate the timing signal C61 sent to the data interface 61 from the timing signal C61 sent to the node designation logic 65. However, these timing signals are substantially the same. This signal separation prevents the characteristics of the node designation logic 65 from changing the timing signal appearing at the data interface 65 due to improper loading, as well as the data interface by the timing signal of the clock decoder 63. (61) and to prevent adverse effects on the service.

본 발명의 방식은 종래의 방식과는 대조적으로 버스 라인에 대한 별도의 구동기 홀드 시간이 전혀없다. 이러한 별도의 구동기 홀드 시간의 부재는 본 발명으로 가능한데, 그 이유는 버스 라인들의 고유 용량값이 노드 버스(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 node bus 67 is no longer driven active. Because. The discharge paths for the node bus 67 lines are made through the high input impedance of the memory element 110 and the high output impedance of the bus driver 82 when the driver is enabled, so that the lines of the node bus 67 The voltage level for is maintained at a constant level for a relatively predetermined period of time. The time can be calculated from the intrinsic bus capacitance, the capacitance and impedance of the driver 82 and the memory element 110.

버스 구동기(82)에 대한 출력회로는 제8도에서 도시된 바와 같은 CMOS 구동기인 것이 바람직하다. 그 회로는 직렬 접속된 p채널 풀업 트랜지스터(200) 및 n 채널 풀다운 트랜지스터(210)를 포함한다. 상기 p 채널 트랜지스터(200)는 공급전압 Vcc 및 출력단자(92) 사이에 결합된 전류 통로를 갖는다. 또 상기 n채널 트랜지스터(210)는 출력단자(92) 및 기준 단자 사이에 결합된 전류 통로를 갖는다.The output circuit for the bus driver 82 is preferably a CMOS driver as shown in FIG. The circuit includes a p-channel pull-up transistor 200 and an n-channel pull-down transistor 210 connected in series. The p-channel transistor 200 has a current path coupled between the supply voltage Vcc and the output terminal 92. In addition, the n-channel transistor 210 has a current path coupled between the output terminal 92 and the reference terminal.

프리버퍼(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-channel transistor 200 and a gate N signal to control the gate of the m-channel transistor 210. When bus driver 82 is enabled, gate P and gate N signals, respectively, cause transistor 200 to drive node bus 67 to either high or low levels corresponding to " 1 " or " 0 " data. And 210. In particular, when the node bus 67 is driven at a level, the gate P and gate N signals are at a high level (close to Vcc), and when the node bus 67 is driven at a high level, the gate P and the gate are at a high level. The N signal goes low (close to ground). When bus driver 82 is disabled such that terminal 90 is separated from output terminal 92, prebuffer 220 causes the gate P signal to be set to a high level and the gate N signal to a low level. This causes both transistors 200 and 210 to be disabled, typically providing a few megaohms of high impedance to node bus 67.

랫치(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 inverter circuit 230 composed of a p-channel transistor 235 and an n-channel transistor 237. Typical input impedance of the circuit of FIG. 9 is also on the order of several megaohms.

제8도에서 도시된 CMOS 구동기 회로를 가진 구동기(82)와, 제9도에서 도시된 CMOS 입력회로를 가진 기억소자(110)를 사용함으로써, "홀드시간"이 왜 효과적인지에 대한 데이타가 노드 버스(67)상에 유지되므로, 제어 신호(C61)의 하강 구간에서 비록 버스 구동기(82)가 그 구동 신호(또한, C61)에 의해 디스에이블되었다 하더라도 상기 기억소자(110)는 그 레벨을 기억한다. 이러한 방식으로, "홀드시간"은 통상의 버스구동회로에서의 "구동기 비중첩 시간"으로 간주되는 홀드시간과 중첩된다.By using the driver 82 having the CMOS driver circuit shown in FIG. 8 and the memory element 110 having the CMOS input circuit shown in FIG. 9, data on why the "hold time" is effective is used for the node bus. Holding on 67, the memory element 110 stores its level even if the bus driver 82 is disabled by the drive signal (also C61) in the falling section of the control signal C61. . In this way, the "hold time" overlaps with the hold time, which is regarded as "driver non-overlap time" in a conventional bus drive circuit.

상기 타이밍은 데이타가 버스상에서 유효상태인 경우의 "원도우"동안 제어신호가 작동되게 하도록 보장하는 것이 바람직하다. 그러나, 본 발명의 회로는 버스 구동기(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 bus driver 82 has timed to actively stop during the node bus 67.

노드 버스(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 node bus 67, another driver / memory pair is required to transfer data from node-specific logic 65 to system bus 25. The node designation logic 65 as shown in FIG. 6 includes a bus driver 120 having an input terminal 121, an output terminal 122, and an enable terminal 124. The bus driver 120 is preferably structurally similar to the bus driver 82. The input terminal 121 of the bus driver 120 maintains a second input level as received by the memory device 130, which is shown in FIG. This second input level is coupled to the same line of node bus 67 to which output terminal 122 of bus driver 122 is coupled. The enable terminal in the embodiment of the present invention shown in FIG. 6 is connected to the timing signal C34 provided from the clock decoder 63. FIG.

데이타 인터페이스(61)는 기억소자(70)를 버스 구동기(120)에 대한 보완소자로서 포함하는 것이 바람직하다. 기억소자(70)는 입력단자(71)및 제어단자(75)를 갖는다. 제6도에 도시된 본 발명의 실시예에 있어서, 제어단자(75)에서의 제어 신호는 또한 신호 C34이다.The data interface 61 preferably includes the memory element 70 as a complementary element to the bus driver 120. The memory element 70 has an input terminal 71 and a control terminal 75. In the embodiment of the present invention shown in FIG. 6, the control signal at the control terminal 75 is also the signal C34.

양방향 통신을 제공하기 위한 인터페이스 장치의 신호 발생 수단은버스 구동기(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 memory elements 70, 110 and the bus driver for transferring data at each input of the bus driver 82 and 120 to the node bus 67. Generate other driver control signals for 82 and 120. The signal generating means (1) switches a drive signal for one of the bus drivers between the first and second states at substantially the same time as the corresponding control signals are operated, and (2) corresponding (3) Simultaneously drive in a first state of the first and second drive signals at the same time that the control signal for the latches is activated at the same time as the other one of the bus drivers. It includes means to ensure that no.

제7도에서 도시한 바와 같은 클럭디코더(63)는 제3도에서 알수 있는 바와 같이 중첩하지 않는 타이밍 신호 C61 및 C34를 발생시킨다. 사실, 서브 사이클(2)및 (5)에 대응하는 타이밍 신호 C34 및 C61간에는 시간 주기들이 있는데, 그 시간 주기들은 노드 버스(67)가 버스 구동기(82)및 (120)에 의해 동시에 구동되지 않도록 보장하는 것이다.The clock decoder 63 as shown in FIG. 7 generates timing signals C61 and C34 that do not overlap as can be seen in FIG. In fact, there are time periods between the timing signals C34 and C61 corresponding to subcycles 2 and 5 so that the node buses 67 are not driven simultaneously by the bus drivers 82 and 120. It is guaranteed.

데이타 인터페이스(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 data interface 61 can be understood from the timing diagram of FIG. Timing signals C12 to C61 in FIG. 10 are reproduced similarly to current and existing system bus driver enable signals, valid data periods on system bus 25 and control signals 85. When the timing signal C45 is indeterminate at the end of the sub cycle 5, the data on the system bus 25 becomes valid and the transparent latch 80 captures the valid data. The data is then transmitted to the node bus 67 while the timing signal C61 is active because the timing signal, also shown as the drive signal 87, enables the bus driver 82. At the end of the sub cycle 1, for example, when the timing signal C61 is not assumed, the memory device 110 captures data from the node bus 67. In this way, data from the system bus 25 is transferred to the memory element 110 every cycle of the system bus 25.

동일한 시스템 버스 사이클의 서브 사이클들(3)및 (4)동안은 비록 타이밍 신호 C61이 엑티브 상태가 아니라 하더라도, 버스 구동기(120)가 기억소자(130)내의 데이타를 노드 버스(67)로 전송되게 한다.During subcycles 3 and 4 of the same system bus cycle, even though timing signal C61 is not active, bus driver 120 causes data in memory 130 to be transferred to node bus 67. do.

제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 node bus 67 by the bus driver 120 is captured by the storage element 70, for the reason shown in FIG. This is because of the control signal 75. Later, at the end of the sub cycle 2, the data in the memory element 70 can be captured by the memory element 72 when the node has accessed the bus and GC12 is assumed.

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 system bus 25, propagates data during repetitive bus cycles, and a node, such as node 6, has a user portion, such as node assignment logic 65, to process the data. The interface system includes a node bus, such as node bus 67, coupled to node designation logic 65 to transmit data in parallel.

본 발명의 인터페이스 시스템에 따라서, 트랜시버 수단은 시스템 버스 및 노드 버스간에 양방향 통신을 제공함과 아울러 시스템 버스상에 전파된 모든 데이타의 카피를 노드 버스에 제공하기 위해 노드 버스 및 시스템 버스 사이에 결합된다. 본 발명의 바람직한 실시예에 있어서의 데이타 인터페이스(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 memory elements 70, 72 and a bus driver 74. The memory element 70 has an input terminal 71 coupled to the node bus. In addition, the output of the memory device 70 is coupled to the memory device 72. The bus driver 74 has an output terminal 77 coupled to the output of the memory element 72 and coupled to the system bus 25.

상술된 바와 같이, 클럭 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 node bus 67 is received in the memory element 70 during the operating portion (e.g., fall time) of the clock C34. The data is then transferred to the memory element 72 when it is operated by the signal GC12 as shown in FIG. Signal GC12 is the AND product of two signals C12 and GC12EN. The C12 signal shown in FIGS. 3 and 10 is one of the timing signals generated by the clock decoder 63, and the GC12EN signal indicates that the node 60 is a transmitter on the system bus 25 when it is active. And a signal indicating that data can be transmitted on the system bus 25 via the data interface 61. The GC12 signal is then generated by the clock decoder using signals from the arbiter 28 and the node designation logic 65.

제4도 및 제6도에서 도시된 바와 같은 구동기(74)는 그 입력으로서 구동 신호 피호출 시스템 버스 구동 인에이블 신호(79)를 갖는데, 이것은 클럭디코더(63)로부터 수신되어, 기억소자(72)내의 데이타를 시스템 버스(25)상에 전송되게 한다. 상기 시스템 버스 구동 인에이블 신호(79)는 노드 지정 로직(65)에서의 요구는 물론 데이타 처리시스템(20)에서 수신된 어떤 허가 신호에 대한 요구시에 발생된다. 따라서, 데이타는 노드(60)가 송신기인 경우 시스템 버스(25)의 사이클들 동안만 시스템 버스(5)상에 전송된다.The driver 74 as shown in FIGS. 4 and 6 has as its input a drive signal called system bus drive enable signal 79, which is received from the clock decoder 63 and stored in the memory element 72. Data is transferred on the system bus 25. The system bus drive enable signal 79 is generated upon a request from the node designation logic 65 as well as a request for some permission signal received from the data processing system 20. Thus, data is transmitted on the system bus 5 only during the cycles of the system bus 25 when the node 60 is a transmitter.

본 발명에 따른 제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 memory device 80 as shown in FIGS. 4 and 6 has an input terminal coupled to the system bus 25 and is enabled by the clock signal C45 received at the clock decoder 63. The bus driver 82 has an output terminal 92 coupled to the node by the node bus 67 and coupled to the input terminal 71 of the corresponding memory element 70. The enable terminal 94 of this bus driver 82 is coupled to the C61 signal.

본 발명의 인터페이스 시스템은 또한 상기 제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 clock decoder 63 generates clock signals C34 and C61. The memory element 70 receives data at the end of clock C34 and transfers the data to the system bus 25 during selected cycles of the system bus 25. In addition, the memory device 80 receives data from the system bus 25 during the timing signal C45, and the driver 82 transfers the data to the node bus 67 during the C61 clock cycle. Thus, since data transmitted during every cycle of the system bus 25 is transmitted to the node bus 67 to permit the node bus 67, the node designation logic 65 transmits all the data transmitted on the system bus 25. Get a picture of the message. Since clock cycles C45 and C61 occur once per system bus cycle, the transfer from system bus 25 to node bus 67 also occurs once per cycle of system bus 25.

함께 사용되는 경우, 본 발명의 버스 인터페이스회로 및 인터페이스 시스템은 종래 기술의 시스템에 비해 몇가지 잇점을 제공한다. 그 잇점들은 클럭 신호들의 최소 갯수를 사용하여 고속 버스 전송을 포함하는데, 그에 따라 하나의 버스, 예컨대 노드 버스가 시스템 버스와 같은 다른 버스를 통해 모든 메시지들의 카피를 얻을 수 있도록 버스들간에 고속 데이타 전송을 제공한다. 이러한 카피를 제공하여 시스템 버스(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 system bus 25, a node coupled to the node bus can not only monitor its own messages, but also send messages back by that system bus. Nodes can monitor the messages.

이 분야에 기술에 숙련된자에게는 본 발명의 사상 및 범위에서 벗어나지 않고도 본 발명의 버스 인터페이스 회로 및 인터페이스에 대한 여러 가지 수정 및 변화가 이루어질 수 있음이 명백할 것이다. 본 발명은 첨부된 특허청구의 범위 및 그 등가 범위 이내에서 그러한 수정 및 변화를 카바한다.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)

데이타를 처리하는 유저 부분을 갖는 노드 버스 및 반복 버스 사이클들 동안 데이타를 전파하는 시스템 버스에 대한 양방향 통신을 제공하기 위한 인터페이스 시스템에 있어서, 상기 유저 부분에 결합되어, 노드로의 데이타 전송 및 노드로부터의 데이타 전송을 수행하는 노드 버스와; 상기 노드 버스 및 상기 시스템 버스 사이에 결합되어, 상기 시스템 버스 및 상기 노드 버스간에 양방향 통신을 제공하며, 상기 시스템 버스상에 전송된 데이타의 모든 카피를 상기 노드 버스에 제공하는 트랜시버 수단을 구비하는데, 상기 트랜시버 수단은 상기 노드 버스에 결합된 입력단자들 및 상기 시스템 버스에 결합된 출력단자들을 가지며, 각각의 시스템 버스 사이클 마다 발생하는 제1클럭 신호의 액티브 부분들에 따라서 상기 시스템 버스의 선택된 사이클들 동안 상기 시스템 버스에 대한 차후 전송을 위해 상기 노드 버스로부터 데이타를 수신하는 제1단일 방향 통신 수단과, 상기 시스템 버스에 결합된 입력단자들 및 상기 노드 버스에 결합된 출력단자들을 가지며, 각각의 시스템 버스 사이클마다 발생하는 제2클럭 신호의 액티브 부분들에 따라서 상기 시스템 버스의 매 사이클마다 상기 시스템 버스상에 전파된 데이타를 상기 노드 버스에 전송하기 위한 것으로서, 상기 입력단자들은 각기 상기 제1단일 방향 통신 수단의 상기 출력단자들중 다른 한 출력단자에 접속되게 하고, 상기 출력단자들은 각기 상기 제1단일 방향 통신 수단의 상기 입력단자들중 다른 한 입력단자에 접속되므로 한 제2단일 방향 통신 수단을 포함하고; 상기 제1 및 제2단일 방향 통신 수단에 결합되어, 제1및 제2클럭 신호의 액티브 부분들이 동시에 발생하지 않도록 함과 아울러, 제2클럭의 액티브 부분들이 상기 제2단일 방향 통신 수단으로 하여금 노드 버스에서 시스템 버스로 전송된 데이타의 카피를 노드 버스로 복귀시키도록, 상기 제1및 제2클록 신호를 제공하는 타이밍 수단을 구비하는 것을 특징으로 하는 양방향 통신용 인터페이스 시스템.1. An interface system for providing bidirectional communication over a node bus having a user portion that processes data and a system bus that propagates data during repetitive bus cycles, the interface system coupled to the user portion to transfer data to and from the node. A node bus for performing data transfer of the; A transceiver means coupled between the node bus and the system bus to provide bidirectional communication between the system bus and the node bus and to provide the node bus with all copies of data transmitted on the system bus, The transceiver means has input terminals coupled to the node bus and output terminals coupled to the system bus, and selected cycles of the system bus in accordance with the active portions of the first clock signal that occur in each system bus cycle. Each system having a first one-way communication means for receiving data from said node bus for subsequent transmission to said system bus, and input terminals coupled to said system bus and output terminals coupled to said node bus, respectively. Active parts of the second clock signal that occurs every bus cycle. Thus, for transmitting the data propagated on the system bus to the node bus at every cycle of the system bus, the input terminals are respectively connected to the other output terminal of the output terminals of the first unidirectional communication means. Wherein the output terminals each comprise one second one-way communication means as it is connected to the other input terminal of the input terminals of the first one-way communication means; Coupled to the first and second unidirectional communication means such that active portions of the first and second clock signals do not occur simultaneously, and wherein the active portions of the second clock cause the second unidirectional communication means to And timing means for providing said first and second clock signals to return a copy of data transferred from a bus to a system bus to a node bus. 제1항에 있어서, 상기 제1단일 방향 통신 수단은 상기 제1단일 방향 통신 수단의 상기 입력단자들에 결합되어, 제1클럭 신호의 액티브 부분들 동안 상기 노드 버스로부터의 데이타를 일시 기억하는 제1기억 수단과, 상기 제1기억 수단과 그리고 상기 제1단일 방향 통신 수단의 상기 출력단자들에 결합되어, 제1클럭 사이클과 동기화된 제3클럭 신호의 선택된 액티브 부분들동안 상기 기억된 데이타를 상기 제1기억수단에서 상기 시스템 버스로 전송하는 제1버스 구동기 수단을 구비하는 것으로 특징으로 하는 인터페이스 시스템.2. The apparatus of claim 1, wherein the first one-way communication means is coupled to the input terminals of the first one-way communication means to temporarily store data from the node bus during active portions of the first clock signal. Coupled to said output terminal of said first storage means and said first one-way communication means to store said stored data during selected active portions of a third clock signal synchronized with a first clock cycle. And first bus driver means for transmitting from said first storage means to said system bus. 제1항 또는 제2항에 있어서, 상기 제2단일 방향 통신 수단은 상기 제2단일 방향 기억 수단의 상기 입력단자들에 결합되어, 상기 시스템 버스상에 전파된 데이타를 일시기억하는 제2기억 수단과, 상기 제2기억 수단과 그리고 상기 제2단일 방향 기억 수단의 상기 출력단자에 결합되어, 제2클럭 신호의 액티브 부분들동안 상기 기억된 데이타를 상기 제2기억 수단에서 상기 노드 버스로 전송하는 제2버스 구동기 수단을 구비하는 것을 특징으로 하는 인터페이스 시스템.The second storage means according to claim 1 or 2, wherein the second single direction communication means is coupled to the input terminals of the second single direction memory means to temporarily store data propagated on the system bus. And coupled to the second storage means and to the output terminal of the second single direction memory means for transferring the stored data from the second storage means to the node bus during active portions of a second clock signal. An interface system comprising a second bus driver means. 제2항에 있어서, 상기 제1기억 수단은 노드 버스로부터 수신된 데이타의 2단 기억을 제공하기 위해 2개의 순차 결합된 기억소자를 구비하는 것을 특징으로 하는 인터페이스 시스템.The interface system as recited in claim 2, wherein said first storage means comprises two sequentially coupled storage elements for providing two-stage storage of data received from a node bus. 제2항에 있어서, 상기 타이밍 수단은 상기 유저 부분에서 발생된 신호들과 상기 시스템 버스에서 수신된 타이밍 신호들로부터 상기 제3클럭 신호를 형성하기 위한 제2수단을 구비하는 것을 특징으로 하는 인터페이스 시스템.3. The interface system of claim 2, wherein said timing means comprises second means for forming said third clock signal from signals generated at said user portion and timing signals received at said system bus. . 데이타를 처리하는 유저 부분을 갖는 노드 버스 및 반복 버스 사이클들 동안 데이타를 전파하는 시스템 버스에 대한 양방향 통신을 제공하기 위한 데이타 전송 장치에 있어서, 각각 고유 전기 캐패시턴스를 갖는 다수의 라인들을 구비하여, 데이타를 나타내는 시간 전압 레벨들의 소정의 주기동안 상기 노드 버스상에 상기 데이타를 유지함과 아울러 그 데이타를 전송시키는 노드 버스와; 유저 부분 및 상기 노드 버스 사이에 결합되어, 상기 노드 버스 및 상기 유저 부분간에 데이타를 전송하는 노드 버스 인터페이스 수단을 구비하는데, 상기 노드 버스 인터페이스 수단은, 각각 상기 노드 버스의 다른 한 라인에 대응하여, 각각, 상기 노드 버스의 대응하는 라인에 전송될 제1입력 데이타를 홀드하는 입력단자, 상기 노드 버스의 대응하는 라인에 결합된 버스 인터페이스 단자, 제1상태에서 제1버스 구동기로 하여금 대응하는 노드 버스 라인을 제1입력 데이타에 의한 두 레벨중 한 레벨로 구동케하고 제2상태에서는 제1버스 구동기로 하여금 대응하는 버스 라인의 구동을 중단케하여 그것의 버스 인터페이스 단자에서 고전기 임피던스를 제공하는 제1구동 신호를 수신하기 위한 인에이블 단자를 포함하는 다수의 제1버스 구동기와, 각각 상기 노드 버스의 다른 한 라인에 대응하여, 각각, 상기 노드 버스의 대응하는 라인 및 그것의 입력에서 고 전기 임피던스를 제공하는 제1래치에 결합된 입력단자, 상기 제1래치로 하여금 제1제어 신호가 작동될 때 대응하는 노드 버스 라인상의 전압 레벨을 기억케하는 상기 제1제어 신호를 수신하기 위한 래치 제어단자를 포함하는 다수의 제1래치를 포함하고; 상기 노드 버스 및 상기 시스템 버스 사이에 결합되어, 상기 시스템 버스 및 상기 노드 버스간에 양방향 통신을 제공함과 아울러 상기 시스템 버스상에 전파된 모든 데이타의 카피를 상기 노드 버스에 제공하기 위해서 트랜시버 수단을 구비하는데, 상기 트랜시버 수단은, 상기 노드 버스에 결합된 입력단자들 및 상기 시스템 버스에 결합된 출력단자들을 가지며, 상기 시스템 버스의 선택된 사이클들 동안 상기 시스템 버스에 전송될 상기 노드 버스로부터의 데이타를 수신하기 위한 것으로서, 각각 상기 노드 버스의 다른 한 라인에 대응하며, 각각, 상기 노드 버스의 대응하는 라인 및 그것의 입력단자에서 고 전기 임피던스를 제공하는 제2래치에 결합된 입력단자, 상기 제2래치로 하여금 상기 제2제어 신호가 작동될 때 대응하는 노드 버스 라인상에 전압레벨을 기억케하는 제2제어 신호를 수신하기 위한 래치 제어단자를 갖는 다수의 제2래치를 포함하는 제1단일 방향 통신 수단과, 상기 시스템 버스에 결합된 입력단자들 및 상기 노드 버스에 결합된 출력단자들을 가지며, 상기 출력단자들은 각기 상기 제1단일 방향 통신 수단의 상기 입력단자들 중 다른 한 단자에 접속되게 하여, 상기 시스템 버스상에 전파된 데이타를 상기 시스템 버스의 매 사이클마다 상기 노드 버스로 전송하기 위한 것으로서, 각각 상기 노드 버스의 다른 한 라인에 대응하며, 각각, 상기 노드 버스의 대응하는 라인에 전송될 제2입력 데이타를 홀딩하는 입력단자, 상기 노드 버스의 대응하는 라인에 결합된 버스 인터페이스단자, 제1상태에서 제2버스 구동기로 하여금 상기 대응하는 노드 버스 라인을 제2입력 데이타에 의한 두 레벨중 한 레벨로 구동케하고 제2상태에서는 제2버스 구동기로 하여금 대응하는 버스 라인의 구동을 중단케하여 그것의 버스 인터페이스 단자에서 고 전기 임피던스를 제공하는 제2구동 신호를 수신하기 위한 인에이블 단자를 갖는 다수의 제2버스 구동기를 포함하는 상기 제2단일 방향 통신 수단을 포함하고; 상기 노드 버스 인터페이스 수단과 상기 제1및 제2단일 방향 통신 수단에 결합되어, 상기 유저 부분 및 상기 시스템 버스간의 데이타 전송을 제어하기 위한 것으로서, 제1제어 신호가 작동됨과 동시에 제1구동 신호를 제1상태에서 제2상태로 스위칭하고, 제2제어 신호가 작동됨과 동시에 제2구동 신호를 제1상태에서 제2상태로 스위칭하여, 상기 제1및 제2구동 신호가 제1상태에서 동시에 발생되지 않게 하는 타이밍 수단을 구비하는 것을 특징으로 하는 양방향 통신용 데이타 전송 장치.A data transfer apparatus for providing bidirectional communication over a node bus having a user portion processing data and a system bus propagating data during repetitive bus cycles, the data transmission apparatus comprising: a plurality of lines, each having a unique electrical capacitance, A node bus for maintaining the data on the node bus for a predetermined period of time voltage levels, the data bus transferring the data; A node bus interface means coupled between the user portion and the node bus to transfer data between the node bus and the user portion, wherein the node bus interface means respectively correspond to the other line of the node bus, An input terminal for holding first input data to be transmitted to a corresponding line of the node bus, a bus interface terminal coupled to a corresponding line of the node bus, respectively, in which the first bus driver causes the corresponding node bus to be in a first state; A first driving the line to one of two levels by the first input data and in the second state causing the first bus driver to stop driving the corresponding bus line to provide a high electric impedance at its bus interface terminal; A plurality of first bus drivers including an enable terminal for receiving a drive signal, each of the Corresponding to the other line of the node bus, respectively, an input terminal coupled to a first latch providing a high electrical impedance at the corresponding line of the node bus and its input, the first latch causes the first control signal to be A plurality of first latches including a latch control terminal for receiving said first control signal which, when activated, stores said voltage level on a corresponding node bus line; A transceiver means coupled between the node bus and the system bus to provide bidirectional communication between the system bus and the node bus and to provide the node bus with a copy of all data propagated on the system bus. The transceiver means having inputs coupled to the node bus and output terminals coupled to the system bus for receiving data from the node bus to be transmitted to the system bus during selected cycles of the system bus. And an input terminal coupled to a second latch, each corresponding to the other line of the node bus, the second terminal providing a high electrical impedance at the corresponding line of the node bus and its input terminal, respectively. Causes the second control signal to actuate on the corresponding node bus line. A first one-way communication means comprising a plurality of second latches having a latch control terminal for receiving a second control signal for storing a level, an input terminal coupled to said system bus and a node bus coupled to said node bus; And output terminals, each of which is connected to the other terminal of the input terminals of the first one-way communication means, so that data propagated on the system bus is transmitted to the node bus every cycle of the system bus. An input terminal holding a second input data to be transmitted to a corresponding line of the node bus, each coupled to a corresponding line of the node bus, respectively; Bus interface terminal, in the first state, causes the second bus driver to connect the corresponding node bus line by second input data. Enable terminal to receive a second drive signal that drives at one level and, in the second state, causes the second bus driver to stop driving the corresponding bus line to provide a high electrical impedance at its bus interface terminal. Said second one-way communication means comprising a plurality of second bus drivers having a; Coupled to the node bus interface means and the first and second unidirectional communication means for controlling data transmission between the user portion and the system bus, the first control signal being actuated and simultaneously generating a first drive signal. By switching from the first state to the second state, the second control signal is activated and the second drive signal is switched from the first state to the second state so that the first and second drive signals are not simultaneously generated in the first state. And a timing means for disabling the data transmission apparatus for bidirectional communication. 제6항에 있어서, 상기 제1단일 방향 통신 수단은 각각, 상기 다수의 제2래치중 다른 한 래치에 각기 결합되어, 제3클럭 신호의 선택된 액티브 부분들 동안 기억된 전압 레벨들을 상기 제2래치들로부터 상기 시스템 버스로 전송하는 다수의 제3버스 구동기를 구비하는 것을 특징으로 하는 데이타 전송 장치.7. The second latch of claim 6, wherein the first one-way communication means is respectively coupled to another latch of the plurality of second latches, the second latches storing voltage levels stored during selected active portions of a third clock signal. And a plurality of third bus drivers for transmitting the data to the system bus. 제6항에 있어서, 상기 제2단일 방향 통신 수단은 각각 상기 제2버스 구동기들중 다른 한 구동기에 결합되어, 상기 시스템 버스상에 전파된 데이타를 일시 기억하는 다수의 제3래치를 구비하는 것을 특징으로 하는 데이타 전송 장치.7. The apparatus of claim 6, wherein the second one-way communication means are each coupled to another one of the second bus drivers, and having a plurality of third latches for temporarily storing data propagated on the system bus. Characterized in that the data transmission device. 제7항에 있어서, 상기 제2래치들은 각각 노드 버스로부터 수신된 데이타의 2단 기어를 제공하기 위해 2개의 순차 결합된 기억소자를 구비하는 것을 특징으로 하는 데이타 전송 장치.8. The data transfer apparatus of claim 7, wherein the second latches each comprise two sequentially coupled storage elements to provide a second gear of data received from the node bus. 데이타를 처리하는 유저 부분을 갖는 노드 버스 및 반복 버스 사이클들 동안 데이타를 전파하는 시스템 버스에 대한 양방향 통신을 제공하는 데이타 전송 장치에 있어서, 각각 고유 전기 캐패시턴스를 갖는 다수의 라인들을 구비하여, 데이타를 나타내는 시간 전압레벨들의 소정의 주기동안 상기 노드 버스상에 상기 데이타를 유지함과 아울러 그 데이타를 전송시키는 노드 버스와; 유저 부분 및 상기 노드 버스 사이에 결합되어, 상기 노드 버스 및 상기 유저 부분간에 데이타를 전송하는 노드 버스 인터페이스 수단을 구비하는 데, 상기 노드 버스 인터페이스 수단은, 각각 상기 노드 버스의 다른 한 라인에 대응하며, 각각, 상기 노드 버스의 대응하는 라인에 전송될 제1입력 데이타를 홀드하는 입력단자, 상기 노드 버스의 대응하는 라인에 결합된 버스 인터페이스 단자, 제1상태에서 제1CMOS 버스 구동기로 하여금 대응하는 노드 버스 라인을 제1입력 데이타에 의한 두 레벨중 한 레벨로 구동케하고 제2상태에서는 제1 CMOS 버스 구동기로 하여금 대응하는 버스 라인의 구동을 중단케하여 그것의 버스 인터페이스 단자에서 고 전기 임피던스를 제공하는 제1구동 신호를 수신하기 위한 인에이블 단자를 포함하는 다수의 제1CMOS 버스 구동기와, 각각 상기 노드 버스의 다른 한 라인에 대응하며, 각각 상기 노드 버스의 대응하는 라인 및 그것의 입력에서 고 전기 임피던스를 제공하는 제1래치에 결합된 입력단자, 상기 제1래치로 하여금 제1제어 신호가 제1상태 및 제2상태 사이에서 스위칭할때 대응하는 노드 버스상의 전압레벨에 대응하는 데이타를 기억되게 하는 제1제어신호를 수신하기 위한 다수의 제1CMOS 래치를 포함하고; 상기 노드 버스 및 상기 시스템 버스 사이에 결합되어, 상기 시스템 버스 및 상기 노드 버스간에 양방향 통신을 제공함과 아울러 상기 시스템 버스상에 전파된 모든 데이타의 카피를 상기 노드 버스에 제공하기 위한 트랜시버 수단을 구비하는데, 상기 트랜시버 수단은, 상기 노드 버스에 결합된 입력단자들 및 상기 시스템 버스에 결합된 출력단자들을 가지며, 상기 시스템 버스의 선택된 사이클들 동아 상기 시스템 버스에 전송될 상기 노드 버스로부터의 데이타를 수신하기 위한 것으로서, 각각 상기 노드 버스의 다른 한 라인에 대응하며, 각각, 상기 노드 버스의 대응하는 라인및 그것의 입력단자에서 고 전기 임피던스를 제공하는 제2 CMOS 래치에 결합된 입력단자, 상기 제2CMOS 래치로 하여금 제2제어신호가 제1상태에서 제2상태로 스위칭할 때 대응하는 노드 버스 라인상의 전압 레벨에 대응하는 데이타를 기억되게 하는 제2제어 신호를 수신하기 위한 래치 제어단자를 갖는 다수의 제2CMOS 래치와, 각각 다수의 제2CMOS 래치중 다른 한 래치에 응답하며, 각각, 제2CMOS 래치들중 대응하는 한 래치의 출력단자에 결합된 입력단자, CMOS 플립플롭으로 하여금 제3제어 신호가 작동될 때 대응하는 제2CMOS 래치의 출력에서 신호를 기억되게 하는 제3제어 신호를 수신하기 위한 플립플롭 제어 단자를 갖는 다수의 CMOS 플립플롭과, 각각 상기 시스템 버스의 다른 한 버스에 대응하며, 각각, 상기 제3래치들 중 대응하는 한 래치의 출력에 결합된 입력단자, 상기 시스템 버스의 대응하는 한 라인에 결합된 버스 인터페이스 단자, 제 1상태에서 제2버스 구동기로 하여금 상기 제3래치의 출력에 따라 상기 대응하는 시스템 버스 라인을 구동되게 하는 제2구동 신호를 수신하기 위한 인에이블 단자를 갖는 다수의 제2CMOS버스 구동기를 포함하는 제1단일 방향 통신 수단을 포함함과 아울러, 상기 시스템 버스에 결합된 입력단자들 및 상기 노드 버스에 결합된 출력단자들을 가지며, 상기 출력단자들은 각기 상기 제1단일 방향 통신 수단의 상기 입력단자들중 다른 한 입력단자에 접속되게 하고, 상기 입력단자들은 각기 상기 제1단일 방향 통신 수단의 상기 출력단자들중 다른 한 출력단자에 접속되게 하여, 상기 시스템 버스상에 전파된 데이타를 상기 시스템 버스의 매 사이클마다 상기 노드 버스에 전송하기 위한 것으로서, 각각 상기 시스템 버스의 다른 한 라인에 대응하며, 각각, 상기 제2단일 방향 통신 수단의 입력단자에 결합된 입력단자, 제4래치로 하여금 상기 제2단일 방향 통신 수단의 대응하는 입력단자상의 전압레벨에 대응하는 데이타를 기억되게 하는 제4제어 신호를 수신하기 위한 래치 제어 신호를 갖는 다수의 제4 CMOS 래치와, 각각 상기 노드 버스의 다른 한 라인 및 상기 다수의 제4래치의 다른 한 라인에 대응하며, 각각, 상기 제4래치의 출력 단자에 결합되어 상기 노드 버스의 대응하는 라인에 전송될 제2입력 데이타를 홀딩하는 입력단자, 상기 노드 버스의 대응하는 라인에 결합된 버스 인터페이스 단자, 제1상태에서 제3버스 구동기로 하여금 상기 대응하는 노드 버스 라인을 제2입력데이타에 의한 두 레벨중 한 레벨로 구동되게 하고 제2상태에서는 대응하는 버스 라인의 구동을 중단되게 하여 그것의 버스 인터페이스 단자에서 고 전기 임피던스를 제공하는 제3구동 신호를 수신하기 위한 인에이블 단자를 갖는 다수의 제3CMOS 버스 구동기를 포함하는 제2단일 방향 통신 수단을 포함하고; 상기 노드 버스 인터페이스 수단과 상기 제1및 제2 단일 방향 통신 수단에 결합되어, 상기 유저 부분 및 상기 시스템 버스간의 데이타 전송을 제어하기 위한 것으로서, 제1및 제2상태간의 제1구동 신호 및 제2제어 신호를 동시에 스위칭하고, 제1및 제2상태간의 제3구동 신호 및 제1제어 신호를 동시에 스위칭하여, 제1및 제3구동 신호가 제1상태에서 동시에 발생되지 않게하는 타이밍 수단을 구비하는 것을 특징으로 하는 양방향 통신용 데이타 전송 장치.A data transfer apparatus for providing bidirectional communication over a node bus having a user portion processing data and a system bus propagating data during repetitive bus cycles, the data transmission apparatus comprising a plurality of lines each having a unique electrical capacitance, A node bus for holding the data on the node bus for a predetermined period of time voltage levels that are indicated and for transmitting the data; A node bus interface means coupled between the user portion and the node bus to transfer data between the node bus and the user portion, the node bus interface means respectively corresponding to the other line of the node bus; An input terminal for holding first input data to be transmitted to a corresponding line of the node bus, a bus interface terminal coupled to a corresponding line of the node bus, respectively, and causing the first CMOS bus driver in a first state to correspond to the corresponding node. Drive the bus line to one of two levels by the first input data and in the second state cause the first CMOS bus driver to stop driving the corresponding bus line to provide high electrical impedance at its bus interface terminals. A plurality of first CMOS bus drivers comprising an enable terminal for receiving a first drive signal An input terminal coupled to a first latch, each corresponding to the other line of the node bus, the first latch providing a high electrical impedance at a corresponding line of the node bus and at its input, the first latch causing a first control A plurality of first CMOS latches for receiving a first control signal for storing data corresponding to a voltage level on a corresponding node bus when the signal switches between a first state and a second state; A transceiver means coupled between the node bus and the system bus to provide bidirectional communication between the system bus and the node bus and to provide the node bus with a copy of all data propagated on the system bus. The transceiver means having inputs coupled to the node bus and output terminals coupled to the system bus for receiving data from the node bus to be transmitted to the system bus during selected cycles of the system bus. And an input terminal coupled to a second CMOS latch, each corresponding to the other line of the node bus, each providing a high electrical impedance at the corresponding line of the node bus and its input terminal, the second CMOS latch. Responds when the second control signal switches from the first state to the second state. A plurality of second CMOS latches having a latch control terminal for receiving a second control signal for storing data corresponding to a voltage level on the node bus line, each of which responds to another of the plurality of second CMOS latches, An input terminal coupled to an output terminal of a corresponding one of the second CMOS latches, the third control signal receiving a CMOS flip-flop to cause a signal to be stored at the output of the corresponding second CMOS latch when the third control signal is activated A plurality of CMOS flip-flops, each having a flip-flop control terminal, and an input terminal coupled to the other bus of the system bus, each coupled to an output of a corresponding one of the third latches, the system bus A bus interface terminal coupled to the corresponding one line of the second bus driver in a first state according to the output of the third latch; A first unidirectional communication means comprising a plurality of second CMOS bus drivers having an enable terminal for receiving a second drive signal for driving a line, the input terminals coupled to the system bus and the Having output terminals coupled to the node bus, the output terminals being respectively connected to the other input terminal of the input terminals of the first unidirectional communication means, the input terminals being respectively of the first unidirectional communication means; And to transmit data propagated on the system bus to the node bus at every cycle of the system bus, connected to the other output terminal of the output terminals, each corresponding to the other line of the system bus. An input terminal coupled to the input terminal of the second single direction communication means, respectively, causing a fourth latch to perform the second single direction; A plurality of fourth CMOS latches having a latch control signal for receiving a fourth control signal for storing data corresponding to a voltage level on a corresponding input terminal of a new means, each of the other line of the node bus and the plurality of An input terminal corresponding to the other line of the fourth latch of, respectively, coupled to an output terminal of the fourth latch and holding second input data to be transmitted to a corresponding line of the node bus, the corresponding terminal of the node bus Bus interface terminal coupled to the line, causing a third bus driver to drive the corresponding node bus line to one of two levels by a second input data in a first state and to drive a corresponding bus line in a second state Has an enable terminal for receiving a third drive signal providing a high electrical impedance at its bus interface terminal. Of the 3CMOS and a second unidirectional communication means including a bus driver; Coupled to the node bus interface means and the first and second unidirectional communication means for controlling data transfer between the user portion and the system bus, the first drive signal between the first and second states and a second drive signal; And timing means for simultaneously switching the control signals and simultaneously switching the third drive signal and the first control signal between the first and second states so that the first and third drive signals are not simultaneously generated in the first state. A data transmission device for bidirectional communication, characterized in that. 제1 및 제2단자간의 고속 양방향 통신을 위하여 상기 제2단자가 다수의 반복 사이클중 각 사이클 발생 도중의 소정의 시간 주기 동안 유효한 데이타를 홀드하는데 사용되는 방법에 있어서, 상기 제2단자로의 선택적인 전송을 위해 상기 반복 사이클들중 각 사이클 도중에 발생하는 제1클럭 신호의 엑티브 부분동안 상기 제1단자로부터 제1데이타를 수신하는 단계와; 제2데이타의 모두를 제1단자에 제공하기 위해 상기 반복 사이클들중 각 사이클 도중에 발생하는 제2클럭 신호의 액티브 부분동안 상기 제2데이타를 상기 제2단자에서 상기 제1단자로 전송하는 단계와; 그들의 액티브 부분들이 동시에 발생하지 않도록 하여, 제1단자와 전송된 제2데이타가 제2단자에 전송된 제1데이타의 카피를 포함하게끔, 제1및 제2클럭 신호를 발생시키는 단계를 포함하는 것을 특징으로 하는 고속 양방향 통신방법.A method in which the second terminal is used to hold valid data for a predetermined period of time during each cycle occurrence of a plurality of repetition cycles for high speed bidirectional communication between the first and second terminals, the selection as the second terminal. Receiving first data from the first terminal during the active portion of the first clock signal occurring during each of the repeat cycles for efficient transmission; Transmitting the second data from the second terminal to the first terminal during the active portion of the second clock signal occurring during each of the repetition cycles to provide all of the second data to the first terminal; ; Generating first and second clock signals such that their active portions do not occur simultaneously, such that the first terminal and the second data transmitted include a copy of the first data transmitted to the second terminal. High speed bidirectional communication method characterized by. 제11항에 있어서, 상기 제1데이타 수신 단계는 제1클럭 신호의 액티브 부분동안 제1데이타를 일시 기억시키는 단계를 포함하고, 상기 제2레벨 전송 단계는 제3클럭 신호의 액티브 부분동안 제2데이타를 일시적으로 기억시키는 단계를 포함하는 것을 특징으로 하는 방법.12. The method of claim 11, wherein the first data receiving step includes temporarily storing the first data during the active portion of the first clock signal, and the second level transmitting step includes the second data during the active portion of the third clock signal. And temporarily storing the data. 제12항에 있어서, 상기 제3클럭 신호의 액티브 부분의 일부가 상기 제2클럭 신호의 액티브 부분과 동시에 발생하도록 상기 제3클럭 신호를 발생시키는 단계를 추가로 포함하는 것을 특징으로 하는 방법.13. The method of claim 12, further comprising generating the third clock signal such that a portion of the active portion of the third clock signal occurs concurrently with the active portion of the second clock signal. 제11항에 있어서, 상기 제2단자로부터 상기 제2데이타를 전송하는 단계는 제2데이타를 기억시키는 부단계를 포함하는 것을 특징으로 하는 방법.12. The method of claim 11, wherein transmitting the second data from the second terminal includes a substep of storing the second data.
KR1019880701758A 1987-05-01 1988-04-22 High performance low pin count for inter KR910007648B1 (en)

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)

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