KR20070060854A - Multi-channel direct memory access controller - Google Patents
Multi-channel direct memory access controller Download PDFInfo
- Publication number
- KR20070060854A KR20070060854A KR1020050120963A KR20050120963A KR20070060854A KR 20070060854 A KR20070060854 A KR 20070060854A KR 1020050120963 A KR1020050120963 A KR 1020050120963A KR 20050120963 A KR20050120963 A KR 20050120963A KR 20070060854 A KR20070060854 A KR 20070060854A
- Authority
- KR
- South Korea
- Prior art keywords
- memory access
- channel
- direct memory
- internal register
- operation state
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- 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
Abstract
Description
도 1은 직접 메모리 접근 제어기를 사용하는 일반적인 시스템의 구성을 나타낸 블록도.1 is a block diagram showing the configuration of a typical system using a direct memory access controller.
도 2는 종래의 직접 메모리 접근 제어기의 구성을 나타낸 블록도.Figure 2 is a block diagram showing the configuration of a conventional direct memory access controller.
도 3은 종래의 멀티 채널 방식의 직접 메모리 접근 제어기의 구성을 나타낸 불록도.3 is a block diagram showing the configuration of a conventional multi-channel direct memory access controller.
도 4는 본 발명의 바람직한 일 실시예에 따른 직접 메모리 접근 제어기의 구성을 나타낸 블록도.Figure 4 is a block diagram showing the configuration of a direct memory access controller according to an embodiment of the present invention.
도 5는 본 발명에 따른 외부 메모리 또는 외부 레지스터의 구조를 나타낸 도면.5 is a diagram showing the structure of an external memory or an external register according to the present invention;
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
400 : 직접 메모리 접근 제어기(Direct Memory Access Controller)400: Direct Memory Access Controller
410 : 내부 레지스터부410: internal register
420 : 제어부420: control unit
430 : 정보 획득부430: information acquisition unit
440 : 인터페이스 모듈440 interface module
450 : 외부 메모리 또는 외부 레지스터450: external memory or external register
본 발명은 직접 메모리 접근 제어기(DMAC; Direct Memory Access Controller)에 관한 것으로, 보다 상세하게는 멀티 채널(multi channel)의 지원이 가능한 직접 메로리 접근 제어기에 관한 것이다. The present invention relates to a direct memory access controller (DMAC), and more particularly, to a direct memory access controller capable of supporting a multi channel.
멀티미디어 제품이 보편화된 현재 많은 양의 데이터를 고속으로 전송하고자 하는 요구가 커지고 있다. 여기서의 데이터는 일반적인 문자열 데이터 이외에도 오디오, 비디오, 동영상 데이터 등을 포함한다. 오디오, 비디오, 동영상 데이터 등은 그 데이터량이 많기 때문에 이를 전송하기 위해 고속의 중앙 처리 장치(CPU) 뿐만 아니라 고속의 전송 메커니즘도 필요하게 된다. BACKGROUND OF THE INVENTION [0002] The demand for high-speed transmission of large amounts of data is increasing. The data here includes audio, video, video data, etc. in addition to the general character string data. Audio, video, and moving image data have a large amount of data, and therefore, a high speed transfer mechanism is required as well as a high speed CPU to transmit the data.
데이터의 고속 전송을 위해서 사용되는 것이 직접 메모리 접근 제어(Direct Memory Access Control) 방법이다. 이 방법은 중앙 처리 장치에 의하지 않고 메모리와 입/출력 장치 간에 데이터 전송이 직접 수행된다. 직접 메모리 접근 제어의 장점은 명령어를 인출(fetch)하고, 디코딩(decoding)한 후 실행(execution)하는 불필요한 시간을 줄일 수 있다는 것이다. Direct memory access control is used for high speed data transfer. In this method, data transfer is directly performed between the memory and the input / output device without the central processing unit. The advantage of direct memory access control is that it saves unnecessary time to fetch, decode, and execute instructions.
직접 메모리 접근 제어 방법을 사용하기 위해서는 시스템 버스 상에 직접 메모리 접근 제어기(DMA controller)와 같은 직접 메모리 제어 모듈이 시스템 버스 상에 추가되어야 한다. In order to use the direct memory access control method, a direct memory control module such as a direct memory access controller (DMA controller) must be added on the system bus.
도 1은 직접 메모리 접근 제어기를 사용하는 일반적인 시스템의 구성을 나타낸 블록도이다. 도 1을 참조하면, 중앙 처리 장치(CPU; 110)는 주소 버스와 데이터 버스(160)를 이용하여 직접 메모리 접근 제어기(DMAC; 120)와 통신하며, 데이터 버스(160)를 통해 직접 메모리 접근 제어기(120)를 초기화한다. 주변 장치(각종 입/출력 장치를 의미하며, 본 예에서는 그래픽 제어기(140)임)가 직접 메모리 제어 요구를 전송하면, 직접 메모리 접근 제어기(120)는 중앙 처리 장치(110)로 하여금 버스(160)를 포기하도록 하고, 주변 장치로 직접 메모리 접근 승낙을 전송하여 주변 장치 사이에 통신이 이루어지도록 한다. 직접 메모리 접근을 요구한 주변 장치와 메모리(130) 사이에 하나의 채널을 열어주도록 직접 메모리 접근 제어기(120)는 세팅된다. 1 is a block diagram showing the configuration of a general system using a direct memory access controller. Referring to FIG. 1, a central processing unit (CPU) 110 communicates with a direct memory access controller (DMAC) 120 using an address bus and a
도 2는 종래의 직접 메모리 접근 제어기의 구성을 나타낸 블록도이다. 도 2를 참조하면, 직접 메모리 접근 제어기(120)는 내부 레지스터부(122), 제어부(124) 및 인터페이스 모듈(126)를 포함한다. 내부 레지스터부(122)는 각 주변 장치로부터의 직접 메모리 제어 요구 등이 포함된 제어 정보와 직접 메모리 접근 동작에 따른 동작 상태를 저장한다. 제어부(124)는 내부 레지스터부(122)를 참조하여 각 주변 장치 사이에 통신이 가능하도록 데이터 전송 흐름을 제어한다. 인터페이스 모듈(126)은 제어부(124)의 제어에 의해 중앙 처리 장치(110)가 버스(160)를 포기하도 록 제1 버스(128)를 통해 버스 제어를 하고, 제2 버스(127)를 통해 데이터 전송이 가능하도록 한다. 2 is a block diagram showing the configuration of a conventional direct memory access controller. Referring to FIG. 2, the direct
도 2에 도시된 직접 메모리 접근 제어기(120)는 1 채널(channel) 방식으로, 한번에 하나의 역할을 수행한다. 즉, 제1 주변 장치로부터 제2 주변 장치로 데이터가 전송되도록 한다. 하지만, 직접 메모리 접근의 기능이 증가하고 지원되어야 할 채널의 수가 증가함에 따라 멀티 채널(multi channel) 방식의 직접 메모리 접근 제어기가 요구된다. The direct
도 3은 종래의 멀티 채널 방식의 직접 메모리 접근 제어기의 구성을 나타낸 불록도이다. 도 3을 참조하면, 직접 메모리 접근 제어기(120)는 n개의 내부 레지스터부(즉, 제1 내부 레지스터부(122-1), 제2 내부 레지스터부(122-2), …, 제n 내부 레지스터부(122-n))를 포함한다. 각각의 내부 레지스터부(122-1, 122-2, … 또는 122-n)는 n개의 채널의 동작에 관한 동작 상태 및 각 채널의 제어 정보를 저장한다. 제어부(124)는 순차적으로 또는 미리 지정된 우선순위에 따라 다수의 내부 레지스터부(122-1, 122-2, … 또는 122-n)를 참조하고, 해당 내부 레지스터부에 상응하는 채널의 동작을 수행하게 된다. 3 is a block diagram showing the configuration of a conventional multi-channel direct memory access controller. Referring to FIG. 3, the direct
도 3에 도시된 직접 메모리 접근 제어기(120)는 내부 레지스터부(122-1, 122-2, …, 122-n)의 수가 증가함에 따라 하드웨어의 크기가 증가하게 되며, 칩 상에 구현함에 있어서 ASIC/FPGA 상의 크기에 대한 제한이 커지는 문제점이 있다. In the direct
따라서, 본 발명은 종래의 반복적인 다수의 내부 레지스터부를 제거하여도 멀티 채널 방식이 가능한 직접 메모리 접근 제어기를 제공한다. Accordingly, the present invention provides a direct memory access controller capable of a multi-channel method even by removing a plurality of repetitive internal registers.
또한, 본 발명은 하드웨어의 크기를 줄일 수 있고 종래와 동일한 멀티 채널 방식의 직접 메모리 접근 기능 수행이 가능한 직접 메모리 접근 제어기를 제공한다. In addition, the present invention provides a direct memory access controller capable of reducing the size of hardware and performing a direct memory access function of the same multi-channel method.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다. Other objects of the present invention will be readily understood through the following description.
상기 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 채널(channel)의 제어 정보 및 직접 메모리 접근(DMA) 동작에 따른 동작 상태를 저장하는 내부 레지스터부; 상기 내부 레지스터부를 참조하여 데이터의 전송 흐름을 제어하고, 소스와 목적지의 어드레스에 대한 전송 위치 비교를 수행하는 제어부; 상기 제어부의 제어를 받아 상기 소스와 목적지 사이의 버스를 제어하고 상기 데이터를 전송하는 인터페이스 모듈; 및 복수의 채널에 대한 제어 정보 및 동작 상태를 저장하는 외부 메모리로부터 소정 조건에 따른 채널의 제어 정보 및 동작 상태를 독출하여 상기 내부 레지스터부를 갱신(update)하는 정보 획득부를 포함하는 직접 메모리 접근 제어기(Direct Memory Access Controller)가 제공될 수 있다.In order to achieve the above object, according to an aspect of the present invention, the internal register unit for storing the control information of the channel (channel) and the operating state of the direct memory access (DMA) operation; A control unit which controls a transmission flow of data by referring to the internal register unit and compares transmission positions with respect to addresses of a source and a destination; An interface module for controlling a bus between the source and the destination and transmitting the data under the control of the controller; And an information obtaining unit which reads the control information and the operating state of the channel according to a predetermined condition from an external memory storing the control information and the operating state of a plurality of channels and updates the internal register unit. Direct Memory Access Controller) may be provided.
바람직하게는, 상기 정보 획득부는 상기 제어부 및 상기 인터페이스 모듈을 통해 상기 외부 메모리와 데이터를 전송할 수 있다.Preferably, the information acquisition unit may transmit data with the external memory through the control unit and the interface module.
또한, 상기 내부 레지스터부는 상기 제어 정보를 저장하는 제어 레지스터; 및 상기 동작 상태를 저장하는 환경설정 레지스터를 포함할 수 있다.The internal register may include a control register for storing the control information; And a configuration register for storing the operation state.
또한, 상기 인터페이스 모듈은 제1 버스를 통해 버스 제어를 하고, 제2 버스를 통해 데이터 전송을 수행할 수 있다.In addition, the interface module may control the bus through the first bus and transmit data through the second bus.
그리고 상기 제어부는 직접 메모리 접근에 따른 데이터 전송이 미완료된 동작 상태를 상기 내부 레지스터부에 기록할 수 있다. 여기서, 상기 정보 획득부는 상기 내부 레지스터부에 저장된 현재 동작 상태를 독출하여 상기 외부 메모리에 기록된 동작 상태를 갱신할 수 있다.The controller may record an operation state in which data transfer according to direct memory access is not completed, in the internal register unit. The information acquisition unit may read a current operation state stored in the internal register unit and update the operation state recorded in the external memory.
또한, 상기 외부 메모리는 하나 이상의 저장 영역을 포함하되, 상기 정보 획득부는 순차적으로 또는 미리 지정된 순서에 따라 상기 하나 이상의 저장 영역 중 어느 하나로부터 상기 채널의 제어 정보 및 동작 상태를 독출할 수 있다. The external memory may include one or more storage areas, and the information acquisition unit may read the control information and the operation state of the channel from any one of the one or more storage areas sequentially or in a predetermined order.
이하, 첨부된 도면을 참조하여 본 발명에 따른 직접 메모리 접근 제어기의 바람직한 실시예를 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 동일 또는 유사한 개체를 순차적으로 구분하기 위한 식별기호에 불과하다.Hereinafter, exemplary embodiments of a direct memory access controller according to the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Numbers (eg, first, second, etc.) used in the description of the present specification are merely identification symbols for sequentially distinguishing identical or similar entities.
도 4는 본 발명의 바람직한 일 실시예에 따른 직접 메모리 접근 제어기의 구성을 나타낸 블록도이고, 도 5는 본 발명에 따른 외부 메모리 또는 외부 레지스터의 구조를 나타낸 도면이다. 4 is a block diagram illustrating a configuration of a direct memory access controller according to an exemplary embodiment of the present invention, and FIG. 5 is a diagram illustrating a structure of an external memory or an external register according to the present invention.
도 4를 참조하면, 직접 메모리 접근 제어기(400)는 내부 레지스터부(410), 제어부(420), 정보 획득부(430) 및 인터페이스 모듈(440)을 포함한다. 여기서, 직접 메모리 접근 제어기(400)는 외부 메모리 또는 외부 레지스터(450)와 연결되어 있다. Referring to FIG. 4, the direct
내부 레지스터부(410)는 채널로부터의 제어 정보 및 해당 채널의 직접 메모리 접근 동작에 따른 동작 상태를 저장한다. 여기서, 채널은 직접 메모리 접근에 의한 데이터 전송을 하고자 하는 메모리와 주변 장치 간의 연결을 의미한다. 내부 레지스터부(410)에는 한번에 하나의 채널에 대한 제어 정보 및 동작 상태가 저장될 수 있다. 내부 레지스터부(410)는 하드웨어적으로 갱신(update)이 가능하다. 후술할 정보 획득부(430)에 의해 내부 레지스터부(410)는 이전에 기록되어 있던 채널 대신 현재 동작되고자 하는 채널에 대한 제어 정보 및 동작 상태를 갱신 기록하여 저장한다. 여기서, 제어 정보는 해당 채널을 동작시키기 위해 필요한 세팅 값을 포함하고, 동작 상태는 해당 채널의 직접 메모리 접근에 따른 데이터 전송 현황을 포함한다. The
내부 레지스터부(410)는 제어 정보를 저장하는 제어 레지스터(control register)와, 동작 상태를 저장하는 환경설정 레지스터(configuration register)를 포함하는 것이 바람직하다. 또한, 내부 레지스터부(410)는 직접 메모리 접근 제어기(400) 내부에 하나만 있는 것이 바람직하다. 내부 레지스터부(410)의 하드웨어상 크기도 무시하지 못하기 때문에 수가 적을수록 직접 메모리 접근 제어기(400)의 하드웨어 구현에 있어서 크기를 줄일 수 있다. The
제어부(420)는 내부 레지스터부(410)를 참조하여 데이터의 전송 흐름을 제어한다. 내부 레지스터부(410)에는 해당 채널의 제어 정보 및 동작 상태가 저장되어 있는 바, 제어 정보로부터 해당 채널을 동작시키기 위해 필요한 세팅 값을 독출하고, 동작 상태로부터 해당 채널의 직접 메모리 접근에 따른 데이터 전송 현황을 독출한다. 그리고 독출한 값을 이용하여 각 주변 장치들 간 또는 외부 메모리(450)와 주변 장치들 간에 데이터 전송 흐름을 제어한다. The
또한, 제어부(420)는 채널을 활성화하여 데이터 전송 흐름을 제어하기 위해 소스(source)와 목적지(destination)의 주소(address)에 대한 전송 위치 비교 등을 수행한다. 소스와 목적지는 채널의 양단에 위치한 메모리, 각 주변 장치들을 의미한다. 중앙 처리 장치(CPU)의 계속적인 관여 없이 데이터가 메모리와 주변 장치 사이에서 전송되도록 하기 위해 제어부(420)는 사이클 도용(Cycle stealing)을 한다. 그리고 데이터의 전송이 끝나면 중앙 처리 장치를 인터럽트한다. In addition, the
인터페이스 모듈(440)은 제어부(420)의 제어를 받아 소스와 목적지 사이의 버스를 제어한다. 직접 메모리 접근 제어를 하기 위해서는 중앙 처리 장치가 버스의 점유를 포기하게 해야 한다. 그리고 외부 메모리(450)에 접근하기 위해 사이클 도용(Cycle stealing)을 한다. 이를 통해 중앙 처리 장치의 계속적인 관여 없이 데이터를 외부 메모리(450)와 주변 장치 사이에 전송할 수 있게 된다. 따라서, 인터페이스 모듈(440)은 중앙 처리 장치 없이도 데이터 전송을 할 수 있도록 하기 위해 버스를 제어한다. 그리고 직접 메모리 접근 제어기(400)의 내부 레지스터부(410)에 기록될 제어 정보 및 동작 상태, 직접 메모리 접근 동작이 수행된 후의 동작 상태 등이 인터페이스 모듈(440)을 통해 직접 메모리 접근 제어기(400) 내외로 전송된다. 데이터의 전송은 제1 버스(443)를 통해 수행되고, 버스 제어는 제2 버스(446)를 통해 수행된다. The
정보 획득부(430)는 외부 메모리 또는 외부 레지스터(450)로부터 각 채널의 제어 정보 및 동작 상태를 독출한다. 여기서, 외부 메모리 또는 외부 레지스터(450)는 채널의 제어 정보 및 동작 상태를 저장하기 위한 영역을 가지고 있으며, 이 영역은 채널의 수에 상응하여 n(자연수) 개의 영역으로 세분된다. 도 5를 참조하면, 외부 메모리 또는 외부 레지스터(450)는 환경설정 영역(configuration area; 453-1, 453-2, …, 453-n)과 제어 영역(control area; 456-1, 456-2, …, 456-n)을 가지고 있으며, 각 영역은 주변 장치의 수 또는 채널의 수에 따라 n개로 분할될 수 있다. 환경설정 영역(453-1, 453-2, …, 453-n)은 동작 상태를, 제어 영역(456-1, 456-2, …, 456-n)은 제어 정보를 저장하고 있다. The
정보 획득부(430)는 제어부(420) 내부에 있는 데이터 전송을 위한 통로 및 인터페이스 모듈(440)를 통해 외부 메모리 또는 외부 레지스터(450)에 접근하게 된다. 정보 획득부(430)는 현재 활성화되어야 할 채널에 대한 정보를 외부로부터 수신하거나 읽어오게 되고, 해당 채널의 제어 정보 및 동작 상태를 독출하게 된다. The
또한, 정보 획득부(430)는 외부 메모리 또는 외부 레지스터(450)로부터 독출한 제어 정보 및 동작 상태를 내부 레지스터부(410)에 기록함으로써 내부 레지스 터부(410)를 갱신한다. In addition, the
또한, 정보 획득부(430)는 해당 채널의 직접 메모리 접근에 따른 데이터 전송 동작이 한번에 완료되지 않는 경우에, 현재 채널의 상태를 외부 메모리 또는 외부 레지스터(450) 내의 해당 저장 영역에 갱신하는 것이 바람직하다. 현재 채널의 상태는 내부 레지스터부(410)에 기록이 되고 있으므로, 내부 레지스터부(410)에 저장된 동작 상태를 독출하여 외부 메모리 또는 외부 레지스터(450)의 해당 채널에 지정된 저장 영역에 저장한다. 이후 다음 차례에 해당 채널이 호출되는 경우에 갱신된 동작 상태 값이 독출되어 직접 메모리 접근에 따른 데이터 전송 동작을 연속적으로 수행할 수 있게 된다. In addition, when the data transfer operation according to the direct memory access of the channel is not completed at one time, the
본 발명에 따른 직접 메모리 접근 제어기(400)에서 직접 메모리 접근을 수행하는 방법은 다음과 같다. A method of performing a direct memory access in the direct
외부의 주변 장치로부터 직접 메모리 접근 요청을 수용한 정보 획득부(430)는 외부 메모리 또는 외부 레지스터(450)로부터 해당 주변 장치에 상응하는 채널에 대한 제어 정보 및 동작 상태를 독출한다. 외부 메모리 또는 외부 레지스터(450)는 각 주변 장치에 대하여 또는 각 채널에 대하여 서로 다른 저장 영역에 제어 정보 및 동작 상태를 저장하고 있다. 이때 정보 획득부(430)는 제어부(420) 및 인터페이스 모듈(440)를 통해 외부 메모리 또는 외부 레지스터(450)에 접근하여 데이터를 전송하거나 전송받는다. The
정보 획득부(430)는 독출한 제어 정보 및 동작 상태를 내부 레지스터부(410)에 기록함으로써 내부 레지스터부(410)를 갱신한다. 제어부(420)는 갱신된 내 부 레지스터부(410)를 참조하여 해당 채널에 대한 제어 정보 및 동작 상태를 인지한다. 그리고 중앙 처리 장치로부터 버스의 점유를 가져오고, 버스를 통해 외부 메모리(450)와 주변 장치 간에 데이터 전송이 수행되도록 한다. 데이터 전송이 완료되면 제어부(420)는 중앙 처리 장치를 인터럽트한다. The
하지만, 데이터 전송이 한번에 완료되지 않는 경우에 현재 채널의 동작 상태를 정보 획득부(430)를 이용하여 외부 메모리 또는 외부 레지스터(450)의 해당 영역에 저장함으로써 해당 영역을 갱신한다. 이후 해당 채널에 대하여 다음번 호출이 수행될 때 정보 획득부(430)는 이전에 갱신하였던 동작 상태 값을 독출하여 직접 메모리 접근에 따른 데이터 전송이 연속적으로 수행되도록 할 수 있다. However, when the data transfer is not completed at one time, the current region is updated by storing the operation state of the current channel in the corresponding region of the external memory or the
활성화하고자 하는 직접 메모리 접근 관련 채널에 관한 정보인 제어 정보와 동작 상태를 정보 획득부(430)를 통해 외부 메모리 또는 외부 레지스터(450)로부터 내부 레지스터부(410)에 저장한다. 하나의 내부 레지스터부(410)를 공유, 참조함으로써 제어부(420)는 직접 메모리 접근 동작을 수행하게 된다. The control information and the operation state, which are information on the direct memory access related channel to be activated, are stored in the
본 발명에 따른 직접 메모리 접근 제어기(400)는 외부 메모리 또는 외부 레지스터(450)에 미리 저장된 채널의 정보를 이용하여 현재의 직접 메모리 접근 동작을 수행하게 된다. 한번의 직접 메모리 접근 동작에 의해 데이터 전송이 완료되지 않은 경우에 정보 획득부(430)는 외부 메모리 또는 외부 레지스터(450)에 다음번 호출시 연속적인 데이터 전송을 위하여 현재의 채널의 정보 즉, 동작 상태를 저장하는 것이 바람직하다. The direct
본 발명에서 직접 메모리 접근 제어기(400)는 직접 메모리 접근을 요구하는 여러 개의 주변 장치들로부터 직접 메모리 접근 요구를 수용하여 다수개의 채널을 제어할 수 있다. 정보 획득부(420)는 직접 메모리 접근을 요구하는 여러 개의 주변 장치들에 대하여 순차적으로 또는 미리 지정된 순서에 따라 우선순위를 부여한다. 그리고 우선순위에 따라 각 주변 장치에 상응하는 외부 메모리 또는 외부 레지스터(450)의 채널 관련 정보 저장 영역(453-1, 453-2, …, 453-n, 456-1, 456-2, … 또는 456-n)으로부터 정보를 독출하여 내부 레지스터부(410)를 차례대로 갱신한다. 제어부(420)는 갱신되는 내부 레지스터부(410)에 저장되는 정보 즉, 채널 관련 정보에 의해 우선순위에 따라 다수개의 채널을 열어주고 데이터 전송을 제어한다. In the present invention, the direct
상술한 바와 같이, 본 발명에 따른 직접 메모리 접근 제어기는 종래의 반복적인 다수의 내부 레지스터부를 제거하여도 멀티 채널 방식이 가능하도록 한다. As described above, the direct memory access controller according to the present invention enables a multi-channel method even by removing a plurality of conventional repetitive internal registers.
또한, 하드웨어의 크기를 줄일 수 있으며, 하나의 내부 레지스터부를 계속 갱신 사용함으로써 효율성을 높일 수 있다. In addition, the size of the hardware can be reduced, and the efficiency can be increased by continuously updating and using one internal register.
또한, 외부 메모리 또는 외부 레지스터부에 접근하게 됨에 따라 내부 레지스터부를 갱신하기 때문에 시간 지연이 발생하지만, 직접 메모리 접근 제어기 구현시 하나의 내부 레지스터만 필요하게 됨에 따라 직접 메모리 접근 제어기가 구현된 칩(chip)의 크기를 줄일 수 있게 된다. 유비쿼터스화되고 있는 현재 디지털 장치들도 휴대가 가능하도록 소형화되고 있는 추세에서 칩의 크기를 줄이는 것은 필수적이며, 그에 따른 경제적 효과도 있는 바 동작 시간과 칩 크기 간의 트레이드 오프 (trade off)가 필요하다. In addition, since the internal register is updated as the external memory or external register is accessed, a time delay occurs. However, since only one internal register is needed when implementing the direct memory access controller, a chip in which the direct memory access controller is implemented ) Can be reduced in size. In today's ubiquitous digital devices, the size of the chip is essential to be portable, and there is an economical effect, which requires a trade-off between operating time and chip size.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art to which the present invention pertains without departing from the spirit and scope of the present invention as set forth in the claims below It will be appreciated that modifications and variations can be made.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050120963A KR20070060854A (en) | 2005-12-09 | 2005-12-09 | Multi-channel direct memory access controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050120963A KR20070060854A (en) | 2005-12-09 | 2005-12-09 | Multi-channel direct memory access controller |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070060854A true KR20070060854A (en) | 2007-06-13 |
Family
ID=38356820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050120963A KR20070060854A (en) | 2005-12-09 | 2005-12-09 | Multi-channel direct memory access controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070060854A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799529B2 (en) | 2010-12-15 | 2014-08-05 | Electronics And Telecommunications Research Institute | Direct memory access controller and operating method thereof |
US8806082B2 (en) | 2010-07-29 | 2014-08-12 | Samsung Electronics Co., Ltd. | Direct memory access device for multi-core system and operating method of the same |
US8898352B2 (en) | 2012-02-28 | 2014-11-25 | Samsung Electronics Co. Ltd. | Storage device |
US9703593B2 (en) | 2012-02-06 | 2017-07-11 | Samsung Electronics Co., Ltd. | Apparatus and method for memory overlay |
-
2005
- 2005-12-09 KR KR1020050120963A patent/KR20070060854A/en not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806082B2 (en) | 2010-07-29 | 2014-08-12 | Samsung Electronics Co., Ltd. | Direct memory access device for multi-core system and operating method of the same |
US8799529B2 (en) | 2010-12-15 | 2014-08-05 | Electronics And Telecommunications Research Institute | Direct memory access controller and operating method thereof |
US9703593B2 (en) | 2012-02-06 | 2017-07-11 | Samsung Electronics Co., Ltd. | Apparatus and method for memory overlay |
US8898352B2 (en) | 2012-02-28 | 2014-11-25 | Samsung Electronics Co. Ltd. | Storage device |
US9075531B2 (en) | 2012-02-28 | 2015-07-07 | Samsung Electronics Co., Ltd. | Storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0142175B1 (en) | Circuit Architecture to Support Multichannel DM Operation | |
US20030067814A1 (en) | Apparatus and architecture for a compact flash memory controller | |
KR20060113248A (en) | An apparatus and method for controlling nand flash memory | |
KR100721091B1 (en) | Flexible general-purpose input/output system | |
US6728797B2 (en) | DMA controller | |
US20050144338A1 (en) | Data transfer apparatus | |
KR20050043303A (en) | High speed data transmission method using direct memory access method in multi-processors condition and apparatus therefor | |
KR20070060854A (en) | Multi-channel direct memory access controller | |
US8386725B2 (en) | USB host controller and controlling method for USB host controller | |
US6754780B1 (en) | Providing data in response to a read command that maintains cache line alignment | |
US20110283068A1 (en) | Memory access apparatus and method | |
JP5497743B2 (en) | Method for controlling access to memory area from a plurality of processes, and communication module including message memory for realizing the method | |
US8769167B2 (en) | Channel device, information processing system and data transfer method | |
US20090235010A1 (en) | Data processing circuit, cache system, and data transfer apparatus | |
US6401151B1 (en) | Method for configuring bus architecture through software control | |
EP0382342B1 (en) | Computer system DMA transfer | |
US20050223129A1 (en) | Arbitration of data transfer requests | |
KR100950356B1 (en) | Data transfer unit with support for multiple coherency granules | |
JP4723334B2 (en) | DMA transfer system | |
JPH0736806A (en) | Dma system | |
US11537537B2 (en) | Semiconductor device and method | |
KR100728870B1 (en) | Dual port ram and method of losslessly transmitting data using the dual port ram | |
KR20070081981A (en) | Interface method and apparatus in cpuless system | |
JPH05204830A (en) | Input/output controller | |
KR100800704B1 (en) | Message preprocessing apparatus and control method for mobile station in wireless communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |