KR100263670B1 - A dma controller - Google Patents
A dma controller Download PDFInfo
- Publication number
- KR100263670B1 KR100263670B1 KR1019970077868A KR19970077868A KR100263670B1 KR 100263670 B1 KR100263670 B1 KR 100263670B1 KR 1019970077868 A KR1019970077868 A KR 1019970077868A KR 19970077868 A KR19970077868 A KR 19970077868A KR 100263670 B1 KR100263670 B1 KR 100263670B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- control signal
- output
- frequency clock
- destination
- Prior art date
Links
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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/023—Generators characterised by the type of circuit or by the means used for producing pulses by the use of differential amplifiers or comparators, with internal or external positive feedback
- H03K3/0233—Bistable circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
본 발명은 컴퓨팅 시스템에 관한 것으로서, 특히 중앙처리장치의 처리를 거치지 않고 입출력 장치(Input/Output, 이하 I/O라 함)와 주기억장치(main memory) 간에 자료를 곧바로 주고 받는 직접 기억장소 접근 방식(Direct Memory Access, 이하 DMA라 함)을 제어하는 컨트롤러(controller)에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computing system, and in particular, a direct storage approach for directly transferring data between an input / output device (Input / Output, hereinafter referred to as I / O) and a main memory (main memory) without being processed by a central processing unit. A controller for controlling direct memory access (hereinafter referred to as DMA).
도 1은 종래의 DMA 컨트롤러를 도시한 블록도로서, 유일 클럭에 각각 제어 받는 마스터(master) 제어부(100), 소스(source) 제어부(110) 및 데스티네이션(destination) 제어부(120)로 이루어진다.FIG. 1 is a block diagram illustrating a conventional DMA controller, and includes a
마스터 제어부(100)는 소스 시스템 및 데스티네이션 시스템의 전송 구분을 위한 각 구간(s_period, d_period) 신호를 각 제어부(110, 120)로 보내고, 또한 시스템 제어신호(어드레스 및 데이터 타이밍, 커맨드(command) 신호)를 생성하여 각 시스템(I/O 또는 메모리 장치)으로 보낸다. 소스 및 데스티네이션 제어부(110, 120)는 마스터 제어부(100)로부터 입력되는 구간(period) 신호에 응답하여 전송에 필요한 어드레스와, 소스 및 데스티네이션 시스템이 I/O 또는 메모리인지를 알려주는 신호(m/io)를 생성하여 마스터 제어부(100)로 출력한다.The
도 2는 종래의 DMA 컨트롤러에 대한 제어신호 타이밍 다이어그램이다. 소스 구간에서 소스 시스템은 마스터 제어부(100)로부터 출력되는 시스템 제어신호(어드레스, 읽기 신호)에 응답하여 해당 어드레스의 데이터를 읽고, 데스티네이션 구간에서 데스티네이션 시스템은 마스터 제어부(100)로부터 출력되는 시스템 제어신호(어드레스, 쓰기 신호)에 응답하여 해당 어드레스의 데이터를 쓴다.2 is a control signal timing diagram for a conventional DMA controller. In the source section, the source system reads data of the corresponding address in response to the system control signal (address, read signal) output from the
이러한 유일 클럭의 제어를 받는 종래의 이러한 DMA 컨트롤러는 소스 및 데스티네이션 시스템 간의 성능 차를 전혀 고려하지 않은 것으로서, 유일 클럭이 상대적으로 느린 시스템에 맞추어지기 때문에, 빠른 시스템에 대해서는 소스 시스템과 데스티네이션 시스템 간의 성능 차만큼의 성능 손실이 발생한다. 즉, 일반적으로 메모리 시스템은 I/O 시스템에 비해 훨씬 빠른 전송 성능을 가지며, DMA의 경우 메모리와 메모리간의 전송은 거의 없고, 메모리와 I/O 간의 전송이 대부분인 것을 고려하면 메모리 시스템의 전송 시에 항상 성능 손실이 발생하는 문제가 있다.The conventional DMA controller, which is controlled by such a unique clock, does not consider the performance difference between the source and the destination system at all, and since the unique clock is adapted to a relatively slow system, the source system and the destination system are fast for the fast system. The performance loss is as much as the difference in performance between the two. That is, in general, a memory system has a much faster transfer performance than an I / O system. In the case of DMA, there is almost no transfer between memory and memory, and most transfers between memory and I / O are considered. There is always a problem of loss of performance.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 소스 및 데스티네이션 시스템의 특성에 맞는 클럭 사용으로 시스템 간의 전송 속도를 개선한 직접 기억 장소 접근 컨트롤러를 제공하는데 그 목적이 있다.Disclosure of Invention The present invention has been made to solve the above problems, and an object thereof is to provide a direct storage access controller that improves the transmission speed between systems by using a clock suitable for characteristics of a source and destination system.
도 1은 종래의 DMA 컨트롤러를 도시한 블록도.1 is a block diagram showing a conventional DMA controller.
도 2는 종래의 DMA 컨트롤러에 대한 제어신호 타이밍 다이어그램도.2 is a control signal timing diagram for a conventional DMA controller.
도 3은 본 발명의 DMA 컨트롤러를 도시한 블록도.3 is a block diagram showing a DMA controller of the present invention;
도 4는 클럭 분주기를 도시한 블록도.4 is a block diagram illustrating a clock divider.
도 5는 동기 제어부를 도시한 블록도.5 is a block diagram showing a synchronization control unit.
도 6은 본 발명의 DMA 컨트롤러에 대한 제어신호 타이밍 다이어그램도.6 is a control signal timing diagram for the DMA controller of the present invention.
* 도면의 주요 부분에 대한 설명* Description of the main parts of the drawing
300 : 마스터 제어부 310 : 소스 제어부300: master control unit 310: source control unit
320 : 데스티네이션 제어부 330 : 동기 제어부320: destination control unit 330: synchronization control unit
340 : 클럭 분주기340: Clock divider
상기 목적을 달성하기 위한 본 발명은 고주파 클럭 및 저주파 클럭을 생성하는 클럭 분주 수단; 상기 고주파 클럭을 입력받아 소스 시스템 및 데스티네이션 시스템의 전송 구분을 위한 각 구간 신호를 소스 제어 수단과 데스티네이션 제어 수단으로 출력하고, 상기 고주파 클럭에 동기된 제1 제어신호를 출력하는 마스터 제어 수단; 상기 소스 구간 신호에 응답하여 전송에 필요한 어드레스와, 상기 소스 시스템이 입출력 시스템인지 메모리 시스템인지를 알려주는 제2 제어신호를 생성하여 동기 제어 수단으로 출력하는 상기 소스 제어 수단; 상기 데스티네이션 구간 신호에 응답하여 전송에 필요한 어드레스와, 상기 데스티네이션 시스템이 입출력 시스템인지 메모리 시스템인지를 알려주는 제3 제어신호를 생성하여 상기 동기 제어 수단으로 출력하는 상기 데스티네이션 제어 수단; 및 상기 제1 제어신호를 입력받아 상기 저주파 클럭과 상기 제2 및 제3 제어신호에 응답하여, 상기 저주파 클럭 또는 상기 고주파 클럭에 동기된 시스템 제어신호를 상기 소스 시스템 또는 상기 데스티네이션 시스템으로 출력하는 상기 동기 제어 수단을 포함하여 이루어지는 직접 기억 장소 접근 컨트롤러를 포함하여 이루어진다.The present invention for achieving the above object is a clock division means for generating a high frequency clock and a low frequency clock; Master control means for receiving the high frequency clock and outputting each section signal for transmission division between a source system and a destination system to a source control means and a destination control means, and outputting a first control signal synchronized with the high frequency clock; The source control means for generating an address required for transmission in response to the source interval signal and a second control signal indicating whether the source system is an input / output system or a memory system and outputting the second control signal to the synchronous control means; The destination control means for generating an address required for transmission in response to the destination duration signal and a third control signal indicating whether the destination system is an input / output system or a memory system and outputting the third control signal to the synchronization control means; And receiving the first control signal and outputting a system control signal synchronized with the low frequency clock or the high frequency clock to the source system or the destination system in response to the low frequency clock and the second and third control signals. And a direct storage location access controller comprising said synchronous control means.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 살펴본다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
시스템 제어신호가 종래의 유일 클럭에 의해 제어됨으로 인해 발생되는 성능 저하를 없애기 위해, 본 발명은 외부로부터 이중 클럭을 입력받거나, 단일 클럭을 입력받아 분주 회로를 통해 각 시스템 특성에 맞는 고주파 클럭 또는 저주파 클럭 을 사용한다. 즉, 메모리 시스템의 경우 고주파 클럭을 시스템 제어신호의 동기 클럭으로 사용해 전송하고, I/O 시스템의 경우 저주파 클럭을 시스템 제어신호의 동기 클럭으로 사용해 각 시스템 인터페이스의 적절한 전송율을 조절한다.In order to eliminate the performance degradation caused by the system control signal being controlled by a conventional unique clock, the present invention receives a dual clock from the outside, or a single clock input through a frequency divider circuit for a high frequency clock or a low frequency for each system characteristic Use the clock. In other words, the memory system uses the high frequency clock as the synchronous clock of the system control signal, and the I / O system uses the low frequency clock as the synchronous clock of the system control signal.
도 3은 본 발명의 일실시예인 DMA 컨트롤러를 도시한 블록도로서, 단일 클럭이 입력되는 경우와 이중 클럭이 입력되는 경우의 DMA 컨트롤러이다.3 is a block diagram illustrating a DMA controller according to an embodiment of the present invention, in which a single clock is input and a dual clock is input.
클럭(clock1, clock2)을 입력받아 고주파 클럭(hclk) 및 저주파 클럭(lclk)을 생성하는 클럭 분주기(340), 고주파 클럭(hclk)을 입력받아 소스 시스템 및 데스티네이션 시스템의 전송 구분을 위한 각 구간(s_period, d_period) 신호를 각 제어부(310, 320)로 보내고, 또한 고주파 클럭(hclk)에 동기된 제어신호(con, 즉 어드레스 및 데이터 타이밍, 커맨드(command) 신호)를 출력하는 마스터 제어부(300), 마스터 제어부(300)로부터 입력되는 소스 및 데스티네이션 구간 신호(s_period, d_period)에 응답하여 전송에 필요한 어드레스와, 소스 및 데스티네이션 시스템이 I/O 또는 메모리인지를 알려주는 신호(m/io)를 생성하여 동기 제어부(330)로 출력하는 소스 및 데스티네이션 제어부(310, 320) 및 저주파 클럭(lclk)과 m/io 신호에 응답하여 소스 시스템 및 데스티네이션 시스템의 특성에 맞게 저주파 또는 고주파 클럭에 동기된 시스템 제어신호를 각 시스템으로 출력하는 동기 제어부(330)로 이루어진다.A
클럭 분주기(340)는 외부로부터 단일 클럭이 입력될 경우는 분주하여, 고주파 클럭(hclk)과 저주파 클럭(lclk)을 생성하여 출력하고, 이중 클럭이 입력될 경우는 분주 과정을 거치지 않고, 입력되는 이중 클럭을 각각 고주파 및 저주파 클럭으로 사용한다. 도 4는 클럭 분주기(340)를 도시한 블록도로서, 제1 클럭(clock1)을 입력받아 곧바로 고주파 클럭(hclk)으로 출력하는 버퍼(400), 제1 클럭(clock1)에 응답하여 구동하고, 출력의 반전된 값이 입력으로 피드백되어, 다시 출력으로 전달하는 플립플롭(410) 및 제어신호(clk_sel)에 응답하여 제2 클럭(clock2)과 플립플롭(410)을 통해 분주된 저주파 클럭 중 하나를 선택하여 저주파 클럭(lclk)으로 출력하는 멀티플렉서(420)로 이루어진다. 외부로부터 단일 클럭이 인가되는 경우 제어신호(clk_sel)에 응답하여, 플립플롭(410)으로부터 분주된 저주파 클럭이 선택되어 저주파 클럭(lclk)으로 출력되고, 외부로부터 이중 클럭이 인가되는 경우는 제어신호(clk_sel)에 응답하여, 입력된 제2 클럭(clock2)이 저주파 클럭(lclk)으로 출력된다.The
외부로부터 인가되어 클럭 분주기(340)를 통해 출력되는 고주파 클럭(hclk)은 시스템 제어의 메인(main) 클럭으로 사용되고, 마스터 제어부(300) 및 각 시스템 제어부(310, 320)의 클럭으로 사용된다. 저주파 클럭(lclk)은 동기 제어부(330)로 입력되어 느린 전송 속도를 가진 시스템의 제어신호를 만드는 데 사용된다.The high frequency clock hclk applied from the outside and output through the
도 5는 동기 제어부(330)를 도시한 블록도로서, 클럭 분주기(340)로부터 출력되는 저주파 클럭(lclk)에 응답하여, 마스터 제어부(300)로부터 출력되어 입력되는 고주파 클럭(hclk)에 동기된 제어신호(con)를 저주파 클럭(lclk)에 동기시켜 출력하는 플립플롭(500) 및 각 제어부(310, 320)로부터 출력되는 m/io 신호에 응답하여 플립플롭(500)으로부터 출력되는 저주파 클럭(lclk)에 동기된 제어신호와 고주파 클럭(hclk)에 동기된 제어신호(con) 중 하나를 선택하여 시스템 제어신호로 출력하는 멀티플렉서(510)로 이루어진다. s_m/io 신호 또는 d_m/io가 전송 시스템이 메모리임을 나타내면, 마스터 제어부(300)로부터 출력되어 입력되는 고주파 클럭(hclk)에 동기된 제어신호(con)를 시스템 제어신호로 보내고, I/O 인 경우 플립플롭(500)으로부터 출력되는 저주파 클럭(lclk)에 동기된 제어신호를 시스템 제어신호로 출력한다. 이때, 플립플롭(500)의 개수는 시스템 인터페이스에 필요한 시스템 제어신호의 수와 동일하다. s_m/io 신호는 소스 시스템이 메모리 인지 I/O인지를 알려주는 신호이고, 또한 d_m/io 신호는 데스티네이션 시스템이 메모리 인지 I/O인지를 알려주는 신호이다.FIG. 5 is a block diagram illustrating the
도 6은 본 발명의 DMA 컨트롤러에 대한 제어신호 타이밍 다이어그램으로서, 소스 구간과 데스티네이션 구간으로 나누어 도시되어 있다.6 is a control signal timing diagram for the DMA controller of the present invention, which is divided into a source section and a destination section.
소스 구간에서는 메모리 시스템 인터페이스가 이루어지고, 데스티네이션 구간에서는 I/O 시스템 인터페이스가 이루어진다고 가정한 경우로서, 먼저 소스 구간에서 메모리 시스템은 고주파 클럭(hclk)에 동기된 어드레스가 hclk의 1사이클 동안 유효하고, 곧바로 고주파 클럭(hclk)에 동기된 커맨드 신호(읽기 신호)가 유효하여 데이터를 읽는다. 따라서, 종래의 전체 소스 구간에서 A 구간만큼 전송 시간이 줄어들게 된다.It is assumed that the memory system interface is formed in the source section and the I / O system interface is performed in the destination section. In the source section, the memory system is first valid for one cycle of the hclk address synchronized to the high frequency clock hclk. Immediately, the command signal (read signal) synchronized with the high frequency clock hclk is valid to read data. Therefore, the transmission time is shortened by the A period in the entire entire source period.
데스티네이션 구간에서 I/O 시스템은 같은 1사이클이지만 저주파 클럭(lclk)에 동기되어 어드레스 및 커맨드(쓰기 신호) 신호가 최소 2배로 느린 것을 알 수 있다.It can be seen that the I / O system is the same one cycle in the destination period but at least twice as slow as the address and command (write signal) signals in synchronization with the low frequency clock (lclk).
따라서, 소스 구간을 메모리 시스템에 적용시키고, 데스티네이션 구간을 I/O 시스템에 적용시키면, 메모리 시스템이나 I/O 시스템 각각이 최대의 성능으로 데이터를 전송할 수 있게 된다.Therefore, when the source interval is applied to the memory system and the destination interval is applied to the I / O system, each of the memory system and the I / O system can transmit data at the maximum performance.
본 발명의 이중 클럭을 이용한 제어는 DMA 뿐 아니라 버스(bus) 간의 브리지(bridge)로서 적용될 수 있고, 시스템 설계의 전분야에 걸쳐 적용가능하다.The dual clock control of the present invention can be applied as a bridge between buses as well as DMA, and is applicable to the whole field of system design.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.
상기와 같이 이루어지는 본 발명은 유일 클럭 대신 소스 시스템 및 데스티네이션 시스템 성능에 맞는 저주파 또는 고주파 클럭을 이용하여 메모리 시스템이나 I/O 시스템 각각이 최대의 성능으로 데이터를 전송할 수 있다.According to the present invention as described above, the memory system or the I / O system may transmit data at the maximum performance by using a low frequency or high frequency clock suitable for the performance of the source system and the destination system instead of the unique clock.
또한, 소스나 데스티네이션 제어신호들이 선택된 클럭 신호에 동기되어 출력되기 때문에 소스 또는 데스티네이션 구간 중 하나의 시간(1/2)에 대하여 저주파 클럭과 고주파 클럭 차이(1/2) 만큼의 전송 시간이 줄어들게 됨으로 전체적으로는 약 1/4 정도의 전송 시간을 줄일 수 있는 효과가 있고, 이는 메모리 시스템과 I/O 시스템과의 성능 차이가 클수록 전송 시간을 더욱 줄일 수 있다.In addition, since the source or destination control signals are output in synchronization with the selected clock signal, a transmission time equal to the difference between the low frequency clock and the high frequency clock (1/2) for a time (1/2) of one of the source or destination periods is increased. As a result, the overall transmission time can be reduced by about one quarter, which means that the larger the performance difference between the memory system and the I / O system, the shorter the transmission time.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970077868A KR100263670B1 (en) | 1997-12-30 | 1997-12-30 | A dma controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970077868A KR100263670B1 (en) | 1997-12-30 | 1997-12-30 | A dma controller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990057789A KR19990057789A (en) | 1999-07-15 |
KR100263670B1 true KR100263670B1 (en) | 2000-08-01 |
Family
ID=19529683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970077868A KR100263670B1 (en) | 1997-12-30 | 1997-12-30 | A dma controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100263670B1 (en) |
-
1997
- 1997-12-30 KR KR1019970077868A patent/KR100263670B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990057789A (en) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4368514A (en) | Multi-processor system | |
US5600824A (en) | Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer | |
KR0145321B1 (en) | Two-way data transfer apparatus | |
US5652536A (en) | Non-glitch clock switching circuit | |
EP0897154A2 (en) | Memory controller supporting dram circuits with different operating speeds | |
US4984195A (en) | Extended bus controller | |
JPH0784863A (en) | Information processor and semiconductor storage device suitable to the same | |
JP4404637B2 (en) | Information exchange between local synchronization circuits | |
US5745731A (en) | Dual channel FIFO circuit with a single ported SRAM | |
KR100263670B1 (en) | A dma controller | |
US7205815B2 (en) | Method and integrated circuit apparatus for reducing simultaneously switching output | |
KR100266963B1 (en) | Method and apparatus for reducing latency rime on an interface by overlapping transmitted packets | |
JPH03177953A (en) | Data transfer system | |
US20240013824A1 (en) | Data transmission apparatus and method having clock gating mechanism | |
JPS6325737B2 (en) | ||
KR20000033265A (en) | Device and method for interfacing chip embedded bus | |
JP2756445B2 (en) | Asynchronous circuit reset method | |
JPS584468A (en) | Microprocessor system | |
JPH11312116A (en) | Synchronizing device for synchronous dynamic random access memory | |
KR900005452B1 (en) | Speed - up circuit for micro precessor | |
JP2000276435A (en) | Method and device for data transfer | |
KR100233100B1 (en) | Time division accessing data communicaton device in multiple processor | |
JPH0465746A (en) | Bus | |
KR0169789B1 (en) | Method and circuit for transmitting data of blocks | |
JPS5858667A (en) | Memory common system |
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: 20050422 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |