KR19990058631A - 디엠에이 콘트롤러 - Google Patents

디엠에이 콘트롤러 Download PDF

Info

Publication number
KR19990058631A
KR19990058631A KR1019970078774A KR19970078774A KR19990058631A KR 19990058631 A KR19990058631 A KR 19990058631A KR 1019970078774 A KR1019970078774 A KR 1019970078774A KR 19970078774 A KR19970078774 A KR 19970078774A KR 19990058631 A KR19990058631 A KR 19990058631A
Authority
KR
South Korea
Prior art keywords
command
memory
signal
controller
input
Prior art date
Application number
KR1019970078774A
Other languages
English (en)
Other versions
KR100259585B1 (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 KR1019970078774A priority Critical patent/KR100259585B1/ko
Publication of KR19990058631A publication Critical patent/KR19990058631A/ko
Application granted granted Critical
Publication of KR100259585B1 publication Critical patent/KR100259585B1/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
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

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

본 발명은 디엠에이 콘트롤러에 관한 것으로, 입출력장치로부터 디엠에이 리퀘스트 신호를 입력받아 우선순위를 결정하는 프라이어리티와, 중앙처리장치로부터 라이트 신호(WR), 메모리 시작 어드레스에 대한 정보 등을 입력받아 각 신호의 동작시간을 결정 및 제어하는 타이밍/콘트롤부와, 중앙처리장치로부터 타이밍/콘트롤부를 통해 메모리의 시작 어드레스에 대한 정보를 입력받는 메모리 어드레스 레지스터와, 타이밍/콘트롤부를 통해 중앙처리장치로부터 입력받은 라이트 신호를 해석 및 제어하는 커맨드/커맨드 콘트롤부와, 메모리에 라이트할 데이터를 입출력장치로부터 커맨드/커맨드 콘트롤부를 통해 입력받는 라이트 버퍼와, 입출력장치로부터 일정시간동안 디엠에이 리퀘스트 신호가 입력되지 않을 때 커맨드/커맨드 콘트롤부와 버퍼포인터 비교부로 디엠에이 리퀘스트 신호 입력이 완료되었음을 알리는 상태 카운터와, 상태 카운터를 통해 디엠에이 리퀘스트 신호 입력이 완료됨을 인지한 후 라이트 버퍼의 라이트포인터와 리드포인터의 값을 비교하여 두 값이 동일할 때 상기 커맨드/커맨드 콘트롤부로 메모리 라이트 동작 완료신호를 출력하는 버퍼포인터 비교부를 포함하여 이루어져서, 프로토콜에 의해 데이터 크기에 대한 정보를 입력받지 않아도 메모리 라이트 동작을 수행함에 따라 대량의 데이터를 빠른 시간내에 전송할 수 있는 효과가 있다.

Description

디엠에이 콘트롤러
본 발명은 직접 메모리 억세스 제어 장치(Direct Memory Access Controller) (이하, 디엠에이 콘트롤러로 칭함)에 관한 것으로 특히, 메모리 라이트 동작시 입출력장치의 프로토콜상 데이터 크기에 대한 정보가 없을 때도 디엠에이 전송을 할 수 있는데 적합한 디엠에이 콘트롤러에 관한 것이다.
디엠에이 콘트롤러는 중앙처리장치(2)를 개입시키지 않고 플로피 디스크 장치 등과 같은 입출력장치와 메모리 사이에서 대량의 데이터를 고속으로 리드 또는 라이트하여 데이터 전송을 행한다.
도 1은 디엠에이 콘트롤러를 사용하여 메모리 라이트 동작을 수행하는 마이크로 컴퓨터 시스템을 간략히 나타낸 블럭도이다. 마이크로 컴퓨터 시스템은 디엠에이 콘트롤러(1), 중앙처리장치(2), 입출력장치(3) 그리고 데이터 버스, 어드레스 버스, 제어 버스를 포함한 시스템 버스(5)를 경유하여 결합되는 메모리(4)를 갖는다. 이 마이크로 컴퓨터 시스템 위에서의 데이터 전송은 입출력장치(3)와 메모리(4) 사이에서 행해진다. 도 2는 메모리 라이트 동작에 관련된 종래의 디엠에이 콘트롤러의 내부 블록도이다. 메모리 라이트 동작을 수행하기 위한 디엠에이 콘트롤러(1)는 입출력장치(3)로부터 디엠에이 리퀘스트 신호(DREQ)를 입력받아 우선순위를 결정하는 프라이어리티(20)와, 중앙처리장치(2)로부터 라이트 신호(WR), 데이터 크기에 대한 정보, 메모리 시작 어드레스에 대한 정보 등을 입력받아 각 신호의 동작시간을 결정 및 제어하는 타이밍/콘트롤부(10)와, 중앙처리장치(2)로부터 타이밍/콘트롤부(10)를 통해 데이터의 크기에 대한 정보를 입력받는 데이터 사이즈 레지스터(30)와, 중앙처리장치(2)로부터 타이밍/콘트롤부(10)를 통해 메모리의 시작 어드레스에 대한 정보를 입력받는 메모리 어드레스 레지스터(40)와, 타이밍/콘트롤부(10)를 통해 중앙처리장치(2)로부터 입력된 라이트 신호를 해석 및 제어하는 커맨드/커맨드 콘트롤부(60)와, 메모리에 라이트할 데이터를 입출력장치로부터 커맨드/커맨드 콘트롤부(60)를 통해 입력받는 라이트 버퍼(50)를 포함하고 있다.
이하, 첨부된 도 2를 참조하여 종래 디엠에이 콘트롤러의 메모리 라이트 동작을 상세히 설명한다.
먼저, 프라이어리티(20)가 입출력장치로부터 디엠에이 리퀘스트 신호(DREQ)를 입력받으면 홀드 신호(HOLD)를 중앙처리장치(2)로 보낸다. 홀드 신호(HOLD)를 입력받은 중앙처리장치(2)는 홀드 어크날리지 신호(HLDA)를 프라이어리티(20)로 보낸다. 홀드 어크날리지 신호(HLDA)를 입력받은 프라이어리티(20)는 디엠에이 리퀘스트 신호(DREQ)의 우선순위를 결정한다. 최우선 순위의 것부터 디엠에이 리퀘스트 신호(DREQ)에 대응하여 프라이어리티(20)가 커맨드/커맨드 콘트롤부(60)로 디엠에이 전송 시작을 알린다. 프라이어리티(20)를 통해 디엠에이 전송 시작을 인지한 커맨드/커맨드 콘트롤부(60)는 타이밍/콘트롤부(10)를 통해 중앙처리장치(2)로부터 라이트 신호(WR)를 입력받는다. 또한, 데이터 사이즈 레지스터(30)와 메모리 어드레스 레지스터(40)가 타이밍/콘트롤부(10)를 통해 중앙처리장치(2)로부터 데이터 크기 및 메모리 어드레스에 대한 정보를 각각 입력받는다. 타이밍/콘트롤부(10)를 통해 라이트 신호(WR)를 입력받은 커맨드/커맨드 콘트롤부(60)는 라이트 동작을 수행하라는 신호를 라이트 버퍼(50)로 보낸다. 그러면, 라이트 버퍼(50)는 커맨드/커맨드 콘트롤부(60)를 통해 입출력장치로부터 데이터를 입력받아 메모리 라이트 동작을 수행한다. 여기서, 라이트 버퍼(50)가 한 워드씩 데이터를 메모리에 저장할 때마다 데이터 사이즈 레지스터(30)의 값은 감소하고 메모리 어드레스 레지스터(40)의 값은 증가한다. 데이터 사이즈 레지스터값이 0이 되면 커맨드/커맨드 콘트롤부(60)가 라이트 동작 완료를 인식하게됨으로써 메모리 라이트 동작이 끝난다.
상술한 바와 같이 동작하는 종래 디엠에이 콘트롤러는 디엠에이를 지원하는 입출력장치와 연결되어 있을 경우, 프로토콜에 의해 데이터 크기에 대한 정보를 입력받기 때문에 메모리 라이트 동작을 수행할 수 있다. 그러나, 디엠에이를 지원하지 않는 입출력장치와 연결되어 있을 경우, 프로토콜에 의한 데이터 크기를 입력받지 못하므로 메모리 라이트 동작을 수행할 수 없다. 결과적으로, 종래 디엠에이 콘트롤러는 디엠에이를 지원하지 않는 입출력장치와 메모리 사이의 데이터 전송을 불가능하게 한다.
따라서, 본 발명의 목적은 디엠에이를 지원하지 않는 입출력장치라 하더라도 이 입출력장치와 메모리 사이의 디엠에이 전송을 가능하게함으로써 짧은 시간내에 대량의 데이터를 전송할 수 있는 디엠에이 콘트롤러를 제공하는 것이다.
도 1은 메모리 라이트 동작을 위해 디엠에이 콘트롤러를 사용한 마이크로 컴퓨터 시스템의 간략화된 블럭도.
도 2는 메모리 라이트 동작에 관련된 종래 디엠에이 콘트롤러의 내부 블록도.
도 3은 본 발명에 따른 디엠에이 콘트롤러의 내부 블럭도.
* 도면의 주요부분에 대한 부호의 설명 *
1 : 디엠에이 콘트롤러 2 : 중앙처리장치 3 : 입출력장치
4 : 메모리 5 : 시스템 버스
10, 100 : 타이밍/콘트롤부 20, 200 : 프라이어리티
30 : 데이터 사이즈 레지스터 40, 300 : 메모리 어드레스 레지스터
50, 400 : 라이트 버퍼 60, 500 : 커맨드/커맨드 콘트롤부
600 : 버퍼포인터 비교부 700 : 상태 카운터
상술한 본 발명의 목적을 달성하기 위한 디엠에이 콘트롤러는 입출력장치(3)로부터 디엠에이 리퀘스트 신호(DREQ)를 입력받아 우선순위를 결정하는 프라이어리티(200)와, 중앙처리장치(2)로부터 라이트 신호(WR), 메모리 시작 어드레스에 대한 정보 등을 입력받아 각 신호의 동작시간을 결정 및 제어하는 타이밍/콘트롤부(100)와, 중앙처리장치(2)로부터 타이밍/콘트롤부(100)를 통해 메모리의 시작 어드레스에 대한 정보를 입력받는 메모리 어드레스 레지스터(300)와, 타이밍/콘트롤부(100)를 통해 중앙처리장치(2)로부터 입력받은 라이트 신호(WR)를 해석 및 제어하는 커맨드/커맨드 콘트롤부(500)와, 메모리에 라이트할 데이터를 입출력장치로부터 커맨드/커맨드 콘트롤부(500)를 통해 입력받는 라이트 버퍼(400)와, 입출력장치(3)로부터 일정시간동안 디엠에이 리퀘스트 신호(DREQ)가 입력되지 않을 때 커맨드/커맨드 콘트롤부(500)와 버퍼포인터 비교부(600)로 디엠에이 리퀘스트 신호(DREQ) 입력이 완료되었음을 알리는 상태 카운터(700)와, 상태 카운터(700)를 통해 디엠에이 리퀘스트 신호(DREQ) 입력이 완료됨을 인지한 후 라이트 버퍼(400)의 라이트포인터와 리드포인터의 값을 비교하여 두 값이 동일할 때 상기 커맨드/커맨드 콘트롤부(500)로 메모리 라이트 동작 완료신호를 출력하는 버퍼포인터 비교부(600)를 포함한다.
첨부된 도 3을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.
프라이어리티(200)가 입출력장치(3)로부터 디엠에이 리퀘스트 신호(DREQ)를 입력받으면 홀드 신호(HOLD)를 중앙처리장치(2)로 보낸다. 홀드 신호(HOLD)를 입력받은 중앙처리장치(2)는 홀드 어크날리지 신호(HLDA)를 프라이어리티(200)로 보낸다. 홀드 어크날리지 신호(HLDA)를 입력받은 프라이어리티(200)는 디엠에이 리퀘스트 신호(DREQ)의 우선순위를 결정한다. 우선순위가 가장 높은 것부터 디엠에이 리퀘스트 신호(DREQ)에 대응하여 프라이어리티(200)가 커맨드/커맨드 콘트롤부(500)로 디엠에이 전송 시작을 알린다. 프라이어리티(200)를 통해 디엠에이 전송 시작을 인지한 커맨드/커맨드 콘트롤부(500)는 타이밍/콘트롤부(100)를 통해 중앙처리장치(2)로부터 라이트 신호(WR)를 입력받는다. 또한, 메모리 어드레스 레지스터(300)가 타이밍/콘트롤부(100)를 통해 중앙처리장치(2)로부터 메모리 어드레스에 대한 정보를 입력받는다. 타이밍/콘트롤부(100)를 통해 라이트 신호(WR)를 입력받은 커맨드/커맨드 콘트롤부(500)는 라이트 동작을 수행하라는 신호를 라이트 버퍼(400)로 보낸다. 그러면, 라이트 버퍼(400)는 커맨드/커맨드 콘트롤부(500)를 통해 입출력장치(2)로부터 데이터를 입력받아 메모리 라이트 동작을 수행한다. 입출력장치로(2)부터 입력되는 디엠에이 리퀘스트 신호(DREQ)는 프라이어리티(200)로 입력됨과 동시에 상태 카운터(700)로 입력된다. 이때, 일정시간동안 디엠에이 리퀘스트 신호(DREQ)가 입력되지 않으면 상태 카운터(700)가 커맨드/커맨드 콘트롤부(500)와 버퍼포인터 비교부(600)로 디엠에이 리퀘스트 신호(DREQ) 입력이 완료되었음을 알린다. 상태 카운터(700)를 통해 디엠에이 리퀘스트 신호(DREQ) 입력이 완료됨을 인지한 버퍼포인터 비교부(600)는 라이트 버퍼(400)의 라이트포인터와 리드포인터의 값을 비교한다. 이때, 두 포인터 값이 동일하면 버퍼포인터 비교부(600)가 메모리 라이트 동작 완료신호를 커맨드/커맨드 콘트롤부(500)로 출력한다. 커맨드/커맨드 콘트롤부(500)가 버퍼포인터 비교부(600)로부터 라이트 동작 완료신호를 입력받으면 메모리 라이트 동작을 끝내고 다음 동작에 필요한 신호를 발생시킨다.
상기에서 알 수 있듯이, 본 발명에 따른 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 않고 상태 카운터와 버퍼포인터 비교부를 이용하여 메모리 라이트 동작을 수행할 수 있다. 따라서, 디엠에이를 지원하지 않는 입출력장치와 메모리 사이에서의 디엠에이 전송이 가능해진다.
종래의 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 못할 경우 즉, 디엠에이를 지원하지 않는 입출력장치와 연결될 경우, 메모리 라이트 동작을 수행할 수 없다. 이로인해, 대량의 데이터를 메모리로 전송하는데 많은 시간이 필요하다. 반면, 본 발명에 따른 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 않아도 메모리 라이트 동작을 수행할 수 있기 때문에 짧은 시간내에 대량의 데이터를 메모리로 전송한다.

Claims (2)

  1. 디엠에이 콘트롤러에 있어서,
    입출력장치로부터 디엠에이 리퀘스트 신호를 입력받아 우선순위를 결정하는 프라이어리티와,
    중앙처리장치로부터 라이트 신호(WR), 메모리 시작 어드레스에 대한 정보 등을 입력받아 각 신호의 동작시간을 결정 및 제어하는 타이밍/콘트롤부와,
    중앙처리장치로부터 타이밍/콘트롤부를 통해 메모리의 시작 어드레스에 대한 정보를 입력받는 메모리 어드레스 레지스터와,
    타이밍/콘트롤부를 통해 중앙처리장치로부터 입력받은 라이트 신호를 해석 및 제어하는 커맨드/커맨드 콘트롤부와, 메모리에 라이트할 데이터를 입출력장치로부터 커맨드/커맨드 콘트롤부를 통해 입력받는 라이트 버퍼와,
    입출력장치로부터 일정시간동안 디엠에이 리퀘스트 신호가 입력되지 않을 때 커맨드/커맨드 콘트롤부와 버퍼포인터 비교부로 디엠에이 리퀘스트 신호 입력이 완료되었음을 알리는 상태 카운터와,
    상태 카운터를 통해 디엠에이 리퀘스트 신호 입력이 완료됨을 인지한 후 라이트 버퍼의 라이트포인터와 리드포인터의 값을 비교하여 두 값이 동일할 때 상기 커맨드/커맨드 콘트롤부로 메모리 라이트 동작 완료신호를 출력하는 버퍼포인터 비교부를 포함하는 디엠에이 콘트롤러.
  2. 청구항 1에 있어서,
    상기 커맨드/커맨드 콘트롤부가 상기 버퍼포인터 비교부로부터 상기 메모리 라이트 동작 완료신호를 입력받으면 다음 동작에 필요한 신호를 발생시키는 것이 특징인 디엠에이 콘트롤러.
KR1019970078774A 1997-12-30 1997-12-30 디엠에이 콘트롤러 KR100259585B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970078774A KR100259585B1 (ko) 1997-12-30 1997-12-30 디엠에이 콘트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970078774A KR100259585B1 (ko) 1997-12-30 1997-12-30 디엠에이 콘트롤러

Publications (2)

Publication Number Publication Date
KR19990058631A true KR19990058631A (ko) 1999-07-15
KR100259585B1 KR100259585B1 (ko) 2000-06-15

Family

ID=19529919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078774A KR100259585B1 (ko) 1997-12-30 1997-12-30 디엠에이 콘트롤러

Country Status (1)

Country Link
KR (1) KR100259585B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484304B1 (ko) * 2002-11-14 2005-04-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484304B1 (ko) * 2002-11-14 2005-04-20 한국전자통신연구원 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법

Also Published As

Publication number Publication date
KR100259585B1 (ko) 2000-06-15

Similar Documents

Publication Publication Date Title
KR100285956B1 (ko) 고속직렬버스에연결된동기식및비동기식장치의제어시스템과제어방법
US6070204A (en) Method and apparatus for using universal serial bus keyboard to control DOS operations
EP0427023A2 (en) Data transmission control apparatus for parallel processing system
US20050256998A1 (en) Bus bridge device
KR100259585B1 (ko) 디엠에이 콘트롤러
CN101169767B (zh) 访问控制设备及访问控制方法
JPS6111873A (ja) 16ビツトマイクロプロセツサによる8ビツトおよび16ビツトの各周辺装置へのアクセス方法
US6418491B1 (en) Apparatus and method for controlling timing of transfer requests within a data processing apparatus
KR20080040535A (ko) 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치
KR890016475A (ko) 다이렉트 메모리 액세스 제어장치
JPH05165761A (ja) Dmaコントローラ
KR930001923B1 (ko) 피씨와 주변기기간의 인터페이스회로
KR100606698B1 (ko) 인터페이스 장치
KR0129793B1 (ko) 태그 비트를 사용한 메모리 엑세스 장치 및 방법
JPH10198524A (ja) ハードディスク制御装置
KR100261080B1 (ko) Pci버스와isa버스사이의통신제어회로및알고리듬
JP3155559B2 (ja) マルチプロセツサシステム
JPH04148344A (ja) Romエミュレータ
JPH0644193A (ja) I/oレジスタアクセス方式
JP2005084820A (ja) 入出力装置の模擬機能を備えた制御装置
SU1176340A1 (ru) Устройство дл ввода-вывода информации
KR920008447B1 (ko) 메모리 액세스 제어 시스템 및 방법
KR910003497A (ko) 내부 버스라인 수를 줄인 데이타 처리장치
KR950033853A (ko) 고속정보전송이 가능한 인터페이스회로를 갖는 컴퓨터시스템
JP2003122701A (ja) インターフェース及び入出力デバイス

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050221

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee