JP2007323279A - メモリ制御装置及びメモリ制御方法 - Google Patents
メモリ制御装置及びメモリ制御方法 Download PDFInfo
- Publication number
- JP2007323279A JP2007323279A JP2006151613A JP2006151613A JP2007323279A JP 2007323279 A JP2007323279 A JP 2007323279A JP 2006151613 A JP2006151613 A JP 2006151613A JP 2006151613 A JP2006151613 A JP 2006151613A JP 2007323279 A JP2007323279 A JP 2007323279A
- Authority
- JP
- Japan
- Prior art keywords
- functional block
- memory control
- control device
- unit
- fifo buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】効率よくアクセス要求を制御するメモリ制御装置を実現する。
【解決手段】一のメモリ(3)に対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置(1)は、1つ以上のバッファリング回路(30、40)と、アクセス要求(rq)の優先順位に基づいて、アクセス要求(rq)の調停を行う調停部(70)とを備えている。バッファリング回路(30)は、アクセス要求(rq)を一時的に蓄積するFIFOバッファ(31)と、FIFOバッファ(31)に蓄積されているアクセス要求(rq)の数をカウントするカウント部(32)と、カウント部(32)によるカウント数に基づいて、状態通知信号(s2)を出力する状態通知部(33)とを有している。調停部(70)は、状態通知信号(s2)に基づいて、機能ブロック(2)から発行されたアクセス要求(rq)の優先順位を変更する。
【選択図】図1
【解決手段】一のメモリ(3)に対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置(1)は、1つ以上のバッファリング回路(30、40)と、アクセス要求(rq)の優先順位に基づいて、アクセス要求(rq)の調停を行う調停部(70)とを備えている。バッファリング回路(30)は、アクセス要求(rq)を一時的に蓄積するFIFOバッファ(31)と、FIFOバッファ(31)に蓄積されているアクセス要求(rq)の数をカウントするカウント部(32)と、カウント部(32)によるカウント数に基づいて、状態通知信号(s2)を出力する状態通知部(33)とを有している。調停部(70)は、状態通知信号(s2)に基づいて、機能ブロック(2)から発行されたアクセス要求(rq)の優先順位を変更する。
【選択図】図1
Description
本発明は、メモリ制御装置及びメモリ制御方法に関し、特に、一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御技術に属する。
最近のシステムLSIにおいては、映像信号処理用の映像データ、マイコン用の制御データ、MPEGエンコード/デコード用のデータ等多くのデータを記憶する必要がある。このため、SDRAM(Synchronous Dynamic Random Access Memory)等のメモリデバイスを、システムLSIに外部接続することにより、大量のデータが記憶可能となっている。
一のメモリにアクセスする機能ブロックが複数存在する場合、各機能ブロックから発行されたアクセス要求を調停して、選択的にアクセスを許可する必要がある。一般的には、アクセス要求の調停は、各機能ブロックの性質や、メモリバス効率に基づいて設定されたアクセス要求の優先順位に基づいて行われている。しかし、優先順位が固定されている場合、優先順位の高い機能ブロックからのアクセス要求が連続して発行されると、優先順位の低い機能ブロックからのアクセス要求は受理されにくい。
そこで、一の機能ブロックによるメモリバスの使用が、最大使用可能時間を超えた場合には、調停部によってバス使用権の切り替えが行われることにより、同一機能ブロックによる不当なバス占有を抑止する技術が提案されている(例えば、特許文献1参照)。また、機能ブロックから発行されたリクエストの待機時間を監視して、待機可能な時間に達したリクエストについて、その優先順位を最も高くすることにより、リクエストがタイムアウトするの防止している(例えば、特許文献2参照)。
特開平8−339346号公報
特開2001−297056号公報
上記の技術では、バスの最大使用可能時間やアクセス要求の待機可能な時間といった基準となる時間に基づいて、バス使用権を切り替えたり、優先順位を変更したりしている。しかし、これら基準となる時間は、予め設定されたものである。このため、前者の技術では、他の機能ブロックからのアクセス要求がない場合であっても、メモリバスの使用が最大使用可能時間を経過すると、強制的にバス使用権は取り上げられてしまう。また、後者の技術では、リクエストの待機時間が待機可能な時間に達するまでは、優先順位の変更が行われない。すなわち、基準となる時間の設定によって、アクセス要求の調停の効率が左右され、柔軟なアクセス要求の調停ができないといった問題がある。
上記問題に鑑み、本発明は、一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置について、効率的なメモリアクセス制御を実現することを課題とする。
上記課題を解決するために本発明が講じた手段は、一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置として、機能ブロックから発行されたアクセス要求をバッファリングする、1つ以上のバッファリング回路と、アクセス要求の優先順位に基づいて、前記アクセス要求の調停を行う調停部とを備えたものとする。前記バッファリング回路は、前記機能ブロックから発行されたアクセス要求を一時的に蓄積するFIFOバッファと、前記FIFOバッファに蓄積されているアクセス要求の数をカウントするカウント部と、前記カウント部によるカウント数に基づいて、前記FIFOバッファにおけるアクセス要求の蓄積状態を示す状態通知信号を出力する状態通知部とを有するものとする。ここで、前記調停部は、前記状態通知信号に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するものとする。
これによると、バッファリング回路の有するFIFOバッファに蓄積された、機能ブロックから発行されたメモリへのアクセス要求が、カウント部によってカウントされ、そのカウント数に基づいて状態通知部から状態通知信号が出力され、機能ブロックから発行されたアクセス要求の優先順位が調停部によって変更される。したがって、FIFOバッファにおけるアクセス要求の蓄積状態に応じて、機能ブロックから発行されたアクセス要求の優先順位が変更されるため、効率的にアクセス要求を調停することができる。
具体的には、前記状態通知部は、前記カウント数と1つ以上の閾値との大小関係を比較して、その比較結果に応じて、前記状態通知信号の状態を設定する比較設定部とを有するものとする。ここで、前記調停部は、前記状態通知信号によって表される、前記カウント数と前記1つ以上の閾値との大小関係に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するものとする。
これによると、FIFOバッファに蓄積されたアクセス要求のカウント数と閾値との大小関係に応じて、機能ブロックから発行されたアクセス要求の優先順位を段階的に変更することができる。
より具体的には、前記閾値は1つであるものとする。ここで、前記比較設定部は、前記カウント数が前記閾値よりも小さいとき前記状態通知信号を第1の論理レベルに設定する一方、前記カウント数が前記閾値よりも大きいとき前記状態通知信号を第2の論理レベルに設定するものとする。また、前記調停部は、前記第2の論理レベルの状態通知信号を受けたとき、前記機能ブロックから発行されたアクセス要求の優先順位を高位に変更するものとする。
これによると、FIFOバッファにおけるアクセス要求の蓄積数がほぼ限界に達している場合に、当該機能ブロックから発行されたアクセス要求が優先的に処理される。
好ましくは、前記閾値は、書き換え可能であるものとする。これによると、メモリの用途に応じた閾値の変更が容易となる。
また、好ましくは、前記バッファリング回路を複数備えたものとする。ここで、前記バッファリング回路のそれぞれが有する前記FIFOバッファは全体として一のFIFOバッファとして機能するように接続されているものとする。
これによると、FIFOバッファにおけるアクセス要求の蓄積状態を、複数段階に分けて調停部に通知することができるため、よりきめ細かなアクセス要求の調停が可能となる。
また、好ましくは、前記機能ブロックから出力されたタイミング信号の出力周期を検出する周期検出部と、前記周期検出部で検出された周期及び前記機能ブロックから発行されたアクセス要求に基づいて、前記機能ブロックに係る前記周期単位のアクセス要求の傾向を学習して、当該学習結果を表す学習信号を出力する学習部とを備えたものとする。ここで、前記調停部は、前記学習信号に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するものとする。
これによると、機能ブロックに係る周期単位のアクセス要求の傾向に基づいて、アクセス要求の調停を行うことが可能となる。
具体的には、前記学習部は、前記周期単位のアクセス要求の発行タイミングを学習して、前記アクセス要求の発行がある期間には前記学習信号を第1の論理レベルに設定する一方、前記アクセス要求の発行がない期間には前記学習信号を第2の論理レベルに設定しするものとする、また、前記調停部は、前記第2の論理レベルの学習信号を受けたとき、前記機能ブロックから発行されたアクセス要求の優先順位を低位に変更するものとする。
これによると、機能ブロックからのアクセス要求の発行がない期間には、機能ブロックから発行されたアクセス要求の優先順位を低位に変更して、他の機能ブロックのアクセス要求を受理することができる。
好ましくは、前記FIFOバッファにおけるアクセス要求の蓄積状態を示す状態通知信号を出力する状態通知部は、前記機能ブロックに当該状態通知信号を出力するものとする。
これによると、FIFOバッファにおけるアクセス要求の蓄積状態が機能ブロックに通知されるため、機能ブロック側で適宜アクセス要求の発行を抑制することができる。
また、上記問題を解決するために本発明が講じた手段は、一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御方法として、機能ブロックから発行されたアクセス要求を蓄積するFIFOバッファに蓄積されている、当該アクセス要求の数をカウントするステップと、前記カウント数に基づいて、前記FIFOバッファにおける、前記機能ブロックから発行されたアクセス要求の蓄積状態を判断するステップと、前記判断結果に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するステップとを備えたものとする。
これによると、FIFOバッファに蓄積されたアクセス要求数がカウントされ、そのカウント数に基づいて、FIFOバッファにおけるアクセス要求の蓄積状態が判断され、その判断結果に基づいて、機能ブロックから発行されたアクセス要求の優先順位が変更される。したがって、FIFOバッファにおけるアクセス要求の蓄積状態に応じて、機能ブロックから発行されたアクセス要求の優先順位が変更されるため、効率的にアクセス要求を調停することができる。
以上、本発明によると、一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置に関して、優先順位の低いアクセス要求が効率よく受理されるため、システムの破綻を回避することが可能となる。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。図1は、本発明に係るメモリ制御装置の構成を示す。本メモリ制御装置1は、データバッファ10、転送要求生成部20、バッファリング回路30及び40、周期検出部50、学習部60、調停部70を備えている。メモリ制御装置1は、機能ブロック2とメモリ3との間のインタフェースとして機能する。なお、説明の便宜のため、機能ブロック2は映像信号処理ブロックであるものとする。
データバッファ10は、機能ブロック2から出力された転送データdaを一時的に蓄積する。また、データバッファ10は、転送データdaを受けたとき、転送データdaが機能ブロック2から出力されたことを示す信号s1を出力する。転送要求生成部20は、信号s1を受け、転送要求rqを生成する。
バッファリング回路30は、FIFOバッファ31と、カウント部32を有するカウンタ機能付きの状態通知部33とを備えている。FIFOバッファ31は、転送要求rqを一時的に蓄積する。図2は、FIFOバッファ31の構成の一例を示す。蓄積部31aは、FIFO(0)、FIFO(1)、FIFO(2)・・・FIFO(n)からなるn段構成のFIFOバッファ、例えばリングバッファであり、転送要求rqをn個蓄積可能となっている。蓄積部31aは、書き込みポインタ及び読み出しポインタを有しており、これらのポインタに基づいて、転送要求rqの書き込み及び読み出しを行う。
書き込みアドレス生成部31bは、転送要求rqが蓄積部31aに書き込まれると、書き込みアドレスをインクリメントして蓄積部31aの書き込みポインタをセットする。読み出しアドレス生成部31cは、転送要求rqが調停部70に受理されると、読み出しアドレスをインクリメントして蓄積部31aの読み出しポインタをセットする。
カウント部32は、FIFOバッファ31に蓄積されている転送要求rqをカウントする。状態通知部33は、カウント部32のカウント数に基づいて、FIFOバッファ31における転送要求rqの蓄積状態を示す状態通知信号s2を出力する。図3は、状態通知部33の構成の一例を示す。フラグレジスタ32aは、図2に示した蓄積部31aと同じく、FLAG(0)、FLAG(1)、FLAG(2)・・・FLAG(n)のn段構成を有している。フラグレジスタ32aは、蓄積部31aに転送要求rqが格納されると、転送要求rqが格納されたアドレスに対応するフラグレジスタ32aのアドレスに、転送要求rqが格納されていることを示す“1”をセットする。具体的には、蓄積部31aのFIFO(2)に転送要求rqが格納されると、フラグレジスタ32aのFLAG(2)に“1”がセットされる。
加算器32bは、フラグレジスタ32aにセットされている“1”の個数、すなわちFIFOバッファ31における転送要求rqの蓄積数をカウントする。例えば、加算器32bによるカウント数が“n”であればFIFOバッファ31は一杯であり、“0”であればFIFOバッファ31は空である。
比較設定部としての比較器33aは、加算器32bにおけるカウント数と、閾値レジスタ33bに格納された閾値とを比較して、カウント数が閾値よりも大きいとき、状態通知信号s2の論理レベルを“H”に設定する一方、カウント数が閾値よりも小さいとき、状態通知信号s2の論理レベルを“L”に設定する。
バッファリング回路40は、カウント部42を有したカウンタ機能付きのFIFOバッファ41と、状態通知部43とを備えている。FIFOバッファ41は、FIFOバッファ31が一杯のとき、転送要求rqを蓄積する。カウント部42は、FIFOバッファ41が転送要求rqを受けたときカウントアップする一方、転送要求rqをFIFOバッファ31に転送したときカウントダウンする。
状態通知部43は、カウント部42から出力されたカウント数c1に基づいて、FIFOバッファ41における転送要求rqの蓄積状態を示す状態通知信号s3を出力する。図4は、状態通知部43の構成の一例を示す図である。状態通知部43は、カウント部42から出力されたカウント数c1を格納するカウント数レジスタ43a、比較器33a及び閾値レジスタ33bを備えている。比較器33a及び閾値レジスタ33bは上述した通りである。
ここで、FIFOバッファ31及び41は、縦続接続されており、全体として一のFIFOバッファとして機能する。図5は、本メモリ制御装置1における転送要求の状態遷移図を示す。転送要求rqは、FIFOバッファ31に空きがある場合には、FIFOバッファ31に格納され、FIFOバッファ31が一杯の場合には、FIFOバッファ41に格納される。FIFOバッファ31に蓄積された転送要求rqが、調停部70に受理され、FIFOバッファ31に空きが発生すると、FIFOバッファ41に格納された転送要求rqがFIFOバッファ31に格納される。
周期検出部50は、機能ブロック2から出力された水平同期信号s4の出力周期を検出する。図6は、周期検出部50の構成の一例を示す。周期検出部50は、フリーランカウンタ51及び周期レジスタ52を備えている。フリーランカウンタ51は、水平同期信号s4を受けると、そのときのカウント数を出力周期Tとして出力するとともに、カウント数を初期化して再びカウントを開始する。周期レジスタ52は、フリーランカウンタ51から出力された出力周期Tを格納する
学習部60は、転送要求rqと、出力周期Tとを受け、出力周期Tにおける転送要求rqの発行タイミングの傾向を学習して、その学習結果に基づいて学習信号s5を出力する。図7は、水平同期信号s4の出力周期Tと転送要求rqとの関係の一例を示す。図7(a)は、水平同期信号s4の出力周期Tと、映像期間との関係を示しており、図7(b)は、出力周期Tと、転送要求rqの発行タイミングとの関係を示している。図7(a)に示すように、機能ブロック2からメモリ3へ転送すべき映像データが出力周期Tの前半分に存在する場合、図7(b)に示すように、転送要求rqも出力周期Tの前半分に発行されている。すなわち、出力周期Tの間に、転送要求rqが頻発する期間(以下、繁忙期間とも称する)と、転送要求rqの発行がない期間(以下、閑散期間とも称する)とが生じている。
学習部60は、転送要求rqと、出力周期Tとを受け、出力周期Tにおける転送要求rqの発行タイミングの傾向を学習して、その学習結果に基づいて学習信号s5を出力する。図7は、水平同期信号s4の出力周期Tと転送要求rqとの関係の一例を示す。図7(a)は、水平同期信号s4の出力周期Tと、映像期間との関係を示しており、図7(b)は、出力周期Tと、転送要求rqの発行タイミングとの関係を示している。図7(a)に示すように、機能ブロック2からメモリ3へ転送すべき映像データが出力周期Tの前半分に存在する場合、図7(b)に示すように、転送要求rqも出力周期Tの前半分に発行されている。すなわち、出力周期Tの間に、転送要求rqが頻発する期間(以下、繁忙期間とも称する)と、転送要求rqの発行がない期間(以下、閑散期間とも称する)とが生じている。
映像信号処理ブロックにおいて、水平同期信号s4と映像データの関係は頻繁に変わるものではない。したがって、出力周期Tにおける転送要求rqの発行タイミングを数周期分測定することで、出力周期Tにおける転送要求rqの発行タイミングの傾向を学習することが可能となる。学習部60は、学習結果に基づいて、繁忙期間には学習信号s5の論理レベルを“H”に設定する一方、閑散期間には学習信号s5の論理レベルを“L”に設定する。
調停部70は、機能ブロック2から出力された転送データdaの転送要求rqを、その優先順位に基づいて調停する。また、調停部70は、状態通知信号s2及びs3、及び学習信号s5を受け、これら信号に基づいて転送要求rqの優先順位を変更する。具体的には、調停部70は、“H”レベルの状態通知信号s2またはs3を受けると、転送要求rqの優先順位を高位に変更する。ここで、“H”レベルの状態通知信号s3は、“H”レベルの状態通知信号s2と比較して、転送要求rqの処理に係る緊急度が高いことを表している。このため、調停部70は、“H”レベルの状態通知信号s3を受けたとき、転送要求rqの優先順位を最高位に変更してもよい。また、調停部70は、“L”レベルの学習信号s5を受けると、転送要求rqの優先順位を低位に変更する。
以下、本メモリ制御装置1の動作について説明する。ここで、説明の便宜のため、FIFOバッファ31及びFIFOバッファ41に蓄積可能な転送要求数をそれぞれ8個及び6個とする。また、FIFOバッファ31及びFIFOバッファ41の閾値をそれぞれ“6”及び“2”とする。
図8は、転送要求rqが調停部70に受理されている場合のタイミングチャートを示す。転送要求生成部20によって生成された転送要求rqは、FIFOバッファ31に格納され、書き込みアドレス生成部31bによって、書き込みアドレス(FIFO Write Address)がインクリメントされる。これにより、蓄積部31aのFIFO(0)、FIFO(1)、FIFO(2)・・・FIFO(7)に順次転送要求rqが格納される。同時に、フラグレジスタ32aの対応するFLAG(0)、FLAG(1)、FLAG(2)・・・FLAG(7)に“1”がセットされる。図8においては、FIFOバッファ31に蓄積された転送要求rqはすぐに調停部70に受理されるため、フラグレジスタ32aもすぐにクリアされる。
一方、図9は、転送要求rqが調停部70に受理されない場合のタイミングチャートを示す。図8と同様に、転送要求rqがFIFOバッファ31に格納され、フラグレジスタ32aに“1”がセットされる。しかし、FIFOバッファ31に格納された転送要求rqは、調停部70に受理されないため、FIFOバッファ31に転送要求rqが蓄積されていく。FIFOバッファ31の閾値が“6”であるため、FIFOバッファ31に6個目の転送要求rqが格納され、フラグレジスタ32aにセットされた“1”の個数が6個になったとき、状態通知信号s2の論理レベルが“H”に設定される。これにより、機能ブロック2からの多数の転送要求rqが待ち状態にあることを調停部70に通知する。
FIFOバッファ31に8個の転送要求rqが蓄積され、FIFOバッファ31が一杯になると、続いて生成された転送要求rqは、FIFOバッファ41に格納される。FIFOバッファ41の閾値が“2”であるため、FIFOバッファ41に蓄積された転送要求rqのカウント数が“2”になったとき、状態通知信号s3の論理レベルが“H”に設定される。これにより、FIFOバッファ41における転送要求rqの蓄積数がほぼ限界に達していること、すなわち、機能ブロック2がシステム破綻に近い状態にあることを調停部70に通知する。
さらに、図10は、図9に示した状態から転送要求rqが受理されて、システム破綻に近い状態から復帰する場合のタイミングチャートを示す。調停部70によって、転送要求rqが受理され始めると、最初に生成された転送要求rqから順に、すなわちFIFO(0)、FIFO(1)、FIFO(2)・・・FIFO(7)の順番で処理されていく。FIFOバッファ41に蓄積された転送要求rqは、FIFOバッファ31の空いた所に、FIFO(0)、FIFO(1)、FIFO(2)・・の順番で格納される。FIFOバッファ41に蓄積された転送要求rqのカウント数が“1”になると、状態通知信号s3の論理レベルは“L”に設定される。さらに、転送要求rqが処理されて、フラグレジスタ32aにセットされた“1”の個数が5個になると、状態通知信号s2の論理レベルは“L”に設定される。
以上のように、本発明のメモリ制御装置によると、調停部によって、機能ブロックからのデータ転送要求の優先順位が、状態通知信号に基づいて変更されることで、緊急度の高い転送要求が優先的に処理されるため、システムの破綻を回避することが可能となる。また、段階的に機能ブロックの状態を通知することによって、転送要求の蓄積状態に応じた効率的なメモリアクセスを実現できる。さらに、機能ブロックから出力されるデータの転送要求の傾向を学習して、当該機能ブロックからの転送要求がない期間には、他の機能ブロックの転送要求を受理することで、効率的なメモリアクセスを実現することができる。
なお、状態通知信号s2及びs3を受けた機能ブロック2に、図11に示すような仕様の制限を加えることにより、転送要求rqの発行を制限してもよい。具体的には、機能ブロック2が、映像信号処理ブロックである場合、IP変換ブロック2aに対して、フレーム差分を用いたIP変換からフィールド内IP変換へ機能を制限したり、ビット数を減らすことで転送すべきデータ量を削減する。また、3次元Y/C分離ブロック2bに対して、3次元Y/C分離機能から2次元Y/C分離機能へ切り替えを行う等して一時的に仕様を制限する。これにより、機能ブロック2側で、システム破綻を抑制することが可能となる。
また、閾値を複数設定して、カウント数と複数の閾値との大小関係に応じて、状態通知信号s2及びs3の状態を設定してもよい。これにより、機能ブロックの忙しさを“高”・“中”・“低”等のレベルに分けて通知し、調停部70において当該レベルに応じた転送要求の調停を行うことが可能となる。
また、例えば、発行される転送要求rqの数が予測可能である場合には、FIFOバッファ41は備えていなくてもよい。また、FIFOバッファ41の数は複数であってもよく、この場合、よりきめ細かに機能ブロックの状態を調停部70に通知することができる。ここで、状態通知部43はFIFOバッファ41と1対1対応で設けられるものであるため、FIFOバッファ41の数に応じて状態通知部43の数も変更される。
また、FIFOバッファ41はFIFOバッファ31と同様の構成であってもかまわない。この場合、カウント部を別に設けるか、状態通知部43を例えば状態通知部33と同様の構成とすればよい。
本発明に係るメモリ制御装置は、機能ブロックからの転送要求の蓄積状態に基づいて、当該転送要求の優先順位が変更されるため、一のメモリに接続される機能ブロックが多い場合のメモリ制御装置として有用である。
1 メモリ制御装置
2 機能ブロック
3 メモリ
30、40 バッファリング回路
31、41 FIFOバッファ
32、42 カウント部
33、43 状態通知部
50 周期検出部
60 学習部
70 調停部
33a 比較器(比較設定部)
2 機能ブロック
3 メモリ
30、40 バッファリング回路
31、41 FIFOバッファ
32、42 カウント部
33、43 状態通知部
50 周期検出部
60 学習部
70 調停部
33a 比較器(比較設定部)
Claims (9)
- 一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御装置であって、
機能ブロックから発行されたアクセス要求をバッファリングする、1つ以上のバッファリング回路と、
アクセス要求の優先順位に基づいて、前記アクセス要求の調停を行う調停部とを備え、
前記バッファリング回路は、
前記機能ブロックから発行されたアクセス要求を一時的に蓄積するFIFOバッファと、
前記FIFOバッファに蓄積されているアクセス要求の数をカウントするカウント部と、
前記カウント部によるカウント数に基づいて、前記FIFOバッファにおけるアクセス要求の蓄積状態を示す状態通知信号を出力する状態通知部とを有するものであり、
前記調停部は、前記状態通知信号に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するものである
ことを特徴とするメモリ制御装置。 - 請求項1に記載のメモリ制御装置において、
前記状態通知部は、
前記カウント数と1つ以上の閾値との大小関係を比較して、その比較結果に応じて、前記状態通知信号の状態を設定する比較設定部を有するものであり、
前記調停部は、前記状態通知信号によって表される、前記カウント数と前記1つ以上の閾値との大小関係に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するものである
ことを特徴とするメモリ制御装置。 - 請求項2に記載のメモリ制御装置において、
前記閾値は1つであり、
前記比較設定部は、前記カウント数が前記閾値よりも小さいとき前記状態通知信号を第1の論理レベルに設定する一方、前記カウント数が前記閾値よりも大きいとき前記状態通知信号を第2の論理レベルに設定するものであり、
前記調停部は、前記第2の論理レベルの状態通知信号を受けたとき、前記機能ブロックから発行されたアクセス要求の優先順位を高位に変更するものである
ことを特徴とするメモリ制御装置。 - 請求項2に記載のメモリ制御装置において、
前記閾値は、書き換え可能である
ことを特徴とするメモリ制御装置。 - 請求項1に記載のメモリ制御装置において、
前記バッファリング回路を複数備え、
前記バッファリング回路のそれぞれが有する前記FIFOバッファは、全体として一のFIFOバッファとして機能するように接続されている
ことを特徴とするメモリ制御装置。 - 請求項1に記載のメモリ制御装置において、
前記機能ブロックから出力されたタイミング信号の出力周期を検出する周期検出部と、
前記周期検出部で検出された周期及び前記機能ブロックから発行されたアクセス要求に基づいて、前記機能ブロックに係る前記周期単位のアクセス要求の傾向を学習して、当該学習結果を表す学習信号を出力する学習部とを備え、
前記調停部は、前記学習信号に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更する
ことを特徴とするメモリ制御装置。 - 請求項6に記載のメモリ制御装置において、
前記学習部は、前記周期単位のアクセス要求の発行タイミングを学習して、前記アクセス要求の発行がある期間には前記学習信号を第1の論理レベルに設定する一方、前記アクセス要求の発行がない期間には前記学習信号を第2の論理レベルに設定するものであり、
前記調停部は、前記第2の論理レベルの学習信号を受けたとき、前記機能ブロックから発行されたアクセス要求の優先順位を低位に変更するものである
ことを特徴とするメモリ制御装置。 - 請求項1に記載のメモリ制御装置において、
前記状態通知部は、前記機能ブロックに前記状態通知信号を出力するものである
ことを特徴とするメモリ制御装置。 - 一のメモリに対して複数の機能ブロックから発行されたアクセス要求の調停を行うメモリ制御方法であって、
機能ブロックから発行されたアクセス要求を蓄積するFIFOバッファに蓄積されている、当該アクセス要求の数をカウントするステップと、
前記カウント数に基づいて、前記FIFOバッファにおける、前記機能ブロックから発行されたアクセス要求の蓄積状態を判断するステップと、
前記判断結果に基づいて、前記機能ブロックから発行されたアクセス要求の優先順位を変更するステップとを備えた
ことを特徴とするメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006151613A JP2007323279A (ja) | 2006-05-31 | 2006-05-31 | メモリ制御装置及びメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006151613A JP2007323279A (ja) | 2006-05-31 | 2006-05-31 | メモリ制御装置及びメモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007323279A true JP2007323279A (ja) | 2007-12-13 |
Family
ID=38856044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006151613A Pending JP2007323279A (ja) | 2006-05-31 | 2006-05-31 | メモリ制御装置及びメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007323279A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136359A1 (ja) * | 2012-03-12 | 2013-09-19 | パナソニック株式会社 | メモリ制御装置およびメモリ制御方法 |
-
2006
- 2006-05-31 JP JP2006151613A patent/JP2007323279A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136359A1 (ja) * | 2012-03-12 | 2013-09-19 | パナソニック株式会社 | メモリ制御装置およびメモリ制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4222251B2 (ja) | バス調停装置およびバス調停方法 | |
KR20070089264A (ko) | 버스 중재 시스템 및 버스 중재 방법 | |
JP2009518753A (ja) | メモリアクセス要求のアービトレーション | |
KR101525872B1 (ko) | 반도체 메모리 시스템의 동작 방법 | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
JP5591022B2 (ja) | バス帯域モニタ装置およびバス帯域モニタ方法 | |
EP2709020A1 (en) | System and method to arbitrate access to memory | |
US8650347B2 (en) | Arbitration device, arbitration method, and electronic apparatus | |
US20070283064A1 (en) | Arbiter and arbitrating method | |
WO2009139109A1 (ja) | メモリ制御装置、およびこれを備えた情報処理装置 | |
US7177966B2 (en) | Microcomputer minimizing influence of bus contention | |
JP2007323279A (ja) | メモリ制御装置及びメモリ制御方法 | |
KR101420290B1 (ko) | 트랜잭션들을 그룹화하는 버스 중재기, 이를 포함하는 버스장치 및 시스템 | |
JP2005316609A (ja) | バス調停装置およびバス調停方法 | |
US9547330B2 (en) | Processor and control method for processor | |
JPH11232214A (ja) | 情報処理装置用プロセッサおよびその制御方法 | |
US20080162746A1 (en) | Semiconductor apparatus and buffer control circuit | |
JP5360594B2 (ja) | Dma転送装置及び方法 | |
JP4850504B2 (ja) | 信号処理装置、撮像装置およびデータ転送方法 | |
JP2011141580A (ja) | アクセス制御装置、データ処理装置、アクセス制御方法およびプログラム | |
JP4569163B2 (ja) | データ入出力装置およびデータ入出力方法 | |
JPH0713923A (ja) | バス制御方法 | |
JPH1091394A (ja) | I/oコントローラ | |
JP2000276436A (ja) | Dma制御装置 | |
US20120042111A1 (en) | Bus bandwidth monitoring device and bus bandwidth monitoring method |