KR960000545B1 - 데이타 링크 제어 장치 - Google Patents
데이타 링크 제어 장치 Download PDFInfo
- Publication number
- KR960000545B1 KR960000545B1 KR1019910002502A KR910002502A KR960000545B1 KR 960000545 B1 KR960000545 B1 KR 960000545B1 KR 1019910002502 A KR1019910002502 A KR 1019910002502A KR 910002502 A KR910002502 A KR 910002502A KR 960000545 B1 KR960000545 B1 KR 960000545B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- channel
- internal
- state
- processing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Time-Division Multiplex Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
내용 없음.
Description
제1도는 네트워크내의 본 발명의 장치의 위치를 도시한 도면으로서, 도시된 특정 네트워크 시스템이 기본 속도 ISDN 음성 데이터 통신용이지만, 본 발명의 장치가 다른 다수의 네트워크에 적용 가능한 것을 나타내며, 본 발명의 장치를 사용하는 대표적인 데이터 통신 네트워크의 블럭도.
제2도는 제1도에 도시된 네트워크내의 데이터 처리 노드의 블럭도로서, 본 발명의 IDLC장치의 노드내의 구성과 관련된 국부 TS(시간교환) RAM 기억장치를 나타내는 도면.
제3도는 주논리 구획과 TS RAM을 구비하는 관련된 RAM 기억장치를 나타내는 본 발명의 장치의 내부 논리 조직의 고레벨의 블럭도.
제4도는 본 발명의 장치의 동기부내에서 장치내의 자원 관리 논리 요소의 지향하에 실행되고, 그 내부의 다른 자율 논리 요소의 상태를 장치 외부의 레벨 1 링크 신호 처리와 동기하여 동적으로 구성하는 기능의 타이밍도.
제5도는 논리요소와 서브요소외에 각 요소와 서브요소의 주요 레지스터를 나타내는 IDLC의 중간 레벨 블럭도.
제6도는 그 크기 및 채널당 공간 할당을 나타내는 TS RAM의 블럭도.
제7도는 그 크기 및 채널당 공간 할당을 나타내는 FIFO RAM의 블럭도.
제8도는 그 크기 및 채널당 공간 할당을 나타내는 DMA RAM의 블럭도.
제9도는 TS RAM의 논리 및 물리적 조직을 나타내는 블럭도.
제10도는 RSM(자원 관리기) 구획의 블럭도.
제11도 및 제12도는 RSM 구획의 전용 레지스터와 관련되고, TS RAM내의 채널마다의 전용워드 공간에 저장된 CCR(채널 구성 레지스터)워드와 HPCR(HDLC 프로토콜 구성 레지스터)워드내의 비트 할당을 각각 나타낸 도면.
제13도 내지 제15도는 본 발명의 IDLC장치와 L1회로사이의 BTDM 인터페이스를 설명하기 위한 타이밍도.
제16도 IDLC의 수신 레이어 1(RL1)회로 요소의 논리 조직의 블럭도.
제17도는 RL1의 상태 표시 레지스터의 배치를 나타내는 도면.
제18도는 BTDM 인터페이스에서 각각의 활성 통신 채널에 대한 RSM을 경유하여 RL1과 TS RAM사이에서 교환된 ″채널화″시간 교환 상태 워드 RL1_TSO1의 포맷을 나타내는 도면.
제19도는 IDLC의 수신 유효성(RV)회로 요소의 블럭도.
제20도 및 제21도는 RSM을 경유하여 RV와 TS RAM 사이에서 교환된 2개의 시간 교환 상태워드 RVTSO1과 RV_TSO2의 포맷을 각각 나타내는 도면.
제22도는 IDLC의 전송 레이어 1(TL1)회로 요소의 블럭도.
제23도는 TL1상태 표시 레지스터의 배치를 나타내는 도면.
제24도는 RSM을 경유하여 TV와 TS RAM 사이에서 교환된 시간 교환 워드 TL1_TSO1의 포맷을 나타내는 도면.
제25도는 IDLC의 전송 유효성 요소(TV)의 블럭도.
제26도는 RAM을 경유하여 TV와 TS RAM 사이에서 교환된 시간 교환 상태 워드 TV_TSO1의 포맷을 나타내는 도면.
제27도는 IDLC의 FIFO RAM부의 블럭도.
제28도는 IDLC의 수신 FIFO 관리 요소 RFM의 블럭도.
제29도 및 제30도는 RSM을 경유하여 RFM과 TS RAM 사이에서 교환된 2개의 시간 교환 상태 워드 RFM_TSO1과 RFM_TSO2의 포맷을 각각 나타내는 도면.
제31도는 IDLC의 전송 FIFO 관리요소 TFM의 블럭도.
제32도는 TFM과 TS RAM 사이에서 교환된 시간 교환 상태 워드 TFM_TSO1의 포맷을 나타내는 도면.
제33도 및 제34도는 체널마다의 2개의 수신 DMA 구성 레지스터 RDCR1과 RDCR2를 위해 취해진 FIFO RAM의 위드 공간의 배치를 나타내는 도면.
제35도는 및 제36도는 채널마다의 2개의 전송 DMA 구성 레지스터 TDCR1과 TDCR2를 위해 취해진 FIFO RAM의 워드 공간의 배치를 나타내는 도면.
제37도는 IDLC의 인터럽트 구획 INT의 블럭도.
제38도는 INT에서 발생된 상태 기능 IHEISR(IDLC 하드웨어 에러 인터럽트 상태 레지스터)의 형태를 나타내는 도면.
제39도 및 제40도는 INT에서 발생되고, 각각의 활성 통신 채널에 대하여 TS RAM 내에 저장된 상태 위드 CEISR(채널화 에러 인터럽트 상태 레지스터)와 EOPISR(처리 종료 인터럽트 상태 레지스터)의 형태를 나타내는 도면.
제41도는 (최대 16까지의) 상태 항목 EOPISR의 각각의 통신 채널에 관한 TS RAM내의 큐를 나타내는 도면.
제42도는 IOP에 대한 IDLC 인터럽트 벡터 레벨과 우선도의 차트.
제43도는 IDLC내의 슬레이브 I/O구획 SIO의 블럭도.
제44도 및 제45도는 SIO에 등록된 구성 규정 기능 ICR(IDLC 구성 레지스터)와 HCR(하이퍼 채널 구성 레지스터)의 형태를 나타내는 도면.
제46도는 SIO에 등록된 VHR(벡터 유지 레지스터) 상태 기능의 형태를 나타내는 도면.
제47도는 IDLC의 DMARQ(DMA 요구큐) 구획의 블럭도.
제48도는 IDLC의 DMAR(DMA RAM) 구획의 블럭도.
제49도는 IDLC의 DMAC(DMA 제어) 구획의 블럭도.
제50도 및 제51도는 각각의 활성 채널에 관하여 DMAR에 저장되고, DMAC에 의해 각각의 통신 채널에서 수신되는 데이터에 관하여 그 수신 동작을 제어하도록 사용된 항목 RDCR3과 RDCR4의 형태를 나타내는 도면.
제52도 및 제53도는 각각의 활성 채널에 관하여 DMAR에 저장되고, DMAC에 의해 각각의 통신 채널에서 전송되는 데이터에 관하여 그 전송 동작을 제어하도록 사용된 항목 TDCR3과 TDCR4의 형태를 나타내는 도면.
제54도는 IDLC의 MIO(마스터 I/O) 요소의 블럭도.
제55도는 하이퍼 채널 구성의 확립과 사용에 관련하여 본 발명의 IDLC내의 회로를 나타내는 도면.
관련 특허 출원에 대한 참조문헌
1. J.Farrel 등에 의해 1990년 3월 15일자로 출원된 U.S 출원번호 제 07/495,232 호의 ″Integrated Data Link Controller With Autonomous Logical Elements″는 더 효율적인 동작을 위해, 본 발명의 데이터 링크 제어 장치를, 파이프 라이닝 효과를 제공하는 다수의 자율 소자(automous elements)로 구성하는 것에 관한 것이다.
2. J.Farrel 등에 의해 1990년 3월 15일자로 출원된 U.S 출원번호 제 07/495,012 호의 ″Burst Time Division Multiplex Interface For Integrated Data Link Cotroller″는 본 발명의 장치와 라인 제어 회로(″레이어 1″ 또는 L1 회로라고도 불리운다) 사이의 접속 인터페이스에 관한 것으로, 본 발명의 장치가 다양한 라인 속도, 프로토콜, 모뎀 특성 등등에 관해 효율적으로 동작하게 할 수 있도록 하고 있다.
3. J.Farrel 등에 의해 1990년 3월 15일자로 출원된 U.S 출원번호 제 07/495,821 호의 ″Integrated Data Link Control With Dynamic Hyperchannel Mapping″는 ISDN(Integrated Systems Data Networks) 링크상의 타임 채널을 ″하이퍼 채널(Hyper-Channels)″이라고 불리우는 고 처리량의 채널(higher throughput channels)로 동적으로 그리고 가변적으로 구성하기 위한 능력에 관련되는 본 발명의 장치의 특징에 관한 것이다.
본 발명은 국제 표준화 기구(International Standards Organization: ISO) 의 개방 시스템 상호 접속(Open Systems Interconnection: OSI) 사양에 의해 규정된 바와 같은 레이어(Layer)2(L2) 링크 제어 처리에 관련된 기능을 실행하는 통신 제어 장치(Communication controller devices)에 관한 것으로, 특히 한정된 것은 아니지만, 음성과 데이터 채널을 다중으로 수용하는 것을 필요로 하는 기본 속도(primary)ISDN(Intergrated Services Digital Network: 중합 정보 통신망) 환경에서 동작하는 고속네트워크에 접속하는 장치에 관한 것이다. 더욱 상세하게는, 본 발명은 비교할만한 현재의 장치보다 융통성 및 처리속도가 큰 이러한 종류의 장치에 관한 것이다.
또, 본 발명은 현재의 CMOS 기술을 사용하여 고밀도로 집적한 단일 반도체칩에 편리하고 효율좋게 패키지 할 수 있는 상술한 종류의 장치에 관한 것이다. 이 최종 특성 및 L2 처리 기능을 일체로 하는 어떠한 (certain) 능력에 따라서, 이러한 장치는 현재″통합 데이터 링크 제어(Intergrated Data Link Control)″(또는 IDLC)장치라고 불리워진다.
본 출원의 양도인에게 양도된 미국 특허4,493,051,호 및 제4,504,901호에 개시되어 있는 바와 같이, 비교할만한 통신 데이터 링크 제어 장치에는 원격처리 (teleprocessing)네트워크의 선로와 호스트 프로세서 사이의 유연성이 있는 모듈식 인터페이스(flexible modular interface)가 마련되어 있고, 가변 전송속도를 선택적으로 지지하는 능력에 의해 각 선로상에서 모뎀 인터페이스와 통신 프로토콜(예를들어 SDLC, BSC등)을 마련하고 있다. 이러한 각각의 장치는, 다른 경우에는 이와 같은 다른 전송속도, 모뎀 인터페이스 및 프로토콜을 필요로 하는 각종 장치 또는 부품수(part numbers) 로 치환하도록 하는 것이다.
이와 같은 비교할만한 장치는 처리 속도의 제한 및 프로세서의 다양성 때문에 기본속도 ISDN에 사용하기에는 부적합한 것으로 고려된다. 본 발명의 하나의 특징은 이와같은 제한이 여기에 교시되어 있는 수단에 의해 제거될 수 있다는 당면의 인식(present recognition)이다.
상술한 제한은 외부 처리 시스템에 관한 실시간 수송이 요청(real time busing requirements), 제어 장치와 외부 시스템 사이의 기능 책임의 분산, 네트워크 처리와 전체적으로 동기하도록 이러한 장치가 종래부터 구성되어 있는 것 및 장치와 외부 장치와의 사이의 천이시에 정보를 저장하기 위해 국부적으로 장치에 이용 가능한 버퍼 기억장치의 양(amount)으로부터 발생한다.
통상, 이러한 장치는 네트워크의 시간 다중 인터페이스(time multiplex interface)를 갖고 있으며, 여기서는, 다수의 통신채널에 할당된 기본 타임 슬롯 기간이 각 채널의 할당 슬롯기간중에 하나의 데이터 비트 신호를 송수신하도록 구성되어 있다. 현재의 제어 장치는, 각각의 채널 슬롯에서 더 많은 수의 신호를 수신 할 수 있기 전에, 외부의 보다 높은 레벨의 처리 인터페이스에 관한 수신비트의 처리를 종료하는 것을 필요로 하고 있다. 이것은 외부의 처리 인터페이스가 네트워크와 실질적으로 동기하여 동작하는 것 및 외부 버스 인터페이스에 다중 비트전송에 적응하는 능력이 있어도 외부 버스 인터페이스를 통하여 한번에 하나의 통신 비트를 전송하는 것을 필요로 한다.
또, 소정의 네트워크 채널에 관한 처지에 대해서 외부 요구를 개시한 후, 이와 같은 장치는 각각의 채널에 할당된 네트워크 인터페이스 슬롯에 따라서 (인터럽트 이벤트 사태정보(interrut event status information) 뿐만 아니라 통신 데이터의)관련 정보 전송을 종료하도록 강요되어 있다.
다른 제약은 링크 제어 장치와 외부/호스트 시스템과의 사이에서 정보를 교신하기 이전에 사용된 ″인터럽트″ 기술에서 발생된다. 이전 및 현재의 시스탬에서는 제어장치에서 외부 프로세서로의 통신 및 에러 관련 이벤트(events)의 통보는 실시간 모드로 처리되고 있다. 즉, 외부처리 시스탬은 장치로부터의 모든 관련 상태정보를 포획해야하는 것을 의미한다.
또, 인터럽트 이벤트 상태를 포획하기 위해 사용되는 경로는 통신 데이터를 전송하기 위해 사용되는 경로와 대부분 공통으로 되어 있다. 이 때문에 인터럽트 통신이 인라인 통신처리(in-line communication processes)를 방해하여 성능을 저하시킬 가능성이 증대한다.
이와 같은 제약 때문에 네트워크 인터페이스에서의 필요한 주사기간의 계속기간(required scan period durations)이 부당하게 길게 되므로, 최대 신호처리 속도 및 이와 같은 장치에 의해 동시에 서비스되어 얻어지는 채널의 구가 제한된다. 그들은 또, 제공할 수 있는 서비스의 형식을 제한(예를 들어 디지털 화된 음성 및 양식화된(formatteed)데이타를 전송하는 채널의 동시 서비스를 방해)하는 경향이 있다.
이와 같은 제한을 모든 배제하던가 또는 대폭적으로 경감시키는 것에 의해, 본 발명은 기본 속도 ISDN 또는 다른 복잡한 환경에서 현재의 장치의 능력을 초월한 속도롤 동작하는 미래의 네트워크를 지원하고자 하는 것이다. 따라서, 현재의 장치가 매초 350.000 송수신 비트 이하의 선로 또는 채널 주사속도를 갖는 네트워크 접속을 지원하고자 하는 경우, 본 발명의 장치는 매초 2,000,000 송수신 비트를 초월하는 주사속도를 필요로 하는 전이중(full duplex)접속에 적응한다.
또, 일반적으로, 전이중 음성 채널의 최대 매초 64,000 비트의 속도로 동작하고, 따라서, 장치의 처리 능력의 20%정도를 소비하므로, 이와 같은 이전의 장치에는 음성 전송을 지지하는 능력에 제한이 있다. 그러나, 본 발명의 IDLC 장치는 다수의 음성 채널 및 고속 디자탈 데이터 채널의 조합에 용이하게 적응한다.
IDLC는 동기부 및 비동기부로 조직되고, 각각이 특수 목적의 논리 회로로 이루어지는 다수의 구획(partitions)을 마련하고 있다. 동기부는 레이어1(11) 회로를 경유하여 통신 네트워크에 접속하고, 비동기부는 그 시스템에 접속된 버스를 경유하여 보다 높은 레벨의 처리(호스트(Host)) 및/또는 호스트의 입출력 프로세서(I/O Processor)시스템에 접속한다.
동기부에서는 다수의 논리 구획이 종속으로 결합하여 네트워크에서 수신되는 데이터에 관한 수신처리 파이프라인을 형성하고 다수의 이와 같은 구획이 종속으로 결합하여 네트워크로 전송되는 데이터에 관한 전송처리 파이프라인을 형성한다. 각 파이프라인의 구획은 그들을 통하여 처리되는 데이터에 대하여 다른 처리 기능을 실행한다. 네트워크 인터페이스에 있어서의 시분할 스롯(time division slots)은 원격 시스템과 통신하기 위해 네트워크 인터페이스에서 연결되어 있는 시분할 채널에 동적으로 할당할 수 있고, 이와같은 채널을 통과하는 데이터에 대하여 다수의 처리 동작을 실행하도록, 각각의 파이프라인을 활성 채널에 할당된 시분할 슬롯의 출현과 동기하여 동작한다.
상술한 파이프라인 구조의 특징은, 각각의 파이프라인의 구획이 임의의 채널에서 각각을 하나 이상의 데이터 파이프라인에 대해서 동작시키는 버퍼 레지스터를 구비하고 있고, 활성채널에 할당된 타임 슬롯 기간중에 각각의 파이프라인의 관련 채널을 통하여 흐르는 다수의 데이터 바이트에 대해 다른 처리업무(process tasks)를 동시에 실행할 수 있도록 하고 있다는 것이다. 따라서, 하나의 채널에서 소정의 데이터 바이트에 대해 모든 IDLC 업무를 완료하는데 필요한 시간이 감소되고(또는 동등하게 IDLC의 데이터 처리속도가 전체로서 증가된다.) IDLC의 외부의 호스트/IOP 인터페이스에서 각각의 바이트의 전송을 완료하는데 필요한 시간이 감소된다.(따라서, 그러한 인터페이스에서의 시간 의존성이 작게된다). 또, 이 구분된(segmented)파이프라인의 구조에 의해 IDLC는 소정의 처리 속도로 보다 많은 L2 업무를 실행할 수 있으므로, IOP/호스트 시스템의 업무 책임이 경감된다.
각 파이프라인에서의 처리는 각각의 채널에 할당된 네트워크 인터페이스의 타임 슬롯과 동기하는 시간 간격중에 시분할 모드로 실행된다. 따라서, 각각의 파이프라인내의 구획은 채널 서비스의 타임 슬롯의 기간중에 다수의 업무를 실행할 수 있는 특수 목적 유니트를 효과적으로 구성하고, 각각의 파이프라인은 전체로서 특수 목적의 다수처리 및 멀티태스킹 유니트를 효과적으로 구성한다.
비동기부는 호스트/IOP처리 시스템의 버스 인터페이스에서 보다 높은 레벨의 호스트/IOP처리 시스템에 접속하고, 그 버스에 관하여, 각각이 다수의 바이트(바이트는 현재, 8데이타 비트에 1패리티의 비트를 부가한 것이며, 1워드는 이러한 바이트의 4개이다)를 구비할 수 있는 바이트 별렬 워드 조합(byte-paralled word sets)에서 데이터 통신 정보를 교환하도록 동작한다..
비동기부는 DMAC(Direct Memory Access Control:직접 기억 액세스 제어) 구획, 마스터(Master)I/O구획(MIO) 및 슬레이브(Slave) I/O 구획(SIO)를 포함한다. DMAC는 MIO와 관련하여 동작하고, 외부의 보다 높은 레벨의 처리 시스템의 기억 장치에 직접 액세스하여 장치내의 기억장치와 외부 기억장치와의 사이에서 통신 데이터 및 장치 제어 정보를 교환한다. 이하에 설명하는 특징적인 처치(featured actions)를 통하여 외부 시스템은 이 구획에 대한 프로그램 가능한 제어 파라미터를 장치내의 관련 DMA RAM 기억장치(DMAR) 및 FIFO(First In First : 선입선출) RAM(FIFOR)에 설치한다.
상기에 특징을 기술한 바와 같이, IDLC를 동기부와 비동기부로 구분하는 것에 의해, 장치를 다른 호스트/IOP 버스 구조에 접속하도록 수정하는 것이 쉽다는 부가적인 이점이 얻어진다. 호스트/IOP 버스에 접속하는 특정 구획 MIO 및 SIO를 마련하도록 비동기부를 더욱 구분하는 것에 의해, IDLC를 다른 버스 구조에 접속하도록 적응(adaptation)시키거나 또는 수정하는 것이 더욱 용이하게 된다.(즉, 비동기부를 전체로서가 아니고, MIO 및 SIO만을 이와 같이 수정해야 한다.)
DMAC 구획의 특징은, 통신의 적어도 한쪽 방향(현재 기술된 실시예에서는 네트워크의 전송)에서 DMAC는 외부 기억장치로의 엑세스의 파라미터(최초의 어드레스, 블록 길이등)를 규정하는 DMAC 및 FIFOR로 분해되어 있는 명령 불럭을 인터럽트하고, 다른 명령 블록을 외부 기억 장치에서 DMAC 및 ,IFOR로 자동 로드(auto-loading)하기 위해 이와같은 명령 블록의 체인 기능(chaining functions)을 인터럽트하도록 되어 있다. 이것에 의해 물론 외부 시스템에 대한 기억 장치 및 장치의 관리 프로그래밍 책임이 경감된다. 이것에 의해 호스트/IOP 기억장치의 분산영역사이의 데이터의 전송이 용이하게 되고, 호스트/IOP 시스템에 걸리는 처리 및 기억 장치 관리의 부하도 경감된다.
장치는 동기부와 비동기부와의 사이의 데이터 통신에 대한 독특한 링크를 형성하는 DMA 요구 크(Request Queye)(DMARQ)를 포함한다. 동기부는 FIFOR의 채널마다의 통신 데이터 큐의 상태를 감시하고, 처리가 필요한 경우, DMARQ로 요구를 보내고, 이 요구에 의해 쿠를 비게(empty)하던가 또는 보충(replenish)(네트워트에서 수신된 데이터가 채워진 쿠를 외부 기억 장치내의 미리 프로그램된 공간으로 이동시키던가 또는 네트워크로 전송된 데이터를 유지하고 있는 큐에 외부 기억 장치에서 페치된 데이터로 보충)하던가의 비동기 처리가 DMAC에 의해 취해진다.
DMAC가 각각의 요구에 서비스하므로써, DMAC는 신호를 DMARQ에 제시하여 각각의 요구를 리세트한다. 각각의 채널에 관한 DMARQ요구의 설정 상태 및 리세트 상태의 지시는 시분할로 채널 처리 타임 슬롯에 동기하여 동기부에 제시되어, 동기부로 하여금, 통보된 요구가 처리를 실행한 때를 결정할 수 있도록 한다.
동기부와 비동기부사이를 통하는 통신 데이터는 양쪽부분에서 엑세스 가능한 FIFOR(선입선출 RAM)라고 불리는 RAM 기억장치에 유지되어 있다. 네트워크로의 전송을 위해 처리된 데이터는 FIFOR에서 한번에 1바이트씩 페치(fetch)된다. 비동기부의 DMAC의 구획에 의해 처리된 데이터는 외부 기억장치에 대한 외부 전송을 위해 FIFOR에 대하여 한번에 1워드씩 리드 또는 라이트된다.
FIFOR은 이미 설명한 바와 같이, 동기 처리 파이프라인에서 데이터의 버퍼를 보충하므로, 임의의 순간에 임의의 채널에 관하여 IDLC에서 버퍼된 데이터양은 파이프라인 및 FIFOR에 그때 버퍼되어 있는 양의 합이다. 이것에 의해 IDLC의 데이터 처리 속도가 더욱 증가함과 동시에 IDLC의 비동기부의 외부 인터페이스에서의 시간 의존성이 더욱 감소한다.
네트워크 인터페이스는 채널 또는 하이퍼 체널에 할당된 각 기본 타임슬롯(basic time slot)에 의해 시분할 다중되어 있다.(본 명세서의 하이퍼 채널의 설명 및 ″동적 하이퍼 채널 맵핑에 의한 통합 데이터 링크 제어기 (Intergrated Data Link Controller with Dynamic Hyper Chnel Mapping)″라는 관련의 동시 계속중의 출원 참조). 그 인터페이스에서 정보 비트 신호(데이타 및/또는 음성)는 비트 직렬로(bit serially)송수신 되지만, 기본 체널 슬롯에서 정보의 풀 바이트(full byte)까지를 송출 및/또는 수신할 수 있고, 이것에 의해 이미 기술한 동기 처리 파이프라인(synchronous processing pipelines)에 대해 출입할 수 있는 데이터량이 증가한다.
앞서 주지한 바와 같이, 동기부 파이프라인은 그 처리 업무를 각각의 네트워크 인터페이스의 타임 슬롯의 출현과 시간 동기하여 실행한다. 이것을 지원하기 위해, 장치는 동기부 및 비동기부의 양자의 구획에서 비트 병렬 워드 순차식(bit-parllel word sequential basis)으로 액세스할 수 있는 시간 교환(time swap) RAM(TSR) 및 관련 시간 교환 처리(associatal time swap processes)를 관리하는 자원관리기 요소(Resource Manager Element)(RSM)를 포함한다. TSR은 네트워크 인터페이스에서 현재 활성인 각 채널에 관한 채널 처리 상태 정보(channel processing state information(시간교환상태(time swap status)라고도 함) 및 채널 구성 정보 (channel configuration information)를 유지한다. 각 채널에 관한 시간 교환상태 정보는 각각의 채널에 대한 최후의 서비스 기간중에 동기 처리 파이프라인의 모든 요소의 처리 상태를 규정한다.
활성 파이프라인에 관련하는 각각의 기본 타임 슬롯 기간의 종료에서, RSM은 TSR을 동기부 처리 파이프라인의 자율 요소(autonomous elements)의 현재의 상태를 보존하도록 동작된다. 마찬가지로 활성 채널에 관련하는 슬롯 기간중에 RAM은 TSR을 그 채널에 관하여 최후에 보존한(last-saved)상태를 파이프라인 요소에 로드(load)하도록 동작시킨다. 이와 같은 상태에서는 각각의 채널에 대한 처리 서비스 초기 타임 슬롯 기간중에 임의의 요소에서 수신되고 부분적으로 처리되어 있는 데이터를 포함할 수가 있다.
RSM 및 L1회로로의 인터페이스의 상술 및 그 밖의 특징에 의해 송수신 파이프라인이 시간적으로 중첩되어 동시에 동작할 수 있으므로, 각각의 채널 슬롯의 각각의 파이프라인단(pipeline stage)에서 실행할 수 있는 처리의 양이 효과적으로 증대한다.
비동기부는 외부 시스템 버스로의 각각의 데이터 통신 및 제어의 인터페이스를 구비하고 있다. 데이터 통신 인터페이스는 상술의 DMAC의 구획에 의해 외부 시스템 기억 장치와 FIFOR의 사이에서 통신 데이터를 전송하기 위해, 또 외부 기억장치와 DMAC 및 FIFOR의 쌍방과의 사이에서 DMAC를 제어하는 명령 블록을 전송하기 위해 사용된다. 제어 인터페이스는 상술한 SIO(슬레이트 I/O)구획을 통하여 동작하지만, 외부 시스템에 의해 제어될 수 있고, 외부 장치가 제어 정보를 장치로 전송하기 위해, 또 장치에서 인터럽트 요구 및 장치상태 정보를 인출하기 위해 사용할 수가 있다.
상술한 장치 제어 정보는 SIO를 통하여 연장하는 장치내부 경로를 통해 TSR, FIFOR, DMAC 및 일정한 장치 레지스터로 라이트된다. 크기의 정도로, 이들 경로는 데이터 통신을 지지하는 내부 경로에서 분리되어 있다.(이것에 의해 통신 처리로의 방해나 버스 경쟁의 가능성이 감소된다.)상술한 인터럽트 요구 및 상태정보는 또 SIO를 경유하여 연결된 내부 장치 경로를 통하여 액세스되고, 이것에 의해 통신처리회로의 방해 및 버스 경쟁의 가능성이 더욱 감소된다.
인터럽트 요구 및 상태 정보로 액세스하는 내부 경로는 또 DMARQ와 같이 동기부 및 비동기부에 걸쳐지는 장치 구획 INT(Interrupt Handler : 인터럽트 핸들러)를 통하여 연장하고 있다. INT는 장치를 통하여 각 통신 채널에 관하여 상태를 감시하고 일정 시기에 응답하여 요구신호 및 관련하는 단일바이트 벡트(single byte vectors)를 공급하지만, 이것은 외부 버스 인터페이스로 중계되고, 외부 시스템에 의해 감시된다. 통신 채널 이벤트(communication channel events)(예를 들면, 수신 프레임의 종단)에 관련하는 인터럽트 요구에 관하여 INT는 RSM에 관련 상태 정보를 TSR내의 각각의 채널 큐에 저장시킨다. 각각의 큐는 각각의 채널의 다수의 이벤트에 관한 정보를 저장할 수가 있다.
외부(호스트/IOP)시스템 SIO를 경유해서 상태 정보를 TSR큐에서 추출하도록 동작하고, INT는 이들큐가 비워지는 것과 채워지는 것에 관련하는 제어 파리미터의 갱신을 관리한다. 이와 같이, 하여, 이들 큐의 동작은 채널 이벤트 상태의 회수(回數)에 관하여 외부 시스템에 대한 시간적 제약을 완화하도록 가능하고, INT의 동작은, 다른 경우에는 그 시스템에 부과되는 큐 관리라는 외부 시스템의 책임을 경감하는 기능을 한다. 또, 이와 같은 방법에 의한 상태의 큐잉(queuing)에 의해, IOP/호스트 시스템이 IDLC에 관한 하나의 동작에서 여러 이벤트에 관한 상태를 추출할 수 있고, 이것에 의해 호스트/IOP 시스템에 걸리는 처리 부하가 경감될 뿐만 아니라, 버스의 통화량도 저감된다.
본 발명의 목적은 동기 비트의 직렬 통신 네트워크(synchronous bit-serial communcation network)와 데이터 처리 시스템에 연결된 병렬 데이터 전송 버스 사이를 접속하고, 상기 네트워크와 버스에 각각 접속하는 상호 통신용의 동기 및 비동기 회로부를 갖는 데이터 링크 제어 장치(data link control device)를 제공하는 것이다.
본 발명의 다른 목적은, 상술한 장치로서, 동기부가 종속으로 접속되어 상기 네트워크와 상기 비동기부 사이의 천이시에 데이터에 관한 다수단의 송수신 처리 파이프라인을 형성하는 회로를 구비하고, 그 파이프 라인은 상기 데이터가 상기 네트워크와 상기 비동기부의 사이를 통과할 때 상기 데이터의 형태를 선택적으로 변경하도록 다수의 처림 업무를 동시에 선택적으로 실행하는 장치를 제공하는 것이다.
본 발명의 다른 목적은, 상술한 장치로서, 네트워크가 시분할 다중 네트워크이고, 상기 동기부가 그 동기와 네트워크와의 사이의 인터페이스에 동기적으로 반복하는 시분할 슬롯이 발생하는 것과 동기하여 동작하고, 소정의 반복 발생 순서를 갖는 타임 슬롯에 동적으로 할당할 수 있는 상기 동기부의 내부 채널에 관하여 처리를 실행하고, 상기 파이프라인이 이것에 의해 상기 채널에 관한 다수 처리 어레이와 선택된 각각의 채널에 관한 멀티 태스킹 어레이(multi tasking arrays)로서 동작하는 장치를 제공하는 것이다.
관련된 목적은 상기 타이 슬롯기간중에 다수의 데이터 바이트가 슬롯에 할당된 채널에 관하여 처리하는 업무가 다른 단계들 동시에 받을 수 있도록 상기 각각의 파이프라인의 각각의 단에 관하여 버퍼 기억 장치 설비를 마련하고, 이것에 의해 장치의 데이터 처리 속도를 증가시키는 것이다.
다른 목적은 상기 파이프라인을 다수의 OSI 레이어 2 데이터 링크처리 업무(OSI layer 2 data link processing tasks)를 실행하도록 구성하고, 이것에 의해 병렬 데이터 버스가 연결되어 있는 데이터 처리 시스템에 걸리는 부하를 경감할 수 있다.
관련된 목적은 상기에 특징을 기술한 바와 같은 장치로서, 그 장치가 상기 슬롯에 할당된 채널에 관하여 상기 비동기부와 동기부사이의 천이시에 데이터를 저장하기 위해 각각의 상기 슬롯에 전용의 부분을 갖는 랜덤 액세스 버퍼 기억 장치 어레이(FIFOR)를 구비하는 장치를 제공하는 것이다. 관련된 목적은 비동기부가 상기 버퍼 기억 장치 어레이와 상기 버스에 접속된 외부 랜덤 액세스 기억 장치사이에서 데이터를 전송할 수 있는 DMAC(Direct Memory Access Control : 직접 기억 액세스제어)회로를 구비하는 장치를 마련하고, 상기 외부 기억 장치에 직접 기억 액세스(DMA) 모드로 직접 액세스할 수 있다.
관련된 목적 및 특징은 데이터 처리 시스템의 외부 어드레스 가능 기억 장치에 상기 시스템내의 중앙 프로세서에 의해 분담되는 명렬 데이터 전송 버스를 경유하여 연결함과 동시에 장치가 상기 어드레스 가능 기억 장치에 관하여 전송하는 데이터를 저장할 수 있도록 하는 국부적으로 액세스 가능한 데이터 큐잉 버퍼(FIFOR)를 갖는 DMA제어 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 대이타 링크 제어 장치 비동기부에 상기 DMA 데이터 전송을 위한 상기 버스로의 액세스를 제어하도록 동작하고 상기 장치의 상기 DMAC회로를 상시 버스에 의한 신호전달 처리의 특정 기능 국면에서 분리하는 버스 제어 회로(MIO)를 마련하고, 이것에 의해 상기 장치를 다른 구조의 버스에 접속하는데 필요한 회로를 효과적으로 최소화하는 것이다.
다른 목적은 상기 장치에 부가적인 기억장치 수단을 마련하여, 상기 버스에 연결되어 있는 데이터 처리 시스템에 의해 상기 부가적인 기억 장치 수단에 배치된 명령을 상기 회로가 해석할 수 있도록 DMAC회로에 관한 제어 정보 파라미터를 저장하는 것에 있다. 다른 목적은 상기 DMAC에 상기 부가적인 기억 장치수단에 저장되어 있는 상기 명령중의 체인 지시를 해석하는 논리 수단을 마련하고, 이것에 의해 상기 DMAC회로가 다수의 체인 명령에 의해 규정된 동작을 실행할 수 있도록 하는 것에 있다.
다른 목적은 상기 장치에 상기 동기부와 비동기부의 사이에 독특한 결합 인터페이스를 형성하는 DMA 요구 큐(Reguest Queue)(DMRQ)회로를 마련하고, 이것에 의해 상기 동기부에서 실행된 동기 처리에서 발생하는 데이터 전송요구를 상기 DMAC회로에 순서적이며 비동기적으로 전송할 수 있도록 하는 것에 있다. 관련하는 목적은 상기 DMARQ회로에 상기 동기적으로 발생한 요구에 대응하는 요구를 유지하는 정지화 레지스터(staticizing registers)를 마련하는 것에 있다.
다른 목적은 각각의 요구된 서비스가 상기 DMAC에 의해 실행되는 것에 대하여 상기 정지화 요구(staticized registers)를 리세트하는 수단을 DMAC회로 및 DMARQ회로에 마련하는 것에 있다.
관련된 목적은 상기 DMARQ회로에 그 각각의 정지화 요구의 상태를 상기 동기부에 시분할 모드로 나타내는 수단을 마련하고, 이것에 의해 상기 채널에 관련하는 요구의 상태를 상기 채널에 할당된 각각의 처리타임 슬롯 기간중에 제시하는 것에 있다.
다른 목적은 상기에 특징을 기술한 바와 같은 데이터 링크 제어 장치로서, 사익 동기부가 상기 파이프라인의 각단을 형성하는 회로에 관한 채널 처리 상태 제어 파라미터를 저장하는 국부적으로 액세스 가능한 관련하는 랜덤 액세스 기억 장치 어레이 버퍼(TRS)를 갖고, 그 TRS버퍼는 각각의 상기 네트워크 타임 슬롯에 전용의 어드레스 가능 공간을 구비하고 있는 장치를 제공하는 데 있다. 관련된 목적은 방금 특징을 기술한 바와 같은 장치로서, 각 타임 슬롯에 전용의 공간이 , 각각의 파이프라인단에 관련하는 데이터의 바이트를 채널에 할당된 각각의 타임 슬롯이 연속하여 출현하는 사이의 채널에 관한 처리의 연속성을 나타내기에 충분한 다른 논리 상태 정보와 함께 저장하기에 충분한 장치를 제공하는 것이다.
다른 목적은 방금 특징을 기술한 바와 같은 장치로서, 동기부가 상기 파이프라인단의 회로와 상기 TSR버퍼 기억 장치사이의 정보의 전송을 지도하는 자원관리기 요소(RSM)회로를 마련하고, 이것에 의해 상기 각각의 단을 상기 채널에 관한 처리 임부를 각각 할당된 타임 슬롯과 동기하여 실행하도록 조절하는 것이다.
다른 목적은 비동기부의 회로가 상기 버스와 상기 FIFOR 및 TRS 버퍼 기억 장치를 포함한 장치의 내부 요소와의 사이의 다수의 정보 전송 경로를 마련하고, 이것에 의해 상기 버스에 연결된 처리 시스템이, 상기 경로의 하나를 통하여, 장치가 동일 또는 다른 채널 및 상기 경로의 다른 것을 통하여 상기 버스에 접속되어 있는 외부 기억 장치에 관한 동작을 실행하는 동안에, 상기 채널을 구성하도록 동작을 실행할 수 있는 상기에 특징을 기술한 바와 같은 장치를 제공하는 것이다. 또 다른 목적은 장치가 동일 또는 다른 채널에 관하여 상기 버스를 거쳐서 데이터를 전송하는 동안 상기 임의의 채널에 관한 상태 정보를 상기 장치에서 검색하도록, 상기 처리 시스템이 상기 하나의 경로의 사용을 허락하는 것이다.
관련된 목적은, 이 특성을 갖고, 상기 채널의 임의의 하나에서 발생하는 다수의 이벤트를 특징으로 하는 채널 이벤트 상태 정보를 동시에 저장함과 동시에, 상기 저장된 상태 정보를 상기 외부 처리 시스템에 상기 이벤트의 발생의 시간과 동기하여 검색하는데, 이용할 수 있는 논리회로와 버퍼 기억 장치를 포함하는 장치를 제공하는 것이다.
1. 용어, 정의 및 개념
이하 사용되는 용어는 하기의 의미를 갖는다.
<자율 논리 요소(Autonnomous Logical Element)>
현재 사용되고 있는 바와 같이, 데이터 입력 및 출력과 유한개의 논리 상태의 목록, 전형적으로는 하나 이상의 논리 상태 기계회로(logical state machine circuits)를 구비한 한조(a set)의 논리 회로를 가지며, 그 상태중의 하나로 설정되자마자 외부의 상태 또는 이벤트의 함수로서 다른 상태로 변천하고, 이와 같이 변천하면서 상기 데이터의 입력 및 출력에 대하여 그것이 접속되어 있는 다른 요소에 대한 데이터를 교환하던가 또는 외부의 상태제어를 받는 그 동작이 이와 같은 다른 요소의 동작과 병렬이고 또한 동시에 실행할 수 있도록 논리 기능을 실행하는 특수 목적의 논리회로 구성을 의미한다.
<CCITT>
국제 통신 전화 자문 위원회(International Telegragh and Telephone Consultative Committe): 1865년 국제 전기 통신 연합(International Telecomm unications Union : ITU)조약하에서 형성된 조직이고, 현재는 국제 연합의 전문기관이다. 가입자는 AT & T 및 GTE Telenet와 같은 전기 통신 업자들이다.
<CMOS>
최근의 집적 반도체 장치에 사용된 바와 같은 상보형 금속 산화물 실리콘.
<CMOS2>
선로 간격 1㎛에 적응하고, 2 입력 AND게이트의 경우 회로 스위칭 속도 Ins를 발생하는 CMOS기술의 특정의 형태
[(1) IEEE J. S Solid State Circuit, V. 23 N Oct. 5, 1988, PP1095∼11 Wong. D. T외 ″11-ns 8K x 18CMOS Static RAM With 0.5-mum Devices″
(2) IEEE 주최, 1987년 Proc. of The Custom Integrated Circuits Conf. PP248∼252, Aldridge, A. W외 ″40K Equivalent Gate CMOS Standard Cell Chip″
(3) IEEE주최, 1987년 Proc. of The Custom Integrated Circuits Conf. PP245∼247. Hornung. F외 ″A Versatile VLSI Design System For Combining Gate Array And Standard Cell Circuits ON The Same Chip″참조]
<호스트 시스템(Host System)>
데이터 처리 네트워크내의 주 데이터 처리 유니트 또는 시스템.
<H채널>
(이하, 하이퍼 채널이라함)CCITT에 의해 그 I.412정의로 규정된 고속 시분한 채널의 하나의 형태.
[(CCITT Red Book. Vot Ⅲ, Fascicle Ⅲ.5 ″Integrated Service s Digital Network(ISDN)″ Geneva, 1985, 시리즈 I의 권장 규격 참조]
<HDLC(High Level Data Link Control : 고속레벨 데이터 링크 제어)>
이하에 규정된 LapB, LapD 및 SDLC 프로토콜을 포함하는 일반용어.
<하이퍼 채널(Hyper Channel)>
상기 H채널 참조.
<IOP 시스템>
주(main)(또는 호스트)프로세서의 제어하에 동작하는 입출력 프로세서.
<ISDN>
CCITT에 의해 규정된 통합 서비스 디지털 네트워크. [CCITT Red Book. Ⅷ Fascicle Ⅲ.5 참조]
<ISDN. 레이어 1 및 2(L1, L2)>
각각, ISDN 네트워크의 논리 신호 처리의 물리 레이어(physical layers) 및 데이터 링크 제어 레이어, 물리 레이어는 네트워크의 선로에 의한 송신 및 수신과 이와 같은 선로에 의한 네트워크 접속의 작동 및 해제를 실행한다. 링크 제어 레이어는 물리 레이어에 대하여 에러체크 및 다른 고레벨의 기능에 관계한다.
[CCITT Red Book, Ⅷ Fascicle Ⅲ. 5, Part Ⅳ. Section 3 and 4 참조]
<LAPB>
CCITTX.25 권장 규격에 의해 규정된 X.25 네트워크용의 특정 테이타 링크 프로토콜,[CCITT Fasicicle Ⅷ.3-권장 규격 X.25, ″Interface Between Data Terminal Equipment(DTE) And Data Circuit-Terminating Equipment(DTE) For Ternimals Operting In The Packet Mode And Connected To Public Data Networks By Dedicated Circuit″ Geneva 1976년. 수정 1980년 및 1984년 참조]
<LAPD>
CCITT 권장 규격 Q.920에 의해 규정된 바와 같은 D채널용 특정 링크 액세스 프로토콜[CCITT Fascicle Ⅲ. 4. Part Ⅳ, Section 4참조]
<모토롤라(Motorola) 68000 버스>
기억 장치 및 다른 주변장치에 부착되도록 모토롤라 68000 마이크로 프로세서에서 사용되는 버스[M68000 8-/16-/32비트 마이크로 프로세서 사용 설명서, 제 6판, Pentice Hall. 1989, Section 5(신호 및 버스동작설명)참조]
<네트워크 노드>
단말 기기가 네트워크에 부착되는 점
<물리적 인터페이스>
레이어 1인터페이스[상기 ISDN레이어 1 및 2 참조]
<RAM>
랜덤 액세스 기억 장치
<SDLC>
동기 데이터 링크 제어 SNA에서 사용된 링크 제어 프로토콜[IBM출판물 GA27-3093-3 ″Synchronous Data Link Control-Concepts)″ 1979, 1986 참조]
<SNA>
네트워크 구조[IBM출판물 GC30-3072-3 ″Systems network Architecture-Concepts And Products″ 1981, 1986 참조]
<유한 상태 기계(Finite state Machine)>
유한수의 가능한 안정동작위치 또는 단계를 구비한 논리 회로이고, 각 위치 또는 단계는 특성 동작 또는 출력을 발생하고, 이와 같은 위치 또는 단계의 사이에서 외부 자극의 함수로서 천이를 받는다.
2. 네트워크의 개념
제 1도는 디지털 통신 링크(3)에 의해 접속된 데이터 처리 노트(2)를 갖고, 본 발명의 IDLC장치(4)가 유용하게 사용될 수 있는 네트워크(1)를 도시한 것이다. 2개의 노드만 도시하였지만, 이와 같은 네트워크는 다수의 노드를 구비한다는 것을 이해할 수 있다. 각각의 장치(4)는 호스트 처리 시스템(6) 또는 (7)과 관련하는 I/O처리 시스템(5)의 일부이어도 좋다. 대표적으로 이와 같은 네트워크는 각각의 음성 및 데이터 유저단말(voice and data user terminals)(9) 및 (10)을 처리 시스템(6)으로 도시된 구성에 마련되어 있는 데이터 처리 서비스와 연결하는 공통의 캐리어 스위치 노드(8)을 포함한다. 각 형식의 단말(9), (10)의 하나만 도시하였지만, 임의의 노드에 그러한 단말이 다수 접속된다는 것을 이해할 수 있을 것이다. 이러한 단말에 마련되어 있는 데이터 처리 서비스 및 그 유저는 소위 ″음성 메일(voice-mail)″ 서비스(전화 사용자용 음성 메시지의 집숭 보관 및 전송)를 구비하고, 공공 또는 사적(私的)인 데이터 베이스(법률도서관, 특허도서관등)에 액세스할 수 있다. 현재 고려되는 환경에 있어서, 링크(3)은 다수의 시분할 채널을 지원하는 고속 T1 또는 T3 디지털 신호 통신 선로를 호함한다. 본 발명의 장치(4)의 유효 사용을 위해 필요하지는 않지만, 네트워크를 ISDN의 요구사항에 일치하게 구성할 수 있고, 링크(3)의 채널을 디지털 음성(digitzed voice) 및 데이터 신호 트래픽(data signal traffic)의 전체에 걸쳐 동적으로 할당할 수 있다.
이와 같은 네트워크에 있어서, 신호 속도는 T-1선로상에서 매초 전이중(full duplex) 4.096M비트의 속도에 도달할 수 있고, T-3 선로상에서 더욱 높은 속도로 된다. 따라서, 이와 같은 선로의 요구를 만족하기 위해 적합한 데이터 링크 제어 장치는 매초 전이중 5M비트를 초과하는 속도로 동작할 수 있어야 한다. 현재의 1미크론 CMOS기술에서 실현된 본 발명의 IDLC장치의 구조는 하나의 LSI칩구조내의 임의의 완전 점유 T-1 또는 T-3선로에 대하여 현재 고려되는 최고의 전이중속도를 지원할 수 있다.
비교할만한 종래 기술의 장치-상기 인용한 미국특허번호 4,493,051,의 란 6을 참조-는 그 최대신호 속도(반이중 half duplex)을 고려)가 매초 350,000송수신 비트이고, 개시된 바와 같이 완전 T-선로의 요구를 만적하지 못하거나 또는 혼합된 음성과 데이터 채널에 적응 할수 없다. 따라서, 이와 같은 장치가 필요하다.
3. 시스템의 개요
제2도에 있어서, 본 발명의 IDLC장치(20)은 일반적으로 선로 제어 회로(22)와 호스트 데이터 처리 시스템(23) 사이를 접속하는 통신 제어기 시스템(21)의 전부 또는 일부를 형성한다. 지금까지 사용된 표현 ″전부 또는 일부″는 이하에 설명하는 용도를 참조, 즉 장치 칩내에 제어기 시스템의 전부의 요소를 패키지할 수 있거나 또는 시스템에 사용된 국부 RAM 기억장치의 하나를 별도로 패키지할 수 있거나 또는 시스템에 사용된 국부 RAM기억장치의 하나를 별도로 패키지할 필요가 있는 것을 말한다. 선로 제어 회로는 제1도에 도시된 링크 (3)에 대응하는 824와 같은(대표적으로, 상술한 바와 같이, 시간다중 T-1 또는 T-3 선로)각각의 네트워크 선로의 물리적 신호 레벨(레벨 1또는 생략하여 L1로 표현)에서 동작한다.
제어기 시스템(21)은 일반적으로 후술하는 상태교환(state swapping)의 목적에서 IDLC장치에 직접 액세스 할 수 있는 정보를 저장하기 위해 사용하는 국부 RAM기억 장치(25)를 포함한다. 상술한 바와 같이, IDLC장치는 종래의 1미크론 CMOS기술을 사용하여 하나의 LSI칩으로 실현할 수 있다. 의도되는 사용(공급될 채널의 수, 각 채널에서 마련된 서비스의 범위등)에 따라, 장치는 2개의 다른 칩형태로 실현되어도 좋다. 하나는 칩구조내에 TSR(25)를 포함하는 것이며, 다른 하나는 포함하지 않는 것이다.
기술된 바람직한 실시예에 있어서, IDLC 및 L1회로에서 발생되는 신호에 의해 조정된 ″버스트 시분할 다중(Burst Time Division Multiplex)″(BTDM)인터페이스 (IF)(27)에 접속되어 있다. 이와 같은 신호는 IDLC와 L1회로사이의 평균 신호 전송 속도가 선로(24)의 임의의 시분할 채널에 대하여 각각의 채널에 의한 평균 신호 전송 속도보다 약간 높고, 정상 동작 상태하에서 선로 채널(21)과 시스템(23)의 사이의 신호 처리가 회로(22)의 내부 클럭과 다른 네트워크 노드의 클럭 사이의 임의의 슬림 페이지(slip page)또는 드리프트(drift)와 관계 없이 선로에서 수령시 오버런(overrun) 할 수 없거나 선로로의 전송에서 언더런(underrun)할 수 없도록 배열되어 있다. 여기에서 ″정의 슬립(positive slip)″동작이라는 작용 및 실현은 상기에서 상호 참조한 제목″Burst Time Division Mulitiplex For Integrated Data Link Controller(통합 데이터 링크 제어기용 버스트 시분할 다중 인터페이스)″의 출원서에 충분히 설명되어 있고, 그 출원서의 설명을 여기에 인용하여 취급한다. 따라서, IF(27)의 속성 및 동작은 여기에서 일반적인 항목으로만 설명한다.
호스트 시스템은 도시된 바와 같이, I/O처리 서브 시스템(28)과 주 처리 서브시스템(main processing subsystem)(29)의 양쪽을 포함하여도 좋고, 이것에 의해 제어용 네트워크의 용도에 관련하는 처리 활동과 정보 처리 전반에 관련하는 활동의 사이에 더욱 자율성을 마련한다. 서브 시스템(28)은 I/O처리 유니트IOP(30) 과 국부RAM기억 장치(31)의 양쪽을 포함하여도 좋고, 마찬가지로 주 서브 시스템(29)도 중앙처리 장치CPU(32)와 주 RAM기억장치(33)을 포함하여도 좋다. 서브 시스템 (28)과 (29)는 다른 서브 시스템에 접속할 수 있는 시스템 버스(34)에 의해 연결된다. 서브 시스템(29)와 IDLC(20)은 다수의 IDLC장치와 접속할 수 있는 IOP서브 시스템 버스(35)에 의해 연결된다.
이 설명에서 후에 기술하는 바와 같이, IDLC는 직접 기억 엑세스(DMAC)용 자율 논리 요소를 포함하며, 도시된 구성에 있어서, 직접 엑세스 모드에서 RAM(31)로의 엑세스를 실행한다. 또, 주지한 바와 같이, 어떤 시스템 용도에서는 별도의 I/O 서브 시스템의 불필요하고, 그러한 구성에서는 IOP시스템(28)과 호스트 시스템(29)의 기능이 버스(35)에서의 인터페이스로 나타나는 하나의 시스템 실체내에서 실질적으로 조합된다. 이 경우에 IDLC의 DMA제어 요소는 주 기억장치(33)으로의 엑세스를 제어하도록 동작한다.
동작에 있어서, 시스템 기동시, CPU(32)는 서브 시스템(28),제어기(21)과 L1회로(22)를 기동시키고, L1회로의 기동은 제어 경로(26)를 통하여 실행된다. L1회로는 반복 프레임 페턴을 위해 선로(24)를 주사하고, 그것이 검출되면, 선로(24)에 입출력과 함께 비트,바이트,채널 및 프레임 시분할 슬롯에 내부 클럭 동기를 확립한다.
BTDM에서 다른 구조의 시분할 프레임으로 동작하면, 회로(22)는 입력된 채널 타임 슬롯에서 수신된 신호를 다른 처리를 위한 IDLC(20)으로 통과시킨다. IDLC는 수신지 어드레스 정보를 추출하여 평가하고(수신지가 국부 노드 이외인 신호 무시), 채널 및 프레임 슬롯에서의 프레임 경계와 같은 링크 특정 정보와 프로토콜을 적절하게 제거하고(음성 신호를 포함하는 채널은 경계없이 ″클리어(clear)″형으로 되고), 페리티를 체크하여, 나머지 정보를 또 처리하기 위해 시스템(23)으로 전송한다. 계속 도착하는 제어 데이터 메시지는 응답을 요구할 수 있고, 이와 같은 경우에는 적절한 응답용 정보가 시스템(23)에서 준비되어 IDLC로 전해진다. IDLC는 발신원 및 수신시의 어드레스, 프레임 경계 신호 및 패리티 신호를 부가하고, 정보를 회로(22)로 전하고, 선로(24)로 전송한다.
그러한 쌍방향 메시지의 연속을 통해, 선로(24)상의 시간 채널의 국부 노드와 원격 노드 사이에서 이중 접속이 확립되고, 데이터 및 디지털 오디오 정보(예를 들어, 음성)를 나타내는 신호가 그러한 접속을 통해 교환된다.
IF(27)에서 데이터 전송에 대한 IDLC의 처리에서는 선로(24)의 채널 슬롯의 타이밍과 본질적으로 동기하고 있지만(약간의 상대적 위상 변위가 있지만), 버스(35)에 의한 신호의 전송에 대한 처리는 선로(24)의 채널 타이밍에 관하여 본질적으로 비동기인 것에 주의해야 한다.
4. IDLC장치의 구조.
제3도는 본 발명의 IDLC장치의 논리 구성의 블럭도이며, IOP버스(35)와 상술한 IF(27)사이의 장치의 위치와 각각의 동기부 및 비동기부(50),(51)로 분할되어 있는 장치 회로를 나타낸다. 이 분할은 현재 특히 흥미 있는 것이다. 또, 각 부에 있어서, 주요 논리 구획을 나타낸 것이고, 각각의 구획이 후에 도시하여 설명하는 하나 이상의 자율 요소를 구비하고 있는 것을 알 수 있다. 부분(50)은 IF(27)에 채널 타임 슬롯이 나타나는 것에 동기하여 동작하고, 각각의 통신 채널에 대한 동작을 실행한다. 임의의 채널에 대한 부분(51)의 동작은 IF(27)에 각각의 타임 슬롯이 나타내는 것에 관하여 비동기적으로 실행된다. RAM(random access memory) 유니트(52)와 (53)은 양쪽 부분의 구획에 액세스 가능하지만, RAM 유니트(54)는 비동기부의 구획에서만 엑세스 가능하다. 동기부는 논리 구획(60)-(64)를 포함하고, 비동기부는 구획(65)-(67)을 포함한다.
구획과 RAM 유니트 모두는 상술한 바와 같이 하나의 LSI칩내에 포함되지만, 후에 설명하는 다른 용도에서는 TS RAM 유니트(53)을 공동의 타드 또는 기판상에 IDLC칩에 근접하여 마련한 다른 모듈에 설치하는 것이 바람직한 경우가 있다. RAM유니트는 후에 설명하는 소정의 엑서스 특성,용량,어드레스 배치 및 기능 용도를 구비하고 있다.
구획(60),(62), 및 (65)은 시분할 채널에서 IF(27)로부터 수신된 통신 데이터(″수신″데이타)에 대한 파이프라인식 논리 처리 체인을 형성하고, 그 체인은 부분(50) 및 (51)에 걸쳐있다. 구획(64)는 IDLC 및 L1회로를 통하여 상태 정보(장치 상태, L1 상태, 채널 상태등)을 수집하는 논리 채인을 형성하며, 구획(67)과 협동하여 이와 같은 정보를 IOP/호스트 시스템에서 시스템의 인터럽트를 거쳐 전송한다.
구획(67)은 호스트 시스템의 ″슬레이브″로서 가능하고, 호스트 시스템에 IDLC 기억장치(52)∼(54)로 쌍 방향 액세스를 실행하고, 이것에 의해 호스트 시스템은 상기 기억장치에 액세스하여 IDLC의 동작을 제어하는 정보를 로드하고 구획(64)에 의해 수집된 상태 정보를 갱신한다. 이 구성의 특징은 구획(67)을 통한 별도의 경로가 그 경로를 경유하여 실행되는 동작과 구획(65) 및 (66)을 경유하여 실행되는 선로내 통신 처리 사이에 발생하는 장애의 정도를 저감하는 것이다.
각 구획의 자율요소는 레지스터 및 특수 목적의 개별 논리회로(프로그램 논리 어레이, 마이크로 프로세서 등에서 구별되는 것)를 포함하고, 그들의 대부분은 현재 유한 상태 기계로서 실시되어 있다. 여기에서 사용하는 용어″자율 (autonomous)″은 (수신 데이터, 전송 데이터 및 상태 데이나를 위한)상술한 파이프라인식 체인의 각각에 있어서 요소간의 기능 자율성의 정도를 나타내는 것이며, 네트워크 채널에 대한 체인내의 요소에 의한 기능의 성능이 IF(27)에 있어서 각각의 슬롯 계속 시간에 임계적으로 시간의존 없이, 또 다른 경우에 이와 같은 자율성 없이 실시되는 경우보다도 동일 체인내의 다른 요소의 활동으로의 시간의존성이 작게 되도록 하는 것이다.
자원 관리 요소(Resource manager element)(63)(약어로 RSM)은 IF(27)에서 L1회로부터 수신된 신호에 응답하여 동작하고, TSR(53)과 구획(60)-(62) 및 (64)를 포함하는 동기부(50)내의 다른 구획사이의 상태 교환 동작을 실행하는 채널 타임 슬롯 천이 동작을 나타낸다. 이들 전송은 쌍방향으로 실행되므로, 종료 구획에 있는 채널에 대해서는 상태가(동일 채널 슬롯이(27)로 나타날 때 각각의 요소에서 각각의 채널 처리를 계속하기 위해)저장되고, 그 슬롯이 개시 구획에 있는 활동 채널에 대해서는 상태가 그 채널에 대하여 처리 서비스를 계속하도록 슬롯이 설정된다. 이와 같은 시동으로서 각 구획의 유한 상태 기계(들)는 새로운 슬롯의 계속하는 기간 동안, 그 채널의 현재의 상태에 대해서 각각의 구획에 할당된 L2처리를 실행한다.
수신 구획(60)은 어떤 프로토콜이 현재 각 네트워크 데이터 채널(SDLC, HDLC, LAP-B, LAP-D등)에서 활성(active)에 있어도, IF(27)에서 데이터(또는 음성)신호를 수령하기 위한 책임이 있다. 음성 채널은 ″클리어″이다. (프로토콜 특유의 경계가 없다). 각 데이터 채널에 대하여 구획은(60)프로토콜 특유 정보를 제외하고 (예를들면 HDLC에 있어서 어보트/아이들(abort/idle)지시, 프레임 경계지시등), 수신이벤트(receive events)(예를들어, CRC에러, FIFO버퍼 및 IOP버퍼의 오버풀로 상태, 프레임 종료등)에 대한 인터럽트 상태 지시를 형성하는 책임이 있다.
전송 구획(61)은 현재 어떤 프로토콜이 각 채널(SDLC, LAP-B, LAP-D등, 음성은 클리어로 송신)에서 활성에 있어도, 데이터 및 제어비트의 비트 직력 전송을 처리한다. 또 송신해야할 프로토콜 특유 정보를 데이터(예를들어 HDLC 스터프 비트(staffing bit), HDLC에 있어서 어보트/아이들 지시, 프레임의 경계등)과 함꼐 발생하고, 전송이벤트(예를 들어, FIFO버퍼의 언더런, 전송용 제어 블록 체인의 종료)에 대한 인터럽트 상태지시를 형성한다.
FIFO 관리 구획(62)는 FIFO RAM(52)(후에 FIFOR로 약칭)와 수신 구획 및 송신 구획과의 사이를 접속하여 송수신 데이터를 RAM의 채널과 이 큐와 이들 구획과의 사이에서 FIFO(선입선출) 형식으로 전송하고, 이와 같은 큐의 이용을 관리한다. 구획(62)는 RAM(52)의 각 채널 큐의 독점의 상태를 감시하고, 마스커 I/O(MIO)구획(66)을 통하여 처리를 요구하는 비동기부의 DMA(직접 기억 에세스)구획에 요구를 출력하고, 데이터를 각각의 큐와 호스트 시스템의 기억 장치와의 사이에서 버스(35)를 경유하여 전송시킨다. 구획(62)에서 구획(65)로의 요구는 제3도에는 도시하지 않은 별도의 DMA요구 큐(DMARQ)구획에 의해 대치되고, 이 큐 구획에 의해 비동기적으로 처리된다.
따라서, 수신 데이터 큐는 IF(27)에서 활동의 결과로서 오버플로되기 전에 FIFO적(on a FIFO basis)으로 비워지고, 전송데이타 큐는 IF(27)에 대하여 언더플로 하기전에 새로운 데이터로 보충된다.
동기부(50) 및 비동기부(51)의 쌍방향에서 동작하는 회로부분을 갖는 인터럽트(INT)구획(64)는 보고 평가할 수 있는 하드웨어 이벤트 및 채널 처리 이벤트와 상태를 전부 다른 IDLC여\YTH ALC L1회로에서 슈신하고 관련하는 플래그요구를 슬레이브 I/O(SIO) 구획(67)로 보내고, IOP/호스트시스탬이 비동기적으로 갱신하기 위한 이벤트 및 상태에 관한 상태를 수집하도록 동작한다. 이와 같은 이벤트 및 상태에는 하드웨어에러, 채널에러, 체널처리이벤트(프레임경계천이, 전송의 종료등)이 있다. 이와 같은 요구에 대하여 구획(67)은 관련상태정보를 전송하기 위해 버스(35)를 거쳐 호스트시스템과 인터럽트통신에 사용된다.
상술한 바와같이, 각 구획내의 각 자율요소(또는 서브 시스템)은 일반적으로 하나 이상의 ″유한상태기계″로서 설치되어 있는 논리를 포함한다. 이것은 연속상태를 통하여 각각 활성 네트워크채널에 대하여 각각의 할당된 기능을 실행한다. 네트워크 링크 상의 채널은 전부 선택된 음성 또는 데이터의 통화프로토콜하에서 동작하도록 구성되어 있으므로, 한조의 상태변수 파라미터가 호스트인터페이스(35)에서 (SIO의 구획(67) 경유하여)TSR(53)에 삽입되고, 이 구성에 대하여 구획(60)-(64)의 자율요소에 대한 초기상태가 설정된다.
IF(27)에서 각각의 채널타임슬롯이 계속 나타나는 기간에 RAM(53)과 구획 (60)-(64)의 자율요소와의 사이의 상태교환에 의해 그 요소가 간헐적으로 동작하여 그 슬롯에서 송수신되는 통신데이타에 대하여 할당된 논리처리를 실행한다.
5. 전반적동작
제3도 및 제4도에 있어서, 파워업(power-up)시 호스트인터페이스(35)에 나타난 신호에 의해 IDLC 및 L1 회로가 리세트모드로 된다. 이 모드에서 전부의 IDLC 구획의 논리요소가 비관련상태로 클리어되고, 아이들 상태로 설정된다. 다음에 L1 및 IDLC 회로가 다시 인터페이스(35)에서 나타나는 호스트신호에 의해 초기설정된다. 이와 같은 정보에는 채널 초기용 임계초기 파라메터, 채널의 동작을 제어하는 정보 및 DMA 구획(65)를)의 기본동작을 제어하는 정보가 있다. L1회로에 대한 초기설정정보는 선로(69)를 경유하여 L1부의 도시하지 않은 레지스터로 전송한다. IDLC의 비동기부(51)에대한 초기설정정보는 버스(35),MIO(66) 및 DMA구획(65)를 경유하여 RAM(52) 및 (54)로 전송된다. 동기부(50)에 대한 초기설정정보는 버스(35) 및 SIO(67)을 경유하여 RAM(53)으로 전송된다.
초기 설정후, IDLC는 활동 모드로 설정되고, 네트워크 채널기능을 작동시키기 위해 처리가 개시된다. 채널은 개별로 작동된다. IDLC의 초기 설정중의 각 채널에 대하여 초기 파라메터가 로드되는 것에 부가하여 채널을 작동하기 전에 제어 파라미터가 RAM(52)-(54) 및 후에 설명하는 레지스터로 들어가서 모든 처리 구획을 각각의 채널 형식에 대해 필요한 기능을 실행하도록 해야 한다. 작동시 각각의 채널 타임 슬롯이 나타나는 것을 표시하는 신호가 L1에서 BTDM IF(27)을 경유하여 IDLC로 송신되고, 채널에 대한 처리가 개시된다. 이와 같은 처리중 전이중 링크가 네트워크 채널의 국부 로드와 원격 노드와의 사이에 확립되고, 정보가 이와 같은 링크에 의해 전송되고, 이와 같은 채널에 대한 상태 정보가 RAM(53)에 수집되고, SIO(67)을 경유하여 호스트 시스템에서 이용할 수 있게 된다.
제4도에 있어서, BTDM 인터페이스에서 타임 슬롯(이 도면에서 연속하는 슬롯 N 및 N+1)에 관련하는 통신 채널에 대하여 RSM에 의해 실행되는 상태 교환 처리가 4개의 형식의 변수, 전송 특정(transmit-specific), 송신 특정(receine-specific),인터럽트 특정(interrupt-specific) 및 전체(global)의 전송에 관계하고 있다. 상태교환(현재 종료하고 있는 타임 슬롯에 관련하는 채널에 대한 요소 처리 상태의 보존 및 그 타임 슬롯이 현재 개시하고 있는 채널에 대한 이전의 보존 상태의 재로드(reloading)가 활성 채널에 대해서만 실행된다. 전체적 변수는 전송, 수신 및 인터럽트의 각 처리에 공통이다. 체널 형식을 나타내는 하나의 전체 변수의 작은 부분은 활성 채널 및 비활성 채널의 양쪽에 대하여 이와 같은 채널을 구별하기 위해 사전에 호출된다.
전송 특정 변수는 전송 파이프라인 구획(61) 및 (62)의 요소에 대하여 전송된다. 수신 특정 변수는 수신 파이프라인 구획(60) 및 (62)의 요소에 대하여 전송된다) 후에 알수 있는 바와 같이, 구획(62)는 각각 수신 및 전송의 처리 동작을 실행하는 각각의 서브 구획(62R) 및 (62T)로 구성되어 있다. 인터럽트 특정은 INT 구획(64)에 대하여 전송된다. 전체 변수는 자원관리(RSM)구획 (63)에 대하여 전송된다.
전체 변수는 채널 특정 구성 및 프로토콜 연합을 규정하며, 구조 레지스터 CCR(Comfiguration Control Register : 구성제어 레지스터) 및 RSM(63)의 HPCR에 대하여 채널 처리와 동기하여 전송된다.(다음의 RSM의 중간 및 상세한 설명 참조). RSM에 등록되는 한편, 이들 변수는 전부의 구획에 의해 유효하게 공유된다.
인터럽트 이벤트 상태의 처리에 관련하는 다른 천이 변수는 INT의 레지스터 CEISR(Channel Events Status Register : 채널 이벤트 인터럽트 상태 레지스터), INT의 EOPISR(End Of Process Interrupt Status Register : 처리 인터럽트 상태의 종료 레지스터), INT의 IHEISR(IDLC (Hardware Error Interrupt Event Status Register : 하드웨어 인터럽트 이벤트 레지스터)) 및 SIO VHR (Vecter Holding Register : 벡터 유지 레지스터)에 유지되어 있다. CEISR 및 EOPISR의 내용은 TSR에 대하여 채널 타임 슬롯의 출현에 동기하여 교환된다. IHEISR 및 VHR 의 내용은 IOP에 의해 갱신될 때까지 정적으로 유지된다.
하이퍼 채널 연합을 규정하는 다른 전체 변수는 SIO의 레지스터 HCR(Hyper Channel Configuration Register: 하이퍼 채널 구성 레지스터)에 정적으로(동기적으로 보존 및 재로드후에 기술하는 하이퍼 채널 참조) 유지된다. 어떤 채널에도 특정되지 않은 장치 구성 파라메터를 규정하는 다른 변후는 SIO의 레지스터 ICR(Configuration Register))에 정적으로 유지되어 있다.
수신, 전송 및 인터럽트의 각 변수의 전송은 참값 보전 교환(true saving swap)과 재로드 교환(reloading swap)이지만, 채널 특정 전체 변수의 RSM(63)의 레지스터 CCR 및 HPCR애 대한 전송은 한쪽으로만 된다. (이들 변수는 채널에서 채널로 다르지만, 어떤 채널에 대한 IDLC 처리의 함수로서도 변화하지 않으므로, 채널 슬롯이 종료할 때 유지할 필요는 없다.).
상태 교환 작용(S)은 각 타임 슬롯 기간내에서 전채 및 인터럽트가 최소에, 전송 특정이 다음에, 수신 특정이 최후에, 위상이 요동한다. 전체 변수가 로드되어 있지만, 양쪽의 파이프라인내의 구획은 정지하고 있다(H). 이들 작용이 비활성 채널에 관련하는 타임 슬롯중에 생략되는 것을 알 수 있다.
새로운 채널 타임 슬롯 N+1이 개시되므로서(BOS/N+1), RSM신호가 전송 파이프 라인의 동기 구획에 전송 특정 교환을 준비하도록 지시한다. 채널 N 및 N+1이 함께 활성이면, 그 상태 기계가, 채널 N의 타임 슬롯이 다음에 나타날때 그곳으로부터 개시할 수 있는 안정 상태에 있는 전송 파이프라인내의 요소가 즉시″완료″조건을 RSM에 표시하고, 그 전송 처리 상태를 TS RAM의 각각의 상태 저장 영역에 대하여 교환시킨다.(N이 비활성이면, 상태 정보가 TS RAM에 전송되지 않는다). 채널N에 대하여 보존되어 있는 상태정보는 (채널 N이 활성이라는 가정) 각각의 요소에 각각의 타임슬롯이 반복될 때 연관성을 상실하지 않고 그 채널에 대한 처리를 개시할 수 있으면 충분하다. 수신 특정 교환의 단계에서도 마찬가지로 동작한다.
활성 채널 N에 대하여 처리할 때, 안정 상태가 아니고 RSM에 의해 상태교환을 준비하도록 지시된 요소는 완료상태를 선언하고, 상태 교환을 받기전에 그 다음의 안정상태로 진행한다. 후에 나타나는 바와 같이, 전송 및 수신 처리에 대한 교환 작용의 요동 및 그 방향 특정과 전체 단꼐로의 세분은 IF(27)에 대한 신호전송의 특정의 현재의 위상과 협동하여 실행되지만, RAM(53) 및 송신 구획과 수신 구획의 이용을 대단히 효율좋게 한다(이것이 없으면, 파이프라인 구획에 보다 큰 RAM 및 보다 많은 회로를 필요로 한다.)
6. IDLC의 구성-중간(IDLC ORGANIZATION-INTERMAEDIATE)
이 부분 및 다음의 부부분(subsections)에서는 특히 제5도를 사용해서 IDLC의 논리 구성 및 동작의 중간 레벨을 설명한다.
6.1. 약호(ABBREVIATION)
이 부분에서는 제5도에 사용하는 요소 및 등록 명칭의 약호를 각 명칭이 항목이 실행하는 기능의 설명과 함께 알파벳순으로 나타낸다. *표를 부여한 항목은 전부의 채널에 공통이다.
[표 1a]
[표 1b]
[표 1c]
6.2. 전송/수신 데이터 경로.
제5도에 있어서 가능한 제3도에 도시한 구획의 수를 유지하고, 이들 구획내의 요소를 하나이상의 문자(예를 들어 (611))를 갖는 유사 번호로 구별한다.
제5도는 IDLC내 및 IDLC를 통한 주요 정보 처리 경로를 도시한 것이다. 이것은 전송 데이터 (IF(35)에서 호스트로부터 수신 데이터와 IDLC에 의한 중간 처리의 후 IF(27)에서 채널 타임 슬롯에 의해 전송된(데이타) 및 수신 데이터(IF(27)에서 수신된 데이터와 IDLC내에서 처리되어 호스트 인터페이스(35)로 전송된 데이타)를 취급하는 경로, 호스트 시스템에서 IDLC RAM으로의 초기 설정용 정보 및 제어 정보를 전송하는 경로, 인터럽트에 의해 호스트에 통보할 가치가 있는 정보(이벤트 및 조건을 나타내는 에디아트와 이벤트 및 조건에 특정의 데이터를 수집하기 위한 경로, IDLC RAM으로의 호스트의 엑세스 경로(이것을 통하여 저장될 정보, 예를 들면 채널 이벤트 상태가 감시를 위해 호스트 시스템에 엑세스 가능)로 구성되어 있다. 이 장에서는 전송 및 수신 데이터 경로에 대해서 설명한다.
6.2.1. 전송 데이터.
IF(27)에서 채널 타임 슬롯에 의해 전송되어야 할 데이터(″송신 데이터″)는 버스(35). MUX회로 (80)과 MIO 구획(66)을 경유하여 IDLC 로 들어온다. MUX(80)은 호스트 시스템의 기억 장치와 MIO(66)의 사이 및 호스트 시스템의 처리 장치와 ,SIO(67)의 사이에서 버스(35)를 통하여 신호의 루트를 결정하는 스위치의 기능을 한다. 전송 데이터용 원시 데이터는 호스트 시스템에 의해 DMAR내에 준비된 DCB(Data Control Block : 데이타 제어 블럭)명령 벡터에 응답하여 DMAC요소(65C)로 제어되는 DMA(직접기억엑세스)처리에 의해 호스트 기억장치에서 추출된다.
본 발명의 특징은 이와같은 DCB에서 체인 표시에 응답하여 DMAC가 IOP/호스트 기억 장치에서 부가적인 DCB를 추출하도록동작하는 것에 있다. 이것에 의해 이와 같은 부가적인 DCB에 관한 IOP/호스트의 처리 활동이 감소된다. 이것에 의해 본 발명의 장치가 부가적인 DCB 및 이들 DCB에 관련하는 전송 테이터의 양쪽을 IOP/호스트 기억장치로 분산하고 있는 구획에서 추출할 수가 있다. 그밖의 이점 및 특징에 대해서는 이하에 설명하는 바와 같다.
MIO를 거쳐 통과한 후, 전송원 데이터는 DMAC에서 완충되고, FIFOR(52)의 채널 마다의 큐 공간에 보관된다. 이와 같은 데이터를 호스트 기억 장치에서 페치하는 처리는 전송 FIFO관리기(TFM)이 FIFOR내의 각각의 채널 큐를 비게 하도록 동작하는 것에 따라 TFM요소 (62)에서 DMA요구큐(DMARQ)요소(65Q)로 전송되는 요구에 대응하여 각각의 채널에 대하 호출한다.
TFM은 전송 데이터를 FIFOR내의 채널 마다의 큐 공간에서 선입 선출방식으로 추출하고, 데이터에 관하여 일정한 유효성 레벨의 처리를 실행하고, 전송 입증(TV)요소(61T)로 전송한다. (61T)내의 처리 결과로서의 데이터는 요소(61L)(TL1)에 전송되고, 이 요소는 레벨1의 처리를 실행하고, 얻어진 데이터 비트를 L1회로(도면 제3도의(22))에 의해 IF(27)에 제시된 특정 요구에 응답하여 IF(27)에 직렬로 전송한다. 데이터 채널에 대한 TV(61V)에서의 처리에는 프로토콜 특정 프레임 정보를 삽입하는 조작이 있다. 이것은 DMAC에 의한 상기의 DCB체인 작성 특징과 함께 IDLC에 데이터의 큰 블록을 호스트 기억 장치의 분산 공간에서 전송하고, 다양하게 형성되어 배치된 프로토콜 프레임 정보를 각각의 채널 구성에 따라서 이와 같은 데이터에 도입된다. 그결과 광범위한 처리 책임이 IOP 및 호스트 시스탬에서 오프로드 된다.
상술한 요소(61V),(62T),(65C) 및 (65Q)에 대해서는 제3도에 (61),(62) 및(65)로 도시한 각각의 구획이 각각 다수의 요소를 구비하고, 어떤 경우에는 세분되어 있는 것이 주의할 점이다. 전송 구획(61)은 송신 데이터에 관하여 다른 처리 기능을 실행하는 요소(61T) 및 (61L)울 구비하고 있다. FIFO구획(62)는 전송 FIFO구획(62T)(TFM) 및 구획 (62T)와 (62R)에서 채널마다의 요구를 수신하고, 이와같은 요소를 DMAC에 대하여 큐시키는 (65Q)(DMAQ)를 구비하고 있다.
전송 데이터에 관해서 TFM에 의해(65Q)에 전송되고, (65Q)에 의해 (65C)로 제시된 요구는 각각의 채널 데이터 큐가 감소되고 있는 것을 나타낸다. 이와 같은 요구에 응답하여 또한 IF(27)에 각각의 채널 타임 슬롯이 나타나는 것에 동기하여 요고(65C) 및 MIO는 버스(35)에 접속되어 있는 것에 의존하는 것에 의해 버스(35)(또는 호스트 시스템 기억장치)를 거쳐 IOP기억장치에 엑세스하고 FIFOR내의 각각의 채널 큐로 전송되는 전송 데이터를 추출하도록 동작한다.
DMAC의 각각의 동작은 DMAC에 있는 레지스터 TDCR1-4를 경유하여 제어되고, 이들 레지스터는 FIFOR(52)의 채널마다의 TDCR1-2의 공간 및 DMAR(54)의 채널마다의 TDCR3-4의 공간에서 로드된다. 어떤 채널에 대해 DMAC가 동작하는 동안, 레지스터 TDCR1,TDCR3 및 TDCR4 외부 기억 장치로 엑세스하는데 필요한 각각의 채널 제어 정보가 로드되고, 정송 데이터(최대 4바이트의 조합)을 추출하고, 이와 같은 바이트를 FIFOR에 위치시킨다. 레지스터 TDCR2는 4바이트의 버퍼이며, 이것에 전송데이타가 FIFOR로의 도중에서 유지된다. 레지스터TDCR1,TDCR3 및 TDCR4는 DMAC(후에 도시하여 설명)에 도시하지 않은 ″전송 DMA 상태기구″가 서비스를 필요로 하는 채널 큐에 대하여 초기 설정될 때 로드된다.
전송 데이타를 IOP/호스트 기억 장치에서 FIFOR로 정송하는 처리는 각각의 채널 타임 슬롯이 BTDM인터페이스 IF(27)에 나타나는 시간과 동기하여 실행된다. 그러나, (62T),(61V),및(61L)이 상기 슬롯의 출현에 동기하여 실행되는 요소에 의한 전송 데이터의 처리 및 이들 요소의 활성 채널에 의한 전송 처리에 대한 상태는 각각의 슬롯의 출현에 동기하여 순환적으로 교환된다. 앞서 설명한 바와 같이, 상태 교환은 RSM(63)의 지도하에 이들 요소와 TSR(53)사이에서 실행된다.
요소(61V)는 전송 데이터를 채널의 요구 사항에 따라서 처리하고, 이것을 요소(61L)로 보내어 최종족으로 직렬로 하고, 인터페이스(27)로 전송한다. (27)에서의 전송 데이터의 전송은 비트 직렬이지만, 임의의 채널 타임 슬롯 기간 동안 데이터의 바이트 전부를 마찬가지로 전송할 수도 있다. 각 비트의 전송은 레벨1의 회로와 TL1사이에서 요구 승인 핸드 쉐이크에 의해 실행되고, 전송은 후에 설명하는 목적을 위해 슬롯내의 작은 시간 창의 기간에서 실행된다. 이 창의 기간중 활성 채널의 타임 슬롯에서 L1회로는 비트 전송용, 1에서 8까지의 가변수의 요구를 보내고, TL은 응답하여 승인 신호를 갖는 전송 데이터 비트를 나타낸다.
활성 데이터 채널에 대하여 (61V)에 의해 처리를 실행하는 제2의 레이어(validation level:입증 레벨)은 프로토콜 특정 프레임 정보의 삽입 및 어드레스와 체크 참조 정보(예를 들면 CRS 체크 비트)의 삽입을 포함한다. 앞서 설명한 바와 같이, 디지털 음성 신호는 클리어 상태로 전송되고 각각의 채널 링크가 확립되어 있을 때 그 수신지가 일정한한 명료한 수신지 어드레스를 필요로 하지 않는다.
요소(61V)와 (61L)을 통과하는 데이터는 인터페이스(27)에 각가의 채널 타임 슬롯이 나타나는 것과 동기하였지만, 병렬이고, 또한 동시에 파이프라인식으로 처리된다. 파이프라인에 있어서, 채널에 대한 (61V)와 (61L)의 상태가 IF(27)에서의 각각의 채널 타임 슬롯의 천이와 동기하여 교환되지만, 전송 데이터는 IF(27)에 비트 직렬이고 L1 회로(22)(제2도)에 의해 요소(61L)에 제시되는 비트마다의 요구에 응답하는 것만으로 전송되는(요소(61L) 및 (61V)의 내부에서 전송 데이터는 비트 병렬 조합으로 처리된다.)것이 주목할 점이다.따라서, 이들 요소에서 데이터의 바이트 또는 다른 단위를 IF(27)로 전송하는데 필요한 처리는 (27)에서의 각각의 채널 타임 슬롯의 하나 또는 반복에 걸쳐 있지만, 일부는 지금 설명하는 파이프라인에 의해(그리고 일부는 비동기부(51)에서 큐 처리에 의해)이러한 데이터가 IF(27)에서 채널내의 규정 신호 속도와 비례하는 통상 속도에서 ″조립라인″ 적으로 나타난다.
6.2.2 수신 데이터 경로
수신 데이터는 IF(27)로부터 요소(60L)(RL1)에서 비트 직렬로 수신되고, 그 요소에 어떤 부가적인 처리(수신지 어드레스를 구별하고 국부 노드에 필요하지 않는 데이터를 버리는 처리를 포함)로 직렬을 해소해서 바이트로 하고, ″제2의 레벨″ 처리를 위해 입증 레벨 요소(60V)(RV)로 보낸다. 이 처리에는 데이터 채널에서 수신된 데이터로부터 프로토콜 측정 프레임 정보를 스트립, 이와 같은 데이터의 CRC체크 및 얻어진 데이터를 RFM(수신 FIFO 관리) 요소(62R)로 전송하여 각각의 채널에 할당되어 있는 FIFOR(52)의 수신 데이터 큐 공간에 로드하는 것을 포함한다. RAM(52)내의 수신 데이터 큐의 가득찬 상태는 요소(62R)에서 감시되고, 처리가 필요할 때 DMARQ(65Q)에 요구가 나타나서 DMAC(65C)에 큐 수신 데이터를 FIFOR로부터 호스트 IOP기억 장치의 채널당의 ″원형 버퍼(circular buffers)″로 선입 선출 방식으로 전송하도록 동작시킨다.
IDLC부(50)에서 요소(60L),(60V) 및 (62R)은 네트워크 채널에 대하여 IF(27)에 각각의 채널 타임 슬롯에 나타난 것에 동기하여 ″교환(swap)″되고, 모든 채널에 대한 수신 데이터의 처리가 각각의 타임 슬롯의 출현과 동기하여 실행된다. 각각의 요소와 TSR(53)과의 사이의 상태 교환 처리는 자원 관리 요소(RSM63)에 의해 실행된다. IDLC부 (51)에서 수신 데이터에 대한 모든 조작은 각각의 타임 슬롯의 출현에 대해 동기적인 관계로 실행된다.
전송 경로의 경우와 같이, 제3도에서(60)으로 도시된 수신 요소는 IF(27)에서 수신된 데이터의 각각의 제1의 레이어 및 제2의 레이어의 처리를 실행하는 자율 부요소(60L) 및 (60V)를 실제로 포함한다. 전송의 경우와 같이, 이들 요소의 상태는 IF(27)에 채널 타임 슬롯이 나타나는 것과 동기하여 교환되고, 따라서 이들 요소에 의한 모든 채널의 데이터 처리는 각각의 타임 슬롯의 출연과 동기하여 일정 불변으로 실행된다.(단, 아들 요소의 어느하나에 의한 수신 데이터의 바이트의 전송에 필요한 처리는 수 프레임의 타임 슬롯의 반복에 걸쳐 있고, 각 요소 및 TSR(53)에서 각 채널에 할당된 채널 마다의 완충은 이들 요소를 통하는 종류의 데이터의 전송의 최종 속도가 IF(27)을 횡단하는 전송의 비율과 비례하도록, 이와 같은 데이터의 파이프라인식 처리를 실행할 수 있고, 이것에 의해 정상 상황하에서 오버런이 발생하지 않는다.)
요소(60L(RL1))은 수신 데이타에 대하여 제 1의 레이어의 처리 동작 (직렬의 해소(deserialization)), HDLC오프닝(opening)의 제거 및 플래그의 폐쇄등)을 실행하고, 요소(60RV)(RV)는 (60L)에서 전송된 데이터에 대하여 제 2의 레이어(입증)의 처리(이드레스 인식, 프로토콜 특정 정보의 제거, CRC 체크등)을 실행한다. 데이타가 요소(60RV)로부터 전달되기 위해 이용할 수 있게 이와 같은 데이타를 FIFOR(52)의 각각의 채널 큐로 전송하도록, 그 요소에 의해 제시된 요구가 RFM(62R)에서 발생한다.
이와 같은 채널큐가 소정의 가득한 상태(오버플로하기 훨씬 이전)에 도달하는 것에 대해 RFM(6R)은 DMARQ(65Q)를 거쳐서 DMAC(65C)에 의해 처리를 요구하고, 이것에 의해 최종적으로 DMAC에 의해 각각의 큐를(선입 선출적으로) 비게하는 처리가 취해진다.
6.3. 인터럽트 경로.
인터럽트 관리요소(INT)(64)는 호스트 시스템에 보고할 필요가 있는 상태 정보(IDLC 및 L1회로에 관한 하드웨어 상태 및 채널 처리 상태)를 수집하고 국부적으로 저장하는 책임이 있다. 슬레이브 I/O(SIO)요소(67)은 버스(35)를 경유하여 호스트 시스템과 접속하고, 상태 정보가 국부적으로 이용 가능할 때 인터럽트 요구 지정을 발생하고, 또 호스트 시스템에서 RAM(52)∼(54) 및 INT와 SIO의 양쪽의 레지스터로의 직접액세스 경로(89)를 마련하고, 이것을 이용하여 호스트는 국부적으로 저장되어 있는 상태 정보를 직접 액세스할 수 있다.
경로(89)는 초기 요소 상태 및 제어 정보를 RAM(52)∼(54)에 설정하는 것에 의해 호스트 시스템이 IDLC의 동작을 직접 프로그램하는 것도 가능하도록 양방향성으로 되어 있다.(이하 호스트 제어 경로의 항목의 경로(89)의 설명 참조). INT(64)는 다른 모든 IDLC 요소와의 접속을 갖고, ″전부(all)″로 표기한 경로(90) 및 L1회로(22)로의 마찬가지로의 경로(91)을 통하여 이벤트 플래그 신호 및 관련하는 이벤트 상태정보를 수신한다. SIO(67)에서 L1회로(22)까지 연장하는 칩선택선(92)는 이들의 상태 정보를 전송하는 L1회로를 마련한다. 앞서 설명한 선(69)는 초기 설정 정보를 직접 호스트 인터페이스(35)에서 회로(22)로 전달하는데 사용된다.
SIO(67)내의 레지스터 ICR, HCR 및 VHR 과 INT(64)내의 레지스터 IHEISR(상술한 정의 참조)은 IDLC칩/장치 전체에 공통이다. ICR 및 HCR의 출력은 IDLC를 통하여 요소(64) 및 경로(90)을 통하여 방송하고, 동작 조건을 확립할 수 있다. ICR은 칩을 통하여 아이들 동작 모드를 확립하고, HCR은 하이퍼 채널 동작 구성(하이퍼 채널에 관한 것은 상호 참조한 동시 계속중인 출원시 참조)을 확립할 수 있다. VCR은 경로(64), (90)을 경유하여 IDLC을 통하여 수집된 칩 및 채널 상태의 현지보고에 관련하는 인터럽트 벡터를 유지한다. INT(64)의 레지스터 IHEISR은 경로(90)을 경유하여 IDLC을 통과하고, 경로(91)을 경유하여 L1회로에서 하드웨어 에러 정보를 수집하는 초점으로서 기능한다.
INT(64)의 다른 2개의 레지스터 CEISR 및 EOPISR은 모든 채널에 공통이지만, 실질적으로 ″채널화(channelized)″(네트워크상이 각 채널에 대하여 다수)되어 있다. TSR(53)의 각 채널로 할당되어 있는 공간의 내부에 이들 레지스터의 ″상(images)″이 존재한다. 앞서 설명한 타임 슬롯 동기 상태 교환 처리의 기간중 RSM(63)은 INT의 레지스터 CEISR에(TSR에서 호출한 CEISR상 정보를)로드하므로, 그 내용은 그 타임 슬롯이 IF(27)에 동시에 나타나는 채널의 것과 동기하여 대응한다. INT의 레지스터 EOPISR을 처리종료 채널 상태 정보의 수집을 위한 초점이지만, 그 내용이 타임 슬롯 기간중에 변화하면, 그 정보는 RSM에 의해 각각의 채널에 할당되어 있는 TSR공간의 16개의 EOPISR버퍼의 하나로 전송된다. 선택된 버퍼는 타임 슬롯 기간중에 레지스터 CEISR내의 포인터 정보에 의해 지정된 것이다. 이하의 시간 교환 경로 및 TSR의 설명도 참조한다. 채널에 관련하는 16개의 EOPISR버퍼의 내용은 각각의 채널에 대한 깊이 16의 상태 큐를 형성한다.
레지스터 CEISR은 채널마다의 에러 인터럽트 상태 정보를 호스트로 전송하기 위한 초점을 마련하고, 레지스터 EOPISR은 채널마다의 처리 종료 상태 정보를 호스트에 제시하기 위한 초점을 형성한다. 이와 같은 상태 정보는 VHR를 통과하는 더욱 일반적인 정보화는 달리 그 정보를 공급할 필요가 있다. 채널마다의 처리 종료 상태 정보에는 타임 슬롯 프레임의 속도로 반복죄는 채널마다의 프레임 종료 상태 정보(따라서, 이런 종류의 정보에 대한 깊이 16의 큐(16deep queue)의 필요)가 있다.
INT(64)의 논리 구성은 미결정의 인터럽트 상태/이벤트의 상대적 시간적 긴급성을 결정하고, 이와 같은 결정에 따라서 관련하는 인터럽트 요구 및 상태 정보의 제시를 명령하므로, 버스(35) 및 호스트 시스템이 중요하지 않는 이벤트 통신에 선제적으로 사용되는 일은 없다.
6.4. 상태 교환 정보
RSM(63)은 TSR(53)과 송수신 데이터를 처리하는 요소와의 사이 이외에 TSR(53)과 RSM 및 INT의 양쪽의 상태 레지스터와의 사이의 타임슬롯 동기 상태 교환 활동을 지도한다. 상태 레지스터 전송의 어떤 것은 다음과 같은 TSR에 대하여 일 방향적(리드전용(read only)) 또는 라이트전용(write only))이다. RSM의 레지스터 CCR 및 HDCR은 처리 중 각각의 채널에 대하여 변하지 않는 정보를 유지하며 (TSR내의 지원 정보는 채널이 구성될 때부터 채널이 재 구성될때까지 IOP/호스트 시스템에서 로드된다.) 따라서 TSR에서의 각각의 전송은 리드전용이다. INT의 레지스터 EOPISR에서 TSR로의 전송은 라이트전용이다. 이 레지스터는 채널 처리중에 발생하는 이벤트를 나타내는 상태 정보를 유지하고, 그 내용을 레지스터 CEISR의 포인터 정보에 따라서 각각의 채널에 할당된 TSR내의 16게의 지원 버퍼 기억 장치의 1개내에 놓여진다. 지원 기억 장치에서의 포인터 및 상태 정보의 취급 및 EOPISR에 저장되어 있는 정보 필드는 TSR에서 그 레지스터로의 로드를 결코 필요로 하지 않는다.
동기부내의 보든 송수신 요소(60L,62V,62R,62T,61V,61L)에 대하여 상태 교환 전송은 양방향성이다. 그 타임 슬롯이 종료하는 채널에 대한 각 요소의 상태는 TSR내의 미리 할당되어 있는 공간에 유지되고, 그 타임 슬롯이 개시되는 채널에 대한 동일한 요소의 상태는 TSR내의 미리 할당되어 있는 공간에 있는 이전에 저장된 정보에서 개시된다.(제 6도 참조).
RSM은 IF(27)에서 선(94)를 경유하여 프레임 및 채널 타임 슬롯의 천이를 진행하라는 지시를 받고, 그 상태를 교환할 요소를 고려하는 타이밍 허용도에서 상태 교환 활동을 마련하고, 현재 종료한 타임 슬롯이 다음에 나타날 때 처리를 명확하게 연속시키는 안정상태로 정렬할 수 있도록 한다. 제 4도를 참조하면, 이 준비는 다음의 채널 형식을 규정하는 CCR 비트를 미리 폐치(P)하는 것으로 이루어진다.
그후 전 및 다음의 채널에서의 송신 처리에 관련하는 상태 변수가 교환되고 다음의 채널에서의 송수신 처리에 공통인 전체적 변수(RSM내의 레지스터 CCR 및 HPCR로)의 로드가 계속되고, 전 및 다음의 채널에 관련하는 수신 상태 변수의 교환이 계속된다. 전체적 변수의 로드는 사실 예비 폐치중 로드된 채널 형식 필드를 다시 로드한다. 그러나, 이 필드는 내부 IDLC처리중에 변화지 않으므로, 재로드의 처리에 의해 변화하지 않는다. 송수신 요소에 대한 상태 교환의 교환은 (95)∼(97)로 표시된 경로를 통하여 실행된다.
INT에 대하여 채널 상태 정보의 수집은 각각의 채널 타임 슬롯의 기간중에만 실행된다. 상태 정보는 CEISR 및 EOPISR에서 완충되고, INT의 상태 교환 단계중에 TSR에 유지된다. 인터럽트 지시는 SIO로 IOP/호스트 시스탬에 의해 SIO 및 경로(89)를 경유하는 TSR로의 직접 액세스에 의해 수집된다.
6.5. 호스트 프로그램 제어 인터페이스.
SIO에서 INT 및 RAM(52)∼(54)로의 경로(89)는 양방향성이다. IDLC에서 인터페이스(35)로의 방향에서 이들 경로는 IOP/호스트 시스템에 상태 정보를 TSR 및 INT의 레지스터(특히, SIO레지스터 및 INT의 레지스터 IHISR)에서 수집된다. 반대 방향(호스트 제어 인터페이스라 한다)에서 이들 경로는 IOP/호스트 시스템에 초기 상태 및 제어 정보를 RAM(52)∼(54)와 IDLC의 논리 요소내의 레지스터에 설정된다.
따라서 예를들면, 호스트/IOP 복합체는 상태 정보를 TSR에 삽입해서 선택된 채널에 대한 IDLC의 동기부내의 요소에 초기 동작 상태를 확립 할 수 있다. 이 다른 경로를 마련하는 것의 장점은 이 경로가 MIO 인터페이스에서 정상 통신 경로를 방해하지 않는 것 및 각 채널을 다른 모든 채널과 관계없이 동작시키거나 동작해제시킬 수 있다는 것이다. 또, 호스트/IOP가 이 동일 경로를 통해서 IDLC동작을 구성 또는 제어하는 각각의 요소의 레지스터를 어느 경우에는 동적이고 또한 통신처리로의 방해를 가능한 한 적게 설정하도록 할 수 있다. 예를들어, SIO내의 레지스터 ICR 및 HCR을 수정해서 IDLC를 일정한 동작모드(예를들어 리세트)로 구성할 수 있고, RSM내의 HPCR과 같은 레지스터를 수정해서 INT와 같은 요소에 TSR의 일정한 인터럽트 상태 큐에 대해서 취해지는 처리를 동적으로 할 수 있다(6.6장의 인터럽트 처리 동작의 설명 및 RSM 및 INT의 상세한 설명 참조).
선택된 채널에 대해서 TSR로 요소상태 정보를 로드하는 경로(89)의 상술한 사용법에 대해서는 제 6도를 참조한다. TSR(53)이 각각의 채널에 전용의 공간 블록을 구비하고 있고, 각 채널에 할당된 블록내에 ″시간 교환″워드 ″ABC…TSON″을 보관해 두는 다수의 워드 공간이 있는 것에 주목하여, 여기에서 ABC는 동기 처리 요소(예를들면, RV, TV등)를 나타내고, TS는 ″시간 교환 워드″를 나태내고, N은 0 또는 1이다. 각 채널 블록은 각각의 채널에 관한 구성 및 통신 프로토콜을 주문형으로 하기 위한 제어 정보(CCR, HPCR) 및 인터럽트에 의해 호스트/IOP 시스탬에 보고할 가치가 있는 이벤트를 나타내는 상태 정보(CEISR, EOPISR)에 대해서 보류하고 있는 공간을 갖고 있다.
제 7도 및 제 8도에 있어서, FIFOR(52) 및 DMAR(54)를 액세스하기 위해 경로(89)를 사용하고, IOP/호스트는 IDLC에서 발생된 DMA데이타의 인터페이스(35)를 황당해서 전송하는 처리를 판정하고, DMA제어 파라미터, TDCR 및 RDCR을 초기 설정할 수 있다. 이들 파라미터는 데이터 블록의 길이과 바이트 연속을 규정하기 위해 사용될 수 있는 제어 워드(TDCR3 및 RDCR1) 및 개개의 채널에 대해서 DMAC구획의 동작을 규정하는데 사용할 수 있는 제어 워드(TDCR3 및 TDCR4, RDCR3 및 RDCR4)를 포함한다.
TDCR3는 전송 동작을 규정하는 DCB명령 어레이를 유지한다.(체인 지시기 (chaining indicators)를 거쳐서 IDLC DMAC의 작용을 통해서 액세스 할 수 있는 다른 DCB로 확장할 가능성이 있다.) RDCR3 및 RDCR4는 수신 데이터를 전송할 IOP/호스트 기억 장치의 순환 버퍼 공간의 경계를 규정하는 어드레스 파라미터를 유지한다.
6.6 동작-중간.
ISDN의 기본 속도의 환경에서 IDLC는 각 채널에서 최대 데이터 속도 매초 64,000비트(64kbps)전이중으로 또는 각 128kbps의 총합 속도로 32채널을 지지한다. 이 속도는 데이터 또는 디지털 음성을 어느 채널에서도 전이중 전송에 적응시키는데 충분하고, 또 고속의 데이터채널을 하이퍼채널로 가변으로 나눌 수 있다.
파워 온 리세트시, IOP/호스트 시스템에서는 IDLC 및 L1회로내의 모든 레지스터 및 RAM(52)∼(54)의 모든 기억 장치를 초기값으로 설정하고, SIO 내의 ICR(IDLC(구성 레지스터)로 라이트하는 것에 의해 IDLC를 사용 가능하게 한다(이하의 그 레지스터의 설명 참조). 이들의 처리는 모드 버스(35)를 횡단하고 SIO를 통해서 취해진다. 각각의 IDLC 논리 구획의 레지스터는 경로(89)의 도시하지 않는 연장부를 통해서 액세스 가능하다. SIO는 개개의 RAM 유니트 및 구획 레지스터의 어드레스를 복호화하고, 적절한 요구 신호를 유니트 및 구획으로 전달한다. 구획 및 RAM 유니트는 이들 요구를 다른 구획으로 부터의 요구에 따라 조정하고, 준비가 되면 SIO에 승인을 표명하고, 이것이 실행되었는가의 관련 정보의 (IOP에서 RAM 유니트의 어드레스 위치 또는 각각의 구획 레지스터로의) 전송을 완료한다.
다음에 IOP는 경로(69)를 경유해서 L1논리를 초기 설정하고, 그 경로를 통해서 동작을 실행하고, L1회로가 네트워크를 횡단해서 데이터를 연속적으로 전송할 수 있는 것을 확인한다.
이 점에 있어서, RSM은 BTDM IF(27) 및 접속(94)를 경유해서 L1회로에서 채널 타임 슬롯의 천이를 나타내는 신호를 수신하고, IDLC의 동기부의 다른 요소와 TSR과의 사이의 상태교환전송을 실행하고 있다. 또, 다른 요소는 이미 동작되고 있고 언제라도 데이터를 처리할 수 있게 되어 있다.
이것이 이루어지고 나서, IDLC내의 개개의 채널은 적절한 값을 관련 레지스터로 라이트하는 것에 의해(SIO를 경유해서 IOP로 부터)동작할 수 있다. 모든 채널을 동작시키고 나서 IOP는 L1회로내의 데이터 전송을 가능하게 하고, 이들 회로는 데이터를 IDLC에서 채널로 전송하고, 수신된 데이터를 IDLC로 전송하도록 요구시킨다. 데이터전송은 모두 각각의 채널의 타임 슬롯의 BTDM IF(27)을 횡단하고, IDLC의 동기부 내의 송수신 데이터의 처리는 전부 각각의 타임슬롯의 기간동안만 실행된다.
데이터의 전송은 DMAC의 관련 채널공간에 저장되어 있는 DCB에 의해 규정되어 있는 DMAC동작에 의해 IOP기억장치에서 데이터를 추출하고, 이들 데이터를 FIFOR내의 각각의 채널공간으로 전송해서 데이터를 TEM에 의해 TV로 다시 전송하는 것, TV 및 TL1에 의해 바이트단위로 처리되고, L1회로에 의해 통보된 개개의 비트전송용구에 따라서 IF(27)을 거쳐서 비트직렬로 전달된다. 1채널 타임 슬롯중에 최대 1바이트(8비트)까지의 데이터를 전송할 수 있다.
IOP 인터페이스(35)에서 전송데이타는 4바이트 단위로 전송되고, FIFOR내에서 각 채널은 4바이트를 유지하는 버퍼저장공간을 갖고 있다.
데이터의 수신은 RL1 및 RV에 의한 데이터의 처리와는 반대로, 얻어진 데이터를 RFM 및 RFM을 경유해서 FIFOR의 채널 수신 공간으로 전송하고, 데이터를 FIFOR에서 DMAC에 미리 설정되어 있는 제어 정보에 따라서 DMAC를 동작시켜 IOP기억 장치내의 순환 버퍼 공간으로 전달하는 것에 의해서 실행된다. IF(27)에서 데이터는 채널 타임 슬롯 기간중에 L1회로에 의해 제시된 개별의 요구에 따라서 비트 직렬로 수신된다. 최대 1바이트까지의 데이터를 타임 슬롯 기간중에 전송할 수 있다. RL1, RV 및 RFM에 있어서 데이터는 바이트 단위로 처리된다. FIFOR은 채널당 최대 4바이트까지의 수신 데이터를 유지할 수 있다. IOP인터페이스(35)에 있어서 수신 데이터는 4바이트 단위로 전송된다.
예를들어, HDLC포맷에서의 전송 데이터에 대해서 TV는 출력 프레임용 CRC를 생성해서 데이터를 TL1로 보낸다. TL1은 각 프레임에 대해서 개폐 플래그를 발생하고, 필요에 따라서 데이터에 소터프 비트를 삽입하여(제어특성에 관한 데이터를)명백하게 하고, CRC 및 플래그를 갖는 데이터를 IF(27)에서 비트직렬로 전달한다. 예를들어, HDLC포맷의 수신 데이터에 대해서 RL1은 개폐 프레임 플래그를 탐색하여 그들을 버리고, 데이터내의 스터프 비트를 검출해서 이들을 버리고, 나머지의 데이터에 관해서 8정렬 체크를 실행하고, 이 데이터를 RV로 전달한다. RV는 데이터를 TFM으로 전달하기 전에 어드레스 인식 및 CRC체크의 기능을 실현한다.
DMAC와 버스(35)와의 사이의 모든 전송은 MIO를 통해서 실행된다. MIO는 DMAC로 부터의 전송요구를 버스에 대해서 조정하고, 버스 제어 신호, 어드레스 신호 및 데이터 신호를 정렬시켜서 전송을 실행하도록 한다.
DMAC와 버스(35)와의 사이의 모든 전송은 MIO를 통해서 실행된다. MIO는 DMAC로 부터의 전송요구를 버스에 대해서 조정하고, 버스 제어 신호, 어드레스 신호 및 데이터 신호를 정렬시켜서 전송을 실행하도록 한다.
임계 채널 처리 조건에 대한 인터럽트 요구는 RSM, RFM, TFM 및 TL1에서 INT로 제시된다. RSM은 TS RAM의 패리티 에러를 INT에 보고한다. RFM 및 TFM은 채널화 하드웨어 에러(버스 에러, FIFO 패리티 에러등)을 각각의 구획 및 DMAC 구획에서의 이벤트에 대해서 INT로 보고하기 위한 초점이다. RFM은 RL1 및 RV에 대한 인터럽트 요구의 초점으로서도 기능하고, TFM은 마찬가지로 TV에 대한 인터럽트 요구의 초점으로서 기능한다. 따라서, RFM으로 부터의 요구는 수신 파이프라인(DMAC, RFM, RV, RL1)내에서 발생하는 모든 ″보고의 가치가 있는(reportable)″채널 처리 조건을 망라해 두고, TFM 및 TL1로 부터의 요구는 전송 파이프라인(DMAC, TFM, TV, TL1)에서 발생하는 이와 같은 조건을 모두 망라하고 있다.
이와 같은 요구에 따라서 INT는 각각의 채널의 1개 이상의 타임 슬롯 기간중에 CEIS(채널화 에러 인터럽트 상태) 워드 및 EOPIS(처리 종료 인터럽트 상태) 워드를 어셈블하도록 기능한다. CEIS워드는 채널 에러 조건을 기술하지만, EOPIS워드는 채널 통신 프레임 천이 이벤트를 기술한다. CEIS 워드는 EOPIS워드의 위치를 나타내는 어드레스 정보도 포함하고 있다.
이들 워드는 RSM의 상태 교환 기구의 동작에 의해 IMT에서 TSR로 라이트된다. TSR에서 이들의 상태 워드는 각각의 채널의 전용 공간에 유지되며, 각각의 EOPIS 워드는 큐로서 EOPIS 파리미터에 할당된 16공간중 1개에 유지되어 있다. 각각의 액세스에서 라이트된 EOPIS 큐의 특정 공간을 INT에 의해 RSM에 공급되는 포인터 정보에 의해 규정된다. 큐는 ″순환″방식으로 사용되며, 포인터 단위 증가로 최후의 공간까지 진행하고, 그 공간에서 최초의 공간까지 ″둘러싼다(wrapping around)″, 포인터 정보는 또 RMS를 거쳐 TSR로 라이트되는 채널화 에러 인터럽트 (CELS)상태 워드에서 INT에 의해 저장되고, 이것에 의해 감시용으로 IOP에 이용할 수 있게 된다. CEIS워드는 또 큐내의 미해석 워드의 수를 규정하는 정보를 포함하고 있고, 이것은 새로운 엔트리로서 큐에 라이트됨에 따라서 INT에 의해 갱신된다.
TSR에 라이트된 이와 같은 각 상태 워드에 대해서 INT는 관련 채널을 식별하는 벡터를 어셈블하고, 이것을 요구와 함께 SIO로 보낸다. SIO는 벡터를 레지스터 VHR에 저장하고, 버스(35)상에 인터럽트 신호를 동작시키고, IOP가 승인하면 벡터를 버스에 탑재시킨다.
다음에, IOP는 벡터를 복호화하고, 어떤 채널이 포함되는지를 판정하여 SIO를 통해서 관련된 CEIS워드를 추출하도록 동작한다. 이 워드를 조사하는 것에 의해 IOP는 미해결 엔트리가 처리 종료 인터럽트 상대(EOPIS)큐에 존재하는지를 판정한다. 존재하면, IOP가 이들 파라미터를 처리할 준비가 갖추어졌을 때, SIO를 통해서 큐 엔트리 중 1개 이상을 추출하도록 동작하며, 먼저 추출한 CEIS내의 포인터 정보에서 얻어진 SIO를 통해서 큐 엔트리중 1개 이상을 추출하도록 동작하며, 먼저 추출한 CEIS내의 포인터 정보에서 얻어진 SIO로 어드레스 정보를 공급하고, TSR의 CEIS정보를 수정해서 각각의 EOPIS 큐에 남아 있는 미해결 엔트리의 수를 반영시킨다.
이 때, IOP는 또 SIO 및 프로그램 제어경로(89)를 통해서 RSM내의 HPCR 레지스터를 액세스하고, 이 레지스터내의 정보를 변경해서 관련 채널의 EOPIS큐의 내용이 변하고 있는 것을 표시하고, 또 제거된 미해결 큐 엔트리를 표시하도록 동작한다. INT는 이 HPCR정보를 사용해서 큐가 비어있는지 아닌지를, 즉 큐에 대해서 다른 인터럽트를 발생할 필요가 있는지 없는지를 판정한다.
INT가 EOPIS워드를 각 채널 큐로 라이트하고, 관련된 CEIS워더를 갱신해서 현재 미해결의 엔트리의 수를 표시하고, 그 수가 16에 도달하면, INT는 16번셉의 엔트리에 비트를 설정해서 가득찬 큐 상태를 지시한다. IOP가 그 엔트리를 추루하면, 토글된 전 비트를 후속의 몇 개의 엔트리가 라이트된 것을 지시로서, 즉 각각의 채널에서 통신 프레임정보에 대한 그 정보가 불환전할지도 모른다는 지시로서 주목한다.
IOP는 우선 L1논리내의 그 채널에 의한 데이터전송을 정지하고, 다음에 IDLC내의 채널을 각각의 채널제어 레지스터(CCR)내의 채널 형식 비트를 비활성 채널을 나타내는 값으로 설정하여 사용금지로 하는 것에 의해서, 채널을 사용금지로 할 수 있다. IOP는 ICR레지스터의 모드 필드를 소정의 값으로 설정하는 것에 의해 IDLC 전체를 사용불능으로 할 수 있다(이 이상의 사항에 관해서는 이후의 SIO요소의 상세설명 참조)
여기에서 주를 다는 일정한 사항을 제외하고, IDLC와 그 외부인터페이스 사이 및 IDLC내의 요소 사이의 정보전송은 요구 및 승인의 신호를 교환하는 것에 의해 실행된다. 데이터의 송수신에 관한 예외는 BTDM 인터페이스와 RL1과 RV사이의 인터페이스에 있다.
BTDM 인터페이스에 있어서, TL1은 비트전송을 위해 L1회로로 부터의 요구가 나타난후 소정기간내에 1비트의 전송데이타를 제시해야 하고 RL1은 L1이 수신비트를 보내고 있는 것을 나타낸후 소정 시간내에 수신비트를 수령해야 한다. 비트 전송의 요구가 (27)에 표시되었을 때 TL1내의 데이터 바이트 버퍼(2개 있음) 이 2개 모두 비어있으면, 언더런의 지시가 TV에 부여되고 TV는 인터럽트 지시을 INT에 제시한다. 마찬가지로 수신비트의 전송이 (27)에 나타났을 때 RL1내의 (1개의) 데이터 바이트 버퍼가 가득차 있으면, RL1은 오버런 지시를 나타내고, 이것이 RV 및 RFM을 경유하여 INT로 전달된다. INT는 다음에 관련 상태정보를 수집해서 저장하고, ISO를 경유해서 IPO로 관련된 인터럽트 요구를 발생시킨다.
RL1과 RV사이의 인터페이스에 동일한 동기전송제약이 인가 즉, RV는 RL1이 그 바이트를 제시하고 있다는 것을 나타낸 후 소정시간내에 RL1에 의해 제시된 수신데이타의 바이트를 수령해야만 한다. 이 시간은 BTDM 인터페이스에 있어서의 현재의 슬롯단계에 따라 변경될 수 있다. 일반적으로 이 시간은 BTDM 인터페이스에서 다른 비트를 수신할 수 있는 가장 빠른 시간 또는 RV 상태를 보존될 시간보다 적다(이후의 RSM의 설명중「종료」지시의 설명 참조).
다른 모든 IDLC전송을 완전 핸드세이크 요구 승인이다. TEM은 전송 채널 데이터를 FIFOR내의 각각의 4바이트 버퍼에서 한번에 1바이트씩 TV로 이동시킨다. 각각의 전송은 TV로 부터의 요구에 의해 개시되고, TFM으로부터의 승인으로 종료한다. 최후의 4바이트가 FIFOR버퍼에서 전송되는 즉시, 그 전송에 의해 종결하지 않는 동작에 있어서, TFM은 다른 데이터를 위한 요구를 DMARQ로 보낸다. 비동기적으로 DMARQ에 대한 요구는 MIO와 상호작용해서 버스(35)를 조정하고, IOP기억장치로 직접 액세스하고, 4바이트의 다른 전송한 데이터를 FIFOR로 전송하는 DMARQ에 의해 서비스 받는다. 버스(35)의 크기에 따라 4바이트의 전송은 1개 이상의 단계에서 실행할 수 있지만, DMAC으로의 전송은 단일 동작으로서 나타난다. 각각의 전송데이타 바이트의 그 처리를 완료하면 TV는 전송요구를 TL1에 표명하고, TL1이 준비되었으면, 바이트를 수령하고 승인을 표명한다.
마찬가지로, 수신데이타 처리시에 RV는 수신바이트의 처리를 완료함에 따라서 RFM으로부터의 전송처리를 요구하고, RFM이 준비되었으면 바이트를 수령하고 승인을 표명한다. 바이트는 각각의 채널에 할당되어 있는 4바이트의 수신데이타 저장공간내의 FIFOR에 저장되고, 그 공간이 최후의 4바이트로 가득차면, RFM은 요구를 DMARQ로 보낸다. 비동기적으로 DMAC는 그 요구를 서비스하여 MIO에 의한 버스(35)에 대한 중간조정후 4바이트를 FIFO에서 IOP내에서 직접 액세스되는 지정 순환 버퍼공간으로 이동시킨다.
IDLC구성은 단지 MIO 및 SIO의 구성을 변경하는 것에 의해 다른 구획의 어느것도 변경하지 않고 또는 장치의 종합회로 카운트를 그다지 변경하지 않고 다양한 다른 버스 인터페이스(35)에 적응하도록 변경할 수 있다.
7. 시간교환 RAM(TSR) 및 자원관리기(RSM)시간교환 RAM(TSR)은 BTDM인터페이스(RL1,RV 및 RFM)에서 데이터를 수령하고, 데이터를 BTDM(TFM, TV 및 TL1)으로 전송할 책임이 있는 IDLC의 동기부의 개별처리요소에 할당된 공간의 블록을 구비하고 있다. 각 블록은 IDLC 동기처리요소에 의해 서비스될 시분할 다중(TDM) 처리시간 채널 전용의 공간을 구비하며, 이것은 BTDM상의 관련된 슬롯 위치에서 샘플되고 L1회로에 의해 인터페이스되는 네트워크 통신채널에 대응한다.
각 채널 공간은 각각의 동기네트워크 채널/슬롯의 통신상태를 나타내고, 활성태널에 대해서 그들 채널에 대한 ″시간교환″상태워드 및 인터럽트 상태정보를 구비하고 있다. 시간교환 상태는 BTDM 인터페이스에서 관련된 타임슬롯이 최후에 나타난 후 각각의 채널에 대해 관련된 IDLC요소의 처리상태를 규정한다. 인터럽트 상태정보는 각각의 채널에서 발생하는 이벤트를 규정하고, TSR에 저장되어 최종적으로 IOP/호스트 복합체에 의한 추출처리를 여러개의 이벤트를 규정하고,TSR에 저장되어 최종적으로 IOP/호스트 복합체로 전송된다.
인터럽트 상태정보는 인터럽트 처리요소(INT)의 지휘하에 모여져서 저장된다. 이와 같은 정보에 할당되어 있는 TSR공간은 다른 시간에 발생하는 여러개의 이벤트에 대해 각 채널의 상태를 대기시키고, IOP/호스트 복합체에 의한 추출처리를 여러개의 이벤트에 대해서 효율좋게 실행할 수 있게 하기에 충분하다. INT 요소는 이들 큐를 관리할 책임이 있다.
활성이고 또한 현재 통신에 사용할 수 있는 처리채널은 IDLC처리요소에 의해 BTDM 인터페이스에서 각각의 타임 슬롯으로 나타나는 것과 동기해서 서비스받는다. 활성채널에 관련된 각각의 슬롯의 종료에서 각각의 처리요소는 지원관리기 RSM과 협동해서 그 최후의 처리상태를 그 채널 및 각각의 요소에 관련된 TSR공간에 보존하고, 다음의 활성채널과 관련된 타임슬롯의 처음에서 요소는 RSM과 협동해서 그 최후의 서비스/슬롯의 출현기간중에 그 다음의 채널에 대해서 보존되어 있는 상태를 재로드한다.
각 활성채널 처리슬롯의 기간중에 또한 RSM으로 부터의 신호에 관해서 IDLC 처리요소는 관련된 채널내의 요소를 통해서 송수신되는 데이터에 대한 처리 및 완충동작을 협동해서 실행한다. 데이터는 BTDM인터페이스에서 비트직렬로 처리되고(여러개의 비트를 어느 슬롯기간중이라도 전송할 수 있다.), 또한 비트는 병렬로, 바이트는 직렬로 처리요소 사이에서 전송된다.
BTDM에 직접 접속되는 요소(TL1, RL1)은 데이터에 관해서 직렬화 및 직렬해제의 기능을 실행하고, 그밖에 요소는 처리의 각 단계에서 프레임된 포맷으로 운반되는 데이터에 대해서 (예를 들면, HDLC 프로토콜 통신에 대해서 구성된 채널에 대해)처리기능을 실행한다. 이들 기능에는 현재의 포맷된 채널에 대한 경계플레그 및 충전패턴의 삽입 및 해제, 프로토콜 채널내의 데이타로 스터프 비트의 삽입 및 해제(제어특성에 대한 명료도를 유지하기 위해), IDLC/IOP의 국부노드에 대해서 적절하게 어드레스된 데이터에 대해 선택적으로 한정하는 처리를 수령할때의 어드레스인식, CRC(순환식 용장성 체크 정보)의 삽입 및 체크등을 포함한다.
또한, TSR은 요소 및 채널에 대한 초기화 정보의 IOP에 의한 프로그램 가능 엔트리를 위해 또한 채널에 대한 인터럽트 상태 정보의 추출에 위해 슬레이브 I/O요소 SIO를 경유하여 IOP로 액세스할 수 있다.
7.1 TSR 구성.
제 9도는 TSR의 물리 및 논리적 구성을 나타내고, WP6도는 TSR의 공간을 통신채널에 할당하는 방법과 각각의 채널의 공간을 사용하는 방법을 나타낸다.
제 9도에 있어서, TSR은 2048×36스테이틱 RAM(101)을 포함한다. (각각의 채널 파라미터에 할당되어 있는공간 및 예비적용에 관해서는 제6도의 설명 참조). RAM장해의 허용도가 중요한 경우, 2개의 2048×36RAM을 마련하고, 전체적으로 에러가 없는 것에 따라 한쪽 또는 다른쪽을 사용할 수 있다. 최소한 TSR은 수용가능한 예비공간이 적은 경우 1024×36용량을 필요로 한다.
액세스 제어기는 논리(102), 멀티 플렉서(103) 및 레지스터(104)를 포함한다. RAM내의 저장 공간의 어드레스상은 어드레스 멀티플랙서 회로(105)와 어드레스 레지스터9106)에 의해 제어된다. 데이터는 데이터 멀티플렉서 회로(107)과 버퍼 레지스터(108)을 거쳐 TSR에 입력되고, 버퍼 레지스터(109)를 거쳐서 TSR로부터 출력된다. 레지스터(109)의 출력은 선택에 따라서 구획의 하나를 지정하는 승인신호(TSR_RSM_ACK 또는 TSR_SIO_ACK)와 함꼐 RSM 및 SIO의 입력에 인가된다.
회로(102),(103),(105) 및 (107)로의 입력외에 회로(102)에서의 출력도 기호″A_B_C_″로 표시하며, 여기서 A치 B는 구획명의 약어이고 C는 기능을 나타낸다. 모든 구획에 관한 이하의 설명에서 광범위하게 사용되는 이 기호는 최초에 지정되는 구획이 각각의 신호원을 나타내고, 2번째로 지정되는 구획이 도시한 회로내의 그 신호의 수신지를 나타낸다. 어떤 경우에는 수신지의 구획이 생략되지만, 적어도 도시된 구획의 것인 것을 이해할 수 있다.
따라서, 제9도에 있어서, ″RSM_ADDRESS″는 ″RSM_TSR_ADDRESS″를 나타내고, 멀티플랙서(105)를 경유하여 레지스터(106)으로 전송할 수 있는 RAM에서의 한조의 어드레스 신호를 나타내는 것을 이해할 수 있다. 마찬가지로, 제9도에서 지시원으로서 RSM을 갖는 모든 입력은 TSR에 배타적으로 향하는 것을 이해할 수 있다. SIO에서의 TSR입력은 SIO가 RAM구획 TSR,FIFOR 및 DMAR의 전부로 액세스하여 상기 규칙의 예외이다. 이 도면에서 SIO 입력에 관해서 어드레스 데이터 및 패리티의 각 기능의 수신지는 IDLC의 모든 RAM 구획이다. 배타적 수신지로서 TSR을 선정하는 기능은 ″SIO_TSR_RD″또는 ″SIO_TSR_WR″중 활성인 것(도시한 SIO에서 명백한 수신지를 갖는 신호만)이다.
멀티플랙서 회로(103),(105) 및 (107) 은 RSM 및 SIO에 의해 제시된 각각의 입력 사이를 선택한다. 멀티플랙서(105)는 이들 구획에 의해 제시된 어드레스를 입력사이의 선택을 실행하고, 멀티플랙서(107)은 이들 구획에 의해 제시된 데이타 입력사이의 선택을 실행하고, 멀티플랙서(103)은 이들 구획에 의해 제시된 패리티 입력사이의 선택을 실행한다. 선택된 입력 데이터는 대응하는 입력 패리티와 함께 대응하는 어드레스 입력에 의해 지정된 TSR의 어드레스 부분으로 라이트된다. 입력 데이터는 실제 데이터의 각각 8비트 바이트 서브 세트에 관련하는 4비트 병렬조합의 입력 패리티가 뒤에 부여된 ″실제 데이터(actual data)″의 32비트병렬 조합으로 제시된다. 이 결과, 버퍼(109_로의 출력은 각각 4개의 패리티를 갖는 4출력 데이터 바이트로 구성되게 된다.
제어 논리(102)는 도시한 바와 같은 제어입력, 도시한 바와 같은 RSM 및 SIO로의 승인 출력과 RAM으로의 액세스 유효화 및 액세스의 방향(리드 또는 라이트)를 제어하는 RAM제어 출력(102A)을 갖는 유한 상태 기구 회로이다. 리드 및 라이트 액세스는 이하에서 패치 동작 및 저장 동작을 말한다. 상태 기구 회로는 하기의 가능한 상태를 갖고, 하기의 상태 연속 규칙에 따라서 동작한다.
1. 리세트 상태-″SIO_RESET″가 활성인 경우만 고려하고, 다음의 상태 (″SIO_RESET″가 비활성일때)는 상태 0이다.
2. 상태 0(RSM 소유권 상태(Ownership state))-이하의 동작을 마련한다. ″RSM_LOCK_UP″이 활성이면, ″TSR_RSM_ACK_가 SIO 입력에 대하여 RSM 입력을 먼저 선택하도록 표명된다. 이 기능은 멀티플랙서(103), (105), (107)에서 및 도시하지 않는 논리(102)중의 선택 회로에서 ″RSM_RD_WR″과 RSM_REQ에 대한 RSM 입력 선택의 유효화를 필요로 하고 있는 것으로 이해된다(전자는 동작이 리드 또는 라이트인가에 의해 한쪽의 상태 또는 다른쪽의 상태이고, 후자는 리드 또는 라이트에 대해 표명되어 있다.) 최후의 액세스가 리드이고 또한 RSM이 라이트를 요구하면, 제어기(102A)에서 칩 선택 기능이 RAM(101)에 대하여 지체된다(하기의 상태 3의 설명). 이 부가 사이클은 칩외의 드라이버의 주회시간을 적당하기 위해 필요하다. 현재의 액세스가 리드이면, 내부 LAST_ACCESS_READ 래치(102L)를 세트하고, 그렇지 않은 경우는 리세트한다. 이 최종 동작은 앞서 실행된 액세스의 형식의 트랙을 유지하기 위해 필요하다(하기의 상태 3의 설명 참조). RSM_LOCK_UP이 비활성이면, SIO 요구를 검사한다. SIO_TSR_WR이 활성이면, SIO 데이터 및 패리티를 RAM(101)로 전송하고(SIO_ADDRESS에 의해 지정된 어드레스로), 래치(102L)을 리세트한다. SIO_TSR_RD가 활성이면, 모든 제어신호를 어세트하지만, RSM(101)로의 액세스를 지연시킨다(하기의 상태 1의 설명 참조). 다음에 따르는 상태 0.1, 또는 3으로 진행한다. RSM_LOCK_UP가 활성이고 또한 상태 3으로 진행하는 다른 조건이 없으면, 또는 미결정의 요구가 없으면, 상태 0이다. 다음의 상태는 미결정으로 되는 유일한 요구가 SIO리드(SIO_TSR_RD가 활성이고, RSM_LOCK_UP가 비활성이다)이면, 상태 1이다. RSM_LOCK_UP 및 LAST_ACCESS_READ가 활성이고, RSM_RD_WR이 라이트 요구를 나타내면, 상태 3이다.
3. 상태 1(SIO 리드 소유권(Read Ownership))-SIO_TSR_RD가 활성이면, SIO_ADDRESS에 의해 지정된 기억장치로의 리드 액세스를 유효로 한다. 다음의 상태는 무조건 상태 2이다.
4. 상태 2(SIO승인(Acknowledgement))-SIO요구에 대하여 TSR_SIO_ACK를 표명한다. SIO_TSR_RD가 활성이면, 또한 그 경우에 한하여 TSR_DATA가 유효이다. 다음의 상태는 무조건 상태 0이다.
5. 상태 3(RSM 경찰상태(police stare))-이 상태는 RSM에 의해 백투백(back-to-back) 리드 및 라이트 액세스에 대하여 개재 시간을 불충분하여 감시하고, RSM입출력을 안정하게 한다. 이 상태는 LAST ACCESS_READ)가 활성이며 RSM이 라이트 액세스일 때 들어간다.(상술한 상태 0을 참조). 제 2의 요구동작이 라이트이면, 이 상태에서 지연없이 실행한다. 다음의 상태 0이다. 리드 액세스시의 RAM(101)의 출력 TSR_DTAT는 구획의 하나를 선택하는 승인과 함께 RSM 및 SIO로 제시된다. RSM이 TSR을 액세스할 때, RSM_LOCK_UP를 표명하고, SIO액세스를 미라 차단한다. RSM이 리드 액세스하고 있으면, 대응하는 RSM입력에서 TSR_DATA의 수령을 자동적으로 가능하게 하고, 그 이외의 경우에는 그 입력을 무시한다. SIO 및 RSM이 동시에 리드 액세스하고 있으면, SIO는 TSR_SIO_ACK가 비활성이므로, 그 TSR데이타 입력을 무시한다. 다음의 상태는 상태 0이다.
7.2 TSR공간의 할당.
제 6도에 있어서, 기본 속도 ISDN환경에서 TSR의 2048개의 36비트폭의 ″워드″공간이(바람직한 TSR의 크기가 2048×36인 것은 앞서의 설명 참조) 32채널이 동일하게 할당되어 있으므로, 각각의 채널에는 64워드 공간이 할당되어 있다. 이와 같은 각 공간은 4개의 8비트 데이터 바이트를 4개의 관련 패리티 비트와 함께 저장하기 위해 사용 가능하다. 채널 0에 대한 특정의 워드공간의 할당을 모든 채널에 대한 것의 대표로서 도시되어 있다. 어드레스의 경계는 16진수로 표시하고, 채널 공간에 대한 것을 왼쪽에 나타내고, 대표적인 채널 0내의 워드 공간에 대한 것을 오른쪽에 나타낸다.
각각의 채널 공간은 특정 워드 파라미터용의 27워드 공간 및 37예비 공간(확장 및 용도의 변경에 이용가능)을 포함한다. 각 채널에 대한 특정의 워드 공간은 전체의 채널 구성 및 특정의 HDLC 프로토콜 구성(CCR, HPCR)를 규정하는 2워드, 시간 교환(TX_TSI)시에 전송 요소 상태를 보존하는 3워드, 시간 교환시에 수신 요소 상태를 보존하는 5워드(3RX_TSI, 2RX_TS2) 및 17채널 상태워드(CEISR 및 EOPISRO1∼EOPISR16)를 포함한다.
이들 각각의 워드의 특정 비트 및 기능에 대해서는 후술한다(RMS 요소의 설명중 구성워드 CCR 및 HPDR, 각각의 송수신 요소의 설명중의 시간 교환워드 및 INT와 SIO요소의 설명중의 상태 워드)
7.3. RSM
자원 관리기 구획(RSM)은 TSR내의 전용 기억 위치에 다한 송수신 처리 요소 상태의 시간 교환외에 INT와 TSR사이의 채널 인터럽트 상태 처리의 관리에 필요한 정보의 쌍방향 전송을 관리한다. RMS는 또 IDLC칩과 L1회로의 모든 부분에 대한 하드웨어 에러 상태를 검출하고 기록하는 초점으로서 기능한다.
RSM은 인터페이스에서의 1타임 슬롯의 종료 및 다른 타임 슬롯의 개시를 의미하는 ″슬롯의 개시″(BOS)지시에 대해 BTDM 인터페이스를 감시하고 IDLC의 전송 요소(TV, TL1), 수신 요소(RL1, RV), FIFO 큐 관리 요소(RFM, TFM) 및 INT에 대하여 필요한 시간 교환 활동을 마련한다. RSM은 또 상태보존 및 제로드 기능을 고객화하여 비활성 채널에 대해 이들이 실행되지 않도록 하였지만, RSM은 각각의 채널이 활성인가의 판단을 위해 각 채널(활성 또는 비활성)에 관련하는 CCR(채널구성 레지스터)워드의 일부를 추출하는 예비로드 동작을 실행한다.
비활성 채널에 대한 요소 상태를 보존하지 않는(이와 같은 처리를 사용하지 않는 국면은 무시)이유는 호스트/IOP/SIO가 TSR의 각각의 채널 상태 저장 영역에 독립적으로 라이트 액세스하므로, RSM에 의한 보존 활공은 부정 상태 정보를 갖는 IOP SIO에 의해 새롭게 라이트된 상태 정보를 오버라이트할 가능성이 있기 때문이다. 비활성에 대한 요소 상태를 로드하지 않는(다시 이러한 국면을 사용하지 않는 국면의 무시)이유는 TSR과 요소 사이를 통하는 상태 정보가 RSM에 의해 패리티 체크되고, 따라서 불확정 형태의 상태 정보를 포함하는 비활성 채널에 대한 로딩 처리가 불필요한 패리티 에러 지시 인터럽트를 발생하는 것이 있기 때문이다.
상태 보존을 위한 그 준비의 일부로서, 처리는 활성 채널에 대하여 종결하지만, RSM은 각각의 동기 처리 요소에 의한 그 채널에 대한 처리가 보존에 적절한 안정 종결 상태에 도달하고 있는 것을 확인한다.
상태 교환에 대한 동기 처리(RL1, RV, RFM, TL1, TV, TFM 및 INT)는 임의의 활성 채널에 대하여 처리하면서 RSM의 상태 신호를 연속적으로 제시한다. 이와 같은 상태 신호는 보존을 위한 RSM에 의해 TSR에 라이트할 수 있지만, RSM은 정상 환경하에서 보존된 상태가 유효인 데이터를 나타내는 처리 슬롯 사이클의 소정의 단계까지 이와 같은 전송을 실행하지 않는다.
활성채널에 대한 처리 기간 동안, 동기 요소는 RSM에서 조기에 ″슬롯 종료″지시(EOS)를 수령하고, 이것 요소내의 상태 기구는 소정의 시간을 갖지만, 이 시간은 각각의 채널슬롯이 다시 나타날 때 처리를 명확하게 재개할 수 있는 안정상태에 도달하기에는 부족하다. 이 시간은 각각의 요소마다 다르다. 정상 동작동안, 이들 요소는 EOS가 명시될 때 순간적으로 안정상태로 안되는 경우, 필요한 시간내에 이와 같은 상태에 도달하게 되고, 일단 이와 같은 상태로 되면, 이들 요소는 각각의 종료지시를 RSM에 나타낸다.
기술한 소정시간의 마지막에서, RSM은 각각의 요소 상태를 TSR로 라이트(보존)하지만, 각각의 종료지시에 대해서도 체크한다. 기간내에 종료지시가 되돌아 오지 않는 경우, RSM은 내부적으로 논리적 타임 아웃지시를 발생하며, 이것은 SIO/IOP에 대하여 관련 상태 기록 및 인터럽트 처리를 필요로 하는 하드웨어 에러 상태로서 INT에 의해 검출된다.
또, RSM은, BTDM 인터페이스에 의한 신호 전송 활동을 감시하여 신호 전송이 IDLC의 상태 교환 활동에 대하여 정확한 단계에 있는 것을 확인한다. 상태가 로드 또는 보존될 때 RSM이 전송처리를 검출하면, INT에 대하여 타이밍 에러 지시, RSM_L1 L2_ERROR을 발생하고 처리를 계속한다. 이 지시에 의해 지정된 데이터 변조의 가능성은 최종적으로 IOP/호스트에 보고되고, 필요하다면 호스트 시스템에 의해 더욱 적절한 레벨의 주기를 유지하는 L1과 IDLC 사이의 ″버스트″데이타 전송이 허용되는 시간 창 기간의 규정에 주목한다).
TSR에서의 동기 요소의 상태에 관하여, 이들 요소가 출현 또는 재출현하는 채널슬롯에 대한 처리를 마련하는 것에 대해 RSM은 EOS의 후, ″개시″신호를 적절한 순간에 요소에 제시하는 것에 의해 처리의 개시를 그 채널에 관하여 동기시킨다. 이들 개시신호는 데이터를 교환하는 요소가 전부의 상태를 로드할때까지 제시되지 않는다.
예시적인 기본 속도 ISDN 환경에서 슬롯 시간의 최소 지속기간은 3.8마이트로 초이고, IDLC는 20MHz의 클록에서 동작하고, 이것에 대한 최소 슬롯 시간은 76클럭 사이클이다. RSM에서 그 각종 기능에 대한 시간의 할당은 오버헤드 시간(모든 TSR이 저장하고 체치하는데 필요한 시간)을 최소 슬롯 시간에서 감산하고, 남은 클럭시간을 다른 전부의 시간 교환 기능에 균등하게 분배하는 것에 의해 결정한다. 오버헤드 시간은 TSR의 이용 가능성에 의해 영향을 받으므로, SIO/호스트의 TSR로의 액세스(인터럽트 상태 추출 및 채널 상태 초기화를 위해)는 어떠한 타임 슬롯 기간 동안 다른 기능을 위해 시간을 감소시키는 것이 있다. 오버헤드 시간의 추적은 이하에 기술한 바와 같은 사이클 카운터(121)을 사용하여 실행된다.
제 10도에 있어서 RSM은 구성 레지스터(115) 및 (116), 멀티플랙 회로(117) 및 (118), 패리티 발생회로(119), 패리티 체크 회로(120), 사이클 카운터(121), 슬롯 발생회로(122) 및 상태기구(123)을 포함한다. 상태기구(123)은 이하에 설명하지만, TSR 채널 공간의 어드레싱을 결정하고, 이와 같은 어드레싱을 동적으로 변화하는 하이퍼 채널 맵핑에 대하여 지지하는 어드레스 발생 논리를 포함한다.
레지스터(115) 및 (116)은 구성 규정워드의 버퍼로서 기능하는 32비트폭의 레지스터이다. 레지스터(115)는 구성 제어 레지스터(CCR)이며, 각각의 채널에 시분할로 할당된 타임 슬롯을 처리하는 기간중에 개개의 채널 구성을 규정하는 구성 제어워드를 수신한다. 레지스터(116)은 HDLC 프로토콜 구성 레지스터(HPCR)이며, 프로토콜 양식화 통신을 실행하는 채널에 할당된 타임 슬롯을 처리하는 기간중에 프로토콜 구성을 규정하는 제어워드를 수신한다.
이들 레지스터로 전송 가능한 구성 워드는 TSR(제 6도 참조) 각각의 채널에 할당된 공간에 저장된 또는 저장 가능하고, 각 워드의 내에서의 특정 비트필드의 할당에 대해서는 제11도(CCR에 대해) 및 제 12도에서 멀티플랙서(117) 및 IDLC 동기부의 전부의 자율요소의 관련 입력까지 연장하고 있다. 제 10도∼제 12도를 참조하여, 이하 이 래지스터내의 비트필드의 정의 및 용도에 대해 설명한다.
CCR(채널당 1개) :
RES(예비)-13비트(좌에 10개, 우에 3개)-확장 또는 장래의 용도를 위한 예비
채널형식(CT)-3비트-B/D(최대 64kbps, 레이어 1개에 의존). H0번호, 1,2,3,4 또는 5 H11또는 H12의 하나로서 채널 형식을 구별.
프로토콜 코드(PC)-4비트-16의 규정 가능한 값을 갖고, 12는 예비용, 4는 이하의 프로토콜의 각각의 하나를 지정한다. SDLC, LapD, 클리어(프로토콜 없음, 예를 들어 음성 채널용)
전송 DMA 사용가능화(Transmit DMA Enable:TDE)-1비트-DMAC에 의해 전송 DMA 제어 동작을 사용가능 또는 사용금지로 한다. 비트는 TDCR1∼TDCR4가 정확하게 초기 설정된(이하의 DMAC 구획의 설명 참조) 후에만 사용가능 상태로 설정된다.
수신 DMA 사용가능화(Receive DMA Enable:RDE)-1비트-수신 DMA 동작(FIFOR에서 IOP/호스트 기억장치로의 수신 데이터의 전송)을 사용가능 또는 사용금지로 한다. PDCR1∼PDCR4가 정확하게 초기 설정된(이하의DMAC의 설명을 참조) 후에만 사용가능 상태로 설정된다.
수신기 사용가능화(Receive Enable:RE)-1비트-지정된 프로토콜에 따라서 수신 데이터의 처리를 사용가능 또는 사용금지로 한다. 데이터 채널(예를들면 SDLC/LapB/LapD)에 대해서는 플래그의 검출, 포기(aborts), 아이들(idles), 비트 가득참 해제(bit de-stuffing), 비트에서 바이트로의 조립, FIFOR에서의 바이트 큐잉(byte queueing), 수신지 어드레스 인식, CRC 체크와 워드(4바이트)를 한번에 IOP 기억장치로 전송한다. 클리어 채널에 대해서는 ㎉ 직렬에서 바이트로의 조립, 바이트의 FIFOR로의 저장 및 한번에 1워드(4바이트)를 IOP 기억장치로 전송한다. 데이터의 처리는 최상위 비트가 최초에 도착한다는 가정하에 실행된다.
포기요구(Abort Request:AR)-2비트-하기 처리의 하나를 호출한다. (수신)데이타의 오버런 상태시에만 포기, 포기 데이터 패턴(7개의 1의 후에 소정의 패턴이 계속)을 보냄, 아이들 패턴(15개의 1의 연속)을 보냄, 역(inverted) 아이들 패턴(15개의 0의 연속)을 보냄. 필드는 프로토콜 코드가 SDLC, LapB 또는 LapD에 대한 것일때만 유효이다. AR이 최후의 3개의 처리의 어느것을 지정할때느 TDE 비트를 0으로 설정(사용금지)해야 하고, TE 비트를 1로 설정(사용가능)해야 한다.
포기 인터럽트 마스크(Abort Interrupt Mask:AIM)-1비트-프레임 사이에 발생하는 포기에 대한 비트값에 대응하여 인터럽트의 발생 또는 처리의 포기로 한다.
체인간 가득참 선택(Inter-Chain Fill Select:ICS)-1비트-전송 DCB 체인의 기간중에 DMAC의 동작에 영향을 준다. 비트값에 대응하여 DMAC에 체인 데이터와의 사이에 일련의 ″가득참(fill)″ 플래그 (″01111110″)을 삽입 또는 종결 플래그와 새로운 체인 데이터와의 사이에 ″아이들 패턴″('111…111':최소 15개의 1)을 삽입시킨다. 비트 기능은 PC가 SDLC, LapB 또는 LapD에 대한 값으로 설정되어 있을때만 유효하다.
프레임간 가득참 선택(Inter-Frame Fill Select:IFS)-1비트-데이타 프로토콜 프레임 사이에 종결 플래그에 따른 가득참 플래그 또는 아이들 패턴으로서 삽입될 가득참 패턴을 선택한다.(ICS의 정의 참조).
어드레스 인식 옵션(Address Recognition Option:ARO)-2비트-옵션 필드값에 따라 수신데이타 프레임을 선택적으로 진행시킨다. 옵션은 사용금지(전부의 프레임의 진행). 진행 1(방송 프레임 및 단일 바이트의 수신지 어드레스를 갖는 프레임만 진행), 진행 2(방송 프레임 및 2바이트의 특정 수신지 어드레스를 갖는 프레임만 진행), 진행 3(SDLC 및 LapD에 대한 방송어드레스를 구비한 프레임만을 진행(LapB 및 클리어 채널은 방송 어드레스가 존재하지 않으므로, 이와 같은 채널의 프레임은 전부 진행한다))를 포함한다. 옵션의 값은 PC 값이 SDLC, LapB 또는 LapD 에 대한 것일때만 유효하다. 인식된 방송 어드레스는(SDLC에 대해서는) 개시 플래그가 16진수의 ″FF″인 후의 최초의 바이트이고, (LapD에 대해서는) 개시 플래고가 16진수 ″FF″인 후의 2번째의 바이트이며, (LapB에 대해서는)없다.
전송 가능화(Transmit Enable:TE)-1비트-FIFOR에서의 전송데이타의 전송을 가능 또는 금지한다. 금지되면, BTDM IF에서 플래그, 포기, 아이들 또는 CRC 체크기호가 전송되지 않는다. 가능이면, 데이터 및 프레임 기호가 레이어 1 하드웨어의 요구시 BTDM IF에서 전송된다.
역데이타 스트림(Invert Data Stream:IDS)-1비트-이 비트가 활성이면, 데이터는 BTDM인터페이스에서 역의 형상으로(그외의 경우에는 참의 형상(true form)으로)송수신된다. 이 비트의 기능상태의 목적은 64kbps의 제어동작을 지원하는 것이다. 이 비트가 링크상에서 7개 이상의 연속하는 0이 전송되는 것을 회피하도록 사용가능으로 될 때, ICS 및 IFS의 양쪽은 사용금지산태로 된다.
HPCR(채널당 1개) :
토글-1비트(Toggle-1bit)-SWRC 값이 유효인 것을 나타낼 때 사용된다. IOP는 TSR에서의 인터럽트 상태의 추출에 관련하여 SWRC 필드가 갱신된 것에 이 비트의 값을 토글한다. 비트는 ICR(이하의 SIO의 설명 참조)의 QM비트가 사용가능할 때 유효이다.
상태워드 리드 카운트(Status Words Read Count:SWRC)-5비트-인터럽트 후, TSR내의 관련 채널의 16워드의 EOPISR큐에서 리드될 상태 위드의 수를 IOP가 INT 구획에 나타나도록 사용된다. INT는 이 카운트를 사용하여 큐의 현재의 내뇬에 대하여 다른 인터럽트를 발생시킬 필요가 있는가 판단한다. 필드는 ICR의QM비트가 사용 가능할 때 유효이다.
링크 스테이션 어드레스(Link Station Address:LSA)-16비트-CCR의ARO필드가 1또는 2바이트의 어드레스 인식을 요구하는 값을 가질 때 인식될 특정의 어드레스를 프로그램 하도록 사용된다. 1바이트 인식의 경우, 이 필드의 상위 8비트를 스테이션 어드레스 값으로 설정하고, 하위 8비트를 0으로 설정한다. 2바이트 인식의 경우, 필드 전체를 스테이션 어드레스 값으로 프로그램 한다. 필드값은 CCR의 PC파라미터에서 DLC, LapB 또는 LapD의 프로토콜을 지정할 때 유효이다. LapD를 수신할 때 명령/응답비트(프레임의 최초의 바이트의 최하위 비트의 다음 비트)가 수신 구획 요소에 의해 자동적으로 마스크 되고, 프프레임은(1바이트 인식모드에서)동일 바이트 내의 나머지 7비트 또는(2바이트 인식 모드) 이들 비트에 다음 바이트 내의 비트를 부가하여 LSA 값에 정합한 경우, 또는 방송 패턴이 검출된 경우만 진행한다.
레지스터(115) 및 (116)에서의 그 입력에 부가하여, 멀티플렉서(117)은 별도로 32비트폭의 병렬입력의 10개의 뱅크 또는 전체 12개의 입력 뱅크를 갖는다. 멀티플랙서(117)은 상태논리(123)에 의해 한번에 1개의 입력 뱅크를 논리(123)에에서의 도시하지 않은 선택 제어 입력에 따라 그 출력(125)에 선택적으로 접속하도록 동작한다.다른 10 입력 뱅크는 보존(TSR로 라이트)될 시간교환워드를 전송 처리 요소(TL1, TV, TFM)에서의 3, 수신 요소에서 5(RL1에서 1,RV 및 RFM에서의 2개씩) 및 INT(CEISR 및 IWT_EOP)에서 2전송하도록 기능한다.
멀티플랙서 출력(125)는 TSR, 패리티 발생회로(119) 및 SIO의 RSM_DATA 입력에 접속된다. 패리티 발생회로(119)의 출력은 TSR 및 SIO의 RSM_PARITY 입력에 접속된다. RSM이 TSR로의 라이트 선택입력을 표명하면 (RSM_TSR_RD_WR 및 RSM_LOCK_UP가 활성이고, RSM_TSR_REQ가 비활성), RSM_DATA 및 RSM_PARITY에 의해 형성된 총합 36비트폭의 표현이 논리(123)의 관련 RSM_ADDRESS 출력에 의해 지정된 TSR의 기억장치로 라이트된다. 이와 같이 하여 임의의 타임 슬롯 기간 동안, 논리(123)을 멀티플랙서(117) 및 TSR의 액세스 제어기를 반복 동작시켜 멀티플랙서에 입력할 수 있는 파라미터의 일부 또는 전부를 순차 저장하고, 이것에 의해 요소 상태 교환에 관련하는 각종 상태 보존 동작을 실행할 수 있다.
RSM 자체는 TSR에 대하여 상태교환을 받는 것이 아니라, 후속의 채널 슬롯을 마련하는 것으로 리드 전용 문맥에서 CCR 및 HPCR을 호출한 뿐인 것에 주목한다. 관련 레지스터에 저장되어 있는 값은 타임슬롯이 개시에서 종료까지 변화하지 않으므로, TSR에는 라이트 되지 않는다 그러나 이와 같은 값은 일정 시간에 IOP/호스트 복합체에 관심이 있고 , 따라서 멀티플랙서(117) 및 버스(125)를 경유하여 SIO에 액세스 가능하게 된다.
멀티플랙서(118)은 RSM에서 TSR로의 리드 액세스시 발생하는 TSR_DATA 출력을 수신하고, 이들을 모든 시간교환요소의 입력에 접속되는 시간교환상태 로딩 버스(RSM_TS_BUS)(126)에 선택적으로 접속한다. 개개의 출력을 수신하는 특정요소는 논리(123)의 RSM_XXX_LOAD 출력에 의해 지정된다. (여기서 XXX는 수신지 요소의 약호를 나타낸다.) 따라서, TSR에서 리드되는 상태워드를 각각의 요소로 분배할 수 있다.
TSR에서 멀티플랙서(118)로의 입력은 패리티 채크회로(120)에도 인가되고, 이것에 의해 채크된다. 패리티 에러가 검출되면, 회로(120)은 에러가 검출된 채널에 할당된 수의 기수.우수의 함수로서 2개의 에러지시출력(TSR_PARITY_ODD 또는 TSR_PARITY_EVEN)중의 하나를 작동시키며, 이 값은 회로(122) 및 (123)에 의해 얻어진다. 이들 패리티에러지시는 에러 인터럽트 처치를 호출하기 위해 INT 구획으로 보내지고, INT의 활동에 의해 연속슬롯이 송수신요소의 활동레 관련하여 연결되므로, 2개의 출력에 의해 가능하게 되는 기수/우수의 구별이 에러를 정정 채널에 관련 시킬 수 있도록 INT 하는데 필요하게 된다.
멀티플랙서(108)은 또 SIO의 SIO_DATA출력에서 입력을 받고, 이들 출력을 시간교환요소에 분배한다. 이 기능은 상태로딩의 통상의 근원이 TSR이기 때문에 진단용에서만 마련되어 있다. SIO_DATA의 작동에 관련해서 SIO는 상태제어입력 SIO_RESET를 논리(123)에 공급해서 RSM을 적절한 초기상태로 조정하고, SIO_DATA의 분배를 지휘하는 입력 SIO_RSM_RD, SIO_ADDRESS 및 SIO_RSM_WR을 RSM멀티플랙서 (118)을 경유해서 시간교환요소에 공급한다. 후자의 RD 및 WD입력에 따라서, RSM 은 어드레스를 복호하여 적절한 제어입력을 멀티플렉서(117) 및 수신지 요소로(RSM_XXX_LOAD를 수신지 요소로)보낸다. 이것은 RSM이 TSR과 요소와의 사이에서 실시간 채널 상태교환을 실행하고 있자 않을 때에만 허용된다.
사이클 카운터(121)은 각 슬롯의 현재의 산태를 판단하는데 사용된다. 이 카운터는 이용할 수 있는 슬롯시간 (최소 3.8마이크로초)를 이전의 슬롯의 후처리, 가변의 TSR 액세스 시간, 다음 슬롯의 전처리 및 데이터 전송시간의 각 구간으로 분할 돤다. 논리(123)의 상태기구부의 경찰기구는 데이터의 전송이 각각의 구획이 준비되어 있을 때에만 실행되도록 한다.
카운터(121)은 BTDM인터페이스에서 L1_LSOF(프레임이 최후의 슬롯) 또는 L1_BOS(슬롯의 처음) 지시를 수령하면 즉시 리세트되며, L1-BOS 지시는 현재의 슬롯의 끝 및 다음의 슬롯의 처음에 가까이 있다는 것을 나타낸다. (IDLC의 다른 용도 환경에서) 지속시간이 다른 타임 슬롯의 범위에 적용시키기 위해서, 카운터 (121)는 그 범위내에서의 오버플로를 방지한다.
2개의 레지스터 및 1개의 6비트 카운터를 포함하는 슬롯발생논리(122)는 BTDM인터페이스에 나타나는 타임 슬롯과 IDLC의 처리 채널과의 사이의 관련을 결정한다, IDLC에 있어서의 하이퍼 채널의 맵핑이 가변이므로, BTDM에서의 개개의 타임 슬롯은 개개의 채널에 대하여 동일하게 맵하지 않는 경우가 있다.(즉, 어느 채널에 대해서 슬롯 맵핑은 다수 대 1이다). 논리(122)는 BTDM인터페이스에서 상태논리 (123)으로부터의 맵핑제어입력과 함께 L1-SOF 및 L1_BOS지시를 수령하고, 현재의 채널/슬롯관계를 나타내는 출력을 논리(123)에 공급한다. 논리(122)에 있어서의 카운터의 증가 및 관련하는 하이퍼 채널의 맵핑은 적어도 부분적으로 CCR(115)내의 CT(채널형식) 필드에서 조정된 논리(123)내의 어드래스 발생기능에 의해 결정된다.
슬롯발생논리(122)는 또 5비트 타임 슬롯 지시기 RSM_TS1, 5비트의 H0 지시 RSM_DMARQ H0 및 4비트의 H1 지시 RSM_DMARQ H1을 포함하는 3개의 지시를 DMARQ 구획에 지시한다. TS1 지시는 동기부에서 현재 처리되고 있는 채널과 관련하는 BTDM 타일 슬롯을 구별한다. H0 및 H1의 지지는 논리의 슬롯과 H0 형식과 H1 형식과의 하이퍼 채널관련을 식별하기위해 사용된다.(상기 CCR 필그의 설명 및 다음의 DMARQ 및 하이퍼 채널의 설명 참조).
7.3.1 RSM 어드레스논리 및 상태기구
상태기구논리(123)은 설명하는 바와 같은 관련출력효과를 갖는 하기 상태를 통해서 일련의 동작을 한다. TSR 폐치동작에 대해서 폐치된 데이터에는 각각의 페치를 개시한 상태후 2상태 사이클을 액세스 가능하다는 것에 주목해야 한다.
상태 30(초기상태) :
BTDM IF로부터의 슬롯 천이지시(L1_BOS 또는 L1_LSOF)를 대기하고, 내부모드값(RSM의 현재의 동작모드를 규정하는 값)의 갱신의 여부를 판단한다. 모드값은 다음의 슬롯 카운터가 0일 때에만 샘플되고 갱신되므로, RSM ISDN 프레임의 중간에서 리세트모드(SIO/호스트에 의해 설정)를 동작완료하는 것이다. 이 상태사이클에서 카운터(121)이 리세트되고, RSM 레지스터 및 TSR로의 SIO의 액세스가 가능하면 된다. L1 지시 후, 다음의 상태천이는 현재 모드의 기능이다. ″리세트″모드이면 천이는 진행되지 않는다. ″진단모드(dignostic mode)″이면, 다음의 상태는 상태 2이다. ″통상모드(normal mode)″(리세트모드도 아니고 진단모드도 아님)이면, 다음의 상태는 상태 0이다.
상태 0(CCR의 리드) :
TSR로의 액세스제어가 작동되고 다음의 타임 슬롯에 관련하는 채널에 대한 CCR을 페치한다. 이것은 실제로는 CCR이 작은 부분만, 특히 3비트의 채널형식 필드 CT이 래치되고 RSM에 의해 사용되는 예비 패치다. 이 정보는 다음의 채널이 활성인지를 판정하도록 논리를 사용가능하게 하기위해서만 사용된다. 앞서 설명한 바와 같이, 이것 및 다른 폐치동작에 의해 폐치된 정보는 폐치가 개시된 후 2상태사이클 또는 2내부 클럭사이클 후 까지 RSM에서 이용할 수 없다. TSR로의 이것 및 다른 RSM 액세스에 있어서, RSM_LOCK_UP는 TSR로 선제액세스할 것을 표명한다. RSM은 TSR_ACK가 되돌아오면 TSR로의 그 인터페이스를 효과적으로 총합 제어하고, RSM은 SIO 인터페이스 없이 필요한 액세스동작을 실행할 수 있다. TSR로의 이것 및 다른 페치 액세스에 있어서, RSM_TSR_RD_WR 및 RSM_REQ가 표명되고, 후자는 동작을 페치/리드로서 구별한다. 이 상태는 TSR_ACK가 활성으로 될 때까지 유지되고, 그 시점에서 다음의 상태, 상태 23으로 들어간다.
상태 23(CCR 리드 대기 상태) :
이것은 TSR의 단일리드를 위해 대기상태로서, 이 기간중에 서비스되어야 할 다음의 채널에 대한 CCR이 TSR에서 TSR_DATA 버스로 리드된다.(페치된 데이터를 이용하기 위해서는 현재의 페치개시부터 2상태 사이클 지연시키는 것에 주목할 것). 다음의 상태는 상태 31이다.
상태 31(예비 CCR 레지스터로 로드) :
TSR_DATA에 나타나는 CCR 워드의 CT 필드가 상태기구논리내의 ″예비CCR″레지스터로 래치된다. TSR에서의 모든 데이터 페치와 같이, 패리티가 패리타 체크회로(120)에 의해 체크된다. 회로(120)으로부터의 패리티에서출력은 INT 구획에 입력되고, 기수 또는 우수의 슬롯기간(TSR_PARITY_ERROR_ODD 또는 TSR_PARITY_ERROR _EVEN)중에서 발생되는 동안 구별된다. INT의 활동에 의해 연속슬롯의 부분이 다른 구획의 관련활동에 대해서 접속되므로, 이 구별은 정정 채널/슬롯과 에러가 관련되도록, INT하는데 필요하다. 다음의 상태는 상태 25이다.
상태 25(하이퍼 채널 맵핑상태) :
예비 CCR 래치가 조사되고, RSM은 예비 CCR의 채널형식(CT) 비트에 따라서 TSR을 어드레스하도록 그 자신을 조절한다. 예를 들면, 어느 채널은 하나의 BTDM타임 슬롯(통상 B 및 D형식의 채널 및 음성 채널)에서 처리되며, 다른 채널(하이퍼 채널)은 여러개의 타임 슬롯에 걸쳐진다. 따라서 예비 CCR의 사용가능 비트는 채널이 활성인지 아닌지를 구별하고, 비활성 채널에 대해서 상태파라미터를 유지하고 로드하는 동작이 억제되고, 이것에 의해 TSR이 다른 목적(예를 들어 SIO 데이터의 IOP/호스트 복합체와의 사이의 전송)을 위해 액세스될 수 있다. 이 상태에서 논리는 사이클 카운터(121)에서 공급된 정보에 따라서 L1 BOS 또는 L1_LSOF를 수령하며(29), 내부클럭사이클이 경과할때까지 대기하고, 다음의 상태, 상태 2로 들어간다.
상태 2(TFM_TS01 상태의 저장) :
이전의 채널(BTDM 지시 전에 유효였던 슬롯과 관련있는 채널)이 활성이면, TSR로의 라이트 액세스에 대한 제어가 작동되고(RSM_LOCK_UP 및 RSM_TSR_RD_WR), TFM의 최초의 상태워드가 제시되고, 이전의 채널에 관련하는 TSR내의 채널 어드레스공간에 대해서 유지된다. 이것 및 다른 ″시간교환″요소상태워드에 관해서는 각 워드내의 필드의 설명 및 각각의 요소 및 INT에 대한 각각의 사용법에 대해서 각각의 요소의 하기 설명을 참조하기 바란다. 상태논리는 TSR로부터의 승인(TSR_RSM _ACK)의 출현을 대기하고, TFM, TV 및 TL1로부터의 종료신호가 모두 그 시간에 의해 표명된다. 요소상태워드의 저장은 현재의 BTDM IF 슬롯의 다른 단계에서 동적으로 실행되며, 그 슬롯은 활성 채널과 관련하고 있고, 관련 CCR의 각각의 TDE 비트는 사용가능하게 되어 있는 경우이다. TFM 상태워드의 보존에 있어서 부가적인 조건은 DCB 체인상태의 종료 또는 FIFO 패리티에러가 TFM내에서 발생하고 있지 않다는 것이다. 다음의 상태는 상태 4이다.
상태 4(TV_TS01 상태의 저장)
이 상태 및 다음의 상태에서는 TSR_RSM_LOCK_UP으로의 라이트 액세스의 호출이 표명되고 있고, TSM이(SIO를 제외한 RSM에 대해서) 완전하게 선제하고 있다. 이전의 채널이 활성이고 또한 관련 CCR의 비트 TE가 유효하면, 전달요소 TV의 최로의 상태변수가 보존된다. CCR의 TE 및 TDE는 특히 IOP의 지휘하에서 동작하는 SIO가 각각의 TSR 위치에 있는 송수신요구로부터 시기가 어긋난 상태정보를 갖는 갱신값의 RSM으로의 오버라이트 없이 갱신할 수 있도록 마련되어 있다. 다음의 상태는 상태 6이다.
상태 6(TL1_TS01의 저장) :
제 3의 전송변수, TL1_TS01이 관련 CCR내의 TE 비트를 사용할 수 있는 경우에 저장된다. 다음의 상태는 상태 7이다.
상태 7(RSR_TL1_TS01의 페치) :
다음의 채널이 활성이면, TSR의 적절한 어드레싱에 의해 RSM_LOCK_UP 및TSM_REQ가 표명되고, 그 채널(TL1_TS01)에 대해서 TL1의 최초의 상태변수를 페치하는 처리가 TSR에 대해서 개시된다. TSR의 리드에서 현재 허용되고 있는 2사이클의 지연 때문에 페치라는 이 상태에서 개시되지만, 각각의 데이터는 이 상태후 2상태까지 TSR_DATA 버스상에서 유효하게 되지 않는다. 다음의 상태는 상태 5이다.
상태 5(TSR_TV_TS01의 페치) :
이것은 다음의 채널이 활성이면, TSR에 대해서 다음의 채널에 관련하는 TV의 상태변수를 페치하는 처리를 개시한다. 다음의 상태는 상태 3이다.
상태 3(TFM_TS01의 페치/TSR_TL1_TS01의 로드)
다음의 채널이 활성이면, 이것은 2상태 사이클전에 페치된 상태변수를 로드하기 위해 TL1에 대해 로드신호를 표명하며, 그 채널에 대한 TFM의 최초의 상태변수를 페치를 개시한다. 로드되고 있는 데이터는 버스(126)상에 나타나고, 그 데이터의 패리티 체크가 RSM 논리(120)에 의해 실행된다. 패리티에러에 관하여 적절한 지시가 이전에 설명한 바와 같이 INT에 제시된다. 다음의 상태는 상태 9이다.
상태 9(HPCR의 페치, TV의 로드)
다음의 채널이 HDLC프로토콜 구성항목을 HPCR레지스터로 페치하고, 상태 5(RSM_TV_LOAD의 표명)에서 페치된 상태변수를 TV에 로드한다. TV_TS01의 패리티가 체크되고, 수신측 종료신호(RFM, RV, RL1)이 확인된다. 발생하는 모든 제외조건이 INT에 의해 동기해서 확실하게 기록되도록 하기 위해, INT가 각 슬롯내의 송수신 요소보다 빠르게 시동되고, 길게 동작하는 것이 주목할 것이다. 다음의 상태는 상태 1이다.
상태 1(CCR의 페치, TFM의 로드)
2개의 이유로 CCR이 재리드된다(상태 0참조). 첫 번째 이유는 소요의 하이퍼 채널 맵핑을 처리하는 것이고, 두 번셉 이유는 예비 CCR래지스터에서 이용할 수 없는 비트를 페치하는 것이다(상기에서 설명한 바와 같이, 이전의 예비 CCR 페치에는 채널형식 필드만의 추출 및 사용이 포함되어 있으므로, 효율을 좋게하기 위해 예비 CCR 레지스터를 완전한 CCR 표현이 아니고 형식필드에 맞춰 특별히 제작한다). 하이퍼 채널의 재맵핑에 관해서, 하이퍼 채널은 여러개의 BTDM 타임 슬롯으로 확장되어 있고, TFM에(이전에 액세스된 TFM_TS01을) 로드하는 신호RSM_TFM_LOAD)가 표명되고, 로드되고 있는 변수의 패리티가 체크된다. 다음의 상태는 상태 28이다.
상태 28(대시상태/HPDR의 로드)
이것은 주회할 칩외부의 드라이버를 고려한 대기상태이다. 종합변수 HPCR을 RSM 레지스터(116)으로 로드하는 신호가 표명되고, 그 파라미터의 패리티가 체크된다. 다음의 상태는 상태(22)이다.
상태 22(EOPISR의 저장/CCR의 로드)
이 상태에 의해 INT는 그 종료신호(INT_DONE)를 표명하고 있어야 하고, 만일 이러한 표명을 하고 있으면, INT가 SIO를 경유하는 IOP 액세스에 이용할 수 있도록 되는 관련된 채널의 깊이 16의 큐(제 6도 참조)에 대해서 새로운 EOPIS 상태(처리 종료 인터럽트 상태)를 제시하고 있어야 한다. 종료가 표명되고 있지 않으면, 논리 타임아웃 에러가 제시되고, 처리가 계속된다. 이전의 채널(현재 종료한 채널)이 활성이었고 또한 관련하는 EOP 유효비트가 설정되어 있으면, EOPIS가 게시된다.(이하의 INT의 설명 참조). 패리티가 체크되기 전의 임의 상태에서 에러가 검출되면 페리티에러의 발생이 INT로 통지되는 것에 주목할 것이며, 각각의 수신지요소의 관련된 채널에 대한 처리구간에 선행 또는 일치하는 경우가 있는 시간 및 이시간관계가 각각의 PARITY_ERROR_ODD 또는 PARITY_ERROR_EVEN의 지시를 표명하는 것에 의해 INT에 나타난다. 이와 같은 방법에서의 EOPISR의 게 게시는 하드웨어 에러에 관련하는 인터럽트 상태 벡터CEISR(채널화 에러 인터럽트 상태 백터)가(호스트 시스템으로의 용장의 에러보고를 피하기 위해) 임의의 채널에 대해서 확실하게 1회이고 또 1회만 게시하는데 필요하다. CCR을 RSM의 레지스터(115)로 로드하는 신호가 표명되고, CCR변수의 패리티가 체크된다. 다음의 상태는 상태(12)이다.
상태 12(INT_TS01의 저장)
INT에 대한 상태변수는 이전의 채널(종료)이 활성 또는 패리티에러가 그 채널에 대하여 발생하는 경우 저장된다. 이것은 요소내의 하드웨어의 고장에 관련하지만 패리티에러에 의해 반복하여 표시되는 인터럽트가 호스트 시스템에 대하여 확실하게 1회이고 또 1회만 발생하는데 필요하다.(상태 22참조). 다음의 상태는 상태13이다.
상태 13(TSR_INT_TS01의 페치)
새로운 채널이 활성 또는 그 채널에 대한 예비 CCR 페치 조작으로 이전에 패리티 에러가 발생해 있으면, INT에 대한 관련상태변수가 페치된다. 다시, 이것은 INT가 슬롯 연쇄기간중에 반복되는 에러에 대해서 확실하게 1개만의 인터럽트를 등록하도록 한다. 다음의 상태는 상태 29이다.
상태 29(대기상태)
칩외부 드라이버를 주회시키는 대기상태, 다음의 상태는 상태 14이다.
상태 14(RV_TS01의 저장/TSR_INT_TS01의 로드)
이것은 이전의 채널에 대한 수신요소상태를 보존하는 제 1의 상태이다. 그 채널이 활성이고 또한 수신이 그 CCR에서 유효(RE비트가 온)였다고 하면, RV의 각각의 상태가 적절한 어드레스 및 선택기능과 함께 TSR로 보내진다. 이 상태는(이하의 RV의 설명 참조)이전의 채널에 대해서 RV에 의해 보존된 CCR비트 RE 및 RDE의 상태를 나타내는 비트가 있다, (이것은 다음의 채널의 CCR이 로드되었으므로 필요하다). INT상태워드에 대한 로드신호가 표명되고, 그 워드의 패리티가 체크된다. 다음의 상태는 상태16이다.
상태 16(RL1_TS01의 저장)
이 상태에서 다음의 채널이 활성 또는 현재의 상태연쇄 이전의 상태에서 패리티에러가 발생한 경우에는 INT구획에 대한 개시펄스가 표명된다. 최후의 채널에 대한 RL1을 위한 상태워드는 채널이 활성이고 또한 그 CCW내에 유효수신비트 RE가 있는 경우 TSR에 저장된다. 다음의 상태는 상태 18이다.
상태 18(RFM_TS01의 저장)
이전의 채널이 활성이고 그 CCR RDE 비트가 유효였던 경우의 이전이 채널에 대한 RFM상태를 저장한다. 다음의 상태는 상태 20이다.
상태 20(REM_TS02의 저장)
이전의 채널이 활성이고 RDE가 유효인 경우, RFM에 대한 제2의 상태워드를 저장한다. 다음의 상태는 상태10이다.
상태 10(RV_TS02의 저장)
이전의 채널이 활성이고 또 RE비트가 유효인 경우, RV에 대한 제2의 상태워드를 저장한다. 다음의 채널이 활성이고 또한 패리티에러가 발생해 있지 않으면, 요소를 전달하는 개시펄스(RSM_XMIT_START)가 표명된다, 다음의 상태는 상태11이다.
상태 11(TSR_RV_TS02의 페치)
다음의 채널이 활서이면 RV에 대한 다음의 상태가 페치된다. 다음의 상태는 상태 21이다.
상태 21(TSR_RFM)TS01의 페치)
다음의 채널이 활성이면 RFM에 대한 WP1의 상태워드가 호출된다. 다음의 상태는 상태 19이다.
상태 19(TSR_RFM_TS02의 페치/RV에 TS01을 로드)
다음의 채널이 활성이면 RFM에 대한 제2의 상태워드가 페치되고, 채널이 활성이면 제2의 상태워드가 RV에 로드되고, 패리티가 체크된다. 다음의 상태는 상태 17이다.
상태 17(RL1 상태의 패치/RFM의 로드)
다음의 채널이 활성이면 RL1에 대한 상태워드가 페치되고, RFM에 대한 제1의 상태워드가 RSM에 로드되고, 패리티가 체크된다. 다음의 상태는 상태 15이다.
상태 15(제 1의 RV상태의 페치/제 2의 RFM 상태의 로드)
다음의 채널이 활성이면 RV에 대한 제1의 상태워드(TSR_RV_TS01)이 페치되고, 제2의 상태워드가 RFM에 로드되고, 그 패리티가 체크된다. 다음의 상태는 상태 26이다.
상태 26(RL1의 로드)
다음의 채널이 활성이면 RL1에 대한 제1의 상태워드가 로드되고, 패리티가 체크된다. 다음의 상태는 상태 27이다.
상태 27(RV1의 로드)
채널이 활성이면 제1의 상태워드(TSR_RV_TS01)을 RV로 로드하고, 그 워드의 패리티를 체크한다. 다음의 상태는 상태 24이다.
상태 24(수신개시)
이것은 연쇄의 최후의 상태이다. L1_LSOF 또는 L1_BOS의 수령시 다음의 슬롯이 이전의 슬롯으로 되므로, 슬롯발생논리는 이들의 1개가 나타났을 때 그 레지스터를 갱신하도록 조절된다. 현재의 채널이 활성이고 또한 패리티에러가 페치시에 발생하고 있지 않으면, 수신개시(RSM_RCV_-START)가 표명된다. 다음의 상태는 초기상태 30이다.
상태허위(에러상태)
이것은 상태논리에 하드웨어 에러가 발생한 것에 의해서만 들어갈 수 있는 금지상태이다. 이 상태에 도달하면 하드웨어 에러지시 RSM_ERROR_STATE가 INT에 대해서 표명되고, 상태30에서 계속 동작하는 것에 의해서 회복이 시도된다.
8. BTDM 인터페이스
버스트 시분할 다중(BTDM)인터페이스(IF)에서의 선로, 신호교환 및 동작의 방법에 대해 제13도-제15도의 타이밍도를 사용해서 설명한다. 이 인터페이스에 관련되지만 현재 주장하고 있는 주제사항에 관련한다고는 고려되지 않는 특정의 L1회로의 설명은 앞서 인용한 제목 ″총합 데이터링크 제어기에 대한 버스트시분할 다중 인터페이스″인 동시 계속중인 상호참조출워서에 기술되어 있다. 상기 출원서 및 그 관련된 설명을 참조하여 삽입한다. 이후는 간단히 하기 위해, BTDM인터페이스를 단순히 ″BTDM″ 또는 ″인터페이스″라 한다.
BTDM은 국제표준기구(ISO)의 개방시스템 상호접속(OSI) 사양에 의해 규정되어 있는 레이어 1과 레이어 2의 처리사이를 정확하게 기능적 및 논리적으로 차단한다. 레이어2의 처리는 전체 또는 일부를 본 발명의 IDLC 장치의 내부에서 실행할 수 있다(ISDN의 기본속도환경에 대한 현재 설명중인 실시예에 있어서는 다수이기는 하지만 전부는 아닌 레이어 2 기능이 IDLC에 의해 실행되지만, 다른 레이어 2의 기능적 책임은 IOP또는 호스트 시스탬에서 고려해야 한다.)
BTDM 그 자신은 OSI에 의해 규정되어 있지도 않거나 또는 고려되어 있지도 않다. 오히려, BTDM은 레이어 1의 하드웨어와 레이어 2의 하드웨어 사이에서 IDLC의 현재 필요로 하는 처리량을 ISDN의 대표적인 기본속도환경의 범위내 및 그것을 초과해서 달성할 수 있도록 기능을 전송하는 타이밍을 형성하는 독특한 방법을 구성하기 위해 현재 고려하고 있는 것을 나타내고 있다.
BTDM은 IDLC와 L1 회로 사이에서 데이터를 고속으로(최대 매초 2.048메가비트 전이중으로) 전송하는 어느쪽의 소수의 선로(6)을 사용한다. BTDM은 이와 같은 전송에 모범적인 ISDN 기본속도환경에서 적응하는데 필요한 유연성을 구비하며, 예를 들어 32개의 전이중 B형식 채널에 대해서 각 채널에서의 데이터 전송속도는 각 방향으로 최대 64kbps이다.
물론, L1 회로가 결합하고 있는 특정의 네트워크 또는 미디어에 의해 이러한 회로가 다양한 상태를 취할 수 있다는 것을 이해할 수 있다. 현재 관련하는 것중에는 BTDM의 특정 신호, 신호타이밍 및 신호위상특성을 지지하는데 필여한 이들 회로의 일반적 구성이 있다. 그 일반적 구성에 대해서는 상술한 동기 계속중인 특허출원서에 완전하게 설명되어 있고, 현재 청구하는 사항에는 관계하고 있지 않다. 따라서, 여기에서는 관련된 회로기능에 대해서만 설명한다.
이 인터페이스는 L1 하드웨어에 채널당 0∼64kbps 전이중의 슬롯에 의해 데이터 속도를 제어하도록 하고, 이것에 의해 음성/클리어 채널, B형 채널 및 보다 저속인 D형 채널(채널당 16kbps 전이중), M형 채널 및 S형 채널 이외에 여러개의 B형 채널의 타임 슬롯 용량을 집합해서 형성한 하이퍼 채널(하이퍼 채널에 대한 후의 설명 참조)에도 적응시키도록 한다. 또, 인터페이스의 전송타이밍의 유연성은 슬롯 및 프레임의 접속시간의 지속시간의 변동을 동적으로 고려해서 필요한 통신 트래픽의 변동에 견디도록 되어 있다.
L1 프로토콜로서 ISDN의 기본속도 및 ISDN의 기초속도의 양쪽 및 주요 L2 프로토콜로서 HDLC를 지지하는데 적합하도록 마련되었지만, BTDM은 이들 프로토콜에 한정되는 것은 아니다. 그 때문에 BTDM은 OSI 또는 IBM에 의해 규정된 다른 L1, L2 프로토콜(예를 들어 Async 또는 Bisync)를 지지하는데 사용할 수 있고, 어떤 채널에 의한 부호화음성의 전송에 적응시키는데 적합한 속도 및 특성을 구비하고 있다.
인터페이스 데이터 전송신호는 각 채널 타임 슬롯내에 시간이 짧은 지속시간창을 점유하는 예리한 압축된 버스트에 의해 실행된다. 전송 및 수신의 전송은 동시에 실행된다. 버스트 사이의 ″무효시간″은 세트업 시간이라고도 불려지며, IDLC에서 실행되는 채널처리 및 상태교환 기능의 효율을 최적화하도록 설계되어 있고, 멀티 채널 통신서비스에 필요한 LSI 회로의 셀 카운트를 본질적으로 최소로 함과 동시에 IDLC에서 채널당 필요한 버퍼기억장치의 용량을 최소로 한다고 믿어지고 있다.
이 인터페이스는 레이어된 프로토콜(OSI 및 SNA)하에서 국부와 원격과의 칩 모듈 사이에서 데이터를 전송하는데 사용할 수 있는 방법에 있어서 고속인 유연성을 구비하고, IDLC와 다양한 L1 회로와 같은 레이어 2 장치 사이의 HDLC포맷에 의한 시분할 다중(TCM) 채널화 데이터의 전송을 용이하게 한다.
이 인터페이스는 지속시간 ″Z″의 채널마다 TDM 타임 슬롯에서 전이중의 데이터의 ″Y″비트를 각각 전송할 수 있고, ″X″ TDM 데이터 채널을 지지하며, 여기서 ″X″는 1∼32의 범위로 할 수 있고, ″Y″는 0∼8의 범위로 할 수 있고, ″Z″는 최소 3.8마이크로초이고, ″X″×″Y″는 125마이크로초 이하이다. 상기한 특징은 ISDN 유럽 사양에 맞춰서 특별히 설계된 것이고, 특히 ISDN 북미 사양에 특별히 설계된 실시예에서 ″X″는 1∼25의 범위로 해야하고, ″Y″는 B형 및 D형의 채널에 대해서 0∼8의 범위로 해야하고, ″Z″는 마찬가지로 3.8마이크로초로 해야한다는 것이 주목할 점이다.
상술한 파라미터에 관해서 이들은 현재 의도하고 있는 ISDN 환경에 맞춰 특별 설계되어 있는 것이 주의할 점이다. 다른 환경에서는 X 및 Z의 지시한계에 대한(슬롯창 당 전송가능한 비트)의 범위는 곤란없이 16까지 증가할 수 있다. 현재의 BTDM 실시예는 단일 L1회로 유니트를 단일 IDLC형의 장치와 결합하기 위해 특별히 설계되어 있는 것이지만, 동일한 인터페이스설계를 여러개의 L1 회로모듈을 단일의 IDLC 장치 또는 여러개의 IDLC 장치에도 결합시키는데 사용할 수 있다.
관련특허출원서에 더욱 상세하게 설명되어 있는 인터페이스의 특징은 모든 채널에서의 동작 ″정의 슬립(positive slip)″이라고 불리는 것이다. 인터페이스의 타이밍은 현재 L1 회로내의 특정의 요소에 의해 정상동작 조건하에서 내부 L1 클럭과 원격네트워크 노드 사이의 클럭의 드리프트에 의한 오버런 및 언더런(L1에서 IDLC로의 수신데이타의 전송에 관련하는 언더런)의 가능성이 효과적으로 제거되거나 또는 적어도 최소한으로 되도록 조절되어 있다. 다른 시간의 존 인터페이스에서는 때때로 예상되고 또한 게시된 에러지시 및 호스트 개시 프레임 재전송에 의해 처리되도록 간헐적인 스립효과르 발생하는 것은 클럭의 드리프트에 있어서는 정상이라고 고려되고 있다. 이러한 에러의 게시 및 제전송은 명백하게 호스트 시스템의 처리시간에 있어서 불필요하고, 인터페이스의 대역폭을 낭비하거나 또는 그 사용을 제한하기는 하지만, 정의 슬립 동작에 의해 효과적으로 제거하거나 또는 가능한 한 적게할 수 있다.
BTDM은 제13도 및 제14도에 도시한 상대신호 타이밍을 갖는 데이터선 및 제어선을 구비하고 있다. 단 일선로, RDATA 및 TDATA는 각각 수신데이타 및 전송데이타(L1에서 IDLC로의 수신데이타, IDLC에서 L1로의 전송데이타)를 운반한다. 제어서 LSOF 및 BOS는 TDM 타임 프레임 및 타임 슬럿에 대해 각각 시간의 ″프레임의 최후의 슬롯″ 및 ″슬롯의 개시″점을 나타내는 기준타이밍 펄스를 L1에서 IDLC로 전송한다. LSOF는 최후의 프레임 슬롯에 대한 슬롯지시의 개시임과 동시에 프레임 지시의 전진단이다. LSOF 및 BOS에 관한 펄스의 지속시간은 50나노초 측 1(IDLC, L1)기계 클럭 사이클이다. 각 프레임 슬롯은 통신 채널에 할당할 수 있고, 각 통신 채널에는 프레임당 1개 이상의 슬롯을 동적으로 할달할 수 있다, 활성인 B, D 채널 및 클리어/음성 채널은 각각 프레임당 1슬롯을 할당받고, 수개의 슬롯(반드시 시간적으로 연속하고 있지는 않다)을 1개의 하이퍼 채널에 일괄해서 할당할 수 있다(다음의 하이퍼 채널의 설명 참조).
각 슬롯 기간중 송수신데이타의 전송은 800나노/초 내의 ″창″중에서 비트직렬로 발생한다. 수신데이타용 창은 다음의 슬롯의 개시를 나타내는 BOS 펄스보다 800나노초 전에 개시하고, 그 펄스보다 50나노초 전에 종료한다. 전송데이타용 창은 수신창과 동일한 시가에 개시하지만, 전송요구 및 대응하는 전송비트의 전송의 위상을 위해 다음의 BOS 지시와 거의 일치해서 종료한다.
각 비트는 L1측으로부터 각각의 펄스(L1에 의해 전송되는 각 수신비트에 따른 RDATA_VALID 펄스 및 IDLC 요소 TL1에 의해 전송되는 각 전송비트에 대해서 표명되는 TDATA_REQ 펄스)에 의해 규정되는 100나노초의 시간간격내에 전송된다. 어떤 슬롯 시간중이라도 각 방향으로 전송되는 비트의 수(즉, L1회로에 의해 제시되는 ″RDATA_VALID 펄스 및 TDATA_REQ 펄스의 수)는 가변이고(현재의 ISDN의 환경에서는 0에서 8까지이다), 이 가변성에 의해 L1은 상술한 정의 슬립동작을 달성하도록 그 송수신 버퍼를 조정할 수 있다.
슬롯 간격의 나머지, 즉 지속시간에서 적어도 2.95마이크로초는 ″세트업″시간이고, IDLC에 이전에 슬롯(각각의 전송에 계속되는 BOS 펄스이전의 슬롯)에서 수신한 데이터의 필요 최소한의 모든 처리를 완료시키고, 다음의 슬롯(전송창 후의 다음의 BOS와 함께 개시)에 대해서 채널상태교환을 실행시키고, 다음의 슬롯에 관련하는 채널 및 전송창에 대해서 전송데이타의 필요 최소한의 모든 처리를 완료시킨다.
유럽 ISDN 속도(매초 2.048메가비트)에 대한 논리적(공칭) 슬롯 지속시간은 3.91마이크로초이지만, 본 발명의 인터페이스에서의 지속시간은 약간 짧은 시간(최소한 3.8마이크로초)으로 유지되며, 즉, BTDM에서의 슬롯 속도는 국부 L1 클럭과 원격클럭 사이의 ″최악의 경우의 드리프트″를 고려해서 회로인터페이스에서 예상되는 공칭 슬롯 속도보다 약간 크다. 이 ″전진 슬롯 속도″의 유지 및 슬롯당 전송되는 비트수의 L1 레벨의 조정은 정의 슬립동작을 유효하게 실행하며, 즉 L1측에서의 송수신버퍼(채널당 2바이트의 각각에서의 최소한의 용량을 갖는다)가 내부 L1 클럭과 네트워크측 클럭 사이의 클럭의 드리프트에 의한 오버플로 및 언더플로가 확실하게 발생하지 않도록 한다. IDLC측에서는 송수신 파이프라인내의 처리의 속도 및 DMAC의 IOP 기억장치로의 액세스의 최악의 경우의 예상속도는 정의 슬립제어를 위해 L1에 의해 설정된 보조를 맞추기에 적합한 능력 이상을 확보하도록 설계되어 있다.
제15도는 BTDM 데이터 비트클럭기능 TDATA_REQ 및 RDATA_VALID의 발생에 관련하는 내부 L1클럭, C1_CLOCK 및 B2_CLOCK의 타이밍을 나타낸다. C1은 마스터클럭이고, B2는 (C1에서 얻어지는) 슬레이브클럭이다. 각 내부클럭펄스의 지속시간은 20나노초(ns)이다. 연속하는 C1 펄스 및 C2 펄스는 서로 중첩하지 않고, B2의 개시는 약 5nS의 ″보호″스페이스에서 직전의 C1의 종료에 계속된다. L1에서의 각 기계사이클(50sn)은 B2 펄스의 상승과 함께 시작되고, 4클럭위상으로 구성되며, 1개는 B2 펄스의 지속시간에 관련하고, 또 하나는 그 B2의 종료부터 다음의 C1의 상승까지의 시간간격에 관여하고, 3번째는 그 C1 펄스의 지속시간에 관련하고, 4번째는 그의 C1부터 다음의 B2의 상승까지의 보호스페이스와 관련한다.
송수신비트의 전송은 승인되지 않는다. IDLC는 ″****″으로 표시되는 RDATA_VALID의 소정의 위상에서 수신데이타비트를 래치하고 ″****″으로 표시되는 TDATA_REQ의 소정의 위상에서 비트전송의 L1요구를 래치할 것을 요구받는다. L1은 IDLC에 의해 제시되는 전송데이타비트를 ″####″으로 표시되는 TDATA의 소정의 위상에서 래치해야 한다.
상기 데이터선 및 제한선 이외에 다수의 선이 BTDM에 관련하는 것으로서 표시되어 있지만, 실체로는 L1회로를 IOP/호스트 시스템에 결합하는 선이며, 어느것은 IOP버스에 직접 접속하고, 다른 것은 IDLC의 SIO 요구를 통해서 간접적으로 IOP버스에 접속한다. 이들의 선에 의해 IOP는 L1회로의 시동을 직접 제어하고, 이들 회로에서 직접 인터럽트 상태정보를 추출할 수 있다. 이들 선의 명칭 및 기능을 이하에 기술한다.
[표 2a]
[표 2b]
9. 수신레지스터 및 수신논리요소
수신요소는 RL1, RV 및 RFM이다. 이 장에서는 요소 RL1 및 RV에 대해서 기술하고 또한 각 요소내의 레지스터 및 상태기계 논리에 대해서 설명한다.
9.1 RL1의 기능
RL1은 BTDM에서 데이터신호를 수신하기 위해 BTDM 인터페이스와 RV 사이를 인터페이스하고, 데이터신호를 부분적으로 처리하고 그 결과의 신호를 RV로 전달한다.
RL1의 기능은 다음과 같다.
1) 수신데이타의 직렬해제. 활성 채널내의 데이터가 BTDM에서 채널 타임 슬롯당 0∼8비트의 버스트로 비트직렬로 수신된다. 데이터는 8비트 바이트로 직렬을 해제되고, RL1에서 부분적으로 처리되고, 또 비트 병렬처리를 위해 RV로 보낸다.
2) 프로토콜 특정제어 문자 및 신호패턴의 검출 및 해제. 프로토콜 지향의 데이터(예를 들면 HDLC)를 운반하는 채널에 있어서, 프레임 플래그, 아이들과 종단신호 패턴이 검출되고 제거된다(RV로 전달되지 않는다). RL1에 의해서 유지되는 수신비트 카운트는 그와 같은 제거를 감안해서 조절된다.
3) 투명비트의 검출 및 제거. 어느 데이터 바이트가 제어문자 또는 메시지간 패턴으로서 잘못 해석되는 것을 방지하기 위해 데이터에 원격적으로 삽입된(스터프) 비트가 검출되어 제거 또는 디스터프된다.(RV로 전달되지 않는다). RL1에 의해서 유지되는 수신비트 카운트는 그와 같은 제거를 감안해서 조절된다.
4) 프레임 수신상태와 HDLC 프레임 플래그와 중단패턴 및 아이들패턴과 같은 프로토콜 특유 제어기능의 수신에 INT 요소경보를 위해 지시기를 설정.
5) 중단은폐. RL1은(SIO_RSM 및 TSR를 거쳐서 호스트/IOP에 의해) 프레임의 외측의 중단패턴의 검출을 선택적으로 은폐하도록 동적으로 조절할 수 있고, 이것에 의해 이러한 검출과 관련하는 불필요한 인터럽트를 제거하는 유연한 호스트프로그램을 마련할 수 있다.
6) 옥택트 정열체크, 프레임 페쇄플래그를 검출 즉시, RL1은 옥택트 정열체크를 실행하고, 제거(디스터프)된 수에 대해 조정 및 수신한 비트의 최종수(디스터프된)가 8의 배수를 나타내고 있는 것을 확인한다.
7) 프로토콜 특유 패턴내의 공유기호의 검출/삭제. 전송된 비트의 총수를 저감하도록 연속하는 플래그(011111101111110) 사이에 공유 0을 사용하고 있는 HDLC의 근원에 대해서, RL1은 이러한 플래그를 검출하고 삭제할 책임이 있고, 적절한 프레임 상태의 지시를 설정한다. 1개의 프레임의 종료 및 다른 프레임의 개시를 나타내도록 프레임간에 1개의 공유 플래그를 사용하는 HDLC의 근원에 대해서, RL1은 또 이러한 플래그를 구별하여 적절한 프레임 상태의 지시를 설정할 책임을 갖는다.
8) 데이터의 반전. RL1은 반전데이타 프로토콜(예를 들어, 반전 HDLC)의 수신을 지지하고, 반전형태로 수신한 플래그문자, 아이들패턴 및 중단패턴의 검출, 해제 및 지시의 책임을 갖는다.
9.2 RL1의 논리
제 16도∼제 18도에 있어서, RL1의 모든 동작을 제어하는 것 이외에 수신데이타에 대해서 일정한 패턴검출 기능을 실행하는 상태기계논리를 구비하고 있다. 또, RL1은 8비트의 체크레지스터(152), 8비트의 데이터 레지스터(153) 및 6비트의 서비스 레지스터(154)를 구비하고 있다. 논리(150) 및 레지스터(154)의 출력은 RL1 상태워드, RL1_TS01을 형성하며, 이것은 상태교환보존을 위해 TSM에 제시된다.
논리(150)의 특정상태의 상세한 것은 ″자율논리요소″에 관한 교차참조 동시계속 특허출원서내에 마련되어 있다. 이 상세한 설명은 현재 청구된 본 발명과는 직접 관련이 없으므로, 여기에서는 설명을 생략한다. 그러한 상세한 설명은 현재 청구된 본 발명과는 직접 관련이 없으므로, 여기에서는 설명을 생략한다. 그러한 상세한 설명의 정도는 부수적인 관련을 갖고, 동시계속출원의 대응부분을 이하 참조로써 삽입한다.
제 18도에 있어서, 시간교환상태워드 RL1_TS01은 RLCR 및 RLDR 항목인 2개의 8비트필드, RLTC인 4비트필드, RLDC인 3비트필드, RLFS인 2비트필드 및 RLSTAT인 7비트필드로 구성되어 있다. 이들 필드의 의미 및 사용기능은 다음과 같다.
[표 3]
BTDM에 의해 제시된 데이터비트(BTDM_DATA_VALID가 붙은 BTDM_DATA)는 그 제시의 클럭사이클(50ns)내에 체크레지스터(152)로 이동된다. 채널프로토콜에 따라서 이러한 데이터는 데이터 레지스터(153)로 선택적으로 이동되고 다른 처리가 이러진다.
클리어 채널에 대해서, 비트는 특별한 패턴체크없이 레지스터(153)으로 이동되고, (상태기계(153)에 의해 결정되는 것이지만) 연속의 제 8비트가 수신됨에 따라서 데이터 레지스터(153)의 병렬출력 RL1_RV DATA가 준비완료지시 RL_RV_DATA_ RDY와 함께 RV에 제시된다. 이와 같은 지시가 나타날때마다 RV는 그 제시의 클럭사이클내에 8비트를 래치해야 한다.(즉, 전송은 동기하고 있고 승인은 되지 않는다).
HDLC 또는 소정의 비트패턴의 선택적 검출, 이와 같은 패턴의 선택적 삭제 및 이와 같은 페턴의 검출과 관련된 지시의 전송을 필요로 하는 특별히 프래임된 전송프로토콜에 대해서 구성된 데이터 채널에 대해서는 RL1은 다음과 같은 동작을 실행한다.
비트는 체크레지스터(152) 및 데이터 레지스터(153)의 쌍방에 직렬로 이동되고, 각 비트가 도착함에 따라서 논리(15)은 그 비트 및 전에 수신된 7비트가 플래그(01111110)응 나타내고 있는지 판정하도록 동작한다.
이들 비트가 플래그를 나타내면, 데이터 레지스터(153)은 RV로의 전송없이 클리어되고, 또 프레임 개페상태의 판단이 이루어지고, 해당되면 RV로의 지시가 레지스터(154)에 설정된다.
각 비트를 수신함에 따라서, 논리(150)은 또 그 비트 및 그 선행 6비트가 아이들패턴 또는 중단패턴(1이 7개 이상 연속하고 있는 패턴)의 일부를 형성하고 있는지 판정한다. 이것이 검출되면, 데이터 레지스터는 RV로의 전송없이 클러이되고, 아이들상태 또는 중단상태의 지시가 RV에 대해서 설정된다. 중단 또는 아이들패턴(이것은 사실 새로운 개방플래그가 도착할 때까지 후속데이타를 무효로 한다)를 검출하고 나서, 논리(150)은 도착비트를 검사해서 플래그를 계속 검색하고, 플래그가 검출될때까지 RV로의 전송없이 데이터레지스터를 클리어하는 것에 의해 수신된 8비트군을 계속 버린다.
개방플래그의 검출후, 논리(150)은 상술한 바와 같이 플래그, 아이들패턴 및 중단패턴을 계속 체크하지만, 각 수신비트를 그 6개의 선행비트와 함께 체크해서 그 비트가 ″스터프″ 비트(0뒤에 1이 5개 연속한 것에 이어지는 0비트)이니의 확인도 실행한다. 각각의 스터프비트는 (데이타 레지스터 및 그 비트의 데이터 레지스터로의 이행을 방지하는 것에 의해) 버려지고, 이와 같이 버리고 나서 남아 있는 각 8비트군은 동기전송에 의해 RV로 전송된다. (상술한 클리어데이타의 설명 참조).
개페플래그, 아이들패턴 및 중단패턴을 검출하면, 논리(150)은 서비스 레지스터(154)에 관련지시를 설정하고, 새로운 지시를 레지스터(154)에 설정함에 따라서, 논리(150)은 레지스터의 내용을 RV에 제시한다. 레지스터(154)의 비트배치를 제17도에 더시하고, 이하에 설명한다.
제17도를 참조하면, 레지스터(154)는 IDLE, EOF, ABORT, RES 및 OCTET라는 5개의 1비트필드 및 RES라는 2비트필드 1개를 포함하는 7비트를 구비하고 있다. 3개의 RES 비트는 예비로 취해지고, 다른 비트는 활성일 때 각각의 이름에 관련하는 지시기능을 실행한다. 즉, IDLE 및 ABORT는 각각 아이들 페턴 및 중단패턴의 검출을 지시하고, EOF는 폐소(프레임의 종료)플래그의 검출을 지시하고, OCTET는 옥텍트 정열불량의 검출을 지시한다.
반전형상으로 전송된 HDLC에 대해서 동작할 때는 레지스터(152) 및 (153)의 입력에 마련된 도시하지 않는 인버터 게이트가 모든 수신비트를 반전하도록 작동된다. 따라서, 이러한 신호에 대한 논리(150)의 동작은 사실상 비반전 HDLC 신호에 대한 동작과 동일하다.
9.3 RV의 기능
RV는 데이터 및 상태정보를 RL1로부터 수신하여 CRC(순환용장체크)의 계산을 실행하고, 오버플로산태를 체크하고, 다른 상태정보를 부가해서 데이터를 RFM에 전달한다. 프레임 존단의 지시를 RL1로부터 수신하면, RV는 CRC체크결과를 RL1 및 RV의 쌍방의 상태와 함께 RFM으로 보낸다. RV는 또 수신한 데이터 프레임에 대해서 CRC내의 어드래스 인식 옵션비트 ARO(상기한 RSM의 설명 참조)에 따라 어드레스 인식을 실행하고, 이와 같은 인식에 따라서 프레임을 선택적으로 버릴 수 있다. 허용가능한 옵션은 전체 프레임의 수신, 소정의 수신지 어드레스 바이트 또는 소정의 방송 어드레스를 갖는 프레임만의 인식 및 방송어드레스를 갖는 프레임만의 인식이다.
9.4 RV 논리
제19도를 참조하면, RV의 주요회로요소는 레지스터(171), 계산회기회로(172) 및 상태기계논리(173)이다.
레지스터(170) 및 (171)은 로부터 수신된 통신데이타 및 상태의파이프라인식 기억장치에 대한 깊이2의 큐를 형성한다. 각 레지스터는 데이터 및 관련상태정보의 바이트를 위한 기억장치로 된다. RL1에 의해 제시되는 제시되는 데이터, RL1_RV_DATA의 각 바이트는 RL1 지시레지스터(154)( 프레임종료, 중단, 아이들 및 옥텍트 정열의 상태를 나타낸다)로부터의 관련프레임상태, RL1_RV_STSTUS_A), 계속해서 레지스터(171)로 병렬로 이동된다(DATA_STATUS_B).
이와 같이 해서 RV는 BTDM에서 지지가능한 외관의 버스속도를 지지한다. RL1이 하나의 채널 타임 슬롯내의 데이터의 1바이트까지를 수신할 수 있으므로, RL1에 있어서는 각각의 타임 슬롯의 연속출력시에 1채널에 대해서 2바이트의 데이터를 수령하느 것이 가능하며, 따라서 RV2 바이트의 큐용량이 필요하다.
CRC 계산기(172)는 CRC 체크기능을 필요로 하는 데이터에 대해서 누적 계산하고, 그결과를 유효한 프레임 종단 플래그 검출지시를 수신하는 즉시 RFM으로 전달한다.
RV는 동기시간 다중으로 동작하며, 각 활성 채널에 대한 그 상태는 각각의 채널슬롯이 종결함에 따라서 RSM을 경유해서 TSR에 보존되고, 그 슬롯이 재출현하면, RSM을 경유해서 재로드된다. 각채널에 대한 처리는 개시지시, RSM_RCV_STATR가 RSM에 의해 작동되면 개시되고, 슬롯 종단지시, RSM_RCV EOS가 RSM에 의해 나타나면 종료한다. 그 상태는 1활성 채널에 대해서 보존되고, 다른 활성 채널에 대해서 재로드되지만, RV(논리(173))는 정지상태에 놓여진다.
개시지시를 수신하는 즉시, RV처리가 동일 채널 슬롯에 대한 처리가 최후에 종결했을 때 유지된 상태로 개시된다. RSM으로부터 슬롯 종료지시를 수신하는 즉시, RV 상태논리(173)은 안정종결상태가 아니면 정지하기 전에 그와 같은 동작을 계속한다.(예를 들어 데이터를 RL1에서 수신해야 하는 상태에 있으면, 데이터는 정지상태를 취하기 전에 레지스터(170)에 래치된다). 이와같은 상태에 도달하는 즉시, 논리(173)은 구획의 종료지시, RV_DONE를 RSM에 표명한다.
데이터 및 상태지시는 각각의 준비완료지시, RL1_RV_DATA_RDY 및 RL1_RV_ STATUS_RDY와 함께 RL1에 의해 제시되며, 후자는 논리(173)을 각각의 데이터 및 상태의 래치를 제어하도록 조절한다. 이전에 설명한 바와 같이, RL1에서 RV로의 전송은 동기하고, RV는 그 제시의 50ns 기계사이클 주기 이내에 데이터 및 상태를 래치해야 한다. RV에서 RFM으로의 전송은 비동기 요구승인동작이며, RV 상태논리(173)은 RV_RFM_REQ를 제시하고, RFM은 RFM_RV_ACK를 반송한다.
RV교환상태는 각각 제20도 및 제21도에 도시한 2개의 시간교환상태워드, RV_TS01 및 RV_TS02로 구성되어 있다. RV_TS01은 레지스터(170) 및 (171)의 혼합내용을 나타내고, RV_TS02는 체크회로(172)의 상태를 나타낸다. 재로드시, 대응하는 교환상태정보가 RSM에 의해 TSR에 의해 TSR에서 페치되고, RSM_DATA를 거쳐 RV내의 모든 주요회로 유니트의 레지스터에 제시된다.
제20도에 있어서, RV_TS01는 하기의 필드를 포함한다.
[표 4]
제21도에 있어서, RV_TS02MSS 하기의 필드를 포함한다.
[표 5]
9.6 상태기계
논리(173)은 2개의 상태기계 및 RL1에 계속해서 RL1에 계속해서 상술한 동기클럭의 제약하에 RL1 데이터 및 상태를 레지스터(170)로 안내하는 다른 복합논리회로로 구성되어 복합논리는 RLL에서 데이터 및 상태를 각각의 준비완료지시 (RLI_DATA_RDY 및 RLI_STATUS_RDY)와 함께 단지 수신하고, 레지스터가 가득참의 여부를 체크해서 확인하고, 레지스터가 가득참으로 나타나지 않으면 전송을 종료한다. 전송이 완료되면, 래치가 설정되어 이것을 지시한다(그 래치는 레지스터(170)의 내용이 레지스터(171)로 이동되면 MOVE 상태기계의 동작에 의해 리세트된다). 데이터 또는 상태의 준비완료지시를 수신했을 때, 레지스터(170)내에 있는 비트가 오버플로상태를 지시하도록 설정된다.
MOVE 및 PROCESS라 불리는 2개의 상태기계는 다른 모든 RV 기능을 제어한다. MOVE는 ″A″ 레지스터(170)(DATA_STATUS_A)에서 ″B″ 레지스터)171)(DATA_STATUS _B)로의 데이터 및 상태의 전송을 제어하고, PROCESS는 데이터의 처리(CRC 체크, 어드레스 인식 등) 및 RFM과의 인터페이스를 제어한다.
이 상태기계의 상세한 설명은 ″자율 요소″에 대한 교차 참조된 동시계속 특허출원서의 대응 부분에 기술되어 있다. 이것은 청구된 본 발명과 관련이 없다. 그 상세한 설명은 부수적인 관계를 가지며, 교차 참조된 출원의 대응 부분을 이하 참고로 삽입한다.
10. 전송레지스터 및 전송논리요소
10.1 전송레이어 1(TL1)의 기능
TL1은 전송유효화요소 TV와 전송데이타를 네트워크로 전송하는 BTDM과의 사이를 접속한다. TV는 전송데이타를 FIFOR로부터 FIFOR 관리기 TFM을 경유해서 수신하고, 이러한 데이터를 TFM에서 DMARQ(DMA 요구요소)에 표명된 요구에 따라서 DMAC의 비동기부를 경유해서 FIFOR로 로드되는 것을 참조한다.
TL1은 RL1에서 실행되는 것과 반대의 기능을 실행하며, 데이터 바이트의 질렬화, 플래그 중단 및 아이들 발생, 투명도-0비트의 스터프, 언더런의 검출, 플래그의 공유, 데이터의 반전, 데이터를 출력하기 위해 레지스터를 교대로 사용을 포함한다.
TL1은 데이터 바이트를 TV에서 수신하고, L1회로에 의해 BTDM에서 제시된 비트요구 TDATA_REQ에 따라서 데이터비트를 BTDM으로 질렬로 전송한다. TL1에 있어서 데이터는 1쌍의 바이트 레지스터, 싱1 ALC 싱2(이하의 TL1 논리의 기술에서 설명한다)를 통해서 보내져오므로, 어떤 슬롯 타임 기간중에라도 TL1은 다음에 지원될 채널에 대해서 최대 2바이트까지의 데이터를 저장할 수 있다, 이것에 의해 BTDM의 속도범위내에서, 어떠한 속도의 L1요구도 처리하도록 준비할 수 있으며, 최대 8개까지의 요구를 슬롯내에서 버스트시킬 수 있다(전송은 일반적으로 옥택트 정열하지 않으므로 임의의 슬롯 기간중에 2연속 바이트의 비트를 보내는 일이 있다고 고려된다.).
이것에도 불구하고 언더런이 발생하면, TL1은 인터럽트 처리용의 적절한 언더런 지시를 발생하고, 계속해서(프로토콜 WLGIS 채널에서) 아이들/가득참 패턴에 따른 중단패턴을 전송한다. 중단패턴이 보내진 후 TL1은 그 이벤트의 적절한 지시를 발생한다. 그밖에 TL1은 CCR의 중단 제어비트(AR 및 AIM)에 발생한 변화에 신속하게 반응하여 중단패턴의 전송을 개시한다. 따라서, TL1은 SIO 및 TSR을 통해서 작용하는 IOP/호스트에 의해 언제라도 효과적으로 제어되어 네트워크 채널의 불필요한 사용을 감소시킬 수 있다.
HDLC 프로토콜에서 통신하는 채널에 대해서, TL1은 비단락 데이터(플래그, 아이들 및 중단이 아니다)를 나타내는 5개 연속의 1개의 전송을 검출하고, 0비트를 삽입해서 이러한 데이터를 단락으로서 수신하지 않도록 한다. 또, TL1은 프로토콜 메시지 프레임의 개시와 종료를 구별해서 전송의 각각의 단계를 개폐 플래그를 삽입한다. 프로토콜이 비트반전을 필요로 하면, TL1은 그것을 처리한다.
TL1은 시분할 다중동기방식으로 동작하고, 이것에 의해 활성 채널에 대한 그 상태가 관련하는 BTDM 타임 슬롯 출현기간 중에(TSR에서 RSM을 경유해서) 로드되고, (RSM을 경유해서 TSR로)슬롯단으로서 보존된다. 그 기간 교환상태는 WP24도를 참조해서 이하에 설명하는 1개의 위드, TL1)TS01로 구성된다. TL1은 제 23도를 참조해서 이하에 설명하는 9비트의 정보지시 레지스터를 구비하고, 그내용은 TL1_ TS01의 일부로서 시간교환에 의해 보존된다.
10.2 TL1 상태지시
제23도에 도시한 TL1 상태지시는 8개의 사용지시기 비트(비트 0-6 및 8) 및 비사용 1비트 (비트 7)로 구성되어 있다.
「서비스중단」비트(비트0)은 중단패턴(또는 반전 HDLC가 유효인 경우에는 반전중단패턴)이 전송되고 있는 것을 나타낸다. 이 비트는 하드웨어에 의해 설정되고, 상태교환중 보존되고, 전송되는 중단패턴을 BTDM 프레임을 횡단해서 기억해 낼 수 있는 기구를 만든다.
프레임 종료비트(비트1)은 TV에서 요구된 바이트가 TV에 의해 프로토콜의 최후의 데이터 바이트라고 나타났을 때 설정된다. 이 비트가 온이면, TL1은 필요한 경우, 가득참 패턴에 따른 최후의 데이터 바이트의 후 폐쇠플래그를 자동적으로 보낸다. 폐쇄플래그가 보내진 후 프레임 종료비트를 리세트한다. 가득참 패턴은 TV가 TV_ENDFRAME 또는 TV_ENDCHAN을 보낼 때 필요하다. 패턴의 형태는 CCR내의 비트에 의해 결정되며, ENDFRAME이 지시되고 있으면 IFS(프레임간 가득참 선택) 비트 또는 ENDCHAM DL 지시되고 있으면 ICS(체인간 가득참 선택)비트가 표시된다.
데이터 레지(reg) 순서비트(비트2)는 데이터 레지(1) 및 데이터 레지(2)의 빈상태를 지시하는 비트(비트3 및 4)와 괸련해서 상술한 데이터 레지스터 TLD1 및 TLD2에 대한 데이터 전송의 순서를 결정한다. TV에 대한 데이터 페치동작은 비트 3또는 4가 온일 때 호출되고, 각각의 레지스터가 비어있는 것을 나타낸다. 이들 비트가 모두 오프일 때, 데이터는 BTDM으로 전송하기 위해 순서비트에 의해 지시된 순서로 레지스터에서 추출된다. 2개의 비트가 모두 온이면 순서비트는 레지스터로의 데이터의 로딩 순서를 결정한다.
언더런 지시기비트(비트5)는 데이터의 언더런이 발생할 거슬 기억시키는데 사용된다. 이 상태가 발생하면 비트 0(서비스중단)도 설정된다. TV에 프레임의 최종바이트 후에 보내는 새로운 프레임 데이터가 없고 또한 폐쇄플래그가 보내져 있으면, 언더런 지시기가 설정되어 TL1에 가득참 데이터를 발생하도록 요구한다. 프레임간 가득참 선택비트(RSM_CCR의 IFS)의 온/오프 상태는 패턴의 현태를 결정하며, 온이면 아이들, 오프이면 플래그이다.
중단게양비트(비트 6)은 중단이 INT에 대해서 지시되어 있는 것을 나타내는데 사용되며, 중단지시는 TV를 경유하여 TFM에 의해 제시된다. 이 비트는 TFM에 관련요구가 실행되고 있을 때 INT에 의해 리세트된다.
TFM 리세트비트(비트 8)은 TFM가 리세트(비활성화, 재초기설정 및 재작동)되고 있는 것을 나타내는데 사용된다. 이 비트는 중단상태를 리세트하는데 사용된다.
10.3 TL1 논리
제 22도에서 개략적으로 도시한 바와 같이, TL1은 3개의 개별상태 기계유니트(176A),(176B) 및 (176C)로 이루어지는 상태기계논리(176), 가각 (177) 및 (178)로 나타내고 있는 데이터 레지스터 TLD1 및 TLD2, 중단/아이들/플래그 발생기(179), 멀티플랙서회로(180), 제23도에 도시한 상태비트지시를 유지하는 상태지시 레지스터(181)(TLSI), TDBP(전송데이타비트 포인터)라고도 불리는 비트 인터 레지스터(182), TLDSS(전송레이어 1 데이터원 셀랙터)라고도 불리는 원 셀랙터 레지스터(183) 및 TLTC(전송레이어 1 투명도 카운터)라고도 불리는 투명도 카운터를 구비하고 잇다.
상태기계 유니트(176A)(TL1 상탸기계라고 한다.)는 TV로부터의 전송데이타 바이트의 수신 및 상태지시 레지스터(181)에 의한 순서 및 빈상태의 지시에 다른 데이터 레지스터(177) 및 (178)로의 상기 전송데이타 바이트의 로딩을 제어한다. 데이터 레지스터(177) 및 (178)로 전송됨에 다라서, 유니트(176A)는 레지스터(181)에 의한 순서 및 빈상태의 지시를 적절하게 조절한다. 이 유니트의 상태의 상세에 대해서는 후에 10.3.1에서 설명한다.
상태기계 유니트(176B)(리세트 상태기계라 한다)는 전송 FIFO 관리기 TFM의 상태를 데이터전송이 TFM의 초기설정상태로 확실하게 정확하게 조정되어 있도록 감시한다. RSM으로부터의 입력 RSM_CCR 및 유니트(176A)로부터의 TL1_DONE 출력내의 TDE(전송데이타 유효화)비트를 관찰하는 것에 의해, 유니트(176B)는 TFM인SIO를 거처서 IOP의 외부행동을 통해서 언제 작동이 해제되고. 재초기설정되며, 재작동되지를 판단한다. 이들 외부행동은 데이터의 각 후속 불럭에 대한 동작을 DMAC에 의해 그 전송명령(하기 DMAC의 설명 참조)에 대해서 실행되는 체인기능과 조정하기 위해 데이터불럭의 각 단위의 네트워크로의 전송이 완료함에 따라서 필요로 된다, 이 상태기계 유니트의 상세에 대해서는 후에 10. 3. 2.에서 설명한다.
상태기계 유니트 (176C) (LI 전송상태기계라고도한다)는 레지스터(177) 및 (178)에서 BTDM 인터페리이스로의 전송대이타의 전송 및 이러한 전송에 관련하는 동작을 감시한다. 이들 동작에는 직렬화, 제로비트삽입 및 특숨문자삽입(플래그, 아이들, 중단등)이 있다. 이 유니트의 상태 및 동적의 상세에 대해서는 후에 10 3. 3에서 설명한다. 그 기능의 실행하에 있어서, 이 유니트는 멀티풀랙서(180) 및 (179),(180a) 및 (182)-(184)에 대해서는 10.3.3의 이 유니트의 상태의 설명 부분에서 설명한다.
10.4 TL1 시간교환워드 TL1_TS01
TL1 시간교환워드 TL1_TS01은 제24도에 도시하고, 이하에 설명하지만, 2개의 8비트필드 TLD1 및 TLD2, 4비트필드 TLDBP, 3비트구획 TLSI로 구성되어 있다. 제22도에 있어서의 이들 필드원은 TLD1 및 TLD2에 대한 레지스터(177) 및 (178), TLDBP에 대한 레지스터(182), TLTC에 대한 카운터 레지스터(184) 및 TLSI에 대한 레지스터(181)이다. 이들 필드의 TL1에서의 용법은 다음과 같다.
TLD1 및 TLD2(TL1 데이터 레지스터 1 및 TL1 데이터 레지스터 2)
이들은 제22도에 (177) 및 (178)로 나타내는 데이터 레지스터 1 및 데이터 레지스터 2의 내용을 반영하고 있다. 이들 레지스터는 데이터를 TV에서 교대로(″핑퐁식으로″) 수신한다.
TLDBP(TL1 데이터비트 포인터)
현재의 데이터원에서 BTDM으로 보낼 다음의 비트를 지시한다. 현재의 원은 TLDSS(제26도 및 제22도의 리지스터(183))에 의해 지시되고, 데이터 레지스터 1, 데이터 레지스터 2또는 중단/아이들.플래그 발생기(179)(제22도)로 할 수 있다.
TLTC(TL1 투명도 카운트)
비트 프로토콜 채널에 의해 송출되는 연속하는 1데이타비트를 카운터하고, 카운트 값이 5로 되었을 때 스터프비트를 삽입하며, 값은 1데이타비트가 보내지면 증가하고, 스터프비트나 0데이타비트가 보내지면 리세트된다.
TLS1(TL1 상태지시기)
상태지시기의 최후의 상태를 반영한다(제23도).
10.5 전송유효성(TV)기능
전송유효성요소(TV)는 전송 FIFO 관리기(TFM)과 TL1 사이를 접속해서 전송데이타를 전송한다. TV는 RSM에 의해 규정되는 BTDM 타임 슬롯과 동기해서 시분할 다중으로 동작하고, RSM 및 TSI1을 경유해서 활성 채널 슬롯에 대해서 상태교환을 받는다. TV의 주요기능은 다음과 같다.
데이터 전송
전송 데이타 바이트가 TFM에서 내부 데이터 레지스터로 한번에 하나씩 페치되고, 다음에 설명하는 바와 같이 처리되어 TL1에 전송된다. 내부 레지스터가 비었을 때는 페치요구가 TFM에 대해 발생된다.
CRC 발생
프로토콜 지향 채널에서, 전송 데이터의 페치된 각 바이트가 비트 직렬로 CRC 이 계산 및 패리티 체크를 실행하는 계산 논리에 인가된다. 프로토콜 프레임의 최후 데이터 바이트가 전송되고 2바이트 CRC의 잉여가 바넌되어 고차 바이트를 선두로 해서 TL1로 전송된다.
CRC 바이패스
클리어 채널내의 데이터(예를들면, 디지털화된 음성) 에 대해서 CRC발생 및 패리티 체크가 바이패스되며, 이들 기능의 적용이 CCR의 채널형식 필드 CT의 함수로써 선택된다.
10.6 TV 논리
제 25도를 참조하면, TV는 데이터 레지스터(190), 상태기계(191), CRC 계산논리(192) 및 멀티플랙서(193)으로 구성되어 있다. 레지스터(190)은 전송 데이터를 TFM에서 (194)로 나타낸 TFM_TV_DATA를 거쳐 수신하고, 그 출력을 CRC 계산기(192) 및 멀티플랙서(193)에 인가한다. 계산기(192)의 출력은 멀티플랙서(193)의 제2의 입력으로 인가된다. 멀티플랙서(193)은 상태논리(191)에 의해 제어되고, 데이터 레지스터(190)으로부터의 그 입력을 데이터 처리하면서 선택한다. 프로토콜 지향 채널에서 프레임종료에서 멀티플랙서(193)이 계산기(192)으로부터의 입력을 선택하도록 제어된다.
계산기(192)는 CRC의 잉여발생 및 패리티 체크를 실행한다. 패리티에러가 발생하면, 회로(192)는 상태논리(191)을 도시하지 않은 접속을 경유해서 조절하고, 패리티에러 발생의 출력 지시, TV_PARITYE을 발생한다.
상태기계(191)은 SIO_RESET선에 접속된 입력을 갖고, SIO가 그 선을 작동하면 리세트된다. 유니트(191)은 시간적인 슬롯 종료 처리점 및 슬롯 개시 처리점을 규정하는 RSM으로부터의 제어입력(각각 RSMXMIT_EOS 및 RSM)XMIT)START)를 수신한다. 활성 슬롯에 대한 처리를 개시하기 전에, 상태정보가 RSM에 의해 TSR에서 (RSM)TS_BUS, 계속해서 RSM_TV_LOAD를 경유해서) TV로 전송되고, 채널 구성 정보가 RSM_CCR을 경유해서 제시된다.
상태처리(191)은 레지스터(190)이 빈 상태를 식별하고, 식별했을 때 데이터 요구를 TV_TFM_REQ에 의해 TFM에 제시한다. 준비완료하면 TFM은 TFM_TV_DATA로 데이터 바이트를 계속해서 TEM_TVACK로 인식신호를 제시한다. 레지스터(190)이 데이터를 포함할 때, 유니트(191)은 TV_TL1_DATA_RDY를 경유해서 TL1으로 데이터 준비완료 제시를 제시하고, 멀티플랙서(193)을 동작시켜서 데이터를 TVTL1_DATA로 제시한다. 데이터를 수령하면, TL1은 TL1_ACK로 승인을 되돌린다.
프로토콜 지향 채널에 대해서, TFM은 TV에 프레임종료상태의 제시, TFM_TV_EOF 및 체인종료상태의 제시, TFM_TV_EOC를 제시한다. TV는 이들 제시를 이용해서 CRC 바이트를 삽입하고, 그 동작의 종결을 준비한다.
RSM_XMIT_EOS에 의해 나타내어지는 슬롯의 종료에서 TV는 그 시간교환 상탸를 보존시킬 준비를 한다. 이 상태는 연속적으로 TV_TS01 로 제시되지만, TV는 보존기능을 실행하기 전에 그 종료제시를 RSMTV_DONE 에 제시해야 한다.
10.7 TV 상태교환워드 TV_TS-01
TV에 대한 상태교환워드를 제26도에 도시한다. 이것은 8비트필드 TVDR, 16비트필드 TVCR, 1비트필드 TVDV, 2비트필드 TVDS, 1비트필드 TVOE, 1비트필드 TVEC, 1비트필드 TVDP 및 2비트필드 TLDSS를 포함한다. 이들 각각의 사용 및 의미에 대해 이하 기술한다.
TVDR(전송 유효성 데이터 레지스터)
데이터 레지스터(109)의 내용.
TVCR(전송 유효성 CR 레지스터)
현재의 프레임에 대한 누적 CRC 잉여계산의 상태, 프레임의 종료가 만나면, 이 필드는 TL1에 전달되는 출력 데이터에 인가된다.
TVDV(전송 유효성 데이터 유효)
이 비트의 상태는 데이터 레지스터가 유효 데이터를 구비하고 있는지 아닌지를 나타낸다(온은 전달해야할 유효 데이터를 나타내고, 오프는 데이터 레지스터가 빈 것을 나타낸다).
TVDS(전송 유효성 데이터의 선택)
TL1에 보내야 할 다음 바이트의 근원을 나타낸다( 근원은 TV데이타 레지스터, TV CRC레지스터의 상위 8비트 또는 TV CRC 레지스터의 하위 8비트중 하나이다).
TVOE(전송 유효성 동작 에러)
활성일때의 이 비트는 동작에러가 검출되고 있는 것을 나타내고(예를 들면 무효상태), TV 처리동작을 모두 정지시킨다.
TVEC(전송유효성 체인종료)
TPM에서 수신한 체인종료지시. TL1로의 CRC 전송의 최후의 바이트 후에 체인종료지시를 부가해서 TL1이 패턴전송을 계속할 준비를 할 필요가 있다.
TVDP(전송유효성 데이터 패리티)
TVDR의 내용에 대한 기수패리티.
TLDSS(전송레이어 1원 선택)
TS1에 대해서 필요한 시간교환워드의 수를 가능한 한 적게하기 위해, 이들 2비트는 TV를 통해서 보존되어 채널처리의 개시시에 TL1에 의해 사용된다. 이들 비트는 TL1 로 송출된 다음의 데이터 바이트의 4개의 원 즉, TL1의 데이터 레지스터 1 및 2, TL의 플래그신호의 원 및 TL1의 아이들/중단패턴의 원중의 1개를 지시하도록 동작한다.
11. FIFO RAM(FIFO) 및 FIFO관리구획
FIFO RAM(FIFOR) 은 본 발명의 IDLC 장치의 동기부와 비동기부 사이의 천이시 통신 데이터를 완충한다. 동기부에 관하여 FIFOR은 FIFO 관리기 9REM과 TFM)와 데이터를 교환한다. 비동기부에 관하여 FIFOR은 DMA 제어기(DMAC)와 슬레이브I/O)SIO)구획에 엑세스 가능한다.
FIFOR은 또 FIFO관리에 의해서 사용되는 제어워드정보의 버퍼기억장치를 마련한다. 그러한 정보는 SIO 및 DMAC에 의해서 FIFOR로 라이트 된다. TSR과 마찬가지로, FIFOR은 RAM메모리 어레이와 RAM메모리 어레이와는 다른 구획 사이의 정보의 흐름을 지시하기 위한 논리를 포함한다.
11.1 FIFOR의 구조
제 27도를 참조하면, FIFOR은(SIO, RSM, RFM, TFM 및 DMAC에서) 버스셀랙터회로(201)을 통해서 압력을 받고,(203)으로 나타낸 데이터버스(FIFOR_DATA)로 (202)에서 출력을 발생하는 128×36 SRAM 어레이(200)을 포함한다. 버스(203)은 SIO, RFM, TFM 및 DAMC까지 연장하고 있다. 요구래치(205)와 협동해서 동작하는 상태기계논리(204)는 셀렉터(201) 및 어레이(200)이 동작을 제어한다.
어레이(200)은 128개의 데이터워드 기억공간을 포함하고, 각 워드공간은 36비트의 기억공간(각 워드공간에 32데이타비트 공간 및 4패리티비트 공간)으로 구성되어 있다. 제7도 참조하면, 모범적인 기본속도ISDN의 용도환경에 있어서, 각 채널에 할당된 공간의 1/2이 전송 DMA구성 레지그터워드 TDCR1, TDCR2에 대해서 취해지고, 다른 1/2이 수신 DMA 구성 레지스터워드 RDCR1, RDCR2에 대해서 취해지고 있다. 각 활성 채널의 RDCR1,2 및 TDCR1,2공간은 각각의 채널에 대한 상태정보 및 통신데이타 정보를 저장한다. 각 워드공간의 비트의 용법에 대해서 이하 제33도-제36도를 참조해서 설명한다.
계속, 제27을 참조하면, SIO, DMAC, RFM 및 TFM에 의해서 제공되는 리드 및 라이트 요구는 요구래치로 래치되고, 상태논리(204)에 의해서 결정되는 우선순위의 순서에 따라서 처리된다. 그요구에 관련하는 어드레싱 기능을 셀랙터(201)에 제시되고, 셀랙터(201)은 어레이(200)이 어드레스 라인으로의 전송을 위해 현재 선택된 요구에 대응하는 어드레스 기능을 선택하도록 논리(204)에 의해서 동작된다.
라이트요구에 대해 데이터가 요구구획에 의해서 셀랙터(201)에 제공되고, 논리(204)에 의해서 선택된 라이트 요구에 관련하는 데이터가 어레이로 라이트될 어레이(200)의 데이터 입력라인으로 전송된다. 상태논리(204)에 의해서 선혭된 임의의 리드요구에 대해 그 어레이에서 모든 요구 구획에 결합하는 출력버스(203)로 데이터가 페치된다. 그와 같이 페치된 데이터에는 선택된 요구에 관련하는 구획을 효율적으로 지정하는 논리(204)로부터의 인식응답출력이 수반된다.
페치된 데이터는 또 패리티 체크회로(200a)에 공굽된다. 패리티 체크회로 (200a)는 패리티 체크동작을 실행하고, 에러인 경우 논리(204)이 인식응답출력에 의해서 요구구획에 유효하게 지향된 회로(200b)에 있어서의 관련하는 에러표시를 부여한다. 그와 같은 에러에 관련해서 요구구획이 후술하는 관련 인터럽트 요구를 발생시키는 INT에 대해서 대응하는 표시를 제시한다.
그 액세스요구에 따라서, SIO가 SIO ADDRESS BUS를 거쳐서 명시적인 어드레스입력을 공급하고, 그 어드레스입력을 개개의 요구가 선택되었을 때, 샐랙터(201)이 어레이(200)이 어드레스입력으로 전송된다. 만일, 데이터가 라이트 중이면, SIO_DATA에 공급된 데이터 워드가 셀랙터(201)에 의해서 어레이의 데이터 입력으로 전송된다. 만일 데이터가 SIO에 리드되어 있으면, 데이터는 버스(203)을 거쳐서 모든 액세스구획에 제공되고, 회로(206)에 있어서의 FIFOR_SIO_ACK의 주장에 의해서 SIO로 보내진다.
TFM 또는 RFM으로부터의 요구가 선혭되었을 때 셀랙터(201)에 대한 어드레스입력은 상태논리(204)의 출력(207)에 나타나는 RSM, RSM_TSI 및 선택기능으로부터의 시간슬롯표시의 조합으로서 간접적으로 제공된다. 공된다. RSMTSIS는 개개의 채널(현재 서비스되고 있는채널)에 할당되어있는 (4워드)위치의 불럭을 유효하게 어드레스하고, 회로(207)에 있어서의 선택기능이 선택된 특정의 요구에 관련하는 불럭중의 특정 워드위치에 대한 어드래싱 오프세트를 부여한다.
RFM 라이트 요구는 RFM에서 FIFORF로의 수신데이타의 단일 바이트의 전송에 일정하게 관련지워진다. 그와 같은 전송에있어서 RFM은 바이트 위치포인터 RFM FIFOR로의 수신데이타 단일 바이트의 전송에 일정하게 관련지워진다. 그와 같은 전송에 있어서 RFM은 바이트 위치포인터 RFM FIFOR BPP에 따라 RFM FIFOR DATA에서 수신데이타의 바이트를 공급하면, RFM FIFOR_BPP는 회로(207)에서의 신호에 의해서 지정된 워드와 RSM)TS1에 의해서 어드레스된 블록내의 특정 바이트 위치를 지정한다. TFM이 어레이로 라이트될 때, 그것은 상태워드정보만을 라이트하며, 상태워드정보는 TFM_FIFOR_WR1에서의 라이트요구에 따라 TFMTDFSW_DATA에 공급된다.
데이터가 RFM 또는 TFM에서 페치될 때, 워드 전체가 버스(203)에서 지정구획을 지정하도록 작용하고, 회로(206)에 있어서의 인식응답인 FIFOR_RFM_ACK 또는 FIFOR_TFM_ACK와 함께 출력된다. 그러한 동작은 래치(205)에서 이들의 구획에 의해서 공굽되는 리드요구의 선택에 응답해서 실행된다. RFM_FIFOR_DA를 거쳐서 공급되는 RFM의 리드요구에는 단일워드(현재 서비스받고 있는 채널의 RDCRI워드)의 리드를 필요로 한다. TFM은 (현재 서비스받고 있는 채널의 제어정보 TDCR1만을 리드하는 경우에는)TFM_FIFOR_RD1을 거쳐서 단일의 리드요구를 제공하거나 또는(TDCR1 제어정보 및 TDCR2 전송데이터를 리드하는 경우에는) TFM_FIFOR_RD2를 거쳐서 더블워드 리드요구를 공급한다. 더블리드 동작은 연속하는 단일워드를 페치하는 것에 의해 실행되며 어레이로 액세스 한다.
DMAC가 어레이를 액세스할때는, DMAC, DMAC_DHN_NBR 및 회로(207)에 있어서의 선택출력으로부터의 채널번호입력의 조합으로서 어드레스입력이 출력된다. DMAC_FIFOR_DATA에서의 라이트를 위해 데이터가 공급되고, 페치된 데이터는 회로(206)에서의 FIFO_DMAC_ACK와 함께 버스(203)을 거쳐서 DMAC로 전송된다. DMAC 리드요구는(RDCR2 수신데이타워드의 리드인 경우의 DMAC_FIFOR_RD1을 거치는 단일 또는 (RDCR1 및 RDCR2 공간 양쪽의 리드인 경우의) DMAC_FIFOR_WR1을 거치는 단일 또는 (전송데이타의 워드와 상태워드의 라이트인 경우의)더블중 어느 한쪽이다.
어레이의 리드/라이트 및 클럭의 기능은 (208)에서 논리(204)의 출력(입력으로부터 요구 래치(205)에 얻어진다.)을 거쳐 제어된다. 1개의 리드 또는 라이트 요구는 완료하는데 3기계 클릭/상대사이클(3×50ns) 걸린다. 1사이클은 요구선택기능을 조립하고, 어레이의 리드/라이트입력 및 도시하지 않은 클럭의 사용가능입력을 작동시킨다. 다음의 사이클은 클럭의 유효성 및 선택기능을 래치하고, 어레이에 대해서 결함이 없는 클럭을 제공한다. 다음의 사이클은 클럭의 유효성 및 선택기능을 래치하고, 어레이에 대해서 결함이 없는 클럭을 제공한다. 다음의 사이클은 클럭의 유효성 및 선택기능을 래치하고, 어레이에 대해서 결함이 없는 클럭을 제공한다. 다음의 제 3 사이클은 승인출력을 작동시키고, 클럭 및 선택신호를 비활성으로 한다. 연속(더블워드) 액세스는 제 2 액세스의 최초의 사이클은 제 1사이클의 최후의 사이클과 중첩시키는 것에 의해 5사이클로 완료한다.
11.2 FIFO RAM의 상태 및 DATA
FIFOR에서, 각 통신 채널슬롯에는 4워드공간이 할당되어 있다.(제 7도). 이들 공간내 2개(RDCR1, TDCR1)은 각각의 채널에 대한 DMA 제어정보를 유지하고, 다른 2개(RDCR2, TDCR2)는 수신과 전송되는 데이터를 서로 대기시키는 버퍼로서 기능한다.
어레이(200)의 DMA 구성 레지스터 워드공간 RDCR1, 2 및 TDCR1, 2의 비트의 용법에 대한 설명을 제33도∼제 37도에 도시한다. RDCR1 및 TDCR1은 각각의 (활성) 채널에 대한 일정의 상태 및 제어의 파라미터를 유지하는데 사용되고, RDCR2 및 TDCR2의 각 공간은 각각의 (활성) 채널을 통과하는 수신 및 전송의 통신데이타에 대한 4바이트의 큐로서 사용된다.
수신경로를 갖는 각 활성 채널에 있어서, 수신데이타는 한번에 1바이트, RV에서 RFM을 경유해서 어레이(200)의 각각의 RDCR2 공간의(특정하게 어드레스된) 바이트위치로 전송된다. 활발하게 전송하는 각 채널에 대해서, 전송데이타는 한번에 1바이트, TDCR2/FIFOR에서 TFM으로 및 TFM에서 TV로 전송된다. TFM으로의 전송에서는 전워드 TDCR2가 페치되고, 바이트선택이 TFM에 의해 실행된다. RFM에서 어레이(200)으로 및 어레이에서 TFM으로의 전송은 이하에 설명하는 RFM 및 TFM의 각각의 동기(시간교환식)동작의 기간중에 실행된다.
RDCR2 공간이 4바이트에서 가득참으로 되면, RFM은 요구를 DMACQ(DMA 요구 큐)에 제시하고, 이것에 의해 DMAC 구획이 MIO 구획과 협동해서 4바이트를 RDCA(수신 DMA 현재 어드레스, 22비트)라는 명칭의 각각의 RDCR1 필드의 어드레스정보에 의해 지정된 외부(IOP/호스트)기억장치의 공간으로 전송되도록(비동기적으로) 동작한다. 외부기억장치는 순환 버퍼로서 어드레스된다(하기의 DMAC의 상세 설명 참조). RDCR1의 나머지의 10비트공간은 8예비비트공간(RES), FIFOR 출력에서 검출된 패리티에러를 DMAC에 나타내는 1비트공간 RPE(수신패리티에러) 및 전송중에 발생한 경계체크조건을 나타내는 1비트공간 RBC(수신경제체크)로 구성된다.(DMAC의 설명 참조).
마찬가지로, FIFOR의 TDCR2 활성 채널 워드공간이 비게 되면, TFM은 DMACQ에 요구를 제시하고 관련 TDCR1 공간에 부분적으로 마련된 제어정보를 사용해서 외부(IOP/호스트)기억장치에서 DMAC로 데이터를(비동기적으로) 페치시킨다.(TDCR1 필드의 전체 설명에 대해서는 DMAC의 설명을 참조할 것). 간단하게 말하면, 각 TDCR1워드의 필드는 예비비트(RES), 현재의 외부데이타버퍼공간의 바이트길이를 규정하는 16비트의 TDBC(전송 DMA 바이트 카운트) 필드, 3개의 2비트필드 및 3개의 1비트필드로 구성되어 있다. 2비트필드는 TV로 전송될 TDCR2내의 다음의 바이트를 지시하는 TBC(전송버퍼 카운트), TCR2의 제 1의 유효바이트위치를 지시하는(또 4바이트미만이 TCR2에 로드되어 있을 때 특히 필요하게 된다) TOPQ(큐의 선두) 및 외부기억장치 및 FIFOR중 어느 1개 또는 쌍방에 대한 DMAC 전송에 패리티에러의 여부를 나타내는 PE(전송 DMA 패리티에러)이다. 1비트필드는 DMAC에 의해 설정가능한 외부액세스조건의 지시를 나타내지만(상세한 설명은 DMAC의 설명을 참조), ECD(검출된 체인의 끝), EFD(검출된 프레임의 끝) 및 ND1(데이타 지시기 없음)이다.
11.3 FIFO RAM 상태기계의 상태
이하의 설명을 간단하게 하기 위해 FIFOR에 관련하는 TDCR1의 1비트 및 2비트의 상태함수를 총괄적으로 전송 DMA FIFO 상태워드(TDFSW)라 하고, FIFOR로의 DMAC 채널번호 어드레스입력을 DMAC 어드레스라 하고, RSM에서 FIFOR로의 타임 슬롯 어드레스 지시를 어느 구획이 실제로 FIFOR를 액세스하고 있는지에 따라서 RFM 어드레스 또는 TFM 어드레스라 한다.
상태 0(조정상태) :
FIFOR에 액세스하는 모든 요구가(요구래치(205)에) 계속해서 래치된다. 이 상태는 소정의 조정규칙에 따라서 요구에 우선순위를 붙이고 우선요구에 관련하는 데이터를 FBS(FIFOR 버스셀렉터)(201)로 로드한다.
우선권은 높은쪽에서 순서대로 TDFSW가 TFM에서 갱신하는 것, DMAC은 2워드 리그요구, DMAC의 1워드 라이트요구, DMAC의 1워드 리드요구, DMAC의 2워드 라이트요구, DMAC 라이트 패리티에러, RFM의 리드요구, RFM의 라이트요구, TFM의 1워드 리드요구, TFM의 2워드 리드요구, SIO의 리드요구 및 SIO의 라이트요구 순이다.
선택된 요구가 TFM에 대해 TDFSW 갱신의 라이트(TFM_FIFOR_WR1)일 때, 어드레스 및 갱신된 TDFSW 데이터(TFM_TDFSW_DATA)가 FBS(FIFO 버스셀렉터)(201)에 의해 선택된다. 최초의 바이트 선택, 라이트 및 클럭사용가능화의 각 제어입력이 작동된다. 이 상황에서 다음의 상태는 상태 11이다.
요구가 2워드를 FIFOR에서 DMAC에 리드할(DMAC_FIFOR_RD2)때 DMAC는 DMAC 어드레스에 의해 어드레스된 TDCR1워드공간의 RDCA필드에 저장되어 있는 현재의 외부어드레스 및 관련되는 TDCR2 공간에 저장되어 있는 수신데이타의 쌍방을 요구하고 있는 것으로 고려된다(공간 사이는 부분적으로 DMAC_CH_NBR에 의해 지정된다). 관련된 워드공간에 순차적으로 어드레스되고, 리드제어기를 작동시킨다. 다음의 상태는 상태 1이다.
요구가 1워드를 DMAC에서 FIFOR로 라이트(DMAC_FIFOR_WR1) 할 때, DMAC가 관련 채널의 RDCA를 포함하는 워드를 갱신하는 것으로 고려하고, 관련된 FIFOR 어드레스가 FBS 에 의해 선택된다. 어레이 제어신호는 라이트에 대해서 작동된다. 다음의 상태는 상태 18이다.
요구가 1워드를 DMAC에 리드하는 것(DMAC_FIFOR_RD1)일때, DMAC가 관련하는 채널의 TDCR1 공간의 TDBC를 요구받고 있는 것으로 고려한다. 각각의 어드레스가 FBS에 의해 선택되고, 어레이신호는 라이트에 대해서 작동된다. 다음의 상태는 상태 2이다.
요구가 DMAC에서 2워드를 라이트하는 것(DMAC_FIFOR_WR2)일 때, DMAC는 TDBC 및 전송데이타를 함께 저장하고 있다. FBS는 적절한 워드의 어드레스를 선택하고, 어레이 제어기는 연속라이트에 대해서 작동되고, 다음의 상태는 상태 12이다.
요구가 DMAC에서 FIFOR로의 패리티 에러 지시의 라이트(DMAC_FIFOR_PE_WR이 래치되고 있다)일 때, FIFOR에서 1워드 또는 2워드를 리드하는 DMAC의 결과, 패리티 에러가 DMAC에 의해 검출된다. 각각의 TDCR1 또는 RDCR1은 DMAC_CHN_NBR, DMAC_RCV_REQ 및 FBS의 각 선택의 조합을 통해서 선택된다. 다음의 상태는 상태 14이다.
요구가 RFM 리드(RFM_FIFOR_RD가 활성)일 때, RFM은 관련하는 RDCR1로부터 상태정보를 요구하고 있다. 그 결과 어드레스 선택이(RSM_TSI 및 상태기계로부터의 워드 위치 선택출력의 기능으로서)실행되고, 제어기는 리드에 대해서 작동된다. 다음의 상태는 상태 4이다.
요구가 수신데이타의 바이트를 전송하기 위한 RFM으로부터의 1바이트 라이트(RFM_FIFOR_WR1이 활성)일 때, 바이트 어드레스가 RFM_FIFOR_BPP에 응답해서 FBS에 의해 선택되고, 제어기는 라이트에 대해서 작동된다. 다음의 상태는 상태 15이다.
요구가 전송데이타의 TFM으로의 리드(TFM_FIFOR_RD1이 활성)일 때, 원하는 TDCR2 어드레스가(RSM_TSI 및 내부적으로 발생한 워드워치지시의 기능으로서)FBS에 의해 선택되고 제어기는 리드에 대해서 동작된다. 이 상태는 상태 5이다.
요구가 TFM에 대한 2워드리드(TFM_FIFOR_RD2)일 때, TFM은 각각의 채널의 TDCR1 공간 및 RDCR2공간의 쌍방에 액세스하도록 하고 있다. 이들 공간이(RSM_TSI 및 내부적으로 발생된 워드위치 선택신호의 기능으로서)순차적으로 액세스되고, 제어기는 리드에 대해서 동작된다. 다음의 상태는 상태 6이다.
요구가 SIO에 대한 1워드의 리드(SIO_FIFOR_RD가 활성)일때는 SIO(SIO_ ADDRESS)에 의해 공급된 어드레스가 선택되고 어레이 제어기가 리드에 대해서 동작된다. 다음의 상태는 상태 7이다.
요구가 SIO에서 FIFOR로의 1워드라이트(SIO_FIFOR_WR이 활성)일때는 SIO 어드레스가 선택되고 제어기는 라이트에 대해서 동작된다. 다음의 상태는 상태17이다.
상태 1(RDCA을 DMAC로 리드) :
어레이 제어기가 어레이에 액세스해서 DMAC 어드레스(DMAC_CH_NBR)의 RDCR1 위치를 리드하도록 동작된다. 다음의 상태는 상태 8이다.
상태 2(TDBC를 DMAC로 리드) :
어레이 제어기가 어레이에 액세스해서 DMAC 어드레스의 TDCR1위치를 리드하도록 동작된다. 다음의 상태는 상태 20이다.
상태 3(전송데이타를 라이트하고 갱신된 TDBC에 대한 라이트를 개시) :
FIFOR_DMAC_ACK를 표명해서 DMAC에 전송데이타가 라이트되고 갱신된 TDBC 및 TDFSW를 다음에 라이트하도록 제시해야 하는 것을 알린다. 어레이는 이후 사용금지가 되지만, 선택 및 라이트의 액세스 제어기는 활성인 상태이다. 다음의 상태는 상태 13이다.
상태 4(경제체크 및 PE 상태를 RFM로 리드) :
어레이 제어기가 관련 채널의 RDCR1에 대해 리드하기위해 작동되고, 이러서 작동해제된다. 다음의 상태는 상태 21이다.
상태 5(전송데이타를 TFM로 리드) :
어레이 제어기가 관련 채널의 TDCR2를 리드하도록 작동되고, 이어서 작동해제된다. 다음의 상태는 상태 23이다.
상태 6(TDFDW를 TFM로 리드) :
어레이 제어기가 워드를 TDCR1을 리드하도록 작동되고, 이어서 작동해제된다. 다음의 상태는 상태 10이다.
상태 7(워드를 SIO로 리드) :
어레이 제어기가 워드를 SIO_ADDRESS에서 리드하도록 작동되고 이어서 작동해제된다. 다음의 상태는 상태 22이다.
상태 8(2워드수신측 리드에 관한 DMAC로의 최초의 승인) :
FIFIOR_DMAC_ACK가 DMAC에 표명된다. DMAC의 어드레스가 동일한 채널의 제 2워드(RDCR2)위치로 조절된다. 클럭사용가능 신호가 제 2래드액세스에 대해서 작동된다. 다음의 상태는 상태 9이다.
상태 9(DMAC의 후 수신데이타를 리드) :
어레이 제어기가 제 2리드에 대해서 작동되고, 이어서 작동해제된다. 다음의 상태는 상태 20이다.
상태 10(최초로 TFM에 대해 승인, TDFSW 및 전송데이타의 2워드리드) :
FIFOR_TFM_RD_ACK를 표명해서 TFM에 버스(203)에 있는 TDFSW 정보를 받아들이게 하고, 다음에 전송데이타의 수신 준비를 한다. 클럭의 다음의 리드에 대해서 사용가능하게 되고, TFM어드레스가 다음의 워드(TDCR2)위치에 대해서 조절된다. 다음의 상태는 상태 16이다.
상태 11(TDFSW를 TFM에 대해서 갱신) :
어레이클럭을 적절한 TDFSW/TDCR1공간에 라이트하도록 작동한다. 클럭이 사용금지가 된다. 다음의 상태는 상태 19이다.
상태 12(TDBC를 따른 전송데이타의 라이트) :
어레이클럭이 전송데이타를 DMAC에서 관련 채널의 TDCR(21)공간으로 라이트하도록 작동된다. 어드레스는 다음의 워드공간(관련 TDCR1)으로 조절된다. 클럭의 작동은 해제된다. 다음의 상태는 상태 3이다.
상태 13(데이타 전송 후 TDFSW 및 TDBC를 라이트) :
클럭이 TDCR1 공간으로 라이트하기 위해 어레이를 엑세스하도록 작동되고 이어서 작동해제된다. 다음의 상태는 상태 20이다.
상태 14(DMAC패리티 에러의 라이트) :
클럭이 TDCR1PE 공간으로 라이트하기 위해 어레이를 엑세스하도록 작동된다. 다음의 상태는 상태 20이다.
상태 15(REM에 대한 수신데이타 바이트를 라이트) :
어레이가 데이터 바이트를 RFM에서 관련 채널/슬롯의 RDCR2 공간으로 라이트하도록 액세스된다. 클럭이 작동해제된다. 다음은 상태 21이다.
상태16(TDFSW를 리드시킨 후 전송데이타를 TFM으로 리드) :
어레이가 전송데이타를 관련 채널의 TDCR2 공간에서 TFM으로 리드하도록 액세스된다. (TFM은 적절한 바이트를 선택한다). 클럭이 작동해제된다. 다음은 상태 23이다.
상태 17(SIO에 대한 데이터워드를 라이트) :
플래그가 검출되지 않으면, 체크레지스터를 아이들팬턴 또는 중단패턴(1이 7개 이상 연속하고 있다)가 있는지 검사한다. 이와 같은 패턴이 검출되면, INT에 대해서 적절한 아이들 또는 중단지시기를 설정하고, 데이터 레지스터를 클리어하고 비트카운트를 리세트한다. RDATA_VALID가 비활성이면 다음의 상태는 상태1이다. 그 외의 경우, 다음의 상태는 상태 3이다.
어레이가 액세스되고, SIO_DATA 워드가 SIO_ADDRESS의 위치로 라이트된다. 클럭이 사용금지된다. 다음은 상태 22이다.
상태 18(DMAC에 대한 RDCA의 라이트) :
어레이가 DMAC에 의해 도시된 채널번호인 RDCR1 공간으로 라이트하도록 액세스된다. 클럭이 사용금지된다. 다음은 상태 20이다.
상태 19(TFM의 TDFSW 라이트를 승인) :
FIFOR_TFM_ACK가 표명된다. 어레이가 제어기가 작동해제된다. 다음은 상태 0이다.
상태 20(DMAC로의 승인) :
FIFOR_DMAC_ACK가 표명된다. 어레이가 제어기가 작동해제된다. 다음은 상태 0이다.
상태 21(RFM으로의 승인) :
FIFOR_ACK_ACK가 표명된다. 어레이가 제어기가 작동해제된다. 다음은 상태 0이다.
상태 22(SIO로의 승인) :
FIFOR_SIO_ACK가 표명된다. 어레이가 제어기가 작동해제된다. 다음은 상태 0이다.
상태 23(TFM으로의 전송데이타리드의 승인) :
FIFOR_TFM_RD_ACK가 표명된다. 어레이가 제어기가 작동해제된다. 다음은 상태 0이다.
11.4 RFM의 기능
RFM(수신 FIFO 관리기)는 수신데이타비트를 RV와 FIFOR의 RDCR2 공간의 특히 어드레스된 바이트 위치 사이에서 전송하고, 또 DMARQ로의 요구에 의해 수신데이타를(DMAC의 지휘하에) FIFOR에서 호스트 IOP 기억장치로 전송을 개시한다. RFM은 또(예를 들면 FIFOR에서 호스트 IOP 기억장치로 관련 DMAC 전송을 실행하고 있는 사이에 패리티 에러가 발생했는지 확인하기 위해) FIFOR의 RDCR1공간에 있는 상태정보를 액세스할 수도 있다.
RFM은 시분할다중 엔진으로서 RV 및 RL1과 동기해서 동작하고, BTDM에서 각각의 채널 타임 슬롯이 나타나는 것과 동기해서 활성 채널을 서비스한다. 다른 동기요소의 경우와 같이, RFM은 RSM에 의해 상기 슬롯출현에 관련하는 규칙에 맞는 시간간격으로 기동되고 정지한다. 정지하도록 지시하는 (RSM_RCVEOS)와 RFM은 아이들 상태로 바뀌고, 종료 및 개시의 채널슬롯에 관련하는 상태워드(RFM_TS01 및 RFM_TS01)의 시간교환변경에 적합한 안정상태에 있는 것을 RSM에 지시하는 RSM_DONE를 표명한다. RSM에서의 로드제어신호(RSM_RFM_LOAD1 및 RSM_RFM_LOAD2)에 따라서 새로운 상태워드가 로드된다. 새로운 채널상태를 로드하고 나서, RFM은 RSM_RCV_START에 의해 기동되도록 지시된다.
임의의 활성 채널에 대해서 동작할 때 RFM은 RV에 의해 지시된 수신데이타 바이트를 받아들이고, 이것을 FIFOR의 관련 채널 워드 공간 RDCR2의 특정의 바이트기억위치에 저장한다. 이와 같은 각 공간이 가득차게 됨에 다라서, RFM은 DMAC에 그공간의 내용을 외부 IOP기억장치로(비동기적으로) 이동시키는 요구를 DMARQ에 의해 지시한다. RFM은 또 RV에서 수신한 상태정조를 처리하고 각 프레임에서 수신한 바이트수의 트랙을 확보하고, 프레임종료상태를 INT 구획에 지시한다. RFM은 또 DMAC에 의해 FIFOR의 RDCR1 공간에 제시된 상태조건을 처리하고 제시된 경계체크 및 패리티 에러의 상태를 INT 구획에 통보한다.
11.5 RFM 시간교환워드 1 및 2
RSM의 제어하에서 RFM와 TSR 사이로 전송되는 시간교환워드(RFM_TS01 및 RFM_TS02)를 제29도 및 제30도에 도시한다.
RFM_TS01은 RV에서 수신되고 아직 FIFOR로 전송되지 않는 데이터를 도입하는 8비트필드 RFMD, RFMD에 저장되어 있는 데이터의 패리티를 지시하는 1비트필드 RFMDP, 현재의 채널에 대한 수신데이타가 전송되는 FIFOR/RDCR2 내의 다음의 바이트위치를 지시하는 바이트포인터를 유지하는 2비트필드 RFMBP, 각각의 채널에 대한 RFM의 현재의 상태를 아이들(유효데이타를 수신하고 있지 않다), 액티브 (FIFOR에 놓여진 유효데이타를 수신하고 있다), 또는 ″프레임 사이″(아이들, 중단, 또는 프레임종료의 지시를 RV로부터 수신하고 있고 관련하는 FIFOR 내용이 IOP로 DMA되면 RFM에 의해 INT에 관련상태를 지시할 필요가 있다)의 1개로서 도시한 3비트필드 RFMS, RFM의 인터럽트상태를 아이들패턴을 수신하고, 프레임종료를 검출하고, 중단패턴을 검출하고, CRC 에러를 검출하고, FIFOR/RDCR2에 대해서 버퍼의 오버플로상태를 검출한 것 중 1개로서 지시한 8비트필드 RFMIS 및 예비의 8비트위치(현재 사용하고 있지 않지만 다른 지시에 이용할 수 있다)로 구성되어 있다.
RFM_TS02는 현재의 프레임중에 각각의 채널에 대해서 RFM에서 수신한 바이트이 수를 지시한 16비트필드 RFMFBC 및 예비/미사용의 16비트로 구성되어 있다. 프레임종료, 아이들상태 또는 중단상태를 검출하면 즉시, RFM은 RFMFBC에 있는 값을 조절하고(그 CRC 바이트가 카운트에 확실하게 포함되지 않도록 한다), 조절한 값을 RFM_TS01에 있는 RFMIS의 값과 함께 INT의 인터럽트요구처리 프로세스중에 INT(에 의해 주어 픽업)로 전송된다.
11.6 RFM의 논리
RFM이 논리의 조직을 제28도에 도시한다. RFM은 상태기계논리(220), (상태논리(220))에 의해 공급된 선택기능에 따라서) RV에 의해 제시된 수신데이타 및 상태정보를 전송하는 버스셀랙터(221), (상태논리(220)에 의해 공급된 제어신호에 따라서) 셀랙터(221)에 의해 선택된 정보를 수신하는 데이터 레지스터(222) 및 RFM의 현재유효한 시간교환상태워드를 유지하는 시간교환상태 레지스터(223)( 이 구획에는 이와같은 워드가 2개와 이들을 유지하는 2개의 레지스터(223)이 있다)로 구성되어 있다.
RFM의 정상동작에 있어서는 상태논리(220)은 다음과 같은 천이를 실행한다. 아이들상태(상태 0)에서 출발하고, RSM_RCV_START을 수신하면 즉시 FIFOR 버퍼가 가득참이 아니라는 지시를 대기/체크하도록 상태 4로 이동하고(버퍼가 가득차면 처리에 들어가기 전에 버퍼가 가득차지 않을때까지 상태 4에서 대기한다), 랴랙 패리티 에러에 대해서 체크함과 동시에 DMAC에 의해 제시된 RDCR1 상태를 리드하는 것에 의해 경계체크조건에 대해서고 체크하도록 상태 10으로 이동한다. 이어서 상태 5로 이동해서 데이터를 FIFOR에 저장하고, 슬롯종료지시 RSM_RCV_EOS를 수신시 아이들상태 0으로 되돌아간다. 상태논리(220)의 상세한 설명은 다음과 같다.
상태 0(아이들 상태)
이것은 RFM이 그 시간교환상태워드를 완전하게 교환할 수 있는 상태이다. 이 상태에서는 (RSM_RCV_EOS의 수신에 계속해서) RFM_DONE 지시가 표명되고, RSM에 TSR을 레지스터(223)에서 출력 RFM_TS01 및 RFM_TS02로 지시된 RFM의 현재의 상태를 저장하도록 이동시킬 수 있다. 또, 이 상태에서는 RSM에서의 로드제어신호 (RSM_RFM_LOAD1, RSM_RFM_LOAD2)에 따라서 새로운 상태를 RFM_TS_BUS에서 레지스터 (223)으로 로드할 수 있다.
상태의 로드 후, RSM은 RSM_RCV_START를 표명하는 것에 의해 RFM 처리를 개시한다. 이 상태에서, RFM은 RSM_RCV_START를 대기한다. 이 신호가 활성일 때, RSM_CCR의 수신 DMA 유효화비트(RDE)의 상태가 체크된다. 그 비트가 오프(현재의 채널이 수신에 대해서 사용가능으로 되어 있지 않다)이면, 다음의 상태는 상태 8이다. 이 비트가 온이고, 또한 RFM 상태상세(RFM_TS01의 RFMS 필드 및 RFMIS 필드)가 이 채널에서의 전위 에러를 도시하고 있으면, 상태 8로 진행한다. 그 외의 경우에는 상태 4로 진행한다.
상태 1(RFM_TS01,02에 새롭게 로드된 상태의 조사)
상태상세를 체크해서 현재의 상태에 대해서 필요한 업무를 개시한다. 이 상태에 있는 동안 RSM에 의해 정지되면, 상태 0으로 진행한다. 상태가 이전의 아이들패턴을 검출한 것을 나타내면, 상태 2로 진행한다. 상태가 이전의 데이터를 수신하였지만 아직 FIFOR에 라이트되어 있지 않은 것을 나타내면 FIFOR로 라이트요구, RFM_FIFOR_WR_REQ를 일으켜서 상태 5로 진행한다. 상태가 이전의 프레임종료지시를 RV에서 수신하고 있는 것을 나타내면, 상태 9로 진행하고 이것을 INT에 통보한다. 상태가 전에 패리티 에러 또는 경계체크조건을 수신한 것을 나타내면, 상태 8로 진행한다. 상태가 불량한 논리에러와 조우한 것을 나타내면, 상태 0으로 되돌아간다.
상태 2(처리 데이터 및 프레임상태를 RV에서 수신하고 있다)
이 상태에서는 RV에 의해 제시된 데이터 및 상태(프레임의 종료, 중단, 또는 아이들)을 처리한다. RV_RFM_REQ이 활성인 것은 데이터가 셀랙터(221)로의 RV_RFM _DATA 입력으로 유효한 것을 나타낸다. RV_RFM_REQ_STATUS가 활성인 것은 상태가 셀렉터(221)의 RV_RFM_STATUS 입력으로 유효한 것을 나타낸다. 데이터 또는 상태중 어느 입력이 활성인가에 의해 각각의 승인, RF_RV_D_ACK 또는 RFM_RV_S_ACK가 작동된다.
프레임종료상태 및 데이터가 RV에서 동시에 수신하면, 프레임종료 수신을 지시하도록, 상태상세를 설정하고 데이터수신승인을 RFM_RV_D_ACK에 의해 RV로 부여된다. RDCR2의 FIFOR 데이터버퍼의 상태를 체크하고, 유효데이타의 2바이트 이상을 유지하고 있는지를 확인한다. 유지하고 있으면, RFM_DMARQ_SET를 작동시켜서 DMAC 서비스를 요구하고, 다음의 상태는 상태11이다. 이 시점에서 FIFOR에 유지되어 있는 바이트의 수가 2보다 적으면, RFM_DMARQ_SET는 작동되지 않고, 다음의 상태는 상태 6이다.
RV에서 데이터만 수신하면, 상태상세는 데이터 바이트의 수신을 지시하도록 설정되고, 승인이 RFM_RV_ACK을 경유해서 RV로 부여되고, 수신데이타 바이트의 카운트(RFM_TS02의 RFMBC)가 1씩 증가하고, 다음의 상태는 상태 5이다.
프레임종료상태만 수신하면, 상태상세는 그것을 도시하도록 수정되고, 프레임바이트 카운트는 0보다 크면 1씩 감소하고(CRC의 전송에 대해서 조절하고), 승인이 RFM_RV_S_ACK를 경유해서 RV로 되돌아가고, FIFOR 데이터버퍼에 들어있는 유효바이트의 수가 체크된다. 버퍼에 적어도 3개의 유효바이트가 존재하면, DMARQ로의 요구비트(RFM,_DMARQ_SET)가 작동되고 다음의 상태가 상태 11로 된다.
버퍼에 존재하는 바이트가 3개미만이면, DMARQ로의 요구를 작동시키지 않고, 다음의 상태가 상태 6으로 된다. 프레임종료를 수신하였을 때, FIFOR에 있는 유효바이트의 수는 이 조건이 RV에서 전송된 마지막의 2바이트가 프레임데이타 카운트의 일부가 아닌 CRC의 잉여바이트이며, HDLC 프로토콜하에서 동작하는 채널에서만 발생하기 때문에 중요하며, 따라서, 정확한 수신데이타 카운트를 반영하도록 진행중에 카운트를 조절해야만 한다.
RV에서 중단 또는 아이들의 프레임상태를 수신하면, FIFOR에 유효데이타 바이트의 수가 체크된다. FIFOR에 유효데이타 바이트가 존재하지 않으면, 다음의 상태는 상태 9이다. 1바이트가 존재하면 다음의 상태는 상태 6이다. 2바이트가 존재하면, 프레임 바이트 카운트를 1씩 줄이고, 다음의 상태는 상태 6이다. 3바이트가 존재하면 프레임 바이트 카운트는 1씩 줄이고, 다음의 상태는 상태 3이다.
상태 3(프레임 바이트 카운트를 1씩 감소)
프레임 바이트 카운트를 1씩 줄이고, 다음의 상태는 상태 6이다.
상태 4(FIFOR 데이터버퍼가 비도록 DMAC를 대기)
이 상태에 있는 동안 RSM에 의해 정지되면, 상태 0으로 이동한다.
이 상태에서는 DMARQ에서의 요구신호(DMARQ_RFM_REQ)가 활성일 때, DMAC서비스가 FIFOR 데이터버퍼에 대해서 요구되어 있는 것을 나타내지만(이와 같은 서비스가 완료하면 DMAC는 이 신호를 오프로 한다.) FIFOR 데이터버퍼에 대한 DMAC 서비스의 완료가 지시되어 있는지에 대해서 반복체크된다. 이와 같은 지시를 수신하면 즉시 상태 10으로 이동한다.
상태 5(FIFOR 데이터버퍼로의 수신데이타 대기)
이 상태에서는 FIFOR에 라이트요구, RFM_FIFOR_WR_REQ를 표명한다. FIFOR이 (FIFOR_RFM_ACK에서) 승인하면, 바이트위치포인터 RFM_FIFOR_BPP를 적용해서 수신데이타 바이트가 라이트되는 FIFOR 데이터버퍼내의 바이트위치를 어드레스한다. 포인터를 갱신해서 다음의 위치를 나타내도록 하고, 데이터를 지시하는 상태상세는 FIFOR로 라이트된다. FIFOR 데이터버퍼의 상태를 체크한다. 가득차면, RFM_DMARQ _SET를 작동시켜서 DMAC 서비스를 요구하고 상태 4로 진행한다. 버퍼가 가득차지 않으면, DMARQ에 대한 처리를 실행하지 않고, 상태 2로 진행한다. 상술한 처리가 종료하기 전에 RSM에 의해 정지되면, 상태 0으로 되돌아간다.
상태 6(프레임바이트 카운트를 1씩 감소)
프레임바이트 카운트값을 1씩 줄이고, 다음의 상태는 상태 9이다.
상태 7(상태 클리어)
프레임바이트 카운트를 크릴어하고, 상태상세를 새로운 프레임의 시작을 지시하도록 설정하고, 상태 4로 이동한다.
상태 8(프레임상태를 RV에서 INT로 보낸다)
이 상태는 RSM_CCR의 RDE(수신 DMA 유효화)비트가 오프인 결과로 들어간다. 이 상태에서는 RV에서 수신된 모든 프레임상태가 RFM_IN_REQ의 작동에 의해 INT로 보내지고, RFM_TS01.02에서 제시된 RFM 상태의 INT에 의해 처리된다. 수신된 데이터는 모두 버려진다. RSM_RCV_EOS가 작동되면, 상태 0으로로 되돌아간다. 데이터를 그 채널에 관한 정상인 DMA처리에 의해 수신할 경우, 채널의 CCR중의 RDE 비트가 활성에 설정되어 있는 것을 확인하는 것은 호스트/IOP 복합체의 책임이다.
상태 9(에러 또는 프레임상태를 INT에 보고)
INT로의 인터럽트요구, RFM_INT-REQ가 울려져서 에러 또는 프레임상태가 보고된다. 가능한 인터럽트는 FIFOR 패리터에러(상태 10을 참조), 경계체크 조건발생 또는 프레임종료 지시를 수신한다. 패리티에러 또는 경계체크조건이 존재하면 상태 8로 진행하고, 정상 프레임종료가 보고되면 상태 7로 진행하다.
상태 10(경계체크비트를 FIFOR에서 리드)
현재의 채널의 RDCR1공간에 관해서 RFM_FIFOR_RD_REQ를 표면한다. FIFOR이 이 요구를 승인하면, FIFOR의 패리티에러(FIFOR_PARITY_ERROR의 활성)을 체크한다. 이와 같은 에러가 나타나면, 상태 9로 진행하고 이 발생을 표시하는 상태지시기를 설정한다. RDCR1이 관련 DMAC 전송중에 경계체크가 발생한 것을 나타내면, 이 상태를 지시하도록 상태상세를 설정하고 상태 9로 진행한다. FIFO 패리티에러도 경계체크조건도 발생하고 있지 않으면 상태 1로 진행한다. RSM에 의해 정지되면 상태 0으로 진행한다.
상태 11(프레임바이트 카운트 감소)
프레임바이트 카운트를 1씩 줄이고, 상태 4로 진행한다.
11.7 TMF의 기능
전송 FIFOR의 관리가 TFM은 시분할 다중동기요소이다. TFM은 BTDM에 채널 타임슬롯이 나타내는 것과 동기해서 RSM에 의해 기동 및 정지된다. TFM은 FIFOR에서 TV로의(활성채널에 관한) 통신전송데이타의 전송을 관리한다. 이와 같은 데이터는 FIFOR의 TDCR(전송 DMA구성 레지스터)공간에서, 특히 TDCR2 공간(제 7도 및 제 36도)에서 (4개이하의 바이트의 조합에서)큐된다. 데이터는 DMAC에 의해 (4개 이하의 바이트의 조합에서) 외부 IOP 기억장치에서 FIFOR로 전송되고, TFM에 의해 FIFOR에서 한번에 1바이트씩 취급된다. 각 채널의 큐에 대한 제어정보는 FIFOR의 관련 TDCR1 공간에 저장된다.
FIFOR의 TDCR1 및 TDCR2의 각 공간에 저장되어 있는 정보의 형태 및 내용을 제35도 및 제 36도에 도시하고 있지만 양자에 대해서 이것 및 이하의 DMAC의 설명에서 간단하게 서술한다.
TDCR1(제35도)는 1비트지시공간 3개, 2비트지시공간 3개, 16비트지시공간 1개 및 예비/미사용 공간 7개를 구비하고 있다. 1비트지시는 ECD(체임 종료 검출), EFD(프레임 종료 검출) 및 NDI(데이타지시없음, DMAC 서비스가 버퍼종료조건과 조우하고 전송할 그 이상의 데이터가 남아 있지 않은 것을 의미한다)이다. 2비트지시는 TBC(전송버퍼카운트. TV로 전송할 FIFOR/TDCR2에 있는 다음의 바이트를 지시한다). TOPQ(큐의 선두, 큐서비스의 어떠한 경우에 있어서도 DMAC는 4데이타 바이트 이하를 전송할 수 있고, 이 지시기는 최초의 「유효」바이트의 위치를 지시한다) 및 PE(하기의 4개의 DMA 패리티 에러상태의 1개를 즉, 에러없음, FIFOR 패리티에러, DMAC 제어 RAM 패리티에러 FIFOR 및 DMAC 제어 RAM의 쌍방에서 발생한 패리티에러)이다. 16비트의 지시, TDBC(전송 DMA 바이트카운트)는 DMAC가 데이터를 추출하는 현재의 외부데이타버퍼의 바이트길이를 나타내고 DMAC에 대한 명령체인점을 간접적으로 지시한다(또, 상세한 설명에 대해서는 다음의 DMAC의 설명을 참조).
TDCR2(제36도)는 4개의 전송데이타바이트공간, TDB1∼TDB4로 이루어지는 큐를 구비하고 있고, 이것에 DMAC에 의해 추출한 전송데이타를 놓는다. 상술한 바와 같이, DMAC의 어떠한 경우에 있어서도 4이하의 바이트가 추출되어 큐에 놓이고, 그와 같이 설치된 최초의 유효바이트의 기억위치가 TDCR1의 TDPQ지시기에 의해 규정된다.
TFM은 채널통로처리의 실시간요건에 따라서 FIFOR의 전송데이타큐의 보충을 적시에 개시하는 책임을 갖고 있다. TFM은 FIFOR의 전송데이타큐의 상태를 각 활성채널에 대해서 감시하고, 큐가 비게 됨에 따라 TFM은 외부 IOP 기억장치에 대해서 DMAC에 의한(동기)보충처리를 개시하는 요구를 DMACQ에 표명한다.
각 활성체널에 대한 DMAC 서비스의 상태를 지시하는 제어정보는 FIFOR내의 채널의 TDCR 워드공간(제 7도)에 저장되고 있고, TFM은 TDCR1의 최초의 바이트의 제어정보 TDFSW(전송데이타 FIFO 상태워드)를 감시하고, 전송데이타큐의 프레임종료점을 검출함과 동시에 TV를 경유해서 TF1로 관련신호를 전송하고, TF1이 비트지향프로토콜용으로 구성된 채널(예를 들면 HDLC)에 관해서 CRC 및 플래그삽입기능을 실행할 수 있도록 한다. 이와 같은 때에 TFM은 그 시간교환워드의 프레임카운트를 1씩 증가시키고, 프레임전송정보를 호스트시스템으로 전송하는 인터럽트요구를 INT로 보낸다(실제로 정보를 전송하는 방법의 상세에 대해서는 다음의 INT의 설명을 참조).
전송데이타를 추출하는 DMAC 처리는 IOP/호스트시스템에 대해서 어느 정도의 자율성을 갖는 IOP 기억장치내의 데이터블럭(상세한 설명에 대해서는 다음의 DMAC의 설명을 참조)에 대한 추출명령의 체인화를 고려하고 있다. TFM은 또 TDCR1/TDFSW 정보를 체인종료검출(ECD)지시에 대해서 감시한다. 이와 같은 지시를 검출하면, 즉시 TFM은 TV를 경유해서 TL1로 체인시지를 중계하고, 연쇄블럭에 대한 DMAC 서비스가 유효하게 될 때까지 TL1이 필요하면 가득참 패턴을 삽입할 수 있도록 한다. 체인전송조건은 INT에도 보고된다(다음의 INT의 설명을 참조). 이때에 TFM은 관련채널에 관해서 활성화되게 하여 채널을 초기 설정하고, TFM을 재작동시키기 위해서는 SIO/IOP에 의한 명백한 처리가 필요하며(다음의 SIO의 설명을 참조), IOP/호스트시스템과 DMAC 사이의 필요한 협동에 의한 확실한 체인화는 채널통신을 재개하기 전에 실행된다.
TFM이 활성채널에 관한 동작을 실행하고 있는 동안, RSM에서의 슬롯종료지시, RSM_XMIT_EOS에 의해 중지되면, 그 채널에 대한 TFM의 상태를 규정하는 시간교환워드, TFM_TS01이 RSM에 의해 TSR에 유지된다. 다음에 나타나는 채널이 활성이면, 그 채널에 대한 TFM의 상태를 규정하는 다음 1개의 워드 TFM_TS01이(RSM에 의해 TSM으로부터)TFM에 로드되고, TFM이 RSM에서의 신호 RSM_XMIT_START에 의해 기동되고, 새로운 채널에 대한 처리가 재기된다.
교환기간중 RSM에 의해 보존되어 TFM 상태워드는 TFNM에 의해 FIFOR에서 페치되고, RSM이 현재의 채널슬롯동작을 정지하였을때는 아직 전송되고 있지 않은 전송데이타바이트가 있어도 포함하지 않는다. 그 이유는 페치된 각 전송데이타가 TV에서의 요구에 의해 개시되고, TFM 승인과 함께 바이트를 TV로 전송해서 정상으로(정지를 끼우지 않고) 종료하기 때문이다. TV의 논리는 정지하였을 때, TFM으로의 미해결의(승인되지 않음) 데이터페치요구를 갖고 있으면, 그 요구를 제기하여 그것을 필요로 하는 상태를 보존하고, 동일한 채널에 대해서 다음에 재시동할 때 동일한 요구를 TFM에 제시하도록 구성되어 있다. TFM의 논리는 FIFOR에서의 전송데이타의 페치를 완료하기 전에 정지할 때 요구를 취하여 동일한 채널의 다음의 서비스시에 TV가 그 요구를 TFM에 재발생하도록 구성되어 있다. FIFOR 전송버퍼큐에서 데이터를 페치하기 위한 TFM에 대한 다음의 바이트위치를 규정하는 포인터 TBC는 페치된 바이트가 TV에 전달될 때까지 TFM에 의해서 변경되는 일은 없으므로, TFM이 페치가 완료하지 않는 동안에 정지하면, TV가 그 요구를 반복할 때 정확한 바이트를 TFM으로 FIFOR에서 확실하게 페치하는 것에 특별한 처리가 필요없다.
11.8 TFM의 시간교환워드
TFM의 시간교환워드 TFM_TS01의 형태 및 내용을 제32도에 도시한다. 이 워드는 실제로 사용되는 6비트와 예비/미사용의 26비트로 구성되어 있다. 상기 설명한 이유 및 후에 상태 0 및 6에서 따라 설명하는 이유에서 이 워드는 불완전페치(TFM이 RSM에 의해 정지되었을 때 완료하고 있지 않는 페치)에 관련하게 전송데이타를 포함하고 있지 않다.
6사용비트는 관련채널에 대해서 이미 전송되어 있는 전송데이터의 프레임의 수를 나타내는 4비트 필드 TFMFC(TFM 프레임 카운트) 및 관련채널에 대한 TFM의 상태를 (SIO/IOP의 외부동작에 의해)초기화된 상태(다음의 SIO의 설명을 참조), 정상처리, 패리티에러 또는 논리에러에 의해 정지된 상태 또는 체인종료조건에 의해 정지된 상태의 1개로서 규정하는 2비트필트 TFMS(TFM 상태)를 구비하고 있다.
11.9 TFM 논리
TFM의 논리조직을 제31도에 도시한다. TFM은 상태기계논리(240), FIFOR/TDCRR1에서 페치된 TDFSW 정보를 저장하는 레지스터(241),FIFOR/TDCR1에서 페치된 TDFSW 정보를 저장하는 레지스터(241), TFM에서 현재처리되어 있는 채널에 관련하는 TFM 시간교환워드 TFM_TS01을 저장하는 레지스터(242) 및 (245)에 나타나는 전송데이타워드의 데이터바이트부분을 선택하는 선택된 바이트를 출력(246)으로 전송하는 멀티플랙서/셀랙터회로(243)으로 구성되어 있다.
레지스터(241)은 FIFOR_DATA 버스(245)를 경유해서 TDCR1 상태정보를 수신하고 그 출력상태 데이터를 예를 들면 제어출력 TFM_TDFSW_DATA에 제시한다. 시간교환워드레지스터(242)는 RSM에 의한 시간교환동작중에 RSM_TS_BUS에서 로드되고, 그 현재의 내용을 TFM_TS01출력에 제시하고, TFM DL 정지하고, 또한 논리(240)이 TFM_DONE를 제시(시간교환워드의 보존에 적절한 안정상태 0에 있는 것을 지시)할 때, RSM에 의해 TSR에 보존되도록 한다.
멀티플랙서/셀랙터(243)은 논리(240)에 의해 동작되고 그 입력(245)에 관한 전송데이타바이트를 FIFOR에서 선택한다. TV에서의 페치요구 TV_TFM_REQ에 응답해서 전송데이타는 FIFOR에서 셀랙터입력(245)로 워드병렬형태에서 리드된다. 논리(240)은 TDFSW 래지스터(241)에 제시할 적절한 바이트, TFM_TV_ACK를 표명하고 데이터가 TV에 의해 순식간에 (50나노초이내에)도입된다.
논리(240)은 TDFSW의 ECD(체인의 종료 검출)지시기부를 레지스터(241)에서 TV로 보낼 때, TFM_TV_EOF를 표명한다. 논리는 처리종료상태를 INT로 전달할 때, TEM_INT_REQ와 협동해서 TFM_EOP_STATUS를 표명한다(처리종료인터럽트상태의 처리의 상세에 대해서는 이하의 INT의 설명을 참조). 논리의 다른 출력 및 입력에 대해서는 이하에 그상태의 기술에서 설명한다.
논리(240)의 상태는 다음과 같다.
상태 0(아이들 상태)
RSM이 (TFM과 TV 또는 FIFOR 또는 DMARQ 사이의 과도적 상호작용에 의한 손실 또는 애매함의 가능성 없이) TFM_TS01 정보이 시간교환을 실행하기전에 ″안전″인 상태에서 TFM은 그 종료지시(TFM_DONE)를 RSM에 표명하고, TFM이 RSM에 의한 상태시간교환의 안전한 실행에 적합한 안전상태에 있는 것을 나타낼 수 있다. RSM에서의 슬롯종료/정지지시(RSM_XMIT_EOS)의 후, 이상태로 들어가면 RSM은 레지스터(242)의 내용을 TSR의 관련채널공간에 저장한다. 다음의 채널슬롯이 활성채널에 관련되어 있으면, RSM은 이전에 보존한 관련상태워드를 RSM_TS_BUS에서 제시하고, RSM_TFM_LOAD를 표명해서 논리(240)에 그 워드를 레지스터(242)로 로드시킨다. RSM_TFM_LOAD의 작동시, 논리(240)은 내부상태비트(도시하지 않음) NEW_ TDFSW로 리세트하며, 이 비트가 설정되면, TDFSW/TDCR1의 상태가 변경되고 FIFOR내의 관련정보를 갱신하도록 TFM에 의한 특정 처리를 요구할 수 있는 것을 지시한다(다음의 상태 2 및 상태 6의 설명을 참조).
상태시간교환의 완료후, RSM은 RSM_XMIT_START를 표명해서 TFM을 재시동시킨다. 이때, RSM CCR내의 전송 DMA 유효화 비트(TDE)가 온이면, 상태논리가 상태 1로 이동하고, 그외의 경우는 상태 9로 이동한다.
상태 1(새로이 로드된 상태를 조사)
이 상태에서, 상태 0이 동작(현재 취급되고 있는 채널에 대한 TFM_TS01)기간중에 레지스터(242)에 새로이 로드된 상태를 조사한다. 상태가 FIFOR의 전송데이타큐(새롭게 초기설정된 상태를 나타내는 필드 TFMS)를 채우는 DMAC의 처리가 필요한 것을 나타내고 있으면, DMACQ로의 요구, TFM_DMACQ_SET가 표명되고, 논리가 상태 2로 이동한다. DMACQ로의 요구는 순시간에 (50나노초이내에) 요구를 DMACQ로의 요구에 의해 전송데이타를 외부 IOP 기억장치에서 FIFOR로 페치하도록 DMAC에 의한 비동기동작이 발생하고, 신호 DMACQ_TFM_REQ는 DMAC가 그 동작(관련되는 채널에 관한 TFM 서비스의 2사이클이상을 포함할 수 있다)을 완료할때까지 오프가 되지 않는다. 그런, DMACQ는 그 DMACQ_TFM_REQ 지시기능에 관해서 TFM과 동기해서 동작하므로, 신호는 관련채널이 DMAC의 동작에 의해 오프가 되지 않는 한 및 오프로 되기까지 관련채널이 TFM에 의해 서비스될 때마다 오프로 되어 있다.
레지스터(242)의 상태상세가 처리상태를 나타내고 있으면 논리(240)은 각각 DMACQ_TFM_REQ가 활성 또는 비활성에 따라 상태 2 또는 상태 3으로 이동한다. 상술한 바와 같이, DMAC가 FIFOR 재가득참에 관한 TFM 요구를 처리함에 따라 비동기적으로 동작하지만. DMACQ는 이 DMACQ_TFM_REQ승인지시기능(다음의 DMACQ의 설명을 참조)에 관해서 RSM 및 TFM과 동기해서 동작하고 이 기능은 DMAC가 원하는 동작을 완료했을 때까지만 모든 채널에 대해서 동작해제된다. 그 때문에 이 신호의 활성상태는 TFM에 의해 현재처리되고 있는 채널에 항상 관련해 있고, 요구된 DMAC 기능(FIFOR 큐의 가득참)이 불완전한 것을 나타낸다.
상태상세가 동일채널에 전의 처리구간에서의 에러 또는 체인종료 조건을 검출한 것을 나타내고 있으면, 논리는 상태 9로 이동한다.
상태 2(채워질 FIFOR의 데이터 버퍼를 대기)
이 상태(상태 1 또는 상태 6에서 들어간다)에서, 상태논리는 현재처리되어 있는 채널에 대해서 이전에 TFM_DMARQ_SET를 표명하는 것에 의해 요구되고 있는 DMAC의 동작을 통해서 채워질 FIFOR의 전송 데이터 버퍼를 대기한다.
이 동작이 완료했을 때의 지시는 DMARQ_TFM_REQ가 현재 처리되고 있는 채널에 대해서 오프로 되면 부여된다(상기 상태 1의 설명을 참조). 동작이 현재의 슬롯기간중에 종료하면, 논리는 상태 3으로 이동한다.
완료저에 슬롯의 종료(RSM_XMIT_EOS)를 수신하면, TDFSW가 변경되는 것을 나타내는 각각의 내부래치, NEW_TDFSW의 설명 여부에 의해 상태 12 또는 상태 0으로 이동한다. 래치가 설정되어 있으면, 논리는 상태 12로 이동하기 전에 TFM_FIFOR _WR1을 표명한다(출력 TFM_TDFSW_DATA에서 FIFOR/TDCR1로, 교대로 TDFSW의 라이트를 개시한다). 전에 주기한 바와같이, 이 래치는 요구된 처치의 완료에 의해 TDFSW가 변경되였을때에 한해 설정되고, 래치는 각 새로운 슬롯의 시작에서 항상 리세트되며, 이 때문에 슬룻기간동안 설정조건에 그것이 나타내는 것은 항상 현재처리되어 있는 채널에 대해서 요구된 처리가 완료한 것 및 관련하는 새료운 TDFSW 정보를 FIFOR에 저장할 필요가 있는 나타내고 있다.
상태 3(TV에서의 데이터요구를 대기)
TV_TFM_REQ가 활성(TV가 페치될 데이터를 요구)이면, 논리는 TFM_FIFOR_RD2를 표명해서 상태(TDCR1)워드 및 전송데이타(TDCR2)워드의 FIFOR에서의 백투백페치를 개시하고 상태 4로 이동한다. 데이터페치는 전부 4바이트의 TDCR2 큐를 발생하지만, 논리는 멀티플랙서/셀렉터(243)을 동작시키고, 페치된 TDFSW의 버퍼카운트 포인터 TBC를 사용해서 TFM_TV_DATA에 나타내는 1개의 바이트만을 선택한다. 도착시, 상태워드는 레지스터(241)에 놓이고 데이터의 소정의 바이트가 즉시 셀렉터 (243) 및 TFM_TV_DATA를 경유해서 TV로 보내어진다. 이들 동작이 완료하면, TBC의 값이 페치될 다음의 데이터바이트를 지시하도록 조절되고, NEW_TDFSW 래치가 설정된다.
슬롯종료(정지)지시 RSM_XMIT_EOS를 이 상태기간중에 수신하면, 논리는 NEW_TDFSW의 상태에 의해 상태 12 또는 상태 0으로 이동한다. 그 래치가 설정되어 있으면, 논리는 TFM_FIFOR_WR1(새로운 TDFSW 정보를 FIFOR로 되돌려 리라이트)를 표명하고 상태 12로 이동한다. 래치가 설정되어 있지 않으면, 논리는 상태 0으로 이동한다.
상태 4(TDFSW 및 전송데이타를 FIFOR에서 수신)
FIFOR이 FIFOR_TFM_RD_ACK를 작동시키는 것에 의해 최초의 리드요구(상태 3)을 승인하면, TDFSW 정보가 레지스터(241)로 래치되고, FIFOR 패리티지시 (FIFOR_PARITY_ERROR)이 체크된다. 패리티에러가 나타나면, 패리티에러를 나타내도록 상태를 설정하고, 상태 11로 진행한다. 그외의 경우에는 상태 13으로 진행하고(상태 3에서 출발되었다), 제2의 리드요구로부터의 전송데이타의 동작에 대한 준비를 한다.
RFM_XMIR_EOS에 의해 정지되면, 논리는 TFM_FIFOR_WR1을 표명하고, NEW_ TDFSW가 설정되어 있는 경우 상태 12로 이동한다. 래치가 설정되어 있지 않으면 상태 0으로 이동한다.
상태 5(FIFOR에서 보내어진 전송데이타의 비이트를 선택)
이 상태에서 상태 3에서 출발된 이중리드요구의 데이터부분이 FIFOR_DATA에 도착하고 FIFOR에서의 명백한 승인없이 수신된다. 수신된 데이터는 전워드(TDCR2)이고, 그 워드의 바이트의 선택은 논리에 의해 상태 4의 기간중에 레지스터(241)에 저장된 TDFSW버퍼 카운트값의 기능으로 이루어진다. 선택된 바이트는 TEM_TV_DATA에서 제시되고, 그 위치에서 유효일 때, TEM_TV_AKC가 표명되고, TDFSW의 NDI비트도 TFM_TV_NDI로서 TV로 보내어진다. 선택되는 바이트가 TDCR2큐의 마지막 바이트인 것을 TBC가 나타내고 있으면(레지스터(241)의 출력에서), TDFSW의 체인종료시 (ECD)의 프레임종료시지(EFD)도 각각 TFM_TV_EOC 및 TFM_TV_EOF를 거쳐서 TV로 제시된다. 이들의 처리가 완료되면 논리는 상태 10으로 이동한다.
RSM에 의해 정지되고 NEW_TDFSW가 설정되어 있으면, 논리는 TFM_FIFOR_WR1를 표명하고 상태 12로 이동한다. 정지되고 래치가 설정되어 있지 않으면, 논리는 상태 0으로 진행한다.
상태 6(TDFSW의 EFD 지시기 및 ECD의 상태 체크)
이 상태에서 상태 10을 경유해서 상태 5로부터 들어간다.
레지스터(241)에 현재유지되어 있는 TDFSW에 체인종료 및 프레임종료의 양쪽이 나타나고 있으면, 전송프레임 카운트(TFM_TS01 레지스터(242)의 TFMFC)가 1씩 증가하고, 상태상세(레지스터(241)의 TFMS)가 도달된 체인종료 상태를 나타내도록 조절되고, 논리는 상태 11로 이동한다. 체인종료만이 나타나고 있으면, 상태상세 TFMS만이 도달한 체인종료상태를 나타내도록 바뀌고, 프레임종료가 1씩 증가하고, TFM_DMARQ_SET가 표명되고, 논리가 상태 2로 진행한다. 체인종료도 프로임종료도 나타나고 있지 않으면, TFM_DMARQ_SET가 표명되고, 논리는 상태 2로 이동한다.
상태 7(TV에서 별도의 데이터요구를 대기)
이 상태는 TDFSW가 현재 레지스터(241)에서 이용할 수 있다고 하는 점에서 상태 3과 다르며, 따라서, TV가 이 상태중에 데이터를 요구하고 있으면, 논리는 FIFOR/TDCR2에 관해서 1개 리드, TFM_FIFOR_RD1만이 표명하고 상태 8로 이동한다.
RSM에 의해 정지되고 또한 NEW_TDFSW가 설정되어 있으면, 논리는 TFM_ FIFOR_WR1(FIFOR내의 변경된 TDFSW를 라이드한다.)를 표명하고 상태 11로 진행한다. 정지하고 또한 TDFSW가 변경되었으면, 논리는 상태 0으로 진행한다.
상태 8(데이타가 FIFOR로부터 도착하는 것을 대기)
데이터가 FIFOR로부터 도착하면, TDFSW의 TBC 비트를 사용해서 적절한 바이트를 선택하고 TBC 값도 체크해서 선택되어 있는 바이트가 마지막 큐위치에 있는지(즉, 큐가 이 바이트에 전송에 의해 비어 있게 되는지)를 체크하고 확인한다. 선택된 바이트가 마지막이면 TDFSW의 ECD 및 EFD 지시기가 선택된 데이터 바이트와 함께 TV로 보내지고, 논리는 상태 6으로 이동한다. 선택된 바이트가 큐의 마지막 바이트가 아니면, TBC 값을 큐의 다음의 바이트를 지시하도록 갱신하고, NEW_TDFSW가 설정되고 논리는 상태 7로 진행한다.
RSM에 의해 정지되고 또한 NEW_TDFSW가 설정되어 있으면, 논리는 TFM_FIFOR_ WR1(FIFOR로 변경된 TDFSW를 라이트)를 표명하고 상태 10으로 진행한다. 정지되고 또한 TDFSW가 변경되지 않으면 논리는 상태 0으로 진행한다.
상태 9(TDFSW를 갱신할 필요성을 체크)
이 상태(상태 1 또는 상태 11로부터 도달한다)에서, 논리는 TDFSW를 갱신할 필요성을 체크하고 확인한다. 필요성이 있으면 논리상태 12로 이동한다. 갱신의 필요성이 없으면 논리는 상태 0으로 진행한다.
상태 10(FIFOR에서 수신한 TDFSW의 유효성을 체크)
상태 4의 기간중에 FIFOR에서 수신한 TDFSW가 그 큐의 선두(TOPQ) 및 버퍼 카운트(TBC) 포인터를 평가하는 것에 의해 유효성에 대해서 체크된다.
TOPQ가 TDCR2큐의 최초의 바이트기억위치를 지시하고, TBC가 큐의 마지막의 바이트위치를 지시하고 있으면, 논리는 상태 6으로 진행한다. TOPQ가 최초의 위치를 지시하고 있고, TBC가 마지막의 위치이외를 지시하고 있으면, 논리는 상태 7로 진행한다.
TOPQ가 제2의 바이트 위치를 지시하고, TBC가 최초의 바이트위치를 지시하고 있으면, TDFSW는 무효이다. 이 상황에서는 상태상세 TFMS는 에러를 나타내도록 설정되고, 논리는 상태 11로 진행한다. TOPQ가 제 2의 바이트위치를 지시하고, TBC가 최초 또는 마지막의 위치이외를 지시하고 있으면, 논리는 상태 7로 진행한다.
TOPQ가 제3의 바이트위치를 지시하고, TBC가 최초 또는 제2의 위치를 지시하고 있으면, TDFSW는 무효이다. 상태상세는 에러를 나타내도록 설정되고, 논리는 상태 11로 진행한다. TOPQ가 제3의 위치를 지시하고, TBC가 마지막의 위치를 지시하고 있으면, 논리는 상태 6으로 진행하고, TOPQ 및 TBC가 모두 제3의 위치를 지시하고 있으면, 논리는 상태 7로 진행한다.
TOPQ가 마지막의 바이트위치를 지시하고, TBC가 동일한 위치를 지시하고 있으면, 논리는 상태 6으로 진행한다. TOPQ가 마지막의 바이트위치를 지시하고, TBC가 다른 어느것인가의 위치를 지시하고 있으면, 에러상태상세가 설정되고, 논리는 상태 11로 진행한다.
이 상태를 나오기 전에 TBC 전송데이타바이트 포인터는(마지막의 바이트위치가 지시되어 있지 않는 경우) TV에서의 다음의 요구를 수신할때, FIFOR에서 페치될 다음의 바이트를 지시하도록 조절된다. 이 상태에서는 상태 5로부터 들어가지만, 상태 5의 전송데이타 페치 동작이 TV에 대해서 완료하고 있는 경우에 한정되어 있는 것에 주의한다. 또 포인터 TBC가 이 시점에서 마지막의 위치를 지시하고 있으면, DMAC의 처리에 대한 요구가 제시되어 있어 DMACQ_TFM_REQ(TFM에 큐가 처리되어 있는 것을 나타낸다)의 동작을 발생하고, 이 신호가(처리의 종료후 DMAC에 의해)작동해제 되면 즉시 TFM 상태논리가 새로운 TBC값 및 TOPQ값을 구비하고 있는 DMAC에 의해 공급된 새로운 TDFSW 정보를 페치하도록 요구되는 것에도 주목할 점이다.
상태 11(INT에 인터럽트요구를 발생)
상태상세가 패리티에러를 나타내고 있으면, TFM_PARITY_ERROR을 경유하고 그 외의 경우에는 TFM_INT_REQ를 경유해서 INT에 인터럽트요구를 표명하고, 상태 9로 진행하고, TFM_INT_REQ의 표명은 INT에 논리에 의해 현재표명되고 있는 TFM_EOP _STATUS가 유효인 것을 나타낸다(이 정보의 처리의 방법에 대해서는 다음의 INT의 설명을 참조).
상태 12(갱신된 TDFSW를 FIFOR로 라이트)
(TDFSW를 갱신하기 위해)다른 어느것인가의 상태에서 발행된 라이트요구, TFM_FIFOR_WR1을 FIFOR이 승인하는 것을 대기한다. FIFOR_TFM_WR_ACK가 활성되면, 라이트요구의 표명을 해제하고 상태 0으로 진행한다.
상태 13(RD2동작의 제 2의 리드에 대해서 정렬)
이 상태는 FIFOR의 타이밍을 TFM_FIFOR_RD2에 의해 제시된 1쌍의 연속리드요구의 제2의 리드에 관해서 정렬시키는 데에 사용된다. 다음의 상태는 상태 5이다.
1. 인터러트처리요소-INT,SIO
12-1. 개요
IOP/호스트에 관한 인터럽트보고는 인터럽트처리기(INT) 및 슬레이브입출력 (SIO)구획에 의해 처리된다. INT는 IDLC를 통해서 및 L1회로로부터 통신채널에 이벤트에 관련하는 요구뿐만 아니라 하드웨어의 고장에 관련하는 요구도 감시하고, 관련된 인터럽트요구를 인터럽트원을 지시하는 관련벡터정보와 함께 SIO에 제시하고, 관련상태정보를 TSR 및 다음에 설명하는 INT 공통레지스터(IHEISR)의 1개에 저장하는 것을 관리한다. SIO는 인터럽트요구 및 벡터를 IOP/호스트시스템에 전달하고, IOP에서 TSR 및 IDLC 및 L1회로의 양쪽의 레지스터로의 액세스경로로 되어 IOP가 인터럽트요구에 관련하는 저장상태를 비동기에 추출할 수 있도록 한다(예를 들면 제 5도의 경로(89)를, 또 다음의 SIO의 설명을 참조). SIO는 인터럽트처리 이외의 처리(초기설정/리세트기능, 시간교환상태의 동작프로그래밍 등)에도 관련하고 있지만, 그 주된 관계가 인터럽트요구 및 상태정보의 상태정보의 전송에 있으므로 이 장에서 설명한다.
12.2 INT의 기능
INT는 보고할 가치있는 사항에 관계하는 요구를 IDLC를 통해서 및 L1회로로부터 감시하고, 관련조건 또는 이벤트의 원을 식별하는 벡터(1바이트)를 조립하고, 이벤트/조건에 관계하는 원을 식별하는 벡터(1바이트)를 조립하고, 이벤트/조건에 관계하는 상태정보의 저장을 감시하고, 벡터를 요구와 함께 SIO로 전달한다. SIO는 대응하는 요구를 SIO_INT(제43도), 즉 IOP에 의해 연속적으로 감시되는 선을 경유해서 IOP에 제시된다. 이 선이 활성이고 또한 IOP가 이 처리에 이용할 수 있는 때, IOP는 요구를 승인하고 관련벡터를 SIO에서 추출한다. IOP는 벡터를 사용해서 IDLC 또는 L1의 인터럽트원을 확정하는 테이블 록업동작을 실행하고, SIO를 통해서 관련상태정보를 추출하도록 동작한다.
IDLC에서 INT에 보고하는 가치있는 이벤트를 주로 3개의 부류, 프로세스종료 (EOP)채널 인터럽트, 채널화에러인터럽트 및 하드웨어 에러인터럽트로 분류된다. EOP 및 채널화에러인터럽트는 각각의 원채널에 대응하는 32의 부분류를 갖고 있다. EOP 인터럽트는 개별채널에 있어서의 예상이벤트(예를들면 특정의 채널의 데이터 또는 상태정보를 IDLC RAM의 한 개에서 추출할 때의 패리티에러)를 나타낸다. 하드웨어 에러인터럽트는 모든 채널에 영향을 줄 가능성이 있는 파괴적인 하드웨어에러를 나타낸다.
2개의 벡터분류가 L1회로에 의해 실행되는 요구에 할당되어 있다. 이들은 L1요구를 하드웨어에러이벤트 및 채널조건/에러이벤트으로서 구별한다. L1요구/벡터는 채널화 IDLC 요구보다 전에 참가하도록 우선권이 부여되어 있지만. IDLC 비채널화하드웨어에러 이전은 아니다. 인터럽트의 각 분류에 관해서 대응하는 벡터가 INT에 의해 형성되고, 관련요구와 함께 SIO/IOP로 전달된다. L1 및 IDLC에서 출발되는 요구에 관련하는 상태정보는 각각 L1회로 및 IDLC에 저장하고, SIO/IOP의 비동기동작에 의해 추출된다. IDLC 하드웨어에러에 관련되는 상태정보는 INT 레지스터 (IHEISR)에 저장되고, IDLC 채널화이벤트 및 에허조건에 관련하는 상태는 TSR에 저장된다(다음의 EOPISR 큐 및 CEISR 레지스터공간의 설명을 참조). INT에 의해 발생되는 IOP/SIO로 전달되는 벡터는 인터럽트부류/원을 나타낸다. 벡터의 형성 및 용법에 대해서는 다음 12.2.6에서 설명한다. IDLC 상태파라미터의 포맷 및 기능적취급에 대해서 다음에 설명한다.
12.2.1 처리종료(EOP) 채널인터럽트
이들은 통신채널에서의 특정의 예측이벤트(예를 들면 송수신 처리에 관한 수신프레임종료 및 전송체인종료의 각 이벤트의 검출 등)을 나타낸다. 관련된 처리종료 인터럽트상태(EOPIS)워드(32비트씩)는 개개의 송수신요소에 의해 래치되고, INT의 지도하에 RSM에 의해 TSR의 처리종료 인터럽트채널 레지스터(EOPIS)공간에 저장된다.(제 6도)
각 채널은 TSR내의 이와 같은 공간 16개(제 6도, 제 41도의 EOPISR01∼ EOPISR16)으로 이루어지는 큐가 할당되고, 이것은 INT 및 IOP에 의해 순환버퍼로서 관리된다. 각 채널은 또 이하에 설명되는 채널화 에러인터럽트상태(CEIS)워드를 저장하는 1개의 레지스터공간(CEISR)을 TSR에 구비하고 있다. 각 채널의 CEISR에 저장되어 있는 정보는 그 채널의 EOPISR 큐의 상태를 나타내고 새로운 EOPIS 정보를 저장하는 데에 이용할 수 있는 다음의 큐 위치를 나타내는 차기상태기억위치(NSL)포인터를 구비하고 있다(다음의 12,2,2,를 참조). NSL 포인터는 기술된 사항이 포인터의 현재값에 의해 지정된 큐위치에 라이트됨에 따라서 INT에 의해 수정된다.
EOP상태를 나타내는 각 IDLC벡터에 대해서 IOP는 큐에서(SIO를 경유해서)1개의 EOPIS 워드를 리드해야만 한다. 각 채널의 큐에 대해서 현재 미결정의 벡터의 수의 지시(NOV)가 각각의 CEISR/TSR 공간에 저장되고 있다. 이 지시는 상태 엔트리의 큐로의 라이트와 관련해서 INT에 의해 증가되고, 1개 이상의 상태워드가 큐에서 IOP에 의해 제거될 지시를 수신할 때, INT에 의해 감소된다(다음의 단일상태 모드 및 다수상태모드의 설명을 참조), 따라서 지시는 큐에 ″가득참″을 나타내고 있는 것이다. INT는 일정수의 벡터(그 수는 다음에 설명하는 단일상태모드 및 다수 상태동작모드에 대해 다르게 되어 있다.)가 그 큐에 대해서 미결정이 되어 있을때, 큐의 오버플로가 임박해 있는 것을 검출한다.
워드가 언제 큐에 제거되었는지의 명백한 지시는 존재하지 않고, 이와 같은 제거를 큐에 입력하는 순서와 함께 요구사항도 존재하지 않는다. 또, 다수상태 모드에서 실행되는 큐엔트렐에 관해서 이하 설명하는 바와 같이 IOP가 관련벡터를 처리하는 인터럽트 처리루틴에 있는 동안에(이와 같은 루틴의 순화를 고려해서)이와 같은 엔트리를 리드할 필요가 없으면, 또 이와 같은 엔트리에 처리를 그 상태 추출처리에 따라서 승인할 필요도 없지만. 다음의 설명하는 바와 같이, HPCR 토글 및 SWRC 파라미터의 갱신에 의해 그 처리의 지시를 부여한다. 이것에 의해 다른 경우에 IOP 상태 추출처리에 부가되게 되는 실시간의 속박이 완화된다.
상술한 HPCR 토글기능 및 SWRC(상태워드리드카운트)기능을 INT가 감시해서 CEISR 기능 NOV 및 NSL을 갱신하는 기간을 판단하고 후자에 의해 새로운 EOPIS 엔트가 언제어디서에서 실행되는가가 결정된다. 토글 및 SWRC를 저장하는 HPCR 레지스터는 RSM에 마련되어 있다(상술한 RSM의 설명을 참조).
IOP에 의해(″다수상태″모드에서)한번에 리드할 수 있는 큐엔트리의 수에 대해서의 제한도 존재하지 않는다. 따라서 큐에 소정시간에 10개의 EOPIS 워드가 들어있으면, IOP/SIO는 그 추출처리를 1회만 실행하는 것으로 10개 모두(또는 그것보다 적다)추출할 수 있다. HPCR의 토글 및 SWRC 파라미터의 IOP 갱신은 그 큐처리에 강하게 결부되어 있을 필요는 없으므로 IOP가 전의 엔트리로 액세스되고 나서 더욱 다수의 엔트리를(INT/RSM에 의해 큐상에 놓을 수 있고 이와 같은 더욱 다수의 엔트리를 HPCR 엔트리가 갱신되기 전에 추출할 수 있다. 따라서, IOP가 그 HPCR의 갱신에 따라 개별 실행되는 큐액세스 처리에서 추출된 엔트리를 받아들일 수 있다.
당업자에는 원격지지향의 전송이 원격모드에서 수신된 프레임의 수의 지시를 마련하는 것이 이해될 것이다. 따라서, IOP에는 IDLC에 의해 실제로 전송된 프레임의 수를 원격모드에서 예로서 수신된 이와 같은 프레임의 수와 비교하는 능력이 있다. IPO는 또 어떠한 순간에도 어느만큼의 전송프레임을 체인처리를 위해 IDLC/DMAC에 이용가능하게 되어 있는지를 알고 있으므로 IOP는 필요하면 수신프레임종료인터럽트 상태를 추출(EOPISR 큐엔트리)의 처리에 대해서 이용가능하게 되는 프레임의 수를 조정하고, IDLC 큐의 오버플로라는 금지되는 이상동작이 발생할 가능성이 없도록 할 수 있다.
여기서 주목할 점은 IOP의 과부하를 방지하면서 네트워크에서의 채널 링크의 사용을 불충분하게 하지 않도록 전송로드의 인터럽트상태 추출활동을 균형있게 하는 것이 IDLC 기구의 기능이라고 하는 것이다. 그러나 이 균형은 IDLC EOPISR 다수상태모드 큐엔트리(수신프레임종료이벤트를 나타낸다)의 IOP에 의한 추출처리가 관련된 인터럽트벡터의 처리와 별도로 또 토글 및 SWRC에 각 파라미터의 갱신과 별도로 처리(즉 이들 기능을 IOP 내부의 멀티타스크에서 효율좋게 처리할 수 있다)할 수 있으므로, 현재 유요한 것이 명백하게 될 것이다. 또, IDLC벡터에 제시에 따라 상태 큐 및 큐관리가 효율적인 멀티타스크식으로 분리해서 관리할 수 있는 것도 명확하게 될 것이다.
주목할 다른 점은 EOPIS 엔트리가 예를 들면 음성전화신호를 전송하는 클리어 채널과는 별도로 프로토콜통신에 대해서 구성된 채널(예를 들면 HDLC)에 대해서만 실행된다(클리어 채널은 특정 프레임경계한정 플로그 등이 없는 연속흐름으로 데이터를 처리하고 관련된 링크는 별도의 채널에서 전송되는 제어신호의 교환에 의해 확립된다)
EOPIS 워드의 형태를 제 40도에 도시한다. 각 필드의 비트의 수는 필드 니모닉하에 괄호내에 나타내고 있다. 필드 IQO(인터럽트상 오버플로지시기)하에 ″A″는 이 파라미터가 항상 유효인 것, 따라서 관련엔트리가 큐에서 제거될때에만 IOP루틴에 의해 체크될 것을 나타낸다. IQO가 설정되어 큐가 오버플로되는 것을 지시하면, 각각의 채널의 CEISR 파라미터가 (IOP/SIO에 의해) 재초기설정될 때 까지 그 이상의 엔트리는 큐에 들어갈 수 없다.
T 및 R 로 부여된 필드는 각각 전송 및 수신의 처리조건에 관련한다. T필드는 3개의 1비트시지, XMITEOS(도달한 또는 도달하지 않는 채인의 전송종료), XMIT ABT/IDL(보내어진 또는 보내어지지 않는 전송종단/아이들. 채널에서 언더라인 검출의 연속으로서 보내어진다). XMIT UNDR (발생한 또는 발생하지 않은 전송언더라인)으로 구성되어 있다.
R필드는 4개의 필드 ″원(源)″지시 및 6개의 상기지시를 구비하며, 후자의 4개는 1비트 파라미터, 1OSMS 4비트 파라매터, 나머지 1개의 16비트의 항이다. 원지시는 SRC EOF(원이 발생한 프레임의 마지막 또는 마지막이 아니다), SRC ABC(원이 발생한 어드레스 경계 체크 또는 그렇지 않다) 및 SRC IDL( 원이 수신된 아이들 지시 또는 그렇지 않다)를 구비하고 있다. 상태지시는 RDD(수신 RMA 사용금지, 각각의 채널의 CCR에서의 DMA 수신이 사용금지인지 사용가능한지를 도시한다), TX CNT(각각의 인터럽트 요구가 제시되었을 때까지 현재의 체인에서 전송된 프레임의 수가 카운트) RCV OAS (요구가 제시되었을 때 수신 옥테트 정렬상태가 유효), RCV CRC(제시의 시간에 감출된 또는 검출되지 않은 CRC의 에러), RCV OVF(FIFOR 의 수신측이 오버플로우인가 아닌가) 및 바이트카운트, 현재의 수신 프레임 기간중에 IOP기억장치에 DMA된 데이터 바이트의 수를 나타내며, HDLC 프로토콜에 관한 이 지시에는 데이터 및 CRC 바이트의 총수가 포함되고 RCV OPVF가 오버플로를 나타내지 않고 또한 SRC ABT, SRC IDL 또는 SRC EOF 의 1개가 활성일 때에 한하여 유효한다)를 구비하고 있다. 상술한 R필드에 관해서 하기에서 설명한다.
EOP가 활성일 때, 전송카운트 TX CNT 가 유효이고, IOP는 상태파라미터를 체크해서 그 기억장치(RCVF DBC)에 DMA된 데이터의 길이를 확인하고, 프레임의 수신중에 OAS, CRC 또는 OVF 에러상태가 발생했는지 확인해야 한다.
SRC ABC가 활성일 때 , RCV DBC 상태는 유효하다. 전송인터럽트는 계속처리되지만, 수신인터럽트는 제어된다. IOP는 각각의 채널로의 수신을 금지하고, 새로운 경계 어드레스를 프로토콜하고, 수신을 재차 가능하게 하는 것에 의해 이 상태에서 회복한다.
SCR ABT가 활성일 때, 원격지향의 중단신호가 검출되면, 채널은 무조건 프레임을 수신하고 있다. 이것의 발생하면, RCV DBC상태만이 상태필드로 유효하다. RCV CRC 상태지시는 활성으로 설정되고 무시된다.
SRC IDL이 활성이고 또한 각각의 채널이 반이중모드로 동작하고 있으면, IOP는 채널선을 주회해서 그 채널에서의 전송을 가능하게 할 것을 효과적으로 알린다. 이 상황에서 RCV DBC 상태만이 유효하다. RCV CRC는 IDLC에 의해 활성으로 설정되지만 무시된다.
수신 DMA가 사용금지이고 또한 SRC ABCC가 비활성인 것을 RDD가 나타내고 있으면, RCV DBC를 무시한다( 이경계는 DMAC가 전에 사용금지되어 있고, 따라서 유효데이타를 OIP 기억장치에 DMA 할 수 없는 것을 의미하고 있다).
TX CNT는 IDLC에 의해 전송된 프레임수의 누적 카운트이다. 이것은 몇 개의 이유에 의해 프레임의 수신에 관련된 EOPIS 의드에 대해서 (즉, R 필드에) IDLC에 의해 삽입된다. IDLC의 전송 DMA 체인능력에 의해(다음의 DMAC의 설명을 참조), 개개의 프레임의 전송을 보고하는 IOP의 IDLC 인터럽트를 제거하는 것에 의해 IOP버스의 대역폭 및 처리시간을 유지하는 것에 결정된다, 그것에 관계없이, 각 전이중 채널 링크의 수신측의 완전함을 보호하기 위해 수신프레임이 원에 의해 수신된 프레임수를 나타내는 이와 같은 프레임의 각각의 원에 의해 보내어진 수신카운트를 구비하고 있는 한, 이 전송프레임 카운트정보를 IOP에 적시에 공급할 필요가 있다. 따라서, 전송프레임의 카운트는 IOP가 잘못된 수신카운트지시를 구별해서 전송의 완전성을(예를 들면 실제로 수신하지 않았던 프레임을 재전송하는 것에 의해)유지하는 것에 필요로 된다.
전송 DMA 체인가능성을 갖는 IDLC와 같은 장치에 관해서 전송프레임 차운트를 IOP에 적시에 지시하는 것의 다른 이점 또는 가능한 용도는 IOP가 적시에 버퍼공간을 나와서 체인전송활동을 동적으로 지지할 수 있도록 하는 것이 적어도 일정한 프레임이 IDLC에 의해 전송되고 원격점에서 수신된 것을 확인하도록 TXCNT를 사용하며, IOP는 일정한 프레임의 이미 전송된 데이터를 포함하는 그 버퍼기억장치공간의 적어도 이들 부분에 새로운 전송데이타를 삽입할 수 있다. 따라서, 체인식 IDLC 전송을 지지하기 위해 필요한 IOP 버퍼공간의 양은 IOP가 버퍼공간을 해방하기 전에 IDLC에서의 (전송)체인종료지시를 대기하도록 갖는 경우에 필요로 되는 양에 대해서 줄일 수 있다.
RCV OAS가 옥테트비정렬을 나타내면 또는 RCV CRC가 CRC 에러를 나타내면, 각각의 프레임에의 외관상 에러가 포함되므로, 그 프레임을 IOP에 의해 버려야만 한다.
RCV OVF가 FIFOR 오버플로를 나타낼 때, RCV DBC의 값은 0이외이면, IOP 기억장치로 DMA된 최종 바이트의 위치를 간접적으로 나타내고, 또한 IOP 기억장치내의 다음의 수신프레임의 DMA 전송을 시작할 기억위치를 확인하는데 유용하게 된다. DBC의 값이 0이면, 그다음의 기억위치를 결정하는데에 그 이상의 계산은 불필요하다.
12.2.2 채널화 에러인터럽트
이 인터럽트는 특정의 챈러에 영향을 주고 다른 채널에 영향을 주지 않는 하드웨어에러 즉, 채널공간에 대한 FIFOR 패리티에러 또는 TSR 패리티에러에 관계하고 있다. 상술한 바와 같이, 이들 인터럽트에 관련된 상태는 관련채널의 EOPIS 큐를 관리하는 파리미터를 구비하고 있다. 특정한 벡터를 각 채널의 채널화 에러인터럽트에 대해서 발생할 수 있다.
이 종류의 인터럽트 후, 채널은 사용금지가 되고, 재사용전에 재차 사용가능하게 되어야만 한다.
CEISR 정보의 형태를 제 39도에 도시한다. 15개의 예비/미사용공간 및 17개의 활동적으로 사용되는 필드가 있다. 후자는 4개의 1비트시 WVA, PTV, IQO 및 SWA, 2개의 2비트 지시 PE 및 IM, 1개의 4비트 파라미터 NSL 및 1개의 5비트 파라미터 NOV를 구비하고 있다. 활동필드에 대해서는 12.2.9의 항에서 설명한다.
12.2.3 하드웨어 에러인터럽트
이들은 모든 채널에 영향을 줄 가능성이 있는 파과적인 하드웨어관련에러에 관계한다. 관련상태는 INT내의 전송레지스터(IHEIS 레지스터)에 유지되어 있는 IDLC 하드웨어인터럽트상태(IHEIS)워드로 구성되어 있다.
이 워드는 제 38도에 도시된 니모닉 레이블 및 형태를 갖는 14개의 활동적으로 사용되는 1비트 파라미터로 구성되어 있다. IHEIS 레지스터의 나머지의 18공간은 미사용/예비이다. 14개의 활동적으로 사용되는 지시기는 10개의 ″상태″ 지시기 및 4개의 ″원″ 지시기로 구성된다.
상태지시기는 IDLC에서 정식으로 인터럽트되지 않고, IOP에 의해 활성으로 설정된다. 관련상태조건은 IDLC가 IOP와 통신을 실행하면서 IOP/SIO 직접 액세스 또는 DMAC 동작의 결과로서 에러를 검출했을 때 발생한다. 이와같은 에러가 검출되면, IDLC는 IOP로의 승인을 보류하고, 이것에 의해 IOP에 타임아웃 경과/에러를 발생한다(이것에 의해 정식 인터럽트처리를 실행하지 않고, IHEIS 상태지시기가 설정된다). 원지시기는 파괴적에러조건이 발생하는 결과로서 활성으로 설정된다. 이와 같은 에러조건은 전형적으로 회복불능이고, 통상은 IDLC가 동작불능인 것을 나타낸다. 원비트는 진단고장분리의 목적으로 유용하다.
개개의 상태지시기 및 원지시기 및 이들의 용법에 대해서는 다음의 12.2.9.2에서 설명한다.
12.2.4 전송인터럽트 처리
IDLC는 어떠한 채널의 전송처리중이어도 3개의 명확한 인터럽트, 즉 채인종료의 검출, 데이터의 언더런 검출 및 중단/아이들의 송신을 발생할 수 있다(EOPISR ″T″ 비트지시상의 설명을 참조). 앞서 주기한 바와 같이, 개개의 프로토콜 프레임전송의 완료에 대해서는 인터럽트가 발생되지 않으며, 이와같은 이벤트에 대해서 IOP가 필요로 하는 정보는 수신프레임종료인터럽트상태에 의해(이 인터럽트상태에 삽입된 TXCNT를 경유해서)간접적으로 공급된다.
12.2.4.1 체인의 종료
체인종료검출인터럽트의 발생과 함께 최고조에 달한 처리는 그 ECI(체인종료지시)비트가 활성으로 설정되어 있는 체인 DCB 명령의 DMA 페치와 함께 시작된다(별도의 정보에 대해서는 다음의 DMAC의 설명을 참조). 보통 그 경계에서는 DCB의 EFI(프레임종료지시)비트도 활성으로 설정되어 있다. 이 조건은 DCB에 의해 지시되어 있는 IOP 버퍼의 전송데이타의 최후의 바이트가 프레임종료 및 체인종료(전송할 마지막의 데이터)의 양쪽을 나타내고 있는 것을 나타낸다.
IOP 버퍼에서 체인의 마지막의 데이터바이트의 페치시, DMAC는 이것을 FIFOR에 저장하고 FIFOR내의 채널의 TDCR1 상태워드의 ECD 및 EFD의 각 비트를 활성으로 설정한다. DMAC는 이 조건에 관한 이후의 모든 동작을 TFM에 의해 호출되어야만 하므로, 체인의 종료가 검출되어도 DMACQ를 동일한 채널에 대한 서비스요구에 대해서 계속 감시한다.
TFM이 체인의 마지막의 데이터바이트를 FIFOR에서 페치하고 이것을 TV에 전달하면, TFM은 또 TDCR1의 ECD 및 EFD의 지시기를 체크한다. 이들 지시기가 설정되면, 이들은(개별로 또는 그 바이트가 이미 전달되어 있지 않으면 마지막의 데이터바이트와 함께) TV로 전달된다. 또, 전송프레임 카운터를 갱신하고 나서, TFM은 INT에 보내지는 체인종료지시기를 설정한다. 이들은 INT에 관련된 EOPIS 워드의 내용을 EOPISR 큐로 들어가는 준비로서 프레임 카운트를 래치업시킨다. TFM은 다음에 각각의 채널에 대한 체인종료상태로 이동하고, IOP가 (채널의 재초기설정과 관련해서) TFM_TS01 워드를 재초기설정하기까지 이 상태로 머문다. 체인종료상태에 있어서, TFM은 각각의 채널에 대한 TV에서의 데이터요구에 응답하지 않고 그 채널에 관한 DMACQ에 전송 DMA요구를 제시하지 않는다.
체인종료시를 수신하고, 프레임카운트를 래치하면, 채널슬롯동기에서 동작하면서 INT는 그 상태이용가능지시기를 설정하고, 유효한 다음의 상태워드의 기억위치가 각각의 EOPISR 큐에서 이용가능한 것을 체크하고 확인한다. RSM이 각각의 채널슬롯에서 INT 관련상태변수를 교환하면, INT CEIDR 레지스터의 내용을 TSR의 각각의 채널의 CEISR 공간에 저장하고 상태워드의 이용가능시기를 체크한다. 그 지시기가 활성으로 설정되어 있는 것을 검출하면, RMS는 EOPIS(INT_EOP 출력에 제시되어 있다. INT 논리의 설명 참조)를 각각 채널의 EOPISR 큐의 INT의 CEISR 레지스터의 다음의 기억위치래치에 의해 지시되어 있는 기억위치에 저장한다(다음의 INT 논리의 설명을 참조).
현재 처리되고 있는 채널에 미해결의 인터럽트가 존재하지 않으면 또는 칩의 단일벡터 모드에서 동작하고 있으면, INT는 인터럽트의 원(채널 및 조건)을 식별하는 1바이트 벡터를 구성하고, 이것을 요구와 함께 SIO로 보낸다. 이용가능한 때, SIO는 벡터 및 관련요구를 래치하고 IOP 버스상에서 활성인 인터럽트선을 구동한다(다음의 SIO의 설명을 참조). 후의 IOP는 인터럽느선 활성조건을 승인하고, 그 시점에서 SIO는 벡터를 IOP 데이터버스의 저바이트부 상에 설치한다. 또 후에 IOP는 그 인터럽트처리프로그램 루틴에 분기하고 SIO를 경유해서 각각의 채널의 큐에서 EOPIS 상태를 추출하도록 동작한다.
12.2.4.2 데이터의 언더런
채널에서의 전송처리중에 TL이 ″프레임의 중간″상태에 있고(프레임의 개방플래그 및 적어도 1비트의 유효데이타를 보내고 있고). 그 2개의 데이터 레지스터가 비어있고(상술한 TL1의 설명을 참조), 보낼 전송데이타의 BTDM 요구를 수신하고 있으면, 데이터의 언더런이 발생한다.
이것이 발생하면 TL1은 언더런에러를 나타내는 내부상태비트를 설정하고, 중단패턴의 전송을 시작한다. 중단을 보내고 나서 TL1은 관련 CCR의 IFS 필드에 의해 지정된 가득참 패턴을 보낸다. TL1은 또 관련된 CCR내의 TDE비트를 감시하고 각각의 채널이 언제 IOP에 의해 재초기설정되었는지를 확인한다. 그 TDE 비트가 사용금지되고 또한 재동작된 것을 검지하면, 즉시 TL1은 내부언더런에러 지시기를 클리어하고, TV에서의 데이터준비완료지시기를 감시한다. 그 신호가 활성으로 되면, TV에서의 데이터가 도입되어 통상의 전송처리가 재개된다.
TV는 TL1 언더런 상태지시기를 감시하고, 그 데이터레지스터를 클리어하고, 재초기설정하고, 통상처리를 재개하기 전에 클리어하는 지시기를 대기한다. 이 중단상태에 있는 동안, TV는 TFM으로의 데이터요구신호 또는 TL1으로의 데이터준비완료시기(TV_TL1_DATA_RDY)를 작동하지 않는다.
TL1이 그 언더런에러지시기를 설정하면, TL1은 또 관련지시를 INT로 보낸다. 응답해서 INT는 TFM에서의 현재의 전송프레임 카운트를 래치하고, RSM으로의 상태이용가능지시기를 작동시키고, 그 내부 CEISR 레지스터에서 RSM으로 오프세트어드래스를 공급하고, EOPISR 큐는 다음의 유효엔트리공간을 설치한다. INT는 또 벡터를 구성하고(다음의 벡터의 설명을 참조), 이것을 요구와 함께 SIO로 전달하고 IOP에 제시한다. RSM은 갱신한 CEISR을 TSR에(오프세트 어드레스를 큐의 기본 어드레스에 결부하는 것에 의해 결정되는 공간에)저장한다.
12.2.4.3 중간/아이들송출
TL은 언더런이 검출되지만 IOP가 CCR의 중지요구옵션을 이와같은 동작을 지정하는 값으로 설정하면, 중단패턴을 전송한다. TL1은 선택된 형태의 가득참 패턴을 CCR의 ICS 필드 또는 IFS 필드의 값에 의해 프레임사이 또는 DMA 체인사이에서 전송한다. TL1은 또 IOP가 중단 요구 CCR 옵션을 특정의 값으로 설정하면, 가득참 패턴을 보낸다.
TL1이 중단패턴의 전송을 완료하면, TL1은 중단/아이들 송출 지시기를 NIT로 보내고, 앞에서 설명한 바와 같이, INT로 전송 프레임 카운트값을 래치시켜, EOPIS 상태워드 및 벡터를 구성한다. CCR 중단 요구 옵션이 중지 패턴의 전송을 지정하고 있으면, 중단 및 아이들을 모두 보낸후 중단/아이들 지시기를 보낸다.
12.2.5 수신 인터럽트 처리
12.2.5.1 수신 처리
(RL1,RV 및 RFM에 의한) 동기 처리중에 RL1은 BTDM에서의 수신 데이터 준비 완료 지시기에 응답해서 수신 데이터 비트를 RL1의 체크 레지스터로 이동한다.
프로토콜 채널내의 각 비트에 대해서, RL1은 그 비트가 제어 연속(플래그, 중단, 아이들)의 일부인가 판정하고, 그 비트의 투명도의 결정에 따라서 그 수신 데이터 레지스터로 선택적으로 이동한다.(그 비트가 1이 5개 연속한 후의 최초의 0비트이면, 그 비트를 삭제하고, 그러하지 않은 경우는 그 비트를 데이터 레지스터로 이동해서 유지한다). 그 비트가 유지되면, 데이터 카운트가 증가한다.
비트의 이 처리는 데이터 카운트가 8로 될 때까지 계속한다. 데이터 카운트가 8로 되고, 또한 제어 연속인 검출되지 않으면, 바이티는 데이터 레지스터에서 RV로 전달되고(RL1이 데이터 준비완료 지시기를 보내고, RV가 승인해서), RV의 데이터 레지스터 0으로 래치된다.
RL1이 제어 연속을 수신해버린 것을 승인하면, 그 데이터 레지스터를 일소해서 그데이타 카운트를 리셋트한다(제어 연속은 RV로 전송되어 않지만, 그 수령의 지시는 전송된다). 다음에 RL1은 지시를 작동시켜 기술한 바와 같이 인터럽트 활덩으로 들어간다.
수신된 제어 연속이 프레임의 최초의 플래그인 것이 확인되면, 프레임 상태 지시기가 프레임 종단 상태를 나타내도록 조절한다. 연속이 종결 플래그인 것이 확인되면, 프레임 상태 지시기가 프레임 종단 상태를 나타내도록 조절되고, 프레임 종료 상태의 대응하는 지시가 RV로 보내어진다. 그 후에 RL1은 그 상태를 클리어하고, 다음의 프레임의 처리를 개시한다.
중단 또는 아이들의 연속을 수신하면, RL1은 그 상태를 지시기를 초기 상태로 리세트하고, 그 데이터 레지스터 및 데이터 카운트를 클리어하고, 수신된 관련 중단 또는 아이들 지시를 관련 상태와 함께 RV로 보내고, 프레임 종료 검출의 경우와 같이 새로운 프래임 처리를 개시한다.
각 프레임 슬롯에서 V는 RSM로 부터 시동지시를 수신할 때 까지 RL1에서 모든 입력을 무시한다. 시동지시를 수신하는 즉시, RV는 그데이타 레지스터1을 체크하고, 랴랙로 보내야 할 유효 데이터를 유지하고 있는가 확인한다. 유효데이타가 있으면, RV는 그것에 대한 기수패리티를 발생하고, 데이터를 준비 완료지시를 RFM으로 표명하고, 승인을 수신하는 즉시 데이터 레지스터 1이 비어있다는 지시를 설정한다. 이 시점에서 데이터 레지스터 1이 점유되어 있으면, 그 내용이 데이터 레지스터 1로 즉시 이동되고, 데이터 레지스터 0이 비어있음을 마크가 붙여진다.
RFM으로의 전송 동작과 병행하여 RV는 RL1로부터의 그 데이터 준비 완료 지시기를 감시하고, 이 지시기가 활성으로 되면, 데이터 바이트를 데이터 레지스터 0으로 래치한다.(단 , 레지스터 0이 비어있을 경우, 데이터 레지스터 0으로 래치된 데이터가 프레임의 최초의 바이트인 것을 나타내고 있으면, 그바이트(가능한 다음의 바이트)를 아이들 인식에 대해서 그 기근이 사용 가능하게 되어 있는 가 조사한다. 어드레스가 그 비교에 의해 일치하지 않으면, 그 프레임내의 모든 데이터를 버리게하고 내부 지시기를 설정한다. 어드레스가 일치하면, 프래임내의 모든 데이터를 CRC계산 논리를 통해서 그 이동과 병행하여 데이터 레지스터 1로 이동한다.
프레임 종료를 인식하고, 또한 모든 프레임 데이터를 RFM으로 보내 버리면, RV는 CRC 나머지를 확인하고, CRC 상태를 RL1상태 및 프레임 종료 수신 조건을 RFM에 보고한다. RV가 프레임 종료 지시를 RL1에서 수신하면 , CRC바이트가 CRC발생기를 통해서 즉시 이동하고, 이들을 RFM으로 보내는 것에 주목하는 것이다. 그후, 프레임 종료 지시를 수신하면, RV는 CRC레지스터를 체크해서 유효 프레임 연속 및 정확한 CRC 체크 바이트(16진수의 IDOF)의 전송과 관련하는 소정의 값을 구비하고 있는가 판정한다. 따라서 RV가 CRC 체크 바이트를 RFM를 보내기 전에, 최종의 CRC 나머지와 명백하게 비교할 필요는 없다.
RL1에서 중단 또는 아이들의 지시를 수신하는 즉시, RV는 그상태를 RFM에 보고하고 초기 설정한다. RSM에 의해 어느 것인가의 슬롯에서 시동되면, RFM은 그 내부 사태를 체크해서 먼저 요구를 DMARQ에 제시했는가 아닌가 확인한다. 제세하고 있으면, DMARQ의 요구 비트가 DMAC의 동작에 의해 리세트된 것을 감지할 때 까지 RV에서의 모든 데이터 요구를 무시한다. 계속해서 RFM은 FIFOR 상태워드(TDCR1)를 리드하는 것에 의해 전송 상태를 조사하고, 적절하면, FIFOR 버퍼(TDCR2)의 비어있음의 마크를 부여한다
FIFOR 버퍼가 비어있을때(또는 부분적으로 가득찼을때만), RFM은 RV부터의 활성 데이터 준비 완료 지시기에 웅답해서 각각의 데이터를 적절한 FIFOR/TDCR2 바이트 기억위치로 라이트하고, 그 바이트 기억 위치 포인터을 갱신한다. 라이트된 최후에 바이트에서 버퍼가 가득차면, DMARQ로의 요구가 설정되고, 버퍼가 DMAR의 동작에 의해 결국 비어있게 된다. 데이터를 FIFOR버퍼로 라이트하는 즉시, RFM은 RV로 승인을 표명하고. RV데이타 준비 완료 지시가 표명 해제되어 다시 표명되는 것을 기다린다. 버퍼로 라이되는 즉시, RFM은 수신 바이트 카운트도 갱신한다.
프레임 종료 지시를 RV에서 수신하면, RFM은 버퍼 상태를 조사해서 버퍼에 남아있는 바이트의 수를 결정한다. 남아있는 것이 2바이트 이하이면, RFM은 그들이 CRC 필드의 일부라고 생각하고(IOP 기억 장치로 전송하지 않아도 좋다), 바이트 카운트를 리세트한다. 버퍼에 3바이트 이상 남아 있으면, RFM은 DMARQ로의 요구를 설정하고, DMAC의 동작을 나타내는 적절한 응답을 기다린다. 막 종료한 프레임에 대한 모든 데이터가 IOP 기억 장치로 보내버린 것을 확인하면, RFM/은 수신 데이터 바이트를 조절해서 CRC 바이트가 들어있지 않은 것을 확인해서 카운트를 관련 인터럽트 지시 및 다른 관련 상태와 함께 INT로 전달한다. 다음에 RFM은 바이트 카운트를 리세트하고, 다음의 프레임에 대한 처리를 개시한다.
DMAC는 수신 요구를 그 전송 요구의 처리와 마찬가지로(단 반대방향으로) 처리한다. FIFOR에서의 수신 데이터마다 DMAC는 MIO와 협동해서 IOP 버스로의 액세스를 조정하고, 액세스를 얻는 즉시 적절한 어드레스 파라미터 및 제어 지시를 전송해서 데이터를 IOP 기억 장치로 라이트한다. 수신처리는 현재의 DMA 명령 또는 블록의 체인을 생각하고 있지 않지만, IOP 기억 장치의 버퍼공간은 IOP에 의해 관리되고, DMA에 의해 순환 버퍼로서 액세스된다. 따라서 적절한 IOP 관리 및 IOP/SIO/IDLC의 협동에 의해, IOP 버퍼 용량보다 큰 임의의 길이의 수신 데이터 블록을 버퍼를 통해서 FIFOR로 이동할 수가 있다.
수신 구획과 INT 사이에서 실행되는 각종 인터럽트 처리에 대해서는 다음에 설명한다.
12.2.5.2 프레임 종신 수신 인터럽트 처리
먼저 설명한 바와 같이, RL1이 프레임의 종료를 검출하면, 대응하는 지시기 및 상태를 RV로 보내고, RV는 지시기 및 (RV와 RL1의) 복합 상태를 우선 CRC 체크에 대해서 조절하고나서 RFM로 보낸다.
FIFOR에서 (DMAC를 경유해서) IOP로 보내진 데이터에서 CRC 바이트를 제외하고 또한 최종 데이터 바이트 카운트에서의 바이트를 제거하도록 조절하고 나서, RFM은 프레임 종료 지시를 INT에 제시해서 INT에 RFM에서의 RL1/RV/RFM 상태를 그 EOPIS 레지스터에 래치시킨다. INT는 다음에 관련 벡터를 구성해서 이들을 요구함과 동시에 SIO를 경유해서 IOP로 보낸다. INT는 또 상태를 RSM을 경유해서 TSR의 EOPIS 큐에 라이트하는 동작을 한다. INT에 의한 동작은 오버플로 상태가 아닌 큐에 관해서 조절된다(오버플로 상황에서 IOP에 관한 그 동작은 오버플로 동작을 나타내도록 변한다).
12.2.5.3. 중단/아이들 수신 인터럽트 처리
중단 또는 아이들 연속의 수신을 검출하면, RL1은 대응하는 지시 및 상태를 RV로 보내고, RV는 대응하는 지시와 복합 상태(RL1,RV)를 RFM으로 보낸다. 프레임 종료 상황의 경우와 같이, RFM은 대응하는 지시 및 상태를 INT로 전다루한다. INT은 대응하는 벡터를 형성하고 이것을 요구함과 동시에 SIO를 경유해서 IOP로 전달하고, 또 공간은 이용할 수 있다면 대응하는 상태를 TSR의 EOPISR 큐에 저장한다. 큐의 오버플로는 이 상황에서 프레임 종료 상황과 동일하게 처리된다.
12.2.5.4 DMA 경계 체크 수신 인터럽트 처리
DMAC가 (DMARQ을 경유해서 중단된) RFM 요구의 처리를 종료하면, 현재의 수신 DMA 어드레스를 갱신하고, 이것은 (IDLC 초기 설정시에 IOP/SIO에 의해 설정된) 계획 경계 어드레스값과 비교한다. 비교한 어드레스가 도일하면, DMAC는 DMAR 상태 (RDCR3, RDCR4)를 갱신하고, FIFOR에 있는 RDCR1에 경계 체크 비트를 설정하고, DMARQ의 요구 설정 비트를 클리어(RFM에 대한 서비스의 효과적인 승인/지시 종료)한다.
DMAC의 종료를 검출하면, RFM은 RDCRQ의 상태를 조사한다. 경계 체크 지시가 발견되면, RFM은 상태를 대응하는 지시와 함께 INT에 보고한다. 상기한 바와 같이, INT는 벡터 및 상태워드를 구축하고, 벡터를 요구함과 동시에 (SIO를 경유해서) IOP에 상태워드를 RSM을 경유해서 TSR의 EOPISR 큐로 보낸다. 상태를 INT에 표시하고나서, RFM은 IOP가 각각의 채널에 관한 그 시간 교환워드(RSM_TS01)를 초기 설정할때까지 사용 금지 상태로 된다. 이 상태에서 RFM은 RV에서의 데이터 요구를 승인하지만, RV에서의 데이터를 FIFOR로 전송시키지 않고, 또 수신 DMA 바이트 카운트를 증가시키거나 데이터 전송요구를 DMARQ로 보내는 것도 하지 않는다. 또 수신 DMA 바이트 카운트를 증가시키거나 데이터 전송요구를 DMARQ로 보내는 것도 하지 않는다. 그러나 프레임 종료, 중단 아이들의 패턴의 수신의 수신 지시에 관해서 현재의 인터럽트 지시를 INT로 보낸다.
12.2.5.5 수신중의 하드웨어 에러의 처리
수신 처리중에 검출된 채널화 하드웨어에러(TSR, FIFOR 또는 DMAR에서 리드한후의 패리티 에러, 수신 구획에서 종료 지시를 대기하고 있는 동안에 RSM에 의해 발생된 논리 타임 아웃, 수신 구획 상태기계로 검출된 금지 상태, 인터페이스의 타이밍 에러(BTDM 데이터 준비 완료 및 RL1 준비 미완료), SIO가 IDLC에 할당되어 있지 않은 어드레스를 액세스해도 좋다는 것에 관련한 에러 및 MIO가 IOP 버스로 통신하는 기간중에 검출된 대응하는 에러와 사실상 마찬가지로 처리된다. 이와같은 각 에러에 대해서, 지시가 에러를 검출한 수신 구획에서 INT로 보내지고, INT는 대응하는 인터럽트 벡터를 발생하는 처리를 취한다.
수신 처리 기간중에 패리티에러를 검출하면, 에러를 검출한 구획은 에러 지시를 INT로 보내고, INT는 에러 상태로 들어오고, 에러 벡터를 SIO/IOP로 보내서 IOP/.SIO 호출의 재시동을 미정으로 하고 있는 처리를 중지한다. RAM은 채널화되어 있으므로, 이와 같은 에러는 통상 채널화되어 있다. 그 결과, 중지는 에러가 발생했을 때 처리되고 있던 채널에 한정된다.
논리 타임아웃 에러를 검출하면, RSM은 인터럽트 지시를 INT로 보낸다. INT는 LTO(논리 타임 아웃)비트를 그 IHEISR(IDLC 하드웨어 인터럽트 상태 레지스터) 레지스터로 래치하고(아래의 12.2.8을 참조), 에러 벡터를 발생하고, 이것을 요구함과 동시에 SIO/IOP로 보내고, 관련 상태를 그 IHEISR 레지스터에 유지해서 IOP/SIO에 의한 추출로 구비한다. 처리된 IOP가 IDLC를 사용금지로 할 때까지 계속한다.
하드웨어 상태 에러를 검출하면, 관계하는 구획은 에러 지시를 INT로 보낸다. INT는 ESD(에러 상태 검출) 비트를 그 IHEISR 레지스터로 래치하고, 논리 타임아웃의 상황의 경우와 마찬가지로 진행한다.
인터페이스 타이밍(수신)에러를 검출하면, PL1은 지시를 INT로 내고, INT는 ITE(인터페이스 타이밍에러)비트는 그 IHEISR 레지스터로 설정해서 앞의 2개의 상황의 경우와 같이 진행한다.
SIO 어드레싱 에러를 검출하면, SIO는 IOP에서의 지시 전송의 승인을 보류하고(IOP에 승인 타임아웃 에러를 검출시키고), 지시기를 INT로 보낸다. IHEISR는 적절한 상태 비트는 그 IHEISR 레지스터에 설정하지만, 인터럽트는 발생하지 않는다 (IOP가 그 타임아웃에 의해 에러를 검출하기 때문이다).
MIO 에러를 검출하면, 에러 지시가 DMAC 및 INT에 제시된다. INT는 DTO(DMA타임아웃) 비트를 그 IHEISR 레지스터에 상태 지시로서 설정한다. DMAC는 그 용구를 에러 발생의 시점에서 서비스하고 있던 채널의 FIFOR/RDCR1로 설정하고, DMARQ의 요구 비트를 리세트한다. DMARQ의 승인/리세트를 인식하고, FIFOR 상태를 조사하는 즉시 RFM은 에러 상태를 검출해서 채널화 에러 지시기를 INT로 보낸다. INT는 즉시 벡터 및 채널화 상태를 구성해서 IOP에 통보하고, IOP는 이것을 하드웨어에러 상태와 함께 사용해서 버스 고장의 원인을 확인한다. 대부분의 경우에 관계 채널에 대한 처리는 IOP호출 재시동이 발생할 때 까지 중단된다.
12.2.6. 인터럽트 벡터의 형태, 발생 및 IOP의 사용법
INT에 의해 발생되는 인터럽트 벡터는 인터럽트원에 대응하는 각 1바이트에 부호화된 수치이다. 원은 IDLC 칩레벨의 하드웨어에러, L1 칩 레벨의 하드웨어에러, L1 채널화 이벤트 또는 에러, IDLC 채널화 에러 또는 IDLC 채널 처리 이벤트내의 하나이다. IDLC 채널화 에러 및 처리 이벤트에 대해서 원은 다시 각각의 (패리티) 에러 또는 처리 이벤트가 검출될때에 서비스되고 있던 32채널중의 특정의 하나를 나타내도록 분해된다. 따라서, 벡터수의 범위는 사실67개의 값을 넘는다.(IDLC 및 L1칩레벨의 하드웨어에러 2개, L1 채널화 이벤트 또는 에러에 관한 1개, IDLC 채널화 에러에 관한 32개 및 IDLC 채널 처리 이벤트에 관한 32개).
IOP는 IOP 기억장치의 룩업 데이블의 67개의 엔트리의 각각의 하나를 액세스하는데 벡터를 사용한다. 테이블의 엔트리는 위에서 설명한 바와 같이, IOP가 그 인터럽트 처리 프로세스를 실행하는데 필요한 별도의 정보와 함께 각각의 인터럽트원의 정체를 특별히 지시한다. INT가 벡터를 구성하는 방법에 의해, 테이블 및 그 부분은 IOP에 의해 그 기억 장치의 256워드 구획중에 다른 부분에, 즉 8비트로 어드레스 가능한 범위 및(INT 벡터) 및 IOP에 의해 고정되어 있는 기본값으로 재배치할 수 있다.
인터럽트원이 UIDLC 채널화 이벤트 또는 에러 이외(즉, IDLC 하드웨어 관련, L1하드웨어 에러 관련 또는 L1 채널 이벤트 관련)이면, INT는 SIO(제 5도 및 제 43도)에 설치되어 있는 ICR(IDLC 구성) 레지스터의 6비트 IIVO(IDLC 인럽터 벡터 오프세트) 값 및 원에 관련하는 2비트값을 사용해서 벡터를 형성한다. 2비트값은 INT의 INT_CHP 상태 기계의 구성 요소에 의해 발생되고 (아래의 12.2.7를 참조), 그 상태 기계에 의해 SOP/ICR에서 전송된 IIVO 오브세트값에 연결되어 완전 백터 (INT_CHP_VECTOR)를 형성한다. 오부세트값은 IOP에 의해 계획적으로 선택되고, IDLC가 초기설정될 때 IOP/SIO에 의해 ICR로 설정되지만, IOP에 의해 64 오프세트 위치의 하나를 (IOP에 의해 고정되어 있는 기본 기억위치에 대해서) 선택 하는 것에 사용된다. 각 오프세트 위치는 위치의 4워드군의 경계를 표현한다. INT 상태 기계에 의해 연결되는 2비트값은 오프세트값에 의해 지정된 위치군내의 4개의 기억 위치에서 1개의 선택 하도록 IOP에 의해 사용된다.
인터럽트원이 IDLC 채널화일 때, 백터는 ICR 레지스터의 CIVO(채널 인터럽트 백터 오프세트)필드에서 취한 2비트 오부세트값 및 INT의 INT_CHN 상태 기계에 의해 내부적 결정된 6비드값을 사용해서 형성된다. 오부세트값 및 내부적으로 결정된 값은 상태기계에서 연결되어 완결 백터(INT_CHN_VECTOR)을 형성하고 이것은 SIO/IOP에 제시된다. 오부세트값은 IOP에 의해 결정 되고. IDLC초기설정중에 ICR내에 설정된다. IOP는 2비트 오프세트를 사용해서 IOP 기억장치의 각각 별개의 64워드군의 경계에 IOP에 의해 고정된 기본 위치/값에 대해서, 4오프세트 위치의 하나를 설치한다. IOP는 6비트값을 사용해서 오프세트값에 의해 지정된 공가내의 64기억 위치의 하나로 어드레스한다. 어드레스되는 기억위치는 IOP가 벡터로 인터럽트에서 소정의 인터럽트처리 프로세서와 연결하는데 필요한 정보를 구비하고 있다.
12.2.7. INT 구획 논리
제 37도는 인터럽트(INT) 구획의 주요 논리 구성 요소(상태 기계등)을 그 레지스터, 외부 인터페이스 및 제어신호와 함께 나타낸다. 이 구획은 상태 기계 (260)(INT_CHN) 및 (261)(INT_CHP), CHIS 레지스터(262), EOPIS 래치(263) 및 IHEISR 레지스터(264)를 구비한다.
상태 기계(260) 및 (261)는 개별로 분리된 논리 유니트로서 동작하고, 유니트(260)은 프로세스 이벤트 및 채널화 패리티에러 발생에 대해서 채널화 모드로서 동작하고 유니트(261)은 IDLC 및 L1 회로의 양자에서의 하드웨어에러 이벤트의 다른 L1회로에서 발생하는 채널 이벤트에 대해서도 비동기적으로 동작한다.
레지스터(262)는 CEIS 정보를 현재 서비스되는 채널에 대해서 래치하는데 사용된다. 래치(263)은 EOPIS 정보를 그 채널에 대해서 래치하는데 사용된다. 레지스터(264)는 상태 정보를 하드웨어에러에 대해서 유지하는데 사용된다.
INT 구획의 주요기능은 내부 IDLC 요구 및 L1회로에서의 외부 요구를 포함하는 인터럽트 지시에 응답하고, 이와 같은 지시에 관한 인터럽트 정보를 수집, 저장하고, (TSR내의) (채널화) EOPISR 큐를 관리하고, 다른 구획에서의 지시에 대해서 벡터를 구성하고, 이와 같은 벡터를 관련 인터럽트 요구와 함께 IOP로 전송하기 위해 SIO 구획에 지시하는 것이다. IOP는 테이블 룩업 동작에서 벡터를 사용해서 각각의 인터럽트원(L1채널, L1칩 하드웨어, IDLC칩 하드웨어, 32IDLC 채널의 특정의 하나에 있어서의 프로세서 이벤트 또는 32IDLC 채널의 특정의 하나에 있어서의 패리티에러 발생)을 식별하고, 테이블 정보를 사용해서 적절한 인터럽트 처리 루틴과 연결하고, 그 루틴을 사용해서 관련 인터럽트 상태를 SIO를 경유해서 IDLC에서 추출한다.
INT_CHN 상태 기계(260)은 채널화 ILC 프로세서 이벤트에 관해서 동작하지만, INT_CHP 상태 기계(261)은 IDLC 하드웨어 관련 에러 상태 및 L1상태(칩 레벨에러 및 채널이벤트)에 관해서 동작한다.
INT_CHN은 시간 교환 환경에서 동작한다. 활성 채널에 관련하는 타임 슬롯에서 RSM은 TSR에서의 채널화 시간 교환 상태를 레지스터(262)로 RSM_TSR_BUS를 경유해서 로드하고, INT_CHN 상태 기계의 동작을 RSM_INT_START 펄스에서 개시한다. CEISR에 있어서의 비트 할당을 제39도에 도시하고 아래의 12.2.8에서 설명한다. 그 동작중, INT_CHN은 채널 이벤트 입력을 각각의 요구 지시(TL1_INT_REQ, TFM_INT _REQ, RFM_INT_REQ)에 따라서, EPOISR 상태 래치(263)DML TL1, TFM 및 RFM에서 수신한다. 이들 래치는 수신 처리 또는 전송 처리의 어떤 것인가를 개시하기 전에 클리어된다. INT 동작중의 그들의 값은 INT_CHN에 의해 특별히 해석되는 것은 없다.
INT_CHN은 2비트의 내부 레지스터를 사용해서 타임 슬롯을 횡단해서 보존되는 것이 없는 일시적 EOP WAIT STATE LATCH값을 유지하고, INT_CHN이 그 상태 7에서 취해야할 처리를 EOPISR 상태로 저장, EOPISR의 무시 또는 EOPISR의 클리어내의 하나로서 결정한다. EOPIS 또는 CEIS의 상태를 저장해야할 경우에 INT_CHIN은 슬롯을 끝에서 INT_EOP를 RSM으로 표명하고, CEISR 레지스터(262)의 내용을 RSM으로 전송한다. RSM은 전송된 CEIS 정보를 SWA(상태워드 이용 가능) 비트를 조사해서 슬롯 기간중에 EOPIS 상태가 (TL1, TFM 또는 RFM에서) 래치되었는가 확인한다. 상태가 래치되어있으면, 각각의 래치 구획에서의 상태를 라이트해야할 큐 공간을 설치하도록 전송된 CEIS 정보내의 차기 상태 위치(NSL) 비트를 사용해서 TSR의 EOPISR 큐에 저장하는 것은 RSM의 책임이다. RSM은 NSL을 채널번호의 소정의 기능인(TSR의) 기본 어드레스에 연결하는 것에 의해 EOPISR이 라이트되는 실체의 TSR 어드레스 위치를 발생한다.
RSM은 TSR에 대해서 EOPISR 전출입을 실행하지만, EOPISR 큐의 관리는 INT_CHN 상태 기계의 책임이다. INT_CHN 상태기계는 EOPISR 상태 큐가 16이벤트의 깊이를 초과하면 오버플로하고 있을 때 또는 패리티에러가 TSR, FIFOR 또는 DRAM에 관해서 검출되고 있을 때, ″차단″하는 책임도 있다. TSR 및 DMAR에 대한 패리티에러는 각각 TSR_PARITY_ERROR 및 DMAR_PARITY_ERROR을 경유해서 나타낸다. FIFOR에 관한 패리티에서는 각각 RFM_PARITY_ERROR 및 TFM_PARITY_ERROR을 경유해서 나타낸다.
각 패리티에러에 관해서, 에러가 발생한 채널에 대해서 독특한 하드웨어 인터럽트가 발생한다. 임박한 큐오버플로 에러에 관해서, IQO 비트가 큐의 최종의 (최후에 들어간) EOPISR 상태워드내에 설정된다.
INT_CHN 상태 기계는 2개의 레지스터 측 SIO의 ICR(IDLC 구성 레지스터) 및 RSM의 HPCR(HDLC 프로토콜 구성 레지스터)에서 입력을 수신한다. ICR의 내용은 IDLC 초기 설정시에 IOP에 의해 프로그램되고, 채널화되어 있지 않다(모든 채널 처리에서 불변으로 적용된다). HPCR은 채널화되어 있고(채널마다 다르다), 시간 교환중에 각 채널의 TSR 공간(제 7도를 참조)에서 로드된다. 각 채널의 HPCR 워드의 내용은 IOP/SIO에 의해 프로그램 가능하게 설정된다. 이들 레지스터의 현재 관계하고 있는 필드에 대해서 이하에서 특히 설명한다.
INT_CHN 상태 기계는 EOPISR 큐를 ICR 레지스터로 설정하는 QM비트에 따른 2개의 프로그램 가능모드 즉 단일 상태 모드 또는 다수 상태 모드의 하나에서 관리된다. IP/QM 비트값은 IDLC 초기설정시에 IOP에 의해 프로그램된다. INT는 이 비트를 ICR_QM(제37도)에서 수신하고, QM비트값에 따라 단일 상태워드 또는 다수 상태워드의 형성을 지지한다. 단일 상태 모드에서는 단일 인터럽트 벡터를 발생하고, EOPISR 큐에 관한 이벤트 엔트리마다 IOP로 보내진다. 다수 상태 모드에서는 단일 벡터를 EOPISR 큐에 관한 다수 상태 이벤트 엔트리에 대해서 발생할 수가 있다.
다수 상태 모드에는 IOP 인터럽트 처리 루틴의 인터럽트 경로가 짧게 된다는 점에서 선능상의 이접이 있지만, 큐로의 IOP 액세스의 관리에 관해서 루틴의 복잡함이 증가한다는 단점이 있다. 다수 상태 모드를 사용할 때, IOP는 큐에서 제거된 상태워드의 수를 (채널화) HPCR 레지스터에서 관련하는 값을 라이트하고, 그 레지스터내의 토글 비트의 극성을 전회시키는 것에 의해 승인한다. 아래의 SWRC(상태워드 리드 카운트) 및 HPCR의 토글 필드의 설명을 참조한다. 이들 필드는 HPCR_EOP_TOGGLE 및 HPCR_MIC_ACK에서 INT로 입력된다(제37도).
CEISR 레지스터(262)의 이전 토클 비트값(PTV)는 IOP가 각각의 채널이 큐로 액세스하고, 하나 이상의 엔트리를 바닥으로부터 추출한 것을 나타내는 불일치에 대해서 HPCR_EOP_TOGGLE 비교된다. 이 기구는 INT에 의해 제거되지 않고 미결정 큐 엔트리의 오버라이트에 대해서 보호하는 것에 사용된다. 실제로 미결정 벡터의 수 (NOV)는 INT가 다수 상태 모드일 때 EOPISR 큐에 있는 상태워드의 수를 실제로 의미한다. NOV는 IOP가 큐에서 제거된 상태워드의 수를 승인하고나서 HPCR_MIC_ACK에 있는 값을 사용해서 INT에 의해서 감소되게 된다. 이것에 의해 TSR의 관련 기억 위치가 해방되어 다시 사용할 수 있도록 되고, 따라서 큐에 순환성이 유지된다.
IOP에 의한 EOPISR 큐 액세스에는 (1) CEISR을 (SIO를 경유해서 TSR에서) 리드하고, 미결정 상태워드 카운트 NOV(미해결 벡터의 수) 및 미결정 엔트리의 개시에 대한 큐 오프세트 어드레스 NSL(다음 상태기억 위치)를 얻는 것 (2) EOPISR 상태워드 또는 워드들을 큐에서 리드(단일 상태 모드에서는 1워드, 다수 상태 모드에서는 1워드 이상 16워드까지) (3) HPCR을 (TSR에서) 리드(4) 갱신된 (반전된) 토글 극성, SWRC 및 LSA(링크 스테이션 어드레스)의 값을 필요하면 HPCR/TSR로 라이트(먼저 상술한 바와 같이, INT는 HPCR의 토글 및 SWRC 기능을 감시하고, 적당할 때 관련 CEISR 파라미터 PTV 및 NOV를 갱신한다)와 같은 동작의 연속을 포함한다.
단일 상태 모드에서의 큐 엔트리의 리드에서(각 벡터가 하나와 하나만의 상태워드로 하는가 관계하지 않으므로) 명백한 IOP 승인을 필요로 하지 않고, TOGGLE 비트 및 SWRC 비트는 이 모드에서 사용되지 않고 변하지 않는다. 단일 상태 모드이 단점에 대해서는 아래에서 EOPISR 큐 14에 저장할 수 가 있는 상태워드의 수 및 IOP 인터럽트 처리 루틴의 특별한 경로 길이에 관련해서 설명한다. 이 모드에서 인터럽트 요구 및 벡터는 각 큐 엔트리마다 IOP로 전달되고, INT는 큐/벡터의 미결정 엔트리의 수가 14로 될 때(큐의 용량은 16이지만, 이 예방조치는 SIO에서의 벡터 큐잉이고, 큐 엔트리 제거의 IOP의 특별 승인이 없으므로 필요하다), 큐의 오버플로를 검출한다(IQO 비트를 최후의 큐 엔트리로 설정한다). IOP는 이 모드에서 큐 엔트리의 제거를 특별하게 승인하지는 않지만, 인터럽트 처리 루틴에 있는 동안은 엔트리 제거를 실행하지 않으면 않된다(즉 IOP는 큐로의 상태의 오버라이트를 피해야되는 경우, 이 모두가 끝날때까지 루틴에 인터럽트하거나 그 타스크 레벨로 돌아가게 할 수 없다.)
다수 상태 모드에서 IOP는 각 벡터에 관해서 대응하는 값을 HPCR의 SWRC 필드로 라이트하는 것에 의해 리드한 상태워드의 수를 명백하게 승인해야 한다. INT는 16개의 벡터와 큐에서 미결정일 때, 인터럽트 큐 오버플로(IQO)를 검출한다(동시에 최후의 엔트리의 IQO 비트를 1로 설정한다). 이 모드에서 큐 액세스의 IOP 실행은 다수의 엔트리를 일련의 TSR 액세스에서 제거할 수가 있으므로, 타스크 레벨로 돌아가는 것에 의해 지연시킬 수가 있다.
IDLC 채널 상태에 관련하는 백터가 SIO로 제시할 준비가 정리되어 있으면, INT_CHM 상태 기계는 SIO_CHN_BSY, INT_CHN_VECTOR 및 INT_CHN_REQ의 각 신호에 의해 SIO 구획과 접속한다. INT_CHN은 SIO_CHN_BSY 신호를 감시하고, SIO 채널 백터 래치가 사용중인가 이용가능한가를 판정한다. 이용가능하면, 벡터 (INT_CHN_ VECTOR)을 SIO 구획으로 래치하고, 여기에서 SIO는 벡터의 IOP프로세서 버스로의 제시를 관리한다.
INT_CHN에 의해 SIO에 발생되는 8비트의 값은 IDLC 채널 상태(프로세서 종료 이벤트 및 패리티에러)에 관련하지만, 모든 채널에 대한 관련 테이블 엔트리가 들어있는 공간은 IOP기억 장치내의 오프세트를 나타내기 위해 ICR레지스터의 2비트의 채널 인터럽트 벡터 오프세트(챠패)를 원 IDLC 채널과 관련하는 엔트리의 기억 위치를 더욱 구별하도록, RSM_TSI에서의 5비트의 채널 타이슬롯 지시기와 인터럽트에 관련하는 특정의 엔트리의 기억 위치를 더욱 구별하도록, RSM_TSI에서의 5비트의 채널 타이슬롯 지시기와 인터럽트에 관련하는 특정의 엔트리의 기억 위치를 더욱 구별하도록, RSM_TSI에서의 5비트의 채널슬롯 지시기와 인터럽트에 관련하는 특정의 엔트리의 기억위치를 구별하기 위해 INT_CHN이 발생한 단일 비트( 이 비트는 관련의 인터럽트가 종료 프로세스 이벤트에 관계하는 하나의 값이며, 관련의 인터럽트가 채널화 패리트 에러에 관련할 경우에는 반대의 값이다)를 사용한다.
INT가 전송될 벡터를 구비하고 있을 때, SIO_CHN_BSY가 활성이면, INT_CHN은 각각의 채널을 처리하는 후속 타임 슬롯의 기간중에 같은 지시를 조사한다. 이와 같이 해서, INT_CHN은 IDLC의 모든 채널에 대한 그 서비스에 있어서 채널화를 기피해서 SIO 및 그 단위 채널 벡터 래치로 액세스한다. SIO의 채널 벡터 래치의 액세스는 다수의 변수(예를 들면, IOP 인터럽트 루틴 경로 길이, IDLC 채널 프레임의 크기등)에 다른 랑고리듬에 따르지 않고 랜덤이다. 채널 당 16엔트리의 EOPISR 큐의 깊이는 모든 채널에 대해서 큐의 오버플로의 확률을 매우 작게 하고 있다.
INT_CHN은 INT_DONE 신호를 설정하는 것에 의해 실행의 종료를 지시하며, 이 INT_DONE 신호는 CEISR이 인정하고 교환에 이용할 수 있는 것을 RSM에 나타낸다. DL 지시는 RSM에서의 타임 슬롯 지시의 종료(RSM_INT_EOS)에 먼저 발생해야 한다. 이 시점에서 INT_DONE가 활성이지 않으면, RSM은 논리/하드웨어에러가 발생하고 있다고 판단하고, IHEISR이 LTO(논리 타임 아웃)비트를 설정한다(아래의 IHEISR 비트의 설명을 참조)INT_CHP 상태 기계는 IHEISR을 감시하고 관련하는 인터럽트 요구/벡터를 발생한다.
INT_CHP 상태 기계는 타임 슬롯의 개시에서 끝까지 연석해서 동작하고, 가능한 3개의 원, L1하드웨어, L1 채널, IDLC 하드웨어의 어느것인가에 관한 채널 레벨 인터럽트 벡터를 관리한다. L1 하드웨어 에러 및 채널 상태는 각각 L1_CHP_VRQ 및 L1_CHN_VRQ에 의해 INT_CHP에 나타낸다(제37도). IDLC하드웨어 에러에 관한 원은 IHEISE 레지스터(제38)도의 원필드 부분에 비트를 설정한 것에 의해 나타낸다. 비트 ITE(인터페이스 타이밍 에러)는 IDLC와 L1회로 사이의 동기의 실패를 나타내고, 비트 LTO(논리 타임 아웃)은 IDLC 논리가 임계시간내에 동작(예를 들면, 상술한 바와 같이 RSM_EOS의 이전에 INT_DONE을 동작시키는것)을 완료하는데 실패한 것을 나타내고, 비트 ESD(에러 상태 검출)은 IDLC 구획의 상태 기계가 미사용/금지 상태로 이동하고 있는 것을 나타내고, 비트 DTO(DMA 타임 아웃)은 DMA와 IOP 버스 사이의 버스 액세스의 실패를 나타낸다. 이들 비트의 어느것인가가 설정되면, IHEISR 레지스터에서 INT_CHP으로의 신호선 IDLC_CHP_VRQ가 활성으로 된다(즉, IDLC_CHP_VRQ가 IHEISR의 비트 ITE, LTO, EST 및 DTO의 논리함을 표시한다).
INT_CHP는 제37도에 도시한 바와 같이, SIO_CHP_BSY, INT_CHP_VECTOR 및 INT_CHP_REQ의 각 신호를 경유해서 SIO로 접속되어 있다. SIO_CHP_BSY는 INT_CHP _VECTOR와 관련해서 INT에서 SIO에 제시되는 INT_CHP_REQ에 의해 설정가능한 SIO의 칩 백터 래치에서 INT에서 SIO에 제시되는 INT_CHP_REQ에 의해 설정 가능한 SIO의 칩벡터 래치에서 INT로 다시 공급된다. INT_CHP_VECTOR의 벡터 출력은 SIO_CHP_BSY가 비활성일 때 SIO에 래치되고, 인터럽트원을 상술한 3개중의 하나로서 구별한다. SIO_CHP_BSY가 활성일 때, 백터/요구가 INT에서 수신되지만, 아직 SIO에서 IOP로 전송되어 있지 않은 것을 나타낸다.
INT_CHP_VECTOR값은 6비트의 IDLC 인터러브 벡터 오프세트값(IIV0) 및 INT_CHP이 발생한 2비트값을 구비하고 있다. 오프세트값은 SIO의 ICR 레지스터에서 INT에 의해 추출되고, IOP기억 장치 공간의 기본 위치에 관해서 INT에 의해 보고될 가치가 있는 하드웨어 관련 인터럽트 상태에 관련하는 잉군의 테이블 룩업 엔트리의 오프세트를 표시한다. INT가 발생하는 22비트값은 보고되어 있는 특정의 상태와 관련하는 특정의 엔트리의 군중의 기억 위치를 표시한다. 동시에 8비트는 IOP가 특정의 테이블 엔트리로 액세스하고, 이 엔트리를 경유해서 관련 상태 정보를 INT의 IHEISR 레지스터에서 또는 L1회로의 레지스터에서 추출하는 것에 적절한 IOP 인터럽트 처리 루틴에 연결하는데 사용된다.
12.2.8 INT의 상태 기계
12.2.8.1 INT_CHP상태 기계
SIO_RESET이면, 상태=0이다.
상태 0(RSM 시동 펄스를 위해 대기)
RSM 시동 펄스(RSM_INT_START)가 비활성이면 상태 0으로 진행한다. RSM 시동 펄스가 활성이면 또한 인터럽트 모드(CEISR의 IM)이 ″00″(INT가 채널에서 개시동작되는 것을 나타낸다)이면 FIFOR패리티에러 지시(CEISR의 PE)를 리세트 하고, 상태워드 이용가능 지시(CEISR의 SWA)를 리세트하고, IM을 ″11-통상 모드″로 설정하고, 상태 1로 진행한다.
RSM_INT_START가 활성이며, 또한 IM이 ″10-사용금지″(FIFOR 패리티에러를 나타낸다)또는 ″01-사용금지″(TSR 패리티에러를 나타낸다)이면, 이 채널에 대한 EOPISR 큐가 ″차단″으로 되면, EOP WAIT STATE LATCH를 ″CLEAR EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
RSM_INT_START가 활성이며 또한 IM이 ″11-정상″이면, 통상 EOPISR 큐처리 상태의 움직임과 동시에 진행한다. SWA/CEISR이 활성(이 채널이 전의 슬롯 프로세스에서 이용할 수 있는 상태이면, 차기상태워드 위치(CEISR의 NSL)을 증가시켜, SWA를 리세트하고, 상태1로 진행한다.
상태 1(채널화 TSR, RFM 또는 TFM의 패리티에러에 대해서 체크한다. 패리티에러가 없으면, EOPISR 큐상태 리드의 IOP 승인에 대해서 체크한다. OIP승인이 없으면, EOPISR 큐 오버플로 상태에 대해서 체크한다).
채널화 패리티 에러에 대해서 체크한다. CEISR의 PE 비트가 패리티에러를 나타내고 있으면(이 채널에 과한 이전의 서비스에 있어서 TSR 또는 FIFOR에 관한 미보고의 패리티에러가 발생하고 있는 것을 의미한다), 뜨는 TSR_PARITY_ERROR 또는 RFM_PARITY_ERROR 또는 TFM_PARITY_ERROR이 현재 활성이면, SIO_CHN_BSY를 검사해서 SIO의 채널 벡터 래치의 이용가능성을 판정하고, 다른 채널화 벡터를 수신한다(아래의 SIO의 설명 및 제43도 항목 297를 참조).
SIO_CHN_BSY가 활성이면, EOP WAIT STATE를 ″CLEAR EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
- SIO_CHN_BSY가 비활성이면 , 이채널에 대한 채널화 하드웨어에러인터럽트 벡터를 발생하고, 이것을 SIO 채널 벡터 래치에 래치하고, 에러 원인을 식별하며, 다음의 동작과 동시에 진행한다.
원인이 REM_PARITY_ERROR 또는 TFM_PARITY_ERROR인 경우에는 IM모드를 ″10-사용금지 FIOR 패리티에러″로 설정하고, 상태 2로 진행한다.
원인이 TSR_PARITY_ERROR인 경우에는, IM을 ″사용금지 TSR 패리티에러″로 설정하고, 상태 2로 진행한다.
패리티에러가 나타내지 않고, 또한 상태갈 ″백터 승인을 대기하고 있다″ (CEISR 레지스터(262)의 WVA 비트 활성)이면, CEISR 레지스터의 전 토글 비트값 (PTV)를 IOP에 의해 설정 가능한 HPCR 레지스터의 토글 비트(HPCR_TOGGLE 입력)과 비교한다.
PTV비트 및 HPCR_TOGGLE 비트가 동일하지 않으면, IOP가 EOPISR 큐에서의 상태 추출을 승인한다. HPCR의 리드워드수 지시 SWRC(이 상태 기계로의 HPCR_MIC_ACK입력에 의해 나타낸다)가 유효하고, 상태 4로 진행한다.
PTV비트 및 HPCR_TOGGLE 비트가 동일하면, IOP는 이채널에 대한 EOPISR 전송을 승인하지 않고, EOPISR은 그 큐에 대해서 발생된 최후의 벡터에 관한 큐에 대해 결정하지 않으며, 이 채널에 대해서 그 이상의 백터는 발생되지 않는다. 큐의 오버플로를 체크하도록 다음의 동작으로 진행한다.
EOPISR 큐가 이 채널에 대해서 오버플로이면(IQO가 CEISR로 설정된다), EOP WAIT STATE을 ″CLEAR EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
EOPISR 큐가 이 채널에서 오버플로하지 않으면, EOP WAIT STATE을 ″STORE EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
TSR 또는 FIFOR의 패리티에러가 없고, IOP 벡터 승인을 대기하고 있지 않으면(WVA가 비활성), 상태6으로 진행하다.
상태 2(SIO_CHN_BSY을 위해 대기)
SIO_CHN_BSY가 이용가능하면, INT_CHP_REQ를 동작시켜, 동일상태로 남긴다.
SIO_CHN_BSY가 사용중이며 또한 벡터가 채널화 하드웨어 에러 인터럽트용인 경우, EOP WAIT STATE를 ″CLEAR EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
SIO_CHN_BSY가 사용중이며 또한 벡터가 EOPISR 상태용인 경우, EOPISR 큐의 오바플로를 체크한다.
EOPISR 큐가 오버플로이면 (CEISR의 IQO가 활성) EOP WAIT STATE을 ″STORE EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
상태 3(EOPISR쿠의 오버플러로 상태를 체크)
이 채널에 대해서 EOPISR 큐의 오버플러그를 NOV와 EOPISR 상태워드의 최대수를 ICR_QM 모드 비트에 따라 비교하는 것에 의해 체크한다.
QM 비트가 1(다수 상태 모두를 나타낸다)이면, EOPISR STATUS 워드의 최대수는 16이다. QM비트가 0 (단일 상태 모드를 나타낸다 )이면, EOPISR STAWTUS 워드의 최대수는 14이다.
QM 비트가 활성이고. NOV카운트가 16이면, 큐 오버플로 비트(EOPISR의 IQO)를 설정해서 큐가 오버플로된 것을 나타낸다.
QM 비트가 비활성이고, NOV가 14이면, 큐 오버플로 비트 (EOPISR의 IQO)를 설정해서 큐가 오버플로된 것을 나타낸다.
EOP WAIT STATE를 ″STORE EOPISR STATUS″로 설정하고 상태 7로 진행한다.
상태 4(IOP 승인에 따라 베거터 카운터를 조절)
IOP에 승인된 상태워드의 수 HPCR_MIC_ACK가 현재 저장되고 있은 상탱워드의 수 (MOV)보다 크면, IOP프로 그램에러 또는 미검출의 TSP 패리티 에러가 발생 한다고 가정한다. 어떤 경우에도 채널화 하드웨어웨어를 발생하고, PE를 ″11-TSR의 리드중에 패리티에러 검출″로 설정하고. 상태1로 결정한다.
IOP가 0보다 큰 수를 승인 (HPCR_MIC_ACK)하면 IOP승인(HDCR_MIC_ACK) 및 백터 카운트 (NOV)의 양쪽을 감소시키고, 상태 4로 진행한다. 각각의 감소 및 비교에는 1상태 천만이 걸리는 것에 주목한다.
HPCR_MIC_ACK가 0과 동일하면 승인의 대기 (WVA)를 리세트하고, 상태 7로 진행한다.
상태 5(사용하지 않음)
상태 6(EOPISR 벡터 발생한다)
현재의 벡터 카운트값이 0보다 크면, 이 채널에 대해서 벡터를 발생할 필요가 있다.
SIO_CHN_BSY가 사용중(활성)이면, 이 타임 슬롯 기간중 벡터 발생를 스킵하고. 다시 다음에 타임 슬롯를 시도하지만, 하기의 통상 EOPISR 상태처리를 계속한다.
EOPISR 큐가 오버플로 되면(CEISR로 IQO가 설정되어 있다), EOP WAIT STATE를 ″CLEAR EOPISR STATUS″로 설정한다. 큐가 오버플로되지 않으면, EOP WAIT STATE를 ″STOR EOPISR STATUS″로 설정하고, 상태 7로 진행한다.
SIO_CHN_BSY신호가 이용 가능하면. 이 채널에 대한 EOPISR 벡터를 발생한다. 큐모드(ICR_QM)이 다수상태이면, HPCR 레지스터의 현재 토글 비트 (HPCR_TOGGLE)를 (수의 비교를 위해) 포획하고, 벡터 승인 대기 (WVA)를 활성을 설정한다. 큐 모드 (ICR_QM)이 단일 상태이면, 벡터 카운트 (NOV)레지스터를 감소시키고, 상태 2로 진행한다.
현재의 벡터 카운트(NOV)가 0과 동일하면, 벡터를 발생활 필요가 없고, 상태 7로 진행한다.
상기 7(EOPISR 상태 대기)
전송 요소 또는 수신 요소에서의 상태 이용 가능지시를 기다린다(SWA활성).
RSM에서 슬롯 종단지시 (RSM_NINT_EOS)를 수신하면 상태 0으로 진행한다.
TSR_PARITY_ERROR이 활성이면, PE를 ″11-TSR의 리드중에서 패리티에러를 검출하였다″로 설정하고, 상태 7로 진행한다.
SWA 비트가 활성(수신기 구획 또는 송신기 구획의 하나가 상태를 EOPISR STSTUS LATCH 로 래치 하고 있는 것을 나타낸다)이며 EOP WAIT STATE가 ″STORE EOPISR STATUS″이면 NOV를 증가시켜, EOP WAIT STATE를 ″IGNOREEOPISR STATUS″로 설정하고, 상태 3으로 진행한다.
SWA가 활성이고, 또한 EOP WAIT STATE가 ″IGNORE EOPISR STATUS″이면 상태 7로 진행한다.
SWA가 활성이고, 또한 EOP WAIT STATE가 ″CLEAR EOPISR STATUS 이면, SWA 비트를 리세트하고, 상태 7로 고정된다.
SWA가 활성이고, 또한 EOP WAIT STATE가 현재의 EOP WIAIT STATE와 동일하게 설정되어 있으면, 상태 7로 고정된다.
12.2.8.2 INT_CHP 상태 기계
SIO_RESET이면 상태=0이다.
상태 0
L1_CHP_VRQ, L1_CHN_VRQ 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 활성이면, 관련 백터를 SIO에 부여하고, 상태 4로 진행한다.
L1_CHN_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 2로 진행한다.
IDLC_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 1로 진행한다.
상태1
L1_CHP_VRQ 또는 L1_CHN_VRQ가 활성으로 되는 것을 또는 IDLC_CHP_VRQ가 비활성으로 되는 것을 기다린다.
L1_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 5로 진행한다.
L1_CHN_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 3로 진행한다.
IDLC_CHP_VRQ가 비활성이면, 상태 0으로 진행한다.
상태2
L1_CHP_VRQ가 활성, L1_CHN_VRQ가 비활성, 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 활성이면 벡터를 SIO에 부여하고, 상태 6으로 진행한다.
L1_CHN_VRQ가 비활성이면, 상태 3으로 진행한다.
IDLC_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 0으로 진행한다.
상태3
L1_CHP_VRQ가 활성, L1_CHN_VRQ가 비활성, 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 7로 진행한다.
L1_CHN_VRQ가 비활성이면, 상태 1로 진행한다.
IDLC_CHP_VRQ가 비활성이면, 상태 2로 진행한다.
상태 4
L1_CHP_VRQ가 비활성, L1_CHN_VRQ가 활성 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 비활성이면, 상태 0으로 진행한다.
L1_CHN_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 6으로 진행한다.
IDLC_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 5로 진행한다.
상태 5
L1_CHP_VRQ가 비활성 L1_CHN_VRQ가 활성, 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 비활성이면, 상태 1로 진행한다.
L1_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 7로 진행한다.
IDLC_CHN_VRQ가 비활성이면, 상태 4로 진행한다.
상태 6
L1_CHP_VRQ가 비활성이면 , L1_CHN_VRQ가 비활성, 또는 IDLC_CHP_VRQ가 활성인 것을 기다린다.
L1_CHP_VRQ가 비활성이면, 상태 2로 진행한다.
L1_CHP_VRQ가 비활성이면, 상태 4로 진행한다.
IDLC_CHP_VRQ가 활성이면, 벡터를 SIO에 부여하고, 상태 7로 진행한다.
상태 7
L1_CHP_VRQ가 비활성, L1_CHN_VRQ가 비활성, 또는 IDLC_CHP_VRQ가 비활성인 것을 기다린다.
L1_CHP_VRQ가 비활성이면, 상태 3으로 진행한다.
L1_CHN_VRQ가 비활성이면, 상태 5로 진행한다.
IDLC_CHP_VRQ가 비활성이면, 상태 6으로 진행한다.
12.2.9. INT 레지스터
상기 파라미터 CEIS 및 EOPIS를 상세하게 위에서 설명하였다. CEISR의 용법에 관해서, 상태 기능 IHEISR의 상세 및 구성 지정 기능 ICR과 HPCR을 상세하게 다음에 설명한다.
12.2.9.1. CEISR
각각의 필드의 표제 및 기능은 전반적으로 상술하였다, 특정 기능 제한 및 주지를 다음에 설명한다.
WVA(벡터승인을 대기)
IOP로 부터의 벡터승인이 미결정인 것을 나타낸다.
승인이 미결정일 때, INT는 새로운 인터럽트벡터를 발생하는 것을 금지하고 있다.
NOV(5비트, 미해결벡터의 수)
큐상의 유효 미해결벡터의 수를 나타낸다. IOP가 인터럽트를 승인하면 IOP는 이 값으로 액세스해서 큐에서 리드되는 것을 기다리고 있는 유효 EOPISR 엔트리의 수를 결정할 수 있다. INT는 이값을 사용해서 큐 오버플로상태가 언제 발생하는지를 결정한다.
PTV(이전 벡터의 비트값)
HPCR 토글 비트의 이전의 값을 나타내며, 이 비트를 여러 상태의 모드에서 동작하면서 HPCR 토글 비트와 비교하는 것에 의해 INT는 IOP가 EOPISR 큐로 언제 엑세스했는지를 결정한다.
IQO(인터럽트 튜 오버플로)
EOPISR 큐가 오버플로 되지를 나타낸다.
PE(패리티에러 2비트)
IDLC RAM에 관한 하기 상태의 하나르 나타낸다. 패리티에러가 검출되지 않는다. TSR을 리드하고 있는 동안에 페리티 에러가 검출된다. FIFOR을 리드하고 있는 동안에 패리티에러가 검출된다.
이 필드는 채널화 하드웨어에러 인터럽트가 INT 에 의해 특정 채널에 대해서 발생되는 것으로 IOP에 의해 리드되어야 한다.
IM(인터럽트모드)
이 비트는 관련 채널에 관한 IDLC의 하기 동작모드의 하나를 나타낸다. 초기설정 (RSM에 의항 미결정정작동), TSR 패리티에어에 의한 사용금지, FIFOR, 패리티에러에 의한 사용금지,(정상작동에 대한)사용금지.
SWA(상태워드 이용가능)
상태가 EOPISR 큐에 (RSM에 의해)저장하는데 이용할 수 있는 것을 나타낸다.
NSL(다음의 상태워드의 위치. 4비트)
TSR의 다음의 EOPIS 상태를 저장할 현재의 채널의 EOPISR 큐 구획내의 오프세트 기억 위치를 나타낸다. 상태를 저장에 이용할 수 있을 때(SWA가 활성일 때), RSM은 이 필드를 TSR 어드레스의 하위 4비트로써 사용해서 큐로 액세스한다(다른 비트는 채널 수에 따라서 결정된다).
주
INT로 부터의 CEIS 값은 관련 백터가 발생되고 나서 최대 3.8마이크로초후에 RSM에 의해 TSR로 라이트된다. 따라서, 벡터발생후 3.8마이크로초의 지연보다 앞에 CEISR/TSR로 액세스하고자 하면 오래된 CEIS 정보가 리드된다. 따라서 OIP/ISO에 의한 이 파라메터로의 액세스 IOP가 벡터를 수신하고 나서, 적어도 3.8마이크로초 만크큼 지연시켜야 한다(통상, IOP가 타스크모드를 나와서 인터럽트 처리 루틴으로 연결되는데 필요한 시간은 3.8마이크로초를 초과하므로, 이 요구사항을 만족시키는데 IOP에 의한 특별한 지연처리는 필요없다).
12.2.9.2 IHEISR
제38도는 참조하면 이 레지스터는 활성에 사용되는 10개의 상태지시비트 (WPE, APE, LID, PWE, PIA, DPE, NDS, WSE, PEE, DBE) 및 활성에 사용되는 4개의 원지시 비트(ITE. LTO, ESD, DTO)를 구비하고 있고, 이들의 용도는 다음과 같다.
WPE(라이트보호에러)
IOP가 그 할당 어드레스 공간의 보호부분(라이트행위가 금지되어 있다)에 미인가의 라이트를 실행하고자 하는 것을 나타낸다.
APE(어드레서 패리티에러)
IDLC/SIO가 IPO에 의해 SIO를 경유하는 프로그램동작중에(그 동작이 라이트이면 그 동작은 억제된다) 사용되는 어드레스에서 패리티에러를 검출한다.
LID(손실인터럽트검출)
IDLC(SIO)가 인터럽트 승인 사이클(IACK)를 검출했지만, IOP에 부여하는 미결정벡터는 없다.
PWE(프로그램에 의한 I/O 라이트의 에러)
IOP/SIO가 IDLC의 레지스터의 32비트의 기억위치에 대해서 반대의 라이트를 비순차적으로 실행하는 무효의 시도를 나타낸다.
PIA(프로그램에 의한 I/O 무효 어드레스)
IOP/SIO가 IDLC에 할당된 시스템 어드레스 공간의 보류부분으로 액세스하는 무효의 시도를 나타낸다.
DPE(데이타 패리티에러)
IPO/SIO가 IDLC RAM에 프로그램에 의한 입출력 라이트 동작중에 데이타 패리티에러를 검출한 것을 나타낸다. 이 에러가 검출되었을 때 어드레스된 기억위치는 갱신되지 않는다.
NCS(데이타 스트로브없음)
IDLC 어드레스에 대해서 리드 또는 라이트를 실행하는 동안에 예상되는 2개의 데이터 스트로브(상부 또는 하부 스트로브)중 어느것도 동작중 화성이 아니었다.
WSE(라이트 데이터 스트로브에러)
폭 32비트로 규정되어 있는 내부 IDLC레지스터로의 라이트동작시에 상부 및 하부의 데이터 스트로브가 모두 비활성이었다.
PPE(프로그램에 의한 I/O 패리티에러)
IDLC 어드레스의(IOP/SIO에 의한)프로그램에 의한 리드중에 데이터 패리티에러가 검출되었다.
DBE(DMA 버스에러)
IOP버스에 대한 DMAC/MIO의 동작중 BUS_ERROR이 활성이다. IOP는 그 상태 레지스터를 보다 상세하게 리드해야 하지만, 이것은 통상동작중에 어드레스 패리티에러 또는 이중 비트 ECC에러가(IOP에 의해 검출된 것을 나타낸다.
ITE(인터페이스 타이밍에러)
IDLC가 응답하는 준비를 하고 있지 않았을 때(즉, 가장 있을 수 있는 것은 하드웨어의 고장에 의한 것이지만 IDLC와 L1사이의 동기가 취해져 있지 않을 때)L1회로에 의해 제시되는 데이터전송 요구를 나타낸다.
LTO(논리 타임아웃)
소정의 할당시간내에 필요한 동작을 완료하는 IDLC의 논리고장을 나타낸다(통상은 내부 하드웨어의 고장을 나타낸다).
ESD(에러 상태 검출)
IDLC 구획 상태 기계 유니트에서 무료 상태가 검출되었다. 통상 하드웨어 공장에 따른다.
DTO(DMA 타임 아웃)
IOP는 50마이크로초 이내에 IDLC DMA/MIP 요구에 응답하지 않는다. 이 시간은 통상 MIO가 IOP버스의 제어를 얻기 위해서는 충분하고, 그와 같이 할 수 없었던 경우에는 일반적으로 하드웨어에러를 나타낸다.
12.2.9.3 ICR
이 레지스터의 필드는 하기의 SIO의 설명에 상세하게 기재하고 있다. (12.3.2.를 참조)
12.3.2 HPCR
이 레지스터에 마련되어 있는 필드 및 그 용법의 상세한 것은 RSM의 설명중에 기술하였다(7.3을 참조).
12.3 SIO의 구획
12.3.1 SIO의 동작
SIO는 INT와 IOP사이를 접속해서 인터럽트요구 및 관련벡터를 IOP로 운반하고, IDLC를 통해서 개개의 레지스터 및 RAM 어드레스공간의 기억위치로의 IOP액세스를 실행하고, 인터럽트 상태 및 진단정보의 IOP 인출을 지지함과 동시에 IOP가 IDLC의 요소 및 채널의 초기상태를 프로그램가능하게 확립할 수 있게한다. IOP버스와 통신할 때, SIO는 IOP의 ″슬래이브″이다. 즉, IOP버스를 통해서 정보를 전송하는 그 동작은 모든 실행에 관해서 IOP의 주도에 의한 것이다. 또, IOP 및 다른 IDLC 요소에 관한 그 동작은 IDLC 채널에 의한 처리동작과 비동기 시간관계에 의해 실행된다.
12.3.2 SIO의 논리조직
제43도는 SIO구획의 논리조직 및 외부 인터페이스를 도시한 것이다.
이 구획은 IDLC 내에서 INT 구획과 다른 모든 구획의 전부의 IDLC RAM 및 주요 레지스터와 접속된다. 외부적으로 이 구획은 IOP버스 및 L1회로에 접속된다.
구획의 논리기능은 독립적으로 동작하는 2개의 상태기계 유니트(280)(ICM 또는 IOP 제어관리기 상태기계) 및 (281)(PIO 또는 프로그램 입출력 영상기 상태기계)에 의해 주로 실행된다. 그 명칭에 의해 나타내어져 있는 바와 같이, ICM 상태기계는 IOP버스(282)와의 접속의 책임이 있고, PIO 상태기계는 데이터를 프로그램 가능 입출력 인터페이스(283)-(284)를 통해서 SIO와 IDLC RAM 및 다른 구획사이에서 동작하게 할 책임이 있다. ICM 상태기계는 단독으로 INT 구획에서 PIO 상태기계의 제어하에 이와같은 데이터가 라이트되는 래치(285)에서 전송하는 것을 제어하도록 동작한다.
ICM 상태기계는 IOP버스와 (286)-(288)을 직접 접속하고, 제어신호를 SIO와 IOP사이의 데이터 전송을 제어하는 IOP와 교환한다. 이들 제어신호는 기호″X_Y″로 나타내고 있다. 여기에서 X는 구동원이고, Y는 신호기능이다. 종지표(″.″)를 신호명의 좌측 또는 우측에 부티이고, 그 명칭을 각각 좌측 또는 우측의 선과 관련시킨다. 예를 들면″IOP_INTACK″는 (IOP에 의해 구동된다)그 좌측의 선(286)과 관련되어 인터럽트요구/벡터조합을 수신한 것이 IOP의 승인을 나타낸다. 또, ″SIO_INT″는 그 우측의 선(288)과 관련하여 ICM/SIO에 의해 구동되는 인터럽트요구지시를 나타낸다.
IOP에서 밖으로 나오는 데이터는 ICM상태기계의 유효제어하에 SIO버스구동회로(289)에서 IOP버스로 전송된다. IOP버스의 안쫏으로 들어오는 데이터는 (291)에 있어서는 IOP구동 어드레스신호와 함께(290)에서 수신된다. 안쪽으로 들어오는 데이터 및 어드레스는 각각 ICM에 에러를 나타내기 위해 ICM으로의 동시하지 않은 출력접속을 갖는 패리티체크회로(292) 및 (293)에 의해 체크된다.
밖으로 나오는 데이터는 모두 ICM 상태기계(280)에 의해 제어되는 셀렉터회로(294) 및 (295)를 경유해서 버스구동기(289)로 제시된다. 셀렉터회로(294)는 인터럽트벡터 래치원(296) 및 (297)에서 입력을 수신한다.
래치(296)은 상술한 INT_CHP 상태기계의 제어하에 INT에서 보내지는 하드웨어에러 벡터를 수신한다. 래치(298)은 먼저 설명한 INT_CHP 상태기계의 제어하에 채널화 이벤트/상태벡터를 수신한다.
셀렉터회로(295)는 리드데이타 래치(298)에서 데이터를 수신한다. 래치(298)은 셀랙터회로(300)의 출력에 로드된다. 회로(300)의 동작 및 래치(298)의 로딩은 PIO상태기계(280)에 의해 제어된다. 회로(300)은 데이터를 RSM, TSR, FIFOR, DMAR 및 몇 개의 레지스터에서 선택적으로 전송한다. RSM으로부터의 데이터 경로는 RSM에 설치되어 있는 HPCR(HDLC 프로토콜구성 레지스터)의 내용을 전송을 고려하고 있다. 셀랙터(300)에 공굽하는 레지스터에는 INT에 마련되어 있는 IHEISR 레지스터 및 2개의 SIO 레지스터, ICR(IDLC 구성 레지스터)(301) 및 HCR(하이퍼채널구성 레지스터)(302)가 있다. ICR 필드의 할당을 상세하게 다은에 설명하고, HCR필드의 상세한 것은 하이퍼채널의 설명(15장)에서 설명한다.
제44도를 참조하면 필드는 다음과 같다.
RES(예비 12비트)
TMO(마스터 타임아웃 4비트)
마스터동작을 실행할 때 IDLC가 슬래이브의 승인을 기다리는 시간의 길이를 구하는 프로그램 가능한 타이머 값.
SEM(슬레이브 에러 모드)
IDLC가 슬레이브의 액세스를 승인하지 않는 다는 것으로써, 이것은 SEM 비트가 비활성인 경우의 에러이다. SEM비트가 활성인 경우에는 슬레이브 액세스가 에어일 때 승인을 내고, 버스에러지시를 표명한다.
RST(리세트)
이 비트는 소프트웨어에 SIO를 경유해서 시스템리세트를 실행하는 수단을 제공한다.
QM(큐모드)
이 비트는 벡터가 제시되었을 때 단일상태워드 또는 다수상태워드를 취할지를 결정한다.(상세에 대해서는 INT논리요구를 참조)
WP(라이트보호)
이 비트는 IDLC의 외부에 있는 전기적소거 가능리드전용기억장치(EEROD 요소)의 내용을 보호하는데에 사용된다.
이 필드는 IDLC의 칩레벨의 인터럽트의 전부에 대해서 8비트의 수동벡터중의 상위 6비트를 발생하는 데에 사용된다.
CIVO(채널 인터럽트벡터 오프세트, 2비트)
이 필드는 채널레벨의 모든 인터럽트에 대해서 8비트의 수동벡터주의 상위 2비트를 발생하는 대에 사용된다.
TPS(TSR 페이지 선택)
이 비트는 TSR 의 상부 또는 하부의 페이지를 선택하는 데에 사용된다.(TSR의 페이지는 1K×36인 것에 주의).
MODE(3비트)
이 필드는 IDLC를 각종 모드, 통상 동작, 리세트, 강제에러 정상, 강제에러리세트 및 휴식으로 동작시키는데에 사용된다. 각종모드는 진단먹적의 특징을 부여한다. 통상동작모드가 설정되면, IDLC는 동작을 개시한다. 리세트모드가 설정되면, IDLC는 아이들모드로 된다. 강제에러정상모드가 설정되면, IDLC는 통상모드에서 동작하고 SIO라이트 동작의 전부에 패리티에러를 강요한다. 강제에러 리세트모드가 설정되면, IDLC는 리세트모드에서 동작하고 SIO라이트동작의 전부에 에러를 강요한다. 휴식모드가 설정되면, IDLC는 통상동작모드에서 동작하지만 IDLC에 의한 인터럽트가 표명되는 일은 없다.
IOP 버스는 SIO로의 18비트의 인터페이스(16데이타비트 및 2패리티비트로)로 되고 SIO는 IDLC는 폭 32 비트의 내부데이타모드에 접속한다. 경계내의 데이터 및 경계외의 데이터는 (286)에 있는 언 바이트가 유효한지를 나타내는 상부 및 하부의 데이터 스트로브기능(IOP_UDS 및 IOP_LDS)에 의해 18비트병렬단의(관련된 2개의 패리티비트를 갖는 2개의 8비트 바이트)로 IOP버스를 통해서 전송된다. 경계외의 데이터는 36비트병렬단위(4바이트와 패리티)로 래치(298(로 로드할 수 있고, 2사이클 전송동작에 의해 IOP버스를 통해서 전송할 수 있으며, 이 2사이클 전송동작에서는 데이터의 18비트부분이 ICM데이타 셀랙터(295)를 통해서 버스에 다중회 된다.
IOP 버스 SIO로의 경계내의 데이터는 IDLC 내의 최종수신지를 지정하는 24비트 어드레스단위가 수반되는 18비트 병렬데이타단위(8비트.바이트 2개 및 관련패리티비트)로 전송가능하다. IOP는 데이터를 IDLC의 폭 32비트의 레지스터에 1싸의 18비트 경계내의 데이터단위를 버스를 통해서 2사이클 전송동작에 의해 순차전송하는 것에 의해 전달 할 수 있다. 이와 같은 1조의 최초의 18비트단위는 데이터 래치 (304)에 래치되고, 폭 36비트의 확장버스(305)(래치(304)에서의 18비트단위 1개 및 다른 IOP버스에서 직접)에서 이 1조를 병렬로 제시할 수 있다. 버스(305) (SIO_DATA_BUS)는 다른 IDLC 구획 및 RAM까지 연장하고 있다.
경계내의 어드레스단위는 ICM 디코더(306)을 통해서 ICM 상태기계(280)에 및 PIO 디코더(307)을 통해서 PIO 상태기계(281)에 부가된다. 2비트래치(308)(″최초의 사이클의 정보″래치)는 ICM에 의해 2사이클백투관계 전송동작의 최초의 사이클의 제어파라미터를, 즉 최초의 사이클의 전송이 IOP에서의 리드인지 IOP로의 리드인지를, 및 최초의 싸이클의 최하위 어드레스비트가 기수인지 우수인지(이 후자의 3정보는 백투백관계의 전송이 워드의 경계에서 발생하였는지를 확인하는데에 사용된다)를 기억하는 데에 사용된다.
다른 IDLC 요소로의 경계내의 데이터 전송에 있어서 ICM디코더(306)에서 복호된 어드레스는 ICM상태 기계 및 이들에서 ICM어드레스 래치(309)에 부과되고, PIO상태기계에 보내어진다. 이 정보를 사용해서 PIO상태기계는 언제 그 디코더 (307)에 부가되고, pio상태기계에 보내어진다. 이 정보를 사용해서 PIO상태기계는 언제 그 디코더(307)의 출력을 작동시켜 다른 idLC 구획 및 RAM에 내부적으로 분배되는 어드레스 SIO_ADDRESS_BUS를 제공할 것인지를 판단한다. RSM으로부터의 데이터경로(인터페이스(283) 및 (284)에 있는 RSM_DATA)는 IOP가 시간교환에 사용되는 RSM의 내부래치에 관해서 진단용 라이트기능을 실행할 수 있도록 한다.
ICM 및 PIO 상태기계는 요구/승인 인터페이스를 통해서 서로 통신한다. ICM은 리드 및 라이트요구(ICM_PIO_RD, ICM_PIO_WR)을 제시하고 이들을 PIO가 (PIO_ RD_ACK, PIO_WR_ACK에서)승인한다.
ICM 상태기계는 이하에 설명하는 32의 상태를 구비하고 있고, 이것에 의해 슬레이브전송의 비동기 IOP버스프로토콜 및 버스의 16비트구조와 IDLC의 32비트내부구조를 접속하는 내부프로토콜을 관리한다. IOP에서의 제어신호.(.IOP_RD/WR, IOP_LDS,.IOP_ADDR_STRB, .IOP_CHP_SEL,.IOP_RESET 및 IOP_INTACK)는 모두 50ns의 클럭으로 동작하는 ICM상태기계로의 동기입력에 앞서 래치된다. IOP의 어드래스 및 데이터버스(IOP_ADDRESS 및 LOP_DATA_BUS)에 관한 패리티체크는 바이트기준으로 실행된다.
IOP버스 사이클의 개시는 칩선택(.IOP_CHP_SEL) 및 어드래스 스트로브 (.IOP_ADDR_STRB)의 쌍방이 동시에 활성일 때에 나타난다. IOP_RD/WR 신호이 극성은 사이클이 IDLC로의 라이트인지 IOP에서의 리드인지를 나타낸다.(논리 1은 리드를 나타내고 논리 0은 라이트를 나타낸다) 하위데이다 스트로브(IOP_LDS) 및 상위데이타 스트로브(IOP_DATA_BUS)의 상위 또는 하위의 8비트가 라이트사이클에서 유효한지의 여부 또는 양쪽의 바이트가 리드사이클에서 유효한지의 여부를 나타낸다. IDLC의 32비트 데이터레지스터로의 이트사이클에는 이것을 실행하는 데에 16비트 IOP버스사이클의 2사이클이 필요하고, ICM은 최초의 사이클에서 데이터 및 패리티의 양쪽을 일시적으로 래치(304)로 포착한다. 제2의 사이클에서 ICM은 36비트(32비트와 4비트의 패리티)전부를 PIO상태기계에 공급한다.
32비트 데이터레지스터에서의 리드사이클도 16비트 IOP 버스사이클의 2사이클을 필요로 하고, ICM은 PIO의 리드데이타 래치(298)에서 36비트(32비트와 4비트의 패리티)를 다중화하는 셀랙터(295)를 사용해서 최초의 18비트(16데이타비트와 2비트패리티)를 선택한다. ICM어드래스래치(309)는 최초의 사이클의 마지막에 현재의 IOP어드래스를 래치하고 제 2사이클에서 2개의 사이클의 제2의 최하위비트 A1(IOP어드레스는 A0-24)까지 번호를 붙이고 있다)를 비교하는 것에 의해, 어드래스의 변화만으로 백투백관계의 어드래스를 확인하는 비교를 실행하는데에 사용된다. ICM의 제1사이클정보래치(308)은 최초의 사이클이 리드인지 라이트인지를 및 A1비트 값을 기억하고 있다. 이 정보는 32비트리드 라이트의 후반의 16비트 사이클에서 사용된다. 2사이클의 순조롭게 끝나고 나서 또는 ICM이 검출한 에러사이클의 후에 제 1사이클정보를 ″무연혁″값으로 클리어한다. ICM은 리드사이클에서 데이터의 패리티체크를 실행하고, 내부데이타 패리티에러를 IOP버스패리티에러에서 또 분리한다.
ICM은 그 데이터승인선(SIO_DTACK)을 활성으로 해서 리드사이클 또는 라이크사이클의 완료를 지시한다. 리드 또는 라이트버스사이클에 슬레이브 에러를 검출하면, ICM은 SIO_DTACK의 동작을 대비하고 IHEISR 레지스터에서 적절한 슬레이브 에러상태 지시비트를 설정한다(전의 INT의 서명에서의 이 레지스터의 설명을 참조). OIP는 모드 리드 하이트동작상의 ICM로 부터의 SIO_DTACK 승인을 타임아웃하고, 에러가 나타나면 적절한 진단 또는 다른 조치를 취한다.
ICM이 IOP프로세서에 이용가능한 인터럽트벡터가 존재하는 것을 나타내는 기구는 ″SIO_INT″신호를 비동기적으로 활성하는 것이다.
이것에 의해 결국은 IOP의 업무프로그램의 실행이 중지되고, IOP버스에 인터럽트 승인사이클이 발생한다. 이 시점에서 IOP ″IOP_INTACK″를 활성으로 하고, 칩벡터(CHIP_VECTOR_LATCH) 또는 채널벡터(CHA_VECTOR_LATCH)를 1CM에 의해 IOP_ DATA-BUS의 하위8비트로 한다.
벡터래치(296) 및 (297)은 벡터유지레지스터(VHR)이라고 하고, IOP에 의해 프로그램 입출력 사이클에서(예를 들면 진단목적으로)액세스 할 수 있다.
ICM은 리드 또는 라이트의 데이터 전송에서 L1회로, PIO(다른 IDLC부분)또는 폭의 선택을 결정하는 레이어의 어드레스복호(ICM ADDRESS DECODE)를 실행한다(VHR 레지스터는 통상 SIO동작에서 리드전용인 것에 주의). L1복호에 의해 L1칩선택(L1_CHP_VRQ)신호가 활성으로 되고, 데이터를 IOP버스와 L1회로사이로 보낸다. VHR복호에 의해 VHR 레지스터의 리드가 가능하게 된다. PIO공간으로의 부호는 L1회로 및 VHR 레지스터의 어드레스와 다른 IDLC의 기억장치이벤트 입출력공간으로의 액세스라고 규정된다. 이와 같은 복호에 의해 ICM은 IOP모드사이클의 방향에 따라서 ICM_PIO_RD또는 ICM_PIO_WR을 동작시키는 것에 의해 PIO에서의 서비스를 요구한다. PIO 상태기계는 (PIO_ICM_ACM 신호를 사용해서 ICM의 요구를 승인한다.
PIO는 ICM에서 실행된 것외의 다른 레이어의 어드레스복호(307)(PIO ADDRESS DECODE)를 실행한다. PIO는 내부 36비트 IDLC 버스932비트는 데이터, 4비트는 기수패리티, 단, DMAR에서는 32비트의 데이터, 1비트의 기수패리티)사이의 데이터의 다중화 및 래치를 관리한다. PIO는 각각 RAM을 지시하는 요수 및 승인의 신호 예를 들녕 SIO_TSR_RD(또는 WR) 및 TSR_SIO_ACK를 사용해서 TSR_FIFOR 및 DMAR RAM로 액세스한다.
셀랙터(300)을 경유해서 PIO는 PIO리드사이클 중에 TSR, ESM, FIFOR, DMACR, IHEISR 레지스터, ICR 레지스터 및 HCR 레지스터에서의 36비트 데이터 버스를 리드데이타래치(398)에 다중화 한다. 셀책터(300)으로의 RSM_DATA 입력은 진단목적을 위한 RSM내의 시간교환레지스터로의 리드경로이다. 셀랙터로의 IHEISR_DATA, ICR_DATA 및 HCR_DATA이 각 입력은 각각(INT의) IHEISR 레지스터, ICR 래지스 및 HCR 레지스터로 부터의 리드경로이다.
라이트동작시 PIO는 36비트 데이터를 버스(383)(SIO_DATA_BUS)를 경유해서 동일 IDLC 요소에 분배한다. ICR 레지스터 및 HCR레지스터는 IDLC 내부에 구성 및 하이퍼채널 정보를 RSM구획으로 분배하기 위해 사용된다.(상기 도시한 RSM의 설명 및 HCR 및 ICR 비트의 설명을 참조). SIO_IHEISR_SEL은 PIO에서 INT까지 연장되어 있고. IHEISR 데이터를 IOP로 전송할 때 IHEISR 레지스터의 성택에 사용된다.
12.3.3. 상태기계의 상태
12.3.3.1 ICM의 상태기계
SIO_RESET 이면 상태=0이다.
IOP버스상의 IOP 칩선택(IOP_CHP_SEL) 및 IOP 어드레스 스트로브 (IOP_ADDR_STRB)가 모두 활성이면, 50ns 대기하고, 어드레스 패리티를 인정하게 하고, 상태 31로 진행한다.
인터럽트승인(IOP_INTACK) 및 어드레스 스트로브(IOP_ADDR_STRB)가 활성이면, VECTOR SELECTOR 경로를 설정해서 벡터를 CHIP_VECTOR_LATCH 또는 CHAN_ VECTOR_LATCH (CHIP_VECTOR_LATCH는 CHAM_VECTOR_LATCH보다 우선도가 높다)로부터 전송한다. IOP_INT신호를 동작시키는 원래의 원인은 IOP에 IOP_INTACK에 응답시키는 것이지만, CHN_VECTOR_LATCH를 로드할 수 있어도, ICM에 의한 채널 벡터 또는 칩 벡터인지의 선택은 IOP_INTACK 사이클의 기간중에 실행된다.
벡터가 미결정(즉 CHP_VECTOR_LATCH 및 CHN_VECTOR_LATCH가 비어있음)이지 않으면, 손실인터럽트비트(LID)를 IHEISR에 설정하고 상태 1로 진행한다.
상태 1 : 벡터 래리티발생지연
1클럭사이클(50ns)지연되어 VECTOR_SELETOR(294)의 출력에 유효패리티를 발생시킨다. 상태 2로 진행한다.
상태 2 : 백터 패리티의 체크
(294a)에서 백터 셀렉터의 패리티를 체크한다.
패리티가 양호하면, IOP 버스에 데이터승인(PIO_DTACK)를 표명하고 상태 3으로 진행한다.
패리티가 불량하면, 데이터승인 PIO_DATCK를 대기시키고 IOP에 DTACK 타임아웃상태를 발생한다. IHEISR에 프로그램 I/O리드 패리티에러비트(PPE) 상태지시를 설정하고, 상태14로 진행한다.
상태 3 : INT에 대한 SIO_CHN_BSY 또는 SIO_CHP_BSY 지시를 리세트한다(이들 신호는 INT에 의해 CHP_VECTOR_LATCH 및 CHAN_VECTOR_LATCH가 가득참 상태 또는 비어있는 사태의 지시로서 감시된다)
VECTOR_SELECTOR의 현재의 다중위치에 따라 SIO_CHP_BSY 또는 SIO_CHN_BSY를 리세트한다(즉, CHIP_VECTOR_LATCH가 선택되면, SIO_CHP_BSY를 리세트하고, CHAN_ VECTOR_LATCH가 선택되면 SIO_CHN_BSY를 리세트한다)
IOP_INTACK가 비활성이면 상태 15로 진행한다.
IOP_INTACK가 활성이면 상태 7로 진행한다.
상태 4 : PIO리드 승인(PIO_RD_ACK)의 활성 또는 어드레스 스트로브(IOP_TD )ADDR_STRB의 비활성을 대기한다).
PIO가 리드를 승인하면(PIO_RD_ACK), 현재의 IOP 버스어드래스 비트를 ICM 어드레스 래치(309)에 보존하고, (308)의 제1사이클정보를 보존한다 (이것에 의해 PIO 상태기계에서 데이터를 요구할 필요가 없으므로, 다음의 연속리드 사이클에서 래치(298)로 데이터의 고속액세스가 가능하게 된다). 상태 5로 진행한다.
IOP 어드레스 스트로브(IOP_ADDR_STRB)가 비활성이면 현재의 사이클이 빠르게 종료하므로서, 제1사이클 정보를 ″무연혁″으로 클리어한다. 칩선택(IOP_CHP _SEL)이 활성이면, 상태 15로 진행한다. 칩선택(IOP_CHP_SEL)이 비활성이면, 상태 0으로 진행한다.
상태 5 : (리드 데이터 패리티발생 자연상태)
클럭사이클이 경과하는 것을 대기하는것에 의해 (즉, 50ns 지연시켜서)리드 데이터 패리티카 ICM데이타 셀랙터버스에서 발생하는 것을 대기한다. 상태 6으로 진행한다.
상태 6 : (PIO리드 데이터 패리티를 체크한다.
상부 및 하부 데이터버스에 있는 패리티를 프로세서 버스제어신호 IOP_UDS 및 IOP_LDS에 따라 체크한다.
패리티가 양호하면, PIO_DTACK를 추출하고 상태 14로 진행한다,
패리티가 불량이면, 제1사이클 정보를 ″무현혁″으로 클리어하고, 프로그램 I/O리드 패리티에러(PPE) 상태지시를 IHEISR레지스터내에 설정하고, PIO_DATCK을 발생하지 않고 상태 14로 진행한다.
상태 7 : (인터럽트 승인이 비할성으로 되는 것을 대기한다.)
인터랩트승인(IOP_INTACK)신호가 비활성으로 되면. 상태 0으로 진행한다. 인터램트승인(IOP INTACK)가 활성인 상태이면. 상태 7에서 정지한다.
상태 8 : (사용하지 않음)
상태 9 : (PIO 라이트 데이터 스트로브 (IOP_UDS 및 또는 IOP_LSD)가 활성이되는 것을 또는 어드레스 스트로프(IOP_ADDR_STRB)가 비활성이 되는 것을 대기한다.)
래치되어 있는 데이터 스트로브 (IOP_UDS 또는 IOP_LDS)가 활성으로 되어 있으면, 래치되어 있지 않는 데이터 스트로브신호를 사용해서 유효한 16비트 버스사이클이 요구되어 있는 것을 승인한다. IOP데이타모드로부터의 데이터 패리티를 체크한다. 제1사이클의 정보가 이전의 사이클이 라이트이었던 것을 나타내고 있을 때는 유효한 백투백 16비트 사이클을 확신한다.
데이터 스트로브(UDS, LDS) 또는 어드레스 스트로브 IOP_ADDR_STRB 가 활성이면 상태에서 정지한다.
패리티가 양호하고 32비트 사이클의 전반이면 데이터를 래치하고, 제1사이클 정보(A1=0을 사용하여 라이트)를 유지하고 어드레스를 ICM ADD RESS LATCH에 래치하고, PIO_DTACK를 IOP에 대하여 활성으로 하고 상태 14로 진행한다.
패리티가 양호하고 32비트 사이클의 후반이면, PIO에 라이트요구(ICM_PIO _WR)을 발생하고 상태 10으로 진행한다.
패리티가 불량하면, 데이터 패리티 에러 비트(DPE)를 IHEISR에 설정하고 PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
래치되어 있지 않는 IOP_DUS 또는 IOP_LDS가 비활성이면, IOP가 양데이타 스트로브를 활성으로 할 수 없었던가 또는 프로그래밍제한이 침해받고 있기 때문이다. 어떤 경우에도 이것은 16비트 사이클은 아니다. 따라서, 무데이타 스느로브 (NSD) 상태지시를 HIEISR에 설정하고, PIO_DTACK를 발생하지 않고 상태 14로 진행한다.
어드레스 스트로브(IOP_ADDR_STRB)가 비활성이면, IOP가 PIO_DTACK의 타임아웃을 인지하고, 현재의 사이클이 일찍 종료하고 있다고 고려한다. 상태 0으로 진행한다.
상태 10 : (PIO 라이트승인 또는 어드레스 스트로브가 비활성으로 되는 것을 대기한다).
PIO 라이트 승인(PIO_WR_ACK)가 비활성이던가 또는 어드레스 스트로브 (IOP_ADDR_STRB)가 활성이면 상태 10에서 정지한다.
PIO 라이트승인요구(PIO_WR_ACK)가 활성이면, 제1사이클정보(″A-1로 라이트한다″)를 보존하고 PIO_DTACK를 발생하고 상태 14로 진행한다.
어드레스 스트로브(IOP_ADDR_STRB)가 비활성이면 PIO_DTACK의 타임아웃을 고려하고 제1사이클 정보를 ″무연혁″으로 클리어하고 상태 0으로 진행한다.
상태 11 : (사용하지 않음)
상태 12 : (사용하지 않음)
상태 13 : (레이어 1라이트, 데이터 스트로브의 활성 또는 어드레스 스트로브의 비활성을 대기한다.)
데이터 스트로브(IOP_UDS 또는 IOP_LDS)가 비활성인 상태이던가 또는 어드레스 스트로브(IOP_ADDR_STRB)가 활성인 상태이면 상태 13에서 정지한다.
래치된 데이터 스트로브(IOP_UDS 또는 IOP LDS)가 활성으로 되어 있으면 L1칩선택(L1_CHP_SEL)을 출력하고 상태 14로 진행한다. L1칩 자체는 IDLC가 아닌 프로세서 PIO_DTACK를 되돌릴 책임이 있지만 SIO구획은 프로세서버스 IOP_ADDR_STRB를 계속감시하여 현재의 버스사이클이 언제 종료할지(즉, 프로세서 어드레스 스트로브가 언제 비활성이 되는지)를 판정해야만 하는 것에 주목할 것이다.
어드레스 스트로브(IOP_ADDR_STRB)가 비활성이 되면, PIO_DTACK가 타임아웃이라고 고려한다. 상태 0으로 진행한다.
상태 14 : (어드레스 스트로브(IOP_ADDR_STRB)가 비활성을 대기한다.)
어드레스 스트로브(IOP_ADDR_STRB)가 활성이면 상태 14에서 정지한다.
어드레스 스트로브(IOP_ADDR_STRB)가 비활성이고, 칩선택(IOP_CHP_SEL)이 비활성이면 상태 0으로 진행한다.
어드레스 스트로브(IOP_ADDR_STRB)가 비활성이고, 칩선택(IOP_CHP_SEL)이 활성이면 상태 15로 진행한다.
상태 15 : (칩선택이 비활성이 되는 것을 대기한다)
칩선택(IOP_CHP_SEL)이 활성이면 상태 15로 진행한다.
칩선택(IOP_CHP_SEL)이 비활성이면 상태 0으로 진행한다.
상태 16 : (EEROS 리드 상태 0)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 유지해서 EEROS를 활성으로 유지하여 EEROS리드 액세스시간을 만족시킨다(EEROS는 이 설명에는 관계하지 않는 옵션의 진단용 리드전용기억장치이다). 상태 17로 진행한다.
상태 17 : (EEROS 리드 상태 1)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드 액세스시간을 만족시킨다. 상태 18로 진행한다.
상태 18 : (EEROS 리드 상태 2)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드 액세스시간을 만족시킨다. 상태 19로 진행한다.
상태 19 : (EEROS 리드 상태 3)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드 액세스시간을 만족시킨다. 상태 20로 진행한다.
상태 20 : (EEROS 리드 상태 4)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드 액세스시간을 만족시킨다. 상태 21로 진행한다.
상태 21 : (EEROS 리드 상태 5)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드 액세스시간을 만족시킨다. EEROS으로부터의 데이터는 IOP데이타버스상에서는 유효하지만, 다른 클럭 사이클을 유효패리티에 대해서 발생시킨다. 상태 22로 진행한다.
상태 22 : (EEROS 리드 상태 6)
SIO_EEROS_CE 및 SIO_EEROS_OE를 활성으로 계속 유지하여 EEROS리드데이타를 EEROS에서의 IOP_DATA_BUS로 전달할 수 있도록 하고 IOP_DTACK신호를 발행하고, 상태 14로 진행한다.
상태 23 : (벡터유지 레지스터(VHR)을 리드한다.)
활성벡터 사용중신호(SIO_CHP_BSY 또는 SIO_CHN_BSY)에 따라 칩벡터(CHIP_ VECTOR_LATCH) 또는 (CHAN_VECTOR_LATCH)채널벡터를 선택하고, 칩레벨벡터의 발생에 높은 우선권을 부여한다.
벡터가 래치되어 있지 않으면(즉, SIO_CHP_BSY도 SIO_CHN_BSY도 활성이 아니면), 하드코드 비어있음 벡터값을 데이터버스상에 제시한다. 선택된 벡터사용중 지시를 리세트하고, 상태 1로 진행한다.
상태 24 : (EEROS 리드 상태 0)
ICR레지스터내의 EEROS 라이크보호비트(WR)이 활성이 아니면, EEROS라이트보호에러가 검출되고, WPE비트를 IHEISR내에 설정하고, PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
ICR레지스터내의 EEROS 라이크보호비트(WR)이 활성이면, 이것은 유효 EEROS라이트 사이클이고, EEROS 칩 선택(SIO_EEROS_CE) ALC EEROS라이트신호 (SIO_EEROS _WE)를 발생하고, PIO_DTACK를 발생하고, 상태25로 진행한다.
상태 25 : (EEROS 라이트 상태 1)
SIO_EEROS_CE 및 SIO_EEROS_WE를 활성으로 계속 유지하고, EEROS라이트의 세트업 및 유지 시간을 만족시키고, 상태 26으로 진행한다.
상태 26 : (EEROS 라이트 상태 2)
SIO_EEROS_CE 및 SIO_EEROS_WE를 활성으로 계속 유지하고, EEROS라이트의 세트업 및 유지 시간을 만족시키고, 상태 27으로 진행한다.
상태 27 : (EEROS 라이트 상태 3)
SIO_EEROS_CE 및 SIO_EEROS_WE를 활성으로 계속 유지하고, EEROS라이트의 세트업 및 유지 시간을 만족시키고, 상태 28으로 진행한다.
상태 28 : (EEROS 라이트 상태 4)
SIO_EEROS_CE 및 SIO_EEROS_WE를 활성으로 계속 유지하고, EEROS라이트의 세트업 및 유지 시간을 만족시키고, 상태 29으로 진행한다.
상태 29 : (EEROS 라이트 상태 5)
EEROS로의 SIO_EEROS_CE 및 SIO_EEROS_WE를 신호를 작동 해제하고, 상태 30으로 진행한다.
상태 30 : (EEROS 라이트 상태 6)
IOP_DTACK신호를 IOP에 발생하고 상태 14로 진행한다.
상태31 : (어드레스 패리티 체크)
슬래이브의 리드 또는 라이트를 결정하고, PIO 기어강치이벤트액세스, L1기억장치 이벤트액세스 또는 벡터유지 레지스터(VHR)액세스를 결정한다.
IOP어드레스 패리티가 불량이면, 어드레스 패리티에러(APE)비트를 IHEISR에 설정하고 PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
프로세서버스 리드/라이트 신호(IOP_RD/WR)가 리드 사이클을 나타내고 또한 벡터유지 레지스터 기억장치 이벤트가 복호화되어 있으면, 상태 23으로 진행한다.
IOP_RD/WR신호가 리드사이클을 나타내고 또한 PIO기억장치이벤트가 복호화되어 TSR, DMAR 또는 FIFOR, ICR레지스터, IHEISR레지스터 또는 HCR 레지스터로의 액세스를 나타내고 있으면, 데이터버스드라이버를 사용가능 하고, 상부 또는 하부의 PIO 데이타버스 멜티플랙서를 선택한다.
ICM ADDRESS LATCH의 마지막의 리드사이클 액세스 어드레스가 현재의 IOP어드레스에 일치함과 동시에 A=1이면, PIO데이타래치의 데이터는 유효하고, 또한 IOP버스로 전달할 수 있다. 상태 5로 진행한다.
현재의 IOP어드레스가 A1=0이면, PIO구획에 액세스해야만 하며, ICM_PIO_RD신호를 PIO 상태 기계로 출력한다. 상태 4로 진행한다.
A1=1이고 또한 마지막의 액세스가 라이트이었다면 이것은 프로그램 I/O32비트라이트 연속에러이고, WSE상태비트를 IHEISR레지스터에 설정하고, 제 1의 사이클정보를 ″무현혁″으로 설정하고, PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
IOP_RD/WR신호가 리드 사이클을 지시하고 또한 L1어드레스가 복호화되어 있으면, L1_CHP_SEL 선택을 활성으로 설정하고, 상태 14로 진행한다.
IOP_RD/WR신호가 리드사이클을 지시하고 또한 EEROS기억장치이벤트가 복호화되어 있으면, 상태 16으로 진행한다.
IOP_RD/WR신호가 라이트사이클 및 PIO기억장치이벤트 어드레스가 복호화되어 있는 것을 나타내고 있으며, TSR, DMAC, FIFO, ICR, IHEISR 또는 HCR로의 액세스가 시도된다.
A=0이고 또한 마지막의 액세스가 어드레스비트 1(A-1)=0에 의한 PIO라이트이었던 경우, 현재의 사이클은 프로그램 I/O라이트 연속에러이고, WSE비트를 IHEISR로 설정하고 PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
A1=0이고 또한 마지막의 액세스가 A1=0에 의한 라이트 사이클이 아니었던 경우, 이것은 마지막의 16비트에 대한 유효 PIO라이트 사이클이고 상태 9로 진행한다.
A1=1이고 또한 마지막의 액세스가 A1=0에 의한 라이트이고 전의 어드레스와 현재의 어드레스가 일치하고 있으면, 이것은 제 2 의 16비트에 대한 유효 PIO 리드사이클이고 상태 9로 진행한다.
A1=1이지만 전의 사이클 A1=0에 의한 라이트가 아니었는지 또는 현재와 이전의 어드레스가 일치하고 있지 않는 경우, 이것은 프로그램 I/O라이트에러이고 PWE비트를 IHEISR로 설정하고 PIO_DTACK를 발생하지 않고, 상태 14로 진행한다.
IOP_RD/WR이 라이트를 나타내고 있고 L1칩 어드레스가 복호화되어 있으면, L1_CHP_SEL작동시키고 상태 13으로 진행한다.
IOP_RD/WR이 라이트사이클을 나타내고 있고 EEROS기억장치이벤트가 복호화되어 있으면, 상태 24로 진행한다.
PIO, EEROS, L1칩 또는 VHR레지스터의 어드레스가 복호화되어 있지 않은 경우, IDLC기억장치이벤트의 프로그램 I/O 유효어드레스가 액세스 되고, PIA비트를 IHEISR레지스터로 설정하고 IOP_DTACK를 발생하지 않고, 상태 14로 진행한다.
12.3.3.2 PIO상태기계
모든 선택을 작동해제시키는 SIO_PESET가 승인되고 사용가능으로 되어 있으면, 상태 1로 진행한다.
상태 1: (ICM_PIO_RD 또는 ICM_PIO_WR을 대기한다.
ICM으로부터의 출력 ICM_PIO_RD 요소 또는 라이트 ICM_PIO_WR요구를 대기한다.)
요소가 활성이 아니면, 상태 1에서 정지한다.
ICM_PIO_RD 또는 ICM_PIO_WR중 어느 1개가 활성으로 되면, PIO ADDRESS DECODE논리를 사용하여 IOP 어드레스의 복호화를 시작하고 상태 2로 이동한다.
상태 2 : (어드레스에 따라 구획을 선택한다.)
구획(TSR, DMAR, FIFO 또는 RSM) 또는 레지스터(IHEISR, ICR 또는 HCR)의 어드레스가 모두 PIO ADDRESS DECODER에 의해 복호되어 있지 않으면 무효어드레스가 복호되고 상태 5로 진행한다.
구획에 대한 유효어드레스가 복호화되어 있으면, 복호된 어드레스 및 IOP_RD/WR 신호의 상태에 따라 적절한 구획으로의 선택선(SIO_DMACR_RD, SIO_DMACR _WR, SIO_FIFO_RD, SIO_FIFO_WR, SIO_TSR_RD, SIO_TSR_WR, SIO_RSM_RD 또는 RSM_ WR)을 사용가능하게 한다. 상태 3으로 진행한다.
레지스터에 대한 유효어드레스가 복호화되어 있고, 또한 IOP_RD/WR신호가 라이트사이클을 나타내고 있으면, 적절한 레지스터로의 선택선을 사용가능하게 하여 SIO_DATA_BUS에서의 데이터를 레지스터에 스트로브하고, PIO_WR_ACK를 발생하고 상태 4로 진행한다.
레지스터에 대한 유효어드레스가 복호화되어 있고 또한 IOP_RD/WR신호가 리드사이클을 나타내고 있으면, 적절한 레지스터로의 PIO SELECTOR 및 READ DATA LATCH를 사용가능하게 하고 PIO_RD_ACK를 발생하고 상태 4로 진행한다.
상태 3 : (리드에 대한 구획승인을 대기한다.)
적절한 구획승인 (DMACR_SIO_ACK, FIFO_SIO_ACK, TSR_SUIO_ACK 또는 RSM_SIO _ACK)를 또는 ICM_PIO_RD 신호가 비활성으로 되는 것을 대기한다.
승인이 없던가 또는 ICM_PIO_RD가 활성인 상태이면 상태 3에서 정지한다.
ICM_PIO_RD 신호가 비활성으로 되면 이것은 IOP모드사이클의 종료가 너무 빠른 것을 나타내고, 있고, 프로그램 입출력 리드패리티 에러비트(PPE)를 IHEISR에 설정하고 상태 1로 진행한다.
적절한 구획승인이 발생하면 PIO_RD_ACK신호를 발생하고 상태 4로 진행한다.
상태 4 : (ICM 요구의 표명해제를 대기한다).
IMC_PIO_RD 요구 또는 ICM_PIO_WR 요구가 표명해제되는 것을 대기한다.
IMC_PIO_RD 또는 ICM_PIO_WR이 활성이면, 이 상태에서 정지한다. ICM_PIO_RD 및 ICM_PIO_WR이 비활성이면, 상태 1로 진행한다.
상태 5 : (무효어드레스상태)
PIO 어드레스공간의 무효 어드레스가 복호화되어 있으면, 프로그램 I/O무효어드레스비트(PIA)를 IHEISR레지스터에 설정하고 ICM요구에 응답하지 않는다. 이것은 IOP에 데이터승인 IOP_DTACK를 궁극적으로 타임아웃시킨다. ICM_PIO_RD 또는 ICM_PIO_WR이 비활성이 되는 것을 대기한다. 상태 1로 진행한다.
나머지의 상태는 모두 무효/미사용이다. 이들중 어느 것에 들어가면 에러상태 검출비트(ESD)를 IHEISR에 표명한다. 상태 1로 진행한다.
13. DMARQ, DMA RAM 또는 DMA요소
13.1 DMARQ
DMARQ(DMA요구큐)는 FIFO관리기(RFM, TFM)에서 DMAC(DMA제어기)구획으로의 동작요구를 전달하고, DMAC에서 요구원구획으로 승인(리세트)지시를 반송하는 ″요구″레지스터와 선택논리의 조합이다. DMARQ는 IDLC(RFM,TFM)의 동기처리요소와 비동기처리요소(DMAC)사이의 동작인터페이스로 된다. RFM 및 TFM에서의 요구는 DMARQ레지스터 래치에 동기적으로 즉, RFM, TFM에 의해서 각각의 타임슬롯이 제시되어 있는 동안에 수신된다.
DMARQ의 논리조직을 제 47도에 도시한다. 요구레지스터는(330),(331) 및 (332)로 나타내는 3개의 다른 레지스터큐에 조직되어 있다. 입력셀렉터회로(333)은 요구설정 및 리세트의 입력을 개별큐(330)∼(332) 및 큐내의 소정의 비트위치로 전달한다. 설정입력은 TFM 및 RFM에서 발생하고, 리세트입력은 DMAC에서 발생한다.
출력셀렉터(334)는 큐내의 요구비트상태의 지시를 RFM 및 TFM에 시간다중으로 즉, 채널/슬롯처리와 동기해서 제시한다. RFM으로의 지시, DMARQ_RFM_REQ는 어느 하나의 타임슬롯에서 활성일 때, 그 슬롯에 관련하는 채널의 수신측에 관한 DMA 데이터전송처리의 요구가 미정으로 되어 있는 것을 나타낸다. TFM으로의 지시, DMARQ_TFM_REQ는 마찬가지로 각각의 슬롯에 관련하는 채널의 발신측에 관한 데이터전송의 요구가 미정인 것을 나타낸다.
큐(330)∼(332)의 모든 위치의 출력은 또 각각 (330a)∼(332a)라고 기재한 출력에서 DMAC에 병렬로 제시된다. 미정요구를 갖는 위치는 활성출력을 갖고, 다른 위치는 비활성출력을 갖고 있다. 선택제어기(335)는 요구설정 및 리세트의 신호의 루틴을 (각각 FIFO관리기 및 DMAC에서) 입력셀렉터(333)을 통해서 인도하고, 큐로 한 요구상태기능의 지시의 루틴을 다중셀렉터(335)를 통해서 DMARQ_RFM_REQ 및 DMARQ_TFM_REQ로서 타임슬롯출력에서 인도한다.
하이퍼채널 및 B형채널으로의 BTDM슬롯타임위치의 허용이벤트에 대해서 이하 전반적으로 설명함에 따라 명확하게 되는 이유에 의해 DMAC는 (330a)∼(332a)에서의 그 요구의 처리에 우선도를 부여하지만, 이것에 의하면 (330a)의 H하이퍼채널요구에 대한 우선도는 각 하이퍼채널 또는 각 채널에 의한 수신요구쪽에 동일한 채널에 의한 전송요구를 초과해서(임의로)부여된다. 각 큐는 큐에 관계할 수 있는 각각의 채널의 최대수에 해당하는 다수의 요구게시(비트)위치를 구비하고 있다. BTDM타임프레임당 이용가능한 32의 슬롯타임 중 1개의 H1형 하이퍼채널밖에 지지할 수 없으므로(후의 15장의 하이퍼채널의 설명을 참조), 관련된 큐(330)은 2비트위치(1개는 수신데이타 요구용, 다른 1개는 전송데이타 요구용)을 구비하고 있다. (H1하이퍼채널이 활성이 아닐 때) 5개의 H0형하이퍼채널을 지지할 수 있으므로 큐(331)은 10비트위치(5개는 5개의 H0하이퍼채널, H01∼H05의 각각으로부터의 수신데이타요구용, 5개는 동일 하이퍼채널으로부터의 전송데이타요구용)을 구비하고 있다. 마지막으로 BTDM의 기본슬롯타임의 위치는 개개의 B/D 형 채널에 할당할 수 있으므로, 큐(331)은 64비트위치(32는 이와 같은 채널에 대한 수신데이타요구용, 32는 동일 채널에서의 전송데이타요구용)을 구비하고 있다.
(330a),(331a) 및 (332a)에 있어서의 병렬큐출력은 각각의 큐비트위치의 각각으로부터의 선을 구비하고 있다. 따라서, (330a)는 2선(1개는 수신용 다른 1개는 전송용)을 구비하고 있고, (331a)는 10선(5개는 수신, 5개는 송신)을 구비하고 있고, (332a)는 64선(32는 수신, 32는 송신)을 구비하고 있다. 각 선은 활성일 때 요구가 각각의 큐위치에서 활동적으로 미결정으로 되어 있는 것을 나타낸다.
하이퍼채널은 각 BTM프레임의 다수의 타임슬롯기간중에 IDLC의 서비스를 받지만, B형태널은 프레임당 1개의 슬롯에만 서비스를 받으므로, DMA 데이터전송에 관한 하이퍼채널의 요구는 할당된 대역폭을 효율적으로 사용한다고 하면 B채널요구보다 빠른 DMAC서비스를 필요로 하는 것은 명확하다. 또 H1하이퍼채널에 할당되어 있는 대역폭은 H0형 하이퍼채널의 것보다 크므로, H1의 요구는 H0 또는 B/D채널의 여구보다 빠른 DMA서비스를 받아야만 한다. 따라서, DMAC우선권을 부여하는 것에 대해서 상술한 기본(H0 또는 B/D 채널의 요구보다 H1의 요구 및 B채널 요구보다 H0요구)을 이제 이해할 것이다.
선택제어기(335)는 RFM 및 TFM에서 요구입력을 받아서 DMARQ레지스터에 의한 수신 및 전용서비스의 요구, 각각 RFM_DMARQ_SET 및 TFM_DMARQ_SET를 설정하고, DMAC에서의 입력을 분리해서 이와 같은 요구를 이들이 서비스될 때에 리세트한다(각각 DMAC_DMARQ_RCV_RESET 및 DMAC_DMARQ_XMIT_RESET).
RFM 및 TFM에서의 설정요구에 관해서 제어기(335)는 다른 선택지도 입력을 RSM에서 수신한다. RFM_DMARQ_H1 또는 RFM_DMARQ_H0은 큐(330)∼(332)의 1개를 효과적으로 지정한다.(H1의 선택이 활성이면 큐(330), H0의 선택이 활성이면 큐(331) 및 어느 선택원도 활성이 아니면 큐(332). 5비트의 타임슬롯지시포인터, RSM_TS01는 1쌍(수신 및 전송)의 요구위치를 특정의 쿠에 효과적으로 지정한다. 요구원, RFM_DMARQ_SET 또는 TFM_DAMRQ_SET는 소정의 조의 어느 위치가(수신 또는 전송의 위치가)실제로 설정되어 있는가를 판정한다.
DMAC에서의 리세트 요구에 대해서 제어기(335)는 큐(330)∼(332)의 1개의 선택을 지정하는 부호화입력 DMAC_H-B_SEL 및 그 큐내의 1쌍의 레지스터위치의 선정을 지정하는 포인터입력, 각각 DMAC_HPTR 또는 DMAC_B_PUT을 DMAC에서 수신한다. 리세트요구원, DMAC_DMARQ_RCV_RESET 또는 DMAC_DMARQ_XMIT_RESET는 선택된 조의 어느 맴버(수신멤버 또는 전송멤버)가 리세트되어 있는지를 판정한다. 그 각각이 다수의 BTDM 슬롯위치를 둘러싸고 있는 하이퍼채널에 대해서(다음의 하이퍼채널의 설명을 참조)타임슬롯지시 TSM_TS1는 RSM에 의해 현재의 타임슬롯 카운트에 관련하는 값으로부터 그 하이퍼채널에 둘러싸여 있는 타임슬롯의 기준의 (최초로 나타낸다)1개의 시간위치에 관련하는 값으로 변환한다. 이와 같이 해서 각각의 하이퍼채널에 관해서()DMARQ에서는 TSR에 관한 시간교환시 및 FIFOR에 관한 전송시에)얻어지는 모든 처리는 각각의 기준타임슬롯에 관한 위치로 향해진다. RSM에 의한 하이퍼채널의 TS1변환은 하이퍼채널의 이벤트가 확립되었을 때(다음의 하이퍼채널의 설명을 참조), IOP/SIO에 의해 HCR레지스터에 설치되는 정보의 기능으로서 결정된다.
이와 같이 실행하는 준비가 정비되면, DMAC 서비스요구가 큐(330)∼(332)에 한번에 1개씩 우선도가 높은 쪽에서 낮은 쪽으로 H1의 수신, H1의 전송, H0의 수신, H0의 전송, B/통상채널의 수신, B/통신채널의 전송의 순으로 제시된다. DMAC상태논리는 서비스되도록 선택된 각 요소의 기원을 기억하고 있고, DMARQ에 있는 요구를 리세트하는 준비가 정비되어 있을 때, 정보를 사용해서 적절한 리스트선택신호, 셀렉터 DMAC_H-B_SEL, 2개의 포인터 DMAC_H_PCR 또는 DMAC_B_PTR중 활성의 1개 및 2개의 수신/전송리세트지시기 DMAC_DMARQ_RCV/XMIT_RESET 중 활성의 1개의 상태를 판정한다. 이와 같이 해서 DMAC는 선택제어기(335)로의 입력 즉(1) 3개의 큐(330)∼(332)의 1개를 선택하는 DMAC_H-B_SEL, (2) 소정의 큐내의 한쌍의 위치를 구별한다. DMAC_B_PTR 또는 DMAC_H_PTR의 1개 및 (3) 그조의 어느 위치를 리세트할지를 나타낸다. DMAC_DMARQ_RCV_RESET 또는 DMAC_DMARQ_XMIT_RESET의 1개를 동작시키는 것에 의해 각각의 요구를 리세트한다.
하이퍼채널에 할당된 각 슬롯의 처리시간중에 RSM은 RSM_TS1을 나타내는 타임슬롯을 각각의 하이퍼채널에 관련되는 값으로 변환하고, RSM_DMARQ_H1 또는 RSM_DMARQ_H0의 각각의 1개를 동작시킨다. 시간다중에 의해 및 RSM_TS1, RSM_DMARQ 및 RSM_DMARQ_H0의 순시값에 따라 선택제어기(335)는 출력셀렉터(334)에 그 출력(334R) 및 (334T)에 관련되는 큐의 관련되는 비트위치의 상태에 대응하는 신호를 설치시킨다. 이와 같은 출력은 현재 동기적으로 서브되어 있는 채널(TS1에 대응하는 것)에 의해 처리하고 있는 수신 DMA여구 및 전송 DMA요구의 상태에 대응한다.
출력(334R) 및 (334T)는 각각 RFM 및 TFM으로 전달된다. 따라서, (334R)이 설정상태를 나타내고 있지만 RFM이 관련요구설정출력을 구비하고 있을 때, RFM은 각각의 채널에 관해서 미결정으로 되어 있는 요구를 안고 있는 것을 기억하고 있는 내부상태를 유지하면서 그 출력을 동작해제하게 된다. 33선이 리세트 상태를 나타내고 있지만, 내부 RFM지시는 미결정요구의 지시(이것에 의해 RFM에 그 요구가 DMAC에 의해 서브되어 버리는 것을 나타낸다)이지만 RFM은 그 내부지시를 리세트하고 FIFOR에 대한 수신데이타의 처리를 재개한다. 동일한 처리는 TFM에 의해(334T)에서의 지시에 대해서 취해진다.
시스템 리세트시 큐(330)∼(332)의 모든 레지스터가 리세트된다. 계속되는 수신데이타처리의 기간중에 RFM이 수신데이타의 제 4바이트를 FIFOR의 현재서브되어 있는 채널로 할당되어 있는 버퍼공간(그 채널의 RDCR2공간)에 로드함에 따라서 RFM은 DMARQ로의 요구설정지시 RFM_DMARQ_SET를 작동시킨다. 이것에 의해 DMARQ는 각각의 비트위치를 그 큐의 1개에 설정하고, 이것에 의해 설정지시를 (330a), (331a) 또는 (332a)에 대응하는 선에 제시한다. 이 지시는 DMAC로의 대응하는 요구(수신데이타전송서비스요구)의 미결정인 것을 알린다. DMAC가 (각각의 FIFOR 버퍼에서 IOP기억장치로의 데이터전송을 완료하는 것에 의해)그 요구처리를 완료하면 후술한 바와 같이 관련큐위치를 리세트하는 작용을 하는 입력을 DMARQ에 부여하고 관련타임슬롯기간중에 RFM에 (330R)에서 DMA 전송이 완료하고 있는 것을 효과적으로 나타낸다.
마찬가지로, TFM이 현재 서브되어 있는 채널에 할당되어 있는 FIFOR버퍼공간 (관련되는 TDCR2공간)을 비어있게 하면, 설정요구 TFM_DMARQ_SET를 작동시키고 그 채널에 대한 DMAC로 요구를 전송시킨다. 또, DMA의 서비스가 완료하면, 각각의 FIFOR버퍼에 IOP기억장치에서 데이터를 로드하고 그 상태를(334T)에서 TFM으로 나타낸다.
13.2 DMA RAM 및 액세스제어기
액세스제어기를 갖는 DMA RAM(DMAR)유닛을 제 48도에 도시한다. 이 유닛은 DMAC 및 SIO에 의해 제시된 데이터를 저장하고 데이터를 이들 구획으로 페치하는 데에 사용된다. 그 채널화된 내용(채널공간 할당당의)을 전반적으로 제 8도에 도시하고 있다. 제 8도에 도시한 바와 같이 각 채널에는 이하에 설명하는 제50도∼제53도에 도시한 형태를 갖는 항목 RDCR3, RDCR4, TDCR3 및 TDCR4(RDCR 및 TDCR은 각각 수신 및 전송 DMA 구성레지스터를 나타낸다)의 저장을 위해 4워드공간이 할당되어 있다.
제48도를 참조하면, 이 유닛은 셀렉터회로(351)에서 데이터입력 및 어드레스입력을 수신하고, (352)에서 데이터출력을 버스(353)에 공급하는 128×33RAM어레이 (350)을 구비하고 있다. 입력셀렉터(351)은 (어드레스 및 데이터)입력을 SIO(SIO_ ADDRESS_BUS 및 SIO_DATA_BUS) 및 DMAC(DMAC_CHN_NBR 및 DMAC_DMAR_BUS)에서 수신한다. 어레이로부터 데이터출력(DMAC_DATA)은 어느 구획이 데이터를 수신하게 되어 있는가를 효과적으로 지정하며, 이하에 설명하는 승인출력과 함께 버스(353)을 경유해서 DMAC 및 SIO에 공급된다.
셀렉터(351)로의 입력 DMAC_CHN_NBR은 어레이(350)의 관련 채널공간의 부분어드레스를 나타낸다. 이것은 현재 서브되어 있는 DMAC 요구의 형식에 따라서 B/D 채널의 슬롯수(DMAC_B_PTR의 값과 동일하다) 또는 하이퍼 채널의 기준슬롯수 (DMAC_H_PTR값)에 대응하도록 DMAC의 상태논리에 의해 조절된다(다음의 요구래치 (335)의 설명을 참조). 각 채널에는 어레이(350)에 4워드공간(관련되는 RDCR3, RDCR4, TDCR3 및 RDCR4의 각 파라미터가 들어 있는 것)이 할당되어 있으므로, 채널수기능은 그 자체에 의해 개개의 워드공간을 어드레스하기에는 불충분하다.
어레이(350)의 동작은 DMA 요구래치(DRL)(355)에서 수신될 리드 라이트요구에 따라서 상태기계논리(354)에 의해 제어된다. 래치(355)로의 입력은 SIO(SIO_ DMAR_RD, SIO_DMAR_WR) 및 DMAC(DMAC_DMAR_WR1, DMAC_DMAR_RD2 및 DMAC DMCR_WR2)에서 발생한다. 상태기계는 래치된 요구를 감시하고, 공존요구간의 내용을 분배해서 1회에 1개씩 요구를 선택하고, 제어신호출력을 (356)에서 어레이(350)로, 승인출력을 (357)에서 SIO로 승인출력을 (358) 및 (359)에서 DMAC로 공급한다. (356)으로부터의 제어신호에는 DMAC_CHN_NBR에 의해 지정된 부분어드레스를 완료하기에 필요한 다른 어드레스 비트가 포함되어 있다.
DMAC는 한정된 입력 DMAC, RCV, REQ을 래치(355)에 공급하고, 상태논리(354)가 수신 채널기능에 관련되는 RD2 요구(DMAC_DMAR_RD2)와 전송 채널기능에 관련되는 WR2 요구(DMAC_DMAR_WR2)를 구별할 수 있도록 한다(전자에는 RDCR3, RDCR4의 페치가 필요하고, 후자에는 TDCR3, TDCR4의 페치가 필요하다). 한정입력은 상태논리에 의해 적절한 부분어드레스를 발생하기 위해 사용된다.
상태기계논리는 또 (306)에서 DMAC로 승인 및 최종완료지시(DMAC_DMAC_ACK0, ACK1_DONE)를 공급하고, DMAC가 어레이내의 관련되는 기억위치에 대해서 2워드라이트(WR2) 또는 2워드리드(RD2)(DMAC의 리드는 모두 2워드리드이다)에 관련되는 연속하는 1조의 동작중의 제 2동작을 개시하는 시기를 결정할 수 있도록 한다. 상태기계는 또 출력패리티체크동작을 실행하고, 패리티에러(DMAR_PARTIRY_ERROR)의 지시를 출력(361)에서 INT로 공급한다.
상태기계는 각 어레이 액세스동작을 실행하기 위해 3개의 상태를 통해서 진행된다. 제 1상태는 선택제어신호를 (362)에서 셀렉터(351)로 공급해서 셀렉터 (351)에 DMAC 입력 또는 SIO 어드레스/데이타입력을 선택시키는 (설명을 간단하게 하기 위해 DMAC에서 셀렉터(351)로의 ″채널수″입력, DMAC_CHN_NBR을 DMAC의 어드레스입력이라고 하지만, 이와 같은 각 입력에는 그 수에 의해 지정되는 채널과 관련해서 리드 및 라이트할 4워드공간의 특정의 1개를 결정하기 위해 - (362)에서 수신하는 특정의 선택입력에 따라서 셀렉터(351)에 의해 공급된다.-오프세트가 필요하다)
13.2.1(DMAR)상태기계의 상태
리세트되면 상태 0으로 진행한다.
상태 0(조정상태)
이 상태는 셀렉터(351)에 동시에 제시되는 DMAC 요구 및 SIO 요구에 우선도를 결정하고, DMAC 요구 SIO 요구보다 높은 우선도를 부여한다.
DMAC에서의 리드요구는 1워드씩 또는 다수워드씩으로 할 수 있는 라이트요구와는 달리 모두 2워드리드(DMAC_DMAR_RD2)이다. 이와 같은 리드요구는 상태기계에서 어레이로의(356에 의함) 어레이 제어신호가 작동되며, 이들은 어레이선택, 리드 및 클럭사용가능화의 각 기능을 지정한다. 셀렉터(351)은 리드할 어드레스(오프세트를 갖는 DMAC_CHN_NBR)을 어레이 어드레스선으로 전달하도록 동작한다. 상태 6으로 진행한다.
DMAC에서의 1워드라이트 (DMAC_DMAR_WR1)에서의 어레이 제어신호는 어레이선택, 라이트 및 클럭 사용가능화에 대해서 작동된다. DMAC의 어드레스 및 데이터는 셀렉터(351)에서 어레이로 전달된다. 상태 7로 진행한다.
DMAC에서의 2워드라이트(DMAC_DMAR_WR2)에서는 어레이 선택제어기가 작동되고, DMAC의 어드레스 및 데이터가 1워드라이트의 경우와 마찬가지로 어레이에 입력된다. 그러나, 다음에는 상태 8로 진행한다.
SIO에서의 리드요구(모두 1워드만)에서는 어레이 제어기가 리드에 대해서 작동되고, 셀렉터(351)이 SIO어드레스(SIO_ADDRESS_BUS)를 어레이 어드레스입력으로 전달하도록 동작한다. 상태 3으로 진행한다.
SIO에서의 라이트요구(모두 1워드만)에서는 어레이 제어기가 라이트 선택에 대해서 작동되고, 셀렉터(351)이 SIO 어드레스입력 및 데이터입력을 각각의 어레이 어드레스입력으로 전달하도록 동작한다. 상태 9로 진행한다.
상태 1(DMAC로의 최초의 ACK 및 제 2리드액세스에 대한 어레이준비)
DMAC 리드(모두 2워드만)에서 이 상태는 요구의 제 1부분을 승인하고 제 2워드의 페치에 대한 어레이를 준비한다. DMAR_DMAC_ACK0이 제 1승인으로서 표명되고(버스(353))이 DMAC에 대한 유효데이타를 구비하고 있는 것을 나타낸다), 출력데이타의 패리티가 체크된다. 패리티에러가 검출되면, DMAC에 대한 에러지시 (DMAC_PARITY_ERROR)가 설정된다. 셀렉터(351)에 의해 선택될 어드레스 오프세트는 다음에 리드할 위치를 지시하도록 조절된다. 리드 및 어레이상태의 제어입력을 이전의 상태(상태 6)에서 활성인 상태이고, 어레이클럭 사용가능화 신호는 재작동된다. 상태 5로 진행한다.
상태 2(2워드의 DMAC 라이트의 최초의 ACK)
DMAR_DMAC_ACK0이 DMAC에 대해서 표명된다. DMAC 어드레스 오프세트가 다음에 라이트할 위치를 지시하도록 조절된다. 라이트선택 및 어레이선택의 기능은 상태(상태 8)에서 활성인 상태이고, 클럭사용 가능화가 재작동된다. 상태 10으로 진행한다.
상태 3(SIO 리드에 대한 어레이로의 액세스)
어레이 제어기가 리드에 대해서 작동된다(어레이클럭이 활성으로 되고나서 작동해제된다). 상태 13으로 진행한다.
상태 4(제 2의 DMAC 리드액세스에 대해서 패리티를 체크한다)
DMAR_DMAC_DONE 및 DMAR_DMAC_ACK1이 DMAC에 표명된다. 어레이 출력데이타가 패리티체크된다. 패리티에러가 존재하면 DMAC에 대한 패리티에러지시가 작동된다. 어레이 제어신호는 모두 작동 해제된다. 상태 0으로 진행한다.
상태 5(DMAC 리드의 제 2의 워드의 리드)
어레이클럭(상태 1에서 재동작되고 있다)이 작동해제된다. 상태 4로 진행한다.
상태 6(DMAC 리드요구에 관하여 제 1의 데이터워드를 리드한다)
어레이클럭이 순식간에 활성으로 되고 나서 비활성으로 된다. 상태 1로 진행한다.
상태 7(DMAC1 워드 라이트요구에 대한 워드의 라이트)
어레이클럭이 순식간에 활성으로 되고 나서 비활성으로 된다. 상태 11로 진행한다.
상태 8(DMAC2 워드 라이트요구의 제 1워드의 라이트)
어레이클럭이 순식간에 활성으로 되고 나서 비활성으로 된다. 상태 2로 진행한다.
상태 9(SIO 라이트에 대한 어레이로의 액세스)
어레이클럭이 순식간에 활성으로 되고 나서 비활성으로 된다. 상태 13로 진행한다.
상태 10(DMAC2 워드 라이트요구에 관한 제 2의 워드의 라이트)
어레이클럭이 순식간에 활성으로 되고 나서 비활성으로 된다. 상태 12로 진행한다.
상태 11(DMAC1 워드 라이트의 승인)
DMAR_DMAC_ACK0을 표명하고, DMAC의 데이터가 어레이로 라이트되어 있다는 것을 나타낸다. 어레이 제어신호가 작동해제된다. 상태 0로 진행한다.
상태 12(2워드 라이트에 관한 DMAC로의 제 2의 ACK)
DMAR_DMAC_ACK1이 DMAC에 표명된다. 어레이 제어기가 작동해제된다. 상태 0로 진행한다.
상태 13(SIO 라이트를 승인)
DMAR_SIO_ACK가 표명된다. 어레이 제어기가 작동해제된다. 상태 0으로 진행한다.
13.2.2 DMAR에 저장되는 제어워드
FIFO 관리기 및 DMAC에 의해 사용되는 채널화 제어정보는 각 채널에 할당되어 있는 RDCR1 및 TDCR1(수신 DMA 제어레지스터 및 전송 DMA 제어레지스터) 공간의 FIFOR에 저장된다(제 7도 참조). DMAC에 의해서만 사용되는 채널화 제어정보는 각 기본 채널에 할당된 RDCR3, RDCR4, TDCR3 및 TDCR4의 각 워드공간의 DMAR에 저장된다(제 8도 참조). 이들 워드공간에 저장되는 정보의 특정의 형태 및 용도는 다음과 같다.
RDCR1(제33도 참조)는 8예비/미사용비트(RES), 1수신 경계체크(RBC)비트, 1수신패리티에러(RPE)비트 및 22비트 수신 DMA 현재어드레스(RDCA)필드로 구성되어 있다. RBC 비트는 FIFOR 수신데이타 큐에 관한 RFM 요구를 서비스하고 있는 동안에 DMAC가 경계체크조건(RDCA가 아래에 설명하는 RDCR 4내의 소정의 경계어드레스 RDBA에 일치한다)과 만날 때 활성으로 설정된다. RFM은 RBC 비트를 감시하고, RBC 비트가 활성일 때 지시를 INT로 전달하고, 이것에 의해 최종적으로 IOP가 인터럽트를 거쳐서 체크조건을 통보받는다.
RDCR3(제50도)는 2예비/미사용비트, 8비트 RDLAH(수신 DMA 최종 어드레스 고) 및 22비트의 RDFA(수신 DMA 제 1어드레스) 필드로 구성되어 있다. RDLAH 필드는 각각의 채널의 IOP수신버퍼의 종료를 나타내는 20비트 어드레스의 상위 8비트를 나타낸다. RDCR4의 RLAL 필드와 함께 RDLAH 필드는 각각의 채널의 IOP 수신버퍼의 전체 종료 어드레스를 설정하는데 사용된다. RDFA는 각각의 채널의 IOP 수신버퍼의 개시어드레스를 나타낸다(IOP 기억장치 어드레스는 24비트이지만, 수신버퍼는 관례에 따라 4바이트 경계에서 개시되고 또한 종료한다. 따라서, 하위 2비트는 항상 0이고, 이 필드의 22비트가 개시 어드레스를 완전하게 결정한다).
RDCR4(제51도)는 12비트 RDLAL(수신 DMA 최종 어드레스 저) 필드 및 20비트 RDBA(수신 DMA 경계 어드레스)필드로 구성되어 있다. RDLAL은 각각의 채널의 IOP기억장치 수신버퍼의 종료 어드레스의 하위 12비트를 나타낸다. 이것은 상술한 RDLAH 필드와 연결되어 수신버퍼의 최후의 유효 어드레스를 나타내는 완전 종단 어드레스를 형성한다. DMAC가 경계체크와 만나지 않고 이 어드레스에 도달하면, 개시어드레스 RDFA에 인접하는 데이터를 전송하기 시작한다. RDBA는 최후의 어드레스를 넘는 경계어드레스(통상은 RDLA+1)의 상위 20비트를 나타낸다. 수신버퍼가 데이터의 가득참으로 됨에 따라서, IOP는 이어드레스를 IOP기억장치의 보호부분에 관련하는 값으로 설정하여 버퍼의 개시에서 데이터의 오버라이트를 방지할 수 있다. DMAC가 이 어드레스로 라이트하려고 하면, 경계체크조건이 설정되고, 그 이상의 모든 수신데이타가 무시된다.
실제로 버퍼의 크기는 프레임보다 크고, RDA는(IOP/SIO에 의해) RDFA와 RDLA 사이의 값으로 프로그램 가능하게 설정되어 있다. 최초, RDBA에 의해 지정되는 위치는 프레임의 최후의 바이트를 유지하기 위해 사용되는 위치쪽에 있다. 그 결과, DMAC가 최초의 프레임을 버퍼에 로드완료하고 나서, IOP는 프레임종료 인터럽트를 수신하고, 버퍼를 비어있음으로 하고, RDBA 포인터를 버퍼의 비어있는 공간을 지시하는 다른 위치로 이동하게 한다.
그동안, DMAC는 버퍼의 채움을 계속하고, 최후의 어드레스에 도달하면, 최초의 어드레스에 감기고 그곳에서부터 채우는 것을 계속한다. 정상동작에서는 버퍼의 크기, 프레임종료 인터럽트에 응답하는 IOP에 의한 처리의 타이밍 및 이동되지 않았던 최초의 유효버퍼에 관한 경계어드레스의 위치는 버퍼내의 유효수신 데이터를 확실하게 오버라이트시키지 않도록 적절해야 한다.
그러나, DMAC가 사용하고 있는 현재의 어드레스가 경계어드레스와 일치되어 있으면, IOP는 외관상 버퍼를 적당한 간격으로 비우지 않고, 유효데이타가 오버라이트되는 것이 있다. 따라서, 이러한 상황에서는 영향을 받는 채널에서 수신처리가 정지하고, 경계체크지시가 RDCR1을 경유해서 RFM으로 전달되고, INT인터럽트를 발생해서 IOP에 이상상태를 알린다.
TDCR1(제35도)는 7예비 비트(RES), 1ECD(체인종료검출) 비트, 1EFD(프레임 종료검출) 비트, 1NDI(데이타 지시기 없음) 비트, 2비트의 TBC(전송버퍼 카운트) 필드, 2비트의 TOPQ(큐의 선두), 2비트의 TPE(전송패리티에러) 필드 및 16비트의 TDBC(전송 DMA 바이트 카운트)로 구성되어 있다. 1비트의 지시기는 각각의 체인종료, 프레임종료 또는 무데이타 지시상태르 만났을 때, DMAC에 의해 설정된다(체인종료 및 프레임종료는 DCB 비트에 의해 나타나고, 무데이타 지시기는 DMAC가 전송데이타 페치의 요구를 처리하고 있는 동안에 버퍼종료상태를 만났을 때 동작된다).
TDCR3(제52도)는 8예비 비트 및 24비트의 TDBA(전송 DMA 버퍼어드레스) 필드를 구비하고 있다. TDBA 필드는 전송데이타의 다음의 원을 지시한다(24비트의 길이이지만, 최선의 실시법에서는 저차 2비트를 0으로 하고, 전송데이타만을 워드로(4바이트경계) 두는 것이다). 이 이유는 만일 데이터를 임의의 바이트경계에서 페치할 수 있다고 한 경우, 예를 들면 FIFOR에 단일 바이트가 호출되고, FIFOR이 이번에는 IDLC 전송경로(FIFOR, TFM, TV, TL1)을 통해서 4바이트보다 훨씬 빠르게 전송되고, 이 때문에 언더런의 가능성이 증가할 가능성이 있기 때문이다.
마지막으로, TDCR4(제53도)는 10예비/미사용비트, 1ECI(체인종료지시기) 비트, 1EFI(프레임종료지시기) 비트 및 20비트 DCBA(DCB 어드레스, DCB는 DMA 제어블럭의 약칭이다) 필드로 구성되어 있다. ECI 및 EFI는 DMAC가 현재의 DCB에서 체인종료지시 및 프레임 종료지시를 만났을 때 각각 작동된다. 활성 ECI는 DMAC에 현재 사용중인 IOP 전송데이타 버퍼가 비어있음으로 되고나서, 그 이상 DCB를 페치하지 말 것을 지시한다. 활성 EFI는 현재의 버퍼가 비어있음으로 되고 나서, TFM이 프레임종료지시를 발생해서 TL1에 최후의 데이터 바이트를 송출한 후 프레임종료 시퀸스를 삽입해야 되는 것을 의미한다. DCBA는 비어있지 않은 DCB 체인의 다음의 DCB를 페치해야할 어드레스이다.
13.3 DMAC
DMA 제어기 DMAC는 DMAR 및 FIFOR에 접속해서 DMAR에 저장되어 있는 제어정보의 지휘하에 FIFOR로부터의 수신데이타를 IOP로, IOP로부터의 전송데이타를 FIFOR로 전송된다. 이러한 전송은 RFM 및 TFM에 의해 DMARQ 구획에 제시된 요구에 따라서 개시되고, 앞서 기술한 바와 같이 DMARQ의 각각의 레지스터 위치에 래치된다.
DMAC는 DMARQ에 접속해서 래치된 요구를 수신하고, 그것에 대해서 소정의 우선순위로 처리하고, (앞서 설명한 바와 같이 DMARQ로의 입력을 리세트하는 것에 의해)그들을 클리어한다. DMARQ에서 요구를 수신한 직후, DMAC는 MIO 구획, DMAR 및 FIFOR과 협동해서 IOP 기억장치와 FIFOR 사이에서의 MA 데이타전송을 실행한다. 이 과정에서 MIO는 IOP 버스로의 액세스를 조정하고, 액세스권을 얻으면, 즉시 DMAC와 IOP 기억장치 사이에서 데이터전송을 실행한다. DMAC는 FIFOR 및 DMAR에 대해서 개별적으로 전송을 처리한다. 그 데이터 전송동작에 있어서 MIO는 신호(리드/라이트 및 어드레스 제어신호 및 데이터 라이트신호)를 DMAC에서 IOP 버스로 전달한다. 현재 설명중인 실시예에서는 수신데이타에 관한 DMAC의 동작은 몇가지의 관점에서 전송데이타에 관한 동작과 다르다. 수신데이타는 IOP 기억장치의 단일 블록에 대하여 DMAC의 모든 동작이 제어정보를 SIO를 경유해서 DMAR 및 FIFOR로 프로그램 로드하는 것에 의해 IOP에서 엄밀하게 제어되고 있는 상태에서 처리된다.
전송데이타는 ″체인가능″한 DMAR에 저장되어 있는 데이터 제어블록(DCB) 명령어레이에 따라서 DMAC에 의해 처리된다. 체인의 최초의 DCB는 IOP에 의해(SIO를 경유해서) DMAR에 로드되지만, IDLC가 그 DCB에 의해 규정되는 데이터 전송기능을 완료하고, DCB에 있는 체인지시를 인식한 후, DMAC는 다른 DCB를 IOP 기억장치에서 DMAR에 페치하고, 처리를 반복한다. 각각의 DCB는 IOP 기억장치가 다른 블록을 전송데이타의 원으로서 나타낼 수 있고(산재하는 블록내의 데이터를 체인 DCB의 동작을 통해서 DMAC에 의해 모을 수 있다), 체인 DCB에 관한 동작을 IOP의 인터럽트 없음으로 실행할 수(전송 프로세스에서의 프레임종료점을 나타낼 수) 있다.
수신데이타는 FIFOR에서(DMAC 및 MIO를 경유해서) IOP에 의해 순환버퍼로서 관리되고 있는 IOP 기억장치 공간의 하나의 블록에 라이트된다. 통상의 상황에서, 이러한 데이터는 버퍼의 연속기억장치에 최고어드레스위치에서 최저 어드레스로 로드되고, 계속해서 DMAC는 최저위치에 자동적으로 감기/되돌리기 진행을 반복한다. 이러한 상황에서 IOP는 프레임종료 인터럽트를(INT에서)수신하고, 버퍼를 반복해서 사용할 수 있도록 데이터를 버퍼에서 적시에 제거하도록 관리한다.
버퍼의 크기는(IOP 기억장치 관리 소프트웨어에 이해) 각 활성 채널에 관한 수신데이타의 프레임보다 많은 것을 유지하도록 선택된다. 각 프레임종료 인터럽트 후, 버퍼된 데이터는(IOP 또는 호스트의 기억장치의 다른 기억장치로) 제거되고, IOP는 관련 채널 및 DMAR내의 제어정보를(SIO를 경유해서) 재초기 설정한다. 이와 같은 각 재초기설정시에 IOP는 새로운 경계어드레스값을 설정하지만, 이것은 DMAC의 IOP 기억장치 공간으로의 액세스에 제한을 부가한다. 이 경계어드레스는 다음에 수신하는 프레임을 삽입하는데 필요한 공간 앞에 있도록 차례로 이동한다.
정상동작에서, IOP에 의한 데이터의 제거 및 경계어드레스의 재설치는 DMAC/MIO의 데이터 로딩동작에 대해서 경계어드레스위치가 오버라이트되지 않도록 충분히 빠르게 실행된다. DMAC의 중요한 기능은 수신데이타에 대한 그 현재의 IOP 기억장치 어드레스가 상술한 경계어드레스와 언제 일치할지를 검출하고, 그 시점에서(IOP에 유효데이타가 오버라이트되어 버린 것을 INT 및 SIO에 의해 처리되고 있는 관련 인터럽트를 경유해서 알리기 위해) 경계체크지시를 발생하는 것이다.
전송데이타는 DCB의 초기어드레스기능에 의해 지정된 IOP 기억장치의 블록에서 전송되면, 이 블록은 체인가능이고, 즉, 거기에는 초기 DCB가 IOP 기억장치에 로드되었을 때, 또는 DCB가 존재하고 있는 동안에 SIO를 경유하는 프로그램동작에 의해 체인지시기가 설치되어 있다(이것에 의해 IOP는 그 처리능력이 허락하는 경우 DCB 연쇄의 길이를 임의로 동적으로 확장할 수 있다). 전송데이타의 체인블럭(즉, 그 최초의 기억위치가 체인 DCB에 의해 지정되어 있는 블록)은 그것에 의해 분산시킬 수 있고, IOP의 처리능력에 따라서 IOP 기억장치내에서 위치적으로 일부 중첩하거나 일치시킬 수 있다.
전송데이타에 관해서 DMAC의 중요한 기능은 프레임경계를 전송중인 데이터에 한정하고, 프레임 프로토콜하에서 동작하고 있는 채널을 연결하고, 이러한 뜻을 대응하는 INT 인터럽트없이 IOP에 지시하는 것이다.
앞서 설명한 바와 같이, 이것은 이와 같은 경계 확정정보를 프레임종료 수신데이타 인터럽트와 관련된 상태의 일부로서 마련하는 것에 의해 실행된다.
13.3.1 DMAC의 논리조직
DMAC의 논리조직을 제 49도에 도시한다. DMAC 논리는 전반적으로, (380)으로 나타낸 상태기계논리, (381)∼(385)로 나타내는 5개의 레지스터, (386)으로 나타내는 다중화회로 및 (387)로 나타내는 비교회로를 구비하고 있다.
상태논리(380)은 각각 DMAC_A 및 DMAC_B 상태기계하고 이름이 붙여진 2개의 상태기계유니트(380A) 및 (380B)로 구성되어 있다. 이들 유니트에 의해 각각 제어되는 동작 및 특정의 상태의 상세한 것에 대해서는 후에 설명한다.
레지스터(381)은 RFA_NDA(수신 제 1어드레스 및 다음의 DCB 어드레스)라고 이름이 붙여져 있지만, 수신데이타처리에 관련하는 DMAC 동작중 다른 용도를 갖는다. DMAC가 수신데이타를 처리하고, IOP 기억장치에 라이트하고 있을 때, 레지스터(381)은 DMAR의 각각의 채널의 RDCR3 기억장치에 저장되어 있는 RDFA(수신데이타 최초의 어드레스) 워드를 래치하고, 유지하는데 사용된다.
DMAC가 전송관련 DCB를 처리/페치하고 있을 때, 레지스터(381)은 DMAR 또는 IOP에서(DMAR은 DMAR_DATA_BUS를 경유해서, IOP는 MIO_DATA_BUS를 경유해서) 페치된 다음의 DCB 어드레스를 유지하는데 사용된다. 다음의 DCB 어드레스는 TDCR4의 DCBA 필드를 사용할때의 DMAR에서 현재의 전송데이타가 소거되고, 다음의 DCB 어드레스가 TDCR4에서 이용되지 않을때(예를 들면 DCB가 빈 데이터 버퍼를 나타내지만 다음의 체인 DCB 어드레스를 구비하고 있도록 될때) 직접 IOP에서 취해진다. DMAC가 다음의 DCB를 호출할 준비를 갖추면, 레지스터(381)의 내용이 다음에 설명하는 레지스터(382)로 전송되고, DMAC_MIO_ADDR을 경유해서 IOP 버스에 탑재되는 어드레스로서 사용되며, DMAC_MIO_ADDR신호는 유니트(382) 또는 (385)에서 멀티플렉서 (386A)를 경유해서 만들어진다. 새로운 DCB가 IOP에서 페치된 후, TDCR3 및 TDCR4의 데이터버퍼 어드레스 및 다음의 DCB 어드레스는 새로운 DCB의 각각의 내용으로 치환된다. DMAC가 TDCR3 및 TDCR4의 내용을 갱신하는 준비를 마련하면, 레지스터(381)의 내용이 레지스터(385)로 전송되고, 레지스터(385)의 내용이 TDCR3에 저장되고 나서 DMAC_DMAR_DATA를 경유해서 TDCR4에 저장된다.
레지스터(382)는 RBCA(수신경계체크 어드레스) 레지스터라고 이름이 붙여져 있지만, DMAR_DATA버스(228)을 경유해서 RDCR4에서 추출된 RDBA 기능을 유지하는데 사용된다. 이 기능은 비교회로(387)에 의해 레지스터(385)에 유지되어 있는 현재의 IOP 어드레스와 비교된다. 양자가 일치하면, 이것은 수신버퍼가 가득참인 것을 나타내고, DMAC에 각각의 채널에서의 수신데이타처리를 종료시키고, 경계체크지시를 설정해서 RFM에 의해 INT 인터럽트를 거쳐서 IOP로 전달시킨다.
다음의 DCB 어드레스를 유지하는 레지스터(382)의 용도에 대해서는 상기한 레지스터(381)에서 이미 설명하였다.
레지스터(383), RLA_TBC(수신 최종 어드레스 및 전송바이트 카운트) 레지스터는 송수신처리에 있어서 2중의 용도를 갖는다. 수신처리에 있어서, 이 레지스터는 DMAR의 RDCR3/4공간에서 버스(388)을 경유해서 추출한 수신데이타 최종 어드레스성분 RDLAL 및 RDLAH를 래치하고 유지한다. 전송데이타처리의 기간중 레지스터 (383)은 FIFOR_DATA 버스(389)를 거쳐서 FIFOR(TDCR1)에서, 또는 MIO_DATA 버스 (390)을 거쳐서 IOP 기억장치에서 수신한 전송바이트 카운트정보를 유지한다.
FIFOR 데이터는 현재의 바이트 카운트를 얻는데 사용되고, IOP 루트는 새로운 DCB의 페치가간중에 새로운 바이트 카운트를 얻는데 사용된다.
수신 최종어드레스가 레지스터(383)에 래치되면, 이 어드레스는 비교기(387)에 의해 레지스터(385)에 있는 현재의 어드레스와 비교된다. 이와 같은 비교에서 일치하는 것은 수신버퍼의 물리적 종료에 도달하고 있고, DMAC가 현재의 어드레스를 버스(388)을 경유해서 RDFA/RDCR3으로부터 오는 수신 제 1어드레스에서 치환되어야 하는 것을 나타낸다.
전송바이트 카운트가 유지되면, 그 카운트는 감소되고 FIFOR로 되돌려 전송하기 때문에 ″데이타유지″레지스터(384)를 통해서 전달된다.
데이타 유지레지스터(384)에도 여러개의 용도가 있다. 전송데이타가 버스(390)을 경유해서 페치되면, 멀티플렉서(386)의 출력 DMAC_FIFO_DATA를 경유해서 FIFOR로의 도중에서 일시적으로 레지스터(384)에 유지된다. 이 레지스터에서의 전송바이트 카운트정보의 처리에 대해서는 앞에서 이미 설명하였다. 수신데이타가 처리되면, 이 데이터는 버스(389)를 경유해서 FIFOR에서 취해지고, 그 레지스터에서 (391)에서 나타내는 DMAC_MIO_DATA로의 출력경로를 경유해서 IOP 기억장치까지의 도중에서 일시적으로 레지스터(384)에 유지된다.
현재의 어드레스 레지스터(385)에도 여러개의 용도가 있다. DMAC 처리의 다른 단계에서 이 레지스터는 IOP 기억장치에(DMAC_MIO_ADDR을 경유해서) 부가되는 어드레스를 수신하고, 증가된 전송어드레스값을 DMAC_DMAR_DATA를 경유해서 DMAR로 리라이트하고, 증가된 수신어드레스값을 멀티플랙서(386)의 DMAC_FIFOR_DATA 출력을 경유해서 FIFOR로 리라이트한다. 수신어드레스값 및 전송어드레스값은 각각(버스(389)를 경유해서) FIFOR에서 및 (버스(388)을 경유해서) DMACR에서 레지스터에 입력된다. 이 레지스터로의 다음의 DCB 어드레스의 입력에 대해서는 이미 설명하였다.
13.3.2 DMAC 상태기계
상태기계 유니트 DMAC_A 및 DMAC_B는 논리적으로 견고하게 결합되어 있다. DMAC_A는 주로 MIO, DMAR 및 DMARQ(MRQ에 의해 제시되는 데이터 전송요구를 조정하는 것 및 서비스의 완료시 DMARQ로 리세트 제어지시를 공급하는 것을 포함)에 접속한 책임이 있다. DMA_B는 주로 FIFOR에 접속할 책임이 있다.
DMARQ에서 DMAC_A에 의해 수신된 요구가 FIFOR로 액세스할 필요가 있을 때, DMAC_A에서 DMAC_B로의 출력 DMAC_A_REQ가 작동된다. 이에 따라서 DMAC_B가 DMAC _A_MSG에서 DMAC_A에 의해 표명된 메시지 코드에 의해 지정된 바와 같이 필요한 업무를 실행한다. 2비트의 메시지 코드는 하기 4개의 업무중의 1개를 지정한다. (1) FIFOR에서 전송바이트 카운트를 리드한다. (2) 갱신된 전송바이트 카운트 및 데이터를 FIFOR에 라이트한다. (3) 현재의 수신버퍼 어드레스 및 데이터를 FIFOR에서 리드한다. (4) 갱신된 현재의 수신버퍼 어드레스를 FIFOR에 라이트한다.
다음의 입력 및 출력은 상태논리(380)과 DMAR 사이에 마련된다.
[표 6]
상태논리(380)과 MIO 사이의 입력 및 출력은 다음과 같다.
[표 7]
논리(380)과 FIFOR 사이의 입력 및 출력은 다음과 같다.
[표 8]
DMARQ에 관련하는 입력/출력은 다음과 같다.
[표 9]
상태기계유니트 DMAC_A 및 DMAC_B의 특정의 상태는 다음과 같다.
DMAC_A
이하의 설명에 있어서, RDCR1-RDCR4 및 TDCR1-TDCR4의 필드 파리미터 부분은 그의 각각의 약칭(예를 들어 RDFA, RDLAH등)에 의해 나타내고 있다. 또, 설명은 간단히 하기 위해, 3개의 단독비트지시 및 2비트지시를 구비하고 있는 TDCR1의 최초의 바이트를 TDFSW(전송데이타 FIFO 상태워드)라고 한다.
상태 0(DMARQ 서비스요구의 제1레벨의 우선권 부여)
DMARQ로부터의 활성서비스요구는 H1의 최고의 우선도, H0이 그다음, B채널의 요구가 최후의 우선도를 얻도록 우선권이 부여된다.
H1요구가 활성이면 DMARQ DMAC-H-B_SEL를 표명하고(실제로 H요구의 선택을 나타낸다), H1요구위치에 대응하는 코드값을 사용해서 DMARQ에 대한 DMAC_H_PTR을 작동시키고 상태 1로 진행한다.
H1요구가 활성이고 H1요구가 없으면, DMAC-H-B_SEL 및 (H0요구를 리세트해야한다는 것을 나타낸다) DMAC_H_PTR을 작동시키고 상태 2로 진행한다.
B요구가 활성이고 H요구가 없으면, DMAC_H-B_SEL을 설정해서 서비스되는 B채널을 표시하고, 서비스되는 특정의 B채널요구를 지정하는 값을 갖는 DMAC_B_OTR을 제시하고 사태3으로 진행한다.
상태 1(선택된 하이퍼채널의 상태 및 제어정보를 리드한다)
2워드 리드요구(DMAC_DMAR_RD2)를 DMAR에 표명하고 소정의 H1 하이퍼채널에 대한 상태 및 제어정보를 포함하는 2워드를 페치한다. 수신프로세스가 서브되고 있는지 전송프로세스가 서브되고 있는지에 의해 하이퍼채널의 기준채널을 나타내는 기준채널 슬롯에 할당되어 있는 DMAR내의 RDCR3-4 또는 TRCR3-4공간의 요구된 정보가 존재하며(상기의 DMARQ의 성명 및 다음의 하이퍼채널의 설명 참조), 동시에 DMAC_A_REQ 및 DMAC_A_MSG를 DMAC_B 상태기계에 제시하고 필요한 FIFOR리드 액세스(전송이 처리되고 있으면 1위드, 수신이면 2워드)를 요구한다. 상태 4로 진행한다.
상태 2(H0요구의 우선권 부여)
H0요구 중에 경쟁이 존재하면, 이것을 소정의 선택순서로 해결한다. 모든 H0요구 시간에 걸쳐서 서비스를 균등하게 하기 위해서 선택된 H0 채널에 다음의 서비스를 위한 H0채널중의 최후의 우선도를 할당한다. 내부 H카운터를 현재의 H0선택값으로 설종한다(그 다음의 HO경쟁에 대한 최저의 H0우선도를 부여한다). 상태1로 진행한다.
상태 3(B채널의 경쟁을 해결한다)
B채널요구중의 경쟁(만일 존재한다면)을 소정의 순서로 해결한다. 다음에 선택된 채널에 다음의 선택에 대한 최후의 우선도를 부여하고, 모든 B채널요구의 시간에 걸쳐서 서비스를 동일하게 한다. 내부 B카운트를 현재의 선택밧으롤 설정한다. 상태 1로 진행한다.
상태 4(MAR이 워드 페치요구를 완료하는 것을 대기한다)
종료지시(DMAR_DMAC_DONE)를 대기하고, 상태 5로 진행한다. 수신처리를 서비스할 때, DAMR로부터의 최초의 워드(이용가능성이 DMAR_DMAC_ACK0 활성에 의해 표시되고 있다)는 제1의 어드레스의 정보 RDFA 및 최후의 어드레스의 RDLAH부분을 구비하고 있다. RDFA는 레지스터(381)로 로드되고, RDLAH는 레지스터(382)로 로드된다. 제2의 워드(이용가능성이 DMAR_DMAC_ACK1 활성에 의해 표시되고 있다)는 경계 어드레스 RDBA 및 최후의 어드레스 RALAL의 낮은 부분을 구비하고 있다. RDBA는 레지스터(382)로 로드되고, RDLAL은 레지스터(381)로 로드된다(이미 처리된 RDFA를 치환해서).
전송처리에 있어서, 최초에 도달하는 워드는 레지스터(385)에 로드된 전송데이타버퍼 어드레스 TDBA를 구비하고 있다. 제2의 워드는 체인종료시기 EC1, 프레임 종료지시기 EF1 및 다음의 DCB어드레스(DCBA)를 구비하고 있다. 모두가 레지스터(383)에 로드된다.
상태(DMAC_B가 요구서비스를 완료하는 것을 대기한다)
이 상태에서 상태 1에서 설정된 DMAC-A 요구비트가 끊임없이 체크된다. 비트는 DMA_B가 FIFOR에 관한 리드서비스요구를 종료했을 때 DMA_B에 의해 리세트된다. 수신서비스인 경우에는 상태 6으로 진행하고, 전송서비스인 경우에는 상태 9로 진행한다.
상태 6(패이티에러 또는 경계체크요건에 대해서 체크한다)
모든 정보가 DMAR 및 FIFOR에 추출되고 나서 패리티에러의 관련지시를 체크하고(패리티에러조건이 존재하면 DMAC_B의 상태 3의 기간중에 설정된 RDCR1의 PE비트를 조사한다), 상태 8의 기간중에 설정된 경계체크조건(RDCR1의 활성 RBC비트)를 체크한다. 패리티에러가 있으면 이 채널에 대한 모든 처리를 보류한다. 에러 또는 경계체크조건이 발생되면 상태 15로 진행한다. 양쪽 모두 발견되지 않으면, DMAC_MIO_WR1을 표명하고 수신데이타(상태 5 참조)를 IOP 기억장치 수신버퍼에 라이트한다. 이 라이트에 대한 어드레스는 레지스터(385)에 있는 현재의 어드레스에서 얻어지고, DMAC_MIO_ADDR에 의해 제시된다. 상태 7로 진행한다.
상태 7(MIO가 수신데이타 라이트를 종료하는 것을 대기한다)
MIO가 MIO_DMAC_ADK0에 의해 상태 6에 라이트요구를 승인하면, 현재의 어드레스 레지스터의 어드레스 레지스터의 어드레스를 증가시킨다. 상태 8로 진행한다.
상태 8(서비스중인 채널의 제어정보를 갱신한다)
어드레스 레지스터의 현재의 내용이 RDFA와 일치하면, RDFA를 어드레스 레지스터로 이동시킨다. 어드레스 레지스터가 레지스터(382)의 RDBA 기능과 일치하면, 경계체크조건이 발생된다. 그 때문에 지시기 비트 RBC를 설정하고, 레지스터(385)의 어드레스가 연결해서 FIFOR로 되돌아가 라이트한다. 현재의 어드레스가 수신버퍼의 아래에 없고 경계체크조건과도 관계하고 있지 않으면, DMAC_A_REQ 및 DMAC_A_MSG를 작동시키고, FIFOR의 각각의 수신채널 공간에 관한 DMAC_BDMAC 워드 라이트 서비스를 요구한다. 상태 15로 진행한다.
상태 9(패리티에러 및 전송채널에 대한 현재의 바이트 카운트의 소모를 체크한다)
전송요구(TDCR1, TDCR3, TDCR4)에 대한 모든 워드가 페치되고 나서(상태 5)부터 (FIFOR에 관한 경우에는 DMAC_B의 상태에서 설정되고, DMAC에 관한 경우에는 DMAR_PARITY_ERROR에서 거론되었다) 패리티에러시지에 대해서 체크한다. 패리티에러가 발견되면 상태 15로 진행한다. 에러가 없으면(DMAC_B에 의해 레지스터(383)에 의해 페치된다), 전송바이트 카운트가 0인지 체크한다. 0이면 새로운 DCB가 필요하다. 3워드 리드를 MIO에 제시하고(DMAC_MIO_RD3), DCBA(DCB 어드레스)를 레지스터(381)에서 레지스터(382)로 이동시키고, MIO에 의한 그 사용에 대비하고, 상태 11로 진행하여 새로운 DCB를 대기한다. 전송바이트 카운트가 없어지지 않았으면, MIO에서 리드한 데이터워드를 레지스터(383)의 출력에서 발생된 DMAC_MIO_ADDR에 의해 설치된 어드레스로 전송하고, 상태 12를 진행한다.
상태 10(새로운 DCB가 비어있는지 체크한다)
상태 11에서 수신한 새로운 DCB를 ″비어있음″상태(전송바이트 카운트값 0)에 대해서 체크한다. 비어있고 또한 ECI 및 EFI 모두가 새로운 DCB에 설정되어 있지 않으면, 다른 DCB가 필요하며 따라서 새로운 DCB 페치요구를 발생하고 상태 11로 되돌아 간다. 비어있지만 ECI 또는 EFI가 설정되어 있으면, 프레임 및 체인이 그 이상의 데이터를 보내는 일 없이 종료한다. 따라서, TDFSW를 갱신하고, 이것을 전송바이트 카운트와 연결시키고, 관련 1워드 라이트요구를 DMAC_B에 발행하고, 갱신된 TDCR 1워드를 FIFOR로 되돌려보내고, 상태 15로 진행한다. 새로운 DCB가 비어있지 않으면, DMAC_MIO_RDI을 작동시키고(상태 11의 기간중에 레지스터 (385)에 로드된 어드레스를 사용해서), 전송데이타워드 리드를 요구하고, 상태12로 진행한다.
상태 11(MIO가 새로운DCB를 페치하는 것을 대기한다.)
새로운 DCB를 대기한다. MIO로 부터의 최초의 워드는 MIO_DMAC_ACKO이 활성일 때, 레지스터(385)에 로드되고 있는 전송데이타버퍼의 어드레스이다. MIO로부터의 제2의 워드는 MIO_DMAC_ACKI이 활성일 때 레지스터 (381)에 함께 로드되는 ECI비트, EFI비트 및 다음의 DCB의 어드레스를 포함한다. MIC로 부터의 제 3의 워드 (MIO_DMAC_ACK2 활성일 때 이용가능)는레지스터 (383)에 로드되고 있는 전송바이트가 카운트이다. MIO_DMAC_DONE가 작동되면 상태 10으로 진행된다.
상태 12(MIO가 전송데이타 워드의 페치를 완료하는 것을 대가한다.)
전송데이타워드가 도착하면 (MIO_DMAC_ACKO이 활성이면), 이것을 레지스터 (384)에 로드하고, 전송어드레스를 증가시키고, 전송바이트 카운트를 감소시키고, DMAC_B를 작동시켜서 FIFOR의 TDFSW/TDCR1상태바이트를 갱신하고, 상태 13으로 진행한다.
상태 13(전송바이트 카운트를 체크한다.)
갱신된 전송바이트는 카운트를 0/비어있음 상태에 대해서 체크한다. 비어있으면 TDCRI/FIFOR의 ECI 비트 및 EFI 비트를 TDCR3/DMAR중의 대응하는 비트의 값으로 갱신한다. DMAC_A_REQ 및 적절한 메시지 DMAC_A_MSG를 DMAC_B로 전송하고, 1워드 또는 2워드 라이트 (새로운 DCB가 비어있으면 1워드, 비어있지 않으면 2워드)에 의해 FIFOR를 갱신한다. 동시에 1워드 또는 2워드의 라이트 요구를 DMAR으로 발행한다 (오래된 DCB 전송버퍼 어드레스만을 갱신하는 경우는 1워드 전송버퍼 어드래스 및 다음의 DCB 어드래스를 함께 갱신하는 경우에는 2워드). 상태 14로 진행한다.
상태 14(DMAR이 DCB를 갱신완료하는 것을 대기한다.)
DMAR에서 승인이 도착하면, ECI, IFI 및 다음의 DCB 어드래스를 레지스터 (381)에서 레지스터(385)로 전송하고, DMAR에 제2워드를 라이트한다. 상태 15로 진행한다.
상태 15(레지스터를 청소하고, 리사이클한다)
DMAC_A_REQ가 DMAC_B 동작으로 리세트될 때까지 이 상태에 머무르고, 모든 레지스터 (381)∼(385)를 리세트하고. 상태 0으로 되돌아가 새로운 동작사이클을 개시한다.
DMAC_B
리세트하면 상태 0으로 진행란다.
상태 0(DMAC_A_REQ 비트를 플링한다.)
이 상태에서 DMAC_A로 부터의 요구비트는 끊임없이 플링해서 FIFOR에 관한 서비스가 필요한지를 확인한다. 요구비트가 활성으로 되면, DMAC_FIFOR_REQ를 일으키고, DMAC_A_MSG의 메시지를 복호한다. 다음에 DMA_CHN_NBR을 FIFOR로 출력하고 FIFOR이 부분어드레로서 사용할 수 있도록 한다.
DMAC_A로부터의 메시지에 의해 FIFOR에 DMAC_FIFOR_RDI 또는 _RD2 또는 WR1 또는 WR2를 제시하고, 어드레스정보를 완성한다. DAMC_A 메시지가 ″FIFOR에서 전송바이트 카운트를 리드″를 지정하고 있으면, 상태 1로 진행한다. 메시지가 갱신된 바이트 카운트 및 데이터를 FIFOR에 라이트″를 지정하고 있으면, 상태 2로 진행한다. 메시지가 ″수신 현재버퍼 어드레스를 FIFOR에서 리드″이면, 상태 3으로 진행한다. 메시지가 ″갱신된 수신 현재 어드레스를 FIFOR에 라이트″이면, 상태 4로 진행한다.
상태 1(전송바이트 카운트를 FIFOR에서 리드한다)
FIFOR승인(FIFOR_DMAC_ACK)를 수신하면, 전송바이트 카운트를 FIFOR_DATA _BUS(389)에서 레지스터(383)으로 전송한다. 패리티조건을 체크한다. 패리티에러가 존재하면 DMAC_A로 통지하고, 패리티 에러상태비트를 FIFOR의 TDCR1의 PE 필드에 설정하고 TFM 및 INT를 경유해서 IOP에 통지하고), 상태 8로 진행한다. 에러가 없으면 DMAC_A_REQ 비트를 리세트하고, 상태 0으로 되돌아간다.
상태 2(전송바이트 카운트 및 데이터를 FIFOR에 라이트한다.)
FIFOR로부터의 승인으로 TDFSW 및 전송바이트 카운트를 레지스터(384)로 전송하고, 상태 0으로 나타낸 WR2 명령의 제 2워드로서 FIFOR에 라이트한다. 라이트된 제 1워드는 FIFOR로 상태 0의 명령이 발생되었을 때 레지스터(384)에 있는 전송데이타이다. 상태 5로 진행한다.
상태 3(수신 현재 데이터버퍼 어드레스 및 수신데이타를 FIFOR에서 리드한다)
FIFOR로 부터의 승인으로 수신 현재 데이터버펄 어드레스가 FIFOR_DATA_BUS에서 레지스터(385)로 래치되고, 그 패리티가 체크된다. 에러가 없으면 상태 6으로 진행하여 패리에러지시 RDCR1/FIFOR의 PE비트에 라이트한다(최종적으로 RFM에 의해 패리티에러상태의 확인 및 INT 인터럽트에 의한 IOP의 통지가 발생한다).
에러가 없으면 상태 9로 진행하여 제 2워드를 FIFOR에서 수신한다.
상태 4 (갱신된수신 현재 데이터버퍼 어드레스를 FIFOR에 라이트한다)
FIFOR로 부터의 승인 (상태 0에서 제시된 수신 현재 데이터버퍼 어드레스에 관한 라이트동작을 승인하는 것)에 의해, DMAC_A_REQ를 리세트하고, 상태 0으로 진행한다.
상태 5(2워드 라이트에 대해서 조절한다).
이 상태는 2워드 라이트의 기간중 FIFOR에 관해서 타이밍을 재조정하는 작용을 한다. (상태 2참조)
상태 6(수신채널에 대한 패리티에러 지시기를 라이트한다)
FIFOR이 RDCR1을 라이트하고 패리티에러 지시비트를 갱신하면, INT로의 DMAC _PARITY_ERROR지시 (INT의 DMAC_PARITY_ERROR 입력에서 나타난다, 제37도)를 작동시킨다. DMAC_A_REQ 비트를 리세트하고 상태 0으로 진행한다.
상태 7(2워드 리드 제2상태)
FIFOR로 부터의 승인이고, 수신 데이터워드 (FIFOR에서 리드된 제2워드)의 패리티에러를 체크한다. 에러가 발생하고 있으면, 상태 6으로 진행해서 패리티에러 지시기를 RDCRI1/FIFOR로 라이트한다. 에러가 없으면 DMAC_A_REQ를 리세트하고, 상태 0으로 되돌아간다.
상태 8(FIFOR이 TDCRI에 에러 지시가 들어가고 있는 상태 워드를 라이트 종료하도록 기다린다)
FIFOR로 부터의(상태 1에서 TDCRI 라이트세트업의) 승인이 있으면, DMAC _A_REQ 비트를 리세트하고, 상태 0으로 되돌아간다.
상태 9(2워드 리드에 대한 버퍼상태)
이 상태는 2워드 리드(상태3을 참조)의 제2워드의 기간중의 타이밍 제조정에 대비하는데 사용된다.
14. MIO
마스터입출력(MIO)구획은 DMAC을 위해 IOP 버스를 제어를 조정한다. 제어권을 얻으면, MIO는 DMAC에 의해 전송된 어드레스 및 제어파라미터를 사용해서 IOP 기억장치에 대해서 직접 기억장치 액세스전송을 실행한다 (전송이 IOP 기억장치로의 라이트일때에는 데이터, 통상은 수신데이타로 사용 한다)
전형적 환경에 있어서는 IOP 처리엔진 모토롤라 6800 프로세서 및 마스터제어를 외부로 인식할 수 있게하는 6800의 버스로 할 수 있다. 다른 전형적인 환경에서 IOP프로세서는 역시 조정에 으한 다수 버스 지배권을 고려하는 마이크로채널 버스구성(마이크로채널은 IBM사의 상표이다)을 사용하는 IBM사의 프로세서계의 하나로 할 수 있다. 이와 같은 황경에서 MIO는 버스의 제어권을 얻으면 즉시 버스 마스터(68000의 환경에서는 16비트 버스마스터, 마이크로채널 버스환경에서는 32비트 마스터)로서 동작한다.
제54도를 참조하면, MIO는 상태기계유니트(400), 데이터 레지스터 및 패리티체크회로(401)(IOP버스의 병렬데이타용량에 대응하는 다수의 비트를 수용한다), DMAC의 데이터출력(DMAC_MIO_DATA)에 접속하는 멀티플랙서회로(402), IOP버스의 데이터부 IOP_DATA_BUS에 접속하는 수신기회로 및 드라이버회로(403) 및 (404), DMAC로부터의 어드레스입력(DMAC_MIO_DATA)과 IOP버스의 어드레스부(IOP_ADDRESS)사이에 결합하는 드라이버회로(405) 및 타임아웃 타이머(406)으로 구성되어 있다. IOP_DATA_BUS는 현재의 16데이타비트 및 2패리티비트의 쌍방향 병렬전송에 적응하고 있다. IOP_ADDRESS는 MIO로부터의 24어드레스비트 및 3패리티비트의 병렬전송에 적응하고 있다.
상태기계(400)의 좌측에 있는 선은 IOP 버스의 제어선 요소까지 연장하고 있으며, 유니트(400)의 우측의선은 DMAC까지 연장하고 있다. 유니트의 우측에 있는 선에는 다른 리드 라이트제어기능(DMAC_MIO_RD1._RD3,_WR1)을 지정하는 MIO에서 DMAC로의 3개의 입력 및 MIO에서 DMAC로의 4개의 출력, 3개는 DMAC의 3입력 (MIO_DMAC_ACK0,_ACK1,_ACK2)에 의해 지정된 각각의 동작을 승인하고, 1개의 종료지시(MIO_DMAC_DONE)을 발생하는 것이 있다. ACK0은 3워드 리드의 최초의 전송 및 1워드 리드라이트의 1워드전송을 승인한다. ACK1 및 ACK2는 3워드 리드의 제2워드 및 제3워드의 전송을 각각 승인한다.
유니트(4090)의 좌측에서 선 IOP_RD/WR의 상태는 (버스에서 MIO로의 데이터의 전송에 관한)리드요구와 (MIO에서 버스로의 데이터의 전송에 관한)라이트 요구를 구별한다. IOP_BUS_REQ는 활성일 때 외부버스 조정회로레 MIO가 버스로의 액세스를 구하고 있는 것을 지시한다. 나타내는 ″승낙″신호를 운반한다. IOP_BUS_GR _FACK는 MIO에서 버스조정회로로의 승낙을 승인하는 신호이다. IOP_ADDR_STRB는 버스사이클의 개시를 규정하는 MIO로 부터의 어드레스 스트로브신호이다. IOP_LDS 및 IOP_UDS는 데이터버스상의 하위 8비트 및 상위 8비트가 유효한 것을 각각 나타내는 MIO로부터의 하위데이타 스트로브신호 및 상위데이타 스트로브신호이다. IOP_DTACK는 버스사이클이 종결하고 있는 것을 나타내는 (IOP기억장치에 관련된) 버스의 슬레이브측으로부터의 승인이다.
IOP측의 패리티에러지시는 IOP_BUS_ERROR 입력을 경유해서 상태기계(400)에 공급되고, 유니트(400)에서 DMAC로의 패리티에러지시는 MIO_DMAC_PE를 경유해서 공급된다. 타이머(406)은 유니트(400)에서 버스를 발생된 신호에 대한 예상응답을 타임아웃하고, 예상응답이 소정의 시간내에 나타나지 않을때 버스액세스의 재조정을 개시하도록 유니트를 조절한다(아래의 상태기계의 상태의 설명을 참조).
DMAC에서 요구를 수신하면, MIO는 IOP_BUS_REQ를 표명한다. 외부조정회로가 IOP_MIO_BUS_GR로 엑세스를 승낙하면, MIO는 응답해서 IOP_BUS-GR_ACK를 표명하고, IOP_ADDR_STRB를 작동시키면서 DMAC로부터의 어드레스를 IOP_ADDRESS에 설치한다. IOP_RD/WR의 극성은 MIO에 의해 전송의 방향을 결정하도록 설정된다. 라이트사이클에서 MIO는 DMAC로부터의 데이터를 IOP버스에 탑재한다. 리드사이클에서 수신기 (403)은 IOP 기억장치제어기가 버스를 구동할 수 있도록 버스를 구동시키고, 이것에 의해 데이터 버스에서 MIO에 의해 수신되도록 한다. MIO는 데이터를 전송할 필요에 따라서 상위 및 하위의 데이터 스트로브(IOP_UDS, LDS)를 선택적으로 표명하고, 사이클의 데이터전송부분이 완료한 것을 나타내는 IOP_DATCK 지시를 기다린다.
MIO는 DMAC4에 관한 데이터를 한번은 4바이트씩 전송하고, DCB는 IOP기억장치에서 12바이트를 페치한다(TDCR1, TDCR3 및 TDCR4), IOP데이타 버스의 폭은 2바이트를 넘지않으므로, 데이타 및 DCB의 전송에는 복수의 버스 사이클이 필요하다. 따라서, 액세스가 승인되면, MIO는 데이터를 전송하는 것에 2버스 사이클, DCB를 전송하는데 6버스 사이클만큼 버스를 유지한다.
리드 전송의 최초의 사이클에서 데이터 레지스터(401)(폭 16비트)는 데이터를 래치한다. 마찬가지로 전송의 제 2사이클에서 수신한 데이터가 레지스터(40)에서 유지되고 있는 16비트와 함께 폭 4바이트의 전송 경로를 통해서 DMAC로 직접 전달된다. 이와 같은 방법으로서, DMAC에 한번에 32비트의 데이터가 제시된다. 데이터 레지스터(401)은 패리티 에러 지시를 발생하도록 유니트(400)에 의해 래치될 수가 있는 패리티 위치를 구비하고 있다.
멀티플렉서(402)는 라이트 동작중에 DMAC에 있는 32비트의 원레지스터에서 한번에 16비트를 드라이버(404)를 경유해서 IOP_DATA_BUS에 하위 및 상위의 16비트 부분을 교대로 전달하는데 사용된다. 타이머(406)은 버스 조정 회로 또는 IOP 기억 장치의 슬레이브 제어기에서의 미스응답을 타임아웃하도록 MIO에 의해 사용된다. 이것이 발생하면, MIO는 버스를 해방해서 액세스를 재조정해야 한다.
14.1 MIO의 상태 기계의 상태
상태 0(아이들 상태)
IOP 버스 제어 신호 모드를 리세트하고, DMAC_MIO_WR1, RD1 및_RD3의 각 신호선을 감시한다. 이들의 선의 어느것인가가 활성이면, IOP_BUS_REQ를 표명해서 타이어(406)에서 50마이크로초의 버스 타임아웃을 개시한다. 상태 1로 진행한다.
상태 1(IOP 버스의 제어를 기다린다)
IOP_BUS_GR의 활성일 때, 버스의 제어가 MIO에 대해서 승낙된다. 유니트 (400)은 IOP_ADDR_STRB, IOP_BUS_GR_ACK 및 IOP_DTACK(이들 선은 모두 쌍방향, 3자에 걸쳐 있고, 또한 버스를 제어하고 있는 마스터에 의해 구동된다)에 관한 외부 기원의 활동에 대해서 체크하는 것에 의해 다른 버스가 버스상에서 ″오래머무는 것″을 확인한다. 유니트(400)은 이들의 선이 조용하게 되는 것을 기다리고, IOP_BUS_GR_ACK를 표명해서 수신된 승낙 신호에 대응해서 다른 버스 마스터를 오프로 유지한다. 동시에 DMAC 데이터가 버스데이타선상에서 구동된다. 상태 2로 진행한다.
버스 타임 아웃이 버스 요구가 승낙되기 전에 라이트하면, 버스 타이머아웃에러 상태가 검출된다. 유니트(400)은 (상태 0으로 표명된다) IOP_BUS_REQ를 표명해제하고, 상태 14로 진행해서 DMAC로 통지한다.
상태 2(버스 요구의 표명 해제)
상태 0에 표명된 버스 요구를 표명 해제하고, 버스 타임아웃 타이머를 재기동시켜, 상태 3으로 진행한다.
상태 3(버스 데이터 전송 사이클을 개시한다)
IOP_ADDR_STRB를 표명해서 사이클을 개시하고, IOP 기억 제어 장치에서의 IOP_DTACK 응답을 기다린다. 응답을 수신하고, 동작이 IOP 기억 장치에서 리드이면, 버스상의 데이터를 데이터 FIFOR(401)에 래치하고, 상태 4로 진행한다.
타이머가 응답이 없이 전달되면, IOP_BUS_GR_ACK를 표명 해제해서 버스를 포기하고, 버스 에러 상태를 DMAC로 알려서 상태 14로 진행한다.
상태 4(타이밍 지연 상태)
이 상태는 (M6800) 버스의 타이밍 요청을 만족하기 위해, IOP_DTACK가 (상태 3에서)활성으로 되므로 버스 사이클을 연장하는데 사용된다. 상태 5로 진행한다.
상태 5(버스 사이클의 제외를 체크한다)
이 상태는 전송 사이클중에 발생하는 버스 제어(수신기(403)과 MIO_DATA 사이의 패리티 체크 회로(407)에서의 도시하지 않는 입력에 의해 나타나는 리드 동작시의 IOP_BUS_ERROR 또는 데이터 패리티에러)를 체크하는데 사용된다. 제외가 발생하면, 데이터 패리티 지시와 함께 MIO_DMAC_ACK0 및 MIO_DMAC_DONE를 MIO_DMAC_PE를 경유해서 표명하는 것에 의해, 제외를 데이터 패리티에러, 승인 및 완료 지시기를 DMAC에 이벤트하고, 상태 0으로 진행한다. 제외가 발생하지 않으면, 어느 DMAC 요구가 활성인가에 관계없이 상태 6으로 진행한다.
상태 6(최초의 버스 사이클을 종료한다)
제 2의 버스 사이클을 개시할 수가 있도록, IOP 기억 장치가 IOP_DTACK를 표명 해제하는 것을 기다린다. 계속해서 IOP_DTACK의 재표명을 기다리고, 상태 7로 진행한다. 재표명전에 타이머가 만기로 되면, 상태 14로 진행한다.
상태 7(제 2버스 사이클을 개시한다)
증가된 DMA 어드레스(IOP 기억 장치의 다음의 16비트 기억 위치를 지시한다)를 라이트동작이 요구하지 않으면, DMAC 데이터가 함께 버스에 구동시켜, IOP_ADDR_STRB를 표명해서 제 2버스 사이클을 개시하고, IOP 기억 제어 장치에서의 응답을 기다린다. 응답을 수신하면, 상태 9로 진행한다. 응답이 없고 타이머가 만기로 되면, 버스를 포기해서 상태 14로 진행한다.
상태 8(DMAC에 그 요구에 대해 승인)
DMAC에서의 요구의 형식을 체크한다. 요구가 1워드 라이트하면, 상태 9로 진행한다. 요구가 1워드 리드이며, MIO_DMAC_ACK0를 표명해서 상태 13으로 진행한다. 요구가 3워드(DBC) 리드이면, 3개의 승인의 하나를 최후의 2어드레스 비트의 기능으로서 표명한다(전송은 모두 4바이트경계에서 개시되므로, 최후의 2비트는 제 2의 전송에서느 00에서 01로 바뀌고, 제 3의 전송에서는 01에서 11로 바뀐다. 따라서 유니트(400)은 어드레스비트가 00이면 MIO_DMAC_ACK0을 표명하고, 비트가 01이면 MIO_DMAC_ACK1를 표명하고, 비트가 11이면 MIO_DMAC_ACK2를 표명한다) 제 2의 리드에서 버스상의 데이터비트는 레지스터(401)의 데이터비트와 연결되고, DMAC는 32데이타비트로 MIO_DATA에서 제시된다. 상태 10으로 진행한다.
상태 9(제 2버스 라이트 사이클의 종료)
IOP_BUS_ERROR를 경유해서 버스 제외 에러를 재차 체크한다. 에러가 존재하면, 에러지시를 MIO_DMAC_PE에 의해)설정한다. 상태 12로 진행한다.
상태 12(제 2리드 사이클에서 버스 제어를 체크한다)
제외 IOP_BUS_ERROR 또는 데이터 패리티에러지시(407에서의)를 체크한다. 제외 있으면 상태 13으로 진행하여 DMAC에 통지한다. 제외가 없고 또한 DMAC 요구가 1워드 리드이면, 상태 13으로 진행한다.
DMAC 요구가 3워드 리드이고 또한 최후의 2어드레스 비트가 11이외이면 상태 11로 진행하여 DMAC 어드레스를 증가시키고 또 많은 데이터를 리드한다. 최후의 2어드레스비트가 11이면 상태 13으로 진행한다.
상태 11(DMAC의 DBC를 리드한다)
IOP_DTACK가 표명 해제되고 재차 표명되면 상태 3으로 진행한다. 타이머가 표명해제, 재표명하지 않고 만기가 되면, 버스제어를 포기하고 상태 14로 진행한다.
상태 12(라이트요구의 최후의 상태)
IOP_DTACK가 표명 해제되면 MIO_DMAC_ACK0을 1에 표명하고 타이머를 리세트하고, 버스제어를 포기하고 상태 0으로 진행한다. 타이머가 IOP_DTACK의 표명해제전에 만기로되면, 버스제어를 포기하고 상태 14로 진행한다.
상태 13(리드전송의 최후 상태)
MIO_DMAC_DONE를 DMAC에 표명하고 상태 0으로 진행한다.
상태 14(제외의 상태)
MIO_DMAC_DONE를 DMAC에 표명하고, DMAC가 그 요구를 표명해제하는 것을 대기하고 상태 0으로 진행한다.
15. 하이퍼채널
하이퍼채널은 H채널로서도 알려져 있지만, 더 작은 채널을 조합시켜 대역폭을 증가시키도록 형성된 집합체이다. ISDN 환경에 있어서의 하이퍼채널에 관한 CCITT의 권고는 384kbps로 동작하는 H0형 하이퍼 채널, 1,536Mbps로 동작하는 H11 하이퍼채널 및 1,920Mbps로 동작하는 H12 하이퍼채널을 고려하고 있다.
상술한 바와 같이 구성되어 있는 주제의 IDLC 장치는 각각이 64kbsp로 동작하는 32개의 전이중 ″기본″ 채널(″B″ 또는 ″D″채널)을 지지한다. 각 기본채널에는 BTDM에 관한 32개의 ″기본″처리 타임슬롯의 대응하는 1개가 할당되어 있다. 이 구성에서 RSM, DMARQ. DMAC 및 INT의 논리는 하이퍼채널당 6개의 기본 채널슬롯을 조합하는 것에 의해 최대 5개까지의 H0 하이퍼채널을, 또 24기본슬롯에 걸친 1개의 H11하이퍼채널을, 또는 30기본슬롯에 걸친 1개의 H12 하이퍼채널을 형성하고 지지하는 것을 고려하고 있다. H11 또는 H12 하이퍼채널을 구성할 때는 H0 하이퍼채널을 형성할 수는 없지만, B/D 채널은 하이퍼채널이 사용하지 않는 슬롯(H11이 사용하지 않는 8슬롯 또는 H12가 사용하지 않는 2슬롯)내에서 공존할 수 있다.
IDLC는 CCITT의 권고를 넘어서 진행하고, 어떤 수는 기본슬롯을 한층더 큰 채널에 할당하고, 대역폭에 관한 유연성을 최대로 할 수 있는 것 이외에 인접하지 않는 슬롯도 할당할 수 있다(현재 B/D 채널에 사용하고 있기 때문에 충분한 수의 인접 채널을 이용할 수 없을 때에도 하이퍼채널을 형성할 수 있다). 하이퍼 채널내의 기본 타임스롯의 구성은 (IOP에 의해) 동적으로 프로그램할 수 있음과 동시에 IDLC의 처리요소에 대해서 논리적으로 투명하다.
15.1 하이퍼채널의 형성 및 사용
IDLC에서 하이퍼채널의 형성 및 사용은 SIO,RSM,DMARQ 및 DMAC의 각 구획에 분산하고 있는 논리를 경유해서 실시된다. 하이퍼채널의 생성 및 동작은 다른 모든 구획에 대해서 논리적으로 투명하다. 하이퍼채널은 현재 ″구성요소″ 슬롯이라 이름붙여져 있는 비활성 기본 타임 슬롯을 집합적으로 할당하는 것에 의해 형성된다.
하이퍼채널의 실시에 관한 이 발명의 기법의 배후에 있는 근본적이고 또한 독특한 개념은 각 하이퍼채널에 가장 바르게 나타나는 구성요소 슬롯을 소위 ″기준″슬롯으로서 하는 것이다. 하이퍼채널 전체의 프로세스상태 및 구성 파라미터는 모두 그 슬롯에 대해서 (TSR, FIFOR, DMAR 및 다음에 설명하는 일정한 레지스터에) 저장되어 있다.
하이퍼채널의 각 구성요소슬롯은 RSM 및 DMAC의 논리를 위해 각각의 기준슬롯과 논리적으로 관련되어 있다. 기준슬롯 이외의 구성요소 슬롯에 관한 처리기간중(TSR 및 FIFRO에 관한) 관련어드레싱 파라미터는 기준슬롯으로 변환된다. 따라서, 각 구성요소슬롯에 대해서 구성제어 및 처리상태의 각 기능은 기준슬롯에 할당되어 있는 TSR위치에 관해서 시간교환되고, FIFO관리제어파라미터는 기준슬롯에 할당된 FIFRO 위치에 대해서 저장되고 추출된다.
이 다수대 하나의 재이벤트는 CCR레지스터의 CT(채널형식)필드 및 HCR(하이퍼채널구성 레지스터)의 내용에 의해 규정된다. 기본채널의 CCR은 각각의 채널에 할당된 TSR공간에 저장되고 각각의 채널에 대한 타임슬롯 서비스증에 RSM의 하드웨어 CCR레지스터에 페치된다고 하는 것을 상기한다(제 5도 칩 제10도 및 이전의 RSM의 설명을 참조). 또, HCR은 공통 레지스터(타임슬롯을 초과해서 복제되는 것이 없는 고정 파라미터를 유지하는 것)로써 SIO에 물리적으로 설치되어 있고(위상적 선택의 결과이지만, 다른 구획에도 동일하게 설치할 수 있다), 그 출력은 다른 구획과 결합되어 있는 것(제 5도 및 제43도 및 다음의 HCR필드의 할당의 설명을 참조)도 상기한다.
하이퍼채널이 형성되면, HCR 레지스터가 IOP에 의해 프로그램가능하게 설정되고 관련포인터를 구성요소기준슬롯에 나타내지만, 이것은 BTDM의 슬롯의 프레임에 가장 빠르게 나타난다(이 슬롯은 FSC 또는, 각각의 하이퍼채널의 최초의 슬롯이라고도 한다). 하이퍼채널의 각 구성요소 슬롯에 대해서 관련 CCR에 CT(채널형식)필드가 (IOP/SIO에 의해)설정되어 각각의 채널구성 및 번호를 B/D, H01, H02, H03, H04, H05 또는 H1(용도 환경에 따라서 H11 또는 H12)중의 1개로서 나타낸다.
HCR은 최대 5개의 하이퍼채널과 관련지울 수 있는 6비트 필드 5개를 구성하고 있다(다음의 상세를 참조). 이와같은 각 필드는 관련채널이 활성인지 비활성인지를 나타내는 역할을 하는 1개의 활동비트 및 관련기준슬롯을 지시하는 FSC포인터를 구성하는 5개의 비트로 구성하고 있다.
경제적 및 간단화를 위해, 하이퍼채널의 구성파라미터 및 상태파라미터는 모든 기준슬롯에 관해서 저장되어 있고, FSC 포인터는 관련구성요소 슬롯에 관한 처리활동중 기준슬롯을 어드레스하도록 사용된다. 각 슬롯에 대한 처리를 개시하기 전에 RSM은 그 슬롯에 관련되는 CCR을 예비페치하고(제 4도의 항목 ″P″를 참조), 그 중의 정보를 사용하여 그 슬롯에 관해서 동작하는 구획에 관련하는 처리파리미터를 설정한다. 이와 같은 파라미터의 1개는 타임슬롯지시기 RSM_TS1로서, 이것은 B/D형채널에 대해서 각각의 채널의 물리적 시간위치에 대응한다.
각 채널에 관련된 예비페치된 CCR내의 CT(채널형식) 필드는 각각의 채널형식을 통상의 B/D 형식 또는 하이퍼채널의 6형식(H1 또는 특별히 번호를 붙인 H0형식; H01∼H05)의 1개로서 식별하는 3비트부호이다. RSM은 예비페치된 각 CCR의 CT필드를 검사하여 각각의 다음의 슬롯의 채널 관계를 판정한다. RSM은 B/D채널에 관해서 다른 구획에 대한 그 외부타임 슬롯지시기 RSM_TSI로서 사용되는 슬롯 카운트를 유지한다. 다음의 슬롯이 하이퍼채널에 할당된 것인 것을 확인하면, 즉시 RSM은 HCR의 관련활동비트를 통해서 하이퍼채널의 활동상태를 판정한다. 하이퍼채널이 활성이면, RSM은 그 현재의 슬롯카운트를 HCR의 연관 FSC필드에 있는 값으로 치환하고, 그 외부타임 슬롯지시기 RSM_TSI가 기준슬롯의 시간위치에 대응하는 것을 취하도록 한다.
따라서, 다음의 슬롯에 관한 새로운 상태정보를(동기처리구획에) 로드하고 있는 동안에 기준슬롯에 관련되는 TSR내의 공간이 어드레스되고, 그 슬롯에 관한 처리중에 FIFRO로의 액세스가 기준슬롯에 관련되는 공간에 대해서 실행된다. 또, 동기영역(DMAC)에 있어서의 데이터전송처리에 관해서 DMARQ에서 미정으로 되어 있는 요구의 상태가 시간다중동기에서 RFM 및 TFM에 제시된다. 이 목적을 위해, RSM은 DMARQ에 그 타임슬롯지시 RSM_TSI를 공급하고, 하이퍼채널에 관련되는 타임슬롯기간중에 각각의 하이퍼형식의 제어지시(각각의 하이퍼 채널형식 H1, H01, H02, …, H05를 구별하는 RSM_DMARQ_H1 또는 RSM_DMARQ_H0)을 공급한다. 따라서, 하이퍼채널에 관련되는 타임 슬롯기간중에 DMARQ는 RSM에서의 관련형식지시를 사용해서 RSM/TFM에 제시하는 관련요구상태를 선택하고, B/D 채널에 관련되는 타임슬롯기간중에 DMARQ는 RSM_TSI를 사용해서 지시용 관련요구상태를 선택한다. 다른 상세에 대해서는 이전의 DAMRQ의 설명을 참조한다.
DMARQ에 의해 큐된 요구는 DMAC에 의해 1회에 1개씩 소정의 우선순위(DMAR1의 설명을 참조)로 서비스된다. 하이퍼채널요구가 DMAC에 의해 서비스용으로 선택되면, 그 구획내의 상태논리가 (DMARQH0 또는 H1큐의)요구위치를 고려해서, HCR내의 각각의 FSC 기능을 FIFRO 및 DMAR에 관한 관련어드레스포인터 DMAC_CHN_NBR로서 선택한다. DMAC상태논리는 또 관련어드레스포인터(DMAC_HPTR) 및 리세트 오퍼레이터기능(DMAC_DMARQ_RCV_RESET 또는 DMAC_DMARQ_XMIT_RESET)를 발생하고, 이들은 함께 소정요구의 특정의 큐위치를 지시하지만, 이들이 DMARQ에 지시하여 그 요구를 리세트한다(DMARQ의 설명을 참조).
15.2 HCR필드의 할당
HCR(제45도)은 2비트 필드 HCT(하이퍼채널형식) 및 최대 5개까지의 H0형식 하이퍼채널 H0n(n=1∼5)에 관련해서 얻어지는 6비트 필드 5개를 구비하고 있다. 각 6비트 필드는 활동지시비트 H0A(n=1∼5)를 구비하고 있고, 5비트 필드는 각각의 하이퍼채널이 활성일 때, 기준슬롯(n=1∼5)의 시간위치를 지정하는 포인터 FSCn(n=1∼5)로서 사용된다.
(IOP/SIO에 의해)HCT필드에 저장되어 있는 값은 다음과 같이, 하이퍼채널형식에 관한 2개의 제한중의 1개를 도시하고 있다(2비트는 4상태를 고려하고 있지만, 이들의 2개만을 현재 사용하고 있다). (1) H1하이퍼채널의 형식금지(H0 및 B/D는 가능), 또는 (2) H1하이퍼채널사용중(H0의 형식은 불가능하지만, B/D는 가능하다).
HnA비트는 활성일 때 관련하이퍼채널이 활성인 것을 나타낸다. H2A∼H5A는 H0하이퍼채널의 형성을 고려하고 있는 상태(H1하이퍼채널의 형성이 금지되어 있음)에서만 활성으로 될 수 있다. H2A∼H5A의 활성상태는 각각 대응하는 번호가 붙은 하이퍼채널 H02∼H05의 활성상태를 나타낸다. H1A의 활성상태는 HCT의 상태에 따라서 H1형 하이퍼채널이 활성인지 또는 H01형 하이퍼채널이 활성인지를 나타낸다(H1이 사용중인 것을 HCT가 나타내고 있으면 H1형, 그 다른 경우에는 H01형).
HCR의 HCT필드 및 HnA필드에 의해 부여되는 정보는 용장과 같이 생각할 수 있지만, 이 정보는 특정의 동기화 목적을 갖고 있다. 일반적인 의미에 있어서, 동일정보는 관련슬롯의 CCR에서, 특히 각각의 채널 형식필드 CT 및 통신용데이타전송의 유효성을 나타내는 각각의 비트로 이용할 수 있다. 그러나, HCR정보는 하이퍼채널의 기동을 동기화하는 데에 필요하다.
하이퍼채널이 형성되면, IOP는 (TSR, FIFOR 및 DMAR내의)모든 구성 요소슬롯에 대한 제어파라미터를 프로그램하고, HCR에 적절한 기준슬롯 포인터를 설정하고, HCR내의 관련 HnA비트를 작동시킨다. 이 마지막의 동작은 모든 구성요소슬롯에 관한 활성상태를 순시간에 확립한다. 그렇지 않는 경우에는 어느 1개의 구성요소에 의한 통신의 개시가 아직 활성이 되어 있지 않는 다른 다음에 나타내는 구성요소에 의한 동작돠 모순되는 것이 없도록, 모든 구성요소슬롯에 대한 CCR정보의 로딩을 동기화할 필요가 있다. 이것은 이와 같은 통신이 오버런 또는 언더런을 회피하는 데에 필연적으로 모든 구성요소슬롯의 모든 대역폭을 필요로 하므로, 에러를 발생하게 된다.
활성하이퍼채널지시 HnA에 관해서 각각의 FSCn필드는 RSM 및 DMAC에서 사용되는 기준 슬롯포인터를 구비하고 있다. RSM은 이와 같은 포인터를 각각 구성요소슬롯에 대해서 사용하고, 각각의 슬롯의 물리적 시간위치를 효과적으로 지정하는 내부 슬롯 카운트를 관련기준슬롯의 시간위치를 지정하는 외부논리 타임슬롯지시 RSM_TSI로 변환한다. 이와 같이 해서 구성요소슬롯이 서비스되는 경우, 외부지시는 기준슬롯에 할당된 TSR 및 FIFRO의 기억위치를 어드레스하는 데에 사용된다.
각 활성 하이퍼채널에 관해 RSM은 또 제어신호를 DMARQ에 대해서 발생하고(RSM_DMARQ_H1, RSM_DMARQ_H0), REM 및 TFM에서의 요구를 DMARQ내의 특정의 큐위치에 향한다(이전의 DMARQ의 설명을 참조).
DMAC는 FSC포인터를 사용해서 하이퍼채널요구에 관한 그 채널번호(DMAC _CHN_NBR)제어기능 및 H포인터(DMAC_H_PTR)제어기능을 결정한다(이전에 FIFRO, DMAR, DMARQ 및 DMAC의 설명을 참조). 채널번호 기능은 FIFRO 및 DMAR에 관한(부분)어드레스로 사용되지만, H포인터값은 (DMAC_DMARQ_RCV_RESET 또는 DMAC_DMARQ _XMIT_RESET와 관련해서)DMARQ에 대한 리세트조종기능으로서 사용되는 것을 상기한다.
15.3 하이퍼채널논리의 개요
제 55도는 하이퍼채널의 형성 및 사용에 적용할 수 있는 IDLC의 논리의 개략을 도시한 것이다. 이와 같은 논리는 도시한 바와 같이, RSM, DMAC 및 DMARQ의 각 구획내의 분상되어 있다. 논리적으로 명백하므로, 제55도는 ″개별의″ 논리요소(예를 들면, 셀렉터회로, 디코더등)에 의해 실행된 일정의 기능을 나타내고 있지만. 제시한 실시예에서는 이들 기능의 대부분이 각각의 구획의 상태논리내부에 일체화되어 있다.
15.3.1 하이퍼채널의 논리의 RSM부
하이퍼채널의 사용에 관련되는 RSM논리는 셀렉터회로(450)을 구비하고 있다. 하이퍼채널의 각 구성요소 슬롯의 개시로, 회로(450)은 HCR레지스터에 있는 5개의 부호를 갖는 필드군(군 HnA, FSCn,n=1∼5)의 1개중의 정보를 그 출력으로 전송하도록 동작한다. 소정의 활동지시비트 HnA는 활동지시출력 ″Act.ind.″로 전송되고, 관련되는 기준슬롯 포인터 FSCn은 ″기준슬롯 포인터″출력으로 전송된다.
HCR레지스터는 동일도면 및 제 5도에서는 SIO에 있도록 나타내고 있지만, 이것은 위상적 및 신호전송의 편리를 위해 실행되고 있는 것을 이해할 수 있을 것이다(위상적 편리함은 구획내의 회로계수의 분포에 관련되는 것이고, 신호전송의 편리함은 IOP에서 이 레지스터의 입력까지의 최단경로를 마련하는 것에 관한 것이다). 물론 이것은 논리적으로 불가결한 것은 아니다(즉, 레지스터를 RSM내에서 논리적으로 하층 일관성이 있도록 설치할 수 있고, 또는 다른 어느 구획에 전체로서의 편리함이 반드시 작게 되도록 해서 배치할 수 있다).
논리(450)에 의해 실행되는 HCR군의 선택은 (451)에 부가되는 예비 CCR의 CT필드로 결정되지만, 예비 CCR은 RSM에 의해 TSR에서 각 슬롯기간의 초기에 관련슬롯에 대한 IDLC동기처리의 개시 전에 페치된다(제 4도를 참조), 소정의 필드군중의 활동지시비트 HnA는 AND게이트(452)에 부가되고, 소정군의 FSCn부는 다른 셀렉터 (453)에 부가된다.
셀렉터(453)은 예비페치 CCR의 CT에 따라서 셀렉터(450)에 의해 공급되는 기준슬롯 포인터 FSCn 또는 슬롯카운터(454)에 의해 제시되는 슬롯 카운트를 선택한다. 카운트(454)는 BTDM에서의 슬롯지시의 개시에 의해 규정되는 슬롯천이, 모듈 (32)을 카운트한다. FSCn 기능은 예비페치 CCR의 CT가 하이퍼채널형식을 지정하고 있으면 선택되고, 슬롯 카운트(454)의 값은 그 다른 경우에 선택된다.
AND게이트(452)의 입력(455)는 디코터(456)에 의해 복호되는 CT기능이 하이퍼채널형식을 지정하고 있으면 작동된다. AND게이트(452)의 입력(457)은 RSM에 의해 현재의 슬롯에 관한 처리활동의 개시에 관련되는 천이단계에, 일반적 용어로는 상태변환처리의 어느 점에서 순간적으로 활성으로 될 때 작동되고, 이미 래치된 RSM_TSI의 값이 선택슬롯에 대한 동기처리의 상태를 보존할 TSR공간에 어드레스하기에 유용하도록 되고, 또 동일한 파라미터의 새롭게 래치된 값이 예비페치 CCR에 관련되는 슬롯에 대한 상태를 그곳에서부터 로드할 TSR공간으로 어드레스하기에 유용하도록 된다.
셀렉터(453)의 출력(458)은 도시하지 않은 래치되고, AND게이트(452)의 출력에서 셀렉터 출력(458)까지의 점선의 접속(459)로 나타낸 바와 같이, 이와 같은 래치는 AND게이트의 작동과 시간적으로 동기해서(특히, RSM_ENABLE이 상승할 때에)실행된다. 따라서, 새로운 카운트 슬롯이 활성하이퍼채널에 관련되는 것일 때는 셀렉터(453)의 출력에 래치되어 있는 RSM_TSI의 값은 셀렉터(450)에 의해 선택된 기준슬롯 포인터 FSCn기능으로 되지만, 현재의 슬롯이 활성 B/D형 채널에 관련되어 있으면, RSM_TSI의 래치된 값은 현재의 슬롯 카운트로 된다.
TSM_TSI에 래치되어 있는 기능은 지금 현재의 타임슬롯지시로서 다른 구획 (TSR, FIFRO, INT 및 DMARQ)에 제시된다. 이와 같이 해서 이들 구획의 어드레싱기능은 현재의 슬롯이 하이퍼채널의 구성요소슬롯일 때 기준슬롯의 시간위치를 의미하고, 다른 경우에는 슬롯 카운트로 나타내어지는 실제의 시간위치를 의미한다. RSM_TSI값이 래치됨에 따라서, 이전의 값을 도시하지 않은 래치에 보존해서 이전에 슬롯에 관한 상태정보를 보존을 완료하는 데에 필요한 어드레스 파라미터를 보호하고 있는 것에 주목한다.
현재의 슬롯기간중에 CCR이 재차 페치되고(이전의 RSM의 설명을 참조), 그 CT필드가 디코더(460)에 부가된다. 부가된 CT가 H1하이퍼채널형식을 지정하고 있을 때는 디코더(460)의 각각의 출력(461)이 작동된다. 부가된 CT가 HO0n형 하이퍼채널 (n=1∼5)을 지정하고 있을 때에는 디코더출력(462)의 5개의 선의 각각의 1개가 작동된다. 부가된 CT가 B/D형태널을 지정하고 있을 때에는 디코더(460)의 도시하고 있지 않은 다른 출력이 작동된다. 디코더출력(461) 및 (462)는 각각의 하이퍼채널형 지시 RSM_DMARQ_H1 및 RSM_DMARQ_H0n으로서 DMARQ에 부가되고, DMARQ에 의해 입력요구설정신호(RFM 및 TFM에서) 및 요구리세트신호를 (DMAC에서)H1형 및 H0형 하이퍼채널에 관련되는 DMARQ의 큐내의 위치를 향하는데에 사용된다(이 이상의 상세에 대해서는 다음의 하이퍼채널의 DMARQ부의 살명 및 이전의 DMARQ구획을 참조).
15.3.2 하이퍼채널논리의 DMAC부
하이퍼채널에 사용되는 DMAC논리는 ″종속접속″셀렉터(470) 및 (471)을 구비하고 있다. 이전의 DMAC구획의 설명에 의해 이들 셀렉터의 기능은 구획의 상태논리에 의해 실행되지만, 논리적으로 명백하므로, 이들 기능을 여기서는 개별의 복호장치와 관련해서 나타내고 있다.
셀렉터(470)은 선택가능입력으로서 HCR의 FSC필드를 수신하고, DMAC가 하이퍼채널요구를 서비스하고 있을 때, DMAC_H_PTR에 의해 동작하고, H포인터값에 의해 특별히 지정된 FSCn필드를 선택한다. H포인터는 DMAC_A상태기계에 의해 발생된다(제49도 및 이전의 DMAC의 관련 설명을 참조할 것).
셀렉터(471)은 선택가능입력으로서 셀렉터(470)의 출력 및 전과같은 DMAC_상태기계(제49도)에 의해 발생되는 DMAC_B_PTR을 수신하고, 이들의 1개를 그 제어입력 DMAC_H-B_SEL(이것도 상태기계에 의해 발생됨)의 기능으로서 선택한다. 이 제어입력은 어느 형식의 채널요구가 DMAC, 하이퍼채널, 또는 B/D형 채널에 의해 서비스되어 있는지를 구별한다.
DMAC는 (이전에 설명한 바와 같이 IOP기억장치에 관한다) DMA 전송 서비스를 위해 DMARQ에서의 미결정요구를 1회에 1개씩 소정의 우선순위(이전의 DMARQ 및 DMAC의 설명을 참조)에서 선택한다. 서비스용으로 요구가 선택되면, DMAC 상태논리는 그 DMARQ출력위치를 기억하고 이것을 사용하여 각각의 요구를 리세트할 때 발생할 DMAC_H_PTR, DMAC_B_PTR 및 DMAC_H-B_SEL의 값을 결정한다.
DMAC의 논리는 또 (472)에서 나타낸 기능, DMAC_DMARQ_RCV_RESET 또는 DMAC_DMARQ_XMIT_RESET 및 DMAC_RDV_REQ를 발생한다. 이들의 최초의 2개는 상기의 H 및 B 포인터와 함께 DMARQ에 공급되고, 리세트신호를 H포인터로 지정되는 하이퍼채널에 대한 각각 수신동작 및 전송동작에 관련되는 큐위치를 향한다(DMAC의 설명을 참조). DMAC_RCV_REQ는 DMAR에 공급되고, DMAR을 수신요구에 관련되는 동작을 어드레스하기 위해 조절한다(이전의 DMAR의 설명을 참조).
15.3.3 하이퍼채널논리의 DMARQ부
하이퍼채널논리의 이 부분은 선택제어기 및 하이퍼채널의 DMAC서비스요구를 처리하는 것에 관련되는 요구큐의 부분을 구비하고 있다.
선택제어기(480)은 하이퍼채널요구의 처리에 관계하는 제 47도에 도시하는 선택제어기(335)의 부분을 나타낸다. 입력선택제어기(481)의 하이퍼채널요구의 처리에 관계하는 제 47도의 입력선택제어기(333)의 부분을 나타낸다(이 제어기는 설정요구 및 리세트요구를 DMARQ요구등록큐의 적절한 부분을 향한 책임을 갖는다). (483) 및 (484)로 도시한 H1의 하이퍼채널요구에 대한 큐는 제 47도에 도시한 큐(330) 및 (331)에 각각 대응한다. 마지막으로 (485)로 도시한 출력선택제어기는 하이퍼채널요구상태를 RFM 및 TFM에 제시하는 것에 관련하는 제 47도의 출력선택제어기(334)의 부분이다. 출력제어기(485)는 요구큐상태를 시간다중으로 채널슬롯의 서비스와 동기해서(하이퍼채널에 관해서 구성요소슬롯의 서비스와 동기해서)제시한다. DMA 수신데이타 서비스를 요구하는 상태는(제47도의 출력포트(334R) 대응하는)DMARQ_RFM_REQ에서 RFM에 제시되고, DMA 전송데이타 서비스를 요구하는 상태는 (제47도의 출력(334T)에 대응하는)DMARQ_TFM_REQ에서 TFM에 제시된다.
15.4 동적하이퍼채널형성의 예
하이퍼채널형성의 1예는 다음의 시나리오와 함께 진행된다. 최초의 상태 : IDLC가 H1형 하이퍼채널의 형성에 대해서 사용금지되어 있고(즉, H0은 가능), 현재는 BTDM슬롯 3∼7, 12∼19 및 25∼30을 사용해서 활성 B형 채널 또는 1개이상의 (단 5미만의) H0형 하이퍼채널을 지지하고 있다.
상술한 상태 및 슬롯의 사용에 의해 13개의 BTDM슬롯의 다른 사용(슬롯 0∼2, 8∼11, 20∼24 및 31)에 이용할 수 있도록 되어 있다. 일반적으로 6기본슬롯으로 이루어지는 군을 H0형 하이퍼채널 3개 이하가 현재활성인 경우) 및 B형채널 1개 또는 H0하이퍼채널 1개 및 각각의 B형태채널 7개 또는 개개의 B형채널 13개에 할당될 가능성이 있는 후보이다. 이하에 상술하는 것은 이용가능한 슬롯중의 67개를 새로 구성한 H0전이중형하이퍼채널에 동적으로(현재 활성인 슬롯에 의한 처리가 새로운 H0하이퍼채널형성중에 중단되지 않고 계속하는 의미로)할당될 수 있는 방법의 설명이다.
H0하이퍼채널을 확립하기 위해서는 국부 IOP/호스트가 연결하고자 하는 원격 IOP/호스트와(예를 들면, 국부시스템과 원격시스템 사이에 현존하는 활성채널신호전송링크를 통해서)최초로 통신해야만 한다. 이와 같은 통신에는 H0하이퍼채널링크를 설정할 필요가 있다. 원격 시스템으로부터의 응답은 이와 같은 링크에 대한 그 이용가능성을 나타낸다(원격시스템이 H0을 형성할 수 있는 상태에 있고, 또한 아이들 슬롯 6개를 갖고 있는 경우에 한해 이용가능하게 된다.).
국부노드 및 원격노드의 양쪽이 H0형성을 구성할 수 있고 또한 이와 같은 형성 능력이 있다(동시에 그 통신에서 그와 같이 지시되어 있음)고 가정한다. 다음의 단계는 국부IOP/호스트가 원격노드에(현존하는 신호전송링크를 경유해서) H0하이퍼채널을 형성하도록 명령하는 것이다. 이 통신의 승인시, 국부 IOP/호스트는 새로운 H0하이퍼채널을 형성하기 시작한다.
형성의 제1단계는 국부 IOP/호스트가 국부슬롯 1,2 및 8∼11과 관련되는 CCR을 특별히 번호를 붙인 HO하이퍼채널의 인접 슬롯으로서 각각을 지정하는 형식 필드 (CT)를 할당하는 것에의해 프로그램하는 것이다. 이들은 그들 CCR에 할당된 국부 TSR내의 공간에 (국부 SIO를 경유해서)액센스하고, 적절한 정보를 그것에 로드하는 것에 의해 실행된다.
다음에, 국부IOP/호스트는 TSR, FIFRO 및 DMAR에 있는 제어파라미터를 기준슬롯위치에관련되는 공간에 로드하고, 관계되는 모든 구획에 필요한 하이퍼채널동작을 유지해야한다. 이들 로딩 동작은 물론 SIO를 경위해서 실행되고, (1) TSR에 지정하이퍼채널에서 동기송수신처리를 개시하는 데에 필요한 시간교환상태 피라미터를 로드하는 것, (2) FIFRO에 그 하이퍼 채널에 의한 FIFRO관리에 필요한 초기 RDCR1 및 TDCR1제어 파라미터를 로드하는 것 및 (3) DMAR에 IOP기억 장치 및 그 하이퍼채널에 대한 FIFRO로의 DMAC액세스를 제어하는 데에 필요한 RDCR3,4 및 TDCR3,4 제어파라미터를 로드하는 것으로 이루어진다.
다음에, 국부 IOP/호스트는 그 기억 장치내에 H0채널통신을 지지하는 공간을 준비하고, 또 통신을 원격 IOP/호스트(현존하는 시호전송린크를 통해서) 보내고, 그 H0형성이 종료해서 새로운 하이퍼 채널을 작동시킬 준비가 되어있는 것을 나타낸다. 원격 IOP/호스트가 이 상태에서 승인하면, 국부 IOP/호스트는 새로운 하이퍼채널의 H0번호와 관련되는 FSCn 및 HnA필드를 (국부 IDLC의 HCR레지스터에)설정한다. FSC필드는 각각의 하이퍼채널에 대한 기준슬롯으로서 슬롯 1을 지시하도록 설정되고, HA비트는 그 활성상태로 설정된다. 추측것데, 원격시스템이 동일한 것을 실행할 것이다. 이것에 의해 처리가 종료하고, 이제 새로운 하이퍼채널이 활성데이타통신에 이용가능하다.
이하, 특수목적논리회로에 의해 개별로 실현되는 자율요소에 의해 형성되는 통신제어장치에 대해서 서술된 것을 인정받을 것이다. 이들 요소의 어느것은 통신데이타가 외부시분할링크와 외부 호스트/IOP처리복합체와의 사이의 천이시에 동작하는 다수처리/멀티 태스킹 파이프라인을 형성하고 있다. 다수 동작은 통신데이타의 각 바이트에 대해서 이와 같은 데이터가 외부와 통신되는 각각의 시분할슬롯의 출현과 동기해서 실현된다.
처리용 파이프라인은 고속의 통신데이타전송을 장치를 통해서 및 이것에 의해 외부시분할링크와 호스트/IOP처리시스템의 사이에서 지지하는 광범한 버퍼큐를 구비하고 있다. 또 용이하게 고속전송을 실행하기 위해 장치는 동기파이프라인과 외부 IOP시스템의 사이를 접속하는 특별의 DMARQ구획 및 DMAC구획을 구비하고 있다. DMARQ는 동기적으로 발생된 데이터전송요구를 비동기적으로 서비스가능한 요구로 변환하도록 동작하고, DMAC구획은 이와 같은 요소에 따라 장치와 IOP에 관련되는 기억장치 사이에서 DMA(직접기억액세스)버스로 데이터전송동작을 비동기로 실행하도록 동작한다.
데이터전송처리를 더욱 빠르게 하기 위해 데이터의 이동에 부수하는 이벤트에 대해서 장치에서 IOP로의 정보의 통신을 상술한 파이프라인에서 명확히 분리되어 있는 상태통신경로를 통해서 실행한다. 장치는 상기 파이프라인에 의한 처리에 관해서 인터럽트 요구 및 인터럽트벡터를 동기적으로 준비하도록 동작하는 인터럽트처리구획을 구비하고 있다. 이와 같은 요구 및 벡터는 상태통신경로를 통해서 IOP에 비동기적으로 제시된다.
장치는, 또, 상기 요구에 관련되는 이벤트형태정보를 상기 파이프라인에 의한 처리활동을 관리하는 제어파라미터를 저장하도록 분배되어 있는 기억장치에 동기적으로 저장하는 것을 고려하고 있다. 장치는 또, 상기 분배된 기억장치내에 통신채널내부에서 발생하는 시간적으로 떨어진 다수의 이벤트에 대해서 상기 기억장치내의 이벤트형태를 상기 인터럽트처리구획의 관리지도하에 큐에서 유지하는 것을 고려하고 있다. 마지막으로 장치는 IOP에 상기 큐형태에 대해 발신데이타통신처리를 거의 방해하지 않고, 비동기적으로 액세스시키거나 추출시키는 슬레이브 I/O 구획을 구비하고 있다.
그 동기파이프라인내에서 장치는 통신중의 데이터에 관해서 다수의 다른 업무를 실행하도록 병렬로 동작하는 다수의 자율송수신 처리요소를 구비하고, 각 요소는 장치내의 기억장치에 의해 실행되는 완충을 보충하는 데이터의 내부완충을 실행한다. 요소는 처리요소와 장치내의 시간교환기억장치 사이에서 상태제어파라미터 -처리중의 데이터를 포함한다-의 시간교환을 제어하는 자원관리요소의 지도하에 동기적으로 동작한다.
Claims (55)
- 데이터 통신 네트워크(a data communication network)와 병렬 정보 전송 버스(a paralled information transfer bus)사이를 접속하는 데이터 링크 제어 장치 (a data link control device)로서, 상기 네트워크가, 상기 장치로부터 원격의 (remote)단말 장치에 대해 데이터 신호의 동시 통신(concurrent communication)을 위한 다수의 데이터 통신 채널을 구비하고, 상기 장치가, 각각의 상기 네트워크 채널과 상기 병렬 버스 사이의 천이(transit)시에 데이터 신호를 처리하기 위해 상기 네트워크 채널과 관련하는 다수의 내부 채널을 구비하고, 상기 버스가 외부의 데이터 처리 시스템과 상기 시스템에 관련된 외부 기억 장치에 접속 가능하고, 이것에 의해 상기 장치가 상기 버스를 경유하여 상기 네트워크와 상기 외부 시스템 및 상기 외부 기억 장치 양쪽의 사이에서 인터페이스하는 데이터 링크 제어장치에 있어서, 상기 장치는, 동기 및 비동기 회로부(synchronous and asynchronous circuit sections)로 구획되고(partitioned), 상기 네트워크 채널과 상기 내부 장치 채널사이에서 데이터 신호의 전송을 위해, 상기 장치의 상기 내부 채널에 할당 가능한, 주기적으로 반복하는 타임슬롯(cyclically recurrent time slots)에서 시분할 다중(time division multiplex)으로 상기 동기부내에서 동작하는 논리회로로서, 상기 동기부내의 각각의 내부 채널에 할당된 타임슬롯의 발생에 비동기에 관계로 상기 내부장치 채널과 상기 외부 기억 장치사이에서 데이타 신호를 전송하도록 상기 비동기부가 동작하는 상기 논리 회로(logic circuits), 상기 동기 및 비동기 회로부 양쪽에 접속되고, 상기 내부 채널에 관련하여 상기 동기부와 비동기부사이의 천이시에 통신 데이터 신호를 저장하는 내부 기억 장치 수단(internal memory means)과, 상기 동기부와 비동기부사이를 인터페이스하며, 상기 동기부로부터의 요구 신호에 응답하여 상기 내부 기억 장치 수단과 상기 외부 기억 장치사이에서 상기 비동기부에 의해 상기 내부 채널에 관한 데이터 신호의 전송을 유발시키고, 이것에 의해 각각의 네트워크 채널에 관련하여 상기 동기부에서 실행되는 통신 처리와 조정하에 상기 내부 기억장치 수단과 상기 외부 기억장치 사이에서 상기 내부 채널에 관련하여 데이터 신호의 비동기 전송을 유발시키는 조정수단(coordinating means)을 포함하며, 상기 동기부는 각각의 상기 네트워크 채널과 상기 내부 기억장치 수단과 사이의 천이시에 상기 내부 채널내의 데이터 신호를 처리하고, 상기 동기부내의 각각의 내부 채널에 할당된 각각의 상기 시분할 타임 슬롯의 발생 시간에 대해 상기 처리를 동기의 관계로 실행하며, 상기 비동기부는 상기 버스를 경유하여 상기 내부 기억장치 수단과 상기 외부 기억장치 사이에서 상기 데이터 신호의 전송을 지도하고(directing), 상기 데이터 신호는, 각각의 상기 내부 채널에 관하여, 단, 상기 동기부내에 할당된 반복 타임슬롯의 시간에 대해 비동기의 시간 관계 (asynchromous time relation)로 각각의 상기 내부 채널에 전송되는 데이터 링크 제어 장치.
- 제1항에 있어서, 상기 내부 기억장치 수단은 각각의 상기 내부 채널에 관하여 상기 동기부와 상기 비동기부 사이의 천이시에 통신 데이터를 저장하는, 상기 내부 채널 전용의 데이터 저장 공간(data storage spaces)을 포함하고, 상기 동기부는 상기 반복하는 타임슬롯과 동기하여 동작하는 기억장치 관리수단(memory mana gement means)을 포함하여, 상기 각각의 채널에 전용인 상기 기억장치 수단의 데이터 저장 공간과 상기 동기부의 내부 채널 사이에서 데이터 신호의 전송을 감독하고(supervising), 상기 공간과 상기 외부 기억장치 사이에서 상기 비동기부의 지도하에 데이터 전송 동작을 유발시키기 위해 상기 조정 수단에 요구 신호(request signals)를 발행하되, 상기 요구 신호는, 상기 조정 수단과 상기 비동기부가, 상기 내부 기억장치 수단의 상기 각각의 공간에 관하여, 상기 내부 기억장치 수단과 상기 외부 기억장치 사이의 데이터 신호의 흐름을 유지할 수 있도록 시간에 맞추어져서, 상기 각각의 네트워크 채널에서 데이터 통신 처리와 적절하게 조정되어 상기 처리의 잘못된 인터럽트가 회피되는 데이터 링크 제어 장치.
- 제2항에 있어서, 상기 조정 수단은 상기 내부 채널과 각각 관련된 여러개의 비트 레지스터와, 상기 기억장치 관리 수단에서의 상기 각각의 요구 신호의 발행에 응답하여 상기 요구가 발행된 타임 슬롯과 관련된 내부 채널과 관련된 비트 레지스터에 대응하는 요구 미결정 상태(request pending condition)를 설정하는 수단을 포함하는 데이터 링크 제어 장치.
- 제3항에 있어서, 상기 비동기부는 상기 비트 레지스터내에 설정된 요구 미결정 상태에 응답하여 상기 내부 기억장치 수단내의 각각의 상기 데이터 저장 공간과 상기 외부 기억장치 사이에서 상기 비트 레지스터와 관련된 내부 채널에 관하여 데이터 신호 전송 처리를 개시하고, 이것에 의해 각각의 상기 공간과 상기 외부 기억장치 사이에서 비동기이지만 조정된 데이터 흐름을 유지하는, 요구 미결정 상태에 관한 처리를 개시하는 수단을 포함하는 데이터 링크 제어 장치.
- 제4항에 있어서, 상기 요구 미결정 상태에 관한 처리를 개시하는 수단은 상기 요구 미결정 상태가 2개 이상 존재할 때 처리에 대한 상기 상태를 소정의 우선 순서로 순차적으로 선택하도록 작용하는 수단을 포함하는 데이터 링크 제어 장치.
- 제5항에 있어서, 상기 데이터 링크 제어 장치는 상기 네트워크의 기본 채널(basic channels)과 확장 채널(extended channels)의 양쪽에 관하여 통신을 유지할 수 있으며, 상기 기본 채널은 기본의 제 1의 비트 전송 속도(basic first rate of bit transmission)로 동작하고, 상기 확장 채널은 상기 제 1속도의 배수(multiple)로 동작하며, 상기 동기부내의 상기 시분할 타임 슬롯은 기본 및 확장 네트워크 채널의 양쪽에 관련된 내부 채널(internal channels)에 관하여 선택적으로 동작하도록 할당 가능하고, 상기 기본 채널에 관련된 상기 각각의 내부 채널은 상기 동기부내의 슬롯 반복(slot recurrence)의 각각의 사이클에서 하나의 슬롯만 할당되고, 상기 확장 채널에 관련된 각각의 내부 채널은 슬롯 반복의 상기 각각의 사이클에서 다수의 관련된 타임 슬롯군(group)을 할당하고, 상기 확장 채널에 관련된 상기 내부 채널군의 각각은 상기 조정 수단내의 상기 비트 레지스터의 하나에만 관련되며, 상기 조정 수단은 확장 채널에 관련된 상기 내부 채널군에 관하여 상기 기억장치 관리 수단에 의해 발행된 상기 요구(군의 내부 채널에 할당된 어느 하나의 타임 슬롯에서 발생된 요구)에 응답하여 그 군의 채널에 관련된 하나의 비트 레지스터에 요구 미결정 상태를 설정하며, 소정의 우선 순서에서 순차적으로 처리하기 위해 상기 상태를 선택하는 상기 수단은 기본 채널에 관련되는 내부 채널에 관련된 상태보다 확장 채널에 관련된 내부 채널의 군과 관련된 비트 레지스터에 의해 명시된 상태에 우선권을 부여하는 데이터 링크 제어 장치.
- 제4항에 있어서, 상기 비동기부는 처리를 개시하는 상기 수단과 협동하여 각각의 데이터 전송 처리의 완료시 상기 개시 수단에 의해 작동된 각각의 요구 미결정 상태에 관하여 상기 조정 수단에 리세트 요구(resetting requests)를 제시하는 (presenting) 수단을 포함하며, 상기 조정 수단은 상기 리세트 요구에 응답하여 각각의 상기 비트 레지스터에 각각의 요구 미결정 상태를 리세트하는 수단을 포함하는 데이터 링크 제어 장치.
- 제3항에 있어서, 상기 조정 수단은 상기 동기부내의 상기 채널 타임 슬롯과 동기하여 동작하며 상기 동기부내의 상기 기억장치 관리 수단에 상태 표시(status indications)를 제시하는 수단을 포함하고, 상기 상태 표시는 각각의 타임 슬롯 동안 상기 동기부에서 처리된 내부 채널에 관련된 비트 레지스터의 세트와 리세트를 유효하게 표시하는 데이터 링크 제어 장치.
- 제4항에 있어서, 처리를 개시하는 상기 수단은 상기 비트 레지스터내의 상기 요구 미결정 상태에 응답하여 직접 액세스 모드(direct access mode)에서 상기 버스를 경유하여 상기 외부 기억장치에 직접 액세스하는 직접 기억장치 액세스 제어(direct momory access control : DMAC)수단을 포함하는 데이터 링크 제어 장치.
- 제9항에 있어서, 상기 버스는 중재 절차(arbitration procedure)를 통하여 다수의 장치에 접속 및 공유되고(shared), 데이터 전송처리를 개시하는 상기 수단은 또 상기 DMAC수단에서의 신호에 응답하여 상기 버스에 접속된 상기 다른 장치와 상기 버스의 제어를 위해 중재하고, 제어를 얻으면 상기 버스를 경유하여 상기 내부 기억장치 수단과 상기 외부 기억장치 사이에서 데이터를 전송하는 수단을 포함하며, 상기 내부 기억장치에 관한 상기 전송은 상기 DMAC 수단에 의해 즉시 처리되는 요구 미결정 상태와 관련된 공간(spaces)으로 향하는 데이터 링크 제어 장치.
- 제3항에 있어서, 상기 내부 기억장치 수단은 통신 데이터를 저장하는 상기 공간에 부가하여 다른 정보를 저장하기 위해 상기 내부 채널에 전용의 부가 공간(additional spaces)을 또 포함하며, 상기 다른 정보는 각각의 내부 채널에 관련된 제어 및 상태 기능을 나타내는 정보를 포함하고, 상기 비동기부는 상기 버스에 관하여 각각의 제 1의 정보 전송 경로를 통해 동작하며, 상기 내부 기억장치 수단내의 각각의 데이터 저장 공간과 상기 외부 기억장치 사이에서 상기 제1의 경로를 경유하여 상기 내부 채널에 관한 통신 데이터의 전송을 실행하는 제1의 정보 전송 제어 수단(first information transfer control means)과 상기 버스에 관하여 제2의 정보 전송 경로를 통하여 동작하며, 상기 내부 기억장치 수단내의 각각의 상기 부가적인 저장 공간과 상기 외부 데이타 처리 시스템 사이에서 사이에서 상기 제2의 경로를 경유하여 상기 내부 채널에 관한 상기 다른 정보의 전송을 실행하는 제2의 정보 전송 제어 수단(second informaton transfer control means)을 포함하며, 상기 제1 및 제2의 경로는 활성(active) 내부 채널과 관련된 통신 처리와 상기 내부 채널의 활성의 개시 또는 제어와 관련된 제어처리 사이에서 상기 장치내의 제약(contention)을 감소시키기에 유용한 상기 장치의 상기 비동기부내의 병렬 회로 경로(prarallel circuit paths)를 각각 포함하는 데이터 링크 제어 장치.
- 제11항에 있어서, 상기 버스는 다른 장치에 접속 가능하고, 상기 장치에 의해 실행된 중재의 처리를 거쳐서 상기 데이터 링크 제어 장치 또는 다른 장치의 하나에 의해 제어가 실행되며, 상기 제1의 정보 전송 제어 수단은 직접 엑세스 모드에서 상기 외부 기억장치로 액세스를 지도하는 직접 기억장치 엑세스 제어(DMAC) 수단과 상기 조정 수단에 의해 설정된 선택된 요구 미결정 상태와 관련된 상기 DMAC수단에서의 신호에 응답하여 상기 다른 장치를 중재하기 위해 상기 버스를 제어하고, 그 제어기가 얻어지면 상기 DMAC수단에서 공급된 제어정보신호에 따라 상기 내부 기억 장치 수단내의 데이터 저장 공간과 상기 외부 기억장치 사이에서 데이터를 전송하는 버스 제어 수단(bus control means)으로서, 상기 데이터 저장공간은 상기 선택된 요구 미결정 상태와 괸련된 내부 채널에 할당된 공간인 상기 버스 제어 수단을 포함하는 데이터 링크 제어 장치.
- 제11항에 있어서, 상기 제2의 정보 전송 제어 수단은 상기 버스에 결합되고, 상기 외부 시스템이 상기 버스의 제어를 가질 때 상기 외부 데이터 처리 시스템의 제어 가능한 슬레이브(slave)로서 동작하며, 상기 외부 시스템에, 상기 장치의 상기 비동기부와 동기부의 양쪽의 회로 및 상기 내부 기억장치 수단으로의 쌍방향 액세스를 마련하는 수단을 포함하며, 이것에 의해 상기 다른 정보를 상기 내부 기억장치 수단내의 각각의 공간과 상기 외부 기억장치로 전송할 수 있고, 상기 내부의 채널의 활성에 관하여 상기 제1의 정보 전송 제어 수단에 의해 처리되는 통신 데이터 전송 처리로의 방해를 최소화 하면서 상기 내부 채널의 비활성에 관해여 상기 장치의 동기부와 비동기부내의 회로의 동작을 개시하는 신호를 상기 외부 시스탬에서 상기 장치회로로 직접 전송할 수 있는 데이터 링크 제어 장치.
- 제11항에 있어서, 상기 내부 기억장치 수단은 별개로 액세스 가능한 제1 및 제2의 RAM 저장 어레이(storage arrays)를 포함하며, 상기 제1의 어레이는 상기 동기부와 비동기부의 양쪽의 회로와 접속하며, 상기 내부 채널에 관하여 상기 동기부와 비동기부 사이의 천이시에 통신 데이터를 저장하고, 상기 제2의 어레이는 상기 동기부와 접속하며 상기 내부 채널사이의 상기 통신 데이터에 관하여 상기 동기부내에서 실행되는 처리에 관한 상태 및 구성 제어 정보(status and configuration control information)를 저장하는 데이터 링크 제어 장치.
- 제14항에 있어서, 상기 각 부(sections)와 상기 제1 및 제2의 어레이는 단일 LS1 반도체칩내에 일체로 함께 패키지되는 데이터 링크 제어 장치.
- 제14항에 있어서, 상기 동기부는 상기 네트워크와 상기 제1의 RAM 어레이 사이에 종속 접속되고, 상기 네트워크 채널에서, 수신된 통신 데이터에 관하여 다수단 수신 처리 파이프라인(a plural-stage receive processing pipeline)을 형성하도록 상기 내부 채널에 관해 시분할 모드에서 동시에 동작하며, 상기반복 타임 슬롯이 상기 내부 채널에 각각 할당되는 동안 상기 각각의 내부 채널내의 상기 데이터를 처리하고, 상기 파이프라인에서 나온 데이터가 상기 제1의 RAM 어레이에 저장되도록 한 제1의 다수의 개별 특수 목적 논리 처리 회로(a first plurality of discrete special purpose logical processing circuits)와 상기 네트워크와 상기 제 1의 RAM 어레이 사이에서 종속 접속되고, 처리되는 통신 데이터에 관하여 다수단 전송 처리 파이프라인(a plural-stage transmit processing pipeline)을 형성하도록 상기 내부 채널에 관해 시분할 모드(time division mode)에서 동시에 동작하며, 상기 내부 채널과 관련된 상기 각각의 네트워크 채널에서 전송을 위해 상기 제1의 RAM 어레이에서 상기 네트워크의 채널로 전송하는 제2의 다수의 개별 특수 목적 논리 처리 회로(a second plurality of discrete special purpose logical processing circuits)를 포함하는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 수신 및 전송의 파이프라인의 상기 단(stages)은 상기 각각의 네트워크 채널에 관련된 상기 개별의 내부 채널에 관하여 상기 동기부내의 상기 내부 채널에 각각 할당된 반복 타임 슬롯의 사이클 시간과 동기하여 시간 다중(time multiplex)으로 동시에 동작하고, 상기 파이프라인단은 임의의 각각의 타임 슬롯 동안 각각의 내부 채널에 관한 천이시에 통신 데이터에 대해 다수의 다른 처리 업무 기능(processing task functions)을 실행할 수 있는 데이터 링크 제어 장치.
- 제16항에 있어서, 각각의 상기 타임 슬롯이 할당 가능한 상기 내부 채널과 상기 내부 채널과 각각 관련된 네트워크 채널은 전이중(full duplex) 채널이고, 상기 수신 및 전송 파이프 라인은 임의의 타임 슬롯이 상기 내부 채널에 할당되는 동안 각각의 내부 체널에 관련된 네트워크 체널의 각각에 있어서의 천이시에 통신 데이터에 대해 다수의 처리 업무를 실행하도록 동시에 동작 가능한 링크 제어 장치.
- 제16항에 있어서, 상기 내부 채널은 다수의 다른 통신 프로토콜과 신호 포맷에 따라서 통신 데이터를 운송 및 처리하도록 동적으로 구성할 수 있고, 상기 파이프라인에서 상기 회로단(circuit stages)은 그 처리 업무의 실행을 필요로 하는 통신 프로토콜 및 신호 포맷에 관해 동작하기 위해 구성된 내부 채널에 관하여 레이어 프로토콜 처리 업무(layered protocol processing tasks)를 실행하도록 상기 내부 채널에 관하여 선택적으로 구성할 수 있는 데이터 링크 제어 장치.
- 제19항에 있어서, 상기 활성 채널의 각각에 관한 상기 파이프라인단의 구성은 상기 제2의 RAM 어레이내의 각각의 채널에 관해 저장된 정보에 의해 실행되는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 파이프라인단은 디지털화된 음성과 HDLC 데이타의 다수 채널의 상기 네트워크에 관해 동시에 통신을 처리하며 또한 관련된 네트워크 채널에서 선신호(line signal) 제어 기능에 관련된 상기 프로토콜 레이어에서 상기 HDLC 데이터에 관한 레이어 프로토콜 처리 동작을 실행하도록 다수의 상기 내부 채널에 관하여 구성 가능한 데이터 링크 제어 장치.
- 제19항에 있어서, 상기 전송 파이프라인은 상기 내부 채널에 관련된 네트워크 채널내의 전송 루트에서 상기 제1의 RAM어레이내의 각각의 저장 공간으로부터 상기 데이터 신호가 상기 전송 파이프라인내의 상기 내부 채널을 거쳐서 흐를때 HDLC프레임 경계(fram delimiters)와 CRC 체크 기호(check symbols)를 나타내는 신호를 매립(embedding)하기 위해 데이터 신호에 관한 레이어(Layer) 2처리 동작을 실행하도록 HDLC 프로토콜에 따라서 포맷된 데이터 신호를 처리하는 내부 채널에 관하여 구성 가능하고, 상기 수신 파이프라인은 상기 내부 채널내의 데이터의 수신에 각각 관련된 그 어레이의 저장 공간내의 상기 제 1의 어레이내에 저장되는 루트에서 상기 수신 파이프라인의 상기 내부 채널을 거쳐서 데이터가 흐를 때 상기 수신된 데이터 신호로부터 HDLC 프레임 경계를 나타내는 신호를 제거하기 위해 레이어 2처리 동작을 실행하도록 동일 내부 채널내의 상기 HDLC 포맷에서 수신된 통신 데이터 신호에 관하여 구성 가능한 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 RAM 어레이의 상기 용량과 액세스 특성 및 상기 파이프라인의 처리 특성은 각 채널에 있어서 128kbps의 총합 데이터 속도(aggregate data rates)를 갖는 적어도 32개의 전이중 채널(full duplex channels)에 관한 처리를 지질하기에 적합한 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 부(sections)와 상기 RAM 어레이를 구비하는 전체 장치(entire device)는 단일 LSI 반도체칩상에 포함되는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 장치와 상기 네트워크 채널 사이의 신호 전송 인터페이스(a signal transfer interface)에 있어서, 통신 데이터는 상기 활성 내부 채널에 관하여, 상기 활성 내부 채널(active internal channels)에 각각 할당되는 상기 동기부내의 개별 타임 슬롯의 반복 시간 동안 발생하는 가변 길이 비트 직렬 버스트(varied-length bit serial bursts)에서 전송되며, 각각의 상기 버스트는 변수 0∼n(여기서, n은 2보다 큰수)데이타 비트를 나타내는 신호를 포함하고, 상기 파이프라인은, 상기 신호 전송 인터페이스에 접속되며 각각의 시분할 슬롯 동안 상기 가변 길이 버스트에서 각각의 상기 활성 내부 채널에 관해 통신 데이터를 적합하게 수신 및 전송하는 회로 수단을 포함하고, 이것에 의해 상기 신호 전송 인터페이스에 있어서 각각의 네트워크 채널에 관한 데이터 전송 속도는, 상기 인터페이스에서 국부 신호 타이밍 기준(local signal timing references)과 상기 원격 타이밍 기준(remote timing references) 사이의 상대적인 드리프트(relative drift)에 관계없이 상기 네트워크 채널의 원격 단말 장치(remote terminals)에서 타이밍 기준에 대해 상기 인터페이스에서 신호 조정(signal coordination)을 유지하도록 조절되어 변경되는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 제2의 RAM 어레이는 상기 각각의 내부 채널에 시분할 타임 슬롯이 할당되는 동안 각각의 단과 신호를 교환하기 위해 상기 각각의 파이프라인 회로단에 병렬로 결합되고, 각각의 파이프라인내의 모든 단이 상기 다른 내부 채널에 할당된 상기 타임 슬롯을 순차적으로 동적으로 재구성(dynamically reconfigure)하여 상기 다른 채널에 관한 다른 처리 기능을 계속해서 실행하도록, 각각의 대응하는 타임 슬롯의 최종 반복의 종료(end of a last prior recurrence)에서 상기 단에 의해 각각 추정된 상태로, 상기 각각의 타임 슬롯의 개시에서, 상기 신호가 상기 단을 재구성하며, 이것에 의해, 상기 파이프라인은 잠재적으로 다른 신호 프로토콜(potentially different signalling protocols)을 갖는 다른 통신 처리를 지원하는 상기 다수의 내부 채널에 관해 동적이고 시분할적으로 구성 가능하여, 각각의 내부 채널에 관해 명백한 연속(apparent continuity)을 갖는 상기 다른 처리와 프로토콜에 적합한 처리 업무를 실행하는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 동기부는 상기 파이프라인과 상태 정보(state information)를 교환하도록 상기 내부 채널 슬롯에 할당된 타임 슬롯의 반복과 동기해서 상기 어레이를 순환적으로 동작시키기 위해 상기 제 2의 RAM 어레이의 동작을 제어하는 자원 관리 회로 수단(resource management circuit means)을 또 포함하고, 상기 상태 정보는 연속적으로 발생하는 상기 타임 슬롯에서 지원된 내부 채널에 관한 상기 파이프라인 회로의 일시 처리 상태(instantaneous processing states)를 나타내며, 이것에 의해 상기 파이프라인은 상기 연속 타임 슬롯이 할당된 내부 채널에 관한 처리 업무를 계속 실행하도록 상기 연속 타임 슬롯에서 조절되고, 이것에 의해 다수의 상기 내부 채널에 관한 천이시에 가변으로 포맷된 통신 데이터의 처리를 상기 파이프라인 동시에 실행 가능한 데이터 링크 제어 장치.
- 제2항에 있어서, 상기 동기 및 비동기 회로부 사이에 접속되고 상기 동기부내의 상기 내부 채널에 할당된 시분할 타임 슬롯의 발생 시간과 동거하여 동작하며, 각각의 상기 타임 슬롯이 할당된 각각의 내부에 관련된 상기 내부 기억장치 수단내의 데이터 저장 공간에 관해서 상기 동기부내의 상기 내부 채널에 할당된 타임 슬롯과 동기하여 상기 동기부에서 동작을 위한 요구 신호를 수신하는 요구 큐 수단(request queueing means)을 포함하고, 상기 요구 큐 수단은 각각의 상기 내부 채널에 전용되는 비트 레지스터를 포함하고, 상기 비동기부내의 회로에 정적 제시(static presentation)를 위해 각각의 내부 채널에 관해서 수신된 동작을 위해 요구를 저장하며, 상기 요구는 상기 각각의 내부 채널에 할당된 상기 내부 기억장치 수단내의 데이터 저장공간에 관해서 상기 내부 기억장치 수단과 상기 외부 기억장치 사이에서 통신 데이터의 전송을 지도(direct)하도록, 상기 비동기부내의 상기 회로에 의한 동작을 필요로 하는 데이터 링크 제어 장치.
- 제28항에 있어서, 상기 비동기부는 상기 비트 레지스터에 의해 제시된 요구에 응답하여, 상기 각각의 요구에 관련된 내부 채널에 관한 데이터 전송 동작을 개시하며 2개이상의 요구가 제시될 때 이와 같은 요구중 1개를 선택하도록 동작하고 그 선택된 하나의 요구에 관한 데이터 전송 동작을 개시하는 동작개시 수단과, 상기 동작개시 수단과 관련하여, 그 요구와 관련된 동작이 종료되었을 때, 현재 동작되고 있는 요구에 관해 상기 요구 큐 수단에 리세트 지시를 제시하는 수단을 포함하며, 상기 큐 요구 수단은 상기 각각의 리세트 지시에 응답하여, 동작되고 있는 각각의 요구를 포함하는 비트 레지스터를 리세트하는 수단을 포함하며, 이것에 의해 상기 비트 레지스터에 의해 제시된 각각의 요구 상태를 리세트하는 데이터 링크 제어 장치.
- 제1항에 있어서, 상기 내부 기억장치 수단은 상기 외부 처리 시스템에 보고되어야 하는 각각의 내부 채널에 관한 처리 이벤트(process events)을 규정하는 상태 정보를 저장하기 위해 상기 내부 채널에 별개의 전용의 저장 공간을 포함하고, 상기 비동기부는 상기 버스와 상기 내부 기억장치 수단에 결합되어, 상기 내부 기억장치 수단에 의해 저장된 상기 상태 정보를, 상기 외부 처리 시스템에 의해 추출하기 위해 액세스 가능하게 하는 수단을 포함하는 데이터 링크 제어 장치.
- 제30항에 있어서, 각각의 채널에 관한 상기 상태 정보를 기억하기 위해 상기 내부 채널의 임의의 하나에 전용인 상기 내부 기억장치 수단내의 상기 공간은 각각의 채널에 관한 다중 처리 이벤트(multiple process events)을 규정하는 상태 정보의 동시 저장을 위해 충분한 용량을 가지며, 상기 상태 정보를 상기 외부 시스템에 의해 추출하기 위해 액세스 가능하게 하는 상기 수단은, 상기 외부 처리 시스템이, 상기 여러개의 이벤트에 관련된 상기 상태 정보를 상기 버스에 관해 하나의 동작에서 추출할 수 있도록 구성되는 데이터 링크 장치.
- 제1항에 있어서, 상기 동기부와 비동기부내의 회로에 결합되고, 장치를 통해 상태를 감시하며, 상기 회로에 의해 명시된 상태 정보를 상기 외부처리 시스탬에 의해 비동기적으로 추출하도록 하게 하는 인터럽트권리 수단을 포함하는 데이터 링크 제어 장치.
- 제16항에 있어서, 상기 내부 채널중의 하나에 할당된 타임 슬롯의 임의의 반복시, 상기 동기부는 각각의 내부 채널과 관련된 네트워크 채널사이에서 0내지 n비트(n은 2보다 큰수)데이타의 가변 길이 버스트를 전송하도록 동작 가능하며, 각각의 이와 같은 버스트는 각각의 슬롯 지속 시간에 대해 짧은 지속 시간을 갖는 간격(intervel)으로 압출되고, 이것에 의해 상기 각각의 타임 슬롯에 의해 걸쳐진(spanned) 시간의 실질적으로 부분은 상기 파이프라인내의 회로에 의해 상기 타임 슬롯이 각각 할당된 내부 채널에 관한 처리동작을 실행하고 다른 내부 채널에 할당된 종전의 타임 슬롯이 각각 할당된 내부 채널에 관한 처리동작을 실행하고 다른 내부 채넬에 할당된 종전의 타임 슬롯에 유지되어 있는 구성에 관한 이와 같은 동작에 대해 재구성할 수 있도록 사용할 있는 데이터 링크 제어 장치.
- 제9항에 있어서, 상기 DMAC 수단은 부가적인 제어 정보없이 연속될 수 없는 각각의 내부 채널에 관한 동작을 계속하기 위해, 상기 외부 기억장치에서 상기 내부 기억장치 수단으로 부가적인 제어 정보를 페치(fetch)하도록, 임의의 상기 내부 채널에 관해 상기 내부 기억장치 수단내에 저장된 제어 정보에 포함된 체인 지시 (chaining indications)에 응답하는 데이터 링크 제어 장치.
- 제9항에 있어서, 상기 DMAC 수단은 상기 각각의 내부 채널에 관한 사용을 위해 상기 외부 시스탬에 의해 할당된 상기 외부 기억장치내의 저장 공간의 블록과 상기 내부 채널과 각각 관련된 상기 내부 기억 장치 수단내의 데이터 저장 공간사이에서 상기 내부 채널에 관한 데이터를 전송하기 위해 상기 외부 기억장치내의 어드레스 가능한 데이터 저장 공간의 블록에 관한 동작하도록 상기 내부 기억장치 수단내에 저장된 제어 정보에 응답하고, 상기 DMAC 수단과 상기 외부 처리 시스템은 순환 버퍼(circular buffers)로서 상기 블록을 조정하여 사용하도록 상기 외부 기억장치내의 어드레스 가능한 공간의 상기 블록에 관한 조정동작이 가능하도록 되어 있고, 이것에 의해 각각의 블록내의 공간은 각각의 블록 용량을 초과하는 데이터를 유지하도록 연속적으로 재사용 가능한 데이터 링크 제어 장치.
- 제14항에 있어서, 상기 내부 기억장치 수단은 상기 제1 및 제2의 RAM 어레이에 부가하여 상기 동기부와 비동기부내의 분포된 다수의 개별 레지스터를 또 포함하며, 상기 레지스터는 각각의 부(sections)의 제어 및 상태 표시 기능에 관한 정보를 유지하기 위해 전용으로 되며, 상기 제1 및 제2의 RAM어레이와 상기 레지스터는, 상기 제2의 전송 경로를 경유해서 상기 외부 처리 시스템으로 액세스 가능하여, 상기 제2의 정보 전송 제어 수단을 통하여 동작하도록 상기 외부 처리 시스템을 인에이블(enable)하고, 상기 제1 및 제2의 어레이와 상기 개별 레지스터에 대해 정보를 탑재(place)하고 추출(retrieve)하도록 한 데이터 링크 제어 장치.
- 데이터 신호 통신의 다중 채널을 갖는 데이터 통신 네트워크와 하나 이상의 외부 데이터 처리 시스템 및 상기 시스템에 관련된 한 이상의 외부 기억장치에 접속된 병렬 정보 전송 버스와의 사이를 접속하는 데이터 링크 제어 장치에 있어서, 상기 장치는 동기부내의 회로가 상기 네트워크와 비동기부내의 회로사이를 접속하여 상기 네트워크에서 추출되고 전송되는 데이터를 주기적으로 반복하는 시분할 슬롯으로 처리하며, 상기 타임 슬롯이 상기 장치의 상기 동기부와 비동기부의 양쪽에서 유지할 수 있는 내부 통신 채널을 여러가지로 구성할 수 있게 다중으로 할당 가능하며, 상기 내부 채널이 상기 네트워크 채널과 관련 가능하고, 상기 동기부내의 상기 회로가 각각의 슬롯에 관련된 채널에 관해 데이터를 처리하도록 상기 타임 슬롯과 동기하여 동작하는 특수 목적 논리 회로의 동기부 및 비동기부와, 상기 양쪽의 부(sections)의 회로에 결합되고, 상기 개별의 내부 채널에 관련된 저장 공간을 갖고, 상기 내부 채널의 각각에 관련된 공간이 각각의 내부 채널에 관한 천이시 통신 데이터의 다수의 바이트를 저장하기에 충분한 내부 기억장치 수단과, 각각의 내부 채널에서 발생될 언더런 또는 오버런 에러(underrun or overrun errors)가 최소화 되도록 현재 활성인 각각의 내부 채널에 관해 상기 내부 기억장치 수단과 상기 외부 기억장치사이에서 통신 데이터의 조정된 흐름을 유지하기 위해, 상기 비동기부와 동기부내의 상기 회로 사이를 인터페이스하며, 각각의 채널과 관련된 상기 내부 기억장치 수단내의 저장 공간과 상기 내부 채널에 관해 상기 동기부와 비동기부의 동작을 조정하는 조정 수단을 포함하며, 상기 동기부내의 상기 회로는 상기 동기부내의 상기 각각의 내부 채널을 통하여 상기 네트워크 채널에 관련된 천이시에 통신데이타상의 처리 업무를 실행하고, 상기 동기부내의 상기 내부 채널과 상기 내부 기억장치 수단내의 각각의 저장 공간사이에서 통신 데이터를 전송하기 위해 상기 내부 기억장치 수단에 접속되고, 상기 비동기부내의 회로는 상기 내부 기억장치 수단과 상기 버스사이를 인터페이스하고, 상기 버스를 경유하여 상기 내부 기억장치 수단내의 각각의 상기 저장 공간과 상기 외부 기억장치사이에서 상기 각각의 내부 채널에 관한 상기 통신 데이터를 전송하기 위해 상기 동기부내의 상기 타임 슬롯에 관해 비동기로 동작하며, 상기 비동기부는 상기 공간과 상기 외부 기억장치사이에서 한번에 다수의 데이타 바이트를 전송하도록 상기 내부 기억장치 수단내의 임의의 상기 저장 공간에 관해 동작 가능한 데이터 링크제어 장치.
- 제37항에 있어서, 상기 내부 기억장치 수단내의 상기 공간은 또 상기 각각의 내부 채널에 관한 동기부내의 상기 회로의 순시(instant) 처리 상태를 규정하는 상태 정보를 저장하며, 상기 동기부는, 상기 상태 정보를 포함하는 상기 내부기억 장치 수단내의 상기 공간에 관해 상기 타임 슬롯과 동기하여 상기 타임 슬롯이 할당된 상기 내부 채널에 관한 동기내의 회로와 상기 공간사이에서 상태 정보를 동적으로 교환하는 자원 관리 수단(resource management means)을 포함하고, 이것에 의해, 슬롯 주기가 할당된 내부 채널에 관한 연속적으로 처리 업무를 위한 임의의 슬롯 주기동안 동기부의 상기 회로가 마련되며 또한 이전의 슬롯 주기와 관련된 다른 내부 채널에 관해 상기 회로의 상태가 상기 다른 내부 채널에 할당된 상기 내부 기억장치 수단내의 각각의 다른 공간내에 보존되고, 상기 동기부는 상기 동기부와 비동기부사이의 천이시에 통신 데이터를 저장하기 위해 확보된 상기 내부 기억장치 수단내의 상기 데이터 저장 공간과 상기 내부 채널에 관해 상기 타임 슬롯과 동기하여 동작하며, 상기 각각의 데이터 저장공간에 관해 조정 수단에 처리 요구를 발생하는 기억 장치 관리 수단(memory management means)을 포함하며, 이것에 의해 상기 임의의 내부 채널에 관해서 상기 동기부내의 통신 데이터의 활성 전송(active transfer)동안, 통신 데이터의 조정된 흐름(coordinated flow)이 상기 내부 기억 장치 수단내의 그 채널에 할당된 공간과 상기 외부 기억장치에서 그 채널에 관해 상기 기억 장치 관리 수단에 의해 발행된 처리 요구에 응답하여 상기 비동기부내의 회로와 상기 조정 수단의 협동 처리에 의해 유지되는 데이터 링크 제어 장치.
- 제38항에 있어서, 상기 조정 수단은 상기 기억 장치 수단의 각각과 관련되며, 각각의 공간에 관해 처리요구를 저장하고, 수신 데이터에 관한 처리 요구를 저장하도록 작용하는 각 쌍의 하나의 비트 레지스터가 각각의 공간을 통해 네트워크에서 전송되고 전송 데이타에 관한 처리 요구를 저장하도록 작용하는 다른 쌍의 비트 래지스터가 각각의 공간을 통해 네트워크에서 전송되는 한쌍의 비트 레지스터와 상기 기억 장치 관리 수단에서의 상기 처리 요구와 상기 자원 관리 수단에서의 다른 신호에 응답하여 상기 요구를 저장하기 위해 적절한 비트 레지스터로 상기 요구를 조종하고, 상기 기억 장치 관리 수단에서의 상기 처리 요구가 수신 데이터 또는 전송 데이터와 관련되는지의 여부를 나타내고 상기 자원 관리 수단에서의 상기 신호가 관련 요구의 채널과 기억 장치 공간에 대응하는 현재 타임 슬롯 위치를 나타내는 요구 조종 수단(request steering means)을 포함하는 데이터 링크 제어 장치.
- 제39항에 있어서, 상기 동기부는 상기 조정 수단의 상기 비트 레지스터내에 저장된 요구에 응답하며 외부 기억장치와 상기 기억 장치 수단내의 각각의 데이터 저장 공간사이에서 데이터 전송을 위해 상기 요구에 관해 데이터 전송 처리를 개시하고 2이상의 요구가 상기 비트 레지스터내에 저장될 때 소정의 우선 순위로 동시에 하나씩 상기 요구를 처리하는 제1의 수단과 상기 제1의 수단과 관련하여 동작하며, 각각의 요구의 비트 레지스터 기원(bit resister origin)을 효과적으로 지시하는 신호를 포함하는 요구 리세트 신호(request resetting signals)를 상기 조정수단에 제시하는 제 2의 수단을 포함하고, 상기 조정 수단은 각각의 비트 레지스터를 리세트하도록 각각 리세트 신호에 응답하는 수단을 포함하는 데이터 링크 제어 장치.
- 제40항에 있어서, 상기 조정 수단은 상기 비트 레지스터에 결합되어 상기 타임 슬롯과 동기하여 동작하며, 각각의 타임 슬롯 동안 각 쌍의 비트 레지스터의 상태의 지시를 상기 기억 장치 관리 수단에 제시하는(presenting) 수단을 포함하고, 이것에 의해 기억 장치 관리 수단에, 그것이 발행한 각각의 요구의 미결정과 리세트 상태를 통지하는 데이터 링크 제어 장치.
- 제40항에 있어서, 상기 동기부내의 상기 타임 슬롯은 프레임에서 주기적으로 재발생하고, 각각의 프레임은 상기 내부 채널에 할당 가능한 소정 수의 타임 슬롯을 포함하며, 상기 내부 채널은 기본 채널과 확장 채널을 포함하고, 상기 각각의 기본 채널이 활성일 때 반복하는 타임 슬롯의 상기 각각의 프레임 동안 그것에 할당된 하나의 관련 타임 슬롯만 가지며, 상기 각각의 확장 채널이 활성일 때 발생하는 슬롯의 상기 각각의 프레임동안 그것에 할당된 다수의 관련 타임 슬롯을 갖고, 상기 조정 수단은 상기 각각의 기본 채널에 관한 처리 요구를 저장하는 비트 레지스터쌍과 상기 각각의 확장 채널에 관한 처리요구를 저장하는 별개의 비트 레지스터쌍을 포함하고, 처리를 개시하는 상기 제 1의 수단은, 요구가, 기본 채널과 확장 채널의 양쪽에 관해 상기 비트 레지스터쌍에서 미결정일 때 확장 채널과 관련된 요구에 우선권을 부여하는 데이터 링크 제어 장치.
- 제37항에 있어서, 상기 비동기부는 상기 외부 기억장치에 관해 직접 기억 액세스 모드에서 동작하며, 상기 외부 기억장치로의 액세스를 지도하기 위해 각각의 채널에 관해 상기 기억 장치 수단에 저장된 제어정보를 사용하여 상기 외부 기억장치내의 어드레스 가능한 공간과 상기 기억 장치 수단의 공간사이에서 데이터를 전송하는 DMA제어(DMAC)수단을 포함하는 데이터 링크 제어 장치.
- 제43항에 있어서, 상기 병렬 버스는 1이상의 데이터 처리 시스템, 1이상의 외부 기억장치 및 다른 외부 장치를 구비하는 다수의 외부 요소에 접속 가능하고, 상기 버스는 상기 장치와 외부 요소사이에서 실행된 중재의 처리를 통하여 상기 장치와 사이 외부 요소에 의해 제어가능하며, 상기 비동기부는 상기 DMAC 수단과 상기 버스사이에 결합되며, 상기 외부 기억장치로의 액세스를 위한 필요를 지시하는 상기 DMAC로부터의 신호에 응답하여 상기 버스의 제어를 중재하고, 그 제어가 얻어지면 상기 데이터 전송에 대해 상기 외부 기억장치의 동작을 지도하기 위해 상기 DMAC 수단과 상기 외부 기억장치사이에서 상기 DMAC 수단에서 공급된 어드레스 및 제어 정보를 사용하여 데이터를 전송하는 데이터 링크 제어 장치.
- 제32항에 있어서, 상기 병렬 정보 전송 버스는 상기 장치와 각각의 시스템사이에서 정보를 전송하도록 상기 1이상의 데이터 처리 시스템의 하나에 의해 제어될 수 있고, 상기 버스는 상기 장치와 상기 외부 기억장치사이에서 정보를 전송하도록 상기 장치에 의해 제어될 수 있으며, 상기 장치의 상기 비동기부는 상기 버스, 상기 내부 기억장치 수단과 상기 장치의 상기 동기부와 비동기부의 양쪽내의 회로에 결합되고, 데이터 처리 시스템이 상기 버스의 제어를 가질 때 상기 데이터 처리 시스템의 슬레이브로서 동작하며, 상기 내부 기억장치 수단과 상기 양쪽의 부(sections)의 상기 회로와 그 시스템사이에서 정보를 전송하는 슬레이브/I/ O(SIO)수단을 포함하며, 이것에 의해 상태 제어 정보를 상기 내부 기억장치 수단과 상기 외부 기억장치 사이에서 상기 장치의 활성 내부 채널에 관해 동시에 실행되는 통신 데이터 전송 처리의 활성 내부 채널에 관해 동시에 실행되는 통신 데이터 전송 처리에서 방해가 최소로 되도록, 상기 장치의 상기 내부 채널에 관해 상기 장치와 상기 1이상의 데이터 처리 시스템사이의 교환되는 데이터 링크 제어 장치.
- 제45항에 있어서, 상기 비동기부는 상기 내부 기억장치 수단, 상기 동기 및 비동기 장치부 양쪽의 회로와 상기 SIO 수단에 결합되고, 상기 회로에 관한 상태 정보의 수집을 지도하고 상기 상태 정보가 상기 회로에 관해 상기 장치내에서 발생하는 이벤트를 나타내고 상기 내부 채널에 관한 처리이며, 상기 수집된 정보에 관해 상기 SIO. 수단과 상기 버스를 경유하여 상기 1이상의 데이터 처리 시스템에 인터럽트 요구의 제시를 지도하며, 상기 내부 채널 처리 이벤트와 관련된 상태 정보이 상기 내부 기억장치 수단내로의 저장을 감시하는 인터럽트 관리(interrupt management : INT)수단을 포함하며, 이것에 의해 상기 1이상의 데이터 처리 시스템은 각각의 처리 이벤트의 발생의 실제 시간상의 시간 의존성을 최소화하여 관련된 동작을 실행하도록 상기 데이터 처리 시스템을 위해 필요한 경우 상기 SIO 수단을 경유하여 상기 내부 기억장치 수단에서 그 처리 이벤트 상태 정보를 추출할 수 있고, 이것에 의해 상기 추출에 관련된 상기 장치의 동작은 상기 DMAC 수단에 의해 실행되는 통신 데이터 전송 처리 또는 상기 데이터 처리 시스템의 다른 데이터 취급 처리의 방해를 최소화하는 데이타 링크 제어 장치.
- 제46항에 있어서, 상기 내부 기억장치 수단은 관련된 상기 네트워크 채널에 관해 데이터 통신을 처리하는 동안 각각의 채널에서 발생하는 다수의 이벤트에 관한 처리 이벤트 상태 정보를 저장하기 위해 상기 각각의 내부 채널에 관한 공간을 포함하며, 이것에 의해 상기 1이상의 데이터 처리 시스템은 상기 버스에 관한 하나의 동작 동안 상기 내부 채널에서 발생하는 다수의 처리 이벤트에 관한 상태 정보를 추출하는 데이터 링트 제어 장치.
- 제43항에 있어서, 상기 동기부는 통신 처리에서 현재 활성으로 되는 상기 각각의 내부 채널에 관한 통신 데이터를 비트 병렬 바이트군(bit parallet byte groups)으로 처리하고, 상기 비동기부와 내부 기억장치 수단은 상기 통신 데이터를 동일 내부 채널에 관한 다수의 바이트 워드군(plural byte word groups)으로 처리하고, 상기 동기부내의 상기 타임 슬롯은 상기 내부 채널에 할당 가능한 다수의 타임 슬롯의 프레임에서 주기적으로 재발생하고, 상기 내부 기억장치 수단은 동기부에 전용으로 되고, 다수의 슬롯의 상기 각각의 프레임내의 각각의 상기 타임 슬롯과 관련된 공간을 포함하며, 관련된 타임 슬롯이 할당되는 내부 채널에 관해 동기부내의 회로의 순간 처리 상태(instantaneous processing states)를 규정하는 정보를 저장하기 위해 상기 공간이 사용되고, 상기 정보가 각각의 내부 채널의 현재 구성을 규정하는 구성 제어 정보(configuration control information)와 각각의 채널내의 소정의 처리 이벤트이 발생을 제시하는 처리이벤트 상태 정보(process event status information)를 구비하는 시간 교환 RAM(TSR) 저장 어레이(a time swap RAM(TSR) storage array), 상기 동기부와 비동기부의 양쪽의 회로에 접속되며, 각각의 관련된 슬롯에 관해 데이터 바이트이 워드군을 저장하기 위해 상기 동기부내의 슬롯의 각각의 상기 프레임내의 개별슬롯과 관련된 공간을 포함하고, 상기 공간에 저장된 상기 데이터 바이트가 동기부와 비동기부사이의 천이시에 통신 데이터를 제시하며, 동기부에 관한 각각의 상기 워드군내의 개별 바이트의 전송 순서를 지시하는 제어 정보를 저장키 위해 상기 프레임 슬롯의 각각과 관련된 공간을 또 포함하는 선입 선출(first in first out) RAM(FIFOR)저장 어레이와 상기 내부 채널과 상기 2이상의 외부 기억장치에 관한 상기 DMAC 수단의 동작을 규정하는 정보를 저장하기 위해 비동기부에 보존하는 DNA 제어 RAM(DMAR) 저장 어레이를 포함하는 데이터 링크 제어 장치.
- 제48항에 있어서, 상기 데이터 통신 네트워크에 관한 신호를 전송하기 위한 상기 동기부내의 개별 네트워크 인터페이스 구비하고, 상기 장치는 상기 네트워크의 통신 채널과 상기 장치의 내부 채널사이로 상기 네트워크 인터페이스에서 양방향으로 통신 데이터를 전송하며, 상기 데이터는 상기 동기부내의 각각의 상기 내부 채널에 할당된 상기 타임 슬롯과 동기하여 상기 네트워크내의 관련된 데이터 통신 채널과 상기 장치의 개별 채널에 관해 전송되고, 상기 동기부는 상기 FIFOR 어레이와 장치의 상기 네트워크 인터페이스사이에 접속되고, 상기 네트워크 인터페이스와 상기 FIFOR 어레이 사이에서 직렬로 접속된 다수의 별개로 제어된 회로단을 구비하고, 상기 단이 상기 내부 채널의 활성에 관해 상기 네트워크 인터페이스에서 상기 네트워크로부터 수신된 데이터에 관한 다단 수신 처리 파이프라인을 형성하고, 상기 수신된 데이터가 상기 네트워크 인터페이스에서 상기 FIFOR 어레이로 상기 제1의 다수의 회로내의 연속하는 단을 거쳐서 연속적으로 처리되고, 상기 데이터가 각각의 내부 채널에 할당된 프레임 타임 슬롯의 발생과 동기하여 각각의 상기 단에서 처리되고, 상기 데이터가 상기 단의 각각에서 처리되고, 상기 데이터가 상기 단의 최후에서 각각의 프레임 타임 슬롯에 전용된 상기 FIFOR 어레이내의 공간으로 라이트되며, 상기 수신 파이프라인의 각각의 단이 각각의 상기 내부 채널에 관한 각각의 상기 프레임 타임 슬롯에서 데이터의 바이트를 처리할 수 있고, 이것에 의해 활성 내부 채널과 관련된 임의의 하나의 타임 슬롯 동안 상기 파이프라인내의 모든 단은 상기 네트워크 인터페이스에서 그 채널에 할당된 FIFOR 내의 공간으로 상기 내부 채널에 관한 천이시 다수의 데이터 바이트를 동시에 처리하는 제 1의 다수의 논리회로와 상기 FIFOR 어레이와 상기 네트워트 인터페이스사이에 접속되고, 상기 네트워크 인터페이스와 상기 FIFOR 어레이사이에서 직렬로 접속된 다수의 별개로 제어된 회로단을 구비하고, 상기 다수단이 상기 내부 채널을 통하여 천이시 전송 데이터에 관한 다단 전송 처리 파이프 라인을 형성하고, 상기 전송 데이터가 각각의 내부 채널에 할당된 상기 FIFOR 어레이내의 공간에서 리드되고 제 2의 다수의 회로내의 연속하는 단을 거쳐서 처리고, 각각의 상기 단에서 선택적으로 처리되고, 상기 데이터가 각각의 내부 채널에 할당된 프레임 타임 슬롯의 발생과 동기하여 각각의 상기단에서 처리되고, 상기 데이터가 상기 네트워크 인터페이스에서 각각의 네트워크 태널에 관한 전송을 위해각 단에서 선택적으로 처리되고, 상기 파이프라인내의 각각의 단이 각각의 상기 내부 채널에 관해 각각의 상기 프레임 타임 슬롯내의 시간에서 데이터의 바이트를 처리할 수 있고, 이것에 의해, 활성 내부 채널과 관련된 임의의 하나의 타임 슬롯 동안 상기 파이프라인내의 모든 단의 FIFOR내의 각각의 공간에서 상기 네트워크 인터페이스로 상기 하나의 내부 채널에 관한 천이시 다수의 데이터 바이트를 동시에 처리하는 제 2의 다수의 논리회로를 포함하며, 상기 수신 및 전송 파이프라인내의 각각의 상기 회로단은 상기 TSR 어레이에 접속되고 각각의 단의 순간 처리 상태를 나타내는 신호를 상기 슬롯과 관련된 내부 채널에 관해 상기 TSR 어레이와 교환하고, 상기 처리 상태 신호는 연속하는 상기 타임 슬롯사이에서 전송시에 각각의 단에서 순간적으로 처리되는 통신 데이터의 상태를 나타내는 신호를 포함하고, 상기 TSR 어레이는 각각의 슬롯에 관련된 내부 채널에 관해 상기 모든 단에서 순간적으로 처리될 수 있는 최대수의 데이터 비트를 처장하기 위해 각각의 슬롯에 보존된 층분한 공간을 갖는 데이터 링크 제어 장치.
- 제49항에 있어서, 상기 네트워크 인터페이스는 임의의 슬롯 동안 X비트(X는 0∼8의 범위로 할 수 있음)의 비트직렬 버스트(bit serial burst)내의 변수의 데이터 비트(variable number of data bits)를 전송하도록 하고, 각각의 상기 파이프라인에서 각각의 회로단은 각각의 슬롯에 관해 동시에 데이터의 적어도 8비트를 처리 가능하고, 이것에 의해 임의의 슬롯 기간중에도 데이터의 3비트까지 상기 FIFOR 어레이와 네트워크 인터페이스사이의 루트에서 각각의 파이프라인으로 되어 그것에 관한 처리를 실행하며, 상기 파이프 라인은 HDLC 프로토콜하의 데이터를 처리하도록 구성된 채널에 관한 레이어 2처리 업무를 실행하며, 상기 업무는 전송 파이프 라인을 통한 그 전송동안 프레임 경계와 CRC 체크 기호(check symbols)를 전송 데이터에 삽입하고 수신파이프라인을 통한 그 전송동안 수신 데이터상의 프레임 경계 기호(frame delimiting symbols)를 트립하고(stripping) CRC 체크를 실행하는 데이터 링크 제어 장치.
- 제50항에 있어서, 각각의 슬롯중에 상기 네트워크 인터페이스에서의 상기 비트 전송은 슬롯 기간의 일부를 점유하는, 짧은 지속시간의 윈도우 기간중에(during a short duration window) 실행되는 데이터 링크 제어 장치.
- 제51항에 있어서, 전이중 채널에 관한 상기 네트워크 인터페이스에서의 상기 비트 전송은 각각의 윈도우 기간동안 시간적으로 중첩되어 동시에 실행되는 데이터 링크 제어 장치.
- 버스에 의해 접속된 어드레스 가능한 시스템 기억 장치와 호스트 프로세서를 포함하는 데이터 처리시스템으로서, 상기 버스는 다수의 장치에 접속 가능하고, 상기 호스트 프로세서, 상기 시스템 기억 장치와 상기 장치사이에서 정보를 전송하기 위해 상기 호스트 프로세서와 상기 장치에 의해 제어되고, 서브 시스템(subsystem)이 상기 다수의 장치중의 하나를 제시하고, 상기 서브 시스템이 상기 시스템 기억 장치와 다수의 주변 장치사이의 데이터 흐름을 관리하는 다수의 내부 채널을 갖고, 상기 서브 시스템은 상기 내부 채널에 관해 여러 종류의 동작을 실행하는 다수의 회로를 포함하고, 상기 다수의 회로는 상기 버스를 경유하여 상기 시스템 기억 장치에 관해 데이터 전송 동작을 지도하는 DMA 제어 회로를 포함하는 데이터 처리 시스템에 있어서, 상기 서브 시스템은 상기 서브 시스템 DMA 제어 회로와 상기 버스사이에 접속되고, 직접 액세스 모드에서 상기 시스템 기억 장치를 액세스하기 위한 버스로의 액세스가 제어될 때 상기 DMA제어 회로와 협동하여 상기 버스로의 액세스를 호환적으로(competitively) 제어하는 버스 제어 회로 수단(bus control circuit means), 상기 시스템 기억 장치내의 어드레스를 제시하는 상기 버스 제어 회로 수단으로 어드레스 신호를 공급하도록 상기 버스 제어 회로 수단에 관해 동작하는 상기 DMA 제어 회로, 상기 버스와 상기 내부 채널을 경유하여 상기 주변 장치와 상기 시스템 기억 장치사이의 천이시에 데이터를 저장하기 위해 상기 내부 채널에 할당된 그의 어드레스 가능한 저장 용량을 부분을 갖고, 상기 내부 채널에 관한 상기 서브 시스템의 순간적인 처리 상태를 규정하는 처리 상태 제어 정보를 저장하기 위해 상기 내부 채널에 관해 할당된 상기 용량의 다른 부분을 갖는 극부(local), 랜덤 액세스 기억 장치(RAM), 상기 DMA 제어 회로를 상기 국부 RAM에 결합시키며, 상기 DMA 제어 회로를 상기 내부 채널과 상기 주변 장치에 관해 비동기 방식으로 동작시키며, 또한 상기 국부 RAM과 상기 시스템 기억장치의 양쪽의 상기 내부 채널에 할당된 저장 공간사이에서 상기 내부 채널에 관한 데이터를 전송하는 수단을 데이터 링크 처리시스템.
- 제53항에 있어서, 상기 버스와 상기 국부 RAM 사이에 결합되고, 상기 호스트 프로세서가 상기 버스의 제어를 가질 때, 상기 호스트 프로세서에서 상기 국부 RAM으로 액세스의 경로를 마련하고, 상기 호스트 프로세서가 상기 별개의 상기 내부 채널에 관한 상기 국부 RAM으로 제어 정보를 라이트하며, 이것에 의해 각각의 상기 내부 채널에 관한 상기 서브 시스템의 개시 상태를 상기 회로 수단과 상기 DMA 제어 회로가 다른 상기 내부 채널에 관한 상기 시스템 기억 장치와 상기 국부 RAM 사이에서 데이터의 전송을 지도하는 슬레이브 I/O 회로 수단을 포함하는 데이터 처리 시스템.
- 제29항에 있어서, 상기 요구 큐 수단은 상기 동기부에 결합되고, 상기 요구와 관련된 내부 채널에 할당된 각각의 타임 슬롯과 동기하여 상기 비트 레지스터에 관한 요구 상태 지시(request state indications)를 제시하는 수단을 포함하고, 이것에 의해 상기 각각의 내부 채널과 관련된 상기 내부 기억장치 수단내의 저장 공간에 관해 상기 부(section)에서 발행된 동작을 위해 요구 상태의 트랙을 상기 동기부가 유지하며, 상기 동기부는 동일 공간에 관해 상기 비동기부내의 데이터 전송 동작과 상기 저장 공간에 관에 그 데이터 전송 동작을 조정할 수 있는 데이터 링크 제어 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP495810 | 1990-03-15 | ||
US07/495,810 US5121390A (en) | 1990-03-15 | 1990-03-15 | Integrated data link controller with synchronous link interface and asynchronous host processor interface |
US495,810 | 1990-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910017798A KR910017798A (ko) | 1991-11-05 |
KR960000545B1 true KR960000545B1 (ko) | 1996-01-08 |
Family
ID=23970073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910002502A KR960000545B1 (ko) | 1990-03-15 | 1991-02-13 | 데이타 링크 제어 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5121390A (ko) |
EP (1) | EP0447054B1 (ko) |
JP (1) | JPH0720148B2 (ko) |
KR (1) | KR960000545B1 (ko) |
AU (1) | AU636952B2 (ko) |
CA (1) | CA2035673C (ko) |
DE (1) | DE69130714T2 (ko) |
Families Citing this family (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5241541A (en) * | 1990-03-15 | 1993-08-31 | International Business Machines Corporation | Burst time division multiplex interface for integrated data link controller |
JP2814132B2 (ja) * | 1990-03-15 | 1998-10-22 | 株式会社日立製作所 | マルチチャネル通信処理装置 |
JPH05205005A (ja) * | 1990-03-30 | 1993-08-13 | Internatl Business Mach Corp <Ibm> | ロジック・シミュレーション・マシン用ホスト・インタフェース |
US5237693A (en) * | 1990-04-04 | 1993-08-17 | Sharp Kabushiki Kaisha | System for accessing peripheral devices connected in network |
US5461723A (en) * | 1990-04-05 | 1995-10-24 | Mit Technology Corp. | Dual channel data block transfer bus |
US5457786A (en) * | 1990-07-03 | 1995-10-10 | Texas Instruments Incorporated | Serial data interface with circular buffer |
US5388220A (en) * | 1991-03-19 | 1995-02-07 | Matsushita Electric Industrial Co., Ltd. | Parallel processing system and data transfer method which reduces bus contention by use of data relays having plurality of buffers |
US5542047A (en) * | 1991-04-23 | 1996-07-30 | Texas Instruments Incorporated | Distributed network monitoring system for monitoring node and link status |
JP2744865B2 (ja) * | 1991-04-30 | 1998-04-28 | インターナショナル・ビジネス・マシーンズ・コーポレイション | シリアルチャネルアダプタ |
US5276684A (en) * | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
US5379386A (en) * | 1991-09-05 | 1995-01-03 | International Business Machines Corp. | Micro channel interface controller |
US5444860A (en) * | 1992-02-14 | 1995-08-22 | Unisys Corporation | Translator system for message transfers between digital units operating on different message protocols and different clock rates |
US5339405A (en) * | 1992-03-30 | 1994-08-16 | International Business Machines Corporation | Command quiesce function |
WO1993023809A1 (en) * | 1992-05-15 | 1993-11-25 | Connective Strategies, Inc. | Isdn-based high speed communication system |
US5412782A (en) | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5299313A (en) * | 1992-07-28 | 1994-03-29 | 3Com Corporation | Network interface with host independent buffer management |
US5511165A (en) * | 1992-10-23 | 1996-04-23 | International Business Machines Corporation | Method and apparatus for communicating data across a bus bridge upon request |
JPH0827773B2 (ja) * | 1992-10-23 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ経路を使用可能にする方法、装置およびデータ処理システム |
KR940012937A (ko) * | 1992-11-26 | 1994-06-24 | 정용문 | 일차군 다중화장치의 시그날링 채널 데이터 송수신회로 |
JP2931490B2 (ja) * | 1992-12-18 | 1999-08-09 | 富士通株式会社 | 並列処理方式 |
DE69330399T2 (de) * | 1992-12-18 | 2002-05-02 | Advanced Micro Devices, Inc. | HDLC-Empfänger |
US5519877A (en) * | 1993-01-12 | 1996-05-21 | Matsushita Electric Industrial Co., Ltd. | Apparatus for synchronizing parallel processing among a plurality of processors |
US5631935A (en) * | 1993-05-06 | 1997-05-20 | Run-Rad Unlimited Networking, Ltd. | Method and apparatus for governing information transfer using an efficient transport protocol |
US5490134A (en) * | 1993-06-29 | 1996-02-06 | Southern California Edison Company | Versatile communications controller |
US5640399A (en) * | 1993-10-20 | 1997-06-17 | Lsi Logic Corporation | Single chip network router |
US5668809A (en) * | 1993-10-20 | 1997-09-16 | Lsi Logic Corporation | Single chip network hub with dynamic window filter |
US5446726A (en) * | 1993-10-20 | 1995-08-29 | Lsi Logic Corporation | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device |
US5708659A (en) * | 1993-10-20 | 1998-01-13 | Lsi Logic Corporation | Method for hashing in a packet network switching system |
US5802287A (en) * | 1993-10-20 | 1998-09-01 | Lsi Logic Corporation | Single chip universal protocol multi-function ATM network interface |
US5491800A (en) * | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US5555437A (en) * | 1993-12-22 | 1996-09-10 | Adaptec, Inc. | Read-write state machine in a host interface for controlling read and write operations in a disk drive |
US5812792A (en) * | 1994-07-22 | 1998-09-22 | Network Peripherals, Inc. | Use of video DRAM for memory storage in a local area network port of a switching hub |
US6175571B1 (en) | 1994-07-22 | 2001-01-16 | Network Peripherals, Inc. | Distributed memory switching hub |
US5659756A (en) * | 1995-03-31 | 1997-08-19 | International Business Machines Corporation | Method and system for providing access to logical partition information on a per resource basis |
US5802057A (en) * | 1995-12-01 | 1998-09-01 | Apple Computer, Inc. | Fly-by serial bus arbitration |
US6373846B1 (en) | 1996-03-07 | 2002-04-16 | Lsi Logic Corporation | Single chip networking device with enhanced memory access co-processor |
US5848068A (en) * | 1996-03-07 | 1998-12-08 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US6535512B1 (en) | 1996-03-07 | 2003-03-18 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5920561A (en) * | 1996-03-07 | 1999-07-06 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5982749A (en) * | 1996-03-07 | 1999-11-09 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5841772A (en) * | 1996-03-07 | 1998-11-24 | Lsi Logic Corporation | ATM communication system interconnect/termination unit |
US5983291A (en) * | 1996-09-24 | 1999-11-09 | Cirrus Logic, Inc. | System for storing each of streams of data bits corresponding from a separator thereby allowing an input port accommodating plurality of data frame sub-functions concurrently |
US6240084B1 (en) | 1996-10-10 | 2001-05-29 | Cisco Systems, Inc. | Telephony-enabled network processing device with separate TDM bus and host system backplane bus |
US6904037B2 (en) | 1996-11-05 | 2005-06-07 | Cisco Technology, Inc. | Asymmetric implementation of DSVD for voice/data internet access |
US6064660A (en) * | 1996-12-12 | 2000-05-16 | Optimay Corporation | GSM transceiver with portable protocol stack |
DE19739996C2 (de) * | 1997-04-30 | 1999-04-08 | Siemens Ag | Zeitsynchronisationseinrichtung |
US6477143B1 (en) | 1998-01-25 | 2002-11-05 | Dror Ginossar | Method and apparatus for packet network congestion avoidance and control |
US6373848B1 (en) | 1998-07-28 | 2002-04-16 | International Business Machines Corporation | Architecture for a multi-port adapter with a single media access control (MAC) |
US6345310B1 (en) | 1998-07-28 | 2002-02-05 | International Business Machines Corporation | Architecture for a multiple port adapter having a single media access control (MAC) with a single I/O port |
US6192423B1 (en) * | 1998-08-10 | 2001-02-20 | Hewlett-Packard Company | Sharing a single serial port between system remote access software and a remote management microcontroller |
US6138187A (en) * | 1998-08-21 | 2000-10-24 | International Business Machines Corporation | Method and system for increasing spatial reuse in a serial storage architecture subsystem |
US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
US6425021B1 (en) | 1998-11-16 | 2002-07-23 | Lsi Logic Corporation | System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts |
AU4492100A (en) * | 1999-04-22 | 2000-11-10 | Broadcom Corporation | Gigabit ethernet with timing offsets between the twisted pairs |
US6842459B1 (en) * | 2000-04-19 | 2005-01-11 | Serconet Ltd. | Network combining wired and non-wired segments |
JP3664050B2 (ja) * | 2000-06-28 | 2005-06-22 | 日本電気株式会社 | 接続復旧装置 |
US7031345B1 (en) | 2000-12-21 | 2006-04-18 | Cisco Technology, Inc. | Method and system for rate adaptive ISDN communication |
US6675334B2 (en) * | 2001-05-31 | 2004-01-06 | Texas Instruments Incorporated | Apparatus and method for multi-cycle memory access mapped to JTAG finite state machine with external flag for hardware emulation |
WO2003055247A2 (en) * | 2001-12-13 | 2003-07-03 | Matsushita Electric Industrial Co., Ltd. | Communications device, method and program for receiving process execution, and computer-readable recording medium having same program recorded thereon |
US7395337B2 (en) * | 2002-08-29 | 2008-07-01 | International Business Machines Corporation | Method, system, and program for establishing and requesting status on a computational resource |
US7486688B2 (en) * | 2004-03-29 | 2009-02-03 | Conexant Systems, Inc. | Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM |
US7342310B2 (en) * | 2004-05-07 | 2008-03-11 | Avago Technologies General Ip Pte Ltd | Multi-chip package with high-speed serial communications between semiconductor die |
US7793295B2 (en) * | 2004-08-26 | 2010-09-07 | Mediatek Incoropration | Setting bandwidth limiter and adjusting execution cycle of second device using one of the GBL classes selected based on priority of task from first device |
US7953907B1 (en) * | 2006-08-22 | 2011-05-31 | Marvell International Ltd. | Concurrent input/output control and integrated error management in FIFO |
US7873757B2 (en) * | 2007-02-16 | 2011-01-18 | Arm Limited | Controlling complex non-linear data transfers |
JP4478731B2 (ja) * | 2008-02-20 | 2010-06-09 | 富士通テン株式会社 | 通信装置及びゲートウェイ装置 |
US9489776B2 (en) | 2009-02-05 | 2016-11-08 | fybr | Gen II meter system |
US7683665B1 (en) | 2009-04-21 | 2010-03-23 | International Business Machines Corporation | Multiple parallel programmable finite state machines using a shared transition table |
US9000949B2 (en) * | 2009-07-10 | 2015-04-07 | Streetsmart Technology Llc | Gen II meter system with multiple processors, multiple detection sensor types, fault tolerance methods, power sharing and multiple user interface methods |
US8838544B2 (en) * | 2009-09-23 | 2014-09-16 | International Business Machines Corporation | Fast history based compression in a pipelined architecture |
TW202234861A (zh) * | 2021-02-26 | 2022-09-01 | 韓商愛思開海力士有限公司 | 用於控制器中的錯誤處理的控制方法、其記錄媒體、控制器以及儲存裝置 |
CN117312200B (zh) * | 2023-11-27 | 2024-02-02 | 沐曦集成电路(南京)有限公司 | 基于环形缓冲区的多通道数据dma系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4188665A (en) * | 1977-11-29 | 1980-02-12 | International Business Machines Corporation | Programmable communications subsystem |
US4156796A (en) * | 1977-11-29 | 1979-05-29 | International Business Machines Corporation | Programmable data processing communications multiplexer |
US4246637A (en) * | 1978-06-26 | 1981-01-20 | International Business Machines Corporation | Data processor input/output controller |
DE3070386D1 (en) * | 1980-09-26 | 1985-05-02 | Ibm | Communication line adapter for a communication controller |
DE3175351D1 (en) * | 1981-10-28 | 1986-10-23 | Ibm | Scanning device for communication lines, adapted for a communication controller |
US4777595A (en) * | 1982-05-07 | 1988-10-11 | Digital Equipment Corporation | Apparatus for transferring blocks of information from one node to a second node in a computer network |
US4577314A (en) * | 1983-03-31 | 1986-03-18 | At&T Bell Laboratories | Digital multi-customer data interface |
FR2587159B1 (fr) * | 1985-09-12 | 1987-11-13 | Coatanea Pierre | Equipements de multiplexage et demultiplexage pour liaison numerique synchrone a debit et rapiditite de modulation variables |
US4783778A (en) * | 1986-09-16 | 1988-11-08 | Gte Communication Systems Corporation | Synchronous packet manager |
US4885739A (en) * | 1987-11-13 | 1989-12-05 | Dsc Communications Corporation | Interprocessor switching network |
EP0323222A3 (en) * | 1987-12-25 | 1990-10-17 | Nec Corporation | System for sending and receiving a hdlc data frame on a time-division multiplex transmission path |
US4991133A (en) * | 1988-10-07 | 1991-02-05 | International Business Machines Corp. | Specialized communications processor for layered protocols |
US4962497A (en) * | 1989-09-21 | 1990-10-09 | At&T Bell Laboratories | Building-block architecture of a multi-node circuit-and packet-switching system |
-
1990
- 1990-03-15 US US07/495,810 patent/US5121390A/en not_active Expired - Fee Related
-
1991
- 1991-02-05 CA CA002035673A patent/CA2035673C/en not_active Expired - Fee Related
- 1991-02-05 AU AU70294/91A patent/AU636952B2/en not_active Ceased
- 1991-02-13 KR KR1019910002502A patent/KR960000545B1/ko not_active IP Right Cessation
- 1991-02-25 EP EP91301499A patent/EP0447054B1/en not_active Expired - Lifetime
- 1991-02-25 DE DE69130714T patent/DE69130714T2/de not_active Expired - Lifetime
- 1991-03-05 JP JP6242191A patent/JPH0720148B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CA2035673A1 (en) | 1991-09-16 |
AU636952B2 (en) | 1993-05-13 |
EP0447054B1 (en) | 1999-01-07 |
DE69130714T2 (de) | 1999-08-05 |
AU7029491A (en) | 1991-09-19 |
EP0447054A2 (en) | 1991-09-18 |
US5121390A (en) | 1992-06-09 |
DE69130714D1 (de) | 1999-02-18 |
CA2035673C (en) | 1994-04-19 |
JPH04220845A (ja) | 1992-08-11 |
EP0447054A3 (en) | 1995-10-25 |
KR910017798A (ko) | 1991-11-05 |
JPH0720148B2 (ja) | 1995-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960000545B1 (ko) | 데이타 링크 제어 장치 | |
EP0449420B1 (en) | Integrated data link controller with autonomous logical elements | |
US5206933A (en) | Data link controller with channels selectively allocatable to hyper channels and hyper channel data funneled through reference logical channels | |
CA2124452C (en) | Method and apparatus for processing data within stations of a communication network | |
US5838904A (en) | Random number generating apparatus for an interface unit of a carrier sense with multiple access and collision detect (CSMA/CD) ethernet data network | |
US5241541A (en) | Burst time division multiplex interface for integrated data link controller | |
US5963543A (en) | Error detection and correction apparatus for an asynchronous transfer mode (ATM) network device | |
US5668809A (en) | Single chip network hub with dynamic window filter | |
US5640399A (en) | Single chip network router | |
US5802287A (en) | Single chip universal protocol multi-function ATM network interface | |
US5604742A (en) | Communications system and method for efficient management of bandwidth in a FDDI station | |
US5247626A (en) | Fddi controller having flexible buffer management | |
JP3336816B2 (ja) | マルチメディア通信装置及び方法 | |
EP0498201A2 (en) | Generic high bandwidth adapter architecture | |
US7801131B2 (en) | Method for transmitting data in messages via a communication link of a communication system, as well as a communication module, user of a communication system, and communication system for implementing this method | |
US20100281131A1 (en) | User Interface Between a Flexray Communications Module and a Flexray User, and Method for Transmiting Message Over Such an Interface | |
JPH02150140A (ja) | 非同期高速パケツト・スイツチングのためのラベル・スイツチング及び制御インタフエース | |
GB2350756A (en) | Signal processing circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20011107 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |