KR860000981B1 - 가변 우선 순위장치를 가진 통신 멀티플렉서 - Google Patents

가변 우선 순위장치를 가진 통신 멀티플렉서 Download PDF

Info

Publication number
KR860000981B1
KR860000981B1 KR1019810003665A KR810003665A KR860000981B1 KR 860000981 B1 KR860000981 B1 KR 860000981B1 KR 1019810003665 A KR1019810003665 A KR 1019810003665A KR 810003665 A KR810003665 A KR 810003665A KR 860000981 B1 KR860000981 B1 KR 860000981B1
Authority
KR
South Korea
Prior art keywords
channels
fifo
signal
register
counter
Prior art date
Application number
KR1019810003665A
Other languages
English (en)
Other versions
KR830008234A (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 KR830008234A publication Critical patent/KR830008234A/ko
Application granted granted Critical
Publication of KR860000981B1 publication Critical patent/KR860000981B1/ko

Links

Images

Classifications

    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • G06F13/225Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

내용 없음.

Description

가변 우선 순위장치를 가진 통신 멀티플렉서
제 1 도는 데이터 처리 시스템의 전체 블록도.
제 2 도는 통신 제어 장치(10)의 전체 블록도.
제 3 도는 입/출력 마이크로프로세서(36)와 라인 마이크로 프로세서(56)의 개입 중단 논리 장치에 대한 논리도.
제 4 도는 우선순위 주사장치(64)의 상세한 논리도.
제 5 도는 여러 동작 모우드동안 ROM(518)의 출력신호를 도시한 표.
제 6 도는 여러 동작 모우드후 선입선출(FIFO)메모리에 가변 채널수 리스트의 대표적인 예를 도시한 표.
* 도면의 주요부분에 대한 부호의 설명
(2) : 중앙처리장치 (4) : 주 기억장치
(6) : 주변제어장치 (8) : 통신 서브 시스템
(10) : 통신제어장치 (12), (13), (14) : 라인 어댑터
(16) : 시스템 버스 (18) : CTR디스플레이 장치
(20) : 다이얼링 장치 (22) : 변복조장치(MODEM)
(24) : 라인 프린터 (30) : 버스 인터페이스
(32) : 프리런닝 타이머 (36) : 입/출력 마이크로 프로세서
(38) : PROM (40) : 작업용 RAM
(42) : MUX제어장치 (44) : 공유 RAM
(50) : S 레지스터 (52) : 작업용 RAM
(56) : 라인 마이크로 프로세서 (58) : PROM
(60) : RAM (62) : 중단 타이머
(64) : 우선순위 주사장치 (66) : 라인 어댑터 인터페이스
(72) : 라인 데이터 버스 (74) : 입/출력 데이타 버스
(76) : 클럭시스템 (78) : 개입 중단 논리장치
본 발명은 데이터 처리 시스템에 관한 것으로, 특히 통신 라인에 의해 통신 멀티플렉서에 결합된 다수의 장치를 폴링(polling)하는데 사용된 채널수의 가변 리스트를 기억하기 위한 선입선출(first in-first out)메모리를 사용한 통신 멀티플렉서에 관한 것이다.
데이터 처리 시스템은 중앙 처리 장치, 주 기억장치 및 다수의 입/출력 장치를 구비한다. 다수의 입/출력 장치는 중앙 처리장치나 주 기억장치와 동시에 동작을 요구할 수도 있기 때문에 우선순위 시스템은 입출력 장치와 순서에 따라 동작할 수 있도록 설치되어야 한다. 1976년, Mason/Charter출판사 발행, Ralston과 Meek감수의 「컴퓨터 과학 대사전」에는 입출력 장치의 다수의 폴링 기술이 기재되어 있다. 이것에는 "방사상 셀렉터(radialselector)"라은 전용 라인 장치와 "데이지 체인(daisy chain)"이라는 공동라인 장치가 기재되어 있다. 이러한 장치는 모두 입/출력 장치가 수동적으로 각 입/출력 장치를 순번으로 조회(guery)하는 폴링신호에 응답하거나 혹은 능동적으로 입/출력 장치 자체의 개입중단(interrupt)신호를 발생할 수 있도록 되어 있다.
미합중국 특허 제4,261,033호의 데이타 전송을 감시하기 위한 메모리 테이블을 제공시킨 회로를 사용한 통신 프로세서에는 능동 채널을 가진 시스템이 기재되어 있다. 서어비스를 요구하는 각 입/출력 장치는 최하위의 채널 수에 최고의 우선 순위를 부여하는 통신 멀티플렉서에 입/출력장치의 채널수를 송신한다. 이러한 유형의 우선 순위 분해 시스템은 고유의 우선순위 장치가 시스템을 "호그(hog)"할 수 있게 한다. (이것은 CRT디스플레이 장치열과 같은 동일한 성능의 입/출력 장치들을 가진 시스템의 단점에 작용한다).
미합중국 특허 제4,271,467호의 I/O 우선순위 리솔버(resolver)"에는, 서비스를 요구하는 최고 우선순위 입/출력 장치를 선택하기 위한 입/출력 장치로 부터의 개입 중단신호에 응답하는 리드 온리 메모리(ROM)을 구비한 장치가 기재되어 있다. 여기서 우선 순위의 순서는 ROM에 고정된다. 우선순위의 순서를 변경하기 위해서는 다른 ROM이 필요하다.
이러한 유형의 시스템은 시스템에 배선된 고정 우선 순위를 가지고 시스템을 "호그"할 수 있는 어떤 입/출력 장치의 단점을 가지는 반면 다른 입/출력 장치는 시스템 액세스를 공유하지 않는다.
필요한 하드웨어는 메모리에 기억된 채널 제어 블록을 사용함으로써 통신라인을 제어하는 마이크로 프로세서의 사용에 의해 감소된다. 이러한 시스템은 「제어 블록을 제공하는 채널을 이용한 통신 처리 시스템에 있어서, 데이터의 전송을 제공하는 제어 시스템」이라는 명칭의 미합중국 특허 제4,133,030호에 기재되어 있다. 그러나 이러한 시스템은 처리될 수 있는 통신라인의 수를 제한함으로써 시스템 효율(throughput)를 제한한다.
따라서, 본 발명의 주 목적은 통신 서브 시스템을 구비하고 개선된 성능을 가지는 데이터 처리 시스템을 제공하는데 있다.
본 발명의 다른 목적은 채널수 리스트를 기억하고 통신 제어장치에 대한 입/출력 장치의 적용성을 균등하게 하도록 채널수의 순서를 변경시키기 위한 장치를 가지는 통신 서브 시스템을 제공하는데 있다.
통신 시스템은 통신 제어장치 및 다수의 장치, 대표적으로 통신 라인을 통해 통신 제어 장치에 각각 접속된 CRT디스플레이를 구비한다. 각 통신 라인은 데이터가 장치로부터 흐르는 수신채널이나 또는 데이터가 장치로 흐르는 송신 채널로서 동작된다. 각 통신 라인은 수신 채널수와 송신 채널수에 의해 식별된다.
본 발명은 버스트(burst)모드에서 동작하는 최근에 사용된 수신 채널에 고 우선 순위를 주고 무든 송신체널에 동일한 우선순위를 부여한다.
초기치 설정시, 통신 제어 장치내의 카운티/레지스터는 선입선출 메모리(FIFO)에 미리 정한 순서대로 채널수 리스트를 기억한다. 최초 FIFO에 로우드(load)된 수신 채널수는 저 우선 순위를 가진 송신 채널수로서 후속되는 고 우선 순위를 갖는다.
통신 채널은 FIFO출력으로 부터 카운타/레지스터로 채널수를 로우드하고 그 채널 수를 모든 통신 라인에 송신하는 것에 의해 폴(poll)된다. 만일, 아무런 통신라인도 응답하지 않으면, 그 채널 수가 FIFO입력으로 로우드되고 다음 채널수가 카운터/레지스터에 로우드 된다.
통신 채널이 서어비스를 필요로 할때, 통신 채널은 카운티/레지스터에 기억되어 남아있는 그것의 채널수에 응답한다. 나머지 채널수는 최초의 수신 채널수가 FIFO출력에 있도록 FIFO에서 재순환된다.
통신 채널의 서어비스가 완료될때, 폴링은 계속된다. 만약 수신 채널이 서어비스 되었다면, 그 수신 채널은 즉시 폴이 된다. 이것은 고속 수신 채널에 최고의 우선 순위를 준다. 만약 송신 채널이 서어비스되면, 송신채널수는 멀티플렉서를 거쳐 FIFO입력에 로우드되고 제 1 수신 채널은 FIFO출력으로부터 카운터/레지스터에 로우드된다. 이것은 수신 채널에 최초의 우선 순위를 보증한다.
서비스된 통신 채널의 채널수는 다음 위치에서 FIFO로 로우드된다. 따라서, 수신 채널수는 수신채널 시퀀스(sequence)의 시작에 배치되고, 송신 채널수는 송신 채널 시퀀스의 마지막에 배치된다.
이하 첨부 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
제 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에 소재하는 전자 공업협회에 의해 발행된 "EIA RS-232C"에 기술되어 있다. RS 422인터페이스도 또한 상기 전자 공업협회에 의해 1975년에 발생된 "EIA RS-422"에 기술되어 있다.
전류 루우프 인터페이스는 AT&T에 의해 1967년 12월부로 발행된 「벨 시스템 통신-기술 참고 문헌-4455 및 75보오드 프린터 라인 채널-인터페이스 명세서」에 기술되어 있다. 통신 제어장치(10)로 작동하는 대표적인 장치는 음극선관 디스플레이(CRT)(18), 다이얼링 장치(801C)(20), 변복조장치(MODEM)(202C)(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호에 기술되어 있다.
라인 제어 테이블은 데이터 문자가 기수 패리티 또는 우수패리티 이던간에 장치 데이타 문자를 식별하고, 사용된 순회용장 검사(cycleredundancy 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데이터 버스(74)를 통해 다음 명령을 읽어내도록 PROM(38)의 다음 어드레스 위치를 지시하는 어드레스 신호를 발생한다.
작업용(word) RAM(40)은 스택(stack)동작에 대하여 가변 데이터를 기억하기 위하여, 즉 개입중단 마이크로 프로그램의 복귀 어드레스를 기억하고 데이타 조작을 위해 작업용 기억영역을 제공하기 위하여 스크래치 패드 메모리(scratch pad memord)로서 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 또는 CCB를 어드레스 지정하도록 단일 프로그램에 허용한다. S레지스터(50)는 PRM(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)에 의해 디코드될때, 그것은 현재 서비스 중인 채널수를 기억하고 전송된 데이터 바이트는 공유 메모리(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"인 출력신호 LRDYSYF-는 NAND게이트(102)의 입력에 인가된다. 우선순위 주사장치(64)의 출력인 신호 STLOAD-는 「ROM을 사용한 가변 우선순위 장치를 가진 통신 멀티플렉서」란 명칭의 계류중인 관련 미합중국 특허출원에 기재된 바와같이 폴링동작동안 논리 "0"에 있게 된다.
NAND게이트(102)의 출력인 D입력신호 HITVAL+는 논리 "1"이기 때문에 플립플롭(106)은 클럭신호 PRICLK-의 다음 상승시 세트된다. 이것은 출력신호 UP2IRQ-를 논리 "0"로 되게하여 라인 마이크로 프로세서(56)로 하여금 개입중단 시퀀스로 되게 한다. 라인 마이크로 프로세서(56)는 라인 페이징 논리장치(54)를 통해 어드레스 라인 U2ADOO+OO내지 U2AD15+OO상의 어드레스 FFF16및 FFF916을 라인 어드레스 버스(70)상에 발생하고, RAM(60)에 기억된 CCP의 명령과 PROM(58)에 기억된 명령을 처리하기 시작한다. 신호 PRSCCP-는 라인 페이징 논리장치(54)내의 어드레스 신호 FFF16및 FFF916에 응답하여 논리하는 논리에 의해 논리 "0"으로 된다. 이에따라 플롭(108)은 세트된다. 논리 "0"인 신호 CCPRUN-는 플롭(106)을 리세트하고, CCP가 동작한다는 것을 우선순위 장치(64)에 알린다. 개입 중단신호 UP2IRQ-는 논리 "1"이 된다. CCP는 통신라인의 동작을 제어한다. CCP의 각 명령은PROM(62)내의 프로그램 루우틴을 호출한다. 라인 마이크로 프로세서(56)는 CCP명령을 수행하도록 프로그램 루우틴의 명령을 수행한다.
라인 마이크로 프로세서(56)가 통신라인과 그것의 동작을 완료했을때, 이 프로세서(56)는 어드레스 OOF116을 발생한다. 라인 페이징 논리장치(54)는 어드레스 OOF116에 응답하여 논리 "0"인 신호 LNMREF-를 발생한다. 디코더(164)는 작동되고, 신호(LRQIRQ-)는 논리 "0"이 된다. 이것은 플롭(166)을 세트하고, 논리 제로인 출력신호 UP1IRQ-는 I/O마이크로 프로세서(36)가 개입중단 모우드로 되게한다.
I/O마이크로 프로세서(36)는 어드레스 FFF16및 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지령을 실행하는 프로그램의 개시 어드레스를 기억한다. 개입 중단 백터 어드레스 FFFFC16은 I/O논리장치(34)내의 신호 NM1CLR-를 발생시켜 플롭(128)을 리세트한다.
중단 타이머(62)가 타임 아웃(time out)되면, 플롭(126)은 중단 타이머(62)로 부터의 신호 TBORW1의 상승시 세트한다. 논리 "0"인 개입중단 신호 UP2NMI-는 개입중단 벡터 어드레스 FFFC16및 FFFD16를 발생하는 라인 마이크로 프로세서(56)의 넌-마스커블 단자에 인가된다. PROM내의 어드레스 위치 FFFC16FFFD16의 내용은 중단 타이머(62)가 타임아웃되는 것을 처리하기 위해 프로그램 어드레스를 발생한다. 디코더(164)의 출력신호 PTMRSB-가 논리 "0"로 될때, 플롭(126)은 정지타이머 또는 WATT명령동안 리세트된다.
다수의 타이밍 및 제어신호는 I/O마이크로 프로세서(36)와 라인 마이크로 프로세서(56)의 입력단자에 인가된다. 단자 ø1 및 ø2에 인가되는 신호 P1PHZ1+, P1PHZ2+, P2PHZ1+ 및 P2PHZ2+는 기본적인 타이밍을 제공한다. F2단자에 인가된 신호 CKPHZA-는 마이크로 프로세서 라이트(write)사이클동안 데이터 버스를 동작시키고, 마이크로 프로세서 리이드(read)사이클 동안에는 데이터 버스를 동작시킨다. HALT단자에 인가된 논리 "0"인 신호 P1HALTO 및 P2HALT-는 명령이 실행된 후 마이크로 프로세서를 정지시킨다. 전력이 턴온(turn on)될때 R단자에 인가된 신호 MSTCAD-는 마이크로 프로세서를 동작 개시시킨다.
제 4 도는 우선 순위 주사장치(64)의 상세한 논리도를 도시한 것이다.
제 5 도는 열 A 내지 열 V에 도시한 바와같은 여러 입력구성에 대한 PROM(518)의 출력상태를 도시한 것이다.
우선순위 주사장치(64)의 동작에는 다음과 같은 7가지 모우드가 있다.
모우드 1
논리 "1"인 신호 INSCAN+
이것은 FIFO(500)가 32개의 채널중 31채널과 로우드된 초기치 설정모우드이다. 32번째의 채널은 카운터/레지스터(504)에 로우드된다 : FIFO(500)은 각 메모리 위치에 4비트를 기억하기 때문에, LDSCAN플롭(524)은 16개의 수신채널수에 대하여 리세트되고 16개의 송신 채널수에 대하여 세트된다. 논리 "0"인 신호 LDSCAN+에 의해 식별된 수신채널수는 논리 "1"인 신호 LDSCAN+에 의해 식별된 송신 채널수보다 우선 순위를 가진다. 상기 수신채널수들은 송신 채널수전에 FIFO(500)으로 로우드 된다.
모우드 2
논리 "0"인 신호 INSCAN+ 논리 "0"인 신호 STATE2+
논리 "0"인 신호 STATE1+ 논리 "0"인 신호 STATE3+
각 5비트 채널수, 신호 LSCAN0+, LSCAN1+LSCAN2+, LSCAN3+ 및 LDSCAN+는 차례로 장치에 송신된다. 서비스를 요구하는 장치는 채널수를 수신할때 논리 "0"인 신호 LREADY-를 발생한다. 이것은 CCP에 의해 채널 요구를 실행하도록 라인 프로세서(56)를 개입 중단 시킨다.
모우드 3
논리 "0"인 신호 INSCAN+ 논리 "0"인 신호 STATE2+
논리 "0"인 신호 STATE1+ 논리 "0"인 신호 STATE3+
a) 수신 채널이 작동하는 경우
나머지 수신 채널수는 재순환되고 그후 제 1 송신 채널수는 FIFO(500)의 출력에 있게된다.
b) 송신 채널이 작동하는 경우
우선순위 주사장치(64)의 논리에 의해 작동하지 않는다.
모우드 4
논리 "0"인 신호 INSCAN+ 논리 "1"인 신호 STATE2+
논리 "0"인 신호 STATE1+ 논리 "0"인 신호 STATE3+
a) 수신 채널이 작동하는 경우
FIFO(500)는 출력에서 입력까지 송신 채널수의 재순환이 시작된다.
b) 송신 채널이 작동하는 경우
우선순위 주사장치(64)의 논리에 의해 작동하지 않는다.
모우드 5
논리 "0"인 신호 INSCAN+ 논리 "1"인 신호 STATE2+
논리 "0"인 신호 STATE1+ 논리 "1"인 신호 STATE3+
a) 수신 채널이 작동하는 경우
송신 채널수의 재순환, 재순환 완료시 제 1 수신 채널수는 FIFO(500)의 출력에 생긴다.
b) 송신 채널이 작동하는 경우
송신 채널수의 재순환, 재순환 완료시 제 1 수신 채널수는 FIFO(500)의 출력에 생긴다.
제 1 수신채널이 FIFO(500)의 출력에 있을때까지 FIFO(500)의 채널수를 재순환 시킴으로써 우선순위가 수신채널에 부여된다.
모우드 6
논리 "0"인 신호 INSCAN+ 논리 "0"인 신호 STATE2+
논리 "1"인 신호 STATE1+ 논리 "0"인 신호 STATE3+
CCP가 완료되고 신호 CCPRUN이 논리 "0"이라는 것을 라인 마이크로 프로세서(56)가 알릴때까지, 우선 순위 주사장치(64)의 논리는 WAIT모우드에 있다.
a) 수신 채널이 작동하는 경우
1) 중단 타이머(62)가 타임 아웃되지 않은 경우, 우선순위 주사장치(64)의 논리에 의해 작동하지 않는다.
2) 중단 타이머(62)에 의해 타임 아웃되지 않는 경우 카운터/레지스터(504)에 기억된 수신 채널수를 FIFO(500)의 입력으로 재순환 시키도록 개시 사이클에 의하여 특정 채널에 대한 오동작으로 인하여 통신 제어장치(10)가 "행업(hang up)"되는 것을 방지한다.
b) 송신 채널이 작동하는 경우
1) 중단 타이머(62)가 타임 아웃되지 않는 경우, 카운터/레지스터(504)에 기억된 송신 채널수를FIFO(500)의 입력으로 로우드하기 위한 개시 사이클.
2) 중단 타이머(62)에 의해 타임 아웃되는 경우, 카운터/레지스터(504)에 기억된 송신 채널수를FIFO(500)의 입력으로 로우드 하기 위한 개시 사이클.
모우드 7
논리 "0"인 신호 INSCAN+ 논리 "0"인 신호 STATE2+
논리 "1"인 신호 STATE1+ 논리 "0"인 신호 STATE3+
a) 수신 채널이 작동된는 경우
1) 중단 타이머(62)가 타임 아웃되는 경우, 모우드 2로 가라.
2) 중단 타이머(62)에 의해 타임 아웃되는 경우 FIFO(500)의 출력에서의 수신채널수를 카운터/레지스터(504)로 로우드하고 모우드 2로 가라.
b) 타임아웃 채널이 작동하는 경우
1) 중단 타이머(62)가 타임아웃 되지 않는 경우, FIFO(500)의 출력에서의 수신 채널수를 카운터/레지스터(504)로 로우드하고 모우드 2로 가라.
2) 중단 타이머(62)에 의해 타임아웃 되는 경우, FIFO(500)의 출력에서의 수신 채널수를 카운터/레지스터(504)로 로우드하고 모우드 2로 가라.
모우드 2에서 모우드 5까지는 고속장치에 최고 우선순위를 제공하는데, 이 고속장치의 수신채널수는 계수기/레지스터(504)로 로우드되고, 다음 우선순위는 수신채널을 요구하는 장치에 부여되고, 마지막 우선순위는 송신채널을 요구하는 장치에 부여된다. 처리된 마지막 수신 채널은 최고 우선순위를 가지며, 처리된 마지막 송신 채널은 최저 우선순위를 가진다.
7개의 동작 모우드를 설명하는 우선순위 주사장치의 상세한 논리의 설명은 제 4 도 및 5도를 사용하여 후술한다.
모우드 1-초기의 설정
PROM(518)은 제 5 도의 열 A, B, C, D에 도시된 바와같은 출력신호들을 공급한다. 열 A, B,C에 있어서, 출력신호는 논리 "1"인 LONGSH- 및 STLOAD-와 논리 "0"인 SHFTEN- 및 STECNT+이다. FIFO(500)는 31개의 채널수로 로우드된다. 제32채널수인 F16은 카운터/레지스터(504)에 기억되어 유지된다. FIFO(500)는 각 기억장치에 4비트를 기억하고, 각 채널수의 제 5 비트는 LDSCAN플롭(524)에 기억된다. 16수신 채널수는 리세트된 플롭(524)로써 FIFO(500)에 로우드되고, 그다음 세트도니 플롭(524)로서 15송신채널수가 로우드 된다. 채널수는 순차적으로 카운터/레지스터(504)에 남아있는 송신 채널수 F16및 세트된 플롭(524)로써 카운터/레지스터(504)로부터 FIFO(500)에 로우드된다.
논리 "1"인 신호 LONGSH- 및 INSCAN+는 카운터/레지스터(504)가 카운터로 작동하도록 조건을 부여한다. 통신 제어장치(10)의 시동 시퀀스 동안, 논리 "0"인 신호 CLEAR-는 카운터(514)의 출력신호가 논리 "0"가 되도록 조건을 부여한다. 카운터/레지스터(504)의 출력신호를 수신하도록 멀티플렉서(MUX)(502)를 조건부로 하면, 논리 "0"인 신호 INSCA-는 AND 게이트(520)으로부터의 출력신호 SELMUX+로 하여금 논리 "0"로 되게 한다.
시프트 펄스 플롭(508)은 FIFO(500)에 서넣어진 각 채널수에 대하여 세트하고, 다음 채널수로 카운터/레지스터(504)를 증분시키도록 리세트한다. 리세팅 플롭(508)은 또한 마지막 수신 채널수 및 마지막 송신 채널수가 카운터/레지스터(504)에 기억된때를 지시하는 카운터(516)를 증분시킨다.
논리 "1"인 입력신호 INPRDY+는 FIFO(500)의 입력이 이용 가능하다는 것을 지시한다. 논리 "1"인 출력신호 OPUTRDY+는 FIFO(500)의 출력이 풀(full)인것을 지시한다. 상기 신호들 OUTRDY+ 및 INPRDY+는 클럭펄스 PRICLK-의ㅡ 상승시 플롭(508)을 세트시키거나 리세트 시키도록 MUX(506)의 출력신호 SHIFTSS+를 조정한다.
초기에, 카운터/레지스터(504)는 논리 "0"인 신호 CLEAR-에 의해 O16으로 리세트한다. 신호 INPRDY+는 논리 "1"이고, OUTRDY+는 논리 "0"이고, MUX(506)의 입력인 INSCAN+는 논리 "0"이며, 플롭(508)은 클럭펄스 PRICLK-의 상승시(500)의 IN단자에 인가된 논리 "0"인 신호 SHFPLS+00는 세트된다. MUX(502)를 통해 FIFO(500)로 출력신호 LDSCANO+ 내지 LDSCAN3+를 로오드 함과 동시에 신호 IFIFOO+ 내지 IFIFO3+를 로우드한다. 채널수가 카운터/레지스터(504)에서 수신되고 논리 "1"인 신호 SHEPLS+가 MUX(5-6)의 입력단자(4)를 선택할때 신호 INPRDY+는 논리 "0"이 된다. 논리 "0"인 신호 SHFTEN-는 플롭(508)이 리세트되게한다. 인버어터(536)의 출력신호 INSCAN+가 논리 "1"이기 때문에 신호 SHFPLS-의 상승은 카운터/레지스터(504)를 증분시킨다. 채널수가 FIFO(500)를 통해 리플(ripple)되기 때문에 신호 INPRDY+는 다시 논리 "1"으로 된다. 신호 OUTRDY+는 다음 사이클동안 논리 "1"이 될수도 있다. 이 경우에는, MUX(506)의 입력단자(3)에 인가된 인버어터(538)의 출력신호 SHFTEN-가 논리 "1"이기 때문에 플롭(508)은 세트된다.
신호 SHFPLS-의 상승은 카운터(516)를 증분시킨다. 플롭(524)는 채널수를 수신 채널수로 식별하는 최초의 16채널수 동안 리세트 상태에 있다. 16번째 채널수 F16이 카운터/레지스터(504)에 기억될때, 카운터(516)의 캐리(carry)출력 및 캐리신호 DIRCNT+는 논리 "1"으로 된다. PROM(518)의 입력에 인가된 신호 DIRCNT+는 제 5 도의 열 C에 도시된것과 같은 출력을 공급한다. 인버어터(522)의 출력신호 SELMUX-는 논리 "1"이기 때문에 플롭(524)은 신호 DIRCNT+의 하감시 세트된다. 제 5 도의 열 B는 PROM(518)의 출력을 도시한다. 다음 15송신 채널수는 FIFO(500)로 로우드된다. 신호 DIRCNT+가 논리 "1"이 되고, 신호 STLOAD-는 논리 "0"이 되어 플롭(508)이 세트되는 것을 방지하고 816으로 카운터(514)를 로우드한다. 이것은 신호 INSCAN-가 논리 "1" 그리고 INSCAN+가 논리 "0"로 되게한다. 송신 채널수 F16은 카운터/레지스터(504)에 기억된다.
모우드 2
플링동작은 논리 "1"인 신호 LREADY-로 시작되고, 제 3 도의 플롭(100)은 세트되어 논리 "1"인 신호 LREDYSY-를 출력하고, 논리 "1"인 PROM(518)의 FIFO(500)의 출력이 풀이고 입력이 이용 가능하기 때문에 신호 열 E에 도시한 바와같다. INPRDY+ 및 OUTRDY는 논리 "1"이 된다. 논리 "1"인 신호 SHFTEN-는 플립플롭(508)이 세트되게 하고, 논리 "0"인 신호 SHFTEN-는 플립플롭(508)이 리세트되게 한다.
AND게이트(510)의 출력신호 SHFTOT+는 논리 "1"이다. FIFO(500)는 신호 라인 OFIOFOO+내지 OFIFO3+를 통해 이결과 채널수를 읽어내어 카운터/레지스터(504)에 기억한다. 라인 어댑터(66)를 통해 장치에 전술되었던 상기 채널수는 이제 MUX(502)를 통해 로우드된다. 신호 SELMUX-는 논리 "1"이기 때문에 플링동작은 플롭(524)로 하여금 신호 DIRCNT의 연속적인 하강시 토를하도록 조절하는 신호 DIRCNT+로써 계속된다.
이러한 플링동작은 서어비스를 요구하는 장치가 신호 LREADY-를 논리 "0"로 되게하고 이어서 신호 LONGSH-및 신호 SHFTEN-로 하여금 제 5 도의 열F에 도시한 바와같이 논리 "0"로 되게 함으로써 카운터 레지스터(504)에서 송시노딘 채널수에 응답할때 까지 계속된다. 이것은 플롭(508)이 세팅되어 카운터/레지스터(504)내의 개입중단 채널수를 유지하는 것을 방지함으로써 폴링을 중단한다. 논리 "0"인 신호 LREADY-를 제 3 도의 플롭(100)을 리세트시켜 신호 LRDYSY-가 논리 "0"로 되게한다. 이것은 라인 마이크로 프로세서(56)를 개입 중단시킨다. 채널 프로그램은 논리 "1"인 제 3 도의 신호 CCPRUN+에 의해 지시된 바와 같이 개시된다. 그 다음 제 5 도의 열 G에 도시한 바와같이, PROM(518)의 출력을 논리 "1"이고 카운터(514)는 우선순위 주사장치(64)가 다음 모우드로 되도록 논리 "1"인 신호 STECNT+에 증분된다.
모우드 3
a) 수신 채널이 동작하는 경우
수신 채널이 제 5 도의 열 H에 도시된 것과 같은 채널수에 응답하였다고 가정하면, 신호 LONGSH- 및 STLOAD-는 논리 "1"이고 신호 SHFTEN- 및 STECNT-는 논리 "0"이다. 이것은 AND 게이트(520)의 출력신호 SELMUX+는 논리 "1"으로 되게하여 MUX(502)의 단자 1를 선택한다. 또한 플롭(508)은 신호 SHFTEN+가 논리 "1"이기때문에 상술한 바와같이 순환한다. 신호 DIRCNT+가 논리 "0"에 있을때까지 수신 채널수는 MUX(502)를 거쳐 FIFO(500)의 출력으로부터 FIFO(500)의 입력까지 재순환한다. 이것은 신호 STECNT+가 제 5 도의 열 I에 도시된 바와같이 논리 "1"으로 되게하고 카운터(514)가 클럭펄스 JPRICLK-의 상승시 증분되게 하여 우선 순위장치(64)를 모우드 4로 되게 한다.
b) 송신 채널이 동작하는 경우
플롭(524)이 세트되고, 신호 LDSCAN+가 논리 "1"이기 때문에, PROM(518)의 출력은 제 5 도의 열 J에 도시된 바와같이 논리 "1"이 되고 그에따라 카운터(514)를 증분시켜 우선순위 장치(64)를 모우드 4로 되게 한다.
모우드 4
a) 수신 채널이 동작하는 경우
제 5 도의 열 K에 도시된 바와같이 FIFO(500)의 입력에서부터 출력까지의 마지막 수신 채널수의 재순환 동안 신호 DIRCNT+가 논리 "1"이기 때문에 논리 "0"인 신호 SHFTEN-는 플롭(508)이 계속 순환될 수 있게한다. 신호 DIRCNT+가 논리 "0"로 하강할때, 신호 STECNT+는 제 5 도의 열 L에 도시된 바와같이 논리 "1"으로 된다. 이것은 전송 채널수가 MUX(502)를 지나 FIFO(500)의 출력에서 입력까지 재순환을 시작하면 카운터(514)를 증분시키고 우선순위 장치(64)를 모우드 5로 되게한다.
b) 송신 채널이 동작하는 경우
플롭(524)이 제5도의 열 M에 도시된 바와같이 세트되기 때문에, PROM(518)의 모든 출력신호는 논리 "1"이 된다. 이것은 카운터(514)를 증분시키고 우선순위 장치(64)를 모우드 5로 되게한다.
모우드 5
a) 수신 채널이 동작하는 경우
플롭(508)이 세트, 리세트하기 때문에, 제 5 도의 열 N에 도시된 바와같이 논리 "1"인 PROM(518)의 출력신호 LONGSH-와 논리 "0"인 PROM(518)의 출력신호 SHFTEN-는 전송 채널수로 하여금 MUX(502)를 통해 FIFO(500)의 출력으로부터 FIFO(500)의 입력까지 계속 재순환 할 수 있게한다.
마지막 송신 채널수가 재순환되며, 신호 DIRCNT+는 논리 "1"으로되고, 제 5 도의 열 O에 도시한 바와 같이 모든 PROM(518)의 출력신호들은 논리 "1"이 되어 우선순위 장치(64)가 모우드 6으로 되게한다. FIFO(500)는 출력에서 최초 수신 채널수를 가지고 마지막 위치에서 최종 송신 채널수를 갖는다.
b) 송신 채널이 동작하는 경우
제 5 도의 열 N및 O에 도시된 바와같은 PROM(518)의 출력신호는 송신 채널수로 하여금 상술한 모우드 5a에 기술한 바와같이 재순환되게 한다.
모우드 6
제 5 도의 열P에 도시한 바와같이, 논리 "1"인 신호에 LONGSH-, SHFTEN- 및 STLOAD-와 논리 "0"인 신호 STECNT+는 우선순위 주사장치(64)를 WAIT모우드로 유지하는 반면에 라인 마이크로 프로세서(56)는 신호 CCPRUN+가 논리 "1"이기 때문에 카운터/레지스터(504) 및 플롭(524)의 출력에서의 수에 의해 식별된 채널을 처리하는 중이다.
a) 수신 채널이 동작하는 경우
1) 중단 타이머(62)가 타임아웃 되지 않은 경우.
신호 CCPRUN+가 제 5 도에 열 Q에 도시한 바와같이 논리 '"0"로 하강하며 라인 마이크로 프로세서(56)가 CCP를 완료했음은 지시할때, PROM의 드든 출력들은 논리 "1"이 되고 우선순위 주사장치(64)는 모우드 7로 된다.
2) 중단 타이머(62)가 타임아웃 되는 경우.
논리 "1"인 라인 마이크로 프로세서(56)의 개입 중단신호 UP2NMI+는 중단 타이머(62)가 타임 아웃 되었음을 지시한다. 즉, CCP가 프로그램 단계의 규정된 수보다 더 많은 수동안 작동되었다. 이어서 제 5 도의 열 S에 도시된 바와같이 PROM(518)의 신호 LONGSH- 및 SHFTEN-는 논리 "0"이 되고, 신호 STECNT+ 및 STLOAD-는 논리 "1"이 된다. 이것은 MUX(502)의 단자 O을 인에이블시키고 카운터/레지스터(504)에 기억된 MUX(502)를 통해 FIFO(500)으로 로우드하고, FIFO(500)의 출력에서의 채널수를 카운터/레지스터(504)에 기억한다. 카운터(514)는 증분되어 우선순위 주사장치(64)를 모우드 7로 되게한다.
b) 송신 채널이 동작하는 경우.
제 5 도의 열R 및 T에 도시한 바와같이, 신호 LONGSH- 및 SHFTEN-는 논리 "0"이고, 신호 STECNT+ 및 STLOAD-는 논리 "1"이다. 따라서, 신호 UP2NMI+의 상태에 관계없이, 카운터/레지스터(504)에 기억된 송신채널수는 FIFO(500)의 입력단으로 로우드하고, 제 1 수신 채널수는 카운터/레지스터(504)로 로우드되고, 카운터(514)는 증분되어, 우선순위 주사장치(64)가 모우드 7로 되게한다.
상기 양 경우에 있어서, NAND 게이트(526)의 출력신호 CLRCNT-는 NAND 게이트(526)와 입력신호 STATE1+, STECNT+ 및 LDSCAN-는 논리 "0"이기 때문에 논리 "0"로 된다. 이것은 카운터(516)(F16을 포함)를 논리 "0"으로 클리어시킨다. 또한, NAND 게이트(526)의 출력은 신호 DIRCNT+의 하강시 세트되는 것을 방지하도록 플롭(524)의 리세트 단자에 인가된다.
모우드 7
만일 카운트/레지스터(504)에 기억된 채널수가 제 5 도에 도시된 바와같이 논리 "1"인 신호 SHEPLS+에 의해 지시된 것과 같이 FIFO(500)에 로우드되고 있는 중이라면, PROM(518)의 출력신호 LONGSH- 및 SHFTEN-는 전송의 완료를 허락한다. 플롭(528)이 리세트될때, 제 5 도의 열V에 도시한 바와같이 신호 LONGSH- 및 SHFTEN-는 논리 "1"이 되고 신호 STECNT+및 STLOAD-는 논리 "0"이 된다.
"논리 "0"인 신호 STLOAD-는 카운터(514)의 출력신호 STATE1+ STATE2+ 및 STATE3+가 논리 "0"로 되게하고 또 신호 INSCAN-가 논리 "0"로 되게하여 PROM(518)의 출력신호가 제 5 도의 열E에 도시된 상태로 되게한다. 폴링 동작은 모우드 2에 기술한 바와같이 계속된다.
라인 마이크로 프로세서(56)는 채널수를 라인 페이징 논리장치(54)로 읽어 들이도록 라인 어드레스 버스(70)상에 어드레스 OOF416을 방생한다. 제 3 도의 디코더(164)에 인가된 논리 "1"인 어드레스 신호 U2AD13+ 및 논리 "0"인 어드레스 신호 U2AD12+, U2AD14+ 및 U2AD15는 신호 LNRQSB가 논리 "0"로 되게하여 드라이버(512)를 구동하고 라인 페이징 논리 장치(54)에 기억되도록 작동 채널수를 라인, 데이타 버스(72)에 가한다.
제 6 도를 참조하면, 열 R1내지 R5는 수신 채널이 수신 채널수에 응답했을 때의 여러동작 모으드동안 FIFO(500)에 있어서의 채널수 리스트의 순서를 보인 것이다. 열 T1내지 T3는 수신 채널이 그것의 채널수에 응답한후 송신채널이 그것의 채널수에 응답했을때 FIFO(500)에 있어서의 리스트의 순서를 보인 것이다. 열I1은 초기치 설정후 모우드 1동안의 FIFO(500)채널 수 리스트를 보인것이다. F는 카운터/레지스터(504)에 기억된 16진수이고, 1은 플립플롭(524)의 출력신호 LDSCAN+의 2진 상태이다.
열 R1은 수신채널 05가 모우드 2동안 그것의 채널수에 응답한 후의 리스트를 보인 것이다. 열 R2는 모우드 3에서의 리스트의 끝으로 수신 채널수가 재순환된 결과를 보인 것이다. 열 R3는 모우드 4, 모우드 5동안 리스트의 끝으로 전송 채널수가 재순환된 결과를 보인 것이다. 열 R4는 모우드 6,7동안 리스트의 끝으로 재순환된 수신 채널수 O516을 가지는 리스트를 도시한 것이고, 다음 수신 채널 OO16카운터/레지스터(504)에 로우드 된다(여기서 처음 O는 논리 "0"인 신호 LDSCAN+를 지시함).
R3로 표시된 리스트는 수신 채널수 05에 의해 중단 타이머(62)가 타임 아웃되지 않았음을 지시한다. 전자는 채널수 05의 연속적인 타임 아웃에 의해 통신제어 장치(10)가 "행 업(hanging up)하는 것을 방지하기 위하여 행하여 진다. 열 R3 또는 R4로 지정된 리스트는 모우드 2에서 폴 된다.
열 T1은 모우드 2의 폴동작 동안 채널수 17이 그것의 채널수에 응답했음을 보인다. 열 T2는 모우드 2에서 나머지 채널수가 리스트의 끝으로 재순환되었음을 보인다. 열 T3는 모우드6, 모우드 7에서 송신 채널수가 FIFO(500)로 로우드하고, 플롭(524)의 리세트되고. FIFO(500)의 출력에서의 제 1 수신 채널수 05가 카운터/레지스터(504)에 기억된 것을 보인다. 이어서 폴링 동작은 모우드 2에서 계속된다.
다음의 논리회로는 1976년, Texas Instruments사에서 발행된 「설계 기술자를 위한 TTL 데이타 북」의 제 2 판에 기재되어 있다.
플롭 100,128 74S74 디코더 164 74LS138
106 74LS74 카운터 54,514 74LS161
108,,126,166 74LS112 516 74LS191
524 74LS112 MUX 502 74LS191
508 74LS74
다음의 AM 3341/2841회로는 1974년, 캘리포니아 94086, 서니베일 톰프슨 플레이스 901에 소재하는 Advanced Micro Devices사에 의해 발행된 「AMD 데이타 북」에 기술되어 있다.
FIFO 500 AM 3341/2841
다음 82S137회로는 1976년, 캘리포니아 94086, 서니베일, 이스트 아규스 애버뉴 811에 소재하는 Signetucs사에 의해 발행된 「시그네릭스 데이타 사양서」에 기재되어 있다.
FROM 518 82S137
마이크로 프로세서(36) 및 (56)은 1978년, 아리조나, 포에닉스, 박스 20912에 소재하는 Motorola Semicnductor Products사에 의해 발행된 「완전 마이크로 컴퓨터 데이타 카다로그」에 기재된 모토로라 6800B회로이다.

Claims (10)

  1. (정정)시스템 버스(16)와, 데이타 바이트 기억시키기 위해 상기 시스템 버스에 접속된 주 기억장치(4)와, 상기 주 기억장치와 각 장치가 통신 멀티 플렉서로부터 채널수의 수신 및 송신에 응답하여 각기 수신 및 송신 모우드에서 동작할 수 있는 다수의 장치들 사이에 상기 데이타 바이트를 전송하기 위하여 상기 시스템 버스에 결합된 통신 멀티플렉서(19)를 구비한 데이타 바이트를 전송하기 위한 데이타 처리 시스템에 있어서 상기 통신 멀티플렉서는 상기 수신 채널수 및 상기 송신 채널수의 미리 정한 시퀀스를 상기 다수의 장치에 송신하고 상기 다수의 장치중 하나가 상기 수신 또는 송신 채널수에 응답함으로써 서어비스를 요구할때 요구 신호를 수신하기 위한 폴링 수단을 구비하는데, 상기 폴링장치는 초기치 설정 동작기간 동안 채널수의 제 1 시퀀스를 발생하는 카운터/레지스터 수단(504)와, 상기 각 채널수의 제 1 시퀀스를 수신하기 위해 상기 카운터/레지스터에 접속된 제 1 상태의 제 1 멀티플렉서 수단(502)와, 상기 각 채널수의 제 1 시퀀스를 기억하기 위해 접속된 선입선출(FIFO)장치(500)를 구비하며, 상기 FIFO 장치는 폴링동작기간 동안 상기 채널수의 제 1 시퀀스를 재순환시키기 위해 상기 카운터/레지스터에 접속되고, 상기 다수의 장치는 서비스를 요구하는 상기 다수의 채널수중 하나가 상기 채널수의 제 1 시퀀스의 미리 할당된 채널수를 수신할때 상기 요구신호를 발생하기 위해 상기 재순환하는 수신 및 송신 채널수에 응답하도록 상기 카운터/레지스터에 접속되도록 구성한 것을 특징으로 하는 데이타 처리 시스템.
  2. (정정)제 1 항에 있어서, 상기 카운터/레지스터(504)는 상기 미리 할당된 채널수를 기억시키기 위해 상기 요구신호에 응답하고, 상기 FIFO장치(500)는 상기 FIFO장치에 기억하도록 채널수의 제 2 시퀀스를 발생시키기 위해 상기 채널수의 제 1 시퀀스의 나머지를 재순환 시키도록 상기 제 1 멀티플렉서에 접속 되는데, 상기 채널수의 제 1 시퀀스는 제 1 우선순위를 갖는 상기 수신채널수 및 제 2 우선순위를 갖는 송신 채널수로 상기 FIFO장치에 기억되고, 상기 채널수의 제 2 시퀀스는 상기 FIFO장치(500)에 기억되고 상기 미리 할당된 채널수는 상기 카운터/레지스터(504)에 기억되는데, 상기 미리 할당된 채널수는 상기 수신 채널수중 하나로서 제 1 우선순위를 가지며 상기 채널수의 제 2 시퀀스의 상기 수신 채널수는 상기 제 2 우선순위를 가지고 상기 채널수의 제 2 시퀀스의 상기 송신채널수는 제 3 우선순위를 가지며, 상기 미리 할당된 채널수는 상기 송신 채널수중 하나로서 상기 제 3 우선순위를 가지는데, 상기 채널수의 제 2 시퀀스의 상기 수신 채널수는 상기 제 1 우선순위를 가지고 상기 채널수의 제 2 시퀀스의 상기 송신 채널수는 제 2 우선순위를 가지며, 상기 폴링장치는 상기 수신 채널수중 가장 최근에 사용된 것에 상기 제 1 우선순위를 부여하고 상기 송신 채널수에 동일한 우선순위를 부여하도록 되어있는 것을 특징으로 하는 데이타 처리 시스템.
  3. (정정)제 2 항에 있어서, 상기 FIFO장치는 미리 정해진 순서로 상기 수신 및 송신 채널수를 수신 및 기억하고 전송하기 위하여 입출력 위치를 포함한 복수의 위치를 가지며, 상기 입력위치가 비어있음을 지시하는 제 1 신호 및 상기 출력위치가 채워져 있음을 지시하는 제 2 신호를 발생하는 선입선출(FIFO)메모리와 상기 입력위치가 빈것을 상기 제 1 신호가 지시할때 시프트 신호를 발생하고 상기 폴링동작 동안 상기 시프트 신호를 발생하고 상기 입력위치가 빈것을 상기 제 1 신호가 지시하고 상기 출력위치가 채워진 것을 상기 제 2 신호가 지시할때 상기 제 2 채널수의 제 2 시퀀스를 발생하기 위하여 상기 초기치 설정동작 동안 상기 제 1 및 제 2 신호를 수신하도록 결합된 제 2 멀티플렉서(506)와, 상기 입력 위치에서 상기 채널수를 수신하여 상기 출력위치로 부터 상기 채널수를 송신하기 위하여 상기 시프트 펄스신호를 발생하기 위한 상기 시프트 신호를 수신하도록 결합된 시프트 시프트 펄스 플롭(508)을 구비한 것을 특징으로 하는 데이타 처리 시스템.
  4. (정정)제 3 항에 있어서, 상기 카운터/레지스터 장치는 상기 초기치 설정 동작 동안 상기 채널수의 제 1 시퀀스를 발생하기 위하여 상기 시프트 펄스 플롭에 접속되어 상기 시프트 펄스신호의 시퀀스에 응답하고, 상기 다수의 장치로의 전송을 위해 상기 폴링 동작 동안 상기 FIFO의 상기 출력위치로부터 수신된 상기 채널수의 제 1 또는 제 2 시퀀스를 각각 기억하도록 결합된 카운터/레지스터로 구성되는데, 상기 카운터/레지스터는 상기 데이타 바이트가 상기 주 기억장치와 상기 다수의 장치중 하나 사이에서 전송되고 있는 기간동안 상기 미리 할당된 채널수를 기억하기 위하여 상기 요구신호에 응답하도록 되어 있는 것을 특징으로하는 데이타 처리 시스템.
  5. (정정)제 4 항에 있어서, 상기 제 1 멀티플렉서 수단은 상기 초기치 설정 동작 및 상기 폴링 동작 기간 동안 상기 FIFO의 상기 입력위치로의 전송을 위해 상기 채널수의 제 1 시퀀스를 각각 수신하도록 상기 카운터/레지스터에 결합된 제 1 상태의 제 1 멀티플렉서와, 상기 채널수의 제 2 시퀀스를 발생할때 상기 입력위치로의 전송을 위해 상기 출력위치로부터 상기 채널수를 수신하도록 상기 FIFO접속된 제 2 상태의 상기 제 1 멀티플렉서로 구성된 것을 특징으로 하는 데이타 처리 시스템.
  6. (정정)제 5 항에 있어서, 상기 미리 정해진 순서가 상기 FIFO가 상기 송신 채널수로 후속되는 상기 수신 채널수를 수신 및 기억한다는 것을 지시하도록 되어있는 것을 특징으로 하는 데이타 처리 시스템.
  7. (정정)제 6 항에 있어서, 상기 송신 채널수중 하나를 상기 미리 할당된 채널수로서 기억하는 상기 카운터/레지스터는 상기 폴링 동작 기간동안 상기 다수의 장치로의 전송을 위해 상기 송신 채널수 중 하나를 상기 제 1 상태의 제 1 멀티플렉서를 통해 상기 FIFO의 상기 입력 위치로 송신함과 아울러 상기 출력 위치에 기억된 상기 수신 채널중 최초의 것을 상기 카운터/레지스터에 전송하도록 상기 시프트 펄스 신호에 응답하도록 되어 있는 것을 특징으로 하는 데이타 처리 시스템.
  8. (정정)제 7 항에 있어서, 상기 수신 채널수중 하나를 상기 미리 할당된 채널수로서 기억하는 상기 카운터/레지스터는 상기 폴링동작 기간 동안 상기 다수의 장치에 상기 수신 채널수중 하나를 전송하도록 되어있는 것을 특징으로 하는 데이타 처리시스템.
  9. (신설)단일 통신 라인(17)에 접속된 다수의 장치와 데이타 처리시스템 간의 데이타의 통신을 제공하기 위한 입/출력 시스템으로서, 상기 각 장치는 상기 입/출력 시스템 내의 채널수로서 할당되고 데이타를 통신할 준비가 되었을때 상기 각 채널 수의 라인으로 부터의 수신기 상기 데이타 처리 시스템이 요구신호를 상기 통신 라인에 인가하도록 되어 있는 입출력 시스템 내에 있는 상기 장치들 중 하나에 대하여 상기 데이타 통신을 가능케하도록 상기 라인을 액세스 하기 위하여 상기 장치들을 폴링하기 위한 장치에 있어서, 상기 채널 수들을 기억하기 위한 선입선출(FIFO)기억장치(500)과, 하나의 채널수를 기억하기 위한 레지스터(504)와, 입력 단자의 제 1 및 제 2 세트와 출력단자의 한 세트를 가진 스위치(502)와, 상기 FIFO의 출력 단자를 상기 레지스터의 입력단자 및 상기 스위치의 제 1 세트의 입력단자에 결합하고, 상기 레지스터의 출력단자를 상기 스위치의 입력단자와 제 2 세트에 결합하고, 상기 스위치의 출력단자를 상기 FIFO의 입력단자에 결합하는 결합수단과, 상기 레지스터의 각 채널수를 상기 통신 라인상에서 상기 장치로 전송되게 하고, 상기 장치들중 하나 요구 신호에 따라 응답할 때까지 상기 FIFO의 채널수를 상기 레지스터 및 상기 스위치를 통해 재순환시키는 제어수단(518)을 구비한 것을 특징으로 하는 폴링 장치.
  10. (신설)제 9 항에 있어서, 상기 제어 수단은 상기 스위치를 통해 상기 FIFO의 채널수가 다시 재순환되게 하도록 상기 통신 라인으로부터 수신된 요구신호에 응답하는 한편, 상기 요구 신호를 상기 레지스터에 공급하는 장치의 채널수를 유지함으로써, 상기 레지스터의 채널수는 상기 통신 라인을 거쳐 식별된 장치와 데이타 처리시스템간의 데이터 전송을 가능케하고 상기 추가의 재순환은 상기 FIFO에 유지된 채널수의 재순서화를 가능케 하는 것을 특징으로 하는 폴링 장치.
KR1019810003665A 1980-09-29 1981-09-29 가변 우선 순위장치를 가진 통신 멀티플렉서 KR860000981B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/191,629 US4380065A (en) 1980-09-29 1980-09-29 Communication multiplexer variable priority scheme
US191,629 1980-09-29
US191629 1988-05-09

Publications (2)

Publication Number Publication Date
KR830008234A KR830008234A (ko) 1983-11-16
KR860000981B1 true KR860000981B1 (ko) 1986-07-24

Family

ID=22706244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019810003665A KR860000981B1 (ko) 1980-09-29 1981-09-29 가변 우선 순위장치를 가진 통신 멀티플렉서

Country Status (9)

Country Link
US (1) US4380065A (ko)
JP (1) JPS6012663B2 (ko)
KR (1) KR860000981B1 (ko)
AU (1) AU557789B2 (ko)
BR (1) BR8106252A (ko)
CA (1) CA1169158A (ko)
MX (1) MX151382A (ko)
PH (1) PH18202A (ko)
YU (1) YU45696B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4536838A (en) * 1983-03-24 1985-08-20 Mds Qantel, Inc. Multi-processor system with communication controller using poll flags for non-contentious slot reservation
US4530093A (en) * 1983-07-05 1985-07-16 International Standard Electric Corporation PCM Telecommunications system for voice and data
US4569046A (en) * 1983-07-18 1986-02-04 Northern Telecom Limited Method of, and a terminal for, transmitting bytes to a bus
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4608685A (en) * 1984-04-30 1986-08-26 Northern Telecom Limited Packet and circuit switched communications network
US4712210A (en) * 1984-09-07 1987-12-08 Lee Data Corporation Signal conversion circuit for interconnecting coaxial cable and a twisted pair
JPH0616631B2 (ja) * 1985-03-04 1994-03-02 日本電信電話株式会社 ネットワ−クにおけるステ−ション装置
JPS61210738A (ja) * 1985-03-14 1986-09-18 Nissan Motor Co Ltd 車両用信号通信装置
US4663620A (en) * 1985-09-05 1987-05-05 International Business Machines Corporation Modified crossbar switch operation with fixed priority conflict resolution and apparatus for performing same
CA1263721A (en) * 1985-10-18 1989-12-05 Owen Lloyd Nelson Communication system for the transfer of small digital message blocks and large digital message blocks
FR2681205B1 (fr) * 1991-09-09 1994-05-06 Hewlett Packard Co Procede et dispositif de multiplexage.
US6839795B1 (en) * 2000-05-31 2005-01-04 Silicon Labs Cp, Inc. Priority cross-bar decoder
US7171542B1 (en) * 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
CN101997704A (zh) * 2009-08-20 2011-03-30 中兴通讯股份有限公司 一种实现网元链路状态轮询的方法、装置及网管服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702008A (en) * 1970-12-07 1972-10-31 Bell Telephone Labor Inc Program for polling party line data stations for message pickups
CA1086397A (en) * 1976-09-14 1980-09-23 Charles G. Diefenderfer Polling an data communication system having a pulse position to binary address conversion circuit
US4100533A (en) * 1976-12-06 1978-07-11 Bell Telephone Laboratories, Incorporated Multipoint polling technique
US4195343A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Round robin replacement for a cache store

Also Published As

Publication number Publication date
PH18202A (en) 1985-04-25
BR8106252A (pt) 1982-06-01
CA1169158A (en) 1984-06-12
KR830008234A (ko) 1983-11-16
YU11885A (en) 1987-06-30
JPS57132238A (en) 1982-08-16
AU7498781A (en) 1982-04-08
JPS6012663B2 (ja) 1985-04-02
AU557789B2 (en) 1987-01-08
MX151382A (es) 1984-11-13
YU45696B (sh) 1992-07-20
US4380065A (en) 1983-04-12

Similar Documents

Publication Publication Date Title
US4385382A (en) Communication multiplexer having a variable priority scheme using a read only memory
US4488231A (en) Communication multiplexer having dual microprocessors
KR860000981B1 (ko) 가변 우선 순위장치를 가진 통신 멀티플렉서
US4426679A (en) Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor
EP0383475A2 (en) Shared resource arbitration
US4075691A (en) Communication control unit
US4015243A (en) Multi-processing computer system
US4420806A (en) Interrupt coupling and monitoring system
US4261034A (en) Remote distributed interrupt control for computer peripherals
US4065810A (en) Data transfer system
KR910017798A (ko) 동기 링크 인터페이스 및 비동기 호스트 프로세서 인터페이스를 갖는 종합 데이터 링크 제어기
US4482982A (en) Communication multiplexer sharing a free running timer among multiple communication lines
EP0208430B1 (en) A method and apparatus for performing variable length data read transactions
GB1221819A (en) Data processing apparatus
KR860000982B1 (ko) 2개의 마이크로프로세서를 갖는 통신 멀티플렉서
US4796022A (en) Double transit bus system
US4405981A (en) Communication multiplexer having an apparatus for establishing a single line priority
EP0579398A1 (en) Method of addressing devices and transferring data signals on a bus
FI76462B (fi) Kommunikationsmultiplexer med ett variabelt prioritetsschema.
CA1301945C (en) Dual microprocessor control system
US3505652A (en) Data storage access control apparatus for a multicomputer system
CA1235229A (en) Double transit bus system
JP2000244585A (ja) バスインタフェース回路
EP0049160A2 (en) Channel timing control in communication controller
KR0174509B1 (ko) 메모리 엑세스모드 제어장치 및 방법

Legal Events

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