KR100259585B1 - Dma controller - Google Patents
Dma controller Download PDFInfo
- Publication number
- KR100259585B1 KR100259585B1 KR1019970078774A KR19970078774A KR100259585B1 KR 100259585 B1 KR100259585 B1 KR 100259585B1 KR 1019970078774 A KR1019970078774 A KR 1019970078774A KR 19970078774 A KR19970078774 A KR 19970078774A KR 100259585 B1 KR100259585 B1 KR 100259585B1
- Authority
- KR
- South Korea
- Prior art keywords
- command
- memory
- controller
- signal
- write
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Images
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
Description
본 발명은 직접 메모리 억세스 제어 장치(Direct Memory Access Controller) (이하, 디엠에이 콘트롤러로 칭함)에 관한 것으로 특히, 메모리 라이트 동작시 입출력장치의 프로토콜상 데이터 크기에 대한 정보가 없을 때도 디엠에이 전송을 할 수 있는데 적합한 디엠에이 콘트롤러에 관한 것이다.The present invention relates to a direct memory access controller (hereinafter referred to as a DM controller). In particular, the present invention relates to a DM transmission even when there is no information on the data size of a protocol of an input / output device during a memory write operation. It can be related to a suitable DM controller.
디엠에이 콘트롤러는 중앙처리장치(2)를 개입시키지 않고 플로피 디스크 장치 등과 같은 입출력장치와 메모리 사이에서 대량의 데이터를 고속으로 리드 또는 라이트하여 데이터 전송을 행한다.The DM controller reads or writes a large amount of data at high speed between a memory and an input / output device such as a floppy disk device and the like without intervening the
도 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)를 포함하고 있다.1 is a simplified block diagram of a microcomputer system performing a memory write operation using a DM controller. The microcomputer system has a memory controller 1, a
이하, 첨부된 도 2를 참조하여 종래 디엠에이 콘트롤러의 메모리 라이트 동작을 상세히 설명한다.Hereinafter, a memory write operation of a conventional DM controller will be described in detail with reference to FIG. 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)가 라이트 동작 완료를 인식하게됨으로써 메모리 라이트 동작이 끝난다.First, when the
상술한 바와 같이 동작하는 종래 디엠에이 콘트롤러는 디엠에이를 지원하는 입출력장치와 연결되어 있을 경우, 프로토콜에 의해 데이터 크기에 대한 정보를 입력받기 때문에 메모리 라이트 동작을 수행할 수 있다. 그러나, 디엠에이를 지원하지 않는 입출력장치와 연결되어 있을 경우, 프로토콜에 의한 데이터 크기를 입력받지 못하므로 메모리 라이트 동작을 수행할 수 없다. 결과적으로, 종래 디엠에이 콘트롤러는 디엠에이를 지원하지 않는 입출력장치와 메모리 사이의 데이터 전송을 불가능하게 한다.When the conventional DM controller operating as described above is connected to an input / output device supporting the DM, it may perform a memory write operation because it receives information about the data size by a protocol. However, when connected to an input / output device that does not support DM, the data write operation cannot be performed because the data size is not received by the protocol. As a result, the conventional DM controller makes it impossible to transfer data between the memory and the input-output device that does not support the DM.
따라서, 본 발명의 목적은 디엠에이를 지원하지 않는 입출력장치라 하더라도 이 입출력장치와 메모리 사이의 디엠에이 전송을 가능하게함으로써 짧은 시간내에 대량의 데이터를 전송할 수 있는 디엠에이 콘트롤러를 제공하는 것이다.Accordingly, an object of the present invention is to provide a DM controller capable of transmitting a large amount of data in a short time by enabling the transmission of the DM between the input / output device and the memory even if the input / output device does not support the DM.
도 1은 메모리 라이트 동작을 위해 디엠에이 콘트롤러를 사용한 마이크로 컴퓨터 시스템의 간략화된 블럭도.1 is a simplified block diagram of a microcomputer system using a DM controller for memory write operations.
도 2는 메모리 라이트 동작에 관련된 종래 디엠에이 콘트롤러의 내부 블록도.2 is an internal block diagram of a conventional DM controller related to memory write operations.
도 3은 본 발명에 따른 디엠에이 콘트롤러의 내부 블럭도.3 is an internal block diagram of a DM controller according to the present invention;
* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
1 : 디엠에이 콘트롤러 2 : 중앙처리장치 3 : 입출력장치1: DM controller 2: CPU 3: I / O
4 : 메모리 5 : 시스템 버스4: memory 5: system bus
10, 100 : 타이밍/콘트롤부 20, 200 : 프라이어리티10, 100: timing /
30 : 데이터 사이즈 레지스터 40, 300 : 메모리 어드레스 레지스터30: data size register 40, 300: memory address register
50, 400 : 라이트 버퍼 60, 500 : 커맨드/커맨드 콘트롤부50, 400: Light buffer 60, 500: Command / command controller
600 : 버퍼포인터 비교부 700 : 상태 카운터600: buffer pointer comparison unit 700: status counter
상술한 본 발명의 목적을 달성하기 위한 디엠에이 콘트롤러는 입출력장치(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)를 포함한다.The DM controller for achieving the object of the present invention described above is a
첨부된 도 3을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다.Referring to the accompanying drawings, a preferred embodiment of the present invention will be described in detail.
프라이어리티(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)로부터 라이트 동작 완료신호를 입력받으면 메모리 라이트 동작을 끝내고 다음 동작에 필요한 신호를 발생시킨다.When the
상기에서 알 수 있듯이, 본 발명에 따른 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 않고 상태 카운터와 버퍼포인터 비교부를 이용하여 메모리 라이트 동작을 수행할 수 있다. 따라서, 디엠에이를 지원하지 않는 입출력장치와 메모리 사이에서의 디엠에이 전송이 가능해진다.As can be seen from the above, the DM controller according to the present invention can perform a memory write operation using a state counter and a buffer pointer comparison unit without receiving information on data size. Therefore, the DM transmission between the input / output device and the memory not supporting the DM can be performed.
종래의 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 못할 경우 즉, 디엠에이를 지원하지 않는 입출력장치와 연결될 경우, 메모리 라이트 동작을 수행할 수 없다. 이로인해, 대량의 데이터를 메모리로 전송하는데 많은 시간이 필요하다. 반면, 본 발명에 따른 디엠에이 콘트롤러는 데이터 크기에 대한 정보를 입력받지 않아도 메모리 라이트 동작을 수행할 수 있기 때문에 짧은 시간내에 대량의 데이터를 메모리로 전송한다.The conventional DM controller cannot perform a memory write operation when it does not receive information on the data size, that is, when connected to an input / output device that does not support the DM. This requires a lot of time to transfer large amounts of data into memory. On the other hand, the DM controller according to the present invention transmits a large amount of data to the memory within a short time since it can perform a memory write operation without receiving information on the data size.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078774A KR100259585B1 (en) | 1997-12-30 | 1997-12-30 | Dma controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078774A KR100259585B1 (en) | 1997-12-30 | 1997-12-30 | Dma controller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990058631A KR19990058631A (en) | 1999-07-15 |
KR100259585B1 true KR100259585B1 (en) | 2000-06-15 |
Family
ID=19529919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970078774A Expired - Fee Related KR100259585B1 (en) | 1997-12-30 | 1997-12-30 | Dma controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100259585B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100484304B1 (en) * | 2002-11-14 | 2005-04-20 | 한국전자통신연구원 | Method for determining bus master priority in direct memory access controller |
-
1997
- 1997-12-30 KR KR1019970078774A patent/KR100259585B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR19990058631A (en) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6070204A (en) | Method and apparatus for using universal serial bus keyboard to control DOS operations | |
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 | |
KR100285956B1 (en) | Apparatus and method for controlling synchronous and asynchronous devices connected to high speed serial bus | |
EP0427023A2 (en) | Data transmission control apparatus for parallel processing system | |
US5968144A (en) | System for supporting DMA I/O device using PCI bus and PCI-PCI bridge comprising programmable DMA controller for request arbitration and storing data transfer information | |
EP0139254A2 (en) | Apparatus and method for direct memory to peripheral and peripheral to memory data transfer | |
KR100259585B1 (en) | Dma controller | |
CN101169767B (en) | Access control device and access control method | |
JP2006512674A (en) | Improved transfer performance of optical storage | |
US20050256998A1 (en) | Bus bridge device | |
US6418491B1 (en) | Apparatus and method for controlling timing of transfer requests within a data processing apparatus | |
KR20080040535A (en) | Data transmission method and device using direct memory access control | |
JPH05165761A (en) | Dma controller | |
KR930001923B1 (en) | Interface circuit between PC and peripheral device | |
KR950009576B1 (en) | Bus interface device | |
KR100606698B1 (en) | Interface device | |
KR20030044373A (en) | Universal serial bus device for using direct memory access interface | |
KR0129793B1 (en) | Memory access device and method using tag bits | |
KR910008420B1 (en) | Interface circuit between cpu and peripheral i/o devices | |
KR0145932B1 (en) | Dma controller in high speed computer system | |
SU1176340A1 (en) | Information input-outrut device | |
JPH04148344A (en) | Rom emulator | |
JP3155559B2 (en) | Multi-processor system | |
KR100261080B1 (en) | Circuit and method for controlling communication between PCI bus and ISA bus | |
JP2667285B2 (en) | Interrupt control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19971230 |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19971230 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20000228 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20000325 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20000327 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20030218 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20040218 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20050221 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20050221 Start annual number: 6 End annual number: 6 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |