KR860000982B1 - 2개의 마이크로프로세서를 갖는 통신 멀티플렉서 - Google Patents

2개의 마이크로프로세서를 갖는 통신 멀티플렉서 Download PDF

Info

Publication number
KR860000982B1
KR860000982B1 KR1019810003666A KR810003666A KR860000982B1 KR 860000982 B1 KR860000982 B1 KR 860000982B1 KR 1019810003666 A KR1019810003666 A KR 1019810003666A KR 810003666 A KR810003666 A KR 810003666A KR 860000982 B1 KR860000982 B1 KR 860000982B1
Authority
KR
South Korea
Prior art keywords
microprocessor
input
line
data
main memory
Prior art date
Application number
KR1019810003666A
Other languages
English (en)
Other versions
KR830008235A (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 KR830008235A publication Critical patent/KR830008235A/ko
Application granted granted Critical
Publication of KR860000982B1 publication Critical patent/KR860000982B1/ko

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • 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
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Abstract

내용 없음.

Description

2개의 마이크로프로세서를 갖는 통신 멀티플렉서
제 1 도는 데이터 처리 시스템의 전체 블록도.
제 2 도는 통신 제어장치(10)의 전체 블록도.
제 3 도는 입출력 마이크로프로세서(36) 및 라인 마이크로프로세서(56)의 개입중단 논리장치에 대한 논리도.
제 4 도는 통신 제어장치(10)의 ROM 및 RAM의 어드레스 위치는 식별하는 도면.
제 5 도는 공유 메모리(44)의 메일박스에 대한 레이아웃을 도시한 도면.
제 6 도는 입출력 마이크로 프로세서(36) 및 라인 마이크로 프로세서(56)가 전형적인 동작을 행하는 경우의 순서도.
* 도면의 주요부분에 대한 부호의 설명
(2) : 중앙처리장치(CPU) (4) : 주 기억장치
(6) : 주변장치 (8) : 통신 멀티플렉서
(10) : 통신 제어장치 (12,13,14) : 라인 어댑터
(16) : 시스템 버스 (17) : 라인 어댑터 버스
(18) : 음극선과 디스플레이(CRT) (20) : 다이얼링 장치
(21) : 텔레타이프 장치 (22) : 변복조장치(MODEM)
(24) : 라인 프린터 (30) : 버스 인터페이스
(32) : 프리런닝 타이머 (34) : 입출력 페이징 논리
(36) : 입출력 마이크로 프로세서 (38) : PROM
(40) : 작업용 RAM (44) : 공유 RAM
(50) : S레지스터 (52) : 작업용 RAM
(54) : 라인 페이장 논리 (56) : 라인 마이크로 프로세서
(62) : 중단 타이머 (64) : 우선순위 주사장치
(66) : 라인 어댑터 인터페이스 (68) : 입출력 어드레스 버스
(70) : 라인 어드레스 버스 (72) : 라인 데이타 버스
(74) : 입출력 데이타 버스 (76) : 클럭장치
(78) : 개입 중단논리
본 발명은 통신환경에서의 데이터 처리 시스템, 특히 하나는 장치와의 통신을 위한 것이고 다른 하나는 장치 및 주 기억장치와의 통신을 위한 것인 두 개의 마이크로 프로세서를 사용하는 데이터 처리 시스템에 관한 것이다.
데이터 처리 시스템은 통신 제어장치 또는 통신 멀티플렉서로 불리는 것에 의해 다수의 통신라인에 결합된다. 각각의 통신라인은 전형적으로 음극선과 디스플레이(CRT)에 결합될 수 있다. 통신 제어기는 데이터 처리 시스템의 주기억장치와 장치 사이에서 통신 라인을 거쳐 데이터를 전송하도록 동작한다.
미국 특허 제3,500,466호의 "통신 멀티플렉싱 장치"에 기술한것 같은 종래의 통신 멀티플렉서는 제 1 프로세서와 제 2 프로세서를 포함하는데, 제 1 프로세서는 다수의 통신 라인으로부터 데이터 비트의 어셈블링을 행하기 위한 것이고 제 2 프로세서는 하나 이상의 특수한 제어용 문자가 수신된 후에 제 1 프로세서와 데이터 프로세서와 의데이터 문자의 전송을 행하기 위한 것이다. 이런 종래의 통신 멀티플렉서는 시스템 효율(throughput)을 제한하고 대규모 하드웨어를 필요로 하는 문제점이 있었다. 왜냐하면 단일 비트 프로세서는 특별히 기억된 문자와 각 라인으로부터 수신된 비트를 비교함으로써 비트를 바이트로 어셈블하는 것이 필요했기 때문이다.
필요한 하드웨어는 메모리에 기억된 채널제어블록을 사용함으로써 통신 라인을 제어하는 마이크로프로세서를 사용하는 것에 의해 감소된다. 그러한 시스템은 미국 특허 제 4,133,030호의 「채널전용 제어블록을 채용한 통신처리 시스템내의 데이터 전송을 위한 제어시스템」에기술되어 있다. 그러나 이 시스템은 처리될 수 있는 통신 라인의 수를 제한함으로써 시스템 효율을 제한하게 된다.
따라서, 본 발명의 제 1 목적은 데이터 처리 시스템에서 사용하기 위한 개선된 통신 서브 시스템을 제공하는 것이다.
본 발명의 제 2 목적은 개선된 프로그램 가능한 통신 시스템을 제공하는 것이다.
본 발명의 제 3 목적은 통신 라인과 동작하는 제 1 마이크로프로세서와 중앙 처리 장치 및 데이터 처리 시스템의 주 기억장치와 동작하는 제 2 마이크로프로세서를 갖는 통신 서브시스템을 제공하는 것이다.
본 발명의 제 4 목적은 제 1 마이크로프로세서가 제 2 마이크로 프로세서로부터의 신호에 응답하도록 되어 있는 장치를 제공하는 것이다.
데이터 처리 시스템은 버스에 공통 접속된 중앙처리 장치, 주기억장치 및 통신 서브 시스템을 구비한다. 통신 서브 시스템은 통신 제어장치 및 통신 라인을 통해 다수의 장치를 통신 제어 장치에 결합하기 위한 다수의 라인 어댑터를 포함한다.
통신 제어장치는 라인측과 I/O측을 갖는다. 라인측은 라인 어드래스 버스와 라인 데이터 버스에 의해 공유 메모리에 결합된다. I/O측은 입출력 어드레스 버스와 입출력 데이터 버스에 의해 공유 메모리에 결합된다. 라인측은 라인 어댑터와 공유 메모리 사이에서 데이터의 전송을 제어하고 I/O측은 공유 메모리 및 주메모리 또는 중앙처리 장치 사이에서 데이터의 전송을 제어한다.
전형적인 동작에 있어서, 메일 박스(mail box)라고 불리는 공유 메모리에서의 한 영역은 장치중 하나로부터의 데이터 바이트 및 장치의 채널 수로 라인측에 의해 로우드(load)된다. I/O측은 메일 박스에 기억된 데이터 바이트의 공유 메모리의 채널 제어 블록에 기억된 주 메모리 어드레스를 시스템 버스를 통해 주메모리로 전송한다.
만일 장치가 데이터 바이트를 필요로 한다면, 라인측은 메일박스를 채널수로 로우드한다. I/O측은 주메모리 요구를 시스템 버스를 통해 주메모리로 전송하고 주메모리로부터 데이터 바이트를 수신하여 데이터 바이트 메일 박스에 기억한다. 라인측은 그 데이타 바이트를 메일박스로부터 요구중인 장치로 전송한다.
라인 마이크로 프로세서는 라인측의 동작을 제어하고 입출력 마이크로프로세서는 I/O측의 동작을 제어한다. 라인 어댑터로부터의 신호는 폴(poll)에 응답하여 라인 마이크로프로세서로 하여금 그것의 동작을 개입중단(interrput)하여 요구중인 장치를 서비스하고, 메일박스 내에 정보를 기억하고 메일박스의 플레그 비트를 세트시키도록 한다. 이어서 라인 마이크로프로세서는 입출력 이마이크로 프로세서를 개입 중단시키는 신호를 발생한다. 입출력 마이크로프로세서는 주메모리로 정보를 전송하고 응답을 메일박스로 로우드하고 플래그비트를 리세트시킨다. 라인 마이크로프로세서는 플래그비트를 시험하고 입출력 마이크로프로세서가 I/O측 동작을 완료하였음을 지시하도록 플래그비트가 리세트될 때 메일박스 내의 정보를 처리한다.
본 발명의 특징이라 할 수 있는 신규의 설계 방식인 구성 및 동작 방법과 아울러 그밖의 목적 및 장점은 첨부 도면을 참조로한 다음의 설명으로부터 잘 이해할 수 있을 것이다. 그러나, 각 도면은 예시 설명하기 위한 것에 불과한 것으로 본 발명을 제한하고자 하는것이 아님을 알아야 한다.
이하 첨부 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
제 1 도는 시스템 버스(16)에 공통으로 접속된 중앙 처리장치(CPU)(2), 주기억장치(4), 통신 서브시스템(8) 및 대표적인 주변 제어장치(6)로 구성된 데이타 처리 시스템의 블록도이다.
통신 서브시스템(8)은 최대 16개의 통신 라인과 작동하고 시스템버스(16)에 결합된 통신 제어장치(10) 및 라인 어댑터버스(17)에 의해 관련 장치들의 통신 제어장치(10)에 결합된 다수의 라인 어댑터를 구비한다.
전형적으로, 통신 서브시스템(8)은 RS232 인터페이스를 가진 라인 어댑터(12), RS422 인터페이스를 가진 라인 어댑터(14) 또는 전류 루우프 인터페이스를 가진라인 어댑터(13)를 구비한다. 상기 라인 어댑터(14)는 4,000피트까지의 케이블을 구동할 수 있고, 라인 어댑터(13)는 1,000피트까지의 케이블을 구동할 수 있는 능력을 가지고 있다.
상기 RS232는 1979년 미합중국 뉴욕주 워싱톤 DC, I스트리트 2001에 소재하는 전자 공업협회에 의해 발행된 "ETA RS-232C"에 기술되어 있다.
RS 432 인터페이스도 또한 상기 전자 공업협회에 의해 1975년에 발행된 "EIA RS-422"에 기술되어 있다.
전류 루우프 인터페이스는 AT&T에 의해 1967년 12월부로 발행된 「벨시스템 통신 기술 참고 문헌-44,55 및 75보오드 프린터 라인 채널-인터페이스 명세서」에 기술되어 있다. 통신 제어장치(10)로 작동하는 대표적인 장치는 음극선과 디스플레이(CRT)(18), 다이얼링 장치(801C)(20), 변복조 장치(MODEM)(220C)(22), 텔레타이프 장치(TTY 33)(21) 및 라인 프린터(24)를 구비한다.
라인 어댑터(13),(14)는 각각 8개의 비동기 라인까지 서비스할 수 있고, 라인 어댑터(12)는 8개의 비동기 라인까지 또는 6개의 비동기 라인 및 1개의 동기 라인까지 서비스를 할 수 있다. 그러나, 최대 16라인을 서비스 하는 두 개의 라인 어댑터만이 통신 제어장치(16)을 동작할 수 있다.
제 2 도는 시스템버스 (16)을 통해 CPU (2) 및 주기억장치(4)로 통신 제어장치(10)의 동작을 제어하는 I/O 마이크로프로세서(36)와 (제 2 도, 2-1), 라인 어댑터버스(17)를 거쳐 라인 마이크로프로세서(56)(제 2 도, 2-2)를 구비한 통신 제어장치(10)의 블록도를 도시한 것이다. I/O 마이크로프로세서(36)와 라인 마이크로프로세서(56)는 라인 제어테이블(LCT) 및 통신 제어블록(CCB)를 기억하는 공유 램덤 액세스 메모리(RAM)(44)와 다수의 메일박스(mail box)를 통해 서로 통신한다. LCT의 1/2은 전송 모우드에서 상기장치를 제어한다. 이와 마찬가지로, 상기 장치의 각각은 각 수신 블록 전봉의 경우 주기억 장치(4)와 함께 CCB로서 할당되고, 각 송신블록 전송의 경우 주 기억장치(4)와 함께 CCB로서 할당된다. LCT와 CCB 여기서 참고 문헌으로서 구체체화하고 있는 상술한 미합중국 특허 제4,133,030호에 기술되어 있다.
라인 제어 테이블은 데이터 문자가 기수 패리티 또는 우수 패리티이던간에 장치 데이타 문자를 식별하고, 사용된 순회 용장 검사(cycle redundancy check : CRC) 방식 및 CRC 바이트가 개발된 경우 상기 장치와 상태 및 LCT를 채널 제어프로그램(CCP)과 함께 작동될 수 있도록 하는 포인터(pointer)를 식별한다. CCB는 송신되거나 수신된 다음 문자에 대하여 주기억장치(4)의 어드레스 위치를 기억하고 또 현재의 블록을 처리하기 위해 남아 있는 문자수를 기억한다. CCB가 실행되었다면, CCB는 또한 송신을 위해 최후의 블록을 지시하는 제어 워어드(word)를 기억하고, 블록 종료시 개입 중단 신호의 발생 여부에 관계 없이 CCB가 종료한 시간에 라인 상태를 지시하는 다수의 상태 비트를 기억한다. 4개의 수신 CCB 및 4개의 송신 CCB까지 각 장치마다 기억될 수 있다.
프로그램 가능한 리드 온리 메모리(PROM)(38)은 I/O 마이크로 프로세서(36)와 동작하는 프로그램을 기억한다. I/O 마이크로프로세서는 PROM(38)의 어드레스 위치를 나타내는 신호를 발생하고 그 신호를 I/O 페이징 논리(34) 및 I/O 어드레스 버스(18)를 거쳐 PROM에 송신한다. 그 어드레스 위치에서의 명령은 PROM(38)으로부터 I/O 데이터 버스(74)를 통해 I/O 마이크로프로세서(36)로 전송된다. I/O 마이크로프로세서(36)는 그 명령을 실행하고, I/O 데이터 버스(74)를 통해 다음 명령을 읽어내도록 PROM(38)의 다음 어드레스 위치를 지시하는 어드레스 신호를 발생한다.
작업용(work) RAM(40)은 스택(stack) 동작에 대하여 가변 데이터를 기억하기 위하여, 즉 개입 중단 마이크로프로그램의 복귀 어드레스를 기억하고 데이타 조작을 위해 작업용 기억 영역을 제공하기 위하여 스크래치 패드 메모리(scratch pap memory)로서 I/O 마이크로프로세서와 동작한다.
I/O 페이징 논리(34)는 I/O 마이크로프로세서가 공유 메모리(44)의 LCT 또는 CCB 영역을 어드레스 지정하고 선택된 장치와 관련된 특정 채널의 LCT 또는 CCB 영역을 가진 위치를 식별하기 위하여 연제 어드레스를 발생할 때 I/O 마이크로프로세서(36)로부터 가상 어드레스를 수신한다. 페이징 동작은 「페이징 기구」라는 명칭의 미합중국 특허 제4,290,104호에 기술되어 있다.
버스 인터페이스(30)는 주기억장치(4) 및 CPU(2)와의 동작을 위해 통신 제어장치(10)를 시스템 버스(16)에 접속한다. 버스 요구, 버스 공정응답(acknowledge) 및 버스 우선 순위 동작은 「데이타 처리 시스템 내의 데이타 전송 요구 처리 장치」라는 명칭의 미합중국 특허 제3,993,981호에 기술되어 있다. 또한 버스 인터 페이스(30)는 시스템 버스(16)를 통해 전송되는 데이터 I/O 및 지령을 위한 기억장치를 제공한다.
RAM(60)은 통신 채널의 데이터 흐름을 처리하는 채널 제어프로그램(CCP)을 기억한다. 채널요구 개입중단이 서비스될 때, LCT의 CCP 포인터는 채널에 의해 참조될 RAM(60)의 다음 CCP 위치를 지시한다. CCP는 전형적으로 라인 마이크로프로세서(56)를 통해 라인 어댑터 인터페이스(66)와 공유 RAM(44) 사이의 문자의 전송을 제어하며, 검사 용장 문자 계산을 실행하고 마이너 편집을 실행한다.
PROM(58)은 라인마이크로세서(56)와 동작하는 프로그램을 기억한다. 라인 마이크로프로세서(56)는 PROM(58)의 어드레스 위치를 지시하는 어드레스 신호를 발생하고, 이 어드레스 신호를 라인 페이징 논리(54) 및 라인 어드레스 버스(70)를 통해 PROM(58)에 송신한다. 그 어드레스 위치에서의 명령은 PROM(58)으로부터 라인 데이터 버스(72)를 통해 라인 마이크로프로세서(56)로 전송된다. 라인 마이크로프로세서(56)는 그러한 명령을 수행하고, 라인 데이터 버스(72)를 통해 다음 명령을 판독하도록 PROM(58)의 다음 어드레스 위치를 지시하는 어드레스 신호를 발생한다.
작업용 RAM(52)은 I/O 마이크로프로세서(56)에 대하여 I/O 마이크로프로세서(36)에 대하여 작업용 RAM(40)을 동작시키는 것처럼 스크래치페드 메모리로서 동작한다.
라인 페이징 논리(54)는 공유 RAM(44)의 LCT 또는 CCB를 어드레스 지정할 때 실제 어드레스로 변환되는 가상 어드레스를 수신한다. I/O 페이징 논리(34)의 경우처럼, 라인 페이징 논리(54)임의의 통신 채널(라인당 2개의 채널, 즉 수신 채널 및 송신 채널)과 관련된 LCT 또는 CBS를 어드레스 지정하도록 단일 프로그램에 허용한다. S레지스터 (50)는 PROM(58)과 동작하는 1바이트의 인덱스 레지스터(index register)이다.
중단 타이머(62)는 RAM(60)에의 액세스 수를 계수함으로써 CCP가 너무 오래 작동하고 있는가 검출한다. 만약 액세스의 수가 소정의 수, 대표적으로 100을 초과하면, 라인 마이크로프로세서(56)는 개입 중단되고, CCP는 일시적으로 작동되지 않고, CCP 복귀 어드레스는 작업용 RAM(52)의 대기행령(queue)에 기억된다.
우선 순위 주사장치(64)는 장치 어댑터의 각 채널과 관련된 데이터 요구를 받아들이고, 동적으로 가변하는 시퀀스로 채널을 서비스하기 위한 우선 순위를 설정한다. 이것에 관한 내용은 계류중인 관련 미합중국 출원 ROM을 사용한 가변 우선 순위 장치를 가진 통신 멀티플렉서 및 단일 라인 우선 순의 장치를 가진 통신 멀티플렉서에 기재되어 있다.
라인 어댑터 인터페이스(66)는 라인 어댑터 버스(17)를 통해 라인 어댑터(12)(14)를 통신 제어장치(10)에 접속한다.
I/O 마이크로프로세서(36)는 CPU(2)에서 통신 제어장치로의 I/O 명령 처리 및 라인 마이크로프로세서(56)와 주기억장치(4) 사이의 데이터 전송의 제어등 다수의 기능을 수행한다. PROM(38)과 관련한 라인 마이크로프로세서(56)는 CCP의 인터프리터(interpreter)로써 동작한다. 주기억장치(4)로부터 또는 주기억장치(4)로 전송될 바이트를 요구하는 CCP 명령이 라인 마이크로프로세서(56)에 의해 디코드될 때, 그것은 현재 서비스 중인 채널 수를 기억하고 전송된 데이터바이트는 공유 메모리(44)에 메일박스 내의 주 메모리로 간다. 라인 마이크로프로세서(56)는 개입 중단 논리 장치(78)를 통해 I/O 마이크로프로세서(36)에 개입 중단을 발생한다.
PROM(38)과 관련된 I/O 마이크로프로세서(36)는 만약 이것이 수신 동작을 행하면, 데이터 바이트뿐만 아니라 채널 수 및 지령 코드를 위해 공유 RAM(44) 내의 메일박스를 어드레스하고, 현재의 주기억장치의 어드레스를 위해 I/O 페이징 논리 장치(34)를 지나 이 채널의 현재 CCB를 어드레스할 것이다. I/O 마이크로프로세서(36)는 어드레스 및 데이터 바이트를버스(30)로 전송하고 여기서 주기억장치(4)의 어드레스 몇 데이터 바이트는 주기억장치로 전송을 위해 버스 요구에 응답하여 공정 응답을 기다리며 기억된다.
개입 중단 논리장치(78)는 또한 통신 제어장치(10)에 어드레스된 시스템 버스(16)의 정보를 받아들이도록 버스 인터페이스(30)로부터의 신호에 응답하여 I/O 마이크로프로세서를 개입 중단시킨다.
CCP 명령의 수가 소정의 수를 초과할 때, 개입 중단논리 장치(78)는 또한 라인 마이크로프로세서(56)를 개입 중단하도록 중단 타이머(62)로부터의 신호에 응답하고,개중 중단 논리장치(78)는 장치의 폴링을 개시하도록 우선 순위 주시장치(64)로부터의 신호에 응답하여 라인 마이크로프로세서(56)를 개입 중단시키고, 장치가 그 폴에 응답할 때 라인 어댑터(66)로부터의 신호에 응답하여 라인 마이크로프로세(56)를 개입 중단시킨다.
프리런닝 타이머(free running timer)(32)와 관련된 I/O 마이크로프로세서(36)는 라인 마이크로프로세서(56)에 의해 결정된 시간 지연후 소정의 동작을 개시하도록 라인 마이크로프로세서(56)에 지시한다. 상기 프리 런닝 타이머(32)는「다수의 통신 라인 사이에서 프리 런닝 타이머를 공유하는 통신 멀티플렉서」라는 명칭의 계류중인 관련 미합중국 특허출원에 기술되어 있다.
클럭 시스템(76)는 하기 기술된 다수의 타이밍 신호뿐만 아니라 I/O 마이크로프로세서(36) 및 라인 마이크로프로세서(56)를 위한 위상 1 및 위상 2클럭 신호를 발생한다.
I/O 마이크로프로세서(36)는 CPU(2)로부터의 I/O 지령을 수신할 때 RAM(60)에 기억된 CCP를 제어하기 위해 공유 메모리(44)의 메일박스를 통해 라인 마이크로프로세서(56)에 I/O 명령을 발생할 수도 있다. 이것에 관한 내용은「중앙 처리 장치로부터의 입출력 지령에 긍정 응답을 기억하기 위하여 RAM을 사용한 통신 먼티플렉서」란 명칭의 현 계류중인 관련 미합중국 특허출원에 기술되어 있다.
트랜시버(XCVR)(46) 및 트랜시버(XCVR)(48)는 라인 데이터버(72)로부터 I/O 데이터 버스(74)를 분리한다. 이와 마찬가지로, 먼리플렉서 및 제어장치(42)는 라인 어드레스 버스(70)로부터 I/O 어드레스 버스(68)를 분리하고 I/O 어드레스 버스(68) 또는 라인 어드레스 버스(70)에 공유 RAM(44)을 결합한다.
제 3 도를 참조하면, 논리 "0"인 LREADY-01 또는 LREADY-02는 라인 어댑터(12) 또는 (14)에 접속된 통신 라인상의 장치가 우선순위 주사장치(64)에 의해 그 폴에 응답함으로써 서비스를 요구하는 것을 지시한다. 신호 LREADY-를 강제적으로 논리 "0"로 하면 클럭신호 PRICLK-의 상승시 플롭(100)을 리세트한다. 논리 "0"인 출력 신호 LRDYSY-는 NAND 게이트(102)의 입력에 인가된다. 우선순위 주사장치(64)의 출력인 신호 STLOAD-는「ROM을 사용한 가변 우선순위 장치를 가진 통신 먼티플렉서」란 명칭의 계류 중인 관련 미합중국 특허출원에 기재된 바와 같이 폴링 동작 동안 논리 "0"에 있게 된다.
NAND 게이트(102)의 출력인 D 입력신호 HITVAL+는 논리 "1"이기 때문에 플립플롭(106)은 클럭신호 PRICLK-의 다음 상승시 세트된다. 이것은 출력신호 UP2IRQ-를 논리 "0"로 되게 하여 라인 마이크로프로세서(56)로 하여금 개입 중간 시퀀스로 되게 한다. 라인 마이크로프로세서(56)는 라인 페이징 논리장치(54)를 통해 어드레스 라인 U2ADOO+OO 내지 U2AD15+OO 상의 드레스 및 FFF916을 라인 어드레스 버스(70)상에 발생하고, RAM(60)에 기억된 CCP의 명령과 PROM(58)에 기억된 명령을 처리하기 시작한다. 신호 PRSCCP-는 라인 페이징 논리장치(54) 내의 어드레스 신호 및 FFF816에 응답하는 논리에 의해 논리 "0"으로 된다. 이에 따라 플롭(108)은 세트된다. 논리 "0"인 신호 CCPRUN-는 플롭(106)을 리세트하고, CCP가 동작한다는 것을 우선순위 장치(64)에 알린다. 개입중단 신호 UP2IRQ-는 논리 "1"이 된다.
CCP는 통신라인의 동작을 제어한다. CCP의 각 명령은 PROM(62) 내의 프로그램 루우틴을 호출한다. 라인 마이크로프로세서(56)는 명령을 수행하도록 프로그램 루우틴의 명령 수행한다.
라인 마이크로프로세서(56)가 통신 라인과 그것의 동작을 완료했을 때 이 프로세서(56)는 어드레스 OOF116을 발생한다. 라인 페이징 논리장치(54)는 어드레스 OOF116에 응답하여 논리 "0"인 신호 LNMREF-를 발생한다. 디코너(164)는 작동되고, 신호(LRQIRQ-)는 논리 "0"이 된다. 이것을 플롭(166)을 세트하고, 논리 제로인 출력신호 UP1IRQ-는 I/O 마이크로프로세서(36)가 개입중단 모우드로 되게 한다.
I/O 마이크로프로세서(36)는 어드레스 FFF816및 FFF916을 발생한다. I/O 페이징 논리장치(34)로부터의 신호 U1CRIQ-는 어드레스 FFF816에 응답하여 플롭(166)을 리세트한다. I/O 마이크로프로세서(36)는 라인 마이크로프로세서(56)에 의해 공유 메모리(44) 내의 메일박스에 기억된 지령 신호에 따라서 데이터를 처리 하기 위해 PROM에 기억된 프로그램 루우틴에 의해 제어된다.
CPU (2)는 시스템 버스(16)를 거쳐 I/O 지령을 송신함으로써 통신 제어장치(10)을 제어한다. 이러한 I/O 지령은 LCT 및 CCB를 세트하거나 LCT 및 CCB를 판독한다. 예를들어, 하나의 입출력 지령은 CCB 내의 주기억장치(4)의 어드레스를 세트할 것이다. 다른 입출력 지령은 그 CCB 내의 범위를 세트한다. 입출력 지령 동작은「중앙 처리장치로부터의 램덤 엑세스 메모리를 사용한 통신 먼티플렉서」란 명칭의 계류중인 관련 미합중국 출원에 기재되어 있다.
버스 인터페이스(30)는 I/O 지령이 시스템버스(16)를 거쳐 CPU(2)로부터 수신되었을 때 신호 IOCMMD를 발생한다. 출력신호 IOCMMD+는 버스 인터페이스(30)로부터 타이밍신호 MYD1OO+ 상승시 플롭(128)을 세트한다. 논리 "0"인 개입 중단신호 UP1NMI는 개입중단 백터 어드레스 FFFC16및 FFFD16를 발생하는 I/O 마이크로프로세서(36)의 마스크할 수 없는 개입중단 입력 단자에 인가된다. I/O 지령은 PROM(38) 내의 어드레스 위치를 가리키기 위하여 I/O 논리장치(34) 내의 개입중단 백터 어드레스 FFFC16을 수정하는 기능 코우드를 포함하는데, 상기 PROM(38)은 기능 코우드에 의해 특정된 I/O 지령을 실행하는 프로그램의 개시 어드레스를 기억한다. 개입중단 백터 어드레스 FFFC16은 I/O 논리장치(34) 내의 신호 NM1CLR-를 발생시켜 플롭(128)을 리세트한다.
중단 타이머(62)가 타임 아웃(time out)되면 플롭(126)은 중단 타이머(62)로부터의 신호 TBORW1의 상승시 세트한다. 논리 "0"인 개입 중단신호 UP2NMI-는 개입중단 벡터 어드레스 FFFC16및 FFFD16를 발생하는 라인 마이크로프로세서(56)의 넌마스 커블 단자에 인가된다. PROM 내의 어드레스 위치 FFFC16, FFFD16의 내용은 중단 타이머(62)가 타임아웃되는것을 처리하기 위해 프로그램 어드레스를 발생한다. 디코더(164)의 출력신호 PTMRSB-가 논리 "0"로 될 때, 플롭(126)은 정지타이머 또는 WAIT 명령 동안 리세트된다.
다수의 타이밍 및 제어 신호는 I/O 마이크로프로세서(36)와 라인 마이크로프로세서(56)의 입력단자에 인가된다. 단자 ø1 및 ø2에 인가되는 신호 P1PHZ1+, P1PHZ2+, P2PHZ1+ 및 P2PHZ2+는 기본적인 타이밍을 제공한다. F2 단자에 인가된 신호 CKPHZA-는 마이크로프로세서 라이트(write) 사이클 동안 데이터 버스를 동작시키고, 마이크로프로세서 리이드(read) 사이클 동안에는 데이터 버스를 동작시킨다. HALT 단자에 인가된 논리 "0"인 신호 P1HALTO 및 P2HALT-명령이 실행된 후 마이크로프로세서를 정지시킨다. 전력이 턴온(turn on)될 때 R 단자에 인가된 신호 MSTCAD-는 마이크로프로세서를 동작 개시시킨다.
제 4 도는 입출력 마이크로프로세서(36)(I/O측), 라인 마이크로프로세서(56)(라인측) 중 어느 하나 또는 입출력 마이크로프로세서(36)과 라인 마이크로프로세서(56)(공유)의 양자와 동작하는 여러 가지 메모리의 어드레스 위치를 정의하고 있다.
작업용 RAM(40) 및 (52)는 각각 입출력 어드레스 버스(68)과 라인 어드레스 버스(70)으로부터 수신된 어드레스 신호 OOOO16 내지 O3FF16에 응답한다.
공유 메모리(44)는 입출력 어드레스 버스(68) 또는 라인 어드레스 버스(70)으로부터 수신된 어드레스 신호 O4OO16내지 OFFF16에 응답한다. 공유 메모리(44)는 3,072개의 어드레스 위치, 즉 16 통신 라인에대 하여 CCB를 기억하기 위한 1,024개의 어드레스 위치, 16 통신 라인에 대하여 LCT를 기억하기 위한 1,024개의 어드레스 위치, 메일박스를 기억하기 위한 10개의 어드레스 위치 및 여분의 LCT를 기억하기 위한 나머지 어드레스 위치를 갖는다. 각 통신 라인은 64개의 어드레스 위치, 즉 수신 채널로서의 통신 라인용 32개의 어드레스 위치 및 송신 채널로서의 통신 라인용 32개의 어드레스 위치에서 CCB(44a)와 동작한다. 각 수신채널 CCB와 각 전송 채널 CCB는 주 메모리(4) 어드레스 위치의 3바이트, 레인지(range)의 2바이트, 1제어 바이트 및 2 다태 바이트를 기억하는 8바이트를 포함한다. 각 LCT(44c)는 수신 채널 구성 및 제어 정보의 32어드레스 위치와 전송 채널 구성 및 제어 정보의 32 어드레스 위치를 포함한다.
RAM(60)은 라인 마이크로프로세서(56)의 제어 하에 있는 CCP 명령을 기억하기 위한 어드레스 100016내지 4FFF16인 16,384개의 위치를 갖는다.
PROM(38)은 입출력 마이크로프로세서(36)와 동작하는 프로그램 명령을 기억하기 위한 어드레스 F40016FFFF16인 3,072개의 위치를 갖는다. PROM(58)은 라인 마이크로프로세서(56)와 동작하는 프로그램 명령을 기억하기 위한 어드레스 FOOO16내지 FFFF16인 4,096개의 위치를 갖는다.
각 채널은 4개의 8바이트 CCB(446)와 관련되어 있는데, 각 8바이트는 그 채널에 의해 처리된 다음 데이터 바이트의 주 메모리(4) 어드레스 3바이트, 레인지의 2바이트 필드(field)에 남아 있는 데이터 바이트의 수 1 제어 바이트와 2 상태 바이트를 포함한다. CCB 제어 바이트는 '상태 완료시 개입 중단' 비트, '유효 CCB" 비트와 '최종 블럭' 비트를 포함한다.
CCB 최종 상태 바이트는 다음과 같은 비트를 포함한다.
비트위치 (0=최상위 비트)
0 CCP는 CPU(2) 개입중단 명령을 실행한다.
1 개입 중단이 이 CCB에 대하여 발생된다.
2 데이터 서비스 에러.
3 CCB가 실행되고 상태는 완료된다.
4 CCB가 이용 불가능하므로 CCB 서비스 에러.
5,6 CCP와 CPU(2) 사이의 플래그.
9 데이터 클럭 에러.
10 수신 모우드시 레인지는 0과 해당하지 않는다. 송신 모우드의 CCB 제어 워어드 세트의 최종 블록 비트.
11 변경된 데이타 세트 상택
12 정정된 메모리(4) 에러
13 무효 메모리(4) 어드레스
14 시스템 버스(16) 페리티 에러
15 미정정 메모리(4) 에러
입출력 마이크로프로세서(36)와 라인 마이크로프로세서(56)는 공유 RAM(44)의 위치에 기억된 메일박스를 통해 서로 통신한다. 이러한 메일박스 위치의 내용은 제 5 도에 도시된다.
통신 제어장치(10)는 3개의 메일박스, 즉 a) 블록 방식 지령, b) 라인 마이크로프로세서(56)에의 입출력 마이크로프로세서(36) 지령, c) 입출력 마이크로 프로세서(56)지령,
CPU(2)는 입출력 지령에 의해 블록 리이드(read) 동작 또는 블록 라이트(write) 동작을 개시한다. 메일박스가 이용 가능할 때(F=논리 "0")의 입출력 지령의 결과로서, 블록 모우드 지령 메일박스는 라인 마이크로프로세서 어드레스 공간의 어드레스와 세트된다. 이것은 만일 D비트, 즉 워어드 0의 비트 7이논리 "0"라면 공유 메모리(44)로부터 바이트를 수신하도록 제 1 위치의 어드레스이고 만일 D비트가 논리 "1"이라면 공유 메모리(44)로 바이트를 전송하도록 한다.
워어드 0의 비트 위치 3 내지 6은 블록 전송을 필요로하는 통신라인의 채널 수를 특정한다. 그 채널과 관련된 공유 메모리(44)에 기억된 CCB는 개시 메인 메모리(4) 어드레스 및 레인지, 즉 블록 전송에 포함된 블록 내의 바이트 수를 지정한다.
R 비트, 즉 워어드 0의 비트 1은 논리 "1"일 때 주 메모리(4)의 블록 리이드 동작을 지정하고 논리 "0"일 때 주 메모리(4)의 블록 라이트 동작을 지정한다.
F 비트, 즉 워어드 0의 비트 0는 지령이 존재한다는 것을 특정하도록 입출력 마이크로프로세서(36)에 의해 논리 "1"로 세트되고 지령이 완료되었을 때 라인 마이크로프로세서(56)에 의해 논리 "0"으로 리세트된다.
라인 마이크로프로세서(56)는 블록 모우드 지령 메일박스의 워어드 0을 주사한다. 만일 워어드 0의 비트 0이 논리 1이면 라인 마이크로프로세서(56)은 채널 수를 식별하는 퍼엄 웨어(firm ware) 루우틴을 개시하고 이것이 리이드 또는 라이트 동작인지를 결정한다. 만일 이것이 리이드 동작이라면, STORE 서브 루우틴이 처리되고 만일 이것이 라이트 동작이라면, LOAD 서브 루우틴이 처리된다. 이러한 채널 수에 대하여 CCB에 기억된 레인지가 0에 도달할 때, 라인 마이크로프로세서(56)는 F 비트, 즉 워어드 0의 비트 0을 리세트하고 이 블록 모우드 동작을 종료한다.
라인 마이크로프로세서(56)의 메일박스(2)에 대한 입출력 마이크로프로세서(36) 지령은 라인 마이크로프로세서(56)이 취해야 할 동작과 그 동작을 취하는 이유를 특정한다. 웨어드 0은 동작부호를 특정한다. 동작부호 0016은 CCP 프로그램을 중지하고 워어드 1에서 특정된 채널로부터 추가의 데이타 발생 채널 요구 개입 중단을 방지함으로써 어떤 추가의 채널 동작도 방지하는 정지 입출력 지령을 특정한다.
동작부호 0216은 워어드 1에서 특정된 채널 수와 관련된 CCB와 LCT를 클리어 시킴으로써 채널을 초기 설정한다.
동작부호 0416은 단어 1에서 특정된 채널과 관련된 LCT 워어드 6과 7에 의해 특정된 어드레스에서 CCP실행을 개시한다. 이러한 LCT 어드레스는 입출력 지령에 의해 초기에 CPU(2)에 의해 특정된다.
동작부호 0616은 통신 채널로부터 개입중단의 결과로써 CCP 실행을 개시한다. 그러한 채널에 대한 CCB는 개시 CCP 어드레스 위치를 특정한다.
라인 마이크로프로세서(56)의 메일박스(2)에 대한 입출력 마이크로프로세서(36) 지령의(워어드 2는 이유부호(reasoncode)를 특정한다. 논리 "1"에서의 비트 0은 채널 요구 개입중단을 지시한다.
비트 1은 데이터 세트 주사 동작을 식별한다. 데이터 주사 루우틴은 LCT(14)에 기억된 과거의 상태와 현재의 상태를 비교한다. 그것의 차는 특정 채널 상태가 변화하였음을 지시한다. 이어서 LCT(8)의 내용은 라인 마이크로프로세서(56)가 취할 동작을 결정한다.
비트 2는 CCP에 의해 세트된 타이머(62)가 타임아웃 되었다는 것을 지시한다.
비트 7은 라인의 방향, 즉 수신 또는 전송을 지시한다.
라인 마이크로프로세서(56)은 워어드 1의 F비트를 읽는다. 비트 0이 논리 "0"이면 라인 마이크로프로세서(56)은 워어드 0을 읽어도 동작 부호에 의해 특정된 서브 루우틴으로 브랜치한다. 워어드 1의 비트0은 동작이 완료될 때 논리 "1"로 리세트된다.
입출력 마이크로프로세서(36)의 메일박스(3)에 대한 라인 마이크로프로세서(56) 지령은 라인 마이크로프로세서(56)으로 하여금 메일박스(3)에 기억된 지령에 의해 특정된 CCP 명령의 처리를 개시하도록 하는 서비스를 위해 라인 어댑터(12) 또는 (14)에 의한 요구 동안 동작된다.
논리 "1"인 메일박스(3)의 워어드 0의 비트 위치 0은 메일박스(3)의 워어드 1에 기억된 채널 수의 CCB에 의해 특정된 어드레스에서 주메모리(4) 지령으로부터 읽혀진 로우드 DMA를 특정한다.
메모리로부터 읽혀진 데이터 바이트는 입출력 마이크로프로세서(35)의 메일박스(3)에 대한 라인 마이크로프로세서(56) 지령의 워어드 2에서 기억된다. 라인 마이크로프로세서(56)은 각 데이터 바이트가 입출력 마이크로프로세서(56)의 제어하에 메일박스에 기억되므로 CCP에 따라 데이터 바이트를 처리한다.
논리 "1"인 워어드 0의 비트 위치 1은 워어드 1에 기억된 채널 수의 CCB에 의해 특정된 어드레스에서 기억 DMA 라이트를 주 메모리(4)에 특정한다. 데이터 바이트는 라인 마이크로프로세서(56)의 제어하에 메일박스(3)의 워어드 2에 기억되고 입출력 마이크로프로세서(36)의 제어하에 시스템버스(16)을 통해 주 메모리(4)로 전송된다.
논리 "1"인 워어드 0의 비트 위치 2는 다음 블록 취득(GNB) 지령을 표시한다. 이것은 블록 전송이 완료되었음을 입출력 마이크로프로세서(36)에 나타내고 CCB 제어필드를 클리어 시킨다.
논리 "1"인 워어드 0의 비트 위치 3으로써, 입출력 마이크로프로세서(36)는 CPU를 개입중단시키고, 논리 "1"인 비트 위치 2 (GNB)와 관련하여 CPU(2)로부터의 지령은 다른 블록 전송을 위해 CCB를 로우드하게된다.
논리 "1"인 워어드 0의 비트 위치 4는 1문자 후퇴 조작을 표시한다. CRT(18)의 오퍼레이터는 문자를 정정하길 원할 경우도 있다.
논리 "1"인 워어드 0의 비트 위치 5는 타이머(32)가 "온" 상태에 있다는 것을 지시한다.
논리 "1"인 워어드 0의 비트 위치 6은 초기설정 동작을 표시한다.
논리 "1"인 워어드 0의 비트 위치 7은 라인의 백킹 엎(backing up)을 표시한다. CRT(18)의 오퍼레이터는 라인을 정정하길 원하는 경우도 있다.
워어드 3의 위치 0은 특별한 200밀리초의 중단타이머(62) 동작을 표시한다.
제 6 도 데이타 바이트를 통신 기기 대표적으로 CRT(18)로 부터 라인 어댑터 버스 (17)(제 2 도), 통신 제어장치(10), 시스템버스(16)를 거쳐 메모리(4)로 전송하고, 또 주 메모리(4)로부터 시스템버스(16), 통신 제어장치(10),라인 어댑터버스(17)를 거쳐 CRT(18)로 전송하는 것을 도시한 순서도이다.
라인 어댑터(12) 또는 (14)는 신호 LREADY-01 또는 신호 LREADY-02 (제 3 도)를 발생하고, 그것은 블록(200)에서 신호 LREADY-를 발생하록 와이어 OR접속된다. 이것은 신호 UP2IRQ-를 발생하고 그에 따라 블록(202)에서 라인 마이크로프로세서(56)를 개입중단시키는 플롭(106)을 세트한다. 라인 마이크로프로세서(56)는 개입중단 벡터 어드레스 FFF816과 FFF916을 발생한다. PROM(58)내의 어드레스 FFF816과 FFF916의 내용은 PROM(58)에 기억된 채널요구 서비스 루우틴을 지시한다.
블록(204)에서, 수신동작인지 전송동작인지를 표시하는 D비트를 포함하는 채널수는 제 4 도의 4개의 CCB(44a)중 하나를 선택하는 능동 CCB 포인터와 함께 라인 페이징 논리(54)의 레지스터(도시안됨)에 기억된다. 채널수와 능동 CCB 포인터는 공유 메모리(44)에 기억된 모든 64개의 통신 채널을 위한 특정 LCT 또는CCB를 지적하는 라인 마이크로프로세서(56)로 부터의 가상 어드레스를 공유 메모리(44)에 기억된 하나의 요구중의 채널을 위한 그 LCT 또는 CCB를 지적하는 실제의 어드레스로 변환하도록 라인 페이징 논리(54)에 의해 사용된다.
블록(210)에서 라인 마이크로프로세서(56)에 의해 중단 타이머(62)에 기억된 FF16의 계수로 CCP의 존속을 감시하기 시작한다. 블록(212)는 요구중인 통신 채널과 관련된 LCT에 기억된 RAM(60)의 개시 CCP 위치를 어드레서 한다. 여기서 채널 수는 블록(214)에서 수신 동작을 나타낸다. 즉 통신 제어장치(10)는 CRT(18)로 부터 데이터 바이트를 수신하고 라인 마이크로프로세서(56)의 B 누산기(accumulator)에 그 데이터 바이트를 로우드할 것이다.
CCP기억 명령은 블록(220)에서 RAM(60)으로부터 호출되고 메일박스(3)의 워어드 1의 F비트가 "0"으로 될 때, 기억 지령 4016은 블록(224)에서 워어드 0에 기억되고, 그 데이타1바이트는 블록(226)에서 워어드 2에 기억되고 채널수와 "1"로 세트된 F비트는 블록(228)에서 메일박스(3)의 워어드 1에 기억된다.
블록(230)에서, 라인 마이크로프로세서(56)은 플립플롭(166)을 세트하는 어드레스 OOF116을 발생하고 그에 따라 제 3 도의 입출력 마이크로프로세서(36)개입중단 신호 UP1IRQ-를 발생한다. 입출력 마이크로프로세서(36)은 신호 UP1IRQ-에 응답하여 개입중단 벡터 어드레스 FFF816과 FFF916을 발생한다. 개입중단 벡터 어드레스에 의해 특정된 위치는 IRQ 개입중단 핸들러(Interrupt Handler) 루우틴의 PROM(38)의 개시 어드레스를 기억한다. 라인 마이크로프로세서(56)은 블록(232)에서 CCP WAIT 명령을 호출하는데, 그것은 라인 마이크로프로세서(56)로 하여금 다음 통신 채널 개입중단 신호 LREADY-01 또는 LREADY-02가 발생될때까지 동작을 일시정지하도록 한다.
블록(234)에서 입출력 마이크로프로세서(36)는 메일박스(3)의 워어드 1로 부터 읽혀진 채널수를 입출력 페이징 논리(34)에 기억한다. 블록(236)에서, 입출력 마이크로프로세서(36)은 기억동작을 지시하는 메일박스(3)내의 지령 워어드 4016를 읽어내어PROM(38)의 DMA WRITE 루우틴에 브랜치시킨다.
블록(238)에서 버스 인터페이스(30)는 통신 제어장치(10)의 어떤 시스템버스(16)의 요구에 비지(busy : 사용중)응답을 주도록 세트된다. 능동 CCB포인터는 블록(240)에서 입출력 페이징 논리(34)의 레지스터(도시안됨)에 기억되고 채널수에 관련하여 가상 어드레스를 실제 어드레스로 바꾼다.
입출력 마이크로프로세서(36)는 블록(242)에서 CCB(44b)(제 4 도)로 부터의 주메모리(4) 어드레스 및 버스 인터페이스(30)내의 레지스터(도시안됨)에 있는 메일박스(3)의 워어드 2로부터 데이터 바이트를 기억한다. 입출력 마이크로프로세서(36)은 블록(244)에서 어드레스 OOF716를 발생하여 주메모리(4) 어드레스와 특정된 어드레스 위치의 데이타 바이트를 써넣기 위해 주메모리(4)에 대한 버스 인터페이스(30)에 기억된 데이타 바이트를 전송하도록 시스템버스(16)을 요구한다. 블록(246)에서 주메모리(4) 어드레스는 증분되고 레인지는 감분되어 요구중인 통신 채널의 CCB에 써넣어 진다. 그 어드레스는 요구중인 통신 채널로 부터의 다음 데이타바 이트가 써넣어지는 주메모리(4) 어드레스 위치를 표시한다. 주메모리(4)로 전송될 남아있는 데이타 바이트의 수를 표시하는 레인지는"0" 여부의 시험의 행하여 진다. 이러한 "0" 여부의 시험은 본 발명에서는 적절하지 않으므로 설명을 생략한다.
만일 CRT(18)가 채널 수(D 비트)로 표시한 바와같이 주메모리로 부터 데이타 바이트를 요구하고 있었다면, 블록(212)는 블록(216)에서의 CCP LOAD 명령의 형태로 전송동작을 호출한다.
블록(248)에서 라인 마이크로프로세서(56)는 입출력 마이크로 프로세서(36)이 상기 동작을 완료하였음을 지시하는 "0"에 대하여 플래그 비트 F를 시험하여 블록(250)에서 메일박스(3)의 지령워어드로 로우드지령 8016로 세트한다. "1"로 세트된 채널수와 플래크 비트 F는 블록 (252)에서 메일박스(3)의 워어드 1에 기억된다.
입출력 마이크로프로세서(36)는 개입중단되어 어에 언급한 대로 블록(254)에서 IRQ 개입중단 핸들러 루우틴에 브랜치 시킨다. 반면에 라인 마이크로프로세서(56)는 블록(256)에서 "0"에 대하여 메일박스(3)의 워어드 1의 플래그 비트 F를 시험 하므로써 데이터 바이트를 기다린다.
블록(258)에서 입출력 마이크로프로세서36)이 능동 CCB 포인터 및 페이징 논리(34)의 채널수를 기억하고 메일박스(3)의 워어드 0으로 부터 지령 워어드(8016)를 읽어서 PROM(38) 내의 DMA READ 루우틴에 브랜치 시킨다.
버스 인터페이스(30)은 블록(262)에서 시스템 버스(16)요구에 비지 응답을 주도록 세트된다. 입출력 마이크로프로세서(36)는 블록(264)에서 메일박스(3)의 워어드 1로 부터의 채널수 및 버스 인터페이스(30)의 CCB로 부터의 주메모리(4) 어드레스를 기억하고, 블록(266)에서 채널수 및 어드레스를 시스템 버스(16)를 통해 주메모리(4)로 전송하도록 어드레스 OOF716을 발생함으로써 시스템버스(16)를 요구한다.
데이터 바이트는 입출력 마이크로프로세서(36)에 의해 수신되어 블록(268)에서 메일박스(3)의 워어드 2에 기억된다.
플래그 비트 F는 블록(270)에서 메일박스(3)의 워어드 1에 "0"로 세트되어 데어터 바이트가 메일박스(3)에 기억되었다는 것을 라인 마이크로프로세서(56)에 지시한다.
블록(272)에서 주메모리(4) 어드레스는 요구중인 CRT(18)의 CCB에 기억하기 위해 증분되고 레인지는 감본된다.
블록(274)에서 "0"에 해당하는 플래그 비트 F에 대하여 마이크로프로세서(56)는 워어드 1을 시험하고 블록(276)에서 메일박스(3)의 워어드 2로부터의 데이타 바이트를 CRT(18)에 대한 라인 어댑터버스(17)상으로 내보낸다. 블록(278)에서, 라인 마이크로프로세서(56)는 주프로그램으로 복귀한다.
다음 논리회로는 Texas Instrument 사에서 1976년 발행된「설계 기술자를 위한 TTL 데이타 북」, 제 2 판에 기술되어 있다.
플롭 100,128 74S 74
106 74LS 74
108,126,166 74LS112
디코더 164 74LS138
마이크로프로세서(36) 및 (56)는 아리조나주, 포에닉스, 박스 20912에 소재한 Motorola Semiconductor Products 사에 의해 발행된 완전 마이크로 컴퓨터 데이타 카다로그에 기재된 Motorola 6800B회로 이다.
지금까지 본 발명의 양호한 실시예에 관해 도시 및 설명해 왔지만, 본 기술분야의 전문가라면 본 발명의 범위내에서 여러가지 변형 및 수정이 가능함을 이해할 것이다. 따라서, 상술한 여러 구성요소는 본 발명의 기술적 사상내에서 동일한 결과를 얻을 수 있는 다른 구성요소로 변경 또는 대치될 수도 있다. 그러므로 본 발명은 청구의 범위에 기재한 것으로만 댑한되어야 할 것이다.

Claims (12)

  1. (정정)시스템 버스(16)와, 데이터 바이트를 기억시키기 위해 상시 시스템 버스에 접속된 주 기억장치와, 상기 주기억장치(4)와 다수의 입출력장치(18-24) 사이에서 상기 데이터 바이트를 전송하기 위해 상기 시스템버스와 다수 입출력 장치에 결합된 통신 멀티플렉서(10)를 구비한 데이터 바이트를 전송하기 위한 데이터 처리 시스템에 있어서, 상기 통신 멀티플렉서(10)는 어드레스 및 제어 정도보아 상기 데이타 바이트를 기억하기 위한 공유 메모리 수단(44)과, 상기 공유 메모리 수단과 상기 다수의 입출력 장치중 하나 사이에서 상기 데이터 바이트를 전송하기 위해 폴링동작 기간 동안 서비스를 요구하는 상기 다수의 입출력장치중 하나에 응답하며 제 1 개입중단 신호를 발생하기 위한 제 1 수단을 가진 라인 마이크로프로세서 수단(56)과, 상기 공유 메모리 수단과 상기 주기억장치 사이에서 상기 데이터 바이트를 전송하기 위해 상기 제 1 개입 중단 신호에 응답하는입출력 마이크로프로세서 수단(36)을 구비하는 것을 특징으로 하는 데이터 처리 시스템.
  2. (정정)제 1 항에 있어서 상기 공유 메모리 수단(44)은 상기 데이터 바이트 및 상기 제어 정보를 기억하기 위한 메일박스 수단과, 상기 다수의 각 입출력 장치로부터 수신되거나 그것으로 전송될 상기 데이터 바이트를 기억하기 위해 상기 주기억장치의 다수의 어드레스 식별위치를 기억하기 위한 채널 제어 블록을 구비한 것을 특징으로 하는 데이터 처리 시스템.
  3. (정정)제 2 항에 있어서, 상기 제어 정보는 상기 데이터 바이트를 상기 다수의 입출력 장치중 하나로부터 수신하거나 그것에 전송하는 상기 통신 멀티플렉서를 표시하는 수신 채널수 또는 송신 채널수와, 상기 주기억 장치로 부터 상기 데이터 바이트중 하나를 요구하는 상기 다수의 입출력 장치중 하나를 표시 하는 로우드 지령과, 상기 데이터 바이트중 하나를 상기 주기억장치에 전송하는 상기 다수의 입출력 장치중 하나를 표시하는 기억 지령과, 상기 라인 마이크로프로세서 수단에 이용될 수 있는 상기 메일박스 수단을 표시하는 제 1 상태의 플레그 비트 및 상기 입출력 마이크로프로세서 수단에 이용될 수 있는 상기 메일박스 수단을 표시하는 제 2 상태의 플래그 비트를 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  4. (정정)제 3 항에 있어서, 상기 채널 제어 블록 수단은 상기 다수의 입출력 장치중 하나로부터 수신된 제 1 데이터 바이트를 상기 주기억장치내의 제 1 위치로 써 넣기 위해 제 1 어드레스 위치를 선택하도록 상기 다수의 입출력 장치중 하나를 식별하기 위하여 상기 수신채널수에 응답하고, 상기 다수의 입력 장치중 하나로의 전송을 위해 상기 주기억장치의 제 2 위치로부터 제 2 데이터 바이트를 읽어내기 위해 제 2 어드레스를 선택하도록 상기 다수의 입출력장치 중 하나를 식별하기 위하여 상기 송신 채널수에 응답하는 것을 특징으로 하는 데이터 처리 시스템.
  5. (정정)제 4 항에 있어서, 상기 라인 마이크로프로세서 수단은 라인 마이크로프로세서와, 상기 라인 마이크로프로세를 개입중단 시키기 위한 제 2 개입중단 신호를 발생하기 위해 상기 폴링 동작 기간 동안 서비스를 요구하는 상기 다수의 입출력 장치중 하나를 표시하는 준비신호에 응답하는 제 2 수단을 구비하는데, 상기 라인 마이크로 프로세서는 상기 기억 지령, 상기 데이타 바이트중 하나 및 상기 메일박스 수단내의 상기 수신 채널수를 기억하기 위하여 상기 수신 채널수에 응답함과 아울러 상기 제 1 상태의 플래그 비트와 상기 제 2 상태의 플래그 비트를 발생할 때 상기 로우드 지령 및 상기 메일박스 수단내의 상기 송신 채널수를 기억하기 위하여 상기 송신 채널수에 응답하며, 상기 제 1 수단은 상기 제 1 개입 중단 신호를 발생하기 위하여 상기 라인 마이크로프로세서로부터 선택된 어드레스신호에 응답하는 것을 특징으로 하는 데이터 처리 시스템.
  6. (정정)제 5 항에 있어서, 상기 입출력 마이크로프로세서 수단은 입출력 마이크로프로세서와, 상기 제 1 수단에 결합되어 상기 입출력 마이크로프로세서를 개입중단시키기 위한 제 3 개입중단 신호를 발생하도록 상기 제 1 개입 중단신호에 응답하는 제 3 수단을 구비하는데, 상기 입출력 마이크로프로세서는 상기 수신 채널수, 상기 기억 지령 및 상기 데이터 바이트중 하나 또는 상기 송신 채널수 및 상기 로우드 지령을 읽어내기 위해 상기 플래그 비트가 제 2 상태에 있을때 상기 메일박스 수단에 결합되며, 상기 채널 제에 블록은 상기 입출력 마이크로프로세서에 결합되어 상기 제 1 어드레스를 상기 시스템버스를 거쳐 상기 주기억장치에 전송하도록 상기 수신 채널수에 응답하며, 상기 입출력 마이크로프로세서는 상기 제 1 어드레스에 의해 지시된 상기 제 1 위치에 기억하기 위하여 상기 제 1 데이터 바이트를 상기 시스템버스를 거쳐 상기 주기억 장치에 전송하도록 상기 기억지령에 응답하며, 상기 채널 제어블록 수단은 상기 제 2 어드레스를 상기 시스템버스를 거쳐 상기 주기억 장치내의 제 2 위치로 전송하도록 상기 송신 채널수에 응답하며, 상기 입출력 마이크로프로세서는 미리 할당된 채널 수를 상기 시스템버스를 거쳐 상기 주기억장치로 전송하도록 상기 로우드 명령에 응답하며, 상기 주기억 장치는 상기 메일박스 수단내의 기억을 위해 상기 제 2 데이타 바이트를 상기 입출력 마이크로프로세서에 전송하고, 상기 입출력 마이크로프로세서는 상기 플래그 비트를 상기 제 1 상태로 세트시키도록 되어 있는 것을 특징으로 하는 데이터 처리 시스템.
  7. (정정)제 6 항에 있어서, 상기 라인 마이크로프로세서는 상기 데이터 바이트중 하나를 상기 메일박스 수단으로부터 상기 다수의 입출력장치로 전송하도록 상기 제 1 상태의 상기 플래그 비트에 응답하는 것을 특징으로 하는 데이터 처리 시스템.
  8. (정정)제 7 항에 있어서, 상기 제 1 수단은 디코더로 구성되는 것을 특징으로 하는 데이터 처리 시스템.
  9. (정정)제 8 항에 있어서, 상기 제 2 수단은 제 1 쌍안정 논리 소자로 구성된 것을 특징으로 하는 데이터 처리 시스템.
  10. (정정)제 9 항에 있어서, 상기 제 3 수단은 제 2 쌍안정 논리 소자로 구성된 것을 특징으로 하는 시스템.
  11. (신설)시스템버스(16)에 의해 주기억장치(4)에 결합되고, 공통 통신 라인(17)에 의해 다수의 입출력장치(18-24)에 결합된 통신 제어 장치(10)가 상기 주기억장치와 상기 입출력 장치 사이에서 데이터 바이트를 전송하기 위하여 상기 시스템 버스(16)과 상기 통신 라인(17)사이의 데이터 바이트 전송을 제어하도록 되어 있는 상기 시스템 버스(16)과 상기 통신 라인(17)사이의 데이터 바이트 전송을 제어하도록 되어 있는 상기 주기억장치(4)와 상기 다수의 입출력 장치(18-24) 사이에서 데이터 바이트를 전송하기 위한 데아타 처리 시스템 내의 통신 제어 장치로서, 상기 주기억 장치로부터 읽어내거나 그것으로 써넣기 위해 데이터 바이트의 상기 버스로 부터의 수신 및 상기 버스로의 송신을 제어하기 위한, 제 1 마이크로프로세서(36)를 구비한 통신 제어 장치(10)에 있어서, 상기 다수의 장치에 대한 입력 및 출력을 위해 상기 데이터 바이트의 상기 통신 라인으로 부터의 수신 및 상기 통신 라인으로의 송신을 제어 하기 위한 제 2 마이크로프로세서(56)와, 상기 마이크로프로세서들 간의 정보교환을 가능케하기 위한 최소한 한개의 메일박스(메일박스 3)를 가지는데, 상기 메일 박스는 데이터 바이트를 유지하기 위한 위치(워어드 2)와 플래그용의 위치(F비트, 워어드)를 포함하고 있는 공유 RAM(44)과, 상기 각 마이크로프로세서로 하여금데이터 바이트 및 다른 정보를 써넣고 데이터 바이트 및 다른 정보를 읽어낼수 있도록 상기 공유 RAM에 상기 제 1 마이크로프로세서 및 상기 제 2 마이크로프로세서를 결합하는 결합회로 (34,68,42,46,74,54,70,48,72)와, 상기 제 2 마이크로프로세서로 하여금 제 1 마이크로프로세서를 개입중단 시킬 수 있도록 상기 제 1 마이크로프로세서와 제 2 마이크로프로세서 사이에 결합된 개입중단 논리(78)을 구비하는데, 상기 제 2 마이크로프로세서는 상기 제 2 마이크로프로세서가 상기 주기억장치와 상기 메일박스 사이에서 데이터 바이트를 전송하도록 상기 제 1 마이크로프로세서를 필요로하는 경우 개입 중단 신호를 상기 개입중단 회로를 통해 전송하기 위한 회로를 구비하고, 상기 제 1 마이크로프로세서는 상기 주기억 장치와 상기 메일박스 사이에서 데이터 바이트를 전송하고, 상기 플래그를 특정 상태로 세트시키는 동작을 수행하도록 상기 개입 중단 신호에 응답하는 회로를 구비하며, 상기 제 2 마이크로프로세서는 매 기간마다 상기 플래그를 읽어서 상기 플래그의 상태가 상기 제 1 마이크로프로세서에 의한 응답동작의 완료를 프시할때 상기 플래그에 의해 표시된 상기 제 1 마이크로프로세서의 동작을 따라서 필요한 동작을 완료하도록 구성된 것을 특징으로 하는 통신 제어 장치.
  12. (신설)제11항에 있어서. 상기 제 2 마이크로프로세서는 상기 개입중단 신호를 송신 하기 전에 상기 데이터 바이트의 전송 방향을 표시하는 상기 메일박스 정보로 유입시키도록 되어있는 것을 특징으로 하는 통신제어 장치.
KR1019810003666A 1980-09-29 1981-09-29 2개의 마이크로프로세서를 갖는 통신 멀티플렉서 KR860000982B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US19212680A 1980-09-29 1980-09-29
US192126 1980-09-29
US192,126 1980-09-29

Publications (2)

Publication Number Publication Date
KR830008235A KR830008235A (ko) 1983-11-16
KR860000982B1 true KR860000982B1 (ko) 1986-07-24

Family

ID=22708368

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019810003666A KR860000982B1 (ko) 1980-09-29 1981-09-29 2개의 마이크로프로세서를 갖는 통신 멀티플렉서

Country Status (12)

Country Link
EP (1) EP0049158B1 (ko)
JP (1) JPS609303B2 (ko)
KR (1) KR860000982B1 (ko)
AU (1) AU553600B2 (ko)
BR (1) BR8106254A (ko)
CA (1) CA1169574A (ko)
DE (1) DE3176413D1 (ko)
ES (1) ES505081A0 (ko)
FI (1) FI76893C (ko)
MX (1) MX149890A (ko)
PH (1) PH23285A (ko)
YU (1) YU42429B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8328601D0 (en) * 1983-10-26 1983-11-30 Givertz M J Data retrieval system
US4633245A (en) * 1983-12-30 1986-12-30 International Business Machines Corporation Local area network interconnect switching system
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
JPS63206847A (ja) * 1987-02-23 1988-08-26 Mitsubishi Electric Corp デ−タ送受信装置
ATE128777T1 (de) * 1991-03-28 1995-10-15 Cray Research Inc Echtzeit-input/output-methode fuer ein vektor- prozessor-system.
US5440746A (en) * 1992-11-06 1995-08-08 Seiko Epson Corporation System and method for synchronizing processors in a parallel processing environment
KR100269338B1 (ko) * 1997-12-27 2000-10-16 서평원 통신시스템의사설교환기및이에구비된모듈간에데이터통신방법
US8486070B2 (en) * 2005-08-23 2013-07-16 Smith & Nephew, Inc. Telemetric orthopaedic implant

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670306A (en) * 1971-03-01 1972-06-13 Honeywell Inf Systems Process for data communication between data processing systems
US4056843A (en) * 1976-06-07 1977-11-01 Amdahl Corporation Data processing system having a plurality of channel processors
US4184200A (en) * 1978-04-26 1980-01-15 Sperry Rand Corporation Integrating I/O element
DE2845218C2 (de) * 1978-10-17 1986-03-27 Siemens Ag, 1000 Berlin Und 8000 Muenchen Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen

Also Published As

Publication number Publication date
DE3176413D1 (en) 1987-10-08
EP0049158A2 (en) 1982-04-07
ES8302331A1 (es) 1982-12-16
JPS609303B2 (ja) 1985-03-09
FI76893B (fi) 1988-08-31
BR8106254A (pt) 1982-06-15
PH23285A (en) 1989-06-30
KR830008235A (ko) 1983-11-16
MX149890A (es) 1984-02-03
ES505081A0 (es) 1982-12-16
AU553600B2 (en) 1986-07-24
CA1169574A (en) 1984-06-19
EP0049158A3 (en) 1984-05-02
FI812639L (fi) 1982-03-30
YU232381A (en) 1983-06-30
EP0049158B1 (en) 1987-09-02
FI76893C (fi) 1988-12-12
JPS57132235A (en) 1982-08-16
YU42429B (en) 1988-08-31
AU7508681A (en) 1982-04-08

Similar Documents

Publication Publication Date Title
US4488231A (en) Communication multiplexer having dual microprocessors
US4426679A (en) Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor
US4385382A (en) Communication multiplexer having a variable priority scheme using a read only memory
US5063494A (en) Programmable data communications controller
US4325119A (en) Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
US4075691A (en) Communication control unit
US4821180A (en) Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers
US4189769A (en) Input-output subsystem for digital data processing system
US4870566A (en) Scannerless message concentrator and communications multiplexer
US4428044A (en) Peripheral unit controller
US4015243A (en) Multi-processing computer system
US4074352A (en) Modular block unit for input-output subsystem
US4261033A (en) Communications processor employing line-dedicated memory tables for supervising data transfers
EP0173809A1 (en) Multiplexed interrupt/dma request arbitration apparatus and method
US4703418A (en) Method and apparatus for performing variable length data read transactions
US4482982A (en) Communication multiplexer sharing a free running timer among multiple communication lines
KR860000981B1 (ko) 가변 우선 순위장치를 가진 통신 멀티플렉서
KR860000982B1 (ko) 2개의 마이크로프로세서를 갖는 통신 멀티플렉서
JPH0142415B2 (ko)
US4336588A (en) Communication line status scan technique for a communications processing system
US5432910A (en) Coupling apparatus and method for increasing the connection capability of a communication system
US4405981A (en) Communication multiplexer having an apparatus for establishing a single line priority
KR920004061B1 (ko) 입/출력 제어 시스템 재구성용 시스템
GB1574470A (en) Intelligent input-output interface control unit for input-output system
JP2000244585A (ja) バスインタフェース回路

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right