(57)【特許請求の範囲】
【請求項１】
ロードリクエストを格納するバッファを複数備えたロードバッファと、
ストアリクエストを格納するバッファを複数備えたストアバッファと、
前記ロードバッファを構成するバッファの内の出力側から第１の所定個数のバッファ群と、前記ストアバッファを構成するバッファの内の出力側から第２の所定個数のバッファ群とを構成要素とする共有バッファと、
前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下で、且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下の場合、前記共有バッファに対してリクエストの発行優先権を与えるリクエスト出力制御部とを備えたことを特徴とするバッファ制御装置。
【請求項２】
請求項１記載のバッファ制御装置において、
前記共有バッファは、リクエストの発行優先権が与えられた場合、前記ロードバッファと共有しているバッファ群及び前記ストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを所定の順序で発行する共有側ビジーチェック回路を備えたことを特徴とするバッファ制御装置。
【請求項３】
請求項２記載のバッファ制御装置において、
前記共有側ビジーチェック回路は、先ず前記ロードバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行し、次にストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行することを特徴とするバッファ制御装置。
【請求項４】
請求項２記載のバッファ制御装置において、
前記共有側ビジーチェック回路は、先ず前記ストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行し、次にロードバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを発行順が古いものから順に発行することを特徴とするバッファ制御装置。
【請求項５】
請求項２記載のバッファ制御装置において、
前記共有側ビジーチェック回路は、前記ロードバッファと共有しているバッファ群と前記ストアバッファと共有しているバッファ群とを交互に処理対象にし、処理対象にしているバッファ群に格納されているリクエストの内の、発行先がビジーでなく且つ格納順が最も古いリクエストを発行することを特徴とするバッファ制御装置。
【請求項６】
請求項１乃至５の何れか１項に記載のバッファ制御装置において、
前記リクエスト出力制御部は、前記共有バッファにリクエストの発行優先権を与えている状態において、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えた場合は、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下であるか、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数よりも大きな値である第３の所定個数以上となるか、或いは前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えるまでの間、前記ロードバッファにリクエストの発行優先権を与えることを特徴とするバッファ制御装置。
【請求項７】
請求項６記載のバッファ制御装置において、
前記リクエスト出力制御部は、前記共通バッファにリクエストの発行優先権を与えている状態において、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えた場合は、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下となり且つ前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下であるか、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数よりも大きな値である第４の所定個数以上となるか、或いは前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下となり且つ前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えるまでの間、前記ストアバッファにリクエストの発行優先権を与えることを特徴とするバッファ制御装置。
【請求項８】
請求項７記載のバッファ制御装置において、
前記リクエスト出力制御部は、前記ストアバッファに発行優先権を与えている状態においては、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えた場合、前記ロードバッファに発行優先権を与え、前記ロードバッファに発行優先権を与えている状態においては、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えた場合、前記ストアバッファに発行優先権を与えることを特徴とするバッファ制御装置。
【請求項９】
請求項１乃至８の何れか１項に記載のバッファ制御装置において、
前記ロードバッファおよび前記ストアバッファは、追い越しバッファで構成されることを特徴とするバッファ制御装置。
【請求項１０】
ロードリクエストを格納するバッファを複数備えたロードバッファと、ストアリクエストを格納するバッファを複数備えたストアバッファと、前記ロードバッファを構成するバッファの内の出力側から第１の所定個数のバッファ群および前記ストアバッファを構成するバッファの内の出力側から第２の所定個数のバッファ群を構成要素とする共有バッファとを備えたバッファ制御装置におけるバッファ制御方法であって、
前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下で、且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下の場合、前記共有バッファに対してリクエストの発行優先権を与えることを特徴とするバッファ制御方法。
【請求項１１】
請求項１０記載のバッファ制御方法において、
前記共有バッファは、リクエストの発行優先権が与えられた場合、前記ロードバッファと共有しているバッファ群及び前記ストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを所定の順序で発行することを特徴とするバッファ制御方法。
【請求項１２】
請求項１１記載のバッファ制御方法において、
前記共有バッファは、先ず前記ロードバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行し、次にストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行することを特徴とするバッファ制御方法。
【請求項１３】
請求項１１記載のバッファ制御方法において、
前記共有バッファは、先ず前記ストアバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを格納順が古いものから順に発行し、次にロードバッファと共有しているバッファ群に格納されているリクエストの内の発行先がビジーでないリクエストを発行順が古いものから順に発行することを特徴とするバッファ制御方法。
【請求項１４】
請求項１１記載のバッファ制御方法において、
前記共有バッファは、前記ロードバッファと共有しているバッファ群と前記ストアバッファと共有しているバッファ群とを交互に処理対象にし、処理対象にしているバッファ群に格納されているリクエストの内の、発行先がビジーでなく且つ格納順が最も古いリクエストを発行することを特徴とするバッファ制御方法。
【請求項１５】
請求項１０乃至１４の何れか１項に記載のバッファ制御方法において、
前記共有バッファにリクエストの発行優先権を与えている状態において、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えた場合は、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下であるか、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数よりも大きな値である第３の所定個数以上となるか、或いは前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えるまでの間、前記ロードバッファにリクエストの発行優先権を与えることを特徴とするバッファ制御方法。
【請求項１６】
請求項１５記載のバッファ制御方法において、
前記共通バッファにリクエストの発行優先権を与えている状態において、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えた場合は、前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下となり且つ前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下であるか、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数よりも大きな値である第４の所定個数以上となるか、或いは前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下となり且つ前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えるまでの間、前記ストアバッファにリクエストの発行優先権を与えることを特徴とするバッファ制御方法。
【請求項１７】
請求項１６記載のバッファ制御方法において、
前記ストアバッファに発行優先権を与えている状態においては、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数を超えた場合、前記ロードバッファに発行優先権を与え、前記ロードバッファに発行優先権を与えている状態においては、前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下となり且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数を超えた場合、前記ストアバッファに発行優先権を与えることを特徴とするバッファ制御方法。
【請求項１８】
請求項１０乃至１７の何れか１項に記載のバッファ制御方法において、
前記ロードバッファおよび前記ストアバッファは、追い越しバッファで構成されることを特徴とするバッファ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主記憶装置に設けられ、上位装置から発行されたメモリリクエストを一時的に保持した後、メモリ制御部に対して発行するバッファ制御装置に関し、特に、同種類のメモリリクエストを連続して発行することができ、且つ、バッファに長期間格納されるメモリリクエストを無くすことができるバッファ制御装置に関する。
【背景技術】
【０００２】
主記憶装置に用いられるバッファ制御装置としては、例えば、図６に示すものが知られている（例えば、特許文献１参照）。この図６に示したバッファ制御装置は、Ｍワード構成の追い越しバッファ６０と、ワードセレクタ６１と、ビジーチェック回路６２と、ビジー管理回路６３と、メモリ制御部６４とから構成されている。
【０００３】
追い越しバッファ６０は、図示を省略した上位装置からメモリリクエスト６５（ロードリクエスト及びストアリクエスト）が供給されると、空いているワードの内の最若番のワードにメモリリクエスト６５を格納する。
【０００４】
ビジーチェック回路６２は、各バンクがビジー状態であるか否かを示すビジー情報６８と、各ワードに格納されている待機リクエスト６６の発行先とに基づいて、発行先がビジーでない待機リクエスト６６が格納されているワードの内の、最若番のワードを示すワード選択信号６７を出力する。
【０００５】
ワードセレクタ６１は、ワード選択信号６７が示しているワードに格納されている待機リクエスト６６を出力リクエスト６９としてメモリ制御部６４へ出力する。また、追い越しバッファ６０は、ワード選択信号６７によって示されるワード以降に格納されている待機リクエスト６６を、（現ワード−１）のワードに再格納する。
【０００６】
一方、ビジー管理回路６３は、ワードセレクタ６１から出力リクエスト６９が出力されると、出力リクエスト６９の種別と発行先とに基づいてビジー情報６８を更新する。
【０００７】
この図６に示したバッファ制御装置によれば、先行のメモリリクエストの発行先がビジーで発行できない場合であっても、後続のメモリリクエストの発行先がビジーでなければ後続のメモリリクエストを発行することができるので、スループットを高いものにすることができる。
【０００８】
また、図７に示すようなバッファ制御装置も従来から知られている（例えば、特許文献２、３参照）。この図７に示したバッファ制御装置は、ロードバッファ７０と、ストアバッファ７１と、バッファ優先制御部７２と、マルチプレクサ７３とから構成されている。
【０００９】
ロードバッファ７０は、Ｍワード構成のＦＩＦＯによって実現され、図示を省略した上位装置からのメモリリクエスト７４がロードリクエストの場合、それを空いているワードの内の最若番のワードに格納する。ストアバッファ７１は、Ｎワード構成のＦＩＦＯによって実現され、上位装置からのメモリリクエスト７４がストアリクエストの場合、それを空いているワードの内の最若番のワードに格納する。
【００１０】
バッファ優先制御部７２は、ロードバッファ７０にリクエストの発行優先権を与える場合はバッファ優先信号７９を“０”とし、ストアバッファ７１にリクエストの発行優先権を与える場合はバッファ優先信号７９を“１”とする。初期状態においては、バッファ優先制御部７２は、バッファ優先信号７９を“０”にしてロードバッファ７０に発行優先権を与える。その後、ストアバッファ７１のワードｎにリクエストが格納され、ストアバッファ高水準信号７５が“１”になると、バッファ優先信号７９を“１”にしてストアバッファ７１に発行優先権を与える。また、ストアバッファ７１に発行優先権を与えている状態において、ストアバッファのワードｙがリクエスト未格納状態となり、ストアバッファ低水準信号７６が“１”となると、バッファ優先信号７９を“０”にしてロードバッファ７０に発行優先権を与える。
【００１１】
マルチプレクサ７３は、バッファ優先信号７９が“０”の場合は、ロードバッファ７０から出力されるロードリクエスト７７を出力リクエスト８０として発行し、バッファ優先信号７９が“１”の場合は、ストアバッファ７１から出力されるストアリクエスト７８を出力リクエスト８０として発行する。
【００１２】
また、特許文献２には、図８に示すようなバッファ制御装置も開示されている。この図８に示したバッファ制御装置は、ロードバッファ８１と、ストアバッファ８２と、バッファ優先制御部８３と、マルチプレクサ８４とから構成されている。
【００１３】
バッファ優先制御部８３は、初期状態においては、バッファ優先信号８８を“０”にしてロードバッファ８１にリクエストの発行優先権を与える。その後、ロードバッファ８１のワードｍがリクエスト未格納状態になり、且つストアバッファ８２のワードｎがリクエスト格納状態になると（ロードバッファ高水準信号９０が“０”で、ストアバッファ高水準信号９１が“１”になると）、バッファ優先信号８８を“１”にしてストアバッファ８２にリクエストの発行優先権を与える。また、ストアバッファ８２にリクエストの発行優先権を与えている状態において、ロードバッファ８１のワードｍにリクエストが格納され、ロードバッファ高水準信号９０が“１”となると、バッファ優先信号８８を“０”にしてロードバッファ８１にリクエストの発行優先権を与える。
【００１４】
マルチプレクサ８６は、バッファ優先信号８８が“０”の場合は、ロードバッファ８１から出力されるロードリクエスト８６を出力リクエスト８９として発行し、バッファ優先信号８８が“１”の場合は、ストアバッファ８２から出力されるストアリクエスト８７を出力リクエスト８９として発行する。
【００１５】
図７及び図８に示したバッファ制御装置によれば、同種類のリクエストを連続して発行することができるので、スループットを向上させることができる。
【００１６】
【特許文献１】特開平１０−３３３９７９号公報
【特許文献２】特開平８−２２１３１１号公報
【特許文献３】特開２０００−１８１７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
図６に示したバッファ制御装置では、ロードリクエスト、ストアリクエストが同じバッファに格納されるため、同種類のリクエストを連続して発行することができず、リクエスト発行のスループットが低下するという問題がある。即ち、ロードリクエストとストアリクエストとが混在すると、それぞれのリクエストが異なるタイミングでデータバスを確保するため、余計なビジー時間を確保する必要が発生し、装置のスループット性能の低下を招く。
【００１８】
このような問題点は、図７および図８に示したバッファ制御装置により解決することができる。しかし、図７および図８に示したバッファ制御装置は、上位装置から発行されるメモリリクエスト数が少なくなった場合（メモリリクエストが全く発行されなくなった場合も含む）、リクエストの発行優先権がなかなか切り替わらないため、発行優先権を有していない追い越しバッファ内にリクエストが長期間停滞する可能性があり、装置のスループット性能の低下を招く。
【００１９】
〔発明の目的〕
そこで、本発明の目的は、上位装置から発行されるメモリリクエスト数が少なくなった場合であっても、バッファに長期間格納されるリクエストを無くすことにより、装置のスループット性能を向上させることにある。
【課題を解決するための手段】
【００２０】
本発明にかかる第１のバッファ制御装置は、
ロードリクエストを格納するバッファを複数備えたロードバッファと、
ストアリクエストを格納するバッファを複数備えたストアバッファと、
前記ロードバッファを構成するバッファの内の出力側から第１の所定個数のバッファ群と、前記ストアバッファを構成するバッファの内の出力側から第２の所定個数のバッファ群とを構成要素とする共有バッファと、
前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下で、且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下の場合、前記共有バッファに対してリクエストの発行優先権を与えるリクエスト出力制御部とを備えたことを特徴とする。
【００２１】
本発明にかかる第１のバッファ制御方法は、
ロードリクエストを格納するバッファを複数備えたロードバッファと、ストアリクエストを格納するバッファを複数備えたストアバッファと、前記ロードバッファを構成するバッファの内の出力側から第１の所定個数のバッファ群および前記ストアバッファを構成するバッファの内の出力側から第２の所定個数のバッファ群を構成要素とする共有バッファとを備えたバッファ制御装置におけるバッファ制御方法であって、
前記ロードバッファに格納されているリクエスト数が前記第１の所定個数以下で、且つ前記ストアバッファに格納されているリクエスト数が前記第２の所定個数以下の場合、前記共有バッファに対してリクエストの発行優先権を与えることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、上位装置から発行されるメモリリクエストの数が少なくなった場合であっても、ロードバッファ或いはストアバッファに長期間格納されるメモリリクエストをなくすことができ、その結果、装置のスループットを向上させることができる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２４】
〔本発明の第１の実施の形態〕
図１を参照すると、本発明の第１の実施の形態にかかるバッファ制御装置は、ロード用追い越しバッファ１と、ストア用追い越しバッファ２と、共有追い越しバッファ３と、リクエスト出力制御部４とから構成されている。
【００２５】
ロード用追い越しバッファ１は、ワード０〜（Ｍ−１）のＭ個のバッファを備えており、上位装置（図示せず）から発行されたメモリリクエスト５がロードリクエストであれば、空いているバッファの内の最若番のバッファにメモリリクエスト５を書き込む。また、ロードバッファ・リクエスト発行優先信号４−１によってリクエストの発行優先権が与えられているときは、ワード０のバッファからワード（Ｍ−１）のバッファに向かって発行先がビジーでないリクエストを検索し、該当リクエストが存在すると、検索したリクエストをロードリクエスト１１として発行する処理を行うと共に、リクエストを発行したバッファ以降のバッファに格納されているリクエストを、（現ワード−１）のバッファに再格納する処理を行う。該当リクエストが存在しない場合にはリクエストの発行は行われない。
【００２６】
ストア用追い越しバッファ２は、ワード０〜（Ｎ−１）のＮ個のバッファを備えており、上位装置から発行されたメモリリクエスト５がストアリクエストであれば、空いているバッファの内の最若番のバッファにメモリリクエスト５を書き込む。また、ストアバッファ・リクエスト発行優先信号４−２によってリクエストの発行優先権が与えられている場合は、ワード０のバッファからワード（Ｎ−１）のバッファに向かって、発行先がビジーでないリクエストを検索し、該当リクエストが存在すると、検索したリクエストをストアリクエスト２１として発行する処理を行うと共に、リクエストを発行したバッファ以降のバッファに格納されているリクエストを、（現ワード−１）のバッファに再格納する処理を行う。該当リクエストが存在しない場合にはリクエストの発行は行われない。
【００２７】
共有追い越しバッファ３は、ロード用追い越しバッファ１のワード０〜ｘのバッファと、ストア用追い越しバッファ２のワード０〜ｙのバッファとを構成要素としている。共有バッファ・リクエスト発行優先信号４−３によって自追い越しバッファ３にリクエストの発行優先権が与えられている場合は、上記ワード０〜ｘ、０〜ｙの各バッファを対象にして、所定の順番で発行先がビジーでないリクエストを検索し、該当リクエストが存在すると、検索したリクエストを共有リクエスト３１として発行する処理を行うと共に、リクエストを発行したバッファ以降のバッファに格納されているリクエストを（現ワード−１）のバッファに再格納する処理を行う。該当リクエストが存在しない場合にはリクエストの発行は行われない。
【００２８】
リクエスト出力制御部４は、ロード用追い越しバッファ１およびストア用追い越しバッファ２に格納されているリクエストのリクエスト数と自制御部４の状態（発行優先信号４−１〜４−３の内の何れを出力しているか）とに基づいて、ロード用追い越しバッファ１に発行優先権を与えるロードバッファ・リクエスト発行優先信号４−１、ストア用追い越しバッファ２に発行優先権を与えるストアバッファ・リクエスト発行優先信号４−２、或いは共有追い越しバッファ３に発行優先権を与える共有バッファ・リクエスト発行優先信号４−３を出力する。また、リクエスト出力制御部４は、発行優先権を与えているバッファ１、２、３から発行されたリクエスト１１、２１、３１をメモリ制御部（図示せず）へ転送する処理も行う。
【００２９】
ここで、リクエスト出力制御部４が行う各発行優先信号４−１〜４−３の出力動作について詳しく説明する。
【００３０】
〔リクエスト出力制御部４が共有バッファ・リクエスト発行優先信号４−３を出力しているときの動作〕
・ロード用追い越しバッファ１のワード（ｘ＋１）にリクエストが格納されたとき、即ちロード用追い越しバッファ１に（ｘ＋２）個のリクエストが格納されたとき、ロードバッファ・リクエスト発行優先信号４−１を出力し、ロード用追い越しバッファ１に発行優先権を与える。
・ストア用追い越しバッファ２のワード（ｙ＋１）にリクエストが格納されたとき、ストアバッファ・リクエスト発行優先信号４−２を出力してストア用追い越しバッファ２に発行優先権を与える。
【００３１】
〔リクエスト出力制御部４がロードバッファ・リクエスト発行優先信号４−１を出力しているときの動作〕
・ロード用追い越しバッファ１のワード（ｘ＋１）がリクエスト未格納状態となり、且つストア用追い越しバッファ２のワード（ｙ＋１）がリクエスト未格納状態となったとき、即ち、ロード用追い越しバッファ１に格納されているリクエストが（ｘ＋１）個以下となり、且つストア用追い越しバッファ２に格納されているリクエストが（ｙ＋１）個以下となった場合、共有バッファ・リクエスト発行優先信号４−３を出力し、共有追い越しバッファ３に発行優先権を与える。
・ストア用追い越しバッファ２のワードｎ（ｎ＞ｙ）にリクエストが格納されたとき、ストアバッファ・リクエスト発行優先信号４−２を出力し、ストア用追い越しバッファ２に発行優先権を与える。
・ロード用追い越しバッファ１のワード（ｘ＋１）がリクエスト未格納状態となり、且つ、ストア用追い越しバッファ２のワード（ｙ＋１）がリクエスト格納状態となったとき、ストアバッファ・リクエスト発行優先信号４−２を出力し、ストア用追い越しバッファ２に発行優先権を与える。
【００３２】
〔リクエスト出力制御部４がストアバッファ・リクエスト発行優先信号４−２を出力しているときの動作〕
・ストア用追い越しバッファ２のワード（ｙ＋１）がリクエスト未格納状態となり、且つロード用追い越しバッファ１のワード（ｘ＋１）がリクエスト未格納状態となったとき、共有バッファ・リクエスト発行優先信号４−３を出力し、共有追い越しバッファ３に発行優先権を与える。
・ロード用追い越しバッファ１のワードｍ（ｍ＞ｘ）にリクエストが格納されたとき、ロードバッファ・リクエスト発行優先信号４−１を出力し、ロード用追い越しバッファ１に発行優先権を与える。
・ストア用追い越しバッファ２のワード（ｙ＋１）がリクエスト未格納状態となり、且つ、ロード用追い越しバッファ１のワード（ｘ＋１）がリクエスト格納状態となったとき、ロードバッファ・リクエスト発行優先信号４−１を出力し、ロード用追い越しバッファ１に発行優先権を与える。
【００３３】
次に、図２を参照して本実施の形態の構成について更に詳細に説明する。なお、図２において図１と同一符号は同一部分を表している。
【００３４】
図２を参照すると、ロード用追い越しバッファ１は、ワード００〜１５の１６個のバッファと、ロードバッファセレクタ１２と、ビジーチェック回路１３とを備えている。また、ロード用追い越しバッファ１は、上位装置（図示せず）から発行されるメモリリクエスト５と、リクエスト出力制御部４から出力されるバッファ優先信号４１０及びビジー情報信号４３０とを入力とし、ロードリクエスト１１と、ワード０４のバッファにリクエストが格納されているか否かを示すワード０４−Ｖビット１０４と、ワード１２のバッファにリクエストが格納されているか否かを示すワード１２−Ｖビット１１２とを出力としている。なお、ワード０４−Ｖビット１０４及びワード１２−Ｖビット１１２は、該当するバッファにリクエストが格納されている場合は“１”となり、格納されていない場合は、“０”となる。
【００３５】
本ロード用追い越しバッファ１は、ロードリクエストのみを受け付け、一時的に保持する追い越しバッファである。従って、上位装置から発行されたメモリリクエスト５がロードリクエストである場合には、そのリクエストを受け付け、空いているバッファの内の最若番のバッファに格納するが、メモリリクエスト５がストアリクエストである場合には、リクエストを受け付けない。
【００３６】
ビジーチェック回路１３は、バッファ優先信号４１０によって自バッファ１にリクエストの発行優先権が与えられている場合は、各バンクの状態（ビジーであるか否か）を示すビジー情報信号４３０に基づいて、ワード００のバッファから順番に、発行先がビジーでないロードリクエスト（発行可能なロードリクエスト）が格納されているバッファを検索し、検索したバッファを示すバッファ選択信号を出力する(該当リクエストが無い場合は選択信号を出力しない)。また、ビジーチェック回路１３は、バッファ選択信号を出力すると、このバッファ選択信号によって選択したバッファ以降に格納されているロードリクエストを、（現ワード−１）のワードに再格納するための処理も行う。
【００３７】
ロードバッファセレクタ１２は、ビジーチェック回路１３から出力されたバッファ選択信号によって選択されたバッファに格納されているリクエストを、ロードリクエスト１１として出力する。
【００３８】
ストア用追い越しバッファ２は、ワード００〜１５の１６個のバッファと、ストアバッファセレクタ２２と、ビジーチェック回路２３とを備えている。また、ストア用追い越しバッファ２は、上位装置から発行されるメモリリクエスト５と、リクエスト出力制御部４から発行されるバッファ優先信号４１０及びビジー情報信号４３０とを入力し、ストアリクエスト２１と、ワード０４のバッファにストアリクエストが格納されているか否かを示すワード０４−Ｖビット２０４と、ワード１２のバッファにストアリクエストが格納されているか否かを示すワード１２−Ｖビット２１２とを出力としている。なお、ワード０４−Ｖビット２０４、ワード１２−Ｖビット２１２は、該当するバッファにストアリクエストが格納されている場合は“１”となり、格納されていない場合は“０”となる。
【００３９】
本ストア用追い越しバッファ２は、ストアリクエストのみを受け付け、一時的に保持する追い越しバッファである。従って、上位装置から発行されたメモリリクエスト５がストアリクエストである場合には、そのリクエストを受け付け、空いているバッファの内の最若番のバッファに格納するが、メモリリクエスト５がロードリクエストである場合には、リクエストを受け付けない。
【００４０】
ビジーチェック回路２３は、バッファ優先信号４１０によって自バッファ２にリクエストの発行優先権が与えられている場合は、各バンクの状態（ビジーか否か）を示すビジー情報信号４３０に基づいて、ワード００のバッファから順番に、発行先がビジーでないストアリクエスト（発行可能なストアリクエスト）が格納されているバッファを検索し、検索したバッファを示すバッファ選択信号を出力する(該当リクエストが無い場合は選択信号を出力しない)。また、ビジーチェック回路２３は、バッファ選択信号を出力すると、そのバッファ選択信号によって選択したバッファ以降に格納されているストアリクエストを、（現ワード−１）のバッファに再格納するための処理も行う。
【００４１】
ストアバッファセレクタ２２は、ビジーチェック回路２３から出力されたバッファ選択信号によって選択されたバッファに格納されているリクエストを、ストアリクエスト２１として出力する。
【００４２】
共有追い越しバッファ３は、ロード用追い越しバッファ１のワード００〜０３のバッファと、ストア用追い越しバッファ２のワード００〜０３のバッファと、共有バッファセレクタ３２と、ビジーチェック回路３３とを構成要素としている。また、共有追い越しバッファ３は、バッファ優先信号４１０及びビジー情報信号４３０を入力とし、共有リクエスト３１を出力としている。
【００４３】
ビジーチェック回路３３は、バッファ優先信号４１０によって自バッファ３にリクエストの発行優先権が与えられている場合は、各バンクの状態を示すビジー情報信号４３０に基づいて、ロード用追い越しバッファ１のワード００〜０３、ストア用追い越しバッファ２のワード００〜０３の順番で、発行先がビジーでないメモリリクエストが格納されているバッファを検索し、検索したバッファを示すバッファ選択信号を出力する(該当リクエストが無い場合は選択信号を出力しない)。また、ビジーチェック回路３３は、バッファ選択信号を出力すると、そのバッファ選択信号によって選択したバッファ以降のバッファに格納されているメモリリクエストを、（現ワード−１）のバッファに再格納するための処理も行う。なお、バッファ選択信号によって選択したバッファがロード用追い越しバッファ１内のバッファである場合には、ロード用追い越しバッファ１内の該当するバッファに対して上記処理を行い、バッファ選択信号によって選択したバッファがストア用追い越しバッファ２内のバッファである場合は、ストア用追い越しバッファ２内の該当するバッファに対して上記処理を行う。
【００４４】
共有バッファセレクタ３２は、ビジーチェック回路３３から出力されたバッファ選択信号によって選択されたバッファに格納されているメモリリクエスト（ロードリクエスト或いはストアリクエスト）を、共有リクエスト３１として出力する。
【００４５】
リクエスト出力制御部４は、バッファ優先制御部４１と、リクエスト選択回路４２と、ビジー管理部４３とを備えている。
【００４６】
バッファ優先制御部４１は、ワード０４−Ｖビット１０４、ワード１２−Ｖビット１１２、ワード０４−Ｖビット２０４及びワード１２−Ｖビット２１２を入力とし、各追い越しバッファ１〜３の内の何れか１つにリクエストの発行優先権を与えるバッファ優先信号４１０を出力する。このバッファ優先信号４１０は、図１に示したロードバッファ・リクエスト発行優先信号４−１、ストアバッファ・リクエスト発行優先信号４−２および共有バッファ・リクエスト発行優先信号４−３に対応する。
【００４７】
ここで、バッファ優先制御部４１について詳しく説明する。バッファ優先制御部４１は、初期状態においては、共有追い越しバッファ３にリクエストの発行優先権を与えるバッファ優先信号４１０を出力する。
【００４８】
共有追い越しバッファ３に発行優先権を与えるバッファ優先信号４１０を出力しているときに、ワード０４−Ｖビット１０４が“１”になると、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力し、ワード０４−Ｖビット２０４が“１”となるとストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力する。
【００４９】
ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力しているときに、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４が両方とも“０”となると、共有追い越しバッファ３に発行優先権を与えるバッファ優先信号４１０を出力する。また、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力しているときに、ワード１２−Ｖビット２１２が“１”となった場合、およびワード０４−Ｖビット１０４が“０”で且つワード０４−Ｖビット２０４が“１”となった場合は、ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力する。
【００５０】
ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力しているときに、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４が両方とも“０”となると、共有追い越しバッファ３に発行優先権を与えるバッファ優先信号４１０を出力する。また、ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力しているときに、ワード１２−Ｖビット１１２が“１”となった場合、およびワード０４−Ｖビット２０４が“０”で且つワード０４−Ｖビット１０４が“１”となった場合は、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力する。
【００５１】
リクエスト選択回路４２は、バッファ優先信号４１０に基づいて、各追い越しバッファ１〜３の内、リクエストの優先権が与えられているバッファから出力されているメモリリクエストを発行リクエスト４２０として出力する。
【００５２】
ビジー管理部４３は、発行リクエスト４２０を入力とし、メモリの各バンクについて、そのバンクがビジーであるか否かを示すビジー情報信号４３０を出力する。ビジー管理部４３の構成としては、例えば、バンク毎のカウンタと、発行リクエスト４２０の種別に応じたカウント値を発行リクエスト４２０の発行先のバンクに対応したカウンタに設定する制御部とを備え、各カウンタのカウント値が「０」であるか否かを示す信号を、ビジー情報信号４３０として出力する構成を採用することができる。
【００５３】
〔第１の実施の形態の動作の説明〕
次に、図３のフローチャートおよび図４のタイムチャートを参照して本実施の形態の動作について詳細に説明する。
【００５４】
初期状態においては、バッファ優先制御部４１は、ロード用追い越しバッファ１にリクエストの発行優先権を与えるバッファ優先信号４１０を出力している。
【００５５】
この状態において、メモリリクエスト５としてバンクＡへのロードリクエストＬＤ−Ａ１が到着すると、このロードリクエストＬＤ−Ａ１は、ロード用追い越しバッファ１のワード００のバッファに格納される。このとき、バッファ優先制御部４１は、ワード０４−Ｖビット１０４およびワード０４−Ｖビット２０４が共に“０”であるので、共有追い越しバッファ３に発行優先権を与える（図３のステップＳ３１、図４の時刻Ｔ０）。また、このとき、発行先のバンクＡはビジーでないので、共有リクエスト３１（ロードリクエストＬＤ−Ａ１）が発行リクエスト４２０としてメモリ制御部６へ発行される（図４の時刻Ｔ１）。ビジー管理部４３は、当該ロードリクエストＬＤ−Ａ１に従って、ビジー情報信号４３０をバンクＡがビジーであることを示すものに変更する。
【００５６】
その後、メモリリクエスト５としてバンクＡへのロードリクエストＬＤ−Ａ２が到着すると、このリクエストは、ロード用追い越しバッファ１のワード００のバッファに格納される（図４の時刻Ｔ１）。このロードリクエストＬＤ−Ａ２は、バンクＡにビジーが設定されているため、メモリ制御部６へは発行されない。更に、メモリリクエスト５として、バンクＡへのストアリクエストＳＴ−Ａ１が到着すると、このリクエストは、ストア用追い越しバッファ２のワード００のバッファに格納される（図４の時刻Ｔ２）。このストアリクエストＳＴ−Ａ１は、バンクＡにビジーが設定されているため、メモリ制御部６へは発行されない。
【００５７】
その後、上位装置から大量のロードリクエストが送られてくると、発行先がビジーのロードリクエストがロード用追い越しバッファ１に溜まり始める。そして、ロード用追い越しバッファ１のワード０４のバッファまでロードリクエストが溜まると、ワード０４−Ｖビット１０４が“１”となる。これにより、バッファ優先制御部４１では、ロード用追い越しバッファ１にリクエストが停滞したと判断し（図３のステップＳ３２、Ｓ３３が共にＹｅｓ）、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力する（図３のステップＳ３４、図４の時刻Ｔ３）。この状態（ロード用追い越しバッファ１に発行優先権を与えている状態）は、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４が共に“０”となるか（追い越しバッファ１、２に格納されたリクエスト数が共に４個以下となるか；図３のステップＳ３６、Ｓ３７が共にＹｅｓ）、ワード１２−Ｖビット２１２が“１”となるか（ストア用追い越しバッファ２に格納されたリクエスト数が１３以上となるか；ステップＳ３５がＹｅｓ）、或いはワード０４−Ｖビット１０４が“０”、ワード０４−Ｖビット２０４が“１”（ステップＳ３６がＹｅｓ、ステップＳ３７がＮｏ）となるまで継続する。
【００５８】
ロード用追い越しバッファ１は、バッファ優先信号４１０によって自追い越しバッファ１に発行優先権が与えられている間、ビジー管理部４３から出力されているビジー情報信号４３０に基づいて所定の追い越しバッファの制御を行い、出力可能なロードリクエスト１１を送出する。リクエスト選択回路４２では、バッファ優先信号４１０によってロード用追い越しバッファ１に発行優先権が与えられている間、ロードリクエスト１１を発行リクエスト４２０としてメモリ制御部６に送出する。
【００５９】
この状態（ロード用追い越しバッファ１に発行優先権が与えられている状態）が続くと、ロード用追い越しバッファ１に格納されたリクエストは減少するが、ストア用追い越しバッファ２に格納されるリクエストが増加し、ワード１２−Ｖビット２１２が“１”となる。これにより、バッファ優先制御部４１では、ストア用追い越しバッファ２にリクエストが停滞したと判断し（図３のステップＳ３５がＹｅｓ）、ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力する（図３のステップＳ３８、図４の時刻Ｔ４）。
【００６０】
この状態（ストア用追い越しバッファ２に発行優先権を与えている状態）は、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４が両方とも“０”となるか（図３のステップＳ４０、Ｓ４１が共にＹｅｓ）、ワード１２−Ｖビット１１２が“１”となるか（ロード用追い越しバッファ１に格納されているリクエストが１３個以上となるか；ステップＳ３９がＹｅｓ）、ワード０４−Ｖビット２０４が“０”、ワード０４−Ｖビット１０４が“１”（ステップＳ４０がＹｅｓで、ステップＳ４１がＮｏ）となるまで継続する。
【００６１】
ストア用追い越しバッファ２は、発行優先権が与えられると、ビジー管理部４３から出力されているビジー情報信号４３０に基づいて所定の追い越しバッファの制御を行い、出力可能なストアリクエスト２１を出力する。また、リクエスト選択回路４２は、ストア用追い越しバッファ２に発行優先権が与えられると、ストアリクエスト２１を発行リクエスト４２０としてメモリ制御部６へ送出する。
【００６２】
次に、上位装置から発行されるメモリリクエストが少なくなった場合の動作を説明する。上位装置から発行されるメモリリクエスト５の数が少なくなると、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４との両方が“０”となるか、或いは何れか一方が“０”となる。今、例えば、ストア用追い越しバッファ２に発行優先権を与えている状態において、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４の両方が“０”になったとする（図３のステップＳ４０、Ｓ４１が両方ともＹｅｓ、図４の時刻Ｔ５）。
【００６３】
バッファ優先制御部４１は、ロード用追い越しバッファ１とストア用追い越しバッファ２に格納されたリクエストが少ないと判断し、バッファ優先信号４１０を共有追い越しバッファ３に発行優先権を与えるものに変更する（図３のステップＳ３１、図４の時刻Ｔ５）。この状態は、ワード０４−Ｖビット１０４或いはワード０４−Ｖビット２０４が“１”となるまで継続する。
【００６４】
共有追い越しバッファ３は、バッファ優先信号４１０により発行優先権が与えられると、ビジー情報信号４３０に基づいて所定の追い越しバッファ制御を行い、出力可能な共有リクエスト３１を出力する。リクエスト選択回路４２は、共有追い越しバッファ３に発行優先権が与えられている間、共有リクエスト３１を発行リクエスト４２０としてメモリ制御部６へ送出する。
【００６５】
また、例えば、ストア用追い越しバッファ２に発行優先権を与えている状態（図３のステップＳ３８）において、ワード０４−Ｖビット２０４が“１”となり、且つワード０４−Ｖビット１０４が“１”になると（ステップＳ４０がＹｅｓ、ステップＳ４１がＮｏ）、バッファ優先制御部４１は、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力する。
【００６６】
また、例えば、ロード用追い越しバッファ１に発行優先権を与えている状態において（図３のステップＳ３４）、ワード０４−Ｖビット１０４とワード０４−Ｖビット２０４との両方が“０”となると（ステップＳ３６、Ｓ３７が共にＹｅｓ）、バッファ優先信号４１０は共有追い越しバッファ３に発行優先権を与えるバッファ優先信号４１０を出力する（ステップＳ３１）。
【００６７】
また、例えば、ロード用追い越しバッファ１に発行優先権を与えている状態（ステップＳ３４）において、ワード０４−Ｖビット１０４が“０”となり、ワード０４−Ｖビット２０４が“１”となると（ステップＳ３６がＹｅｓ、ステップＳ３７がＮｏ）、ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力する。
【００６８】
なお、上述した説明では、共有追い越しバッファ３の出力可能なリクエストを検索する順番をロード用追い越しバッファ１のワード００からワード０３を経由しストア用追い越しバッファ２のワード００からワード０３としているが、ストア用追い越しバッファ２のワード００からワード０３を経由しロード用追い越しバッファ１のワード００からワード０３としてもよい。さらに、ロード用追い越しバッファ１のワード００→ストア用追い越しバッファ２のワード００→ロード用追い越しバッファ１のワード０１→ストア用追い越しバッファ２のワード０１→…(以降省略)等としてもよい。
【００６９】
さらに、上述した説明では、ロード用追い越しバッファ１のワード数とストア用追い越しバッファ２のワード数が一致しているが、必ずしも一致させる必要はない。
【００７０】
さらに、上述した説明では、共有追い越しバッファ３の構成要素となるロード用追い越しバッファ１とストア用追い越しバッファ２のワード数も一致しているが、こちらも必ずしも一致させる必要はない。
【００７１】
さらに、上述した説明では、共有追い越しバッファ３のワード数は固定値としているが、装置の初期設定でこのワード数を変更できる制御としてもよい。
【００７２】
さらに、上述した説明では、格納リクエストが多くなった時にリクエストの発行優先権を要求する信号（ワード１２−Ｖビット１１２やワード１２−Ｖビット２１２）を固定としているが、装置の初期設定でこの信号を変更できる制御としてもよい。
【００７３】
〔第１の実施の形態の効果〕
本実施の形態によれば、上位装置から発行されるメモリリクエスト数が少なくなった場合であっても、ロード用追い越しバッファ１或いはストア用追い越しバッファ２に長期間格納されるメモリリクエストをなくすことができ、その結果、装置のスループットを向上させることができる。その理由は、ロード用追い越しバッファ１に格納されているメモリリクエスト数が４個（第１の所定個数）以下で、かつストア用追い越しバッファ２に格納されているメモリリクエスト数が４個（第２の所定個数）以下の場合、共有追い越しバッファ３にリクエストの発行優先権を与えるようにしているからである。
【００７４】
また、本実施の形態によれば、同種類の命令を連続して発行することができるので、装置のスループットを向上させることができる。その理由は、共有追い越しバッファ３にリクエストの発行優先権を与えている状態において、ロード用追い越しバッファ１に格納されているリクエスト数が４個（第１の所定個数）を超えた場合は、ロード用追い越しバッファ１に格納されているリクエスト数が第１の所定個数以下となり且つストア用追い越しバッファ２に格納されているリクエスト数が４個（第２の所定個数）以下となるか、ストア用追い越しバッファ２に格納されているリクエスト数が第２の所定個数よりも大きな値である第３の所定個数（１３個）以上となるか、或いはロード用追い越しバッファ１に格納されているリクエスト数が第１の所定個数以下となり且つストア用追い越しバッファ２に格納されているリクエスト数が第２の所定個数を超えるまでの間、ロード用追い越しバッファ１にリクエストの発行優先権を与えるようにしているからである。
【００７５】
また、本実施の形態では、ロードバッファおよびストアバッファを追い越しバッファで構成しているので、発行先がビジーでない後続の同種のリクエストを連続発行することが可能になるという効果も得られる。
【００７６】
〔本発明の第２の実施の形態〕
次に、本発明の第２の実施の形態について説明する。本実施の形態は、ストア用追い越しバッファに比較してロード用追い越しバッファに優先的にリクエストの発行優先権を与えるようにしたことを特徴とする。
【００７７】
本実施の形態は、図２に示したバッファ制御装置のバッファ優先制御部４１に図５のフローチャートに示す処理を実行させることにより実現される。
【００７８】
バッファ優先制御部４１は、初期状態においては、ロード用追い越しバッファ１に発行優先権を与えるバッファ優先信号４１０を出力する（ステップＳ５１）。そして、ロード用追い越しバッファ１に発行優先権を与えている状態において、ワード１２−Ｖビット２１２が“１”となると（ステップＳ５２がＹｅｓ）、ストア用追い越しバッファ２に発行優先権を与えるバッファ優先信号４１０を出力する（ステップＳ５３）。
【００７９】
ストア用追い越しバッファ２に発行優先権を与えている状態において、ワード１２−Ｖビット１１２が“１”となるか（ステップＳ５４がＹｅｓ）、ワード０４−Ｖビット１０４が“１”となると（ステップＳ５５がＮｏ）、バッファ優先信号４１０をロード用追い越しバッファ１に発行優先権を与えるものに変更する（ステップＳ５１）。また、ストア用追い越しバッファ２に発行優先権を与えている状態において（ステップＳ５３）、ワード０４−Ｖビット１０４、ワード０４−Ｖビット２０４が共に“０”となると（ステップＳ５５、Ｓ５６が共にＹｅｓ）、バッファ優先信号４１０を共有追い越しバッファ３に発行優先権を与えるものに変更する。
【００８０】
また、ロード用追い越しバッファ１に発行優先権を与えている状態（ステップＳ５１）において、ワード０４−Ｖビット１０４、ワード０４−Ｖビット２０４が共に“０”となると（ステップＳ５７、Ｓ５８が共にＹｅｓ）、バッファ優先信号４１０を共有追い越しバッファ３に発行優先権を与えるものに変更する（ステップＳ５９）。また、ロード用追い越しバッファ１に発行優先権を与えている状態（ステップＳ５１）において、ワード０４−Ｖビット１０４が“０”となり且つワード０４−Ｖビット２０４が“１”となると（ステップＳ５７がＹｅｓ、ステップＳ５８がＮｏ）、バッファ優先信号４１０をストア用追い越しバッファ２に発行優先権を与えるものに変更する（ステップＳ５３）。
【００８１】
また、共有追い越しバッファ３に発行優先権を与えている状態において（ステップＳ５９）、ワード０４−Ｖビット１０４が“１”となると（ステップＳ６０がＹｅｓ）、バッファ優先信号４１０をロード用追い越しバッファ１に発行優先権を与えるものに変更し（ステップＳ５１）、ワード０４−Ｖビット２０４が“１”となると（ステップＳ６１がＹｅｓ）、バッファ優先信号４１０をストア用追い越しバッファ２に発行優先権を与えるものに変更する（ステップＳ５３）。
【００８２】
〔第２の実施の形態の効果〕
本実施の形態によれば、ストア用追い越しバッファ２に比較してロード用追い越しバッファ１に優先的にリクエストの発行優先権を与えることができるので、ストアリクエストに比較してロードリクエストの発行数が多い装置のスループット性能を極めて高いものにすることができる。通常の計算機においては、ストアリクエスト数に比較して、ロードリクエスト数が多いので、本実施の形態は非常に有効である。
【００８３】
ストア用追い越しバッファ２に比較してロード用追い越しバッファ１に優先的にリクエストの発行優先権を与えることができる理由は、ストア用追い越しバッファ２に発行優先権を与えている状態においては、ロード用追い越しバッファ１に格納されているリクエスト数が４個（第１の所定個数）を超えた場合、ロード用追い越しバッファ１に発行優先権を与え、ロード用追い越しバッファ１に発行優先権を与えている状態においては、ロード用追い越しバッファ１に格納されているリクエスト数が第１の所定個数以下で且つストア用追い越しバッファ２に格納されているリクエスト数が４個（第２の所定個数）を超えた場合、ストア用追い越しバッファ２に発行優先権を与えるようにしているからである。
【産業上の利用可能性】
【００８４】
本発明は、主記憶装置で用いられるバッファ制御装置に適用すると好適である。
【図面の簡単な説明】
【００８５】
【図１】本発明の第１の実施の形態にかかるバッファ制御装置の概要を説明するためのブロック図である。
【図２】本発明の第１の実施の形態にかかるバッファ制御装置を詳細に説明するためのブロック図である。
【図３】バッファ優先制御部４１の処理例を示すフローチャートである。
【図４】第１の実施の形態の動作を説明するためのタイムチャートである。
【図５】本発明の第２の実施の形態にかかるバッファ制御装置の処理例を示すフローチャートである。
【図６】第１の従来例のブロック図である。
【図７】第２の従来例のブロック図である。
【図８】第３の従来例のブロック図である。
【符号の説明】
【００８６】
１…ロード用追い越しバッファ
１２…ロードバッファセレクタ
１３…ビジーチェック回路
２…ストア用追い越しバッファ
２２…ストアバッファセレクタ
２３…ビジーチェック回路
３…共有追い越しバッファ
３２…共有バッファセレクタ
３３…ビジーチェック回路
４…リクエスト出力制御部
４１…バッファ優先制御部
４２…リクエスト選択回路
４３…ビジー管理部
６…メモリ制御部
【図１】
0004882116.tif 000002
【図２】
0004882116.tif 000003
【図３】
0004882116.tif 000004
【図４】
0004882116.tif 000005
【図５】
0004882116.tif 000006
【図６】
0004882116.tif 000007
【図７】
0004882116.tif 000008
【図８】
0004882116.tif 000009