KR100653463B1 - Priority decision method of direct memory access controller - Google Patents

Priority decision method of direct memory access controller Download PDF

Info

Publication number
KR100653463B1
KR100653463B1 KR1020040087894A KR20040087894A KR100653463B1 KR 100653463 B1 KR100653463 B1 KR 100653463B1 KR 1020040087894 A KR1020040087894 A KR 1020040087894A KR 20040087894 A KR20040087894 A KR 20040087894A KR 100653463 B1 KR100653463 B1 KR 100653463B1
Authority
KR
South Korea
Prior art keywords
channel
priority
output
data input
request
Prior art date
Application number
KR1020040087894A
Other languages
Korean (ko)
Other versions
KR20060038762A (en
Inventor
황인기
김정식
Original Assignee
한국전자통신연구원
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020040087894A priority Critical patent/KR100653463B1/en
Publication of KR20060038762A publication Critical patent/KR20060038762A/en
Application granted granted Critical
Publication of KR100653463B1 publication Critical patent/KR100653463B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

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

본 발명은 각 기능 모듈의 시간적 제약 정도를 가중치로 적용하여 우선순위를 조정하면서, 사용자의 요구에 따라 특정 모듈의 우선순위를 조정할 수 있는 직접 메모리 접근 제어기의 우선 순위 결정 방법을 제공하기 위한 것으로서, 본 발명에 의한 직접 메모리 접근 제어기의 우선 순위 결정 방법은, 각 모듈에 연결된 복수의 채널에 각각 모듈의 시간적 제약 정도의 상대적 값을 가중 파라메터의 초기값으로 설정한 후, 복수 채널의 데이타 입출력 요구시 상기 가중 파라메터의 크기를 비교하여 우선순위별로 채널의 데이타 입출력을 수행시키면서, 데이타 입출력 수행시마다, 데이타 입출력을 수행한 채널의 시간적 제약 강도가 약해지도록 채널별 가중 파라메터를 조정하고, 또한, 사용자 우선 순위 조정 요구가 발생할 때, 해당 요구 채널이 최우선 순위가 되도록 가중 파라메터를 조정하는 것을 기술적 요지로 한다.The present invention provides a method for determining the priority of a direct memory access controller that can adjust the priority of a specific module according to a user's request while adjusting the priority by applying the temporal constraint degree of each functional module as a weight. In the method of determining the priority of the direct memory access controller according to the present invention, the relative value of the temporal constraint degree of each module is set to the initial value of the weighting parameter for a plurality of channels connected to each module, and then the data input / output of the multiple channels is requested. While comparing the size of the weighting parameters and performing data input / output of each channel for each priority, the weighting parameters for each channel are adjusted so that the temporal constraint strength of the channel on which data input / output has been performed is weakened every time data input / output is performed. When a reconciliation request occurs, the request channel has the highest priority That is to adjust the weighting parameters of a technical aspect that.

직접 메모리 접근(DMA) 제어기, 가중 파라메터, 시간적 제약, 사용자 요구, 우선순위, Direct memory access (DMA) controller, weighting parameters, time constraints, user requirements, priorities,

Description

직접 메모리 접근 제어기의 우선 순위 결정 방법{Priority decision method of direct memory access controller}Priority decision method of direct memory access controller

도 1은 본 발명이 적용되는 직접 메모리 접근 제어기를 나타낸 기능블럭도이다.1 is a functional block diagram illustrating a direct memory access controller to which the present invention is applied.

도 2는 본 발명에 의한 우선 순위 결정 방법을 나타낸 플로우챠트이다.2 is a flowchart showing a priority determining method according to the present invention.

도 3은 본 발명의 우선 순위 결정 방법의 실시 형태를 나타낸 도면이다.3 is a diagram showing an embodiment of a method for determining priority of the present invention.

도 4는 도 3의 실시형태에 의한 가중 파라메터의 변화를 나타낸 테이블이다.4 is a table showing a change in weighting parameters according to the embodiment of FIG. 3.

본 발명은 각 기능 모듈의 시간적 제약 정도를 가중치로 적용하여 우선순위를 조정하면서, 사용자의 요구에 따라 특정 모듈의 우선순위를 조정할 수 있는 직접 메모리 접근 제어기의 우선 순위 결정 방법에 관한 것이다.The present invention relates to a priority determination method of a direct memory access controller that can adjust the priority of a specific module according to a user's request while adjusting the priority by applying the temporal constraint degree of each functional module as a weight.

최근의 시스템 구현 방법으로는 하나의 칩 안에 다양한 기능의 시스템을 집적하는 SoC(System On a Chip) 방법이 널리 쓰이고 있다. 이러한 SoC는 단일 칩 상 에 다양한 기능 모듈을 포함하고 있기 때문에, 프로세서는 다양한 기능 모듈과의 데이터 입출력을 효과적으로 제어할 수 있어야 하며, 특히 각 기능 모듈의 시간 특성을 파악하여, 정해진 시간 안에 올바른 데이터를 입출력시킬 수 있어야 한다.Recently, a system on a chip (SoC) method of integrating various functions into a single chip is widely used as a system implementation method. Since these SoCs contain various functional modules on a single chip, the processor must be able to effectively control data input and output with various functional modules. In particular, the time characteristics of each functional module are understood so that the correct data can be obtained within a predetermined time. It should be able to input and output.

이러한 다수의 모듈에 대한 데이터 입출력 제어를 프로세서에서 전담하는 경우, 프로세서의 부담이 증가되어 효과적인 제어를 할 수 없게 된다. 이에, 메모리와 복수의 기능 모듈간, 메모리와 메모리간, 또는 서로 다른 기능 모듈간의 데이터 입출력을 빠른 시간안에 처리할 수 있는 직접 메모리 접근 제어기(Direct Memory Access controller, 이하 DMA 제어기라 한다)를 적용하여, 프로세서의 부담을 덜어주면서 효율적인 데이타 입출력을 도모하고 있다.When the processor is responsible for data input / output control for a plurality of modules, the burden on the processor is increased and effective control is not possible. In this regard, a direct memory access controller (hereinafter referred to as a DMA controller) capable of processing data input / output between a memory and a plurality of functional modules, between a memory and a memory, or between different functional modules in a short time is applied. In this way, it is possible to reduce the burden on the processor while promoting efficient data input and output.

상기와 같은 DMA 제어기를 구현함에 있어서, 가장 중요한 요소는 우선 순위 결정 방법이다. 우선순위 결정 방법이란 서로 다른 n개의 모듈이 데이터를 전송하려 하는 경우, 어떤 기준에 따라서 모듈간의 데이터 전송순서를 결정하는 방법을 말한다. 이러한 우선순위는 각 모듈의 시간적 특성과 전송 데이터의 크기, 사용자의 어플리케이션(application)등을 고려하여 결정되어야 한다.In implementing such a DMA controller, the most important factor is the priority determination method. Priority determination method refers to a method of determining data transmission order between modules according to a certain criterion when n different modules try to transmit data. This priority should be determined in consideration of the temporal characteristics of each module, the size of transmission data, and the user's application.

일반적으로 알려진 우선 순위 결정방법으로는 고정 우선 순위 결정 방법, 라운드-로빈(Round-robin) 방법이 있으며, 이 중에서, 고정 우선 순위 결정 방법은 n개의 기능 모듈의 우선 순위를 시스템 초기화시 결정짓는 방법으로서, 구현이 용이하지만, 한번 결정된 우선 순위는 변경되지 않기 때문에, 우선순위가 높은 기능 모듈의 데이타 입출력이 연속적으로 발생되는 경우, 후순위 기능 모듈의 데이타가 누 적되어 쌓이게 되는 등, 효과적인 입출력 제어를 수행하지 못하는 경우가 발생할 수 있다. Generally known prioritization methods include fixed prioritization methods and round-robin methods, among which fixed prioritization methods determine priorities of n functional modules at system initialization. As a result, it is easy to implement, but the priority determined once is not changed. Therefore, when data input / output of a high priority function module is continuously generated, data of the lower priority function module is accumulated and accumulated. Failure to do so may occur.

이에 반하여, 라운드 로빈 방식은 시스템 초기화시 우선순위를 결정하는데, 데이터 입출력이 이루어질 때마다, 해당 데이터 입출력을 수행한 모듈의 우선순위를 최하위로 가변시킴으로써, 낮은 우선순위를 갖는 기능 모듈에 대해서도 어느 정도의 데이타 입출력 기회를 갖도록 하는 것이다. 이 방법은 일단 데이타의 입출력을 수행한 모듈은 다음 데이타의 입출력이 발생할 때까지 어느 정도의 시간적 여유가 있다는 것에 근거한 것으로서, 고정 우선 순위 방식에 비하여 효율적인 입출력 제어를 가능케 한다. 그러나 이 방식은 한번 데이타 입출력을 수행한 기능 모듈은 최우선순위의 모듈이라도 최하위로 떨어지기 때문에, 실시간 처리를 요구하는 데이타 입출력의 수행이 지연될 수도 있다는 문제점이 있다.On the other hand, the round robin method determines the priority at system initialization. Whenever data input / output is performed, the round robin method changes the priority of the module that performs the data input / output to the lowest level, so that even a function module having a low priority may have some degree. To have the opportunity of data I / O. This method is based on the fact that a module that has performed input / output of data once has a certain amount of time until the next input / output of data occurs, which enables efficient input / output control compared to the fixed priority method. However, this method has a problem that a function module that has performed data I / O once falls to the lowest level even for a module having the highest priority, so that performance of data I / O requiring real time processing may be delayed.

이에 한국특허공개 2004-42321호(공개일 2004년 5월 20일)에서는 각 기능모듈간의 시간적 제약을 최소한으로 줄이면서 효율적인 데이타 입출력 제어를 가능케 하기 위하여, 가중치 파라메터를 이용하는 우선 순위 결정 방법을 제안하였다.Accordingly, Korean Patent Publication No. 2004-42321 (published May 20, 2004) proposed a priority determination method using weight parameters to enable efficient data input / output control while minimizing time constraints between functional modules. .

상기 방법은 라운드 로빈 방식을 기반으로 하는 것으로서, 각 모듈에 시간 제약 정도에 해당하는 가중 파라메터를 부여하여, 복수의 모듈로부터 데이타 입출력 요구시 상기 부여된 가중 파라메터의 크기에 따라서 최우선 채널을 결정하여 데이타 입출력을 수행하는데, 데이타 입력의 수행후에는 다른 기능 모듈에 부여된 가중 파라메터를 변경시킨다.The method is based on the round robin method, and assigns weighting parameters corresponding to time constraints to each module, and determines the highest priority channel according to the size of the weighting parameters given when requesting data input / output from a plurality of modules. I / O is performed. After performing data input, the weight parameters assigned to other function modules are changed.

상기 제안된 라운드 로빈 방식에 가중치를 적용한 방법은 빠른 시간안에 각 기능 모듈의 시간적 제약에 위반됨이 없이 데이터를 입출력할 수 있게 한다. 그러나 상기 가중치는 각 모듈의 시간적 제약 정도만을 상대 값으로 수치화한 것으로, 데이타 입출력 제어시 사용자의 요구는 적용할 수 없다는 문제점이 있다.The weighted method of the proposed round robin method enables data input and output without breaking the time constraints of each functional module in a short time. However, the weight is a numerical value of only the degree of time constraint of each module as a relative value, and there is a problem that a user's request cannot be applied when controlling data input / output.

본 발명은 상술한 종래의 문제점을 개선하기 위하여 제안된 것으로서, 그 목적은 각 기능 모듈의 시간적 제약 정도를 가중치로 적용하여 우선순위를 조정하면서, 사용자의 요구에 따라 특정 모듈의 우선순위를 조정할 수 있는 직접 메모리 접근 제어기의 우선 순위 결정 방법을 제공하는 것이다.
The present invention has been proposed to improve the above-mentioned conventional problems, and its purpose is to adjust the priority of a specific module according to a user's request while adjusting the priority by applying a temporal constraint degree of each functional module as a weight. It is to provide a method for determining the priority of a direct memory access controller.

상술한 목적을 달성하기 위한 구성수단으로서, 본 발명에 의한 직접 메모리 접근 제어기의 우선 순위 결정 방법은, As a constituent means for achieving the above object, the method of determining the priority of the direct memory access controller according to the present invention,

각 모듈에 연결된 복수의 채널에 각각 모듈의 시간적 제약 정도의 상대적 값을 가중 파라메터의 초기값으로 부여하는 초기화 단계;An initializing step of giving a plurality of channels connected to each module a relative value of a time constraint degree of each module as an initial value of a weighting parameter;

상기 복수의 채널로 데이타 입출력 요구가 있는 경우, 데이타 입출력을 요구한 채널이 1개 채널인지, 둘 이상의 채널인지를 판단하는 판단 단계;A determination step of determining whether a channel for requesting data input / output is one channel or two or more channels when data input / output requests are made in the plurality of channels;

데이타 입출력 요구 채널이 둘이상인 경우, 입출력 요구가 발생한 채널의 가중 파라메터의 크기를 비교하여 최우선 채널을 결정하고, 결정된 최우선 채널을 선 택하여 데이타 입출력을 수행한 후, 데이타 입출력을 수행한 채널의 시간적 제약 강도가 약해지도록 채널별 가중 파라메터를 조정하는 제1 조정 단계;If there are two or more data I / O request channels, the weight of the weighting parameter of the channel where the I / O request occurs is determined to determine the highest priority channel, the determined highest priority channel is selected to perform data I / O, and then the time of the channel that performed data I / O. Adjusting a weighting parameter for each channel so that the constraint strength is weakened;

데이타 입출력 요구채널이 1개인 경우, 입출력 요구가 발생한 채널을 선택하여 데이타 입출력을 수행한 후, 데이타 입출력을 수행한 채널의 시간적 제약 강도가 약해지도록 채널별 가장 파라메터를 조정하는 제2 조정 단계; 및A second adjustment step of adjusting the most parameter for each channel so that the temporal constraint strength of the channel on which the data I / O is performed is weakened after selecting the channel where the I / O request has occurred and performing data I / O when there is one data I / O request channel; And

사용자 우선 순위 조정 요구가 발생하는 지를 체크하여, 사용자 우선 순위 조정 요구가 발생하면, 해당 요구 채널이 최우선 순위가 되도록 가중 파라메터를 조정하는 사용자 조정 단계를 포함하며,
상기 초기화 단계는, 시간적 제약 강도에 반비례하여 가중 파라메터를 설정하는 것을 특징으로 한다.
A user adjustment step of checking whether a user priority adjustment request occurs and adjusting the weighting parameter such that the request channel becomes the highest priority when a user priority adjustment request occurs,
In the initializing step, the weighting parameter is set in inverse proportion to the temporal constraint intensity.

이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 우선순위 결정방법이 적용되는 직접 메모리 접근 제어기의 개략적인 구성도이다.1 is a schematic configuration diagram of a direct memory access controller to which a method for determining priority of the present invention is applied.

상기 도 1을 참조하면, 본 발명이 적용되는 직접 메모리 접근 제어기는 가중 파라메터 및 사용자 요구등과 같은 데이터를 입력하기 위한 데이터 조작부(110)와, 가중 파라메터에 따라서 입출력 채널간의 우선순위를 결정하고 이에 따라 데이타 입출력을 제어하는 제어부(120)와, 상기 제어부(120)에서 필요한 펌웨어와 제어에 필요한 각 모듈의 시간적 제한 정도에 해당하는 가중 파라메터를 채널별로 관리하는 가중 파라메터 테이블이 저장되는 메모리(130)와, 각 채널별 데이터 입출력요구가 있는지, 있는 경우에 몇개의 채널에서 입출력 요구가 있는 지를 판단하는 입출 력 요구 판단부(140)와, 상기 입출력 요구 판단부(140)에 의해 판단된 데이터 입출력 요구 채널중 상기 메모리(130)에 저장된 가중 파라메터 테이블을 참조하여, 우선순위가 높은 채널을 결정하는 최우선 채널 결정부(150)와, 상기 제어부(120)의 제어에 따라상기 최우선 채널 결정부(150)에 의해 결정된 최우선순위의 채널의 데이타 입출력을 수행하는 데이타 입출력 처리부(160)와, 상기 제어부(120)의 제어에 따라서 데이터 입출력 수행후 및 사용자 요구시 각 입출력 채널의 가중 파라메터를 조정하는 가중 파라메터 조정부(170)와, 각 모듈에 연결되어 상기 데이타 입출력 처리부(160)를 통해 데이타 통신이 이루어지는 복수의 채널로 이루어지는 채널부(180)를 포함한다.Referring to FIG. 1, the direct memory access controller to which the present invention is applied determines the priority between the input / output channel and the data operation unit 110 for inputting data such as weight parameters and user requests, and the weight parameters. The memory 130 for controlling data input and output, and a weight parameter table for managing the weight parameters corresponding to the time limit of each module required for the firmware and control required by the control unit 120 for each channel is stored in the memory 130 And an input / output request determination unit 140 for determining whether there is a data input / output request for each channel, and if there are any input / output requests, and the data input / output request determined by the input / output request determination unit 140. Among the channels, the channel having the highest priority is determined by referring to the weight parameter table stored in the memory 130. The first input channel determination unit 150, the data input and output processing unit 160 for performing data input and output of the channel of the highest priority determined by the first channel determination unit 150 under the control of the control unit 120, and the control unit According to the control of the 120 and the weight parameter adjustment unit 170 for adjusting the weight parameters of each input and output channel after performing the data input and output, and the user request, the data communication is performed through the data input and output processing unit 160 is connected to each module It includes a channel unit 180 consisting of a plurality of channels.

상기 직접 메모리 접근 제어기의 구성은 이하에서 설명하는 본 발명에 의한 우선순위 결정 방법을 적절히 수행할 수 있는 일 예를 기능 블럭도로 나타낸 것이다.The configuration of the direct memory access controller is an example of a functional block diagram that can properly perform the priority determination method according to the present invention described below.

본 발명은 상기 직접 메모리 접근 제어기에 있어서, 복수의 데이타 입출력 요구시, 이에 대한 우선순위를 적절히 결정하여, 효율적인 데이타 입출력 제어를 가능토록 한 것으로서, 도 2는 본 발명에 의한 우선 순위 결정 방법을 나타낸 플로우챠트이다.According to the present invention, in the direct memory access controller, when a plurality of data input / output requests are made, the priority of the direct memory access controller is appropriately determined to enable efficient data input / output control, and FIG. 2 illustrates a method for determining priority according to the present invention. It is a flowchart.

상기 도 2를 참조하면, 본 발명에 따른 우선순위 결정 방법은 제1단계(S110)에서, 상기 데이터 조작부(110)를 통하여 각 모듈의 시간적 제약 정도에 해당하는 가중 파라메터를 부여하여, 각 모듈에 연결된 채널(CH1~CHN)들의 우선순위를 초기화한다. 이 때 우선 순위를 정하는 방법은 가장 시간적 제약이 강한 채널 순으로 우선순위를 정한다. 상기 시간적 제약 정도는 채널별 가중 파라메터로 설정되며, 상기 채널별 가중 파라메터는 채널별 입출력 동작의 빈도와 처리되는 데이타의 중요성에 대한 상대적인 값으로서, 초기값은 사용자에 의하여 설정된다. 더불어, 상기 가중 파라메터는 각 모듈의 시간적 제약정도를 상대값으로 수치화한 것으로서, 그 한가지 구현예로, 임의의 모듈을 기준 모듈로 설정하여 상기 기준 모듈에 기준 가중 파라메터를 부여하고, 이 기준 모듈의 시간적 제약에 대해 다른 모듈의 상대적 시간적인 제약 정도를 각 채널의 가중 파라메터로 설정할 수 있다. 다른 구현예로서, 시간적 제약 정도가 가장 낮은 모듈을 기준 모듈로 설정하여, 이 기준 모듈에 연결된 채널에 기준 가중 파라메터를 부여하고, 다른 모듈에 연결된 채널에는 상기 기준 모듈의 시간적 제약 정도에 대한 상대적인 시간적 제약 정도를 가중파라메터로 설정할 수 있다.Referring to FIG. 2, in the priority determining method according to the present invention, in the first step S110, a weighting parameter corresponding to a time constraint degree of each module is assigned to each module through the data manipulation unit 110. Initialize the priority of the connected channels CH1 to CHN. At this time, the priority method is to prioritize the channels with the most time constraints. The temporal constraint degree is set as a weighting parameter for each channel, and the weighting parameter for each channel is a relative value for the frequency of input / output operations per channel and the importance of processed data, and an initial value is set by a user. In addition, the weighting parameter is a numerical value of the temporal constraint of each module as a relative value. In one embodiment, an arbitrary module is set as a reference module, and a reference weighting parameter is assigned to the reference module. With respect to time constraints, the relative temporal constraints of other modules can be set by the weighting parameters of each channel. In another embodiment, the module having the lowest temporal constraint is set as the reference module, and the reference weighting parameter is assigned to the channel connected to the reference module, and the channel connected to the other module is relative to the temporal constraint degree of the reference module. You can set the degree of constraint as a weight parameter.

이렇게 설정된 채널별 가중파라메터는 도 1의 메모리(130)와 같은 저장수단의 가중 파라메터 테이블에 저장된다. The channel-specific weighting parameters set in this way are stored in the weighting parameter table of the storage means such as the memory 130 of FIG. 1.

그리고 본 발명에 의한 우선순위 결정이 실행되는 경우는, 실질적으로 데이터 입출력 요구가 발생했을 때이므로, 본 발명에서는 제2단계(S120, S130)에서 연결된 복수의 채널(CH1~CHN)중 임의의 채널로부터 데이터 입출력 요구가 발생했는지와, 입출력 요구를 발생시킨 채널이 둘 이상인지를 확인한다. Since the prioritization according to the present invention is executed when a data input / output request has occurred substantially, according to the present invention, any channel among the plurality of channels CH1 to CHN connected in the second steps S120 and S130 is used. Check whether the data input / output request has occurred and whether more than one channel has generated the input / output request.

만약 단일 채널로부터 입출력 요구가 발생한 경우, 채널별 우선순위를 판단할 필요없이, 요구된 채널을 통해 데이터의 입출력을 수행하면 되고, 둘의상의 채널로부터 입출력 요구가 발생한 경우에는, 요구 채널간의 우선순위를 설정하여야 한다.If an I / O request is generated from a single channel, the I / O of data may be performed through the requested channel without determining the priority of each channel. If an I / O request is generated from two channels, the priority between the request channels is required. Should be set.

따라서, 요구채널의 수가 둘이상인 경우, 제3단계(S140~S170)에서, 상기 저장된 가중 파라메터 테이블을 참조하여, 각 채널간의 가중 파라메터를 비교하여 우선순위를 판단하고, 상기 판단결과 시간적 제약 정도가 가장 강한 채널을 최우선 채널로 결정한 후, 상기 결정된 최우선 채널을 통해 데이타 입출력을 수행시킴과 동시에, 데이타 입출력을 수행한 채널의 시간적 제약 정도가 약해지도록 채널별 가중 파라메터를 조정한다.Therefore, when the number of the required channels is two or more, in the third step (S140 ~ S170), the priority is determined by comparing the weight parameters between each channel with reference to the stored weight parameter table, and the result of the time constraint is After determining the strongest channel as the highest priority channel, data input / output is performed through the determined highest priority channel, and the weighting parameter for each channel is adjusted so that the time constraint of the channel performing the data input / output is reduced.

또한, 상기에서 요구채널의 수가 하나인 경우, 별도의 우선순위 판단이 불필요하므로, 제4단계(S190)에서는, 바로 요구 채널을 통해 데이타 입출력을 수행하도록 하며, 데이타 입출력을 수행한 채널의 시간적 제약 정도가 약해지도록 채널별 가중 파라메터를 조정한다.In addition, in the case where the number of the required channels is one, no separate priority determination is necessary. In the fourth step (S190), data input / output is performed immediately through the request channel, and time constraints of the channel on which the data input / output is performed are performed. Adjust the channel-specific weighting parameters to weaken the accuracy.

상기 제3,4단계(S140~S170, S190)에서의 채널별 가중 파라메터 조정은, 예를 들면, 데이타 입출력을 수행한 채널의 가중 파라메터 값 만큼, 다른 채널의 가중 파라메터를 감소시키는 방식으로 이루어질 수 있다. 더 구체적으로 설명하면, 가중 파라메터는 모듈간의 시간적 제약정도를 상대수치로 표현한 것이므로, 수치가 가장 낮을 수록 우선순위가 높으며, 데이타 입출력을 수행한 채널의 가중 파라메터만큼 다른 데이터 입출력을 수행하지 않은 채널들의 가중 파라메터를 감소시킴으로써, 데이터 입출력을 수행한 채널의 시간적 제약정도를 상대적으로 감소시킨다.The weight parameter adjustment for each channel in the third and fourth steps S140 to S170 and S190 may be performed by reducing the weight parameter of another channel by the weight parameter value of the channel on which data input / output is performed. have. More specifically, since the weight parameter represents the degree of time constraint between modules as a relative value, the lower the number, the higher the priority, and the weight of the channel that performed the data input / output does not perform the data input / output as different as the weight parameter of the channel. By reducing the weighting parameter, the degree of time constraint of the channel on which data input / output is performed is relatively reduced.

본 발명의 우선 순위 결정 방법은 상기와 같이 데이타 입출력 빈도에 따라서 가중 파라메터를 조정함과 동시에, 사용자의 요구에 의해서 강제적으로 가중 파라메터를 조정할 수 있다.According to the prioritization method of the present invention, the weight parameter is adjusted according to the data input / output frequency as described above, and the weight parameter can be forcibly adjusted by the user's request.

즉, 본 발명의 우선 순위 결정 방법은 제5단계(S200~S220)에서, 사용자의 우선순위 조정 요구가 발생하는 지를 체크하여, 사용자 우선순위 요구 발생시, 요구된 채널의 시간적 제약정도가 가장 강해지도록 가중 파라메터를 가변시켜, 우선 순위를 조정한다. 즉, 상기 가중 파라메터의 수치가 낮을 수록 시간적 제약 정도가 강해지므로, 사용자에 의해 요구된 채널의 가중 파라메터를 가장 낮은 시간적 제약 정도값인 0로 세팅시킨다. 이에, 사용자 요구 채널의 우선순위는 최우선으로 변경될 수 있다. 따라서, 다음의 데이타 입출력 요구 동시 발생시, 상기 사용자 요구 채널의 데이타가 최우선적으로 입출력 처리될 수 있다.That is, in the fifth step (S200 ~ S220), the priority determination method of the present invention checks whether the priority adjustment request of the user occurs, so that when the user priority request occurs, the degree of time constraint of the requested channel becomes the strongest. Change the weighting parameters to adjust the priority. In other words, as the value of the weighting parameter is lower, the temporal constraint becomes stronger. Therefore, the weighting parameter of the channel requested by the user is set to 0, which is the lowest temporal constraint. Accordingly, the priority of the user request channel may be changed to the highest priority. Therefore, when the next data input / output request occurs simultaneously, the data of the user request channel can be input / output first.

이상의 제1~제5단계는 직접 메모리 접근 제어기의 초기화 이후, 동작이 종료될 때까지 반복 수행됨으로써, 직접 메모리 접근 제어기가 복수 채널을 통해 효율적으로 데이타 입출력을 제어할 수 있으며, 특히 사용자의 요구도 적절히 반영시킬 수 있게 된다.The above first to fifth steps are repeatedly performed until the operation is terminated after the initialization of the direct memory access controller, so that the direct memory access controller can efficiently control data input and output through a plurality of channels. It can be properly reflected.

이하, 도 3 및 도 4를 참조하여, 상술한 본 발명의 우선 순위 결정 방법의 실시예를 설명한다.3 and 4, an embodiment of the above-described priority determination method of the present invention will be described.

상기 도 3 및 도 4를 참조하면, 각각의 기능 모듈에 연결되어 직접 메모리 접근 제어기에 데이터 입출력을 요구할 수 있는 채널을 Ch1, Ch2, Ch3라 하고, 각 채널의 시간적 제약 조건으로서, Ch1은 20 msec에 한번씩은, Ch2는 50 msec에 한번 씩, Ch3는 100 msec에 한번씩은 동작해야 한다고 가정한다.Referring to FIGS. 3 and 4, the channels connected to the respective functional modules and capable of directly requesting data input / output to the memory access controller are referred to as Ch1, Ch2, and Ch3. As a temporal constraint for each channel, Ch1 is 20 msec. At one time, assume that Ch2 should operate once every 50 msec and Ch3 once every 100 msec.

그리고, 상기와 같은 각 채널의 시간적 제약 조건으로부터, 시간적 제약 정도가 가장 강한 Ch1의 20msec을 기준으로 설정하여, 각 채널의 가중 파라메터를 초기화하면, 각 채널별 가중 파라메터는 도 4의 테이블의 초기값과 같이, Ch1은 1, Ch2는 2.5, Ch4은 5로 된다. 이에 각 채널간의 우선순위는 단계(S310)에서, Ch1>Ch2>Ch 로 된다.When the weight parameters of each channel are initialized based on 20 msec of Ch1 having the highest temporal constraint level based on the time constraints of each channel as described above, the weight parameters for each channel are the initial values of the table of FIG. 4. As described above, Ch1 is 1, Ch2 is 2.5, and Ch4 is 5. Therefore, the priority of each channel becomes Ch1> Ch2> Ch in step S310.

상기 상태에서, ch1에 데이타 입출력 요구가 발생하면, 단독 채널에 대한 입출력 요구이므로, 도 2의 제4단계(S190)에 의하여, Ch1으로의 데이터 입출력이 수행됨과 동시에, 데이터 입출력이 수행된 Ch1은 가중 파라메터는 초기값으로 리셋되고, 나머지 채널 Ch2, Ch3에 대한 가중 파라메터는 조정된다. 이때, 데이타 입출력이 수행된 Ch1의 가중 파라메터가 1이므로, Ch2,Ch3의 가중 파라메터가 1씩 감소되어, 도 4와 같이, Ch2,Ch3의 가중 파라메터가 각각 1.5와 4로 변경된다(①). 이 때, 감소된 가중 파라메터가 값이 음수이면, 감소시키지 않고 현재의 값을 유지하거나 0로 설정한다. 이렇게 변경된 가중 파라메터에 의하여 우선 순위를 재 조정하면, Ch1>Ch2>Ch3가 된다(S320).In this state, if a data input / output request occurs in ch1, since it is an input / output request for a single channel, by the fourth step (S190) of FIG. 2, data input / output to Ch1 is performed, and at the same time, Ch1 performs data input / output. The weight parameters are reset to their initial values and the weight parameters for the remaining channels Ch2 and Ch3 are adjusted. At this time, since the weighting parameter of Ch1 on which data input / output has been performed is 1, the weighting parameters of Ch2 and Ch3 are decreased by 1, and as shown in FIG. 4, the weighting parameters of Ch2 and Ch3 are changed to 1.5 and 4, respectively (①). At this time, if the reduced weight parameter is a negative value, the current value is maintained or set to 0 without decreasing. When the priority is readjusted according to the weighting parameter changed as above, it becomes Ch1> Ch2> Ch3 (S320).

이어서, Ch2에 대한 사용자 요구가 발생한다고 하면, 해당 사용자 요구 채널인 Ch2의 가중 파라메터는 시간적 제약 강도가 가장 강한 값, 즉, 0로 변경된다(②), 상기 변경된 가중 파라메터에 의하여 우선순위를 재나열하면, 채널간 우선순위가 Ch2>Ch1>Ch3로, Ch2가 최우선이 되고 Ch3가 최하위가 된다(S330).Subsequently, if a user request for Ch2 occurs, the weighting parameter of the corresponding user requesting channel Ch2 is changed to a value having the strongest temporal constraint strength, that is, 0 (2), and the priority is reset by the changed weighting parameter. When listed, the channel priority is Ch2> Ch1> Ch3, where Ch2 is the highest priority and Ch3 is the lowest (S330).

상기 상태에서, Ch1, Ch2의 입출력 요구가 동시에 발생하는 경우, 본 발명에 의하면, 최우선순위를 갖는 Ch2가 선택되어, Ch2를 통해 데이타 입출력이 수행된다. 그리고 나서, 앞서와 마찬가지로, Ch2의 가중파라메터는 초기값으로 환원되고, 다른 Ch1,Ch3의 가중 파라메터는 Ch2의 가중 파라메터만큼씩 감소되는 등의 가중 파라메터 조정이 이루어진다(③). 이에 의해 변경된 가중 파라메터는 도 4의 표에서와 같이, Ch1은 2.5 만큼 감소되면 음수이므로 0로 변경되고, Ch2는 초기값인 2.5로 변경되며, Ch3은 2.5만큼 감소되어 1.5가 된다.In this state, when input / output requests of Ch1 and Ch2 occur simultaneously, according to the present invention, Ch2 having the highest priority is selected, and data input / output is performed through Ch2. Then, as before, the weighting parameters of Ch2 are reduced to initial values, and the weighting parameters of Ch1 and Ch3 are reduced by the weighting parameters of Ch2, and so on (3). As a result, the weighted parameter changed as shown in the table of FIG. 4 is changed to 0 since Ch1 is negative, and Ch2 is changed to 2.5, which is an initial value, and Ch3 is reduced to 2.5 to 1.5.

상기 변경된 가중 파라메터에 의하여 우선순위를 재나열하면, Ch1>Ch3>Ch2로, Ch1이 최우선순위가 되고 Ch2가 최하위가 된다(S340).When the priority is re-arranged according to the changed weighting parameter, Ch1> Ch3> Ch2, Ch1 becomes the highest priority and Ch2 becomes the lowest (S340).

이후, 상기 Ch2와 동시 입출력 요구가 있던 Ch1이 선택되어, Ch1을 통해 데이타 입출력을 수행한다. 이후 앞서와 마찬가지로, Ch1의 가중 파라메터는 초기 값 1로 환원되고, Ch2와 Ch3는 각각 1씩 감소되어, 1.5, 0.5가 된다(④).(도 4 참조)Subsequently, Ch1 having a simultaneous input / output request with Ch2 is selected, and data input / output is performed through Ch1. Thereafter, as before, the weighting parameter of Ch1 is reduced to an initial value of 1, and Ch2 and Ch3 are reduced by 1, respectively, to 1.5 and 0.5 (4).

상기 변경된 가중 파라메터에 의하여 우선 순위를 재나열하면, Ch3>Ch1>Ch2로서, 데이타 입출력이 한번도 없던 Ch3이 최우선 순위가 되고, 그 다음 시간적 제약정도에 따라 Ch1, Ch2 순으로 순위가 결정된다(S350).When the priority is re-arranged according to the changed weighting parameter, Ch3> Ch1> Ch2 is the highest priority, Ch3, which has never had data input / output, and is then ranked in order of Ch1 and Ch2 according to the time constraints (S350). ).

한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명은 상기에 한정되지 않고, 여러가지 변형이 본 발명의 범위에서 벗어나지 않은 한 이루어질 수 있다. Meanwhile, in the above description of the present invention, specific embodiments have been described, but the present invention is not limited to the above, and various modifications may be made without departing from the scope of the present invention.

상술한 바에 의하면, 본 발명의 우선 순위 결정 방법을 이용하여 직접 메모리 접근 제어기를 구현하게 될 경우, 시간적 제약이 많은 다중 입출력 경로를 갖는 고집적 시스템에 있어, 각 모듈간의 데이터 입출력 마찰을 줄일 수 있으며, 시간적 제약을 조정 파라메터로 사용함으로써, 보다 효과적인 우선 순위를 결정하여, 각 모듈의 시간적 제약이 최소한으로 제약 받는 시스템을 구현할 수 있는 효과가 있다. 더불어, 본 발명에 의하면, 사용자의 요구에 따라 강제적인 우선 순위 변경을 가능하게 함으로써, 사용자의 어플리케이션에 적합한 동작을 가능하게 할 수 있는 우수한 효과가 있다. As described above, when a direct memory access controller is implemented by using the prioritization method of the present invention, in a highly integrated system having multiple I / O paths with high time constraints, data input / output friction between modules can be reduced. By using the temporal constraint as an adjustment parameter, it is possible to determine a more effective priority and to implement a system in which the temporal constraint of each module is minimized. In addition, according to the present invention, by forcibly changing the priority according to the user's request, there is an excellent effect that can enable the operation suitable for the user's application.

Claims (7)

삭제delete 삭제delete 삭제delete 복수의 모듈에 연결된 복수의 채널에 대한 데이터 입출력을 제어하는 직접 메모리 접근 제어기의 우선 순위 결정 방법에 있어서,In the prioritization method of the direct memory access controller for controlling data input and output for a plurality of channels connected to a plurality of modules, 각 모듈에 연결된 복수의 채널에 각각 모듈의 시간적 제약 정도의 상대적 값을 가중 파라메터의 초기값으로 부여하는 초기화 단계;An initializing step of giving a plurality of channels connected to each module a relative value of a time constraint degree of each module as an initial value of a weighting parameter; 상기 복수의 채널로 데이타 입출력 요구가 있는 경우, 데이타 입출력을 요구한 채널이 1개 채널인지, 둘 이상의 채널인지를 판단하는 판단 단계;A determination step of determining whether a channel for requesting data input / output is one channel or two or more channels when data input / output requests are made in the plurality of channels; 데이타 입출력 요구 채널이 둘이상인 경우, 입출력 요구가 발생한 채널의 가중 파라메터의 크기를 비교하여 최우선 채널을 결정하고, 결정된 최우선 채널을 선택하여 데이타 입출력을 수행한 후, 데이타 입출력을 수행한 채널의 시간적 제약 강도가 약해지도록 채널별 가중 파라메터를 조정하는 제1 조정 단계;If there are two or more data I / O request channels, the priority channel is determined by comparing the weighting parameters of the channel where the I / O request occurs, and after selecting the highest priority channel to perform data I / O, the time constraints of the channel where data I / O is performed A first adjustment step of adjusting the channel-specific weighting parameters so that the strength is weakened; 데이타 입출력 요구채널이 1개인 경우, 입출력 요구가 발생한 채널을 선택하여 데이타 입출력을 수행한 후, 데이타 입출력을 수행한 채널의 시간적 제약 강도가 약해지도록 채널별 가장 파라메터를 조정하는 제2 조정 단계; 및A second adjustment step of adjusting the most parameter for each channel so that the temporal constraint strength of the channel on which the data I / O is performed is weakened after selecting the channel where the I / O request has occurred and performing data I / O when there is one data I / O request channel; And 사용자 우선 순위 조정 요구가 발생하는 지를 체크하여, 사용자 우선 순위 조정 요구가 발생하면, 해당 요구 채널이 최우선 순위가 되도록 가중 파라메터를 조정하는 사용자 조정 단계를 포함하며, A user adjustment step of checking whether a user priority adjustment request occurs and adjusting the weighting parameter such that the request channel becomes the highest priority when a user priority adjustment request occurs, 상기 초기화 단계는, 시간적 제약 강도에 반비례하여 상기 가중 파라메터를 설정하는 것을 특징으로 하는 직접 메모리 접근 제어기의 우선 순위 결정 방법.In the initializing step, the weighting parameter is set in inverse proportion to a temporal constraint strength. 제 4 항에 있어서, 상기 제1,2조정 단계는The method of claim 4, wherein the first and second adjustment steps are 데이타 입출력이 수행된 채널의 가중 파라메터는 초기값으로 환원하고, 그외 다른 채널의 가중 파라메터는 상기 데이터 입출력이 수행된 채널의 가중 파라메터 초기값 만큼씩 감소시키는 것을 특징으로 하는 직접 메모리 접근 제어기의 우선 순위 결정 방법.Priority of the direct memory access controller characterized in that the weighting parameters of the channels on which data input / output is performed are reduced to initial values, and the weighting parameters of other channels are reduced by the initial value of the weighting parameters of the channels on which data input / output is performed. How to decide. 제 5 항에 있어서, 상기 제1,2조정 단계는The method of claim 5, wherein the first and second adjustment step is 각 채널의 가중 파라메터에서 데이타 입출력이 수행된 채널의 가중 파라메터를 빼값이 음수인 경우, 현재 값을 유지시키는 것을 특징으로 하는 직접 메모리 접근 제어기의 우선 순위 결정 방법.If the value is negative by subtracting the weighting parameter of the channel on which data input / output is performed from the weighting parameter of each channel, the current value is maintained. 제 4 항에 있어서, 상기 사용자 조정 단계는The method of claim 4, wherein the user adjustment step 상기 사용자에 의한 우선 순위 조정 요구가 발생된 채널의 가중 파라메터를 0로 설정하는 것을 특징으로 하는 직접 메모리 접근 제어기의 우선 순위 결정 방법.And setting the weighting parameter of the channel on which the priority adjustment request by the user is generated to zero.
KR1020040087894A 2004-11-01 2004-11-01 Priority decision method of direct memory access controller KR100653463B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040087894A KR100653463B1 (en) 2004-11-01 2004-11-01 Priority decision method of direct memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040087894A KR100653463B1 (en) 2004-11-01 2004-11-01 Priority decision method of direct memory access controller

Publications (2)

Publication Number Publication Date
KR20060038762A KR20060038762A (en) 2006-05-04
KR100653463B1 true KR100653463B1 (en) 2006-12-04

Family

ID=37146226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040087894A KR100653463B1 (en) 2004-11-01 2004-11-01 Priority decision method of direct memory access controller

Country Status (1)

Country Link
KR (1) KR100653463B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836226B2 (en) 2015-02-02 2017-12-05 Samsung Electronics Co., Ltd. Method of processing input/output in storage device and storage device and non-volatile memory device using the method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836226B2 (en) 2015-02-02 2017-12-05 Samsung Electronics Co., Ltd. Method of processing input/output in storage device and storage device and non-volatile memory device using the method

Also Published As

Publication number Publication date
KR20060038762A (en) 2006-05-04

Similar Documents

Publication Publication Date Title
JP4238133B2 (en) Method and apparatus for scheduling resources that meet service quality regulations
US6880028B2 (en) Dynamic request priority arbitration
US8838863B2 (en) Resource controlling with dynamic priority adjustment
US7054968B2 (en) Method and apparatus for multi-port memory controller
US7213084B2 (en) System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
KR100899951B1 (en) System and method for controlling bus arbitration during cache memory burst cycles
US20070156955A1 (en) Method and apparatus for queuing disk drive access requests
JP4625836B2 (en) Access arbitration device
US20070016709A1 (en) Bus control system and a method thereof
US8817619B2 (en) Network system with quality of service management and associated management method
CN100444143C (en) An arbitration device and method for accessing internal storage
US20110022743A1 (en) Usb port for employing a plurality of selectable data transmission priority rules
US6907491B2 (en) Methods and structure for state preservation to improve fairness in bus arbitration
GB2396445A (en) Interrupt controllers for prioritizing interrupt requests generated by a plurality of interrupt sources
CN103218326B (en) Comprehensive arbiter device
KR100653463B1 (en) Priority decision method of direct memory access controller
US6937133B2 (en) Apparatus and method for resource arbitration
JPH10177546A (en) Computer device for scheduling transfer of data on bus
KR100757791B1 (en) Shared resource arbitration method and apparatus
KR100484304B1 (en) Method for determining bus master priority in direct memory access controller
WO2023184991A1 (en) Traffic management and control method and apparatus, and device and readable storage medium
US12021953B2 (en) Priority selection for multiple protocol stacks
KR100973419B1 (en) Method and apparatus for arbitrating a bus
CA2318082C (en) Method and device for controlling processes on a computer system
CN118041883A (en) Port arbitration method and device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee