KR940011594B1 - 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법 - Google Patents

공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법 Download PDF

Info

Publication number
KR940011594B1
KR940011594B1 KR1019900000123A KR900000123A KR940011594B1 KR 940011594 B1 KR940011594 B1 KR 940011594B1 KR 1019900000123 A KR1019900000123 A KR 1019900000123A KR 900000123 A KR900000123 A KR 900000123A KR 940011594 B1 KR940011594 B1 KR 940011594B1
Authority
KR
South Korea
Prior art keywords
microprocessor
data
controller
cycle
data transfer
Prior art date
Application number
KR1019900000123A
Other languages
English (en)
Other versions
KR900012156A (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
Application filed by 뷸 에이치 엔 인포메이션 시스템즈 인코오포레이티드, 루이스 피. 엘빈저 filed Critical 뷸 에이치 엔 인포메이션 시스템즈 인코오포레이티드
Publication of KR900012156A publication Critical patent/KR900012156A/ko
Application granted granted Critical
Publication of KR940011594B1 publication Critical patent/KR940011594B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

내용 없음.

Description

공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법
제 1 도는 제어기의 블럭도.
제 2 도는 제 1 도에 도시한 제어기를 보다 상세히 나타낸 도면.
제 3 도는 제 1 도 도시 제어기의 클럭킹 회로를 보다 상세히 나타낸 도면.
제 4 도는 프로세서간 통신에 사용되는 메모리의 상세도.
제 5 도는 클럭킹회로에 의해 발생된 클럭 신호와 마이크로프로세서의 타이밍 동작을 도시한 도면.
제 6 도는 초기화 순서를 설명하는데 사용된 타이밍도.
제 7 도는 제어기억부의 조직을 나타내는 동시에, 초기화 순서를 설명하는데 사용되는 도면.
* 도면의 주요부분에 대한 부호의 설명
1 : 주변장치 2 : 시스템버스
3 : 구동기 및 수신기 4 : 시스템버스 인터페이스
9 : 제어기 10, 12 : 마이크로프로세서
14 : 제어기억부 16 : 스크래치 패드 메모리
18X, 18Y : 데이타버퍼 20 : 주변장치 인터페이스
22A, 22B : 명령 레지스터 32, 34 : 어드레스 레지스터
38 : 클럭킹 회로
본 발명은 데이타 처리 시스템에 관한 것으로, 보다 구체적으로는 데이타 처리 시스템과 주변 장치 사이의 데이타 전송을 제어하는 주변 장치 제어기에 관한 것이다.
현재 대부분의 데이타 처리 시스템은 키보드로부터 데이타를 판독하거나 라인 프린터에 데이타를 전송하는 등의 입/출력 동작을 실행하고 있다. 직접의 효율성과 그 분배를 위해서 상기와 같은 데이타 처리 시스템의 주변 장치에 대한 입/출력 동작은 통상 주변 장치 제어기에 의해 제어되고 있으며 이러한 제어기들은 시스템 버스와 부젼 장치 사이에 삽입되는 것이 일반적이다.
다수의 각종 주변 장치로부터 입/출력되는 I/O트랜잭션을 동시에 처리하기 위하여 주변 장치 제어기들에 대한 필요성이 점차로 증가하고 있다. 이들 각각의 주변 장치는 서로가 다른 동작 특성을 가질 수 있기 때문에 이들 다수의 주변 장치 제어기를 인테이블시켜서 주변장치의 상이한 동작 특성을 조절할 수 있도록 그들 상이한 주변 장치의 요구 조건에 부합하는 마이크로프로그램을 가진 마이크로프로세서가 현재 주변 장치 제어기에 사용되고 있다.
본 발명의 양호한 실시예에 있어서 주변 장치 제어기는 시스템 버스와 주변장치 사이의 데이타 전송을 일시적으로 기억시키는 적어도 하나의 데이타 버퍼를 구비하며, 또 두개의 마이크로프로세서를 가지는데, 제 1 마이크로프로세서는 시스템 버스와 데이타 버퍼 사이의 데이타 전송을 제어하는 반면, 제 2 마이크로 프로세서는 데이타 버퍼와 주변 장치 사이의 데이타 전송을 제어한다. 또한 공통 제어 기억부는 상기 제1 및 제2 마이크로프로세서에 접속된다. 제어기억부는 두개의 마이크로프로세서의 동작을 제어하는 제 1 및 제 2 순서의 마이크로 명령부를 갖는다.
양호한 실시예에 있어서, 시험 마이크로 명령은 제어 기억부에 기억된다. 이러한 시험 명령은 시스템의 기동시 각각의 마이크로프로세서가 제1 및 제 2 순서의 마이크로 명령을 시작하게 한다.
본 발명의 제어기는 여러 사이클로 분할된 클럭신호를 발생시키는 클럭킹회로를 구비하는데, 그러한 클럭신호는 마이크로프로세서의 동작을 제어하는데 사용된다. 각각의 마이크로프로세서가 제어 기억부에 배타적으로 액세스할 수 있는 사이클의 일부분 동안 각 마이크로 프로세서는 그 사이클의 부분에 할당된다. 양호한 실시예에 있어서 클럭킹 회로는 또한 프로세서간 통신에 사용되는 스크래치 패드 메모리(scratch pad memory)에 대한 마이크로 프로세서의 액세스를 제어한다. 더불어 상기 클럭킹 회로는 양호한 실시예에 있어서 데이타 버퍼의 점유를 제어하는 역할도 한다. 각각의 마이크로프로세서는 그것이 스크래치 패드 메모리에 배타적으로 액세스하는 사이클의 부분과 데이타 버퍼를 점유하는 사이클이 부분에 할당된다. 상기 부분들은 제어 기억부를 어드레싱하는 마이크로프로세서에 할당된 부분과 동일할 수도 동일하지 않을 수도 있다.
전술한 본 발명의 목적과 그밖의 목적은 이하 첨부도면과 관련한 양호한 실시예의 상세힌 설명으로부터 용이하게 이해할 수 있을 것이다. 상기 설명중 도면에서의 부호 표시는 동일 소자에 대해서 동일한 부호를 사용하였다.
제 1 도에 도시한 양호한 실시예에 있어서, 제어기(9)는 시스템버스(2)와 주변 장치(1) 사이의 데이타 전달을 제어하는데, 이 제어기는 복수의 각종 주변장치(1)로부터 입출력되는 데이타를 제어할 수 있는 것으로 최대 16개의 데이타 채널을 제어할 수 있도록 설계되어 있다. 이들 데이타 채널중 2개는 주변장치에 의해서는 사용되지 않으므로 주변 장치 제어기는 최대 14개의 주변 장치를 동시에 제어할 수 있다.
제어기의 기본 소자로는 2개의 마이크로프로세서(10, 12)가 포함되는데, 그들은 서로 교신할 수 있도록 접속되며, 제어기억부(14)를 공유할 수 있도록 접속된다. 제어기억부(14)는 Hitachi사의 Hitachi 6789와 같은 RAM을 구비하고 있다. 상기 마이크로프로세서는 또한 스크래치 패드 메모리(16) 뿐만 아니라 데이타 버퍼(18X, 18Y)도 공유할 수 있도록 접속된다. 양호한 실시에에 있어서, 스크래치 패드 메모리(16)는 Hitachi 6789, 6267P-45 등의 RAM으로 구성되며, 데이터 버퍼는 Hitachi 6287 등의 RAM으로 구성된다. 마이크로프로세서 B로 표시된 마이크로프로세서(12)는 시스템버스(2)와 데이타 버퍼(18X, 18Y) 사이의 데이타 전송을 제어하는 반면, 마이크로프로세서 A로 표시된 마이크로프로세서(10)는 데이타 버퍼(18X, 18Y)와 주변장치(1) 사이의 데이타 전송을 제어한다. 이러한 마이크로프로세서(10, 12)의 동작은 클럭킹회로(38)에 의해 지배된다. 이하 클럭킹 회로(38)을 상세히 설명한다.
주변장치 제어기는 다른 시스템 버스와 다른 주변장치에도 적용이 가능하며, 시스템 버스 또는 주변 장치 내의 변화를 수용하기 위해서 제어기억부(14)에는 새로운 펌웨어가 로드되어야만 한다. 마이크로프로세서 B와 주변장치(1) 사이에는 소형 컴퓨터 시스템 인터페이스(Small Computer System Interface) 규격(ANSI SPEC. X3/131)에 부합하는 주변장치 인터페이스(20)가 인터페이스된다. 양호한 실시예에 있어서, 이러한 인터페이스(20)는 Western Digital 3392 제어기 칩이다. 주변장치 인터페이스(20)는 명령, 메시지, 데이타 및 상태의 전송 기능을 실행한다. 상기 주변 장치 인터페이스(20)에는 주변장치(1)와 정보를 주고받는 일련의 구동기 및 수신기(3)들이 직렬로 접속된다.
또한 제어기와 시스템 버스(2)를 인터페이스하기 위해 시스템 버스 인터페이스(4)가 구비되는데, 이 인터페이스(4)는 상술한 Barlow 등의 특허 명세서에 상세히 기술되어 있다.
본 발명은 2개의 마이크로프로세서 만을 사용하는 것으로 제한될 필요는 없다. 그 이상의 마이크로프로세서가 사용될 수 있으나 최소 2개는 있어야 한다. 그러나 그 이상의 마이크로프로세서를 사용할 경우 동기화 방법을 변경하여야 한다.
제2-2도에 상세히 도시한 마이크로 프로세서 A는 제어 기억부로부터 입력되는 마이크로 명령을 검색하는 명령 레지스터(22A)와 그 마이크로 명령을 디코딩하는 디코딩 회로(28A)를 구비하고 있다. 상기 디코딩 회로는 Texas Instraments 74S138, 74S139 등의 것이 사용되며, 마이크로프로세서 A의 내부에는 시퀀서(24A)가 내장된다. 양호한 실시예에 있어서, 시퀀서(24A)는 개량형 마이크로 소자 AND 2910A가 사용되며, 마이크로 명령의 실행 순서를 제어한다. 또한 마이크로프로세서내에는 입력된 마이크로 명령에 의해 지시된 계산을 실행하는 ALU 유니트(31A)가 있으며, 이 ALU 유니트(31A)는 출력이 필요할때까지 그 출력을 기억시키는 출력 레지스터(11A)를 구비하고 있다.
마이크로프로세서 B는 제2-1도에 도시된 바와 같이 첨자 B(부호후미의 B표시)로 표시된 소자들을 구비하고 있다.
제 3 도는 클럭킹 회로(38)의 주요 구성요소를 도시하는데, 이 회로로부터 출력되는 특정 클럭 신호는 제 5 도에 도시되어 있다. 클럭킹 회로는 20MHz 클럭(91)을 포함한다. 이러한 클럭(91)으로부터의 출력은 클럭신호 CLKOSC-00이다. CLKOSC-00은 인버터(88)와 D-플립플롭(93)에 공급된다. 클럭킹 회로는 제어기(9)의 다른 구성요소에 의해 사용될 수도 있다.
CLKOSC-00은 D플립-플롭(93)의 클럭신호로 공급된다. 플립-플롭(93)의 세트 및 리세트 입력은 하이로 되며, 이러한 세트 및 리세트 입력은 로우 동작 특성을 가지므로, 통상의 동작시에 그 플립-플롭은 세트되거나 리세트되지 않는다.
D입력은 플립-플롭(93)의 보상 출력, CK10MZ-00이며, 비보상 출력 CK10MZ+00이다.
상술한 바와 같이, CLKOSC-00은 인버터(88)로 공급되며, 그 인버터(88)로부터의 출력은 CLKOSC+00이 된다.
D플립-플롭(93)으로부터의 출력 CL10MHz+00은 다른 플립-플롭(93)에 공급되는데 이 플립-플롭(95)은 JK타입이다. CK10MZ+00 신호는 보상되어 JK플립-플롭(95)에 의한 클럭 신호로서 사용된다. 로우동작 특성을 갖는 세트 및 리세트 입력은 하이논리이며, 이와 유사하게 K입력 또한 하이논리를 갖는다. J입력은 신호 CLKHLT-OX이며, 이 CLKHLT-OX 신호는 시험모드에서만 발생 사용된다. 이러한 신호는 클럭 동작을 저지시키는데 사용되며 정상동작시에는 사용되지 않는다. 플립-플롭(95)은 2개의 출력 CLKSIG+00과 그 보상 출력 CLKSIG-00을 공급한다. 이들 두가지 신호는 제어기에 의해 사용된 기본 타이밍 신호이다.
CK10MZ+00 신호는 JK 플립-플롭(95)에 공급되는 이외에 두개의 NAND게이트(90, 92)에 공급된다. 제1NAND게이트(90)에서, CK10MZ+00는 CLKSIG+00과 NAND 결합된다. 그 합성 출력은 제어기 내에 있는 다른 구성 요소에 의해 사용되는 CLKSTA-00이 된다. 다른 NAND 게이트(92)에서 CLKSIG-00는 CK10MZ+00와 NAND결합되어 전술한 바와 같이 제어기의 다른 구성요소에 의해 사용되는 CLKSTC-00을 생성한다.
신호 CLKOSC+00의 보수는 JK플립-플롭(96, 102)에 대한 클럭 입력으로 작용한다. JK 플립-플롭(96)은 자체에 J, K입력단자와 세트 입력 단자를 갖고 있는데 이들은 모두 하이로 결합된다. 이 플립-플롭의 리세트 입력은 CLKSIG-00이다. JK플립-플롭(96)은 제어기의 어느 곳에나 사용되는 2개의 출력 즉, CLKSTB+00과 그것의 보수 CLKSTB-00을 생성한다. 클럭 신호로서 CLKOSC+00을 사용하는 다른 JK플립플롭-플롭(102)은 자체에 J 및 K입력 단자와 세트 입력단자를 갖고 있는데, 이들 모두는 하이로 결합된다. 그러나 리세트 입력단자는 다르다. 리세트 입력 단자는 신호 CLKSIG+00이 입력된다. JK플립-플롭(102)으로부터의 2개의 출력은 UPSTB+00 및 UPSTB-00이다.
전술한 신호들은 제 5 도에 도시되어 있다. 제어기의 동작을 제어하는데 있어서 신호들의 역할은 이하에서 상세히 설명된다.
제 4 도는 스크래치 패드 메모리(16)의 주요부를 나타낸다. 가장 중요한 요소는 메모리 유닛(30)이다. 다른 요소들로는 각 마이크로프로세서(10, 12)의 ALU(31A, 31B)로부터 수신된 어드레스를 기억하는 2개의 어드레스 레지스터(32, 34)가 있다.
어드레스 레지스터(32, 34)는 멀티플렉서(36)와 결합하여 동작한다. 멀티플렉서(36)는 어드레스 레지스터(32, 34)중 하나의 레지스터로부터 어드레스를 선택한다. 메모리 유닛(30)에 공급되는 데이타 입력 및 메모리 유닛(30)으로부터의 데이타 출력은 입력 레지스터(33A, 33B) 및 출력 레지스터(35A, 35B) 각각에 기억된다.
제어기억부(14)는 마이크로프로세서(10, 12) 각각의 동작을 제어하기 위한 마이크로 명령 세트를 포함한다. 이들 마이크로 명령중 하나가 제어기억부(14)로부터 독출될때 그 명령은 이하에 기술된 시간에서 명령 레지스터(22A, 22B)중 하나의 명령 레지스터에 래치된다. 도면과 관련한 설명에서 상기 명령은 명령 레지스터(22A)에 클럭된 것으로 가정한다. 명령레지스터(22)에 의해 유지되는 다른 마이크로 명령은 디코딩 회로망(28A), ALU(31A) 및/또는 시퀀서(24A)로 전달된다. 조작부호와 같은 마이크로 명령의 필드는 디코딩 회로딩(28)에 의해 디코드된다.
명령이 스크래치 패드 메모리(16)에 대한 액세스를 요구하는 경우 스크래치 패드 메모리(16)내에 있는 어드레스는 ALU(31A)에 의해 연산된다. ALU(31A)는 또 데이타 버퍼(18X, 18Y)에 대한 액세스가 요구되는 경우 어드레스를 계산한다.
전술한 바와 같이 시퀀서(24A)는 마이크로프로세서에 의해 마이크로 명령 실행순서를 제어한다 시퀀서는 다음 실행될 마이크로 명령에 대한 어드레스를 결정한다. 이들 구성 요소에 의해 처리된 후에 마이크로 명령의 실행이 완료되며, 그후 시퀀서(24A)에 수용된 다음 마이크로 명령의 어드레스 제어기억부(14)로 전달되며 전체 사이클이 반복된다.
마이크로프로세서(10, 12)중 하나의 마이크로프로세서에 대한 전술한 동작설명으로부터 마이크로프로세서가 분리될 수 있음을 알 수 있다. 양 마이크로프로세서(10, 12)는 동일한 제어 기억부(14) 및 스크래치 패드 메모리(16)를 공유하기 때문에 클럭 회로망은 각각이 이들 공유자원(14, 16)에 대해 충분히 액세스할 수 있도록 마이크로프로세서(10, 12)를 동기화한다.
본 발명은 이러한 공유 액세스를 허용해주는 동시에 마이크로프로세서간의 충돌을 방지하기 위해 필요했던 고가의 하드웨어의 필요성을 제거해 준다.
제 5 도는 본 발명의 바람직한 실시예에 사용되는 기본 타이밍을 개략적으로 나타낸다. 도면의 도시는 제어기가 작동하는 동안 어떻게 클럭신호가 사용되는지를 검토하는데 도움이 된다. 양호한 개시점은 마이크로 명령이 마이크로프로세서 A의 명령 레지스터(22A)로 클럭되는 시점(55)이다. 이것은 CLKSIG+00을 명령 레지스터(22A)에 대한 클럭신호로 사용함으로써 수행된다.
제 1 도에 도시된 바와 같이 마이크로 명령는 CLKSIG+00의 상승부분의 선단에지에서 클럭된다. 명령 레지스터(22A)는 실제로 적어도 3개의 레지스터(22AA, 22AB, 22AC, 제2-2도)로 구성되는데, 각각은 제 3 마이크로 명령을 수용한다.
명령 레지스터(22A)로 클럭된 바로 직후에 마이크로 명령 비트는 마이크로프로세서 A의 다른 부분으로 전송된다. 그러므로 시점(55)와 시점(62) 사이의 반사이클 CLKSIG+00 동안 마이크로 명령이 실행되지 시작한다.
명령 레지스터(22AA, 22AB, 22AC)에 의해 수용된 마이크로 명령의 비트가 전송되는 경우 그들이 나타내는 필드가 결정된다. 이 마이크로 명령의 비트는 디코딩 회로망(28A), ALU(31A) 및/또는 시퀀서(24A)로 전송된다.
디코딩 회로망(28A)으로 전송된 비트들은 디코딩 회로(28)가 디코드되기 전에 인에이블 될때까지 기다려야 한다. 디코딩 회로망(28A)은 여러개의 디코딩 유닛(28AA,, 28AB, 28AC, 28DA, 28AE)으로 구성되는데, 그 각각은 디코딩 회로를 인에이블하는 분리된 클럭 신호를 갖는다. 따라서, 마이크로 명령 비트가 CLKSIG+00 사이클 동안 디코드될때 특정 디코딩 유닛에 대한 클럭사이클에 따라 마이크로 명령 비트가 입력된다. 데이타 버퍼(18)를 점유 또는 해제하도록 명령을 디코드하는 디코드 유닛(28AA)은 CLKSTC-00의 보수를 그 인에이블 입력중 하나로 갖는다. 결국 그 디코딩 유닛(28AA)은 단지 지간주기(63)동안만 인에이블될 수 있다. 이와 유사하게, 데이타 버퍼에 기입하도록 명령을 디코드하는 디코딩 유닛(28AB)은 CLKSA-00의 보수를 그 인에이블 입력중 하나의 입력으로 갖는다. 이것은 시간주기(64) 동안만 인에이블 될 수 있다. 마이크로프로세서 A에 의해 스크래치 패드 메모리에 기입하도록 마이크로 명령을 디코드하는 디코딩 유닛(28AC) 또한 인에이블 될 수 있는 시간 주기로 제한된다. 그 인에이블 입력의 하나는 보수 CLKSTB-00이다.
이것은 단지 시간주기(65)동안만 인에이블 될 수 있다. 이와 유사하게 디코딩 유닛(28AE)은 그 인에이블 입력중 하나의 입력으로서 보수 CLKSTB-00를 갖는다.
전술한 바와 같이, 마이크로 명령의 비트는 디코딩 회로망(28A)뿐만 아니라 ALU(31A)에도 입력된다. 이들 비트들은 ALU(31A)의 연산에 사용된다. 연산의 중요성은 명령 레지스터(22A)로 클럭되는 마이크로 명령에 따른다. ALU(31A)로부터의 출력은 레지스터(11A)에 기억된다. 이들 레지스터는 신호 OC1STB+00인 클럭 입력을 갖는다. OC1STB+00는 CLKSTB-00의 보수와 OPCOD1-00의 보수의 곱이된다. OPCOD1-00는 하나의 디코딩 유닛(28AD)에 의해 생성된 신호이다.
4종류의 마이크로 명령, 즉 세트/리세트, ALU, 테스트 및 브랜치, 브랜치가 있다. 마이크로 명령중 최초의 2 비트는 마이크로 명령의 명령 형태를 나타낸다. OPCOD1-00는 마이크로 명령이 ALU 형태의 마이크로 명령임을 나타내는 출력이다. OPCODO-00는 브랜치 마이크로 명령을 나타내고, OPCOD2-00는 테스트 및 브랜치 마이크로 명령을 나타내며, OPCOD3-00는 세트 및 리세트 명령을 나타낸다. 그들은 모두 로우로 액티브된다. 따라서, CLKSTB-00는 로우 상태이어야 하며, OPCOD1-00은 OCISTB+00이 하이 동안 로우상태이어야 한다.
전술한 바와 같이 비트는 시퀀서(24A)로 진행한다. 명령 레지스터(22A)와 같이 시퀀서(24A)는 자체 클럭 신호로 CLKSIG+00을 사용한다. CLKSIG+00신호의 상승 에지에서 ALU(31A) 및 디코딩 회로망(28A)으로부터의 필드는 시퀀서(24A)로 클럭된다. 그러나, 출력은 UPRCEN-OA가 하이로 될때까지 인에이블되지 않는다. UPRCEN-OA는 입력 즉, CLKSIG-00 및 UPRCEN+00(정상동작동안 하이로 결하되는 테스트 신호)을 갖는 NAND게이트(119)로부터의 출력이다. 정상 동작 동안 UPRCEN-OA는 CLKSIG-00에 의해 지시받는다.
따라서, 필드는 시점(55)에서 시퀀서로 클럭된다. 마이크로프로세서 B는 대응신호 UPRCEN+OB 및 CLKSIG+00를 갖는다. UPRCEN+OB는 정상동작 동안 하이로 결합된다. UPRCEN-OB는 CLKSIG+00 및 UPRCEN+OB의 입력을 가진 NAND게이트(18)로부터의 출력이다. 따라서, 시퀀서(24A)로부터의 합성 출력은 시점(62)까지 유효하지 않게 된다. 이 마이크로 명령 데이타는 시점(60)에서 명령 레지스터(22A)로 클럭된다.
시퀀서(24A)에 의해 발생된 어드레스 시점(62)에서 개시하는 제어기억부로 이송된다. 이 어드레스는 시점(62)에서 개시되는 반사이클동안 제어기억부(14)로부터 마이크로 명령을 검색하는데 사용된다. 검색된 마이크로명령은 시점(60)까지 명령 레지스터(22A)로 클럭되지 않는다. 시점(60)까지는 이전에 페치된 마이크로 명령의 실행이 완료된다. 시점(60)에서 마이크로프로세서 A에 대한 사이클이 다시 시작된다.
전술한 설명은 바람직한 실시예에 수반되는 동기화를 나타낸다. 시점(62)에서, 마이크로프로세서 B는 자체의 명령 레지스터(22B)로 클럭되는 마이크로 명령을 갖는다. 그것은 마이크로프로세서 A에 대해 전술한 단계를 반복하지만, 마이크로프로세서 B는 마이크로프로세서 A의 동작과 달리 CLKSIG+00의 반사이클의 위상차로 동작한다. 마이크로프로세서들간의 타이밍 차이는 각각에 대한 클럭 신호를 살펴봄으로써 알 수 있다. 우선, 마이크로 프로세서 B의 명령 레지스터에 대한 클럭 신호는 CLKSIG-00이다. 더욱이 디코딩 유닛은 다른 클럭 범위를 이용한다. 스크래치 패드 액세스를 요하는 마이크로 명령을 디코딩하는 디코딩 유닛(28BC, 28BE)은 자체 클럭 신호로서 UPSTB-00의 보수를 갖는다. 데이타 버퍼(18X, 18Y)를 해제 또는 점유하도록 마이크로 명령을 디코드하는 디코딩 회로 유닛(28BA)은 자체 클럭 신호로서 CLKSTA-00의 보수를 갖는다. 또, 데이타 버퍼로 기입하도록 하는 명령을 디코드하는 디코더 유닛(28BB)은 자체의 클럭 입력으로서 CLKSTC-00의 보수를 갖는다.
이들 클럭 신호의 결과로서, 데이타 버퍼는 시점(58)과 시점(62) 사이의 CLKSIG-00 사이클에 대한 시간주기(67)동안 마이크로프로세서 B에 의해 단지 일시 점유되거나 또는 해제될 수 있을 뿐이다. 이와 유사하게, 마이크로 프로세서 B에 의해 스크래치 패드 메모리로의 기입은 시간주기(66)로 제한되며, 데이타 버퍼로의 기입은 시간주기(68)로 제한된다. 이러한 동기화 방식은 양마이크로프로세서가 충돌없이 스크래치 패드 메모리(16), 제어 기억부(14) 및 데이타 버퍼(18X, 18Y)를 효과적으로 공유할 수 있도록 해준다.
각 마이크로프로세서(10, 12)의 시퀀서(24A, 24B)는 또한 상이한 클럭 신호에 의존한다. CLKSIG+00는 전술한 바와 같이 시퀀서(24A)에 대한 클럭 신호인 반면 CLKSIG-00은 시퀀서(24B)에 대한 클럭 신호이다. 또, 시퀀서(24A)는 자체 출력 인에이블 신호로 CLKSIG-00에 의존한다. 한편, 시퀀서(24B)는 자체 출력 인에이블 신호로서 CLSIG+00에 의존한다.
마이크로 명령의 필드가 명령 레지스터(22A)에 입력될때 이송되는 경우를 조사해 보기 위해서는 디코딩 회로망(28A)으로부터의 출력을 좀 더 잘 조사해보는 것이 필요하다. 움직이지 못하게 되거나 정지된 데이타 버퍼를 필요로 하는 마이크로 명령이 디코드되는 경우, 디코딩 유닛에서의 특정 출력은 프로그래머블 어레이 로직(PAL)에서 실행되는 시징 로직(seizing logic)(19)으로 향하게 된다. 양호한 실시예에 있어서는, PAL2OR4A 및 PAL2OL8A 칩들이 사용된다. 시징 로직(19)은 데이타 버퍼가 마이크로프로세서(10, 12) 중의 하나에 의해 점유되는지의 여부를 결정한다. PAL은 멀티플렉서(27, 29)에 접속된다. 이들 멀티플렉서는 어드레스 레지스터(23, 25)로부터 어드레스를 선택하는데 사용된다. 그것들은 인버터(120)를 통해 CLKSIG+00을 보수화함으로써 얻어지는 신호 CLKSIG+11에 의해 클럭된다. 그러나, 데이타 버퍼(18X, 18Y)가 본 발명의 핵심은 아니다. 데이타 버퍼 및 시징 로직의 상세한 설명은 관련 출원인 "페이지식 데이타 버퍼 관리를 사용한 주변 장치 제어기(Peripheral Controller with paged Data management)"에 설명되어 있다.
디코딩 회로(28A)에 의해 디코드된 마이크로 명령이 스크래치 패드 메모리(16)에 대한 액세스를 탐색하면 디코딩 회로(28a)로부터 적합한 신호가 스크래치 패드 메모리(16)로 보내진다. 2개의 신호는 SPMIDA-00 및 SRIA02-00 신호이다. 디코딩 유닛(28AC)으로부터 나오는 SPMIDA-00신호는 요구되는 스크래치 패드 어드레스 레지스터(32)에서 유지되는 어드레스를 증가시키기 위한 명령이 요구되는 것을 나타낸다. SRIA02-00신호는 스크래치 패드 어드레스 레지스터(32)가 마이크로 명령의 AOP 필드와 함께 로드될 것이라는 것을 지시한다. 상기 AOP필드는 마이크로 명령의 제 7 비트 내지 제10비트로 구성된다. 이들 두 신호가 특히 흥미로운 것은 그들의 보수가 SPMCLK+00로 OR결합된다는 점이다. SPMCLK+00 신호는 어드레스 레지스터(32)내에 입력되는 클럭 입력처럼 사용된다.
스크래치 패드 메모리(16)에서 액세스될 어드레스는 ALU(31A)에 의해 계산된다. 상기 계산된 어드레스는 SPMCLK+00의 선단부에서 스크래치 패드 어드레스 레지스터(32)로 클럭된다. 그러나 상기 어드레스는 멀티플렉서(36)가 어드레스 레지스터(32)를 선택할때까지는 사용되지 않을 것이다.
멀티플렉서가 어느 어드레스 레지스터를 선택하는 지는 CLKSIG+00신호의 상태에 달려있다. CLKSIG-00가 하이인 경우 멀티플렉서는 어드레스 레지스터(32)를 선택하겠지만 CLKSIG-00가 로우인 경우에는 어드레스 레지스터(34)를 선택할 것이다. 그러므로, 어드레스가 어드레스 레지스터(32, 34)로 로드되는 1/2 사이클 다음의 1/2 사이클까지 멀티플렉서(36)는 선택하지 않는다. 예컨대, 어드레스 레지스터(32)는 시점(62) 및 시점(60) 사이의 1/2 사이클 동안 어드레스를 받아 들인다. 그러나 어드레스에 의해 표시된 메모리 유닛(30)내의 메모리 위치는 즉시 뒤따르는 60의 1/2 사이클의 될대까지 액세스될 수 없다. 일단 선택되면 어드레스 레지스터내의 어드레스는 메모리 유닛(30)을 액세스 하는데 사용된다.
메모리 유닛(30)에 대한 전체 입력은 입력 레지스터(33A, 33B)내에 기억된다. 레지스터(33A)는 마이크로프로세서 A로부터의 입력을 기억하고 (33B)는 마이크로프로세서 B로부터의 입력을 기억한다. 입력 레지스터들(33A, 33B)은 항상 하이 상태로 되는 클럭 신호들을 가지고 있다. 그러므로, 그들의 동기화는 그들의 출력 인에이블에 의해 제어된다. 그들의 출력은 SPMWEN-OA의 보수 및 SPMWEN-OA의 보수 각각에 의해 인에이블 된다. SPMWEN-OA 및 SPMWEN-OB는 멀티플렉서(121)로부터 얻어진다. CLKSIG+00가 하이이고 SPMWEN-OA도 하이인 경우, SPMWEN-OA가 로우로 되어 입력 레지스터(33A)로부터의 출력을 인에이블시킨다. 이와 유사하게, CLKSIG-00가 로우이고 SPMWEN-OB가 하이인 경우, SPMWEN-OB가 로우로 되어 입력 레지스터(33B)로부터의 출력을 인에이블 시킨다. 출력은 출력 레지스터(35A, 35B)내에 기억된다. 35A는 마이크로 프로세서 A에 대한 출력을 기억하고 35B는 마이크로프로세서 B에 대한 출력을 기억한다. 출력 레지스터(35A)는 그것의 클럭 신호와 같은 CLKSIG+00를 가지고 출력 레지스터(35B)는 그것의 클럭 신호와 같은 CLKSIG-00를 갖는다. 그러므로, 2개의 출력 레지스터(35A, 35B)는 위상차가 1/2 사이클이다.
상기에 대한 논의는 마이크로프로세서 A에 초점을 맞춘 것이다.
마이크로프로세서 B의 동작도 상기 것과 유사하다. 이들 2개의 마이크로 프로세서(10, 12)의 차이는 그것들이 동작을 결정하는 타이밍 신호에 달려있다.
마이크로프로세서 A에 대해 언급한 모든 신호에 대해 마이크로프로세서 B는 그에 대응하는 신호가 있다. 대부분의 대응신호는 상술한 바 있다.
상기 타이밍에 대한 설명은 예시적인 것이다. 마이크로프로세서 A와 마이크로프로세서 B는 기술된 구조와 반대로 동기화 될 수 있다(즉, 마이크로 프로세서 A 및 마이크로프로프로세서 B는 주어진 업무를 수행했을때 시간을 스왑할 수 있다). 더욱이 2개 이상의 마이크로프로세서가 사용되는 경우 상기 타이밍은 바뀌어야만 한다. 예컨대, 3개의 마이크로프로세서가 사용되는 경우, 한 사이클은 각 부분의 시간 주기동안 동작을 수행하는 각 구성요소에 의해 3개의 부분으로 나뉠수 있다. 이들 변경은 본 발명내에 포함된다.
본 발명의 제어 기억부(14)를 이용하기 위해서는 우선적으로 동작에 대한 준비가 되어 있어야만 한다. 여기서 준비한 제어 기억부(14)의 초기위치(50)(제 7 도 참조)로 테스트 마이크로 명령을 로딩하는 것을 의미한다. 또한 각각의 마이크로프로세서(10, 12)에 대한 마이크로 명령 세트가 제어기억부(14)에 로딩된다. 그것들은 제 7 도에서 나타낸 바와 같이 구성되거나 필요하다면 다른 방법으로 구성될 수 있다. 마이크로프로세서(10, 12)가 동작을 시작하면 그것들은 마이크로 명령이 기억되는 곳에서 초기 위치(50)로 향하게 된다.
상기 마이크로 명령은 테스트 및 브렌치형 마이크로 명령을 포함하고 있다. 상기 테스트 마이크로 명령은 시험을 실행하는 마이크로프로세서의 동일성을 테스트한다. 상기 테스트 마이크로 명령은 마이크로프로세서중 하나의 마이크로프로세서의 동일성을 식별할 수 있다. 이레로, 마이크로프로세서 A의 동일성을 식별한다. 그것은 마이크로프로세서의 동일성과 공지된 동일성을 비교해서 그들이 일치하면 브랜치가 발생한다. 그러므로, 동일성이 공지된 동일성과 일치하는 마이크로프로세서 A는 테스트 마이크로 명령을 실행할때 마이크로 명령(52) 세트의 개시점으로 브랜치한다. 다른 한편으로, 마이크로프로세서 B가 테스트 마이크로 명령을 실행하면 동일성이 일치하지 않으므로 브랜치가 일어나지 않는다. 순차적으로 그다음의 마이크로 명령이 페치되는데, 이것은 마이크로프로세서 B의 마이크로 명령(54) 세트의 시작부이다.
이 처리에 대한 타이밍은 제 6 도에 나타냈다. 시점(5)에서, 상기 테스트 명령이 마이크로프로세서 A로 클럭된다. 바로 다음 시점(5)의 1/2 사이클동안 테스트 명령의 실행이 시작된다. 시점(6)에서, 상기 테스트 마이크로 명령이 마이크로프로세서 B로 클럭된다. 바로 다음 시점(6)의 1/2 사이클동안 마이크로프로세서 A는 브렌치 된다. 마이크로프로세서 B는 테스트 명령의 실행을 시작한다. 시점(7)에서, 마이크로프로세서 A의 일군의 마이크로 명령들(52)중의 제 1 명령은 마이크로프로세서 A로 클럭된다. 마이크로프로세서 A에 대한 처리는 이미 앞에서 설명하였다. 마이크로프로세서 B는 바로 다음 시점(7)의 1/2 사이클동안 테스트 명령에 대한 실행을 완료하고 시점(8)에서 일군의 마이크로 명령들(54) 세트의 제 1 마이크로 명령에 로드된다. 시점(8)을 지난 후의 마이크로프로세서 B에 대한 처리는 이미 앞에서 설명하였다.
본 발명은 종래 기술에 비해 시스템 성능을 개선시키므로 많은 장점들을 가지고 있다. 첫째, 마이크로프로세서들을 동기화시키기 위해 값비싸고 번잡한 하드웨어를 필요로 하지 않는다. 둘째, 본 발명은 데이타 버퍼, 스크레치 패드 메모리 및 제어 기억부를 공유하므로 종래 기술에 비해 훨씬 효율적이며, 데이타 버퍼, 스크래치 패드 메모리, 특히 각각의 마이크로 프로세서를 위해 제어 기억부를 분리시킬 필요가 없다. 세째, 동기화로 인해 동기적으로 판독/기록을 할 수 있는 가능성이 제공된다는 점이다. 이들은 본 발명의 장점중 일부에 불과하며, 모든 것을 말하는 것으로 이해해서는 않된다.
본 발명은 청구범위의 기술적 범주를 벗어나지 않는 범위내에서 기술적으로 숙련된 당업자들에 의해 많은 변형 및 변화를 가져올 수 있다.

Claims (10)

  1. 데이타 처리 시스템 버스와 주변 장치 사이의 데이타 전송을 제어하기 위한 제어기에 있어서, a. 데이타가 데이타 처리 시스템 버스와 주변 장치 사이를 통과하는 경우에 그 데이타를 일시 기억시키기 위한 적어도 하나의 데이타 버퍼와 ; b. 데이타 처리 시스템 버스와 데이타 버퍼 사이의 데이타 전송을 제어하는 제 1 마이크로프로세서와 ; c. 제 1 마이크로프로세서와 통신하여 데이타 버퍼와 주변 장치 사이의 데이타 전송을 제어하는 제 2 마이크로프로세서와 ; d. 상기 두개의 마이크로프로세서에 접속되어, 각각의 마이크로프로세서의 동작을 제어하는 마이크로 명령을 기억하는 제어 기억부와 ; e. 각각의 마이크로프로세서가 제어 기억부에 배타적으로 액세스하는 사이클의 부분동안 각 마이크로프로세서가 그 사이클의 부분에 할당되는 사이클들로 분할되는 클럭 신호를 발생시키는 타이밍 수단을 포함하는 것을 특징으로 하는 데이타 전송 제어기.
  2. 제 1 항에 있어서, 상기 두개의 마이크로프로세서에 접속되는 스크래치 패드 메모리를 추가로 포함하는 것을 특징으로 하는 데이타 전송 제어기.
  3. 제 2 항에 있어서, 각각의 마이크로프로세서가 스크래치 패드 메모리에 배타적으로 액세스하거나, 데이타 버퍼를 배타적으로 점유할 수 있는 사이클의 부분에서 각 마이크로프로세서는 그 사이클의 부분에 할당되는 것을 특징으로 하는 데이타 전송 제어기.
  4. 제 1 항에 있어서, 데이타 버퍼는 두개로 구성되는 것을 특징으로 하는 데이타 전송 제어기.
  5. 제 1 항에 있어서, 상기 제어 기억부는 각각의 마이크로프로세서로 하여금 그 각 세트의 마이크로 명령을 시작하게 하는 시험 명령으로 로딩함으로써 동작이 준비되는 것을 특징으로 하는 데아타 전송 제어기.
  6. 제 5 항에 있어서, 상기 시험 명령은 조건적 브랜치 명령인 것을 특징으로 하는 데이타 전송 제어기.
  7. 데이타 처리 시스템 버스와 주변장치 사이의 데이타 전송을 제어하는 제어기 소자를 동기화시키는 방법에 있어서, a. 시간을 사이클로 분할하는 단계와 ; b. 한 사이클의 제 1 부분의 시작시 제어 기억부로부터 제 1 마이크로프로세서에 의해 명령 페치를 실행하는 단계와 ; c. 상기 사이클의 제 1 부분동안 제 1 마이크로프로세서에 의해 페치된 마이크로 명령의 실행을 시작하여, 제 2 마이크로프로세서에 의해 페치된 이전의 마이크로 명령의 실행을 완료하는 단계와 ; d. 상기 사이클의 제 2 부분의 시작시에 제어 기억부로부터 제 2 마이크로프로세서에 의해 명령 페치를 실행하는 단계와 ; e. 상기 사이클의 제 2 부분 동안, 제 2 마이크로프로세서에 의해 페치된 마이크로 명령의 실행을 시작하여 제 1 마이크로프로세서에 의해 페치된 마이크로 명령의 실행을 완료하는 단계와 ; f. 상기 단계 b 내지 e를 반복하는 단계를 포함하는 것을 특징으로 하는 제어기 소자 동기화 방법.
  8. 제 1 유닛(2)과 제 2 유닛(2) 사이의 데이타 전송을 위해 상기 제 1 유닛과 관련된 데이타의 전송을 제어하는 제 1 프로세서(12)와, 상기 제 2 유닛과 관련된 데이타의 전송을 제어하는 제 2 프로세서(10)를 구비한 제어기에 있어서, 실질적으로 동일한 기간의 제1 및 제 2 반사이클을 포함하는 주기적 클럭 신호를 발생하여 상기 클럭 신호를 상기 제1 및 제 2 프로세서에 인가하기 위한 타이밍 부재(38)와, 상기 프로세서 양자에 접속되며, 상기 제 1 프로세서를 제어하기 위한 제 1 의 마이크로 명령 세트(54)와 상기 제 2 프로세서를 제어하기 위한 제 2 마이크로 명령 세트(52)를 유지하기 위한 제어 기억부(14)를 구비하는데, 상기 각각의 명령 세트는 상기 각각의 프로세서에 의해 수행되는 특정한 기능을 제어하기 위한 유일한 것이며 ; 상기 제 1 프로세서는 상기 클록 신호의 상기 제 1 의 반사이클에 의해 동기화되어 상기 제 1 의 반사이클 동안 마이크로 명령을 얻도록 상기 제어 기억부를 액세스하고 ; 상기 제 2 프로세서는 상기 클록 신호의 상기 제 2 의 반사이클에 의해 동기화되어 상기 제 2 반사이클동안 마이크로 명령을 얻도록 상기 제어기억부를 액세스하는 것을 특징으로 하는 데이타 전송 제어기.
  9. 제 8 항에 있어서, 상기 프로세서들이 상기 제어 기억부를 액세스하는 각각의 반사이클동안 각각의 프로세서는 그 각각의 마이크로 명령 세트만을 액세스하는 것을 특징으로 하는 데이타 전송 제어기.
  10. 제 8 항에 있어서, 상기 제1 및 제 2 유닛으로부터 수신된 데이타가 일시 기억을 위해 기입되는 데이타 버퍼(18, 19)를 추가로 구비하며, 상기 마이크로프로세서들은 수신된 데이타가 상기 버퍼에 기입되는 것을 제어하도록 상기 버퍼에 접속되며, 상기 각각의 반사이클 동안만 상기 버퍼를 액세스하도록 상기 제1 및 제 2 반사이클에 의해 동기화되는 것을 특징으로 하는 데이타 전송 제어기.
KR1019900000123A 1989-01-10 1990-01-08 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법 KR940011594B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US295629 1989-01-10
US07/295,629 US5081609A (en) 1989-01-10 1989-01-10 Multiprocessor controller having time shared control store
US89-295629 1989-01-10

Publications (2)

Publication Number Publication Date
KR900012156A KR900012156A (ko) 1990-08-03
KR940011594B1 true KR940011594B1 (ko) 1994-12-22

Family

ID=23138542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900000123A KR940011594B1 (ko) 1989-01-10 1990-01-08 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법

Country Status (9)

Country Link
US (1) US5081609A (ko)
EP (1) EP0378071B1 (ko)
JP (1) JPH02226457A (ko)
KR (1) KR940011594B1 (ko)
CN (1) CN1021147C (ko)
AU (1) AU622748B2 (ko)
CA (1) CA2007004C (ko)
DE (1) DE69032511T2 (ko)
NO (1) NO900093L (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347638A (en) * 1991-04-15 1994-09-13 Seagate Technology, Inc. Method and apparatus for reloading microinstruction code to a SCSI sequencer
NL9301129A (nl) * 1993-06-29 1995-01-16 Nederland Ptt Processorcircuit omvattende een eerste processor, en systeem omvattende het processorcircuit en een tweede processor.
US9513744B2 (en) * 1994-08-15 2016-12-06 Apple Inc. Control systems employing novel physical controls and touch screens
US5564027A (en) * 1995-04-20 1996-10-08 International Business Machines Corporation Low latency cadence selectable interface for data transfers between busses of differing frequencies
KR960043938A (ko) * 1995-05-27 1996-12-23 김광호 멀티프로세서 제어시스템의 단위 프로그램에 대한 메세지 과부하 제어방법
US20090273574A1 (en) 1995-06-29 2009-11-05 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US5644174A (en) * 1996-03-22 1997-07-01 Sun Microsystems, Inc. Universal AC sequencer for a server
CA2299550A1 (en) * 1999-03-31 2000-09-30 International Business Machines Corporation Dynamic i/o allocation in a partitioned computer system
CN100409221C (zh) * 2002-12-05 2008-08-06 亮标公司 具有笛卡尔控制器的数据处理系统以及处理数据的方法
US20080129707A1 (en) * 2004-07-27 2008-06-05 Pryor Timothy R Method and apparatus employing multi-functional controls and displays
US20100231506A1 (en) * 2004-09-07 2010-09-16 Timothy Pryor Control of appliances, kitchen and home
US20120151153A1 (en) * 2009-07-03 2012-06-14 Axel JANTSCH Programmable Controller

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3500466A (en) * 1967-09-11 1970-03-10 Honeywell Inc Communication multiplexing apparatus
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
IT991096B (it) * 1973-07-10 1975-07-30 Honeywell Inf Systems Calcolatore elettronico con reti funzionali indipendenti per l esecuzione simultanea di opera zioni diverse sugli stessi dati
JPS5410219B2 (ko) * 1973-12-07 1979-05-02
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
JPS5194734A (en) * 1975-02-19 1976-08-19 Tajushorisochino enzanseigyohoshiki
US4028668A (en) * 1975-12-22 1977-06-07 Honeywell Information Systems, Inc. Apparatus for selectively addressing sections and locations in a device controller's memory
US4124888A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Peripheral-unit controller apparatus
US4084229A (en) * 1975-12-29 1978-04-11 Honeywell Information Systems Inc. Control store system and method for storing selectively microinstructions and scratchpad information
US4062058A (en) * 1976-02-13 1977-12-06 The United States Of America As Represented By The Secretary Of The Navy Next address subprocessor
US4156925A (en) * 1976-04-30 1979-05-29 International Business Machines Corporation Overlapped and interleaved control store with address modifiers
US4050097A (en) * 1976-09-27 1977-09-20 Honeywell Information Systems, Inc. Synchronization technique for data transfers over an asynchronous common bus network coupling data processing apparatus
US4085450A (en) * 1976-12-29 1978-04-18 Burroughs Corporation Performance invarient execution unit for non-communicative instructions
US4296464A (en) * 1977-03-03 1981-10-20 Honeywell Inc. Process control system with local microprocessor control means
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
US4246637A (en) * 1978-06-26 1981-01-20 International Business Machines Corporation Data processor input/output controller
US4321665A (en) * 1979-01-31 1982-03-23 Honeywell Information Systems Inc. Data processing system having centralized data alignment for I/O controllers
US4327408A (en) * 1979-04-17 1982-04-27 Data General Corporation Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4322792A (en) * 1979-12-14 1982-03-30 Burroughs Corporation Common front-end control for a peripheral controller connected to a computer
US4348723A (en) * 1980-04-15 1982-09-07 Honeywell Information Systems Inc. Control store test selection logic for a data processing system
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4488231A (en) * 1980-09-29 1984-12-11 Honeywell Information Systems Inc. Communication multiplexer having dual microprocessors
US4384285A (en) * 1981-02-19 1983-05-17 Honeywell Information Systems Inc. Data character video display system with visual attributes
US4603400A (en) * 1982-09-30 1986-07-29 Pitney Bowes Inc. Mailing system interface interprocessor communications channel
EP0137804A4 (en) * 1983-02-07 1987-10-12 American Telephone & Telegraph NETWORK INTERFACE.
JPS60122450A (ja) * 1983-12-05 1985-06-29 Hitachi Ltd マイクロ・プロセッサ
US4695943A (en) * 1984-09-27 1987-09-22 Honeywell Information Systems Inc. Multiprocessor shared pipeline cache memory with split cycle and concurrent utilization
US4800523A (en) * 1985-02-25 1989-01-24 Itt Corporation Device interface controller having device specific and device common instructions separately stored
US4750113A (en) * 1985-02-28 1988-06-07 Unisys Corporation Dual function I/O controller
US4754396A (en) * 1986-03-28 1988-06-28 Tandem Computers Incorporated Overlapped control store
US5010476A (en) * 1986-06-20 1991-04-23 International Business Machines Corporation Time multiplexed system for tightly coupling pipelined processors to separate shared instruction and data storage units
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
JPS63228250A (ja) * 1987-03-17 1988-09-22 Fujitsu Ltd 入出力制御装置
US4821170A (en) * 1987-04-17 1989-04-11 Tandem Computers Incorporated Input/output system for multiprocessors
US4890225A (en) * 1988-04-01 1989-12-26 Digital Equipment Corporation Method and apparatus for branching on the previous state in an interleaved computer program
US5117387A (en) * 1988-08-18 1992-05-26 Delco Electronics Corporation Microprogrammed timer processor

Also Published As

Publication number Publication date
CA2007004A1 (en) 1990-07-10
CN1021147C (zh) 1993-06-09
DE69032511T2 (de) 1999-04-29
EP0378071A2 (en) 1990-07-18
AU622748B2 (en) 1992-04-16
CA2007004C (en) 1994-06-07
EP0378071A3 (en) 1991-08-28
NO900093L (no) 1990-07-11
CN1044720A (zh) 1990-08-15
AU4772290A (en) 1990-07-19
US5081609A (en) 1992-01-14
KR900012156A (ko) 1990-08-03
JPH02226457A (ja) 1990-09-10
EP0378071B1 (en) 1998-07-29
DE69032511D1 (de) 1998-09-03
NO900093D0 (no) 1990-01-09

Similar Documents

Publication Publication Date Title
US4961162A (en) Multiprocessing system for performing floating point arithmetic operations
US5125084A (en) Control of pipelined operation in a microcomputer system employing dynamic bus sizing with 80386 processor and 82385 cache controller
US4118773A (en) Microprogram memory bank addressing system
US4371925A (en) Data processing system having unique bus control operation
US4310880A (en) High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit
US4980819A (en) Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system
US4443848A (en) Two-level priority circuit
KR940011594B1 (ko) 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법
US3786434A (en) Full capacity small size microprogrammed control unit
US4631667A (en) Asynchronous bus multiprocessor system
EP0602915B1 (en) SIMD architecture for connection to host processor's bus
JPS6319854Y2 (ko)
US5341495A (en) Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols
JPS6134182B2 (ko)
US4524417A (en) Timing signal controlled information processing system
KR940011041B1 (ko) 마이크로컴퓨터
JP2680828B2 (ja) ディジタル装置
CA1175581A (en) Data processing machine with improved cache memory management
US4794527A (en) Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times
JPH1185673A (ja) 共有バスの制御方法とその装置
EP0260639A2 (en) Microprogram sequencer
JPS62251829A (ja) シンボリツク処理システムおよび方法
JPS5938828A (ja) デ−タ処理システム
JPS6217777B2 (ko)
JPS6223894B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee