JP3636121B2 - ストア/ロード制御装置及びストア/ロード制御方法 - Google Patents

ストア/ロード制御装置及びストア/ロード制御方法 Download PDF

Info

Publication number
JP3636121B2
JP3636121B2 JP2001273487A JP2001273487A JP3636121B2 JP 3636121 B2 JP3636121 B2 JP 3636121B2 JP 2001273487 A JP2001273487 A JP 2001273487A JP 2001273487 A JP2001273487 A JP 2001273487A JP 3636121 B2 JP3636121 B2 JP 3636121B2
Authority
JP
Japan
Prior art keywords
store
address
load
address range
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001273487A
Other languages
English (en)
Other versions
JP2003085035A (ja
Inventor
奨 丹治
健司 清瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001273487A priority Critical patent/JP3636121B2/ja
Publication of JP2003085035A publication Critical patent/JP2003085035A/ja
Application granted granted Critical
Publication of JP3636121B2 publication Critical patent/JP3636121B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ストア(store)/ロード(load)制御装置及びストア/ロード制御方法に係り、詳しくはストアフェーズとロードフェーズとを並行実施するストア/ロード制御装置及びストア/ロード制御方法に関するものである。
【0002】
【従来の技術】
コンピュータでは、汎用レジスタやキャッシュメモリ等の一時メモリはRAM等の実メモリにマップされ、一時メモリが各時点でマップされている、実メモリにおけるアドレス範囲の先頭アドレスは、コンテキストポインタ(以下、適宜、「CP」と言う。)と呼ばれるレジスタに登録されることになっている。
【0003】
一時メモリの値を更新する従来方式では、実メモリへの一時メモリの値のストアが完全に終了してから、実メモリから一時メモリへのデータのロードを開始しており、更新にかかる時間が長くなっている。一時メモリのストアが終了する前に、ロードを開始して、ストアとロードとを並行して行うことにより、更新時間を短縮することも可能であるが、実メモリにおけるストアのアドレス範囲とロードのアドレス範囲とが重複している場合、実メモリにおける所定のアドレスでは、ロードがストアに先行して、一時メモリ及び実メモリのデータがつじつまの合わないものになってしまうことがある。
【0004】
特開昭62−127947号公報は、第1のバッファ用の書込みデータの格納と第2のバッファ用のアドレスデータの格納とを兼ねる第1の格納手段に対して、第1及び第2のバッファの書込みデータを専用に格納する第3及び第2の格納手段を設け、第3及び第2の格納手段を使って、第1及び第2のバッファへのデータの書込みを並行して行うことを開示する。特開昭63−208179号公報は、通常は、第1の格納手段が第1の記憶手段からのデータを第2の記憶手段へアドレスとして供給するのに対し、ロード実行時では、アドレス供給手段が第2の記憶手段へアドレスを供給するようにして、第1及び第2の記憶手段へのデータのロードが並行実施できるようにしている。
【0005】
特開平4−219825号公報は、例えば、後続命令が先行命令の計算結果を利用し、かつパイプライン処理により後続命令が先行命令の計算終了前に読出しを開始する場合に、つじつまの合わないデータの発生を防止するために、書込みデータを読出しポートへバイパスすることを開示する。特開平11−143773号公報は、転送データ保持手段へのデータ書込みは内部バスを介して第1の命令に応答して行い、転送データ保持手段からのデータ読出しは、バス制御手段を介して第2の命令に応答して行い、これにより、データ追い出し(必要なデータをメモリから追い出してしまうこと。)を防止しつつ、ソフトによる外部へのデータ転送の実現及び転送量の増大を図っている。
【0006】
【発明が解決しようとする課題】
特開昭62−127947号公報及び特開昭63−208179号公報の装置は、複数のロードを並行して実施するものであり、ストアとロードとの並行実施とは無関係である。特開平4−219825号公報の装置はバイパス制御を必須としている。特開平11−143773号公報の装置は、外部転送に関し、ストアとロードとの並行実施とは無関係である。
【0007】
本発明の目的は、つじつまの合わないデータの発生を防止しつつ、ストア及びロードの並行動作の時間を短縮化を図ることのできるストア/ロード制御装置及びストア/ロード制御方法を提供することである。
【0008】
【課題を解決するための手段】
本発明のストア/ロード制御装置は次のものを有している。
・データの読み書きを並行して実施可能となっている第1の記憶手段
・データの読み書きを並行して実施可能となっている第2の記憶手段
・第1の記憶手段へデータを第2の記憶手段からロードする場合はロード前の第1の記憶手段のデータを第2の記憶手段の対応のアドレス範囲へストアするとともに少なくともストア終了前までにロードを開始するストア/ロード手段
・第1の記憶手段へデータを第2の記憶手段からロードする場合にストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との関係を検出するアドレス範囲関係検出手段
・アドレス範囲関係検出手段の検出結果に基づいてストア/ロードについての第2の記憶手段における書込み/読出し方向をアドレス順の順方向又は逆方向に決める方向決定手段
・方向決定手段の決めた方向でストア/ロードについての第2の記憶手段における書込み/読出しが実施されるようにストア/ロード手段を制御する制御手段
【0009】
なお、本明細書において、「/」は「及び」を意味するものとする。第1及び第2の記憶手段はアドレス順の順逆の両方向へ読書き自在となっている。第2の記憶手段において、ストア/ロードについての書込み/読出し方向がそれぞれアドレス順の順方向及び逆方向となる場合、それに対応する第1の記憶手段におけるデータの読出し/書込み方向も、それぞれアドレス順の順方向及び逆方向となる。
【0010】
ストア/ロード制御装置は次の態様を備える。アドレス範囲関係検出手段は、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との重複関係を検出するものである。アドレス範囲の重複関係には、アドレス範囲の部分的な重複関係及び全体的な重複関係を含むものとする。なお、アドレス範囲の全体的な重複とは、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との完全一致を意味する。アドレス範囲関係検出手段は、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との先後関係、すなわちストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲とがアドレス順でどちらが先範囲や後範囲になっているかを検出するものである。また、アドレス範囲関係制御手段が、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲とが部分的に重複しかつストアについての第2の記憶手段のアドレス範囲の先頭アドレスがロードについての第2の記憶手段のアドレス範囲の先頭アドレスより先になっていることを検出した場合、方向決定手段は、ストア/ロードについての第2の記憶手段における書込み/読出し方向をアドレス順の逆方向に決める。さらに、1アドレス分のストア/ロード所要時間を1サイクルタイムと定義し、制御手段は、ストア及びロードの動作を同時に開始させるか又はストア動作開始してから1サイクルタイム遅れてロード動作開始させるように、ストア/ロード手段を制御する。アドレス範囲関係制御手段が、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲とが全体的に重複していることを検出した場合、制御手段はストア/ロード手段によるストア/ロードを中止させる。ストア/ロード制御装置は、さらに、第1の記憶手段が現在、対応付けられている、第2の記憶手段のアドレス範囲に係る情報を登録される登録手段を有し、アドレス範囲関係検出手段は、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との関係を登録手段の変更前及び変更後の登録内容に基づいて検出する。
【0011】
ストア/ロード制御装置の別の態様について述べると、第1の記憶手段は一時メモリであり、第2の記憶手段は実メモリである。一時メモリには、キャッシュメモリや汎用レジスタが含まれる。実メモリにはRAMが含まれる。ストア/ロード制御装置は、一時メモリが現在、マップされている実メモリのアドレス範囲の先頭アドレスが登録されるポインタ手段を有し、アドレス範囲関係検出手段は、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との関係をポインタ手段の更新前及び更新後の登録内容から検出する。アドレス範囲関係検出手段が、ポインタ手段の更新前及び更新後の登録内容から実メモリにおけるストア用のアドレス範囲とロード用のアドレス範囲とが重複しかつストア用のアドレス範囲の先頭アドレスがロード用のアドレス範囲の先頭アドレスより先にあることを検出した場合、方向決定手段は、ストア/ロードについての第2の記憶手段における書込み/読出し方向をアドレス順の逆方向に決める。
【0012】
本発明のストア/ロード制御方法の適用されるストア/ロード装置は、データの読み書きを並行して実施可能となっている第1の記憶手段、データの読み書きを並行して実施可能となっている第2の記憶手段、及び第1の記憶手段へデータを第2の記憶手段からロードする場合はロード前の第1の記憶手段のデータを第2の記憶手段の対応のアドレス範囲へストアするとともに少なくともストア終了前までにロードを開始するストア/ロード手段、を有している。該ストア/ロード制御方法は、第1の記憶手段へデータを第2の記憶手段からロードする場合にストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との関係を検出するアドレス範囲関係検出ステップ、アドレス範囲関係検出ステップの検出結果に基づいてストア/ロードについての第2の記憶手段における書込み/読出し方向をアドレス順の順方向又は逆方向に決める方向決定ステップ、及び方向決定ステップの決めた方向でストア/ロードについての第2の記憶手段における書込み/読出しが実施されるようにストア/ロード手段を制御する制御ステップ、を有している。
【0013】
ストア/ロード制御方法は以下の態様を備える。アドレス範囲関係検出ステップは、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との重複関係を検出するものである。アドレス範囲関係検出ステップは、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との先後関係を検出するものである。アドレス範囲関係制御ステップにおいて、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲とが部分的に重複しかつストアについての第2の記憶手段のアドレス範囲の先頭アドレスがロードについての第2の記憶手段のアドレス範囲の先頭アドレスより先になっていることを検出した場合、方向決定ステップでは、ストア/ロードについての第2の記憶手段における書込み/読出し方向をアドレス順の逆方向に決める。1アドレス分のストア/ロード所要時間を1サイクルタイムと定義し、制御ステップでは、ストア及びロードの動作を同時に開始させるか又はストア動作開始してから1サイクルタイム遅れてロード動作開始させるように、ストア/ロード手段を制御する。アドレス範囲関係制御ステップが、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲とが全体的に重複していることを検出した場合、制御ステップではストア/ロード手段によるストア/ロードを中止させる。第1の記憶手段が現在、対応付けられている、第2の記憶手段のアドレス範囲に係る情報を登録される登録手段を有しているストア/ロード装置に対して、アドレス範囲関係検出ステップでは、ストアについての第2の記憶手段におけるアドレス範囲とロードについての第2の記憶手段におけるアドレス範囲との関係を登録手段の変更前及び変更後の登録内容に基づいて検出する。
【0014】
【発明の実施の形態】
以下、発明の実施の形態について図面を参照して説明する。
図1はコンピュータにおけるレジスタについてのストア及びロードの説明図である。CP(Context Pointer:コンテキスト・ポインタ)には、レジスタが現時点でマップされているRAM上の連続アドレス領域(アドレス領域=アドレス範囲)の先頭アドレスが書込まれている。レジスタへのロードを実行する場合は、ロード前のレジスタの内容を保存する必要がある。したがって、レジスタへのロードを実行する場合には、ストアフェーズ(Store Phase)及びロードフェーズ(Load Phase)が実施される。ストアフェーズでは、更新前のレジスタの値が、CPの更新前の値を先頭アドレスとするRAMの連続領域へストアされる。ロードフェーズでは、CPの更新後の値を先頭アドレスとするRAMの連続領域のデータがレジスタへロードされる。
【0015】
図2は各種方式においてCP更新時のストアフェーズとロードフェーズについて時間軸上の位置を示している。手法(a),(b)は、従来方式に対してストア/ロードの総所要時間を短縮させている。総所要時間の短縮のために、手法(a)では、RAMのポート数やレジスタ−RAM間のデータバス幅を増大させ、手法(b)では、ストアフェーズとロードフェーズとを並行実施する。本発明は手法(b)を採用する。
【0016】
図3はストアフェーズとロードフェーズとを並行して実施する場合の問題点の説明図である。CPの値が更新前及び更新後、例えばそれぞれ1000h,1002hであると仮定する。この場合、RAMにおけるストア及びロードに係る連続領域のアドレス範囲はそれぞれAs(sはstoreの意味。),Al(lはloadの意味。)で示され、Asは1000h〜100Fh、Alは102h〜1001hであり、As,Alは、アドレス範囲1002h〜100Fhにおいて重複している。したがって、ストア及びロードを並行して実施する場合、該重複アドレス範囲の各アドレスにおいて、ロードがストアに先行すると、ストア前のRAMのデータがレジスタへロードされ、また、このロードにより、ストア前のレジスタの一部データが壊れ、この壊れたデータがRAMにストアされ、こうして、つじつまの合わないデータにレジスタ及びRAMの内容が次々に書き換えられていってしまう。この問題を克服するためには、次の原則が必要になる。原則:ストア及びロードの両方に関わるRAMの各アドレスについては、ストアに係る書込みをロードに係る読出しに先行させる。
【0017】
具体的には、(b1)ストアフェーズに対してロードフェーズの実行開始サイクルを遅らせる。(b2)RAMにおけるストア及びロードのアドレス範囲の関係に基づいて、RAMにおけるデータの読書き方向をアドレス順の順方向又は逆方向へ切替える。本発明は、手法(b2)を採用する。
【0018】
図4及び図5はRAMにおける読書きをそれぞれ(b1)及び(b2)の手法に従って実施した場合のRAMにおけるストアアドレス及びロードアドレスの時間変化を示している。なお、この例では、16個の汎用レジスタの内容を、読出し及び書込みのポートが1個ずつの計2ポートのRAMにストア及び該RAMからロードする場合を想定している。各汎用レジスタはRAMの1個のアドレスにマップされている。Tは、1アドレス当たりの読書きに要する時間としてのサイクルタイムである。ストアアドレスは各サイクルタイムにおいてRAMにおけるデータの書込まれるアドレスを意味し、ロードアドレスは各サイクルタイムにおいてRAMにおけるデータの読出されるアドレスを意味する。ストアアドレス及びロードアドレスの範囲はそれぞれ例えば1000h〜100Fh及び1002h〜1011hであり、1002h〜100Fhはストアのアドレス範囲及びロードのアドレス範囲の重複範囲となっている。
【0019】
図6はRAMがポートをそれぞれ1,2,4個、装備する場合にそれぞれ従来方式、手法(b1),(b2)ではストア/ロードを終了するのにかかる時間をサイクルタイム換算で示している。1ポートRAMとは、RAMがポートを1個しか装備しておらず、読書きを並行して実施できないRAMを意味する。2ポートRAMとは、RAMがポートを読出し及び書込み用にそれぞれ1個ずつ装備しているRAMであり、RAMに対する読書きを並行して実施できる。4ポートRAMとは、RAMがポートを読出し及び書込み用にそれぞれ2個ずつ装備しているRAMであり、RAMに対する読書きを並行して実施できるだけでなく、読出し領域及び書込み領域をそれぞれ前半部分及び後半部分に2等分割して、並列読出し及び並列書込みを実施できる。
【0020】
図6の従来方式には、図2の従来方式と手法(a)とを包摂している。すなわち、図6の従来方式は、ストアフェーズ及びロードフェーズを並行実施することなく、ストアフェーズの終了後にロードフェーズを実施している。したがって、図6の従来方式では、ストア/ロードのサイクルタイム換算の総所要時間は、1ポートRAM、2ポートRAM、及び4ポートRAMにおいてそれぞれ32,32,16となる。
【0021】
手法(b1)では、図4に示されるように、RAMにおけるデータの読書き方向はアドレス順の順方向に固定され、ストアアドレスは、1000h,1001h,1002h,・・・,100Eh,100Fhの順番に変化し、ロードアドレスは1002h,1003h,1004h,・・・,1010h,1011hの順番に変化している。ロード開始は、ロードのアドレス範囲の先頭アドレスへのストアが終了してから直ちに行われるとして、アドレス1002hのストアの終了後の最初のサイクルタイムの開始時刻から開始されることになる。すなわち、ストアのアドレス範囲及びロードのアドレス範囲の重複した場合のロード開始は、ストアのアドレス範囲の先頭アドレスとロードのアドレス範囲の先頭アドレスとの差分に、1を加えたサイクルタイム分だけ、ストア開始より遅れる。図6に示されるように、手法(b1)では、ストア/ロードのサイクルタイム換算の総所要時間は、1ポートRAM、2ポートRAM、及び4ポートRAMにおいてそれぞれ32,17〜32、9〜17となる。
【0022】
これに対して本発明としての手法(b2)では、レジスタ及びRAMにおけるデータの読書き方向はアドレス順の順方向又は逆方向へ適宜切替自在となっている。説明の便宜上、アドレス順の先及び後をアドレスの小及び大に対応付けて説明すると、図5の例は、すなわちストアのアドレス範囲の先頭アドレス<ロードのアドレス範囲の先頭アドレスであるので、RAMにおけるデータの読書き方向はアドレス順の逆方向へ切り替えられる。したがって、ストアアドレスは、100Fh,100Eh,100Dh,・・・,1001h,1000hの順番に変化し、ロードアドレスは1011h,1010h,100Fh,・・・,1003h,1002hの順番に変化している。もし、ストアのアドレス範囲の先頭アドレス>ロードのアドレス範囲の先頭アドレスの場合は、RAMにおけるデータの読書き方向はアドレス順の順方向へ切り替えられる。また、ストアのアドレス範囲の先頭アドレス=ロードのアドレス範囲の先頭アドレスアドレス範囲の先頭アドレスの場合は、RAMにおけるデータの読書き方向はアドレス順の順方向及び逆方向のいずれであってもよい。こうして、図6に示されるように、手法(b2)では、ストア/ロードのサイクルタイム換算の総所要時間は、1ポートRAM、2ポートRAM、及び4ポートRAMにおいてそれぞれ32,17,9となる。
【0023】
図6において、ロードフェーズの開始がストアフェーズの開始より1サイクルタイムだけ遅れているのは、RAMにおけるストアのアドレス範囲とロードのアドレス範囲とが、部分的でな重複ではなく、全体が重複している場合を想定したためである。全体的重複の場合に、ロードフェーズとストアフェーズとを同時に開始すると、RAMの同一アドレスが同時に読出し及び書込まれることになり、不具合が生じる。ロードフェーズの開始をストアフェーズの開始より1サイクルタイムだけ遅らせることにより、全体が重複している場合にも、RAMにおいてストアに係る書込みをロードに係る読出しより先行させる原則が維持され、不具合の発生を排除できる。
【0024】
なお、RAMにおけるストアのアドレス範囲とロードのアドレス範囲とが全体的に重複している場合は、ストア/ロードを中止する手段を装備することもできる。RAMにおけるストアのアドレス範囲とロードのアドレス範囲とが全体的に重複している場合に、RAMにおける同一アドレスを同時に読書きしてしまう問題があるが、該場合は、ストア/ロードの必要はないので、ストア/ロードを中止するようにすれば、ロードフェーズとストアフェーズとを同時に開始しても、RAMの同一アドレスが同時に読出し及び書込まれる事態は起こらないとともに、ロードフェーズとストアフェーズとの同時開始により、ストア/ロードのサイクルタイム換算の総所要時間を図6の手法(b2)の数値よりさらに1サイクルタイムだけ短縮することができる。
【0025】
図7はストア/ロード制御装置10の構成図である。加算器11は、新CP12及び旧CP13の値を入力され、旧CP13の値から新CP12の値を引いた減算値を算出する。すなわち、加算器11は、新CP12から2進値は1の補数へ変換し、こうして補数変換された新CP12と、そのままの旧CP13とを加算して、旧CP13の値から新CP12の値を引いた減算値を計算する。負検出器14は、加算器11の出力が負であるとき、すなわち、新CP12の値>旧CP13の値であるとき、その検出信号をアドレス生成器15へ出力する。アドレス生成器15は、新CP12、旧CP13、及び負検出器14からの入力に基づいて各サイクルタイムにおけるレジスタ20及びRAM21のストアアドレス及びロードアドレスを計算する。レジスタ20及びRAM21は、共に、読出し及び書込みを同時実施可能であるだけでなく、読出し方向をアドレス順の順逆のいずれの方向にも切替自在になっている。アドレス発生器15は、負検出器14の出力が負である場合は、レジスタ20及びRAM21における読書き方向をアドレス順の逆方向へ切替え、また、負検出器14の出力が負でない場合は、レジスタ20及びRAM21における読書き方向をアドレス順の順方向へ切替える。なお、レジスタ20のレジスタ総数をnとすると、レジスタ20において、読書き方向をアドレス順の順方向としている場合は、レジスタ20における読書きは0番地からn−1番地へ向かう順方向になり、また、読書き方向をアドレス順の逆方向としている場合は、レジスタ20における読書きはn−1番地から0番地へ向かう逆方向になる。アドレス発生器15は、ストアフェーズの各サイクルタイムにおけるストアアドレスをレジスタ20の出力アドレス部及びRAM21の書込みアドレス部へ通知し、これにより、レジスタ20は、対応の出力アドレスのデータを出力データ部からRAM21へ書込みデータとして送り、RAM21は該書込みデータを書込みアドレスへ書込む。アドレス発生器15はロードフェーズにおける各サイクルタイムにおけるロードアドレスをレジスタ20の入力アドレス部及びRAM21の読出しアドレス部へ通知される。これにより、RAM21は、対応の読出しアドレスのデータを読出しデータ部からレジスタ20の入力データ部へ送り、レジスタ20は該入力データを入力アドレスへロードする。
【0026】
図8はストア/ロード制御装置10の機能ブロック図である。第1の記憶手段30及び第2の記憶手段31は、図7のレジスタ20及びRAM21に対応しており、共に、読書き自在、読書きを並行して実施自在、かつ読書き方向をアドレス順で順逆自在とされているものである。第1の記憶手段30は第2の記憶手段31における所定のアドレス範囲にマップされている。登録手段35は、CPに対応し、第2の記憶手段31において第1の記憶手段30のマップされたアドレス範囲の先頭アドレス等の情報が登録されている。登録手段35の内容が更新されるごとに、ストア/ロード手段32は、第2の記憶手段31への第1の記憶手段30のデータのストア、及び第1の記憶手段30への第2の記憶手段31のデータのロードを実行する。アドレス範囲関係検出手段36は、登録手段35の内容が更新されると、更新前の内容に係る第2の記憶手段31におけるアドレス範囲と更新後の内容に係る第2の記憶手段31におけるアドレス範囲との重複関係を検出する。方向決定手段37は、アドレス範囲関係検出手段36が重複を検出したときは、更新前と更新後の登録手段35の内容に基づいてストア/ロード手段32による第1及び第2の記憶手段30,31における読書き方向を決定する。例えば、ストアのアドレス範囲の先頭アドレスがロードのアドレス範囲の先頭アドレスより先である場合は、第1の記憶手段30における読書き方向及びそれに対応する第2の記憶手段31における書読み方向はアドレス順の逆方向へ切替えられ、その他の場合には、第1の記憶手段30における読書き方向及びそれに対応する第2の記憶手段31における書読み方向はアドレス順の順方向へ切替えられる。典型的には、ストア/ロード手段32によるロード作動の開始はストア作動の開始から1サイクルタイム遅らされる。
【0027】
【発明の効果】
本発明では、第2の記憶手段における読書き方向を適宜、アドレス順の逆方向へ切り替えることにより、第2の記憶手段においてストアのアドレス範囲とロードのアドレス範囲とが重複していても、データを破壊することなく、ストアフェーズ及びロードフェーズを並行実施して、ストア/ロードの総所要時間を短縮することができる。
【図面の簡単な説明】
【図1】コンピュータにおけるレジスタについてのストア及びロードの説明図である。
【図2】各種方式においてCP更新時のストアフェーズとロードフェーズについて時間軸上の位置を示す図である。
【図3】ストアフェーズとロードフェーズとを並行して実施する場合の問題点の説明図である。
【図4】RAMにおける読書きを手法(b1)に従って実施した場合のRAMにおけるストアアドレス及びロードアドレスの時間変化を示す図である。
【図5】RAMにおける読書きを手法(b2)に従って実施した場合のRAMにおけるストアアドレス及びロードアドレスの時間変化を示す図である。
【図6】ストア/ロードを終了するのにかかる時間をサイクルタイム換算で示す図である。
【図7】ストア/ロード制御装置の構成図である。
【図8】ストア/ロード制御装置の機能ブロック図である。
【符号の説明】
10 ストア/ロード制御装置
20 レジスタ
21 RAM
30 第1の記憶手段
31 第2の記憶手段
32 ストア/ロード手段
35 登録手段
36 アドレス範囲関係検出手段
37 方向決定手段
38 制御手段

Claims (9)

  1. 読書き方向をアドレス順の順逆両方向へ切替自在でありかつ相互に異なる2個のアドレスについて一方のアドレスからのデータの読出しと他方のアドレスへのデータの書込みとを並行して実施可能となっている一時メモリ、
    読書き方向をアドレス順の順逆両方向へ切替自在でありかつ相互に異なる2個のアドレスについて一方のアドレスからのデータの読出しと他方のアドレスへのデータの書込みとを並行して実施可能となっている実メモリ、
    前記一時メモリの内容を更新する場合には前記一時メモリの更新前の内容を前記実メモリの第1のアドレス範囲へストアするとともに前記一時メモリの更新後の内容を前記実メモリの第2のアドレス範囲からロードするストア/ロード手段、
    前記一時メモリの内容を更新する場合に前記第1及び前記第2のアドレス範囲の関係を検出するアドレス範囲関係検出手段、
    前記アドレス範囲関係検出手段が、前記第1及び前記第2のアドレス範囲が部分的に重複しかつ前記第1のアドレス範囲の先頭アドレスが前記第2のアドレス範囲の先頭アドレスより先になっていることを検出した場合及びそれ以外の場合に、ストア/ロードについての前記一時メモリ及び前記実メモリにおける書込み/読出し方向をそれぞれアドレス順の逆方向及び順方向に決定する方向決定手段、及び
    前記一時メモリの内容を更新する場合に前記方向決定手段の決めた方向でストア/ロードに係る前記一時メモリ及び前記実メモリにおけるデータ読書きが行なわれるように、かつ1アドレス分のストア/ロード所要時間を1サイクルタイムと定義して、前記一時メモリ及び前記実メモリの各々において、ストア/ロードの並行処理期間の各サイクルタイムではデータの書込みとデータの読出しとが並行するように、前記ストア/ロード手段を制御する制御手段、
    を有していることを特徴とするストア/ロード制御装置。
  2. 前記制御手段は、ストア及びロードの動作を同時に開始させるか又はストア動作開始してから1サイクルタイム遅れてロード動作開始させるように、前記ストア/ロード手段を制御することを特徴とする請求項記載のストア/ロード制御装置。
  3. 前記アドレス範囲関係検出手段が、前記第1及び前記第2のアドレス範囲が全体的に重複していることを検出した場合、前記制御手段は前記ストア/ロード手段によるストア/ロードを中止させることを特徴とする請求項記載のストア/ロード制御装置。
  4. 前記一時メモリが現在、対応付けられている、実メモリのアドレス範囲に係る情報を登録される登録手段を有し、
    前記アドレス範囲関係検出手段は、前記第1及び前記第2のアドレス範囲の関係を前記登録手段の変更前及び変更後の登録内容に基づいて検出することを特徴とする請求項1記載のストア/ロード制御装置。
  5. 前記一時メモリが現在、マップされている前記実メモリのアドレス範囲の先頭アドレスが登録されるポインタ手段を有し、
    前記アドレス範囲関係検出手段は、前記第1及び前記第2のアドレス範囲の関係を前記ポインタ手段の更新前及び更新後の登録内容から検出することを特徴とする請求項記載のストア/ロード制御装置。
  6. 読書き方向をアドレス順の順逆両方向へ切替自在でありかつ相互に異なる2個のアドレスについて一方のアドレスからのデータの読出しと他方のアドレスへのデータの書込みとを並行して実施可能となっている一時メモリ、
    読書き方向をアドレス順の順逆両方向へ切替自在でありかつ相互に異なる2個のアドレスについて一方のアドレスからのデータの読出しと他方のアドレスへのデータの書込みとを並行して実施可能となっている実メモリ、及び
    前記一時メモリの内容を更新する場合には前記一時メモリの更新前の内容を前記実メモリの第1のアドレス範囲へストアするとともに前記一時メモリの更新後の内容を前記実メモリの第2のアドレス範囲からロードするストア/ロード手段、
    を有しているストア/ロード装置に対するストア/ロード制御方法において、
    前記一時メモリの内容を更新する場合に前記第1及び前記第2のアドレス範囲の関係を検出するアドレス範囲関係検出ステップ、
    前記アドレス範囲関係検出ステップにおいて、前記第1及び前記第2のアドレス範囲が部分的に重複しかつ前記第1のアドレス範囲の先頭アドレスが前記第2のアドレス範囲の先頭アドレスより先になっていることを検出した場合及びそれ以外の場合に、ストア/ロードについての前記一時メモリ及び前記実メモリにおける書込み/読出し方向をそれぞれアドレス順の逆方向及び順方向に決定する方向決定ステップ、及び
    前記一時メモリの内容を更新する場合に前記方向決定手段の決めた方向でストア/ロードに係る前記一時メモリ及び前記実メモリにおけるデータ読書きが行なわれるように、かつ1アドレス分のストア/ロード所要時間を1サイクルタイムと定義して、前記一時メモリ及び前記実メモリの各々において、ストア/ロードの並行処理期間の各サイクルタイムではデータの書込みとデータの読出しとが並行するように、前記ストア/ロード手段を制御する制御ステップ、
    を有していることを特徴とするストア/ロード制御方法。
  7. 前記制御ステップでは、ストア及びロードの動作を同時に開始させるか又はストア動作開始してから1サイクルタイム遅れてロード動作開始させるように、前記ストア/ロード手段を制御することを特徴とする請求項記載のストア/ロード制御方法。
  8. 前記アドレス範囲関係検出ステップが、前記第1及び前記第2のアドレス範囲が全体的に重複していることを検出した場合、前記制御ステップでは前記ストア/ロード手段によるストア/ロードを中止させることを特徴とする請求項記載のストア/ロード制御方法。
  9. 前記一時メモリが現在、対応付けられている、実メモリのアドレス範囲に係る情報を登録される登録手段を有している前記ストア/ロード装置に対して、
    前記アドレス範囲関係検出ステップでは、前記第1及び前記第2のアドレス範囲の関係を前記登録手段の変更前及び変更後の登録内容に基づいて検出することを特徴とする請求項記載のストア/ロード制御方法。
JP2001273487A 2001-09-10 2001-09-10 ストア/ロード制御装置及びストア/ロード制御方法 Expired - Fee Related JP3636121B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001273487A JP3636121B2 (ja) 2001-09-10 2001-09-10 ストア/ロード制御装置及びストア/ロード制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001273487A JP3636121B2 (ja) 2001-09-10 2001-09-10 ストア/ロード制御装置及びストア/ロード制御方法

Publications (2)

Publication Number Publication Date
JP2003085035A JP2003085035A (ja) 2003-03-20
JP3636121B2 true JP3636121B2 (ja) 2005-04-06

Family

ID=19098695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001273487A Expired - Fee Related JP3636121B2 (ja) 2001-09-10 2001-09-10 ストア/ロード制御装置及びストア/ロード制御方法

Country Status (1)

Country Link
JP (1) JP3636121B2 (ja)

Also Published As

Publication number Publication date
JP2003085035A (ja) 2003-03-20

Similar Documents

Publication Publication Date Title
JP3636121B2 (ja) ストア/ロード制御装置及びストア/ロード制御方法
KR960012354B1 (ko) 마이크로 프로세서
JP3497087B2 (ja) 命令制御装置及びその方法
JP3614428B2 (ja) キャッシュメモリ装置
JPH06119238A (ja) 主記憶制御方法および装置
JPH0447350A (ja) 主記憶読み出し応答制御方式
JPS6047615B2 (ja) 逐次化命令実行制御方式
JP2716254B2 (ja) リストベクトル処理装置
JPH07295812A (ja) 条件分岐制御方法および装置
JP2817458B2 (ja) ディスクキャッシュの再オンライン化システム
JPS61131047A (ja) パイプライン制御方式
JP2798492B2 (ja) リストベクトル処理装置
JP2780552B2 (ja) キャッシュ・メモリ内蔵型マイクロプロセッサ
JPH04128950A (ja) 誤り検出機能付き主記憶の部分書込方法
JP2002063154A (ja) ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式
JPS6297037A (ja) アドレス・オ−バラツプ・チエツク処理方式
JPH07262087A (ja) プロセッサ
JPH08166905A (ja) キャッシュメモリ制御方法
JPH09146769A (ja) パイプライン処理装置
JPH03225529A (ja) マイクロプロセッサ
JPH0346042A (ja) バッファ記憶制御装置
JPH0222750A (ja) アドレス変換方式
JPH04125747A (ja) キャッシュメモリ制御装置
JPH07319693A (ja) パイプライン処理方式
JPS61109145A (ja) メモリアドレス算出方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041014

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20041215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090114

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees