KR0181471B1 - 컴퓨터 데이타 경로배정 시스템 - Google Patents
컴퓨터 데이타 경로배정 시스템 Download PDFInfo
- Publication number
- KR0181471B1 KR0181471B1 KR1019910012956A KR910012956A KR0181471B1 KR 0181471 B1 KR0181471 B1 KR 0181471B1 KR 1019910012956 A KR1019910012956 A KR 1019910012956A KR 910012956 A KR910012956 A KR 910012956A KR 0181471 B1 KR0181471 B1 KR 0181471B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- input
- data
- multiplexer
- byte
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Abstract
본 발명의 디지탈 컴퓨터 시스템은 오부합된 장치들간의 데이타 전송을 수행하는 데이타 경로배정용의 인터페이스를 포함한다. 이 컴퓨터시스템은 프로세서, 메모리, 상호접속 데이타버스를 포함하며, 제1데이타폭의 데이타단위를 처리하도록 구성된다. 또 제2데이타폭의 데이타 단위를 처리하기 위하여 적어도 1이상의 입출력장치에 데이타버스가 접속된다. 수신장치 또는 버스의 폭을 부합시키기 위하여 전달될 데이타의 폭을 조정함으로써 폭이 다른 장치간에 데이타가 전송될 수도 있다. 폭을 조정하기 위하여는 송수신장치의 폭과 전달방향을 기초로 하여 전달되는 데이타 바이트의 경로를 수정하는 제어장치가 구비된다.
Description
제1도는 컴퓨터 시스템의 톱레벨(top lovel)블럭도.
제2도는 제1도의 컴퓨터시스템에 사용될 수 있는 프로세서 보조시스템의 블럭도.
제3도는 제1도의 컴퓨터 시스템에 사용될 수 있는 메모리 보조시스템의 블럭도.
제4도는 제1도의 컴퓨터 시스템의 프로세서버스와 입출력장치 사이의 인터페이스의 블럭도.
본 발명은 컴퓨터 시스템의 구성요소들 사이의 데이타 워드를 경로배정(routing)하여 주는 장치 및 방법에 관한 것으로, 특히 그 구성요소가 동일한 폭의 데이타워드를 처리하도록 구성되는지의 여부에 관계없이 프로세서, 메모리 및/또는 입출력장치등의 컴퓨터 시스템의 구성요소들 사이의 데이타워드를 경로배정하여 주는 장치 및 방법에 관한 것이다.
종래부터 잘 알려져있는 바와 같이 컴퓨터시스템은 보조시스템 사이의 데이타를 전송하는 경로에 의해 상호접속된 다수의 보조시스템으로 구성되어 있다. 이러한 두 가지 보조시스템으로는 중앙처리장치(프로세서) 또는 프로세서 보조시스템과 다중메모리장치를 포함하는 메모리 저장보조시스템(메모리)이 있다. 프로세서는 순차적인 명령을 실행하여 데이타에 관한 일련의 수학적 연산을 수행함으로써 컴퓨터 시스템의 연산을 제어한다. 명령과 데이타는 모두 컴퓨터의 메모리에 논리수1과 0의 형태인 2진 정보로 저장된다. 프로세서와 메모리는 컴퓨터 시스템의 가장 필수적인 보조시스템으로 대표되나, 사실상 모든 컴퓨터 시스템은 정보를 컴퓨터 시스템에 입출력시키기 위한 임의 개수의 입출력장치를 포함한다. 컴퓨터시스템에 사용되는 가장 보편적인 입출력장치로는 정보나 명령을 입력시키기 위한 키보드, 사용자에게 정보를 들려주기 위한 비디오모니터 및 프린터, 저장된 정보를 영구히 기록하거나 추가 소프트웨어를 실행하기 위한 디스크드라이브 또는 하드디스크가 있다. 컴퓨터 시스템에 입출력장치를 설치하기 위하여 입출력장치를 컴퓨터의 출구(입출력 포트)에 접속시킨다. 이 입출력포트는 입출력장치와 컴퓨터 보조시스템간의 경로를 제공한다.
또 모든 컴퓨터 시스템은 프로세서, 메모리, 특정 컴퓨터 시스템에 포함된 임의의 보조시스템 사이에 통신채널 또는 버스를 포함하고 있다는 사실이 잘 알려져있다. 대표적으로 컴퓨터시스템은 데이타를 메모리에 송수신하는 데이타 버스, 소정의 메모리 어드레스를 위치시키기 위하여 사용되는 신호를 전달하는 어드레스버스, 컴퓨터 시스템에 포함된 모든 보조시스템에 시간 및 제어펄스를 전달하는 제어버스를 구비하고 있다. 또 입출력 포트는 버스에 접촉되어 입출력장치를 컴퓨터 시스템에 연결시키고 있다.
정보는 데이타 워드의 형태로 컴퓨터 구성요소사이에 전달된다. 데이타워드는 순차적인 2진수 또는 비트이며, 각 비트는 1 또는 0 이다. 데이타 워드의 크기는 설계에 따라 컴퓨터 구성요소간에 다양하게 변할 수 있다. 가장 보편적인 데이타 워드의 길이는 8비트 내지 32비트이다. 일반적으로 상당한 고속 컴퓨터 시스템이 요구됨에 따라 데이타가 보다 큰 장치에서 처리되도록 데이타워드의 크기가 증가하고, 보다 많은 데이타 비트가 단위시간당 그 시스템을 통하여 이동된다. 예를 들면, 16비트 워드에 이용되는 프로세서 보조시스템이 몇년전만 해도 보편적이었으나 인텔사에서 제작한 80386, 80486 마이크로프로세서 등의 현재 기술상태의 프로세서 보조시스템은 데이타를 보다 고속도로 다루기 위하여 32비트, 소위 2배 단어구조를 이용하고 있다. 이와 유사하게 컴퓨터 시스템 메모리 보조시스템은 보다 고속의 엑세스를 위하여 64비트의 데이타, 즉 16비트의 4연속 단어 또는 32비트의 2연속 2배단어를 저장하고 다룰 수 있다.
컴퓨터 시스템을 형성시키도록 결합된 각 컴퓨터 보조시스템 및/또는 입출력장치는 특정수의 비트를 포함하는 단위로 데이타를 전송하도록 구성된다. 보조시스템 또는 입출력장치가 단일 단위로서 처리할 수 있는 비트수는 일반적으로 데이타폭이라고 말한다. 한쌍의 입출력장치 또는 하나의 입출력장치와 하나의 보조시스템 등 한쌍의 보조시스템은 동일한 데이타폭을 가지도록 구성되면, 두 보조시스템은 서로 동질(homogemeous) 또는 부합(match)된다. 수신장치가 엑세스하도록 설계된 동일한 크기의 단위로 송신장치가 데이타를 출력하면, 접속버스를 따르는 동질장치 사이의 데이타 전송은 비교적 간단하다. 그러나 만약 한쌍의 입출력장치 또는 입출력장치와 보조시스템등의 한쌍의 입출력장치가 다른 데이타폭을 가지도록 구성되면, 두 보조시스템은 서로 이질(heterogeneous) 또는 오부합(mismatch) 된다. 이질장치는 동일한 크기의 데이타 단위로 접속버스를 어드레스할 수 없기 때문에 이질장치 사이의 데이타 전송은 보다 복잡하다.
오부합된 보조시스템 및/또는 입출력장치로 구성된 컴퓨터시스템은 몇가지 이유로 인해 생겼다. 예를 들면, 상당히 큰 단위로 데이타를 전송할 수 있게한 기술적 진보는 종종 역대순으로 일정한 간격을 두고 있지 않기 때문이다. 따라서 현존 입출력장치는 기존의 8 또는16비트 프로세서 보조시스템과는 부합하는 반면, 새로운 32비트 프로세서 보조시스템과 접속되면 오부합될 것이다. 결국 오부합된 장치를 보상하는 방법이 없다면 보다 큰 단위의 데이타를 취급하는 개선된 보조시스템으로부터 생긴 컴퓨터 보조시스템의 연산속도를 계량시켜 이들을 얻기 위해서 시스템 설계자는 동일한 크기의 데이타 단위를 엑세스할 수 없는 모든 보조시스템과 입출력장치를 교환하지 않을 수 없을 것이다.
예를 들어, 그라치오더의 미합중국 특허 제4,716,527호에는 16비트 데이타버스로부터 데이타를 수신하고 데이타버스를 상·하위 부분으로 분할하는 버스 컨버터를 제공함으로써 8비트 데이타버스용으로 설계된 관련 소프트웨어와 주변장치, 확장장치에 적합한 16비트 데이타버스 마이크로프로세서를 만드는 장치에 관한 것이 기재되어 있다. 이때 하위부분과 상위부분은 8비트 데이타버스에 선택적으로 결합될 수도 있다. 즉, 16비트 워드가 마이크로프로세서로부터 8비트 광(wide) 외부장치로 전송되면 상·하위 부분은 선택적으로 8비트 광 외부장치로 결합된다.
광 데이타 버스(wider data bus)의 폭에 대응하는 폭을 갖는 데이타 레지스터와 적당한 순서로 데이타 레지스터의 다른 부분들을 한번에 협 데이타 버스(narrow data bus)에 접속하는 선택기회로(selector circuitry)에 의해 광 데이타버스를 협데이타 버스에 접속하여 만족스러운 연산을 제공하는 반면에 이러한 종류의 인터페이스 기구는 다른 응용으로 데이타의 이동에 병목현상을 발생시킬 수 있다. 특히, 다중 데이타 처리장치가 인터페이스 기구의 일면에 접속되고 인터페이스 기구 반대면의 데이타 처리장치가동시에 데이타 전송을 수행하도록 항상 준비되어 있는 것이 아닌 경우에 다중 데이타 처리장치중의 하나가 다른 다중 데이타 처리장치에 대한 데이타 전송의 완료를 대기하지 않으면 안될 때 지연이 발생할 수도 있다.
유사하게 단위디 2세의 미합중국 특허제4,309,754에는 다른 비트폭의 버스를 인터페이스하는 데이타 인터페이스 기구에 관한 것이 기재되어 있다. 데이타 바이트를 복수의 바이트 데이타 워드로 변환시키기 위하여 단위디 2세는 두개의 데이타버스와 제어신호를 발생시키는 어드레스 구조 사이에 위치된 복수의 RAM을 제공하였다. 협데이타 버스와의 계속적인 데이타 송수신을 위하여 일련의 여러 칩선정신호는 순서를 반복하여 차례로 여러 RAM을 선정하여 연속적인 데이터버스 전송을 행한다. 그러나 그라치오티처럼 단위디 2세는 엑세스순서를 반복함으로써 버스교환 인터페이스의 상대폭을 만들었다. 더욱이 단위디 2세의 회로에 의해 발생된 칩선정신호는 교환폭 인터페이스 차이간에 데이타를 전송할 수 없다.
본 발명의 제1태양으로는 8,16 또는 32비트 광 입출력장치에 의해 출력된 데이타를 32비트 광 데이타버스에 전달하는 데이타 인터페이스를 구비하는 디지탈컴퓨터시스템이 있다. 입출력장치의 폭에 따라 각 출력바이트는 제1, 제2, 제3 또는 제4 데이타 바이트중의 하나일 것이다. 데이타 인터페이스는 4의 래치와, 제1, 제2, 제3 또는 제4데이타 바이트 출력을 입출력장치로부터 각각 따로따로 상기 래치중 적어도 하나 이상의 입력부로 경로배정하기 위한 장치를 구비한다. 32비트 데이타워드는 래치의 출력부에서 축적되어 데이타 버스로 전송된다.
본 발명의 제2태양으로는 32비트 광 데이타버스에 의해 출력된 데이타를 8,16또는 32비트 광 입출력장치에 전송하는 데이타 인터페이스를 구비하는 디지탈 컴퓨터 시스템이 있다. 데이타인터페이스는 입출력장치의 폭과 같은 폭을 갖는 출력 드라이버장치, 데이타버스의 출력부와 연결된 적어도 하나 이상의 입력부와 출력 드라이버장치에 연결된 하나의 출력부를 구비하는 제1멀티플랙서, 데이타 버스의 출력부와 연결된 적어도 하나 이상의 입력부와 출력 드라이버장치에 연결된 하나의 출력부를 구비하는 제2멀티플랙서, 데이타 버스의 출력부와 출력 드라이버장치의 입력부 사이의 직접 접속부, 32비트 데이타 버스에 의해 출력된 각각의 제1, 제2, 제3 또는 제4 데이타 바이트를 출력드라이버 장치에 따로따로 경로배정하기 위한 장치를 구비한다.
본 발명의 제3태양으로는 입출력장치에 의해 출력된 8, 16 또는 32비트 광데이타를 32비트 데이타워드에 축적하고 32비트 광 데이타버스에 의해 출력된 데이타를 데이타 축적없이 8,16 또는 32비트 광 입출력장치에 전달함으로써 8,16 또는 32비트 광 입출력장치에 의해 출력된 데이타를 32비트 광 데이타버스에 전달하는 데이타 인터페이스를 구비하는 디지털 컴퓨터 시스템이 있다. 양방향 데이터 인터페이스는 제1, 제2, 제3 및 제4 래치 입출력장치로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트를 상기 래치중 하나의 입력부에 따로따로 경로배정하는 장치, 각 래치의 출력부에 경로배정된 데이타 바이트를 래치하고 그것에 의해 래치출력부에 32비트 데이타워드를 축적하는 장치, 축적된 32비트 데이타워드를 데이타버스에 전송하는 장치, 출력드라이버, 32비트 데이타 버스로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트를 축적없이 출력드라이버 장치에 따로따로 경로배정하는 장치를 포함한다.
본 발명의 제4태양으로는 오부합된 장치들간에 데이타 전송을 허용하는 컴퓨터 시스템이 있다. 이 컴퓨터 시스템은 프로세서 보조시스템, 메모리 보조시스템 및 상호접속 프로세서 버스를 포함하며, 이들 모두는 제1데이타폭의 데이타를 처리하도록 구성되어 있다. 또, 적어도 하나 이상의 입출력장치가 프로세서버스에 접속되어 제2데이타폭의 데이타를 처리하도록 구성되어 있다. 전송될 데이타폭을 수신장치나 버스의 폭과 부합하도록 조정함으로써 데이타는 다른 데이타폭의 장치 및/또는 보조시스템 사이에 전송될 수도 있다. 폭을 조정하기 위하여 송수신장치 또는 보조 시스템의 폭과 전달방향을 기포로하여 데이타버스가 전송되는 경로를 수정하는 제어장치를 준비한다.
총체적으로 요약하면 본발명은 각각의 데이타전송을 위한 하나의 코드 또는 순차적인 코드들로 데이타경로배정을 제어하는 한세트의 버스신호로 구성요소를 래치하고 경로배치하는 특정데이타를 바꾼다. 이들 데이타 경로배정 신호는 컴퓨터시스템에 의해 발생되는데, 이 컴퓨터시스템은 버스 인터페이스에서 최대 데이타폭을 가지고 경로배정 프로토콜을 수행하는 하나 이상의 장치를 포함하지 않으면 안 된다.
경로배정장치(routing device)와 비경로배정장치(non-routing device)간의 전송중에 경로배정장치의 버스 인터페이스 논리는 다른 장치와 하나 이상의 전송이 발생할 때 하나 이상의 경로배정 코드를 구현할 것이다. 두 개의 비경로배정장치 사이의 전송중에는 선택가능한 경로배정장치의 버스인터페이스장치는 두 개의 비경로배정장치가 오부합되어 경로배정을 필요로 하면 시스템을 위한 경로배정 서비스를 구현한다.
본 발명의 이점은 보다 적은 수의 구성요소가 요구된다는 점이다. 상향적으로 호환가능한 컴퓨터 시스템은 버스프로토콜의 공존하는 다중생성(multi-generation)을 지지한다. 만약 데이타 경로배정을 포함하는 프로토콜을 구현하는 입출력장치가 적당한 버스인터페이스를 갖는다면 경로배정 버스인터페이스 논리는 값싸게 완성될 수 있다.
본 발명의 목적은 데이타폭이 오부합되더라도 컴퓨터보조시스템과 입출력장치 데이타버스 간에 데이타가 전송될 수 있도록 상기 컴퓨터보조시스템과 입출력장치 데이타버스를 인터페이스하는 장치를 제공하기 위한 것이다.
본 발명의 다른 목적은 한 쌍의 오부합된 입출력장치간의 인터페이스뿐 아니라 컴퓨터보조시스템과 오부합된 입출력장치 컴퓨터 보조시스템과 오부합된 입출력장치 사이의 인터페이스를 구비하는 컴퓨터 시스템 프로세서 버스를 제공하기 위한 것이다.
첨부도면을 참고한 이하의 상세한 설명적으로 본 발명의 기타목적, 특징 및 이점을 보다 잘 이해할 수 있게 될 것이다.
첨부도면에서 동일한 참고번호는 전도면을 통하여 동일한 소자를 나타낸다. 제1도는 컴퓨터시스템의 일반적인 상위레벨 블럭도이다. 본 발명이 유용하게 이용될 수 있는 환경에서 본 발명의 역할 및 작용을 충분히 이해하고 평가할 수 있게 하기 위하여 처음에는 상위레벨에서 본 발명을 고려해보고 계속해서 보다 상세한 레벨에서도 고려해 보기로 한다.
제1도는 본 발명의 시스템을 이용한 퍼스널 컴퓨터를 도시한 것이다. 톱레벨(top level)에서 주인터페이스를 나타내는 4개의 주버스(main bus)가 도시되어 있다. 이들 주버스는 제1메모리 컨넥터(2), 제2메모리컨넥터(4), 프로세서버스(16) 및 입출력버스(20)이다. 제1메모리컨넥터(2)는 프로세서보조시스템(6) 전용인 제1메모리 보조시스템(10), 또한 프로세서 보조시스템(6) 전용인 제2메모리 보조시스템(12)사이의 전용 인터페이스이다. 제1메모리 보조시스템(10)과 제2메모리 보조시스템(12)은 하나는 홀수이고 하나는 짝수인 32비트 2배 단어를 저장하기 위하여 두 개의 관련뱅크를 구비한 64비트 인터리브 메모리로서 각각 구성되는 것이 바람직하다. 프로세서 보조시스템(6), 제1메모리 보조시스템(10) 및 제2메모리 보조시스템(12)은 메모리 인터페이스(3), (102), (5)에 의하여 각각 메모리 컨넥터(2)에 접속된다. 프로세서 보조시스템(6)은 또한 프로세서 인터페이스(11)에 의하여 프로세서 버스(16)에 접속된다.
제2메모리 컨넥터(4)는 제1컴퓨터보조시스템(8)과 제2컴퓨터보조시스템(14)사이의 전용 인터페이스이다. 각종 보조시스템은 전반적인 컴퓨터시스템에 요구되는 특정연산능력에 따라 컴퓨터 보조시스템(8,14)으로서 설치될 수 있는 것으로 기대된다. 예를 들어 컴퓨터 보조시스템(8)이 비록 후술할 목적을 위한 프로세서보조시스템 또는 입출력장치이더라도 프로세서(8)는 컴퓨터 보조시스템(8)으로서 선정될 것이다. 또 컴퓨터보조시스템(14)이 비록 후술할 목적을 위하여 프로세서보조시스템, 입출력장치 또는 메모리보조시스템이더라도 지능 입출력장치(14)는 컴퓨터 보조시스템(14)으로서 선정될 것이다. 각 컴퓨터보조시스템(8), (14)는 메모리컨넥터(4)에 접속하기 위한 메모리 인터페이스(7), (9)와 프로세서버스(16)에 접속하기 위한 프로세서 인터페이스(13), (15)를 구비하고 있다.
프로세서버스(16)는 입출력장치(18), 지능입출력장치(14) 및 입출력버스(20)를 경유하는 입출력확장슬롯(22, 24, 26, 28, 30, 32, 34, 36, 38, 40)을 포함하는 입출력장치와 처리보조시스템(프로세서(6)와 프로세서(8))사이의 구조적 브레이크인 다중 마스터버스이다. 프로세서버스(16)는 각종 기능을 수행한다. 우선, 프로세서버스(16)는 프로세서(6)과 (8)사이의 접속부로서의 역할을 하며, 또 지능입출력장치(14) : 제1메모리(10)과 제2메모리(12)을 포함하는 모든 시스템메모리와 : 입출력장치(18)와 입출력장치의 설치를 위하여 구성된 입출력확장슬롯(22, 24, 26, 28, 30, 32, 34, 36, 38, 40)을 포함하는 입출력장치 사이의 접속부로서의 역할을 한다.
상술한 바와 같이 프로세서버스(16)는 각 프로세서보조시스템(6,8)으로 하여금 다른 프로세서보조시스템의 메모리 보조시스템에 액세스하게 해준다. 이 액세스는 메모리에 직접 접속된 프로세서를 통하여 허용된다. 즉, 프로세서 버스(16)에 접속된 프로세서가 다른 프로세서의 메모리 위치로 액세스를 요구하면 다른 프로세서는 국부적으로 액세스를 완료하고 프로세서 버스(16)로부터 어드레스를 수신하며 프로세서 버스(16)와 데이타를 송수신한다. 또 프로세서 버스(16)는 프로세서(6)과 (8)사이의 통신링크로서의 역할을 한다. 프로세서간 통신기구를 통하여 각 프로세서는 다른 각 프로세서를 어드레스하고 인터럽트할 수 있다.
전술한 것 이외에도 프로세서 버스(16)는 프로세서메모리 컴플렉스와 입출력장치(18)사이의 인터페이스로서 작용한다. 시스템 버스콘트롤러(42)에 의해서 어드레스 및 데이타는 프로세서버스(16)와 입출력버스(20)사이에서 한세트의 송수신기(44), (46) (텍사스 인스트루먼트사 제조의 송수신기 모델 74ALS 245등)를 통하여 번역된다. 이 인터페이스에 의해서 프로세서 버스 마스터는 입출력확장슬롯(22, 24, 26, 28, 30, 32, 34, 36, 38, 40)뿐 아니라 입출력장치(18)를 액세스할 수 있다. 또 프로세서 버스(16)는 입출력부에서 입출력 액세스로의 데이타 경로로서 작용한다. 보다 상세히 후술하는 바와 같이 시스템 버스 콘트롤러(42)는 장치간 통신에 필요한 프로토콜을 포맷하고 입출력확장슬롯에 끼워지는 지능카드를 다른 입출력카드 또는 프로세서 버스 메모리에 액세스하게 하는 경로배정 코드(routing code)를 발생시킨다. 경로배정정보와 경로배정코드 발생을 제공하는 외에도 시스템 메모리 콘트롤러(42)는 모든 프로세서 버스(16)의 중재를 처리하고 시스템 입출력장치(18)에 모든 제어신호(ISA 명령, DMA 제어신호 및 인터럽트 등)를 인터페이스 한다.
제2도는 프로세서카드의 주요 구성요소의 블럭도이다. 제1도를 참고로 하면 이 프로세서보조시스템(6)은 메모리 컨넥터(2)와 프로세서 버스(16)에 의해 컴퓨터시스템의 나머지 부분과 인터페이스되는 것은 알 수 있다. 프로세서보조시스템(6)는 마이크로프로세서(48) (예를 들면 인텔사의 80386), 수치 코프로세서(50) (예를 들면, 인텔사의 80387), 선택적 코프로세서(52) (예를 들면, 웨이텍사의 3167), 캐시보조시스템, 클럭회로(54), POST ROM(Power On, Self Test, Read Only Memory)(56), 데이타흐름Ecc콘트롤러(58) 및 메모리 버스콘트롤러(60)을 포함한다.
캐시보조시스템은 두 개의 분리된 SRAM 뱅크(62A, 62B)와 캐시 콘트롤러(64) (예를 들면, 인텔사의 82385)로 도시된 캐시메모리를 포함한다. 관련기술자들에게 알려져있는 바와 같이 캐시보조시스템은 프로세서에 의해 가장 빈번하게 요구되는 데이타로의 고속 액세스를 제공하는 초고속 화판형 메모리(Sketchpad-like memory)로서의 기능을 한다. 본 발명의 시스템은 각 4개의 2배 단어의 캐시라인크기로 캐시메모리를 이용할 수 있으므로 캐시가능한 판독(Cacheable read)이 프로세서에 의해 만들어지면 메모리콘트롤러는 시스템메모리로부터 캐시로 4연속 2배단어를 복귀 시킨다.
캐시보조시스템의 작용은 1990. 7. 27. 출원되어 본 발명의 양수인에게 양도된 미합중국 특허출원 계속중인 일련번호 DC-00131호의 캐시 액세스와 병렬로 메모리 액세스를 수행하는 프로세서와 그것을 이용한 방법이란 제목의 특허출원서에서 보다 상세히 설명되어 있으나 참고로 본 명세서에 통합시켰다.
캐시(62A, 62B)를 구비한 시스템에 대해서, 필요하면 어드레스를 무효화하기 위하여 발생된 각 프로세서 어드레스를 포착하기 위하여 스누프 어드레스 래치(66)가 포함된다. 추가로 캐시메모리를 구비한 시스템에서 캐시(62A, 62B), 캐시콘트롤러(64) 및 메모리 버스 콘트롤러(60)사이를 통과하는 어드레스 신호와 제어신호를 제어하기 위하여 프로그램 가능한 배열논리(PAL : Programmable Array Logic)라인 확장논리(68)가 포함된다.
프로세서보조시스템은 또 마이크로프로세서(48), 코프로세서(50,52), 캐시(62A, 62B) 데이타흐름 ECC콘트롤러(58) 및 메모리버스 콘트롤러(60)를 상호접속하는 제2도에 여러 화살표로 표시된 지역 어드레스 데이타 제어버스를 포함한다. 이들 버스들은 POST ROM(56)판독, 코프로세서 사이클 및 캐시판독 히트(cache read hit)등의 지역사이클을 위해 이용된다. POST ROM(56)으로의 액세스는 데이타흐름 Ecc 콘트롤러(58)의 연산에 의해 달성될 수 있다. 그러나 캐시기록, 캐시판독미스, 캐시불가능 사이클 및 입출력사이클 등의 전역 사이클(flobal cycle)동안 프로세서보조시스템(6)은 그 액세스 오프보드(off board)를 완료하지 않으면 안 된다.
오프보드사이클 동안 메모리 버스 콘트롤러(6)는 지역 어드레스 신호와 제어신호를 디코드(decode)하며 액세스가 프로세서 버스(16)를 향할 것인지 전용메모리를 향할 것인지를 결정한다. 메모리사이클동안 메모리 버스콘트롤러(60)는 메모리카드를 액세스하기 위하여 메모리제어신호(즉, RAS, CAS 및 WE)와 어드레스를 발생시킨다. 메모리 버스 콘트롤러(60)는 또한 각 리프레쉬 기간(refresh period)동안 메모리카드, 예를 들면 소자(10)에 리프레쉬 신호를 발생시킨다. 메모리 버스 콘트롤러(60)와 관련하여 데이타흐름 ECC 콘트롤러(58) 또는 오류검사 및 정정을 수행한다. 오류검사 및 정정에 관해서는 1990. 4. 30. 출원되어 본 발명의 양수인에게 양도된 미합중국 특허출원제516,628호의 리인코더(Re-Encoder)에 통합된 비교기를 구비한 오류정정코드(ECC)시스템을 갖춘 디지탈 컴퓨터와 제516,894호의 최소화된 오류정정 불량 비트 디코더(minininzed Error Correction Bad Bit)및 제516,606호의 오류정정 증후군 인코드용의 공유논리등에 상세히 설명되어 있으며 참고로 본 명세서에 통합시켰다.
메모리카드를 향하지 않는 오프보드 사이클동안 메모리버스 콘트롤러(60)는 프로세서 버스요구신호를 발생시키고 프로세서버스가 허용될 때 프로세서버스(16)를 제어한다. 다시 데이타흐름 ECC 콘트롤러(58)와 관련하여 연구해 보면 메모리 버스 콘트롤러(60)는 프로세서버스(16)로의 액세스를 종료시킨다.
제3도는 메모리카드(10)의 주요구성요소의 블럭도이다. 제1도를 참고하면 메모리카드(10)는 메모리 컨넥터(2)에 의해 나머지 시스템에 인터페이스된다. 상술한 바와 같이 바람직하게는 각 메모리카드(10)는 하나는 홀수, 하나는 짝수인 32비트 2배 단어의 두 인터리브 뱅크의 형태로 실제 64비트의 단어를 저장하고 있다. 각 카드(10)는 RAS CAS 리프레쉬 콘트롤러(68), 4개의 어드레스 버퍼 (70, 72, 74, 76) 8개의 단일 인라인 메모리(SIMM : Single in-line memory)슬롯(78, 80, 82, 84, 86, 88, 90, 92), 4개의 인터리브 콘트롤러(94, 96, 98, 100)를 포함한다. 1990. 6. 19에 출원되어 본 발명의 양수인에게 양도되고 출원계속중인 미합중국 특허제07/540,049호 확장가능한 DRAM 메모리회로를 순차적으로 리프레쉬하는 시스템을 구비하는 디지탈컴퓨터에 보다 상세히 기재되어 있으며 참고로 본 명세서에 통합되어 있는 RAS CAS 리프레쉬 콘트롤러(68)는 메모리 인터페이스(102) (제1도 참고)로부터 제어신호를 수신하며, 메모리 버스 콘트롤러(60) (제2도 참고)에 의해 구동된다. 차례로 RAS CAS 리프레쉬 콘트롤러(68)는 판독, 기록, 리프레쉬를 위하여 제어신호를 SIMM 슬롯(78, 80, 82, 84, 86, 88, 90, 92)에 구동시킨다. 1990. 5. 25. 출원되어 본발명의 양수인에게 양도되고 출원계속 중인 미합중국 특허 제 07/530,137호 인터리브 DRAM 메모리 장치용의 2중경로 메모리 검색시스템에 보다 상세히 기재되어 있으며 참고로 본 명세서에 통합되어 있는 4개의 인터리브 콘트롤러(94)는 메모리 컨넥터(2)와 SIMM 슬롯(78, 80, 82, 84, 86, 88, 90, 92)사이에 있는 데이타의 8비트를 다중화시킨다.
이하에서보다 상세히 설명되는 바와 같이 참 인터리브(true interleaving)를 달성하기 위하여 데이타는 32비트 데이타의 짝수 뱅크와 홀수뱅크로 분할된다. 즉, 각각의 판독에 대하여 데이타의 64비트가 액세스되고, 4개의 인터리브 콘트롤러(94, 96, 98, 100)는 현재의 액세스동안 32비트(짝수데이타 또는 홀수데이타)를 선정한다. 후속액세스는 제2의 32비트 2배 단어가 이미 액세스되고 래치되어 있기 때문에 단일 프로세서 클럭사이클로 완료될 수 있다.
전술한 바와 같이 메모리카드(10)는 어드레스버퍼(70, 72, 74, 76)와 SIMM 슬롯(78, 80, 82, 84, 86, 88, 90, 92)을 포함한다. 예로서 VTC에 의해 제조된 모델 74FCT828, 74FCT827 데이타 버퍼가 어드레스버퍼(70, 72, 74,76)로서 사용될 수 있다. 역버퍼(74FCT828 버퍼)와 비역버퍼(74FCT827 버퍼)는 평균 어드레스라인 신호교환을 최소화하여 전기적 노이즈(noise)를 최소화하기 위하여 이용된다. SIMM 슬롯(78, 80, 82, 84, 86, 88, 90, 92)은 패리티를 가지는 1, 2, 4 또는 8MB SIMM 또는 ECC 기구를 수용하도록 적응될 수 있다.
입출력장치와 오부합된 프로세서버스 사이 또는 한 쌍의 오부합된 입출력장치 사이의 데이타를 경로배정하는 데이타 경로배정기술과 데이터 인터페이스 기술을 설명하기에 앞서 우선 제1도 내지 3도에 도시된 컴퓨터 시스템의 명확한 특성을 설명하지 않으면 안된다.
본 명세서에 기재된 컴퓨터시스템은 각 비트가 논리수 1 또는 0과 같은 값을 나타내는 경우에 데이타의 32비트 블럭의 단위로 정보를 처리한다. 이후 데이타의 각 32비트 단위는 데이타 워드(word)로서 언급된다. 이와 유사하게 데이타의 16비트 블럭은 하프워드(half word)로 정해지고 데이타의 8비트 블럭은 바이트로 칭해진다. 따라서, 각 32비트 워드는 두 개의 하프워드로 구성되며, 각 하프워드는 두 개의 바이트로 구성된다. 단지 정의를 위한 목적으로만 각 32비트를 구성하는 바이트와 하프워드는 다음과 같이 표시된다.
전술한 바와 같이 프로세서보조시스템(6, 8), 메모리 보조시스템(10, 12), 메모리컨넥터(2, 4), 프로세서버스(16)는 모두 데이타를 32비트워드로 처리하도록 구성되어 있다. 입출력장치는 가장 보편적으로는 8비트 또는 16비트의 단위로 데이타를 처리한다. 16비트 입출력장치에서 데이타전송은 하프워드 0인 동안이 발생하여 8비트 입출력장치에서 바이트 0인 동안에 데이타전송이 발생한다.
본 발명의 완벽한 이해를 위하여 바이트 인에이블(Byte Enable) 신호의 기념이 또한 언급되어야만 한다. 32비트 워드, 16비트 하프워드 및 8비트 바이트는 입출력장치와 프로세서버스(16)사이에서 전송되도록 되어 있다. 그렇게 하기 위하여 본 발명은 바이트가 데이타 그 자체의 단위인지 또는 하프워드나 워드 등 데이타의 보다 큰 블럭의 성분이든지 각 데이타 바이트의 경로배정을 제어한다. 따라서, 한 워드나 다른 단위 범위 내의 각 바이트의 전송은 제어되어야만 한다. 이하에서 보다 상세히 설명하는 바와 같이 데이타바이트의 전송은 바이트 인에이블신호라고 언급되는 일련의 신호에 의해 제어된다. 만약 특정 바이트용의 바이트 인에이블신호가 단정되면, 그 바이트는 바이트 인에이블신호가 단정되는 특정회로에 의해 전송된다. 따라서 각 데이타 바이트 BO, B1, B2, B3에 대해서는 적당한 회로로의 단정시에 대응데이타 바이트의 전송을 제어하는 대응 바이트 인에이블 신호 BE0, BE1, BE2, BE3가 있다.
이제 제4도를 참고로 하여 32비트 프로세서버스(16)(또는 프로세서(6)나 거기에 접속된 프로세서(8)등의 부합된 컴퓨터 구성요소)와 8, 16 또는 32비트 단위만으로 데이타를 처리하도록 구성된 입출력장치 사이의 데이타 전송을 허용하는 인터페이스장치 및 데이타 경로배정 기술을 보다 상세히 설명하기로 한다. 1990. 3. 7. 에 출원되어 본 발명의 양수인에게 양도되고 출원 계속중인 미합중국 특허제490,003호 멀티 마스터 버스 파이프 라이닝 실행장치 및 방법에 보다 상세히 기재되어 있는 바와 같이 프로세서 보조시스템(6)과 프로세서 보조시스템(8)은 프로세서버스(16)을 개재하여 입출력장치(18)등의 종속장치와의 정보송수신을 제어하는 버스마스터로서의 역할을 할 수 있다. 또 전술한 특허출원서에 기재된 바와 같이 두 프로세서 보조시스템(6), (8)이 동시에 계산을 수행할 수 있는 반면 하나만이 동시에 버스마스터일 수 있다. 버스마스터가 되기 위하여 프로세서보조시스템(6) 또는 (8)은 프로세서 버스(16)를 요구하여야만 하며 버스 마스터가 되기 위하여 프로세서 버스(16)로의 액세스가 허용되어야만 한다. 이때 프로세서(6, 8)는 의도된 트랜잭션(transaction)을 완료하고 버스를 포기하여야만 한다.
전술한 특허출원시에 기재된 바와 같이 시스템 버스 콘트롤러(42)는 두 개의 프로세서가 동시에 프로세서버스(16)를 요구하면 프로세서보조시스템(6)과 프로세서보조시스템(8)등의 두 개 이상의 요구프로세서 사이를 중재하는 중재기(arbiter)를 포함한다. 그 다음에 선정된 프로세서 보조시스템은 현재의 버스 마스터가 버스의 어드레스 라인을 해제하면 요구상태로부터 선정된 어드레스 마스터 상태로 이동할 것이다. 그리고 설정된 어드레스 마스터는 예를 들면 입출력장치 등의 종속장치를 어드레스하여 데이타 전송을 한다. 동시에 현재의 버스마스터는 현재의 데이타 마스터가 되며 데이타는 이미 어드레스된 지역으로 전송된다. 현재의 데이타 마스터가 버스의 데이타라인을 해제함을 표시하면 선정된 어드레스 마스터는 버스로부터 우휴상태로 전송되는 동안 현재의 데이타 마스터가 선정된 버스마스터가 된다. 그러므로 선정된 마스터가 어드레스마스터인 동안 현재의 마스터가 데이타마스터인 것이 분명하다. 가능한 단지 두 개의 마스터장치가 있는 경우에 두 장치중 하나가 항상 중재가 필요없는 마스터장치일 것이기 때문에 중재가 없다. 그러나 바람직한 실시예에서 중재기는 버스허용신호를 요구장치에 발생시키기 위하여 사용된다.
다시 제4도를 참고로하여 컴퓨터 보조시스템 및/또는 입출력장치 사이의 인터페이스와 본 발명의 주제인 상기 보조시스템 및/또는 입출력장치 사이의 데이타를 경로배정하는 기술을 설명하기로 한다. 특히 데이타 인터페이스와 8, 16, 24 또는 32비트(1, 2, 3 또는 4바이트)를 32비트(4바이트)프로세서 버스(16)에 처리하도록 구성된 오부합입출력장치(18)로부터 데이타를 경로배정하는 기술을 보다 상세히 설명하기로 한다.
프로세서 판독사이클중에 데이타는 종속입출력장치(18)로부터 프로세서 버스(16)를 개재하여 마스터 데이타프로세서 보조시스템(6)에 전송되도록 되어 있다. 이러한 사이클 도중에 종속입출력장치(18)는 종속입출력장치로부터 데이타폭에 대응하는 크기의 데이타 단위를 제1, 제2, 제2입력바이트 교체 멀티플렉서(또는 IS 멀티플렉서)(108,110,112) 및 입력래치(또는 IL)(114)에 전송한다. 입출력장치의 폭에 따라 각 데이타 단위는 8, 16 또는 32비트로 구성될 것이고, 비트 0-7의 각 그룹은 제1바이트 비트 8-15의 각 그룹은 제2바이트, 비트 16-23의 각 그룹은 제3바이트, 비트 24-31의 각 그룹은 제4바이트라고 한다.
각 IS 멀티플렉서(108, 110, 112)는 상기와 같은 복수의 바이트 그룹에 대응하는 종속입출력장치(18)에 의해 출력된 비트의 각 그룹을 수신하도록 출력 드라이버장치(106)에 접속된다. 특히 IS멀티플렉서(108)는 제1바이트 B0로서 지정된 종속 입출력 장치로부터 출력된 데이타 비트의 각 그룹과 제2바이트 B1로서 지정된 출력데이타 비트의 각 그룹을 수신하도록 구성되고, IS 멀티플렉서(110)는 제1바이트 B0와 제3바이트B2로서 지정된 데이타비트의 각 그룹을 수신하도록 구성되며, 마지막으로 IS 멀티플렉서(112)는 제1바이트그룹 B0, 제2바이트그룹 B1, 제4바이트그룹 B3로서 지정된 데이타 비트의 각 그룹을 수신하도록 구성된다.
각 IS 멀티플렉서(108), (110), (112)가 복수의 바이트 그룹을 수신하도록 구성된 반면 단 하나의 입력바이트 그룹만이 출력을 위한 특정 멀티플렉서에 의해 선정된다. 각 멀티플렉서에 의한 출력을 위한 입력바이트그룹의 선정은 시스템 버스 콘트롤러(42)에 의해 발생된 일련의 경로배정 코드(또는 RC)에 의해 제어되고 제1경로배정코드 디코더(104)에 송신된다. 제1경로배정 코드 디코더(104)는 시스템 버스 콘트롤러(42)에 의해 송신된 RC를 디코드하고, 수신된 특정 RC에 따라 출력을 위한 B0나 B1을 선정하기 위하여 바이트인에이블 신호 BE0나 BE1를 IS 멀티플렉서(108) 송신하고, 출력을 위한 B0나 B2를 선정하기 위하여 바이트 인에이블신호 BE0나 BE2를 IS 멀티플렉서(110)에 송신하고 출력을 위한 B0, B1, B2를 선정하기 위하여 바이트인에이블신호 BE0와 BE1 또는 바이트 인에이블신호 BE3를 IS 멀티플렉서(112)에 송신한다. 제1경로배정 코드 디코더에 의해 발생된 이러한 데이타 전송신호는 입출력장치(18)부터의 IOCLK 신호와 입출력장치(18)로부터 입력된 시간 이용 SCLK와 동기화된다.
입력래치(114)입력부가 출력드라이버장치(106)에 직접 접속되는 바와 같이 입력래치(116, 118, 120) 입력부는 IS 멀티플렉서(108, 110, 112)출력부에 접속되고, 시스템 버스 콘트롤러(42)에 의해 발생된 RC에 의해 제어된 바이트 B0, B1, B2, B3의 조합은 입력래치(114, 116, 118, 120)의 입력부에 각각 공급될 것이다.
시스템 버스 콘트롤러(42)는 또한 래치인에이블신호 LE1, LE2, LE3, LE4를 각각 래치(114), (116), (118), (120)에 발생시켜 래치(114, 116, 118, 120)의 입력부에 공급된 바이트 B0, B1, B2, B3의 특정조합을 래치시킨다. 출력을 래치함으로써 32비트(4바이트)데이타워드는 프로세서(6)로의 전송을 위한 입력래치(114, 116, 118, 120)의 출력부에 축적된다.
종속입출력장치로부터 프로세서버스(16)에 접속된 32비트 컴퓨터 보조시스템으로의 다른 데이타 전송 뿐만 아니라 프로세서 판독작업을 제어하기 위하여 시스템 버스 콘트롤러(42)에 의해 발생된 경로배정코드를 표 1에 나타내었다.
데이타 인터페이스가 비활성, 즉 어떠한 데이타도 전송되지 않으면 시스템 버스콘트롤러(42)는 경로배정코드 4를 발생시킨다.
경로배정코드는 IS 멀티플렉서(108, 110, 112)와 IL래치 (114, 116, 118, 120)모두를 인에이블(enable)시킨다. 이 시스템은 비활성이고 어떤 바이트 교체도 일어나지 않는다.
8비트 종속장치가 데이타를 32비트 프로세서버스(16)에 공급하고 컴퓨터보조시스템에 접속되면 시스템버스 콘트롤러(42)는 경로배정코드 5, 1, 3, 2를 순차적으로 발생시킴으로써 프로세서버스(16)의 각 사이클 도중에 4개의 서브-사이클(sub-사이클)을 발생시킨다. 표 1에서 알 수 있는 바와 같이 발생된 각 서브사이클은 입출력장치에 의해 출력된 제1바이트0을 프로세서버스(16)의 바이트 0에 래치되게 제어한다. 입출력장치에 의해 출력된 제2바이트 0은 프로세서 버스(16)의 바이트1에 래치되며, 제3바이트 0은 바이트3에, 제4바이트 0은 바이트4에 래치된다.
특히, 8비트 종속 입출력장치가 사용되면 입출력장치(14)로부터의 단일 바이트는 드라이버장치(106)에 입력된다. 드라이버장치(106)로부터의 출력부는 래치(114)에 직접 접속되며, IS 멀티플렉서(108, 110, 112)의 B0입력부에 접속된다. 제1입출력서브사이클(RC=05)동안 경로배정 코드 디코더(104)는 인에이블신호를 입력래치에 공급하고, 그렇게 함으로써 입출력장치의 출력을 래치(114)에 래치하고 입출력장치(18)의 바이트0을 프로세서버스의 바이트0에 위치시킨다. 제2입출력 서브사이클(RC=01)동안 경로배정코드디코더(104)는 IS 멀티플렉서(108)의 출력부를 B0입력부에 교환하는 멀티플렉서(108)에 바이트 인에이블신호를 공급하고, 인에이블신호를 입력래치(116)에 공급함으로써 제2서브사이클 도중에 입출력장치(18)의 출력을 래치(116)에 래치하고 입출력장치(18)의 다음 바이트0을 프로세서 버스의 바이트1에 위치시킨다. 이와 유사하게 제3입출력 서브사이클(RC=03)동안 경로배정코드 디코더(104)는 바이트 인에이블신호를 IS 멀티플렉서(110)에 공급하고, 제3입출력 서브사이클 동안에 래치(118)를 제3서브사이클 입출력장치 출력에 래치하고 입출력장치(18)로부터의 다른 바이트0을 프로세서버스의 바이트3으로 위치시키기 위하여 인에이블 신호를 입력래치(118)에 공급한다. 마지막으로, 제4입출력서브사이클(RC=02)동안 경로배정 코드 디코더(104)는 바이트 인에이블 신호를 IS 멀티플렉서(112)에 공급하고 인에이블신호를 입력래치(120)에 공급함으로써 입력래치(120)를 제4입력 서브사이클 출력에 래치하고, 입출력장치(18)로부터의 다음 바이트 0을 프로세서버스의 바이트0에 위치시킨다.
16비트 입출력장치가 프로세서버스에 접속되면 16비트 보조시스템과 32비트 데이타버스를 부합시키기 위해 필요한 어떠한 추가적인 회로도 불필요하게 된다. 16비트 입출력장치는 프로세서버스 사이클동안 2입출력 서브사이클을 가질 것이다.
이러한 구성에서 시스템 버스 콘트롤러(42)는 제1입출력 서브사이클동안 제1경로배정코드는 제2입출력 서브사이클 동안에는 제2경로배정코드를 발생시켜 경로배정코드 디코더(104)에 송신한다. 제1입출력 서브사이클(RC=07)동안 바이트 인에이블신호는 IS 멀티플렉서(108)에 송신되고, 래치인에이블신호는 래치(114, 116)에 전송된다. 이와 같이 입출력장치(18)에 의해 출력된 제1하프워드의 바이트 B0는 래치(114)에 의해 래치되며, 입출력장치(18)에 의해 출력된 제1하프워드의 바이트 B1는 BE1신호의 수신시에 IS 멀티플렉서(108)가 바이트 B1을 래치(116)에 출력하면 IS 멀티플렉서(108)의 B1입력에서 제공된다. 제2하프워드는 입출력장치(18)에 의해 전송되며 제2입출력 서브사이클(RC=06)동안 프로세서워드의 상부바이트에 래치된다. 제2입출력 서브사이클동안 바이트 B0는 래치(114)의 입력부와 IS 멀티플렉서(110), (112)의 B0입력부로 출력된다. 이 기간동안 경로배정 코드디코더(104)는 바이트 인에이블신호 BE를 IS 멀티플렉서(110)에 발생시킴으로써 바이트 B0가 IS 멀티플렉서(110)에 제공되도록 멀티플렉서를 교환한다. 또 경로배정 코드 디코더(104)는 래치인에이블 신호 LE2를 래치(118)에 송신함으로써 래치(118)의 출력을 바이트 B0에 래치한다. 제2서브사이클의 제2하프동안 경로배정 코드디코더(104)는 바이트 인에이블신호 BE1을 IS 멀티플렉서(112)에 송신함으로써 바이트 B101이 IS 멀티플렉서(112)의 출력부에 제공되도록 멀티플렉서를 교환한다. 또 경로배정 코드 디코더는 래치인에이블 신호 LE3를 래치(120)에 송신함으로써 래치(12)의 출력을 바이트 B1에 래치한다.
32비트(4바이트)입출력장치(18)가 프로세서버스(16)에 접속되면, 입출력장치와 프로세서 버스(16)는 부합되며, 경로배정코드는 입출력장치(18)로부터 출력된 32비트의 스티어링(steering)을 수정하기 위하여 다시 변경되지 않으면 안된다. 또 어떠한 추가회로도 불필요하다. 부합된 구조에서 시스템 버스 콘트롤러(42)의 경로배정코드 발생장치는 단일 경로배정 코드 RC=00을 발생시켜 경로배정코드 디코더(104)에 전송한다. 데이타 전송중에 바이트 B0는 래치(114)와 IS 멀티플렉서(108, 110, 112)의 B0 입력부에 공급된다. 바이트 B1은 IS 멀티플렉서(108, 112)의 B1 입력부에, 바이트 B2는 IS 멀티플렉서(110)의 B2 입력부에, 그리고 바이트 B3는 IS 멀티플렉서(112)의 B3 입력부에 공급된다. 경로배정코드디코더(104)는 바이트인에이블신호 BE1을 IS 멀티플렉서(108)에, 바이트인에이블 신호 BE2를 IS 멀티플렉서(110)에, 그리고 바이트인에이블신호 BE3를 IS 멀티플렉서(112)에 전송함으로써 바이트 B1, B2, B3가 IS 멀티플렉서(108), (110), (112)에 각각 공급되도록 IS 멀티플렉서(108, 110, 112)를 교환한다. 또 경로배정코드 디코더(104)는 래치 인에이블 신호 LE0을 래치(114)에, LE1을 래치(116)에, LE2를 래치(118)에, 그리고 LE3를 래치(120)에 전송함으로써 래치(114, 116, 118, 120)의 출력을 바이트 B0, B1, B2, B3에 각각 래치한다.
입출력장치(18)로부터 프로세서 보조시스템(6)등의 컴퓨터 보조시스템에 데이타를 차례로 전송하는 프로세서버스(16)에 데이타를 경로배정하는 것을 설명하였지만, 이하에서는 프로세서버스(16)에서 입출력장치(18)로의 데이타 경로배정을 설명하기로 한다. 기록작업중에 프로세서 보조시스템(6)으로부터의 데이타는 래치(122)에 입력된다. 메모리보조시스템(10)이 인터리브되기 때문에 메모리 작업으로부터의 기록중 메모리보조시스템(10)으로부터의 데이타는 짝수 래치(124), 홀수래치(126)에 제공된다. 일단 시스템 버스콘트롤러(42)에 의해 전송된 각각의 래치 인에이블 신호(도시되지않음)에 의해 인에이블 되면 데이타래치(122, 124, 126)로부터의 출력은 멀티플렉서(128)에 각각 입력으로서 공급된다. 실행될 기록작업의 종류에 따라 교환신호(switching signal)는 멀티플렉서에 입력되어 메모리 보조시스템(10)이나 프로세서보조시스템(6)으로부터의 데이타가 래치(130)의 입력부에 출력되도록 멀티플렉서(128)를 교환한다.
각각의 메모리 또는 프로세서 기록작업중에 도시되지 않은 래치 인에이블 신호는 래치(130)에 공급되어 메모리 보조시스템(10)이나 프로세서보조시스템(10)으로부터 멀티플렉서(134)의 제1입력부로의 데이타에 출력을 래치한다. 그리고 제2경로배정 코드디코더(132)는 교환신호를 멀티플렉서(134)에 송신하여 멀티플렉서(134)의 출력부는 래치(130)에 접속된 입력부와 교환한다. 이러한 방식으로 멀티플렉서(134)는 프로세서나 보조시스템(6) 또는 메모리보조시스템(10)으로부터 전송되도록 된 32비트 데이타워드를 8,16 또는 32비트의 데이타폭을 갖는 입출력장치에 출력한다. 그렇게 하기 위하여 멀티플렉서(134)의 출력은 제1출력바이트 교체(OS)멀티플렉서(136)와 제2OS멀티플렉서(138)에 접속된다. 바이트 B0는 제1입력으로서 OS멀티플렉서(136)에, 바이트 B1을 제2입력으로서 OS 멀티플렉서(138)에 그리고 제1입력으로서 OS멀티플렉서(136)에, 바이트 B2는 제3입력으로서 OS멀티플렉서(138)에 그리고 제1입력으로서 제1, 제2, 제3, 제4 출력드라이버(140a, 140b, 140c, 140d)를 포함하는 출력드라이버장치(140)에, 바이트 B3는 제4입력으로서 OS멀티플렉서(138)에 제2입력으로서 OS멀티플렉서(136)에 그리고 제2입력으로서 출력드라이버 장치(140a-140d)에 제공된다.
멀티플렉서(136, 138)의 출력은 출력드라이버장치(140a-140d)에도 입력된다.
제2경로배정 코드 디코더(132)는 시스템버스 콘트롤러(42)로부터 신호를 수신하며 특정기록작업(예를 들면 32비트 컴퓨터 보조시스템으로부터 8, 16 또는 32비트 입출력장치로)에 필요한 바이트교체를 달성하기 위해 필요할 때에는 바이트인에이블 신호 BE0-BE3는 OS멀티플렉서(138)에, 바이트인에이블신호 BE1과 BE3는 OS멀티플렉서(135)에, 인에이블링신호 OD는 출력드라이버장치(140a-140d)에 송신한다. 각종 기록작업을 성공적으로 완성시킬 경로배정코드, 바이트인에이블신호 및 출력드라이버인에이블신호를 표 2에 기록하였다.
8, 16, 32비트 입출력장치와 32비트 프로세서버스(16)에 접속된 32비트 컴퓨터보조시스템 사이의 데이타 경로배정에 관한 설명을 하였지만, 프로세서버스(16)을 경유하는 한 쌍의 8, 16 또는 32비트 입출력장치간의 데이타를 경로배정하기 위하여 본명세서에 기재된 기술에 관하여 필요한 수정으로 특별한 관심을 기울여 보기로 한다. 입출력전송에 관한 입출력에서 하나의 입출력은 입출력버스 마스터와 다른 입출력버스 종속장치에 의해 지정되어야만 한다. 종속입출력장치와 마스터 입출력장치간의 데이타를 경로 배정하기 위하여 데이타는 우선 종속 입출력장치로부터 프로세서버스(16)와 마스터 입출력장치(14)로 전송된다. 전송중에 종속입출력장치(18)는 그 폭에 대응하는 크기의 데이타 단위를 종속입출력장치(18)로부터 제1, 제2, 제3 IS 멀티플렉서(108, 110, 112)와 IL래치(114)에 송신한다. 입출력장치의 폭에 따라 각 데이타 단위는 8,16또는 32비트가 될 것이다. 여기서 비트 0 - 7의 각 그룹은 제1바이트 비트 8-15의 각 그룹은 제2바이트, 비트 16-23의 각 그룹은 제3바이트, 비트 24-31의 각 그룹은 제4바이트이다.
각각의 IS 멀티플렉서(108), (110), (112)는 각각의 IS 멀티플렉서(108), (110), (112)가 상기 지정된 복수의 바이트그룹에 대응하는 종속 입출력장치(18)에 의해 출력된 각 비트 그룹을 수신하도록 출력드라이버장치(106)에 접속된다. 특히 IS 멀티플렉서(108)는 제1바이트로서 지정된 종속 입출력장치(18)로부터 출력된 데이타비트의 각 그룹과 제2바이트 B1로서 지정된 출력 데이타비트의 각 그룹을 수신하도록 구성된다.
멀티플렉서(110)는 제1바이트 B0 또는 제3바이트 B2로서 지정된 데이타비트의 각 그룹을 수신하도록 구성된다. 마지막으로 IS 멀티플렉서(112)는 제1바이트 그룹 B0, 제2바이트 그룹 B1, 제4바이트그룹 B3으로 지정된 데이타비트의 각 그룹을 수신하도록 구성된다.
각 IS 멀티플렉서(108), (110), (112)가 복수의 바이트그룹을 수신하도록 구성되는 반면, 입력 바이트그룹중 단 하나만이 출력용의 특징 멀티플렉서에 의해 선정된다. 각각의 멀티플렉서에 의한 출력에 대한 입력 바이트그룹의 선정은 시스템 버스콘트롤러(42)에 의해 발생된 일련의 경로배정코드(또는 RC)에 의해 제어되고 제1경로배정 코드 디코더(104)에 송신된다. 제1경로배정코드 디코더(104)는 시스템 버스 콘트롤러(42)에 의해 송신된 RC를 디코드하고, 수신된 특정 RC에 따라 출력을 위한 B0나 B1을 선정하기 위하여 바이트 인에이블신호 BE0나 바이트 인에이블신호 BE1을 IS 멀티플렉서(108)에 송신하고, 출력을 위한 B0, B1 또는 B3를 선정하기 위하여 바이트 인에이블신호 BE0, BE1나 바이트 인에이블신호 BE3를 IS 멀티플렉서(112)에 송신한다. 제1경로배정 코드 디코더에 의해 발생된 이러한 데이타 전송신호는 종속 입출력 장치(18)로부터의 IOCLK 신호와 시간이용 SCLK 입력과 동기화된다.
입력래치(114) 입력부는 출력드라이버 장치(106)에 접속되고 입력래치(116, 118, 120)입력부는 IS 멀티플렉서(108, 110, 112)에 각각 접속되기 때문에 시스템 비스콘트롤러(42)에 의해 발생된 RC에 의해 제어된 바이트 B0, B1, B2, B3의 조합은 각각 입력 래치(114, 116, 118, 120)에 각각 공급될 것이다. 시스템 버스 콘트롤러(42)는 레치인에이블신호 LE1, LE2, LE3, LE4를 래치(114), (116), (118), (120)에 각각 발생시켜 래치(114, 116, 118, 120)의 입력부에 공급된 바이트 B0, B1, B2, B3의 특정조합을 래치의 출력부에 래치한다.
종속 입출력장치(18)로부터 마스터 입출력장치(14)로의 최종적인 데이타 전송의 부분으로서 종속입출력장치(18)로부터 32비트 프로세서버스로의 데이타 전송을 제어하기 위하여 시스템 버스 콘트롤러(42)에 의해 발생된 경로배정코드를 표 3에 나타내었다.
8비트 종속장치가 데이타를 마스터 종속장치에 전송하는 일부로서 32비트 프로세서버스(16)에 공급하면, 시스템 버스 콘트롤러(42)는 프로세서버스(16)의 각 사이클동안에 순차적으로 경로배정코드 15, 11, 13, 12를 발생시킴으로써 4개의 서브사이클을 발생시킨다. 상기표로부터 알 수 있는 바와 같이 발생된 각 서브사이클은 종속 입출력 장치(18)에 의해 출력된 제1바이트 0을 프로세서버스(16)의 바이트0에 래치하는 것을 제어한다. 종속입출력장치(18)에 의해 출력된 제2바이트0은 프로세서 버스(16)의 바이트1에, 제3바이트 0을 바이트3에, 그리고 제4바이트 0은 바이트4에 래치된다.
특히, 8비트 종속 입출력장치가 사용되면, 종속 입출력장치(18)로부터의 단일 바이트는 드라이버장치(106)에 입력된다. 드라이버장치(106)로부터의 출력은 래치(114)에 직접 접속되고, 멀티플렉서(108, 110, 112)의 입력부에 각각 접속된다. 제1입출력서브사이클(RC=15)동안에 경로배정코드 디코더(104)는 인에이블링신호를 입력래치(114)에 공급함으로써 종속 입출력장치(18)의 출력을 래치(114)에 래치하고 종속입출력장치(18)의 바이트 0을 프로세서버스의 바이트0에 위치시킨다. 제2입출력 서브사이클(RC=11)동안에 경로배정 코드 디코더(104)는 IS 멀티플렉서(108)의 출력부를 B0입력부로 교환하는 IS 멀티플렉서(108)에 바이트 인에이블 신호를 공급함으로써 제2서브사이클동안 종속입출력장치(18)의 출력을 래치(116)에 래치하고 종속입출력장치(18)의 다음 바이트 0을 프로세서 버스의 바이트1에 위치시킨다.
제3입출력서브사이클(RC=13)동안에 경로배정 코드디코더(104)는 바이트 인에이블신호를 IS 멀티플렉서(110)에 공급하고 제3입출력서브 사이클동안 인에이블링신호를 입력래치(118)에 공급하여 래치(118)를 제3서브사이클 입출력장치 출력부에 래치하고 종속입출력장치(18)로부터의 다음 바이트 0을 프로세서 버스의 바이트3에 위치시킨다. 마지막으로 제4입출력 서브사이클(RC=12)동안 경로배정코드 디코더(104)는 바이트 인에이블신호를 멀티플렉서(112)에 그리고 인에이블링 신호를 입력래치(120)에 공급함으로써 입력래치(120)를 제4입출력서브사이클 출력부에 래치하고 종속입출력장치(18)로부터의 다음 바이트0을 프로세서버스의 바이트0에 위치시킨다.
16비트 종속 입출력장치가 데이타를 마이터 입출력장치(18)로 전송하는 것의 일부로서 32비트 프로세서버스(16)에 공급하면, 16비트 종속입출력장치는 종속 입출력장치가 프로세서버스(16)로 전송하는 동안 두 입출력서브사이클을 가지게 될 것이다. 이러한 구성에서 시스템 버스콘트롤러(42)는 제1입출력 서브사이클 동안에는 제1경로배정코드를 제2입출력 서브사이클 동안에는 제2경로배정 코드를 발생시켜 경로배정코드디코더(104)에 전송한다. 제1입출력서브사이클(RC=17)동안 바이트 인에이블신호는 IS 멀티플렉서(108)에 전송되고, 래치 인에이블신호는 래치(114, 116)에 전송된다. 따라서 종속입출력 장치(18)에 의해 출력된 제1하프워드의 바이트 B0는 래치(114)에 의해 래치되고 종속입출력장치(18)에 의해 출력된 제1하프워드의 바이트 B1은 BE1신호의 수령시에 IS 멀티플렉서(108)가 바이트B1을 래치를 위하여 래치(116)에 출력하는 경우 IS 멀티플렉서(108)의 B1입력부에 제공된다. 제2하프워드는 제2입출력서브사이클(RC-16)동안 종속입출력장치(18)에 의해 전송되고 프로세서 워드의 상위 바이트에 래치된다. 제2입출력서브사이클동안 바이트 B0는 래치(114)의 입력부와 IS 멀티플렉서(110, 112)의 B0 입력부에 출력된다. 이 기간동안 경로배정코드 디코더(104)는 바이트 인에이블 신호를 IS 멀티플렉서(110)에 발생시킴으로써 바이트 B0가 IS 멀티플렉서(110)의 출력부에 공급되도록 멀티플렉서를 교환한다. 또 경로배정코드 디코더(104)는 래치 인에이블신호 LE2를 래치(118)에 송신함으로써 래치(118)의 출력을 바이트 B0에 래치한다. 제2서브사이클의 후반부동안 경로배정 코드 디코더(104)는 바이트인에이블신호 BE1을 IS 멀티플렉서(112)에 송신함으로써 바이트 B1이 IS 멀티플렉서(112)의 출력부에 공급되도록 멀티플렉서를 교환한다. 또 경로배정 코드 디코더(104)는 래치인에이블신호 LE3를 래치(120)에 손상함으로써 래치(120)의 출력부를 바이트에 래치한다.
32비트(4바이트)종속 입출력장치(18)가 입출력장치 데이타 전송을 마스터하기 위하여 종속 입출력장치용의 프로세서버스(16)에 접속되면, 입출력장치와 프로세서버스(16)는 부합되고, 경로배정코드는 입출력장치로부터 출력된 32비트의 스티어링을 수정하기 위하여 다시 교환 되어야만 한다. 부합된 구성에서 시스템 버스 콘트롤러(42)의 경로배정 코드발생장치는 단일 경로배정코드 RC=10을 발생시켜 경로배정코드 디코더(104)에 송신한다. 데이타 전송중에 바이트 B0는 래치(114)와 IS 멀티플렉서(108, 110, 112)의 B0 입력부에 공급된다. 바이트 B1은 IS 멀티플렉서(108, 112)의 B0 입력부, 바이트 B2는 IS 멀티플렉서(110)의 B2입력부, 그리고 바이트B3는 IS 멀티플렉서(112)의 입력부에 공급된다. 경로배정 코드 디코더는 바이트인에이블신호 BE1은 IS 멀티플렉서(108)에, 바이트인에이블신호 BE2는 IS 멀티플렉서(110)에, 그리고 바이트인에이블 신호 BE3는 IS 멀티플렉서(11)에 송신함으로써 바이트 B1, B2, B3가 IS 멀티플렉서(108), (110), (112)의 출력부에 각각 제공되도록 IS 멀티플렉서(108), (110), (112)의 출력부에 각각 제공되도록 IS 멀티플렉서(108), (110), (112)를 교환한다. 또 경로배정 코드 디코더(104)는 래치 인에이블신호 LE0를 래치(114)에, LE1을 래치(116)에 LE2를 래치(118)에 그리고 LE3를 래치(120)에 송신함으로써 래치(114, 116, 118 120)의 출력을 바이트 B0, B1, B2, B3에 래치한다.
종속입출력장치에서 마스터 입출력장치로의 데이타 전송을 설명하는 동안 종속 입출력장치(18)로부터 프로세서버스(16)로의 데이타 경로배정이 설명되었지만, 이제 프로세서 버스(16)로부터 마스터 입출력장치(14)로의 데이타 경로배정을 설명하기로 한다. 프로세서버스(16)로부터 마스터입출력장치(14)로의 데이타 경로배정은 전술한 경로배정 기술과는 상당히 다르다. 여기에서 마스터 입출력장치(14)로의 원하는 전송에 필요한 특정 바이트 교체에 따라 프로세서버스(16)에 전송된 데이타는 래치(114, 116, 118, 120)의 입력부를 멀티플렉서(134)의 제2입력부에, 래치(114, 116, 118, 120)의 출력부를 멀티플렉서(134)의 제3입력부에 접속함으로써 입력래치(114, 116, 118, 120)의 래치된 쪽과 래치되지 않은 쪽 양쪽으로부터 경로배정될 것이다. 마스터 입출력장치(14)로 데이타를 경로배정하는 동안 제2경로배정 코드 디코더(132)는 멀티플렉서(134)의 출력을 래치된 데이타나 래치되지 않은 데이타에 접속하기 위하여 교환신호를 멀티플렉서(134)에 송신함으로써 경로배정을 위한 래치된 데이타나 래치되지 않은 데이타를 설정할 것이다. 그리고 멀티플렉서(134)에 의해 출력된 데이타를 마스터 입출력장치(14)에 경로배정하는 것은 래치된 데이타와 래치되지 않은 데이타에 대하여 따로따로 처리될 것이다.
래치되지 않은 데이타를 프로세서버스(16)로부터 마스터 입출력장치(14)로 전송하기 위하여 제2경로배정 코드 디코더(132)는 시스템 버스 콘트롤러(42)로부터 표 4에 따르는 RC신호를 수신한다.
멀티플렉서(134)의 출력부는 제1 OS멀티플렉서(136)와 제2 OS멀티플렉서(138)에 접속되어 있기 때문에 바이트 B0는 제1입력으로서 OS 멀티플렉서(138)에, 바이트 B1은 제2입력으로서 OS 멀티플렉서(138)에 제1입력으로서 OS 멀티플렉서(136)에, 바이트B2는 제3입력으로서 OS 멀티플렉서(138)에 제1입력으로서, 제1, 제2, 제3, 제4출력 드라이버(140a, 140b, 140c, 140d)를 포함하는 출력드라이버장치(140)에, 그리고 바이트B3는 제4입력으로서 OS 멀티플렉서(138)에 제2입력으로서 OS 멀티플렉서(136)에 제2입력으로서 출력 드라이버장치(140a-140d)에 제공된다. 또, OS 멀티플렉서(136, 138)의 출력은 출력드라이버장치(140a-140d)에 입력된다.
시스템 버스 콘트롤러(42)로부터 수신된 RC 신호에 반응하여 제2경로배정코드 디코더(132)는 바이트 인에이블신호 BE0는 IS 멀티플렉서(108, 110, 112)에, BE1은 IS 멀티플렉서(108, 112)에, BE1는 IS 멀티플렉서(110)에, 그리고 BE2는 IS 멀티플렉서(112)에 송신하므로 래치되지 않은 원하는 데이타는 멀티플렉서(134)를 경유하여 OS 멀티플렉서(136, 138)에 입력될 것이다. 제2경로배정코드 디코더(132)는 특정데이타 전송, 예를 들어 8, 16 또는 32비트 종속 입출력장치(18)에서 8, 16, 또는 32비트 마스터 입출력장치(14)로의 전송을 위하여 래치(114, 116, 118, 120)의 래치되지않은 쪽으로부터의 전송에 필요한 바이트교체를 달성하기 위하여 바이트 인에이블신호 BE1, BE2, BE3는 OS 멀티플렉서(136)에, BE3는 OS 멀티플렉서(138)에, 그리고 출력드라이버 인에이블링신호 ODE는 출력드라이버(140a-140d)에 전송한다.
래치된 데이타를 프로세서버스(16)로부터 마스터 입출력장치(14)로 전송하기 위하여 제2경로배정코드 디코더(132)는 시스템 버스콘트롤러(42)로부터 표 5에 따라 RC신호를 수신한다.
멀티플렉서(134)의 출력부는 제1 OS 멀티플렉서(136)와 제2 OS멀티플렉서(138)에 접속되어 있기 때문에 바이트 BO는 제1입력으로서 OS멀티플렉서(138)에, 바이트 B1은 제2입력으로서 OS멀티플렉서(138)에 제1입력으로서 OS멀티플렉서(136)에, 바이트 B2는 제3입력으로서 OS멀티플렉서(138)에 제1입력으로서 제1, 제2, 제3, 제4출력 드라이버(140a, 140b, 140c, 140d)를 포힘하는 출력드라이버장치(140)에 그리고 바이트 B3는 제4입력으로서 OS멀티플렉서(138)에 제2입력으로서 OS멀티플렉서(136)에 제2입력으로서 출력드라이버장치(140a-140d)에 제공된다. OS멀티플렉서(136, 138)의 출력은 또 출력드라이버장치(140a-140d)에 입력된다.
시스템 버스 콘트롤러(42)로부터 수신된 RC 신호에 반응하여 제2경로배정 코드 디코더(132)는 특별한 데이타전송, 예를 들어 8,16 또는 32비트 종속 입출력장치로부터 8, 16 또는 32비트 마스터 입출력장치(14)로의 데이타 전송에 대하여 래치(114, 116, 118, 120)의 래치된 쪽으로부터의 전송에 필요한 바이트교체를 달성하기 위하여 필요한 때 바이트인에이블 신호 BE1, BE3는 OS멀티플렉서(136)에 BE0, BE1, BE2, BE3는 OS멀티플렉서(138)에 그리고 출력 드라이버 인에이블링 신호 OD는 출력드라이버장치에 송신한다.
본 발명의 상술한 설명으로부터 알 수 있는 바와 같이 32비트 프로세서버스와 8, 16 또는 32비트 입출력장치 사이에는 상기 입출력장치와 32비트 컴퓨터 시스템간에 전송되는 데이타 바이트의 경로배정을 수정함으로써 상기 입출력장치와 컴퓨터 시스템 사이의 데이타 전송을 위해 이용될 수 있는 인터페이스가 구비되어 있다. 상술한 설명으로부터 보다 잘 알 수 있는 바와 같이 상기 인터페이스는 8,16 또는 32비트 입출력장치와 제2의 8, 16 또는 32비트 입출력장치 사이에 전송되는 데이타 바이트의 경로배정을 수정함으로써 상기 두 입출력장치간의 데이타전송을 위하여 사용될 수 있다. 부합된 장치뿐만 아니라 오부합된 장치들의 조합간에 데이타전송을 하기 위하여 하나의 인터페이스가 구비된다. 그러나 당해분야의 기술자들은 본명세서에 특별히 기재될 것 이외에도 본 발명의 개념을 실제로 형성하고 있는 기술로부터 벗어나지 않고 많은 수정과 변경을 가할 수 있음을 인식하고 있다. 따라서 본 명세서에 기재된 본 발명의 형태는 단지 대표적인 것에 불과하며 본 발명의 개요를 제한하기 위해 의도된 것이 아님을 분명하게 이해하여야 한다.
Claims (34)
- 8, 16 또는 32비트 광 입출력장치에 의해 출력된 데이타를 32비트 데이타워드에 축적시킴으로써 상기 광입출력장치에 의해 출력된 데이타단위를 32비트 광 데이타버스에 전송하는 데이타 인터페이스를 구비하며, 다음의 구성요소를 포함하는 디지탈 컴퓨터 시스템. 가) 각각 하나의 입력부와 출력부를 구비하는 제1, 제2, 제3, 제4래치. 나) 상기 입출력장치로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트를 상기 래치들 중 1래치의 입력부에 따로따로 경로배정하는 장치. 다) 상기 각 래치의 입력부에 경로배정된 상기 데이타 바이트를 래치함으로써 상기 32비트 데이타워드를 상기 래치 출력부에 축적하는 장치. 라) 상기 축적된 32비트 데이타워드를 상기 데이타버스에 전송하는 장치.
- 제1항에 있어서, 상기 입출력장치로부터의 상기 제1, 제2, 제3, 제4데이타 바이트 출력을 상기 래치중 하나의 래치의 입력부에 따로따로 경로배정하는 상기 장치는 상기 입출력장치에 의해 출력된 데이타 단위의 폭에 기초하여 상기 제1, 제2, 제3, 제4데이타 바이트 출력을 선택적으로 경로배정하는 장치를 포함하는 시스템.
- 제2항에 있어서, 상기 입출력장치에 의해 출력된 데이타 단위의 폭에 기초하여 상기 제1, 제2, 제3, 제4데이타 바이트 출력을 선택적으로 경로배정하는 장치는 상기 입출력장치에 의해 출력된 상기 제1, 제2, 제3, 제4 데이타 바이트중 적어도 2이상의 데이타바이트를 수신하는 다중 멀티플렉서 입력부와 단일 멀티플렉서 출력부를 구비하는 적어도 1이상의 멀티플렉서를 포함하는 시스템.
- 제3항에 있어서, 상기 래치로의 전송을 위하여 상기 멀티플렉서에 입력된 상기 제1, 제2, 제3, 제4데이타 바이트의 임의의 조합을 선정하는 장치를 포함하는 시스템.
- 제1항에 있어서, 상기 입출력장치로부터 출력된 상기 제1, 제2, 제3, 제4데이타 바이트를 상기 래치들 중 하나의 입력부에 따로따로 경로배정하는 상기 장치는 다음의 요소를 추가로 포함하는 시스템. 가) 상기 입출력장치에 의해 출력된 상기 제1, 제2, 제3, 제4데이타 바이트중 적어도 2이상의 데이타 바이트를 수신하는 적어도 2이상의 입력부와 상기 제1, 제2, 제3 또는 제4래치중 하나의 래치에 접속된 단일 출력부를 구비하는 복수의 멀티플렉서. 나) 상기 입출력장치에 의해 출력되고 상기 복수의 멀티플렉서 각각에 입력되는 상기 제1, 제2, 제3, 제4 데이타 바이트를 선택적으로 제어하는 장치.
- 제5항에 있어서, 상기 입출력장치에 의해 출력되고 상기 복수의 멀티플렉서 각각에 입력되는 상기 제1, 제2, 제3, 제4데이타 바이트를 선택적으로 제어하는 상기 장치는 상기 대응 멀티플렉서에 입력되는 상기 제1, 제2, 제3, 제4데이타 바이트를 선정하는 바이트인에이블 신호를 상기 각각의 멀티플렉서에 송신하는 장치를 포함하는 시스템.
- 제1항에 있어서, 상기 입출력장치로부터 출력된 상기 제1, 제2, 제3, 제4데이타 바이트를 상기 래치들중 1래치의 입력부에 따로따로 경로배정하는 상기 장치는 다음의 요소를 포함하는 시스템. 가) 상기 입출력장치의 출력부를 상기 제1래치의 입력부에 접속하는 장치. 나) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제2래치의 입력부에 연결된 하나의 출력부를 구비하는 제1멀티플렉서. 다) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제3래치의 입력된 하나의 출력부를 구비하는 제2멀티플렉서. 라) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제4래치의 입력부에 연결된 하나의 출력부를 구비하는 제3멀티플렉서.
- 제7항에 있어서, 상기입출력장치에 의해 출력된 제1데이타바이트는 상기 제1래치, 제1, 제2, 제3 멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제2데이타 바이트는 제1, 제3 멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제3데이타 바이트는 제2멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제4데이타바이트는 제3멀티플렉서에 입력되는 시스템.
- 제8항에 있어서, 상기 입출력장치는 서브사이클당 상기 제1데이타 바이트로 구성되어 1바이트 출력을 갖는 8비트 장치이며, 상기 8비트 입출력장치는 상기 32비트 데이타 버스의 각 사이클동안 4개의 서브사이클을 가지며, 상기 8비트 입출력장치의 상기 제1데이타 바이트출력은 각각 제1, 제2, 제3, 제5서브사이클동안 상기 제1래치, 제1, 제2, 제3 멀티플렉서에 출력되는 시스템.
- 제9항에 있어서, 상기 제1멀티플렉서는 상기 제2서브사이클동안 상기 제1데이타 바이트 출력을 출력하도록 인에이블되고, 상기 제2멀티플렉서는 상기 3서브사이클동안 상기 제1데이타 바이트 출력을 출력하도록 인에이블되고, 상기 제4멀티플렉서는 상기 제4서브사이클동안 상기 제1데이타바이트 출력을 출력하도록 인에이블되는 시스템.
- 제8항에 있어서, 상기 입출력장치는 서브사이클당 상기 제1, 제2데이타 바이트 출력으로 구성되어 2바이트 출력을 갖는 16비트 장치며, 상기 16비트 입출력장치는 상기 32비트 데이타버스의 각 사이클동안 2개의 서브사이클을 가지며, 상기 16비트 입출력장치의 2바이트 출력 중 제1데이타바이트는 상기 제1, 제2 서브사이클동안 상기 제1래치, 제1, 제2, 제3 멀티플렉서에 출력되며, 상기 16비트 입출력장치의 2바이트 출력 중 제2데이타바이트는 상기 제1, 제2 서브사이클동안 상기 제1, 제3 멀티플랙서에 출력되는 시스템.
- 제11항에 있어서, 상기 제1멀티플렉서는 상기 제1서브사이클동안 상기 제2데이타 바이트 출력을 출력하도록 인에이블되고, 상기 제2멀티플렉서는 상기 제2서브사이클동안 상기 제1데이타바이트 출력을 출력하도록 인에이블되며, 상기 제2멀티플렉서는 상기 제2서브사이클동안 상기 제2데이타바이트 출력을 출력하도록 인에이블되는 시스템.
- 제8항에 있어서, 상기 입출력장치는 서브사이클당 상기 제1, 제2, 제3, 제4 데이타 바이트 출력으로 구성되어 4바이트 출력을 갖는 32비트 장치이며, 상기 32비트 입출력 장치는 상기 32비트 데이타 버스의 각 사이클동안 1 서브사이클을 가지며, 상기 32비트 입출력장치의 상기 제1데이타 바이트 출력은 상기 제1서브사이클동안 상기 제1래치 제1, 제2 멀티플렉서에 출력되며, 상기 32비트 입출력장치의 제2데이타 바이트 출력은 상기 제1 서브사이클동안 상기 제1, 제2 멀티플렉서에 출력되며, 상기 32비트 입출력장치의 상기 제3데이타 바이트출력은 상기 제1서브사이클동안 상기 제2멀티플렉서에 출력되며, 상기 32비트 입출력장치의 상기 제4데이타바이트 출력은 상기 제1서브사이클동안 상기 제3멀티플렉서에 출력되는 시스템.
- 제13항에 있어서, 상기 제1멀티플렉서는 상기 제1서브사이클동안 상기 제2데이타 바이트출력을 출력하도록 인에이블되고, 상기 제2멀티플렉서는 상기 제1서브사이클동안 상기 제3데이타 바이트출력을 출력하도록 인에이블되며, 상기 제3멀티플렉서는 상기 제1서브사이클동안 상기 제4데이타 바이트 출력을 출력하도록 인에이블되는 시스템.
- 32비트 광데이타 버스에 의해 출력된 데이타 단위를 8, 16, 또는 32비트 광입출력장치에 전송하는 데이타 인터페이스를 구비하여 다음의 구성요소를 포함하는 디지탈컴퓨터 시스템. 가) 상기 입출력장치의 폭과 같은 폭을 갖는 출력드라이버장치. 나) 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와 상기 출력드라이버 장치에 연결된 하나의 출력부를 구비하는 제1멀티플렉서. 다) 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와 상기 출력드라이버 장치에 연결된 하나의 출력부를 구비하는 제2멀티플렉서. 라) 상기 데이타 버스의 출력부를 상기 출력드라이버 장치의 입력부에 직접 접속하는 장치. 마) 상기 32비트 데이타 버스로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트를 상기 출력드라이버장치에 따로따로 경로배정하는 장치.
- 제15항에 있어서, 상기 데이타버스에 의해 출력된 제1데이타 바이트 출력은 상기 제1 멀티플렉서에 입력되며, 상기 데이타버스에 의해 출력된 제2데이타 바이트는 상기 제1멀티플렉서에 입력되며, 상기 데이타 버스에 의해 출력된 제3데이타 바이트는 상기 출력드라이버장치에 입력되며, 상기 데이타 버스에 의해 출력된 제4데이타 바이트는 상기 제1, 제2 멀티플랙서, 출력드라이버장치에 입력되는 시스템.
- 제16항에 있어서, 상기 입출력장치는 서브사이클당 상기 제1데이타 바이트 출력으로 구성되어 1바이트 출력을 갖는 8비트장치이며, 상기 8비트 입출력장치는 상기 32비트 데이타비스의 각 사이클동안 4개의 서브사이클을 가지며, 제1멀티플렉서는 상기 제1, 제2, 제3, 제4 서브사이클동안 제1데이타 바이트 출력을 출력하도록 인에이블되는 시스템.
- 제16항에 있어서, 상기 입출력장치는 서브사이클당 상기 제1, 제2 데이타바이트 출력으로 구성되어 2바이트 출력을 갖는 16비트 장치이며, 상기 16비트 입출력장치는 32비트 데이타버스의 각 사이클동안 2개의 서브사이클을 가지며, 상기 제1멀티플렉서는 상기 제1, 제2 서브사이클동안 상기 제1데이타 바이트 출력을 출력하도록 인에이블되며, 상기 제2멀티플렉서는 상기 제1, 제2 서브사이클동안 상기 제2데이타 바이트출력을 출력하도록 인에이블되는 시스템.
- 제16항에 있어서, 상기 입출력장치는 서브사이클당 제1, 제2, 제3, 제4 데이타 바이트 출력으로 구성되어 4바이트 출력을 갖는 32비트 장치이며, 상기 32비트 입출력장치는 32비트 데이타 버스의 각 사이클동안 1서브사이클 가지며, 상기 제1멀티플렉서는 상기 제1서브사이클동안 상기 제1데이타바이트 출력을 출력하도록 인에이블되며, 상기 제2멀티플렉서는 상기 제1서브사이클동안 상기 제2데이타 바이트 출력을 출력하도록 인에이블되며, 상기 제3멀티플렉서는 상기 제1서브사이클동안 제4데이타 바이트 출력을 출력하도록 인에이블되는 시스템.
- 8, 16 또는 32비트 광 입출력장치에 의해 출력된 8, 16 또는 32비트 광 데이타 단위를 32비트 데이타 워드에 축적함으로써 상기 입출력장치에 의해 발생된 데이타 단위를 32비트 광데이타 버스에 전송하고 32비트 광데이타 버스에 의해 출력된 데이타 단위를 데이타 축적없이 상기 입출력장치에 전송하는 데이타 인터페이스를 구비하며, 다음의 구성요소를 포함하는 디지탈 컴퓨터 시스템. 가) 각각 하나의 입력부와 출력부를 구비하는 제1, 제2, 제3, 제4래치. 나) 상기 입출력장치로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트출력을 상기 래치들 중 하나의 래치의 입력부에 따로따로 경로배정하는 장치. 다) 상기 각 래치의 출력부에 경로배정된 상기 데이 타바이트를 래치함으로써 상기 32비트 데이타워드를 상기 래치출력부에 축적하는 장치. 라) 상기 축적된 32비트 데이타워드를 상기 데이타버스에 전송하는 장치. 마) 상기 입출력장치의 폭과 같은 폭의 출력드라이버장치. 바) 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와 상기 출력드라이버 장치에 연결된 하나의 출력부를 구비하는 출력멀티플렉서장치. 사) 상기 데이타버스의 출력부를 상기 출력드라이버장치의 입력부에 직접 접속하는 장치. 아) 상기 32비트 데이타 버스로부터 출력된 제1, 제2, 제3, 제4데이타 바이트 출력부를 상기 드라이버장치에 따로따로 경로배정하는 장치.
- 제20항에 있어서, 상기 입출력장치로부터 출력된 상기 제1, 제2, 제3, 제4데이타 바이트 출력을 상기 래치들 중 1래치의 입력부에 따로따로 경로배정하는 상기 장치는 상기 입출력장치에 의해 출력된 데이타 단위의 폭에 기초하여 상기 제1, 제2, 제3, 제4데이타바이트 출력을 선택적으로 경로배정하는 장치를 포함하는 시스템.
- 제21항에 있어서, 상기 입출력장치에 의해 출력된 데이타 단위의 폭에 기초하여 상기 제1, 제2, 제3, 제4 데이타 바이트 출력을 선택적으로 경로배정하는 상기 장치는 상기 입출력장치에 의해 출력된 상기 제1, 제2, 제3, 제4 데이타 바이트 출력중 적어도 2이상의 데이타 바이트를 수신하는 다중 멀티플렉서 입력부와 단일 멀티플렉스 출력부를 구비하는 입력멀티플렉스 장치를 포함하는 시스템.
- 제22항에 있어서, 상기 입출력장치로부터 출력된 상기 제1, 제2, 제3, 제4데이타 바이트를 상기 래치들 중 1래치의 입력부에 따로따로 경로배정하는 상기 장치는 상기 입출력장치의 출력부를 상기 제1래치의 입력부에 접속하는 장치를 포함하며, 상기 입력멀티플렉스 장치는 다음의 구성요소를 포함하는 시스템. 가) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제2래치의 입력부에 연결된 출력부를 구비하는 제1멀티플렉서. 나) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제3래치의 입력부에 연결된 출력부를 구비하는 제2멀티플렉서. 다) 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와 상기 제4래치의 입력부에 연결된 출력부를 구비하는 제3멀티플렉서.
- 제23항에 있어서, 상기 출력멀티플렉서 장치는 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와, 상기 출력드라이버 장치에 연결된 하나의 출력부를 구비하는 제1멀티플렉서와, 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와, 상기 출력드라이버 장치에 연결된 하나의 출력부를 구비하는 제2멀티플렉서를 포함하는 시스템.
- 제24항에 있어서, 상기 입출력장치에 의해 출력된 제1데이타 바이트는 상기 제1래치 제1, 제2, 제3 멀티플렉서에 입력되고, 상기 입출력장치에 의해 출력된 제2데이타 바이트는 제1, 제3 멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제3데이타 바이트는 제2멀티플렉서에 입력되고, 상기 입출력장치에 의해 출력된 제4데이타바이트는 제3멀티플렉서에 입력되는 시스템.
- 제25항에 있어서, 상기 입출력장치에 의해 출력되어 상기 멀티플렉스 장치에 입력되는 상기 제1, 제2, 제3, 제4데이타 바이트를 선택적으로 제어하는 상기 장치는 바이트 인에이블신호를 상기 각 제1, 제2, 제3, 제4 멀티플렉서에 송신하는 장치를 포함하며, 상기 바이트 인에이블신호는 상기 대응 멀티플렉서에 수신된 상기 제1, 제2, 제3, 제4데이타 바이트를 선정하는 시스템.
- 제1데이타 폭에 대응하는 특정수의 제1바이트의 데이타단위를 처리하도록 구성된 프로세서와, 상기 제1데이타폭의 데이타 단위를 처리하도록 구성된 메모리, 제2데이타폭에 대응하는 특정수의 제2바이트의 데이타단위를 처리하도록 구성된 입출력장치, 상기 제1데이타폭의 데이타 단위를 처리하도록 구성되어 상기 프로세서 메모리 및 입출력장치 간의 접속부를 제공하는 데이타버스, 수신장치나 버스의 폭과 부합하도록 전송되는 데이타의 폭을 조정하며 상기 데이타 버스로부터 상기 입출력장치로의 데이타 전송과 상기 입출력장치로부터 상기 데이타 버스로의 데이타전송을 제어하는 장치로 구성되는 컴퓨터 시스템으로서 상기 제어장치는 송수신장치의 폭과 전송방향을 기초로 하여 데이타 바이트가 전송되는 경로를 수정함으로써 전송될 데이타의 폭을 조정하는 컴퓨터 시스템.
- 제27항에 있어서, 상기 데이타 버스로부터 상기 입출력 장치로의 데이타전송을 제어하는 상기 장치는 축적된 데이타 단위를 상기 데이타버스에 전송 하기에 앞서 상기 입출력장치에 의해 출력된 데이타 단위를 축적하는 장치를 포함하며, 상기 제어장치는 데이타 바이트가 상기 축적장치에 전송되는 경로를 수정하는 시스템.
- 제28항에 있어서, 데이타 단위를 축적하는 상기 장치는 입력부와 출력부를 각각 구비하는 제1, 제2, 제3, 제4래치와, 상기 입출력 장치로부터 출력된 제1, 제2, 제3, 제4 데이타 바이트 출력을 상기 래치들 중 1래치의 입력부에 따로따로 경로배정하는 장치와, 상기 각 래치의 출력부에 경로배정된 상기 데이타 바이트를 래치함으로써 상기 32비트 데이타워드를 상기 래치출력부에 축적하는 장치를 포함하는 시스템.
- 제29항에 있어서, 상기 입출력장치에 의해 출력된 상기 제1, 제2, 제3, 제4 데이타 바이트 중 적어도 2이상의 데이타 바이트를 수신하는 다중 멀티플렉서 입력부와 단일 멀티플렉서 출력부를 구비하는 입력멀티플렉스 장치를 포함하는 시스템.
- 제30항에 있어서, 상기 입출력장치의 출력부를 상기 제1래치의 입력부에 접속하는 장치를 포함하며, 상기 입력 멀티플렉서 장치는, 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와, 상기 제2래치의 입력부에 연결된 하나의 출력부를 구비하는 제1멀티플렉서와, 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와, 상기 제3래치의 입력부에 연결된 하나의 출력부를 구비하는 제2멀티플렉서와, 상기 입출력장치의 출력부에 연결된 적어도 1이상의 입력부와, 상기 제4래치의 입력부에 연결된 하나의 출력부를 구비하는 제3멀티플렉서를 포함하는 시스템.
- 제31항에 있어서, 상기 출력멀티플렉서 장치는 다음의 구성요소를 포함하는 시스템. 가) 출력드라이버장치. 나) 상기 데이타버스의 출력부에 연결된 적어도 1이상의 입력부와 상기 출력드라이버 장치에 연결된 출력부를 구비하는 제1출력멀티플렉서. 다) 상기 데이타 버스의 출력부에 접속된 적어도 1이상의 입력부와 상기 출력드라이버 장치에 연결된 출력부를 구비하는 제2출력멀티플렉서. 라) 상기 데이타버스의 출력부를 상기 출력드라이버 장치의 입력부에 직접 접속하는 장치.
- 제32항에 있어서, 상기 입출력장치에 의해 출력된 제1데이타바이트는 상기 제1래치 제1, 제2, 제3 멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제2데이타 바이트는 제1, 제3멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제3데이타 바이트는 제2멀티플렉서에 입력되며, 상기 입출력장치에 의해 출력된 제4데이타 바이트는 제3멀티플렉서에 입력되는 시스템.
- 제33항에 있어서, 상기 입출력장치에 의해 출력되어 상기 멀티플렉서장치에 입력되는 상기 제1, 제2, 제3, 제4데이타 바이트를 선택적으로 제어하는 상기 장치는 바이트 인에이블 신호를 상기 각 제1, 제2, 제3, 제4 멀티플렉서에 송신하는 장치를 포함하고 상기 바이트 인에이블신호는 상기 대응 멀티플렉서에 입력되는 상기 제1, 제2, 제3, 제4데이타 바이트를 선정하는 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55987290A | 1990-07-27 | 1990-07-27 | |
US7/559,872 | 1990-07-27 | ||
US07/559,872 | 1990-07-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920003167A KR920003167A (ko) | 1992-02-29 |
KR0181471B1 true KR0181471B1 (ko) | 1999-05-15 |
Family
ID=24235405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910012956A KR0181471B1 (ko) | 1990-07-27 | 1991-07-27 | 컴퓨터 데이타 경로배정 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5590287A (ko) |
EP (1) | EP0468823B1 (ko) |
JP (1) | JPH06124261A (ko) |
KR (1) | KR0181471B1 (ko) |
DE (1) | DE69132652T2 (ko) |
TW (1) | TW202507B (ko) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843695A (en) * | 1987-07-16 | 1989-07-04 | Digital Equipment Corporation | Method of assembling tab bonded semiconductor chip package |
JPH07504773A (ja) * | 1992-03-18 | 1995-05-25 | セイコーエプソン株式会社 | マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法 |
US5519839A (en) * | 1992-10-02 | 1996-05-21 | Compaq Computer Corp. | Double buffering operations between the memory bus and the expansion bus of a computer system |
US6002411A (en) * | 1994-11-16 | 1999-12-14 | Interactive Silicon, Inc. | Integrated video and memory controller with data processing and graphical processing capabilities |
US5838334A (en) * | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
US6067098A (en) * | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
JPH08278916A (ja) * | 1994-11-30 | 1996-10-22 | Hitachi Ltd | マルチチャネルメモリシステム、転送情報同期化方法及び信号転送回路 |
GB9509987D0 (en) * | 1995-05-17 | 1995-07-12 | Sgs Thomson Microelectronics | Manipulation of data |
US6148356A (en) * | 1995-12-27 | 2000-11-14 | Intel Corporation | Scalable computer system |
US6134622A (en) * | 1995-12-27 | 2000-10-17 | Intel Corporation | Dual mode bus bridge for computer system |
US5828865A (en) * | 1995-12-27 | 1998-10-27 | Intel Corporation | Dual mode bus bridge for interfacing a host bus and a personal computer interface bus |
US5872940A (en) * | 1996-04-01 | 1999-02-16 | Motorola, Inc. | Programmable read/write access signal and method therefor |
US5774482A (en) * | 1996-04-30 | 1998-06-30 | Sun Microsystems, Inc. | Apparatus and method for processing errors associated with data transfers in a computer |
JPH1078934A (ja) * | 1996-07-01 | 1998-03-24 | Sun Microsyst Inc | パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム |
US5901298A (en) * | 1996-10-07 | 1999-05-04 | Intel Corporation | Method for utilizing a single multiplex address bus between DRAM, SRAM and ROM |
US5916312A (en) * | 1997-05-06 | 1999-06-29 | Sony Corporation | ASIC having flexible host CPU interface for ASIC adaptable for multiple processor family members |
US6301631B1 (en) * | 1999-01-28 | 2001-10-09 | Vlsi Technology, Inc. | Memory mapping method for eliminating dual address cycles in a peripheral component interconnect environment |
US6230216B1 (en) * | 1999-01-28 | 2001-05-08 | Vlsi Technology, Inc. | Method for eliminating dual address cycles in a peripheral component interconnect environment |
CA2265346A1 (en) * | 1999-03-17 | 2000-09-17 | Pmc-Sierra Ltd. | Pos-phy interface for interconnection of physical layer devices and link layer devices |
US6732203B2 (en) * | 2000-01-31 | 2004-05-04 | Intel Corporation | Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus |
US6567091B2 (en) | 2000-02-01 | 2003-05-20 | Interactive Silicon, Inc. | Video controller system with object display lists |
US6510483B1 (en) * | 2000-03-21 | 2003-01-21 | Cypress Semiconductor Corp. | Circuit, architecture and method for reading an address counter and/or matching a bus width through one or more synchronous ports |
US7337227B1 (en) | 2000-08-10 | 2008-02-26 | Dell Products L.P. | System and method for cabling computer equipment for a desired installation |
US7061907B1 (en) | 2000-09-26 | 2006-06-13 | Dell Products L.P. | System and method for field upgradeable switches built from routing components |
US7117376B2 (en) * | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
US7436954B2 (en) * | 2001-02-28 | 2008-10-14 | Cavium Networks, Inc. | Security system with an intelligent DMA controller |
US20040078608A1 (en) * | 2001-04-02 | 2004-04-22 | Ruban Kanapathippillai | Method and apparatus for power reduction in a digital signal processor integrated circuit |
US6789180B1 (en) * | 2001-09-28 | 2004-09-07 | Cypress Semiconductor Corp. | Method and apparatus for mask and/or counter address registers readback on the address bus in synchronous single and multi-port memories |
US6633944B1 (en) * | 2001-10-31 | 2003-10-14 | Lsi Logic Corporation | AHB segmentation bridge between busses having different native data widths |
JP2003208399A (ja) * | 2002-01-15 | 2003-07-25 | Hitachi Ltd | データ処理装置 |
KR100449721B1 (ko) * | 2002-05-20 | 2004-09-22 | 삼성전자주식회사 | 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 |
US7796464B1 (en) | 2003-06-27 | 2010-09-14 | Cypress Semiconductor Corporation | Synchronous memory with a shadow-cycle counter |
US8284768B2 (en) * | 2005-10-06 | 2012-10-09 | Sierra Wireless, Inc. | Dynamic bus-based virtual channel multiplexing device driver architecture |
KR100706801B1 (ko) * | 2006-01-04 | 2007-04-12 | 삼성전자주식회사 | 멀티 프로세서 시스템 및 그것의 데이터 전송 방법 |
KR100825258B1 (ko) * | 2007-12-13 | 2008-04-25 | 한림기계 주식회사 | 자동세차기용 수직구동 안전장치 |
JP5216336B2 (ja) * | 2008-01-23 | 2013-06-19 | 株式会社日立製作所 | 計算機システム、管理サーバ、および、不一致接続構成検知方法 |
US8219778B2 (en) * | 2008-02-27 | 2012-07-10 | Microchip Technology Incorporated | Virtual memory interface |
US10795767B2 (en) * | 2018-12-26 | 2020-10-06 | M31 Technology Corporation | Error correcting system shared by multiple memory devices |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979732A (en) * | 1975-02-18 | 1976-09-07 | Motorola, Inc. | Asynchronous status interlock circuit for interface adaptor |
US3975712A (en) * | 1975-02-18 | 1976-08-17 | Motorola, Inc. | Asynchronous communication interface adaptor |
US4092728A (en) * | 1976-11-29 | 1978-05-30 | Rca Corporation | Parallel access memory system |
US4447878A (en) * | 1978-05-30 | 1984-05-08 | Intel Corporation | Apparatus and method for providing byte and word compatible information transfers |
US4467443A (en) * | 1979-07-30 | 1984-08-21 | Burroughs Corporation | Bit addressable variable length memory system |
US4309754A (en) * | 1979-07-30 | 1982-01-05 | International Business Machines Corp. | Data interface mechanism for interfacing bit-parallel data buses of different bit width |
JPS5652454A (en) * | 1979-10-05 | 1981-05-11 | Hitachi Ltd | Input/output control method of variable word length memory |
US4443846A (en) * | 1980-12-29 | 1984-04-17 | Sperry Corporation | Dual port exchange memory between multiple microprocessors |
US4509113A (en) * | 1982-02-02 | 1985-04-02 | International Business Machines Corporation | Peripheral interface adapter circuit for use in I/O controller card having multiple modes of operation |
US4667305A (en) * | 1982-06-30 | 1987-05-19 | International Business Machines Corporation | Circuits for accessing a variable width data bus with a variable width data field |
CA1211219A (en) * | 1982-06-30 | 1986-09-09 | Hideo Kuroda | Digital data code conversion circuit for variable- word-length data code |
US4580129A (en) * | 1983-11-14 | 1986-04-01 | Northern Telecom Limited | Variable word length decoder |
KR900007564B1 (ko) * | 1984-06-26 | 1990-10-15 | 모토로라 인코포레이티드 | 동적 버스를 갖는 데이터 처리기 |
US4716527A (en) * | 1984-12-10 | 1987-12-29 | Ing. C. Olivetti | Bus converter |
JPS61139866A (ja) * | 1984-12-11 | 1986-06-27 | Toshiba Corp | マイクロプロセツサ |
US4727477A (en) * | 1985-03-22 | 1988-02-23 | International Business Machines Corp. | Logically transportable microprocessor interface control unit permitting bus transfers with different but compatible other microprocessors |
US4683534A (en) * | 1985-06-17 | 1987-07-28 | Motorola, Inc. | Method and apparatus for interfacing buses of different sizes |
US4797850A (en) * | 1986-05-12 | 1989-01-10 | Advanced Micro Devices, Inc. | Dynamic random access memory controller with multiple independent control channels |
JPH0772886B2 (ja) * | 1986-08-01 | 1995-08-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ処理システム |
US5243701A (en) * | 1987-09-17 | 1993-09-07 | Mitsubishi Denki Kabushiki Kaisha | Method of and system for processing data having bit length variable with modes of operation |
JPH0697560B2 (ja) * | 1987-11-19 | 1994-11-30 | 三菱電機株式会社 | 半導体記憶装置 |
US5014236A (en) * | 1988-01-29 | 1991-05-07 | International Business Machines Corporation | Input/output bus expansion interface |
US5023828A (en) * | 1988-07-20 | 1991-06-11 | Digital Equipment Corporation | Microinstruction addressing in high-speed CPU |
US5073969A (en) * | 1988-08-01 | 1991-12-17 | Intel Corporation | Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal |
US5163145A (en) * | 1989-04-25 | 1992-11-10 | Dell Usa L.P. | Circuit for determining between a first or second type CPU at reset by examining upper M bits of initial memory reference |
-
1991
- 1991-07-27 KR KR1019910012956A patent/KR0181471B1/ko not_active IP Right Cessation
- 1991-07-29 EP EP91306896A patent/EP0468823B1/en not_active Expired - Lifetime
- 1991-07-29 JP JP3279028A patent/JPH06124261A/ja active Pending
- 1991-07-29 DE DE69132652T patent/DE69132652T2/de not_active Expired - Lifetime
- 1991-09-17 TW TW080107347A patent/TW202507B/zh active
-
1994
- 1994-03-07 US US08/207,810 patent/US5590287A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0468823A2 (en) | 1992-01-29 |
JPH06124261A (ja) | 1994-05-06 |
EP0468823B1 (en) | 2001-07-11 |
KR920003167A (ko) | 1992-02-29 |
TW202507B (ko) | 1993-03-21 |
US5590287A (en) | 1996-12-31 |
EP0468823A3 (en) | 1992-09-30 |
DE69132652D1 (de) | 2001-08-16 |
DE69132652T2 (de) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0181471B1 (ko) | 컴퓨터 데이타 경로배정 시스템 | |
KR970000842B1 (ko) | 정보 처리 시스템 및 컴퓨터 시스템 | |
US5884055A (en) | Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource | |
US5206943A (en) | Disk array controller with parity capabilities | |
US5764934A (en) | Processor subsystem for use with a universal computer architecture | |
US5890219A (en) | Redundant writing of data to cached storage system | |
JP2571673B2 (ja) | 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 | |
US5919254A (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system | |
US6636927B1 (en) | Bridge device for transferring data using master-specific prefetch sizes | |
EP0580961A1 (en) | An enhanced processor buffered interface for multiprocessor systems | |
EP0524683A1 (en) | Scientific visualization system | |
JPH05265971A (ja) | コンピュータシステム及びそれに用いる統合単一チップ中央プロセッサ | |
US5896513A (en) | Computer system providing a universal architecture adaptive to a variety of processor types and bus protocols | |
US6175888B1 (en) | Dual host bridge with peer to peer support | |
US5301281A (en) | Method and apparatus for expanding a backplane interconnecting bus in a multiprocessor computer system without additional byte select signals | |
US5274795A (en) | Peripheral I/O bus and programmable bus interface for computer data acquisition | |
JPH0778773B2 (ja) | 通信装置及び通信装置を使用する方法 | |
US5388227A (en) | Transparent data bus sizing | |
EP1046111A1 (en) | Data transferring in source-synchronous and common clock protocols | |
US5911053A (en) | Method and apparatus for changing data transfer widths in a computer system | |
JPH06324988A (ja) | 非多重化非同期アドレス/データ・バス・システムを使用するデータ処理システム | |
AU688718B2 (en) | Signaling protocol conversion between a processor and a high-performance system bus | |
US5671372A (en) | Data processing system with microprocessor/cache chip set directly coupled to memory bus of narrower data width | |
EP0439594B1 (en) | Device for interfacing a main processor bus connected to a main processor to a peripheral bus having a number of peripheral devices connected thereto |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101130 Year of fee payment: 13 |
|
EXPY | Expiration of term |