KR970005743B1 - 데이타 전송 제어장치 - Google Patents

데이타 전송 제어장치 Download PDF

Info

Publication number
KR970005743B1
KR970005743B1 KR1019890000835A KR890000835A KR970005743B1 KR 970005743 B1 KR970005743 B1 KR 970005743B1 KR 1019890000835 A KR1019890000835 A KR 1019890000835A KR 890000835 A KR890000835 A KR 890000835A KR 970005743 B1 KR970005743 B1 KR 970005743B1
Authority
KR
South Korea
Prior art keywords
data
data transfer
channel
register
bus
Prior art date
Application number
KR1019890000835A
Other languages
English (en)
Other versions
KR890013568A (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 KR890013568A publication Critical patent/KR890013568A/ko
Priority to KR1019940000299A priority Critical patent/KR970005744B1/ko
Application granted granted Critical
Publication of KR970005743B1 publication Critical patent/KR970005743B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/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)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Abstract

내용없음.

Description

데이타 전송 제어장치
제1도는 본 발명에 관한 데이타 전송 제어장치의 1실시예인 직접 메모리 엑세스 제어장치를 포함하는 시스템 블럭도.
제2도는 제1도의 직접 메모리 액세스 제어장치에 의한 여러개의 채널에 걸친 일련의 데이타 전송동작을 설명하기 위한 타이밍도.
제3도는 본 발명에 관한 데이타 전송 제어장치의 다른 실시예인 직접 메모리 액세스 제어 장치를 포함하는 시스템 블럭도.
본 발명은 통신 제어장치에 있어서의 데이타 전송 제어장치에 관한 것으로, 특히 여러개의 채널을 갖는 직접 메모리 액세스 제어장치에 있어서의 여러 개의 채널에 걸친 연속 데이타 전송 제어에 관한 것이며, 예를 들면 통신 프로토콜에 따라서 데이타 전송제어를 실행하는 통신 제어 LSI에 적용해서 유효한 기술에 관한 것이다.
데이타 전송 제어에 있어서의 프로세서의 부담을 경감하기 위한 데이타 전송 제어장치로서 직접 메모리 액세스 제어장치가 종래부터 사용되고 있고, 이 제어장치는 버스의 사용권을 프로세서에서 획득하는 것에 의해 메모리나 각종 입출력 회로 사이에 있어서의 데이타 전송 제어를 프로세서 대신 실행한다.
직접 메로리 액세스 제어장치에 의한 전송방식은 일반적으로 1단어의 데이타 전송마다 버스 사용권을 요구하여 동작 종류후에 이 사용권을 프로세서로 되돌리는 사이클 스틸 방식과 한번 버스 사용권을 획득하면 연속적으로 여러개의 단어 데이타 전송을 실행하여 그동안 프로세서가 대기상태 등을 취하는 버스트 방식으로 크게 구별된다. 이 버스트 방식에 있어서 직접 메모리 액세스 제어장치에 의한 버스의 점유 기간이 무제한으로 길게 되면, 프로세서의 동작의 효율의 저하를 초래할 염려가 있으므로 연속 전송 단어수를 제한하는 것이 바람직하다.
그런데, 일반적인 시스템에서는 여러개의 주변장치가 사용되기 때문에, 직접 메모리 액세스 제어장치는 여러개의 채널을 구비하여 각각의 채널마다 전송 행선지 어드레스나 전송 단어수를 설정해서 데이타 전송 제어를 실행할 수 있게 되어 있지만, 종래 각각의 채널에 있어서의 데이타의 전송 제어에는 상호간의 관련성을 갖게 하는 수단은 강구되지 었지 않다. 예를들면, 특정한 주변 장치에 할당된 채널의 동작이 종료되면 일단 버스 사용권이 포기되고, 그 후에 새롭게 버스권 획득을 위한 핸드 쉐이크 인터페이스가 실행된다.
또, 여러개의 채널을 갖는 직접 메모리 액세스 제어장치에 대해서 가재된 문헌의 예로서는 1985년 9월 가부시끼가이샤 히다찌세이사꾸쇼 발행의 히다찌 마이크로 컴퓨터 데이타북 8/16비트 마이크로 컴퓨터의 주변 LSI(pp.389∼442)가 있다.
그러나, 여러개의 채널을 구비한 직접 메모리 액세스 제어장치에 있어서 각각의 채널에 있어서의 데이타 전송 제어에 서로 관련성을 갖게 하는 수단이 강구되어 있지 않고, 각 채널에 대한 버스 획득권 제어가 완전히 독립적이면 데이카 전송제어를 다른 채널로 옮길 때마다 버스권을 일단 포기하여 새롭게 버스권을 획득하기 위한 동작이 필요하게 된다. 이것에 의해서, 데이타 전송효율의 저하 더나아가서는 시스템 효율의 저하를 초래한다는 문제점이 있었다.
특히, 본 발명자의 검토에 의하면 여러개의 채널에 걸쳐서 관련있는 데이타를 전송해야 하는 시스템, 예를들면 통신 제어용 제어장치를 포함하는 시스템에서는 회선 제어부를 거치는 데이타의 송수신 제어에 필요한 제어정보나 직접 메모리 액세스 제어장치에 의한 데이타 전송 제어에 필요한 어드레스 정보 등을 메인 메모리에서 리드하는 것이 필요하게 된다. 더나가서는, 수신내용에 따라서 송신처리를 실행하는 것도 필요하게 되므로, 각종 제어정보나 송신 데이타를 메인 메모리에서 통신 제어용 제어장치로 전송하거나 수신 데이타를 메인 메모리로 전송하는 동작 상호간에 관련을 갖는 경우가 빈번히 일어난다. 이와 같은 경우에, 여러개의 채널에 걸쳐서 연속적으로 데이타 정송을 실행할 수 없으면, 시스템 효율은 현저하게 저하해 버리는 것이 명확하게 되었다.
본 발명의 목적은 여러개의 채널의 걸쳐서 연속적으로 데이타 전송을 실행할 수 있고, 데이타 전송효율의 향상을 달성할 수 있는 데이타 전송 제어장치를 제공하는 것이다.
본 발명의 상기 및 그 밖의 목적가 새로운 특징은 본 명세서의 기술 및 첨부 도면에서 명확하게 될 것이다.
본원에 있어서 개시되는 발명중 대표적인 것의 개요를 간단하게 설명하면 다음과 같다.
즉, 여러개의 데이타 전송 채널을 구비하고, 각각의 채널에 있어서의 데이타 전송 단아수를 규정하기 위한 버스트수 레지스터, 여러개의 채널에 걸치는 연속 데이타 전송 단어수를 규정하기 위한 전체 버스트수 레지스터 및 채널의 데이타 전송 가능한 상태를 받아서 버스권 획득을 위한 제어를 실행하고 각각의 채널에 있어서의 연속 데이타 전송 단어수를 버스트수 레지스터의 설정값에 따라서 각각 제어함과 동시에 버스권 획득후에 있어서의 연속 데이타 전송 단어수가 전체 버스트수 레지스터의 설정값에 도달할 때까지 데이타 전송 가능한 상태에 있는 다른 채널을 위해서 버스권을 유지하는 제어수단을 포함해서 이루어지는 것이다.
또, 회선 제어부 및 중앙처리장치(CPU)를 구비한 통신 제어용 LSI에 데이타 전송 제어장치를 포함할 때, 이 데이타 전송 제어장치를 상기 회선 제어부에 전용의 데이타 전송 보스로 결합할 수가 있다.
상기한 수단에 의하면, 제어수단은 채널에 있어서의 데이타 전송 가능한 상태에 따라서 버스권을 획득하고, 각각의 채널에 있어서의 최대 연속 데이타 전송 단어수를 대응하는 버스트수 레지스터의 설정값에 따라서 제어함에 동시에, 여러개의 채널에 있어서의 데이타 전송 가능한 상태를 받을 때에는 버스권 획득후에 있어서의 연속 데이타 전송 단어수가 최대한 전체 버스트수 레지스터의 최대 설정값에 도달할 때까지 버스권을 유지하도록 여러개의 채널에 걸치는 일련의 데이타 전송 단어수를 총괄적으로 감시해서 버스권의 포기를 제어하는 것에 의해, 여러개의 채널에 걸친 연속적인 데이타 전송을 가능하게 해서 데이타 전송효율의 향상을 달성하는 것이다.
통신 제어용 LSI에 포함되는 데이타 전송 제어장치가 상기 회선 제어부와 전용의 데이타 전송이 실행될 때 통신 제어용 LSI 내부의 공통 내부버스는 이 데이타 전송에 점유되지 않고, 데이타 전송중에 내장 CPU는 통신 프로토콜 처리 등의 필요에 따라서 공통 내부 버스를 이용할 수 있게 된다. 이것에 의해서 통신 제어용 LSI의 성질상 송수신 등을 위한 데이타 전송 빈도가 매우 높게 되더라도 이 상태가 내장 CPU의 동작 효율을 현저하게 저하시키는 것을 방지한다.
제1도는 본 발명에 관한 데이타 전송 제어장치의 1실시예인 직접 메모리 액세스 제어장치를 포함하는 시스템 블럭도이다. 동일도면에 도시된 직접 메모리 액세스 제어장치(이하, DMAC라 한다.) (1)은 특히 제한되지 안하지만, 공지의 반도체 직접회로 제조기술에 의해서 실리콘 기판과 같은 1개의 반도체 기판에 형성된 통신 제어용 LSI(2)에 내장된다.
제1도에 도시된 통신 제어용 LSI(2)는 특히 제한되지 않지만, 송수신 데이타나 각종 파라미터 등을 저장하는 메인 메모리(3)이나 시스템 버스(12)에 결함되어 소정의 통신 기능모듈을 구성하고, 사대국을 구성하는 그 이외의 통신 기능모듈을 구성하고, 상대국을 구성하는 그 이외의 통신기능 모듈과의 사이에서 데이타 통신을 실행하는 경우에 데이타 제어순서나 그 이외의 제어를 지원한다.
여기에서, 먼저 통신 제어용 LSI(2)를 전체적으로 설명한다.
이 통신 제어용 LSI(2)는 송신회선 TL 및 수신회선 RL을 거쳐서 상대국과 시리얼 언터페이스를 실행하는 회선 제어부(6), 호스트, 프로세서 (4)나 메인 메모리 (3) 등과 인터페이스되는 호스트 언터페이스(7), 호스트 인터페이스(7)을 거치지 않고 직접 메인메모리(3) 등과의 사이에서 데이타 전송을 실행하기 위한 DMAC(1), 회선 제어부(5)을 거치는 데이타 전송 제어를 위해서 필요하게 되는 시스템 정수 등의 각정 제어용 데이타나 DMAC(1)에 의한 데이타 전송 제어에 필요한 각종 제어정보 등을 리라이트 가능한게 저장하는 RAM(Random Access Memory)(8), 통신 제어용 LSI(2) 전체의 제어를 관장하는 CPU(9) 및 회선 제어부 (6)에 있어서 데이타 전송 제어순서를 규정하기 위한 통신 프로토콜 처리 프로그램이 조립되지만, 이 프로토콜 처리 프로그램은 리라이트 가능한 불휘발성 반도체 기억장치의 1예인 EPROM(Erasable and Programmable Read Only Memory)(10)에 저장된다. 따라서 이 EPROM(10)에 저장해야 할 통신 프로토콜 처리 프로그램을 필요에 따라서 선택하거나 변경하는 것에 의해서, 이 통신 제어용 LSI(2)는 특정한 프로토콜에 한정되는 일없이 종류가 다른 프로토콜이나 프로토콜의 변경에 대해서 바라는 데이나 전송 제어순서를 조립가능하게 한다.
상기 EPROM(10)은 전기적으로 리라이트 가능한 EEPROM(Electrically Erasable and Programmable Read Only Memory)로 바꾸어도 좋다. EEPROM을 채용하는 경우에는 시스템상에 있어서 데이타 전송 제어순서를 리라이트할 수가 있다. 따라서 LAPR(Link Access Procedure Balanced), LAPD(Link Access Procedure on the D channel), 또 그 이외의 HDLC(High level Data Link Control)계열의 제어순서 등 다른 프로토콜에 따라서 링크를 펼 수 있도록 회선 제어부(6)이 이용되는 경우에는 선택적으로 처리가능한 전송 제어순서를 사전에 통신 제어용 LSI의 외부에서 유지시켜 필요에 따라서 소정의 제어순서를 해당 EEPROM에 저장하도록 할 수 있다. 더 나아가서는 시스템이 완성된 후에 통신 프로토콜를 변경 또는 수정하는 경우에는 이 시스템상에 있어서 그 변경에 대응해서 프로토콜 처리 프로그램의 리라이트 또는 수정을 실행할 수가 있다.
상기 EPROM(10)에 저장되는 프로토콜 처리 프로그램은 특히 제한되지는 않지만, 마이크로 명령군에 의해서 구성된다. 이 마이크로 명령은 특히 제한되지는 않지만, 연산이나 데이타 전송 등의 각종 처리를 각각 일정 사이클 또는 스텝수에 의해 실행할 수 있는 비트수로서 마이크로 코드나 각종 정보 필드가 형성되어 있다.
이 EPROM(10)은 CPU(9)에 의해서 액세스되고, 이것에 의해서 리드되는 소정의 마이크로 명령은 명령 전용 버스(19)를 거쳐서 CPU(9)에 공급된다.
CPU(9)는 특히 제한되지 않지만, 상기 EPROM(10)을 액세스하기 위한 마이크로 어드레스 콘트롤러, EPROM(10)에서 공급되는 마이크로 명령을 디코드하는 마이크로 명령 디코더, 마이크로 명령 디코더의 출력 제어신호에 따라서 마이크로 명령을 실행하는 실행 유니트, 공통 내부버스(5)에 결합되는 버스 인터페이스 유니트 및 인터립트 콘트롤러 등을 내정해서 형성되고, 상기 EPROM(10)에서 공급되는 마이크로 명령에 의해서 소정의 통신 프로토콜에 따른 데이타 전송 제어를 실행한다.
상기 회선 제어부(6)은 특히 제한되지 않지만, 수신 회선 RL에서 수신한 직렬 데이타에 대해서 비트동기 및 문자동기를 취하고 이것을 직렬/병렬 변환해서 전송에러를 검출하기 위한 소정의 연산을 실행함과 수신 데이타 또는 수신 프레임의 종류와 따라서 CPU(9)에 소정의 인터럽트 처리를 지시한다. 또, 데이타의 송출시에는 송출할 데이타 또는 프레임을 병렬/직렬 변환하고, 비트동기 및 문자동기를 취하면서 전송 에러 감출용의 부호 등을 부가해서 데이타를 송신회선 TL에서 송출한다.
상기 호스트 인터페이스(7)은 호스트 프로세서(4)가 통신 제어용 LSI(2)에 코맨트를 발행하거나 통신 제어용 LSI(2)의 내부상태에 대응하는 스테이터스를 리드할 때에 이용된다.
상기 DMAC(1)은 회선 제어부(6)에서 처리된 수신 데이타 또는 수신 프레임의소정 필드를 메인 메모리(3)에 저장하기 위한 데이타 전송 제어를 실행함과 동시에 메인 메모리(3)에 저장되어 있는 데이타를 전송하기 위해서 회선 제어부(6)으로 전송하는 제어를 실행하고, 더 나아가서는 통신 프로토콜 처리에 필요한 각종 파라미터나 테이블 구성용 데이타 및 DMAC(1)에 의한 데이타 전송 제어용 정보를 메인 메모리(3)과 RAM(8)사이에서 전송하는 제어를 실행한다.
특히 제한되지는 않지만, 회선 제어부(6)과 메인 메모리(3)사이에는 실행되는 DMAC(1)의 제어에 따르는 데이타 전송에는 DMAC(1)과 회선 제어부(6)을 결합하는 DMA 전송 전용버스(11)이 사용된다. 이것에 의해 DMAC(1)의 액세스 제어에 의해서 회선 제어부(6)과 메인 메모리(3) 사이에서의 데이타 전송이 실행될 공통 내부버스(5)는 이 DMA 전송에 점유되지 않고, 이러한 DMA 전송중에 CPU(9)를 통신 프로토콜 처리의 필요에 따라서 공통 내부버스(5)를 이용할 수가 있다.
상기 회선 제어부(6)과 DMA 전송 전용버스(11)사이에는 특히 제한되지는 않지만, 선입선출 방식의 데이타 버퍼(이하, FiFO라고 한다.)(18)이 마련되어 있어, 상기 DMAC(1)의 제어에 의한 데이타 전송속도와 회선 제어부(6)에 의한 데이타의 송수신 속도와의 상이를 흡수 또는 완충하도록 되어 있다.
이러한 통신 제어용 LSI(2)에 있어서, 예를들면 HDLC 계열의 제어순서가 사용되고 있는 경우, 상기 회선 제어부(6)은 이것에 공급되는 데이타 또는 프레임을 해독해서 그것에 포함되는 어들스나 제어 필드에 포함되는 정보의 처리를 진행함과 동시에 프레임을 구성해서 정보, 즉 수신 프레임의 정보 또는 DMAC(1)을 경유해서 메임 메모리(5)에서 전송되는 송신할 정보를 상기 FIFO(18)에 축적한다.
이 때, 회선 제어부(6)은 어드레스나 제어 프레임에 포함되는 정보 등에 따라서 CPU(9)에 각종 인터럽트를 부여한다.
CPU(9)는 그때의 인터럽트 종류에 따른 벡터를 발생하는 제어 순러를 분기시킨다. 예를들면, 정보 프레임의 수신임의 수신인 경우에는 프레임 체크 시퀀스와 에러 검출을 위한 연산결과가 대조되고, 정상적인 경우에는 DMAC(1)이 기동되어서 FiFO(18)에 축적된 수신 데이타의 정보필드가 DMAC(1)을 경유해서 메인 메모리(3)에 전송된다. 또, 정보 프레임의 송신인 경우에는 DMAC(1)을 경유해서 FiFO(18)에 입력되어 있는 정보 필드에 어드레스 필드, 제어필드, 필드개시 플래그, 프레임 체크 시퀀스 및 프레임 종료 플래그가 부가되어서 프레임이 작성되고, 이것이 회선 제어부(6)에서 송출된다.
다음에 DMAC(1)을 상세하게 설명한다.
본 실시예의 DMAC(1)은 전송 제어부(13)과 레지스터부(14)로 구성되어 있다. 레지스터부(14)로 구성되어 있다. 레지스터부(14)는 회선 제어부(6)에서 수신한 데이타를 메인 메모리(3)으로 전송하기 위한 제1채널(15), 송신 데이타를 메인 메모리(3)에서 회선 제어부(6)으로 전송하기 위한 제2채널(16), 메인 메모리(3)과 RAM(8) 상호간에 있어서의 데이타 전송을 위한 제3채널(17)을 구비하고 있다.
제1채널(15)에 대응하는 데이타 전송 제어 레지스커로서는 이 채널에 있어서는 데이타 전송의 가부를 인에이블 비트나 디스인에이블 비트에 의해서 나타내는 스테이터스 레지스터(151). 데이타 전송 바이트수가 설정되는 바이트 카운트 레지스터(152), 전송생선지 선두 어드레스가 저장되는 어드레스 레지스터(153), 버스트 모드에 의한 제1채널에서의 연속 데이타 전송 바이트수를 그 때마다 자유롭게 설정할 수 있는 리라이트 가능한 버스트수 레지스터(154), 다음에 기술하는 버스트수 비교 레지스터(155)가 마련되어 있다. 마찬가지로, 제2채널(16)에 대응하는 데이타 전송 제어 레지스터는 이 채널에 있어서의 데이타 전송의 가부를 인에이블 비트나 디스 인에이블 비트에 의해서 나타내는 스데이터스 레지스터(161), 데이타 전송 바이트수가 설정되는 바이트 카운트 레지스터(162), 전송원 선두 어드레스가 저장되는 어드레스 레지스터(163), 버스트 모드에 의한 제2채널(16)에소의 욘속 데이타 전송 바이트수를 그때마다 자유롭게 설정할 수 있는 리라이트 가능한 버스트수 레지스터(164), 다음에 기술하는 버스트수 비교 레지스터(165)로 이루어지고, 또 제3채널(17)에 대응하는 데이타 전송 제어 레지스터는 데이타 전송방향을 나타내는 모드 레지스터(170), 이 채널에 있어서는 데이타 전송의 가부를 인에이블 비트나 디스 인에이블 비트에 의해서 나타내는 스테이터스 레지스터(171), 데이타 전송 바이트수가 설정되는 바이트 카운트 레지스터(172), 전송원 선두 어드레스 및 전송 행선지 선두 어드레스가 저장되는 어드레스 레지스터(173), 버스트모드에 의한 제3채널(17)에서의 연속 데이타 전송 바이트수를 그때마다 자유롭게 설정할 수 있는 리라이트 가능한 버스트수 레지스터(174), 다음에 기술하는 버스트수 비교 레지스터(175)로 이루어진다.
상기 각 채널(15), (16), (17)에 대응해서 마련된 각종 데이타 전송 제어용 레지스터에 대한 데이타의 설정은 회선 제어부(6)으로부터의 인터럽트나 호스트 프로세서(4)에서 부여되는 코맨드에 따라서 상기 CPU(9)가 실행된다.
상기 스테이터스 레지스터(151), (161) 및 (171)에 인에 대응해서 마련된 각종 데이타 전송 제어용 레지스터에 대한 데이타의 설정은 회선 제어부(6)으로부터의 인터럽트나 호스트 프로세서(4)에서 부여되는 코맨드에 따라서 상기 CPU(9)가 실행된다.
상기 스테이터스 레지스터(151), (161), (171)에 인에이블 비트가 설정되면, 이것에 따르는 채널 (15), (16), (17)에 대응되는 채널 요구신호 CREQ1, CREQ2, CREQ3이어서트된다.
각 채널 (15), (16), (17)에 대응되는 바이트 카운트 레지스터 (152), (162), (172)는 대응 채널에 있어서의 1바이트의 데이타 전송 동작 마다 그 설정값이 도시하지 않은 디크리멘터에 의해서 감산된다. 바이트 카운트 레지스터(152), (162), (172)가 감산되어 클리어 상태로 되돌려졌을 때는 대응하는 스테이터스 레지스터 (151), (161), (171)의 인에이블 비트가 리세트되고, 이것에 따라서 대응하는 채널 요구신호 CREQ1, CREQ2, CREQ3이 네게이트 된다.
버스트수 레지스터 (154), (164), (174)의 설정값은 버스트수 비교 레지스터(151), (165), (175)의 값과 비교된다. 이 버스트수 비교 레지스터는 이것에 대응하는 채널에 있어서는 데이타 전송동작 개시에 의해서 클리어된다. 그리고, 버스트수 비교 레지스터는 전송 제어부(13)에서 공급되는 어드레스 스트로브 신호
Figure kpo00001
가, 예를들면 하이레벨에서 로우레벨로 변화할 때마다 그 값이 증가된다. 즉, 각 버스트수 비교 레지스터는 대응하는 채널 1바이트의 데이타를 전송할 때마다 그 값이 증가된다. 이 버스트수 비교 레지스터의 값이 대응하는 버스트수 레지스터의 값과 일치했음에도 불구하고, 대응하는 바이트 카운트 레지스터가 클리어 상태에 도달해 있지 않을 때, 대응하는 채널 요구신호 CREQ1, CREQ2, CREQ3은 일단 네게이트된 후에 재차어서트된다.
어드레서 레지스터 (153), (163), (173)은 대응 채널에 있어서의 1바이트의 데이터 전송동작마다 그 설정값이 도시하지 않은 인그리멘터에 의해서 가산되는 다음 어드레스를 보유해 갔다.
채널 요구신호 CREQ1, CREQ2, CREQ3은 각각 전송 제어부(13)에 공급된다. 이 전송 제어부(13)은 채널 요구신호 CREQ1, CREQ2, CREQ3중 어느 1개가 어서트되면, 이것에 따라서 버스 요구신호 BREQ를 어서트해서 호스트 프로세서(4)에 버스권 개방을 요구한다. 호스트 프러세서(4)는 실행중의 메모리 사이클을 종류한 후에 버스 확인신호 BACK를 어서트해서 버스권을 포기한다. 이것에 의해서, 버스권을 획득한 전송 제어부(13)은 각각의 채널에 대응하는 채널 확인 신호중 어느 1개를 어서트해서 소정의 채널에 데이타 전송 동작의 개시를 지시한다. 이 때, 여러개의 채널 요구신호가 어서트되어 있을 때에는, 특히 제한되지 않지만, 그 어서트 타이밍의 빠르고 늦음에 따라서 우선 제어를 실행하고, 우선도가 높은 채널에 대해서 채널확인 신호를 어서트한다.
전송 제어부(13)은 일단 획득한 버스권을 유지하면서 여러개의 채널의 걸치는 연속 데이타 전송을 가능하게 한다. 즉, 여러개의 채널에 걸치는 연속 데이타 전송 바이트수를 규정하기 위한 전체 버스트수 레지스터(131)과 다음에 기술하는 전체 버스트수 비교 레지스터(132)를 구비한다. 이 전체 버스트수 레지스터(131)에 CPU(9)에 의해서 전체 버스트수가 초기 설정된다. 이 설정값은 전체 버스트수가 초기 설정된다. 이 설정값은 전체 버스트수 비교 레지스터(132)의 값과 비교된다. 전체 버스트수 비교 레지스터(132)는 전송 제어부(13)이 버스권을 획득해서 어느것인가의 채널에 데이타 전송 동작을 개시시키는 것에 따라서 클리어된다. 그리고, 전체 버스트수 비교 레지스터(132)는 전송 제어부(13)에서 출력되는 어드레스 스트로브 신호
Figure kpo00002
가, 예를들면 하이레벨에서 로우레벨로 변화할 때마다 증가된다. 즉, 전체 버스트수 비교 레지스터(132)는 각 채널이 1바이트의 데이타 전송을 실행할 때마다 증가된다. 전송 제어부(13)은 버스권을 획득한 후에 모든 채널 요구신호 CREQ1, CREQ2, CREQ3이 네게이트 상태로 되는 경우 또는 전체 버스트수 비교 레지스터(132)의 값이 상기 전체 버스트수 레지스터(131)과 일치하는 경우에 버스권을 포기한다. 따라서, 전송 제어부(13)은 1개의 채널요구 신호가 어서트된 경우, 버스 요구신호 BREQ를 어서트한다. 그리고, 그 채널이 이것에 따르는 채널의 버스트수 비교 레지스터의 값이 대응하는 버스트수 레지스터의 설정값과 일치할 때 또는 이 채널에 대응하는 버스트 카운트 레지스터가 0으로 클리어되었을 때에 그 채널요구 신호를 네게이트하고, 전송 제어부(13)은 버스요구 신호 BREQ를 어서트한다. 그리고, 그들 채널 중 우선제어에 따라서 최초에 데이타 전송동작을 개시한 채널이 상기 채널 요구가 신호 BREQ를 그밖의 채널에 있어서의 어서트 상태의 채널요구 신호가 공급되어 있으면 어서트 상태로 유지, 즉 버스권을 포기하지 않는다. 그리고 전송 제어부(13)은 그대로 다음의 채널에 있어서의 데이타 전송 동작으로 이행한다. 그리고, 최대한 전체 버스트수 비교 레지스터(132)의 값이 전체 버스트수 레지스터(131)의 설정값과 일치될 때까지 여러개의 채널에 걸치는 일련의 데이타 전송 동작이 1회의 버스권 획득 기간중에 허용된다.
다음에, 상기 DMAC(1)에 의한 여러개의 채널에 걸치는 일련의 전송동작을 설명한다.
통신 제어용 LSI(2)가 수신회선 RL에서 데이타 수신하는 경우, 이 수신 데이타는 회선 제어부(6)에서 병렬 데이타로 변화되어 내부의 FIFO(18)에 축적됨과 동시에, CPU(9)에 데이타 수신을 의미하는 인터럽트를 발생한다. 이것에 의해, CPU(9)는 DMAC(1)의 제1채널(15)를 거치는 데이타 전송 제어를 위해서 필요한 각종 제어정보를 설정한다. 즉, CPU(9)는 바이트 카운트 바이트 카운트 레지스터(152)에 데이타 전송 바이트수를 설정함과 동시에, 어드레스 레지스터(153)에 메인 메모리(3)에 있어서의 전송 행선지 선두 어드레스를 저장하고, 또 스테이터스 레지스터(151)에 인에이블 비트를 설정한다. 또한, 제1채널(15)에서의 연속 데이타 전송 바이트수를 버스트수 레지스터(155)에 설정하는 동작은 특히 제한되지 않지만, 시스템 기동시에 실행되고 그 값은 일정하게 유지되어 있다.
통신 제어용 LSI(2)의 송신회로 TL에서 전송을 실행하는 경우, 미리 호스트 프로세서(4)는 송신할 데이타를 메인메모리(3)에 저장하고나서 데이타 송신을 지시하는 코맨트를 CPU(9)에 부여해 둔다. CPU(9)는 이 코맨드를 실행할 때에 DMAC(1)의 제2채널(16)을 거치는 데이타 전송제어를 위해서 필요한 각종 제어정보를 설정한다. 즉, 바이트 카운트 레지스터(162)에 데이타 전송 바이트수를 설정함과 동시에 어드레스 레지스터(163)에 메임 메모리(3)에 있어서의 전송원 선두 어드레스를 저장하고, 또 스테이터스 레지스터(161)에 인에이블 비트를 설정한다. 또, 제2채널(16)에서의 연속 데이타 전송 바이트수를 버스트수 레지스터(165)에 설정하는 동작은 특히 제한되지 않지만, 시스템 기동시에 실행되고 그 값은 일정하게 유지되어 있다.
회선 제어부(6)을 거치는 데이타의 송수신에 필요한 각종 파라미터 또는 제어정보 등을 RAM(8)과 메임 메모리(3) 상호간에 전송하는 경우, 호스트 프로세서(4)는 이 데이타 전송에 필요한 코맨트를 CPU(9)에 부여해 둔다. CPU(9)는 이 코맨드를 실행할 때에 DMAC(1)의 제3채널(17)을 거치는 데이타 전송 제어를 위해서 필요한 각종 제어정보를 설정한다.
즉, 바이트 카운트 레지스터(172)에 데이타 전송 바이트수를, 그리고 모드 레지스터(170)에 데이타 전송방향을 나타내는 데이타를 설정함과 동시에, 어드레스 레지스터(173)에 전송원 선두어드레스 및 전송 행선지 어드레스를 저장하고, 또 스테이터스 레지스터(171)에 인에이블 비트를 설정한다. 또한, 제3채널(17)에서의 연속 데이타 전송 바이트수를 버스트수 레지스터(174)에 설정하는 동작은 특히 제한되지 않지만, 시스템 기동시에 실행되고 그 값은 일정하게 유지되어 있다.
전송 제어부(13)에 포함되는 전체 버스트수 레지스터(131)에는 특히 제한되지 않지만, 시스템 기동시에 8바이트에 따르는 데이타가 설정되어 있다.
여기에서 각각의 스테이터스 레지스터(151), (161), (171)에 잇따라서 인에이블 비트가 설정되는 것에 의해 3개 채널(15), (16), (17)에 데이타 전송동작이 차례로 지시되는 경우를 중심으로 해서 다음에 그 동작을 설명한다.
예를들면, 제2도에서 있어서 상기 인에이블 비트의 설정동작은 스테이터스 레지스터(151), (161), (171)의 순서로 실행되었다고 한다. 그래서, 이 순서에 따라서 채널 요구신호 CREQ1, CREQ2, CREQ3이 어서트(로우레벨에서 하이레벨로)되어 전송 제어부(13)에 부여된다. 이것에 따라서 전송 제어부(13)은 버스요구 신호 BREQ를 어서트(하이레벨에서 로우레벨로)해서 호스트 프로세서(4)에 버스권 요구한다. 이 요구에 대해서 호스트 프로세서(4)가 버스확인 신호 BACK를 어스트(하이레벨에서 로우레벨로)해서 버스권을 포기하면, 전송 제어부(13)은 채널 요구신호 CREQ1, CREQ2, CREQ3의 어서트 타이밍이 빠르고 늦은에 따른 우선제어에 따라서, 그 때 최초로 어서트된 채널 요구신호 CREQ1에 따른 채널 확인신호 CACK1을 어서트(로우레벨에서 하이레벨로)한다. 또, 제1채널(15)는 회선 제어부(6)에서 수신한 데이타 CHD1과 어드레스 레지스터(153)에 저장되어 있던 수신 데이타 DHD1의 전송 행선지 어드레스 신호 CHA1을 메인 메모리(3)에 공급한다. 메인 메모리(3)은 전송 제어부(13)에서 공급되는 어드레스 스트로브 신호
Figure kpo00003
가 하이레벨에서 로우레벨로 변화하는 것에 의해, 수신 데이타CD1을 입력한다.
이 때, 제1채널(15)에 있어서의 바이트 카운트 레지스터(152)에는 7바이트에 따른 데이타가 설정되고, 버스트수 레지스터(155)에는 3바이트에 따른 데이타가 설정되어 있다고 추정한다. 이 제1채널(15)를 이용해서 회선 제어부(6)의 수신데이타가 3바이트만큼 메인 메모리(3)에 전송될 때, 버스트수 비교 레지스터(155)의 값이 버스트수 레지스터(154)의 설정값과 일치하므로, 채널 요구신호 CREQ1이 네게이트(하이레벨에서 로우레벨로)되고, 이것을 받아서 채널확인 신호 CACK1도 네게이트(하이레벨에서 로우레벨로)되는 것에 의해서 이 제1채널(15)에 있어서의 데이타 전송 동작은 일단 종료된다. 또, 재차 이 채널(15)는 나머지의 데이타 전송을 위해서, 채널요구 신호 CREQ1을 어서트(로우레벨에서 하이레벨로)한다.
전송 제어부(13)이 버스권을 획득한 후 제1채널(15)에 있어서의 데이터 전송이 개시되면서, 1바이트의 데이타 전송마다(어드레스 스트로브 신호
Figure kpo00004
가 변화할 때마다)전체 버스트수 비교 레지스터(132)가 클리어 상태에서 순차적으로 증가되고, 이 값이 전체 버스트수 레지스터(131)의 값에 도달하는지의 판별이 전송 제어부(13)에서 실행된다. 상술한 바와 같이해서 채널요구 신호 CREQ1이 일단 네게이트되었을 때, 전체 버스트수 비교 레지스터(132)는 전체 버스트수(131)의 설정값 8바이트에 도달해 있지 않으므로, 전송 제어부(13)은 그때 버스권을 포기하지 않고, 이번에는 그 우선제어에 의해서 채널 요구신호 CREQ2에 우선권을 인정해서 이 채널요구 신호 CREQ2에 따른 채널확인 신호 CACK2를 어서트(로우레벨에서 하이레벨로)한다. 이것에 의해, 제1채널(15)에 계속해서 제2채널(16)에 있어서의 데이타 전송이 개시된다.
이 때, 제2채널(16)에 있어서의 바이트 카운트 레지스터(162)에는 3바이트에 따른 데이타가 설정되고, 버스트수 레지스터(165)에는 2바이트에 따른 데이타가 설정되고 있다고 추정한다. CPU(9)는 메인 메모리(3)에 저장되어 있는 송신한 데이타의 어드레스 신호 CHA2를 이 제2채널(16)의 어드레스 레지스터에 설정한다. 그리고, 제2채널(16)은 회선 제어부(6)에서 송신할 데이타 CHD2를 메인 메모리(3)에서 리드하기 위해 어드레스 신호 CHA2를 메인 메모리(3)에 공급한다. 메인 메모리(3)은 전송 제어부(13)에서 공급되는 어드레스 스트로브 신호
Figure kpo00005
가 하이레벨에서 로우레벨로 변화하는 것에 의해, 송신 데이타 CHD2를 회선 제어부(6)에 송출한다. 제2채널(16)은 메인 메모리(3)에서 회선 제어부(6)으로 2바이트만큼 전송한 곳에서 버스트수 비교 레지스터(155)의 값이 버스트수 레지스터(154)의 설정값과 일치하므로, 채널 요구신호 CREQ2를 일단 네게이트(하이레벨에서 로우레벨로)하고, 이것을 받아서 채널확인 신호 CACK2도 네게이트(하이레벨에서 로우레벨로)된다. 이것에 의해서, 이 제2채널(16)에 있어서의 데이타 전송 동작이 일단 종료되고, 재차 이 제2채널(16)에 있어서의 나머지의 데이타 전송을 위해서 채널요구 신호 CREQ2가 어서트(로우레벨에서 하이레벨로)된다.
이와 같이 해서, 채널요구 신호 CREQ2가 일단 네게이트되었을 때, 전체 버스트수 비교 레지스터(132)는 전체 버스트수레지스터(131)의 설정값인 8바이트에 도달해 있지 않으므로, 전송 제어부(13)은 그때 버스권을 포기하지 않고, 그의 우선제어에 의해서 이번에는 채널 요구신호 CREQ3에 우선권을 인정해서 이 채널요구 신호 CREQ3에 따른 채널확인 신호 CACK3을 어서트(로우레벨에서 하이레벨로)한다. 이것에 의해, 제1채널(15) 및 제2채널(16)에 계속해서 제3채널(17)에 있어서의 데이타 전송이 개시된다.
이 때, 제3채널(17)에 있어서의 바이트 카운트 레지스터(172)에는 1바이트에 따른 데이타가 설정되고, 버스트수 레지스터(174)에는 2바이트에 따른 데이타가 설정되어 있다고 추정한다. 이 제3채널(14)을 이용해서 메인 메모리(3)과 RAM(8)사이에서 1바이트의 데이타 전송이 실행된 곳에서 바이트 카운트 레지스터(172)가 O으로 클리어되므로, 채널요구 신호 CREQ3이 네게이트(하이레벨에서 로우레벨로)되고, 이것을 받아서 채널확인 신호 CACK3도 네게이트(하이레벨에서 로우레벨로)되는 것에 의해서 이 채널(17)에 있어서의 데이타 전송동작이 종료된다.
이와 같이 해서, 채널요구 신호 CREQ3이 네게이트 되었을 때 전체 버스트수 비교 레지스터(132)는 전체 버스트수(131)의 설정값이 8바이트에 도달해 있지 않으므로, 전송 제어부(13)은 그때 버스권을 포기하지 않고 그 우선권 제어에 의해 채널요구 신호 CREQ1에 재차 우선권을 인정해서 최초와 마찬가지로 채널혹인 신호 CACK1을 어서트한다. 이것에 의해, 제1채널(15), 제2채널(16) 및 제3채널(17)에 계속해서 재차 제1채널(15)에 있어서의 데이타 전송이 개시된다.
제1채널(15)에 있어서의 이번의 데이타 전송이 2바이트 실행되면, 전체 버스트수 비교 레지스터(132)의 값이 전체 버스트수 레지스터(131)의 설정값인 8바이트에 도달하므로, 전송 제어부(13)은 채널확인 신호 CACK1을 네게이트해서 제1채널(15)에 있어서는 3바이트째의 데이타 전송동작을 중지시킨다. 또, 전송 제어부(13)은 버스요구 신호 BREQ를 네게이트(로우레벨에서 하이레벨로)해서 버스권을 일단 포기한다. 이것이 의해, 최초에 획득한 버스권에 따른 여러개의 채널에 걸치는 연속적인 데이타 전송은 전체 버스권에 따른 여러개의 채널에 걸치는 연속적인 데이타 전송은 전체 버스트수 레지스터(131)의 설정값으로 규정되는 8바이트에서 거의 종료된다.
이와 같이 해서 버스권의 포기되었을 때 제1채널(15)에 있어서의 바이트 카운트 레지스터(152)에는 2바이트에 따른 값이 남고, 제2채널(16)에 있어서의 바이트 카운트 레지스터(152)에는 1바이트에 따른 값이 남아 있으므로, 채널 요구신호 CREQ1및 CREQ2는 어서트상태를 그대로 유지하고 있다. 따라서 전송 제어부(13)은 재차 버스 요구신호 BREQ를 어서트(하이레벨에서 로우레벨로)해서 호스트 프로세서(4)에 버스권을 요구한다. 이 요구에 대해서 호스트 프로세서(4)가 버스 확인 신호 BACK를 어서트(하이레벨에서 로우레벨로)해서 버스권을 표기하면, 전송 제어부(13)은 그 우선 제어에 따라서 채널요구 신호 CREQ1에 따른 채널확인 신호 CACK1을 어서트한다. 그리고, 재차 제1채널(15)를 거치는 데이타 전송이 개시된다. 제1채널(15)에 있어서의 데이타 전송이 2바이트 실행되면, 바이트 카운트 레지스터(152)가 클리어되는 결과 채널요구 신호 CREQ1이 네케이트되는 것에 따라서, 제1채널(15)에 있어서의 데이타 전송이 종료된다. 채널요구 신호 CREQ1이 네게이트 되었을 때, 제2채널(16)의 채널요구 신호 CREQ2가 어스트 상태에 있고, 또한 전체 버스트수 비교 레지스터(132)의 값이 전체 버스트수 레지스터(131)의 값에 도달해 있지 않으므로, 전송 제어부(13)은 버스권을 포기하지 않고 그대로 채널요구 신호 CREQ2에 우선권을 부여해서 제2채널(16)에 데이타 전송을 개시시킨다. 제2채널(16)에 있어서의 데이타 전송이 1바이트 실행되면, 바이트 카운트 레지스터(162)가 클리어되는 결과(16)에 있어서의 데이타 전송이 종료된다. 본 실시예에 의하면 신호가 없어지므로, 이것에 따라서 전송 제어부(13)은 버스 요구신호 BREQ를 네게이트해서 버스권을 포기한다.
제3도는 본 발명에 관한 데이타 전송 제어장치의 다른 실시예인 직접 메모리 액세스 제어장치를 구성하는 시스템 블럭도이다. 동일도면에 도시된 시스템 블럭도에서 제1도와 동일한 부호가 부가되어 있는 것은 제1도의 실시예중에서 설명되어 있으므로, 여기에서는 그 설명을 생략한다. 또 제2채널, 제3채널에 관해서는 제1채널과 마찬가지로 비스트수 레지스터 부분만 다를뿐이다. 따라서 여기에서는 대표적으로 제1채널(15)를 도시하여 설명한다.
제1채널(15)가 갖는 버스트 모드에 있어서의 연속 데이타 전송 바이트수가 설정되는 버스트수 레지스터(150)은 ROM(Read Only Memory)과 같은 불휘발성 메모리로 이루어진다. 따라서 버스트수 레지스터(150)에는 사전에 연속 데이타 전송 바이트수가 설정되어 있어서 제1채널(15)는 그 설정값에 따라 외선 제어부(6)에서 받은 수신 데이타를 메임 메모리(3)에 전송한다.
또, 전송 제어부(13)이 갖는 여러개의 채널에 걸치는 연속 데이타 전송 바이트수를 규정하기 위한 전체 버스트수 레지스터(130)도 또한 ROM과 같은 불휘발성 메모리로 이루어진다. 따라서, 전체 버스트수 레지스터(130)에는 사전에 여러개의 채널의 연속 데이타 전송 바이트수가 설정되어 있어서, 전송 제어부(13)은 전체 버스트수 비교 레지스터(132)의 값이 전체 버스트수 레지스터(130)의 설정값과 일치하거나 각 채널로부터의 채널요구 신호가 네게이트될 때까지 버스권을 포기하지 않는다.
상기 실시예에 의하면 다음의 작용효과를 얻을 수 있다.
1. DMAC(1)은 각각의 채널에 있어서의 데이타 전송 가능한 상태, 즉 인에이블 비트의 세트상태에 따라서 버스권을 획득하고 각각의 채널에 있어서의 최대 연속 데이타 전송 단어수를 대응하는 버스트 레지스터의 설정값에 따라서 제어함과 동시에, 여러개의 채널에 있어서의 데이타 전송가능한 상태를 받을 때에는 버스권 획득후에 있어서의 연속 데이타 전송 단어수가 최대한 전체 버스트수 레지스터의 설정값에 도달할 때까지 버스권을 유지하도록, 여러개의 채널에 걸치는 일련의 데이타 전송 효율의 향상을 달성할 수가 있다.
2. 본 실시예와 같은 통신 제어용 LSI를 포함하는 여러개의 채널에 걸쳐서 관련있는 데이타를 전송하지 않으면 안되는 시스템에서는 회선 제어부(6)를 거치는 데이타의 송수신 제어에 필요한 제어정보나 데이타 정송제어에 필요한 어드레스 정보 등을 메인 메모리(3)에서 리드하는 것이 필요하게 되고, 또 수신내용에 따라서 송신처리를 실행하는 것도 필요하게 되므로, 각종 제어정보나 송신 데이타를 메인메모리(3)에서 RAM(8)로 전송하거나 수신 데이타를 메인 메모리(3)으로 전송하는 동작 상호간에서 관련을 갖는 경우가 빈번하게 발생하고, 이와 같은 경우에는 본 실시예로 같은 여러개의 채널에 걸쳐서 연속적으로 데이타 전송을 실행할 수 있으면, 시스템 효율을 현저하게 향상시킬 수가 있다. 이 경우, DMAC(1)은 초대한 전체 버스트수 레지스터에 설정된 바이트수를 데이타 전송하는 아니므로, 역으로 호스트 프로세서(4)의 가동효율이 저하할 염려는 없다.
3. 특히 리라이트 가능한 버스트수 레지스터나 전체 버스트수 레지스터를 채용하는 것에 의해서, 여러개의 채널에 걸친 연속적인 데이타 전송 단어수를 임의로 변경할 수 있음과 동시에 시스템의 유연성을 증가시킬 수가 있다. 예를들면, 버스트수 레지스터에 관해서 수신 오버런을 방지하기 위해서는 수신 데이타 전송용의 제1채널(15)의 버스트수를 많이 설정하면 좋다. 또, 송신의 언더런이 임계로 되는 시스템에 있어서는 송신 데이타 전송용의 제2채널(16)의 버스트수를 많이 설정하도록 하면 좋다.
4. 회선 제어부(6)과 메인 메모리(3) 사이에서 실행되는 DMAC(1)의 제어에 의한 데이타 전송에 회선 제어부(6)과 DMAC(1)을 결합하는 DMA 전송 전용 버스(11)을 사용하면, 이러한 데이타 전송시에 공통 내부버스(5)는 이 DMA 전송에 점유되지 않고, DMA 전소중에 CPU(9)는 통신 프로토콜 처리의 필요에 따라서 공통 내부버스(5)를 이용할 수가 있다. 따라서, 통신 제어용 LSI의 성질상 DMAC(1)에 의한 데이타 전송 빈도가 매우 높게 되더라도, 이 상태가 CPU(9)에 의한 통신 프로토콜 처리의 장해로 되는 것을 방지할 수 있어 상기와 같은 시스템의 효율향상에 기여할 수가 있다.
이상 본 발명자에 의해서 이루어진 발명을 실시예에 따라서 구체적으로 설명하였지만, 본 발명은 그것에 한정되지 않고, 그 요지를 이탈하지 않는 범위내에서 여러가지로 변경가능한 것은 물론이다.
예를들면, 상기 실시예에서는 채널의 수를 3개, 그리고 전체 버스트수 레지스터의 수를 1개로 했지만, 본 발명은 이것에 한정되지 않고, 채널이나 전체 버스트수 레지스터의 수를 적당히 변경할 수 있다. 예를들면, 채널수를 10개로 한 경우에 제1채널에서 제5채널까지는 제1전체 버스트수 레지스터의 제어하에 두고, 제6채널에서 제10채널까지를 제2전체 버스트수 레지스터의 제어하에 둘 수가 있다.
또, 상기 1실시예에서 기술한 리라이트 가능한 버스트수 레지스터 및 전체 버스트수 레지스터의 리라이트 타이밍은 시스템 기동시에 한정되지 않고, 채널에 대한 제어정보 설정시에 적절히 실행하도록 하여도 좋다.
또한, 상기 실시예에서는 각 채널요구 신호에 대한 우선제어를 그들 신호의 어서트 타이밍의 빠르고 늦음에 따라서 실행하도록 하였지만, 미리 각 채널에 설정된 우선도에 따라서 우선제어를 실행하도록 하여도 좋다.
이상의 설명에서는 주로 본 발명자에 의해서 이루어진 발명을 그 배경으로 된 이용분야인 1칩 통신 제어용 LSI에 적용한 경우에 대해서 설명하였지만, 본 발명은 그것에 한정되지 않고, DMAC 단체로서, 더 나아가서는 단일칩 마이크로 컴퓨터 등 여러가지 반도체 집적회로에 적용할 수가 있다.
본 발명은 적어도 여러개의 채널을 보유하는 데이타 전송 제어기능을 구비한 조건인 것에 적용할 수 있다.
본 출원에 있어서 개시되는 발명중 대표적인 것에 의해서 얻어지는 효과를 간단하게 설명하면 다음과 같다.
즉, 각각의 채널에 있어서의 연속 데이타 전송 단어수를 버스트수 레지스터의 설정값에 따라서 각각 제어함과 동시에, 버스권을 획득한 후에 있어서의 연속 데이타 전송 단어수가 전체 버스트수 레지스터의 설정값에 도달할 때까지 데이타 전송 가능한 상태에 있는 다른 채널을 위해 버스권을 유지하는 것에 의해서, 여러개의 채널에 걸친 연속적인 데이타 전송을 가능하게 해서 데이타 전송 효율을 향상시킬 수 있다는 효과가 있다.
또, 리라이트 가능한 버스트수 레지스터나 전체 버스트수 레지스터를 채용하는 것에 의해서, 여러개의 채널에 걸친 연속적인 데이타 전송 단어수를 임의로 변경할 수 있음과 동시에, 시스템의 유연성을 증가시킬 수 있다는 효과가 있다.
그리고, 회선 제어부 및 CPU를 구비한 통신 제어용 LSI에 데이타 전송 제어장치를 포함함과 동시에, 이 데이타 전송 제어장치를 회선 제어부에 전용의 데이타 전송 버스로 결합하면, 통신 제어용 LSI 성질상에 데이타 전송 제어장치에 의한 송수신 데이타의 전송빈도가 매우 높게 되더라도 이 상태가 내장 CPU에 의한 통신 프로토콜 처리 등의 장해로 되는 것을 방지할 수 있어 시스템 효율향상에 기여할 수 있다.

Claims (4)

  1. 버스트 모드에 있어서의 데이타 전송의 연속회수를 정의하는 제1의 값을 저장하기 위한 제1의 버스트수 레지스터와 데이타 전송 채널, 상기 버스트 모드에 있어서의 데이타 전송 연속회수를 정의하는 제2의 값을 저장하기 위한 제2의 버스트수 레지스터와 상기 데이타 전송에 관한 어드레스를 저장하기 위한 어드레스 레지스터를 갖는 제2의 데이타 전송 채널, 상기 제1 및 제2의 데이타 전송 채널에 결합되고, 상기 제1 및 제2의 데이타 전송 채널의 상기 데이타 전송을 제어하기 위한 제어수단을 포함하고, 상기 제1의 데이타 전송 채널은 데이타 전송을 요구할 때, 제1의 데이타 전송 요구신호를 발생하고, 상기 제2의 데이타 전송 채널은 데이타 전송을 요구할 때, 제2의 데이타 전송 요구신호를 발생하고, 상기 제어수단은 상기 제1 또는 제2의 데이타 전송 채널에서 발생된 상기 제1 또는 상기 제2의 데이타 전송 요구신호를 수신하였을 때, 버스 요구신호를 외부에 결합될 프로세서에 공급하고, 상기 제어수단은 상기 버스 요구신호에 응답한 상기 프로세서에서 공급된 버스 확인신호에 응답하고, 상기 제1 또는 제2의 데이타 전송 요구신호를 공급하고 있는 상기 제1 또는 제2의 데이타 전송 채널에 데이타 전송 확인신호를 공급하고, 상기 제어수단은 또 상기 버스트 모드에 있어서 상기 제1 및 제2의 데이타 전송 채널에 의해서 실행될 데이타 전송의 전체수를 정의하는 소정값을 저장하는 전체 버스트수 레지스터와 상기 버스트 모드에 있어서 상기 제1 및 제2의 데이타 전송 채널에 의해 설행된 각각의 데이타 전송을 카운트하는 것에 의해서 얻어진 값을 저장하는 비교 레지스터를 갖고, 상기 제1 및 제2의 데이타 전송 채널의 각각 상기 데이타 전송의 상기 대응하는 버스트수 레지스터에 저장된 상기 값과 일치할 때까지 데이타 전송을 실행하고, 상기 제1 및 제2의 데이타 전송 요구신호를 받은 상기 제어수단은 상기 제1의 데이타 전송 채널의 상기 데이타 전송과 상기 제2의 데이타 전송 채널의 상기 데이타 전송 채널의 상기 데이타 전송이 연속 실행되도록, 상기 제1 및 제2의 데이타 전송 채널을 제어하고, 상기 제어수단은 상기 비교 레지스터내의 상기 카운트된 값이 상기 전체 버스트수 레지스터내의 상기 소정값과 일치할 때까지 상기 제1 및 제2의 데이타 전송 채널에 의한 상기 데이타 전송의 실행을 허가하는 데이타 전송 제어장치.
  2. 제1항에 있어서, 상기 제1 및 제2의 데이타 전송 채널의 각각은 상기 대응하는 데이타 전송가능한 상태를 나타내는 데이타를 저장하는 스테이터스 레지스터, 상기 대응하는 데이타 전송 채널에 의해서 전송될 데이타의 버스트수를 저장하기 위한 바이트 카운트 레지스터 및 상기 대응하는 데이타 전송 채널에 의한 상기 각각의 데이타 전송을 카운트하는 것에 의해서 얻어진 값을 저장하기 위한 버스트수 비교 레지스터를 포함하고, 상기 대응하는 데이타 전송 채널은 상기 스테이터스 레지스터에 상기 데이타가 설정될 때, 상기 제어수단에 상기 데이타 전송 요구 신호를 발생하고, 상기 대응하는 데이타 전송채널은 상기 버스트수 비교 레지스터내의 카운트된 값이 버스트수 레지스터내워 상기 값과 일치할 때, 상기 데이타 전송 요구신호를 네게이트하는 데이타 전송 제어장치.
  3. 호스트 프로세서와 함께 이용되고, 여러개의 데이타 전송 채널을 갖고, 상기 호스트 프로세서로부터의 버스 마스터권의 획득을 요구하기 위해 버스 요구신호를 상기 호스트 프로세서에 공급하고, 상기 호스트 프로세서로부터의 버스 확인신호의 수신에 따라서 상기 호스트 프로세서에 상기 버스 마스터권을 획득하는 데이타 전소 제어장치로서, 개객의 데이타 전송 채널에 있어서의 데이타 전송수를 정의하는 소정값을 각각 저장하기 위한 여러개의 버스트수 레지스터, 적어도 두개의 여러개의 데이타 전송 채널에 걸친 연속 데이타 전송수를 정의하는 소정값을 저장하기 위한 전체 버스트수 레지스터 수단을 갖는 전송 제어수단을 포함하고, 상기 전송 제어수단은 상기 여러개의 데이타 전송 채널의 1개로부터 데이타 전송가능한 상태를 나타내는 신호를 받았을 때, 상기 버스 마스터권을 획득하기 위해 상기 버스 요구신호를 상기 호스트프로세서에 공급하고, 상기 전송 제어수단은 상기 버스 마스터권을 획득한 후, 상기 연속 데이타 전송수가 상기 전체의 버스트수 레지스터내에 설정된 상기 값에 도달할 때까지 상기 데이타 전송 가능한 상태에 있는 다른 데이타 전송 채널에 대해서 상기 버스 마스터권을 유지하는 데이타 전송 제어장치.
  4. 프로토콜 처리를 실행하기 위한 중앙처리장치, 상기 중앙처리장치에 대한 제어 데이타를 저장하기 위한 데이타 메모리, 외부에 겹합될 외부장치로부터 시리얼 데이타를 수신하기 위한 회로 제어수단, 상기 회로 제어수단에 결합되고, 수신한 데이타 및 전송될 데이타를 저장하기 위한 데이타 버퍼수단, 상기 데이타 메모리, 상기 데이타 버퍼수단 및 외부에 결합될 메인 메모리에 결합되고, 상기 데이타 버퍼 수단내의 상기 데이타를 상기 메인 메모리에 전송하기 위한 제1채널, 상기 전송될 데이타로서 상기 메인 메모리내의 데이타를 상기 데이타 버퍼수단에 전송하기 위한 제2채널, 상기 데이타 메모리와 상기 메인 메모리 사이에서 데이타를 전송하기 위한 제3채널을 갖는 직접 메모리 액세스 제어장치를 포함하고, 상기 제1, 제2 및 제3채널의 각각은 대응하는 채널의 데이타 전송가능한 상태를 나타내는 스테이터스 데이타가 선택적으로 설정되는 스테이터스 레지스터, 대응하는 채널의 데이타 전송어수를 정의하는 소정값은 저장하는 버스트수 레지스터를 각각 갖고, 상기 제1, 제2 및 제3채널의 각각은 상기 스테이터스 데이타가 상기 대응하는 스테이터스 레지스터내에 설정되었을 때 요구신호를 공급하고, 상기 직접 메모리 액세스 제어장치는 상기 제1, 제2 및 제3채널의 적어도 두개의 채널에 걸친 연속 데이타 전송수를 정의하는 소정값을 저장하기 위한 전체 버스트수 레지스터 수단을 갖는 전송 제어부를 포함하고, 상기 전송 제어부는 상기 제1, 제2 및 제3채널의 적어도 하나의 채널의 상기 요구신호의 수령에 따라서, 버스권을 획득하기 위한 버스 요구신호를 외부에 결합될 호스트 프로세서에 공급하고, 상기 전송 제어부는 상기 버스트수 레지스터의 각각에 설정된 상기 값에 따라서, 상기 개개의 채널에 있어서의 상기 연속 데이타 전송수를 제어하고, 상기 전송 제어부는 상기 버스권을 획득한 후, 상기 연속 데이타 전송수가 상기 전체 버스트수 레지스터에 설정된 상기 값에 도달할 때까지 상기 요구신호를 공급하고 있는 다른 채널을 위해 일단 획득한 버스권을 유지하는 통신 제어장치.
KR1019890000835A 1988-02-19 1989-01-26 데이타 전송 제어장치 KR970005743B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940000299A KR970005744B1 (ko) 1988-02-19 1994-01-10 데이타 전송 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63037171A JP2624989B2 (ja) 1988-02-19 1988-02-19 データ転送制御装置
JP63-37171 1988-02-19

Publications (2)

Publication Number Publication Date
KR890013568A KR890013568A (ko) 1989-09-23
KR970005743B1 true KR970005743B1 (ko) 1997-04-19

Family

ID=12490149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890000835A KR970005743B1 (ko) 1988-02-19 1989-01-26 데이타 전송 제어장치

Country Status (2)

Country Link
JP (1) JP2624989B2 (ko)
KR (1) KR970005743B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2674858B2 (ja) * 1990-04-02 1997-11-12 日本電気株式会社 多重動作可能な機能付dmaコントローラ
JP3055917B2 (ja) * 1990-05-22 2000-06-26 日本電気株式会社 データ転送制御装置
JPH0455969A (ja) * 1990-06-25 1992-02-24 Nec Ic Microcomput Syst Ltd Dma制御回路
JP3524337B2 (ja) 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS623364A (ja) * 1985-06-28 1987-01-09 Fujitsu Ltd バス占有制御方式
JPS6329867A (ja) * 1986-07-23 1988-02-08 Nec Corp Dmaコントロ−ラ

Also Published As

Publication number Publication date
JP2624989B2 (ja) 1997-06-25
JPH01211155A (ja) 1989-08-24
KR890013568A (ko) 1989-09-23

Similar Documents

Publication Publication Date Title
US5179663A (en) Data transfer controller
KR0161101B1 (ko) 호스트 인터럽트 및 지시운용을 가지는 네트워크 어댑터
US5752076A (en) Dynamic programming of bus master channels by intelligent peripheral devices using communication packets
KR100186928B1 (ko) 호스트 지시 조합을 구비하는 장치
US6907478B2 (en) Systems and methods optimizing data transfer throughput of a system on chip
EP0378426A2 (en) Data transfer using bus address lines
KR100267130B1 (ko) Pci 버스 시스템
KR930002787B1 (ko) 주변 제어기와 어댑터 인터페이스
KR100644596B1 (ko) 버스 시스템 및 그 버스 중재방법
EP0438538B1 (en) Priority apparatus having programmable node dwell time
US7165126B2 (en) Direct memory access device
US5689659A (en) Method and apparatus for bursting operand transfers during dynamic bus sizing
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
KR970005743B1 (ko) 데이타 전송 제어장치
EP0331487B1 (en) Data transfer control system
US7007124B2 (en) Image processing system, and semiconductor device and digital still camera apparatus using image processing system
KR970005744B1 (ko) 데이타 전송 시스템
EP0208287B1 (en) Direct memory access controller
JP2723970B2 (ja) データ転送制御装置
EP0087368B1 (en) Interchangeable interface circuit structure
KR100266883B1 (ko) 데이타 버퍼가 부착된 smp 메모리 제어기에 있어서의 대기시간이 짧은 제1 데이타 억세스
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
KR920002830B1 (ko) 다이렉트 메모리 액세스 제어장치
KR100266963B1 (ko) 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치
KR960003649B1 (ko) 통신용 마이크로컴퓨터 시스템

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: 20010330

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee