KR920009448B1 - 프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치 - Google Patents

프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치 Download PDF

Info

Publication number
KR920009448B1
KR920009448B1 KR1019890001426A KR890001426A KR920009448B1 KR 920009448 B1 KR920009448 B1 KR 920009448B1 KR 1019890001426 A KR1019890001426 A KR 1019890001426A KR 890001426 A KR890001426 A KR 890001426A KR 920009448 B1 KR920009448 B1 KR 920009448B1
Authority
KR
South Korea
Prior art keywords
programmable logic
logic array
transfer
data
information
Prior art date
Application number
KR1019890001426A
Other languages
English (en)
Other versions
KR890013563A (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
Priority claimed from JP63027008A external-priority patent/JPH0831080B2/ja
Priority claimed from JP63027007A external-priority patent/JPH0831079B2/ja
Application filed by 후지쓰 가부시끼가이샤, 야마모도 다꾸마, 후지쓰 마이크로컴퓨터 시스템스 가부시끼가이샤, 시무라 도시유끼 filed Critical 후지쓰 가부시끼가이샤
Publication of KR890013563A publication Critical patent/KR890013563A/ko
Application granted granted Critical
Publication of KR920009448B1 publication Critical patent/KR920009448B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

내용 없음.

Description

프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치
제1도는 종래 DMA(direct memory access) 제어장치의 중요한 부분을 나타내는 시스템블록도.
제2도는 본 발명의 동작원리를 설명하기 위하여 본 발명에 따른 DMA 제어장치의 중요한 부분을 나타내는 시스템 블록도.
제3도는 본 발명의 동작원리를 설명하기 위하여 본 발명에 다른 DMA 제어장치의 다른 중요부분을 나타낸는 시스템 블록도.
제4도는 본 발명에 따른 DMA 제어장치의 제1실시예를 나타내는 시스템 블록도.
제5a도 내지 제5d도는 제1실시예의 동작을 설명하기 위한 타이밍도.
제6도는 본 발명에 따른 DMA 제어장치의 제2실시예에서 메모리장치로의 데이타 전송을 설명하기 위한 도.
제7도는 본 발명에 따른 DMA 제어장치의 제3실시예를 나타내는 시스템 블록도.
제8도는 DMA 제어장치의 중요부분과 마이크로시이퀀서의 실시예를 나타내는 시스템 블록도.
제9a도 내지 제9s도는 제8도에 도시된 블록시스템의 동작을 설명하기 위한 타이밍도.
본 발명은 일반적으로 다이렉트 메모리 액세스(DMA : direct memory access) 제어장치, 특허 중앙처리 장치를 갖는 데이타 처리장치에 있어서 중앙처리 장치가 시스템 버스의 전유권(exclusive right)을 상실하는 동안 데이타를 고속으로 메모리 장치와 입/출력 장치 사이에 직접적으로 전송하는 다이럭트 메모리 액세스를 제어하기 위한 다이렉트메모리 액세스 제어장치에 관한 것이다.
통상적으로, 다이렉트 메모리 액세스(하기부터는 간단히 DMA로 칭함) 제어장치는 마이크로프로그램 또는 랜덤논리에 의한 DMA에 따라 데이타 전송을 제어한다. 그러나 종래의 DMA는, 데이타 전송의 비트길이가 비교적 작은 8 또는 16비트이기 때문에 비교적 간단한 어드레스의 제어와 액세스하는 바이트를 결정하기 위한 바이트의 제어만을 필요로한다. 이러한 이유 때문에, DMA제어를 위한 마이크로 프로그램의 사용에 따른 데이타 전송속도의 감소와 DMA 제어를 위한 랜덤논리의 사용에 따른 하드웨어의 증가는 심각한 문제들을 야기시키지 않는다.
그러나, 최근 DMA에 있어서는 데이타 전송의 비트길이가 32비트 정도로 커지고 있다. 결과적으로, 어드레스 제어, 바이트 제어, 그리고 이러한 제어를 수행하기 위한 제어신호 발생의 제어가 극히 복잡해지고 있다. 포트 사이즈(port size), 오퍼랜드 사이즈(operand size) 미스얼라인먼트(misalignment) 등의 조합을 고려할 때, 32비트의 비트길이를 갖는 DMA를 제어하기 위한 DMA 제어장치는 4천가지 이상이 되는 데이타 전송의 상이한 조합들을 제어하여야만 한다. 이 경우엔, 포트 사이즈는 주변 입/출력 장치의 물리적 비트 길이를 의미하며, 오퍼랜드 사이즈는 주변 입/출력 장치의 논리적 비트 길이를 의미한다.
따라서, 데이타 전송의 비트 길이가 32비트 정도로 클때, 제어를 위한 마이크로 프로그램의 사용은 복잡한 조건판단 때문에 많은 수의 프로그램 단계를 가지게하며, 또한 그것은 조건판단을 하는데 상당한 시간이 걸리기 때문에 데이타 전송속도가 느려지는 문제가 있다. 한편, DMA제어를 위해 랜덤논리가 사용될때, 하드웨어의 규모가 극히 커지며, 논리설계시 오차들이 존재하는 경우에는 논리를 수정하는 것이 매우 어렵다는 문제가 있다.
제1도는 DMA 제어를 위해 마이크로그램을 사용하는 종래 DMA 제어장치의 중요부분을 나타낸다. 종래 DMA 제어장치는 요구제어부 10, 마이크로프로그램을 저장하는 마이크로시이퀀서11, 어드레스 레지스터12, 버스 제어부 13을 포함한다.
단자14를 통하여 요구 제어부 10에서 전송요구가 수신될 때, 버스 제어부 13은 요구 제어부 10으로 부터의 명령에 따라 시스템 버스(도시되지 않았음)를 제어하기 위한 리이드/라이트 신호등의 신호를 단자15를 통하여 출력한다. 한편, 어드레스 레지스터12는 요구 제어부 10으로 부터의 명령에 따라 단자 16을 통하여 어드레스를 출력하며, 카운트-업 연산에 의하여 다음 어드레스를 발생한다. 마이크로시이퀀서11은 요구 제어부 10으로 부터의 요구에 따라 데이터 전송을 제어하기 위한 정도를 발생하고 출력한다.
이러한 종래 DMA 제어장치에 의하면, 어드레스 레지스터12의 카운트-업 값을 자유로이 제어하는 것이 필수적이다. 그러나, 카운트-업 값을 자유로이 제어하는 것이 필수적이다. 그러나, 카운트-업 값의 제어는 데이타 전송의 비트 길이가 클때에 특히 복잡하게 되므로 이 제어가 마이크로시이퀀서11에 의하여 수행될때는 프로그램단계들의 수가 더 증가하는 문제가 있다.
따라서, 본 발명의 일반적인 목적은 상술된 문제들이 제거된 편리하고 유용한 DMA 제어장치를 제공함에 있다.
본 발명의 또다른 목적은 내부버스, 시스템 버스와 내부버스 사이의 데이타 교환을 제어하기 위하여 시스템 데이타 버스와 내부 버스에 접속된 데이타 핸들러, 현재의 1전송싸이클 동안에 다이렉트 메모리 액세스 제어장치의 마이크로 프로그램들에 의하여 1시스템클럭 싸이클의 단위로 제어하는 마이크로시이퀀서, 전송요구가 공급되는 프로그램어블로직 어레이부(PLA부), 전송어드레스와 바이트 카운트의 적어도 일부와 전송 모우드 정보, 내부버스에 접속되고 시스템 클럭 싸이클들의 소정수에 대응하는 하나의 전송싸이클 동안에 다음 전송 싸이클 동안에 필요한 제어정보를 출력하는 PLA부 등으로 구성된 다이렉트 메모리 액세스에 의하여 데이타 전송을 제어하기 위하여 시스템 버스에 접속된 DMA 제어장치를 제공함에 있다. 상기에서 메모리 장치와 입/출력장치 사이의 각 데이타 전송은 PLA부와 함께 마이크로시이퀀서의 마이크로 프로그램들에 의하여 제어된다. 본 발명의 DMA 제어장치에 따라 마이크로그램들에 의하여 조건판단들을 만들기 위하여 마이크로시이퀀서상의 부담을 감소시키고 또한, 랜덤논리의 하드웨이 스케일이 커지게 되는 것을 방지할 수 있다. 여기서 데이타 전송의 비트 길이와 상관없이 고속으로 데이타 전송을 할 수 있다.
본 발명의 다른 목적들과 특징은 수반된 도면들에 관련되어 상세히 서술된 명세에 의하여 명백해 질 것이다.
제2도는 본 발명의 동작원리를 설명하기 위하여 본 발명에 따른 DMA 제어장치의 중요부분을 나타낸다. DMA 제어장치는 마이크로시이퀀서21과 프로그램어블 로직 어레이(PLA)부 22를 포함한다. PLA부 22는 PLA22a에 의하여 구성된다.
마이크로시이퀀서21은 단지 20으로 부터의 전송요구에 따라 현재의 전송사이클 동안에 DMA 제어장치의 각 부에 의하여 1시스템 클럭 싸이클의 단위로 제어하기 위해 마이크로 프로그램화 되었다(microprogrammed). PLA부 22는 마이크로시이퀀서부터 수신된 입력조건들에 따라 소정수의 시스템 클럭 사이클들에 대응하는 전송싸이클 동안에 다음 전송 싸이클 동안 필요한 제어정보를 발생한다. 제어정보는 단자 23을 통하여 출력된다. DMA에 의한 데이타 전송은 마이크로시이퀀서21의 마이크로 프로그램들과 프로그램머블로직어레이(PLA)부 22의 랜덤논리에 의하여 제어된다.
상태 지시회로 22b는 제3도에 도시된 바와같이 PLA부 22를 구성하기 위하여 PLA 22a에 결합될 수 있다. PLA 22a는 단자 26을 통하여 수신된 입력조건들에 응답하여 제어정보를 발생한다. PLA 22a의 출력을 기초로 하여, 상태 지시회로 22b는 다음 전송상태를 지시하는 정보를 갱신하고, 이 정보를 PLA 22a에 공급한다. PLA 22a는 입력조건들의 일부로서 상태 지시회로 22b로 부터의 정보를 사용하므로써 제어정보를 연속적으로 발생한다.
따라서, 마이크로프로그램들에 의하여 조건 판단들을 만들기 위하여 마이크로시이퀀서 21상의 부담을 감소시키고, 랜덤논리의 하드웨이 스케일이 매우 커지는 것으로부터 방질할 수 있다. 그러므로, 데이타 전송의 비트 길이가 클지라도 데이타 전송을 고속으로 할 수 있다.
제4도는 본 발명에 따른 DMA 제어장치의 첫 번째 실시예를 나타낸다. DMA 제어장치는 전송 모우드레지스터 30, 게이트 제어 위한 PLA부 22, 요구핸들러 32, OR회로 33, 마이크로시이퀀서21, 산술논리 연산장치(하기부터는 간단히 ALU라 칭함) 35, 데이터 핸들러 36, 내부 데이타 버스 37, 시스템 데이터 버스 38, 시스템 어드레스 비스 39등을 포함한다. 이 실시예에서, PLA부 22는 PLA 22a에 의해서만 구성된다. OR회로 33은 PLA부 22의 일부가 되는 것으로 고려될 수 있다.
중앙처리장치(하기부터는 간단히 CPU라 칭함) 50, 적어도 하나의 입/출력 장치 51, 적어도 하나의 메모리 장치 52들의 데이타 처리장치는 시스템 데이타 버스 38과 시스템 어드레스 버스 39에 접속된다.
전송 모우드 레지스터 30은 버이스트(burst), 싱글, 듀얼 및 싸이클 스틸 모우드등의 전송 모우드들을 등록하기 위하여 사용된다. 이 전송 모우드 레지스터 30은 데이타 시스템 버스 38에 접속된다.
PLA부 22에는 전송 모우드 레지스터 30으로부터 전송 모우드, PLU 35로부터 전송 어드레스의 하위 2비트, ALU 35로부터 바이트 카운트의 하위 3비트가 공급된다. PLA부 22의 출력은 후술되겠지만 마이크로시이퀀서21과 내부 데이타 버스 37에 공급된다.
DMA제어장치의 외부측으로 부터의 요구 전송요구는 단자 31에서 수신되어, 전송요구들의 우선순위 결정을 포함하는 이러 동작을 수행하는 요구 핸들러 32에 공급되며, DMA 제어장치등의 각 부분에 전송요구를 통지하기 위하여 DMA 제어장치의 내부처리를 시작한다. 요구 핸들러32는 OR회로 33과 마이크로시이퀀서21에 DMA 제어장치에 내부처리를 시작하기 위한 전송요구 신호 TREQX를 공급한다. 또한, 요구 핸들러 32는 마이크로시퀀서21에 DMA 제어장치 외부측으로 부터 수신된 외부 어보트(abort)요구등과 같이, 전송요구와 다른 처리요구 OREQX를 공급한다.
마이크로프로그램들은 마이크로시이퀀서 21안에 저장되며, 여러 종류의 마이크로명령들은 PLA부 22, ALU 35 및 데이타 핸들러 36을 제어하기 위하여 OR회로 33, ALU 35 및 데이타 핸들러 36에 공급된다. 또한 마이크로시이퀀서 21은 전송모우드들을 정의하기 위한 조건들을 저장한다.
ALU35는 다음 전송 어드레스와 바이트 카운트를 출력한다. 사용자는 전송하려는 임의의 바이트 수를 미리 지시하기 때문에, ALU 35는 1회의 전송이 끝났을 때 바이트 카운트를 갱신하고, 계산함으로써 전송될 필요가 있는 바이트들이 아직 얼마나 많은 가를 구한다. ALU 35는 내부 데이타 버스 37에 접속된다.
데이타 핸들러 36은 시스템 데이타 버스 38과, 시스템 어드레스버스 39, 내부 데이타 버스 37에 접속된다. 데이타 핸들러 36은 시스템 데이타 버스 38과 내부 데이타 버스 37사이의 데이타 교환을 제어하며, CPU 50의 홀드 요구등을 발생한다.
다음, 첫번째 실시예의 중요부분의 동작을 서술하기로 한다. PLA부 22은 ALU 35로부터 얻어진 전송어드레스의 하위 2비트와 바이트 카운트의 하위3비트를 기초로하여 전송이 이루어지는 어드레스의 미스얼라인 먼트 유무를 판단한다. PLA부 22로부터 출력된 4-비트 바이트 제어정보 BC0-BC3과 3-비트 게이트 정보 G0-G2는 데이타 핸들러 36내의 바이트 스웨퍼(byte swapper : 도시되지 않았음)에 있어서의 데이타를 재배열할 때 사용된다. 데이타의 재배열은 어셈블링, 디스 어셈블링등을 포함한다. PLA부 22로부터 출력된 1-비트의 넥스트 사이드(next side) 정보 NEXTS는 전송이 소오스의 전송처리인지 아니면 데스티네이션(destination)의 전송 처리인지를 지시한다. 넥스트 사이드 정보 NEXTS는 마이크로시이퀀서21에 공급되고, 내부 데이타 버스 37을 통하여 데이타 핸들러 36에 공급된다.
PLA부 22로부터 출력된 1-비트의 콘티뉴(continue)정보 CONT는 현재 행해지고 있는 처리의 반복을 지시한다. 사용자는 단지 1회의 전송요구만을 한다. 그러나, 소오스와 데스티네이션에 따라 2회의 전송이 필요한 경우가 있으며, 이러한 이유 때문에 콘티뉴 정보 CONT가 사용된다. PLA부 22로부터 출력된 1-비트의 바이트 카운트 오프셋 정보 BCOFFSET 와 1-비트의 어드레스 오프셋 정보 ADROFFSET는 ALU35에서 가감산을 행할때의 바이트 카운트의 가감산값과 다음 전송 어드레스를 계산하기 위한 오프셋 정보이다. PLA부 22로부터 출력된 1-비트의 화이널(final)정보 FINAL은 현재 행해지고 있는 전송이 마지막 전송이라는 것을 지시한다. 전송하기 위한 어드레스가 미스얼라인(misalign)되는 경우에, 전송이 1전송 싸이클에서 완결되리라 보증할 수 없다. 여기서, 화이널 정보 FINAL은 마지막 전송을 지시하기 위해서 마이크로시이퀀서21에 공급된다. PLA부 22로 부터 출력된 신호들 중에 화이널 정보 FINAL, 바이트 제어정보 BC0-BC3 및 콘티뉴 정보 CONT는 마이크로시이퀀서21에 공급된다.
제5a도 내지 제5d도는 첫 번째 실시예의 중요부분의 동작 타이밍을 설명하기 위한 타이밍도이다. 제5a도는 시스템 클럭신호 CLK, 제5b도는 PLA부 22의 처리 타이밍, 제5c도는 마이크로시이퀀서21의 처리 타이밍, 제5d도는 데이타 핸들러 36의 처리 타이밍을 각각 나타낸다. 편리상, 제5a도 내지 제5d도에서는 1전송 싸이클(1버스 싸이클)이 시스템 클럭신호 CLK(즉, 3시스템 클럭신호들)의 3클럭 싸이클들에 대응하는 것으로 한다.
따라서, PLA부 22는, 현재 전송에 관련된 정보인 화이널 정보 FINAL 등을 제외하고 기본적으로는 다음 전송에 필요한 제어용 정보를 1전송 싸이클의 단위로 출력한다.
한편, 마이크로시이퀀서21은 각 시스템 클럭 싸이클에서 현재의 전송동안 내부 데이타 버스 37을 어떻게 사용할것인가를 제어한다. 즉, 마이크로시이퀀서21은 현재의 1전송 싸이클 동안에 DMA 제어장치의 각 부분을 제어한다. 더욱이, 데이타 핸들러 36은 1전송 싸이클 동안에 소오스와 데스티네이션 사이의 데이타 전송을 행한다.
일반적으로, DMA에 의하여 데이타 전송을 행하는 경우에, 최초 전송을 향하기 위한 전송 어드레스, 전송 모우드등의 정보를 라이트(write)한 후에 전송을 실행한다. 여기서, 어떤 종류의 전송이 행하여 지든 미리 예측할 수 있다. 이 실시예에서, 마이크로시이퀀서21내의 마이크로프로그램들에 의한 조건판단의 부담을 줄이기 위해서, PLA부 22는 다음 전송에 필요한 정보를 1전송 싸이클의 단위로 예측한다. 그러므로, 데이타 전송의 비트 길이가 클지라도 데이타 전송을 고속으로 행할 수 있다.
다음에는 본 발명에 다른 DMA 제어장치의 두 번째 실시예에 대해서 서술하기로 한다. 이 실시예에서, 블록 시스템은, 제3도에 의거하여 전술된 바와같이 PLA부 22가 PLA22a와 상태 지시회로 22b를 포함하는 것을 제외하고 제4도에 도시된 것과 동일하다. PLA부 22의 구성은 본 실시예의 중요한 부분을 구성한다. 또한, 이 경우에 OR회로 33을 PLA부 22의 일부분이 되는 것으로 생각할 수 있다.
DMA에 의하여 데이타 전송을 행할때, 그 이후의 처리는 보통 순차적으로 수행된다. 그러나, 데이타 전송의 비트길이가 큰 경우와 시스템(데이타 처리장치)전체의 스캐일이 큰 경우에, 그의 초기 조건들은 매우 복잡하다. 따라서, 이 실시예에서는 복잡한 입력 조건들을 상대적으로 쉽게 처리 할 수 있는 PLA부 22에 의하여 처리한다. 더욱이, 상태 지시회로 22b는 순차적인 처리를 행하기 위하여 설치되며, PLA 22a의 출력을 기초로 하여 다음 전송 상태를 갱신하고 그 갱신된 전송 상태를 PLA 22a에 공급한다. 따라서, PLA22a는 상태 지시회로 22b로 부터의 정보를 입력 조건들의 일부로서 사용하여, 제어용 정보를 연속적으로 발생한다. 즉, 다음 전송상태를 상태 지시회로 22b의 출력 정보에 의거하여 결정된다.
예를 들면, 상태 카운터가 상태 지시회로 22b에 대해서 사용될 수 있다. 이 상태 카운터는 가산기등의 특별한 회로가 필요 없으며, 간단히 PLA22a의 출력을 기초로한 값을 갱신하기 위한 래치회로와 같은 회로만으로도 충분하다. 따라서, 상태 카운터의 내용은, 상승 또는 하강 숫자일 필요는 없고 단순히 어떤 상태를 나타내는 부호만으로도 충분하다. 결과적으로, 보다 복잡한 조건들에 의한 처리, 즉 데이타 전송의 제어는 쉽게 행하여질 수 있다.
다음에는, 1회에 8비트의 데이타를 출력하는 입/출력 장치등의 8비트 장치(도시되지 않았음)로부터 32-비트 메모리 장치(도시되지 않았음)에 데이타 전송을 행하는 경우에 두번째 실시예의 PLA부 22의 동작에 대해서 서술하기로 한다. 이 경우에, 8-비트 장치는 4회로 나누어진 데이타를 데이타 부분 A, B, C, D로 출력한다. 이 데이타 부분 A, B, C, D가 제6도에 도시된 바와 같이 32-비트 메모리 장치의 어드레스에 라이트되어, 32-비트의 데이타가 완결된다. 다음 32-비트 데이타도 데이타 부분 E, F, G, H로서 32-비트 메모리 장치에 유사하게 라이트되며, 그 이후의 데이타 전송도 유사하게 행해진다.
데이타 부분 A, B, C, D의 처리를 특징으로 하는 부분은 8비트의 단위로 나누어진 데이타 어드레스의 최하위 2비트 A1과 A0의 값이다. 따라서, 최하위 2비트 b1과 b0이 동일한 값인 어드레서를 갖는 데이타부분 A의 처리는 최하위 2비트 b1과 b0가 동일한 값인 어드레스를 갖는 데이타 부분 E의 처리는 같다. 여기서, 4종류의 처리가 제6도에 도시된 케이스에 준비될 때, 각 32-비트 데이타가 4종류의 처리를 순차적으로 반복하므로써 32-비트 메모리 장치에 전송시킬 수 있음을 알 수 있다.
상태 지시 번호 "0", "1", "2", "3"이 데이타 부분 A, B, C, D의 처리에 부여될 때, 상태 지시 회로 22b(상태 카운터)의 초기치는 상태 지시번호 "0"으로 먼저 설정한다. 다음에, 데이타 부분 A는 입력 조건들과 상태 지시회로 22b로 부터의 상태 지시번호 "0"에 응답하여 PLA 22a로부터 발생되고 출력된 데이타부분A의 제어용 정보를 기초로 하여 32-비트 메모리 장치에 전송된다. 다음에, PLA 22a는 입력 조건들과 상태 지시회로 22b로부터의 상태 지시번호 "1"에 응답하여 데이타 부분 B의제어용 정보를 발생하고 출력한다. 따라서, 데이타 부분 B는 PLA 22a의 출력 제어용 정보를 기초로 하여 32-비트 메모리 장치에 전송되며, 동시에 상태 지시번호"2"가 PLA22a로부터 얻어지고, 상태 지시회로 22b에 설정한다. 상태 지시회로 22b에 설정된 상태 지시번호가 "3"이 될 때, 다음의 상태 지시번호는 "0"으로 되돌아가며, 그후 동작은 유사하게 수행된다. 그러므로, 데이타 부분 A, B, C, D로된 데이타와 데이타 부분 E, F, G, H로된 데이타 등을 32-비트 메모리 장치에 전송할 수 있다.
본 실시예에 따라, 산술논리장치(ALU" : arithmetic logicunit)등의 복잡한 회로를 사용하지 않고, PLA 22a에 다음 전송 상태를 지시하는 정보를 연속적으로 공급할 수 있으며, 마이크로시이퀀서 21의 조건 판단의 부담을 증가시키지 않고 복잡한 데이타 전송을 제어할 수 있다. 더우기, DMA 제어장치는 시스템(데이타 처리장치)의 디자인 변경에 유연성을 갖고 쉽게 대처할 수 있다.
다음에, 본 발명에 따른 DMA 제어장치의 세번째 실시예에 대해서 제7도에 의거하여 서술하기로 한다. 제7도에서, 제4도에 대응하는 부분들과 기본적으로 같은 부분들은 동일 참조번호들을 부여하였으며, 그의 설명은 생략할 것이다. 제7도에서, DMA 제어장치는 제4도에 도시된 구성요소들과 더불어 바이트 카운트 레지스터41과 전송 어드레스 레지스터 42를 포함한다. PLA부 22는 AND회로부터 434, OR회로부 45 및 타이밍 제어부 46을 갖는다. 제7도에서는 시스템 데이타와 어드레스 버스들, CPU, 입/출력장치, 메모리 장치등의 설명을 생략하기로 한다.
바이트 카운트 레지스터 41은 데이타 전송중에 남는 바이트 카운트를 저장한다. 1전송이 행하여 질때는 언제나, ALU 35는 바이트 카운트 레지스터 41에 저장된 바이트 카운트를 감소시킨다. 전송 어드레스 레지스터 42는 현재 전송되고 있는 데이터 어드레스 값을 저장한다. 전송 어드레스 레지스터 42에 저장된 어드레스 값의 갱신은 전송 모우트에 의존한다. 전술된 바와 같이, 전송 모우드 레지스터 10은 데이타 전송을 위한 여러 정보를 저장하고, 마이크로시이퀀서21은 마이크로프로그램들에 의하여 DMA 제어장치의 모든 동작을 제어한다. 상태 지시회로 22b는 PLA 22a를 순차적으로 동작시키기 위하여 상태 지시번호(또는 상태변수)를 저장한다. 내부 데이타 버스 37은 PLA 22a의 출력데이타 데이타 핸들러 36에 전송하는 것과 같이 내부 정보를 전송하기 위하여 사용된다. ALU 35는 어드레스와 바이트 카운터의 가감산을 행한다. 데이타 핸들러 36은 DMA 제어장치와 그의 외부장치 사이에 신호들의 교환을 제어한다.
본 실시예에서, 바이트 카운트 레지스터 41에서의 바이트 카운트 "7"이 되는 경우에, 신호 DONE가 전송 종료 동작에 들어가기 위해서 PLA 22a에 공급된다. 또한 바이트 카운트 하위 3비트 BD2, BD1, BD0이 바이트 카운트 레지스터 41로부터 PLA 22a에 공급된다. PLA 22a는 신호 DONE가 전송 종료 동작에 대해 제공되기 위해서 수신될 때, 이들 하위 3비트 BD2, BD1, BD0를 조회한다.
현재 데이타 전송을 행하는 측(소오스, 또는 테스티네이션)에서 데이타 어드레스의 초기치의 하위 2비트 b1과 b0가 전송 어드레스 레지스터 42로부터 PLA22a에 공급된다. 더우기, 현재 데이타 전송을 행하지 않는 측에서 데이타 어드레스의 초기치의 하위 2비트 EA1과 EA0가 전송 어드레스 레지스터 42로부터 PLA22a에 공급되나, PLA 22a는 단지 특별한 전송을 할때에만 이들 하위 2비트 EA1과 EA0를 조회한다. 즉 하위 2비트 EA1과 EA0는 정상적으로 사용되지 않는다.
신호 WID/DSW, OPR, MD/DPS, CN, SPE/SIN 들은 전송 모우드 레지스터 10으로부터 PLA 22a에 공급된다. 신호 WID/DSW는 버스폭을 나타내는 것으로, 신호 WID는 정상전송에 사용된 버스의 폭이며, 신호 DSW는 그 위에 디스크립터(descrptor)가 존재하는 버스의 폭이다. 신호 OPR은 두 비트로 오퍼랜드사이즈를 나타내는 것으로, "00"는 1바이트 오퍼랜드, "01"은 1/2워어드 오퍼랜드, "10"은 1워어드 오퍼랜드, "11"은 긴 워어드 오퍼랜드를 각각 나타낸다. 신호 MD/DPS는 장치의 종류와 포트 사이즈를 나타낸다. 신호 MD는 장치가 메모리 장치인지 입/출력 장치인지를 나타내며, 신호 DPS는 2비트로 포트 사이즈를 나타내는 것으로, "00"는 8-비트 포트, "01"은 16-비트 포트, "10"는 32-비트 포트를 각각 나타낸다. 신호 DPS는 신호 에가 메모리 장치를 지시하는 경우에 무시된다. 신호 CN은 2비트로 어드레스의 갱신 지시를 나타내는 것으로, "00"는 고정된 어드레스, "01"은 증가하는 어드레스, "10"는 감소하는 어드레스를 각각 나타낸다. 신호 SEP/SIN 각각은 특별한 전송 모우드와 싱글 전송 모우드를 나타낸다.
마이크로시이퀀서 21로 부터 PLA 22a에 공급된 신호 ID는 2비트로 처리 모우드를 나타내는 것으로, "00"는 정상전송, "01"은 초기치 설정, "10"은 체인 모우드, "11"은 예의 처리를 각각 나타낸다. 신호 TC, HDC, NEXTS는 상태 지시회로 22b로부터 PLA 22a에 공급된다. 신호 TC는 3비트로 단위 데이타의 전송수를 기억하며, PLA 22a를 마이크로시이퀀서 21과 같이 동작하도록 만든다. 신호 HDC는 3비트로 상태 지시회로 22b내의 임시 레지스터(도시되지 않았음)에 저장된 데이타수를 기억하며, 신호 NEXTS는 첫번째와 두번째 실시예의 정보 NEXTS에 대응한다. 이 신호 NEXTS는 다음 전송이 소오스 장치에 의하여 수행될는지 아니면 데스티네이션 장치에 의하여 수행되는 지를 나타낸다.
PLA 22a는 다음신호들 GC/BC, AO/BO, CONT, DNE, ACR, BLK, TACK, FINAL, TC, HDC, NEXTS들을 출력한다. 신호 GC/BC는 각각 데이타 핸들러 22내의 데이타 스웨퍼에 대한 3-비트와 4-비트의 게이트 제어 신호이다. 신호 GC/BC는 첫번째와 두번째 실시예의 정보 G0-G2와 정보 BC0-BC2에 대응한다. 신호 GC/BC는 각각 데이타 핸들러 22내의 데이타 스웨퍼에 대한 3-비트와 4-비트의 게이트 제어 신호이다. 신호 AO/BO는 각각 정보 ADROFFSET와 BCOFFSET에 대응한다. 신호 A0는 전송 어드레스를 갱신하기 위한 오프셋 값을 나타내는 7-비트 신호이고, 신호 B0는 바이트 카운트를 갱신하기 위한 오프셋 값을 나타내는 3-비트 신호이다. 신호 CONT는 버스 싸이클의 자동 연속을 지시한다. 신호 DNE는 신호 DONE 전송 중에 인터럽트 될 수 있는 사이클을 나타낸다. 신호 ACR은 특별한 전송중에 전송 어드레스의 클리어링(ciearing)을 지시한다. 신호 BLK는 배취(batch)전송 모우드를 지시한다. 신호 TACK는 요구 핸들러 32에 다음 요구의 출력 인에이블을 지시한다. 신호 FINAL은 1데이타 블록의 전송종료를 마이크로시이퀀서 21에 지시한다. 신호들 TC, HDC, NEXTS의 지시는 상태 시지회로 2b로 부터의 신호들 TC, HDC, NEXTS와 동일하다. 신호 CONT와 NEXTS는 마이크로시이퀀서 21에 공급된다.
OR회로 33이 요구 핸들러 32로 부터의 요구 TREOX 또는 마이크로시이퀀서 21로부터의 요구 ORQ를 PLA 22a의 타이밍 제어부 46에 공급하는 경우에, 타이밍 제어부 46은 PLA 22a의 AND회로부 44와 OR회로부 45에 PLA 22a로부터 신호들을 읽어내기 위한 제어신호를 공급한다. OR회로 33은 정상 전송 중에 요구 TREQX를 공급하고, 초기치 설정, 예의 처리등의 기간에는 요구 ORQ를 공급한다. 요구 ORQ는 요구 핸들러 32로 부터의 요구 TREQX를 처리하는 마이크로시이퀀서 21로 부터 얻어진다.
ALU 35로부터 출력된 32-비트 신호 BYTE는 바이트 카운트 레지스터 41에 리턴된 바이트 카운트이다. 바이트 카운트는 매 전송 싸이클마다 갱신된다. ALU 35로부터 리턴된 전송 어드레스이다. 전송 어드레스는 세팅이 전송 어드레스를 갱신하기 위하여 행해지는 경우에 매 전송 싸이클에 대하여 갱신된다.
제8도는 DMA 제어장치의 중요부분과 함께 마이크로시이퀀서 21의 실시예를 나타낸다. 이 마이크로시이퀀서 21은 전술된 첫번째 내지 세번째 실시예 모두에 적용할 수 있다. 제8도에서, 제4도와 제7도에 대응하는 부분들과 기본적으로 동일한 부분들은 동일 참조번호들을 부여하였으며, 그들의 설명은 생략하기로 한다. OR회로 33등의 설명은 생략되었다.
제8도에서, 마이크로시이퀀서 21은 제어 논리부 61, 증가부 62, 어드레스 레지스터 63, 셀렉터 64, 리이드 온리 메모리(ROM)65, 데이타 레지스터 66과 67, 도시된 바와 같이 연결된 PLA 68과 69등을 갖는다. 데이타 핸들러 36은 소오스와 데스티네이션 어드레스등의 제어용 정보를 저장하기 위한 래지스터 70을 갖는다.
제9a도 내지 제9s도는 제8도에 도시된 블록 시스템의 동작을 설명하기 위한 타이밍도이다. 제9a도와 제9b도는 각각 첫번째와 두번째 클럭신호 ø1과 ø2를 나타낸다. 첫 번재 클럭 신호 ø1의 펄스와 두번째 클럭 신호ø2이 펄스의 오버랩이 없다. 제9c도의 마이크로시이퀀서 21을 시작하기 위하여 요구 핸들러 32로부터 출력된 신호 TREQX를 나타내며, 제9d도는 ROM 65에 공급된 어드레스를 나타낸다. 제9e도와 제9f도는 각각 ROM 65의 충전 타이밍과 방전타이밍을 나타낸다. 제9g도와 제9h도는 각각 데이타 레지스터 66과 67의 출력을 나타낸다. 제9i도는 제어 논리부 61로부터 데이타 레지스터 66에 공급된 데이타 인에이블 신호 DENX를 나타낸다.
제9j도는 데이타 레지스터 66으로부터 출력된 마이크로 명령들 중의 하나이고, 특히 ALU35의 입력 래치에 관련된 신호의 출력 타이밍을 나타낸다. 제9k도는 데이타가 ALU 35의 입력 래치에서 래치된 타이밍이다. 제9ℓ도는 ALU 35가 가산을 행하는 타이밍을 나타내며, 제9m도는 ALU 35의 계산 결과가 ALU 35의 출력 래치에서 래치되는 타이밍을 나타내며, 제9n도는 ALU 35의 출력 래치의 출력이 내부 데이타 버스 37를 통하여 데이타 핸들러 36에 전송되는 타이밍을 나타낸다. 래치 인에블 신호는 마이크로 명령에 의하여 지시되며, 내부 데이타 버스 37상에 정보를 싣기 위한 신호로서 데이타 핸들러 36에서 사용된다. 제9o도는 PLA부 22로 부터의 정보가 내부 데이타 버스 37을 통하여 데이타 핸들러 36에 전송되는 타이밍을 나타낸다. 제9p도는 마이크로 명령들, 즉 점프 플래그 JFLG와 점프 코드 JCODE에 의하여 조건 판단을 지시하기 위한 타이밍을 나타낸다. 점프 데스티네이션 어드레스는 필요하면 출력된다. 제9q도는, PLA 69에서의 입력을 기초로 하여 셀렉터 스위칭 정보를 발생하고, 만일 필요하다면 점프 코드 JOODE와 조건들을 기초로 하여 PLA 68에서 점프 데스티네이션 어드레스를 발생하는 것과 같이 조건 판단들을 만들기 위한 타이밍을 나타낸다. 제9r도는 PLA 68과 69의 출력 래치되는 타이밍이다. 제9s도는 셀렉터 64가 스위치되는 타이밍을 나타낸다. PLA 69의 출력정보, 증가부62의 출력에 따라, PLA 68, 또는 어드레스 레지스터 63은 다음에 읽어내는 ROM 65의 어드레스로서 사용된다. 일반적으로, 증가부 62의 출력은 선택되며, PLA 68 또는 어드레스 레지스터 63의 출력은 조건 판단이 완결 되었을때 선택된다.
더우기, 본 발명은 이들 실시예들로만 제한되지 않으며, 본 발명의 범위를 벗어나지 않고 수정과 변경을 가할 수 있다.

Claims (21)

  1. 타이렉트 메모리 액세스에 의하여 데이타 전송을 제어하기 위하여 시스템 버스에 접속된 다이렉트 메모리 액세스 제어장치에 있어서, 상기 제어장치의 구성요소사이에 데이터 전송 경로를 제공하기 위한 내부버스수단과, 상기 시스템 데어터버스와 상기 내부 버스 사이의 데이타 교환을 제어하기 위하여 상기 시스템 버스와 상기 내부 버스 수단에 접속된 데이타 핸들러수단과, 상기 내부 버스수단과 상기 데이터 핸들러 수단에 접속되고 마이크로 프로그램에 따라서 현재의 1전송 싸이클 동안에 다이렉트 메모리 액세스 제어장치를 1시스템 클럭 싸이클의 단위로 제어하는 마이크로시이퀀서 수단과, 상기 내부 머스 수단에 접속되고 몇 바이트의 데이터가 전송되기 위해 잔존하는 지를 지시하는 마이트 카운트와 다음의 전송 어드레스를 출력하기 위한 상술 논리 장치수단, 상기 마이크로시이퀀서 수단에 접속되고 외부 전송요구를 수신하고 프로그래머블 논리어레이 수단에 외부 전송 요구를 공급하기 위한 요구 핸들러 수단, 상기 마이크로시이퀀서 수단의 출력에 접속되고, 전송 요구, 전송 모우드 정보, 및 전송 어드레스와 바이트 카운트의 적어도 일부가 공급되고, 상기 내부 버스에 접속되고, 상기 마이크로시이퀀서 수단의 출력에 따라 소정수의 시스템 클럭 싸이클에 대응하는 1전송 싸이클 동안에 다음 전송 싸이클에 필요한 제어용 정보를 출력하는 프로그램어블논리 어레이 수단등으로 구성되고, 입/출력 장치와 메모리장치 사이의 데이타 전송은 상기 프로그램어블 논리 어레이 수단의 출력신호와 함께 상기 마이크로시이퀀서 수단의 마이크로프로그램들에 의하여 제어되는 것을 특징으로 하는 프로그램어블 논리어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  2. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단이 데이타의 재배열을 지시하는 정보를 상기 데이타 핸들러 수단에 출력하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  3. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단은, 다음 데이타 전송이 소오스 장치의 전송 처리에 관한 것인지, 아니면 데스테네이션 장치에 관한 것인지를 나타내는 정보를 출력하고, 상기 소오스와 데스티네이션 장치가 각각 상기 입/출력 장치와 상기 메모리 장치 또는 그 반대인 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  4. 제1항에 있어서, 상기 프로그램어블 논리어레이부 수단은 현재 행해지는 처리의 반복을 지시하는 정보를 출력하여, 이 정보를 상기 데이타 핸들러 수단에 공급하는 프로그램어블 논리어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  5. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단은 적어도 다음 전송 어드레스를 계산하기 위한 정보를 출력하고, 이 정보를 상기 산슬 논리연산 수단에 공급하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  6. 제1항에 있어서, 상기 요구 핸들러 수단은 외부 전송요구의 우선순위를 결정하기 위한 수단과 다이렉트 메모리 액세스 제어장치의 내부 처리를 개시하기 위한 수단을 포함하는 프로그램머블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  7. 제1항에 있어서, 상기 프로그램어블 논리 어레이 현재 전송의 종료를 나타내는 정보를 출력하고, 이 정보를 상기 마이크로시이퀀서 수단에 공급하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  8. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단에 공급되는 전송 모우드 정보를 저장하기 위한 전송 모우드 레지스터를 더 포함하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  9. 제10항에 있어서, 산술 논리연산 수단으로 부터의 바이트 카운트와 다음 전송 어드레스를 각각 저장하기 위한 바이트 카운트 레지스터와 전송 어드레스 레지스터를 더 포함하고, 상기 바이트 카운트 레지스터와 상기 전송 어드레스 레지스터가 각각 그 안에 저장된 바이트 카운트와 전송 어드레스의 적어도 일부를 상기 프로그램어블 논리 어레이 수단에 공급하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  10. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단은 전송 요구에 따라 상기 프로그램어블 논리어레이 수단으로 부터의 제어정보 출력을 제어하기 위한 타이밍 제어부와, AND 회로부, OR 회로부를 포함하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  11. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단은, 전송요구, 전송 모우드 정보, 전송 어드레스와 바이트 카운트의 적어도 일부를 포함하는 입력 조건들이 공급되고, 상기 내부 버스에 접속되고, 소정수이 시스템 클럭 사이클에 대응하는 1전송 싸이클 동안에 랜덤 논리에 의하여 다음 전송 싸이클에 필요한 제어용 정보를 출력하는 프로그램어블 논리 어레이와, 상기 프로그램어블 논리 어레이 수단의 출력을 기초로하여 다음 전송 상태를 나타내는 정보를 갱신하고, 이 정보를 상기 입력조건들의 일부로서 상기 프로그램어블 논리 어레이 수단에 공급하기 위하여 상기 프로그램어블 논리 어레이 수단에 접속된 상태 지시회로를 갖는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  12. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은 데이타의 재배열을 지시하는 정보를 상기 데이타 핸들러 수단에 출력하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  13. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은, 다음 데이타 전송이 소오스 장치의 전송처리에 관한 것인지 아니면 데스티네이션 장치의 전송 처리에 관한 것인지를 나타내는 정보를 출력하고, 상기 소오스 장치는 상기 입/출력 장치이고 상기 데스티네이션장치는 상기 메모리 장치이거나 소오스장치는 메모리 장치이고 데스티네이션 장치를 입/출력장치인 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  14. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은 현재 행해지는 처리의 반복을 지시하는 정보를 출력하고, 이 정보를 상기 데이타 핸들러 수단에 공급하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  15. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은 적어도 다음 전송 어드레스를 계산하기 위한 현재 정보를 출력하고, 이 정보를 상기 산슬 논리연산 수단에 공급하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  16. 제13항에 있어서, 상기 요구 핸들러 수단은 외부 전송 요구들의 우선순위를 결정하기 위한 수단과 다이렉트 메모리 액세스 제어장치의 내부 처리를 개시하기 위한 수단을 포함하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  17. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은 현재 전송의 종료를 나타내는 정보를 출력하고, 이 정보를 상기 요구 핸들러에 공급하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  18. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단에 공급되는 전송 모우드 정보를 저장하기 위한 전송 모우드 레지스터를 더 포함하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  19. 제22항에 있어서, 상기 산술 논리 연산 수단으로부터의 바이트 카운트와 다음 전송 어드레스를 각각 저장하기 위한 바이트 카운트 레지스터와 전송 어드레스 레지스터를 더 포함하고, 상기 바이트 카운트 레지스터와 상기 전송 어드레스 레지스터 각각이 그 안에 저장된 바이트 카운트와 전송 어드레스의 적어도 일부를 상기 프로그램어블 논리 어레이 수단에 공급하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  20. 제13항에 있어서, 상기 프로그램어블 논리 어레이 수단은 AND회로부, OR회로부, 전송요구에 따라 상기 프로그램어블 논리 어레이 수단으로 부터의 제어정보의 출력을 제어하기 위한 타이밍 제어부를 포함하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
  21. 제1항에 있어서, 상기 프로그램어블 논리 어레이 수단은 전송 요구와 상기 마이크로시이퀀서 수단으로부터의 특정 전송 요구가 공급되는 OR회로를 포함하고, 상기 마이크로시이퀀서 수단은 전송요구를 특정 전송 요구로 처리하는 것을 특징으로 하는 프로그램어블 논리 어레이를 갖는 다이렉트 메모리 액세스 제어장치.
KR1019890001426A 1988-02-08 1989-02-08 프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치 KR920009448B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP?63-27008 1988-02-08
JP63027008A JPH0831080B2 (ja) 1988-02-08 1988-02-08 Dma制御装置
JP63027007A JPH0831079B2 (ja) 1988-02-08 1988-02-08 Dma制御装置
JP?63-27007 1988-02-08
JP63-27007 1988-02-08

Publications (2)

Publication Number Publication Date
KR890013563A KR890013563A (ko) 1989-09-23
KR920009448B1 true KR920009448B1 (ko) 1992-10-16

Family

ID=26364866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019890001426A KR920009448B1 (ko) 1988-02-08 1989-02-08 프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치

Country Status (4)

Country Link
US (1) US5119487A (ko)
EP (1) EP0328450B1 (ko)
KR (1) KR920009448B1 (ko)
DE (1) DE68927015D1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01237864A (ja) * 1988-03-18 1989-09-22 Fujitsu Ltd Dma転送制御装置
JPH01258163A (ja) * 1988-04-08 1989-10-16 Fujitsu Ltd ダイレクトメモリアクセス制御装置
US5826101A (en) * 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
CA2060820C (en) * 1991-04-11 1998-09-15 Mick R. Jacobs Direct memory access for data transfer within an i/o device
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
JP3471384B2 (ja) * 1993-03-19 2003-12-02 富士通株式会社 データ転送装置及びデータ転送処理方法
US5640598A (en) * 1994-07-12 1997-06-17 Mitsubishi Denki Kabushiki Kaisha Data transfer processing system
US5717952A (en) * 1994-11-16 1998-02-10 Apple Computer, Inc. DMA controller with mechanism for conditional action under control of status register, prespecified parameters, and condition field of channel command
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US5671443A (en) * 1995-02-21 1997-09-23 International Business Machines Corporation Direct memory access acceleration device for use in a data processing system
US5859990A (en) * 1995-12-29 1999-01-12 Intel Corporation System for transferring data segments from a first storage device to a second storage device using an alignment stage including even and odd temporary devices
CN1076839C (zh) * 1996-01-25 2001-12-26 全友电脑股份有限公司 数据处理装置
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
CN105573937B (zh) * 2015-12-21 2019-02-22 曙光信息产业(北京)有限公司 用于数据重传的系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2396468A1 (fr) * 1977-06-30 1979-01-26 Ibm France Perfectionnement aux reseaux logiques programmables
US4348720A (en) * 1979-08-31 1982-09-07 Bell Telephone Laboratories, Incorporated Microcomputer arranged for direct memory access
DE3241378A1 (de) * 1982-11-09 1984-05-10 Siemens AG, 1000 Berlin und 8000 München Integrierte mikroprogrammierte vorrichtung zur steuerung von informationsverarbeitungsablaeufen und verfahren zu ihrem betrieb
US4488230A (en) * 1982-12-08 1984-12-11 At&T Bell Laboratories Programmed logic array with external signals introduced between its AND plane and its OR plane
JPH0760423B2 (ja) * 1984-12-24 1995-06-28 株式会社日立製作所 データ転送方式
US4821180A (en) * 1985-02-25 1989-04-11 Itt Corporation Device interface controller for intercepting communication between a microcomputer and peripheral devices to control data transfers
US4722051A (en) * 1985-07-26 1988-01-26 Ncr Corporation Combined read/write cycle for a direct memory access controller
US4924427A (en) * 1985-11-15 1990-05-08 Unisys Corporation Direct memory access controller with direct memory to memory transfers
US4791603A (en) * 1986-07-18 1988-12-13 Honeywell Inc. Dynamically reconfigurable array logic
US4805137A (en) * 1987-01-08 1989-02-14 United Technologies Corporation Bus controller command block processing system

Also Published As

Publication number Publication date
DE68927015D1 (de) 1996-10-02
EP0328450A3 (en) 1991-10-16
US5119487A (en) 1992-06-02
EP0328450B1 (en) 1996-08-28
KR890013563A (ko) 1989-09-23
EP0328450A2 (en) 1989-08-16

Similar Documents

Publication Publication Date Title
KR920009448B1 (ko) 프로그램어블 로직 어레이를 갖는 다이렉트 메모리 액세스 제어장치
US4050058A (en) Microprocessor with parallel operation
US4103329A (en) Data processing system with improved bit field handling
US5664117A (en) Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5438665A (en) Direct memory access controller for handling cyclic execution of data transfer in accordance with stored transfer control information
US4045782A (en) Microprogrammed processor system having external memory
US4272828A (en) Arithmetic logic apparatus for a data processing system
US3983541A (en) Polymorphic programmable units employing plural levels of phased sub-instruction sets
JPS5935056B2 (ja) デ−タ処理装置
NL8403059A (nl) Polymorfe programmeerbare eenheden, welke meervoudige niveaus van sub-instructiestelsels toepassen en daarbij behorende informatie-overdracht naar perifere apparatuur.
US4631668A (en) Storage system using comparison and merger of encached data and update data at buffer to cache to maintain data integrity
US4670835A (en) Distributed control store word architecture
EP0223150B1 (en) Information processing apparatus
US4309753A (en) Apparatus and method for next address generation in a data processing system
US4224668A (en) Control store address generation logic for a data processing system
US5018098A (en) Data transfer controlling apparatus for direct memory access
US4258420A (en) Control file apparatus for a data processing system
EP0226991B1 (en) Data-processing device
US4245328A (en) Binary coded decimal correction apparatus for use in an arithmetic unit of a data processing unit
US4295194A (en) Adapter unit for use in a data processing system for processing a variety of requests
US5677859A (en) Central processing unit and an arithmetic operation processing unit
US6552730B1 (en) Method and apparatus for bit operational process
US5220670A (en) Microprocessor having ability to carry out logical operation on internal bus
US5317700A (en) Program history for pipelined processor including temporary storage queues for storing branch addresses
US4472773A (en) Instruction decoding logic system

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee