JP2009157886A - ロードストアキューの制御方法及びその制御システム - Google Patents

ロードストアキューの制御方法及びその制御システム Download PDF

Info

Publication number
JP2009157886A
JP2009157886A JP2007338860A JP2007338860A JP2009157886A JP 2009157886 A JP2009157886 A JP 2009157886A JP 2007338860 A JP2007338860 A JP 2007338860A JP 2007338860 A JP2007338860 A JP 2007338860A JP 2009157886 A JP2009157886 A JP 2009157886A
Authority
JP
Japan
Prior art keywords
request
store
load
queue
store queue
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.)
Granted
Application number
JP2007338860A
Other languages
English (en)
Other versions
JP4569628B2 (ja
Inventor
Koji Kobayashi
浩二 小林
Takashi Hagiwara
孝 萩原
Takeshi Kano
健 加納
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007338860A priority Critical patent/JP4569628B2/ja
Priority to US12/285,746 priority patent/US20090172309A1/en
Publication of JP2009157886A publication Critical patent/JP2009157886A/ja
Application granted granted Critical
Publication of JP4569628B2 publication Critical patent/JP4569628B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュと主記憶部との間に実装されるロードストアキューについて、リードサイクル及びライトサイクル間のバス切替における空きサイクルの発生を抑制して、主記憶部に対して効率的にリクエストを発行する。
【解決手段】ロードストアキューの制御方法は、主記憶部に対して発行するリクエストを保持する制御方法であって、ロードストアキュー内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御するものである。
【選択図】図3

Description

本発明は、主記憶部に対して発行するリクエストを保持するロードストアキューの制御方法に関し、特にキャッシュと主記憶部との間に設けられたロードストアキューの制御方法に関する。
近年、プロセッサからキャッシュへとロード・ストアリクエストを発行する際、或いはキャッシュから主記憶部へとロード・ストアリクエストを発行する際に、アクセスレイテンシ、データ転送性能差を隠蔽するためのロードストアキューが実装されてきた。ロードストアキューは、プロセッサとキャッシュ、或いは、キャッシュと主記憶部の中間位置に設けられ、その制御方法についてこれまでにも多くの工夫がなされてきた。
ロードストアキューに関するアクセスレイテンシ、データ転送性能を向上させる技術としては、例えば以下のような技術が良く知られている。
(1)ストアキュー内に発行待ちとなっているリクエストと同一アドレスの後続ロードリクエストが存在する場合には、キャッシュ若しくは主記憶部へとロードアクセスリクエストを発行する代わりに、発行待ちとなっているストアキューのデータをロードアクセス結果としてリプライすることにより、短アクセスタイム化を計っている。
(2)また、処理時間のかかるロードリクエストを、先行するストアリクエストより先に発行するなどの工夫がなされている。
(3)さらに、先行ストアリクエストと同一アドレスの後続リクエストが存在する場合には、ストアデータの置き換え、或いはマージを行い、ストアリクエストの圧縮を行っている。そして、これらの機能の高速化手法も提案されている。
また、プロセッサとキャッシュとの間に実装されるロードストアキューに関する技術として、特許文献1では、ストアリクエストが発生したにも関わらずそのストアデータが揃わない場合に、先行ストアリクエストと後続ロードリクエストが同一アドレスでない場合、ロードストアバッファにおいて順番を入れ替え、ロードリクエストを先に発行する主記憶アクセス制御方式を提供している。即ち、特許文献1に開示される主記憶アクセス制御方式は、ストアリクエストが別要因で遅れてしまい、アドレスが一致しないロードリクエストを優先して主記憶部へと発行するものである。特許文献2では、同一アドレスのストアリクエストをマージするキャッシュメモリアクセスシステムが提案されている。特許文献3及び4では、同一アドレスを有するストアリクエスト後のロードリクエストについて、その高速化手法が提案されている。
特開平06−131239号公報 特開平01−050139号公報 特開2000−259412号公報 特開2002−287959号公報
しかしながら、上述したいずれの技術もプロセッサとキャッシュとの間に実装されるロードストアキューに関するものであり、主記憶部であるDRAM、シンクロナスDRAM及びそれらを用いたDIMMやSIMMの特性を利用することで、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現する内容ではない。
プロセッサとキャッシュとの間に実装されるロードストアキューに関しては、プロセッサから発行されるリクエストは主記憶部に対して直接アクセスを伴うものではないため、主記憶部におけるリードサイクルとライトサイクル間のバス切替サイクルについて問題とはならない。一方、キャッシュと主記憶部との間に実装されるロードストアキューに関しては、主記憶部であるDRAM、シンクロナスDRAMが双方向バスである場合には、リードサイクルとライトサイクルの間にはバス切替サイクルを必要とする。このため、ロードリクエストからストアリクエスト、或いはストアリクエストからロードリクエストへの切替に際しては、バス競合回避のために、1サイクル以上の空きサイクルを設けなければならない。例えば、リクエストが、ロードリクエスト、ストアリクエスト、ロードリクエスト、ストアリクエストという順番で交互に発行される場合には、空きサイクルが毎サイクル発生してしまうなど、空きサイクルの発生により、アクセスレイテンシ、データ転送が低下するという課題がある。
本発明の目的は、上記知見に基づいてなされたものであって、キャッシュと主記憶部との間に実装されるロードストアキューについて、リードサイクル及びライトサイクル間のバス切替における空きサイクルの発生を抑制して、主記憶部に対して効率的にリクエストを発行することで、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現するロードストアキューの制御方法及び制御システムを提供することにある。
本発明に係るロードストアキューの制御方法の一態様は、主記憶部に対して発行するリクエストを保持するロードストアキューの制御方法であって、前記ロードストアキュー内における前記リクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。
また、本発明に係るロードストアキューの制御システムの一態様は、主記憶部に対して発行するリクエストを保持するロードストアキューと、当該ロードストアキューを制御する制御部と、を備えたロードストアキューの制御システムであって、前記制御部は、前記ロードストアキュー内における前記リクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。
本発明によれば、キャッシュと主記憶部との間に実装されるロードストアキューについて、主記憶部に対して効率的にリクエストを発行することで、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現するロードストアキューの制御方法及び制御システムを提供することができる。
以下、本発明を実施するための最良の形態について、図面を参照しながら詳細に説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡潔化がなされている。各図面において同一の構成又は機能を有する構成要素及び相当部分には、同一の符号を付し、その説明を省略する。
図1は、本発明の各実施形態のロードストアキュー制御方法の共通した全体概念図である。ロードストアキュー10は、キャッシュ20と主記憶部30の間に実装されている。ロードストアキュー10は主記憶部30に対して発行するリクエストを保持する。尚、ロードストアキュー10は主記憶部30に対してリクエストを直接発行するロードストアキューであればよく、ロードストアキュー10に対してリクエストを発行する装置はキャッシュ20に限定されない。ロードストアキューは、図示しないプロセッサからリクエストを直接発行されるロードストアキューであってもよい。
キャッシュ20はロードストアキュー10に対してリクエスト50を新たに発行する。リクエスト50は、ロードリクエスト又はストアリクエストのいずれのリクエストであるかを示すリクエスト種類情報(LD/ST41)と、リクエストで使用するデータを指定するアドレス42と、主記憶部30に格納するストアデータ48と、を含む。
ロードストアキュー10は、主記憶部30に対するリクエストを実際に発行するリクエストキュー11と、ストアデータ48を保持するストアデータキュー12と、ロードリクエストに対するリプライ情報(LDリクエストリプライ情報49)を保持するリプライキュー13と、を含む。尚、図示は省略するが、ロードストアキュー10は、ロードデータを保持するロードキューを更に備えていてもよい。
ロードストアキューの制御方法は、ランダムに発生するロードリクエスト及びストアリクエストを、ロードストアキュー10内でそのリクエスト順序を並び替え、連続したロードリクエストと連続したストアリクエストとなるように制御する。このため、キャッシュ20からロードストアキュー10へと新たに発行されたリクエスト50に対して制御情報43を付与し、ロードストアキュー10内におけるリクエストの順序を並び替える。
ロードストアキュー10内のキューについて、主記憶部30により近いキューを上位キューとし、ロードストアキュー10に新たに発行されたリクエストは、ロードストアキュー10内において上位キューへと移動する。
ロードストアキューの制御方法は、ロードストアキュー10内でその順序を並び替えたリクエストを、主記憶部30に対して発行する。リクエストがストアリクエストである場合には、ストアデータ48を主記憶部30に転送し、指定されたアドレス42に格納する。リクエストがロードリクエストである場合には、主記憶部30からロードストアキュー10に対して、ロードデータとロードリクエストに関するLDリクエストリプライ情報49が転送される。リクエストキュー11は、同一アドレスのロードがあった場合、1つのリクエストに圧縮して主記憶部30にリクエストされるが、LDリクエストリプライ情報49は、圧縮前のロードリクエスト情報を記憶している。主記憶部30からのロードデータは、LDリクエストリプライ情報と照合され、キャッシュ20からのロードリクエスト毎にリプライを返す。
尚、ロードストアキュー10のリクエストキュー11及びリプライキュー13は、例えばフリップフロップ(FF)で構成することができ、ストアデータキュー12はランダムアクセスメモリ(RAM)で構成することができる。主記憶部30は、DRAMやシンクロナスDRAM(SDRAM)で構成され、これらDRAMを用いたDIMMやSIMMにより構成してもよい。
図2はロードストアキュー内におけるリクエストキューの制御内容を説明するための図である。リクエストキュー11内に保持されたリクエストの制御情報43は、リクエストの有効性を示す有効情報(V44)と、ストアwaitカウント(STwait46)と、ストアwait valid(STwaitV45)と、近接アドレスフラグコード47と、を含む。
STwait46及びSTwaitV45は、所定の条件を満足するまでの間、ロードストアキュー10内のストアリクエストをロードストアキュー10内に保持するように制御するための制御情報である。例えば所定の条件としては、ストアリクエストに後続するリクエストの個数に応じて制御することができる。
より具体的には、ストアリクエストに後続して発行されるリクエストの個数をSTwait46を用いてカウントし、当該カウント値が規定回数となった場合には、STwaitV45を規定の値に設定する。STwaitV45が規定の値となった場合には、そのストアリクエストを主記憶部30に対して発行するように制御することができる。一方、STwaitV45が規定の値となるまでの間は、そのストアリクエストを主記憶部30に対して発行せずに、ロードストアキュー10内に保持するように制御することができる。
このように、ロードストアキュー10に対して新たに発行されるリクエストの個数が所定の個数となるまでの間、ロードストアキュー10内にストアリクエストを保持することで、先行するストアリクエストと、同じアドレスの後続ストアリクエストがあった場合、ロードストアキュー10内により多くのストアリクエストを滞留させることができるため、効率よくストアデータをマージすると共に、ストアリクエスト毎に保持する時間を変えることにより、ストアリクエストとロードリクエストを分離して主記憶部30に発行することができる。
近接アドレスフラグコード47は、主記憶部30において予め定めたアドレスの処理単位に基づいて、ロードストアキュー10内のリクエストを分類するための制御情報である。主記憶部30におけるアドレスは予め複数の処理単位に分割され、近接アドレスフラグコード47は、それら処理単位のいずれかを示す識別情報である。ロードストアキュー10内のリクエストに近接アドレスフラグコード47を付与することで、リクエストをアドレスに応じて分類して管理することができる。例えば、同一のローアドレスを有するリクエストに対して同一の近接アドレスフラグコード47を付与し、同一のランクアドレスを有するリクエストに同一の近接アドレスフラグコード47を付与することができる。
より具体的には、ロードストアキューの制御方法は、ロードストアキュー10内のリクエストと新たに発行されるリクエストをそのアドレスについて互いに比較し、リクエストを近接アドレスフラグコード47に応じて分類する。そして、ロードストアキュー10内のリクエストを主記憶部30へと発行する際には、リクエストのうち同一の近接アドレスフラグコード47を有するリクエストをまとめて連続して主記憶部30へと発行する。例えばメモリリクエスト選択ユニット(MRSU15)によって、ロードリクエストを主記憶部30へと発行する場合には、同一の近接フラグコード47を有するロードストアキュー10内のロードリクエストを選択した上で、それらロードリクエストを全て連続して発行するようにマルチプレクサを制御することができる。
また、ストアリクエストを主記憶部30へと発行する場合には、STwaitV45が規定の値となったストアリクエストを主記憶部30へとまず発行した後、同一の近接アドレスフラグコード47を有するストアリクエストを連続して発行するように制御することができる。尚、ストアリクエストによっては、STwaitV45が規定の値となる前に発行するように制御してもよいし、STwaitV45が規定の値となったストアリクエストから常に選択して発行するように制御することもできる。
さらにまた、ロードストアキューの制御方法は、同一アドレスリクエスト制御部14によって、同一のアドレスを有するリクエストについて下記(i)乃至(iii)で説明する制御を実行することができる。
(i)ロードストアキュー10内において、先行ロードリクエストと後続ロードリクエストのアドレスが同一であった場合には、主記憶部30に対するロードリクエストを1つにする。より具体的には、新規に発行されたロードリクエストのアドレスとロードストアキュー10内の全てのロードリクエストのアドレスとを比較し、同一のアドレスを有するロードリクエストが存在する場合には、リクエストキュー11には1つのロードリクエストのみをキューイングし、リプライキュー13には同一のアドレスを有する全てのロードリクエストの個数分のLDリクエストリプライ情報49がキューイングされる。尚、本制御機能は一般的にキャッシュ20内に実装されることもあるが、ロードストアキュー10のリクエスト元がキャッシュ20ではない場合には、ロードストアキュー10に実装してもよい。
(ii)先行ストアリクエストと後続ストアリクエストのアドレスが同一であった場合には、それらストアリクエストのストアデータをマージする。より具体的には、ロードストアキュー10内の全てのストアリクエストについて、先行するストアリクエストと後続ストアリクエストのアドレスを比較し、同一のアドレスを有するストアリクエストが存在する場合には、後続ストアリクエストのストアデータ48を先行ストアリクエストのストアデータ48にマージする。この場合、リクエストキュー11には、1つのストアリクエストのみがキューイングされ、ストアデータキュー12には、マージされた1つのストアデータ48が保持される。
(iii)先行ストアリクエストと後続ロードリクエストのアドレスが同一であった場合には、ストアデータキュー12に保持されたストアデータ48の内容を後続ロードリクエストのデータとしてリプライする。より具体的には、新規に発行されたロードリクエストのアドレスとロードストアキュー10内の全てのストアリクエストのアドレスとを比較し、同一のアドレスを有するストアリクエストが存在する場合には、ロード結果として、ストアデータキュー12に保持されたストアデータ48の内容をキャッシュにリプライする。
実施の形態1.
実施の形態1では、ロードストアキューの制御方法は、ロードストアキュー10内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。図3は、本実施形態のロードストアキューの制御方法が、ロードストアキュー内のリクエストを制御する手順の一例を示すフローチャートである。図3に示すようにステップS103乃至S107において、新規発行されたロードリクエストの順序を制御する。また、ステップS108乃至S117において、新規発行されたストアリクエストをロードストアキュー10内に待機させると共に、その順序を制御する。以下、図3を参照しながらロードストアキューの制御方法について詳細に説明する。尚、ロードリクエストと同一アドレスの先行ストアリクエストがリクエストキュー上にあった場合で、ロードデータの一部のデータがストアデータとして存在しないような場合に、当該ストアリクエストのストアデータをロードリクエストのデータとしてキャッシュにリプライできないとき、ストアリクエストは規定回数待つことなしに、ロードリクエストに先立ってストアリクエストを主記憶部に発行しなければならないが、当該制御は、本発明の本質ではないため、記述していない。また、実施の形態1では、リクエストキューで、ストアリクエストの直上位キューにあるのがストアリクエストであった場合で、当該直上位キューが主記憶部に発行された場合には、ストアリクエストの発行待ちをせずに主記憶部へ発行する制御の場合を示している。
まず、ロードストアキューの制御方法は、新規発行されたリクエストの有効情報V44と、STwaitV45と、STwait46の値を初期化する(V=1,STwaitV=0,STwait=0)(ステップS101)。次いで、リクエスト種類情報(LD/ST41)より、リクエストがロードリクエストであるか否かを判定する(ステップS102)。
ステップS102における判定の結果、リクエストがロードリクエストでない場合(即ちストアリクエストである場合)には、ステップS108へと進む。一方、リクエストがロードリクエストである場合には、ロードストアキュー10内の上位キューに有効なリクエスト(ここでは、V=1のリクエスト)が存在するか否かを判定する(ステップS103)。即ち、ロードストアキュー10内に先行する有効なリクエストが存在するか否かを確認する。
ステップS103における判定の結果、上位キューに有効なリクエストが存在しない場合には、ステップS118へと進む。一方、上位キューに有効なリクエストが存在する場合には、リクエストが最上位キューに位置するものであるか否かを更に判定する(ステップS104)。即ち、リクエストが主記憶部30に対して次に発行対象となるリクエストであるか否かを確認する。
ステップS104における判定の結果、リクエストが最上位キューに位置するものである場合にはステップS118へと進む。一方、リクエストが最上位キューに位置するものではない場合には、上位キューのリクエストが全てストアリクエストであるか否かを更に判定する(ステップS105)。即ち、ロードリクエストに対して先行するリクエストが、全てストアリクエストであるか否かを確認する。
ステップS105における判定の結果、上位キューのリクエストが全てストアリクエストである場合にはステップS118へと進む。一方、上位キューのリクエストが全てストアリクエストでない場合には、直上キューのリクエストが有効なリクエスト(ここでは、V=1のリクエスト)であるか否かを更に判定する(ステップS106)。即ち、ロードストアキュー10内において、直前に先行する有効なリクエストが存在するか否かを確認する。
ステップS106における判定の結果、直上キューのリクエストが有効なリクエストである場合には再びステップS106へと戻る。即ち、ロードストアキュー10内において、直前に先行する有効リクエストが存在する場合には、その先行するリクエストが無効となるまでの間、待機する。一方、直上キューのリクエストが有効なリクエストでない場合には、リクエストを上位キューへと移動して、ステップS103へと戻る(ステップS107)。
他方、ステップS102における判定の結果、リクエストがロードリクエストでない(即ちストアリクエストである)場合には、直上位のリクエストがストアリクエストであるか否かを更に判定する(ステップS108)。即ち、直前に先行するリクエストがストアリクエストであるか否かを確認する。
ステップS108における判定の結果、直上位のリクエストがストアリクエストでない場合にはステップS110へと進む。一方、直上位のリクエストがストアリクエストである場合には、直上位のリクエストが主記憶部30に対して発行されたか否かを更に判定する(ステップS109)。即ち、直前に先行するストアリクエストが発行済みであるか否かを確認する。
ステップS109における判定の結果、直上位のリクエストが主記憶部30に対して発行された場合にはステップS118へと進む。一方、直上位のリクエストが主記憶部30に対して発行されていない場合には、ロードストアキュー10に対して新たなリクエストが発行されたか否かを更に判定する(ステップS110)。即ち、ストアリクエストに対して後続するリクエストが発行されたか否かを確認する。
ステップS110における判定の結果、新たなリクエストが発行されていない場合には、ステップS110へと戻る。即ち、ロードストアキュー10に対して後続するリクエストが発行されるまでの間待機する。一方、新たなリクエストが発行された場合には、STwait46の値をインクリメントする(STwait=+1)(ステップS111)。即ち、後続するリクエストの個数をカウントする。
次いで、STwait46の値に基づいて、ストアリクエストがロードストアキュー10内において規定回数待ったか否かを判定する(ステップS112)。即ち、ストアリクエストが発行可能状態であるか否かを確認する。
ステップS112における判定の結果、規定回数待っていない場合には、ステップS110へと戻る。即ち、後続するリクエストの個数をカウントし、そのカウント値が規定の値となるまでの間、ロードストアキュー10内にストアリクエストを保持する。一方、規定回数待った場合には、STwaitV45の値を有効値へと変更する(STwaitV=1)(ステップS113)。即ち、ストアリクエストを発行可能状態とする。
次いで、ロードストアキュー10内の上位キューに有効なリクエスト(ここでは、V=1のリクエスト)が存在するか否かを判定する(ステップS114)。判定の結果、上位キューに有効なリクエストが存在しない場合にはステップS118へと進む。一方、上位キューに有効なリクエストが存在する場合には、リクエストが最上位キューに位置するものであるか否かを更に判定する(ステップS115)。
ステップS115における判定の結果、リクエストが最上位キューに位置するものである場合にはステップS118へと進む。一方、リクエストが最上位キューに位置するものでない場合には、直上キューのリクエストが有効なリクエスト(ここでは、V=1のリクエスト)であるか否かを更に判定する(ステップS116)。
ステップS116における判定の結果、直上キューのリクエストが有効なリクエストである場合には再びステップS116へと戻る。即ち、ロードストアキュー10内において、直前に先行する有効リクエストが存在する場合には、その先行するリクエストが無効となるまでの間、待機する。一方、直上キューのリクエストが有効なリクエストでない場合には、リクエストを上位キューへと移動して、ステップS108へと戻る(ステップS117)。
他方、ステップS103、S104、S105、S109、S114、S115の判定の結果、リクエストが主記憶部30へ発行対象となった場合には、リクエストの有効情報V44の値をクリアし(V=0)(ステップS118)、主記憶部30に対してロードストアキュー10からリクエストを発行し(ステップS119)、リクエストキューからエントリを解除する。
このように、後続リクエスト個数が所定の個数となるまでの間、ロードストアキュー10内のストアリクエストを主記憶部30に対して発行せずに保持すると共に、そのストアリクエストの後続ロードリクエストの順序を先に並び替えることで、ロードストアキュー10内のストアリクエストを連続して保持することができる。このため、ロードストアキュー10から主記憶部30に対してリクエストを発行する際には、ストアリクエストを連続して発行することができると共に、ストアリクエスト間のロードリクエストについても連続して発行することができる。従って、リードサイクル及びライトサイクル間のバス切替における空きサイクルの発生を抑制して、主記憶部30に対して効率的にリクエストを発行することができ、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現することができる。
実施の形態2.
次に、本発明の実施の形態2について図面を参照して詳細に説明する。実施の形態2では、ロードストアキューの制御方法は、ロードストアキュー10内のリクエストのアドレスが主記憶部30において同一の処理単位に含まれるか否かを判定し、主記憶部30へとリクエストを発行する際には、同一の処理単位に含まれるアドレスを有するリクエストをまとめて連続して発行するよう制御する。図4は、本実施形態のロードストアキューの制御方法が、ロードストアキュー内のリクエストを制御する手順の一例を示すフローチャートである。以下、図4を参照しながらロードストアキューの制御方法について詳細に説明する。
まず、ロードストアキューの制御方法は、新規発行されたリクエストの有効情報V44の値を初期化する(V=1)(ステップS201)。次いで、ロードストアキュー10内の上位キューに存在する全てのリクエストのアドレスと、新規発行されたリクエストのアドレスとを比較して検索を行う(ステップS202)。
ステップS202における検索の結果、ロードストアキュー10内の上位キューに、新規発行リクエストのアドレスと同一のローアドレス或いは同一のランクアドレスを有するリクエストが存在するか否かを判定する(ステップS203)。即ち、新規発行リクエストに先行するリクエストであって、新規リクエストと同一のローアドレス或いは同一のランクアドレスを有しており、主記憶部30に発行する際に、新規発行リクエストと同時に発行可能なリクエストがロードストアキュー10内に既に存在しているか否かを確認する。
ステップS203における判定の結果、新規発行リクエストのアドレスと同一のローアドレス或いは同一のランクアドレスを有するリクエストが既に存在している場合には、ロードストアキュー10内のそのリクエストに付与された近接アドレスフラグコード47を新規発行リクエストに付与する(ステップS210)。一方、新規発行リクエストのアドレスと同一のローアドレス或いは同一のランクアドレスを有するリクエストが存在しない場合には、新たな近接アドレスフラグコード47を生成して、その新規発行リクエストに付与する(ステップS204)。
次いで、ロードストアキュー10内の上位キューに有効なリクエスト(ここでは、V=1のリクエスト)が存在するか否かを判定する(ステップS205)。判定の結果、上位キューに有効なリクエストが存在しない場合には、ステップS211へと進む。一方、上位キューに有効なリクエストが存在する場合には、リクエストが最上位キューに位置するものであるか否かを更に判定する(ステップS206)。
ステップS206における判定の結果、リクエストが最上位キューに位置するものである場合にはステップS211へと進む。一方、リクエストが最上位キューに位置するものではない場合には、同一の近接アドレスフラグコード47を有するリクエストが、主記憶部30に対して発行されたか否かを更に判定する(ステップS207)。即ち、同一の近接アドレスフラグコード47を有するリクエストをまとめて連続して発行するか否かを確認する。
ステップS207における判定の結果、同一の近接アドレスフラグコード47を有するリクエストが、主記憶部30に対して発行された場合にはステップS211へと進む。一方、同一の近接アドレスフラグコード47を有するリクエストが、主記憶部30に対して発行されていない場合には、直上キューのリクエストが有効なリクエスト(ここでは、V=1のリクエスト)であるか否かを更に判定する(ステップS208)。
ステップS208における判定の結果、直上キューのリクエストが有効なリクエストである場合には再びステップS208へと戻る。一方、直上キューのリクエストが有効なリクエストでない場合には、リクエストを上位キューへと移動して、ステップS205へと戻る(ステップS209)。
他方、ステップS205、S206、S207の判定の結果、リクエストが主記憶部30への発行対象となった場合には、リクエストの有効情報V44の値をクリアし(V=0)(ステップS211)、ロードストアキュー10から主記憶部30に対してリクエストを発行する(ステップS212)。
このように、ロードストアキュー10内のリクエストについて、そのアドレスが同一のローアドレス或いは同一のランクアドレスである場合には、同一の近接アドレスフラグコード47を有するリクエストを併せて主記憶部30へと発行することで、同一のローアドレス或いは同一のランクアドレスにより主記憶部30に対して連続してアクセスすることができる。このため、ロードストアキュー10から主記憶部30に対してリクエストを発行する際には、同一のローアドレスの転送について、RASを1回のみアクティベートすれば良く、RASのアクティベート実行回数を削減することができる。また、DIMM等が主記憶部30に使用されており、同一ランクアドレスアクセスが連続する場合の方が、異ランクアドレスアクセスが連続する場合より、高速にアクセスできる場合は、同一ランクアドレスアクセスを連続させることができ、主記憶部30の処理を高速化できる。
実施の形態3.
上述した実施の形態1では、ロードストアキューの制御方法は、所定の条件が満足されるまでの間、ロードストアキュー10内にストアリクエストを保持することで、連続したストアリクエストと連続したロードリクエストとなるように制御する。また、実施の形態2では、ロードストアキューの制御方法は、ロードストアキュー10内のリクエストのアドレスが主記憶部30において同一の処理単位に含まれるか否かを判定し、主記憶部30へとリクエストを発行する際には、同一の処理単位に含まれるアドレスを有するリクエストをまとめて連続して発行するように制御する。実施の形態3では、ロードストアキューの制御方法は、ロードストアキュー内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御すると共に、リクエストを主記憶部30へと発行する際には、ロードストアキュー10内のリクエストのアドレスが主記憶部30において同一の処理単位に含まれるアドレスである場合には、同一の処理単位に含まれるアドレスを有するリクエストを併せて発行するように制御する。
より具体的には、まず、図3に示したフローチャートにおいて説明したように、後続リクエスト個数が所定の個数となるまでの間、ロードストアキュー10内のストアリクエストを主記憶部30に対して発行せずに保持すると共に、そのストアリクエストの後続ロードリクエストの順序を先に並び替える。そして、図4に示したフローチャートにおいて説明したように、ロードストアキュー10内のリクエストについて、そのアドレスが同一のローアドレス或いは同一のランクアドレスである場合には、同一の近接アドレスフラグコード47を有するリクエストを併せて主記憶部30へと発行する。ロードストアキューの制御方法は、例えばSTwait46及びSTwaitV45を用いることで、所定の条件を満足するまでの間、ストアリクエストをロードストアキュー10内に保持することができ、例えば近接アドレスフラグコード47を用いることで、主記憶部30において同一のアドレスの処理単位に基づいて、ロードストアキュー10内のリクエストを分類して管理することができる。
このようにすると、ロードストアキュー10から主記憶部30に対してリクエストを発行する際には、連続したロードリクエストと連続したストアリクエストをより効率的に発行することができるため、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現することができる。
尚、ストアリクエストを主記憶部30へと発行する場合には、STwaitV45が規定の値となったストアリクエストを主記憶部30へと先に発行した後、同一の近接アドレスフラグコード47を有するストアリクエストを連続して発行するよう制御し、STwaitV45が規定の値となる前に発行するように制御してもよい。
また、ロードストアキューの制御方法は、まず、図4に示したフローチャートにおいて説明したように、ロードストアキュー10内のリクエストについて、そのアドレスが同一のローアドレス或いは同一のランクアドレスである場合には、同一の近接アドレスフラグコード47を有するリクエストが連続するようにリクエストの順序を並び替える。そして、図3に示したフローチャートにおいて説明したように、後続ストアリクエスト個数が所定の個数となった場合に、同一の近接アドレスフラグコード47を有するリクエストの中で、ロードリクエストとストアリクエストを分離して、主記憶部30へと発行するようにしてもよい。
実施の形態4.
実施の形態4では、ロードストアキューの制御方法は、まず、図3に示したフローチャートにおいて説明したように、後続リクエスト個数が所定の個数となるまでの間、ロードストアキュー10内のストアリクエストを主記憶部30に対して発行せずに保持すると共に、そのストアリクエストの後続ロードリクエストの順序を先に並び替える。そして更に、ロードストアキュー10内の全てのストアリクエストについて、先行するストアリクエストと後続ストアリクエストのアドレスを比較し、同一のアドレスを有するストアリクエストが存在する場合には、後続するストアリクエストのストアデータ48を先行するストアリクエストのストアデータ48にマージして1つのストアリクエストとするように制御する。
このように、ロードストアキュー10内のストアリクエストを所定の条件が満足されるまで発行しない構成とすることで、より多くのストアリクエストをロードストアキュー10内に滞留させることができる。従って、ロードストアキュー10に対して発行されるストアリクエストのマージ確率をより向上させることができ、主記憶部30に対して更に効率的にストアリクエストを発行することができる。
実施の形態5.
実施の形態5では、ロードストアキューの制御方法は、まず、図3に示したフローチャートにおいて説明したように、後続リクエスト個数が所定の個数となるまでの間、ロードストアキュー10内のストアリクエストを主記憶部30に対して発行せずに保持すると共に、そのストアリクエストの後続ロードリクエストの順序を先に並び替える。そして更に、新規発行ロードリクエストのアドレスとロードストアキュー10内の全てのストアリクエストのアドレスとを比較し、同一のアドレスを有するストアリクエストが存在する場合には、ロードリクエストを主記憶部30に対して発行せずに、ロード結果として、ストアデータキュー12に保持されたストアデータ48の内容をリプライする。
このように、ストアリクエストの発行を遅延させることで、連続したロードリクエストと連続したストアリクエストを主記憶部30にリクエストすることができる。また、ロードストアキュー10内により多くのストアリクエストを滞留させることで、先行ストアリクエストと同一アドレスを有する後続ロードリクエストがロードストアキュー10内に存在する確率を向上させることができ、主記憶部30に対して更に効率的にリクエストを発行することができる。
実施の形態6.
実施の形態6では、ロードストアキューの制御方法は、まず、図3に示したフローチャートにおいて説明したように、後続リクエスト個数が所定の個数となるまでの間、ロードストアキュー10内のストアリクエストを主記憶部30に対して発行せずに保持すると共に、そのストアリクエストの後続ロードリクエストの順序を先に並び替える。そして更に、新規発行されたロードリクエストのアドレスとロードストアキュー10内の全てのロードリクエストのアドレスとを比較し、同一のアドレスを有するロードリクエストが存在する場合には、リクエストキュー11には1つのロードリクエストのみをキューイングするように制御する。
このように、ストアリクエストの発行を遅延させることで、連続したロードリクエストと連続したストアリクエストを主記憶部30にリクエストすることができる。更に、同一のアドレスを有するロードリクエストを1つにすることで、主記憶部30に対してより効率的にリクエストを発行することができる。
実施の形態7.
実施の形態7では、ロードストアキューの制御システムは、ロードストアキュー10内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。図5は、実施の形態7のロードストアキュー制御システムの機能ブロック図である。ロードストアキューの制御システム100は、主記憶部30に対して発行するリクエストを保持するロードストアキュー10と、ロードストアキュー10を制御する制御部110と、を備える。
制御部110は、ロードストアキュー10内における前記リクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。制御部110は、ストアリクエスト制御部120と、ロードリクエスト制御部130と、リクエスト判定部140と、アドレス判定部150と、を備える。ストアリクエスト制御部120は、更にリクエスト計測部121を備える。
ストアリクエスト制御部120は、ロードストアキュー10内のリクエストのうちストアリクエストを所定の条件を満足するまでの間、ロードストアキュー10内に保持する。ストアリクエスト制御部120は、例えば、ロードストアキュー10に対して新たに発行されるリクエストの個数が所定の個数となるまでの間ロードストアキュー10内にストアリクエストを保持する。より具体的には、ストアリクエスト制御部120は、リクエスト計測部121によりストアリクエストに後続して発行されるリクエストの個数をカウントし、カウントされたカウント値が所定の値となるまでの間、ロードストアキュー10内にストアリクエストを保持する。尚、ストアリクエスト制御部120は、ロードストアキュー10内のストアリクエストをロードストアキュー10内に所定の時間保持するように制御してもよい。
ロードストアリクエスト制御部130は、ロードキュー10内に保持されたストアリクエストに後続するロードリクエストの順序を、その保持されたストアリクエストよりも先に並び替える。
また、制御部130は、リクエスト判定部140により、ロードストアキューから主記憶部30に対して発行対象となるリクエストがストアリクエスト又はロードリクエストのいずれかであるかを判定し、リクエストがストアリクエストである場合には、ロードストアキュー10内にそのストアリクエストを保持する。
さらにまた、制御部110は、アドレス判定部160により、ロードストアキュー10内の第1のリクエストのアドレスと第2のリクエストのアドレスが主記憶部30において同一の処理単位に含まれるアドレスであるか否かを判定し、第1のリクエストのアドレスと第2のリクエストのアドレスがロードストアキュー10内の処理単位に含まれるアドレスである場合には、第1のリクエストを主記憶部30に発行する際に、その第2のリクエストを併せて主記憶部30へと発行する
その他の実施の形態.
上述した実施の形態1乃至6においては、所定の条件が満足されるまでの間、ロードストアキュー10内にストアリクエストを保持するように制御する構成としたが、本発明はこれに限定されない。例えば、ロードストアキュー10内において、リクエストが主記憶部30に対して発行対象となった場合に、そのリクエストがストアリクエスト又はロードリクエストのいずれかであるかを判定し、当該判定の結果、リクエストがストアリクエストである場合には、ロードストアキュー10内に当該ストアリクエストを保持するように制御してもよい。また、上述した実施の形態においては、後続リクエストの個数に応じてストアリクエストを保持するように制御する構成としたが、ロードストアキュー10内に所定の時間ストアリクエストを保持するように制御してもよい。
以上説明してきたように、本発明のロードストアキューの制御方法の一態様は、主記憶部30に対して発行するリクエストを保持するロードストアキュー10の制御方法であって、ロードストアキュー10内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。
このように、ロードストアキュー10内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御することで、ロードストアキュー10内により多くのストアリクエストをまとめて滞留させることができる。このため、ロードストアキュー10から主記憶部30に対してリクエストを発行する際には、連続したストアリクエストと連続したロードリクエストを発行することができる。従って、リードサイクル及びライトサイクル間のバス切替における空きサイクルの発生を抑制して、主記憶部30に対して効率的にリクエストを発行することができ、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現することができる。
また、本発明のロードストアキューの制御システムの一態様は、主記憶部30に対して発行するリクエストを保持するロードストアキュー10と、ロードストアキュー10を制御する制御部110と、を備えたロードストアキューの制御システム100であって、制御部110は、ロードストアキュー10内におけるリクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する。
これにより、ロードストアキュー10から主記憶部30に対してリクエストを発行する際には、ストアリクエストを連続して発行することができると共に、ロードリクエストについても連続して発行することができる。従って、リードサイクル及びライトサイクル間のバス切替における空きサイクルの発生を抑制して、主記憶部30に対して効率的にリクエストを発行することができ、アクセスレイテンシ、データ転送に関して性能改善及び低消費電力化を実現することができる。
尚、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
本発明の実施の形態1のロードストアキュー制御方法を示す全体概念図である 本発明の実施の形態1のリクエストキューの制御内容を説明するための図である。 本発明の実施の形態1のロードストアキュー制御方法による制御手順の一例を示すフローチャートである。 本発明の実施の形態2のロードストアキュー制御方法による制御手順の一例を示すフローチャートである。 本発明の実施の形態7のロードストアキュー制御システムの機能ブロック図である。
符号の説明
10 ロードストアキュー、
11 リクエストキュー、 12 ストアデータキュー、 13 リプライキュー、
14 同一アドレスリクエスト制御部、 15 MRSU、
20 キャッシュ、
30 主記憶部、
41 リクエスト種類情報(LD/ST)、 42 アドレス、 43 制御情報、
44 有効情報、 45 STwaitV、 46 STwait、
47 近接アドレスフラグコード、 48 ストアデータ、
49 LDリクエストリプライ情報、
100 ロードストアキューの制御システム、
110 制御部、 120 ストアリクエスト制御部、 121 リクエスト計測部、
130 ロードリクエスト制御部、 140 リクエスト判定部、
150 アドレス判定部

Claims (28)

  1. 主記憶部に対して発行するリクエストを保持するロードストアキューの制御方法であって、
    前記ロードストアキュー内における前記リクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する
    ロードストアキューの制御方法。
  2. 前記ロードストアキュー内の前記リクエストのうちストアリクエストを所定の条件を満足するまでの間前記ロードストアキュー内に保持し、当該保持されたストアリクエストに後続するロードリクエストの順序を、当該保持されたストアリクエストよりも先に並び替える
    ことを特徴とする請求項1記載のロードストアキューの制御方法。
  3. 前記ロードストアキューに対して新たに発行されるリクエストの個数が所定の個数となるまでの間、前記ロードストアキュー内に前記ストアリクエストを保持する
    ことを特徴とする請求項1又は2記載のロードストアキューの制御方法。
  4. 前記ストアリクエストに後続して発行される前記リクエストの個数をカウントし、当該カウント値が所定の値となるまでの間、前記ロードストアキュー内に前記ストアリクエストを保持する
    ことを特徴とする請求項3記載のロードストアキューの制御方法。
  5. 前記ロードストアキューから前記主記憶部に対して発行対象となるリクエストがストアリクエスト又はロードリクエストのいずれかであるかを判定し、当該判定の結果、前記リクエストがストアリクエストである場合には、前記ロードストアキュー内に当該ストアリクエストを保持する
    ことを特徴とする請求項1又は2記載のロードストアキューの制御方法。
  6. 前記ロードストアキュー内の前記ストアリクエストを前記ロードストアキュー内に所定の時間保持する
    ことを特徴とする請求項1又は2記載のロードストアキューの制御方法。
  7. 前記ロードストアキュー内の第1のリクエストのアドレスと第2のリクエストのアドレスが前記主記憶部において同一の処理単位に含まれるアドレスである場合には、前記第1のリクエストを前記主記憶部に発行する際に、前記第2のリクエストを併せて前記主記憶部へと発行する
    ことを特徴とする請求項1乃至6いずれか1項記載のロードストアキューの制御方法。
  8. 前記第1のリクエストと前記第2のリクエストは共にロードリクエストか、又は、共にストアリクエストである
    ことを特徴とする請求項7記載のロードストアキューの制御方法。
  9. 前記処理単位は同一ロー単位であり、当該処理単位に含まれるアドレスが同一のローアドレスに含まれるアドレスである
    ことを特徴とする請求項7又は8記載のロードストアキューの制御方法。
  10. 前記処理単位は同一ランク単位であり、当該処理単位に含まれるアドレスが同一のランクアドレスに含まれるアドレスである
    ことを特徴とする請求項7乃至9いずれか1項記載のロードストアキューの制御方法。
  11. 前記第2のストアリクエストを前記ロードストアキューに対して発行する際に、当該第2のストアリクエストのアドレスと前記第1のストアリクエストのアドレスを比較し、前記第2のストアリクエストのアドレスが前記第1のストアリクエストのアドレスと同一である場合には、前記第2のストアリクエストを前記第1のストアリクエストにマージする
    ことを特徴とする請求項1乃至10いずれか1項記載のロードストアキューの制御方法。
  12. 前記主記憶部をDRAMで構成する
    ことを特徴とする請求項1乃至11いずれか1項記載のロードストアキューの制御方法。
  13. 前記主記憶部をシンクロナスDRAMで構成する
    ことを特徴とする請求項1乃至11いずれか1項記載のロードストアキューの制御方法。
  14. 前記主記憶部をDRAM又はシンクロナスDRAMを用いたDIMM若しくはSIMMで構成する
    ことを特徴とする請求項1乃至11いずれか1項記載のロードストアキューの制御方法。
  15. 主記憶部に対して発行するリクエストを保持するロードストアキューと、当該ロードストアキューを制御する制御部と、を備えたロードストアキューの制御システムであって、
    前記制御部は、
    前記ロードストアキュー内における前記リクエストの順序を並び替え、連続したストアリクエストと連続したロードリクエストとなるように制御する
    ロードストアキューの制御システム。
  16. 前記制御部は、
    前記ロードストアキュー内の前記リクエストのうちストアリクエストを所定の条件を満足するまでの間前記ロードストアキュー内に保持するストアリクエスト制御手段と、
    当該保持されたストアリクエストに後続するロードリクエストの順序を、当該保持されたストアリクエストよりも先に並び替えるロードリクエスト制御手段と、を備える
    ことを特徴とする請求項15記載のロードストアキューの制御システム
  17. 前記ストアリクエスト制御手段は、
    前記ロードストアキューに対して新たに発行されるリクエストの個数が所定の個数となるまでの間、前記ロードストアキュー内に前記ストアリクエストを保持する
    ことを特徴とする請求項15又は16記載のロードストアキューの制御システム。
  18. 前記ストアリクエスト制御手段は、
    前記ストアリクエストに後続して発行される前記リクエストの個数をカウントするリクエスト計測手段を備え、
    前記リクエスト計測手段によりカウントされたカウント値が所定の値となるまでの間、前記ロードストアキュー内に前記ストアリクエストを保持する
    ことを特徴とする請求項17記載のロードストアキューの制御システム。
  19. 前記制御部は、
    前記ロードストアキューから前記主記憶部に対して発行対象となるリクエストがストアリクエスト又はロードリクエストのいずれかであるかを判定するリクエスト判定手段を備え、
    前記リクエスト判定手段による判定の結果、前記リクエストがストアリクエストである場合には、前記ロードストアキュー内に当該ストアリクエストを保持する
    ことを特徴とする請求項15又は16記載のロードストアキューの制御システム。
  20. 前記ストアリクエスト制御手段は、
    前記ロードストアキュー内の前記ストアリクエストを前記ロードストアキュー内に所定の時間保持する
    ことを特徴とする請求項15又は16記載のロードストアキューの制御システム。
  21. 前記制御部は、
    前記ロードストアキュー内の第1のリクエストのアドレスと第2のリクエストのアドレスが前記主記憶部において同一の処理単位に含まれるアドレスであるか否かを判定するアドレス判定手段を備え、
    前記アドレス判定手段による判定の結果、前記第1のリクエストのアドレスと前記第2のリクエストのアドレスが前記主記憶部において同一の処理単位に含まれるアドレスである場合には、前記第1のリクエストを前記主記憶部に発行する際に、前記第2のリクエストを併せて前記主記憶部へと発行する
    ことを特徴とする請求項15乃至20いずれか1項記載のロードストアキューの制御システム。
  22. 前記第1のリクエストと前記第2のリクエストは共にロードリクエストか、又は、共にストアリクエストである
    ことを特徴とする請求項21記載のロードストアキューの制御システム。
  23. 前記処理単位は同一ロー単位であり、当該処理単位に含まれるアドレスが同一のローアドレスに含まれるアドレスである
    ことを特徴とする請求項21又は22記載のロードストアキューの制御システム。
  24. 前記処理単位は同一ランク単位であり、当該処理単位に含まれるアドレスが同一のランクアドレスに含まれるアドレスである
    ことを特徴とする請求項21乃至23いずれか1項記載のロードストアキューの制御システム。
  25. 前記制御部は、
    前記第2のストアリクエストを前記ロードストアキューに対して発行する際に、当該第2のストアリクエストのアドレスと前記第1のストアリクエストのアドレスを比較し、当該第2のストアリクエストのアドレスが、前記第1のストアリクエストのアドレスと同一である場合には、当該第2のストアリクエストを前記第1のストアリクエストにマージする
    ことを特徴とする請求項15乃至24いずれか1項記載のロードストアキューの制御システム。
  26. 前記主記憶部をDRAMで構成する
    ことを特徴とする請求項15乃至25いずれか1項記載のロードストアキューの制御システム。
  27. 前記主記憶部をシンクロナスDRAMで構成する
    ことを特徴とする請求項15乃至25いずれか1項記載のロードストアキューの制御システム。
  28. 前記主記憶部をDRAM又はシンクロナスDRAMを用いたDIMM若しくはSIMMで構成する
    ことを特徴とする請求項15乃至25いずれか1項記載のロードストアキューの制御システム。
JP2007338860A 2007-12-28 2007-12-28 ロードストアキューの制御方法及びその制御システム Active JP4569628B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007338860A JP4569628B2 (ja) 2007-12-28 2007-12-28 ロードストアキューの制御方法及びその制御システム
US12/285,746 US20090172309A1 (en) 2007-12-28 2008-10-14 Apparatus and method for controlling queue

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007338860A JP4569628B2 (ja) 2007-12-28 2007-12-28 ロードストアキューの制御方法及びその制御システム

Publications (2)

Publication Number Publication Date
JP2009157886A true JP2009157886A (ja) 2009-07-16
JP4569628B2 JP4569628B2 (ja) 2010-10-27

Family

ID=40800029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007338860A Active JP4569628B2 (ja) 2007-12-28 2007-12-28 ロードストアキューの制御方法及びその制御システム

Country Status (2)

Country Link
US (1) US20090172309A1 (ja)
JP (1) JP4569628B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063385A (ja) * 2012-09-21 2014-04-10 Fujitsu Ltd 演算処理装置及び演算処理装置の制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180188976A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Increasing read pending queue capacity to increase memory bandwidth

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58208982A (ja) * 1982-05-31 1983-12-05 Nec Corp ストアバツフア
JPH10228417A (ja) * 1996-11-15 1998-08-25 Hyundai Electron America Inc データ処理システムにおけるメモリリクエスト再順序付け法
JP2000181780A (ja) * 1998-12-16 2000-06-30 Hitachi Ltd ストアバッファ装置
JP2001222463A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd メモリ装置
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
JP2003271445A (ja) * 2002-03-15 2003-09-26 Sony Corp メモリ制御装置及び方法
JP2004252985A (ja) * 2003-02-19 2004-09-09 Canon Inc メモリ要求の動的並べ替え
JP2005505854A (ja) * 2001-10-12 2005-02-24 ソニックス インコーポレイテッド 構成可能なしきい値を使用して1つの資源への要求をスケジュールする方法及び装置
US20060248261A1 (en) * 2005-04-18 2006-11-02 Jacob Bruce L System and method for performing multi-rank command scheduling in DDR SDRAM memory systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6938133B2 (en) * 2001-09-28 2005-08-30 Hewlett-Packard Development Company, L.P. Memory latency and bandwidth optimizations
US7469316B2 (en) * 2003-02-10 2008-12-23 Intel Corporation Buffered writes and memory page control
US7386658B2 (en) * 2004-03-15 2008-06-10 Intel Corporation Memory post-write page closing apparatus and method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58208982A (ja) * 1982-05-31 1983-12-05 Nec Corp ストアバツフア
JPH10228417A (ja) * 1996-11-15 1998-08-25 Hyundai Electron America Inc データ処理システムにおけるメモリリクエスト再順序付け法
JP2000181780A (ja) * 1998-12-16 2000-06-30 Hitachi Ltd ストアバッファ装置
JP2001222463A (ja) * 2000-02-10 2001-08-17 Hitachi Ltd メモリ装置
US6564304B1 (en) * 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
JP2005505854A (ja) * 2001-10-12 2005-02-24 ソニックス インコーポレイテッド 構成可能なしきい値を使用して1つの資源への要求をスケジュールする方法及び装置
JP2003271445A (ja) * 2002-03-15 2003-09-26 Sony Corp メモリ制御装置及び方法
JP2004252985A (ja) * 2003-02-19 2004-09-09 Canon Inc メモリ要求の動的並べ替え
US20060248261A1 (en) * 2005-04-18 2006-11-02 Jacob Bruce L System and method for performing multi-rank command scheduling in DDR SDRAM memory systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063385A (ja) * 2012-09-21 2014-04-10 Fujitsu Ltd 演算処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
US20090172309A1 (en) 2009-07-02
JP4569628B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
JP2009157887A (ja) ロードストアキューの制御方法及びその制御システム
CN110287044B (zh) 无锁共享内存处理方法、装置、电子设备及可读存储介质
JP3937365B2 (ja) データ処理システムにおけるメモリリクエスト再順序付け法
CN109614377B (zh) 分布式文件系统的文件删除方法、装置、设备及存储介质
US8850131B2 (en) Memory request scheduling based on thread criticality
US20150143045A1 (en) Cache control apparatus and method
US9575886B2 (en) Methods and apparatus for storing data to a solid state storage device based on data classification
US8505016B2 (en) Enhanced shortest-job-first memory request scheduling
JP2011095852A (ja) キャッシュメモリ制御回路
JP4569628B2 (ja) ロードストアキューの制御方法及びその制御システム
EP2506158A1 (en) Cross-region access method for embedded file system
JP2009015509A (ja) キャッシュメモリ装置
JP2008234059A (ja) データ転送装置および情報処理システム
KR102202575B1 (ko) 메모리 관리 방법 및 장치
US11003495B2 (en) Dynamic access of task queues in a parallel processing system
US9858204B2 (en) Cache device, cache system, and cache method
CN112799589B (zh) 一种数据读取方法及装置
KR20190112020A (ko) 데이터 처리
CN112068948B (zh) 数据散列方法、可读存储介质和电子设备
JP2014092813A (ja) メモリ制御装置、メモリ制御方法およびプログラム
JP6059360B2 (ja) バッファ処理方法及び装置
KR100947745B1 (ko) 메모리로의 접근 요청을 재정렬하는 요청 재정렬 장치 및그 방법
JP5499346B2 (ja) 半導体装置およびそれを用いた通信装置
JP4552644B2 (ja) バス調停システム及びバス調停方法
KR100978206B1 (ko) 메모리로의 접근 요청을 재정렬하는 다중 대기큐를포함하는 요청 재정렬 장치 및 그 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100629

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: 20100713

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: 20100726

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4569628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150