JP4335327B2 - Arbitration apparatus and method - Google Patents
Arbitration apparatus and method Download PDFInfo
- Publication number
- JP4335327B2 JP4335327B2 JP34139897A JP34139897A JP4335327B2 JP 4335327 B2 JP4335327 B2 JP 4335327B2 JP 34139897 A JP34139897 A JP 34139897A JP 34139897 A JP34139897 A JP 34139897A JP 4335327 B2 JP4335327 B2 JP 4335327B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data transfer
- processing device
- processing
- request
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、調停装置および方法に関し、より特定的には、デジタル圧縮または伸長された映像や音声等のデータと、CPU(コンピュータ・プロセシング・ユニット)のプログラム等とを、混在して蓄積可能な共有メモリを有するシステムにおける調停装置および方法に関する。
【0002】
【従来の技術】
近年、デジタル放送受信機などに代表されるように、デジタル静止画や動画の自然画表示とCPU等による幾何学的なグラフィックス表示を同時に行う映像システムが一般化している。この映像システムにおいて、CPU、デジタル画像の表示およびグラフィックスの表示を行う各処理装置は、それぞれの処理装置ごとに必要な容量のメモリを有し、必要なときにメモリに対してデータの転送が可能であった。
【0003】
図13(a)は、従来の映像システムの構成の一例を示すブロック図である。
図13(a)において、従来の映像システムは、チューナ/復調部501と、MPEG(Moving Picture Experts Group)のTSデコーダ502、MPEGのAVデコーダ504、グラフィックス制御506およびCPU508の処理装置とを備える。そして、これらの処理装置は、それぞれ独自にローカルメモリ503,505、グラフィックメモリ507およびプログラムメモリ509を有しており、それぞれ必要に応じて個別にデータ転送を行っている。
しかし、近年の技術革新による1個のチップに内蔵できるメモリ容量の増加とメモリ転送速度の増大に伴い、各処理装置ごとに分散していたメモリが共有化される傾向がある。
【0004】
図13(b)は、上記メモリの共用化がされた従来の映像システムの構成の一例を示すブロック図である。
図13(b)に示す従来の映像システムは、図13(a)に示す従来の映像システムにおいて個別に構成されていたTSデコーダ502、AVデコーダ504、グラフィックス制御506およびCPU508の機能を、1つの機能ブロック520にまとめて構成している。また、ローカルメモリ503,505、グラフィックメモリ507およびプログラムメモリ509を共用化し、1つのメモリブロック530にまとめて構成している。
【0005】
このように、1つのメモリブロック530に対して複数の処理装置からデータ転送が行われる場合、機能ブロック520とメモリブロック530との間におけるデータ転送の調停を行う調停装置が必要である。調停装置とは、各処理装置から競合するデータ転送要求に対し、予め定めた手法でデータ転送の順番を決定するものである。
【0006】
図14は、従来の調停装置540を用いた映像システムの主要な構成部分の一例を示す図である。
図14を参照して、調停装置540は、機能ブロック520、すなわち各処理装置からのデータ転送要求を示す信号BR(Bus Request)を受け付けた後、ある手法を用いて転送順位を決定し、任意の1つの処理装置に対してデータ転送許可を示す信号BG(Bus Grant)を出力する。この転送許可BGを受けた処理装置は、この後データ転送を開始する。
【0007】
上記調停装置540におけるデータ転送順位を決定する手法として、従来から固定優先順位方式やラウンドロビン方式等が用いられている。
以下、図15〜図17を参照して、上記ラウンドロビン方式のうち、バス使用権利駐在ラウンドロビン方式を一例に挙げて説明する。
【0008】
図15は、従来のバス使用権利駐在ラウンドロビン方式の調停装置の構成の一例を示すブロック図である。図16は、図15の従来のバス使用権利駐在ラウンドロビン方式の調停方法の状態遷移を示す図である。図17は、図15の従来の調停システムにおけるデータ転送タイミングの一例を示す図である。図17における信号は、ローアクティブである。
なお、以下、図15〜図17においては、説明を容易にするため、データ転送要求を行う処理装置として、第1および第2の処理装置の2つが存在する場合について述べる。
【0009】
図15において、第i(iは1または2、以下同じ)の処理装置からの転送要求BRiを受け付けると、転送要求受付部541は、いずれかの処理装置がバスを使用中(ビジー)であることを示す信号BB(Bus Busy)によってバスが使用中であるか否かを判断する。バスビジーBBは、各処理装置のいずれかがバスを使用している場合にアクティブとなる信号である。この判断時点でバスが使用中でなければ、転送要求受付部541は、転送許可出力部542に対して転送許可要求信号を出す。転送許可要求信号を受けた転送許可出力部542は、その時点でバス使用権利(すぐにバスが使用できるという優先的な権利をいう)がどこに駐在しているかを判定する。ここで、上記転送要求BRiが、バス使用権利が駐在している処理装置からの要求であれば、すでに転送許可BGiが出されたままであるので、引き続き当該処理装置に対して転送許可BGiを出し続ける。一方、上記転送要求BRiが、バス使用権利が駐在していない処理装置からの要求であれば、当該処理装置に対し転送許可BGiが出力される。
【0010】
このように、バス使用権利が駐在している処理装置は、転送要求信号BRiを調停装置540に出力すると同時にデータ転送を開始できる。一方、バス使用権利が駐在していない処理装置は、転送要求信号BRiを調停装置540に出力して、転送許可信号BGiを受け取った後に初めてデータ転送を開始できる。
【0011】
次に、図16を参照して、従来のバス使用権利駐在ラウンドロビン方式の調停装置の状態遷移を説明する。図16において、丸図形は状態を表し、矢印は状態の遷移を表す。そして、状態「駐在i」は、第iの処理装置に対してバス使用権利が存在していることを示し、状態「許可i」は、第iの処理装置に対してデータ転送の許可が下りていることを示す。
また、遷移616上に記述した‘!BB&BR1’等は、状態を遷移するための条件を示しており、この場合、バスビジーBBの発生がなく、かつ、転送要求BR1の発生があることを表している。
【0012】
初期状態は、状態「駐在1」であるとする(状態601)。この状態「駐在1」は、第2の処理装置が転送要求BR2を出さない限り維持される。状態「駐在1」において、第1の処理装置のみが転送要求BR1を出した場合は、すでに転送許可BG1が出力されているため、状態「駐在1」が維持されたまま(遷移621)待ち時間なしでデータ転送が開始される。しかし、状態「駐在1」において、第2の処理装置が転送要求BR2を出力した場合は、状態「許可2」へ遷移するとともに、第2の処理装置に対する転送許可BG2が出力される(遷移611,状態602)。
【0013】
状態「許可2」においては、転送許可BG2を与えられた第2の処理装置は、バスビジーBBを見ながら(遷移622)第1の処理装置のデータ転送が終了するのを待って自らのデータ転送を開始する。そして、第2の処理装置のデータ転送が終了すると、状態「駐在2」に遷移して次の転送要求BRiがあるまで待機する(遷移612,状態603)。しかし、この状態「許可2」における第2の処理装置のデータ転送中に第1の処理装置の転送要求BR1が発生すると、第2の処理装置のデータ転送の終了後に、直接状態「許可1」へ遷移するとともに、第1の処理装置に対して転送許可BG1が出される(遷移616,状態604)。なお、もちろん状態「許可2」において、第2の処理装置の転送要求BR2が出し続けられている場合には、状態「許可2」にとどまり、第2の処理装置からの転送要求BR2に対する処理を続ける(状態602)。
【0014】
上記処理は、状態「駐在2」および状態「許可1」においても、同様に行われる(状態603および604)。
【0015】
【発明が解決しようとする課題】
しかしながら、上記従来のバス使用権利駐在ラウンドロビン方式の調停装置540は、一の処理装置からのデータ転送要求に対し、バス使用権利が他の処理装置に対して駐在状態にある場合、当該一の処理装置のデータ転送を開始するまでに2サイクルの遅延が必ず発生するという問題がある(図17において、第12のクロック目に転送要求BR1を出力した後、第14のクロック目に第1の処理装置のデータ転送が開始されるまでの2サイクルの遅延)。
また、データ転送要求を受けた調停装置540は、メモリ530の同一ページへの転送や、リード転送を優先的に行うことがトータルの転送効率のアップにつながることが考慮されていないことも問題である。
さらに、特に緊急性を必要としないデータ転送の場合も、バス使用権利駐在ラウンドロビン方式に従ってデータ転送が行われてしまうため、システム全体の性能の低下につながるという問題がある。
【0016】
それ故、本発明の目的は、トータルとしてのデータ転送効率を向上させ、メモリのデータ転送性能を有効に使用することができる調停装置および方法を提供することである。
【0017】
【課題を解決するための手段および発明の効果】
第1の発明は、複数の処理装置により共有された記憶装置と当該複数の処理装置との間の競合するデータ転送を、データ転送要求があった処理装置のいずれか1つに対してデータ転送権利を与えて転送順序を指示する調停装置であって、
前回行ったデータ転送に関する転送アドレス、転送サイズおよび読み出し書き込み等の関連情報を記憶する記憶手段と、
複数の処理装置のそれぞれに対応し、今回の受け付けたデータ転送要求に関する関連情報と記憶手段に記憶されている前回の関連情報とを、それぞれ比較する複数の比較手段と、
複数の比較手段が出力するそれぞれの比較結果と予め定めた規則とに基づいて、複数の処理装置のデータ転送順序を決定する転送順序決定手段と、
転送順序決定手段に従い、複数の処理装置に対してデータ転送権利を付与するデータ転送処理手段とを備える。
【0018】
上記のように、第1の発明によれば、今回の受け付けたデータ転送要求に関する関連情報(例えば、転送データのページアドレス,バンクアドレス、転送データサイズやリード/ライト等)の同一性を考慮してデータ転送の順序を求める。これにより、ページアドレスが変化することによるロー(行)アドレスの再入力や、転送データサイズが変化することによるコマンドの再設定等のオーバーヘッドを最低限に押さえることが可能となり、記憶装置に対するデータ転送効率を向上させることができる。
【0019】
第2の発明は、第1〜第N(Nは2以上の整数)の処理装置により共有された記憶装置と当該第1〜第Nの処理装置との間の競合するデータ転送を、データ転送要求があった処理装置のいずれか1つに対してデータ転送権利を与えて転送順序を指示する調停装置であって、
第1〜第Nの処理装置のそれぞれに対応しており、対応する当該第i(i=1,2,…,N)の処理装置のデータ転送が行われていない時間をカウントし、当該データ転送が開始した時点でカウント値をクリアする第1〜第Nの非転送時間カウンタと、
第1〜第Nの処理装置のそれぞれに対応しており、予め定めた値を格納する第1〜第Nのレジスタと、
第iの非転送時間カウンタの値と第iのレジスタの値とを比較し、当該第iの非転送時間カウンタの値が当該第iのレジスタの値に達した場合に、予め定めた比較結果を出力する第1〜第Nの比較手段と、
第1〜第Nの比較手段が出力する各々の比較結果に基づいて、第1〜第Nの処理装置のデータ転送順序を決定する転送順序決定手段と、
転送順序決定手段に従い、第1〜第Nの処理装置に対してデータ転送権利を付与するデータ転送処理手段とを備え、
第iの非転送時間カウンタの値が第iのレジスタの値に達するまでは、第iの処理装置以外のデータ転送を優先的に行い、当該第iの非転送時間カウンタの値が当該第iのレジスタの値に達した場合は、当該第iの処理装置のデータ転送を行うことを特徴とする。
【0020】
上記のように、第2の発明によれば、各処理装置ごとにデータ転送をしていない時間をカウントし、予め定めた時間に達するまでは、それぞれ処理装置のデータ転送処理を制限する。これにより、一定の時間内に決められた回数のデータ転送を行えばよい処理装置と急を要する処理装置とのデータ転送の調停を、効率的に行うことができる。従って、優先的にデータ転送を行う必要がある処理装置の実行性能の向上を図ることができる。
【0021】
第3の発明は、第2の発明において、第1〜第Nの処理装置のそれぞれに対応しており、対応する当該第iの処理装置のデータ転送が行われていない時間をカウントし、当該データ転送を最後まで完了した時点でカウント値をクリアする第1〜第Nの非転送限界時間カウンタと、
第1〜第Nの処理装置のそれぞれに対応しており、予め定めた値を格納する第1〜第Nの限界時間レジスタと、
第iの非転送限界時間カウンタの値と第iの限界時間レジスタの値とを比較し、当該第iの非転送限界時間カウンタの値が当該第iの限界時間レジスタの値に達した場合に、予め定めた限界比較結果を出力する第1〜第Nの限界比較手段とをさらに備え、
転送順序決定手段は、第1〜第Nの限界比較手段のいずれかが限界比較結果を出力した場合には、当該限界比較結果を優先して当該第1〜第Nの処理装置のデータ転送順序を決定し、
第iの非転送限界時間カウンタの値が第iの限界時間レジスタの値に達した場合には、当該第iの処理装置のデータ転送を最優先して最後まで行うことを特徴とする。
【0022】
上記のように、第3の発明によれば、第2の発明において、さらに各処理装置ごとにデータ転送をしていない時間をカウントし、予め定めた時間に達するまでは、それぞれ処理装置のデータ転送処理を制限するとともに、予め限界時間をレジスタに設定して当該限界時間に達した場合には、最優先でデータ転送処理を行う。これにより、急を要する処理装置のデータ転送処理を優先的に行うとともに、急を要しないが限界時間内に一定量のデータ転送を必要とする処理装置についても、限界時間内のデータ転送の完了を保証することができる。
【0023】
第4の発明は、第1〜第N(Nは2以上の整数)の処理装置により共有された記憶装置と当該第1〜第Nの処理装置との間の競合するデータ転送を、データ転送要求があった処理装置のいずれか1つに対してデータ転送権利を与えて転送順序を指示する調停装置であって、
第1〜第Nの処理装置のそれぞれに対応しており、対応する当該第i(i=1,2,…,N)の処理装置のデータ転送が行われていない時間をカウントし、当該データ転送を最後まで完了した時点でカウント値をクリアする第1〜第Nの非転送限界時間カウンタと、
第1〜第Nの処理装置のそれぞれに対応しており、予め定めた値を格納する第1〜第Nの限界時間レジスタと、
第iの非転送限界時間カウンタの値と第iの限界時間レジスタの値とを比較し、当該第iの非転送限界時間カウンタの値が当該第iの限界時間レジスタの値に達した場合に、予め定めた限界比較結果を出力する第1〜第Nの限界比較手段と、
第1〜第Nの限界比較手段が出力する各々の限界比較結果に基づいて、第1〜第Nの処理装置のデータ転送順序を決定する転送順序決定手段と、
転送順序決定手段に従い、第1〜第Nの処理装置に対してデータ転送権利を付与するデータ転送処理手段とを備え、
第iの非転送限界時間カウンタの値が第iの限界時間レジスタの値に達した場合は、当該第iの処理装置のデータ転送を最優先して最後まで行うことを特徴とする。
【0024】
上記のように、第4の発明によれば、各処理装置ごとにデータ転送をしていない時間をカウントし、予め限界時間をレジスタに設定して当該限界時間に達した場合には、最優先でデータ転送処理を行う。これにより、急を要しないが限界時間内に一定量のデータ転送を必要とする処理装置について、限界時間内のデータ転送を完了することができる。
【0025】
第5の発明は、複数の処理装置により共有された記憶装置と当該複数の処理装置との間の競合するデータ転送を、データ転送要求があった処理装置に対してデータ転送権利を与えて転送順序を指示する調停装置によって制御する調停システムであって、
複数の処理装置は、将来データ転送を行うことを前もって示すデータ転送前要求と、現時点においてデータ転送が必要なことを示すデータ転送本要求とを出力する要求出力手段をそれぞれ備え、
調停装置は、複数の処理装置のいずれかから受けたデータ転送前要求に基づいて、当該データ転送前要求を出力した処理装置に対してデータ転送権利を付与する転送前要求処理手段とを備える。
【0026】
上記のように、第5の発明によれば、将来的にデータ転送が発生する可能性がある処理装置から調停装置に対し、実際のデータ転送要求を出力する前に予めデータ転送前要求を出力することで、転送前要求処理手段は、前もって当該データ転送前要求を出力した処理装置側へバス使用権利を付与することができる。これにより、上記処理装置は、データ転送本要求に時に直ちにデータ転送を開始することができ、データ転送効率を向上させることができる。
【0027】
第6の発明は、複数の処理装置により共有された記憶装置と当該複数の処理装置との間の競合するデータ転送を、データ転送要求があった処理装置に対してデータ転送権利を与えて転送順序を指示する調停装置によって制御する調停システムであって、
複数の処理装置は、データ転送要求に付随して当該データ転送要求の優先度を示す信号を出力し、
調停装置は、複数の処理装置が出力する優先度を判定し、高い優先度を出力した処理装置を優先してデータ転送権利を付与するデータ転送処理手段とを備える。
【0028】
上記のように、第6の発明によれば、各処理装置からのデータ転送要求とともに当該データ転送要求の優先度を示す信号を一緒に出力する。これにより、調停装置は、各処理装置のデータ転送処理の優先順位付けが最適化でき、データ転送効率を向上することができる。
【0029】
第7の発明は、複数の処理装置により共有された記憶装置と当該複数の処理装置との間の競合するデータ転送を、データ転送要求があった処理装置に対してデータ転送権利を与えて転送順序を指示する調停装置によって制御する調停方法であって、
複数の処理装置が、実際のデータ転送を行う前に、将来データ転送を行うことを示すデータ転送前要求を出力する第1のステップと、
調停装置が、複数の処理装置のいずれかから受けたデータ転送前要求に基づいて、当該データ転送前要求を出力した処理装置にデータ転送権利を付与する第2のステップとを備え、
データ転送前要求を出力した処理装置が実際のデータ転送を行う場合、前もって付与されたデータ転送権利によって、直ちにデータ転送を開始することができることを特徴とする、調停方法。
【0030】
上記のように、第7の発明によれば、将来的にデータ転送が発生する可能性がある処理装置から調停装置に対し、実際のデータ転送要求を出力する前に予めデータ転送前要求を出力するステップと、調停装置が前もって当該データ転送前要求を出力した処理装置側へバス使用権利を付与するステップとを設ける。これにより、上記処理装置は、データ転送本要求に時に直ちにデータ転送を開始することができ、データ転送効率を向上させることができる。
【0031】
第8の発明は、複数の処理装置により共有された記憶装置と当該複数の処理装置との間の競合するデータ転送を、データ転送要求があった処理装置に対してデータ転送権利を与えて転送順序を指示する調停装置によって制御する調停方法であって、
複数の処理装置が、データ転送要求に付随して当該データ転送要求の優先度を示す信号を出力する第1のステップと、
調停装置が、複数の処理装置が出力する優先度を判定する第2のステップと、
第2のステップでの判定の結果、調停装置が、高い優先度を出力した処理装置を優先してデータ転送権利を付与する第3のステップとを備え、
複数の処理装置のそれぞれ自らが所望する優先度に基づいた順序により、データ転送を行うことを特徴とする、調停方法。
【0032】
上記のように、第8の発明によれば、各処理装置からのデータ転送要求とともに当該データ転送要求の優先度を示す信号を一緒に出力するステップと、調停装置が優先度を判定するステップとを設ける。これにより、調停装置は、各処理装置のデータ転送処理の優先順位付けが最適化でき、データ転送効率を向上することができる。
【0033】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて詳細に説明する。
図1は、本発明の各実施形態に係る調停装置および方法を用いたシステムの構成を示す図である。図1において、本システムは、機能ブロック11と、調停装置2N(以下の説明において、第1の実施形態では調停装置21と、第2の実施形態では調停装置22と、第3の実施形態では調停装置23と、第4の実施形態では調停装置24と、第5の実施形態では調停装置25とする)と、メモリブロック31とを備える。
【0034】
機能ブロック11は、上述した従来の機能ブロックと同様に、MPEGのTSデコーダ、MPEGのAVデコーダ、グラフィックス制御およびCPU等の複数の処理装置を含んでいる。そして、メモリブロック31は、上記複数の処理装置に必要なメモリを共有化して使用する。
なお、以下の説明を容易にするため、機能ブロック11に含まれる調停の対象となる処理装置は、第1および第2の処理装置の2つが存在するものとする。
【0035】
(第1の実施形態)
図2は、本発明の第1の実施形態に係る調停方法を用いたシステムの主要部の構成を示すブロック図である。図2において、調停装置21は、転送要求受付部211と、転送許可出力部212とを備える。機能ブロック11は、第1の処理装置110と、第2の処理装置120とを備える。さらに、第1および第2の処理装置は、それぞれ前要求出力部111,121と、本要求出力部112,122とを含む。
【0036】
転送要求受付部211は、各処理装置からの転送要求BRi(iは1または2、以下各実施形態にて同じ)を受け付けて、バス使用権利駐在ラウンドロビン方式に基づいてデータ転送処理すべき転送要求BRiを決定し、その旨の要求を転送許可出力部212に出力する。転送許可出力部212は、転送要求受付部211からの要求に従って対応する第iの処理装置に対し、転送許可BGiを出力する。各処理装置に含まれる前要求出力部111,121は、今すぐには必要ではないが、将来データ転送を行う予定があるということを調停装置21に連絡するための前転送要求BRi’を出力する。本要求出力部112,122は、今までと同様に、本当にデータ転送が必要な場合の転送要求BRiを出力する。
【0037】
次に、図17を参照しつつ、本第1の実施形態の調停方法を用いたシステムが行う調停方法について説明する。
今、第2の処理装置120にバス使用権利が存在する状態「駐在2」にあり(状態504)、第1の処理装置110が転送要求BR1を出力する場合を考える。第1の処理装置110において将来データ転送要求を出力することが判明した場合(例えば、当該第1の処理装置110がCPUである場合、キャッシュミスが発生してメモリブロック31からデータをリードする必要が生じた場合等)、第1の処理装置110は、まず、調停装置21に対して前転送要求BR1'を1クロック分のみ出力する。調停装置21は、この前転送要求BR1'を受けて、状態を「許可1」へ遷移させる(遷移510,状態501)。
ここで、第1の処理装置110が出力する前転送要求BR1'は、将来のデータ転送の可能性を示すものであり、実際には、今第1の処理装置110は、何らデータ転送を開始しない。このため、機能ブロック11から調停装置21へはバスビジーBBは出力されない(アクティブではない)。よって、調停装置21は、バスビジーBBも第2の処理装置120からの転送要求BR2も存在しないため、状態をすぐさま「駐在1」へ遷移させる(遷移506,状態502)。
【0038】
上記内容を、図3と図18とを比較して、データ転送のタイミング上で説明する。図3は、本第1の実施形態に係る調停システムにおけるデータ転送のタイミングを示す図である。
図17に示す従来の調停方法を用いた転送の場合、第12クロック目に第1の処理装置から転送要求BR1を出力している。このため、実際にデータ転送を開始するのは「駐在2」→「許可1」→「駐在1」の状態を遷移した後の第14クロック目となる。これに対して、図3に示す本第1の実施形態に係る調停方法では、第8クロック目に上述の前転送要求BR1’を出力して第9および第10クロックのサイクルで前もって「駐在1」まで遷移させている。このため、第12クロックに本当の転送要求BR1が出力された場合でも、待ち時間がなく直ちにデータ転送を開始することができる。
【0039】
以上のように、本第1の実施形態に係る調停方法は、将来的にデータ転送が発生する可能性がある処理装置から調停装置21に対し、実際の転送要求BRを出力する前に予め前転送要求BR’を出力する。これにより、調停装置21は、バス使用権利がどの処理装置に駐在している状態であっても、前転送要求BR’を出力した処理装置側へ駐在状態を遷移させることができる。従って、上記処理装置は、データ転送要求BRに時に直ちにデータ転送を開始することができ、データ転送効率を向上させることができる。
【0040】
なお、前転送要求BR’を出した処理装置が、その後実際にデータ転送を行わなくても、これ以降のデータ転送は、何ら支障なく通常どおり行われる。また、本転送要求前に複数の処理装置から前転送要求が出力されても、バス使用権利の駐在状態が変わるだけなので、データ転送に不都合が発生することはない。
【0041】
(第2の実施形態)
本発明の第2の実施形態に係る調停装置は、複数の処理装置からの転送要求BRが競合した場合に、予め定めた優先度に基づいて適切なデータ転送処理の順位を決定し、データ転送効率の向上を図ることを目的としている。
【0042】
図4は、本発明の第2の実施形態に係る調停装置22の構成を示すブロック図である。図4において、調停装置22は、転送要求受付部211と、転送許可出力部212と、結果比較部221と、第1および第2の結果判断部222および223と、ページアドレス記憶部224と、バンクアドレス記憶部225と、サイズ記憶部226と、ページアドレス比較部227と、バンクアドレス比較部228と、サイズ比較部229とを備える。
【0043】
ページアドレス記憶部224は、メモリブロック31内のバンクの各々に関して、前回行ったデータ転送のページアドレス箇所を記憶する。バンクアドレス記憶部225は、前回行ったデータ転送のメモリブロック31内のバンクアドレス箇所を記憶する。サイズ記憶部226は、前回行ったデータ転送のサイズ情報を記憶する。
なお、ページアドレス記憶部224、バンクアドレス記憶部225およびサイズ記憶部226に記憶される内容は、必要に応じメモリインタフェースを介してメモリブロック31へ出力される(図示せず)。
【0044】
ページアドレス比較部227は、第1および第2の処理装置がそれぞれ要求するデータ転送のページアドレスとページアドレス記憶部224に記憶されている前回のページアドレスとを同一バンクに関し各々比較して、その比較出力を第1および第2の結果判断部222および223へそれぞれ出力する。バンクアドレス比較部228は、第1および第2の処理装置がそれぞれ要求するデータ転送のバンクアドレスとバンクアドレス記憶部225に記憶されている前回のバンクアドレスとを各々比較し、その比較出力を第1および第2の結果判断部222および223へそれぞれ出力する。サイズ比較部229は、第1および第2の処理装置がそれぞれ要求するデータ転送のサイズ情報とサイズ記憶部226に記憶されている前回のサイズ情報とを各々比較し、その比較出力を第1および第2の結果判断部222および223へそれぞれ出力する。
【0045】
第1の結果判断部222は、第1の処理装置に関する比較結果およびデータ転送処理がリード/ライトを示す信号とを入力し、これらから第1の処理装置の要求について優先順位を判断して結果比較部221に出力する。第2の結果判断部223は、第2の処理装置に関する比較結果およびデータ転送処理がリード/ライトか示す信号とを入力し、これらから第2の処理装置の要求について優先順位を判断して結果比較部221に出力する。結果比較部221は、第1の結果判断部222の出力と第2の結果判断部223の出力とを入力し、第1の処理装置と第2の処理装置の転送要求のどちらが優先するかを判断し、転送要求受付部211に伝える。
【0046】
転送要求受付部211は、結果比較部221から出力された優先順位に基づいて、要求を転送許可出力部212に出力する。転送許可出力部212は、転送要求受付部211からの要求に従って対応する第iの処理装置に対し、転送許可BGiを出力する。
【0047】
次に、調停装置22における判断動作について説明する。
なお、以下調停装置22において、第1の処理装置からの転送要求BR1と第2の処理装置からの転送要求BR2とが競合した場合を考える。
【0048】
まず、第1の処理装置からの転送要求BR1に対する判断処理は、以下のようである。ページアドレス比較部227は、転送要求BR1のうちページアドレスのデータを入力する。ここで、ページアドレス記憶部224は、前回行ったデータ転送において、どのページアドレスに対して行ったかを記憶している。そして、ページアドレス比較部227は、今回の転送要求BR1のページアドレスが前回のページアドレスと同一か否かを判断する。このページアドレスの一致を判断するのは、同一のページアドレスに対するデータ転送要求であれば続けて処理を行う方がデータ転送効率が向上するからである。また、バンクアドレス比較部228は、転送要求BR1のうちバンクアドレスのデータを入力する。ここで、バンクアドレス記憶部225は、前回行ったデータ転送において、どのバンクアドレスに対して行ったかを記憶している。そして、バンクアドレス比較部228は、今回の転送要求BR1のバンクアドレスが前回のバンクアドレスと異なるか否かを判断する。このバンクアドレスの相違を判断するのは、バンクに関しては、同一バンクに対する処理を続けて行うよりも、1つの処理ごとに対象バンクを変える方がデータ転送効率が向上するからである。さらに、サイズ比較部229は、転送要求BR1のうちサイズ情報のデータを入力する。ここで、サイズ記憶部226は、前回行ったデータ転送において、転送のサイズを記憶している。そして、サイズ比較部229は、今回の転送要求BR1の転送サイズが前回の転送サイズと同一か否かを判断する。この転送サイズの一致を判断するのは、例えば、DSRAMなどのメモリにおいては、同一の転送サイズに関するデータ転送要求は、続けて処理を行う方がデータ転送効率が向上するからである。
【0049】
上記転送要求BR1に関するページアドレス比較部227、バンクアドレス比較部228およびサイズ比較部229からの判断結果は、第1の結果判断部222に入力される。第1の結果判断部222は、上記3つの判断結果と、転送要求BR1がリードに関する要求かライトに関する要求かを示すデータとを入力する。そして、第1の結果判断部222は、以下に示す内容に基づいて、転送要求BR1の優先度を決定する。なお、以下に示す内容では、優先度1が最優先されるデータ転送処理であり、優先度4が最も優先されないデータ転送処理である。
優先度1:CPUのリード要求である場合
優先度2:前回と異なるバンク、かつ、前回と同一のページアドレスに対する転送要求である場合
優先度3:前回と同一の転送サイズである場合
優先度4:上記いずれにも該当しない場合
【0050】
一方、第2の処理装置からの転送要求BR2に対する判断処理は、上記第1の処理装置からの転送要求BR1に対する判断処理と同様に、転送要求BR2に関するページアドレス比較部227、バンクアドレス比較部228およびサイズ比較部229の3つの判断結果および転送要求BR2がリードに関する要求かライトに関する要求かを示すデータとに基づいて、第2の結果判断部223が転送要求BR2の優先度を決定する。
【0051】
結果比較部221は、第1の結果判断部222から出力される転送要求BR1の優先度と、第2の結果判断部223から出力される転送要求BR2の優先度とを入力し、双方の優先度を比較する。そして、結果比較部221は、優先度の高い方の転送要求BRiに関してデータ転送の処理を行うよう、転送要求受付部211に指示する。転送要求受付部211は、結果比較部221からの指示を受けて、対応する要求を転送許可出力部212に出力する。転送許可出力部212は、転送要求受付部211からの指示に基づいて、転送許可BGiを第iの処理装置へ出力する。
なお、結果比較部221は、転送要求BR1の優先度と転送要求BR2の優先度とが同じである場合は、その旨を転送要求受付部211に伝える。この場合、転送要求受付部211は、通常どおりバス使用権利駐在ラウンドロビン方式によりデータ転送の順番を決定する。
【0052】
以上のように、本第2の実施形態に係る調停装置22は、受付けたデータ転送要求に関する転送データの転送データのページアドレス,バンクアドレス、転送データサイズやリード/ライト等の同一性を考慮してデータ転送の優先度、すなわち転送順位を求める。これにより、ページアドレスが変化することによるロー(行)アドレスの再入力や、転送データサイズが変化することによるコマンドの再設定等のオーバーヘッドを最低限に押さえることが可能となり、メモリに対するデータ転送効率を向上させることができる。
【0053】
(第3の実施形態)
本発明の第3の実施形態に係る調停装置は、急を要するデータ転送処理の転送要求BRと、任意の時間内に行えばよいという特に急を要しないデータ転送処理の転送要求BRとが競合した場合に、急を要するデータ転送処理を優先的に行い、データ転送効率の向上を図ることを目的としている。
【0054】
図5は、本発明の第3の実施形態に係る調停装置23の構成を示すブロック図である。図5において、調停装置23は、転送要求受付部211と、転送許可出力部212と、第1および第2の非転送時間カウンタ231および232と、第1および第2のしきい値設定レジスタ233および234と、第1および第2の比較器235および236とを備える。
【0055】
第1の非転送時間カウンタ231は、第1の処理装置に関するバスビジーBB1を入力し、データ転送が行われていない時間をカウントする。第2の非転送時間カウンタ232は、第2の処理装置に関するバスビジーBB2を入力し、データ転送が行われていない時間をカウントする。第1および第2のしきい値設定レジスタ233および234は、それぞれ予め定めたしきい値が格納されている。第1の比較器235は、第1の非転送時間カウンタ231がカウントした時間と第1のしきい値設定レジスタ233に格納されている値とを比較し、その比較結果を転送要求受付部211に出力する。第2の比較器236は、第2の非転送時間カウンタ232がカウントした時間と第2のしきい値設定レジスタ234に格納されている値とを比較し、その比較結果を転送要求受付部211に出力する。転送要求受付部211は、第1の比較器235および第2の比較器236のうち、アクティブになっている方の第iの処理装置に関する要求を、転送許可出力部212に出力する。転送許可出力部212は、転送要求受付部211からの要求を受け、対応する第iの処理装置に対して転送許可BGiを出力する。
【0056】
次に、調停装置23における判断動作について説明する。
なお、以下調停装置23において、第1の処理装置(ここでは、CPUとする)からの転送要求BR1と第2の処理装置(ここでは、TSデコーダとする)からの転送要求BR2とが競合しており、転送要求BR1が急を要している場合を考える。この場合、第2の処理装置、すなわちTSデコーダから出力されるデータは、一定の時間t内にある決められた回数だけ転送すればよいものであり、一方第1の処理装置、すなわちCPUは、キャッシュミス等を発生してデータ転送を急いでいるものとする。
【0057】
まず、前提として、転送要求受付部211は、第1の処理装置から急を要する転送要求BR1が転送要求受付部211に入力されると、第1の処理装置に関する第1の非転送時間カウンタ231を非動作に設定し、第2の処理装置に関する第2の非転送時間カウンタ232のみを有効にする。また、第2の非転送時間カウンタ232は、クリアされている。
ここで、転送要求受付部211には、転送要求BR1と転送要求BR2とが競合しているので、通常はバス使用権利駐在ラウンドロビン方式によりバス使用権利の常駐状態にある処理装置からデータ転送処理が交互に行われる(図6を参照。図6は、状態「駐在2」にあり、第1の処理装置が8回のデータ転送を、第2の処理装置が4回のデータ転送を要求している場合を示す)。しかし、上述のように第2の非転送時間カウンタ232のみを有効にしており、まだ、当該第2の非転送時間カウンタ232が第2のしきい値設定レジスタ234の値に達していないため、転送要求受付部211は、転送要求BR1を優先して第1の処理装置のデータ転送処理をまず行う。この第1の処理装置のデータ転送処理が行われている間は、バスビジーBB2がアクティブとなり、第2の非転送時間カウンタ232が時間をカウントする。第1の処理装置は、第2の非転送時間カウンタ232のカウントが第2のしきい値設定レジスタ234の値に達するまで連続してデータ転送処理を行う。
【0058】
そして、第2の非転送時間カウンタ232の積算時間カウントが第2のしきい値設定レジスタ234の値に達すると、転送要求受付部211は、次に第2の処理装置のデータ転送処理に移る。これにより、バスビジーBB2が非アクティブとなり、第2の非転送時間カウンタ232がクリアされる。この第2の処理装置のデータ転送処理が終わると、第2の非転送時間カウンタ232の積算時間カウントが再び第2のしきい値設定レジスタ234の値に達するまで、第1の処理装置のデータ転送処理が行われる。
【0059】
このように、第1の処理装置のデータ転送処理は、第2の非転送時間カウンタ232の積算時間カウントが第2のしきい値設定レジスタ234の値に達するまで複数回行われ、第2の処理装置のデータ転送処理は、第2の非転送時間カウンタ232の積算時間カウントが第2のしきい値設定レジスタ234の値に達するごとに1回づつ行われることになる。この処理を繰り返すことで、急を要する第1の処理装置のデータ転送処理は優先的に、急を要しない第2の処理装置のデータ転送処理は予め定めてある一定の時間t内に行うことができる。
図7は、上記処理のタイミングを示す図である。
【0060】
以上のように、本第3の実施形態に係る調停装置23は、各処理装置ごとにデータ転送をしていない時間をカウントし、予め定めた時間に達するまでは、それぞれ処理装置のデータ転送処理を制限する。これにより、一定の時間内に決められた回数のデータ転送を行えばよい処理装置(例えば、TSデコーダ)と、急を要する処理装置(例えば、CPU)とのデータ転送の調停を、効率的に行うことができる。従って、優先的にデータ転送を行う必要がある処理装置(例えば、CPU)の実行性能の向上を図ることができる。
【0061】
(第4の実施形態)
本発明の第4の実施形態に係る調停装置は、上記第3の実施形態に係る調停装置23が、急を要する第1の処理装置のデータ転送処理を優先的に行ったために、第2の処理装置のデータ転送処理が一定の時間t内に終了できない場合を考慮したものである(図9を参照)。
【0062】
図8は、本発明の第4の実施形態に係る調停装置24の構成を示すブロック図である。図8において、調停装置24は、転送要求受付部211と、転送許可出力部212と、第1〜第4の非転送時間カウンタ231,232,241および242と、第1〜第4のしきい値設定レジスタ233,234,243および244と、第1〜第4の比較器235,236,245および246とを備える。
【0063】
図5と図8とを比較して分かるように、本第4の実施形態の調停装置24の構成は、上記第3の実施形態の調停装置23の構成に、第3および第4の非転送時間カウンタ241および242と、第3および第4のしきい値設定レジスタ243および244と、第3および第4の比較器245および246とをさらに加えたものである。なお、本第4の実施形態の調停装置24のその他の構成は、上記第3の実施形態の調停装置23の構成と同様であり、当該構成については同一の参照番号を付してその説明を省略する。
【0064】
第3の非転送時間カウンタ241は、第1の処理装置に関する転送要求BR1を入力し、当該第1の処理装置以外のデータ転送が行われている時間、および何もデータ転送が行われていない時間を積算カウントする。第4の非転送時間カウンタ242は、第2の処理装置に関する転送要求BR2を入力し、当該第2の処理装置以外のデータ転送が行われている時間、および何もデータ転送が行われていない時間を積算カウントする。第3および第4のしきい値設定レジスタ243および244は、それぞれ予め定めたしきい値が格納されている。第3の比較器245は、第3の非転送時間カウンタ241がカウントした時間と第3のしきい値設定レジスタ243に格納されている値とを比較し、その比較結果を転送要求受付部211に出力する。第4の比較器246は、第2の非転送時間カウンタ232がカウントした時間と第4のしきい値設定レジスタ244に格納されている値とを比較し、その比較結果を転送要求受付部211に出力する。転送要求受付部211は、上述したように、最初は、第1の比較器235および第2の比較器236のうち、アクティブになっている方の第iの処理装置に関する要求を、転送許可出力部212に出力する。しかし、転送要求受付部211は、第3の比較器245または第4の比較器246の出力がアクティブとなるとともに、当該アクティブとなっている方の第iの処理装置に関する要求を、転送許可出力部212に固定的に出力する。
【0065】
次に、調停装置24における判断動作について説明する。
なお、以下調停装置24においても、上記第3の実施形態の調停装置23において述べたような場合であるとする。
【0066】
まず、前提として、転送要求受付部211は、第1の処理装置から急を要する転送要求BR1が転送要求受付部211に入力されると、第1の処理装置に関する第3の非転送時間カウンタ241をも非動作に設定し、第2の処理装置に関する第4の非転送時間カウンタ242をも有効にする。また、第4の非転送時間カウンタ242は、クリアされている。また、第4のしきい値設定レジスタ244は、第2の処理装置以外の他の処理装置のデータ転送に割り当てることのできる時間(何も行わない時間も含まれる)、すなわち、第2の処理装置のデータ転送を行わなければならない一定の時間tから、第2の処理装置のデータ転送にかかる時間を除いた時間を設定しておく。
【0067】
調停装置24は、上述したように、転送要求BR1を優先して第1の処理装置のデータ転送処理をまず行う。この第1の処理装置のデータ転送処理が行われている間は、バスビジーBB2により第2の非転送時間カウンタ232が時間をカウントするとともに、転送要求BR2がアクティブであるため、第4の非転送時間カウンタ242も時間をカウントする。第4の非転送時間カウンタ242のカウントが、第4のしきい値設定レジスタ244の値に達するまでは、上述のように、第1の処理装置のデータ転送処理と第2の処理装置のデータ転送処理とが繰り返し行われる。
【0068】
ここで、第4の非転送時間カウンタ242のカウントが、第4のしきい値設定レジスタ244の値に達するまでに、第1および第2の処理装置双方のデータ転送が終了すれば何ら問題はない。これに対し、第1の処理装置のデータ転送処理がまだ残っているときであっても、第4の非転送時間カウンタ242のカウントが第4のしきい値設定レジスタ244の値に達した場合、転送要求受付部211は、第2の処理装置のデータ転送処理に関し、優先順位下げて処理する限界がきたと判断する(すなわち、これ以上データ転送処理を遅延させると一定の時間t内に残りすべてのデータを転送することが不可能であると判断する)。そして、転送要求受付部211は、第1および第2の比較器235および236の出力にかかわらず、第2の処理装置のデータ転送処理がすべて終了するまで当該第2の処理装置に関する要求を出し続ける。
【0069】
このように、任意の処理装置に関して優先順位下げて処理する限界が来るまでは、上述した第3の実施形態の処理を行い、当該限界に達した場合には、最優先で最後まで処理される。従って、元々は優先度の低い処理装置であっても、限界のしきい値を設定しておくことで、予め定めている一定の時間t内にデータ転送処理を終了することができる。
図10は、上記処理のタイミングを示す図である。
【0070】
以上のように、本第4の実施形態に係る調停装置24は、各処理装置ごとにデータ転送をしていない時間をカウントし、予め定めた時間に達するまでは、それぞれ処理装置のデータ転送処理を制限するとともに、一定の時間内にすべてのデータ転送が完了するように予め限界時間を設定し、当該限界時間に達した場合には、最優先でデータ転送処理を行う。これにより、急を要する処理装置のデータ転送処理を優先的に行うとともに、急を要しないが一定の時間内に一定量のデータ転送を必要とする処理装置についても、一定の時間内のデータ転送の完了を保証することができる。
【0071】
なお、本第4の実施形態に係る調停装置24における第3および第4の非転送時間カウンタ241および242と、第3および第4のしきい値設定レジスタ243および244と、第3および第4の比較器245および246とからなる構成は、必ずしも上記第3の実施形態に係る調停装置23の構成に付随して構成される必要はなく、これらと転送要求受付部211および転送許可出力部212との構成のみによっても、バス使用権利駐在ラウンドロビン方式に従いつつ、任意の処理装置に関して一定の時間内に一定量のデータ転送を完了させることができる。
【0072】
(第5の実施形態)
本発明の第5の実施形態に係る調停方法は、処理装置において転送要求BRを出力する際に、当該転送要求BRの優先度が高いか低いかを示す信号を一緒に出力することで、ラウンドロビン方式によらず当該優先度に基づいて適切なデータ転送処理の順位を決定し、データ転送効率の向上を図ることを目的としている。
【0073】
図11は、本発明の第5の実施形態に係る調停方法を用いたシステムの主要部の構成を示すブロック図である。図11において、調停装置25は、転送要求受付部211と、転送許可出力部212とを備える。機能ブロック11は、第1の処理装置110と、第2の処理装置120とを備える。第1および第2の処理装置は、それぞれ要求出力部113,123と、優先度出力部114,124とを含む。
【0074】
転送要求受付部211は、各処理装置からの転送要求BRiと優先度とを入力し、当該優先度に基づいてデータ転送処理すべき転送要求BRiを決定し、その旨の要求を転送許可出力部212に出力する。転送許可出力部212は、転送要求受付部211からの要求に従って対応する第iの処理装置に対し、転送許可BGiを出力する。各処理装置に含まれる要求出力部113,123は、データ転送を行う場合に、転送許可を得るために転送要求BRiを出力する。優先度出力部114,124は、要求出力部113,123が出力する転送要求BRiの優先度が高いか低いかを示す信号を出力する。
【0075】
次に、本第5の実施形態の調停方法を用いたシステムが行う調停方法について、図12を参照して説明する。図12は、本第5の実施形態の調停方法を用いたシステムが行う調停方法の状態遷移を示す図である。
【0076】
本第5の実施形態に係る調停方法は、各処理装置が出力する転送要求BRiについて優先度が高いという信号を出力しない場合は、上述した従来のバス使用権利駐在ラウンドロビン方式とまったく遷移は変わらない。しかし、状態「駐在1」において、第1の処理装置の転送要求BR1と第2の処理装置の転送要求BR2が競合した場合、当該転送要求BR1の優先度が低いときは、従来のバス使用権利駐在ラウンドロビン方式のように第2の処理装置に対してデータ転送処理を行うべく状態「許可2」に遷移するが(遷移311,状態302)、当該転送要求BR1の優先度が高いときは、いくら当該転送要求BR2の優先度が高くても引き続いて第1の処理装置に対してデータ転送処理を行うべく状態「許可1」に遷移する(遷移317,状態304)。
なお、もちろん状態「駐在1」においては、第2の処理装置の転送要求BR2のみの場合は、状態「許可2」に遷移し(遷移311,状態302)、各処理装置から何も転送要求BRiがない場合には、状態「駐在1」のまま次の転送要求BRiがあるまで待機する(状態301)。
【0077】
また、状態「許可2」においては、第1の処理装置の転送要求BR1と第2の処理装置の転送要求BR2が競合した場合、当該転送要求BR2の優先度が低いときに限り、今行っている処理の終了後第1の処理装置に対してデータ転送処理を行うべく状態「許可1」に遷移するが(遷移316,状態302)、当該転送要求BR2の優先度が高い限りは、引き続いて第2の処理装置に対してデータ転送処理を行うべく状態「許可1」にとどまる(状態302)。
なお、もちろん状態「許可2」においては、第1の処理装置の転送要求BR1のみの場合は、状態「許可1」に遷移し(遷移316,状態304)、各処理装置から何も転送要求BRiがない場合には、状態「駐在2」に遷移して次の転送要求BRiがあるまで待機する(遷移312,状態303)。
【0078】
上記処理は、状態「駐在2」および状態「許可1」においても、同様に行われる(状態303および304)。
【0079】
このような処理は、以下のような場合に有効である。
例えば、CPUからの転送要求の場合、キャッシュミスが発生したことによるフィル(リード)サイクルであれば、要求するデータは緊急に必要である。このような場合、CPUのデータ転送処理を他処理装置のデータ転送処理よりも優先させて実行することにより、CPUの性能をフルに引き出すことができる。逆に、CPUのライトサイクルでは、データをライトバッファに書き出した後、CPUは次の処理を行うことができるので、実際にデータがメモリに書き込まれるための優先順位は低くても良いのである。
【0080】
以上のように、本第5の実施形態に係る調停方法は、各処理装置からの転送要求BRiとともに当該転送要求BRiの優先度を示す信号を一緒に出力する。これにより、調停装置25は、各処理装置のデータ転送処理の優先順位付けが最適化でき、データ転送効率を向上することができる。
【0081】
なお、上記第1〜第5の実施形態の説明において、各調停装置21〜25は、機能ブロック11と別個に設けられているものとして説明したが、機能ブロックの中に構成されてもよい。
【図面の簡単な説明】
【図1】本発明の各実施形態に係る調停装置および方法を用いたシステムの構成を示すブロック図である。
【図2】本発明の第1の実施形態に係る調停方法を用いたシステムの主要部の構成を示すブロック図である。
【図3】第1の実施形態に係る調停方法を用いたシステムのデータ転送のタイミングを示す図である。
【図4】本発明の第2の実施形態に係る調停装置22の構成を示すブロック図である。
【図5】本発明の第3の実施形態に係る調停装置23の構成を示すブロック図である。
【図6】従来の調停システムのデータ転送のタイミングの一例を示す図である。
【図7】第3の実施形態に係る調停装置23を用いたシステムのデータ転送のタイミングを示す図である。
【図8】本発明の第4の実施形態に係る調停装置24の構成を示すブロック図である。
【図9】従来の調停システムのデータ転送のタイミングの一例を示す図である。
【図10】第4の実施形態に係る調停装置24を用いたシステムのデータ転送のタイミングを示す図である。
【図11】本発明の第5の実施形態に係る調停装置25の構成を示すブロック図である。
【図12】本第5の実施形態に係る調停方法を用いたシステムのデータ転送の状態遷移を示す図である。
【図13】従来の映像システムの構成の一例を示すブロック図である。
【図14】従来の調停装置を用いたシステムの主要な構成部分の一例を示す図である。
【図15】従来のバス使用権利駐在ラウンドロビン方式の調停装置の構成の一例を示すブロック図である。
【図16】従来のバス使用権利駐在ラウンドロビン方式の調停方法の状態遷移を示す図である。
【図17】従来の調停システムにおけるデータ転送タイミングの一例を示す図である。
【符号の説明】
11、520…機能ブロック
21〜25、540…調停装置
31、530…メモリブロック
110、120…処理装置
111、121…前要求出力部
112、122…本要求出力部
113、123…要求出力部
114、124…優先度出力部
211、541…転送要求受付部
212、542…転送許可出力部
221…結果比較部
222、223…結果判断部
224…ページアドレス記憶部
225…バンクアドレス記憶部
226…サイズ記憶部
227…ページアドレス比較部
228…バンクアドレス比較部
229…サイズ比較部
231、232、241、242…非転送時間カウンタ
233、234、243、244…しきい値設定レジスタ
235、236、245、246…比較器
501…チューナ/復調部
502…MPEGのTSデコーダ
503、505…ローカルメモリ
504…MPEGのAVデコーダ
506…グラフィック制御
507…グラフィックメモリ
508…CPU
509…プログラムメモリ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an arbitration device and method, and more specifically, can store digitally compressed or decompressed data such as video and audio, and a CPU (computer processing unit) program in a mixed manner. The present invention relates to an arbitration apparatus and method in a system having a shared memory.
[0002]
[Prior art]
In recent years, as represented by digital broadcast receivers and the like, digital still images and natural images of moving images and geometric graphics display by CPU etc. can be displayed simultaneously. Do Video systems have become commonplace. In this video system, the CPU, each processing device that performs digital image display and graphics display has a memory of a necessary capacity for each processing device, and data can be transferred to the memory when necessary. It was possible.
[0003]
FIG. 13A is a block diagram showing an example of the configuration of a conventional video system.
13A, the conventional video system includes a tuner /
However, with an increase in memory capacity and memory transfer speed that can be built in one chip due to recent technological innovations, there has been a tendency for memories distributed to each processing device to be shared.
[0004]
FIG. 13B is a block diagram showing an example of the configuration of a conventional video system in which the memory is shared.
The conventional video system shown in FIG. 13B has the functions of the
[0005]
Thus, when data transfer is performed from a plurality of processing devices to one
[0006]
FIG. 14 is a diagram illustrating an example of main components of a video system using a
Referring to FIG. 14,
[0007]
Conventionally, a fixed priority method, a round robin method, or the like is used as a method for determining the data transfer order in the
Hereinafter, with reference to FIGS. 15 to 17, among the round robin schemes, the bus use right residence round robin scheme will be described as an example.
[0008]
FIG. 15 is a block diagram showing an example of a configuration of a conventional bus use right residence round robin arbitration device. FIG. 16 is a diagram showing state transition of the conventional bus use right residence round robin arbitration method of FIG. FIG. 17 is a diagram showing an example of data transfer timing in the conventional arbitration system of FIG. The signal in FIG. 17 is low active.
In the following, in FIG. 15 to FIG. 17, a data transfer request is made for ease of explanation. Do A case where there are two processing devices, the first processing device and the second processing device, will be described.
[0009]
In FIG. 15, when a transfer request BRi is received from an i-th (i is 1 or 2, the same applies hereinafter) processing device, the transfer
[0010]
In this way, the processing device in which the right to use the bus resides can start data transfer simultaneously with outputting the transfer request signal BRi to the
[0011]
Next, referring to FIG. 16, a state transition of a conventional bus use right residence round robin arbitration device will be described. In FIG. 16, a circle figure represents a state, and an arrow represents a state transition. The state “resident i” indicates that the right to use the bus exists for the i-th processing device, and the state “permission i” indicates that the data transfer permission is granted to the i-th processing device. Indicates that
Also, '! BB & BR1 ′ and the like indicate conditions for transitioning the state. In this case, no bus busy BB is generated and a transfer request BR1 is generated.
[0012]
It is assumed that the initial state is the state “
[0013]
In the state “
[0014]
The above processing is performed in the same manner in the state “
[0015]
[Problems to be solved by the invention]
However, the
The
Furthermore, even in the case of data transfer that does not require urgency, the data transfer is performed according to the round-robin system where the right to use the bus is located. Done Therefore, there is a problem that the performance of the entire system is reduced.
[0016]
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an arbitration device and method that can improve data transfer efficiency as a total and can effectively use the data transfer performance of a memory.
[0017]
[Means for Solving the Problems and Effects of the Invention]
According to a first aspect of the present invention, a conflicting data transfer between a storage device shared by a plurality of processing devices and the plurality of processing devices is transferred to any one of the processing devices having a data transfer request. An arbitration device that gives a right and indicates a transfer order,
Storage means for storing related information such as a transfer address, transfer size, and read / write related to the previous data transfer;
Corresponding to each of the plurality of processing devices, a plurality of comparison means for comparing the related information regarding the data transfer request received this time and the previous related information stored in the storage means,
Transfer order determining means for determining the data transfer order of the plurality of processing devices based on respective comparison results output by the plurality of comparing means and predetermined rules;
Data transfer processing means for granting data transfer rights to a plurality of processing devices in accordance with the transfer order determining means.
[0018]
As described above, according to the first invention, the sameness of related information (for example, page address, bank address, transfer data size, read / write, etc. of transfer data) regarding the currently accepted data transfer request is considered. To determine the order of data transfer. This makes it possible to minimize overhead such as re-input of row (row) address due to change of page address and resetting of command due to change of transfer data size, and data transfer to the storage device. Efficiency can be improved.
[0019]
According to a second aspect of the present invention, data transfer between a storage device shared by first to Nth processing devices (N is an integer of 2 or more) and the first to Nth processing devices is performed as data transfer. An arbitration device that gives a data transfer right to any one of the requested processing devices and instructs the transfer order,
It corresponds to each of the first to N-th processing devices, and counts the time during which data transfer of the corresponding i-th (i = 1, 2,..., N) processing device is not performed. First to Nth non-transfer time counters that clear the count value at the time transfer starts,
Corresponding to each of the first to N-th processing devices, first to N-th registers for storing predetermined values;
When the value of the i-th non-transfer time counter is compared with the value of the i-th register, and the value of the i-th non-transfer time counter reaches the value of the i-th register, a predetermined comparison result First to Nth comparing means for outputting
Transfer order determining means for determining the data transfer order of the first to Nth processing devices based on the respective comparison results output by the first to Nth comparison means;
Data transfer processing means for granting data transfer rights to the first to Nth processing devices according to the transfer order determining means,
Until the value of the i-th non-transfer time counter reaches the value of the i-th register, data transfer other than the i-th processing device is preferentially performed, and the value of the i-th non-transfer time counter corresponds to the i-th register. When the value of this register is reached, data transfer of the i-th processing device is performed.
[0020]
As described above, according to the second invention, the time during which no data is transferred is counted for each processing device, and the data transfer processing of the processing device is limited until a predetermined time is reached. As a result, data transfer of the fixed number of times within a certain time Can do Efficient arbitration of data transfer between a good processing device and an urgent processing device Do be able to. Therefore, it is possible to improve the execution performance of a processing apparatus that needs to perform data transfer with priority.
[0021]
The third invention corresponds to each of the first to N-th processing devices in the second invention, and counts the time during which data transfer of the corresponding i-th processing device is not performed. First to Nth non-transfer limit time counters that clear the count value when the data transfer is completed to the end;
1st to Nth limit time registers that respectively correspond to the first to Nth processing devices and store predetermined values;
When the value of the i-th non-transfer limit time counter is compared with the value of the i-th limit time register, and the value of the i-th non-transfer limit time counter reaches the value of the i-th limit time register , Further comprising first to Nth limit comparing means for outputting a predetermined limit comparison result,
When any one of the first to Nth limit comparison units outputs a limit comparison result, the transfer order determination unit gives priority to the limit comparison result and transfers the data in the first to Nth processing devices. Decide
When the value of the i-th non-transfer limit time counter reaches the value of the i-th limit time register, the data transfer of the i-th processing device is performed with the highest priority until the end.
[0022]
As described above, according to the third invention, in the second invention, the time during which no data is transferred is further counted for each processing device, and the data of each processing device is counted until a predetermined time is reached. In addition to limiting the transfer process, if the limit time is set in the register in advance and the limit time is reached, the data transfer process is performed with the highest priority. This gives priority to data transfer processing of processing devices that require urgency. Do At the same time, it is possible to guarantee the completion of the data transfer within the limit time even for a processing apparatus that does not need urgent but requires a certain amount of data transfer within the limit time.
[0023]
According to a fourth aspect of the present invention, data transfer between a storage device shared by the first to Nth processing devices (N is an integer of 2 or more) and the first to Nth processing devices is performed as data transfer. An arbitration device that gives a data transfer right to any one of the requested processing devices and instructs the transfer order,
It corresponds to each of the first to N-th processing devices, and counts the time during which data transfer of the corresponding i-th (i = 1, 2,..., N) processing device is not performed. First to Nth non-transfer limit time counters that clear the count value when the transfer is completed to the end;
1st to Nth limit time registers that respectively correspond to the first to Nth processing devices and store predetermined values;
When the value of the i-th non-transfer limit time counter is compared with the value of the i-th limit time register, and the value of the i-th non-transfer limit time counter reaches the value of the i-th limit time register First to Nth limit comparison means for outputting predetermined limit comparison results;
Transfer order determining means for determining the data transfer order of the first to Nth processing devices based on the respective limit comparison results output by the first to Nth limit comparing means;
Data transfer processing means for granting data transfer rights to the first to Nth processing devices according to the transfer order determining means,
When the value of the i-th non-transfer limit time counter reaches the value of the i-th limit time register, the data transfer of the i-th processing device is performed with the highest priority until the end.
[0024]
As described above, according to the fourth aspect of the invention, the time during which no data is transferred is counted for each processing device, and when the limit time is set in advance in the register and the limit time is reached, the highest priority is given. The data transfer process is performed with. As a result, the data transfer within the limit time can be completed for a processing device that does not require urgent but requires a certain amount of data transfer within the limit time.
[0025]
According to a fifth aspect of the present invention, a conflicting data transfer between a storage device shared by a plurality of processing devices and the plurality of processing devices is transferred by giving a data transfer right to the processing device that requested the data transfer. An arbitration system controlled by an arbitration device that indicates an order,
The plurality of processing devices respectively include request output means for outputting a pre-data transfer request indicating in advance that data transfer is to be performed in the future and a data transfer main request indicating that data transfer is currently required.
The arbitrating device includes pre-transfer request processing means for granting a data transfer right to the processing device that has output the pre-data transfer request based on the pre-data transfer request received from any of the plurality of processing devices.
[0026]
As described above, according to the fifth aspect, a pre-data transfer request is output in advance before the actual data transfer request is output from the processing device that may cause data transfer in the future to the arbitration device. By doing so, the request processing means before transfer Before Accordingly, the right to use the bus can be granted to the processing apparatus that has output the pre-data transfer request. Thus, the processing apparatus can immediately start data transfer at the time of the data transfer main request, thereby improving the data transfer efficiency.
[0027]
According to a sixth aspect of the present invention, a conflicting data transfer between a storage device shared by a plurality of processing devices and the plurality of processing devices is transferred by giving a data transfer right to the processing device that requested the data transfer. An arbitration system controlled by an arbitration device that indicates an order,
The plurality of processing devices output a signal indicating the priority of the data transfer request accompanying the data transfer request,
The arbitrating device includes a data transfer processing unit that determines the priority output by the plurality of processing devices and gives a data transfer right in preference to the processing device that has output a high priority.
[0028]
As described above, according to the sixth aspect, together with the data transfer request from each processing device, a signal indicating the priority of the data transfer request is output together. Thereby, the arbitrating device can optimize the prioritization of the data transfer processing of each processing device, and can improve the data transfer efficiency.
[0029]
According to a seventh aspect of the present invention, a conflicting data transfer between a storage device shared by a plurality of processing devices and the plurality of processing devices is transferred by giving a data transfer right to the processing device that requested the data transfer. An arbitration method controlled by an arbitration device that indicates an order,
A first step of outputting a pre-data transfer request indicating that a plurality of processing devices perform future data transfer before performing actual data transfer;
The arbitrating device includes a second step of granting a data transfer right to the processing device that has output the pre-data transfer request based on the pre-data transfer request received from any of the plurality of processing devices;
An arbitration method characterized in that, when a processing apparatus that has output a pre-data transfer request performs actual data transfer, data transfer can be started immediately according to a data transfer right given in advance.
[0030]
As described above, according to the seventh aspect, the pre-data transfer request is output in advance before the actual data transfer request is output from the processing device that may cause data transfer in the future to the arbitration device. And a step of granting the right to use the bus to the processing device side from which the arbitrating device has output the pre-data transfer request in advance. Thus, the processing apparatus can immediately start data transfer at the time of the data transfer main request, thereby improving the data transfer efficiency.
[0031]
According to an eighth aspect of the present invention, a competing data transfer between a storage device shared by a plurality of processing devices and the plurality of processing devices is transferred by giving a data transfer right to the processing device that has requested data transfer. An arbitration method controlled by an arbitration device that indicates the order,
A first step in which a plurality of processing devices output a signal indicating a priority of the data transfer request accompanying the data transfer request;
A second step in which the arbitrating device determines the priority output by the plurality of processing devices;
As a result of the determination in the second step, the arbitration device includes a third step of giving priority to the data transfer right in preference to the processing device that has output a high priority,
An arbitration method, wherein data transfer is performed in an order based on a priority desired by each of a plurality of processing devices.
[0032]
As described above, according to the eighth invention, the step of outputting together with the data transfer request from each processing device the signal indicating the priority of the data transfer request, and the step of the arbitrating device determining the priority, Is provided. Thereby, the arbitrating device can optimize the prioritization of the data transfer processing of each processing device, and can improve the data transfer efficiency.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram illustrating a configuration of a system using an arbitration device and method according to each embodiment of the present invention. In FIG. 1, this system includes a
[0034]
The
In order to facilitate the following description, it is assumed that there are two processing devices, the first processing device and the second processing device, that are included in the
[0035]
(First embodiment)
FIG. 2 is a block diagram showing the configuration of the main part of the system using the arbitration method according to the first embodiment of the present invention. In FIG. 2, the arbitrating
[0036]
The transfer
[0037]
Next, an arbitration method performed by the system using the arbitration method of the first embodiment will be described with reference to FIG.
Now, consider a case where the
Here, the pre-transfer request BR1 ′ output from the
[0038]
The above contents will be described in terms of data transfer timing by comparing FIG. 3 and FIG. FIG. 3 is a diagram illustrating data transfer timings in the arbitration system according to the first embodiment.
In the case of transfer using the conventional arbitration method shown in FIG. 17, the transfer request BR1 is output from the first processing device at the 12th clock. For this reason, the actual data transfer is started at the 14th clock after the transition from “
[0039]
As described above, the arbitration method according to the first embodiment is performed before the actual transfer request BR is output from the processing device that may generate data transfer to the
[0040]
Even if the processing apparatus that has issued the previous transfer request BR ′ does not actually perform data transfer thereafter, the subsequent data transfer is normally performed without any problem. In addition, even if a pre-transfer request is output from a plurality of processing devices before this transfer request, there is no inconvenience in data transfer because only the presence status of the bus use right changes.
[0041]
(Second Embodiment)
The arbitration device according to the second exemplary embodiment of the present invention determines an appropriate data transfer processing order based on a predetermined priority when transfer requests BR from a plurality of processing devices compete, and performs data transfer. The purpose is to improve efficiency.
[0042]
FIG. 4 is a block diagram showing the configuration of the arbitrating
[0043]
The page
The contents stored in the page
[0044]
The page
[0045]
The first
[0046]
The transfer
[0047]
Next, the determination operation in the
In the following, it is assumed that the
[0048]
First, determination processing for the transfer request BR1 from the first processing device is as follows. The page
[0049]
The determination results from the page
Priority 1: CPU read request
Priority 2: When the transfer request is for a bank different from the previous one and the same page address as the previous one
Priority 3: When the transfer size is the same as the previous one
Priority 4: If none of the above applies
[0050]
On the other hand, the determination processing for the transfer request BR2 from the second processing device is similar to the determination processing for the transfer request BR1 from the first processing device, the page
[0051]
The
If the priority of the transfer request BR1 and the priority of the transfer request BR2 are the same, the
[0052]
As described above, the arbitrating
[0053]
(Third embodiment)
In the arbitration device according to the third embodiment of the present invention, the transfer request BR for the urgent data transfer process conflicts with the transfer request BR for the data transfer process that does not need to be performed in an arbitrary time. In this case, it is an object to preferentially perform urgent data transfer processing and improve data transfer efficiency.
[0054]
FIG. 5 is a block diagram showing a configuration of the arbitrating
[0055]
The first
[0056]
Next, the determination operation in the arbitrating
Hereinafter, in the arbitrating
[0057]
First, as a premise, when a transfer request BR1 that requires urgent input from the first processing device is input to the transfer
Here, since the transfer request BR1 and the transfer request BR2 are in conflict with the transfer
[0058]
Then, when the accumulated time count of the second
[0059]
As described above, the data transfer processing of the first processing device is performed a plurality of times until the accumulated time count of the second
FIG. 7 is a diagram showing the timing of the above processing.
[0060]
As described above, the arbitrating
[0061]
(Fourth embodiment)
In the arbitrating device according to the fourth embodiment of the present invention, the arbitrating
[0062]
FIG. 8 is a block diagram showing the configuration of the arbitrating
[0063]
As can be seen by comparing FIG. 5 and FIG. 8, the configuration of the
[0064]
The third
[0065]
Next, the determination operation in the arbitrating
In the following description, it is assumed that the
[0066]
First, as a premise, the transfer
[0067]
As described above, the arbitrating
[0068]
Here, if the data transfer of both the first and second processing devices is completed before the count of the fourth
[0069]
In this way, the processing of the third embodiment described above is performed until the limit for processing with a lower priority for an arbitrary processing device is reached, and when the limit is reached, processing is performed with the highest priority to the end. . Therefore, even if the processing apparatus originally has a low priority, the data transfer process can be completed within a predetermined time t by setting a threshold value for the limit.
FIG. 10 is a diagram showing the timing of the above processing.
[0070]
As described above, the arbitrating
[0071]
The third and fourth non-transfer time counters 241 and 242, the third and fourth
[0072]
(Fifth embodiment)
When the arbitration method according to the fifth embodiment of the present invention outputs the transfer request BR in the processing device, the arbitration method outputs a signal indicating whether the priority of the transfer request BR is high or low together. The purpose is to determine an appropriate order of data transfer processing based on the priority, regardless of the robin method, and to improve data transfer efficiency.
[0073]
FIG. 11 is a block diagram showing a configuration of a main part of a system using the arbitration method according to the fifth embodiment of the present invention. In FIG. 11, the arbitrating
[0074]
The transfer
[0075]
Next, an arbitration method performed by a system using the arbitration method of the fifth embodiment will be described with reference to FIG. FIG. 12 is a diagram illustrating state transition of the arbitration method performed by the system using the arbitration method of the fifth embodiment.
[0076]
When the arbitration method according to the fifth embodiment does not output a signal indicating that the priority is high for the transfer request BRi output by each processing device, the transition is completely different from the conventional bus use right residence round robin method described above. Absent. However, when the transfer request BR1 of the first processing device and the transfer request BR2 of the second processing device compete with each other in the state “
Of course, in the state “
[0077]
In the state “permitted 2”, when the transfer request BR1 of the first processing device and the transfer request BR2 of the second processing device compete with each other, only when the priority of the transfer request BR2 is low, Transition to state “permitted 1” to perform data transfer processing to the first processing device after the processing is completed (transition 316, state 302), but as long as the priority of the transfer request BR2 is high, it continues. The state remains “permitted 1” to perform the data transfer process for the second processing device (state 302).
Of course, in the state “
[0078]
The above process is performed in the same manner also in the state “
[0079]
Such processing is effective in the following cases.
For example, in the case of a transfer request from the CPU, the requested data is urgently required if it is a fill (read) cycle due to the occurrence of a cache miss. In such a case, CPU performance can be fully exploited by executing the data transfer processing of the CPU with priority over the data transfer processing of other processing devices. Conversely, in the CPU write cycle, after the data is written to the write buffer, the CPU performs the next processing. Do Therefore, the priority for actually writing data into the memory may be low.
[0080]
As described above, the arbitration method according to the fifth embodiment outputs a signal indicating the priority of the transfer request BRi together with the transfer request BRi from each processing device. Thereby, the arbitrating
[0081]
In the description of the first to fifth embodiments, the
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a system using an arbitration device and method according to each embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a main part of a system using the arbitration method according to the first embodiment of the present invention.
FIG. 3 is a diagram illustrating data transfer timing of the system using the arbitration method according to the first embodiment.
FIG. 4 is a block diagram showing a configuration of an
FIG. 5 is a block diagram showing a configuration of an
FIG. 6 is a diagram illustrating an example of data transfer timing in a conventional arbitration system.
FIG. 7 is a diagram showing data transfer timing of a system using an
FIG. 8 is a block diagram showing a configuration of an arbitrating
FIG. 9 is a diagram illustrating an example of data transfer timing in a conventional arbitration system.
FIG. 10 is a diagram showing data transfer timing of a system using the arbitrating
FIG. 11 is a block diagram showing a configuration of an
FIG. 12 is a diagram showing a state transition of data transfer in a system using the arbitration method according to the fifth embodiment.
FIG. 13 is a block diagram illustrating an example of a configuration of a conventional video system.
FIG. 14 is a diagram illustrating an example of main components of a system using a conventional arbitration device.
FIG. 15 is a block diagram illustrating an example of a configuration of a conventional bus use right residence round robin arbitration device.
FIG. 16 is a diagram showing state transition of a conventional bus use right residence round robin arbitration method;
FIG. 17 is a diagram illustrating an example of data transfer timing in a conventional arbitration system.
[Explanation of symbols]
11, 520 ... functional block
21-25, 540 ... Arbitration device
31, 530 ... Memory block
110, 120 ... Processing device
111, 121 ... Pre-request output unit
112, 122 ... This request output unit
113, 123 ... request output unit
114, 124 ... priority output unit
211, 541: Transfer request receiving unit
212, 542: Transfer permission output unit
221 ... Result comparison section
222, 223 ... Result judging section
224: Page address storage unit
225 ... Bank address storage unit
226 Size storage unit
227: Page address comparison unit
228 ... Bank address comparison unit
229 ... Size comparison section
231, 232, 241, 242 ... non-transfer time counter
233, 234, 243, 244... Threshold setting register
235, 236, 245, 246 ... comparators
501: Tuner / demodulator
502 ... MPEG TS decoder
503, 505 ... Local memory
504 ... MPEG AV decoder
506: Graphic control
507: Graphic memory
508 ... CPU
509 ... Program memory
Claims (1)
前記第1〜第Nの処理装置のそれぞれに対応しており、対応する当該第i(i=1,2,…,N)の処理装置のデータ転送が行われていない時間をカウントし、当該データ転送が開始した時点でカウント値をクリアする第1〜第Nの非転送時間カウンタと、
前記第1〜第Nの処理装置のそれぞれに対応しており、予め定めた値を格納する第1〜第Nのレジスタと、
前記第iの非転送時間カウンタの値と前記第iのレジスタの値とを比較し、当該第iの非転送時間カウンタの値が当該第iのレジスタの値に達した場合に、予め定めた比較結果を出力する第1〜第Nの比較手段と、
前記第1〜第Nの比較手段が出力する各々の比較結果に基づいて、前記第1〜第Nの処理装置のデータ転送順序を決定する転送順序決定手段と、
前記転送順序決定手段に従い、前記第1〜第Nの処理装置に対してデータ転送権利を付与するデータ転送処理手段とを備え、
前記第1〜第Nの非転送時間カウンタは、非動作に設定することが可能であり、
前記転送順序決定手段は、
有効な非転送時間カウンタの値が対応するレジスタの値に達するまでは、非動作に設定した非転送時間カウンタに対応する処理装置のデータ転送を優先して転送順序を決定し、
有効な非転送時間カウンタの値が対応するレジスタの値に達した場合は、当該非転送時間カウンタに対応する処理装置のデータ転送の転送順序を決定することを特徴とする、調停装置。A processing device having a data transfer request for competing data transfer between the storage device shared by the first to Nth (N is an integer of 2 or more) processing devices and the first to Nth processing devices. An arbitration device that gives a data transfer right to any one of them and instructs the transfer order,
It corresponds to each of the first to N-th processing devices, and counts the time during which data transfer of the corresponding i-th (i = 1, 2,..., N) processing device is not performed. First to Nth non-transfer time counters that clear the count value when data transfer starts;
Corresponding to each of the first to N-th processing devices, and first to N-th registers for storing predetermined values;
The value of the i-th non-transfer time counter is compared with the value of the i-th register, and when the value of the i-th non-transfer time counter reaches the value of the i-th register, a predetermined value is set. First to Nth comparing means for outputting a comparison result;
Transfer order determining means for determining the data transfer order of the first to N-th processing devices based on the respective comparison results output by the first to N-th comparing means;
Data transfer processing means for granting a data transfer right to the first to N-th processing devices according to the transfer order determining means ,
The first to Nth non-transfer time counters can be set to non-operation,
The transfer order determining means includes
Until the valid non-transfer time counter value reaches the value of the corresponding register, the data transfer of the processing device corresponding to the non-transfer time counter set to non-operation is prioritized and the transfer order is determined,
An arbitration device characterized in that when the value of a valid non-transfer time counter reaches the value of a corresponding register, the transfer order of data transfer of the processing device corresponding to the non-transfer time counter is determined .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34139897A JP4335327B2 (en) | 1997-12-11 | 1997-12-11 | Arbitration apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34139897A JP4335327B2 (en) | 1997-12-11 | 1997-12-11 | Arbitration apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11175464A JPH11175464A (en) | 1999-07-02 |
JP4335327B2 true JP4335327B2 (en) | 2009-09-30 |
Family
ID=18345765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34139897A Expired - Lifetime JP4335327B2 (en) | 1997-12-11 | 1997-12-11 | Arbitration apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4335327B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001344153A (en) * | 2000-05-30 | 2001-12-14 | Nec Corp | Cash memory controller for multiprocessor system |
ATE555443T1 (en) | 2002-02-26 | 2012-05-15 | Nxp Bv | ACCESS TO A DISTRIBUTED RESOURCE |
JP2010035183A (en) * | 2009-09-14 | 2010-02-12 | Panasonic Corp | Dtv data processing apparatus |
JP5533109B2 (en) * | 2010-03-24 | 2014-06-25 | セイコーエプソン株式会社 | Image display device, projector, and data acquisition method in image display device |
-
1997
- 1997-12-11 JP JP34139897A patent/JP4335327B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11175464A (en) | 1999-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
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 | |
US20030122834A1 (en) | Memory arbiter with intelligent page gathering logic | |
US8601192B2 (en) | Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device | |
US7650453B2 (en) | Information processing apparatus having multiple processing units sharing multiple resources | |
JP2009015832A (en) | Inter-access arbitration circuit, semiconductor device, and inter-access arbitration method | |
JP5707911B2 (en) | Data transfer control device | |
US6286070B1 (en) | Shared memory access device and method | |
US20060184737A1 (en) | Data stream generation method for enabling high-speed memory access | |
US7392330B2 (en) | Memory access bandwidth allocation and latency control in a digital camera | |
US6317813B1 (en) | Method for arbitrating multiple memory access requests in a unified memory architecture via a non unified memory controller | |
CN110059035B (en) | Semiconductor device and bus generator | |
US6782433B2 (en) | Data transfer apparatus | |
JP4408263B2 (en) | Data transfer system and data transfer method | |
JP2003114825A (en) | Memory control method, memory control circuit using the control method, and integrated circuit loaded with the memory control circuit | |
US6272583B1 (en) | Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths | |
JP4335327B2 (en) | Arbitration apparatus and method | |
US7035984B2 (en) | Memory arbiter with grace and ceiling periods and intelligent page gathering logic | |
US5627968A (en) | Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory | |
JP5382113B2 (en) | Storage control device and control method thereof | |
JP3260456B2 (en) | Computer system, integrated circuit suitable for it, and requirement selection circuit | |
JP4536189B2 (en) | DMA transfer apparatus and DMA transfer system | |
US7080176B2 (en) | Bus control device and information processing system | |
US20050135402A1 (en) | Data transfer apparatus | |
JP2011034214A (en) | Memory controller | |
JP5623150B2 (en) | Electronic device and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041018 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041018 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070712 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090407 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090603 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090625 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120703 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130703 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |