KR101214068B1 - Method and apparatus for controlling a bus in direct memory access controller - Google Patents
Method and apparatus for controlling a bus in direct memory access controller Download PDFInfo
- Publication number
- KR101214068B1 KR101214068B1 KR1020060010574A KR20060010574A KR101214068B1 KR 101214068 B1 KR101214068 B1 KR 101214068B1 KR 1020060010574 A KR1020060010574 A KR 1020060010574A KR 20060010574 A KR20060010574 A KR 20060010574A KR 101214068 B1 KR101214068 B1 KR 101214068B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- occupancy
- channels
- channel
- holdgrant0
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
- G06F13/4036—Coupling between buses using bus bridges with arbitration and deadlock prevention
Abstract
본 발명은 버스에 의한 채널들을 통해 데이터 전송이 이루어지는 컴퓨터 시스템에서 채널 별로의 버스 점유 특성을 결정하는 직접 메모리 액세스 제어장치 및 채널 별로의 버스 점유 특성을 결정하는 방법에 관한 것이다.
이를 위해 채널 로직부들이 채널들 각각에 대응한 점유 요청 신호들을 발생하고, 제어 로직부가 채널들의 수만큼의 유지 승인 신호들을 발생한다. AHB (Advanced High-performance Bus) 마스터는 상기 채널 로직부들에 의해 발생된 점유 요청 신호들과 상기 제어 로직부에 의해 발생된 유지 승인 신호들을 기반으로 버스 점유 특성을 점유형과 비점유형 중 하나의 유형으로 결정하는 버스 점유 특성 결정 신호를 발생한다.
DMA, AHB, 버스
The present invention relates to a direct memory access control device for determining bus occupancy characteristics for each channel and a method for determining bus occupancy characteristics for each channel in a computer system in which data is transmitted through channels by a bus.
To this end, the channel logic units generate occupancy request signals corresponding to each of the channels, and the control logic unit generates maintenance grant signals as many as the number of channels. AHB (Advanced High-performance Bus) master uses the occupancy request signals generated by the channel logic units and the hold acknowledgment signals generated by the control logic unit to assign bus occupancy characteristics to one of the types of occupied and non-occupied. The bus occupancy characteristic determination signal is determined.
DMA, AHB, Bus
Description
도 1은 일반적인 직접 메모리 액세스(Direct Memory Access: DMA) 제어부를 나타낸 블록도1 is a block diagram illustrating a general direct memory access (DMA) control unit.
도 2는 일반적인 DMA 제어부에서 AHB(Advanced High-performance Bus) 마스터를 나타낸 블록도2 is a block diagram showing an advanced high-performance bus (AHB) master in a general DMA controller;
도 3은 종래 기술에 따른 AHB 제어부가 버스 점유형 동작을 할 때의 DMA 관련 AHB 신호의 타이밍도3 is a timing diagram of a DMA-related AHB signal when the AHB control unit according to the related art performs bus occupancy type operation.
도 4는 본 발명의 바람직할 실시 예에 따른 DMA 제어부를 나타낸 블록도4 is a block diagram illustrating a DMA controller according to an exemplary embodiment of the present invention.
도 5는 본 발명의 DMA 제어부에서 AHB 마스터를 나타낸 블록도5 is a block diagram showing an AHB master in a DMA controller of the present invention.
도 6은 본 발명의 DMA 제어부에서 동작을 나타내는 타이밍도6 is a timing diagram showing an operation in a DMA controller of the present invention.
본 발명은 중앙처리장치와 주변장치들로 이루어지는 컴퓨터시스템에 관한 것으로, 특히 컴퓨터 시스템에서의 직접 메모리 액세스(Direct Memory Access: DMA) 제어부에서 버스 제어 방법 및 장치에 관한 것이다.The present invention relates to a computer system comprising a central processing unit and peripherals, and more particularly, to a bus control method and apparatus in a direct memory access (DMA) control unit in a computer system.
컴퓨터 시스템에서 중앙 처리 장치(Central Processing Unit: CPU) CPU는 시스템의 주변장치들(Peripheral devices)과 접속되어 데이터의 입력 기능, 데이터의 출력 기능, 논리 연산 기능 등을 수행하는 시스템의 필수적인 구성요소이다. 컴퓨터 시스템에서 주변 장치간의 데이터 전송 제어를 위해 버스 구조를 사용한다. 이러한 버스 구조에서 데이터의 이동은 항상 CPU의 제어를 받게 된다. 따라서 대량의 데이터가 이동할 때는 CPU에 상당히 부하가 많이 걸리게 된다. 이에 따라 CPU의 부하를 줄이기 위해 직접 메모리 액세스(DMA) 방법을 사용한다. 상기 DMA 방법은 데이터 이동 시 CPU를 거치지 않고 버스를 통해 직접 데이터를 전송하는 방법이다.Central Processing Unit (CPU) In a computer system, the CPU is an essential component of the system that is connected to the peripheral devices of the system to perform data input, data output, and logic operations. . In computer systems, bus structures are used to control data transfer between peripherals. The movement of data in this bus structure is always under CPU control. As a result, when a large amount of data is moved, the CPU is very heavily loaded. Therefore, direct memory access (DMA) method is used to reduce CPU load. The DMA method is a method of directly transferring data through a bus without passing through a CPU when moving data.
그러면 버스 구조 중 AHB(Advanced High-performance Bus)를 사용하는 DMA 제어부에서의 동작 방법을 설명하겠다.Next, an operation method of a DMA controller using an advanced high-performance bus (AHB) in the bus structure will be described.
도 1은 일반적인 DMA 제어부(Controller)(100)를 나타낸 블록도이다.1 is a block diagram illustrating a
도 1을 참조하면, DMA 제어부(100)는 AHB 슬레이브 인터페이스(AHB slave interface)(101), DMA 요청 응답 인터페이스(DMA request and response interface)(103), 인터럽트 요청부(interrupt request)(105), 제어 로직부(Control logic and register bank)(107), 각 채널(Channel) 별 채널 로직부(channel logic and channel register bank)(109, 111), AHB 마스터(AHB master)(120) 로 구성된다. 상기 기능블록을 이미 공지된 사항으로 여기서는 생략하기로 한다. AHB 마스터(120)는 내부에서 처리된 DMA 동작을 AHB 마스터 신호로 바꾸어 버스에 연결하는 부분으로, AHB 마스터(120)의 동작이 직접적으로 버스 점유 특성에 영향을 주게 된다. 이 AHB 마스터(120)의 동작을 제어하는 부분이 제어 로직부 (107)이다.Referring to FIG. 1, the
상기 AHB 마스터(120)는 AHB 버스를 이용하여 전송하기 위해 허락을 받기 위 한 동작을 수행한다.The AHB
AHB(Advanced High-performance Bus)의 경우, 하나의 마스터가 버스를 점유하면 다른 마스터는 버스를 사용하지 못하는 특성을 가진다. 종래 기술의 경우 AHB 마스터(120)의 버스 점유 특성을 결정하는 것은 AHB 마스터(120)내의 ‘IArbPriority’라는 중재 우선 신호(Arbitration Priority Signal)이다. 상기 IArbPriority가 '1'이면 버스를 독점적으로 점유한 채 DMA 동작이 이루어지며, '0'이면 비 점유형으로 동작한다.In the case of Advanced High-performance Bus (AHB), when one master occupies the bus, the other master cannot use the bus. In the prior art, determining the bus occupancy characteristic of the
여기서 상기 점유형은 DMA 동작 시 다른 마스터들이 사용하지 못하는 경우이고, 상기 비점유형은 DMA 동작 시에도 다른 마스터들이 인터럽트를 보내는 경우 사용할 수 있는 경우를 나타낸다.Here, the occupancy type is a case where other masters cannot use the DMA operation, and the non-occupation type indicates a case where other masters can use the interrupt even during the DMA operation.
예컨대 PrimeCell PL081과 같은 기존 DMA 제어부(100)의 경우에는 채널(Channel) 별로 버스 점유의 특성이 달라서 용도에 따라 그에 맞는 특성을 지닌 채널을 선택하여 사용하게 되어있다.For example, in the case of the existing
channel0 의 경우, DMA 제어부(100)가 데이터를 옮기고 있는 동안에는 CPU와 같은 다른 마스터(Master)가 버스를 사용할 수 없어 점유형으로 동작한다. channel1 의 경우에는 DMA 제어부(100)가 데이터를 옮기는 동안에도 CPU와 같은 다른 마스터가 버스를 사용하는 것이 가능하다.In the case of channel0, while the
상기 Channel0, Channel1은 각각 Ch0ReqM, Ch1ReqM이라는 신호(Signal) '1'로 출력함으로써, AHB 마스터(100)에 DMA 동작을 요청하게 된다. 이에 대해 상기 AHB 마스터(120)의 구현 동작을 다음의 도 2를 이용하여 설명하기로 한다. 도 2는 도 1의 AHB 마스터(120)를 나타낸 블록도로서, 일례를 나타내었다.Channel0 and Channel1 output the signals '1' such as Ch0ReqM and Ch1ReqM, respectively, to request the DMA operation to the
도 2를 참조하면, AHB 마스터(120)는 두 개의 인터버(121, 125)와 하나의 앤드 게이트(123)로 구성된다. 이 과정에서 channel0 와 channel1 이 함께 동작을 요청하는 경우 channel0의 우선순위가 높으므로 channel0의 요청이 전달되는데, 이것이 CombCh1Gnt가 '1'로 표시된다.Referring to FIG. 2, the AHB
버스의 점유 특성을 결정짓는 과정을 설명하면, Ch0ReqM이 '1'인 경우, 앤드 게이트(123)는 첫 번째 인버터(121)로 인해 무조건 '0'이 입력되므로 Ch1ReqM의 값과는 상관없이 CombCh1Gnt는 '0'의 값을 가지며, 이에 따라 IArbPriority는 두 번째 인버터(125)로 인해 '1'이 되어 독점적으로 버스를 점유한 채 DMA 동작이 이루어진다.Referring to the process of determining the occupancy characteristics of the bus, when Ch0ReqM is '1', the
다음으로 Ch0ReqM이 '0'이고 Ch1ReqM이 '1'인 경우, 상기 앤드 게이트(123)에 의해 CombCh1Gnt는 '1'의 값을 가진다. 이에 따라 IArbPriority는 상기 두 번째 인버터(125)에 의해 '0'의 값을 가지게 되어 AHB 마스터(120)는 버스 비 점유형으로 동작하게 된다.Next, when Ch0ReqM is '0' and Ch1ReqM is '1', CombCh1Gnt has a value of '1' by the
도 3은 종래 기술에 따른 AHB 제어부(100)가 버스 점유형 동작을 할 때의 DMA 관련 AHB 신호의 타이밍도이다.3 is a timing diagram of a DMA-related AHB signal when the
도 3을 설명하기 앞서 각 신호를 설명하면, HCLK는 DMA 마스터 포트가 연결된 AHB의 버스 동기 클럭이고, HBUSREQ는 AHB 마스터로 동작하기 위해 버스 사용 권한을 요청하는 신호이고, HGRANT는 버스 Arbiter로부터 버스 사용 권한을 허가 받는 신호이다. 또한 HTRANS는 AHB transaction 특성을 나타내는 제어 신호이며, HADDR는 AHB 주소를 나타내는 신호이다.Referring to FIG. 3, each signal will be described. HCLK is a bus synchronization clock of an AHB connected to a DMA master port, HBUSREQ is a signal requesting permission to use a bus to operate as an AHB master, and HGRANT is a bus used from a bus Arbiter. Signal to be granted. In addition, HTRANS is a control signal indicating the AHB transaction characteristics, HADDR is a signal indicating the AHB address.
도 3을 살펴보면, DMA 제어부(100)가 AHB 마스터(120)로 동작함에 있어 HBUSREQ를 계속 1로 유지함으로써 HGRANT를 계속 1로 받고 있으며, 따라서 다른 마스터는 버스를 사용할 수 없음을 알 수 있다.Referring to FIG. 3, it can be seen that the
도 3의 타이밍도에서 알 수 있듯이 종래의 DMA 제어부(100)는 버스 점유 특성이 채널 별로 고정되어 있기 때문에 상황에 맞게 채널의 특성을 바꾸어 사용하는 것이 불가능한 문제점이 있다. 예를 들어 두 개의 채널을 모두 버스 점유형으로 사용하거나 버스 비 점유형으로 사용하는 것이 불가능하다.As can be seen from the timing diagram of FIG. 3, the
따라서 본 발명의 목적은 DMA 제어부에서 버스 자원을 유동적으로 제어하는 방법 및 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide a method and apparatus for fluidly controlling bus resources in a DMA controller.
본 발명의 다른 목적은 DMA 제어부에서 소프트웨어적으로 버스 자원을 제어하는 방법 및 장치를 제공함에 있다.Another object of the present invention is to provide a method and apparatus for controlling bus resources in software in a DMA controller.
상술한 바를 달성하기 위한 본 발명에 따른 버스에 의한 채널들을 통해 데이터 전송이 이루어지는 컴퓨터 시스템에서 상기 채널 별로의 버스 점유 특성을 결정하는 직접 메모리 액세스 제어장치는, 상기 채널들 각각에 대응한 점유 요청 신호들 (Ch0ReqM, Ch1ReqM)을 발생하는 채널 로직부들과, 상기 채널들의 수만큼의 유지 승인 신호들 (HoldGrant0, HoldGrant1)을 발생하는 제어 로직부와, 상기 채널 로직부들에 의해 발생된 점유 요청 신호들 (Ch0ReqM, Ch1ReqM)과 상기 제어 로직부에 의해 발생된 유지 승인 신호들 (HoldGrant0, HoldGrant1)을 기반으로 버스 점유 특성을 점유형과 비점유형 중 하나의 유형으로 결정하는 버스 점유 특성 결정 신호 (IArbPriority)를 발생하는 AHB (Advanced High-performance Bus) 마스터를 포함한다.A direct memory access control apparatus for determining bus occupancy characteristics for each channel in a computer system in which data transmission is performed through channels by a bus according to the present invention for achieving the above-mentioned, includes an occupancy request signal corresponding to each of the channels. Channel logic units for generating (Ch0ReqM, Ch1ReqM), control logic unit for generating hold grant signals (HoldGrant0, HoldGrant1) as many as the number of channels, and occupancy request signals generated by the channel logic units ( A bus occupancy characteristic determination signal (IArbPriority) for determining a bus occupancy characteristic as one of the occupied type and the non-occupied type based on Ch0ReqM and Ch1ReqM) and the holding grant signals HoldGrant0 and HoldGrant1 generated by the control logic unit. Includes an advanced high-performance bus (AHB) master that occurs.
상술한 바를 달성하기 위한 본 발명에 따른 버스에 의한 채널들을 통해 데이터 전송이 이루어지는 컴퓨터 시스템에서 직접 메모리 액세스 제어장치가 상기 채널 별로의 버스 점유 특성을 결정하는 방법은, 상기 채널들 각각에 대응한 점유 요청 신호들 (Ch0ReqM, Ch1ReqM)을 발생하는 과정과, 상기 채널들의 수만큼의 유지 승인 신호들 (HoldGrant0, HoldGrant1)을 발생하는 과정과, 상기 발생된 점유 요청 신호들 (Ch0ReqM, Ch1ReqM)과 상기 발생된 유지 승인 신호들 (HoldGrant0, HoldGrant1)을 기반으로 버스 점유 특성을 점유형과 비점유형 중 하나의 유형으로 결정하는 버스 점유 특성 결정 신호 (IArbPriority)를 발생하는 과정을 포함한다.In a computer system in which data is transmitted through channels by a bus according to the present invention for determining the above, a method of directly determining a bus occupancy characteristic of each channel by a memory access control apparatus includes: corresponding to each of the channels. Generating request signals Ch0ReqM and Ch1ReqM, generating hold grant signals HoldGrant0 and HoldGrant1 as many as the number of channels, and generating the occupancy request signals Ch0ReqM and Ch1ReqM. And generating a bus occupancy characteristic determination signal (IArbPriority) that determines the bus occupancy characteristic as one of an occupied type and an unoccupied type based on the retained acknowledgment signals HoldGrant0 and HoldGrant1.
삭제delete
이하 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다. 하기 설명에서 구체적인 특정사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해 제공된 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체 적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of preferred embodiments of the present invention will be given with reference to the accompanying drawings. It should be noted that the same configurations of the drawings denote the same reference numerals as possible whenever possible. Specific details are set forth in the following description, which is provided to aid a more general understanding of the invention. And in describing the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
본 발명은 기존의 DMA 제어부에서 버스 점유형인 경우에도 다른 외부 마스터들이 사용할 수 있도록 버스의 점유 특성을 유동적으로 제어할 수 있음을 특징으로 한다. 그러면 본 발명에 따른 DMA 제어부에 대해 설명한 후 그에 따른 제어 방법을 도면을 이용하여 설명하기로 한다.The present invention is characterized in that the occupancy characteristics of the bus can be flexibly controlled to be used by other external masters even when the bus is occupied by the existing DMA controller. Next, a description will be given of the DMA control unit according to the present invention and a control method according to the present invention with reference to the accompanying drawings.
도 4는 본 발명의 바람직할 실시 예에 따른 DMA 제어부(400)를 나타낸 블록도이다.4 is a block diagram illustrating a
도 4를 참조하면, DMA 제어부(400)는 제어 로직부(407)가 다양한 점유 형태를 제어할 수 있도록 제어 신호를 소프트웨어적으로 생성함을 특징으로 한다. 이하 설명에서 상기 제어 로직부(407)에서 생성되는 제어 신호는 HoldGrant0과 HoldGrant1로 칭할 것이다. 또한 각 기능블록에 대한 설명은 본 발명의 요지가 아니므로 상세한 설명은 생략하기로 한다.Referring to FIG. 4, the
하기 <표 1>은 본 발명의 DMA 제어부(400)에서 제어 신호에 의해 점유 특성을 제어하는 일 예를 보이고 있다.Table 1 below shows an example of controlling the occupancy characteristics by the control signal in the
삭제delete
상기 <표 1>를 살펴보면, 제어 신호 HoldGrant0과 HoldGrant1을 추가함으로써, 채널 별로 버스 점유 특성을 다양하게 구성할 수 있다.Referring to Table 1, by adding the control signals HoldGrant0 and HoldGrant1, the bus occupancy characteristics can be variously configured for each channel.
삭제delete
도 5는 본 발명의 DMA 제어부(400)를 구성하는 AHB 마스터(420)의 상세 구성에 대한 일 예를 보이고 있다. 한편 하기에서 AHB 마스터(420)의 구체적인 동작은 상기 <표 1>에 예시한 채널 별 버스 점유 특성에 의해 설명하도록 한다.5 shows an example of a detailed configuration of the
도 5를 참조하면, AHB 마스터(420)는 세 개의 인버터(421, 425, 429)와 세 개의 앤드 게이트(423, 427, 431)와 하나의 노아 게이트(433)에 의해 구성된다. 상기 AHB 마스터(420)를 구성하는 논리 회로는 일 예로써 제안되는 것일 뿐, 그 외의 구성에 의해 다양하게 구현이 가능함을 자명할 것이다.Referring to FIG. 5, the
삭제delete
본 발명에서 점유 특성을 최종적으로 결정하기 위해 상기 AHB 마스터(420)로부터 출력되는 신호는 IArbPriority이다. 이를 위해 제어 로직부(407)는 소프트웨어로 설정 가능한 레지스터를 포함하고 있다. 여기서 상기 제어 로직부(407)에 포함된 레지스터는 HoldGrant0, HoldGrant1의 신호를 생성한다. 상기 제어 로직부(407)에 포함된 레지스터에 의해 생성된 HoldGrant0, HoldGrant1 신호는 상기 AHB 마스터(420)에 의해 Ch0ReqM, Ch1ReqM 신호와 논리 연산되어 IArbPriority를 출력한다. 따라서 사용자가 상기 제어 로직부(407)에 의해 생성될 HoldGrant0, HoldGrant1 신호를 조정함으로써, 상기 AHB 마스터(420)에 의해 출력될 IArbPriority를 임의로 조정할 수 있는 구조를 가진다.In the present invention, the signal output from the
예컨대 첫 번째로 HoldGrant0의 값이 '1'이고, Hold Grant1의 값이 '1'인 경우, Ch0ReqM의 값이 '1'이면 제 1인버터(421)의 출력 값이 항상 '0'이 되므로 Ch1ReqM의 값에 상관없이 CombCh0Gnt의 값은 항상 '0'이 된다. 이에 따라 제 2앤드 게이트(427)에 입력되는 값은 모두 '1'이 된다. 왜냐하면 상기 CombCh0Gnt의 출력 값이 제 2인버터(425)를 거치기 때문이다. 상기 제 2앤드 게이트(427)의 출력 값은 항상 '1'이 되므로 노아 게이트(433)의 출력 값인 IArbPriority의 값은 항상 '1'이 되어 버스 점유 특성이 점유형으로 결정된다. 상기 조건에서 Ch0ReqM의 값이 '0'이고 Ch1ReqM 의 값이 '1'이면 CombCh1Gnt의 값은 제 1앤드 게이트(423)의 출력 신호이므로 '1'이 된다. 이에 따라 상기 제 2앤드 게이트(427)의 출력 신호는 '0'이 된다. 그러나 상기 CombCh1Gnt의 값이 '0'으로 제 3앤드 게이트의 입력 신호 둘 다 '1'이므로 출력 신호가 '1'이 된다. 따라서 상기 노아 게이트(433)의 출력 신호인 IArbPriority 값은 '1'을 출력하여서 버스 점유 특성이 점유형으로 결정된다.For example, first, if the value of HoldGrant0 is '1' and the value of Hold Grant1 is '1', if the value of Ch0ReqM is '1', the output value of the
예컨대 두 번째로 HoldGrant0값이 '0', Hold Grant1값이 '1'인 경우, 제 2앤드 게이트(427)의 출력 값은 HoldGrant0 값이 '0'이므로 항상 '0'이 된다. 여기서 Ch0ReqM 값이 '1'이면 제 3앤드 게이트(431)의 입력 값이 제 3인버터(429)에 의해 '0'이 된다. 따라서 상기 노아 게이트(433)의 출력 값인 IArbPriority 값은 CombCh1Gnt 값과 관계없이 '0'이 되어 버스 점유 특성이 비점유형으로 결정된다. 상기 조건에서 Ch0ReqM 값이 '0'이고 Ch1ReqM 값이 '1'이면, CombCh0Gnt의 값이 '0'이 되어 제 3인버터(429)의 출력 값이 '1' 이 된다. 그러면 상기 제 3앤드 게이트(431)의 입력 값 모두 '1'이 되므로 상기 노아 게이트(433)의 출력 값인 IArbPriority 값이 1이 되어 버스 점유 특성이 점유형으로 결정된다.For example, secondly, when the HoldGrant0 value is '0' and the Hold Grant1 value is '1', the output value of the
예컨대 세 번째로 HoldGrant0 값이 '1'이고 HoldGrant1의 값이 '0'인 경우, Ch0ReqM의 값이 '1'이면 상기 제 1인버터(421)에 의해 상기 제 1앤드 게이트(423)의 출력 값인 CombCh1Gnt값이 '0'이 된다. 상기 CombCh1Gnt 값이 제 2인버터(425)를 거쳐 제 2앤드 게이트(427)으로 입력된다. 그리고 HoldGrant0 값이 '1'이므로 상기 제 2앤드 게이트(427)의 출력 값이 '1'이 된다. 따라서 노아 게이트(433)의 출력 값인 IArbPriority 값은 '1'이 되어 버스 점유 특성이 점유형으로 결정된다. 상기 조건에서 Ch0ReqM의 값이 '0'이고 Ch1ReqM 값이 '1'이면, 제 1앤드 게이트(423)의 입력 값이 모두 '1'이 되어 CombCh0Gnt의 값이 '1'이 된다. 상기 CombCh0Gnt 값은 제 2인버터(425)에 의해 '0'이 되어 상기 제 2앤드 게이트(427)의 출력 값은 '0'이 된다. 또한 상기 제 3앤드 게이트(431)는 HoldGrant1 값을 입력으로 하므로 항상 '0'값을 출력한다. 따라서 상기 노아 게이트(433)의 출력신호인 IArbPriority의 값이 '0'이 되어 버스 점유 특성이 비점유형으로 결정된다.For example, when HoldGrant0 is '1' and HoldGrant1 is '0', if the value of Ch0ReqM is '1', CombCh1Gnt is an output value of the first and
예컨대 네 번째로 HoldGrant0의 값이 '0', HoldGrant1의 값이 '0'인 경우, Ch0ReqM, Ch1ReqM의 값에 상관없이 노아 게이트(433)의 출력신호인 IArbPriority의 값이 항상 '0'이 되어 버스 점유 특성은 비점유형으로 결정된다. 이것은 상기 HoldGrant0의 값이 '0', HoldGrant1의 값이 '0'이면 각각 제 2 및 제 3앤드 게이트(427, 431)의 출력신호가 항상 '0'이기 때문이다.For example, if the value of HoldGrant0 is '0' and HoldGrant1 is '0', the value of IArbPriority, which is the output signal of
상술한 바와 같이 버스의 점유 특성은 HoldGrant0, HoldGrant1의 값에 따라 채널 별로 설정할 수 있게 되어 채널0 과 채널1에 대해 각각 점유형으로도 비점유형으로도 동작시킬 수 있다.As described above, the occupancy characteristic of the bus can be set for each channel according to the values of HoldGrant0 and HoldGrant1, so that the occupancy and non-occupancy types can be operated for the channel 0 and the channel 1, respectively.
도 6은 본 발명의 DMA 제어부(400)에서 동작하는 일례를 나타낸 타이밍도로서, 비점유형으로 설정하여 동작시킨 경우이다.Fig. 6 is a timing diagram showing an example of operation in the
도 6을 참조하면, DMA가 데이터를 읽고 기록하는 동작을 할 때마다 HBUSREQ를 '0'으로 한번씩 바꾸어 줌으로서 HGRANT가 0으로 바뀌는 부분이 생긴다. 이 순간 DMA는 버스의 사용권을 반납한다. 만약 이 순간에 다른 마스터가 버스의 사용을 요청한다면, 버스의 사용권은 다른 마스터로 넘어갈 수 있다. 하지만 버스 사용권을 요청하는 다른 마스터가 없다면, 도 6에서와 같이 DMA가 다시 버스 사용권을 획득하여 남은 DMA 과정을 계속 진행하게 된다.Referring to FIG. 6, whenever the DMA reads and writes data, the HGRANT is changed to 0 by changing HBUSREQ to '0' once. At this moment DMA returns the bus's right to use. If another master requests the use of the bus at this moment, the bus can be transferred to another master. However, if there is no other master requesting the bus license, as shown in FIG. 6, the DMA acquires the bus license again and continues the remaining DMA process.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited by the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
상술한 바와 같이 본 발명은 DMA 제어부가 버스의 점유 형태를 다양하게 지원할 수 있게 됨에 따라 이 발명이 적용된 시스템의 경우 버스 자원을 더욱 효율적으로 사용할 수 있게 된다.As described above, according to the present invention, the DMA controller can support various types of bus occupancy so that the bus resource can be more efficiently used in the system to which the present invention is applied.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060010574A KR101214068B1 (en) | 2006-02-03 | 2006-02-03 | Method and apparatus for controlling a bus in direct memory access controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060010574A KR101214068B1 (en) | 2006-02-03 | 2006-02-03 | Method and apparatus for controlling a bus in direct memory access controller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070079718A KR20070079718A (en) | 2007-08-08 |
KR101214068B1 true KR101214068B1 (en) | 2012-12-20 |
Family
ID=38600272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060010574A KR101214068B1 (en) | 2006-02-03 | 2006-02-03 | Method and apparatus for controlling a bus in direct memory access controller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101214068B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000298638A (en) | 1999-04-14 | 2000-10-24 | Oki Data Corp | Dma transfer device |
-
2006
- 2006-02-03 KR KR1020060010574A patent/KR101214068B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000298638A (en) | 1999-04-14 | 2000-10-24 | Oki Data Corp | Dma transfer device |
Also Published As
Publication number | Publication date |
---|---|
KR20070079718A (en) | 2007-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5237351B2 (en) | Switch matrix system with multiple bus arbitrations per cycle via higher frequency arbiters | |
JP3231596B2 (en) | Bus system with latency and shadow timer | |
US6151651A (en) | Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system | |
US6016528A (en) | Priority arbitration system providing low latency and guaranteed access for devices | |
US20060282588A1 (en) | Processor system that allows for simultaneous access by multiple requestors to a target with multiple ports | |
US6272580B1 (en) | Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system | |
US20070067527A1 (en) | Data transfer bus system connecting a plurality of bus masters | |
JP4198376B2 (en) | Bus system and information processing system including bus system | |
US8356128B2 (en) | Method and system of reducing latencies associated with resource allocation by using multiple arbiters | |
KR20050001799A (en) | Dynamic bus arbitration method and bus aribotor | |
US6959354B2 (en) | Effective bus utilization using multiple bus interface circuits and arbitration logic circuit | |
JP2004133942A (en) | Data bus system and inter-bus crossing accessing method | |
KR101214068B1 (en) | Method and apparatus for controlling a bus in direct memory access controller | |
KR20040100631A (en) | Bus system and method for arbitrating high-performance bandwidth system bus with multi-master | |
Aljumah et al. | Amba based advanced dma controller for soc | |
US6370593B1 (en) | Apparatus for multiplexing bus interfaces on a computer expansion | |
US5933648A (en) | Configurable arbitration device for controlling the access of components to an arbiter or the like based on a control input | |
KR100475438B1 (en) | Data bus system and method for performing cross-access between buses | |
JPH09153009A (en) | Arbitration method for hierarchical constitution bus | |
KR100441996B1 (en) | Direct Memory Access(DMA) Controller and control method | |
US20100153610A1 (en) | Bus arbiter and bus system | |
KR100605867B1 (en) | Bus arbitration method and bus arbitration having a dynamic priority order arbitration function | |
JP4249741B2 (en) | Bus system and information processing system including bus system | |
JP2007108858A (en) | Pin sharing device and pin sharing method | |
KR20060118875A (en) | Bus interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |