KR930002787B1 - 주변 제어기와 어댑터 인터페이스 - Google Patents

주변 제어기와 어댑터 인터페이스 Download PDF

Info

Publication number
KR930002787B1
KR930002787B1 KR1019880006759A KR880006759A KR930002787B1 KR 930002787 B1 KR930002787 B1 KR 930002787B1 KR 1019880006759 A KR1019880006759 A KR 1019880006759A KR 880006759 A KR880006759 A KR 880006759A KR 930002787 B1 KR930002787 B1 KR 930002787B1
Authority
KR
South Korea
Prior art keywords
adapter
data
bus
signal
system bus
Prior art date
Application number
KR1019880006759A
Other languages
English (en)
Other versions
KR900000776A (ko
Inventor
피. 루이스 리차드
에이. 클라시카 존
엘. 카우프만 에스.
에이. 퀄 크로즈스즈토프
엘. 맥나마라 존
엠. 더글라스 아더
Original Assignee
허니웰 뷸 인코오포레이티드
루이스 피. 엘빈저
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 허니웰 뷸 인코오포레이티드, 루이스 피. 엘빈저 filed Critical 허니웰 뷸 인코오포레이티드
Publication of KR900000776A publication Critical patent/KR900000776A/ko
Application granted granted Critical
Publication of KR930002787B1 publication Critical patent/KR930002787B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

내용 없음.

Description

주변 제어기와 어댑터 인터페이스
제 1 도는 버스 아킷댁춰를 활용한 컴퓨터 시스템의 개략도.
제 2 도는 본 발명을 구현한 컴퓨터 시스템의 블록도.
제 3 도는 제 2 도의 소자들에 대한 더욱 상세화된 블록도.
제 4 도는 한 실시예 구성에 있어서 제어기와 어댑터간의 신호들을 나타내게끔 제 3 도의 제어기와 어댑터간의 접속을 도시한 도면.
제 5 도는 제 3 도의 제어기에 접속될 통상의 어댑터에 대한 개략 전기 회로도.
제 6 도는 어댑터로부터 제어기로의 상태 데이타 전송에 대한 타이밍도.
제 7 도는 제어기로부터 어댑터로의 명령 데이타 전송에 대한 타이밍도.
제8a도는 DMA 동작시에 어댑터로부터 주 메모리의 정보 전송에 대한 타이밍도.
제8b도는 제8a도의 전송에 대한 플로우 챠트.
제9a도는 DMA 동작시에 주 메모리로부터 어댑터로의 데이타 전송에 대한 타이밍도.
제9b도는 제9a도의 데이타 전송에 대한 플로우 챠트.
* 도면의 주요부분에 대한 부호의 설명
204 : 시스템 버스 209 : 범용 주변 제어기(UPC)
212 : 어댑터 301 : 마이크로프로세서(μP)
304 : 타이머 310,312.313 : 트랜시버
314,515 : 디코더 316 : 글로발 버스
324 : 시스템버스 인터페이스 350 : 시퀀스 제어기
401 : 어댑터 접속기 508,514 : 드라이브
본 발명은 시스템 버스, 시스템 버스에 접속된 주 메모리 및 시스템 버스에 접속된 복수의 주변 디바이스를 갖는 컴퓨터 시스템에 관한 것이다.
많은 데이타 처리 시스템에 있어서, 복수의 유니트가 시스템에 함께 연결되도록 공통 버스가 사용되는데, 시스템에 연결된 임의의 두 유니트는 이 버스에 의해 서로 정보를 교신하거나 전송하게 된다.
통상적으로, 버스 사이클 동안 버스에 대한 요구(request)를 행함으로써 임의의 유니트에 의해 통신이 이루어진다. 그 버스 사이클이 허용될 경우, 요구하는 유니트는 마스터가 되고 슬레이브로서 그 버스에 연결된 어느 다른 유니트를 어드레스할 수 있다.
슬레이브로부터의 판독 메모리 전송과 같은 슬레이브 유니트로붙 응답을 요구하는 전송에서 응답 사이클이 요구된다. 이 경우, 마스터는 응답이 요구되는 것을 나타내고 자신을 슬레이브에 대해 식별한다. 요구된 정보가 유효하게될 경우, 슬레이브 마스터의 역할을 취하여 요구 유니트로 정보 전송을 개시한다. 따라서, 그러한 상호 교환으로 2 버스 사이클이 요구된다.
슬레이브가 응답하는데 걸리는 시간 동안, 다른 유니트들은 임의의 다른 유니트 교신하게끔 버스를 사용할 수 있으며, 이 다른 유니트는 상기 마스터-슬레이브 유니트들을 포함하지 않는다. 두 유니트가 버스로부터 동시서비스를 요구할 경우, 버스에 직접 연결된 각 유니트에는 타이-브레킹(tie-breaking)논리가 포함될 수 있다.
제 1 도에는 공통 버스를 활용하는 통상의 데이타 처리 시스템이 도시되어 있으며, 도시된 바와같이 보통 다중 라인을 구비하는 버스(100)는 메모리 기억 유니트(102)에 연결된다. 메모리 기억 유니트는 각각 버스와 교신하는 다수의 메모리 기억 유니트를 구비할 수 있다. 또한 이 데이타 처리 시스템에는 과학-연산 유니트(108) 및 3개의 제어기, 즉 기본 디바이스 제어기(110), 통신 제어기(112) 및 대용량 기억 장치/자기 테이프 제어기(114)가 접속된다. 기본 제어기(110)는 결합되어 다중 유니트 레코드 주변 디바이스(216-1, 216-2)가 버스(100)에 대해 액세스하도록 버스에 연결된다. 이러한 방식으로 기본 제어기를 사용함유니트로써, 각 유니트를 레코드 주변 디바이스가 버스에 대해 직접 액세스할 경우 발생할 수 있는 버스에 대한 과대한 요구를 피할 수 있게 된다.
마찬가지로, 통신 제어기(112)는 모뎀 디바이스를 개재하여 통신을 제어하도록 사용되고, 대용량 기억장치/자기 테이프 제어기(114)는 테이프 주변 디아비스(118)나 디스크 주변 디바이스(120)와 같은 대용량 기억 디바이스를 제어하게끔 사용되며, 버스(100)와 교신한다.
상기 디바이스들에 부가하여, 버스 사이클을 제어하고 버스를 통하여 전송되는 데이타를 조절하기 위한 중앙 프로세서(106)가 버스에 접속된다.
따라서, 버스(100)에 연결된 이들 디바이스중 어느 하나가 버스(100)에 접속된 어느 다른 유니트를 어드레스 하거나 그 유니트와 교신할 수 있다. 예를들면, 테이프 주변 디바이스(118)는 제어기(114)에 의해 메모리 기억 유니트(102)를 어드레스할 수 있다.
적당한 유니트가 마스터 유니트에 의해 어드레스되는 것을 보장하기 위해, 메모리 방식 처리 소자들을 제외하고는 시스템내의 매 종점마다 채널 번호가 존재한다. 이러한 경우, 채널 번호는 종점을 식별하는 메모리 어드레스를 따라서 각 디바이스에 할당된다. 전이중 디바이스와 같은 몇면 디바이스는 2개의 채널 번호를 활용한다. 단일 입력 또는 단일 출력 디바이스와 같은 다른 디바이스는 각각 하나의 채널만을 사용한다. 다중 입력 및 출력 포트를 갖는 유니트들은 상이한 포트들을 구별하게끔 연속 채널 번호들의 블록을 필요로 한다.
그러한 시스템에서는, 버스를 액세스하기 위해 상이한 우선 순위가 설정된다. 예를들어, 주변 디바이스가 제어기를 통하여 버스에 대해 액세스할 경우, 이 제어기에 접속된 다른 모든 주변 디바이스는 록아웃 되거나 버스에 대해 액세스를 거부한다.
상기 방식의 버스 시스템에 관한 추가의 세부 사항은 다음과 같은 미합중국 특허에 기재되어 있으며, 이 참조된 특허들은 Honeywell사에 특허가 허여된 버스 시스템에 관한 것이다.
(a) 1976년 12월 14일자로 허여된 Frank V. Cassarino, Jr. 등에 의한 "Data Processing system Providing Split-BusCycle Operation"이라는 제하의 미합중국 특허 제 3, 997, 896호.
(b) 1976년 12월 28일자로 허여된 George J. Barlow등에 의한 "Data Processing System Providing Locked Operation of Shared Resources"라는 제하의 미합중국 특허 제4, 000, 485호.
(c) 1977년 6월 14일자로 허여된 George J. Barlow에 의한"Data Processing System Having Distrivuted Priority Network"라는 제하의 미합중국 특허 제 4, 030, 075호.
(d) 1978년 6월 20일자로 허여된 George J. Barlow에 의한"Data Processing System Having Distrivuted Priority Network with Logic for Deactivatiog Information Transfer Requests"라는 제하의 미합중국 특허 제4, 096, 569호.
(e) 1976년 11월 23일자로 허여된 Farnk V. Cassarino, Jr. 등에 의한 "Apparatus for Processing Data Transfer Requests in a Data Processing System"이라는 제하의 미합중국 특허 제3, 993, 981호.
(f) 1976년 11월 30일자로 허여된 George J. Barlow 에 대한 "Data Processing System Haviing a Data Integrity Technique"라는 제하의 미합중국 특허 제3, 995, 258호.
본 발명은 시스템 버스, 시스템 버스에 접속된 주 메모리 및 시스템 버스에 접속된 복수의 주변 디바이스를 갖는 컴퓨터 시스템에 관한 것이다. 이 시스템은 직접 메모리 액세스 동작시에 복수의 주변 디바이스 각각과 주메모리간에 데이타를 전송하기 위해 버스에 접속된 제어기를 아울러 포함한다.
각 주변 디바이스와 제어기 사이에는 버퍼 메모리는 갖는 어댑터가 연결된다.
제어기는 복수의 어댑터 각각으로부터의 요구 신호에 응답하여 주 메모리와 요구를 행하는 어댑터간에 한정된 양의 데이타에 대한 직접 메모리 액세스 전송을 위해 각각의 DMA(직접 메모리 액세스) 요구를 발생시키는 시퀀스(sequenecer)를 포함한다. 각 어댑터는 그것의 버퍼 메모리가 한정된 양의 데이타에 대한 DMA 전송을 서비스하게끔 준비될 경우에만 요구 신호(DPPCLX)를 발생시킨다.
또한, 각 어댑터는 DMA 요구가 행해지는 경우 이외에는 제어기와 어댑터간의 데이타의 비 DMA 전송에 대한 제어 신호를 수신할 수 있다. 아울러, 어댑터는 제어신호에 응답하여 DMA 전송에 대해 자신을 조절하도록 한다.
개시중에, 어댑터의 리셋후, 어댑터는 개시 셋엇 제어 신호가 수신될 경우 그것에 접속된 디바이스를 식별하기 위한 식별 코드를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
본 발명에 따라서, 범용 주변 제어기(UPC)(209)가 제공된다. UPC는 다른 제어 디바이스를 필요로함이 없이 상이한 방식의 주변 디바이스들을 제어할 수 있다. 제 2 도에 도시됨 바와같이, UPC(209)는 데이타 버스(207a) 및 어드레스 버스(207b)에 의해 시스템 버스(204)에 연결된다. UPC는 시스템 버스(204)에 연결된 다른 디바이스 보다 상위인 우선순위 상태를 수신하기 위해 시스템 버스(204)를 따라서 연결될 것이다. 데이타 버스(207a)는 16 이나 32 비트 폭일 수 있으며, 어드레스 버스(207b)는 24 나 32 비트 폭일 수 있다. 그러한 인터페이스 어셈블리에 의해 UPC를 통하여 시스템 버스에 연결된 임의의 주변 디바이스로/로부터 통신이 이루어질 수 있다.
UPC(209)는 4개의 주변 어댑터(212A-D)와 인터페이스할 수 있으며, 각 어댑터는 하나 이상의 채널을 갖는다. 총 8개 까지의 논리 채널은 각 UPC를 통하여 액세스 가능하다. 어댑터(212)에 연결될 수 있는 통상의 주변 디바이스는 도시된 바와같이 테이프 주변 디바이스(213), 디스크 주변 디바이스(214) 및 유니트 레코트 주변 디바이스(215)를 포함한다. 적당한 데이타를 동기화 및 에러 검출을 보장하기 위해 각 어댑터는 데이타 기억용 버퍼를 제공한다.
범용 주변 제어기(209)에 대한 더욱 상세화된 블록도가 제 3 도에 도시되어 있다. 상용가능한 Motorola68000형 마이크로프로세소(301)는 내부 데이타 버스(325) 및 어드레스 버스(326)에 연결된다. 데이타 버스(325)에는, 상용 가능한 프로그램 가능 판독 전용 메모리(PROM)(302), 상용 가능한 다이나믹 랜덤 액세스 메모리(DRAM)(303) 및 사용자 명령(MY COMMAND) 레지스터(315)가 연결된다. DRAM(303)은 최소 64K 워드에 대한 기억 용량을 가질 수 있으며, 그안에 기억된 정보를 리프레시하게끔 랜덤 논리 구성으로 제공된다. PROM(302), DRAM(303) 뿐만아니라 상용 가능한 제어 디코더(314)가 어드레스 버스(326)에 연결된다.
데이타 버스(325)에는 상용가능한 타이머(304)가 연결되어 세가지 기능을 제공한다. 타이머(304)의 제 1 기능은 글로발(global) 버스(316)(이하 설명됨)의 요구에 대한 응답을 검출하는 것이다. 요구에 대한 응답이 없을 경우, 타이머(304)는 마이크로프로세서(301)에 통지한다. 버스 타이머(304)의 기능은 실행되는 명령이 소정의 값보다 더 오래 걸리는 지의 여부를 결정하고 그 명령에 대한 실행을 포기(abrot)해야 하는지의 여부를 결정하는 것이다. 끝으로, 버스 타이머(304)의 제 3 기능은 소정 기간보다 더 오래 걸리는 DMA 요구 사이클이 있는지의 여부를 결정하고 그러한 경우가 존재할 경우 그 DMA 사이클을 포기하는 것이다(이하 상세히 설명됨).
글보발 버스(316)는 상용 가능한 트랜시버(313)에 의해 데이타 버스(325) 및 어드레서 버스(326)에 연결된다. 글로발 버스(316)는 시스템 버스(204)의 인터페이스(324)에 번갈아 연결된다. 시스템 버스 인터페이스(324)내에는 시스템 버스로부터 데이타를 수신하기 위한 명령 레지스터(352)가 있으며, 이들 각각은 패리티 비트 P를 포함하는 9비트를 갖는다. 레지스터(352)는 제어 레지스터 I, 데이타 레지스터 A, B, C, D 및 어드레스 레지스터 E, F, G, H를 구비한다. 또한 상용 가능한 트랜시버(353)가 시스템 버스 인터페이스(324)내에 포함된다. 글로발 버스(316)는 상용가능한 트랜시버(310)를 개재하여 제 2 조의 어댑터(212)에 또한 연결된다.
글로발 버스(316)에는 사용자 어드레스(MY ADDRESS) 레지스터(319) 및 사용자 데이타(MY DATA) 레지스터(321)가 연결된다. 사용자 데이타 레지스터(321)는 패리티 비트를 포함하는 9비트 쪽의 바이트 A, B, C, D를 갖는다.
사용자 어드레스 레지스터(319)도 마찬가지로 패리티 비트를 포함하는 9비트 폭의 4 바이트 E, F, G, H를 갖는다. 사용자 데이타 및 사용자 어드레스 레지스터의 바이트 A 내지 D 및 E 내지 H는 각각 명령 데이타 및 어드레스 레지스터(352A-H)에 대응한다. 또한, 글로발 어드레스 및 데이타 버스(316)에는 트랜시버(312)를 개재하여 2개의 상용 가능한 DMA 칩(305, 306)이 연결된다.
주변 제어기(209)의 기본적인 특성은 어댑터(212A-D)에 부착된 디바이스와 시스템 버스(324)에 접속된 시스템 메모리를 포함하는 다른 유니트간의 경로를 마이크로프로세서로 하여금 셋업시키게 하는 것이다. 일단 마이크로프로세서(301)가 주어진 주변 디바이스와 시스템 메모리간의 통신링크를 셋업시켰을 경우, 마이크로프로세서는 그 디바이스와 관련된 DMA 디바이스(305, 306)중 하나로의 전송을 관리하는 태스크를 넘겨준다. 여러가지 어댑터로부터 글로발버스로의 액세스는 라운드 로빈(round-robin) 방식으로 제어된다. DMA 칩(305, 306)에 대한 데이타 전송의 범위 및 어드레스는 트랜시버(312, 313) 및 글로발 버스(316)를 개재하여 마이크로프로세서에 의해서 공급된다.
시스템 버스를 개재한 통상의 서비스 요구 및 칩 제어기 시퀀서 시스템에 의한 그에 뒤이은 응답은 다음과 같은 방식으로 수행될 수 있다.
시스템의 채널 번호를 식별하는 다중 DMA 제어기 시스템(이하 설명됨)에 의해 요구가 수신될 경우, 시스템 버스(324)에 연결된 태스크 디코더(351)에 그 정보가 기억된다. 이 요구에 대한 데이타 및 어드레스는 사용자 데이타 레지스터(321) 및 사용자 어드레스 레지스터(319)에 기억된다. 태스크 디코더(351)는 이 새로운 요구가 서비스될 특정 포트/채널을 결정한다. 이어서, 마이크로프로세서(301)는 그 요구에 의해 식별된 특정 채널이 유효한지의 여부를 결정하고, 특정 어댑터에 대해 요구가 수신되었다는 것을 램웨어(RAMWARE) 수단(도시 생략)에 신호한다(램웨어 수단은 John Klashka 등에 의해 발명되고 본 발명과 동일한 양수인에게 양도된"Universal Peripheral Controller Self-Configurationg/Bottloatdable Reamware"라는 제하의 1986년 10월 31일자로 출원된 번호 제925, 431호(특허 번호 제4, 803, 623호)의 주제이다). 이어서, 마이크로 프로세서(301)는 그 요구를 처리할 특정 DMA 칩(305) 또는 (306)과 연결되고, 개시 어드레스, 범위 어드레스 뿐만아니라 다른 파라미터와 같은 그 칩 요구할 파라미터를 셋업시킨다.
어댑터가 16데이타 및 2패리티 비스 폭인 워드를 액세스할 수 있는 경우, 전송시에 포함된 특정 어댑터는 트랜시버(310)에 의해 내부 버스(327)상에 실리는 요구를 행한다. 이 요구는 글로발 버스(316)에 액세스를 부여하는 시퀀스 제어기(350)(이하 상세히 설명됨)에 의해 수신된다. 이어서, DMA 칩은 메모리내의 특정위치와 어댑터의 버퍼 메모리간에 정보를 전송할 준비가 되었다는 것을 시스템 버스 메모리(202)(제 2 도에 도시됨)에 통지한다.
메모리내의 특정 위치로부터 요구된 정보는 시스템 버스 인터페이스(324)에 인가되고 글로발 버스(316)에 이용가능하게 된다. 상술된 바와같이, 시스템 버스 인터페이스(324)상에서 이용 가능한 정보는 4 바이트까지 폭이다. 이들 4 바이트는 2 워드 전송으로 된다. 어댑터가 한 바이트만을 액세스할 수 있는 경우에, 4분리 전송 동작 DMA 칩(305) 또는 (306), 사용자 레지스터(319, 321), 글로발 데이타 및 어드레스 버스(316) 및 트랜시버(310)에 의해 요구된다.
시퀀스(350)의 목적은 최상위 우선순위를 갖는 유니트에 글로발 버스를 허용하는 것보다 라운드-로빈 방식으로 어댑터 모두에 대한 글로발 버스에 동일 액세스를 제공하는 것이며, 하위 우선순위 유니트가 상당한 기간의 시간 동안 글로발 버스(316)를 액세스하지못하게 할 수 있다.
시퀀스(350)는 그것으로/으로부터 전송되는 정보가 있는지의 여부를 결정하게끔 제 1 어댑터(212A)를 먼저 검사하거나 폴링함으로써 글로발 버스(316)에 라운드-로빈 액세스를 공급한다. 제 1 어댑터(212A)로/로부터 전송되는 정보가 있을 경우, 글로발 버스(316)에 대한 액세스가 그것에 부여된다.
바람직하기로는, 4바이트까지 어댑터로/로부터 전송되게끔 허용된다. 이어서, 시퀀스 제어기(350)는 후속 어댑터(212B)로 진행하여 그것이 서비스에 대한 요구를 가졌는지의 여부를 결정한다. 서비스에 대한 요구를 가졌을 경우, 그것은 제 1 어댑터(212A)와 유사한 방식으로 서비스될 것이다. 이 어댑터에 전송될 정보가 없을 경우, 시퀀스는 모든 어댑터가 서비스 요구에 대해 검사된 후 한번에 4바이트까지 서비스될 때까지 후속 어댑터로 진행한다.
시퀀스에서의 최종 어댑터가 검사된 후, 시퀀스(350)는 제 1 어댑터(212a)로 복귀한다. 따라서, 각 어댑터는 라운드-로빈 방식으로 서비스된다.
마이크로프로세서에 전용되는 시퀀스는 각 어댑터를 서비스하기 위한 라운드-로빈 시퀀스상으로 통합된다. 바람직하기로는, 마이크로프로세서는 연속 어댑터를 사이에서 서비스된다. 마이크로프로세서(301)에 글로발 버스(316)에 대한 액세스를 제공함으로써, 마이크로프로세서(301)가 다른 주변 디바이스, 즉 UPC(209)에 대한 내부 또는 외부 디바이스로부터 기대되거나 요구하지 않은 인터럽트를 서비스하게 된다.
시퀀스에 대한 세부 사항을 본 출원과 동시에 출원된 John Klashka 등에 의한 "Bus Activity Sequence Controller"라는 제하의 출원에 마련되어 있다.
제 4 도는 부착된 어댑터(212), 마이크로 프로세서(301) 및 DMAC(305, 306) 간의 물리적 인터페이스인 어댑터 접속기(401)를 도시하고 있다. 어댑터 인터페이스(401)는 DMA칩 어댑터의 버퍼 및 컴퓨터 시스템의 주 메모리간의 "핸드 세이킹"에 필요한 어댑터로의 접속을 제공한다. 또한, 인터페이스(401)는 어댑터에 접속된 특정 주변 디바이스에 대한 특정 명령 세트를 수시하기 위해 어댑터르 셋업시킬 명령 신호에 대한 접속을 제공하기 위해 응답할 수 있다.
예를들어, 프린터용 프로토콜과 비교할때 상이한 프로토콜이 테이프가 서비스될 경우 요구된다.
마이크로프로세서(301)는 DRMA(303)에서 각 주변 디바이스와 교신하기 위해 요구된 명령 세트 정보를 제공하는 디바이스 명세 파일(specific file)을 유지한다. 그 파일은 시스템의 초기 개시시에 주 메모리로부터 DRAM(303)으로 로드된다. 개시시에, 마이크로프로세서(301)는 이하 설명되는 바와같이 어댑터로부터 식별자 바이트를 판독하고, 그 식별자를 특정 포트와 관련된 스크래치 패드 메모리에 기억시킨다.
주 메모리로부터 어댑터로 데이타 전송이 있을 경우, 시스템 버스를통하여 마이크로프로세서로 명령이 송출된다. 이어서 마이크로프로세서는 어댑터 인터페이스에 의해 그 어댑터로 제어 정보를 송출하여 그것을 그 데이타를 수시하게금 셋업시킨다. 또한, 마이크로프로세서는 특정 포트와 관련된 DMAC 채널로 제어 파라미터를 송출한다.
제 4 도의 어댑터 인터페이스(401)에서는 마이크로프로세서(301)로부터 제어정보를 전송하게끔 제어 라인 그룹이 지정된다. 몇가지 마이크로프로세서 제어 신호들은 분리 버퍼링을 통하여 마이크로프로세서로부터 직접 도래하는 일반적 제어 라인인데, 즉 판독/기입 라인 DMREAD 상위 데이타 스트로브 라인 DM.UDS 하위 데이타 스트로브 라인 DM〉LDS, 인터럽트 요구 라인 DIREQX, 마이크로프로세서 인터럽트 인식 라인 DIACKX 및 데이타 전송 핸드 세이크 라인 DDTACK이다. 신호명중 X는 4개의 가능한 어댑터 0, 1, 2 또는 3중 하나를 지정하고자 의도된 것이다. X가 없는 모든 신호는 4개의 어댑터에의해 분할된다.
신호의 논리 상태에 따라서 판독/기입 라인 DMREAD는 수행될 동작 형태가 어댑터로부터의 뎅타 판독인지 아니면 그것으로의 데이타 기입인지의 여부를 결정한다.
상위 및 하위 스트로브 라인 DM.UDS 및 DM.LDS는 어스터(assert)될 경우, 데이타 라인상의 데이타워드(16비트+패리티 비트)의 상위나 하위 비트데이타가 휴효한지의 여부를 결정하게끔 사용된다. 달리 말하면, 하위 데이타 스트로브 라인상의 신호가 논리 "참"일 경우, 데이타 0-7+패리티 비트가 유효하다. 상위 데이타 스트로브 신호가 "참"일 경우, 비트 8-15+패리티 비트가 유효하다. 따라서, 인터페이스를 통하여 패리트 비트와 함께 8 또는 16비트를 전송하는 것이 허용될 수 있다.
요구 라인 DIREQX가 어서트될 경우, 어댑터는 마이크로프로세서의 정상 흐름을 인터럽트하고 예외 처리기를 호출한다. 예외 처리기는 UPC(209)로부터의 데이타 전송을 요구하는 것과 같은 특별한 경우의 처리를 허용한다.
마이크로 프로세서 인식 라인 DIACKK는 어댑터 인터럽트 신호가 마이크로 프로세서(301)에 의해 인식되었다는 것을 어댑터에게 알리는 핸드 세이크 라인이다. 데이타 핸드 세이크 라인 DDTACK는 어댑터가 그 어댑터에 송달된 데이타가 기입 사이클 동안 취해졌거나 어댑터로부터의 데이타가 판독 사이클 동안 유효할 경우 어서트하는 라인이다. 근본적으로, 이 라인은 정보가 직접 수신되었거나 전송되었다는 것을 인식한다. 이 라인은 명령 사이클을 종료하는데 요구되며, 또한 DMA 동작중에 DMAC에 의해 사용되지만 UPC에 의해 어스트된다.
다른 마이크로 프로세서 제어 라인들은 마이크로 프로세서 (301)로부터 공급된 신호들을 사용하여 제어 디코드 논리부(314)에 의해 유도된다. 이들 마이크로프로세서 제어 신호들은 네가지 구별 제어 신호 DMCTLI-XO, DMCTL2-XO, EMABLX-10, ENABLX-00, 마스크 클리어 라인 DMCLRX 및 클럭라인 8.0MHz를 포함한다. 네가지 구별 제어 라인은 마이크로프로세서(301)로부터의 24비트 어드레스 라인들을 인코딩함으로서 발생된다. 24어드레스 라인들을 4개의 구별 제어 라인으로 감소시키는 이점을 인터페이스(401)에서 더 적은 리드가 요구되고 각 어댑터에서 24어드레스 라인들을 디코딩하는데 요구된 공간이 세이브된다는 점이다.
4개의 제어 라인 ENABLX-00, ENABLX-10, DMCTL1M DMCTL2로 여러 조합의 제어 기능이 어댑터 인터페이스(401)에서 발생될 수 있다. 시스템은 어댑터 인터페이스(401)에서 발생된 이들 제어 기능중 6가지를 인식한다. 어댑터 설계자는 어댑터에 대한 기입이나 판독을 행하게끔 데이타 라인 DMDTXX와 관련하여 6가지 제거 기능중 어느 하나를 수행할 필요가 없어진다. 예를 들어, 포트 A0에서의 어댑터(212A)(제2 도)로 명령 바이트가 송출될 경우, 6가지 제어 신호중 하나가 데이타 라인 DMDTXX상의 신호들의 특정 데이타 조합으로 어서트될 수 있다. 잇달아, 그 조합된 신호들은 테이프 판독 동작과 같은 동작을 수행하게끔 어댑터를 프라임할 것이다. 따라서, 제어 라인들은 어댑터에서의 특정 기능을 수행할 데이타 라인과 관련하여 사용된다. 그러나, 그 제어 기능에 의해 수행된 실제 기능은 주어진 어댑터에 대한 설계상의 선택문제일 수 있다. 달리 말하면, 설계자는 주변 디바이스를 제어하기 위한 6가지 사용 가능한 제어 기능이 수행되는 방법을 선택할 수 있다.
마스터 클리어 라인 DMCLRX 는 논리부(314)(제 3 도)에 의해 유도된 또 다른 제어 라인이며 리셋 펄스를 공급하기 위해 사용된다. 리셋 펄스가 어서트될 경우, 어댑터는 자신을 초기 설정하게 되고 알려진 상태로 진행한다.
클럭 라인 8.0MHz는 시스템과 어댑터의 동기 동작을 허용하는 버퍼링된 클럭 신호를 공급한다. 바람직하기로는, 클럭 신호를 구동하는 클럭은 전체 UPC 시스템을 구동하는 클럭과 동일한 주파수인 8 메가헤르쯔 클럭이다.
일단 DMAC가 데이타를 전송하게끔 조절될 경우, DMAC로부터의 제어 라인들을 결합시키기 위해 제 2 그룹의 입력들이 전송을 실행하기 위한 어댑터로 신호들을 공급하게끔 어댑터 인터페이스에서 제공된다. DMAC와 관련된 제어라인들은 판독/기입 라인 DMREAD, 상위 및 하위 스트로브 라인 DM.UDS와 DM.LDS 및 핸드 세이크 라인 DDTACK를 포함한다. 이들 라인은 DMAC 및 마이크로프로세서에 직접 연결되는데, 그 동작은 상술되어 있다. 따른 DMAC 제어 라인들은 요구 제어 라인 REQXX, 인식 라인 DPACKK, 요구 라인 DPPCLX, 데이타 사이클 라인 DM.DTC 및 최종 데이타 DMAC 제어 라인 DONEAB를 포함한다.
어댑터가 마이크로프로세서(301)가 (제 3 도)에 의해 조절된 후 데이타를 수신하게끔 준비된 경우에, 어댑터는 요구 라인 DPPCLX를 어서트한다. 잇달아, 인식 라인 DPACK가 DMAC로부터 어댑터로 어서트되어 글로발 버스에 대한 그것의 요구가 인식되었다는 것을 그것에 알린다. 시퀀서(350)를 통하여 UPC에 의해 요구가 부여될 경우, 요구 라인 REQXX는 어서트되어 글로발 버스에 대한 액세스가 허용되었다는 것을 어댑터에 지시한다. 또한, UPC는 핸드 세이크 라인 DDTACK를 DMAC로 어서트하여 사이클이 그 지점까지 완료되는 것을 인식함으로써 그 요구에 응답한다. 이어서, DMAC는 데이타 스트로브 라인 DM.UDS 및 DM.LDS를 어서트하여 데이타 바이트가 주 메모리로부터의 데이타 전송 시간 동안 유효하다는 것을 어댑터에 알린다. 이 사이클의 종료시에, DMAC는 데이타 사이클 라인 DM.DTC를 어서트하여 데이타 전송이 그 데이타 시퀀스 (1-4바이트)에 대해 종료되는 것을 어댑터에 알린다. 어댑터로부터 데이타가 전송될 경우 유사한 설계 규조가 사용될 수 있다.
각 전송이 수행될 때, DMAC는 그것의 어드레스를 증분하거 그것의 범위를 감분하여 전송된 데이타 양의 트랙을 유지한다. 데이타 전송 범위를 더 써버렸을 경우, DMAC 제어 라인 DONEAB는 어서트되어 전송이 종료되는 것을 어댑터에게 알린다. 또한, 주변 디바이스의 기억 레코드 크기가 그로부터 전송된 범위보다 작은 경우이기 때문에 전송이 완료되는 것을 결정할 경우 어댑터에 의해 어서트될 수 있다. 따라서, 이 제어는 양방향 제어이다.
최종 DMA 제어 신호는 메모리 홀수 정지 라인 ODSTOP이다. 메모리 홀수 정지 라인 ODSTOP는 워드 전송에 사용하기 위해 어댑터에 의해 발생되어, 이 특정 전송이 종료될 때 오직 1바이트만 데이타가 유효하다는 것을 UPC(209)에 지시한다.
데이타 접속부, 즉 데이타 라인 DMDTTX는 글로발 버스에 직접 접속되며, 마이크로프로세서에 연결된 트랜시버(313)나 메가버스 레지스터에 직접 접속될 수 있다.
제 5 도에서 GCR 테이프 기억 유니트를 제어하기 위해 설계된 어댑터가 도시되어 있다. 임의의 어댑터의 설계는 특정 주변 유니트를 제어하는 기능을 갖는 것을 주지해야 한다. 어댑터 설계자는 범용 주변 제어기와의 통신을 위해 성립된 프로토콜과 주변 디바이스의 필요 조건을 고려한다. 설계자는 어댑터와의 통신을 처리하기 위해 DRAM(303)으로 로드될 램웨어와 관련하여 어댑터의 하드웨어를 설계한다.
제 5 도에 도시된 특정 어댑터는 UPC와 디바이스 간의 전송에 대한 명령을 유지하기 위한, 그리고 어댑터의 제어에 대한 내부 명령을 유지하고 UPC와 디바이스 간에 정보될 데이타를 유지하기 위한 일련의 레지스터를 포함한다. 어댑터는 아울러 전송의 전송을 제어하기 위한 논리부를 포함한다. UPC와 주변 디바이스간의 데이타 전송을 버퍼링하기 위해 선입선출(FIFO) 디바이스가 또한 제공된다. 어댑터의 이러한 소자들은 이하 상세히 설명될 것이다.
트랜시버(502)를 통하여 UPC로 명령 및 데이타 정보가 전송된다. 통상적으로, 명령 정보는 시퀀스 제어기(350)의 MPU사이클 동안 전송되고, 명령 레지스터(504), 내부 제어 레지스터(536), 또는 개시 플립-플롭(505)과 같은 플립-플롭에 기억된다. 통상적으로, DMA 동작 기간중에 데이타가 데이타 레지스터(506)로 전송되지만, 그러나 데이타는 CPU 사이클 동안 전송될 수 있다. 명령 레지스터(504)내에 기억된 명령은 드라이버(508)을 통하여 주변 디바이스로 전송될 수 있다. 그러나, 레지스터(506)내의 데이타는 먼저 FIFO(510)를 통과한 후 기입 레지스터(512)로 래치되고 드라이버(514)를 통하여 주변 디바이스로 향한다. FIFO에 의해, 주변 디바이스가 데이타를 수신할 수 있는 것보다 더 빠른 속도로 DMA 동작 기간중에 데이타가 수신된다.
MPU 사이클 동안, 레지스터(504, 536, 506)안으로의 명령 또는 데이타의 래칭은 제 5 도의 상부에 도시된 논리부를 통하여 제어된다. 디코더 회로(515)는 두가지 제어 신호 DMCTL1, DMCTL2 및 두가지 인에이블 신호 ENABL1, ENABLE1를 수신하여 이들 신호를 6가지 내부 명령 신호중 하나로 디코드한다. 명령 레지스터를 래칭함에 있어서, 예컨대 내부 제어 신호들중 하나인 CMSTEN이 상위 데이타 스트로브와 함께 AND 게이트(516)에 인가된다. 그 AND 게이트의 출력은 방향 신호 DIRECT와 함께 제 2 AND 게이트(518)에 인가되어 명령 레지스터로 클럭을 발생시킨다. 방향 신호는 데이타가 CPU로부터 어댑터로 전송되거나 이것과 반대 방향으로 전송되는지의 여부를 나타낸다. DIRECT 신호는 배타적 OR 게이트(520)의 출력이며, 이 배타적 OR 게이트(520)는 그것의 입력으로서 UPC로부터의 DMREAD 신호 및 OR 게이트(522)로부터의 신호를 수신하고, OR 게이트(522)로부터의 신호는 첫번째 네가지 내부 제어 신호들중 어느 신호가 디코더(515)에 의해 발생될 때 "참"이 된다. 이 방향 신호는 또한 트랜시버(502)에 인가되어 트랜시버를 수신기나 송신기로서 동작시킨다.
따라서, UPC로부터 어댑터로의 명령 데이타 전송은 제 7 도의 타이밍도로 도시된 바와같다. 어댑터에 대한 제어 및 인에이블 입력들과 DMREAD 입력은 UPC의 MPU(301)에 의한 특정 동작을 위해 세트된다. 예를들어, 명령 레지스터(504)로의 전송을 위해 제어 신호 CMSTEN이 준비된다. 따라서 트랜시버(502)의 방향이 게이트(522, 520)를 통하여 세트된다. 또한, 트랜시버(502)는 OR 게이트(522)의 출력에 의해 인에이블되며, 따라서 글로발 버스로부터 트랜시버(502)에 대한 입력상의 데이타가 명령 레지스터(504)에 대한 입력에서 사용 가능하게 된다. 이어서, 데이타 스트로브와 함께 명령 레지스터 게이트(516, 518)를 통하여 클럭된다. 데이타 스트로브는 또한 OR게이트(522)의 출력과 함께 OR 게이트(524)에 인가되어, UPC로 복귀되는 인식 신호 DTACK를 발생시킨다.
마이크로프로세서(301)의 사이클 동안, 마이크로프로세서는 제 6 도에서 도시된 동작으로 주변 디바이스로부터 상태 정보와 같은 정보를 얻을 수 있다. 이것은 멀티플렉서(534)에 의해 수행되며, 멀티플랙서(534)는 그것의 입력으로서 8바이트의 정보를 갖고 이들 각 정보는 내부 제어 레지스터(536)로부터의 입력 STATS에 의해 선택 가능하다. 최소 1바이트의 상태 정보가 수신기(542)를 통하여 주변 디바이스로부터 멀티플랙서로 인가된다. 멀티플랙서(534)에 인가될 선택 신호 STATS는 먼저 마이크로프로세서(301)에 의해 내부 제어 레지스터(536)으로 로드된다. 이를 위하여 마이크로프로세서는 제어 신호 DMCTL 및 ENABL을 어서트하여 제어 신호 FRMCNT를 발생시킨다. 제어 신호 FRMCNT는 OR 게이트(522)를 통과하여 DMREAD 신호와 함께 배타적 OR 게이트(520)에 인가된다. 배타적 OR 게이트(520)의 출력은 어댑터가 데이타를 수신할 수 있게끔 트랜시버(502)의 방향을 세트시킨다. OR 게이트(522)로부터의 신호 ADPSTR이 또한 OR 게이트(523)를 통과하여 트랜시버를 인에이블시킨다. 따라서, 라인 DMDTTX상에서 사용 가능하게 된 데이타가 라인 DTBUS 상의 내부 제어 레지스터(536)의 입력에서 사용 가능하다. 다음에, 상위 데이타 스트로브상에서 제어 신호 FRMCNT는 AND 게이트(538)를 통과하여 그 데이타를 내부 제어레지스터(536)로 래치한다. 이어서, 신호 CMSTEN을 어서트하는 제어 신호가 뒤이어서 어스트되고 신호 DMREAD가 적절히 세트되면, 멀티플렉서(534)는 AND 게이트(540)을 통하여 인에이블되어 트랜시버(520)를 통하여 역으로 내부 제어 레지스터(536)내에 기억된 데이타에 의해 부여된 상태 정보를 인가한다.
신호 CMSTEN이 레지스터(504)를 래치하고 멀티플랙서(534)를 인에이블 시키게끔 사용되는 것을 주지하자. DMTRAD 신호가 어댑터로 데이타를 기입하기 위해 세트되면, 방향 신호는 트랜시버(502)를 통하여 어댑터로 데이타가 통과하게끔 하며, CMSTEN 신호가 명령 레지스터(504)로 게이트된다. 그러나, DMREAD 신호가 반전되면, 방향 신호는 트랜시버(502)를 통한 UPC로의 데이타의 역전송을 야기시키며, 제어 신호 CMSTEN은 멀티플랙서(534)로 게이트된다.
초기 개시중에 어댑터상의 제어디코더(314) 및 논리부(530)를 통한 마이크로프로세서(301)로부터의 신호 DMCLRX에 의해 어댑터가 초기 상태로 리셋된다. 초기 상태 부분으로서, 내부 제어 레지스터(536)가 ADPCLR에 의해 리셋되어 출력 STATS를 "0"으로 세트시킨다. 제어 신호 CMSTEN을 사용한 초기 어댑터/UPC 상태 전송중에, 멀티플랙서(534)의 "0" 입력에 인가된 고정 배선된 식별자 입력이 트랜시버를 통하여 UPC로 역으로 판독된다. 식별자 코드에 따라서, 마이크로프로세서(301)는 식별된 어댑터를 처리하는데 요구된 램웨어로 DRAM(303)을 로드한다.
시퀀스 제어기(350)의 MPU 사이클 동안 명령 레지스터(504)가 아닌 데이타 레지스터(506)로 데이타가 래치될 수 있다. 그 레지스터는 제어 신호 CNTSTR에 의해 래치되며, 이 신호는 데이타 스트로브에 의해 AND 게이트(526)를 통하여 스트로브되고 OR 게이트(528)를 통하여 레지스터(506)의 입력에 인가된다. 그러나, 데이타는 제9a도의 타이밍도 제9b도의 플로우 챠트로 도시된 DMA 동작으로 데이타 레지스터(506)에 더욱 통상적으로 인가된다.
주 메모리로부터의 DMA 동작시, 어댑터는 마이크로프로세서에 의해 셋업된 후 신호 DPPCL을 어서트함으로써 데이타를 수신할 수 있다는 것을 UPC에 지시한다. DPPCL신호는 어댑터 논리부(530)에 의해 어서트도고, 논리부(530)는 FIFO(510)의 충만 상태 및 주변 디바이스로부터 수신기(532)를 통하여 수신된 비지 신호 BUSYFC에 응답한다. 시퀀스 제어기(350)는 어댑터로부터의 DPPCL 신호의 어서트에 응답하여 요구 신호 REQXX를 어서트함으로써 어댑터와 그와 관련된 DMA 제어기(305, 306)에 번갈아 사이클을 할당한다. UPC의 마이크로프로세서(301)에 의해 앞서 셋업된 DMAC는 OR 게이트(523)를 통하여 인식 신호 DPACK를 어스트하여 트랜시버(502)를 인에이블시킨다. DMAC는 또한 DMREAD 신호를 세트시켜 트랜시버(502)에 대한 방향 입력을 설정한다. 신호 DMDTC가 AND 게이트(525)를 통하여 DMA 제어기에 의해 어서트될 경우, 트랜시버(502)를 통하여 글로발 버스로부터 사용 가능한 데이타가 데이타 레지스터(506)로 스트로브한다. 이어서, 그 데이타는 FIFO(510), 기입 레지스터(512) 및 드라이버(514)를 통하여 주변 디바이스로 통과한다.
DMA 동작 기간 동안 연속 4바이트 각각이 전송되는 경우, DMAC는 인식 및 스트로브 신호 DPACKX 및 DM. UDS를 어서트한다. 어댑터가 후속 바이트를 수신하는데 추가의 시간을 요구할 경우, 준비될 때까지 DPPCLX 신호를 부정한다. 이와는 달리, 어댑터는 DMAC가 후속 바이트를 포워드할 수 있는 만틈 빨리 후속 바이트를 수신하도록 DPPCLK 신호를 유지할 수 있다. 어느 경우에서도, DPPCLX 신호가 어댑터에 의해 어서트된다면 DMAC는 재차 DPACK, DM.UDS 및 DM.DTC 신호를 어서트하여 후속 바이트를 데이타 레지스터로 래치한다. 끝으로, 일단 UPC가 4바이트를 전송하였을 경우, 그것은 어댑터에 대한 REQXX 신호를 부정하며 어댑터의 사이클 동안 전송은 더이상 이루어지지 않는다.
어댑터를 통하여 주변 디바이스로부터 주 메모리로 DMA 제어하의 데이타 전송이 제8a도 및 제 8b도에 도시되어 있다. 그러한 데이타 전송에 있어서, 주변 디바이스로부터의 데이타가 수신기(544)를 통하여 수신되고 논리부(530)로 부터의 신호에 의해 제 1 판독 레지스터(546)로 래치된다. 그 데이타는 FIFO(510)를 통하여 판독 레지스터(548)의 제 2 세트로 통과한다. 판독 레지스터(548)는 연속 바이트의 데이타를 16비트 워드 데이타로 어셈블 한다. 레지스터(548)로부터의 데이타는 DMA 전송중에 트랜시버(502)를 통하여 글로발 버스로 사용가능하게 된다.
마이크로프로세서(301)는 주 메모리의 DMA 전송을 위해 어댑터 내부 제어 논리부(530)를 셋업시키는 제어 신호 DMCTLX, ENABLX 및 DMREAD를 어서트한다. 레지스터(548) 및 FIFO(510)에서 충분한 데이타가 사용 가능하다면 어댑터는 DPPCLK 신호를 어서트한다. 그 신호에 응답하여, 시퀀스 제어기(350)는 시퀀스에서의 어댑터의 차례에서 그 어댑터 및 그와 관련된 DMAC에 대한 REQXX 신호를 발생시킨다. 이러한 동작을 제어하는 DMAC에 의해 DPACKX 및 DM.UDS가 어서트되면, 레지스터(548)로부터의 데이타가 트랜시버(502)를 통과하여 전송된다.
그 데이타는 DMAC에 의해 DMTC 신호가 어서트될 시 사용자 데이타 레지스터(321)로 래치된다. 어댑터가 후속 2바이트를 레지스터(548)로 래치할 수 있는 경우, DPACKX 및 DM.UDS에 의한 후속 전송 사이클 이전에 DPPCLX 신호가 유지될 수 있다. 그렇지 않을 경우, 데이타가 준비될 때까지 부정된다. 특정 어댑터가 동시에 1 또는 2바이트를 전송할 수 있는지의 여부에 따라서, DMA는 제 2 워드 전송에 대해서는 1회 반복 또는 연속 바이트 전송에 대해서는 3회 반복해서 DPACK 및 DM.UDS를 재차 어서트한다. 일단 4바이트 데이타가 전송될 경우, REQXX 신호는 부정되어 DMA 전송의 그 사이클을 종료시킨다. 판독 레지스터(548)에 대한 스트로브가 REQXX가 다음에 어스트될 때까지 FIFO내에 유지될 것이다.
FIFO(510)와 멀티플랙서(534)에 대한 입력간에는 데이타 경로가 또한 제공된다. 이 데이타 경로는 데이타 랩 진단 과정중에 사용된다. 이 과정에서는, UPC가 데이타 레지스터(506) 및 FIFO(510)로 데이타를 전송한 후, 멀티플랙서(534)에대한 적절한 입력을 선택하게끔 내부 제어 레지스터(536)에 기억된 데이타를 통하여 FIFO로부터의 데이타를 그 UPC로 역으로 전송한다.
제 5 도의 어댑터는 가능한 어댑터 설계에 대해 단지 예시한 것임을 알아야할 것이다. 사실상, 범용 주변제어기(209)는 어댑터 설계자에 의해 설계된 램웨어 제어하의 어댑터를 처리하기 때문에, UPC는 그것의 명령 시퀀스에서 우수한 융통성을 제공하며 따라서 어댑터로/로부터의 데이타 전송을 제공한다. 중요한 것은, 어댑터가 DMCTL, ENABL, DMREAD 및 REQXX 신호에 응답할 수 있다는 것인데, 특히 그 자신의 레지스터를 상위 데이타 및/또는 하위 데이타 스트로브로 스트로브할 수 있다는 것이다. 또한 중요한 것은, 동작중에 어댑터가 임의의 방향으로 4바이트 데이타 전송 후에 UPC 제어하의 데이타 전송을 인터럽트 할 수 있다는 것이다. 게다가, 어댑터 설계의 융통성을 제공하기 위해, UPC는 어댑터 식별 후 그것의 디바이스 명세 파일로부터 그 어댑터에 대한 적절한 램웨어를 선택할 수 있어야 한다. 이를 위하여, 어댑터는 그것의 설정후 그것으로부터 초기 판독된 상태 정보를 갖는 식별자 코드를 전송할 수 있어야 한다.
지금까지, 본 발명은 구체적인 실시예와 관련하여 설명하였지만, 본 기술 분야에 숙련된 자에게는 본 발명의 사상과 범위로부터 벗어나지 않고 많은 변형, 수정 및 변화가 가능할 것이다.

Claims (2)

  1. 주 프로세서 유닛(106), 주 메모리 유닛(102, 104) 및 복수의 주변 디ㅏ이스(213-215)를 포함하는데 상기 프로세서 유닛 및 주메모리 유닛이 상기 프로세서 유닛, 주 메모리 유닛과 시스템 버스(100)에 연결될 수 있는 다른 유닛 사이의 통신 경로를 제공하는 시스템 버스(100)에 연결되는 형태인 데이타 처리 시스템에 사용하기 위한 것으로, 상기 버스와 상기 주변 디바이스 사이에 연결되어 상기 각 주변 디바이스와 상기버스에 연결되는 다른 유닛 사이에 상기 버스를 통한 통신을 가능하게 하는 주변 디바이스 제어 유닛에 있어서, 상기 시스템 버스에 연결되고 프로세서(301), 시퀀서(350) 및 직접 메모리 액세스(DMA) 소자(305, 306)를 포함하는 제어기(209)와 ; 상기 주변 디바이스의 각각의 디바이스와 상기 제어기간에 각각 연결되고, 각각 데이타 버퍼(510)를 포함하며, 각각의 디바이스로부터 데이타 유닛을 각각 수신하여 그 수신된 데이타 유닛을 상기 시스템 버스로의 다음 전송을 위해 데이타 버퍼에 각각 축적하며, 상기 시스템 버스로부터 수신된 데이타 유닛을 각각의 디바이스로의 다음 전송을 위해 데이타 버퍼에 각각 축적하고, 데이타 버퍼가 상기 시스템 버스에 대하여 데이타 전송 동작을 위해 이용 가능할 경우 요구 신호(DPPCLX)를 각각 발생시키는 복수의 어댑터(211A-D)를 포함하고, 상기 시퀀서는 상기 어댑터가 풀될 때의 시간 간격 동안 상기 시스템 버스와 통신하기 위해 상기 어댑터를 인에이블하도록 각각의 어댑터를 주기적으로 폴링하며 ; 상기 DMA 소자는 각각의 폴링 시간 간격 동안 상기 각각의 어댑터의 상기 요구 신호를 수신하도록 연결되어 상기 요구 신호에 응답하기 위한 인식신호(DMACKX)를 발생시키고 ; 각각의 어댑터는 각각의 폴링시간 간격 동안 상기 시스템 버스와 그것의 데이타 버퍼간에 데이타 유닛의 전송을 제어하기 위해 상기 인식 신호를 수신하고 그 인식 신호에 응답하도록 연결되는 것을 특징으로 하는 주변 디바이스 제어 유닛.
  2. 제 1 항에 있어서. 상기 프로세서(301)가 상기 시스템 버스와 상기 각각의 어댑터간에 특정종류의 DMA 통신을 위한 상기 제어 유닛을 구성하도록 제어 신호를 상기 DMA 소자 및 어댑터에 전송하는 것을 특징으로 하는 주변 디바이스 제어 유닛.
KR1019880006759A 1987-06-03 1988-06-03 주변 제어기와 어댑터 인터페이스 KR930002787B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5755387A 1987-06-03 1987-06-03
US057,553 1987-06-03

Publications (2)

Publication Number Publication Date
KR900000776A KR900000776A (ko) 1990-01-31
KR930002787B1 true KR930002787B1 (ko) 1993-04-10

Family

ID=22011296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880006759A KR930002787B1 (ko) 1987-06-03 1988-06-03 주변 제어기와 어댑터 인터페이스

Country Status (11)

Country Link
EP (1) EP0293860B1 (ko)
JP (1) JPH0198048A (ko)
KR (1) KR930002787B1 (ko)
CN (1) CN1038362A (ko)
AU (1) AU1671688A (ko)
CA (1) CA1311310C (ko)
DE (1) DE3855024D1 (ko)
DK (1) DK305588A (ko)
FI (1) FI882595A (ko)
NO (1) NO882432L (ko)
YU (1) YU107788A (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0501621A3 (en) * 1991-02-26 1994-07-06 Hewlett Packard Co Address prediction and verification for burst cycle data reads
US5379381A (en) * 1991-08-12 1995-01-03 Stratus Computer, Inc. System using separate transfer circuits for performing different transfer operations respectively and scanning I/O devices status upon absence of both operations
JPH07219894A (ja) * 1994-01-31 1995-08-18 Sony Corp データ転送方法及びデータ転送装置
KR100221080B1 (ko) * 1994-12-08 1999-09-15 정몽규 내연기관 제어장치의 통신속도 변환 장치 및 그 방법
DE69429007T2 (de) * 1994-12-22 2002-09-12 United Microelectronics Corp DMA-Logikeinheitsarchitektur
JP3374739B2 (ja) 1998-01-09 2003-02-10 トヨタ自動車株式会社 車両用チャイルドシート検知システム
JP3356110B2 (ja) 1999-04-21 2002-12-09 日本電気株式会社 機能拡張システム及びそれに用いるデータ転送方法
GB2353114B (en) * 1999-04-21 2001-09-19 Nec Corp Data processing system
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US6971043B2 (en) 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US7447810B2 (en) * 2004-10-28 2008-11-04 Intel Corporation Implementing bufferless Direct Memory Access (DMA) controllers using split transactions
CN103226529B (zh) * 2012-01-31 2017-03-15 上海华虹集成电路有限责任公司 基于Nandflash的双端口存储器电路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3409878A (en) * 1966-03-18 1968-11-05 Rca Corp Controlling interchanges between a computer and many communications lines
US4079452A (en) * 1976-06-15 1978-03-14 Bunker Ramo Corporation Programmable controller with modular firmware for communication control
JPS59108134A (ja) * 1982-12-13 1984-06-22 Nec Corp 入出力制御方式
JPS6059464A (ja) * 1983-09-12 1985-04-05 Nec Corp バスリクエスト制御方式
CA1228677A (en) * 1984-06-21 1987-10-27 Cray Research, Inc. Peripheral interface system
JPS6298444A (ja) * 1985-10-25 1987-05-07 Hitachi Ltd デ−タ通信方式

Also Published As

Publication number Publication date
AU1671688A (en) 1988-12-08
DK305588A (da) 1989-12-04
CN1038362A (zh) 1989-12-27
NO882432L (no) 1988-12-05
FI882595A (fi) 1988-12-04
EP0293860B1 (en) 1996-02-28
CA1311310C (en) 1992-12-08
JPH0198048A (ja) 1989-04-17
NO882432D0 (no) 1988-06-02
DE3855024D1 (de) 1996-04-04
FI882595A0 (fi) 1988-06-02
EP0293860A3 (en) 1992-04-08
YU107788A (en) 1990-12-31
KR900000776A (ko) 1990-01-31
DK305588D0 (da) 1988-06-03
EP0293860A2 (en) 1988-12-07

Similar Documents

Publication Publication Date Title
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
US4937734A (en) High speed bus with virtual memory data transfer and rerun cycle capability
US4831523A (en) Multiple DMA controller chip sequencer
US5475854A (en) Serial bus I/O system and method for serializing interrupt requests and DMA requests in a computer system
KR970000842B1 (ko) 정보 처리 시스템 및 컴퓨터 시스템
US5613162A (en) Method and apparatus for performing efficient direct memory access data transfers
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US4797815A (en) Interleaved synchronous bus access protocol for a shared memory multi-processor system
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
US4999769A (en) System with plural clocks for bidirectional information exchange between DMA controller and I/O devices via DMA bus
US5121487A (en) High speed bus with virtual memory data transfer capability using virtual address/data lines
US4896266A (en) Bus activity sequence controller
JPH08297632A (ja) 分割トランザクション・バス・プロトコルを可能にするバスに対するアービトレーション方法及び装置
EP0301610A2 (en) Data processing apparatus for connection to a common communication path in a data processing system
US5828891A (en) Multilevel interrupt device
US6567881B1 (en) Method and apparatus for bridging a digital signal processor to a PCI bus
US6697904B1 (en) Preventing starvation of agents on a bus bridge
US5894562A (en) Method and apparatus for controlling bus arbitration in a data processing system
US5241661A (en) DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
KR900001120B1 (ko) 우선도가 낮은 유니트를 우선도가 높은 위치에 위치시키기 위한 분배된 우선도 회로망 로직을 가진 데이타 처리 시스템
US6532507B1 (en) Digital signal processor and method for prioritized access by multiple core processors to shared device
US6721833B2 (en) Arbitration of control chipsets in bus transaction
US5097483A (en) Tri-statable bus with apparatus to drive bus line to first level and then second level for predetermined time before turning off
US6026455A (en) Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
US6684284B1 (en) Control chipset, and data transaction method and signal transmission devices therefor

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
LAPS Lapse due to unpaid annual fee