KR20070098352A - Apparatus for bus arbitration - Google Patents

Apparatus for bus arbitration Download PDF

Info

Publication number
KR20070098352A
KR20070098352A KR1020060029897A KR20060029897A KR20070098352A KR 20070098352 A KR20070098352 A KR 20070098352A KR 1020060029897 A KR1020060029897 A KR 1020060029897A KR 20060029897 A KR20060029897 A KR 20060029897A KR 20070098352 A KR20070098352 A KR 20070098352A
Authority
KR
South Korea
Prior art keywords
memory access
memory
bandwidth
value
mau
Prior art date
Application number
KR1020060029897A
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 KR1020060029897A priority Critical patent/KR20070098352A/en
Publication of KR20070098352A publication Critical patent/KR20070098352A/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output

Abstract

A device for arbitrating a memory is provided to control a memory access request for a memory device which can be accessed by a plurality of memory access units at the same time. A bandwidth setting storage device sets and stores the reference bandwidth of a memory access request of more than one unit of the memory access units(11-15). A bandwidth counter measures a bandwidth for the memory access request of more than one memory access unit. A bandwidth storing device stores a counter value. A first controller controls a system memory bus request of the memory access unit by comparing values stored in the bandwidth counter and the bandwidth storage device with values stored in the bandwidth setting storing device. If a value stored in the bandwidth counter and the bandwidth storing device is over a value stored in the bandwidth setting storage device, the first controller masks the access of the memory access unit by controlling the system memory buys request during a variable interval.

Description

메모리 중재 장치{Apparatus for bus arbitration}Apparatus for bus arbitration

도 1은 다수의 메모리 액세스 유닛(MAU)이 단일 메모리 장치에 접속하여 데이터를 입출력하는 인터페이스를 나타낸 구성도1 is a diagram illustrating an interface through which a plurality of memory access units (MAUs) are connected to a single memory device to input and output data.

도 2는 본 발명과 관련하여 메모리 중재 장치에 포함되어 글로벌 대역폭을 측정하여 기록하기 위한 저장장치들의 일 예를 나타낸 도면2 is a view illustrating an example of storage devices included in a memory arbitration apparatus for measuring and recording a global bandwidth according to the present invention;

도 3은 글로벌 대역폭 카운터(GBC)와 글로벌 대역폭 레지스터(GBR)의 클록 사이클에 따른 동작을 나타낸 타이밍도3 is a timing diagram illustrating operation according to clock cycles of the global bandwidth counter (GBC) and the global bandwidth register (GBR).

도 4는 본 발명과 관련하여 메모리 중재 장치에서 글로벌 대역폭 카운터(GBC)와 글로벌 대역폭 레지스터(GBR)에 저장된 값이 전이되는 과정을 나타낸 타이밍도4 is a timing diagram illustrating a process of transitioning a value stored in a global bandwidth counter (GBC) and a global bandwidth register (GBR) in a memory arbitration apparatus in accordance with the present invention.

도 5는 본 발명과 관련하여 메모리 중재 장치에 포함되는 메모리 액세스 레이턴시 카운터(MALC)와 최대 메모리 액세스 레이턴시 레지스터(MMALR)를 나타낸 도면5 illustrates a memory access latency counter (MALC) and a maximum memory access latency register (MMALR) included in a memory arbitration apparatus in accordance with the present invention.

도 6은 본 발명과 관련하여 메모리 중재 장치에서 메모리 액세스 레이턴시 카운터(MALC)의 동작 타이밍도6 is an operation timing diagram of a memory access latency counter (MALC) in a memory arbitration apparatus in accordance with the present invention.

도 7a ~ 7b는 본 발명과 관련하여 메모리 중재 장치의 스타베이션 주기 값과 우선 순위 값을 저장하는 저장장치의 일 예를 나타낸 도면7A to 7B are diagrams illustrating an example of a storage device for storing a stabilization period value and a priority value of a memory arbitration device in accordance with the present invention.

도 8은 본 발명에 따른 임의의 메모리 액세스 유닛(MAU)에 의한 시스템 메모리 버스 요청에 대한 제어의 일 예를 나타낸 타이밍도8 is a timing diagram illustrating an example of control for a system memory bus request by any memory access unit (MAU) in accordance with the present invention.

도 9는 본 발명에 따른 임의의 메모리 액세스 유닛(MAU)에 의한 시스템 메모리 버스 요청에 대한 제어의 다른 예를 나타낸 타이밍도9 is a timing diagram illustrating another example of control for a system memory bus request by any memory access unit (MAU) in accordance with the present invention.

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

11, 12, 13, 14, 15: 메모리 액세스 유닛11, 12, 13, 14, 15: memory access unit

20: 메모리 중재 장치20: memory arbitration device

50: 메모리장치50: memory device

본 발명은 메모리 중재에 관한 것으로서, 더욱 상세하게는 메모리 장치에 액세스하기 위한 버스 사용을 실시간으로 제어할 수 있는 메모리 중재 장치에 관한 것이다.The present invention relates to memory arbitration, and more particularly, to a memory arbitration device capable of controlling in real time the use of a bus for accessing a memory device.

데이터 처리 시스템(data processing system)은 디지털 비디오 프로세서(digital video processor)와 같이 다수의 기능 블록들(function blocks)과 상기 기능 블록이 메모리 장치에 액세스(access)하기 위한 다수의 메모리 액세스 유닛(memory access unit: MAU) 들을 포함한다. A data processing system, such as a digital video processor, includes a plurality of function blocks and a plurality of memory access units for accessing the memory device by the function block. unit: MAU).

디지털 텔레비전 SOC(system on a chip)와 같은 데이터 처리 시스템에서 내장 중앙처리장치와 다수의 기능 블록들은 시스템 메모리 장치로서, 단일 메모리 장 치(unified memory)를 사용한다.In a data processing system such as a digital television system on a chip (SOC), the embedded central processing unit and multiple functional blocks use a single memory device as a system memory device.

도 1은 디지털 텔레비전의 SOC와 같은 데이터 처리 시스템에서 다수의 메모리 액세스 유닛(MAU)이 단일 메모리 장치에 접속하여 데이터를 입출력하는 인터페이스를 나타낸 구성도이다. 도 1을 참조하여, 메모리 중재 장치인 아비터(arbiter)가 다수의 메모리 액세스 유닛(MAU)이 메모리 장치에 접근할 경우 인터페이스(interface)를 제어하는 과정을 설명하면 다음과 같다.FIG. 1 is a diagram illustrating an interface in which a plurality of memory access units (MAUs) are connected to a single memory device to input and output data in a data processing system such as an SOC of a digital television. Referring to FIG. 1, a process in which an arbiter, which is a memory arbitration apparatus, controls an interface when a plurality of memory access units (MAUs) access a memory device will be described.

도 1에서 다수의 메모리 액세스 유닛(MAU)들이 디지털 텔레비전의 SOC에 포함된다고 하고, 상기 액세스 유닛들 MAU A(11), MAU B(12), MAU C(13), MAU D(14), 및 MAU E(15) 등이 있다고 가정한다. 상기 액세스 유닛들은 트랜스포트(transport), 비디오 디코더(video decorder), 포맷 컨버터(format converter), 오디오 디코더(audio decorder), 호스트 인터페이스(host interface) 등 메모리 장치에 접속하는 어떤 것도 될 수 있다.In FIG. 1, a number of memory access units (MAUs) are included in the SOC of a digital television, and the access units MAU A 11, MAU B 12, MAU C 13, MAU D 14, and Assume that there is a MAU E (15) and the like. The access units may be anything that connects to a memory device, such as a transport, a video decoder, a format converter, an audio decoder, a host interface, and the like.

상기 메모리 액세스 유닛(MAU)들(11 내지 15)은 단일 메모리 장치(50)에 접근하기 위해 메모리 중재 장치(20)에 메모리 장치(50)에 대한 접근을 요구하는 정보(MCMD)를 전송할 수 있다. 메모리 액세스 유닛(MAU)(11 내지 15)이 메모리 중재 장치(20)에 전송하는 정보는 메모리 장치 내 뱅크(bank)의 로/컬럼 어드레스(row/column address), 리드/라이트(read/write) 정보, 데이터 마스킹(data masking), 액세스하는 뱅크 넘버(bank number), 어드레싱 모드(addressing mode) 등이 될 수 있다. 그러면 메모리 중재 장치(20)는 메모리 액세스 유닛(MAU)(11 내지 15)에 읽고 쓰기 위한 데이터 버스(shared write data bus/shared read data bus) 사용을 허용한다. The memory access units (MAUs) 11 to 15 may transmit information MCMD requesting access to the memory device 50 to the memory arbitration device 20 to access the single memory device 50. . The information that the memory access units (MAUs) 11 to 15 transmit to the memory arbitration device 20 includes row / column addresses, read / writes of banks in the memory device. Information, data masking, bank number to access, addressing mode, and the like. The memory arbitration apparatus 20 then permits the use of a shared write data bus / shared read data bus for reading and writing to the memory access units (MAUs) 11 to 15.

만약 특정 메모리 액세스 유닛(MAU)(예를 들어, 11)이 시스템 메모리 버스를 일정 기간 과도하게 사용하면 상기 메모리 액세스 유닛(MAU)(11)의 가변적인 작업량이 일정 시점에서 메모리 장치(50)에 집중된다. 그러한 경우에 상기 메모리 장치(50)로부터 일정한 데이터 전송량이 보장되어야 할 다른 기능 블록들에서는 메모리 액세스 레이턴시 타임(latency time)이 증가하게 된다. 그리고 상기 기능 블록들이 최대 레이턴시 타임(latency time) 내에 메모리 장치(50)를 액세스하지 못하면 내부 버퍼가 언더플로우(underflow)나 오버플로우(overflow)되는 문제점이 있었다. If a particular memory access unit (MAU) (for example, 11) uses the system memory bus excessively for a certain period of time, the variable workload of the memory access unit (MAU) 11 may reach the memory device 50 at a certain point in time. Are concentrated. In such a case, the memory access latency time is increased in other functional blocks in which a certain amount of data transfer from the memory device 50 is to be guaranteed. If the functional blocks fail to access the memory device 50 within the maximum latency time, an internal buffer may be underflowed or overflowed.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 다수개의 메모리 액세스 유닛(memory access unit)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치를 제공하고자 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a memory arbitration apparatus for controlling a memory access request for a memory device that can be accessed simultaneously by a plurality of memory access units (memory access unit) do.

상기 목적을 달성하기 위하여, 본 발명에 따른 다수개의 메모리 액세스 유닛(memory access unit; MAU)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치의 일예는, 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 액세스 요청의 기준 대역폭을 설정하여 저장하는 대역폭 셋팅 저장장치; 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 액세스 요청에 대한 대역폭을 측정하는 대역폭 카운터; 상기 카 운터 값을 저장하는 대역폭 저장장치; 및 상기 대역폭 카운터의 측정값과 상기 대역폭 저장장치에 저장된 값을 대역폭 셋팅 저장장치의 기 설정된 값과 비교하여 해당 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청(system memory bus request)을 제어하는 제 1 제어장치를 포함하여 구성되는 것을 특징으로 한다.In order to achieve the above object, an example of a memory arbitration apparatus for controlling a memory access request for a memory device that can be accessed simultaneously by a plurality of memory access units (MAU) according to the present invention, the memory access unit A bandwidth setting storage device for setting and storing a reference bandwidth of a memory access request for one or more units of the MAU; A bandwidth counter that measures a bandwidth for a memory access request for one or more units of the memory access unit (MAU); A bandwidth storage device for storing the counter value; And controlling a system memory bus request of the corresponding memory access unit by comparing the measured value of the bandwidth counter and the value stored in the bandwidth storage device with a preset value of the bandwidth setting storage device. Characterized in that it comprises a control device.

이때, 상기 제 1 제어장치는, 상기 비교 결과 대역폭 카운터의 측정값과 대역폭 저장장치에 저장된 값이 대역폭 셋팅 저장장치에 기설정된 값 이상인 경우에는, 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청을 가변적인 구간동안 제어하여 해당 메모리 액세스 유닛(MAU)의 액세스(access)를 매스킹(masking) 하는 것이 바람직하다.In this case, when the measured value of the bandwidth counter and the value stored in the bandwidth storage device are equal to or greater than a value preset in the bandwidth setting storage device, the first controller may vary the system memory bus request of the memory access unit (MAU). It is preferable to mask the access of the corresponding memory access unit (MAU) by controlling during the in period.

그리고 상기 가변적인 구간은, (1) 전혀 없거나, (2) 특정 메모리 액세스 유닛(MAU)의 대역폭 카운터 값이 해당 메모리 액세스 유닛(MAU)의 대역폭 셋팅 저장장치의 값과 같거나 큰 기간, (3) 주기적으로 발생되는 시스템 신호가 액티브(active) 되어 이전의 대역폭 카운터 값을 상기 시스템 신호 다음에 오는 시스템 신호가 액티브 될 때까지 대역폭 저장장치에 저장한 구간, (4) 상기 (2) 구간과 (3) 구간을 더한 구간 중 어느 하나인 것이 바람직하다.And the variable interval may include (1) none or (2) a period in which the bandwidth counter value of a particular memory access unit (MAU) is equal to or greater than the value of the bandwidth setting storage of the memory access unit (MAU), (3 A period in which a periodically generated system signal is active and stores a previous bandwidth counter value in a bandwidth storage device until the system signal following the system signal is activated, (4) the (2) and ( 3) It is preferable that it is any one of the sections which added the section.

상기 제 1 제어 장치를 온/오프(on/off) 할 수 있는 제 2 제어 장치를 더 포함하여 구성되는 것이 바람직하다.Preferably, the second control device further comprises a second control device that can turn on / off the first control device.

본 발명에 따른 다수개의 메모리 액세스 유닛(MAU)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치의 다른 예는, 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 최소 메모리 액세 스 인터벌을 설정하여 저장하는 최소 메모리 액세스 인터벌 저장장치; 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 사이클(cycle)을 측정하는 메모리 액세스 인터벌 카운터; 및 상기 메모리 액세스 인터벌 카운터에서 측정한 값과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값을 비교하여 해당 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청을 제어하는 제 1 제어장치를 포함하여 구성되는 것을 특징으로 한다.Another example of a memory arbitration apparatus for controlling a memory access request for a memory device to which a plurality of memory access units (MAUs) according to the present invention can access simultaneously is a minimum for one or more units of the memory access units (MAUs). A minimum memory access interval storage device for setting and storing a memory access interval; A memory access interval counter for measuring a memory cycle for one or more units of the memory access unit (MAU); And a first controller configured to control a system memory bus request of a corresponding memory access unit (MAU) by comparing a value measured by the memory access interval counter with a value preset in a minimum memory access interval storage device. It is done.

이때, 상기 제 1 제어장치는, 상기 비교 결과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값보다 메모리 액세스 인터벌 카운터에서 측정한 값이 작으면, 해당 메모리 액세스 유닛(MAU)의 메모리 액세스를 매스킹(masking) 하는 것이 바람직하다.In this case, if the value measured by the memory access interval counter is smaller than the value preset in the minimum memory access interval storage device as a result of the comparison, masking the memory access of the corresponding memory access unit (MAU) Is preferred.

그리고 상기 제어 신호는, 적어도 상기 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값 이상까지 액세스를 매스킹(masking) 하는 것이 바람직하다.Preferably, the control signal masks an access to at least a predetermined value in the minimum memory access interval storage device.

또한, 상기 제 1 제어 장치를 온/오프(on/off) 할 수 있는 제 2 제어 장치를 더 포함하여 구성되는 것이 바람직하다.In addition, the first control device is preferably configured to further comprise a second control device that can be turned on (on / off).

본 발명에 따른 다수개의 메모리 액세스 유닛(MAU)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치의 또 다른 예는, 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 액세스 요청의 기준 대역폭을 설정하여 저장하는 대역폭 셋팅 저장장치; 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 액세스 요청에 대한 대역폭을 측정하는 대역폭 카운터; 상기 카운터 값을 저장하는 대역폭 저장장치; 상기 대역폭 카운터의 측정값과 상기 대역폭 저장장치에 저장된 값을 대역폭 셋팅 저장장치의 기 설정된 값과 비교하여 해당 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청을 제어하는 제 1 제어장치; 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 최소 메모리 액세스 인터벌을 설정하여 저장하는 최소 메모리 액세스 인터벌 저장장치; 상기 메모리 액세스 유닛(MAU) 중 하나 이상의 유닛에 대한 메모리 사이클(cycle)을 측정하는 메모리 액세스 인터벌 카운터; 및 상기 메모리 액세스 인터벌 카운터에서 측정한 값과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값을 비교하여 해당 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청을 제어하는 제 2 제어장치를 포함하여 구성되는 것을 특징으로 한다. Another example of a memory arbitration device for controlling a memory access request for a memory device to which a plurality of memory access units (MAUs) according to the present invention can access at the same time is for one or more units of the memory access units (MAUs). A bandwidth setting storage device for setting and storing a reference bandwidth of the memory access request; A bandwidth counter that measures a bandwidth for a memory access request for one or more units of the memory access unit (MAU); A bandwidth storage device for storing the counter value; A first control device for controlling a system memory bus request of a corresponding memory access unit (MAU) by comparing the measured value of the bandwidth counter and the value stored in the bandwidth storage device with a preset value of the bandwidth setting storage device; A minimum memory access interval storage device for setting and storing a minimum memory access interval for at least one of the memory access units (MAU); A memory access interval counter for measuring a memory cycle for one or more units of the memory access unit (MAU); And a second controller configured to control a system memory bus request of a corresponding memory access unit (MAU) by comparing a value measured by the memory access interval counter with a value preset in a minimum memory access interval storage device. It is done.

이때, 상기 제 1 제어 장치와 제 2 제어 장치를 온/오프(on/off) 할 수 있는 제 3 제어 장치를 더 포함하여 구성되는 것이 바람직하다.In this case, the first control device and the second control device preferably further comprises a third control device that can be turned on (on / off).

그리고 상기 제 3 제어 장치는, (1) 제 1 제어 장치만 온(on)하거나, (2) 제 2 제어 장치만 온(on)하거나, (3) 제 1 제어 장치와 제 2 제어 장치 둘 다 온(on)하거나, (4) 제 1 제어 장치와 제 2 제어 장치 둘 다 오프(off)하는 경우 중 어느 하나 경우를 선택하도록 제어하는 것이 바람직하다.And the third control device is configured to (1) turn on only the first control device, (2) turn on only the second control device, or (3) both the first control device and the second control device. It is preferable to control so as to select either the case of turning on or (4) turning off both the first control device and the second control device.

본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해질 것이다. 아울러 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였다. 그러나 특정한 경우는 출원인이 임의로 용어를 선정하였으며, 이 경우에는 해당되는 부분에서 상세히 그 의미를 기재하였다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미로서 파악하여야 할 것이다.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. In addition, the terminology used in the present invention was selected as a general term widely used as possible now. However, in certain cases, the applicant arbitrarily selected a term, and in this case, the meaning is described in detail in the corresponding part. Therefore, the terms used in the present invention should be understood as meanings of the terms rather than simply names of the terms.

이하 상기 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 설명한다. Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

본 발명에 따른 메모리 중재 장치는 메모리 액세스 유닛(MAU)이 메모리장치에 접근하여 사용하는 글로벌 대역폭(global bandwidth)을 제어하거나, 메모리 액세스 유닛(MAU)이 메모리장치를 액세스하기 위해 대기하는 레이턴시 타임(latency time)을 제어하여, 두 가지 측면에서 버스에 대한 사용 권한을 분배하고 제한할 수 있도록 한다. The memory arbitration apparatus according to the present invention controls the global bandwidth that the memory access unit (MAU) accesses and uses the memory device, or the latency time (MAU) waits to access the memory device. By controlling latency time, you can distribute and restrict usage rights for the bus in two ways.

먼저, 본 발명에 따라 메모리 중재 장치가 다수개의 메모리 액세스 유닛(MAU)들이 메모리 장치에 접근하여 사용하는 글로벌 대역폭(global bandwidth)을 제어하는 과정에 대해 설명하면 다음과 같다.First, a process of controlling a global bandwidth used by a plurality of memory access units (MAUs) to access and use a memory device according to the present invention will be described below.

메모리 중재 장치는 메모리 액세스 유닛(MAU)들이 메모리 장치에 접근하여 사용하는 글로벌 대역폭(global bandwidth)을 실시간으로 모니터링하고 제한하기 위하여 각 메모리 액세스 유닛(MAU)이 사용하는 글로벌 대역폭(global bandwidth)을 측정하고, 기록하는 카운터와 저장장치를 포함할 수 있다. The memory arbitration unit measures the global bandwidth used by each memory access unit (MAU) to monitor and limit in real time the global bandwidth that the memory access units (MAUs) access and use the memory device. And a counter for recording and a storage device.

본 명세서에서는 상기 각 메모리 액세스 유닛(MAU)이 사용하는 글로벌 대역폭(global bandwidth)을 측정하는 장치를 글로벌 대역폭 카운터(global bandwidth counter; GBC), 상기 측정된 글로벌 대역폭(global bandwidth)을 기록하는 저장장치는 레지스터(register)를 예로 하여 글로벌 대역폭 레지스터(global bandwidth register; GBR)로 명명한다. 또한, 상기 메모리 중재 장치는 각 메모리 액세스 유 닛(MAU)이 기본적으로 요구할 수 있는 글로벌 대역폭(global bandwidth)의 양을 설정하기 위한 저장장치인 글로벌 대역폭 셋팅 레지스터(global bandwidth setting register; GBSR)를 포함할 수 있다. In the present specification, a device for measuring a global bandwidth used by each memory access unit (MAU) is a global bandwidth counter (GBC), a storage device for recording the measured global bandwidth (global bandwidth) Is named a global bandwidth register (GBR) by using a register as an example. The memory arbitration device also includes a global bandwidth setting register (GBSR), which is a storage device for setting the amount of global bandwidth that each memory access unit (MAU) may basically require. can do.

도 2는 본 발명과 관련하여 메모리 중재 장치에 포함되는 글로벌 대역폭(global bandwidth)을 측정하고 기록하기 위한 카운터와 저장장치의 예로서, 글로벌 대역폭 카운터(GBC), 글로벌 대역폭 레지스터(GBR), 글로벌 대역폭 셋팅 레지스터(GBSR)를 각각 나타낸 것이다. 2 is an example of a counter and a storage device for measuring and recording a global bandwidth included in a memory arbitration apparatus in accordance with the present invention. FIG. 2 is a global bandwidth counter (GBC), a global bandwidth register (GBR), and a global bandwidth. Each setting register (GBSR) is shown.

메모리 중재 장치는 각 메모리 액세스 유닛(MAU)별로 상기 글로벌 대역폭 카운터(GBC), 글로벌 대역폭 레지스터(GBR), 글로벌 대역폭 셋팅 레지스터(GBSR)를 각각 설정할 수 있다. 도 2에서는 32비트를 저장하는 레지스터를 가정하였고, 각 메모리 액세스 유닛(MAU)으로 MAU A와 MAU B를 예로 하였다. The memory arbitration apparatus may set the global bandwidth counter (GBC), the global bandwidth register (GBR), and the global bandwidth setting register (GBSR) for each memory access unit (MAU). In FIG. 2, a register storing 32 bits is assumed, and MAU A and MAU B are taken as examples of each memory access unit (MAU).

글로벌 대역폭 카운터(GBC)는 각 해당 메모리 액세스 유닛(MAU)이 메모리 중재 장치에 메모리 데이터 버스를 요청하여 버스의 사용권을 획득한 후 메모리장치에 데이터를 리드(read) 하거나 라이트(write) 하는 경우에 상기 각 메모리 액세스 유닛(MAU)이 시스템의 동기 신호(이하 시스템 싱크(system_sync))가 액티브(active)되는 동안 사용한 메모리 글로벌 대역폭을 카운트(count)한 값을 저장한다.The Global Bandwidth Counter (GBC) reads or writes data to a memory device after each corresponding memory access unit (MAU) requests a memory data bus from the memory arbitration device to obtain a license for the bus. Each memory access unit (MAU) stores a value that counts the memory global bandwidth used while the system synchronization signal (hereinafter, system_sync) is active.

본 발명에 따른 메모리 중재 장치는 일정한 주기로 액티브(active) 되는 시스템 싱크(system_sync) 신호를 포함하고, 상기 시스템 싱크(system_sync) 신호가 액티브(active) 되는 시점에서 각 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC)의 값을 상기 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 레지스터(GBR)에 저장하도록 할 수 있다. The memory arbitration apparatus according to the present invention includes a system sync (system_sync) signal that is active at regular intervals, the global for each memory access unit (MAU) at the time when the system sync (system_sync) signal is active (active) The value of the bandwidth counter (GBC) may be stored in the global bandwidth register (GBR) for the memory access unit (MAU).

그리고 메모리 중재 장치는 상기 저장과 동시에 각 메모리 액세스 유닛(MAU)의 글로벌 대역폭 카운터(GBC)를 초기화한다. 그리고 상기 메모리 중재 장치는 상기 시스템 싱크(system_sync) 신호와 같이 일정한 주기로 액티브(active) 되는 시스템 인트럽트 신호(이하 시스템 이니셜(system_int))를 이용하여 호스트(host)에 인터럽트(interrupt) 신호를 전달하여 호스트에게 모든 메모리 액세스 유닛(MAU)의 글로벌 대역폭 레지스터(GBR)에 저장된 값을 읽도록 할 수 있다. 따라서, 호스트는 각 메모리 액세스 유닛(MAU)이 요구하는 버스 요구량을 실시간으로 모니터링(monitoring)할 수 있다.The memory arbitration device then initializes the global bandwidth counter (GBC) of each memory access unit (MAU) simultaneously with the storage. The memory arbitration apparatus transmits an interrupt signal to a host by using a system interrupt signal (hereinafter, system initial) which is activated at a predetermined period such as the system_sync signal. The host can be read out of the value stored in the global bandwidth register (GBR) of every memory access unit (MAU). Thus, the host can monitor in real time the bus demands required by each memory access unit (MAU).

글로벌 대역폭 레지스터(GBR)는 시스템 싱크 신호(system_sync)가 액티브(active)되는 시점에서 상기 글로벌 대역폭 카운터(GBC)에 저장된 값을 저장할 수 있고, 상기 저장한 값을 다음에 발생하는 시스템 싱크(system_sync) 신호가 액티브(active)될 때까지 유지할 수 있다.The global bandwidth register (GBR) may store a value stored in the global bandwidth counter (GBC) when a system sink signal (system_sync) is active, the system sink (system_sync) to occur next to the stored value It can remain until the signal is active.

글로벌 대역폭 셋팅 레지스터(GBSR)는 각 메모리 액세스 유닛(MAU)이 기본적으로 요구할 수 있는 수준의 메모리 글로벌 대역폭(global bandwidth)의 양을 설정할 수 있다. The global bandwidth setting register (GBSR) may set the amount of memory global bandwidth at a level that each memory access unit (MAU) may basically require.

따라서, 본 발명에 따른 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)에 의해 사용된 메모리 글로벌 대역폭(global bandwidth)을 글로벌 대역폭 카운터(GBC)를 이용하여 실시간으로 측정하고, 상기 측정된 값을 글로벌 대역폭 레지스터 (GBR)에 저장한다. 그리고 메모리 중재 장치는 상기 글로벌 대역폭 레지스터(GBR)에 저장된 값과 글로벌 대역폭 셋팅 레지스터(GBSR)에 저장된 값을 비교하여 각 메모리 액세스 유닛(MAU)에 대한 버스 사용량을 실시간으로 제어할 수 있다.Therefore, the memory arbitration apparatus according to the present invention measures the memory global bandwidth used by each memory access unit (MAU) in real time using a global bandwidth counter (GBC), and the measured value is measured in global bandwidth. Store in register (GBR). The memory arbitration apparatus compares the value stored in the global bandwidth register (GBR) with the value stored in the global bandwidth setting register (GBSR) to control the bus usage for each memory access unit (MAU) in real time.

도 3을 참조하여 상기 글로벌 대역폭 카운터(GBC)와 글로벌 대역폭 레지스터(GBR)를 포함하는 메모리 중재 장치의 동작을 설명하면 다음과 같다. Referring to FIG. 3, the operation of the memory arbitration apparatus including the global bandwidth counter (GBC) and the global bandwidth register (GBR) will be described below.

MAU_X_win(도 3에서 상기 X는 A 또는 B)으로 나타낸 신호는 메모리 액세스 유닛(MAU) X가 메모리장치에 대한 데이터 버스를 사용하고 있음을 나타낸 신호이다. MAU_X_done은 메모리 액세스 유닛(MAU) X의 상기 메모리장치에 대한 버스 사용이 종료되었을 때 발생되는 신호를 나타낸다. The signal represented by MAU_X_win (where X is A or B in FIG. 3) is a signal indicating that the memory access unit (MAU) X uses the data bus for the memory device. MAU_X_done represents a signal generated when the bus usage for the memory device of the memory access unit (MAU) X ends.

MEM_State 신호는 메모리 중재 장치의 스테이트 머신(state machine)이 출력하는 신호로, 도 3에서는 상기 메모리장치의 뱅크(bank)가 4개인 동기식 동적 램(sdram)에 대해서 2개의 뱅크를 액세스하는 멀티 뱅크 액세스(multi bank access)인 경우를 예로 하여 나타내었다. The MEM_State signal is a signal output from a state machine of a memory arbitration apparatus. In FIG. 3, a multi-bank access for accessing two banks to a synchronous dynamic RAM having four banks of the memory apparatus is shown. The case of (multi bank access) is shown as an example.

이하 메모리 액세스 유닛(MAU)이 상기 메모리장치에 접근하는 과정을 사이클(cycle)에 따라 설명하면 다음과 같다. Hereinafter, a process of accessing the memory device by the memory access unit (MAU) will be described according to a cycle.

스테이트 머신(state machine)은 메모리 액세스 유닛(MAU) A가 메모리장치에 접근하면, 아이들(idle; 도 3에서는 home) 신호를 출력하다가 뱅크 0의 제 1 로(row)에 대한 액티브(active) 신호를 출력(도 3의 act 1)한다.When the memory access unit (MAU) A approaches the memory device, the state machine outputs an idle signal (home) in FIG. 3, and then an active signal for the first row of bank 0. Output (act 1 in FIG. 3).

그리고 스테이트 머신(state machine)은 상기 로(row)에 접근하는 대기신호(도 3의 a2w)를 출력하고, 뱅크 1의 제 2 로(row)에 대한 액티브 신호를 출력(도 3 의 act 2)한다.The state machine outputs a wait signal (a2w in FIG. 3) approaching the row, and outputs an active signal for the second row of bank 1 (act 2 in FIG. 3). do.

그리고 스테이트 머신(state machine)은 메모리 액세스 유닛(MAU) A가 제 1 컬럼(column)에 대한 데이터(도 3의 c_a)를 접근하면, 제 2 컬럼에 대한 액티브 신호(c_b)를 출력하여 제 2 컬럼에 대한 데이터(도 3의 c_b)에 대해 접근한다. 그리고 스테이트 머신(state machine)은 상기 데이터에 대한 프리차지(precharge) 신호를 출력(도 3의 pal)하면, 그에 대한 타임 딜레이(도 3의 p2h)가 발생한다.The state machine outputs an active signal c_b for the second column when the memory access unit MAU A approaches data (c_a of FIG. 3) for the first column. Access the data for the column (c_b in Figure 3). When the state machine outputs a precharge signal for the data (pal in FIG. 3), a time delay (p2h in FIG. 3) occurs.

도 3의 MEM_DATA는 메모리장치에서 메모리 액세스 유닛(MAU)으로 데이터 버스 상에서 전송되는 데이터를 나타내고, 유효한 데이터가 전송되는 구간을 검은색으로 표현하였다. MEM_DATA in FIG. 3 represents data transmitted on the data bus from the memory device to the memory access unit (MAU), and represents a section in which valid data is transmitted in black.

상기 메모리 액세스 유닛(MAU) A에 대한 글로벌 대역폭 카운터(GBC)와 메모리 액세스 유닛(MAU) B에 대한 글로벌 대역폭 카운터(GBC)는 각각 MEM_State 신호로부터 각 메모리 액세스 유닛(MAU)이 사용하는 글로벌 대역폭(global bandwidth)이 실시간으로 카운트 된 값을 저장한다. 도 3의 예는 메모리 액세스 유닛(MAU) A가 메모리 데이터 버스의 사용권을 획득한 후, 메모리장치의 제 1 뱅크에서는 한 개의 데이터를, 두 번째 뱅크에서는 3개의 데이터를 접근할 경우의 클록 사이클(clock cylce)을 나타낸다. The global bandwidth counter (GBC) for the memory access unit (MAU) A and the global bandwidth counter (GBC) for the memory access unit (MAU) B are each the global bandwidth (MAU) used by each memory access unit (MAU) from the MEM_State signal. The global bandwidth) is stored in real time. The example of FIG. 3 illustrates a clock cycle when a memory access unit (MAU) A accesses one data in the first bank and three data in the second bank after the memory access bus (MAU) A acquires the right to use the memory data bus. clock cylce).

이때, 상기 메모리 액세스 유닛(MAU) A의 글로벌 대역폭 카운터(GBC)의 값은 메모리 액세스 유닛(MAU) A가 실제로 MEM_DATA 상에서 데이터 버스를 점유하고 있는 구간(B, 실제로 데이터가 전송되는 검은 구간 + 더미(dummy) 한 구간)을 카운트한 값이 아니고, MEM_STATE상의 스테이트(STATE)구간을 카운트 값이다. 하지만, 도 3에서 A 구간과 B 구간은 동일한 사이클(cycle)에 해당한다.At this time, the value of the global bandwidth counter (GBC) of the memory access unit (MAU) A is the interval (B, the black interval + dummy in which data is actually transmitted) in which the memory access unit (MAU) A actually occupies the data bus on MEM_DATA. It is not a count value of one (dummy) section, but a count value of a state section on the MEM_STATE. However, in FIG. 3, section A and section B correspond to the same cycle.

데이터 리드(read)나 라이트(write)에 대한 요구가 있을 경우, 메모리 중재 장치 내 각 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC)는 데이터 버스 상에 전송되는 데이터 구간만이 아니라 데이터의 전송에 필요한 커맨드(command) 구간과 하나의 리드(read)나 라이트(write) 사이클(cycle) 내에 데이터 사이의 더미(dummy) 구간과 상기 리드(read)나 라이트(write) 사이클(cycle) 사이의 더미(dummy) 구간을 각 메모리 액세스 유닛(MAU)이 사용한 글로벌 대역폭(global bandwidth)으로 카운트한다.In the event of a request for data read or write, the global bandwidth counter (GBC) for each memory access unit (MAU) in the memory arbitration unit is not limited to the data interval being transmitted on the data bus. Dummy section between data in command period and one read or write cycle required for transmission and between read or write cycle A dummy section is counted as a global bandwidth used by each memory access unit (MAU).

따라서, 상기 글로벌 대역폭 카운터(GBC)는 어떤 메모리 액세스 유닛(MAU)에 의해서 실행되는 메모리장치에 대한 리드/라이트 사이클(read/write cycle)로 인해 다른 메모리 액세스 유닛(MAU)이 상기 데이터 버스를 실제로 사용할 수 없는 구간까지 부가하여 측정하므로 더욱 실질적인 메모리 글로벌 대역폭(global bandwidth)에 대한 측정이 가능하다. Thus, the global bandwidth counter GBC may cause a read / write cycle for a memory device executed by a memory access unit (MAU) to cause the other memory access unit (MAU) to actually see the data bus. Measurements can be made for the unusable intervals, allowing for more practical measurement of memory global bandwidth.

도 3의 하단은 메모리 중재 장치가 상기 글로벌 대역폭 카운터(GBC)를 이용하여 메모리 글로벌 대역폭에 대해 카운트 한 값(GBC의 값)을 각 메모리 액세스 유닛(MAU) 별로 저장하고, 상기 저장한 값을 시스템의 신호에 의해 글로벌 대역폭 레지스터(GBR)에 저장하는 과정을 시스템 클록에 따라 표현한 것이다. 상기 글로벌 대역폭의 카운트 값은 시스템 싱크 신호가 발생되어야 글로벌 대역폭 레지스터(GBR)에 저장되므로, 도 3에서는 메모리 액세스 유닛(MAU) A와 B에 대한 글로벌 대역폭 레지스터(GBR)에 저장되는 값은 시스템 동기 신호가 발생되지 않은 이상 '0' 이 된다.The lower part of FIG. 3 stores a value (GBC value) counted for the memory global bandwidth by each memory access unit (MAU) by the memory arbitration apparatus using the global bandwidth counter (GBC), and stores the stored value in the system. The process of storing in the global bandwidth register (GBR) by the signal of is expressed according to the system clock. Since the count value of the global bandwidth is stored in the global bandwidth register (GBR) only when a system sync signal is generated, the value stored in the global bandwidth register (GBR) for the memory access units (MAU) A and B in FIG. '0' unless signal is generated.

도 4는 본 발명에 따른 메모리 중재 장치에서 메모리장치의 사용에 대한 글로벌 대역폭(global bandwidth)을 모니터링하기 위해 글로벌 대역폭 카운터(GBC)와 글로벌 대역폭 레지스터(GBR)에 저장된 값이 전이되는 과정을 나타낸 도면이다. 4 is a view illustrating a process of transitioning values stored in a global bandwidth counter (GBC) and a global bandwidth register (GBR) to monitor a global bandwidth for use of a memory device in a memory arbitration device according to the present invention. to be.

예를 들어, 디스플레이 필드(display field) 동기 신호와 같이 1/60초의 간격으로 주기적으로 액티브(active) 되는 시스템 동기(system_sync)신호가 액티브(active) 되면, 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC)의 값을 상기 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 레지스터(GBR)에 저장한다. 그리고 메모리 중재 장치는 상기 글로벌 대역폭 카운터(GBC)를 초기화한다. 이때, 상기 글로벌 대역폭 레지스터(GBR)에 저장된 값은 다음 시스템 동기(system_sync) 신호가 액티브(active) 될 때까지 유지될 수 있다.For example, when a system_sync signal, which is periodically active at intervals of 1/60 second, such as a display field synchronization signal, is active, the memory arbitration apparatus may perform each memory access unit (MAU). Stores the value of the Global Bandwidth Counter (GBC) in the Global Bandwidth Register (GBR) for the memory access unit (MAU). The memory arbitration device then initializes the global bandwidth counter (GBC). In this case, the value stored in the global bandwidth register (GBR) may be maintained until the next system_sync signal is active.

그리고 메모리 중재 장치는 상기 시스템 동기(system_sync) 신호 후에 시스템 인트럽트(system_int) 신호를 액티브(active) 시켜서 호스트(host)로 하여금 모든 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 레지스터(GBR) 값을 읽어 가도록 한다. 따라서, 호스트는 상기한 방법으로 실시간으로 모든 메모리 액세스 유닛(MAU)의 메모리 글로벌 대역폭(global bandwidth)의 사용을 확인할 수 있다.  The memory arbitration device activates a system interrupt signal after the system_sync signal to cause the host to read global bandwidth register (GBR) values for all memory access units (MAUs). Let's go. Thus, the host can ascertain the use of the memory global bandwidth of all memory access units (MAUs) in real time in the manner described above.

도 4에서 구간 'A'는 임의의 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC)의 실시간 측정값이 상기 해당 메모리 액세스 유닛(MAU)의 글로벌 대역폭 셋팅 레지스터(GBSR)의 값과 같거나 큰 기간이라고 가정한다. 그렇다고 하여도 상기 글로벌 대역폭 카운터(GBC) 값(도 4에서는 xxx 또는 yyy)은 시스템 동기 (system_sync) 신호가 액티브(active) 되어야 글로벌 대역폭 레지스터(GBR)에 비로소 저장(도 4에서 xxx 또는 yyy)된다.In FIG. 4, the interval 'A' indicates that the real time measurement of the global bandwidth counter (GBC) for any memory access unit (MAU) is equal to the value of the global bandwidth setting register (GBSR) of the corresponding memory access unit (MAU). Assume a large period. Nevertheless, the Global Bandwidth Counter (GBC) value (xxx or yyy in FIG. 4) is not stored in the Global Bandwidth Register (GBR) until the system_sync signal is active (xxx or yyy in FIG. 4). .

다음으로, 본 발명과 관련하여 메모리 중재 장치가 각 메모리 액세스 유닛(MAU)마다 최대 메모리 액세스 레이턴시를 저장하는 저장장치에 각 메모리 액세스 유닛(MAU)이 메모리장치에 접근하기 위해 대기하는 시간인 최대 메모리 액세스 레이턴시(Max Memory Access Latency)를 설정하도록 하여 버스 사용을 제어하는 과정에 대해 설명하면 다음과 같다.Next, in accordance with the present invention, a maximum memory, which is a time for which each memory access unit (MAU) waits to access the memory device in a storage device in which the memory arbitration device stores a maximum memory access latency for each memory access unit (MAU). The process of controlling bus usage by setting access memory (Max Memory Access Latency) is as follows.

도 5는 본 발명에 따른 메모리 중재 장치에 설정될 수 있는 각 메모리 액세스 유닛(MAU)별로 측정된 메모리 액세스 레이턴시(Memory Access Latency Counter; 이하 MALC)를 카운트하는 저장장치와 각 메모리 액세스 유닛(MAU)에 대해 최대 메모리 액세스 레이턴시를 저장하는 저장장치(Max Memory Access Latency Register; 이하 MMALR)를 예로 하여 나타낸 것이다. 그리고 도 6은 본 발명과 관련하여 메모리 중재 장치의 메모리 액세스 레이턴시 카운터(MALC)의 동작 타이밍도이다. 이때, 도 5와 도 6의 레지스터는 32비트를 저장할 수 있는 경우의 레지스터를 나타낸 것이다. 이하 도 5와 도 6을 참조하여 설명한다.FIG. 5 illustrates a storage device and a memory access unit (MAU) for counting a memory access latency counter (MALC) measured for each memory access unit (MAU) that can be set in the memory arbitration apparatus according to the present invention. For example, a maximum memory access latency register (MMALR) for storing a maximum memory access latency is shown. 6 is an operation timing diagram of a memory access latency counter (MALC) of a memory arbitration apparatus in accordance with the present invention. 5 and 6 show registers in the case where 32 bits can be stored. A description with reference to FIGS. 5 and 6 is as follows.

메모리 중재 장치는 모든 메모리 액세스 유닛(MAU)의 최대 메모리 액세스 레이턴시 레지스터(MMLAR)에 각각 메모리 액세스 유닛(MAU) 마다 소정의 최대 메모리 액세스 레이턴시(MMAL) 값을 설정한다. The memory arbitration apparatus sets a predetermined maximum memory access latency (MMAL) value for each memory access unit (MAU) in the maximum memory access latency register (MMLAR) of all the memory access units (MAU).

이때, 상기 최대 메모리 액세스 레이턴시 레지스터(MMALR)는 해당 메모리 액세스 유닛(MAU)이 메모리장치에 대한 접근을 요청한 신호(req_x)를 발생시킨 후, 상기 메모리 액세스 유닛(MAU)이 메모리 중재 장치로부터 소정 시간 내에 상기 액세스 요청에 대한 서비스를 제공받지 못할 경우에 상기 메모리 액세스 유닛(MAU) 내의 버퍼에 언더플로우(underflow)나 오버플로우(overflow)가 발생할 때까지의 시간을 저장하는 저장장치이다. In this case, the maximum memory access latency register MMARL generates a signal req_x that the memory access unit MAU requests to access the memory device, and then the memory access unit MAU generates a predetermined time from the memory arbitration device. The storage device stores a time until an underflow or an overflow occurs in a buffer in the memory access unit (MAU) when the service for the access request is not provided.

따라서, 상기 최대 메모리 액세스 레이턴시는 모든 메모리 액세스 유닛(MAU) 마다 메모리장치에 대한 접근이 거부되어 언더플로우(underflow)나 오버플로우(overflow)가 발생하는 가장 짧은 시간이기 때문에 메모리 액세스 유닛(MAU) 마다 다르게 설정할 수 있다. Therefore, the maximum memory access latency is the shortest time that underflow or overflow occurs because access to the memory device is denied for every memory access unit (MAU), and thus every memory access unit (MAU). Can be set differently.

그리고 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)이 메모리장치를 액세스하기 위하여 메모리 요청 신호(request signal; req_x)를 전송하면, 상기 모든 요청 신호(req_x)들이 액티브(active) 된 사이클(cycle) 또는 펜딩(pending) 기간을 각 메모리 액세스 유닛(MAU)별로 카운트하여 각 메모리 액세스 유닛(MAU)의 메모리 액세스 레이턴시(memory access latency)를 실시간으로 저장하는 메모리 액세스 레이턴시 카운터(MALC)를 포함할 수 있다.When each memory access unit (MAU) transmits a memory request signal (req_x) to access the memory device, the memory arbitration apparatus may perform a cycle in which all of the request signals req_x are active or It may include a memory access latency counter (MALC) for counting the pending period for each memory access unit (MAU) to store the memory access latency of each memory access unit (MAU) in real time.

메모리 중재 장치는 각 메모리 액세스 유닛(MAU)에 해당하는 메모리 액세스 레이턴시 카운터(MALC)의 값과 상기 각 메모리 액세스 유닛(MAU)의 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 값을 비교한다. 그리고 메모리 중재 장치는 상기 비교 결과 메모리 액세스 레이턴시 카운터(MALC)의 값이 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 값보다 같거나 커지면, 상기 메모리 액세스 유닛(MAU)의 접근 우선 순위(priority) 및 스타베이션 인터벌(starvation interval)을 다시 설 정하여 버스 사용을 역동적으로 조절할 수 있다.The memory arbitration apparatus compares the value of the memory access latency counter (MALC) corresponding to each memory access unit (MAU) with the value of the maximum memory access latency register (MMLAR) of each memory access unit (MAU). The memory arbitration apparatus determines that the access priority and the stabilization of the memory access unit MAU when the value of the memory access latency counter MALC is equal to or greater than the value of the maximum memory access latency register MMLAR. The bus usage can be dynamically adjusted by resetting the starvation interval.

본 발명에 따른 메모리 중재 장치의 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 한 비트, 예를 들면 최고 상위 비트는 상기 기능 작동의 온/오프(on/off)로 사용할 수 있다. 만약 메모리 중재 장치는 상기 비트에 저장되는 값을 기능 설정 플래그(function enable flag)라고 할 때, 상기 기능 설정 플래그에 특정한 값 예를 들어, "1"이 저장될 경우, 상기에서 설명한 메모리 액세스 유닛(MAU)에 대한 접근 우선 순위(priority) 또는 스타베이션 인터벌(starvation interval)을 조절하는 기능을 하도록 할 수 있다. 반대로 메모리 중재 장치는 상기 기능 설정 플래그에 다른 특정 값 예를 들어, "0"이 저장될 경우, 상술한 기능을 하지 않도록 할 수 있다. One bit of the maximum memory access latency register (MMLAR), e.g., the most significant bit, of the memory arbitration device according to the present invention may be used to turn on / off the function operation. If the memory arbitration apparatus regards a value stored in the bit as a function enable flag, when a value specific to the function setting flag, for example, "1" is stored, the memory access unit described above MAU) can be adjusted to adjust the access priority (priority) or the starvation interval (starvation interval). In contrast, the memory arbitration apparatus may disable the above-described function when another specific value, for example, "0" is stored in the function setting flag.

상술한 메모리 중재 기능은 메모리 액세스 유닛(MAU)이 메모리장치로부터 일정한 데이터 전송량이 보장되어야 할 기능 블록들에 사용할 수 있다. 그러나 상기 메모리 중재 장치는 내장된 중앙처리장치(CPU)와 같은 넌 리얼 타임(non real time) 성격의 가변적인 작업량을 수행하는 블록에는 사용되지 않을 수 있다.The above-described memory arbitration function can be used for the functional blocks where the memory access unit (MAU) should guarantee a certain amount of data transfer from the memory device. However, the memory arbitration device may not be used for a block for performing a variable amount of non real time characteristics such as an embedded CPU.

또한, 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)에 해당하는 최대 메모리 액세스 레이턴시 레지스터(MMLAR)에 해당 기능 블록에 요구되는 최대 메모리 액세스 레이턴시보다 작은 값을 설정하는 것이 바람직할 것이다. In addition, the memory arbitration apparatus may set a value smaller than the maximum memory access latency required for the corresponding function block in the maximum memory access latency register MMLAR corresponding to each memory access unit (MAU).

버스 중재장치는 메모리 액세스 유닛(MAU)의 메모리 액세스 레이턴시 카운터(MALC)의 값과 상기 메모리 액세스 유닛(MAU)의 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 값을 비교하여, 상기 메모리 액세스 레이턴시 카운터(MALC)의 값이 상기 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 값보다 같거나 큰 경우, 해당 메모리 액세스 유닛(MAU)의 접근 우선 순위(priority)와 스타베이션 인터벌(starvation interval)을 조정하여 상기 메모리 액세스 유닛(MAU)에 대한 우선순위를 높인다. The bus arbitrator compares the value of the memory access latency counter (MALC) of the memory access unit (MAU) with the value of the maximum memory access latency register (MMLAR) of the memory access unit (MAU). Is greater than or equal to the value of the maximum memory access latency register MMLAR, the memory access unit is adjusted by adjusting an access priority and a starvation interval of the corresponding memory access unit MAU. Increase the priority for (MAU).

그러나 메모리 중재 장치가 상기 메모리 액세스 유닛(MAU)에 대한 우선 순위를 높인다고 하더라도, 그 순간에 이미 다른 메모리 액세스 유닛(MAU)에 의해서 메모리장치에 대한 액세스가 제공되고 있다면, 그 메모리장치에 대한 액세스가 종결될 때까지 상기 메모리 액세스 유닛(MAU)이 메모리장치에 액세스를 할 수 없기 때문에 이러한 요소들의 시간을 고려하여 각 메모리 액세스 유닛(MAU)의 최대 메모리 액세스 레이턴시 레지스터(MMALR)의 값을 설정하는 것이 바람직하다.However, even if a memory arbitration device raises the priority for the memory access unit (MAU), if access to the memory device is already provided by another memory access unit (MAU) at that moment, access to that memory device is Since the memory access unit (MAU) cannot access the memory device until it is terminated, it is necessary to set the value of the maximum memory access latency register (MMALR) of each memory access unit (MAU) in consideration of the time of these elements. desirable.

상기 실시 예는 다양한 형태로 구현될 수 있어서, 상기 플래그가 상기 레지스터에 저장되는 위치나, 저장되는 값은 변화될 수 있는 것으로 본 발명의 개시가 완전하도록 제공되는 예일 뿐이며, 이에 한정되지 않는다.The embodiment may be implemented in various forms, and the position where the flag is stored in the register or the stored value may be changed, but it is merely an example provided to complete the present disclosure.

도 7a와 도 7b는 본 발명에 따른 메모리 중재 장치에 포함되는 저장장치의 예를 나타낸다. 도 7a의 예는 저장장치를 레지스터로 구성한 스타베이션 인터벌 레지스터(starvation interval register; SIR)를 나타낸 것이다. 상기 스타베이션 인터벌 레지스터(SIR)는 포맷 컨버터(format converter)의 버스 접근을 위한 대기 기간(FC Starvation Interval), 비디오 디코더(video decorder)의 버스 접근을 위한 대기 기간(VDEC Starvation Interval), 오디오 디코더의 버스 접근을 위한 대기 기간을 저장할 수 있다.7A and 7B show an example of a storage device included in a memory arbitration device according to the present invention. The example of FIG. 7A illustrates a starvation interval register (SIR) in which the storage device is configured as a register. The STATION Interval Register (SIR) is a FC Starvation Interval for bus access of a format converter, a VDEC Starvation Interval for bus access of a video decoder, and an audio decoder. The waiting period for bus access can be stored.

도 7a에서는 각 메모리 액세스 유닛(MAU)에 대한 대기 기간을 4비트 값으로 저장한 예를 나타낸 것으로, 상기 레지스터에 특정한 값 예를 들어, "1111"이 저장되면, 상기 값이 저장된 부분에 해당하는 메모리 액세스 유닛(MAU)의 스타베이션 기능은 디스에이블(disable)되도록 할 수 있다. 따라서, 메모리 중재 장치는 해당 메모리 액세스 유닛(MAU)의 스타베이션 결과는 버스 중재 과정에 참고하지 않는다.FIG. 7A illustrates an example in which a waiting period for each memory access unit (MAU) is stored as a 4-bit value. When a specific value, for example, “1111” is stored in the register, the value corresponds to a portion where the value is stored. The stabilization function of the memory access unit (MAU) may be disabled. Therefore, the memory arbitration device does not refer to the bus arbitration process for the results of the stabilization of the corresponding memory access unit (MAU).

도 7b에서는 각 메모리 액세스 유닛(MAU)에 대한 우선 순위(priority)를 메모리 액세스 유닛(MAU)별로 4비트씩 할당한 경우를 나타낸 일 예이다. 상기 우선 순위(priority)는 상기 도 7a의 스타베이션(starvation) 자료보다 먼저 고려될 수 있다. 예를 들어, 어떤 메모리 액세스 유닛(MAU)의 상기 우선 순위(priority)가 "1111"로 설정되면, 해당 메모리 액세스 유닛(MAU)는 최고 우선 순위 값을 갖는다는 것을 의미한다. FIG. 7B illustrates an example in which a priority for each memory access unit (MAU) is allocated by 4 bits for each memory access unit (MAU). The priority may be considered before the starvation data of FIG. 7A. For example, if the priority of a memory access unit (MAU) is set to "1111", it means that the memory access unit (MAU) has the highest priority value.

그리고 본 발명에 따른 메모리 중재 장치는 임의의 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 사용을 위한 요청 신호를 직접 제어하여 다수개의 메모리 액세스 유닛(MAU)이 사용하고자 하는 메모리 액세스를 제한하도록 할 수 있다.In addition, the memory arbitration apparatus according to the present invention may directly control a request signal for using a system memory bus of an arbitrary memory access unit (MAU) to limit the memory access that a plurality of memory access units (MAU) intend to use. .

이하 도 8 내지 도 9는 본 발명에 따라 임의의 메모리 액세스 유닛(MAU)에 의한 시스템 메모리 버스 요청을 제어하기 위해 상기 요청 신호를 제어하는 것을 설명하기 위한 것으로서, 도 8은 본 발명에 따른 임의의 메모리 액세스 유닛(MAU)에 의한 시스템 메모리 버스 요청을 제어하는 일예를 나타낸 타이밍도이고, 도 9는 본 발명에 따른 임의의 메모리 액세스 유닛(MAU)에 의한 시스템 메모리 버스 요청을 제어하는 다른 예를 나타낸 타이밍도이다.8-9 illustrate the control of the request signal to control a system memory bus request by an arbitrary memory access unit (MAU) in accordance with the present invention, and FIG. 8 is an optional according to the present invention. 9 is a timing diagram illustrating an example of controlling a system memory bus request by a memory access unit (MAU), and FIG. 9 illustrates another example of controlling a system memory bus request by an arbitrary memory access unit (MAU) according to the present invention. Timing diagram.

본 발명에 따른 메모리 중재 장치는 상술한 바와 같이, 각 메모리 액세스 유닛(MAU)이 메모리 장치에 대한 접근을 요청한 신호(req_x)를 제어하는 것을 특징으로 한다. 이하 본 발명에 따라 상기 신호(req_x)를 이용하여 제어하는 방법을 설명하면 다음과 같다. As described above, the memory arbitration apparatus according to the present invention is characterized in that each memory access unit (MAU) controls the signal (req_x) requesting access to the memory device. Hereinafter, a method of controlling using the signal req_x according to the present invention will be described.

도 8에서 본 발명에 의한 메모리 중재 장치는 각각의 메모리 액세스 유닛(MAU)에 대한 일정 주기 동안 기본적으로 요구되는 메모리 글로벌 대역폭(Global Bandwidth)의 양을 글로벌 대역폭 셋팅 레지스터(GBSR)에 설정하도록 한다. 그리고 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)에 의해 사용된 메모리 글로벌 대역폭(Global Bandwidth)을 실시간으로 측정한 글로벌 대역폭 카운터(GBC)와 상기 설정된 글로벌 대역폭 셋팅 레지스터(GBSR)의 값을 비교한다.In FIG. 8, the memory arbitration apparatus according to the present invention sets the amount of memory global bandwidth basically required in a global bandwidth setting register (GBSR) for a certain period for each memory access unit (MAU). The memory arbitration apparatus compares a value of the global bandwidth setting register (GBSR) with the global bandwidth counter (GBC), which measures in real time the memory global bandwidth used by each memory access unit (MAU).

메모리 중재 장치는 상기 비교 결과 만약 특정 메모리 액세스 유닛(MAU_X)이 일정주기 동안 미리 정해진 메모리 글로벌 대역폭(Global Bandwidth) 이상을 사용하는 경우, 전술한 바에 의하면 우선 순위(Priority)와 스타베이션 값(Starvation Value)을 조정하는 방법을 사용하였다. 여기에서는 상기 우선 순위(Priority)와 스타베이션 값(Starvation Value)을 조정하는 것이 아니라 각 메모리 액세스 유닛(MAU)이 메모리 액세스를 위해 요청한 신호(req_x)를 제어하는 것을 특징으로 한다. As a result of the comparison, if the specific memory access unit (MAU_X) uses more than the predetermined memory global bandwidth for a predetermined period, the memory arbitration apparatus according to the above-described priority and starvation value ) Was used. In this case, the priority and starvation values are not adjusted, but each memory access unit MAU controls the signal req_x requested for memory access.

이를 위해 본 발명에 따른 메모리 중재 장치는 상술한 방법에서 구비한 장치 외에 각 메모리 액세스 유닛(MAU)마다 제어 레지스터(Control Register)를 둘 수 있다. 그리고 메모리 중재 장치는 상기 제어 레지스터를 이용하여 각 메모리 액세 스 유닛(MAU)의 특성에 맞춰서 실시간으로 가변적인 구간(전혀 없음 or A or B or K) 동안 상기 요청 신호를 직접 제어하여 해당 메모리 액세스 유닛(MAU)의 메모리 액세스를 금지(즉, 해당 메모리 액세스 유닛(MAU)의 메모리 액세스를 매스킹(Masking) 함) 하도록 제어할 수 있다. 따라서, 메모리 중재 장치는 실시간으로 시스템 메모리 버스 요청(Memory Bus Request)을 제어할 수 있게 된다. To this end, the memory arbitration apparatus according to the present invention may have a control register for each memory access unit (MAU) in addition to the apparatus provided in the above-described method. In addition, the memory arbitration apparatus directly controls the request signal during a variable period (nothing or A or B or K) in real time according to the characteristics of each memory access unit (MAU) using the control register to directly control the corresponding memory access unit. The memory access of the MAU may be prohibited (that is, masking the memory access of the corresponding memory access unit MAU). Therefore, the memory arbitration apparatus can control the system memory bus request in real time.

이때, 상기 'A'의 구간은 임의의 메모리 액세스 유닛(MAU_X)에 대한 글로벌 대역폭 카운터(GBC)의 실시간 측정값이 해당 메모리 액세스 유닛(MAU_X)에 대한 글로벌 대역폭 셋팅 레지스터(GBSR)의 값과 같거나 큰 기간을 나타내며, 'B'의 구간은 시스템 동기 신호(system_sync)가 액티브(active) 되어 이전의 글로벌 대역폭 카운터(GBC)의 값을 다음 시스템 동기 신호(system_sync)가 액티브(active) 될 때까지 글로벌 대역폭 레지스터(GBR)에 저장한 구간을 나타내며, 'K'의 구간은 상기 A의 구간과 B의 구간을 합한 구간을 나타낸다.In this case, the interval of 'A' is a real-time measurement value of the global bandwidth counter (GBC) for any memory access unit (MAU_X) is equal to the value of the global bandwidth setting register (GBSR) for the memory access unit (MAU_X). Interval of 'B' until the system synchronization signal (system_sync) is active until the value of the previous global bandwidth counter (GBC) is active until the next system synchronization signal (system_sync) is active. A section stored in the global bandwidth register (GBR) is represented, and a section of 'K' represents a section obtained by adding the sections of A and B.

본 발명에서 상기 메모리 중재 장치 내 제어 레지스터를 이용하여 시스템 메모리 버스 요청(Memory Bus Request)을 제어하는 것에 대해 상세하게 설명하면 다음과 같다. 먼저, 메모리 중재 장치는 각각의 메모리 액세스 유닛(도 8에서는 MAU_X)에 대한 각각의 메모리 액세스 유닛(도 8에서는 MAU_X)에 의해 일정 주기 동안 기본적으로 요구되는 메모리 글로벌 대역폭(Global Bandwidth)의 양을 글로벌 대역폭 셋팅 레지스터(GBSR)에 설정하도록 한다. In the present invention, the control of the system memory bus request using the control register in the memory arbitration apparatus will be described in detail as follows. First, the memory arbitration apparatus globalizes the amount of memory global bandwidth basically required for a certain period by each memory access unit (MAU_X in FIG. 8) for each memory access unit (MAU_X in FIG. 8). It is set in the bandwidth setting register (GBSR).

그리고 각 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC)의 값을 상기 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 레지스터(GBR)에 저장한 다. 이때, 상기 글로벌 대역폭 레지스터에서 저장을 함에 있어서, 상기 도 4에서 상술한 바와 같이 예를 들어, 1/60초의 간격으로 주기적으로 액티브(active) 되는 시스템 동기(System_sync) 신호가 액티브(active) 되면 비로소 상기 저장이 이루어진다. 즉, 메모리 중재 장치는 시스템 동기 신호(System_sync)가 액티브(active) 되면, 그때까지 메모리 액세스 유닛(MAU_X)에 대한 글로벌 대역폭 카운터(MAU_X GBC) 값(도 8에서는 xxx)을 글로벌 대역폭 레지스터(MAU_X GBR)에 저장하도록 제어한다. And stores the value of the global bandwidth counter (GBC) for each memory access unit (MAU) in the global bandwidth register (GBR) for the memory access unit (MAU). At this time, when storing in the global bandwidth register, as described above in FIG. 4, for example, when the system_sync signal, which is periodically active at intervals of 1/60 second, is activated. The storage is made. That is, when the system synchronization signal System_sync is active, the memory arbitration apparatus sets the global bandwidth counter (MAU_X GBC) value (xxx in FIG. 8) for the memory access unit MAU_X until then to the global bandwidth register (MAU_X GBR). Control to save).

그리고 메모리 중재 장치는 상기 글로벌 대역폭 카운터(GBC)를 초기화하고, 글로벌 대역폭 레지스터(GBR)에 저장된 값은 다음 시스템 동기 신호(System_sync)가 액티브(active) 될 때까지 유지될 수 있다. The memory arbitration apparatus initializes the global bandwidth counter (GBC), and the value stored in the global bandwidth register (GBR) may be maintained until the next system synchronization signal (System_sync) is active.

또한, 메모리 중재 장치는 상기와 같이 글로벌 대역폭 레지스터(GBR)에 상기 글로벌 대역폭 카운터(GBC) 값이 저장되면, "system_int" 신호를 액티브(active)하여 호스트(Host)에서 모든 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 레지스터(GBR) 값을 읽어가도록 한다. 이에 따라, 호스트는 실시간 적으로 모든 메모리 액세스 유닛(MAU)의 메모리 글로벌 대역폭(Global Bandwidth) 사용을 확인할 수 있다. Also, when the global bandwidth counter (GBC) value is stored in the global bandwidth register (GBR) as described above, the memory arbitration apparatus activates the "system_int" signal to activate all the memory access units (MAU) in the host. Read the Global Bandwidth Register (GBR) value for. Accordingly, the host may check the use of the memory global bandwidth of all the memory access units (MAUs) in real time.

그리고 각 메모리 액세스 유닛(MAU)은 메모리 장치를 액세스하기 위해 본 발명에 따른 메모리 중재 장치에 요청을 한다. 상기와 같이 각 메모리 액세스 유닛(MAU)이 메모리 장치 액세스 요청을 하면 신호(req_x)가 발생을 한다.Each memory access unit (MAU) then makes a request to the memory arbitration device according to the invention to access the memory device. As described above, when each memory access unit MAU requests a memory device access, a signal req_x is generated.

이러한 상황에서 본 발명에 따른 메모리 중재 장치는 상기 각 메모리 액세스 유닛(MAU)의 액세스 요청을 적절히 제어하여 메모리 액세스를 제어하는 것을 특징으로 한다. In this situation, the memory arbitration apparatus according to the present invention is characterized by controlling the memory access by appropriately controlling the access requests of the respective memory access units (MAU).

도 8의 하단 부는 상기 각 메모리 액세스 유닛(MAU)의 요청 신호와 이에 따라 메모리 중재 장치의 제어 신호에 따른 본 발명의 특징을 설명하기 위한 타이밍도이다. 도 8의 하단 부에서 첫 번째 메모리 액세스 요청 신호(req_x)는 메모리 액세스 유닛(MAU_X)의 기본적인 요청 신호를 나타낸 것으로, 본 발명은 상기 메모리 액세스 유닛(MAU_X)의 요청 신호를 적절하게 제어하여 메모리 장치를 액세스하도록 중재하는 메모리 중재 장치를 제공하고자 한다. 8 is a timing diagram for explaining a feature of the present invention according to the request signal of each memory access unit (MAU) and the control signal of the memory arbitration apparatus accordingly. In the lower part of FIG. 8, the first memory access request signal req_x indicates a basic request signal of the memory access unit MAU_X. The present invention provides a memory device by appropriately controlling a request signal of the memory access unit MAU_X. It is intended to provide a memory arbitration device that arbitrates to access a.

즉, 본 발명에 따른 메모리 중재 장치는 상기 각 메모리 액세스 유닛(MAU)의 메모리 액세스 요청 신호(req_x)가 수신되면, 이를 판단하여 해당 제어 신호(req_x_ctl)를 발생시킬 수 있다. 상기 판단을 함에 있어서 도 8의 경우에는 각 메모리 액세스 유닛의 글로벌 대역폭을 비교할 수 있다. 즉, 각 메모리 액세스 유닛(MAU)에 대한 글로벌 대역폭 카운터(GBC) 값과 글로벌 대역폭 레지스터(GBR) 값을 해당 메모리 액세스 유닛(MAU)의 글로벌 대역폭 셋팅 레지스터(GBSR) 값과 비교할 수 있다. 그리고 상기 비교 결과에 따라 메모리 중재 장치는 제어 신호를 발생시켜 상기 요청을 직접 제어함으로써 메모리 액세스 유닛(MAU)의 메모리 액세스를 제어할 수 있다.That is, when the memory arbitration apparatus according to the present invention receives the memory access request signal req_x of each of the memory access units MAU, it may determine this and generate the corresponding control signal req_x_ctl. In the above determination, the global bandwidth of each memory access unit may be compared in the case of FIG. 8. That is, the global bandwidth counter (GBC) value and the global bandwidth register (GBR) value for each memory access unit (MAU) may be compared with the global bandwidth setting register (GBSR) value of the corresponding memory access unit (MAU). The memory arbitration apparatus may control the memory access of the memory access unit MAU by generating a control signal to directly control the request.

이때, 상기 제어 신호는 예를 들면, 도 8에서는 4가지의 경우를 상정하여 표현하였다. 메모리 중재 장치에서 메모리 액세스를 제어하기 위해 제어 신호(req_x_ctl)로 '00'을 발생시키면 각 메모리 액세스 유닛(MAU)의 요청 신호(req_x) 에 따라 메모리를 액세스할 수 있도록 상기 요청 신호와 동일한 신호를 발생하는 것을 의미한다. 그러나 상기 제어 신호(req_x_ctl)가 '00'인 경우 이외에는 모두 상기 메모리 액세스 유닛(MAU)의 요청을 매스킹(MASKING)하기 위한 신호일 수 있다. In this case, the control signal is expressed assuming four cases, for example in FIG. When the memory arbitration device generates '00' as the control signal req_x_ctl to control the memory access, the same signal as the request signal is generated so that the memory can be accessed according to the request signal req_x of each memory access unit MAU. It means to happen. However, all of the control signals req_x_ctl may be signals for masking the request of the memory access unit MAU except when the control signal req_x_ctl is '00'.

즉, 메모리 중재 장치는 '01'을 상기 제어 신호(req_x_ctl)로 발생시킨 경우에는, 상기 'A' 구간동안 상기 요청 신호를 매스킹하도록 할 수 있다. 그리고 상기 제어 신호(req_x_ctl)로 '10'을 발생시킨 경우에는, 메모리 중재 장치는 상기 'A' 구간동안에는 메모리 액세스하도록 하고 상기 'B' 구간동안 상기 요청 신호를 매스킹하도록 할 수 있다. 상기 제어 신호(req_x_ctl)로 '11'을 발생시킨 경우에는, 메모리 중재 장치는 상기 'A' 구간과 'B' 구간을 합한 구간인 'K' 구간동안 상기 각 메모리 액세스 유닛(MAU)의 메모리 액세스 요청 신호(req_x)를 매스킹하도록 할 수 있다.That is, when the memory arbitration apparatus generates '01' as the control signal req_x_ctl, the memory arbitration apparatus may cause the request signal to be masked during the 'A' period. When '10' is generated as the control signal req_x_ctl, the memory arbitration apparatus may perform memory access during the 'A' period and mask the request signal during the 'B' period. When '11' is generated by the control signal req_x_ctl, the memory arbitration apparatus accesses the memory of the memory access unit MAU during the period 'K', which is the sum of the period 'A' and 'B'. The request signal req_x may be masked.

도 8과 같이 임의의 메모리 액세스 유닛(MAU_X)에 의한 시스템 메모리 버스 요청을 본 발명에 따른 메모리 중재 장치에서 직접 제어함으로써, 다수개의 메모리 액세스 유닛(MAU) 간의 메모리 액세스를 효율적으로 제어할 수 있다. 이와 달리 도 9에서는 도 8의 글로벌 대역폭을 비교하는 것이 아니라 각 메모리 액세스 유닛(MAU)의 액세스 인터벌을 비교하는 것을 특징으로 한다.As shown in FIG. 8, by directly controlling a system memory bus request by an arbitrary memory access unit MAU_X in the memory arbitration apparatus according to the present invention, memory access between a plurality of memory access units MAU may be efficiently controlled. In contrast, in FIG. 9, the access intervals of each memory access unit (MAU) are compared, rather than the global bandwidth of FIG. 8.

이하 도 9에 대해 설명하면, 본 발명에 따른 메모리 중재 장치는 각 메모리 액세스 유닛(MAU)마다 자신의 최소 메모리 액세스 인터벌을 설정하여 저장할 수 있는 최소 메모리 액세스 인터벌 레지스터(Minimum Memory Access Interval Register; MMAIR)와 각 메모리 액세스 유닛(MAU)이 메모리 중재 장치로부터 메모리 액세스에 대한 'ack_x' 신호를 받은 직후부터 메모리 사이클(cycle)을 카운트하는 메모리 액세스 인터벌 카운터(MAIC)를 포함할 수 있다.Hereinafter, referring to FIG. 9, the memory arbitration apparatus according to the present invention may set and store its own minimum memory access interval for each memory access unit (MAU), and may include a minimum memory access interval register (MMAIR). And a memory access interval counter (MAIC) that counts memory cycles immediately after each memory access unit (MAU) receives a 'ack_x' signal for memory access from the memory arbitration device.

본 발명에 따른 메모리 중재 장치는 상기 메모리 액세스 인터벌 카운터(MAIC)에서 카운트 된 인터벌과 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 설정된 인터벌을 비교하여 해당 메모리 액세스 유닛(MAU)의 메모리 액세스를 금지시키는 것을 특징으로 한다. The memory arbitration apparatus according to the present invention compares the interval counted by the memory access interval counter (MAIC) with the interval set in the minimum memory access interval register (MMAIR) to prohibit the memory access of the corresponding memory access unit (MAU). It is done.

이때, 상기 메모리 중재 장치는 비교를 함에 있어서, 임의의 메모리 액세스 유닛(MAU)이 자신이 기 설정한 최소 메모리 액세스 인터벌 레지스터(MMAIR)의 인터벌(interval)보다 짧은 시간 안에 다시 메모리 요청(Memory Request)을 하면, 적어도 상기 메모리 액세스 인터벌 레지스터(MAIR)에 기 설정된 사이클(cycle)까지 해당 메모리 액세스 유닛(MAU)의 메모리 액세스를 금지(해당 메모리 액세스 유닛(MAU)의 메모리 요청(Memory Request)을 매스킹(Masking))하도록 제어한다.In this case, the memory arbitration apparatus compares the memory request unit again within a time shorter than an interval of a predetermined minimum memory access interval register (MMAIR). Disables memory access of the memory access unit (MAU) until at least a cycle set in the memory access interval register (MAIR) (masking a memory request of the memory access unit (MAU)). (Masking).

이를 도 9를 참조하여 상세하게 설명하면, 메모리 중재 장치는 먼저, 각 메모리 액세스 유닛(MAU)의 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 각 메모리 액세스 유닛(MAU)의 최소 메모리 액세스 인터벌(도 9에서는 500 사이클)을 설정하도록 한다. 그리고 메모리 중재 장치로부터 메모리 액세스 허가 신호인 'ack_x' 신호를 받은 임의의 메모리 액세스 유닛(MAU)은 자신의 메모리 액세스 인터벌 카운터(MAIC)에 'ack_x' 신호를 받은 직후부터 각 메모리 액세스 유닛(MAU)의 사이클(cycle)을 카운트한다. This will be described in detail with reference to FIG. 9, in which the memory arbitration apparatus firstly checks the minimum memory access interval of each memory access unit (MAU) in the minimum memory access interval register (MMAIR) of each memory access unit (MAU). 500 cycles). In addition, any memory access unit (MAU) that receives a 'ack_x' signal, which is a memory access permission signal, from the memory arbitration device, immediately after receiving the 'ack_x' signal to its memory access interval counter (MAIC), each memory access unit (MAU). Count the cycle of.

따라서, 본 발명에 따른 메모리 중재 장치는 상기 메모리 액세스 인터벌 카운터(MAIC)에 카운트 된 인터벌과 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌을 비교한다. 그리고 메모리 중재 장치는 상기 비교 결과 상기 메모리 액세스 인터벌 카운터(MAIC)에 카운트 된 인터벌이 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌보다 짧은 시간 안에 해당 메모리 액세스 유닛(MAU)으로부터 메모리 액세스 요청이 수신되면, 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청을 금지시킨다. 이때, 메모리 중재 장치는 일정 구간동안 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청을 금지시킬 수 있는바, 상기 금지 구간은 적어도 상기 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌까지는 금지시킬 수 있다. Accordingly, the memory arbitration apparatus according to the present invention compares the interval counted in the memory access interval counter (MAIC) with a preset interval in the minimum memory access interval register (MMAIR). The memory arbitration apparatus receives a memory access request from the corresponding memory access unit (MAU) within a time when the interval counted in the memory access interval counter (MAIC) is shorter than the interval preset in the minimum memory access interval register (MMAIR). If so, the memory access unit (MAU) prohibits the memory access request. In this case, the memory arbitration apparatus may prohibit a memory access request of the corresponding memory access unit (MAU) for a predetermined period, and the prohibition period may prohibit at least an interval set in the minimum memory access interval register (MMAIR). .

상기와 같이 하기 위해 본 발명에 따른 메모리 중재 장치는 상기 금지를 위해 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청을 인정하는 신호인 'ack_x' 신호를 직접 제어함으로써 상기 요청을 일정 구간동안 금지(매스킹)할 수 있을 것이다. To do so, the memory arbitration apparatus according to the present invention prohibits the request for a predetermined period by directly controlling the 'ack_x' signal, which is a signal acknowledging a memory access request of the corresponding memory access unit (MAU), for the prohibition. King)

따라서, 상기 각 메모리 액세스 유닛(MAU)의 시스템 메모리 버스 요청은 상기 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌(도 9에서는 500 사이클) 후에 상기 메모리 액세스 요청 신호(req_x)를 실질적으로 액티브(active) 시킬 수 있다. Accordingly, the system memory bus request of each of the memory access units MAU substantially activates the memory access request signal req_x after an interval (500 cycles in FIG. 9) preset in the minimum memory access interval register MMAIR. active)

예를 들어, 도 9에서 메모리 중재 장치는 상기 메모리 액세스 인터벌 카운터(MAIC)의 카운트 값이 402 사이클인 순간에 메모리 액세스 유닛(MAU)으로부터 메모 리 액세스 요청을 수신한다. 그러나 상기 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌은 상기 402 사이클보다 큰 500 사이클이다. For example, in FIG. 9, the memory arbitration apparatus receives a memory access request from a memory access unit (MAU) at a moment when the count value of the memory access interval counter (MAIC) is 402 cycles. However, the preset interval in the minimum memory access interval register (MMAIR) is 500 cycles greater than the 402 cycles.

따라서, 본 발명에 따른 메모리 중재 장치는 상기 비교 결과 메모리 액세스 인터벌 카운터(MAIC)에 카운트 된 인터벌이 최소 메모리 액세스 인터벌 레지스터(MMAIR)에 기 설정된 인터벌보다 짧은 시간이므로, 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청을 금지시킨다. 즉, 메모리 중재 장치는 적어도 500 사이클까지 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청을 금지시킴으로서 메모리 중재를 수행한다. 따라서, 상기 해당 메모리 액세스 유닛(MAU)의 메모리 액세스 요청은 적어도 403 ~ 500 사이클 구간에서는 매스킹(masking)되어 액세스 요청이 금지될 것이다.Accordingly, the memory arbitration apparatus according to the present invention is the interval counted in the memory access interval counter (MAIC) as a result of the comparison is shorter than the interval set in the minimum memory access interval register (MMAIR), so that the corresponding memory access unit (MAU) Prohibit memory access requests. That is, the memory arbitration apparatus performs memory arbitration by prohibiting a memory access request of the corresponding memory access unit (MAU) for at least 500 cycles. Accordingly, the memory access request of the corresponding memory access unit (MAU) is masked in at least 403 to 500 cycle intervals, thereby preventing the access request.

또한, 도 8과 9에 나타난 바와 같이 각 메모리 액세스 유닛(MAU)마다 MAU_X_CNT 컨트롤 레지스터(Control Register)를 두어 각 메모리 액세스 유닛(MAU)의 특성에 가장 적합한 메모리 버스 요청 제어 중재 알고리즘(Memory Bus Request Control Arbitration Algorithm)을 선택하여 사용할 수 있다. 그리고 상기 도 8과 9에서 설명한 본 발명에 따른 메모리 버스 요청 제어 중재 알고리즘을 사용하지 않을 수도 있다. In addition, as shown in FIGS. 8 and 9, a MAU_X_CNT control register is provided for each memory access unit (MAU), so that a memory bus request control arbitration algorithm is most suitable for the characteristics of each memory access unit (MAU). Arbitration Algorithm) can be selected and used. The memory bus request control arbitration algorithm according to the present invention described with reference to FIGS. 8 and 9 may not be used.

예를 들어, 상기 도 8과 9의 메모리 버스 요청 제어 중재 알고리즘을 사용하지 않을 경우에는 MAU_X_CNT 레지스터에 '00'을 설정하면 될 것이다. 또한, 상기 도 8의 경우에 해당하는 메모리 버스 요청 제어 중재 알고리즘을 사용하고 싶으면, 상기 MAU_X_CNT 레지스터에 '01'을 설정하고, 도 9의 경우에 해당하는 메모리 버스 요청 제어 중재 알고리즘을 사용하고 싶으면, 상기 MAU_X_CNT 레지스터에 '10'을 설정할 수 있다. 그리고 상기 도 8과 9의 경우에 해당하는 메모리 버스 요청 제어 중재 알고리즘을 모두 사용하고 싶으면, 상기 MAU_X_CNT 레지스터에 '11'을 설정할 수 있다. For example, when the memory bus request control arbitration algorithm of FIGS. 8 and 9 is not used, '00' may be set in the MAU_X_CNT register. In addition, if a memory bus request control arbitration algorithm corresponding to the case of FIG. 8 is desired, '01' is set in the MAU_X_CNT register, and a memory bus request control arbitration algorithm corresponding to the case of FIG. 9 is used, '10' may be set in the MAU_X_CNT register. If it is desired to use all of the memory bus request control arbitration algorithms corresponding to the cases of FIGS. 8 and 9, '11' may be set in the MAU_X_CNT register.

본 발명에 따른 메모리 중재 장치의 최대 메모리 액세스 레이턴시 레지스터(MMLAR)의 한 비트, 예를 들면 최고 상위 비트는 상기 기능 작동의 온/오프로 사용할 수 있다. 만약 상기 비트에 저장되는 값을 기능 설정 플래그(function enable flag)라고 하면, 상기 기능 설정 플래그에 특정한 값 예로 "1"이 저장될 경우, 메모리 중재 장치는 상기에서 설명한 메모리 액세스 유닛(MAU)에 대한 접근 우선 순위(priority) 또는 스타베이션 인터벌(starvation interval)을 조절하는 기능을 하도록 할 수 있다. One bit of the maximum memory access latency register (MMLAR), e.g., the most significant bit, of the memory arbitration device according to the present invention can be used to turn the function on / off. If the value stored in the bit is referred to as a function enable flag, when a value, for example, "1" is stored as a specific value for the function enable flag, the memory arbitration apparatus may determine a memory access unit (MAU) as described above. It may be able to adjust the access priority (priority) or the starvation interval (starvation interval).

반대로 상기 기능 설정 플래그에 "0"을 저장하면 메모리 중재 장치는 상기 설명한 기능을 하지 않도록 할 수 있다. 상기 실시 예는 다양한 형태로 구현될 수 있어서, 상기 플래그가 상기 레지스터에 저장되는 위치나, 저장되는 값은 변화될 수 있는 것으로 본 발명의 개시가 완전하도록 제공되는 예일 뿐이며, 이에 한정되지 않는다.On the contrary, if "0" is stored in the function setting flag, the memory arbitration apparatus may disable the above-described function. The embodiment may be implemented in various forms, and the position where the flag is stored in the register or the stored value may be changed, but it is merely an example provided to complete the present disclosure.

이상에서 설명한 바와 같은 본 발명에 따른 메모리 중재 장치에 의하면, According to the memory arbitration apparatus according to the present invention as described above,

첫째, 각각의 메모리 액세스 유닛(Memory Access Unit)이 현재 사용하고 있는 메모리 글로벌 대역폭(Global Bandwidth)를 실시간으로 모니터링(monitering)하 여 특정 기능 블록의 메모리 액세스를 실시간으로 가변적인 구간동안 금지(masking)시킬 수 있다.First, each memory access unit monitors the memory global bandwidth currently used in real time to mask memory access of a specific function block for a variable period in real time. You can.

둘째, 모든 기능 블록의 메모리 요청(Memory Request) 주기를 실시간으로 모니터링하여 특정 기능 블록의 메모리 요청 주기를 제어할 수 있다.Second, the memory request cycle of all functional blocks can be monitored in real time to control the memory request cycle of a specific functional block.

셋째, 모든 메모리 액세스 유닛(MAU)의 메모리 버스 요청(Memory Bus Request)을 실시간으로 가변적으로 매스킹(Masking) 할 수 있다. Third, memory bus requests of all memory access units (MAUs) may be variably masked in real time.

넷째, 시스템의 성능과 안정성을 향상시킬 수 있다. Fourth, the performance and stability of the system can be improved.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.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 (17)

다수개의 메모리 액세스 유닛(memory access unit)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치에 있어서,A memory arbitration apparatus for controlling a memory access request for a memory device to which a plurality of memory access units can simultaneously access, 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 액세스 요청의 기준 대역폭을 설정하여 저장하는 대역폭 셋팅 저장장치;A bandwidth setting storage device for setting and storing a reference bandwidth of a memory access request for at least one of the memory access units; 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 액세스 요청에 대한 대역폭을 측정하는 대역폭 카운터; A bandwidth counter that measures a bandwidth for a memory access request for one or more of the memory access units; 상기 카운터 값을 저장하는 대역폭 저장장치; 및A bandwidth storage device for storing the counter value; And 상기 대역폭 카운터와 대역폭 저장장치에 저장된 값을 대역폭 셋팅 저장장치의 기 설정된 값과 비교하여 해당 메모리 액세스 유닛의 시스템 메모리 버스 요청을 제어하는 제 1 제어장치를 포함하여 구성되는 것을 특징으로 하는 장치.And a first controller for controlling a system memory bus request of a corresponding memory access unit by comparing the values stored in the bandwidth counter and the bandwidth storage with a preset value of the bandwidth setting storage. 제 1항에 있어서,The method of claim 1, 상기 제 1 제어장치는,The first control device, 상기 비교 결과 대역폭 카운터와 대역폭 저장장치에 저장된 값이 대역폭 셋팅 저장장치에 기설정된 값 이상인 경우에는, 메모리 액세스 유닛의 시스템 메모리 버스 요청을 가변적인 구간동안 제어하여 해당 메모리 액세스 유닛의 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치.As a result of the comparison, when the value stored in the bandwidth counter and the bandwidth storage device is greater than or equal to the value set in the bandwidth setting storage device, the system memory bus request of the memory access unit is controlled for a variable period to mask the access of the corresponding memory access unit ( masking). 제 2항에 있어서,The method of claim 2, 상기 가변적인 구간은, The variable section, (1) 전혀 없거나, (1) none at all, (2) 특정 메모리 액세스 유닛의 대역폭 카운터 값이 해당 메모리 액세스 유닛의 대역폭 셋팅 저장장치의 값과 같거나 큰 기간,(2) a period in which the bandwidth counter value of a particular memory access unit is equal to or greater than the value of the bandwidth setting storage device of that memory access unit, (3) 시스템 신호가 액티브(active) 되어 이전의 대역폭 카운터 값을 상기 시스템 신호 다음에 오는 시스템 신호가 액티브 될 때까지 대역폭 저장장치에 저장한 구간,(3) a period in which the system signal is active and stores the previous bandwidth counter value in the bandwidth storage device until the system signal following the system signal is activated, (4) 상기 (2) 구간과 (3) 구간을 더한 구간 중 어느 하나인 것을 특징으로 하는 장치.(4) The apparatus characterized in that any one of the (2) and the (3) interval plus the interval. 제 1항에 있어서,The method of claim 1, 상기 제 1 제어 장치를 온/오프(on/off) 할 수 있는 제 2 제어 장치를 더 포함하여 구성되는 것을 특징으로 하는 장치.And a second control device capable of turning on / off the first control device. 다수개의 메모리 액세스 유닛(memory access unit)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치에 있어서,A memory arbitration apparatus for controlling a memory access request for a memory device to which a plurality of memory access units can simultaneously access, 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 최소 메모리 액세스 인터벌을 설정하여 저장하는 최소 메모리 액세스 인터벌 저장장치;A minimum memory access interval storage device for setting and storing a minimum memory access interval for at least one of the memory access units; 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 사이클(cycle) 을 측정하는 메모리 액세스 인터벌 카운터; 및A memory access interval counter that measures memory cycles for one or more of the memory access units; And 상기 메모리 액세스 인터벌 카운터에서 측정한 값과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값을 비교하여 해당 메모리 액세스 유닛의 시스템 메모리 버스 요청을 제어하는 제 1 제어장치를 포함하여 구성되는 것을 특징으로 하는 장치.And a first controller configured to control the system memory bus request of the corresponding memory access unit by comparing the value measured by the memory access interval counter with a value preset in the minimum memory access interval storage device. 제 5항에 있어서,The method of claim 5, 상기 제 1 제어장치는, The first control device, 상기 비교 결과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값보다 메모리 액세스 인터벌 카운터에서 측정한 값이 작으면, 해당 메모리 액세스 유닛의 메모리 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치. And if the value measured by the memory access interval counter is smaller than the value preset in the minimum memory access interval storage device, masking the memory access of the corresponding memory access unit. 제 6항에 있어서,The method of claim 6, 상기 제 1 제어장치는, 적어도 상기 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값 이상까지 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치. And the first control device masks the access to at least the predetermined value in the minimum memory access interval storage device. 제 5항에 있어서,The method of claim 5, 상기 제 1 제어 장치를 온/오프(on/off) 할 수 있는 제 2 제어 장치를 더 포함하여 구성되는 것을 특징으로 하는 장치.And a second control device capable of turning on / off the first control device. 다수개의 메모리 액세스 유닛(memory access unit)이 동시에 접근할 수 있는 메모리 장치에 대한 메모리 액세스 요청을 제어하는 메모리 중재 장치에 있어서,A memory arbitration apparatus for controlling a memory access request for a memory device to which a plurality of memory access units can simultaneously access, 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 액세스 요청의 기준 대역폭을 설정하여 저장하는 대역폭 셋팅 저장장치;A bandwidth setting storage device for setting and storing a reference bandwidth of a memory access request for at least one of the memory access units; 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 액세스 요청에 대한 대역폭을 측정하는 대역폭 카운터; A bandwidth counter that measures a bandwidth for a memory access request for one or more of the memory access units; 상기 카운터 값을 저장하는 대역폭 저장장치; A bandwidth storage device for storing the counter value; 상기 대역폭 카운터와 대역폭 저장장치에 저장된 값을 대역폭 셋팅 저장장치의 기 설정된 값과 비교하여 해당 메모리 액세스 유닛의 시스템 메모리 버스 요청을 제어하는 제 1 제어장치; A first control device for controlling a system memory bus request of a corresponding memory access unit by comparing the value stored in the bandwidth counter and the bandwidth storage device with a preset value of a bandwidth setting storage device; 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 최소 메모리 액세스 인터벌을 설정하여 저장하는 최소 메모리 액세스 인터벌 저장장치;A minimum memory access interval storage device for setting and storing a minimum memory access interval for at least one of the memory access units; 상기 메모리 액세스 유닛 중 하나 이상의 유닛에 대한 메모리 사이클(cycle)을 측정하는 메모리 액세스 인터벌 카운터; 및A memory access interval counter that measures memory cycles for one or more of the memory access units; And 상기 메모리 액세스 인터벌 카운터에서 측정한 값과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값을 비교하여 해당 메모리 액세스 유닛의 시스템 메모리 버스 요청을 제어하는 제 2 제어장치를 포함하여 구성되는 것을 특징으로 하는 장치.And a second controller configured to control a system memory bus request of the corresponding memory access unit by comparing the value measured by the memory access interval counter with a value preset in the minimum memory access interval storage device. 제 9항에 있어서,The method of claim 9, 상기 제 1 제어장치는,The first control device, 상기 비교 결과 대역폭 저장장치에 저장된 값이 대역폭 셋팅 저장장치에 기설정된 값 이상인 경우에는, 메모리 액세스 유닛의 시스템 메모리 버스 요청을 가변적인 구간동안 제어하여 해당 메모리 액세스 유닛의 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치.As a result of the comparison, when the value stored in the bandwidth storage device is greater than or equal to the value set in the bandwidth setting storage device, the system memory bus request of the memory access unit is controlled for a variable period to mask the access of the memory access unit. Device characterized in that. 제 10항에 있어서,The method of claim 10, 상기 가변적인 구간은, The variable section, (1) 전혀 없거나, (1) none at all, (2) 특정 메모리 액세스 유닛의 대역폭 카운터 값이 해당 메모리 액세스 유닛의 대역폭 셋팅 저장장치의 값과 같거나 큰 기간,(2) a period in which the bandwidth counter value of a particular memory access unit is equal to or greater than the value of the bandwidth setting storage device of that memory access unit, (3) 시스템 신호가 액티브(active) 되어 이전의 대역폭 카운터 값을 상기 시스템 신호 다음에 오는 시스템 신호가 액티브 될 때까지 대역폭 저장장치에 저장한 구간,(3) a period in which the system signal is active and stores the previous bandwidth counter value in the bandwidth storage device until the system signal following the system signal is activated, (4) 상기 (2) 구간과 (3) 구간을 더한 구간 중 어느 하나인 것을 특징으로 하는 장치.(4) The apparatus characterized in that any one of the (2) and the (3) interval plus the interval. 제 9항에 있어서,The method of claim 9, 상기 제 2 제어장치는, The second control device, 상기 비교 결과 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값보다 메 모리 액세스 인터벌 카운터에서 측정한 값이 작으면, 해당 메모리 액세스 유닛의 메모리 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치. And if the value measured by the memory access interval counter is smaller than the preset value in the minimum memory access interval storage device, masking the memory access of the corresponding memory access unit. 제 12항에 있어서,The method of claim 12, 상기 제 2 제어장치는, 적어도 상기 최소 메모리 액세스 인터벌 저장장치에 기 설정된 값 이상까지 액세스를 매스킹(masking) 하는 것을 특징으로 하는 장치.And the second control device masks the access to at least the predetermined value in the minimum memory access interval storage device. 제 9항에 있어서,The method of claim 9, 상기 제 1 제어 장치를 온/오프(on/off) 할 수 있는 제 3 제어 장치를 더 포함하여 구성되는 것을 특징으로 하는 장치.And a third control device capable of turning on / off the first control device. 제 9항에 있어서,The method of claim 9, 상기 제 2 제어 장치를 온/오프(on/off) 할 수 있는 제 3 제어 장치를 더 포함하여 구성되는 것을 특징으로 하는 장치.And a third control device capable of turning on / off the second control device. 제 9항에 있어서,The method of claim 9, 상기 제 1 제어 장치와 제 2 제어 장치를 온/오프(on/off) 할 수 있는 제 3 제어 장치를 더 포함하여 구성되는 것을 특징으로 하는 장치.And a third control device capable of turning on / off the first control device and the second control device. 제 16항에 있어서,The method of claim 16, 상기 제 3 제어 장치는,The third control device, (1) 제 1 제어 장치만 온(on)하거나,(1) turn on only the first control device, or (2) 제 2 제어 장치만 온(on)하거나,(2) turn on only the second control device, (3) 제 1 제어 장치와 제 2 제어 장치 둘 다 온(on)하거나,(3) both the first control device and the second control device are on; (4) 제 1 제어 장치와 제 2 제어 장치 둘 다 오프(off)하는 경우 중 어느 하나 경우를 선택하도록 제어하는 것을 특징으로 하는 장치. (4) An apparatus characterized by controlling to select one of the cases in which both the first control device and the second control device are turned off.
KR1020060029897A 2006-03-31 2006-03-31 Apparatus for bus arbitration KR20070098352A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060029897A KR20070098352A (en) 2006-03-31 2006-03-31 Apparatus for bus arbitration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060029897A KR20070098352A (en) 2006-03-31 2006-03-31 Apparatus for bus arbitration

Publications (1)

Publication Number Publication Date
KR20070098352A true KR20070098352A (en) 2007-10-05

Family

ID=38804429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060029897A KR20070098352A (en) 2006-03-31 2006-03-31 Apparatus for bus arbitration

Country Status (1)

Country Link
KR (1) KR20070098352A (en)

Similar Documents

Publication Publication Date Title
US6104417A (en) Unified memory computer architecture with dynamic graphics memory allocation
US6330645B1 (en) Multi-stream coherent memory controller apparatus and method
US6934820B2 (en) Traffic controller using priority and burst control for reducing access latency
US8533403B1 (en) Arbitration unit for memory system
JP4737438B2 (en) Information processing apparatus that shares resources among multiple processing units
US8095744B2 (en) Device for controlling access from a plurality of masters to shared memory composed of a plurality of banks each having a plurality of pages
JP7384806B2 (en) Scheduling memory requests for ganged memory devices
KR20080039499A (en) Weighted bus arbitration based on transfer direction and consumed bandwidth
JP2023527981A (en) DRAM refresh management
US6317813B1 (en) Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller
JP2023521249A (en) DRAM refresh management
US20050160188A1 (en) Method and apparatus to manage memory access requests
JP2004252960A (en) Memory controller
US20230368832A1 (en) Memory calibration system and method
US5802581A (en) SDRAM memory controller with multiple arbitration points during a memory cycle
US20030167381A1 (en) System and method for dynamic memory access management
KR20070098352A (en) Apparatus for bus arbitration
US20040128424A1 (en) Bus control device and information processing system
KR100793779B1 (en) Apparatus for bus arbitration
JP2003316642A (en) Memory control circuit, dma request block and memory access system
US20190243439A1 (en) System and method of controlling power down mode of memory device
KR100546678B1 (en) Apparatus and Method for Controlling Refresh Operation of Data Processing System
TWI763089B (en) Direct memory access (dma) controller, electronic device using the dma controller and method of operating the dma controller
EP0921468B1 (en) Memory control using memory state information for reducing access latency
US8806100B1 (en) Synchronizing multiple USB controllers to reduce power

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination