KR19990058631A - 디엠에이 콘트롤러 - Google Patents
디엠에이 콘트롤러 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details 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)
- 디엠에이 콘트롤러에 있어서,입출력장치로부터 디엠에이 리퀘스트 신호를 입력받아 우선순위를 결정하는 프라이어리티와,중앙처리장치로부터 라이트 신호(WR), 메모리 시작 어드레스에 대한 정보 등을 입력받아 각 신호의 동작시간을 결정 및 제어하는 타이밍/콘트롤부와,중앙처리장치로부터 타이밍/콘트롤부를 통해 메모리의 시작 어드레스에 대한 정보를 입력받는 메모리 어드레스 레지스터와,타이밍/콘트롤부를 통해 중앙처리장치로부터 입력받은 라이트 신호를 해석 및 제어하는 커맨드/커맨드 콘트롤부와, 메모리에 라이트할 데이터를 입출력장치로부터 커맨드/커맨드 콘트롤부를 통해 입력받는 라이트 버퍼와,입출력장치로부터 일정시간동안 디엠에이 리퀘스트 신호가 입력되지 않을 때 커맨드/커맨드 콘트롤부와 버퍼포인터 비교부로 디엠에이 리퀘스트 신호 입력이 완료되었음을 알리는 상태 카운터와,상태 카운터를 통해 디엠에이 리퀘스트 신호 입력이 완료됨을 인지한 후 라이트 버퍼의 라이트포인터와 리드포인터의 값을 비교하여 두 값이 동일할 때 상기 커맨드/커맨드 콘트롤부로 메모리 라이트 동작 완료신호를 출력하는 버퍼포인터 비교부를 포함하는 디엠에이 콘트롤러.
- 청구항 1에 있어서,상기 커맨드/커맨드 콘트롤부가 상기 버퍼포인터 비교부로부터 상기 메모리 라이트 동작 완료신호를 입력받으면 다음 동작에 필요한 신호를 발생시키는 것이 특징인 디엠에이 콘트롤러.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100484304B1 (ko) * | 2002-11-14 | 2005-04-20 | 한국전자통신연구원 | 가중 파라메타를 이용한 직접 메모리 접근 제어기의 버스마스터 우선순위 결정방법 |
-
1997
- 1997-12-30 KR KR1019970078774A patent/KR100259585B1/ko not_active IP Right Cessation
Cited By (1)
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 |