JP3799451B2 - Electronic computer system - Google Patents
Electronic computer system Download PDFInfo
- Publication number
- JP3799451B2 JP3799451B2 JP05071797A JP5071797A JP3799451B2 JP 3799451 B2 JP3799451 B2 JP 3799451B2 JP 05071797 A JP05071797 A JP 05071797A JP 5071797 A JP5071797 A JP 5071797A JP 3799451 B2 JP3799451 B2 JP 3799451B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- read
- data
- buffer storage
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は電子計算機システムに関し、特に記憶装置からの読み出しオーバーヘッドを低減してなる電子計算機システムに関する。
【0002】
【従来の技術】
最近の電子技術の発達により、電子計算機を構成する演算処理装置の動作速度は、非常に向上している。しかしながら、電子計算機の演算データを格納する記憶装置の動作速度はあまり向上していない。そのため、電子計算機の演算処理装置が計算に必要とするデータを記憶装置から読み出すためのオーバーヘッドは相対的に増大する傾向にある。
【0003】
図8に、記憶装置からデータの読出しオーバーヘッドを低減するための従来の電子計算機システムを示す。この電子計算機システム101は、各種の演算処理を実行する処理装置102と、この処理装置102に接続された主バスライン103と、この主バスライン103に接続されたメモリ要求バスライン104と、このメモリ要求バスライン104に接続された主記憶装置105と、同メモリ要求バスライン104に接続されたバッファ記憶装置106と、主記憶装置105とバッファ記憶装置106とを接続する主記憶データ読出バスライン108と、バッファ記憶装置106と主バスライン103とを接続するバッファデータ読出バスライン109とから構成されている。
【0004】
この電子計算機システム101では、主記憶装置105から主記憶データを主記憶データ読出バスライン108を介してバッファ記憶装置106に記憶させることによりバッファ記憶装置106に主記憶データの複製を置く。そして、このバッファ記憶装置106から主記憶データの複製をバッファデータ読出バスライン109、主バスライン103を介して処理装置102に取り込むようにすることにより、平均的な読出し時間を短縮している。しかしながら、電子計算機における処理装置102の速度向上によって、バッファ記憶装置106に主記憶装置105の主記憶データの複製がない場合のオーバーヘッドがますます問題になってきている。
【0005】
バッファ記憶装置106に主記憶装置105の主記憶データの複製がない場合のオーバーヘッドを低減する従来技術としては、次のようなものが提案されている。
【0006】
(1)バッファ記憶装置106に主記憶装置105の記憶データの先読みを行う命令を用意するようにした方法(第1の従来技術)。
【0007】
(2)主記憶装置105の参照パターンを予測してハードウエアでバッファ記憶装置106に先読みするようにした方法(第2の従来技術)。
【0008】
(3)命令処理からは隠蔽されたレジスタを用意し、主記憶装置105からの主記憶データが到着していない命令を、該隠蔽されたレジスタに割り当て命令の順序を入れ換えることにより記憶装置から記憶データを読出しの遅延時間を他の命令で補うようにした方法(第3の従来技術)。
【0009】
(4)多数のレジスタを命令セットにおいて用意し、このレジスタへの読出しを明示的な命令処理にて実現するようにした方法(第4の従来技術)。
【0010】
【発明が解決しようとする課題】
しかしながら、第1の従来技術は、バッファ記憶装置からのデータの読出しと先読みを行う命令によって発行された先読み対象の記憶装置の領域との競合の検証を行う必要があるので、大量の先読みが必要な場合には実現困難な連想記憶装置を使う必要があるという問題を有している。また、プログラムがいつ先読みを行うべきかを判定する基準も与えられないので、十分な活用ができないという欠点もある。
【0011】
また、第2の従来技術では、繰り返し処理などの特殊なケースでは効果をもつものの、先読みの判定を行うタイミイングが、参照パターンが出現してからと遅いのでプログラムの繰り返し部分の繰り返し回数が多い場合にしか効果はなく、電子計算機の処理装置の動作速度が高速になっていくと十分に記憶装置の読出しオーバーヘッドを解消できないという欠点がある。
【0012】
また、第3の従来技術では、電子計算機の処理装置の速度が向上した場合に、オーバーヘッドを解消するために必要となるレジスタの数が著しく増大し、命令解読時に大きな負担となるという欠点がある。
【0013】
さらに、第4の従来技術では、電子計算機の処理装置の速度が向上した場合に、オーバーヘッドを解消するため必要となるレジスタの数の増大に対して、命令セットの変更を伴う改造が必要となり、互換性を損なう欠点がある他、レジスタ数の増大によって命令解読時に大きな負担を強いて命令処理の性能を抑えるという欠点もある。
【0014】
加えて、電子計算機は、その用途と予算に応じてさまざまな性能の機種に対する要求があるが、上記各従来技術のいずれにおいても性能が異なる機種に対してオーバーヘッド削減のために一貫した技術を提供するものではない。
【0015】
そこで、本発明は、様々な性能の電子計算機の各々において、同一プログラムを適用可能とした記憶装置の読み出しオーバーヘッドを削減できるようにした電子計算機システムを提供することを第1の目的とする。また、本発明は、記憶装置の読み出しオーバーヘッドを削減できる技術を適用しても命令解読に大きな負担を強いない高性能な電子計算機システムを提供することを第2の目的とする。
【0016】
【課題を解決するための手段】
かかる目的を達成するため、請求項1記載の発明は、各種の処理を実行する処理装置と、所定のデータや処理プログラムを記憶する主記憶装置と、この主記憶装置の主記憶データの複製を記憶する第1のバッファ記憶装置とを備え、前記主記憶装置からのデータ読出オーバーヘッドを低減した電子計算機システムであって、エントリデータの有効を示す有効ビットと主記憶データの複製を格納できる記憶エントリを有しかつ主記憶装置の番地の一部に割り付けられた第2のバッファ記憶装置と、前記第2のバッファ記憶装置の割付番地、記憶エントリ数および各記憶エントリの大きさの各情報を読出す構成読出手段とを具備し、前記処理装置は、前記構成読出手段で読み出した各情報を基に第2のバッファ記憶装置に格納可能なデータ数を決定し、その決定結果から前記主記憶装置から前記第2のバッファ記憶装置へのデータ読出命令を前記主記憶装置に与え、尚かつ主記憶装置へのメモリ読出要求に付加する主記憶装置への複数の読出要求を識別する要求識別子を前記主記憶装置に発行するとともに第2のバッファ記憶装置のエントリデータの有効を示す有効ビットに所定値をセットし、前記主記憶装置は、前記要求識別子と読出データを送出し、前記処理装置は、前記要求識別子の識別情報を弁別し、その弁別結果に応じて第1のバッファ記憶装置あるいは第2のバッファ記憶装置に前記読出データを格納するようにしている。
【0017】
この電子計算機システムの場合、電子計算機の処理装置で処理するプログラムは、前記構成読出手段により第2のバッファ記憶の記憶エントリ数と各記憶エントリの大きさを読み出し、各記憶エントリにいくつの数値が格納可能かを決定する。そして、該情報に従って、演算に先立って、演算に必要なデータを前記第2のバッファ記憶装置へのデータ読出命令を発行することにより前記第2のバッファ記憶装置に読出指示を与える。該読出指示の個数は、プログラムが必要とするデータ数と、前記構成読出手段により読み出した第2のバッファ記憶の構成によって判定する。
【0018】
前記データ読出命令が発行されると、電子計算機の処理装置は、読み出すべき前記第2のバッファ記憶装置のエントリ番号を含んだ要求識別子を付加した主記憶読出要求を主記憶装置に発行する。同時に前記第2のバッファ記憶装置の対応する記憶エントリの有効ビットを“0”にしてエントリを無効化する。
【0019】
上記主記憶装置は、前記複数の読出指示のうち同時に処理可能な読出指示に対して受付確認信号を電子計算機の処理装置に送る。その同時処理可能な読出指示は、その各々の要求識別子とともに主記憶装置内に格納される。主記憶装置は、読出データを送出可能となった読出指示で指定された読出データとともに前記要求識別子を送出する。
【0020】
前記電子計算機の処理装置は、主記憶装置から送出された前記要求識別子の識別情報を弁別し、前記第2のバッファ記憶装置への読出データであれば対応する記憶エントリに書込み、かつ該記憶エントリの前記有効ビットを“1”とする。一方、前記要求識別子の弁別結果が前記第1のバッファ記憶装置への読出しであると判定すると、該読出データを前記第1のバッファ記憶装置に書き込む。
【0021】
電子計算機の処理装置で処理されるプログラムは、オペレーティングシステムから前記第2のバッファ記憶装置に格納される情報が、プログラムのアドレス空間のどの番地に当たるかの情報を得て、読出指示の応答を該番地へのメモリ読出命令を使用して当該情報を利用する。該応答が主記憶装置から得られていない場合、第2のバッファ記憶装置の対応する記憶エントリの有効ビットが“0”のままであり、プログラムの実行は停止され主記憶装置からの応答を持つ。
【0022】
一方、前記第2のバッファ記憶装置の対応する記憶エントリの有効ビットが“1”の場合、該メモリ読出要求を前記第2のバッファ記憶装置の対応する番地の読出要求に変更し、電子計算機の処理装置に前記第2のバッファ記憶装置からの読出データが送出される。
【0023】
ここで、前記構成読出手段は、主記憶装置の読み出しに必要とされる概算時間に関する情報と、主記憶装置が同時処理可能な読出指示数に関する情報とを読み出すようにしても良い。また、前記処理装置は、主記憶装置から送出された前記要求識別子の識別情報を弁別し、前記第2のバッファ記憶装置への読出データであれば、当該読出データを第2のバッファ記憶装置の対応する記憶エントリに書込みとともに前記記憶エントリの前記有効ビットを“1”とし、前記要求識別子の弁別結果が前記第1のバッファ記憶装置への読出データであれば、当該読出データを前記第1のバッファ記憶装置に書き込むようにしても良い。更に、前記処理装置は、前記第2のバッファ記憶装置の対応する記憶エントリの有効ビットが“1”のとき、該メモリ読出要求を前記第2のバッファ記憶装置の対応する番地の読出要求に変更し、この読出要求により前記第2のバッファ記憶装置から読み出した読出データを取り込むようにしても良い。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0025】
図1に本発明の電子計算機の実施の一形態を示す。この電子計算機システム1は、各種の演算処理を実行する処理装置2と、この処理装置2に接続された主バスライン3と、この主バスライン3に接続されたメモリ要求バスライン4と、このメモリ要求バスライン4に接続された主記憶装置5と、同メモリ要求バスライン4に接続されかつ従来から使用されている第1のバッファ記憶装置6と、同メモリ要求バスライン4に接続された第2のバッファ記憶装置7と、前記主記憶装置5、第1のバッファ記憶装置6および第2のバッファ記憶装置7とを接続する主記憶データ読出バスライン8と、バッファ記憶装置6と主バスライン3とを接続するバッファデータ読出バスライン9と、前記第2のバッファ記憶装置7の割り付け番地、記憶エントリ数および各記憶エントリ大きさの各情報を読み出す構成読出手段10とから構成されている。
【0026】
第1のバッファ記憶装置6は、図1に示すように、複数の記憶エントリ61、61、61から構成されている。各記憶エントリ61、61、61は、図1に示すように、エントリデータの有効を示す有効ビットVと、エイデーアールADRと、記憶エントリ61、61、61で記憶するデータDATAとから構成されている。
【0027】
第2のバッファ記憶装置7は、図1に示すように、複数の記憶エントリ71、…、71を有している。第2のバッファ記憶装置7の各記憶エントリ71、…、71は、図1に示すように、記憶エントリデータの有効を示す有効ビットVと、記憶エントリ71、…、71で記憶するデータDATAとから構成されている。
【0028】
なお、処理装置2は、主記憶装置5から主記憶データ読出バスライン8に送出されたデータの内容を参照することができる。
【0029】
このように構成された電子計算機の動作を、図1を基に図2〜図7を参照しながら説明する。ここで、図2〜図5に、上述した電子計算機で実行する処理のフローチャートの一例を示す。図6に上述した電子計算機の動作を説明するためのタイムチャートを示す。尚、図6では、処理装置2、構成読出手段10、第2のバッファ記憶装置7および主記憶装置5を横軸に配置し、時間を縦軸にとっている。また、図7に主記憶読出要求および要求識別子の構成を示す。上記要求識別子は、例えば7ビットを用いて表すことができる128個の要求の内、120個を第2のバッファ記憶装置7の記憶エントリに割り付け、残り8個を第1のバッファ記憶装置6の要求のために使用するものとする。
【0030】
電子計算機システム1において、構成読出手段10は、第2のバッファ記憶装置7の記憶エントリ数と、各記憶エントリの大きさとからなる情報を読み出して処理装置2に与える(図2のSTP101、図6の時刻t1 )。
【0031】
電子計算機システム1の処理装置2で処理するプログラムは、上記情報を基に、第2のバッファ記憶装置7の各記憶エントリ71、…、71にいくつの数値が格納可能かを決定する(STP102、時刻t'1〜時刻t2)。
【0032】
上述したように決定した情報を基に、処理装置2は、演算に先立って必要なデータを第2のバッファ記憶装置7へのデータ読出命令により前記第2のバッファ記憶装置7に向けて読み出す指令をメモリ要求バスライン4を介して主記憶装置5に与える(STP103、時刻t2 )。ここで、読み出す指示の個数は、プログラムが必要とするデータ数と、構成読出手段10により読み出した第2のバッファ記憶装置7の構成によって判断している。
【0033】
前記データ読出命令が発行されると、電子計算機システム1の処理装置2は、読み出すべき第2のバッファ記憶装置7の記憶エントリ番号を含んだ要求識別子501を付加した主記憶読出要求502(図7参照)を、メモリ要求バスライン4を介して主記憶装置5に発行する(STP104、時刻t3 )。
【0034】
同時に、処理装置2は、第2のバッファ記憶装置7の対応する記憶エントリ71の有効ビットVを“0”にして記憶エントリを無効にする(STP104、時刻t3 )。
【0035】
なお、処理装置2は、受付確認信号を受信するまで、次の処理を実行しない(STP105:NO)。これにより、処理装置2から、さらに読み出し指示が発行されることが防止される。また、電子計算機システム1の処理装置2は、受付確認信号を受信すると次の処理に移行する(STP105:YES)。
【0036】
主記憶装置5では、複数の読み出し指示のうち同時に処理可能な読出指示であるか否かを判断する。そして、同時処理可能な読出指示である場合には(STP201;YES)、受付確認信号を電子計算機システム1の処理装置2に送る(STP202、時刻t4 )。また、同時に処理可能な数を超えて読み出し指示を受け取ったときには(STP201;NO)、受付確認信号を送出しない処理を実行する(STP203)。
【0037】
更に、同時に処理可能な読出指示である場合には、その各要求識別子とともに主記憶装置5に格納される(STP204)。また、前記主記憶装置5は、読出データを送出可能とされた読み出し指示で指示された読出データとともに、前記要求識別子501を主記憶データ読出バスライン8に送出する(STP205、時刻t5 )。
【0038】
主記憶装置5が、読出データを送出可能とされた読み出し指示で指示された読出データと共に前記要求識別子501を主記憶データ読出バスライン8に送出したところで(STP205、時刻t5)、図4のフローチャートの処理に入る。
【0039】
処理装置2は、図4に示すフローチャートの処理に入ると、主記憶装置5から主記憶データ読出バスライン8に送出された要求識別子の識別情報を弁別する(STP110、時刻t6 )。
【0040】
ここで、第2のバッファ記憶装置7への読出データであれば(STP111;YES)、第2のバッファ記憶装置7の対応する記憶エントリ71のデータ領域DATAに書込み処理を行い(STP112、時刻t7 )、この記憶エントリ71の有効ビットVを“1”とする(STP113、時刻t8 、t9 )。
【0041】
また、処理装置2は、要求識別子501の弁別結果が第1のバッファ記憶装置6への読み出しであれば(図4のSTP111;NO)、当該読出データを第1のバッファ記憶装置6に書き込む(STP114)。
【0042】
電子計算機システム1の処理装置2で処理されるプログラムは、適当なタイミングで、図5に示すフローチャートを実行する。即ち、前記プログラムは、オペレーティングシステムから第2のバッファ記憶装置7に格納される情報がプログラムのアドレス空間のどの番地にあたるかの情報を得て(STP121)、当該番地へのメモリ読出指示をメモリ要求バスライン4を経由して発行する(STP122)。
【0043】
ついで、プログラムは、第2のバッファ記憶装置7の対応する記憶エントリ71の有効ビットVを見に行く。そして、主記憶装置5からの受付確認信号を処理装置2が受信していないとには、第2のバッファ記憶装置7の対応する記憶エントリ71の有効ビットVが“0”のままであり、プログラムは実行されないで主記憶装置5の対応を待った状態にいる(STP123)。
【0044】
一方、プログラムが第2のバッファ記憶装置7の対応する記憶エントリ71の有効ビットVを見に行った結果、第2のバッファ記憶装置7の対応する記憶エントリ71の有効ビットVが“1”であったときには、データ読出命令を第2のバッファ記憶装置7の対応する番地の読出要求に変更し、第2のバッファ記憶装置7から読出データがバッファデータ読出バスライン9を介して電子計算機システム1の主バスライン3に送出される(STP123)。
【0045】
しかして、本実施形態の電子計算機システム1によると、同時処理可能な読出要求数が異なる複数の主記憶装置と組み合わせて、異なる性能の電子計算機を容易に構成することができる。また、プログラムが構成を判定して最適な命令発行を制御することができるので、異なる性能の電子計算機に対して同一のプログラムで最適な性能を発揮することが可能となり、プログラムライブラリの構築が容易となる。さらに、電子計算機の処理速度と比較して低速な記憶素子のデータを演算に先立って読み出すようにした高性能な電子計算機の構成において、簡単な回路構成で数多くの読出指示を発行可能な電子計算機を容易に構成することができる。
【0046】
なお、上述の実施形態は本発明の好適な実施の一例ではあるがこれに限定されるものではなく本発明の要旨を逸脱しない範囲において種々変形実施可能である。例えば、本実施形態の電子計算機システム1では、要求識別子は、例えば7ビットを用いて表すことができる128個の要求の内、120個を第2のバッファ記憶装置7の記憶エントリに割り付け、残り8個を第1のバッファ記憶装置6の要求のために使用したが、第1のバッファ記憶装置6と第2のバッファ記憶装置7の要求識別用に別途1ビットの情報を持たせるようにしてもよい。
【0047】
また、構成読出手段10が主記憶装置の読み出しに必要とされる概算時間に関する情報と、主記憶装置が同時処理可能な読み出し指示数に関する情報とを読み出すようにしてもよい。
【0048】
加えて、さらに他の実施の形態として、第1のバッファ記憶装置、第2のバッファ記憶装置を同一の記憶装置の異なるアドレスに割り付けて構成してもよいし、第1のバッファ記憶装置および第2のバッファ記憶装置を別個の記憶装置に割り付けてもよい。
【0049】
また、さらに他の実施の形態として、転送指示を行う命令において、第2のバッファ記憶装置への主記憶装置の主記憶情報の転送を指示するデータ読出命令により、第2のバッファ記憶装置内の転送先を第2のバッファ記憶装置の記憶エントリ番号によって示すこともできるし、第2のバッファ記憶装置の配置されるアドレス空間内の相対アドレスによって示すこともできるし、あるいは第2のバッファ記憶装置に配置されるアドレス空間内の論理アドレスによって示すこともできる。
【0050】
【発明の効果】
以上の説明より明らかなように、本発明の電子計算機システムによれば、処理装置は構成読出手段で読み出した各情報を基に第2のバッファ記憶装置に格納可能なデータ数を決定し、その決定結果から主記憶装置から第2のバッファ記憶装置へのデータ読出命令を前記主記憶装置に与え、しかも、主記憶装置へのメモリ読出要求に付加する主記憶装置への複数の読出要求を識別する要求識別子を主記憶装置に発行するとともに第2のバッファ記憶装置のエントリデータの有効を示す有効ビットに所定値をセットし、かつ主記憶装置はデータ読出命令により要求識別子と読出データを送出し、処理装置は要求識別子の識別情報を弁別し、その弁別結果に応じて第1のバッファ記憶装置あるいは第2のバッファ記憶装置に読出データを格納するようにしたので、同時処理可能な読出要求数の異なる複数の主記憶装置と組み合わせて、異なる性能の電子計算機システムを容易に構成できる。
【0051】
また、プログラムが第2のバッファ記憶装置の構成を判定して最適な命令発行を制御できるので、異なる性能の電子計算機に対して同一のプログラムで最適な性能を発揮することが可能となり、プログラムライブラリの構築が容易となる。
【0052】
更に、電子計算機の処理速度と比較して低速な記憶素子のデータを演算に先立って読み出す高性能な電子計算機の構成にあって、簡単な回路構成で数多くの読出指示を発行可能な電子計算機を容易に構築することができる。
【図面の簡単な説明】
【図1】本発明の電子計算機システムの実施の形態を示すブロック図である。
【図2】同実施形態における電子計算機の読出し命令の処理動作を説明するためのフローチャートである。
【図3】同実施形態における電子計算機の主記憶装置の動作を説明するためのフローチャートである。
【図4】同実施形態における電子計算機のバッファ記憶装置の書き込み処理動作を説明するためのフローチャートである。
【図5】同実施形態における電子計算機のアドレス情報取得などの処理動作を説明するためのフローチャートである。
【図6】同実施の形態の動作を説明するためのタイミングチャートである。
【図7】同実施の形態で用いる主記憶読出要求等を示す図である。
【図8】従来の電子計算機システムを示すブロック図である。
【符号の説明】
1 電子計算機
2 処理装置
3 主バスライン
4 メモリ要求バスライン
5 主記憶装置
6 第1のバッファ記憶装置
7 第2のバッファ記憶装置
8 主記憶データ読出バスライン
9 バッファデータ読出バスライン
10 構成読出手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic computer system, and more particularly to an electronic computer system in which overhead for reading from a storage device is reduced.
[0002]
[Prior art]
With the recent development of electronic technology, the operation speed of arithmetic processing units constituting electronic computers has been greatly improved. However, the operation speed of the storage device that stores the calculation data of the electronic computer has not improved much. For this reason, the overhead for reading out the data required by the arithmetic processing unit of the electronic computer from the storage device tends to increase relatively.
[0003]
FIG. 8 shows a conventional electronic computer system for reducing the overhead of reading data from a storage device. The electronic computer system 101 includes a
[0004]
In this electronic computer system 101, the main storage data is stored in the
[0005]
As a conventional technique for reducing the overhead when the
[0006]
(1) A method in which an instruction for prefetching data stored in the
[0007]
(2) A method in which the reference pattern of the
[0008]
(3) A hidden register is prepared from the instruction processing, and an instruction for which main storage data from the
[0009]
(4) A method in which a large number of registers are prepared in an instruction set, and reading to the registers is realized by explicit instruction processing (fourth prior art).
[0010]
[Problems to be solved by the invention]
However, in the first conventional technique, it is necessary to verify the conflict with the area of the storage device that is the prefetch target issued by the instruction to read and prefetch data from the buffer storage device. In such a case, it is necessary to use an associative memory device that is difficult to realize. In addition, since there is no standard for determining when the program should pre-read, there is a disadvantage that it cannot be fully utilized.
[0011]
In the second prior art, although it is effective in special cases such as repetitive processing, the timing for performing prefetch determination is slow after the appearance of the reference pattern, so the number of repetitions of the repetitive part of the program is large. However, there is a drawback that the reading overhead of the storage device cannot be sufficiently eliminated when the operating speed of the processing device of the electronic computer becomes high.
[0012]
Further, the third prior art has a drawback that when the speed of the processing unit of the electronic computer is improved, the number of registers necessary for eliminating the overhead is remarkably increased, which causes a heavy burden at the time of instruction decoding. .
[0013]
Furthermore, in the fourth prior art, when the processing speed of the electronic computer is improved, it is necessary to modify the instruction set for the increase in the number of registers necessary for eliminating the overhead. In addition to the disadvantage of compromising compatibility, there is also the disadvantage of reducing the instruction processing performance by forcing a heavy burden at the time of instruction decoding by increasing the number of registers.
[0014]
In addition, there are demands for models with various performances depending on their use and budget, but all of the above conventional technologies provide consistent technology to reduce overhead for models with different performances. Not what you want.
[0015]
SUMMARY OF THE INVENTION Accordingly, a first object of the present invention is to provide an electronic computer system capable of reducing the read overhead of a storage device in which the same program can be applied to each of electronic computers with various performances. A second object of the present invention is to provide a high-performance electronic computer system that does not place a heavy burden on instruction decoding even when a technique capable of reducing the read overhead of the storage device is applied.
[0016]
[Means for Solving the Problems]
In order to achieve such an object, the invention described in claim 1 is a processing device that executes various processes, a main storage device that stores predetermined data and a processing program, and a copy of the main storage data of the main storage device. An electronic computer system comprising a first buffer storage device for storing data and having reduced data read overhead from the main storage device, wherein a storage entry capable of storing a valid bit indicating the validity of entry data and a copy of the main storage data The second buffer storage device allocated to a part of the address of the main storage device, and the allocation address, the number of storage entries, and the size of each storage entry of the second buffer storage device are read. And a processing unit that determines the number of data that can be stored in the second buffer storage device based on each piece of information read by the configuration reading unit. Then, based on the determination result, a data read command from the main storage device to the second buffer storage device is given to the main storage device and added to the memory read request to the main storage device. A request identifier for identifying the read request of the second buffer storage device and a valid bit indicating the validity of the entry data of the second buffer storage device, and the main storage device reads the request identifier and the read identifier. The processing device discriminates the identification information of the request identifier, and stores the read data in the first buffer storage device or the second buffer storage device according to the discrimination result. .
[0017]
In the case of this electronic computer system, the program processed by the processor of the electronic computer reads the number of storage entries in the second buffer storage and the size of each storage entry by the configuration reading means, and how many numerical values are stored in each storage entry. Determine whether it can be stored. In accordance with the information, prior to the operation, a data read instruction is issued to the second buffer storage device by issuing a data read instruction to the second buffer storage device. The number of read instructions is determined by the number of data required by the program and the configuration of the second buffer storage read by the configuration reading means.
[0018]
When the data read instruction is issued, the processor of the electronic computer issues a main memory read request to which the request identifier including the entry number of the second buffer storage device to be read is added to the main storage device. At the same time, the valid bit of the corresponding storage entry of the second buffer storage device is set to “0” to invalidate the entry.
[0019]
The main storage device sends an acceptance confirmation signal to the processing device of the electronic computer in response to a read instruction that can be processed simultaneously among the plurality of read instructions. The read instructions that can be processed simultaneously are stored in the main storage device together with their respective request identifiers. The main storage device sends the request identifier together with the read data designated by the read instruction that allows the read data to be sent.
[0020]
The processing device of the electronic computer discriminates the identification information of the request identifier sent from the main storage device, writes it to the corresponding storage entry if it is read data to the second buffer storage device, and the storage entry Is set to “1”. On the other hand, when it is determined that the discrimination result of the request identifier is reading to the first buffer storage device, the read data is written to the first buffer storage device.
[0021]
The program processed by the processing device of the electronic computer obtains information on which address in the address space of the program the information stored in the second buffer storage device corresponds from the operating system, and sends a response to the read instruction. This information is used by using a memory read instruction to the address. If the response is not obtained from the main memory, the valid bit of the corresponding memory entry in the second buffer memory remains “0”, execution of the program is stopped and a response from the main memory is received. .
[0022]
On the other hand, when the valid bit of the corresponding storage entry of the second buffer storage device is “1”, the memory read request is changed to a read request of the corresponding address of the second buffer storage device, and Read data from the second buffer storage device is sent to the processing device.
[0023]
Here, the configuration reading means may read information relating to the approximate time required for reading from the main storage device and information relating to the number of read instructions that can be processed simultaneously by the main storage device. Further, the processing device discriminates the identification information of the request identifier sent from the main storage device, and if the read data is read data to the second buffer storage device, the read data is stored in the second buffer storage device. If the valid bit of the storage entry is set to “1” along with writing to the corresponding storage entry, and the discrimination result of the request identifier is read data to the first buffer storage device, the read data is set to the first You may make it write in a buffer memory | storage device. Further, the processing device changes the memory read request to a read request of the corresponding address of the second buffer storage device when the valid bit of the corresponding storage entry of the second buffer storage device is “1”. The read data read from the second buffer storage device may be fetched by this read request.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0025]
FIG. 1 shows an embodiment of an electronic computer according to the present invention. The electronic computer system 1 includes a
[0026]
The first buffer storage device 6 is composed of a plurality of
[0027]
As shown in FIG. 1, the second buffer storage device 7 has a plurality of
[0028]
The
[0029]
The operation of the electronic computer configured as described above will be described with reference to FIGS. Here, FIGS. 2 to 5 show examples of flowcharts of processing executed by the above-described electronic computer. FIG. 6 shows a time chart for explaining the operation of the electronic computer described above. In FIG. 6, the
[0030]
In the electronic computer system 1, the configuration reading unit 10 reads out information including the number of storage entries in the second buffer storage device 7 and the size of each storage entry and gives the information to the processing device 2 (STP 101 in FIG. 2, FIG. 6). Time t1).
[0031]
A program to be processed by the
[0032]
Based on the information determined as described above, the
[0033]
When the data read command is issued, the
[0034]
At the same time, the
[0035]
Note that the
[0036]
The
[0037]
Further, if the read instruction can be processed at the same time, it is stored in the
[0038]
When the
[0039]
When the
[0040]
Here, if the data is read data to the second buffer storage device 7 (STP111; YES), write processing is performed on the data area DATA of the corresponding
[0041]
Further, if the discrimination result of the
[0042]
The program processed by the
[0043]
The program then goes to see the valid bit V of the corresponding
[0044]
On the other hand, as a result of the program looking at the valid bit V of the corresponding
[0045]
Therefore, according to the electronic computer system 1 of the present embodiment, it is possible to easily configure electronic computers having different performances in combination with a plurality of main storage devices having different numbers of read requests that can be processed simultaneously. In addition, since the program can determine the configuration and control the optimal instruction issuance, it is possible to achieve the optimal performance with the same program for different performance computers, and the construction of the program library is easy It becomes. Furthermore, in the configuration of a high-performance electronic computer that reads data stored in a storage element that is slower than the processing speed of the electronic computer prior to the calculation, the electronic computer can issue a number of read instructions with a simple circuit configuration. Can be configured easily.
[0046]
The above-described embodiment is an example of a preferred embodiment of the present invention, but is not limited thereto, and various modifications can be made without departing from the scope of the present invention. For example, in the electronic computer system 1 of the present embodiment, the request identifier is assigned to the storage entries of the second buffer storage device 7 out of 128 requests that can be expressed using 7 bits, for example, and the rest. Eight were used for the request of the first buffer storage device 6, but 1-bit information is separately provided for request identification of the first buffer storage device 6 and the second buffer storage device 7. Also good.
[0047]
Further, the configuration reading unit 10 may read information on the approximate time required for reading from the main storage device and information on the number of read instructions that can be processed simultaneously by the main storage device.
[0048]
In addition, as still another embodiment, the first buffer storage device and the second buffer storage device may be allocated to different addresses of the same storage device, or the first buffer storage device and the first buffer storage device Two buffer storage devices may be allocated to separate storage devices.
[0049]
In still another embodiment, in a command for instructing transfer, a data read command instructing transfer of main memory information of the main memory device to the second buffer memory device is used in the second buffer memory device. The transfer destination can be indicated by the storage entry number of the second buffer storage device, can be indicated by a relative address in the address space in which the second buffer storage device is arranged, or the second buffer storage device It can also be indicated by a logical address in the address space arranged in
[0050]
【The invention's effect】
As is apparent from the above description, according to the electronic computer system of the present invention, the processing device determines the number of data that can be stored in the second buffer storage device based on each information read by the configuration reading means, A data read command from the main storage device to the second buffer storage device is given to the main storage device from the determination result, and a plurality of read requests to the main storage device added to the memory read request to the main storage device are identified. A request identifier to be issued to the main storage device, a predetermined value is set in the valid bit indicating the validity of the entry data of the second buffer storage device, and the main storage device transmits the request identifier and the read data by a data read command. The processing device discriminates the identification information of the request identifier, and stores the read data in the first buffer storage device or the second buffer storage device according to the discrimination result. Since the, in combination with co-processable number read request of different main storage, it can be easily configured the computer systems of different performance.
[0051]
In addition, since the program can determine the configuration of the second buffer storage device and control the optimum instruction issuance, it is possible to achieve optimum performance with the same program for electronic computers having different performances. Is easy to construct.
[0052]
Furthermore, there is a high-performance electronic computer configuration that reads out data stored in a storage element that is low in comparison with the processing speed of the electronic computer prior to the operation, and an electronic computer that can issue a number of read instructions with a simple circuit configuration. Easy to build.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of an electronic computer system of the present invention.
FIG. 2 is a flowchart for explaining the processing operation of the read instruction of the electronic computer in the embodiment.
FIG. 3 is a flowchart for explaining the operation of the main storage device of the electronic computer in the embodiment.
FIG. 4 is a flowchart for explaining the write processing operation of the buffer storage device of the electronic computer in the embodiment.
FIG. 5 is a flowchart for explaining processing operations such as acquisition of address information of the electronic computer in the embodiment;
FIG. 6 is a timing chart for explaining the operation of the embodiment;
FIG. 7 is a diagram showing a main memory read request and the like used in the embodiment.
FIG. 8 is a block diagram showing a conventional electronic computer system.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1
Claims (4)
エントリデータの有効を示す有効ビットと主記憶データの複製を格納できる記憶エントリを有しかつ前記主記憶装置の番地の一部に割り付けられた第2のバッファ記憶装置と、
前記第2のバッファ記憶装置の割付番地、記憶エントリ数および各記憶エントリの大きさの各情報を読出す構成読出手段とを具備し、
前記処理装置は、前記構成読出手段で読み出した各情報を基に第2のバッファ記憶装置に格納可能なデータ数を決定し、
その決定結果から前記主記憶装置から前記第2のバッファ記憶装置へのデータ読出命令を前記主記憶装置に与え、尚かつ前記主記憶装置へのメモリ読出要求に付加する前記主記憶装置への複数の読出要求を識別する要求識別子を前記主記憶装置に発行するとともに前記第2のバッファ記憶装置のエントリデータの有効を示す有効ビットに所定値をセットし、
前記主記憶装置は、データ読出命令により前記要求識別子と読出データを送出し、
前記処理装置は、前記要求識別子の識別情報を弁別し、その弁別結果に応じて前記第1のバッファ記憶装置あるいは前記第2のバッファ記憶装置に前記読出データを格納するようにしたことを特徴とする電子計算機システム。A processing device that executes various processes; a main storage device that stores predetermined data and a processing program; and a first buffer storage device that stores a copy of the main storage data of the main storage device. An electronic computer system with reduced data read overhead from the apparatus,
A second buffer storage device having a valid entry indicating the validity of the entry data and a storage entry capable of storing a copy of the main storage data and allocated to a part of the address of the main storage device;
A configuration reading means for reading each information of the allocation address, the number of storage entries, and the size of each storage entry of the second buffer storage device;
The processing device determines the number of data that can be stored in the second buffer storage device based on each information read by the configuration reading means,
From the determination result, a plurality of instructions to the main storage device are given to the main storage device by a data read command from the main storage device to the second buffer storage device, and added to the memory read request to the main storage device Issuing a request identifier for identifying the read request to the main storage device and setting a predetermined value to a valid bit indicating the validity of the entry data of the second buffer storage device,
The main storage device sends the request identifier and read data by a data read command,
The processing device discriminates the identification information of the request identifier, and stores the read data in the first buffer storage device or the second buffer storage device according to the discrimination result. Electronic computer system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05071797A JP3799451B2 (en) | 1997-03-05 | 1997-03-05 | Electronic computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05071797A JP3799451B2 (en) | 1997-03-05 | 1997-03-05 | Electronic computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10247162A JPH10247162A (en) | 1998-09-14 |
JP3799451B2 true JP3799451B2 (en) | 2006-07-19 |
Family
ID=12866645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05071797A Expired - Fee Related JP3799451B2 (en) | 1997-03-05 | 1997-03-05 | Electronic computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3799451B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5040121B2 (en) * | 2006-02-24 | 2012-10-03 | 日本電気株式会社 | Information processing apparatus, cache control method, and program |
-
1997
- 1997-03-05 JP JP05071797A patent/JP3799451B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10247162A (en) | 1998-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5598550A (en) | Cache controller for processing simultaneous cache accesses | |
US5530835A (en) | Computer memory data merging technique for computers with write-back caches | |
JPH06318174A (en) | Cache memory system and method for performing cache for subset of data stored in main memory | |
JPWO2006134804A1 (en) | External device access device | |
JP4097883B2 (en) | Data transfer apparatus and method | |
JP3164732B2 (en) | Data processing device | |
JPH0410102B2 (en) | ||
JP3799451B2 (en) | Electronic computer system | |
JP4388005B2 (en) | Context switching device | |
JP3505728B2 (en) | Storage controller | |
EP0943998B1 (en) | Cache memory apparatus | |
JP2927160B2 (en) | Register device | |
JP3039391B2 (en) | Memory system | |
JPH06149669A (en) | System and device for transferring cache data | |
JPH06103477B2 (en) | Parallel cache memory | |
JP3219810B2 (en) | Data processing device | |
JPH07152650A (en) | Cache control unit | |
JP2001229074A (en) | Memory controller and information processor and memory control chip | |
JPH0447350A (en) | Main storage read/response control | |
JP2588547B2 (en) | Multi CPU system | |
JP2001256169A (en) | Data transfer control system and device | |
JPS6266350A (en) | Cache memory | |
JPS602704B2 (en) | buffer memory device | |
JPH06124235A (en) | Cache control system | |
JPH0496155A (en) | Storage control method and data processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040303 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060315 |
|
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: 20060329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060407 |
|
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: 20100512 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |