JP2010224866A - Dma arbitration device, dma arbitration method, and dma arbitration program - Google Patents

Dma arbitration device, dma arbitration method, and dma arbitration program Download PDF

Info

Publication number
JP2010224866A
JP2010224866A JP2009071376A JP2009071376A JP2010224866A JP 2010224866 A JP2010224866 A JP 2010224866A JP 2009071376 A JP2009071376 A JP 2009071376A JP 2009071376 A JP2009071376 A JP 2009071376A JP 2010224866 A JP2010224866 A JP 2010224866A
Authority
JP
Japan
Prior art keywords
dma
bandwidth
request
dma request
individual
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2009071376A
Other languages
Japanese (ja)
Inventor
Atsushi Ito
敦 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009071376A priority Critical patent/JP2010224866A/en
Publication of JP2010224866A publication Critical patent/JP2010224866A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve a problem of a function failure of a set occurring in a conventional DMA arbitration device when a bandwidth total sum of requests from a plurality of DMA exceeds a limit of a system during a transition period for change of a set action. <P>SOLUTION: A DMA arbitration device includes: DMA request generation parts Y1-Y4 independently issue DMA requests of a plurality of masters respectively; DMA request bandwidth calculation parts B1-B4 individually calculating request bandwidths W1-W4 of the respective masters; a request bandwidth sum total calculation part 21 finding the total sum σ of the respective request bandwidths; a bandwidth comparison part H0 comparing the request bandwidth total sum σ with a critical bandwidth σ<SB>0</SB>; and a DMA request processing means P0 making the DMA requests of the DMA request generation parts Y1-Y4 valid when the comparison result shows that the request bandwidth total sum σ is not more than the critical bandwidth σ<SB>0</SB>, and making the DMA requests of the DMA request generation parts Y1-Y4 invalid when the comparison result shows that the request bandwidth total sum σ exceeds the critical bandwidth σ<SB>0</SB>. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、複数のDMA(Direct Memory Access)マスタが存在するシステムにおいて複数のDMA要求が輻輳した際の調停を行うDMA調停装置にかかわり、特には、システムの動作状態切り替えの変動が激しい過渡期間において、DMA要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができるようにするための技術に関する。本発明はまた、DMA調停方法およびDMA調停用のプログラムに関する。   The present invention relates to a DMA arbitration device that performs arbitration when a plurality of DMA requests are congested in a system in which a plurality of DMA (Direct Memory Access) masters exist. The present invention relates to a technique for enabling the system operation state to be switched safely without causing the system to fail even when a DMA request is congested and a large load is instantaneously applied. The present invention also relates to a DMA arbitration method and a program for DMA arbitration.

近年の電子機器(セット)においては、機能の多様化・同時動作のバリエーションの複雑化が進んだことから、システム内に複数のDMAマスタを持たせている。これに伴い、セット動作状態の変化の際に各回路の挙動が変わると、各DMAマスタが要求するバンド幅(要求バンド幅)の変動が発生する。また、セット動作状態に応じて動作するDMAの個数も変化し、これによる要求バンド幅の変動も発生する。   In recent years, electronic devices (sets) have a plurality of DMA masters in the system due to the diversification of functions and the complexity of simultaneous operation variations. Along with this, when the behavior of each circuit changes when the set operation state changes, the bandwidth (requested bandwidth) required by each DMA master changes. In addition, the number of DMAs that operate according to the set operation state also changes, which causes fluctuations in the required bandwidth.

一方で、各DMAからの要求バンド幅の総和(要求バンド幅総和)がシステムの限界を上回ると、回路のハングアップや同時動作への影響が発生し、機能破綻につながることがある。よって、セット動作状態の変化に伴いDMA動作状態を切り替えるには、動作状態の変動が激しい切り替えの過渡期間のいかなる瞬間においても、各DMAからの要求バンド幅総和がシステムの限界を上回ってはならない。   On the other hand, if the total required bandwidth from each DMA (total required bandwidth) exceeds the system limit, circuit hang-up and simultaneous operation may occur, leading to functional failure. Therefore, in order to switch the DMA operation state in accordance with the change of the set operation state, the total required bandwidth from each DMA should not exceed the system limit at any moment of the switching transition period in which the fluctuation of the operation state is severe. .

従来、複数のDMA要求が輻輳した際の調停を実現するために、さまざまな方式が提案されている。例えば、バスマスタ毎にアクセス開始でインクリメントされアクセス停止でデクリメントされるカウンタを設け、カウント値が閾値を上回ったバスマスタに対しては、カウント値がデクリメントされて初期値に戻るまでそのバスマスタのアクセス要求をマスクすることにより、アクセス要求の輻輳を調停するという技術が提唱されている(特許文献1参照)。
WO2006/001245(特願2006−528514号)
Conventionally, various methods have been proposed in order to realize arbitration when a plurality of DMA requests are congested. For example, for each bus master, a counter that is incremented at the start of access and decremented at the stop of access is provided, and for a bus master whose count value exceeds the threshold value, an access request from that bus master is issued until the count value is decremented and returns to the initial value. A technique of arbitrating access request congestion by masking has been proposed (see Patent Document 1).
WO2006 / 001245 (Japanese Patent Application No. 2006-528514)

しかし、特許文献1に記載の従来のDMA調停装置は、ある瞬間の要求バンド幅総和がシステム限界に収まっていることを前提にして、メモリアクセスを時間軸方向に分散させるものである。そのため、発行されたアクセス要求がシステムの限界を上回るものであっても、結果的にこれを許容してしまうことになっている。すなわち、この従来技術の場合には、セット動作切り替えの過渡期間において複数DMAからの要求バンド幅総和がシステムの限界を上回ることがあると、セットの機能破綻が引き起こされるという課題があった。   However, the conventional DMA arbitration device described in Patent Document 1 distributes memory accesses in the time axis direction on the assumption that the total required bandwidth at a certain moment is within the system limit. Therefore, even if the issued access request exceeds the limit of the system, this is allowed as a result. In other words, in the case of this conventional technique, there is a problem that if the total required bandwidth from a plurality of DMAs exceeds the system limit during the transition period of the set operation switching, the set function is broken.

本発明は、このような事情に鑑みて創作したものであり、システムの動作状態切り替えの変動が激しい過渡期間において、DMA要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができるようにすることを目的としている。   The present invention was created in view of such circumstances, and even during a transient period in which the fluctuation of the system operation state switching is severe, even if the DMA request is congested and a large load is instantaneously applied, The purpose is to enable the system operation state to be switched safely without causing the system to fail.

(1)本発明によるDMA調停装置は、
複数のDMAマスタそれぞれのDMA要求を独立して発行する複数のDMA要求生成手段と、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出する複数のDMA要求バンド幅算出手段と、
前記複数のDMA要求バンド幅算出手段による各要求バンド幅の総和を求める要求バンド幅総和算出手段と、
前記要求バンド幅総和算出手段で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するバンド幅比較手段と、
前記バンド幅比較手段による比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMA要求生成手段それぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記DMA要求生成手段のDMA要求を無効化するDMA要求処理手段とを備えたものである。ここで、「DMA要求生成手段のDMA要求を無効化する」とは、最後にアクセス要求を発行したマスタは少なくとも含んでアクセス停止させる場合と、すべてのマスタのアクセスを停止させる場合とを含む意である(後述)。
(1) The DMA arbitration device according to the present invention
A plurality of DMA request generation means for independently issuing a DMA request for each of a plurality of DMA masters;
A plurality of DMA request bandwidth calculation means for individually calculating a request bandwidth of each of the plurality of DMA masters;
Request bandwidth total calculating means for calculating the sum of each requested bandwidth by the plurality of DMA request bandwidth calculating means;
Bandwidth comparison means for comparing the required bandwidth total obtained by the required bandwidth total calculation means with the limit bandwidth in the entire system;
As a result of the comparison by the bandwidth comparison unit, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA request generation units is validated, and conversely, the total required bandwidth is DMA request processing means for invalidating the DMA request of the DMA request generation means when the bandwidth exceeds the limit bandwidth of the entire system. Here, “invalidating the DMA request of the DMA request generation means” includes a case where at least the master that issued the access request includes access stop and a case where access of all masters is stopped. (Described later).

複数のDMAマスタが存在するシステムにおいて、システム動作状態が激しく変動することがある過渡期間に、要求バンド幅総和が瞬間的にシステム全体での限界バンド幅を上回った場合、複数あるDMA要求生成手段のDMA要求のすべてまたは必要ないくつかを無効化することで、メモリアクセスにかかる負荷を軽減し、システム破綻を防ぐ。またその後、システムが定常状態に向かうにつれて要求バンド幅総和がシステム全体での限界バンド幅以下に復帰した際には、先ほど無効化しておいたDMAが許可されるようになるため、定常状態においてはすべてのDMAが必要なバンド幅を獲得することとなる。   In a system having a plurality of DMA masters, when the total required bandwidth instantaneously exceeds the limit bandwidth of the entire system during a transition period in which the system operation state may fluctuate drastically, a plurality of DMA request generation means By invalidating all or some necessary DMA requests, the load on memory access is reduced and system failure is prevented. After that, as the system goes to the steady state, when the total requested bandwidth returns below the limit bandwidth of the entire system, the DMA that was invalidated earlier is permitted, so in the steady state All DMAs will acquire the necessary bandwidth.

(2)また本発明によるDMA調停装置は、
複数のDMAマスタそれぞれのDMA要求を独立して発行する複数のDMA要求生成手段と、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出する複数のDMA要求バンド幅算出手段と、
前記複数のDMA要求バンド幅算出手段で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較する複数のバンド幅比較手段と、
前記複数のバンド幅比較手段の1つずつにつき、前記バンド幅比較手段による比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する前記DMA要求生成手段のDMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する前記DMA要求生成手段のDMA要求を無効化する複数のDMA要求処理手段とを備えたものである。ここで(1)との比較上の特徴は、(1)の場合の「各要求バンド幅の総和を求める要求バンド幅総和算出手段」がなく、それぞれ単一のDMA要求処理手段、バンド幅比較手段の代わりに、個別の複数のDMA要求処理手段、複数のバンド幅比較手段を有していることである。すなわち、複数のDMA要求の1つずつについて個別に監視を行うように構成している。各DMAにそれぞれ個別の限界バンド幅が対応している。
(2) The DMA arbitration device according to the present invention is
A plurality of DMA request generation means for independently issuing a DMA request for each of a plurality of DMA masters;
A plurality of DMA request bandwidth calculation means for individually calculating a request bandwidth of each of the plurality of DMA masters;
A plurality of bandwidth comparison means for comparing individual request bandwidths calculated by the plurality of DMA request bandwidth calculation means with individual limit bandwidths;
For each of the plurality of bandwidth comparison means, if the individual required bandwidth is equal to or less than the individual limit bandwidth as a result of comparison by the bandwidth comparison means, the DMA request of the corresponding DMA request generation means And a plurality of DMA request processing means for invalidating the DMA request of the corresponding DMA request generation means when the individual request bandwidth exceeds the individual limit bandwidth. . Here, the feature of comparison with (1) is that there is no “required bandwidth total calculating means for calculating the sum of required bandwidths” in the case of (1), and there is a single DMA request processing means and a bandwidth comparison respectively. Instead of the means, a plurality of individual DMA request processing means and a plurality of bandwidth comparison means are provided. In other words, each of the plurality of DMA requests is individually monitored. Each DMA has a corresponding limit bandwidth.

複数のDMAが個別的にそれぞれの要求バンド幅が個別の限界バンド幅を上回るアクセスを要求した場合には、各DMAが他のDMAとは独立して個別的に停止される。したがって、システム動作切り替えの過渡期間で発生するシステム限界を上回る個別のバンド幅要求を調停しつつ、次のシステム定常状態に向けてホストが要求バンド幅の変更や限界バンド幅の更新を行うことにより、最終的に、各DMAが必要とするバンド幅を獲得することが可能となる。   When a plurality of DMAs individually request access whose respective requested bandwidth exceeds the individual limit bandwidth, each DMA is individually stopped independently of the other DMAs. Therefore, by arbitrating individual bandwidth requests that exceed the system limits that occur during the transition period of system operation switching, the host changes the requested bandwidth or updates the critical bandwidth for the next system steady state. Finally, it becomes possible to acquire the bandwidth required by each DMA.

(3)上記(1),(2)の構成のDMA調停装置において、前記DMA要求バンド幅算出手段は、システムの動作状態に基づいて前記要求バンド幅を設定するという態様がある。かかる構成により、ホストに負荷をかけることなく、各種システム動作状態から要求バンド幅を予め定義することが可能となる。   (3) In the DMA arbitration apparatus configured as described in (1) and (2) above, the DMA request bandwidth calculation means sets the request bandwidth based on the operating state of the system. With this configuration, the required bandwidth can be defined in advance from various system operating states without imposing a load on the host.

(4)また上記(1),(2)の構成のDMA調停装置において、前記DMA要求バンド幅算出手段は、DMAマスタに対する制御情報に基づいて前記要求バンド幅を設定するという態様がある。かかる構成により、どのようなシステム動作状態においても、ホストの処理により、各DMAの要求バンド幅を算出することが可能となる。   (4) In the DMA arbitration apparatus having the configurations (1) and (2), the DMA request bandwidth calculation means sets the request bandwidth based on control information for the DMA master. With this configuration, it is possible to calculate the required bandwidth of each DMA by the host processing in any system operating state.

(5)また上記の(1)〜(4)の構成のDMA調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてある決まった値の限界バンド幅を用いるという態様がある。かかる構成により、システムに搭載されたメモリスペックから限界バンド幅を決定するといった用途が可能になる。   (5) Further, in the DMA arbitration device configured as described in (1) to (4) above, there is an aspect in which the bandwidth comparison means uses a predetermined limit bandwidth as the limit bandwidth. With such a configuration, it becomes possible to use the limit bandwidth based on the memory specifications installed in the system.

(6)また上記の(1)〜(4)の構成のDMA調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてシステムの同時動作状態の組み合わせに基づいて配分が決定付けられる限界バンド幅を用いるという態様がある。かかる構成により、システムが複数の同時動作状態を持つ場合に、各動作に割り振る限界バンド幅を自由に決定することが可能となる。   (6) In the DMA arbitration device having the above configurations (1) to (4), the bandwidth comparison means is a limit band whose distribution is determined based on a combination of simultaneous operation states of the system as the limit bandwidth. There is an aspect of using the width. With this configuration, when the system has a plurality of simultaneous operation states, it is possible to freely determine the limit bandwidth allocated to each operation.

(7)また上記の(1)〜(4)の構成のDMA調停装置において、前記バンド幅比較手段は、前記限界バンド幅としてシステムの動作状態に応じて各マスタ個別に設定される限界バンド幅を用いるという態様がある。かかる構成により、各DMAの限界バンド幅を事前に決定することが可能となる。   (7) In the DMA arbitration device having the above-described configurations (1) to (4), the bandwidth comparison unit is configured such that the limit bandwidth is set individually for each master according to the operating state of the system as the limit bandwidth. There is a mode of using. With this configuration, it becomes possible to determine the limit bandwidth of each DMA in advance.

(8)また上記の(1)〜(7)の構成のDMA調停装置において、前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、最後にアクセス要求を発行したマスタについてアクセス停止させるという態様がある。かかる構成により、最後にアクセス要求を発行したマスタ以外からのアクセスを阻害せず、またホストからのDMA制御の回数を最小に抑えて、システム動作状態の切り替えを高速に行うことが可能となる。   (8) In the DMA arbitration apparatus having the above-described configurations (1) to (7), the DMA request processing means finally issues an access request as a mode for invalidating the DMA requests of the plurality of DMA request generation means. There is a mode in which access is stopped for the issued master. With this configuration, it is possible to switch the system operation state at high speed without hindering access from other than the master that issued the access request last time and minimizing the number of times of DMA control from the host.

(9)また上記の(1)〜(7)の構成のDMA調停装置において、前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、すべてのマスタのアクセスを停止させるという態様がある。かかる構成により、多岐にわたるシステム動作状態の切り替えの組み合わせにおいて、常にホストからの制御を同一化し、ホスト側の処理を簡略化することが可能となる。   (9) Also, in the DMA arbitration apparatus having the above-described configuration (1) to (7), the DMA request processing means is configured to invalidate the DMA requests of the plurality of DMA request generation means. There is a mode of stopping. With such a configuration, in various combinations of system operation state switching, it is possible to always make the control from the host the same and simplify the processing on the host side.

(10)また上記の(1)〜(7)の構成のDMA調停装置において、前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、最後にアクセス要求を発行したマスタについて、メモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるという態様がある。かかる構成により、最後にアクセス要求を発行したマスタ以外からのアクセスを阻害せず、またホストに負荷をかけることなく、要求バンド幅を抑制することが可能となる。   (10) In the DMA arbitration apparatus having the above-described configuration (1) to (7), the DMA request processing means finally issues an access request as a mode for invalidating the DMA requests of the plurality of DMA request generation means. For the issued master, there is a mode in which memory access is replaced with dummy access that does not put a load on the memory. With such a configuration, it is possible to suppress the requested bandwidth without hindering access from other than the master that issued the access request last and without applying a load to the host.

(11)また上記の(1)〜(7)の構成のDMA調停装置において、前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、すべてのマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるという態様がある。かかる構成により、ホストに負荷をかけることなく、要求バンド幅を抑制することが可能となる。   (11) Also, in the DMA arbitration apparatus having the above-described configurations (1) to (7), the DMA request processing unit is configured to invalidate the DMA requests of the plurality of DMA request generation units. There is a mode in which access is replaced with dummy access that does not put a load on the memory. With this configuration, the required bandwidth can be suppressed without imposing a load on the host.

(12)また上記の(1)〜(7)の構成のDMA調停装置において、前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、個々のマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるか、アクセス停止させることの選択を行うという態様がある。かかる構成により、要求バンド幅が限界バンド幅を上回った場合の調停において、多様な特性を持った各DMAに対し、各DMAの制御に費やす時間やアクセス要求元に与える影響を考慮にいれた上でDMA停止かダミーアクセス化かを切り替えることができるため、バンド幅破綻回避のために最適な対応を選択することが可能となる。   (12) Also, in the DMA arbitration apparatus having the above-described configuration (1) to (7), the DMA request processing unit is configured to invalidate the DMA requests of the plurality of DMA request generation units, There is a mode in which access is replaced with dummy access that does not put a load on the memory, or access is stopped. With this configuration, in the arbitration when the requested bandwidth exceeds the limit bandwidth, the time spent for controlling each DMA and the effect on the access request source are taken into consideration for each DMA having various characteristics. Since it is possible to switch between DMA stop and dummy access, it is possible to select an optimum response for avoiding bandwidth failure.

(13)また、本発明によるDMA調停方法は、
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMAマスタそれぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のDMAマスタそれぞれのDMA要求を無効化してメモリアクセスを停止するステップとを含むものである。かかる構成により、(1)の構成によるのと同様の効果が得られる。
(13) Further, the DMA arbitration method according to the present invention includes:
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Obtaining a sum of required bandwidths of the plurality of DMA masters;
Comparing the total requested bandwidth determined above with the critical bandwidth of the entire system;
As a result of the comparison, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA masters is validated, and conversely, the total required bandwidth is Invalidating the DMA request of each of the plurality of DMA masters and stopping the memory access when the limit bandwidth is exceeded. With this configuration, the same effect as that of the configuration (1) can be obtained.

(14)また、本発明によるDMA調停方法は、
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記DMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記DMA要求を無効化してメモリアクセスを停止するステップとを含むものである。かかる構成により、(2)の構成によるのと同様の効果が得られる。
(14) Further, the DMA arbitration method according to the present invention includes:
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Individually calculating the required bandwidth of each of the plurality of DMA masters;
Comparing the individual required bandwidth calculated above with each individual limit bandwidth;
If the individual requested bandwidth is less than or equal to the individual limit bandwidth as a result of the comparison, the corresponding individual DMA request is enabled, and conversely, the individual request bandwidth is less than the individual limit bandwidth. And if so, invalidate the corresponding individual DMA request and stop the memory access. With this configuration, the same effect as the configuration (2) can be obtained.

(15)また、本発明によるDMA調停用のプログラムは、
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMAマスタそれぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のDMAマスタそれぞれのDMA要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なプログラムである。かかる構成により、(1)の構成によるのと同様の効果が得られる。
(15) Also, the program for DMA arbitration according to the present invention is:
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Obtaining a sum of required bandwidths of the plurality of DMA masters;
Comparing the total requested bandwidth determined above with the critical bandwidth of the entire system;
As a result of the comparison, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA masters is validated, and conversely, the total required bandwidth is And a step of disabling a DMA request of each of the plurality of DMA masters to stop memory access when exceeding a limit bandwidth. With this configuration, the same effect as that of the configuration (1) can be obtained.

(16)また、本発明によるDMA調停用のプログラムは、
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記DMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記DMA要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なプログラムである。かかる構成により、(2)の構成によるのと同様の効果が得られる。
(16) The program for DMA arbitration according to the present invention is:
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Individually calculating the required bandwidth of each of the plurality of DMA masters;
Comparing the individual required bandwidth calculated above with each individual limit bandwidth;
If the individual requested bandwidth is less than or equal to the individual limit bandwidth as a result of the comparison, the corresponding individual DMA request is enabled, and conversely, the individual request bandwidth is less than the individual limit bandwidth. And if so, invalidate the corresponding individual DMA request and stop the memory access. With this configuration, the same effect as the configuration (2) can be obtained.

本発明によれば、DMA調停側で要求バンド幅総和または個別の要求バンド幅を限界バンド幅と比較しつつ、常に実アクセスがシステム限界に収まるようにDMA要求を調停するため、システム動作状態切り替えの変動が激しい過渡期間において、各DMAを制御するホスト上のモジュールがバンド幅制約を意識することなくDMA要求を発行し、その結果、DMA要求が輻輳し瞬間的に大きな負荷がかかるようなことがあっても、システムを破綻させることなく安全にシステム動作状態を切り替えることができる。   According to the present invention, the DMA arbitration side compares the request bandwidth sum or individual request bandwidth with the limit bandwidth, and arbitrates the DMA request so that the actual access always falls within the system limit. During a transition period in which fluctuations are severe, modules on the host that controls each DMA issue DMA requests without being aware of bandwidth constraints, resulting in congestion of DMA requests and momentary load. Even if there is, the system operating state can be switched safely without causing the system to fail.

以下、DMA調停装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。   Hereinafter, embodiments of the DMA arbitration device and the like will be described with reference to the drawings. In addition, since the component which attached | subjected the same code | symbol in embodiment performs the same operation | movement, description may be abbreviate | omitted again.

(実施の形態1)
図1は本発明の実施の形態1におけるDMA調停装置を包含したシステム全体の構成を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing the configuration of the entire system including the DMA arbitration device according to Embodiment 1 of the present invention.

このシステムは、ホストCPU10と、DMA要求調停部20と、各DMAを実際に制御する複数のDMA制御部C1〜C4と、メモリI/F(インターフェース)30と、メモリ40とを備えている。   This system includes a host CPU 10, a DMA request arbitration unit 20, a plurality of DMA control units C1 to C4 that actually control each DMA, a memory I / F (interface) 30, and a memory 40.

ホストCPU10は、システム動作状態判定部11と、複数のDMA要求生成部Y1〜Y4と、個々のDMA要求バンド幅算出部B1〜B4とを包含している。   The host CPU 10 includes a system operation state determination unit 11, a plurality of DMA request generation units Y1 to Y4, and individual DMA request bandwidth calculation units B1 to B4.

またDMA要求調停部20は、要求バンド幅総和算出部21と、DMA要求処理部P0と、バンド幅比較部H0と、限界バンド幅保持部G0とから構成されている。   The DMA request arbitration unit 20 includes a request bandwidth total calculation unit 21, a DMA request processing unit P0, a bandwidth comparison unit H0, and a limit bandwidth holding unit G0.

ホストCPU10におけるシステム動作状態判定部11は、刻々変動するシステムの動作状態に応じて個々のDMA要求生成部Y1〜Y4を制御し、また各DMAの設定状況を個々のDMA要求バンド幅算出部B1〜B4に通知するとともに、実装されているメモリスペックから算出されるシステム全体での限界バンド幅σ0 を限界バンド幅保持部G0に通知するように構成されている。 The system operation state determination unit 11 in the host CPU 10 controls the individual DMA request generation units Y1 to Y4 according to the operation state of the system that changes every moment, and sets the setting status of each DMA to the individual DMA request bandwidth calculation unit B1. To B4, and the limit bandwidth σ 0 of the entire system calculated from the installed memory specifications is notified to the limit bandwidth holding unit G0.

ホストCPU10における個々のDMA要求生成部Y1〜Y4は、システム動作状態判定部11からの指示(刻々変動するシステムの動作状態)により、DMA要求調停部20におけるDMA要求処理部P0および要求バンド幅総和算出部21に対して必要なDMAのリクエストを発行するものとして構成されている。   Each of the DMA request generation units Y1 to Y4 in the host CPU 10 receives the DMA request processing unit P0 and the total requested bandwidth in the DMA request arbitration unit 20 according to an instruction from the system operation state determination unit 11 (system operation state that changes every moment). It is configured to issue a necessary DMA request to the calculation unit 21.

ホストCPU10における個々のDMA要求バンド幅算出部B1〜B4は、システム動作状態判定部11から受け取った各DMAの設定状況に応じてそれぞれの要求バンド幅W1〜W4を算出し、算出結果の要求バンド幅W1〜W4を要求バンド幅総和算出部21に送出するものとして構成されている。   The individual DMA request bandwidth calculation units B1 to B4 in the host CPU 10 calculate the respective request bandwidths W1 to W4 according to the setting status of each DMA received from the system operation state determination unit 11, and request bandwidths of the calculation results The widths W <b> 1 to W <b> 4 are configured to be sent to the requested bandwidth total sum calculation unit 21.

DMA要求調停部20における要求バンド幅総和算出部21は、ホストCPU10におけるDMA要求生成部Y1〜Y4からのDMAリクエストとDMA要求バンド幅算出部B1〜B4からの要求バンド幅W1〜W4とを入力とし、入力した要求バンド幅W1〜W4のうちでDMA要求生成部Y1〜Y4からのDMAリクエストが活性化されているものに対応するものの総和を算出し、要求バンド幅総和σとしてバンド幅比較部H0に送出するように構成されている。   The requested bandwidth total calculation unit 21 in the DMA request arbitration unit 20 receives the DMA requests from the DMA request generation units Y1 to Y4 and the requested bandwidths W1 to W4 from the DMA request bandwidth calculation units B1 to B4 in the host CPU 10. Of the input request bandwidths W1 to W4 corresponding to the activated DMA requests from the DMA request generation units Y1 to Y4, and the bandwidth comparison unit as the request bandwidth total σ It is configured to send to H0.

要求バンド幅総和σは要求バンド幅W1〜W4の総和であるが、非活性のものに対応する要求バンド幅Wi(i=1,2…)は無視される(0の扱い)。σ=ΣWi=W1
+W2+W3+W4であるが、もし仮に要求バンド幅W3が非活性に対応していればW3=0であるので、σ=W1+W2+W4となり、仮に要求バンド幅W1,W4が非活性に対応していれば、σ=W2+W3となり、仮に要求バンド幅W1,W2,W3が非活性に対応していれば、σ=W4となる。
The requested bandwidth sum σ is the sum of the requested bandwidths W1 to W4, but the requested bandwidth Wi (i = 1, 2,...) Corresponding to the inactive one is ignored (handled as 0). σ = ΣWi = W1
+ W2 + W3 + W4, but if the required bandwidth W3 corresponds to inactivity, then W3 = 0, so σ = W1 + W2 + W4, and if the required bandwidths W1, W4 correspond to inactivity, σ = W2 + W3, and if the required bandwidths W1, W2, and W3 correspond to inactivity, σ = W4.

DMA要求調停部20における限界バンド幅保持部G0は、ホストCPU10におけるシステム動作状態判定部11から実装のメモリスペックに対応するシステム全体での限界バンド幅σ0 を入力して保持し、さらに保持した限界バンド幅σ0 をバンド幅比較部H0に出力するように構成されている。 The limit bandwidth holding unit G0 in the DMA request arbitration unit 20 inputs and holds the limit bandwidth σ 0 of the entire system corresponding to the mounted memory specifications from the system operation state determination unit 11 in the host CPU 10, and further holds it. The limit bandwidth σ 0 is output to the bandwidth comparison unit H 0 .

DMA要求調停部20におけるバンド幅比較部H0は、要求バンド幅総和算出部21からの要求バンド幅総和σと限界バンド幅保持部G0からのシステム全体での限界バンド幅σ0 とを入力して、両者を比較し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下のときはDMA要求を有効化すべくDMA停止信号SpをインアクティブにしてDMA要求処理部P0に出力し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回っているときはDMA要求を無効化すべくDMA停止信号SpをアクティブにしてDMA要求処理部P0に出力するものとして構成されている。 The bandwidth comparison unit H0 in the DMA request arbitration unit 20 receives the requested bandwidth total sum σ from the requested bandwidth total calculation unit 21 and the limit bandwidth σ 0 of the entire system from the limit bandwidth holding unit G0. When the total required bandwidth σ is equal to or less than the limit bandwidth σ 0 of the entire system, the DMA stop signal Sp is made inactive and output to the DMA request processing unit P0 in order to validate the DMA request. When the total bandwidth σ exceeds the limit bandwidth σ 0 of the entire system, the DMA stop signal Sp is activated and output to the DMA request processing unit P0 to invalidate the DMA request.

DMA要求調停部20におけるDMA要求処理部P0は、複数のDMA要求生成部Y1〜Y4および複数のDMA制御部C1〜C4に共通のもので、バンド幅比較部H0からのDMA停止信号Spがインアクティブで許可を示しているのであれば、DMA要求生成部Y1〜Y4からのDMAリクエストをスルーさせてそれぞれ対応するDMA制御部C1〜C4に送出する一方、バンド幅比較部H0からのDMA停止信号Spがアクティブで停止を指示しているのであれば、DMA要求生成部Y1〜Y4のDMAリクエストを停止するものとして構成されている。   The DMA request processing unit P0 in the DMA request arbitration unit 20 is common to the plurality of DMA request generation units Y1 to Y4 and the plurality of DMA control units C1 to C4, and the DMA stop signal Sp from the bandwidth comparison unit H0 is input. If active and permission is indicated, the DMA request from the DMA request generators Y1 to Y4 is passed through and sent to the corresponding DMA controllers C1 to C4, while the DMA stop signal from the bandwidth comparator H0 If Sp is active and instructs to stop, the DMA request generation unit Y1 to Y4 is configured to stop the DMA request.

次に、上記構成の本実施の形態のDMA調停装置による実際のメモリアクセス調停動作を説明する。   Next, an actual memory access arbitration operation by the DMA arbitration device of the present embodiment having the above configuration will be described.

まず、ホストCPU10におけるシステム動作状態判定部11が刻々変動するシステムの動作状態に応じて個々のDMA要求生成部Y1〜Y4を制御する。個々のDMA要求生成部Y1〜Y4は、刻々変動するシステムの動作状態に応じて必要なDMAのリクエストを発行する。このDMAのリクエストは要求バンド幅総和算出部21とDMA要求処理部P0に送出される。並行して、ホストCPU10におけるシステム動作状態判定部11は、各DMAの設定状況を個々のDMA要求バンド幅算出部B1〜B4に通知するとともに、システム全体での限界バンド幅σ0 を限界バンド幅保持部G0に通知する。 First, the system operation state determination unit 11 in the host CPU 10 controls the individual DMA request generation units Y1 to Y4 in accordance with the system operation state that changes every moment. Each of the DMA request generators Y1 to Y4 issues a necessary DMA request according to the operating state of the system that changes every moment. This DMA request is sent to the requested bandwidth total calculation unit 21 and the DMA request processing unit P0. In parallel, the system operation status determination unit 11 in the host CPU10, as well notifies the setting status of each DMA in the individual DMA request bandwidth calculating unit B1 to B4, limit the bandwidth limit bandwidth sigma 0 in the entire system Notify the holding unit G0.

システム動作状態判定部11から各DMAの設定状況を受け取った個々のDMA要求バンド幅算出部B1〜B4は、受け取った各DMAの設定状況に応じてそれぞれの要求バンド幅W1〜W4を算出し、算出結果の要求バンド幅W1〜W4を要求バンド幅総和算出部21に送出する。   The individual DMA request bandwidth calculation units B1 to B4 that have received the setting status of each DMA from the system operation state determination unit 11 calculate the required bandwidths W1 to W4 according to the received setting status of each DMA, The requested bandwidths W1 to W4 as the calculation results are sent to the requested bandwidth total calculation unit 21.

この要求バンド幅W1〜W4の計算においては、次式に示すように、映像1枚分の情報量と、その映像へメモリアクセスする周波数さえ判明していれば、要求バンド幅の算出が可能となる。メモリ上のグラフィックス映像がN画素で、Aビット/ピクセルをQfps(frame per second)で読み出す場合の要求バンド幅Wの計算式は、
W=N×A/8×Q(MB/s)
となる。一例を挙げると、1920×1080画素で、16ビット/ピクセルを29.97fpsで読み出す場合、要求バンド幅Wは、
W=1920×1080(画素)×16/8(bytes)×29.97(fps)=124.3(MB/s)
となる。
In calculating the required bandwidths W1 to W4, as shown in the following equation, the required bandwidth can be calculated as long as the amount of information for one video and the frequency for memory access to the video are known. Become. The calculation formula of the required bandwidth W when the graphics image on the memory is N pixels and A bits / pixel is read out in Qfps (frame per second) is as follows:
W = N × A / 8 × Q (MB / s)
It becomes. As an example, when reading 16 bits / pixel at 29.97 fps with 1920 × 1080 pixels, the required bandwidth W is
W = 1920 x 1080 (pixels) x 16/8 (bytes) x 29.97 (fps) = 124.3 (MB / s)
It becomes.

DMA要求調停部20における要求バンド幅総和算出部21は、DMA要求生成部Y1〜Y4からのDMAリクエストを受け取るとともに、DMA要求バンド幅算出部B1〜B4からの要求バンド幅W1〜W4を入力し、要求バンド幅W1〜W4のうちでDMA要求生成部Y1〜Y4からのDMAリクエストが活性化されているものに対応するものの総和を算出し、算出結果をシステム全体における各DMAの要求バンド幅の総和である要求バンド幅総和σとしてバンド幅比較部H0に送出する。限界バンド幅保持部G0は、システム動作状態判定部11から送られてくるシステム全体での限界バンド幅σ0 を入力して保持し、保持したシステム全体での限界バンド幅σ0 をバンド幅比較部H0に出力する。 The request bandwidth total calculation unit 21 in the DMA request arbitration unit 20 receives the DMA requests from the DMA request generation units Y1 to Y4 and inputs the request bandwidths W1 to W4 from the DMA request bandwidth calculation units B1 to B4. , The sum of the request bandwidths W1 to W4 corresponding to the DMA requests from the DMA request generation units Y1 to Y4 being activated is calculated, and the calculation result is the request bandwidth of each DMA in the entire system. The requested bandwidth total sum σ, which is the sum, is sent to the bandwidth comparison unit H0. The limit bandwidth holding unit G0 inputs and holds the limit bandwidth σ 0 of the entire system sent from the system operation state determination unit 11, and compares the held limit bandwidth σ 0 of the entire system with a bandwidth comparison. Output to part H0.

バンド幅比較部H0は、入力した要求バンド幅総和σをシステム全体での限界バンド幅σ0 と比較し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下のときはDMA要求を有効化すべくDMA停止信号SpをインアクティブにしてDMA要求処理部P0に出力し、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回っているときはDMA要求を無効化すべくDMA停止信号SpをアクティブにしてDMA要求処理部P0に出力する。 The bandwidth comparison unit H0 compares the input requested bandwidth total σ with the limit bandwidth σ 0 of the entire system, and when the requested bandwidth total σ is equal to or less than the limit bandwidth σ 0 of the entire system, it issues a DMA request. The DMA stop signal Sp is made inactive to enable it and is output to the DMA request processor P0. When the total required bandwidth σ exceeds the limit bandwidth σ 0 of the entire system, the DMA stop is disabled to invalidate the DMA request. The signal Sp is activated and output to the DMA request processing unit P0.

DMA要求調停部20におけるDMA要求処理部P0は、バンド幅比較部H0からのDMA停止信号Spがインアクティブで許可を示しているのであれば、DMA要求生成部Y1〜Y4からのDMAリクエストをスルーさせてそれぞれ対応するDMA制御部C1〜C4に送出する一方、バンド幅比較部H0からのDMA停止信号Spがアクティブで停止を指示しているのであれば、DMA要求生成部Y1〜Y4のDMAリクエストを停止する。   The DMA request processing unit P0 in the DMA request arbitration unit 20 passes through the DMA request from the DMA request generation units Y1 to Y4 if the DMA stop signal Sp from the bandwidth comparison unit H0 is inactive and indicates permission. If the DMA stop signal Sp from the bandwidth comparison unit H0 is active and indicates a stop, the DMA requests of the DMA request generation units Y1 to Y4 are sent to the corresponding DMA control units C1 to C4. To stop.

ここで、DMA停止信号Spがアクティブの場合のDMA要求生成部Y1〜Y4のDMAリクエストの停止の態様につき、要求発行しているDMAを全停止してもよいし、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回る引き金となったところの、最後にDMA要求を発行または設定更新したDMAのみを停止するのでもよい。 Here, regarding the manner of stopping the DMA requests of the DMA request generation units Y1 to Y4 when the DMA stop signal Sp is active, all of the DMAs issuing requests may be stopped, and the total requested bandwidth σ is the system bandwidth. It is also possible to stop only the DMA that has issued the DMA request or updated the setting at the end, which has triggered the overall limit bandwidth σ 0 .

また、メモリ40へ限界以上の負荷をかけないという観点では、DMA要求処理部P0は、DMA停止指示の代わりに、メモリI/F30に対して、DMAをダミーアクセス化するための指示を発行する方式でもかまわない。その場合、全DMAをダミーアクセス化してもよいし、要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回る引き金となったところの、最後にDMA要求を発行または設定更新したDMAのみをダミーアクセス化してもかまわない。あるいは、DMA各々の特性に応じて、DMA停止とダミーアクセス化を個々に選択できる構成でもかまわない。 Further, from the viewpoint of not applying a load exceeding the limit to the memory 40, the DMA request processing unit P0 issues an instruction for making the DMA dummy access to the memory I / F 30 instead of the DMA stop instruction. The method may be used. In this case, all DMAs may be dummy-accessed, or only the DMA that last issued or renewed the DMA request when the total requested bandwidth σ is greater than the limit bandwidth σ 0 of the entire system. May be used as a dummy access. Alternatively, a configuration in which DMA stop and dummy access can be individually selected according to the characteristics of each DMA may be used.

以上のようにして全部または一部のDMAを停止したとすると、次第に要求バンド幅総和σが減少するようになる。その結果として、要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下となるに至ったとすると、バンド幅比較部H0は、今度はDMA停止信号Spをインアクティブにして出力する。すなわち、DMA要求処理部P0に対する停止の指示またはダミーアクセス化指示を解除する。その結果として、最終的には、DMA要求生成部Y1〜Y4が発行しているDMA要求がそのまま各DMA制御部C1〜C4に到達することになり、定常状態として正常なシステム動作が続行される。 Assuming that all or some of the DMAs are stopped as described above, the required bandwidth sum σ gradually decreases. As a result, if the total required bandwidth σ becomes equal to or less than the limit bandwidth σ 0 of the entire system, the bandwidth comparison unit H0 in turn outputs the DMA stop signal Sp inactive. That is, the stop instruction or the dummy access instruction to the DMA request processing unit P0 is canceled. As a result, the DMA request issued by the DMA request generation units Y1 to Y4 finally reaches each DMA control unit C1 to C4 as it is, and normal system operation is continued as a steady state. .

このような機構により、システムの動作状態切り替えの変動が激しい過渡期間において、DMA起動と停止の要求が輻輳し瞬間的に要求バンド幅総和σがシステム全体での限界バンド幅σ0 を上回ってシステム破綻を招きかねない場面において、本DMA調停装置がシステム破綻を事前に察知し、DMA要求を調停していくことで、システムの動作切り替えを安全に行うことができる。 With such a mechanism, during the transition period in which the change of the operating state of the system is severe, the DMA start and stop requests are congested, and the total required bandwidth σ instantaneously exceeds the limit bandwidth σ 0 of the entire system. In a scene where a failure may occur, the DMA arbitration device detects a system failure in advance and arbitrates a DMA request, so that the system operation can be switched safely.

なお、本実施の形態の変形の態様として次のものが考えられる。   In addition, the following can be considered as a modification of this embodiment.

DMA要求バンド幅算出部B1〜B4による要求バンド幅W1〜W4の算出については、上に述べた、各DMAの設定状況からの算出のほかに、システム動作のユースケースから算出する方法も考えられる。これを、例えば図2でテーブル情報で例示する。再生または視聴するコンテンツが決定すれば、各DMAの役割が自ずと決まり、要求されるバンド幅も一意に決まる。そこで、図2のようなテーブル情報を各DMA要求バンド幅算出部B1〜B4に保持させておく。システム動作状態判定部11がDMA要求バンド幅算出部B1〜B4に対してユースケース通知を行う。DMA要求バンド幅算出部B1〜B4は、受け取ったユースケース通知に従って図2の情報テーブルを検索し、該当の動作状態における各DMAの要求バンド幅W1〜W4を求める。   Regarding the calculation of the required bandwidths W1 to W4 by the DMA required bandwidth calculation units B1 to B4, in addition to the above-described calculation from the setting status of each DMA, a method of calculating from the use case of the system operation is also conceivable. . This is illustrated by table information in FIG. 2, for example. Once the content to be played back or viewed is determined, the role of each DMA is naturally determined, and the required bandwidth is also uniquely determined. Therefore, table information as shown in FIG. 2 is held in each DMA request bandwidth calculation unit B1 to B4. The system operation state determination unit 11 sends use case notifications to the DMA request bandwidth calculation units B1 to B4. The DMA request bandwidth calculation units B1 to B4 search the information table of FIG. 2 according to the received use case notification, and obtain the request bandwidths W1 to W4 of each DMA in the corresponding operation state.

例えば、DVD(Digital Versatile Disc)の再生の場合には、第1のDMA要求バンド幅算出部B1は要求バンド幅W1として240MB/sを設定し、第2のDMA要求バンド幅算出部B2は要求バンド幅W2として60MB/sを設定し、第3および第4のDMA要求バンド幅算出部B3,B4は要求バンド幅W3,W4としてそれぞれ100MB/sを設定する。また、BD−ROM(BluRay Disc Read Only Memory)の再生の場合には、第1のDMA要求バンド幅算出部B1は要求バンド幅W1として480MB/sを設定し、第2のDMA要求バンド幅算出部B2は要求バンド幅W2として30MB/sを設定し、第3のDMA要求バンド幅算出部B3は要求バンド幅W3として50MB/sを設定し、第4のDMA要求バンド幅算出部B4は要求バンド幅W4として200MB/sを設定する。また、DTV(デジタルテレビ)の視聴の場合には、第1のDMA要求バンド幅算出部B1は要求バンド幅W1として480MB/sを設定し、第2および第3のDMA要求バンド幅算出部B2,B3は要求バンド幅W2,W3として0MB/sを設定し、第4のDMA要求バンド幅算出部B4は要求バンド幅W4として500MB/sを設定する。   For example, when reproducing a DVD (Digital Versatile Disc), the first DMA request bandwidth calculation unit B1 sets 240 MB / s as the request bandwidth W1, and the second DMA request bandwidth calculation unit B2 The bandwidth W2 is set to 60 MB / s, and the third and fourth DMA request bandwidth calculation units B3 and B4 set the request bandwidths W3 and W4 to 100 MB / s, respectively. In the case of reproducing a BD-ROM (BluRay Disc Read Only Memory), the first DMA request bandwidth calculation unit B1 sets 480 MB / s as the request bandwidth W1, and calculates the second DMA request bandwidth. The part B2 sets 30 MB / s as the required bandwidth W2, the third DMA request bandwidth calculation part B3 sets 50 MB / s as the request bandwidth W3, and the fourth DMA request bandwidth calculation part B4 200 MB / s is set as the bandwidth W4. In the case of viewing DTV (digital television), the first DMA request bandwidth calculation unit B1 sets 480 MB / s as the request bandwidth W1, and the second and third DMA request bandwidth calculation units B2 , B3 sets 0 MB / s as the required bandwidths W2 and W3, and the fourth DMA required bandwidth calculation unit B4 sets 500 MB / s as the required bandwidth W4.

また、システム動作状態判定部11が限界バンド幅保持部G0に対して送出するシステム全体での限界バンド幅σ0 の算出については、上に述べたメモリスペックから決定する固定値を用いる場合のほかに、システムの同時動作の組み合わせから各動作への配分を決定する方式も考えられる。これを、例えば図3のテーブル情報で例示する。視聴側とバックグラウンド側とで個別に動作ができるシステムでは、各々の動作組み合わせにおける重要度を考慮し、限界バンド幅σ0 の割り付けを変更することができる。この場合は限界バンド幅保持部G0が図3に示されるテーブル情報を保持し、システム動作状態判定部11が限界バンド幅保持部G0へ同時動作の組み合わせ番号を通知することで、制御対象のDMAが属する動作側の限界バンド幅σ0 を求めることができる。 Further, the calculation of the limit bandwidth σ 0 for the entire system sent from the system operation state determination unit 11 to the limit bandwidth holding unit G0 is not limited to the case where a fixed value determined from the memory specifications described above is used. In addition, a method of determining distribution to each operation from a combination of simultaneous operations of the system is also conceivable. This is illustrated by the table information in FIG. 3, for example. In a system that can operate individually on the viewing side and the background side, the allocation of the limit bandwidth σ 0 can be changed in consideration of the importance in each operation combination. In this case, the limit bandwidth holding unit G0 holds the table information shown in FIG. 3, and the system operation state determination unit 11 notifies the limit bandwidth holding unit G0 of the combination number of the simultaneous operation, thereby controlling the DMA to be controlled. it can be determined limit bandwidth sigma 0 operation side belongs.

例えば、視聴側動作がDTV再生でバックグラウンド側動作がDTV録画の組み合わせ#1の場合には、限界バンド幅σ0 について視聴側動作で500MB/s、バックグラウンド側動作でも500MB/sに設定する。また、視聴側動作がBD−ROM再生(プライマリ)でバックグラウンド側動作がBD−ROM再生(セカンダリ)の組み合わせ#2の場合には、限界バンド幅σ0 について視聴側動作で700MB/s、バックグラウンド側動作で300MB/sに設定する。また、視聴側動作がBD−ROM再生(限定付きプライマリ)でバックグラウンド側動作がDTV録画の組み合わせ#3の場合には、限界バンド幅σ0 について視聴側動作で500MB/s、バックグラウンド側動作でも500MB/sに設定する。 For example, when the viewer-side operating background side operate in DTV playing combinations # 1 of DTV recordings, 500MB / s in view side operating the limitations bandwidth sigma 0, set to 500MB / s in the background side operation . When the viewing side operation is BD-ROM playback (primary) and the background side operation is BD-ROM playback (secondary) combination # 2, the viewer side operation is 700 MB / s for the limit bandwidth σ 0 , Set to 300 MB / s by ground side operation. When the viewing side operation is BD-ROM playback (primary with limitation) and the background side operation is DTV recording combination # 3, the viewing side operation is 500 MB / s for the limit bandwidth σ 0 , and the background side operation is However, it is set to 500 MB / s.

以上詳述したように本実施の形態によれば、複数のDMAマスタが存在するシステムにおいて、システム動作状態が激しく変動することがある過渡期間において、要求バンド幅総和σが瞬間的にシステム全体での限界バンド幅σ0 を上回った場合、複数あるDMA要求生成部Y1〜Y4のDMA要求のすべてまたは必要ないくつかを無効化することで、メモリアクセスにかかる負荷を軽減し、システム破綻を防ぐことができる。またその後、システムが定常状態に向かうにつれて要求バンド幅総和σがシステム全体での限界バンド幅σ0 以下に復帰した際には、先ほど無効化しておいたDMAが許可されるようになるため、定常状態においてはすべてのDMAが必要なバンド幅を獲得することができる。 As described above in detail, according to the present embodiment, in a system having a plurality of DMA masters, the required total bandwidth σ is instantaneously changed over the entire system during a transient period in which the system operation state may fluctuate drastically. When the limit bandwidth σ 0 is exceeded, all or some of the DMA requests of the plurality of DMA request generation units Y1 to Y4 are invalidated to reduce the load on memory access and prevent system failure be able to. After that, when the requested bandwidth sum σ returns to the limit bandwidth σ 0 or less of the entire system as the system goes to a steady state, the DMA that has been invalidated earlier is permitted. In the state, all DMAs can get the required bandwidth.

(実施の形態2)
図4は本発明の実施の形態2におけるDMA調停装置を包含したシステム全体の構成を示すブロック図である。
(Embodiment 2)
FIG. 4 is a block diagram showing the configuration of the entire system including the DMA arbitration device according to the second embodiment of the present invention.

本実施の形態においては、ホストCPU10、複数のDMA制御部C1〜C4、メモリI/F30と、メモリ40については、実施の形態1と同じである。そして、DMA要求調停部20においては、実施の形態1の場合の単一のDMA要求処理部P0がなく、代わりに個々のDMA要求生成部Y1〜Y4に対応して複数のDMA要求処理部P1〜P4が設けられ、また実施の形態1の場合の要求バンド幅総和算出部21がなく、個々のDMA要求バンド幅算出部B1〜B4に対応して複数のバンド幅比較部H1〜H4が設けられ、さらに実施の形態1の場合の単一の限界バンド幅保持部G0に代えて複数の限界バンド幅保持部G1〜G4が設けられている。   In the present embodiment, the host CPU 10, the plurality of DMA control units C1 to C4, the memory I / F 30, and the memory 40 are the same as those in the first embodiment. The DMA request arbitration unit 20 does not have the single DMA request processing unit P0 in the case of the first embodiment, and instead, a plurality of DMA request processing units P1 corresponding to the individual DMA request generation units Y1 to Y4. To P4, and there is no required bandwidth summation calculation unit 21 in the first embodiment, and a plurality of bandwidth comparison units H1 to H4 are provided corresponding to the individual DMA request bandwidth calculation units B1 to B4. Further, a plurality of limit bandwidth holding portions G1 to G4 are provided instead of the single limit bandwidth holding portion G0 in the case of the first embodiment.

ホストCPU10における個々のDMA要求生成部Y1〜Y4は、それぞれ、DMA要求調停部20における個別のDMA要求処理部P1〜P4に対して必要なDMAのリクエストを発行するように構成されている。   The individual DMA request generation units Y1 to Y4 in the host CPU 10 are configured to issue necessary DMA requests to the individual DMA request processing units P1 to P4 in the DMA request arbitration unit 20, respectively.

ホストCPU10における個々のDMA要求バンド幅算出部B1〜B4は、それぞれ、算出結果の要求バンド幅W1〜W4を個別のバンド幅比較部H1〜H4に送出するように構成されている。   Each of the DMA request bandwidth calculation units B1 to B4 in the host CPU 10 is configured to send the calculated request bandwidths W1 to W4 to the individual bandwidth comparison units H1 to H4, respectively.

ホストCPU10におけるシステム動作状態判定部11は、現在のユースケースを限界バンド幅保持部G1〜G4に通知するように構成されている。そして、DMA要求調停部20における個々の限界バンド幅保持部G1〜G4は、その内部に、図5に示すようなユースケース毎の各DMAの限界バンド幅テーブル情報を保持しており、システム動作状態判定部11からのユースケース通知に従って現在の自担当DMAの個別の限界バンド幅Wo1,Wo2,Wo3,Wo4を知り、それぞれバンド幅比較部H1〜H4へ通知するように構成されている。 The system operation state determination unit 11 in the host CPU 10 is configured to notify the current use case to the limit bandwidth holding units G1 to G4. Each of the limit bandwidth holding units G1 to G4 in the DMA request arbitration unit 20 holds the limit bandwidth table information of each DMA for each use case as shown in FIG. According to the use case notification from the state determination unit 11, the individual limit bandwidths W o1 , W o2 , W o3 , and W o4 of the current self-assigned DMA are known and notified to the bandwidth comparison units H1 to H4, respectively. ing.

バンド幅比較部H1〜H4のそれぞれは、DMA要求バンド幅算出部B1〜B4からの要求バンド幅W1〜W4をそれぞれ限界バンド幅保持部G1〜G4からの個別の限界バンド幅Wo1,Wo2,Wo3,Wo4と比較し、要求バンド幅W1〜W4のそれぞれが個別の限界バンド幅Wo1,Wo2,Wo3,Wo4以下のときはDMA要求を有効化すべくDMA停止信号Sp1,Sp2,Sp3,Sp4をインアクティブにしてDMA要求処理部P1〜P4に出力し、要求バンド幅W1〜W4のそれぞれが個別の限界バンド幅Wo1,Wo2,Wo3,Wo4を上回っているときはDMA要求を無効化すべくDMA停止信号Sp1,Sp2,Sp3,Sp4をアクティブにしてDMA要求処理部P1〜P4に出力するものとして構成されている。 Each of the bandwidth comparison units H1 to H4 uses the request bandwidths W1 to W4 from the DMA request bandwidth calculation units B1 to B4 as individual limit bandwidths W o1 and W o2 from the limit bandwidth holding units G1 to G4, respectively. , W o3 , W o4, and when the requested bandwidths W1 to W4 are less than the individual limit bandwidths W o1 , W o2 , W o3 , W o4 , the DMA stop signal Sp 1 is set to validate the DMA request. , Sp 2, Sp 3, and the Sp 4 inactive and outputs the DMA request processing unit P1 to P4, respectively required bandwidth W1~W4 individual limit bandwidth W o1, W o2, W o3 , W o4 Is exceeded, the DMA stop signals Sp 1 , Sp 2 , Sp 3 and Sp 4 are made active and output to the DMA request processing units P1 to P4 in order to invalidate the DMA request.

個々のDMA要求処理部P1〜P4は、それぞれバンド幅比較部H1〜H4からのDMA停止信号Sp1,Sp2,Sp3,Sp4がインアクティブで許可を示しているのであれば、DMA要求生成部Y1〜Y4からのDMAリクエストをスルーさせてそれぞれ対応するDMA制御部C1〜C4に送出する一方、バンド幅比較部H1〜H4からのDMA停止信号Sp1,Sp2,Sp3,Sp4がアクティブで停止を指示しているのであれば、DMA要求生成部Y1〜Y4のDMAリクエストを停止するものとして構成されている。 Each of the DMA request processing units P1 to P4 receives a DMA request if the DMA stop signals Sp 1 , Sp 2 , Sp 3 , and Sp 4 from the bandwidth comparison units H 1 to H 4 are inactive and indicate permission. The DMA requests from the generation units Y1 to Y4 are passed through and sent to the corresponding DMA control units C1 to C4, respectively, while the DMA stop signals Sp 1 , Sp 2 , Sp 3 , Sp 4 from the bandwidth comparison units H1 to H4 are sent. Is active and instructs to stop, it is configured to stop the DMA request of the DMA request generation units Y1 to Y4.

その他の構成については、実施の形態1の場合と同様であるので、説明を省略する。   Since other configurations are the same as those in the first embodiment, description thereof is omitted.

次に、上記構成の本実施の形態のDMA調停装置による実際のメモリアクセス調停動作を説明する。   Next, an actual memory access arbitration operation by the DMA arbitration device of the present embodiment having the above configuration will be described.

まず、ホストCPU10がシステムの動作状態に応じてDMA要求生成部Y1〜Y4を経由し、必要なDMAのリクエストを発行し、その一方で、個々のDMA要求バンド幅算出部B1〜B4において各DMAの設定状況を基に各DMAが要求するバンド幅を算出する。さらに、各限界バンド幅保持部G1〜G4は、システム動作状態判定部11からのユースケース通知に基づいて現在の自担当DMAの個別の限界バンド幅Wo1,Wo2,Wo3,Wo4を選択して保持し、バンド幅比較部H1〜H4へ通知する。バンド幅比較部H1〜H4は、個々のDMA要求バンド幅算出部B1〜B4および限界バンド幅保持部G1〜G4からの通知を受け、各DMAごとに要求が限界を上回っているか否かの判定を行う。 First, the host CPU 10 issues necessary DMA requests via the DMA request generation units Y1 to Y4 according to the operating state of the system, while each DMA request bandwidth calculation unit B1 to B4 performs each DMA request. The bandwidth required by each DMA is calculated based on the setting status. Further, each of the limit bandwidth holding units G1 to G4 sets the individual limit bandwidths W o1 , W o2 , W o3 , and W o4 of the current DMA in accordance with the use case notification from the system operation state determination unit 11. Select and hold, and notify the bandwidth comparison units H1 to H4. The bandwidth comparison units H1 to H4 receive notifications from the individual DMA request bandwidth calculation units B1 to B4 and the limit bandwidth holding units G1 to G4, and determine whether or not the request exceeds the limit for each DMA. I do.

すなわち、バンド幅比較部H1は、DMA要求バンド幅算出部B1からの個別の要求バンド幅W1を限界バンド幅保持部G1からの個別の限界バンド幅Wo1と比較し、以下のときはDMA要求を有効化すべくDMA停止信号Sp1をインアクティブにしてDMA要求処理部P1に出力し、上回っているときはDMA要求を無効化すべくDMA停止信号Sp1をアクティブにしてDMA要求処理部P1に出力する。同様に、バンド幅比較部H2は、DMA要求バンド幅算出部B2からの要求バンド幅W2を限界バンド幅保持部G2からの限界バンド幅Wo2と比較し、以下のときはDMA停止信号Sp2をインアクティブにしてDMA要求処理部P2に出力し、上回っているときはDMA停止信号Sp2をアクティブにしてDMA要求処理部P2に出力する。同様に、バンド幅比較部H3は、DMA要求バンド幅算出部B3からの要求バンド幅W3を限界バンド幅保持部G3からの限界バンド幅Wo3と比較し、以下のときはDMA停止信号Sp3をインアクティブにしてDMA要求処理部P3に出力し、上回っているときはDMA停止信号Sp3をアクティブにしてDMA要求処理部P3に出力する。同様に、バンド幅比較部H4は、DMA要求バンド幅算出部B4からの要求バンド幅W4を限界バンド幅保持部G4からの限界バンド幅Wo4と比較し、以下のときはDMA停止信号Sp4をインアクティブにしてDMA要求処理部P4に出力し、上回っているときはDMA停止信号Sp4をアクティブにしてDMA要求処理部P4に出力する。 That is, the bandwidth comparison unit H1 compares the individual request bandwidth W1 from the DMA request bandwidth calculation unit B1 with the individual limit bandwidth Wo1 from the limit bandwidth holding unit G1, and in the following cases , the DMA request The DMA stop signal Sp 1 is made inactive to output the DMA request processing unit P1 and the DMA stop signal Sp 1 is made active and output to the DMA request processing unit P1 to invalidate the DMA request. To do. Similarly, the bandwidth comparison unit H2 compares the request bandwidth W2 from the DMA request bandwidth calculation unit B2 with the limit bandwidth W o2 from the limit bandwidth holding unit G2, and in the following cases , the DMA stop signal Sp 2 the in the inactive outputs the DMA request processing unit P2, above and outputs to the DMA request processing section P2 by the DMA stop signal Sp 2 activates when being. Similarly, bandwidth comparison unit H3 is a request bandwidth W3 from the DMA request bandwidth calculating unit B3 and compared with a limit band width W o3 from the limit bandwidth holder G3, DMA stop signal Sp 3 when the following the in the inactive outputs the DMA request processing unit P3, above and outputs to the DMA request processing unit P3 and the DMA stop signal Sp 3 activates when being. Similarly, the bandwidth comparison unit H4 compares the request bandwidth W4 from the DMA request bandwidth calculation unit B4 with the limit bandwidth W o4 from the limit bandwidth holding unit G4, and the DMA stop signal Sp 4 in the following cases. the in the inactive outputs the DMA request processing unit P4, exceeds outputs the DMA request processing unit P4 activate the DMA stop signal Sp 4 when being.

DMA要求処理部P1〜P4のそれぞれは、DMA要求生成部Y1〜Y4からのDMA要求があり、かつバンド幅比較部H1〜H4からのDMA停止信号Sp1〜Sp4がインアクティブで許可状態である場合には、DMA制御部C1〜C4へDMA起動を要求し、逆に、DMA停止信号Sp1〜Sp4がアクティブで不許可状態である場合には、DMA制御部C1〜C4へのDMA要求を停止する。これらの制御は、個々のDMA要求ごとに独立的に行われる。 Each DMA request processing unit P1 to P4, have DMA request from DMA request generating unit Y1 to Y4, and DMA stop signal Sp 1 to SP 4 from bandwidth comparison unit H1~H4 is an authorized state inactive in some cases, it requests the DMA start to the DMA controller C1 -C4, conversely, when the DMA stop signal Sp 1 to SP 4 are disallowed state is active, the DMA to the DMA controller C1 -C4 Stop the request. These controls are performed independently for each DMA request.

以上の制御の結果、個別の要求バンド幅W1〜W4がそれぞれ個別の限界バンド幅Wo1〜Wo4以下に戻った場合に、もしその時点でDMAに対して停止指示もしくはダミーアクセス化指示を発行していた場合、その指示を解除する。こうすることで、最終的にはDMA要求生成部Y1〜Y4が発行したDMA要求がそのまま各DMA制御部C1〜C4に到達し、定常状態として正常なシステム動作が再開される。 As a result of the above control, if the individual required bandwidths W1 to W4 return to the individual limit bandwidths W o1 to W o4 or less, a stop instruction or dummy access instruction is issued to the DMA at that time If so, cancel the instructions. By doing so, finally, the DMA request issued by the DMA request generators Y1 to Y4 reaches each DMA controller C1 to C4 as it is, and normal system operation is resumed as a steady state.

以上詳述したように本実施の形態によれば、システムの動作状態切り替えの変動が激しい過渡期間において、DMA起動と停止の要求が輻輳し瞬間的に個々の要求バンド幅W1〜W4が個別的に個別の限界バンド幅Wo1〜Wo4を上回りシステム破綻を招きかねない場面において、本DMA調停装置がシステム破綻を事前に察知し、DMA要求を調停していくことで、システムの動作切り替えを安全に行うことができる。各DMAが他のDMAとは独立して個別的に停止される。したがって、システム動作切り替えの過渡期間で発生するシステム限界を上回る個別のバンド幅要求を調停しつつ、次のシステム定常状態に向けてホストが要求バンド幅の変更や限界バンド幅の更新を行うことにより、最終的に、各DMAが必要とするバンド幅を獲得することができる。 As described above in detail, according to the present embodiment, requests for DMA start and stop are congested in a transient period in which the fluctuation of the system operation state switching is severe, and individual request bandwidths W1 to W4 are individually determined instantaneously. In a situation where the system bandwidth may exceed the limit bandwidth W o1 to W o4 , the DMA arbitration device detects the system failure in advance and arbitrates the DMA request to switch the system operation. It can be done safely. Each DMA is individually stopped independently of the other DMAs. Therefore, by arbitrating individual bandwidth requests that exceed the system limits that occur during the transition period of system operation switching, the host changes the requested bandwidth or updates the critical bandwidth for the next system steady state. Finally, the bandwidth required by each DMA can be acquired.

なお、上述した実施の形態1,2における処理は、これをソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布してもよい。   The processing in the first and second embodiments described above may be realized by software. Then, this software may be distributed by software download or the like. Further, this software may be recorded and distributed on a recording medium such as a CD-ROM.

本発明は、以上の実施の形態に限定されることなく、本発明の技術的範囲内で種々の変更が可能である。   The present invention is not limited to the above embodiment, and various modifications can be made within the technical scope of the present invention.

本発明の技術は、システムの動作状態切り替えの変動が激しい過渡期間において、DMA起動と停止の要求が輻輳し瞬間的に要求バンド幅総和または個別の要求バンド幅がシステム限界を上回りシステム破綻を招きかねない場面において、システムの動作切り替えを安全に行えるという効果を有し、DMA調停装置等として有用である。   In the technology of the present invention, during the transition period in which the operation state switching of the system is severe, the DMA start and stop requests are congested, and the total required bandwidth or the individual required bandwidth instantaneously exceeds the system limit, resulting in system failure. In such a situation, there is an effect that the operation of the system can be switched safely, and it is useful as a DMA arbitration device or the like.

本発明の実施の形態1におけるDMA調停装置を包含したシステム全体の構成を示すブロック図1 is a block diagram showing a configuration of an entire system including a DMA arbitration device in Embodiment 1 of the present invention. 本発明の実施の形態1において、各DMAの要求バンド幅をシステムのユースケースから求めるためのユースケースと要求バンド幅の対応表In the first embodiment of the present invention, the correspondence table between use cases and required bandwidths for obtaining the required bandwidth of each DMA from the use cases of the system 本発明実施の形態1において、システム同時動作組み合わせから限界バンド幅配分を決定するための配分表の一例In Embodiment 1 of the present invention, an example of an allocation table for determining a critical bandwidth allocation from a system simultaneous operation combination 本発明の実施の形態2におけるDMA調停装置を包含したシステム全体の構成を示すブロック図The block diagram which shows the structure of the whole system including the DMA arbitration apparatus in Embodiment 2 of this invention. 本発明実施の形態2において、システムのユースケースから限界バンド幅をDMA個別に決定するための限界バンド幅一覧の例In Embodiment 2 of the present invention, an example of a list of limit bandwidths for determining a limit bandwidth individually for each DMA from a system use case

10 ホストCPU
11 システム動作状態判定部
20 DMA要求調停部
21 要求バンド幅総和算出部
30 メモリI/F
40 メモリ
Y1〜Y4 DMA要求生成部
B1〜B4 DMA要求バンド幅算出部
P0,P1〜P4 DMA要求処理部
H0,H1〜H4 バンド幅比較部
G0,G1〜G4 限界バンド幅保持部
C1〜C4 DMA制御部
W1〜W4 要求バンド幅
o1〜Wo4 個別の限界バンド幅
σ 要求バンド幅総和
σ0 システム全体での限界バンド幅
Sp,Sp1,Sp2,Sp3,Sp4 DMA停止信号
10 Host CPU
11 System Operation State Judgment Unit 20 DMA Request Arbitration Unit 21 Total Required Bandwidth Calculation Unit 30 Memory I / F
40 memory Y1-Y4 DMA request generation unit B1-B4 DMA request bandwidth calculation unit P0, P1-P4 DMA request processing unit H0, H1-H4 bandwidth comparison unit G0, G1-G4 limit bandwidth holding unit C1-C4 DMA controller W1~W4 request bandwidth W o1 to W-o4 limit bandwidth Sp across individual limit bandwidth sigma request bandwidth sum sigma 0 system, Sp 1, Sp 2, Sp 3, Sp 4 DMA stop signal

Claims (16)

複数のDMAマスタそれぞれのDMA要求を独立して発行する複数のDMA要求生成手段と、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出する複数のDMA要求バンド幅算出手段と、
前記複数のDMA要求バンド幅算出手段による各要求バンド幅の総和を求める要求バンド幅総和算出手段と、
前記要求バンド幅総和算出手段で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するバンド幅比較手段と、
前記バンド幅比較手段による比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMA要求生成手段それぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記DMA要求生成手段のDMA要求を無効化するDMA要求処理手段とを備えたDMA調停装置。
A plurality of DMA request generation means for independently issuing a DMA request for each of a plurality of DMA masters;
A plurality of DMA request bandwidth calculation means for individually calculating a request bandwidth of each of the plurality of DMA masters;
Request bandwidth total calculating means for calculating the sum of each requested bandwidth by the plurality of DMA request bandwidth calculating means;
Bandwidth comparison means for comparing the required bandwidth total obtained by the required bandwidth total calculation means with the limit bandwidth in the entire system;
As a result of the comparison by the bandwidth comparison unit, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA request generation units is validated, and conversely, the total required bandwidth is A DMA arbitration device comprising DMA request processing means for invalidating the DMA request of the DMA request generation means when the bandwidth exceeds the limit bandwidth of the entire system.
複数のDMAマスタそれぞれのDMA要求を独立して発行する複数のDMA要求生成手段と、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出する複数のDMA要求バンド幅算出手段と、
前記複数のDMA要求バンド幅算出手段で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較する複数のバンド幅比較手段と、
前記複数のバンド幅比較手段の1つずつにつき、前記バンド幅比較手段による比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する前記DMA要求生成手段のDMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する前記DMA要求生成手段のDMA要求を無効化する複数のDMA要求処理手段とを備えたDMA調停装置。
A plurality of DMA request generation means for independently issuing a DMA request for each of a plurality of DMA masters;
A plurality of DMA request bandwidth calculation means for individually calculating a request bandwidth of each of the plurality of DMA masters;
A plurality of bandwidth comparison means for comparing individual request bandwidths calculated by the plurality of DMA request bandwidth calculation means with individual limit bandwidths;
For each of the plurality of bandwidth comparison means, if the individual required bandwidth is equal to or less than the individual limit bandwidth as a result of comparison by the bandwidth comparison means, the DMA request of the corresponding DMA request generation means And a plurality of DMA request processing means for invalidating the DMA request of the corresponding DMA request generation means when the individual request bandwidth exceeds the individual limit bandwidth. .
前記DMA要求バンド幅算出手段は、システムの動作状態に基づいて前記要求バンド幅を設定する請求項1または請求項2に記載のDMA調停装置。   The DMA arbitration device according to claim 1 or 2, wherein the DMA request bandwidth calculation means sets the request bandwidth based on an operating state of a system. 前記DMA要求バンド幅算出手段は、DMAマスタに対する制御情報に基づいて前記要求バンド幅を設定する請求項1または請求項2に記載のDMA調停装置。   3. The DMA arbitration device according to claim 1, wherein the DMA request bandwidth calculation unit sets the request bandwidth based on control information for a DMA master. 前記バンド幅比較手段は、前記限界バンド幅としてある決まった値の限界バンド幅を用いる請求項1から請求項4までのいずれかに記載のDMA調停装置。   The DMA arbitration apparatus according to any one of claims 1 to 4, wherein the bandwidth comparison unit uses a predetermined limit bandwidth as the limit bandwidth. 前記バンド幅比較手段は、前記限界バンド幅としてシステムの同時動作状態の組み合わせに基づいて配分が決定付けられる限界バンド幅を用いる請求項1から請求項4までのいずれかに記載のDMA調停装置。   5. The DMA arbitration apparatus according to claim 1, wherein the bandwidth comparison unit uses a limit bandwidth that is determined to be allocated based on a combination of simultaneous operation states of the system as the limit bandwidth. 6. 前記バンド幅比較手段は、前記限界バンド幅としてシステムの動作状態に応じて各マスタ個別に設定される限界バンド幅を用いる請求項1から請求項4までのいずれかに記載のDMA調停装置。   5. The DMA arbitration device according to claim 1, wherein the bandwidth comparison unit uses a limit bandwidth that is set individually for each master according to an operating state of the system as the limit bandwidth. 6. 前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、最後にアクセス要求を発行したマスタについてアクセス停止させる請求項1から請求項7までのいずれかに記載のDMA調停装置。   8. The DMA request processing unit according to any one of claims 1 to 7, wherein the DMA request processing unit stops access to a master that last issued an access request as a mode of invalidating the DMA requests of the plurality of DMA request generation units. DMA arbiter. 前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、すべてのマスタのアクセスを停止させる請求項1から請求項7までのいずれかに記載のDMA調停装置。   The DMA arbitration apparatus according to any one of claims 1 to 7, wherein the DMA request processing means stops access of all masters as a mode of invalidating DMA requests of the plurality of DMA request generation means. 前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、最後にアクセス要求を発行したマスタについて、メモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替える請求項1から請求項7までのいずれかに記載のDMA調停装置。   The DMA request processing means replaces a memory access with a dummy access that does not put a load on the memory for a master that lastly issued an access request, as a mode of invalidating the DMA requests of the plurality of DMA request generation means. The DMA arbitration apparatus according to claim 7. 前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、すべてのマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替える請求項1から請求項7までのいずれかに記載のDMA調停装置。   The DMA request processing means replaces memory access of all masters with dummy access that does not put a load on the memory as a mode of invalidating DMA requests of the plurality of DMA request generation means. The DMA arbitration device according to any one of the above. 前記DMA要求処理手段は、前記複数のDMA要求生成手段のDMA要求を無効化する態様として、個々のマスタのメモリアクセスを、メモリに負荷のかからないダミーアクセスに差し替えるか、アクセス停止させることの選択を行う請求項1から請求項7までのいずれかに記載のDMA調停装置。   The DMA request processing means, as an aspect of invalidating the DMA requests of the plurality of DMA request generation means, selects whether to replace the memory access of each master with a dummy access that does not put a load on the memory or to stop the access. The DMA arbitration device according to claim 1, wherein the DMA arbitration device is performed. 複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMAマスタそれぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のDMAマスタそれぞれのDMA要求を無効化してメモリアクセスを停止するステップとを含むDMA調停方法。
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Obtaining a sum of required bandwidths of the plurality of DMA masters;
Comparing the total requested bandwidth determined above with the critical bandwidth of the entire system;
As a result of the comparison, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA masters is validated, and conversely, the total required bandwidth is And a step of disabling a DMA request of each of the plurality of DMA masters to stop memory access when exceeding a limit bandwidth.
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記DMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記DMA要求を無効化してメモリアクセスを停止するステップとを含むDMA調停方法。
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Individually calculating the required bandwidth of each of the plurality of DMA masters;
Comparing the individual required bandwidth calculated above with each individual limit bandwidth;
If the individual requested bandwidth is less than or equal to the individual limit bandwidth as a result of the comparison, the corresponding individual DMA request is enabled, and conversely, the individual request bandwidth is less than the individual limit bandwidth. Invalidating the corresponding individual DMA request and stopping memory access when exceeded.
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタの要求バンド幅の総和を求めるステップと、
前記で求めた要求バンド幅総和をシステム全体での限界バンド幅と比較するステップと、
前記の比較の結果として前記要求バンド幅総和が前記システム全体での限界バンド幅以下のときは前記複数のDMAマスタそれぞれのDMA要求を有効化し、逆に前記要求バンド幅総和が前記システム全体での限界バンド幅を上回るときは前記複数のDMAマスタそれぞれのDMA要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なDMA調停用のプログラム。
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Obtaining a sum of required bandwidths of the plurality of DMA masters;
Comparing the total requested bandwidth determined above with the critical bandwidth of the entire system;
As a result of the comparison, when the total required bandwidth is equal to or less than the limit bandwidth of the entire system, the DMA request of each of the plurality of DMA masters is validated, and conversely, the total required bandwidth is A computer-executable program for DMA arbitration, including a step of disabling a DMA request of each of the plurality of DMA masters and stopping a memory access when a limit bandwidth is exceeded.
複数のDMAマスタが存在するシステムにおいて、
前記複数のDMAマスタそれぞれのDMA要求を独立して発行するステップと、
前記複数のDMAマスタそれぞれの要求バンド幅を個別に算出するステップと、
前記で算出した個別の要求バンド幅をそれぞれ個別の限界バンド幅と比較するステップと、
前記の比較の結果として前記個別の要求バンド幅が前記個別の限界バンド幅以下のときは対応する個別の前記DMA要求を有効化し、逆に前記個別の要求バンド幅が前記個別の限界バンド幅を上回るときは対応する個別の前記DMA要求を無効化してメモリアクセスを停止するステップとを含むコンピュータ実行可能なDMA調停用のプログラム。
In a system with multiple DMA masters,
Independently issuing a DMA request for each of the plurality of DMA masters;
Individually calculating the required bandwidth of each of the plurality of DMA masters;
Comparing the individual required bandwidth calculated above with each individual limit bandwidth;
If the individual requested bandwidth is less than or equal to the individual limit bandwidth as a result of the comparison, the corresponding individual DMA request is enabled, and conversely, the individual request bandwidth is less than or equal to the individual limit bandwidth. A computer-executable program for DMA arbitration, comprising: invalidating a corresponding individual DMA request and stopping memory access when exceeding.
JP2009071376A 2009-03-24 2009-03-24 Dma arbitration device, dma arbitration method, and dma arbitration program Pending JP2010224866A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009071376A JP2010224866A (en) 2009-03-24 2009-03-24 Dma arbitration device, dma arbitration method, and dma arbitration program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009071376A JP2010224866A (en) 2009-03-24 2009-03-24 Dma arbitration device, dma arbitration method, and dma arbitration program

Publications (1)

Publication Number Publication Date
JP2010224866A true JP2010224866A (en) 2010-10-07

Family

ID=43041987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009071376A Pending JP2010224866A (en) 2009-03-24 2009-03-24 Dma arbitration device, dma arbitration method, and dma arbitration program

Country Status (1)

Country Link
JP (1) JP2010224866A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258257B2 (en) 2013-01-10 2016-02-09 Qualcomm Incorporated Direct memory access rate limiting in a communication device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258257B2 (en) 2013-01-10 2016-02-09 Qualcomm Incorporated Direct memory access rate limiting in a communication device

Similar Documents

Publication Publication Date Title
JP6580380B2 (en) Image processing apparatus and image processing method
JP4580845B2 (en) Task execution device
US8601192B2 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
GB2500915A (en) Measurement and control of bandwidth in an interconnect
JP2007095040A (en) Data processing apparatus, program, recording medium, and content playback apparatus
JP2007172601A (en) Method and system for throttling in blade computer system
WO2011021318A1 (en) Multi-core system, control method of multi-core system, and multiprocessor
TWI446150B (en) A method and apparatus for dynamic voltage dithering and machine readable storage medium
JP4530971B2 (en) Startup processing apparatus, DMA transfer system, and DMA transfer method
JP5338905B2 (en) Cache control device and cache control method
CN110059035B (en) Semiconductor device and bus generator
JP2010224866A (en) Dma arbitration device, dma arbitration method, and dma arbitration program
JP2009251713A (en) Cache memory control unit
JPWO2007099659A1 (en) Data transfer apparatus and data transfer method
JP5741245B2 (en) Image processing apparatus, image processing control method, and image processing control program
WO2011016168A1 (en) Memory access device and video processing system
US7681067B2 (en) Bus system
JP2006343946A (en) Memory access controller, and computer program
JP5783348B2 (en) Control device, control program, and image forming apparatus
KR100376610B1 (en) Pre-arbitration request limiter for an integrated multi-master bus system
US11487605B2 (en) Preemptive signal integrity control
JP2006040167A (en) Bus arbitration circuit, information processing device, and program and recording medium for the same
JP5125296B2 (en) Transfer amount control device
JP2005267255A (en) Clock automatic stop controller, and electronic apparatus or image processing apparatus having the controller
JP2008198098A (en) Information processor