[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4335327B2 - Arbitration apparatus and method - Google Patents

Arbitration apparatus and method Download PDF

Info

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
Application number
JP34139897A
Other languages
Japanese (ja)
Other versions
JPH11175464A (en
Inventor
匡隆 尾坂
勉 関部
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
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP34139897A priority Critical patent/JP4335327B2/en
Publication of JPH11175464A publication Critical patent/JPH11175464A/en
Application granted granted Critical
Publication of JP4335327B2 publication Critical patent/JP4335327B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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の非転送時間カウンタ22がカウントした時間と第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 / demodulator 501, an MPEG (Moving Picture Experts Group) TS decoder 502, an MPEG AV decoder 504, a graphics control 506, and a CPU 508. . Each of these processing devices has its own local memory 503, 505, graphic memory 507, and program memory 509, and individually transfers data as necessary. Go ing.
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 TS decoder 502, the AV decoder 504, the graphics control 506, and the CPU 508 that are individually configured in the conventional video system shown in FIG. The function blocks 520 are collectively configured. Further, the local memories 503 and 505, the graphic memory 507, and the program memory 509 are shared and configured as one memory block 530.
[0005]
Thus, when data transfer is performed from a plurality of processing devices to one memory block 530, an arbitration device that arbitrates data transfer between the function block 520 and the memory block 530 is necessary. The arbitrating device determines a data transfer order by a predetermined method in response to a data transfer request competing from each processing device.
[0006]
FIG. 14 is a diagram illustrating an example of main components of a video system using a conventional arbitration device 540.
Referring to FIG. 14, arbitration device 540 receives a function BR 520, that is, a signal BR (Bus Request) indicating a data transfer request from each processing device, determines a transfer order using a certain method, and arbitrarily A signal BG (Bus Grant) indicating data transfer permission is output to one processing apparatus. The processing apparatus that has received this transfer permission BG starts data transfer thereafter.
[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 arbitration device 540.
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 request reception unit 541 is in use (busy) by any of the processing devices. A signal BB (Bus Busy) indicating that the bus is in use is determined. The bus busy BB is a signal that becomes active when any of the processing apparatuses uses the bus. If the bus is not in use at the time of this determination, the transfer request reception unit 541 issues a transfer permission request signal to the transfer permission output unit 542. Upon receiving the transfer permission request signal, the transfer permission output unit 542 determines where the right to use the bus (referred to as a preferential right that the bus can be used immediately) resides at that time. Here, if the transfer request BRi is a request from a processing device in which the right to use the bus is present, the transfer permission BGi has already been issued, so the transfer permission BGi is continuously issued to the processing device. to continue. On the other hand, if the transfer request BRi is a request from a processing device that does not have the right to use the bus, transfer permission BGi is output to the processing device.
[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 arbitrating device 540. On the other hand, the processing device that does not have the right to use the bus can start data transfer only after outputting the transfer request signal BRi to the arbitrating device 540 and receiving the transfer permission signal BGi.
[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 “resident 1” (state 601). This state “resident 1” is maintained as long as the second processing device does not issue the transfer request BR2. When only the first processing device issues the transfer request BR1 in the state “resident 1”, the transfer permission BG1 has already been output, and thus the state “resident 1” is maintained (transition 621). Data transfer is started without. However, when the second processing device outputs the transfer request BR2 in the state “resident 1”, the state transitions to the state “permission 2” and the transfer permission BG2 for the second processing device is output (transition 611). , State 602).
[0013]
In the state “permission 2”, the second processing apparatus given the transfer permission BG2 waits for the data transfer of the first processing apparatus to be completed while watching the bus busy BB (transition 622). To start. Then, when the data transfer of the second processing device is completed, the state transitions to the “resident 2” state and waits until there is a next transfer request BRi (transition 612, state 603). However, if the transfer request BR1 of the first processing device is generated during the data transfer of the second processing device in this state “permission 2”, the direct state “permission 1” is completed after the data transfer of the second processing device is completed. And transfer permission BG1 is issued to the first processing device (transition 616, state 604). Of course, when the transfer request BR2 of the second processing device continues to be issued in the state “permission 2”, the state remains in the state “permission 2” and the processing for the transfer request BR2 from the second processing device is performed. Continue (state 602).
[0014]
The above processing is performed in the same manner in the state “resident 2” and the state “permitted 1” (states 603 and 604).
[0015]
[Problems to be solved by the invention]
However, the arbitration device 540 of the conventional bus use right resident round robin method, in response to a data transfer request from one processing device, when the bus use right is resident with respect to another processing device, There is a problem that a delay of 2 cycles necessarily occurs before starting the data transfer of the processing device (in FIG. 17, after the transfer request BR1 is output at the twelfth clock, the first cycle is output at the fourteenth clock. 2 cycle delay before the data transfer of the processing unit is started).
The arbitration device 540 that has received the data transfer request gives priority to transfer to the same page of the memory 530 and read transfer. Do It is also a problem that it is not considered that this leads to an increase in total transfer efficiency.
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 functional block 11 and an arbitration device 2N (in the following description, an arbitration device 21 in the first embodiment, an arbitration device 22 in the second embodiment, and a third embodiment). An arbitration device 23; an arbitration device 24 in the fourth embodiment; an arbitration device 25 in the fifth embodiment); and a memory block 31.
[0034]
The functional block 11 includes a plurality of processing devices such as an MPEG TS decoder, an MPEG AV decoder, graphics control, and a CPU, as in the conventional functional block described above. The memory block 31 shares and uses the memory necessary for the plurality of processing devices.
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 functional block 11 and are subject to arbitration.
[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 device 21 includes a transfer request receiving unit 211 and a transfer permission output unit 212. The functional block 11 includes a first processing device 110 and a second processing device 120. Further, the first and second processing devices include pre-request output units 111 and 121 and main request output units 112 and 122, respectively.
[0036]
The transfer request reception unit 211 receives a transfer request BRi from each processing device (i is 1 or 2, which is the same in the following embodiments), and transfers the data to be transferred based on the bus use right resident round robin method The request BRi is determined, and a request to that effect is output to the transfer permission output unit 212. The transfer permission output unit 212 outputs the transfer permission BGi to the corresponding i-th processing device in accordance with the request from the transfer request reception unit 211. The pre-request output units 111 and 121 included in each processing device output a pre-transfer request BRi ′ for notifying the arbitration device 21 that there is a plan to perform data transfer in the future, although it is not necessary now. To do. The request output units 112 and 122 output a transfer request BRi when data transfer is really necessary, as before.
[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 second processing device 120 is in the “resident 2” state where the right to use the bus exists (state 504) and the first processing device 110 outputs the transfer request BR1. When it is found that the first processing device 110 will output a data transfer request in the future (for example, when the first processing device 110 is a CPU, a cache miss occurs and the memory block When it is necessary to read data from 31), the first processing device 110 first outputs the previous transfer request BR1 'to the arbitrating device 21 for only one clock. Upon receiving this pre-transfer request BR1 ′, the arbitrating device 21 changes the state to “permitted 1” (transition 510, state 501).
Here, the pre-transfer request BR1 ′ output from the first processing device 110 indicates the possibility of future data transfer. In fact, the first processing device 110 starts data transfer now. do not do. For this reason, the bus busy BB is not output from the functional block 11 to the arbitrating device 21 (not active). Accordingly, the arbitrating device 21 immediately changes the state to “resident 1” (transition 506, state 502) because neither the bus busy BB nor the transfer request BR2 from the second processing device 120 exists.
[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 “resident 2” → “permission 1” → “resident 1”. On the other hand, in the arbitration method according to the first embodiment shown in FIG. 3, the above-described pre-transfer request BR1 ′ is output at the eighth clock, and the “resident 1 ”. Therefore, even when the real transfer request BR1 is output at the twelfth clock, the data transfer can be started immediately without waiting time.
[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 arbitration device 21 in the future. A transfer request BR ′ is output. As a result, the arbitrating device 21 can shift the residence state to the processing device side that has output the previous transfer request BR ′, regardless of which processing device has the right to use the bus. Therefore, the processing apparatus can immediately start data transfer at the time of the data transfer request BR, and can improve the data transfer efficiency.
[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 device 22 according to the second embodiment of the present invention. In FIG. 4, the arbitrating device 22 includes a transfer request receiving unit 211, a transfer permission output unit 212, a result comparison unit 221, first and second result determination units 222 and 223, a page address storage unit 224, A bank address storage unit 225, a size storage unit 226, a page address comparison unit 227, a bank address comparison unit 228, and a size comparison unit 229 are provided.
[0043]
The page address storage unit 224 is a memory block For each bank in 31, the page address location of the data transfer performed last time is stored. The bank address storage unit 225 is a memory for data transfer performed last time. block The bank address location in 31 is stored. The size storage unit 226 stores size information of the data transfer performed last time.
The contents stored in the page address storage unit 224, the bank address storage unit 225, and the size storage unit 226 are stored in the memory via the memory interface as necessary. Reblock (Not shown).
[0044]
The page address comparison unit 227 compares the page address for data transfer requested by the first and second processing devices with the previous page address stored in the page address storage unit 224 for each bank, and The comparison output is output to the first and second result determination units 222 and 223, respectively. The bank address comparison unit 228 compares the bank address for data transfer requested by each of the first and second processing devices with the previous bank address stored in the bank address storage unit 225, and compares the comparison output with the first output. It outputs to the 1st and 2nd result judgment parts 222 and 223, respectively. The size comparison unit 229 compares the data transfer size information requested by the first and second processing devices with the previous size information stored in the size storage unit 226, and compares the comparison output with the first and second size information. It outputs to the 2nd result judgment part 222 and 223, respectively.
[0045]
The first result determination unit 222 receives the comparison result regarding the first processing device and a signal indicating that the data transfer processing indicates read / write, and determines the priority order for the request of the first processing device based on the comparison result. The data is output to the comparison unit 221. The second result determination unit 223 inputs the comparison result regarding the second processing device and a signal indicating whether the data transfer processing is read / write, and determines the priority order for the request of the second processing device based on the comparison result. The data is output to the comparison unit 221. The result comparison unit 221 receives the output of the first result determination unit 222 and the output of the second result determination unit 223, and determines which of the transfer requests of the first processing device and the second processing device has priority. Determine and notify the transfer request accepting unit 211.
[0046]
The transfer request reception unit 211 outputs a request to the transfer permission output unit 212 based on the priority order output from the result comparison unit 221. The transfer permission output unit 212 outputs the transfer permission BGi to the corresponding i-th processing device in accordance with the request from the transfer request reception unit 211.
[0047]
Next, the determination operation in the arbitration device 22 will be described.
In the following, it is assumed that the arbitration device 22 competes with the transfer request BR1 from the first processing device and the transfer request BR2 from the second processing device.
[0048]
First, determination processing for the transfer request BR1 from the first processing device is as follows. The page address comparison unit 227 inputs the page address data in the transfer request BR1. Here, the page address storage unit 224 stores which page address is performed in the previous data transfer. Then, the page address comparison unit 227 determines whether or not the page address of the current transfer request BR1 is the same as the previous page address. The coincidence of the page addresses is determined because the data transfer efficiency is improved when the data transfer request for the same page address is continued. The bank address comparison unit 228 inputs bank address data in the transfer request BR1. Here, the bank address storage unit 225 stores which bank address is used in the previous data transfer. Then, the bank address comparison unit 228 determines whether or not the bank address of the current transfer request BR1 is different from the previous bank address. This difference in bank address is determined because, with respect to banks, data transfer efficiency is improved by changing the target bank for each process, rather than continuing the process for the same bank. Further, the size comparison unit 229 inputs size information data in the transfer request BR1. Here, the size storage unit 226 stores the transfer size in the previous data transfer. Then, the size comparison unit 229 determines whether or not the transfer size of the current transfer request BR1 is the same as the previous transfer size. The reason why the transfer sizes coincide with each other is that, for example, in a memory such as a DRAM, the data transfer efficiency for the data transfer request related to the same transfer size is improved by continuously processing.
[0049]
The determination results from the page address comparison unit 227, the bank address comparison unit 228, and the size comparison unit 229 regarding the transfer request BR1 are input to the first result determination unit 222. The first result determination unit 222 inputs the above three determination results and data indicating whether the transfer request BR1 is a request for reading or a request for writing. Then, the first result determination unit 222 determines the priority of the transfer request BR1 based on the following contents. In the contents shown below, priority 1 is the highest priority data transfer process, and priority 4 is the lowest priority data transfer process.
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 address comparison unit 227 and the bank address comparison unit 228 regarding the transfer request BR2. The second result determination unit 223 determines the priority of the transfer request BR2 based on the three determination results of the size comparison unit 229 and data indicating whether the transfer request BR2 is a read request or a write request.
[0051]
The result comparison unit 221 inputs the priority of the transfer request BR1 output from the first result determination unit 222 and the priority of the transfer request BR2 output from the second result determination unit 223. Compare degrees. Then, the result comparison unit 221 instructs the transfer request reception unit 211 to perform the data transfer process for the transfer request BRi having the higher priority. In response to the instruction from the result comparison unit 221, the transfer request reception unit 211 outputs a corresponding request to the transfer permission output unit 212. The transfer permission output unit 212 outputs the transfer permission BGi to the i-th processing device based on an instruction from the transfer request reception unit 211.
If the priority of the transfer request BR1 and the priority of the transfer request BR2 are the same, the result comparison unit 221 notifies the transfer request reception unit 211 to that effect. In this case, the transfer request reception unit 211 determines the order of data transfer by the bus use right residence round robin method as usual.
[0052]
As described above, the arbitrating device 22 according to the second embodiment considers the identity of the transfer data page address, bank address, transfer data size, read / write, and the like regarding the received data transfer request. The priority of data transfer, that is, the transfer order is obtained. As a result, it is 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 efficiency to memory Can be improved.
[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 device 23 according to the third embodiment of the present invention. In FIG. 5, the arbitrating device 23 includes a transfer request receiving unit 211, a transfer permission output unit 212, first and second non-transfer time counters 231 and 232, and first and second threshold setting registers 233. And 234, and first and second comparators 235 and 236.
[0055]
The first non-transfer time counter 231 inputs the bus busy BB1 related to the first processing device, and counts the time during which data transfer is not performed. The second non-transfer time counter 232 inputs the bus busy BB2 related to the second processing device, and counts the time during which data transfer is not performed. The first and second threshold value setting registers 233 and 234 store predetermined threshold values, respectively. The first comparator 235 compares the time counted by the first non-transfer time counter 231 with the value stored in the first threshold value setting register 233, and the comparison result is transferred to the transfer request receiving unit 211. Output to. The second comparator 236 compares the time counted by the second non-transfer time counter 232 with the value stored in the second threshold value setting register 234, and the comparison result is transferred to the transfer request receiving unit 211. Output to. The transfer request reception unit 211 outputs a request regarding the i-th processing device that is active out of the first comparator 235 and the second comparator 236 to the transfer permission output unit 212. The transfer permission output unit 212 receives a request from the transfer request reception unit 211 and outputs a transfer permission BGi to the corresponding i-th processing device.
[0056]
Next, the determination operation in the arbitrating device 23 will be described.
Hereinafter, in the arbitrating device 23, the transfer request BR1 from the first processing device (herein referred to as CPU) and the transfer request BR2 from the second processing device (herein referred to as TS decoder) compete. Suppose that the transfer request BR1 is urgent. In this case, the data output from the second processing unit, that is, the TS decoder is within a certain time t. In It is only necessary to transfer the data a predetermined number of times. On the other hand, it is assumed that the first processing device, that is, the CPU, has rushed the data transfer due to a cache miss or the like.
[0057]
First, as a premise, when a transfer request BR1 that requires urgent input from the first processing device is input to the transfer request receiving unit 211, the transfer request receiving unit 211 receives a first non-transfer time counter 231 relating to the first processing device. Is set to non-operation, and only the second non-transfer time counter 232 relating to the second processing device is enabled. In addition, the second non-transfer time counter 232 is cleared.
Here, since the transfer request BR1 and the transfer request BR2 are in conflict with the transfer request reception unit 211, data transfer processing is normally performed from a processing device in which the bus use right resides in the bus use right resident round robin method. (See FIG. 6. FIG. 6 is in the state “Resident 2”, where the first processor requests eight data transfers and the second processor requests four data transfers. Show the case). However, since only the second non-transfer time counter 232 is enabled as described above, and the second non-transfer time counter 232 has not yet reached the value of the second threshold setting register 234, The transfer request receiving unit 211 first performs the data transfer process of the first processing device with priority given to the transfer request BR1. While the data transfer process of the first processing device is being performed, the bus busy BB2 becomes active, and the second non-transfer time counter 232 counts the time. The first processing device performs data transfer processing continuously until the count of the second non-transfer time counter 232 reaches the value of the second threshold value setting register 234.
[0058]
Then, when the accumulated time count of the second non-transfer time counter 232 reaches the value of the second threshold value setting register 234, the transfer request receiving unit 211 next moves to the data transfer process of the second processing device. . As a result, the bus busy BB2 becomes inactive, and the second non-transfer time counter 232 is cleared. When the data transfer process of the second processing device is finished, the data of the first processing device is kept until the accumulated time count of the second non-transfer time counter 232 reaches the value of the second threshold value setting register 234 again. Transfer processing is performed.
[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 non-transfer time counter 232 reaches the value of the second threshold value setting register 234, The data transfer process of the processing device is performed once every time the accumulated time count of the second non-transfer time counter 232 reaches the value of the second threshold value setting register 234. By repeating this process, the data transfer process of the first processing device requiring urgent processing is preferentially performed, and the data transfer process of the second processing device not requiring urgent processing is performed within a predetermined time t. Can do.
FIG. 7 is a diagram showing the timing of the above processing.
[0060]
As described above, the arbitrating device 23 according to the third embodiment counts the time during which data is not transferred for each processing device, and the data transfer processing of each processing device until a predetermined time is reached. Limit. As a result, data transfer of the fixed number of times within a certain time Can do Efficient arbitration of data transfer between a processing device (for example, a TS decoder) and an urgent processing device (for example, a CPU) Do be able to. Therefore, it is possible to improve the execution performance of a processing device (for example, CPU) that needs to perform data transfer with priority.
[0061]
(Fourth embodiment)
In the arbitrating device according to the fourth embodiment of the present invention, the arbitrating device 23 according to the third embodiment preferentially performs the data transfer processing of the first processing device that requires urgent. The Therefore, the case where the data transfer process of the second processing apparatus cannot be completed within a certain time t is taken into consideration (see FIG. 9).
[0062]
FIG. 8 is a block diagram showing the configuration of the arbitrating device 24 according to the fourth embodiment of the present invention. In FIG. 8, the arbitrating device 24 includes a transfer request receiving unit 211, a transfer permission output unit 212, first to fourth non-transfer time counters 231, 232, 241, and 242, and first to fourth thresholds. Value setting registers 233, 234, 243 and 244, and first to fourth comparators 235, 236, 245 and 246 are provided.
[0063]
As can be seen by comparing FIG. 5 and FIG. 8, the configuration of the arbitration device 24 of the fourth embodiment is the same as that of the arbitration device 23 of the third embodiment described above. Time counters 241 and 242, third and fourth threshold setting registers 243 and 244, and third and fourth comparators 245 and 246 are further added. The other configuration of the arbitration device 24 according to the fourth embodiment is the same as the configuration of the arbitration device 23 according to the third embodiment, and the same reference numerals are used for the configuration and the description thereof is omitted. Omitted.
[0064]
The third non-transfer time counter 241 receives the transfer request BR1 related to the first processing device, the time during which data transfer other than the first processing device is being performed, and no data transfer is being performed. Accumulate time. The fourth non-transfer time counter 242 receives the transfer request BR2 related to the second processing device, the time during which data transfer other than the second processing device is being performed, and no data transfer is being performed. Accumulate time. The third and fourth threshold value setting registers 243 and 244 store predetermined threshold values, respectively. The third comparator 245 compares the time counted by the third non-transfer time counter 241 with the value stored in the third threshold value setting register 243, and the comparison result is transferred to the transfer request receiving unit 211. Output to. The fourth comparator 246 includes a second non-transfer time counter 2 3 2 compares the time counted by 2 with the value stored in the fourth threshold value setting register 244, and outputs the comparison result to the transfer request reception unit 211. As described above, the transfer request reception unit 211 initially outputs a request regarding the i-th processing device, which is the active one of the first comparator 235 and the second comparator 236, as a transfer permission output. To the unit 212. However, the transfer request reception unit 211 activates the output of the third comparator 245 or the fourth comparator 246 and outputs a request regarding the i-th processing device that is active to the transfer permission output. The output is fixed to the unit 212.
[0065]
Next, the determination operation in the arbitrating device 24 will be described.
In the following description, it is assumed that the arbitration device 24 is also the case described in the arbitration device 23 of the third embodiment.
[0066]
First, as a premise, the transfer request receiving unit 211 receives the urgent transfer request BR1 from the first processing device, and inputs the third non-transfer time counter 241 related to the first processing device to the transfer request receiving unit 211. Is also set to non-operation, and the fourth non-transfer time counter 242 related to the second processing device is also enabled. The fourth non-transfer time counter 242 is cleared. The fourth threshold value setting register 244 is a time (including a time during which nothing is performed) that can be allocated to data transfer of other processing devices other than the second processing device, that is, the second processing. A time is set by excluding the time required for the data transfer of the second processing device from the fixed time t at which the device must transfer the data.
[0067]
As described above, the arbitrating device 24 first performs the data transfer processing of the first processing device with priority on the transfer request BR1. While the data transfer process of the first processing device is being performed, the second non-transfer time counter 232 counts time by the bus busy BB2, and the transfer request BR2 is active, so the fourth non-transfer The time counter 242 also counts time. Until the count of the fourth non-transfer time counter 242 reaches the value of the fourth threshold value setting register 244, as described above, the data transfer process of the first processing unit and the data of the second processing unit The transfer process is repeated.
[0068]
Here, if the data transfer of both the first and second processing devices is completed before the count of the fourth non-transfer time counter 242 reaches the value of the fourth threshold value setting register 244, there is no problem. Absent. On the other hand, when the count of the fourth non-transfer time counter 242 reaches the value of the fourth threshold value setting register 244 even when the data transfer process of the first processing device still remains The transfer request accepting unit 211 determines that there is a limit for processing by lowering the priority regarding the data transfer processing of the second processing device (that is, if the data transfer processing is further delayed, it remains within a certain time t). It is impossible to transfer all the data). The transfer request reception unit 211 issues a request regarding the second processing device until all the data transfer processing of the second processing device is completed regardless of the outputs of the first and second comparators 235 and 236. to continue.
[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 device 24 according to the fourth embodiment counts the time during which data is not transferred for each processing device, and the data transfer processing of each processing device until a predetermined time is reached. In addition, a limit time is set in advance so that all data transfer is completed within a certain time, and when the limit time is reached, data transfer processing is performed with the highest priority. This gives priority to data transfer processing of processing devices that require urgency. Do In addition, even for a processing apparatus that does not require urgent but requires a certain amount of data transfer within a certain time, it is possible to guarantee completion of data transfer within a certain time.
[0071]
The third and fourth non-transfer time counters 241 and 242, the third and fourth threshold setting registers 243 and 244, the third and fourth in the arbitrating device 24 according to the fourth embodiment. The comparators 245 and 246 are not necessarily configured to accompany the configuration of the arbitration device 23 according to the third embodiment, and the transfer request receiving unit 211 and the transfer permission output unit 212 are not necessarily included. Even with this configuration alone, it is possible to complete a certain amount of data transfer within a certain time with respect to an arbitrary processing device while following the bus use right residence round robin method.
[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 device 25 includes a transfer request receiving unit 211 and a transfer permission output unit 212. The functional block 11 includes a first processing device 110 and a second processing device 120. The first and second processing devices include request output units 113 and 123 and priority output units 114 and 124, respectively.
[0074]
The transfer request reception unit 211 inputs the transfer request BRi and priority from each processing device, determines the transfer request BRi to be subjected to data transfer processing based on the priority, and sends a request to that effect to the transfer permission output unit It outputs to 212. The transfer permission output unit 212 outputs the transfer permission BGi to the corresponding i-th processing device in accordance with the request from the transfer request reception unit 211. The request output units 113 and 123 included in each processing device output a transfer request BRi to obtain transfer permission when performing data transfer. The priority output units 114 and 124 output signals indicating whether the priority of the transfer request BRi output from the request output units 113 and 123 is high or low.
[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 “resident 1”, when the priority of the transfer request BR1 is low, the conventional bus use right As in the resident round robin method, the state transitions to “permission 2” to perform data transfer processing to the second processing device (transition 311 and state 302), but when the priority of the transfer request BR1 is high, Even if the priority of the transfer request BR2 is high, the state transitions to the “permitted” state (transition 317, state 304) in order to continue the data transfer process for the first processing device.
Of course, in the state “resident 1”, when only the transfer request BR2 of the second processing device is present, the state transitions to the state “permission 2” (transition 311 and state 302), and no transfer request BRi is received from each processing device. If there is not, the system waits for the next transfer request BRi in the state “resident 1” (state 301).
[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 “permission 2”, when only the transfer request BR1 of the first processing device is present, the state transitions to the state “permission 1” (transition 316, state 304), and nothing is transferred from each processing device to the transfer request BRi. If there is not, the state transits to the “resident 2” state and waits until there is a next transfer request BRi (transition 312, state 303).
[0078]
The above process is performed in the same manner also in the state “resident 2” and the state “permitted 1” (states 303 and 304).
[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 device 25 can optimize the prioritization of the data transfer processing of each processing device, and can improve the data transfer efficiency.
[0081]
In the description of the first to fifth embodiments, the arbitration devices 21 to 25 have been described as being provided separately from the functional block 11, but may be configured in the functional block.
[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 arbitration device 22 according to a second embodiment of the present invention.
FIG. 5 is a block diagram showing a configuration of an arbitration device 23 according to a third embodiment of the present invention.
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 arbitration device 23 according to a third embodiment.
FIG. 8 is a block diagram showing a configuration of an arbitrating device 24 according to a fourth embodiment of the present invention.
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 device 24 according to the fourth embodiment.
FIG. 11 is a block diagram showing a configuration of an arbitration device 25 according to a fifth embodiment of the present invention.
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(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の処理装置に対してデータ転送権利を付与するデータ転送処理手段とを備え、
前記第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 .
JP34139897A 1997-12-11 1997-12-11 Arbitration apparatus and method Expired - Lifetime JP4335327B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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