KR20020096650A - arbitration apparatus for memory access in video processor and method of the same - Google Patents

arbitration apparatus for memory access in video processor and method of the same Download PDF

Info

Publication number
KR20020096650A
KR20020096650A KR1020010035452A KR20010035452A KR20020096650A KR 20020096650 A KR20020096650 A KR 20020096650A KR 1020010035452 A KR1020010035452 A KR 1020010035452A KR 20010035452 A KR20010035452 A KR 20010035452A KR 20020096650 A KR20020096650 A KR 20020096650A
Authority
KR
South Korea
Prior art keywords
data
fifo
memory
priority
req
Prior art date
Application number
KR1020010035452A
Other languages
Korean (ko)
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 KR1020010035452A priority Critical patent/KR20020096650A/en
Publication of KR20020096650A publication Critical patent/KR20020096650A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE: A device and a method for mediating memory access of a video processor are provided to disperse requests by changing the priority according to the state of FIFOs, thereby more efficiently using bandwidth to a memory. CONSTITUTION: A device for mediating memory access of a video processor includes a memory(40) storing data required for image processing, a plurality of function blocks processing images by reading and writing the data stored at the memory according to the preliminarily set priority, a plurality of FIFOs temporarily storing the data to be read and written at the plurality of function blocks, and a mediator controller(30) changing the priority preliminarily set at the plurality of function blocks according to the amount of the data stored at the plurality of FIFOs.

Description

영상 처리기의 메모리 액세스 중재 장치 및 방법{arbitration apparatus for memory access in video processor and method of the same}Arbitration apparatus for memory access in video processor and method of the same

본 발명은 영상 처리기의 메모리 중재 방법에 관한 것으로, 특히 FIFO의 상태에 따라 우선 순위(arbitrary priority)를 조절하여 메모리를 효율적으로 사용하기 위한 영상처리기의 메모리 액세스 중재 장치 및 방법에 관한 것이다.The present invention relates to a memory arbitration method of an image processor, and more particularly, to an apparatus and method for memory access arbitration of an image processor for efficiently using a memory by adjusting an priority according to a state of a FIFO.

영상을 처리하는 기준은 영상처리기(MPEG-2 디코더, TS/PS 디코더, 포맷 컨버터)에 따라 다르지만, 영상 처리를 위한 데이터는 각 블록에서 자신이 필요로 하는 데이터를 하나의 메모리에서 액세스하여 사용한다.Standards for processing images vary depending on the image processor (MPEG-2 decoder, TS / PS decoder, format converter), but the data for image processing is accessed by using the data required by each block in one memory. .

이렇게 각 블록이 필요로 하는 데이터를 메모리에서 서비스하는데 있어서, 메모리는 한번에 한 블록의 데이터만을 서비스해 준다.In this way, in serving the data required by each block in memory, the memory serves only one block of data at a time.

따라서 종래의 기술에서는 중재 제어부를 통해 각 블록의 서비스 빈도와 양 등에 따라 블록별로 우선 순위를 미리 정의하고, 이 우선 순위에 따라 각 블록에 서비스를 수행한다.Therefore, in the related art, priorities are predefined for each block according to the service frequency and quantity of each block through the arbitration control unit, and services are provided to each block according to the priority.

이때 각 블록에 우선 순위를 어떻게 설정하느냐에 따라 각 블록에 데이터를 보다 효율적으로 서비스 할 수 있으며, 또한 메모리의 대역폭을 최대한 사용할 수 있게 된다. 따라서 현재 이에 대한 연구가 계속 진행 중에 있다.In this case, data can be serviced more efficiently in each block according to how the priority is set in each block, and the bandwidth of the memory can be maximized. Therefore, research on this is ongoing.

그 중 가장 일반적으로 사용되고 있는 방식으로는 각 블록에서 메모리로 데이터 요청이 입력될 때, 중재 제어부에서 각 블록 요청의 간격 및 최소, 최대 워드수 등을 고려하여 자주 요구되는 요청에 대해서는 가장 높은 우선 순위값을 부여하고, 그렇지 않은 요청에 대해서는 낮은 우선 순위값을 부여는 방식이 있다.Among the most commonly used methods, when a data request is input from each block to memory, the arbitration control section has the highest priority for requests that are frequently requested in consideration of the interval, minimum, and maximum number of words in each block request. Value, and low priority for requests that do not.

그러나 이런 방식으로 중재 제어부(arbiter controller)를 설계하게 되면 다음과 같은 문제가 발생한다.However, when the arbitrator controller is designed in this manner, the following problem occurs.

첫째, 메모리 대역폭(bandwidth) 즉, 메모리에 데이터를 리드/라이트 해야 할 최소 대기시간(minimum latency)동안 하나의 제 1 블록이 메모리에 데이터를 요청하는 횟수가 많은 경우는 메모리 대역폭의 효율을 증가시킬 수 있으나, 우선 순위가 높은 다른 제 2 블록의 요청이 중간에 발생되면 데이터 리드/라이트에 필요한 시간동안에 제 1 블록이 요청된 데이터를 메모리에 리드/라이트 하지 못하는 경우가 발생된다.First, when one first block requests data from the memory a lot during the memory bandwidth, that is, the minimum latency to read / write data into the memory, the efficiency of the memory bandwidth may be increased. However, when a request of another second block having a high priority occurs in the middle, a case in which the first block cannot read / write the requested data into the memory during a time required for data read / write may occur.

실 예로 제 1 블록의 요청이 n 시간 간격으로 메모리에 데이터를 요구할 때, 상기 제 1 블록보다 높은 우선 순위값을 갖는 제 2 블록이 n 시점에서 메모리에 데이터를 요청한다고 가정한다.For example, suppose that when a request of a first block requests data from the memory at n time intervals, a second block having a higher priority value than the first block requests data from the memory at n time points.

그러면 제 1 블록은 제 2 블록이 메모리에 데이터를 요청한 그 시점부터는 필요한 데이터를 서비스 받지 못하게 된다. 그에 따라 제 1 블록은 과거의 데이터를 그대로 사용하게 되어 영상변환기에서는 정확하게 영상을 처리하지 못하게 된다. 그로 인해 영상변환기에서 처리된 영상이 깨지는 현상이 나타난다.Then, the first block cannot receive the necessary data from the time when the second block requests data from the memory. Accordingly, the first block uses the past data as it is, so that the image converter cannot correctly process the image. As a result, the image processed by the image converter is broken.

둘째, 첫 번째의 이유로 인해 메모리 대역폭을 줄이게 되면, 첫 번째의 문제는 해결되나 메모리 대역폭의 낭비를 가져오는 문제가 발생된다.Second, if the memory bandwidth is reduced for the first reason, the first problem is solved, but the problem of wasteing the memory bandwidth occurs.

셋째, 메모리에 데이터를 리드/라이트 해야 할 최소 대기시간(minimum latency)동안 하나의 제 1 블록이 메모리에 데이터를 요청하였을 때, 우선 순위가 높은 다수의 블록들이 연속하여 메모리에 데이터를 요청하는 경우에 제 1 블록은 우선 순위에 밀려 요청한 데이터를 리드/라이트 하지 못하는 경우가 발생된다.Third, when one first block requests data from the memory for minimum latency to read / write data into the memory, a plurality of high-priority blocks consecutively request data from the memory. In this case, the first block may be pushed to a priority level so that it may not read / write the requested data.

실 예로 제 1 블록의 데이터 리드/라이트에 필요한 최소 대기시간(minimumlatency)을 10이라 하고 필요한 데이터의 리드/라이트에 걸리는 시간을 3이라 한다. 그리고 제 2 블록이 데이터의 리드/라이트에 걸리는 시간을 5라 하고, 제 3 블록이 데이터의 리드/라이트에 걸리는 시간을 4라 한다.For example, a minimum latency required for data read / write of the first block is 10 and a time taken to read / write necessary data is 3. The time taken for the second block to read / write the data is 5, and the time taken for the third block to read / write the data is 4.

이때 제 1 블록이 시간 0에 데이터를 요청했을 때, 우선 순위가 높은 제 2 블록이 시간 2에 데이터 요청이 발생되었고, 이어 우선 순위가 높은 제 3 블록이 시간 7에 데이터 요청이 발생되면 상기 제 1 블록은 데이터의 리드/라이트에 걸리는 시간 1을 남겨놓고 우선 순위에 밀려 필요한 최소 대기시간(minimum latency) 내에 데이터를 리드/라이트 하지 못하게 된다.At this time, when the first block requests data at time 0, the second block having a higher priority has a data request at time 2, and if the third block having a higher priority has a data request at time 7, the first block has a request for data. One block leaves the time 1 to read / write the data and is pushed to priority so that the data cannot be read / written within the required minimum latency.

따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 여러 개의 요청을 처리함에 있어서, 우선 순위가 낮은 요청이 우선 순위가 높은 요청에 밀려 최소 대기시간(minimum latency)을 만족시키지 못하는 경우를 해결하기 위한 영상처리기의 메모리 액세스 중재 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, in the case of processing a plurality of requests, low priority requests are pushed by high priority requests do not satisfy the minimum latency (minimum latency) An object of the present invention is to provide a memory access arbitration method of an image processor.

본 발명의 다른 목적은 전체 필요한 시간내에서 각자의 데이터 서비스를 효율적으로 서비스를 해주어 메모리 대역폭을 최대한 사용하고자 하는데 있다.Another object of the present invention is to efficiently use each data service within the entire required time to maximize the memory bandwidth.

도 1 은 본 발명에 따른 메모리에서 데이터를 리드하는 구조를 나타낸 도면1 is a diagram illustrating a structure for reading data in a memory according to the present invention.

도 2 는 본 발명에 따른 메모리에서 데이터를 라이트하는 구조를 나타낸 도면2 is a diagram illustrating a structure for writing data in a memory according to the present invention;

도 3 은 본 발명에 따른 데이터 리드 또는 라이트 할 경우에 대한 전체 제어 신호에 대한 설명을 나타낸 도면3 is a view showing a description of the entire control signal for the case of data read or write according to the present invention

도 4a 는 본 발명에 따른 중재기 제어부에서 우선 순위를 변환하는 방법을 나타낸 타이밍도4A is a timing diagram illustrating a method of converting priorities in an arbiter controller according to the present invention.

도 4b 는 본 발명에 따른 중재기 제어부에서 우선 순위를 변환하는 방법을 나타낸 다른 실시 예에 대한 타이밍도4b is a timing diagram for another embodiment showing a method of converting priority in an arbiter controller according to the present invention;

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

10 : 기능 블록부20 : FIFO 제어부10: function block unit 20: FIFO control unit

30 : 중재기 제어부40 : 메모리30: arbiter control unit 40: memory

상기와 같은 목적을 달성하기 위한 본 발명에 따른 영상처리기의 메모리 액세스 중재 장치의 특징은 영상 처리에 필요한 데이터를 저장하는 메모리와, 기 설정된 우선 순위에 따라 상기 메모리에 저장된 데이터를 리드/라이트하여 영상을 처리하는 다수개의 기능 블록과, 상기 다수개의 기능 블록에 리드/라이트되는 데이터를 임시 저장하는 다수개의 FIFO와, 상기 다수개의 FIFO에 저장된 데이터의 양에 따라 상기 다수개의 기능 블록에 기 설정된 우선 순위를 변경하는 중재기 제어부를 포함하여 구성되는데 있다.The memory access arbitration apparatus of the image processor according to the present invention for achieving the above object is a memory for storing data necessary for image processing, and the data stored in the memory in accordance with a predetermined priority to read / write the image A plurality of function blocks for processing a plurality of functions, a plurality of FIFOs temporarily storing data read / written in the plurality of function blocks, and a priority set in the plurality of function blocks according to the amount of data stored in the plurality of FIFOs. It is configured to include an arbiter control unit for changing the.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 영상처리기의 메모리 액세스 중재 방법의 특징은 각 기능 블록에서 요청되는 데이터 요청신호를 입력받아 요청되는 다수의 기능 블록을 검출하는 제 1 단계와, 상기 요청된 데이터 요청신호에 따른 허가신호를 FIFO 제어부에 전송하고, 각 FIFO에 저장된 데이터의 양을 전달받아 다수의 FIFO에 우선 순위를 변경하는 제 2 단계와, 상기 다수의 FIFO 중 변경된 우선 순위에 따라 메모리에 저장된 데이터를 해당 FIFO에 저장하는 제 3 단계와, 상기 FIFO에 저장된 데이터 양을 검색하여, FIFO에 데이터가 일정영역 채워지면 해당 기능 블록으로 데이터를 전달하는 제 4 단계를 포함하여 이루어지는데 그 특징이 있다.The memory access arbitration method of the image processor according to the present invention for achieving the above object is a first step of detecting a plurality of functional blocks requested by receiving a data request signal requested in each functional block, and the request Transmitting a permission signal according to the requested data request signal to the FIFO control unit, receiving a quantity of data stored in each FIFO, and changing a priority of the plurality of FIFOs; and a memory according to the changed priority of the plurality of FIFOs. A third step of storing the data stored in the FIFO and a fourth step of retrieving the amount of data stored in the FIFO, and transferring the data to the corresponding function block when the data is filled in the FIFO. There is this.

이때 상기 제 2 단계는 각 FIFO에 저장된 데이터 양에 따라 풀(full) < (하프 풀(half full)=하프 앰프티(half empty)) < 앰프티(empty)의 순으로 우선 순위값을 변경하는데 다른 특징이 있다.At this time, the second step is to change the priority value in the order of full <(half full = half empty) <empty according to the amount of data stored in each FIFO. There are other features.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 영상처리기의 메모리 액세스 중재 방법의 또 다른 특징은 각 기능 블록에서 메모리에 쓸 데이터를 해당 FIFO에 데이터를 저장하는 제 1 단계와, 상기 FIFO에 데이터가 일정 영역 채워지면 데이터 라이트 요청신호와 각 FIFO에 저장된 데이터의 양을 전달하는 제 2 단계와, 상기 각 FIFO에 저장된 데이터의 양에 따라 우선 순위를 변경하고, 상기 변경된 우선 순위에 따라 메모리에 데이터를 저장하는 제 3 단계를 포함하여 이루어지는데 있다.Another aspect of the memory access arbitration method of the image processor according to the present invention for achieving the above object is a first step of storing the data to be written to the memory in each function block in the FIFO, and the data in the FIFO A second step of transmitting a data write request signal and the amount of data stored in each FIFO when the predetermined area is filled; changing the priority according to the amount of data stored in each FIFO, and storing the data in the memory according to the changed priority. And a third step of storing.

이때, 상기 제 3 단계는 각 FIFO에 저장된 데이터 양에 따라 풀(full) > (하프 풀(half full)=하프 앰프티(half empty)) > 앰프티(empty)의 순으로 우선 순위값을 변경하는데 또 다른 특징이 있다.At this time, the third step is to change the priority value in the order of full> (half full = half empty)> amplifier according to the amount of data stored in each FIFO There is another feature.

본 발명의 다른 목적, 특성 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

본 발명에 따른 영상처리기의 메모리 액세스 중재 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.A preferred embodiment of the memory access arbitration method of the image processor according to the present invention will be described with reference to the accompanying drawings.

도 1 은 본 발명에 따른 메모리에서 데이터를 리드하는 구조를 나타낸 도면이고, 도 2 는 본 발명에 따른 메모리에서 데이터를 라이트하는 구조를 나타낸 도면이다.1 is a diagram illustrating a structure for reading data in a memory according to the present invention, and FIG. 2 is a diagram illustrating a structure for writing data in a memory according to the present invention.

도 1 및 도 2를 보면, 영상 처리에 필요한 데이터를 저장하는 메모리(40)와, 기 설정된 우선 순위에 따라 상기 메모리(40)에 저장된 데이터를 리드/라이트하여 영상을 처리하는 다수개의 기능 블록(10)과, 상기 다수개의 기능 블록(10)에 리드/라이트되는 데이터를 임시 저장하는 다수개의 FIFO(20)와, 상기 다수개의 FIFO(20)에 저장된 데이터의 양에 따라 상기 다수개의 기능 블록에 기 설정된 우선 순위를 변경하는 중재기 제어부(30)로 구성된다.1 and 2, a memory 40 for storing data necessary for image processing and a plurality of functional blocks for processing an image by reading / writing data stored in the memory 40 according to a predetermined priority ( 10) and a plurality of FIFOs 20 which temporarily store data read / written to the plurality of functional blocks 10 and the plurality of functional blocks according to the amount of data stored in the plurality of FIFOs 20. It consists of an arbiter control unit 30 for changing the preset priority.

이때 상기 중재기 제어부(30)는 데이터의 양에 따라 상기 각각의 기능 블록을 풀(full), 하프 풀(half full), 하프 앰프티(half empty), 그리고앰프티(empty)로 구분한다.In this case, the arbiter controller 30 divides each of the functional blocks into full, half full, half empty, and empty according to the amount of data.

이와 같이 구성되는 영상처리기의 메모리 액세스 중재 방법을 도면을 참조하여 상세히 설명하면 다음과 같다.The memory access arbitration method of the image processor configured as described above will be described in detail with reference to the accompanying drawings.

먼저, 도 1을 참조하여 메모리에서 기능블록으로 데이터를 리드하는 경우를 설명하면 다음과 같다.First, a case of reading data from a memory into a functional block will be described with reference to FIG. 1.

기능 블록부(10)는 자신이 필요로 하는 데이터를 메모리(40)에서 가져오기 위해서, 중재기 제어부(30)에게 데이터 요청신호를 보낸다. 그러면 중재기 제어부(30)는 상기 요청신호에 따른 허가신호를 FIFO 제어부(20)로 전송하고, 이어 FIFO 제어부(20)는 각각의 FIFO에 저장되는 데이터의 양을 중재기 제어부(30)에게 알린다.The functional block unit 10 sends a data request signal to the arbiter controller 30 in order to fetch data required by the memory 40 from the memory 40. Then, the arbiter controller 30 transmits the permission signal according to the request signal to the FIFO controller 20, and then the FIFO controller 20 notifies the arbiter controller 30 of the amount of data stored in each FIFO. .

그리고 중재기 제어부(30)는 상기 기능 블록부(10)에서 요청되는 여러 개의 요청 중 FIFO에 저장된 데이터의 양에 따라 적절한 것을 선택하여 메모리(40)에게 특정한 영역의 데이터를 액세스하도록 데이터 제어신호를 보낸다.The arbiter controller 30 selects an appropriate one according to the amount of data stored in the FIFO among the plurality of requests requested by the function block unit 10 and sends a data control signal to the memory 40 to access data in a specific region. send.

그러면 메모리(40)는 상기 FIFO 제어부로 해당 데이터를 전달하고, 동시에 중재기 제어부에 데이터 제어신호에 따른 응답신호를 보낸다.The memory 40 then transmits the corresponding data to the FIFO control unit, and simultaneously sends a response signal according to the data control signal to the arbiter control unit.

이어 FIFO 제어부(20)는 메모리(40)에서 전달된 데이터를 해당 FIFO에 저장한다.The FIFO control unit 20 then stores the data transferred from the memory 40 in the corresponding FIFO.

이때 중재기 제어부(30)는 상기 FIFO에 저장되는 데이터 양을 검색하여, FIFO에 데이터가 어느 정도에 채워지면, 기능 블록부(10)로 데이터가 준비되었다는 신호를 보내서 전달될 데이터가 있다는 것을 알린다.At this time, the arbiter control unit 30 retrieves the amount of data stored in the FIFO, and when the data is filled to some extent in the FIFO, it notifies the functional block unit 10 that there is data to be delivered. .

그리고 중재기 제어부(30)는 FIFO 제어부(20)로 데이터 전달신호를 전달하여 FIFO에 저장된 데이터를 기능 블록부(10)의 해당 블록으로 데이터 버스를 통해 전달하도록 한다.The arbiter controller 30 transmits a data transfer signal to the FIFO controller 20 to transfer the data stored in the FIFO to the corresponding block of the functional block unit 10 through the data bus.

다음으로, 도 2를 참조하여 기능 블록이 데이터를 메모리에 라이트하는 경우를 설명하면 다음과 같다.Next, a case in which the functional block writes data to the memory will be described with reference to FIG. 2.

먼저, 기능 블록부(10)는 메모리(40)에 쓸 데이터를 FIFO 제어부(20)에 보내어 해당 FIFO에 순차적으로 데이터를 저장한다.First, the functional block unit 10 sends data to be written to the memory 40 to the FIFO control unit 20 to sequentially store the data in the FIFO.

그리고 FIFO에 데이터가 일정 수준까지 채워지면, FIFO 제어부(20)는 중재기 제어부(30)에게 메모리에 데이터를 쓸 것이 있다는 요청신호와 현재 각 FIFO에 저장된 데이터의 양을 전달한다.When the data is filled up to a certain level in the FIFO, the FIFO control unit 20 transmits a request signal to the arbiter control unit 30 to write data to the memory and the amount of data currently stored in each FIFO.

그러면 중재기 제어부(30)는 메모리(40)에게 메모리의 특정 영역에 쓸 데이터가 있다는 요청신호를 보내고, 메모리(40)는 중재기 제어부(30)로 요청신호에 따른 응답신호를 보낸다.The arbiter controller 30 then sends a request signal to the memory 40 indicating that there is data to be written in a specific area of the memory, and the memory 40 sends a response signal according to the request signal to the arbiter controller 30.

이어 중재기 제어부(30)는 메모리(40)로부터 응답신호가 전달되면 FIFO 제어부(20)의 각 FIFO에 저장된 데이터 양에 따라 우선 순위를 결정하여 FIFO 제어부(20)에서 해당 데이터를 메모리(40)로 데이터 버스를 통하여 전달하도록 한다.Subsequently, when the response signal is transmitted from the memory 40, the arbiter control unit 30 determines the priority according to the amount of data stored in each FIFO of the FIFO control unit 20, and the FIFO control unit 20 stores the corresponding data in the memory 40. To be transferred via the data bus.

이와 같이 메모리에 데이터를 리드 또는 라이트할 경우에 대한 전체 제어 신호에 대한 설명을 도 3을 통해 상세히 살펴보면 다음과 같다.The description of the entire control signal for the case of reading or writing data to the memory as described above will be described in detail with reference to FIG. 3.

먼저, 메모리(40)에서 데이터를 읽어서 기능 블록부(10)로 데이터를 전달하는 메모리 리드에 대하여 설명하면 다음과 같다.First, a memory read that reads data from the memory 40 and transfers the data to the functional block unit 10 will be described.

기능 블록부(10)에서 메모리(40)의 특정 영역을 읽어 올 때, 기능 블록부(10)는 리드 요청 신호(Read_ready)를 중재기 제어부(30)로 전달하고, 이어 중재기 제어부(30)는 기능 블록부(10)에서 리드 요청이 왔다는 것을 알리기 위해 리드 허가신호(Read_grant)를 FIFO 제어부(20)에게 보낸다.When the function block unit 10 reads a specific area of the memory 40, the function block unit 10 transmits a read request signal Read_ready to the arbiter controller 30, and then the arbiter controller 30. The function block unit 10 sends a read permission signal (Read_grant) to the FIFO control unit 20 to inform that the read request has come.

그러면 FIFO 제어부(20)는 메모리(40)쪽에서 들어올 데이터가 있다는 것을 알게 되고, FIFO 제어부(20)는 각 FIFO에 저장된 데이터 양을 Fstatus_x[1:0]신호를 통해 중재기 제어부(30)로 전달한다.Then, the FIFO control unit 20 knows that there is data coming from the memory 40 side, and the FIFO control unit 20 transmits the amount of data stored in each FIFO to the arbiter control unit 30 through the Fstatus_x [1: 0] signal. do.

상기 Fstate_X[1:0]은 각 FIFO의 상태를 나타내는 신호로서, "00"은 앰프티(Empty)를 나타내고, "01"은 하프 앰프티/풀(Half Empty/Full)을 나타내고, "10"은 풀(Full)을 나타낸다.The Fstate_X [1: 0] is a signal representing the state of each FIFO, "00" represents an amplifier, "01" represents a half empty / full, and "10". Represents full.

이때 중재기 제어부(30)는 메모리(40)의 특정부분에 대하여 논리적 번지(logical address)를 물리적 번지(physical address)로 변환하는 블록으로 보내어 (x,y)좌표값을 열(row), 행(column), 층(bank)으로 변환한다.At this time, the arbiter control unit 30 sends a (x, y) coordinate value to a block for converting a logical address into a physical address for a specific part of the memory 40. convert to column, bank.

그리고 중재기 제어부(30)는 FIFO에 저장된 데이터 양에 따라 각 FIFO에 우선 순위를 정하고, 메모리(40)로 우선 순위가 높은 FIFO의 해당 데이터를 요청하는 제어신호(Mcmd_req)를 보낸다.The arbiter control unit 30 determines the priority of each FIFO according to the amount of data stored in the FIFO, and sends a control signal Mcmd_req to request the corresponding data of the high priority FIFO to the memory 40.

그러면, 메모리(40)는 블록의 요청신호를 받았다는 응답신호(mcmd_ack)를 다시 중재기 제어부(30)로 보내고, 동시에 FIFO 제어부(20)로 해당 데이터를 전달한다.Then, the memory 40 sends a response signal (mcmd_ack) that receives the request signal of the block back to the arbiter controller 30, and simultaneously transmits the corresponding data to the FIFO controller 20.

이때 중재기 제어부(30)는 상기 응답신호(mcmd_ack)가 전달되면, 기능 블록부(10)에게 리드 시작신호(Read_ready)를 보내어 다음 요청을 준비하라고 알린다.At this time, when the response signal mcmd_ack is transmitted, the arbiter controller 30 sends the function block unit 10 a read start signal Read_ready to prepare for the next request.

그리고 FIFO 제어부(20)는 각 FIFO에 해당 메모리 데이터를 채우고 나서, 기능 블록부(10)에게 read_valid 신호를 주어 FIFO에 데이터가 준비되었다는 것을 알려주고 해당 데이터를 기능 블록부로 전달한다.The FIFO control unit 20 fills the memory data with each FIFO, and then provides the function block unit 10 with a read_valid signal to inform the FIFO that data is ready and delivers the data to the function block unit.

다음으로, 기능 블록부(10)에서 메모리(40)로 데이터를 전달하는 메모리 라이트에 대하여 설명하면 다음과 같다.Next, a memory write for transferring data from the functional block unit 10 to the memory 40 will be described.

기능 블록부(10)가 FIFO 제어부(20)와 연결된 데이터 버스를 통하여 다수개의 FIFO에 데이터를 쓰는데, 이때 상기 데이터는 도 3의 write_valid와 동기를 맞추어서 FIFO에 쓴다.The functional block unit 10 writes data to a plurality of FIFOs through a data bus connected to the FIFO control unit 20, in which the data is written to the FIFO in synchronization with write_valid of FIG. 3.

이와 같이 다수개의 FIFO에 데이터가 채워지면 쓰기 요청신호(write_request)를 중재기 제어부(30)로 전달하여 메모리에 데이터를 쓸 것이 있다고 알린다.When data is filled in the plurality of FIFOs as described above, the write request signal write_request is transmitted to the arbiter controller 30 to inform that the data is to be written to the memory.

이때, FIFO 제어부(20)는 각 FIFO에 저장된 데이터 양을 Fstatus_x[1:0]신호를 통해 중재기 제어부(30)로 전달한다.At this time, the FIFO control unit 20 transmits the amount of data stored in each FIFO to the arbiter control unit 30 through the Fstatus_x [1: 0] signal.

상기 Fstate_X[1:0]은 각 FIFO의 상태를 나타내는 신호로서, "00"은 앰프티(Empty)를 나타내고, "01"은 하프 앰프티/풀(Half Empty/Full)을 나타내고, "10"은 풀(Full)을 나타낸다.The Fstate_X [1: 0] is a signal representing the state of each FIFO, "00" represents an amplifier, "01" represents a half empty / full, and "10". Represents full.

이어 중재기 제어부(30)는 상기 쓰기 요청신호(write_request)가 입력되면 메모리(40)로 입력될 데이터가 있다는 요청신호(mcmd_A_req)를 전달하면,메모리(40)는 상기 요청신호(mcmd_A_req)에 따른 응답신호(mcmd_A_ack)를 중재기 제어부(30)로 전달한다.Subsequently, when the write request signal write_request is input, the arbiter control unit 30 transmits a request signal mcmd_A_req indicating that there is data to be input to the memory 40. The response signal mcmd_A_ack is transmitted to the arbiter controller 30.

그러면 중재기 제어부(30)는 FIFO 제어부(20)로 쓰기에 따른 승인 신호(write_grant)를 전달하여 메모리(40)에서 데이터를 받을 준비가 되었다는 것을 알려준다.Then, the arbiter controller 30 transmits an approval signal (write_grant) according to the write to the FIFO controller 20 to inform that the memory 40 is ready to receive data.

이어 FIFO 제어부는 메모리(40)로 데이터를 전달하여 라이트를 수행한다.Subsequently, the FIFO controller transfers data to the memory 40 to perform writing.

그리고 중재기 제어부(30)는 기능 블록부(10)로 write_ready 신호를 알려주어서 다음 요청을 준비할 수 있도록 한다.The arbiter controller 30 notifies the function block unit 10 of the write_ready signal so that the next request can be prepared.

이와 같이 중재기 제어부(30)는 여러 기능 블록으로부터 데이터를 메모리에 읽고 쓰는 것에 대한 요청을 처리하는 블록으로서, 어느 블록이 현 시점에서 제일 빨리 처리하여 데이터를 줄 것인가를 결정하는 블록이다.As such, the arbiter controller 30 is a block for processing a request for reading and writing data from various functional blocks into a memory, and is a block for determining which block is to be processed and given data at the present time.

상기 중재기 제어부(30)가 여러 개의 요청을 동시에 받았을 때의 동작을 실시예를 통해 설명하면 다음과 같다.An operation when the arbiter controller 30 receives several requests simultaneously will be described with reference to the following embodiments.

도 4a 는 본 발명에 따른 중재기 제어부에서 우선 순위를 변환하는 방법을 나타낸 타이밍도이다.4A is a timing diagram illustrating a method of converting priorities in an arbiter controller according to the present invention.

도 4a를 보면, 리드에 대한 요청이 3개이고, 라이트에 대한 요청은 2개로 표시하였고, 위에서 아래로 갈수록 우선 순위가 작아진다.Referring to FIG. 4A, three requests for leads and two requests for lights are indicated, and the priority becomes smaller from the top to the bottom.

먼저, 도 4a의 (0)시점에서 보면, 모든 요청이 같이 요청되고, 리드 요청에 대한 FIFO 상태가 모두 앰프티(Empty) 상태이고, 라이트 요청에 대한 FIFO 상태는 모두 하프 앰프티(Half Empty)이다.First, in the time point (0) of FIG. 4A, all requests are requested together, all the FIFO states for the read request are empty, and all the FIFO states for the write request are half empty. to be.

따라서 제일 먼저 서비스를 해주어야하는 것은 앰프티(empty)상태를 갖는 Req_A_read, Req_B_read, Req_C_read에 데이터를 채우는 것이 우선이다. 이때에는 미리 정해둔 우선값에 따라 서비스를 해준다.Therefore, the first thing that needs to be serviced is to fill data into Req_A_read, Req_B_read, and Req_C_read which have an empty state. In this case, the service is provided according to a predetermined priority value.

그러므로 도 4a의 (0)시점에서 우선값이 제일 높은 Req_A_read인 요청에 먼저 서비스를 해주고, 도 4a의 (1)시점에서 다음 어떤 요청을 서비스를 할 것인지를 결정한다.Therefore, the service having the highest priority Req_A_read at the time point (0) of FIG. 4A is serviced first, and the next request is determined at the time point (1) of FIG. 4A.

이때, 어떤 요청이 하이(high)인지와 각 FIFO 상태를 보면,At this point, looking at which requests are high and the state of each FIFO,

1) Red_B_read, Req_C_read가 하이, FIFO 상태가 Empty이며,1) Red_B_read, Req_C_read is high, FIFO state is Empty,

2) Red_D_write, Req_E_write가 하이, FIFO 상태가 Half Empty 이다.2) Red_D_write and Req_E_write are high and FIFO state is Half Empty.

따라서, 다음 서비스를 해 줄 것은 우선 순위에 따라 서비스를 해주면 되므로, Req_B_read에게 서비스를 해주면 된다.Therefore, the following services are provided in order of priority, so you can provide Req_B_read.

다음 도 4a의 (2)시점에서 보면,As seen from the time point (2) of Fig. 4A,

1) Req_C_read가 하이, FIFO 상태가 Empty이며,1) Req_C_read is high, FIFO state is Empty,

2) Red_D_write, Req_E_write가 하이, FIFO 상태가 Half Empty 이다.2) Red_D_write and Req_E_write are high and FIFO state is Half Empty.

따라서, 다음 서비스를 해 줄 것은 우선 순위에 따라 Req_C_read에게 서비스를 해주면 된다.Therefore, the following services should be provided to Req_C_read in order of priority.

그 다음 도 4a의 (3)시점에서 보면,Then, at the time point (3) of Fig. 4A,

1) Req_D_write, Req_E_write가 하이, FIFO 상태가 Half Empty 이다.1) Req_D_write and Req_E_write are high and FIFO state is Half Empty.

따라서, 우선 순위에 따라 Req_D_Write에게 서비스를 해주면 된다.Therefore, service Req_D_Write according to priority.

그 다음 도 4a의 (4)시점에서 보면,Then, at the time point (4) of Fig. 4A,

1) Req_A_read 하이, FIFO 상태는 Half Full,1) Req_A_read high, FIFO status is Half Full,

2) Req_E_write 하이, FIFO 상태는 Half Empty 이다.2) Req_E_write High, FIFO state is Half Empty.

따라서, 우선 순위에 따라 Req_A_read에게 서비스를 해주면 된다.Therefore, service Req_A_read according to priority.

그리고 난 후에는 Req_A_read의 FIFO 상태가 Full 상태가 되므로 가장 낮은 우선 순위로 변하게 된다.After that, the FIFO state of Req_A_read becomes Full, so it is changed to the lowest priority.

도 4a의 (5)시점에서 보면,Looking at the time (5) of FIG. 4A,

1) Req_C_read 하이, FIFO 상태는 Half Full,1) Req_C_read high, FIFO status is Half Full,

2) Req_E_write 하이, FIFO 상태는 Half Empty 이다.2) Req_E_write High, FIFO state is Half Empty.

따라서, 우선 순위에 따라 Req_C_read에게 서비스를 해주고, Req_C_read는 FIFO 상태가 Full 상태로 되므로 가장 낮은 우선 순위로 변하게 된다.Therefore, Req_C_read is serviced according to the priority, and Req_C_read is changed to the lowest priority because the FIFO state becomes Full.

도 4a의 (6)시점에서 보면,Looking at the time (6) of FIG. 4A,

1) Req_B_read 하이, FIFO 상태는 Half Full,1) Req_B_read high, FIFO status is Half Full,

2) Req_D_write 하이, FIFO 상태는 Full,2) Req_D_write high, FIFO status is Full,

3) Req_E_write 하이, FIFO 상태는 Half Empty 이다.3) Req_E_write High, FIFO state is Half Empty.

이때에서는 우선 순위로 서비스를 하지 않고, 라이트 FIFO 상태가 Full인 요청을 우선적으로 서비스를 해주어야 한다. 따라서, Req_D_write를 먼저 서비스를 해준다.In this case, the service should be given priority to the request with the light FIFO status of Full instead of the priority service. Therefore, Req_D_write is serviced first.

만약, 우선 순위로 서비스를 해주면, Req_D_write의 FIFO에 있는 데이터를 메모리에 쓰지 못하고, 새로운 데이터로 오버라이트(overwrite)하여 데이터가 깨지게 된다.If the service is provided with priority, the data in the FIFO of Req_D_write cannot be written to the memory, and the data is broken by overwriting with new data.

물론 FIFO Full 상태를 나타낼 때에는 어느 정도 메모리에 라이트할 수 있는 시간정도의 여유공간을 FIFO내에 만들어 놓는데, 본 발명에서는 이 여유공간을 외부에서 제어할 수 있도록 포인터 레지스터를 만들어 놓는다.Of course, when indicating the FIFO Full state, a free space of a certain amount of time that can be written to the memory is made in the FIFO. In the present invention, a pointer register is made to control the free space externally.

도 4a의 (7)시점에서 보면,Looking at the time (7) of Fig. 4A,

1) Req_B_read 하이, FIFO 상태는 Half Full,1) Req_B_read high, FIFO status is Half Full,

2) Req_E_write 하이, FIFO 상태는 Full 이다.2) Req_E_write High, FIFO state is Full.

따라서 이때도 (6)시점과 같이 우선 순위로 서비스를 하지 않고, 라이트 FIFO 상태가 Full인 요청을 우선적으로 서비스를 해주어야 한다. 따라서, Req_E_write를 먼저 서비스를 해준다.Therefore, in this case as well, the service should be preferentially serviced with the request whose light FIFO status is Full, rather than the priority service as in (6). Therefore, Req_E_write is serviced first.

다음으로 도 4a의 (8)시점에서 보면,Next, as seen from the point (8) of FIG. 4A,

1) Req_A_read 하이, FIFO 상태는 Full,1) Req_A_read high, FIFO status is Full,

2) Req_B_read 하이, FIFO 상태는 Half Full 이다.2) Req_B_read high, FIFO state is Half Full.

따라서, Req_A_read의 FIFO상태가 Full이므로 서비스를 해주면 안되고, Req_B_read에 대하여 서비스를 해주면 된다.Therefore, the service should not be provided because the FIFO state of Req_A_read is Full. Service should be provided for Req_B_read.

그리고 나면, Req_B_read의 FIFO상태도 Full이 된다.After that, the FIFO state of Req_B_read is also Full.

다음으로 도 4a의 (9)시점에서 보면,Next, as seen from the point (9) of Fig. 4A,

1) Req_A_read/Req_C_read 하이, FIFO의 상태는 Full,1) Req_A_read / Req_C_read high, FIFO status is Full,

2) Req_E_write 하이, FIFO의 상태는 Half Empty 이다.2) Req_E_write High, FIFO is Half Empty.

이때 리드 요청의 FIFO상태가 Full이므로, 가장 낮은 우선 순위이다. 따라서 Req_E_write에 대하여 서비스를 하면 된다.At this time, since the FIFO state of the read request is Full, it is the lowest priority. Therefore, you can service Req_E_write.

다음으로 도 4a의 (10)의 시점에서 보면,Next, as seen from the point of view (10) of FIG. 4A,

1) Req_A_read 하이, FIFO의 상태는 Half Full,1) Req_A_read high, FIFO status is Half Full,

2) Req_C_read 하이, FIFO의 상태는 Half Full 이다.2) Req_C_read High, FIFO is Half Full.

따라서, 우선 순위에 따라 서비스를 해주면 되므로 Req_A_read에 대하여 서비스를 해주면 된다.Therefore, you can service Req_A_read because you can provide services according to priority.

다음으로 도 4a의 (11)시점에서 보면,Next, as seen from the point (11) of Fig. 4A,

1) Req_B_read 하이, FIFO의 상태는 Half Full,1) Req_B_read high, FIFO status is Half Full,

2) Red_C_read 하이, FIFO의 상태는 Half Full 이다.2) Red_C_read High, FIFO is Half Full.

따라서, 우선 순위에 따라 Req_B_read에 서비스를 해주면 된다.Therefore, service Req_B_read according to priority.

다음으로 도 4a의 (12)시점에서 보면,Next, at the time (12) of FIG. 4A,

1) Req_C_read 하이, FIFO의 상태는 Half Full,1) Req_C_read high, FIFO status is Half Full,

2) Req_D_Write 하이, FIFO의 상태는 Half Empty 이다.2) Req_D_Write High, FIFO is Half Empty.

따라서, 우선 순위에 따라 Req_C_read에 대하여 서비스를 해주면 된다.Therefore, you can service Req_C_read according to priority.

다음으로 도 4a의 (13)시점에서 보면,Next, as seen from (13) of FIG. 4A,

1) Req_D_write 하이, FIFO의 상태는 Half Empty 이다.1) Req_D_write High, FIFO is Half Empty.

따라서, 이에 대하여 서비스를 해주면 된다.Therefore, it is necessary to provide a service for this.

다음으로 도 4a의 (14)시점에서 보면,Next, as viewed at (14) in FIG. 4A,

1) Req_C_read 하이, FIFO의 상태는 Full 이다.1) Req_C_read High, FIFO is Full.

이때 하나만 요청을 하였지만, FIFO의 상태가 Full이므로 서비스를 하면, FIFO내의 데이터가 새로운 데이터로 업데이트되므로 서비스를 할 수 없다.At this time, only one request is made, but if the service is performed because the state of the FIFO is Full, the service in the FIFO is updated with new data, so the service cannot be performed.

다음으로 도 4a의 (15)시점에서 보면,Next, as viewed from (15) of Fig. 4a,

1) Req_C_read 하이, FIFO의 상태는 Full,1) Req_C_read high, FIFO status is Full,

2) Req_D_write 하이, FIFO의 상태는 Half Empty 이다.2) Req_D_write High, FIFO is Half Empty.

따라서, Req_C_read의 FIFO의 상태가 Full이므로 서비스를 할 수 없고, Req_D_write에 대해서 서비스를 제공하면 된다.Therefore, the service cannot be provided because the state of the FIFO of Req_C_read is Full, and a service can be provided for Req_D_write.

도 4a의 Req_D_write, Req_E_write와 동기되는 write_waiting_D, write_waiting_E 신호에 대하여 설명하면 다음과 같다.The write_waiting_D and write_waiting_E signals synchronized with Req_D_write and Req_E_write of FIG. 4A will be described below.

Req_D_write 또는 Req_E_write FIFO내의 데이터가 Full이 되면, 이 신호들을 기능 블록에게 보내어 더 이상 FIFO에 데이터를 쓰지 못하도록 하는 신호로서 일단 FIFO가 Half empty가 될 때까지 하이(high)로 유지하며 FIFO내의 데이터를 메모리에 안전하게 쓸 수 있도록 하는 것이다.Req_D_write or Req_E_write Once the data in the FIFO is full, it sends these signals to the function block so that no more data can be written to the FIFO. Once the FIFO is half empty, the data in the FIFO is kept in memory. To make it safe to use.

도 4b 는 본 발명에 따른 중재기 제어부에서 우선 순위를 변환하는 방법을 나타낸 다른 실시예에 대한 타이밍도로서, 요청에 대한 서비스의 기준은 FIFO 상태가 empty인 요청에 서비스를 해주고, 모든 Half empty 또는 Half Full인 경우 Write request에 우선적으로 서비스하는 것에 대해 설명한 도면이다.4b is a timing diagram of another embodiment showing a method of converting priority in an arbiter control unit according to the present invention. The criterion of service for a request is that a service of a request having an empty FIFO state is provided and all half empty or In the case of Half Full, this is a diagram explaining the priority service of a write request.

도 4b는 상기 도 4a와 동작이 동일하므로 특징되는 시점에 대해서만 설명토록 하겠다.FIG. 4B is the same operation as that of FIG. 4A, and thus only a time point characterized by the above-described feature will be described.

먼저, 도 4b의 (1)시점에서 보면,First, as seen from the point (1) of FIG. 4B,

1) Req_C_read 하이, FIFO 상태는 Empty,1) Req_C_read high, FIFO state is Empty,

2) Req_D_write 하이, FIFO 상태는 Half Empty,2) Req_D_write high, FIFO state is Half Empty,

3) Req_E_write 하이, FIFO 상태는 Half Empty 이다.3) Req_E_write High, FIFO state is Half Empty.

따라서, 우선적으로 FIFO에 데이터가 하나도 없는 Req_C_read에 서비스를 하여 준다.Therefore, first, service the Req_C_read, which has no data in the FIFO.

다음으로 도 4b의 (3)시점에서 보면,Next, look at the point (3) of Fig. 4b,

1) Req_A_read 하이, FIFO 상태는 Half Full,1) Req_A_read high, FIFO status is Half Full,

2) Req_E_write 하이, FIFO 상태는 Half Empty 이다.2) Req_E_write High, FIFO state is Half Empty.

이 경우에 있어서는 라이트 요청에 대하여 우선적으로 서비스를 하기 위하여 Req_D_write에 대해 서비스를 한다.In this case, Req_D_write is serviced in order to give priority to the write request.

도 4b의 (7)시점에서 보면,Looking at the time (7) of Fig. 4b,

1) Req_A_read 하이, FIFO 상태는 Half Full,1) Req_A_read high, FIFO status is Half Full,

2) Req_B_read 하이, FIFO 상태는 Empty,2) Req_B_read high, FIFO state is Empty,

3) Req_E_write 하이, FIFO 상태는 Half Empty 이다.3) Req_E_write High, FIFO state is Half Empty.

따라서, FIFO가 비어 있는 요청에 우선적으로 서비스하여야 하므로 Req_B_read에 서비스를 제공한다.Therefore, the FIFO must first service an empty request, so it provides a service to Req_B_read.

이와 같이, 도 4a, 도 4b의 두 가지 실시예에서 보듯이, 요청의 우선 순위값과 각각의 FIFO 상태를 비교하여 어떤 것을 먼저 서비스할 것을 결정하여 줌으로서, 단순히 우선 순위값에 따라 서비스하여 발생하는 문제점을 해결하고, 효과적으로 메모리의 대역폭을 사용할 수 있다.Thus, as shown in the two embodiments of Fig. 4a, 4b, by comparing the priority value of the request and the respective FIFO state to determine which one to serve first, simply by serving according to the priority value Solve the problem, and can effectively use the bandwidth of the memory.

이상에서 설명한 바와 같은 본 발명에 따른 영상처리기의 메모리 액세스 중재 방법은 단순한 우선 순위값으로 요청들에 대하여 서비스하는 것을 FIFO 상태에 따라 서비스하는 순서를 바꾸어 줌으로써, 요청들이 몰리는 것을 분산하여 서비스하여 좀 더 메모리에 대한 대역폭을 효율적으로 사용할 수 있고, 단순히 우선 순위값에 대한 서비스로 인하여 우선 순위가 낮은 서비스가 높은 우선 순위 값을 갖는 요청에 밀려서 데이터를 서비스 받지 못하여 데이터가 깨지는 것을 없애는 효과가 있다.Memory access arbitration method of the image processor according to the present invention as described above by changing the order of the service to the requests according to the FIFO state with a simple priority value, by distributing the crowded requests to serve more The bandwidth for the memory can be efficiently used, and the service of the priority value simply eliminates the service from being broken due to the low priority service being pushed to the request having the high priority value.

또한 하나의 메모리에 여러 기능 블록들이 데이터를 요구하는 HDTV용 칩을 개발할 때 적용하여 각 모드별로 우선 순위값을 변경하여야 하는 곳에 효과를 볼 수 있다.In addition, it can be applied to the development of HDTV chip that requires several functional blocks in one memory to change the priority value of each mode.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

Claims (4)

영상 처리에 필요한 데이터를 저장하는 메모리와,A memory for storing data necessary for image processing; 기 설정된 우선 순위에 따라 상기 메모리에 저장된 데이터를 리드/라이트하여 영상을 처리하는 다수개의 기능 블록과,A plurality of functional blocks for processing an image by reading / writing data stored in the memory according to a preset priority; 상기 다수개의 기능 블록에 리드/라이트되는 데이터를 임시 저장하는 다수개의 FIFO와,A plurality of FIFOs for temporarily storing data read / written in the plurality of functional blocks; 상기 다수개의 FIFO에 저장된 데이터의 양에 따라 상기 다수개의 기능 블록에 기 설정된 우선 순위를 변경하는 중재기 제어부를 포함하여 구성되는 것을 특징으로 하는 영상 처리기의 메모리 액세스 중재 장치.And an arbiter control unit for changing a priority order set in the plurality of functional blocks according to the amount of data stored in the plurality of FIFOs. 제 1 항에 있어서,The method of claim 1, 상기 중재기 제어부는 데이터의 양에 따라 상기 각각의 기능 블록을 풀(full), 하프 풀(half full), 하프 앰프티(half empty), 그리고 앰프티(empty)를 포함하여 구분되는 것을 특징으로 하는 영상 처리기의 메모리 액세스 중재 장치.The arbiter control unit divides each functional block into full, half full, half empty, and empty according to the amount of data. Memory access mediation device of the image processor. 각 기능 블록에서 요청되는 데이터 요청신호를 입력받아 요청되는 다수의 기능 블록을 검출하는 제 1 단계와,A first step of receiving a data request signal requested in each functional block and detecting a plurality of functional blocks requested; 상기 요청된 데이터 요청신호에 따른 허가신호를 FIFO 제어부에 전송하고, 각 FIFO에 저장된 데이터의 양을 전달받아 다수의 FIFO에 우선 순위를 변경하는 제2 단계와,Transmitting a permission signal according to the requested data request signal to a FIFO control unit, receiving a quantity of data stored in each FIFO, and changing a priority of the plurality of FIFOs; 상기 다수의 FIFO 중 변경된 우선 순위에 따라 메모리에 저장된 데이터를 해당 FIFO에 저장하는 제 3 단계와,A third step of storing data stored in a memory in a corresponding FIFO according to a changed priority of the plurality of FIFOs; 상기 FIFO에 저장된 데이터 양을 검색하여, FIFO에 데이터가 일정영역 채워지면 해당 기능 블록으로 데이터를 전달하는 제 4 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 처리기의 메모리 액세스 중재 방법.And retrieving the amount of data stored in the FIFO, and transferring the data to the corresponding function block when the data is filled in the FIFO. 각 기능 블록에서 메모리에 쓸 데이터를 해당 FIFO에 데이터를 저장하는 제 1 단계와,A first step of storing data in a corresponding FIFO for data to be written to memory in each function block; 상기 FIFO에 데이터가 일정 영역 채워지면 데이터 라이트 요청신호와 각 FIFO에 저장된 데이터의 양을 전달하는 제 2 단계와,A second step of transmitting a data write request signal and an amount of data stored in each FIFO when data is filled in a predetermined area of the FIFO; 상기 각 FIFO에 저장된 데이터의 양에 따라 우선 순위를 변경하고, 상기 변경된 우선 순위에 따라 메모리에 데이터를 저장하는 제 3 단계를 포함하여 이루어지는 것을 특징으로 하는 영상 처리기의 메모리 액세스 중재 방법.And changing a priority in accordance with the amount of data stored in each of the FIFOs, and storing the data in a memory according to the changed priority.
KR1020010035452A 2001-06-21 2001-06-21 arbitration apparatus for memory access in video processor and method of the same KR20020096650A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010035452A KR20020096650A (en) 2001-06-21 2001-06-21 arbitration apparatus for memory access in video processor and method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010035452A KR20020096650A (en) 2001-06-21 2001-06-21 arbitration apparatus for memory access in video processor and method of the same

Publications (1)

Publication Number Publication Date
KR20020096650A true KR20020096650A (en) 2002-12-31

Family

ID=27710382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010035452A KR20020096650A (en) 2001-06-21 2001-06-21 arbitration apparatus for memory access in video processor and method of the same

Country Status (1)

Country Link
KR (1) KR20020096650A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804861B2 (en) 2004-02-04 2010-09-28 Samsung Electronics Co., Ltd. Demultiplexer and demultiplexing methods for digital broadcasting receiver

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804861B2 (en) 2004-02-04 2010-09-28 Samsung Electronics Co., Ltd. Demultiplexer and demultiplexing methods for digital broadcasting receiver

Similar Documents

Publication Publication Date Title
US5903283A (en) Video memory controller with dynamic bus arbitration
JP4210303B2 (en) Memory access bandwidth allocation and latency control in digital cameras
JP4466653B2 (en) Method and apparatus for transmitting data from a plurality of sources via a communication bus
US5870622A (en) Computer system and method for transferring commands and data to a dedicated multimedia engine
US5689656A (en) Dynamic hierarchical arbitration of computer resource access requests
US5515523A (en) Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
US5781927A (en) Main memory arbitration with priority scheduling capability including multiple priorty signal connections
US6006287A (en) DMA transfer of an interleaved stream
US6806872B2 (en) Video signal processing system
US6633926B1 (en) DMA transfer device capable of high-speed consecutive access to pages in a memory
US5907688A (en) Smart arbitration for non-symmetric data streams
US5339442A (en) Improved system of resolving conflicting data processing memory access requests
US5872936A (en) Apparatus for and method of arbitrating bus conflicts
US20050177663A1 (en) Method of using bus and bus interface
US6782433B2 (en) Data transfer apparatus
KR100288177B1 (en) Memory access control circuit
US20050144338A1 (en) Data transfer apparatus
US7409486B2 (en) Storage system, and storage control method
EP0704807B1 (en) Programmable arbitrating apparatus
WO1996035172A1 (en) Controller for providing access to a video frame buffer in a split-bus transaction environment
KR101420290B1 (en) Bus arbiter capable of grouping transactions, bus device and system including the same
KR20020096650A (en) arbitration apparatus for memory access in video processor and method of the same
KR100376610B1 (en) Pre-arbitration request limiter for an integrated multi-master bus system
US20050135402A1 (en) Data transfer apparatus
JP4126959B2 (en) Data transfer system and access monitor device

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination