JP2005011029A - Memory access control device - Google Patents
Memory access control device Download PDFInfo
- Publication number
- JP2005011029A JP2005011029A JP2003173795A JP2003173795A JP2005011029A JP 2005011029 A JP2005011029 A JP 2005011029A JP 2003173795 A JP2003173795 A JP 2003173795A JP 2003173795 A JP2003173795 A JP 2003173795A JP 2005011029 A JP2005011029 A JP 2005011029A
- Authority
- JP
- Japan
- Prior art keywords
- access
- data
- memory
- read
- memory device
- 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
Description
【0001】
【発明の属する技術分野】
本発明は、メモリアクセス制御装置に関する。
【0002】
【従来の技術】
高集積化可能なメモリ装置として汎用DRAMと基本構成が同一であるSDRAM(Synchronous DRAM:同期型DRAM)がある。SDRAMは、バーストアクセスの際にコマンド方式を用いたパイプラインアーキテクチャを採用しており、高速なデータアクセスメモリ装置として注目されている。
【0003】
SDRAMは、同一バンク・同一行のメモリセルアクセスに対しては高速データアクセスが可能である。しかし、それぞれのアクセスにはレイテンシが発生するので、その低減方法として、メモリアクセス内容をコマンドとして受け付ける方法が採用され、そのコマンド制御に工夫がなされている。
【0004】
このSDRAMの制御方法としては、例えば特許文献1,2に開示されたものが知られている。以下、その概要を図6を参照して説明する。なお、図6は、従来のSDRAM制御方法を説明する制御系統図である。
【0005】
図6に示すように、従来のSDRAM制御方法では、複数のバスマスタ(バスマスタ0〜バスマスタ3)601がアービタ602を仲介してメモリコントローラ603にアクセスし、メモリコントローラ603がSDRAM605にアクセスする方法が採用されている。
【0006】
具体的には、複数のバスマスタ601がSDRAM605にアクセスする際には、そのアクセス要求がアービタ602にて受け付けられた後、メモリコントローラ603内のFIFOメモリ604にバスマスタのアクセス内容がキューイングされる。メモリコントローラ603は、FIFOメモリ604にキューイングされているバスマスタのアクセス内容を参照してSDRAM605へのコマンド発行を行うが、そのバースト長、アドレスを参照してどのバンクにアクセスするかを決定する。
【0007】
【特許文献1】
特開2001−125826号公報
【特許文献2】
特開平11−345165号公報
【0008】
【発明が解決しようとする課題】
しかしながら、従来のSDRAM制御方法では、最大バスバンド幅を達成することは、FIFOメモリ内のコマンド順序を入れ替えることにて可能であるが、リードデータのレイテンシを向上することには寄与することができない。
【0009】
また、SDRAMは、アクセスした回数が多いほど消費電力の増加を招くため、そのアクセス回数を削減することが必要となる。
【0010】
本発明は、かかる点に鑑みてなされたものであり、複数のバスマスタが共有するメモリ装置をアクセスする場合に、メモリ装置のバスバンド幅を向上させるとともに、リードレイテンシを向上させ、かつメモリ装置へのアクセス回数を抑えることができるメモリアクセス制御装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明に係るメモリアクセス制御装置は、複数のバスマスタが共有するメモリ装置へのアクセスを制御するメモリアクセス制御装置であって、前記複数のバスマスタからのアクセス要求を調停し、受け付けた1のバスマスタに対して受付通知を発行するとともに、前記アクセス要求がライトアクセス要求であるときはライト登録要求を発行した後に前記1のバスマスタに対して完了通知を発行する一方、前記アクセス要求がリードアクセス要求であるときはリード登録要求を発行し、その発行したリード登録要求に従って送られてくるリードデータを前記1のバスマスタに対して中継転送するアクセス分配装置と、前記アクセス分配装置からの前記ライト登録要求を受けて該当データを予め用意した記憶領域に書き込むとともにメモリ装置上のアドレスを登録し、書き込まれたデータが前記メモリ装置に転送する対象になった場合にライト要求を発行する一方、前記アクセス分配装置からの前記リード登録要求を受けてそのリード要求先のメモリ装置上のアドレスと予め登録されたメモリ装置上のアドレスとを比較して該当データの存在有無を検索し、該当データが存在する場合は、そのデータを前記リードデータとして前記アクセス分配装置を対して送出し、一方、該当データが存在しない場合はアドレスを登録した上でリード要求を発行し、その発行したリード要求に従って送られてくるリードデータをすでに登録済みのアドレスと対にして登録するとともに当該リードデータを前記アクセス分配装置に対して送出するバッファリング装置と、前記バッファリング装置からの前記ライト要求を受けて前記メモリ装置をアクセスする信号を生成し前記バッファリング装置から送られてくるライトデータを前記メモリ装置に転送する一方、前記バッファリング装置からの前記リード要求を受けて前記メモリ装置をアクセスする信号を生成し前記メモリ装置からのリードデータ及びアドレスを前記バッファリング装置に転送するスケジューリング装置と、を具備する構成を採る。
【0012】
この構成によれば、複数のバスマスタがメモリ装置上のデータにアクセスする際に、メモリ装置へのメモリアクセスを実施しなくても良い場合があるので、バスマスタのメモリオペレーションを高速化することが可能となる。また、メモリアクセス回数を低減することできるので、省電力化を図ることが可能となる。
【0013】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記バッファリング装置は、前記アクセス分配装置からのアクセス登録要求に基づき前記メモリ装置にアクセスする内容をアクセス要求ジョブとして管理するFIFOメモリと、前記メモリ装置上のアドレスと前記FIFOメモリが管理するアクセス要求ジョブに従いメモリ装置に書き込むデータ及び読み出すデータとそのアドレスを管理するデータテーブルと、を具備する構成を採る。
【0014】
この構成によれば、FIFOメモリ内のアクセス要求ジョブの順序を変更して、メモリアクセス制御装置とメモリ装置との間でのデータ転送が実現できる。
【0015】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記FIFOメモリは、前記アクセス要求ジョブ毎に、前記アクセス要求ジョブの動作内容が読み出しと書き込みのいずれであるかを示すリード/ライト識別子の記憶領域と、前記データテーブルのテーブルアドレスのうち前記アクセス要求ジョブで用いるテーブルアドレスの記憶領域と、前記メモリ装置にアクセスするデータに再利用性があるか否かを示す再利用識別子の記憶領域と、を具備する構成を採る。
【0016】
この構成によれば、データテーブル内の情報と相俟って、複数のバスマスタがアクセスする内容を受け付けて、バスマスタの代わりにメモリアクセスが可能となるので、アクセス要求と実際のアクセスとを分離せることができ、それぞれの動作を高効率化することができる。
【0017】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記データテーブルは、当該データテーブルのアドレスであるテーブルアドレスのアドレス毎に、前記メモリ装置の物理アドレスを記憶する領域と、前記物理アドレスに対応づけられたデータを記憶する領域と、前記データ記憶領域に格納されているデータの前記メモリ装置へのアクセス状況を示すアクセス識別子の記憶領域と、前記格納されているデータが前記メモリ装置内のデータと一貫性が保たれているか否かを示す一貫性識別子の記憶領域と、前記メモリ装置にアクセスするバスマスタを識別するためのIDを記憶する領域と、バースト長及び、ラップアラウンドのアドレス発行を伴うバーストアクセスであるか、インクリメントのアドレス発行を伴うバーストアクセスであるかを示す情報の記憶領域と、を具備する構成を採る。
【0018】
この構成によれば、メモリアクセス制御装置内に保持されているデータとメモリ装置内のデータとの一貫性と有効性を損なうことなく、メモリアクセス制御装置とメモリ装置との間でのデータ転送が実現できる。
【0019】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記バッファリング装置は、前記データテーブルにおける前記アクセス識別子及び前記一貫性識別子に基づきデータテーブルの占有ライン数である追記可能データ数を算出する手段と、前記追記可能データ数が閾値以下になったことを報知する手段と、前記報知情報に基づき前記データテーブルの格納データを前記メモリ装置に書き込むためのアクセス要求ジョブを前記FIFOメモリに発生させる手段と、具備する構成を採る。
【0020】
この構成によれば、メモリアクセス制御装置内に追記できるデータ量がゼロになるのを前もって避けることが可能となり、メモリアクセスの効率化を図ることが可能となる。
【0021】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記バッファリング装置は、前記バスマスタの種別や前記バスマスタがアクセスするメモリ装置のアドレスに基づき、アクセス要求ジョブが実行するデータが再利用性のあるデータであるか否かを判別し、その判別結果を前記FIFOメモリにおける前記再利用識別子に設定する手段と、前記再利用識別子の設定内容が再利用性無しであるとき前記メモリ装置へのアクセス終了後に前記データテーブルから該当データを削除する手段と、を具備する構成を採る。
【0022】
この構成によれば、メモリアクセス制御装置内に不要なデータが蓄積されるのを避けることでき、メモリアクセスの効率化を図ることが可能となる。
【0023】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記バッファリング装置は、前記FIFOメモリにアクセス要求ジョブが存在しないことを報知する手段と、前記報知があったとき、前記データテーブルに格納されているデータのうち前記メモリ装置内データと一致していないデータを選出し、その選出したデータを前記データテーブルからメモリ装置に転送するためのアクセス要求ジョブを前記FIFOメモリに発生させる手段と、を具備する構成を採る。
【0024】
この構成によれば、メモリアクセスが行われなくなった時にメモリ装置と一貫性が保たれていないバッファリング装置内のデータをメモリ装置に転送することが可能となり、バッファリング装置にて即座に利用できる領域を増やすことが可能となる。
【0025】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記バッファリング装置は、メモリ装置へのリードアクセス及びライトアクセスの種別に優先順位を付加する手段と、前記FIFOメモリにおける前記リード/ライト識別子に基づきメモリ装置へのリードアクセス及びライトアクセスの種別を判別し、前記優先順位に基づいて前記FIFOメモリでのアクセス要求ジョブの実行順序を制御する手段と、を具備する構成を採る。
【0026】
この構成によれば、リードアクセスを優先的に行うことが可能となり、バスマスタによるリードアクセス時のデータ受け取り時間を短縮することが可能となる。
【0027】
本発明に係るメモリアクセス制御装置は、上記の発明において、前記スケジューリング装置は、前記バッファリング装置からのアクセス要求に対して優先順位を付加する手段と、前記優先順位に基づいてメモリ装置へのアクセスを生じさせる信号を生成する手段と、を具備する構成を採る。
【0028】
この構成によれば、FIFOメモリに管理されているアクセス要求ジョブを受け付ける順序を工夫することが可能となり、メモリアクセス制御装置とメモリ装置との間でのデータ転送効率が上がるような制御を行うことが可能となる。
【0029】
本発明に係るメモリアクセス制御装置は、複数のバスマスタとのインタフェースをなす上記発明によるアクセス分配装置と、複数のバンクを持つメモリ装置とのインタフェースをなす上記発明によるスケジューリング装置と、前記アクセス分配装置と前記スケジューリング装置との間に介在する上記発明によるバッファリング装置の複数個とで構成され、前記バッファリング装置の個数がmで、前記メモリ装置がn個のバンク構成であるとすれば、mとnの関係は、任意のpを用いるとm=p×n、あるいはn=p×mが成り立ち、各バッファリング装置は、メモリ装置のアドレス空間をm等分したアドレス空間に対するデータを取り扱い、複数のバッファリング装置の相互間では重複したアドレス空間を扱わない構成になっている。
【0030】
この構成によれば、コヒーレンシを保ったうえで、アクセス分配装置からのアクセス登録要求を処理する順序を考慮することでメモリ装置とバッファリング装置との間での高効率な転送制御を行うことが可能となる。
【0031】
【発明の実施の形態】
本発明の骨子は、DSPを含む複数のプロセッサやDMAコントローラが共有するメモリ装置として比較的大きなレイテンシを伴うメモリ装置、例えば、SDRAMにアクセスする場合に、プロセッサやDMAコントローラの性能を損なわずにメモリバンド幅を向上させ、効率的かつ省電力のメモリアクセスを実現することである。なお、本発明のメモリアクセス制御装置は、内蔵SRAMなどアクセス時に大きなレイテンシを伴わないメモリ装置の制御部とも組み合わせて使用することも可能である。
【0032】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0033】
(実施の形態1)
図1は、本発明の実施の形態1に係るメモリアクセス制御装置の構成を示すブロック図である。図2は、図1に示すバッファリング装置の具体的な構成例を示すブロック図である。
【0034】
図1において、実施の形態1に係るメモリアクセス制御装置101は、複数のバスマスタ(バスマスタ0〜バスマスタ4)102とのインタフェースをなす、アクセス分配装置111と、複数のバスマスタ102が共有するメモリ装置103とのインタフェースをなすスケジューリング装置112と、アクセス分配装置111とスケジューリング装置112との間に介在するバッファリング装置113と、から構成されている。
【0035】
バッファリング装置113は、アクセス分配装置111からのアクセス要求に基づきメモリ装置103にアクセスする内容をアクセス要求ジョブとして管理するFIFOメモリ131と、メモリ装置103上のアドレスとFIFOメモリ131が管理するアクセス要求ジョブに従いメモリ装置103に書き込むデータ及び読み出すデータとを管理するデータテーブル132とを備えている。
【0036】
バッファリング装置113は、具体的には、例えば図2に示すように構成されている。図2に示すように、FIFOメモリ131とデータテーブル132には、各種のパラメータを記憶する領域が設けられている。また、バッファリング装置113には、FIFOメモリ131とデータテーブル132の他に、各種の周辺装置が設けられている。
【0037】
バッファリング装置113の具体的な構成(図2)と詳細動作(図3、図4)は、後述するとして、全体的な動作を説明する。
【0038】
以上の構成において、アクセス分配装置111は、複数のバスマスタ102からのアクセス要求(リードアクセス要求、ライトアクセス要求)を調停し、一つのバスマスタ102からのアクセス要求を受け付けると、受け付けたバスマスタ102に対して受け付けたことを通知する。
【0039】
そして、アクセス分配装置111は、調停したアクセス要求がライトアクセス要求である場合は、バッファリング装置113に対してライト登録要求を発行した後にアクセス要求を受け付けたバスマスタ102にライト終了を通知する。一方、アクセス分配装置111は、調停したアクセス要求がリードアクセス要求である場合は、バッファリング装置113に対してリード登録要求を発行し、その発行したリード登録要求に従ってバッファリング装置113から送られてくるリードデータを受け付けたバスマスタ102に中継転送する。
【0040】
バッファリング装置113では、アクセス分配装置111からライト登録要求を受けて、データテーブル132にライトデータを書き込む領域があれば該当データを書き込むとともに、メモリ装置103上のアドレスを登録する。そして、バッファリング装置113では、データテーブル132に書き込まれたデータがメモリ装置103に転送するために選択された場合に、FIFOメモリ131にメモリ装置103へのライトアクセス要求をアクセス要求ジョブとしてエントリーする。これによって、スケジューリング装置112では、そのアクセス要求ジョブを選択し、ライトアクセス要求はメモリ装置103のアクセス信号に変換されデータの書き込みが行われる。
【0041】
また、バッファリング装置113では、アクセス分配装置111からリード登録要求を受けて、そのリード要求先のメモリ装置上のアドレスとデータテーブル132に登録されたメモリ装置上のアドレスとを比較して該当データの存在有無を検索し、該当データが存在する場合は、そのデータを前記リードデータとしてアクセス分配装置111に対して送出する。
【0042】
一方、バッファリング装置113では、前記検索の結果、該当データが存在しない場合は、FIFOメモリ131にメモリ装置103へのリードアクセス要求をアクセス要求ジョブとしてエントリーする。これによって、スケジューリング装置112では、そのアクセス要求ジョブが選択され、メモリ装置103のアクセス信号に変換され、読み出しが行われる。バッファリング装置113では、スケジューリング装置112から送られてくるリードデータ及びアドレスをデータテーブル132の該当記憶領域に登録するとともに、当該リードデータをアクセス分配装置111に対して送出する。
【0043】
次に、バッファリング装置113の具体的な構成について説明する。図2において、FIFOメモリ131は、アクセス要求ジョブを格納する実行順序管理装置252を備えている。そして、アクセス要求ジョブ毎に、リード/ライト(read/write)識別子200、再利用識別子201及びテーブルアドレス202の記憶領域をそれぞれ設けて管理している。
【0044】
read/write識別子200は、アクセス要求ジョブの動作がread属性(メモリ装置103からの読み出し)であるか、write属性(メモリ装置103への書き込み)であるかを示す。read/write識別子200は、read属性及びwrite属性を持つアクセス要求ジョブの動作順序を入れ替える制御に用いられる。
【0045】
即ち、read/write入れ替え制御レジスタ251には、バスマスタ102から、read/write識別子200が表示しているread属性及びwrite属性を持つアクセス要求ジョブの動作順序の入れ替え制御を有効とするか無効とするかが設定されるようになっている。
【0046】
read/write識別装置250は、read/write識別子200を参照してread属性及びwrite属性を持つアクセス要求ジョブの位置を識別し、read/write入れ替え制御レジスタ251の設定が「入れ替え制御が有効」であるとき、実行順序管理装置252に対してreadが優先的に処理されるように実行順序を変更させる。
【0047】
次の再利用識別子201は、アクセス要求ジョブで取り扱うデータをメモリ装置103にアクセスした後に再参照する(yes)か否(not)かを示す。この再利用識別子201は、再利用識別装置231によって設定される。
【0048】
即ち、再利用識別装置231は、FIFOメモリ131の発生するアクセス要求ジョブが、特定領域レジスタ232に設定されている特定領域へのアクセスであるか否かを判断する。また、再利用識別装置231は、FIFOメモリ131の発生するアクセス要求ジョブが、特定マスタレジスタ233に設定されているバスマスタからのアクセスであるか否かをデータテーブル132内のバスマスタID208と比較して判断する。
【0049】
その結果、再利用識別装置231は、FIFOメモリ131の発生するアクセス要求ジョブが、特定領域レジスタ232に設定されている特定領域へのアクセスであるとき、または、特定マスタレジスタ233に設定されているバスマスタからのアクセスであるとき、再利用識別子201に有効(yes)を表示し、いずれでもないとき無効(not)を表示する。なお、特定領域レジスタ232と特定マスタレジスタ233には、バスマスタ102から任意に設定できるようになっている。
【0050】
次のテーブルアドレス202には、データテーブル132内のテーブルアドレス203が格納される。すなわち、テーブルアドレス202には、アクセス分配装置111からアクセス要求があったとき、アクセスジョブの実行において実際にメモリ装置103と間での転送に用いるデータテーブル132内のテーブルアドレス203が格納される。
【0051】
また、IDLE観測装置241は、FIFOメモリ131に発生するアクセス要求ジョブが存在するか否かを識別し、IDLE(アイドル)であるとき、つまり存在しないとき、その旨を退出選択装置224に通知するようになっている。
【0052】
次に、データテーブル132は、当該データテーブル132のアドレスであるテーブルアドレス203のアドレス毎に、モディファイ(modify)識別子204、アクセス識別子205、メモリ装置103上の物理アドレス206、物理アドレス206に対応づけられたデータ207、メモリ装置103にアクセスするバスマスタを識別するバスマスタID208及びバースト種別209をそれぞれ記憶する領域を設けて管理している。
【0053】
modify識別子204は、データテーブル132内のデータ207がアドレス206に対応するメモリ装置103上のデータと一致しない場合には当該データ207をメモリ装置103への転送データとして用いるので有効(Yes)となり、一致する場合には当該データ207はメモリ装置103への転送データとして用いないので無効(not)となる。
【0054】
アクセス識別子205は、データ207のメモリ装置103へのアクセス状況を示す情報であり、アクセス終了「finished」、アクセス無しの初期状態「no access」、アクセス中「access」を表示する。具体的には、ライトアクセス時では、テーブルアドレス203に存在するアドレスに対するライトアクセスの受け付けによって、データ207がメモリ装置103に書き込まれるまでアクセス中「access」が表示される。また、リードアクセス時では、テーブルアドレス203に存在するアドレスに対応するリードアクセスの受け付けによって、メモリ装置103からのデータの読み出しが行われるとアクセス中「access」が表示され、終了するとアクセス終了「finished」が表示される。
【0055】
バースト種別209には、バースト長と、ラップアラウンド(wrap around)のアドレス発行を伴うバーストアクセスであるか、インクリメント(increment)のアドレス発行を伴うバーストアクセスであるかを示すフラグとが格納されている。
【0056】
次に、有効ライン算出装置223では、modify識別子204の有効フラグとアクセス識別子205の有効フラグとを参照してデータテーブル132の占有ライン数である追記可能データ数を算出する。具体的には、アクセス識別子205が「no access」のテーブル内のライン数と、アクセス識別子205が「finished」かつ、modify識別子204が「not」のテーブル内のライン数との合計を、データテーブル内の全ライン数から減算したライン数が追記可能なデータライン数となる。そして、有効ライン算出装置223での算出結果と閾値レジスタ221に設定されている閾値とが比較器222にて比較され、比較結果が退出選択装置224に与えられる。
【0057】
比較器222の比較結果が、占有ライン数が閾値レジスタ221に設定されている閾値よりも小さいときは、modify識別子204には無効フラグが多い(つまり追記可能である)ことを示し、逆の場合は、modify識別子204には有効フラグが多い(つまり追記可能でない)ことを示す。
【0058】
退出選択装置224では、比較器222での比較結果からmodify識別子204のフラグ状況を判断し、modify識別子204が無効であれば上書きが可能(つまり追記可能)であるので何もしない。一方、modify識別子204が有効であればメモリ装置103に転送するために、退出選択装置224は、メモリ装置103内のデータ207と一貫性が保たれていないラインを選択し、メモリ装置103へのwrite属性を持ったアクセス要求ジョブをFIFOメモリ131に発生させる。そして、IDLE観測装置241からの上記アイドル通知を受けた後に、選択したデータテーブルのラインを無効にする。また、退出選択装置224は、メモリ装置103にデータの書き込みが行われると、modify識別子204を更新するようになっている。
【0059】
次に、図3、図4を参照して、以上のように構成されるバッファリング装置113の動作について説明する。なお、図3は、図1に示すバッファリング装置113におけるライトアクセス要求発生時の動作を説明するフロー図である。図4は、図1に示すバッファリング装置113におけるリードアクセス要求発生時の動作を説明するフロー図である。
【0060】
図3において、アクセス分配装置111からライトアクセス要求が入力すると(ステップST301)、ライト先アドレスがデータテーブル132内に存在するか否かを検索する(ステップST302)。その結果、ライト先アドレスがデータテーブル132内に存在する場合は(ステップST303:Yes)、データテーブル132内の該当するデータ領域にデータ207を格納し(ステップST304)、ステップST308に進む。
【0061】
一方、ライト先アドレスがデータテーブル132内に存在しない場合は(ステップST303:No)、データテーブル132に追記できるか否かを判断する(ステップST305)。その結果、追記可能でない場合は(ステップST305:No)、退出選択装置224によるデータの退出処理を行って書き込み領域を確保し(ステップST306)、その確保した領域にアドレスとデータを登録し(ステップST307)、ステップST308に進む。また、データテーブル132に追記できる場合は(ステップST305:Yes)、その追記可能な領域にアドレスとデータを登録し(ステップST307)、ステップST308に進む。
【0062】
ステップST308では、書き込んだデータが再利用されるか否かを再利用識別子201を参照して判断する。その判断結果、再利用するデータであれば(ステップST308:Yes)、本処理は終了するが、再利用されないデータであれば(ステップST308:No)、FIFOメモリ131にライトアクセスとして登録し、そのアクセスに対するメモリ装置103へのデータ書込み後に、データテーブル132の対象データ領域を空き領域として開放し(ステップST309)、その後本処理を終了する。
【0063】
次に、図4において、アクセス分配装置111からリードアクセス要求が入力すると(ステップST401)、リード先アドレスがデータテーブル132内に存在するか否かを検索する(ステップST402)。その結果、リード先アドレスがデータテーブル132内に存在する場合は(ステップST403:Yes)、物理アドレス206に対応づけられたデータ207が有効であるか否かを判断する(ステップST404)。そして、対応するデータ207が有効であれば(ステップST404:Yes)、直接ステップST408に進む。
【0064】
一方、リード先アドレスがデータテーブル132内に存在しない場合(ステップST403:No)や、対応するデータ207が有効でない場合は(ステップST404:No)、データテーブル132に追記できるか否かを判断する(ステップST405)。その結果、追記可能でない場合は(ステップST405:No)、退出選択装置224によるデータの退出処理を行って書き込み領域を確保し(ステップST406)、その確保した領域にメモリ装置103から読み出したデータとアドレスを登録し(ステップST407)、ステップST408に進む。
【0065】
また、リード先アドレスがデータテーブル132内に存在しない場合(ステップST403:No)や、対応するデータ207が有効でない場合でも(ステップST404:No)、データテーブル132に追記できる場合は(ステップST405:Yes)、直接ステップST408に進む。
【0066】
ステップST408では、データテーブル132のデータ207がリードアクセスを要求したバスマスタ102によって読み出される。並行して、書き込んだデータが再利用されるか否かを再利用識別子201を参照して判断する(ステップST409)。その判断結果、再利用するデータであれば(ステップST409:Yes)、本処理は終了するが、再利用されないデータであれば(ステップST409:No)、データテーブル132の対象データ領域を空き領域として開放し(ステップST410)、その後本処理を終了する。
【0067】
このように、本実施の形態1によれば、複数のバスマスタがメモリ装置上のデータにアクセスする場合に、メモリ装置へのアクセスを実施しなくても良い場合があるので、バスマスタのメモリオペレーションを高速化することが可能となり、またメモリアクセス回数の低減によって省電力化を図ることが可能となる。
【0068】
ここで、バッファリング装置113は、アクセス分配装置111からのアクセス要求に基づきメモリ装置103にアクセスする内容をアクセス要求ジョブとして管理するFIFOメモリ131と、メモリ装置103上のアドレスとFIFOメモリ131が管理するアクセス要求ジョブに従いメモリ装置103に書き込むデータ及び読み出すデータとを管理するデータテーブル132とを備えるので、FIFOメモリ131内のアクセス要求ジョブの順序を変更して、メモリアクセス制御装置101とメモリ装置103との間のデータ転送を実現することが可能となる。
【0069】
また、FIFOメモリ131は、実行順序管理装置252が管理するアクセス要求ジョブ毎に、アクセス要求ジョブの動作内容が読み出しと書き込みのいずれであるかを示すリード/ライト識別子200と、データテーブル132のテーブルアドレス203のうちアクセス要求ジョブで用いるテーブルアドレス202と、メモリ装置103にアクセスするデータに再利用性があるか否かを示す再利用識別子201とを、それぞれ記憶して管理するようにしたので、データテーブル132の情報と相俟って、複数のバスマスタ102の代わりにメモリアクセスが可能となる。したがって、アクセス要求と実際のアクセスとが分離でき、それぞれでの動作を高効率化することができる。
【0070】
また、データテーブル132は、当該データテーブルのアドレスであるテーブルアドレス203のアドレス毎に、メモリ装置103の物理アドレス206と、物理アドレス206に対応づけられたデータ207と、格納されているデータ207のメモリ装置103へのアクセス状況を示すアクセス識別子05と、格納されているデータ207がメモリ装置103内のデータと一貫性が保たれているか否かを示す一貫性識別子であるmodify識別子204と、アクセスしてきたバスマスタ102を識別するためのバスマスタID208と、バースト長及び、ラップアラウンドのアドレス発行を伴うバーストアクセスであるか、インクリメントのアドレス発行を伴うバーストアクセスであるかを示す情報であるバースト種別209とを、それぞれ記憶して管理するようにしたので、データテーブル132内に保持されているデータ207とメモリ装置103内のデータの一貫性と有効性を損なうことなく、メモリアクセス制御装置101とメモリ装置103との間でのデータ転送が実現できる。
【0071】
また、バッファリング装置113は、データテーブル132におけるアクセス識別子205及びmodify識別子204に基づきデータテーブル132の占有ライン数である追記可能データ数を算出する手段である有効ライン算出装置223と、前記追記可能データ数が閾値以下になったことを報知する手段である閾値レジスタ221及び比較器222と、比較器222から前記報知情報に基づきデータテーブル132の格納データ207をメモリ装置103に書き込むためのアクセス要求ジョブをFIFOメモリ131に発生させる手段である退出選択装置224とを備えたので、メモリアクセス制御装置101内に追記できるデータ量がゼロになることを前もって避けることが可能となり、メモリアクセスの効率化を図ることが可能となる。
【0072】
また、バッファリング装置113は、バスマスタ102の種別(特定マスタレジスタ233)やバスマスタ102がアクセスするメモリ装置103のアドレス(特定領域レジスタ232)に基づき、アクセス要求ジョブが実行するデータが再利用性のあるデータであるか否かを判別し、その判別結果をFIFOメモリ131における再利用識別子201に設定する手段である再利用識別装置231と、再利用識別子201の設定内容が再利用性無しであるときメモリ装置103へのアクセス終了後にデータテーブル132から該当データを削除する手段である退出選択装置224とを備えたので、メモリアクセス制御装置101内に不要なデータが蓄積されるのを避けることができ、メモリアクセスの効率化を図ることが可能となる。
【0073】
また、バッファリング装置113は、FIFOメモリ131にアクセス要求ジョブが存在しない(つまりアイドルである)ことを報知する手段であるIDLE観測装置241と、IDLE観測装置241から前記アイドルの報知があったとき、データテーブル132に格納されているデータ207のうちメモリ装置内データと一致していないデータ207を選出し、その選出したデータ207をデータテーブル132からメモリ装置103に転送するためのアクセス要求ジョブをFIFOメモリ131に発生させる手段である退出選択装置224とを備えたので、メモリアクセスがアイドルの時にバッファリング装置113内に存在するメモリ装置103と一貫性が保たれていないデータ207をメモリ装置103に転送することが可能となり、バッファリング装置113にて即座に利用できる領域を増やすことが可能となる。
【0074】
また、バッファリング装置113は、メモリ装置103へのリードアクセス及びライトアクセスの種別に優先順位を付加する手段であるread/write入れ替え制御レジスタ252と、FIFOメモリ131におけるリード/ライト識別子200に基づきメモリ装置103へのリードアクセス及びライトアクセスの種別を判別し、前記優先順位に基づいてFIFOメモリ131でのアクセス要求ジョブの実行順序を制御する手段であるread/write識別装置250とを備えたので、リードアクセスを優先的に行うことが可能となり、バスマスタ102によるリードアクセス時のデータ受け取り時間を短縮することが可能となる。
【0075】
加えて、スケジューリング装置112は、バッファリング装置113からのアクセス要求に対して優先順位を付加する手段と、優先順位に基づいてメモリ装置103へのアクセスを生じさせる信号を生成する手段とを備えるようにすることができる。これによれば、FIFOメモリ131にて管理されているアクセス要求ジョブを受け付ける順序を工夫することが可能となり、メモリアクセス制御装置101とメモリ装置103との間でのデータ転送の効率が上がるような制御を行うことが可能となる。
【0076】
(実施の形態2)
図5は、本発明の実施形態2に係るメモリアクセス制御装置の構成を示すブロック図である。図5に示すように、実施形態2に係るメモリアクセス制御装置301は、複数のバスマスタ(バスマスタ0〜バスマスタ4)102がアクセスするメモリ装置302が複数のバンク321を持つ場合を制御対象としている。
【0077】
図5において、メモリアクセス制御装置301は、複数のバスマスタ(バスマスタ0〜バスマスタ4)102とのインタフェースをなすアクセス分配装置311と、複数のバスマスタ102が共有するメモリ装置302とのインタフェースをなすスケジューリング装置312と、アクセス分配装置311とスケジューリング装置312との間に介在する複数のバッファリング装置313とで構成されている。
【0078】
アクセス分配装置311は、複数のバッファリング装置313が実装されているので、バスマスタ102のアクセス調停後にアクセス登録要求を複数のバッファリング装置313に振り分けることを行う。この振り分け基準は、特定のアドレス領域に基づき行うようになっている。
【0079】
また、アクセス分配装置311は、それぞれのバッファリング装置313に振り分けたリードアクセス登録要求に対しバッファリング装置313から送られてきたリードデータをバスマスタ102が要求した順序でバスマスタ102に送出する機能を有している。
【0080】
複数のバッファリング装置313は、それぞれ実施の形態1にて説明したバッファリング装置113と同一の構成であって、同様構成のデータテーブル331とFIFOメモリ332を備えている。
【0081】
スケジューリング装置312は、複数のバッファリング装置313におけるFIFOメモリ332において先頭のアクセス要求ジョブが選択し、メモリ装置302へのアクセス信号に変換し、バッファリング装置313とメモリ装置302との間でのデータ転送を行う。
【0082】
このとき、メモリ装置302が、同一バンク321ヘのアクセスやリード/ライトのアクセスが交互に発生するSDRAMである場合は、バンド幅が低下する。そのため、スケジューリング装置312では、その点を最大限に回避する方策を行った上で、高効率なメモリアクセスを実現するようにしている。
【0083】
ここで、バッファリング装置313の個数がmで、メモリ装置302がn個のバンク構成であるとすれば、mとnの関係は、任意のpを用いるとm=p×n、あるいはn=p×mが成り立ち、各バッファリング装置313は、メモリ装置302のアドレス空間をm等分したアドレス空間に対するデータを取り扱い、複数のバッファリング装置313の相互間では重複したアドレス空間を扱わないようになっている。
【0084】
この構成により、コヒーレンシを保ったうえで、アクセス分配装置311からのアクセス登録要求を処理する順序を考慮することでメモリ装置302とバッファリング装置313との間の高効率な転送制御を行うことが可能となる。
【0085】
なお、各実施の形態では、メモリ装置としてSDRAMを念頭において説明したが、本発明はそれに限定されるものではなく、その他の高速アクセスメモリにも適応可能であり、メモリ装置内で構成されるバンク数についても制限はないことは言うまでもない。
【0086】
【発明の効果】
以上説明したように、本発明によれば、複数のバスマスタが共有するメモリ装置をアクセスする場合に、メモリ装置のバスバンド幅を向上させるとともに、リードレイテンシを向上させ、かつメモリ装置へのアクセス回数を抑えることができる。
【図面の簡単な説明】
【図1】本発明の実施形態1に係るメモリアクセス制御装置の構成を示すブロック図
【図2】図1に示すバッファリング装置の具体的な構成例を示すブロック図
【図3】図1に示すバッファリング装置におけるライトアクセス要求発生時の動作を説明するフロー図
【図4】図1に示すバッファリング装置におけるリードアクセス要求発生時の動作を説明するフロー図
【図5】本発明の実施形態2に係るメモリアクセス制御装置の構成を示すブロック図
【図6】従来のSDRAM制御方法を説明する制御系統図
【符号の説明】
101,301 メモリアクセス制御装置
102 バスマスタ
103,302 メモリ装置
111,311 アクセス分配装置
112,312 スケジューリング装置
113,313 バッファリング装置
131,332 FIFOメモリ
132,331 データテーブル
200 リード/ライト(read/write)識別子
201 再利用識別子
202,203 テーブルアドレス
204 モディファイ(modify)識別子
205 アクセス識別子
206 物理アドレス
207 データ
208 バスマスタID
221 閾値レジスタ
222 比較器
223 有効ライン算出装置
224 退出選択装置
231 再利用識別装置
232 特定領域レジスタ
233 特定マスタレジスタ
241 アイドル(IDLE)観測装置
250 read/write識別装置
251 read/write入れ替え制御レジスタ
252 実行順序管理装置
321 バンク[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a memory access control device.
[0002]
[Prior art]
As a memory device that can be highly integrated, there is an SDRAM (Synchronous DRAM) having the same basic configuration as a general-purpose DRAM. SDRAM employs a pipeline architecture that uses a command system for burst access, and is attracting attention as a high-speed data access memory device.
[0003]
The SDRAM allows high-speed data access for accessing memory cells in the same bank and the same row. However, since latency occurs in each access, a method of accepting memory access contents as a command is adopted as a reduction method, and the command control is devised.
[0004]
As an SDRAM control method, for example, those disclosed in
[0005]
As shown in FIG. 6, the conventional SDRAM control method employs a method in which a plurality of bus masters (bus master 0 to bus master 3) 601 access the
[0006]
Specifically, when a plurality of
[0007]
[Patent Document 1]
JP 2001-125826 A
[Patent Document 2]
JP 11-345165 A
[0008]
[Problems to be solved by the invention]
However, in the conventional SDRAM control method, it is possible to achieve the maximum bus bandwidth by switching the command order in the FIFO memory, but it cannot contribute to improving the read data latency. .
[0009]
In addition, since SDRAM increases the power consumption as the number of accesses increases, it is necessary to reduce the number of accesses.
[0010]
The present invention has been made in view of such a point, and when accessing a memory device shared by a plurality of bus masters, the memory device is improved in bus bandwidth, read latency, and memory device. An object of the present invention is to provide a memory access control device that can suppress the number of accesses.
[0011]
[Means for Solving the Problems]
A memory access control device according to the present invention is a memory access control device that controls access to a memory device shared by a plurality of bus masters, arbitrates an access request from the plurality of bus masters, and receives one bus master. When the access request is a write access request, a completion notification is issued to the one bus master after issuing a write registration request, while the access request is a read access request. When issuing a read registration request, the access distribution device relays and transfers the read data sent in accordance with the issued read registration request to the one bus master, and receives the write registration request from the access distribution device. Write the corresponding data to the storage area prepared in advance and An address is registered, and a write request is issued when the written data is to be transferred to the memory device. On the other hand, when the read registration request is received from the access distribution device, the read request is received on the memory device. And the address on the memory device registered in advance is searched for the presence or absence of the corresponding data. If the corresponding data exists, the data is sent to the access distribution device as the read data. On the other hand, if the corresponding data does not exist, the address is registered and a read request is issued, and the read data sent in accordance with the issued read request is registered with the already registered address as well as the read data. A buffering device for sending to the access distribution device, and a buffering device from the buffering device In response to a write request, the memory device generates a signal for accessing the memory device and transfers write data sent from the buffering device to the memory device, while receiving the read request from the buffering device, the memory device And a scheduling device that generates a signal for accessing the data and transfers read data and an address from the memory device to the buffering device.
[0012]
According to this configuration, when a plurality of bus masters access data on the memory device, it may not be necessary to perform memory access to the memory device, so it is possible to speed up the memory operation of the bus master. It becomes. In addition, since the number of memory accesses can be reduced, it is possible to save power.
[0013]
In the memory access control device according to the present invention, in the above invention, the buffering device manages a content to access the memory device based on an access registration request from the access distribution device as an access request job, According to the present invention, the memory device includes an address on the memory device, data to be written to and read from the memory device according to an access request job managed by the FIFO memory, and a data table for managing the address.
[0014]
According to this configuration, data transfer between the memory access control device and the memory device can be realized by changing the order of the access request jobs in the FIFO memory.
[0015]
In the memory access control device according to the present invention, in the above invention, the FIFO memory has a read / write identifier indicating whether the operation content of the access request job is read or write for each access request job. A storage area, a storage area of a table address used in the access request job among the table addresses of the data table, and a storage area of a reuse identifier indicating whether or not data accessing the memory device has reusability The structure which comprises is taken.
[0016]
According to this configuration, in combination with the information in the data table, the contents accessed by a plurality of bus masters are accepted, and memory access can be performed instead of the bus master, so that the access request and the actual access can be separated. Therefore, each operation can be made highly efficient.
[0017]
In the memory access control device according to the present invention, in the above invention, the data table includes an area for storing a physical address of the memory device for each address of a table address that is an address of the data table, and the physical address. An area for storing associated data, a storage area for an access identifier indicating an access status of the data stored in the data storage area to the memory device, and the stored data in the memory device A storage area for a consistency identifier indicating whether consistency with data is maintained, an area for storing an ID for identifying a bus master accessing the memory device, a burst length, and a wraparound address issuance Burst access that accompanies burst access or increment address issuance A configuration that includes a storage area for information that indicates whether it is a.
[0018]
According to this configuration, data transfer between the memory access control device and the memory device can be performed without impairing the consistency and validity of the data held in the memory access control device and the data in the memory device. realizable.
[0019]
In the memory access control device according to the present invention, in the above invention, the buffering device calculates the number of additionally recordable data, which is the number of occupied lines in the data table, based on the access identifier and the consistency identifier in the data table. Means for notifying that the number of additionally recordable data is less than or equal to a threshold value, and generating an access request job for writing the data stored in the data table in the memory device based on the notification information in the FIFO memory The means and the structure to comprise are taken.
[0020]
According to this configuration, the amount of data that can be additionally recorded in the memory access control device can be avoided in advance, and the efficiency of memory access can be improved.
[0021]
In the memory access control device according to the present invention, in the above invention, the buffering device is configured such that the data executed by the access request job is reusable based on the type of the bus master and the address of the memory device accessed by the bus master. Means for determining whether or not the data is the data, and setting the determination result in the reuse identifier in the FIFO memory; and access to the memory device when the setting content of the reuse identifier is not reusable And a means for deleting the corresponding data from the data table after completion.
[0022]
According to this configuration, it is possible to avoid unnecessary data from being stored in the memory access control device, and to improve the efficiency of memory access.
[0023]
The memory access control device according to the present invention is the memory access control device according to the above invention, wherein the buffering device stores means for notifying that there is no access request job in the FIFO memory, and stores in the data table when there is the notification. Means for selecting data that does not match the data in the memory device among the data being generated, and generating an access request job in the FIFO memory for transferring the selected data from the data table to the memory device; The structure which comprises is taken.
[0024]
According to this configuration, it becomes possible to transfer the data in the buffering device that is not consistent with the memory device to the memory device when the memory access is stopped, and can be used immediately in the buffering device. The area can be increased.
[0025]
The memory access control device according to the present invention is the memory access control device according to the above invention, wherein the buffering device adds a priority to the type of read access and write access to the memory device, and the read / write identifier in the FIFO memory. And a means for determining the type of read access and write access to the memory device and controlling the execution order of the access request job in the FIFO memory based on the priority.
[0026]
According to this configuration, read access can be preferentially performed, and the data reception time at the time of read access by the bus master can be shortened.
[0027]
In the memory access control device according to the present invention, in the above invention, the scheduling device adds a priority to an access request from the buffering device, and accesses the memory device based on the priority. And a means for generating a signal that generates the above.
[0028]
According to this configuration, it is possible to devise the order of accepting access request jobs managed in the FIFO memory, and to perform control that increases the data transfer efficiency between the memory access control device and the memory device. Is possible.
[0029]
A memory access control device according to the present invention comprises: an access distribution device according to the invention that interfaces with a plurality of bus masters; a scheduling device according to the invention that interfaces with a memory device having a plurality of banks; and the access distribution device; If the number of buffering devices is m and the number of the memory devices is n, the buffering device according to the invention is interposed between the scheduling device and m. As for the relationship of n, if an arbitrary p is used, m = p × n or n = p × m holds, and each buffering device handles data for an address space obtained by dividing the address space of the memory device into m equal parts. The buffering devices are configured not to handle overlapping address spaces.
[0030]
According to this configuration, high-efficiency transfer control between the memory device and the buffering device can be performed by considering the order of processing access registration requests from the access distribution device while maintaining coherency. It becomes possible.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
The essence of the present invention is that a memory device having a relatively large latency as a memory device shared by a plurality of processors including the DSP and the DMA controller, for example, a memory without accessing the performance of the processor or the DMA controller when accessing the SDRAM. It is to improve the bandwidth and realize efficient and power-saving memory access. The memory access control device of the present invention can also be used in combination with a control unit of a memory device such as a built-in SRAM that does not have a large latency during access.
[0032]
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0033]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a memory access control apparatus according to
[0034]
1, a memory
[0035]
The
[0036]
Specifically, the
[0037]
The specific configuration (FIG. 2) and detailed operation (FIGS. 3 and 4) of the
[0038]
In the above configuration, the
[0039]
If the arbitrated access request is a write access request, the
[0040]
The
[0041]
Also, the
[0042]
On the other hand, if the corresponding data does not exist as a result of the search, the
[0043]
Next, a specific configuration of the
[0044]
The read /
[0045]
That is, the read / write switching
[0046]
The read /
[0047]
The
[0048]
That is, the
[0049]
As a result, the
[0050]
The
[0051]
Further, the
[0052]
Next, the data table 132 is associated with the modify
[0053]
The modify
[0054]
The
[0055]
The
[0056]
Next, the valid
[0057]
When the comparison result of the
[0058]
The
[0059]
Next, the operation of the
[0060]
In FIG. 3, when a write access request is input from the access distribution device 111 (step ST301), it is searched whether or not the write destination address exists in the data table 132 (step ST302). As a result, when the write destination address exists in the data table 132 (step ST303: Yes), the
[0061]
On the other hand, when the write destination address does not exist in the data table 132 (step ST303: No), it is determined whether or not the data table 132 can be additionally written (step ST305). As a result, if additional writing is not possible (step ST305: No), the data selection process is performed by the
[0062]
In step ST308, it is determined with reference to the
[0063]
Next, in FIG. 4, when a read access request is input from the access distribution device 111 (step ST401), it is searched whether or not the read destination address exists in the data table 132 (step ST402). As a result, when the read destination address exists in the data table 132 (step ST403: Yes), it is determined whether or not the
[0064]
On the other hand, when the read destination address does not exist in the data table 132 (step ST403: No) or when the corresponding
[0065]
Further, even when the read destination address does not exist in the data table 132 (step ST403: No), or even when the corresponding
[0066]
In step ST408, the
[0067]
As described above, according to the first embodiment, when a plurality of bus masters access data on a memory device, it may not be necessary to access the memory device. It is possible to increase the speed, and it is possible to save power by reducing the number of memory accesses.
[0068]
Here, the
[0069]
The
[0070]
The data table 132 includes a physical address 206 of the
[0071]
In addition, the
[0072]
In addition, the
[0073]
In addition, the
[0074]
Further, the
[0075]
In addition, the
[0076]
(Embodiment 2)
FIG. 5 is a block diagram showing the configuration of the memory access control apparatus according to the second embodiment of the present invention. As illustrated in FIG. 5, the memory
[0077]
In FIG. 5, a memory
[0078]
Since the plurality of
[0079]
The
[0080]
Each of the plurality of
[0081]
The
[0082]
At this time, if the memory device 302 is an SDRAM in which accesses to the
[0083]
Here, if the number of
[0084]
With this configuration, it is possible to perform highly efficient transfer control between the memory device 302 and the
[0085]
In each embodiment, the SDRAM has been described as a memory device. However, the present invention is not limited to this, and can be applied to other high-speed access memories. Needless to say, there is no limit to the number.
[0086]
【The invention's effect】
As described above, according to the present invention, when a memory device shared by a plurality of bus masters is accessed, the bus bandwidth of the memory device is improved, the read latency is improved, and the number of accesses to the memory device is increased. Can be suppressed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a memory access control apparatus according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a specific configuration example of the buffering device shown in FIG.
FIG. 3 is a flowchart for explaining the operation when a write access request is generated in the buffering device shown in FIG. 1;
4 is a flowchart for explaining the operation when a read access request is generated in the buffering device shown in FIG.
FIG. 5 is a block diagram showing a configuration of a memory access control apparatus according to a second embodiment of the present invention.
FIG. 6 is a control system diagram for explaining a conventional SDRAM control method;
[Explanation of symbols]
101, 301 Memory access control device
102 Bus master
103,302 memory device
111,311 access distribution device
112, 312 scheduling device
113,313 Buffering device
131,332 FIFO memory
132,331 data table
200 Read / write identifier
201 Reuse identifier
202, 203 Table address
204 modify identifier
205 Access identifier
206 Physical address
207 data
208 Bus master ID
221 Threshold register
222 Comparator
223 Effective line calculation device
224 Exit selection device
231 Reuse identification device
232 Specific area register
233 Specific master register
241 IDLE observation device
250 read / write identification device
251 read / write exchange control register
252 Execution order management device
321 Bank
Claims (10)
前記複数のバスマスタからのアクセス要求を調停し、受け付けた1のバスマスタに対して受付通知を発行するとともに、前記アクセス要求がライトアクセス要求であるときはライト登録要求を発行した後に前記1のバスマスタに対して完了通知を発行する一方、前記アクセス要求がリードアクセス要求であるときはリード登録要求を発行し、その発行したリード登録要求に従って送られてくるリードデータを前記1のバスマスタに対して中継転送するアクセス分配装置と、
前記アクセス分配装置からの前記ライト登録要求を受けて該当データを予め用意した記憶領域に書き込むとともにメモリ装置上のアドレスを登録し、書き込まれたデータが前記メモリ装置に転送する対象になった場合にライト要求を発行する一方、前記アクセス分配装置からの前記リード登録要求を受けてそのリード要求先のメモリ装置上のアドレスと予め登録されたメモリ装置上のアドレスとを比較して該当データの存在有無を検索し、該当データが存在する場合は、そのデータを前記リードデータとして前記アクセス分配装置に対して送出し、一方、該当データが存在しない場合はアドレスを登録した上でリード要求を発行し、その発行したリード要求に従って送られてくるリードデータをすでに登録済みのアドレスと対にして登録するとともに当該リードデータを前記アクセス分配装置に対して送出するバッファリング装置と、
前記バッファリング装置からの前記ライト要求を受けて前記メモリ装置をアクセスする信号を生成し前記バッファリング装置から送られてくるライトデータを前記メモリ装置に転送する一方、前記バッファリング装置からの前記リード要求を受けて前記メモリ装置をアクセスする信号を生成し前記メモリ装置からのリードデータ及びアドレスを前記バッファリング装置に転送するスケジューリング装置と、
を具備することを特徴とするメモリアクセス制御装置。A memory access control device for controlling access to a memory device shared by a plurality of bus masters,
Arbitrates access requests from the plurality of bus masters, issues an acceptance notification to the accepted one bus master, and if the access request is a write access request, issues a write registration request to the one bus master. When the access request is a read access request, it issues a read registration request and relays the read data sent in accordance with the issued read registration request to the one bus master. An access distribution device,
When the write registration request from the access distribution device is received and the corresponding data is written in a storage area prepared in advance and the address on the memory device is registered, and the written data is to be transferred to the memory device. While issuing the write request, the presence or absence of the corresponding data by comparing the address on the memory device of the read request destination with the address on the pre-registered memory device in response to the read registration request from the access distribution device If the corresponding data exists, the data is sent as the read data to the access distribution device. On the other hand, if the corresponding data does not exist, an address is registered and a read request is issued. Register the read data sent according to the issued read request with the already registered address. Buffering device for both sending the read data to the access distribution device,
In response to the write request from the buffering device, generates a signal for accessing the memory device and transfers write data sent from the buffering device to the memory device, while reading from the buffering device. A scheduling device for receiving a request and generating a signal for accessing the memory device and transferring read data and an address from the memory device to the buffering device;
A memory access control device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173795A JP2005011029A (en) | 2003-06-18 | 2003-06-18 | Memory access control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173795A JP2005011029A (en) | 2003-06-18 | 2003-06-18 | Memory access control device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005011029A true JP2005011029A (en) | 2005-01-13 |
Family
ID=34097519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003173795A Pending JP2005011029A (en) | 2003-06-18 | 2003-06-18 | Memory access control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005011029A (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339348A (en) * | 2004-05-28 | 2005-12-08 | Renesas Technology Corp | Semiconductor device |
JP2009140324A (en) * | 2007-12-07 | 2009-06-25 | Fujitsu Ltd | Memory access controller and memory access control method |
JP2010186403A (en) * | 2009-02-13 | 2010-08-26 | Renesas Electronics Corp | Data processing apparatus |
JP2012177965A (en) * | 2011-02-25 | 2012-09-13 | Shuichi Takada | Memory control device |
JP2012190232A (en) * | 2011-03-10 | 2012-10-04 | Ricoh Co Ltd | Memory access controller |
JP2014035678A (en) * | 2012-08-09 | 2014-02-24 | Fujitsu Ltd | Arithmetic processing unit, information processing unit, and control method for information processing unit |
US8703350B2 (en) | 2005-10-27 | 2014-04-22 | Kyocera Corporation | Heat-resistant alloy member, alloy member for fuel cell, collector member for fuel cell, cell stack, and fuel cell apparatus |
JP2014238768A (en) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | Data processing apparatus and data transfer controller |
JP2014238769A (en) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | Data processing apparatus and data transfer controller |
CN108984177A (en) * | 2018-06-21 | 2018-12-11 | 中国铁塔股份有限公司 | A kind of data processing method and system |
CN117707994A (en) * | 2024-02-02 | 2024-03-15 | 北京象帝先计算技术有限公司 | Request buffer, system, component, device and transmission method |
-
2003
- 2003-06-18 JP JP2003173795A patent/JP2005011029A/en active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4656862B2 (en) * | 2004-05-28 | 2011-03-23 | ルネサスエレクトロニクス株式会社 | Semiconductor device |
US8032715B2 (en) | 2004-05-28 | 2011-10-04 | Renesas Electronics Corporation | Data processor |
JP2005339348A (en) * | 2004-05-28 | 2005-12-08 | Renesas Technology Corp | Semiconductor device |
US8703350B2 (en) | 2005-10-27 | 2014-04-22 | Kyocera Corporation | Heat-resistant alloy member, alloy member for fuel cell, collector member for fuel cell, cell stack, and fuel cell apparatus |
JP2009140324A (en) * | 2007-12-07 | 2009-06-25 | Fujitsu Ltd | Memory access controller and memory access control method |
JP2010186403A (en) * | 2009-02-13 | 2010-08-26 | Renesas Electronics Corp | Data processing apparatus |
JP2012177965A (en) * | 2011-02-25 | 2012-09-13 | Shuichi Takada | Memory control device |
JP2012190232A (en) * | 2011-03-10 | 2012-10-04 | Ricoh Co Ltd | Memory access controller |
JP2014035678A (en) * | 2012-08-09 | 2014-02-24 | Fujitsu Ltd | Arithmetic processing unit, information processing unit, and control method for information processing unit |
JP2014238768A (en) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | Data processing apparatus and data transfer controller |
JP2014238769A (en) * | 2013-06-10 | 2014-12-18 | オリンパス株式会社 | Data processing apparatus and data transfer controller |
US9645957B2 (en) | 2013-06-10 | 2017-05-09 | Olympus Corporation | Data processing device and data transfer control device |
US9672174B2 (en) | 2013-06-10 | 2017-06-06 | Olympus Corporation | Data-processing apparatus and data transfer control device |
CN108984177A (en) * | 2018-06-21 | 2018-12-11 | 中国铁塔股份有限公司 | A kind of data processing method and system |
CN117707994A (en) * | 2024-02-02 | 2024-03-15 | 北京象帝先计算技术有限公司 | Request buffer, system, component, device and transmission method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100610730B1 (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
JP5417879B2 (en) | Cache device | |
JP3323212B2 (en) | Data prefetching method and apparatus | |
JP5666722B2 (en) | Memory interface | |
JP2002530742A (en) | Method and apparatus for prioritizing access to external devices | |
JP4656862B2 (en) | Semiconductor device | |
JP2003535380A (en) | Memory controller improves bus utilization by reordering memory requests | |
JP2002530743A (en) | Use the page tag register to track the state of a physical page in a memory device | |
JPH09510308A (en) | Advanced pipelined bus architecture | |
TW201234188A (en) | Memory access device for memory sharing among multiple processors and access method for the same | |
US8583873B2 (en) | Multiport data cache apparatus and method of controlling the same | |
JP2001117859A (en) | Bus controller | |
US20050253858A1 (en) | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams | |
JP2005011029A (en) | Memory access control device | |
JP2019096309A (en) | Execution of maintenance operation | |
US6247101B1 (en) | Tagged access synchronous bus architecture | |
US6751704B2 (en) | Dual-L2 processor subsystem architecture for networking system | |
WO2000038077A1 (en) | Cache device and control method | |
US20140244939A1 (en) | Texture cache memory system of non-blocking for texture mapping pipeline and operation method of texture cache memory | |
TW200410133A (en) | A method to reduce memory latencies by performing two levels of speculation | |
US8296525B1 (en) | Method and apparatus for data-less bus query | |
US20080320176A1 (en) | Prd (physical region descriptor) pre-fetch methods for dma (direct memory access) units | |
JP2005508549A (en) | Improved bandwidth for uncached devices | |
JP2003345648A5 (en) | ||
TW526424B (en) | Symmetric multiprocessor address bus protocol with intra-cache line access information |