KR20000032750A - 디엠에이 콘트롤러를 위한 디엠에이 요청 장치 - Google Patents

디엠에이 콘트롤러를 위한 디엠에이 요청 장치 Download PDF

Info

Publication number
KR20000032750A
KR20000032750A KR1019980049304A KR19980049304A KR20000032750A KR 20000032750 A KR20000032750 A KR 20000032750A KR 1019980049304 A KR1019980049304 A KR 1019980049304A KR 19980049304 A KR19980049304 A KR 19980049304A KR 20000032750 A KR20000032750 A KR 20000032750A
Authority
KR
South Korea
Prior art keywords
dma
data
request
req
mpu
Prior art date
Application number
KR1019980049304A
Other languages
English (en)
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 윤종용
Priority to KR1019980049304A priority Critical patent/KR20000032750A/ko
Publication of KR20000032750A publication Critical patent/KR20000032750A/ko

Links

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)

Abstract

본 발명은 DMA 요청 제어 장치에 관한 것으로, 더욱 상세하게는 Pseudo DMA 처리 플로우를 프로그램어블하게 함으로써 하나의 ASIC칩에 디자인된 DMA 장치를 가지고 다양한 처리장치(MPU)들을 지원할 수 있게 하고, DMA 장치를 처리장치(MPU)의 속도 및 메모리 특성에 맞도록 다양하게 사용할 수 있게 하는 DMA 콘트롤러를 위한 DMA 요청 장치에 관한 것이다.
상기 목적을 달성하기 위한 본 발명에 의하면, DMA 요청을 발생시키는 Pseudo-DMA 장치를 구비한 장치에 있어서, 여러 종류의 DMA 콘트롤러에 대응하여 동작하기 위해서 하나의 상기 DMA 요청에 대한 DMA 응답(DMA ACK) 개수를 저장하여 Pseudo-DMA 개수를 조절하는 개수조절부; 상기 DMA 콘트롤러에 대응하여 상기 DMA 응답(DMA ACK)과 상기 DMA 응답(DMA ACK) 간격을 조절하기 위해 상기 DMA 요청을 지연시켜 발생하는 DMA 요청 발생부를 포함하는 DMA 콘트롤러를 위한 DMA 요청 장치가 개시된다.

Description

디엠에이 콘트롤러를 위한 디엠에이 요청 장치
본 발명은 DMA 요청 제어 장치에 관한 것으로, 더욱 상세하게는 Pseudo DMA 처리 플로우를 프로그램어블하게 함으로써 하나의 ASIC칩에 디자인된 DMA 장치를 가지고 다양한 처리장치(MPU)들을 지원할 수 있게 하고, DMA 장치를 처리장치(MPU)의 속도 및 메모리 특성에 맞도록 다양하게 사용할 수 있게 하는 DMA 콘트롤러를 위한 DMA 요청 장치에 관한 것이다.
일반적인 DMA(Direct Memory Access의 약자)는 시스템 버스를 통해 메모리와 데이터를 주고받기 위해 중앙처리장치(CPU)로부터 시스템 제어를 얻어 마치 중앙처리장치처럼 작동한다. 일반적으로 DMA는 중앙처리장치가 시스템 버스를 사용하지 않을 때만 시스템 버스를 사용하여 메모리와 데이터를 주고받거나, 일시적으로 중앙처리장치의 오퍼레이션을 보류시킨 후 시스템 버스를 사용하여 메모리와 데이터를 주고받는다. 후자의 경우가 매우 일반적인 기술이며 이는 DMA가 하나의 시스템 버스 사이클을 훔치는 효과가 있어 이를 일반적으로 사이클 훔침(cycle stealing)이라 한다.
DMA 메커니즘은 도 1과 같이 다양한 방법으로 구성될 수 있다.
이들을 각각 살펴보면, 첫 번째 방법은 도1a와 같이 중앙처리장치와 DMA 장치와 입출력 장치들, 그리고 메모리가 시스템 버스에 모두 연결되어 있고, DMA 장치는 단지 중앙처리장치의 대리역할로 메모리와 입출력 장치간에 프로그램 입출력(programmed I/O)을 수행한다.
한편, 두 번째 방법은 도 2b와 같이 시스템 버스에 중앙처리장치와 DMA 장치들과 그리고 메모리를 연결하고, 입출력장치는 DMA장치를 통해 메모리로 데이터를 주고받는다.
끝으로, 세 번째 방법은 도 2c와 같이 시스템 버스에 중앙처리장치와 하나의 DMA 장치와 그리고 메모리를 연결하고, 입출력장치는 입출력 버스를 통해 DMA장치와 데이터를 주고받으며, DMA장치는 시스템 버스를 훔쳐 메모리와 데이터를 주고받는다.
한편, 종래기술에서 DMA를 구현하는 방법으로서 Pseudo-DMA 방식을 많이 이용하였다. 그러나 이 방법을 이용하는 경우 DMA 콘트롤러가 가진 특성과 성능에 의존하여 구현되어야 하기 때문에 DMA를 경우에 따라 다르게 구현해야 하는 문제가 있었다.
즉, 입출력장치로부터 8비트의 데이터를 수신하고 메모리가 8비트 단위로 데이터를 저장하는 경우 8비트 DMA 장치가 요구되고, 이때 만일 16비트 단위로 데이터를 저장하는 메모리가 8비트 입출력장치와 연결하여 DMA 장치에 의해 데이터를 입출력하기 위해서는 이를 위해 다르게 하드웨어로 구현된 Pseudo DMA 장치로 8비트 DMA 장치를 바꾸어야 하는 문제점이 있었다.
전술한 Pseudo DMA란 장치들간의 처리할 비트 차이를 조정하여 다른 장치들과 데이터 통신하는 방식으로서 예를 들어 하드웨어를 구성할 때 16비트 입출력장치와 32비트 중앙처리장치간에 비트 차이를 극복하여 통신하는 DMA를 말한다.
따라서, 본 발명의 목적은 전술한 종래의 문제점을 해결하기 위해 Pseudo DMA 처리 플로우를 프로그램어블하게 함으로써 하나의 ASIC칩에 디자인된 DMA 장치를 가지고 다양한 처리장치(MPU)들을 지원할 수 있게 하는데 있다.
본 발명의 다른 목적은 DMA 장치를 처리장치(MPU)의 속도 및 메모리 특성에 맞도록 다양하게 사용할 수 있게 하는데 있다.
도 1은 일반적으로 가능한 DMA 장치 구성을 나타내고,
도 2는 본 발명에 따른 DMA 장치를 나타내고,
도 3은 본 발명에 따른 DMA 장치를 통한 DMA 요청(REQ)과 DMA 응답(ACK) 처리를 과정을 나타내는 타이밍 차트이다.
<도면의 주요부분의 부호의 설명>
210 : 데이터 카운트 220 : 데이터 레지스터
230 : 어드레스 레지스터 240 : DMA 콘트롤러
241 : 응답수신개수저장부 242 : DMA요청발생부
상기 목적을 달성하기 위한 본 발명에 의하면, DMA 요청을 발생시키는 Pseudo-DMA 장치를 구비한 장치에 있어서, 여러 종류의 DMA 콘트롤러에 대응하여 동작하기 위해서 하나의 상기 DMA 요청에 대한 DMA 응답(DMA ACK) 개수를 저장하여 Pseudo-DMA 개수를 조절하는 개수조절부; 상기 DMA 콘트롤러에 대응하여 상기 DMA 응답(DMA ACK)과 상기 DMA 응답(DMA ACK) 간격을 조절하기 위해 상기 DMA 요청을 지연시켜 발생하는 DMA 요청 발생부를 포함하는 DMA 콘트롤러를 위한 DMA 요청 장치가 개시된다.
바람직하게, 상기 DMA 요청 발생부는 DMA 요청(DMA REQ)간격을 시스템 클럭 단위로 조절한다.
이하, 상기한 본 발명의 목적들, 특징들, 그리고 장점들을 첨부된 도면에 나타낸 본 발명의 바람직한 실시예를 통해 보다 상세히 설명한다.
후술되는 용어들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로서 이는 당 분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명에 따른 DMA 콘트롤러를 위한 DMA 요청 장치를 구비한 DMA 장치를 도 2를 참조하여 살펴보면, 먼저, 데이터카운트(210)는 데이터 라인을 통해 DMA장치와 장치들간의 통신할 데이터 크기를 나타내고, 데이터레지스터(220)는 DMA를 통해 전달될 데이터를 임시저장하며, 어드레스레지스터(230)는 DMA 장치가 입출력장치로 전달할 데이터가 메모리에 저장된 위치를 나타내고, 또한 입출력장치로부터 전달되는 데이터를 메모리에 저장할 위치를 나타낸다.
한편, DMA 콘트롤러(240)는 중앙처리장치에 DMA 요청(DMA REQ)을 하고, DMA 요청(DMA REQ)에 대한 중앙처리장치의 DMA 응답(DMA ACK)을 수신한 후 데이터 라인을 통해 데이터를 주고받는 것을 제어하며, 데이터 전송이 완료되면 중앙처리장치에 인터럽트 신호를 발생한다.
또한, DMA 콘트롤러(240)는 Pseudo DMA를 수행할 때 DMA 응답(DMA ACK)을 받아들이는 개수를 응답수신개수 저장부(241)에 저장하여 DMA을 활용하는 주변 시스템 상황에 맞도록 조절할 수 있다. 바람직하게, 응답수신개수 저장부(241)에 저장되는 DMA 요청(DMA REQ)에 대한 DMA 응답(DMA ACK) 개수는 소프트웨어적으로 결정할 수 있다.
즉, 외부 8비트 데이터 버스를 가지고 있고 내부적으로 32비트의 내부 메모리를 사용하는 경우 Pseudo-DMA의 개수를 4로 조절하여 응답수신개수저장부(241)에 저장하면, DMA 콘트롤러(240)는 DMA 요청 발생부(241)를 통한 한번의 DMA 요청(DMA REQ)에 4번의 DMA 응답(DMA ACK)을 받을 수 있다.
이와 같은 작업에 따라 8비트씩 받는 데이터를 4번에 한번 모아서 32비트 데이터로 만들어 바로 32비트 메모리에 저장할 수 있다.
또한 데이터를 외부 DMA를 통해 밖으로 보낼 때도 시스템 상황에 따라 응답수신개수저장부(241)의 응답수신개수를 소프트웨어적으로 조정하여 데이터 처리를 지원할 수 있다.
한편, DMA 콘트롤러(240)는 DMA 요청(DMA REQ)과 다음 DMA 요청(DMA REQ)과의 간격을 조절할 수 있도록 하여 DMA 콘트롤러의 성능에 따라 간격을 조절하도록 한다.
이 기능은 처리장치의 성능에 따라 앞에 들어온 DMA 요청(DMA REQ)과 다음 DMA 요청(DMA REQ)이 들어오는 간격을 시스템 클럭 단위로 조절할 수 있으므로 시스템 환경에 맞도록 DMA를 조절할 수 있다.
예를 들어, 도 3과 같은 경우 한번의 DMA 요청(DMA REQ)에 4번의 DMA 응답(DMA ACK)이 뜨도록 하는 경우 ACK(1)과 ACK(2)사이의 간격은 최소한 한 클럭만 확보되면 DMA 장치는 정상적으로 동작되고 ACK(3)과 ACK(4)사이는 DMA 성능에 따라 데이터를 받아서 메모리에 쓰기 위한 최소한의 필요한 인터벌이다.
이를 맞추어 주기 위해 본 발명에 따른 DMA 콘트롤러(240)의 DMA 요청발생부(242)는 DMA 요청(DMA REQ)간격을 도시된 바와 같이 시스템 클럭 단위로 조절 가능하게 할 수 있다.
이상에서 살펴본 바와 같이, 본 발명에 따르면 Pseudo DMA 처리 플로우를 프로그램어블하게 함으로써 하나의 ASIC칩에 디자인된 DMA 장치를 가지고 다양한 장치들을 지원할 수 있으며, DMA 장치를 중앙처리장치의 속도 및 메모리 특성에 맞도록 다양하게 사용할 수 있게 하여 다양한 DMA의 콘트롤러에 대응할 수 있는 효과가 있다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술 분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.

Claims (2)

  1. DMA 요청을 발생시키는 Pseudo-DMA 장치를 구비한 장치에 있어서,
    여러 종류의 DMA 콘트롤러에 대응하여 동작하기 위해서 하나의 상기 DMA 요청에 대한 DMA 응답(DMA ACK) 개수를 저장하여 Pseudo-DMA 개수를 조절하는 개수조절부;
    상기 DMA 콘트롤러에 대응하여 상기 DMA 응답(DMA ACK)과 상기 DMA 응답(DMA ACK) 간격을 조절하기 위해 상기 DMA 요청을 지연시켜 발생하는 DMA 요청 발생부를 포함하는 DMA 콘트롤러를 위한 DMA 요청 장치.
  2. 제 1 항에 있어서, 상기 DMA 요청 발생부는,
    DMA 요청(DMA REQ)간격을 시스템 클럭 단위로 조절하는 것을 특징으로 하는 DMA 콘트롤러를 위한 DMA 요청 장치.
KR1019980049304A 1998-11-17 1998-11-17 디엠에이 콘트롤러를 위한 디엠에이 요청 장치 KR20000032750A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980049304A KR20000032750A (ko) 1998-11-17 1998-11-17 디엠에이 콘트롤러를 위한 디엠에이 요청 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980049304A KR20000032750A (ko) 1998-11-17 1998-11-17 디엠에이 콘트롤러를 위한 디엠에이 요청 장치

Publications (1)

Publication Number Publication Date
KR20000032750A true KR20000032750A (ko) 2000-06-15

Family

ID=19558685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980049304A KR20000032750A (ko) 1998-11-17 1998-11-17 디엠에이 콘트롤러를 위한 디엠에이 요청 장치

Country Status (1)

Country Link
KR (1) KR20000032750A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020021739A (ko) * 2000-09-16 2002-03-22 박종섭 디엠에이 제어기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020021739A (ko) * 2000-09-16 2002-03-22 박종섭 디엠에이 제어기

Similar Documents

Publication Publication Date Title
US6154419A (en) Method and apparatus for providing compatibility with synchronous dynamic random access memory (SDRAM) and double data rate (DDR) memory
EP0458304B1 (en) Direct memory access transfer controller and use
JPS6376044A (ja) バスマスタ
JPS6353669A (ja) マイクロプロセツサ
US20030093595A1 (en) Apparatus and method for distribution of signals from a high level data link controller to multiple digital signal processor cores
KR20000032750A (ko) 디엠에이 콘트롤러를 위한 디엠에이 요청 장치
EP1436710B1 (en) Interfacing processors with external memory supporting burst mode
JP2004213666A (ja) Dmaモジュールとその操作方法
JPH07334476A (ja) プログラム転送装置
JP4125933B2 (ja) 共通メモリを備えたプロセッサシステム
JP2560476B2 (ja) 通信制御装置
JP2000099452A (ja) Dma制御装置
JP3946980B2 (ja) レジスタアクセス装置
KR100606698B1 (ko) 인터페이스 장치
JP2990960B2 (ja) 直接メモリアクセス制御装置
KR100244471B1 (ko) 다이렉트 메모리 엑세스 제어기 및 그 제어방법
JP2741771B2 (ja) 伝送制御装置
KR0135894Y1 (ko) 피드-백 방식을 적용시킨 파이포
JPH10312354A (ja) 割り込み処理システム
JPH05128279A (ja) ワンチツプマイクロコンピユータ
KR19980083459A (ko) 데이터버스 사이즈 조정 장치
KR20020040490A (ko) 데이터 입,출력장치
JPH0628301A (ja) ダイレクトメモリアクセス回路
KR20000014492A (ko) 마이크로 콘트롤러
KR19980078303A (ko) 인터럽트 콘트롤러

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination