KR950014186B1 - 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러 - Google Patents

데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러 Download PDF

Info

Publication number
KR950014186B1
KR950014186B1 KR1019930027857A KR930027857A KR950014186B1 KR 950014186 B1 KR950014186 B1 KR 950014186B1 KR 1019930027857 A KR1019930027857 A KR 1019930027857A KR 930027857 A KR930027857 A KR 930027857A KR 950014186 B1 KR950014186 B1 KR 950014186B1
Authority
KR
South Korea
Prior art keywords
register
dma controller
data
address
data buffer
Prior art date
Application number
KR1019930027857A
Other languages
English (en)
Other versions
KR950020095A (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 재단법인한국전자통신연구소
Priority to KR1019930027857A priority Critical patent/KR950014186B1/ko
Publication of KR950020095A publication Critical patent/KR950020095A/ko
Application granted granted Critical
Publication of KR950014186B1 publication Critical patent/KR950014186B1/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

내용 없음.

Description

데이타 전송능력을 개선한 디.엠.에이(DMA) 컨트롤러
제1도는 통상적인 컴퓨터 시스템의 구성도.
제2도는 본 발명의 구성을 나타내는 블럭도.
* 도면의 주요 부분에 대한 부호의 설명
1 : 중앙처리장치(CPU) 2 : 메모리(memory)
3 : DMA 컨트롤러 4 : 입출력 프로세서(Input Ouput Proc-essor)
5 : 데이타 버퍼(Data Buffer)
6 : 시스템 버스 어드레스 & 버퍼 레지스터(System Bus Intedace &Buffer Register)
7 : 시스템 메모리 어드레스 레지스더(SAREG : System MemoW Addre$ Register)
8 : 데이타 버퍼 메모리 어드레스 레지스더(DAREG : Data Buffer Memory Addres Register),
9 : 워드 레지스터(WREG : Word Register)
10 : 상태 레지스터(Status Register)
11 : 제어 레지스터(Control Register)
12 : 제어로직 & 상태기계(State Machine)
13 : 워드 계수 레지스터(Word Count Register : WCNTR)
14 : 시스템 메모리 어드레스 계수 레지스터(System Memory Addres Count Register : SACNTR)
15 : 데이타 버퍼 메모리 어드레스 계수 레지스터(Data Buffer Memory Address Count Register : DACNTR).
본 발명은 DMA(Direct Memory Access : 이하 DMA라 한다) 컨트롤러에 관한 것으로, 구제적으로는 한 메모리에서 다른 메모리로 데이타를 전송시 어드레스 통로를 분리하여 데이타가 양쪽 메모리에 동시에 접근하도록 하여 데이타 전송능력을 개선한 DMA 컨트를러에 관한 것이다.
DMA 컨트롤러는 데이타의 입출력 전송이 중앙처리장치의 레지스터를 거치지 않고 직접 메모리장치와 주변장치 사이에서 데이타의 전송이 이뤄지는 인터페이스를 의미한다.
다시 말하면, DMA 컨트롤러는 중앙처리장치와는 독립적으로 직접 메모리에 근접하여 데이타를 전송할 수 있게 하여 중앙처리장치의 부하를 경감시키고 입출력 성능을 향상시키기 위한 장치를 말한다.
따라서 종래의 DMA 컨트롤러는 한 메모리에서 다른 메모리로 데이타를 전송하기 의해서 먼저 한 메모리의 데이타를 읽어서 임시 레지스터에 저장하여 보관하였다가 다른 메모리로 사용하는 방법을 이용하였으므로 많은 데이타를 전송하는데 시간이 많이 걸렸다.
따라서 본 발명은 상기한 문제점을 해결하기 위하여 DMA 컨트롤러가 다량의 데이타를 전송할 때 시간이 적게 걸리도록 DMA 컨트롤러가 양쪽 메모리에 동시에 접근하도록 하는데 목적을 두었다.
또한, 본 발명은 DMA 컨트롤러가 메모리에 접근시 에러가 발생했을 때 프로세서에 알리지 않고 DMA 컨트롤러가 다시 제시도를 하여 프로세서의 간섭을 줄이게 하는 DMA 컨트롤러를 제공하는데 그 목적이있다.
다음은 첨부한 도면을 참조하여 상세한 설명한다.
제1도는 공통의 버스를 사용하는 컴퓨터 시스템의 구성을 나타낸 도면이다.
제2도는 상기 컴퓨터 시스템에서 입출력 프로세서(Input Ouput Processor) 또는 입출력 제어기(Input Ouput Contro1ler)에서 메모리에 고속으로 데이타를 전송하기 위한 본 발명인 DMA 컨트롤러의 내부 구조를 나타낸 도면이다. 통상, 두개 이상의 장치가 같은 메모리장치와 통신할 때, 데이타와 번지라인은 공통의버스 시스템을 이룬다.
본 발명의 DMA 컨트롤러(3)는 다음과 같이 구성된다.
시스템 버스로의 접근을 위한 어드레스를 저장하고 카운트하는 레지스터 즉, 시스템 메모리 어드레스를 카운트하는 레지스터 (System Memory Address Counter Register : SACNTR) (14)와, 데이타 버퍼 메모리로의 접근을 위한 어드레스 저장 및 카운트 레지스터 즉, 데이타 버퍼 메모리 어드레스를 카운트 하는 레지스터 (Data Buffer Memory Address Count Register : DACNTR) (15)와, 전송할 정보의 량을 제어하기 위한 워드를 저장하고 카운더 레지스터(Word Count Register : WCNTR) (13)가 공통의 버스에 연결되어 있다.
그리고, DMA 컨트롤러의 동작을 제어하기 위한 제어 레지스터(Control Register) (11)와, DMA 컨트롤러의 에러상태등을 저장하는 상태 레지스터(Status Register) (10)가 있다.
또한, 데이타 전송도중에 에러가 발생할 경우, 프로세서의 간섭없이 재시도를 할 수 있도록 하기 위하여 어드레스 및 워드 갯수의 초기값을 저장하고 있는 임시 레지스터들 즉, 워드 카운트 레지스터(Word Counter Register : WREG) (9)와, 데이타 버퍼 메모리 어드레스 레지스터(Data Buffer Memory Address Register : DAREG) (8)와, 시스템 메모리 어드레스 레지스터(System Memory Address Register : SAREG) (7)가 있다.
상기 레지스터들은 제어 레지스터(11), 상태 레지스터(10), 워드 레지스터(9), 데이타 버퍼 메모리 어드레스 레지스터(8), 시스템 메모리 어드레스 레지스터(6)가 차례로 적충된 스택 구조를 하고 있다.
그리고, 상기 스택 구조의 레지스터들(7∼11)과 워드 카운트 레지스터(13)사이에 설치되어 있고 프로세서(1)와 정합하고, 내부 상태 천이 제어, 그리고 데이타 버퍼 제어 및 각각의 요구 신호를 생성하기 위한 제어로직 및 상태 기계(12)로 구성되어 있다.
그리고, 데이타 버퍼(5)는 DMA 컨트롤러(3)와 분리되어 있다.
다음은 상기 구성요소들에 의해 동작하는 DMA 컨트롤러(3)의 데이타 전송방법을 설명한다.
DMA 컨트롤러가 프로세서(1)에 메모리 사용 요구신호를 보내어 프로세서(1)로부터 DMA 컨트롤러의 사용허가신호를 받으면 즉, /CS가 액티브 상태가 되는 경우, 프로세서(1) 정합 부분에서는 상기 프로세서(1)로부터 나오는 어드레스를 감사하여 어떤 종류의 레지스터가 선택되었는지를 인식하고 해당된 레지스터의 선택신호(/DRDY신호 : DMA 컨트롤러의 접근 승인신호)를 생성한다.
또한, 읽기 쓰기 신호(R/W)에 따라 데이타 버퍼(5)의 방향을 결정한다.
즉, 읽기 신호가 선택되면 해당된 레지스터의 값을 프로세서(1)로 보내주고, 쓰기 신호가 선택되면 해당된 레지스터로 데이타 값을 쓰게 된다.
상기와 같은 방법에 의해, 프로세서(1)로부터 DMA 컨트롤러에 시스템 버스의 어드레스(SA), 데이타 버퍼 메모리의 어드레스(DA), 워드 갯수 및 데이타 전송 방향이 입력된다.
그리고 제어 레지스터(11)의 시작 비트가 세트되면, DMA 컨트롤러는 시스템 버스 어드레스(SA), 데이타 버퍼 메모리 어드레스(DA) 및 워드 갯수를 임시 레지스터(7,8,9)들로부터 카운트 레지스터(13,14,15)로 각각 복사한다.
다시 말하면, 상기 임시 레지스터들 중의 시스템 메모리 어드레스 레지스터(7)를 시스템 메모리 어드레스카운트 레지스터(14)로, 데이타 버퍼 메모리 어드레스 레지스터(8)를 데이타 버퍼 메모리 어드레스 카운트레지스터(15)로, 워드 레지스터(9)를 워드 카운트 레지스터(13)로 공통의 버스를 통하여 각각 복사한다.
또한, DMA 컨트롤러는 데이타 버퍼 메모리와 시스템 버스의 사용권을 얻기 위하여 데이타 버퍼 메모리 요청신호(/DREQ)와 시스템 버스 요청신호(/SREQ)를 시스템 버스 인터페이스와 데이타 버퍼 메모리 인터페이스(6)에 보낸다.
따라서, DMA 컨트롤러는 데이타 버퍼 메모리(2) 및 시스템 버스 사용 승인신호(/DBG,/SBG)을 시스템 버스 인터페이스와 데이타 버퍼 메모리 인터페이스(6)에서 반은 후, 메모리(2)에 데이타를 전송을 시작하게된다.
상기한 바와 같이, 데이타 전송이 될 때마다 시스템 버스 어드레스 레지스터(14) 및 데이타 버퍼 메모리 어드레스 레지스터(15)는 전송한 데이타의 워드 사이즈만큼 증가하게 된다.
반면에, 워드 카운트 레지스터(13)는 감소하게 된다.
따라서, 상기한 반복을 동작하므로써 워드 카운트 레지스터(13)가 점차 감소하여 "0"으로 되면 상기한 모든 동작을 중지하고, 성공적으로 테이타 전송을 완수했다는 것을 상태 레지스터(10)에 표시하고 동시에 프로세서(1)로 인터럽트 요정신호(INTR)를 보낸다.
그리고, DMA 컨트롤러가 데이타 전송도중 에러가 발생하여 데이타의 무결성을 보장할 수 없을 경우, 처음부터 재시도를 하게 된다.
상기 재시도의 방법은 어드레스 및 워드 갯수를 임시 레지스터들(7∼9)로부터 카운트 레지스터(13∼15)로 복사하여 처음부터 다시 시작한다.
또한, 상기한 재시도를 몇번까지 허용할 수 있을 것인가를 결정할 수 있도록 제어 레지스터(11)에 재시도 카운트 레지스터를 두어 재시도가 될 때마다 하나씩 감소하게 된다.
따라서, 상기 재시도 카운트 레지스터가 점차 감소하여 "0"이 되면 프로세서(1)로 인더럽트를 보내어 에러가 발생하므로써 데이타 전송이 성공적으로 전송되지 못했음을 프로세서에 알린다.
그리고 제어로직(12)에서는 제어 레지스터(11)로부터 GO신호(DMA 동작신호)를 받은 후, 상태 천이가 시작되고 각 카운트 레지스터의 로직을 제어하게 된다.
즉, 시스템 메모리 어드레스 카운트 레지스터(14)로 시스템 메모리 어드레스 카운트 레지스터를 증가시키는 신호(SA_NC)를 보내거나 또는 데이타 버퍼 메모리 어드레스 카운트 레지스터에 어드레스를 1씨 증가시키는 신호(DA_INC)를 보낸다.
그리고 워드 카운트 레지스터에 워드 번지를 1씩 감소하는 신호를 보낸다.
또한, 제어로직(12)은 워드 카운트 레지스터로부터 COUT신호(워드 카운트 레지스터값이 "0"임을 나타내는 신호)를 반은 후, 모든 동작을 완료하고 상태 레지스터(10)로 DONE신호(DMA 동작 완료신호)를 보낸다.
따라서, DMA 컨트롤러에서 메모리로의 데이타 전송이 완료된다.
이상에서 설명한 바와 같이, 본 발명은 데이타를 전송하기 위해서, DMA 컨트롤러가 양쪽 메모리에 동시에 접근하여 많은 정보의 데이타를 짧은 시간에 전송하고, 메모리 접근시, 어떤 에러가 발생했을 경우 프로제서(1)에 알리지 않고 독자적으로 재시도를 할 수 있도록 하여 프로세서의 간섭을 줄였다.
또한, 데이타 버퍼 트랜시버를 DMA 컨트롤러와 분리하여 데이타 전송 폭을 8비트, 16비트, 32비트, 64비트, 128비트 등으로의 변경이 용이하다.

Claims (4)

  1. 중앙처리장치(1), 데이타를 저장하는 메모리(2), 상기 메모리(2)에 직접 데이타를 전송하는 DMA 컨트롤러(3), 데이타를 입력시키고 출력시키는 입출력 프로세서(3)가 시스템 버스에 공통으로 연결되는 컴퓨터 시스템에 있어서, 상기 시스템 버스에 접근하기 위하여 어드레스를 저장하고 카운트하는 시스템 메모리 어드레스 카운트 레지스터(14)와, 상기 테이타 버퍼 메모리에 접근하기 위하여 어드레스를 저장하고 카운트하는 데이타 버퍼 메모리 어드레스 카운트 레지스터(15)와, 상기 메모리(2)에 전송할 데이타량을 제어하기 위하여 워드를 저장하고 카운트하는 워드 카운트 레지스터(13)와, 상기 DMA 컨트롤러의 동작을 제어하는 제어 레지스터(11)와, 상기 DMA 컨트롤러가 데이타 전송시 발생하는 에러 상태를 저장하는 상태 레지스터(10)와, 상기 에러가 발생시 상기 프로세서(1)의 간섭없이 재시도를 하기 위한 임시 레지스터인 워드 레지스터(7), 데이타 버퍼 메모리 어드레스 레지스터(8), 시스템 메모리 어드레스 레지스터(9)와, 상기 프로세서(1)와 정합되어 있는 제어로직(12)으로 구성되어 있는 것을 특징으로 하는 데이타 전송능력을 개선한 DMA 컨트롤러.
  2. 제1항에 있어서, 데이타 전송도중 에러가 발생하여 재시도를 할 때, 상기 제어 레지스터(11)에 카운트레지스터를 구비하여 테이타 전송을 처음부터 다시 재시도하는 것을 특징으로 하는 데이타 전송능력을 개선한 DMA 컨트롤러.
  3. 제2항에 있어서, 상기 재시도를 위한 초기값은 어드레스와 워드 카운터의 임시 레지스터를 이용하는 것을 특징으로 하는 데이타 전송능력을 개선한 DMA 컨트롤러.
  4. 제1항에 있어서, 데이타 버퍼(5)를 DMA 컨트롤러와 분리하여 데이타 전송폭이 가변적이 되는 것을 특징으로 하는 데이타 전송능력을 개선한 DMA 컨트롤러.
KR1019930027857A 1993-12-15 1993-12-15 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러 KR950014186B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930027857A KR950014186B1 (ko) 1993-12-15 1993-12-15 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930027857A KR950014186B1 (ko) 1993-12-15 1993-12-15 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러

Publications (2)

Publication Number Publication Date
KR950020095A KR950020095A (ko) 1995-07-24
KR950014186B1 true KR950014186B1 (ko) 1995-11-22

Family

ID=19371084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930027857A KR950014186B1 (ko) 1993-12-15 1993-12-15 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러

Country Status (1)

Country Link
KR (1) KR950014186B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963140B1 (ko) * 2008-11-27 2010-06-16 한국과학기술원 직접 메모리 접근 장치 및 직접 메모리 접근 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100375816B1 (ko) * 2000-10-10 2003-03-15 조용범 디지털신호 처리 프로세서의 hpi와 dma인터페이스를 가진 pci 버스 컨트롤러

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963140B1 (ko) * 2008-11-27 2010-06-16 한국과학기술원 직접 메모리 접근 장치 및 직접 메모리 접근 방법

Also Published As

Publication number Publication date
KR950020095A (ko) 1995-07-24

Similar Documents

Publication Publication Date Title
US5659797A (en) Sparc RISC based computer system including a single chip processor with memory management and DMA units coupled to a DRAM interface
US5890012A (en) System for programming peripheral with address and direction information and sending the information through data bus or control line when DMA controller asserts data knowledge line
JPS6126103B2 (ko)
JPS63269247A (ja) メモリ制御サブシステム
JPH02310664A (ja) 共有メモリを用いた通信方式
KR920005834B1 (ko) 직접 메모리 억세스 제어시스템
US20020133646A1 (en) Method and device for providing high data rate for a serial peripheral interface
KR920008448B1 (ko) 데이터 프로세서
KR100630071B1 (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
US20040098519A1 (en) Method and device for providing high data rate for a serial peripheral interface
US4719563A (en) Data transmission control device for controlling transfer of large amounts of data between two memory units
KR950014186B1 (ko) 데이타 전송능력을 개선한 디.엠.에이(dma) 컨트롤러
JPS58109960A (ja) デ−タ処理システム
JPH01125644A (ja) データ転送装置
JPS61165170A (ja) バス制御方式
JP2594611B2 (ja) Dma転送制御装置
JPS6126164A (ja) デ−タ転送制御方法
JPH04270440A (ja) アクセス方式
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
KR20220077863A (ko) 로컬버스를 이용한 호스트와 컨트롤러 간의 데이터 교환 시스템 및 그 방법
JPS6319856Y2 (ko)
JPH0351943A (ja) 高速バスと低速バスのバスライン共用化方式
JPS6230108Y2 (ko)
JP2581144B2 (ja) バス制御装置
SU1410709A1 (ru) Устройство дл сопр жени периферийного устройства с ЭВМ

Legal Events

Date Code Title Description
A201 Request for examination
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: 20071024

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee