JP2004005710A - 情報処置装置 - Google Patents
情報処置装置 Download PDFInfo
- Publication number
- JP2004005710A JP2004005710A JP2003177453A JP2003177453A JP2004005710A JP 2004005710 A JP2004005710 A JP 2004005710A JP 2003177453 A JP2003177453 A JP 2003177453A JP 2003177453 A JP2003177453 A JP 2003177453A JP 2004005710 A JP2004005710 A JP 2004005710A
- Authority
- JP
- Japan
- Prior art keywords
- memory reference
- memory
- request
- reference request
- 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.)
- Pending
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
【目的】内部に共有バッファを有し、単数もしくは複数の命令処理装置から送られるメモリ参照要求を処理する記憶制御装置を備えた情報処理装置において、メモリ参照要求の待ち時間を低減する。
【構成】共有バッファ8のミスなどによりあるメモリ参照要求20,21が待たされた場合に、同一命令処理装置1,2から送られる後続メモリ参照要求の追い越し処理の可否を判定する順序保証判定部39を設け、所定のメモリ参照順序が保証される場合に後続のメモリ参照要求を先に処理する。順序保証判定のために、メモリ参照要求に含まれるメモリ参照アドレス,命令処理装置1,2の識別子,メモリ参照要求の種類,命令順序判定番号を用いる。
【選択図】図1
【構成】共有バッファ8のミスなどによりあるメモリ参照要求20,21が待たされた場合に、同一命令処理装置1,2から送られる後続メモリ参照要求の追い越し処理の可否を判定する順序保証判定部39を設け、所定のメモリ参照順序が保証される場合に後続のメモリ参照要求を先に処理する。順序保証判定のために、メモリ参照要求に含まれるメモリ参照アドレス,命令処理装置1,2の識別子,メモリ参照要求の種類,命令順序判定番号を用いる。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は、主記憶のデータの写しを保持するバッファを内部に保持し、単数または複数の命令処理装置から送られるメモリ参照要求を処理する記憶制御装置を備えた情報処置装置に係り、特に、記憶制御装置の高速化技術に関する。
【0002】
【従来の技術】
まず初めに、本発明に関連するデータ処理システムの構成と記憶制御装置の動作について図3を用いて説明する。データ処理システムは、命令処理装置1〜2,記憶制御装置5,主記憶装置7で構成される。記憶制御装置は、主記憶のデータの写しをブロックと呼ばれる単位で保持する共有バッファ8、共有バッファに保持されるデータのアドレスなどの情報を保持するアドレスアレイ42などを内部に有する。各命令処理装置から記憶制御装置に対し、命令の読みだし要求(IF),メモリオペランドの読みだし要求(OF),メモリオペランドの書き込み要求(ST)の3種類のメモリ参照要求が発行される。記憶制御装置は各メモリ参照要求に応じて、それに対応する処理を複数のステージ(P,J0,J1,NC)に分けて実行する。
【0003】
記憶制御装置は、メモリ参照要求を受け付けるキュー20〜21を各命令処理装置に対応して備え、キューは命令処理装置から送られるメモリ参照要求を到着順に保持する。各キューの先頭に保持されるメモリ参照要求の中から1マシンサイクル毎に一つを選択し、セレクタ40を通してレジスタ23に送る。以下、この処理をPステージと呼ぶ。
【0004】
次に、Pステージで選択されたメモリ参照要求はセレクタ41を通ってアドレスアレイ42に送られる。通常セレクタ41はレジスタ23のメモリ参照要求を選択するように制御される。アドレスアレイには共有バッファ8に保持されるデータブロックのアドレスが保持され、メモリ参照要求に含まれる参照アドレスと比較することにより、データの有無を判定する。この処理を、以下、J0ステージと呼ぶ。
【0005】
共有バッファに必要なデータがあった場合(この場合をヒットと呼ぶ)、メモリ参照要求はレジスタ26に送られる。そこで共有バッファ8を参照する。読みだし要求であれば、読みだしたデータをレジスタ28に格納し、メモリ参照要求を発行した命令処理装置に転送する。書き込み要求であればメモリ参照要求に含まれる書き込みデータを共有バッファに書き込む。この処理を、以下、J1ステージと呼ぶ。
【0006】
共有バッファに必要なデータがなかった場合(この場合をミスと呼ぶ)、レジスタ23のメモリ参照要求は、主記憶参照待ち部25に送られ、主記憶装置7にデータ転送要求を発行する。メモリ参照要求は主記憶から必要なデータが共有バッファに転送されるまで主記憶参照待ち部に保持される。この処理を、以下、NCステージと呼ぶ。なお主記憶装置から送られる応答85に応じて、セレクタ41は主記憶参照待ち部側を選択し、主記憶参照待ち部25のメモリ参照要求はレジスタ26に送られ、J1ステージの処理が行なわれる。
【0007】
このようなメモリ参照要求の制御は、メモリ参照要求遷移制御部30によってなされる。
【0008】
共有バッファを持つデータ処理システムにおいて、一般に主記憶参照に要するマシンサイクル数は数十マシンサイクルかかるため、この待ち時間は大きい。あるメモリ参照要求が主記憶装置から必要なデータを転送されるまで待っている間に、後続メモリ参照要求を待たせることなく処理すること(追い越し処理)により、記憶制御装置の性能を向上させることができる。
【0009】
一方、同じ命令処理装置から送られるメモリ参照要求には、処理する順序をある定められた範囲内で守ることが要求されることが多い。例えばIBM社、370/エックス エー プリンシプル オブ オペレーション’(370/XAPrinciple of Operation’)には、「メモリへの書き込みが命令の実行順序に従っていないことが、主記憶に接続されている他の命令処理装置から観測されないことを保証する」と記されている。この例では命令の実行順序に対し図5に示すようにメモリ参照順序を守る必要がある。通常、これは命令処理装置側で守られるので、記憶制御装置はメモリ参照要求を受付順に処理すればよい。しかし、高速化のために記憶制御装置の内部で追い越し処理を実現しようとすると、その中でメモリ参照順序を保証しなくてはならない。このため、例えば図6に示すような表を用いて、共有バッファのミスなどにより処理が待たされた先行メモリ参照要求の種類と、同じ命令処理装置から送られる後続メモリ参照要求の種類との組み合わせに応じて、追い越しの可否を判定する必要がある。なお、図6において、無効欄は対応するメモリ参照要求がない場合を示し、ハッチングがかかっている欄はメモリ参照要求の発行順序と命令の実行順序が一致するように命令処理装置側で保証する組み合わせを示す。
【0010】
メモリ参照要求を送った命令処理装置が異なる場合に、メモリ参照要求の追い越しを実現する例として特許文献1がある。ここではメモリ参照要求遷移制御部30の内部に追い越し判定部34を設け、メモリ参照要求に含まれる要求元番号(命令処理装置の識別子)を用いて要求元番号が異なる場合に追い越し可能指示信号37を生成することにより、ミスを生じたメモリ参照要求を別の命令処理装置から送られるメモリ参照要求が追い越して処理する例が示されている。この例では、ある命令処理装置から送られたメモリ参照要求がミスすると、主記憶装置から必要なデータが共有バッファに転送されて処理が再開されるまで各命令処理装置に対応させて設けたキューを単位にメモリ参照要求の選択を抑止することにより、同じ命令処理装置から送られるメモリ参照要求を到着順に処理する。またこの例では、共有バッファのヒットミス判定に時間がかかるため、ヒットすることを仮定してメモリ参照要求を選択し、ミスした場合はキューに戻している。
【0011】
図4に追い越し処理のタイムチャートを示す。命令処理装置0から送られたメモリ参照要求1がクロックサイクルT2でミスと判定され、T3でNCステージに遷移する。このため続けて選択されたメモリ参照要求2は、仮にメモリ参照要求1を追い越しても所定のメモリ参照順序が保証される場合であってもPステージに戻され、メモリ参照要求1がNCステージにいる間(T8まで)Pステージで待たされる。一方、命令処理装置1から送られたメモリ参照要求3はメモリ参照順序を保証する必要がないため、メモリ参照要求1,2を追い越すことができる。
【特許文献1】
特開昭61−20153号公報
【0012】
【発明が解決しようとする課題】
先に述べたように所定のメモリ参照順序が保証されるならば、記憶制御装置の内部において同じ命令処理装置から送られるメモリ参照要求の間で追い越すことができる。追い越すことができれば、メモリ参照要求の記憶制御装置内部での待ち時間を減らすことができる。しかし従来例では、追い越した場合にメモリ参照順序を保証できないため、追い越すことのできる範囲を悪目に制限している。
【0013】
本発明の目的は、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越しを可能にすることにより、メモリ参照要求を高速に処理できる記憶制御装置を備えた情報処理装置を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明に示される情報処理装置は、命令処理部と、主記憶のデータの写しを保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備える。
【0015】
さらに本発明の一つの態様では、命令処理部と、主記憶のデータの写しをストアイン方式で保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に、後続するメモリ書き込み要求がヒットしても先行するメモリ書き込み要求を追い越すことができないが、後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備える。
【0016】
順序制御部を備えたことにより、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越しが可能になる。
【0017】
【発明の実施の形態】
まず初めに、本発明の第1の実施例について図1を用いて説明する。本発明に示される記憶制御装置の構成は図3で説明した従来例と類似しているので、相異点を中心に説明する。
【0018】
各命令処理装置から送られるメモリ参照要求は、先に述べたように、共有バッファがヒットした場合、P,J0,J1ステージという順に処理され、ミスした場合はP,J0,NC,J1ステージという順に処理される。なお以下の説明において、Pステージは各命令処理装置毎に定められるため、命令処理装置の番号をPの後に付けて区別する場合がある。ミスしたメモリ参照要求を保持する主記憶参照待ち部25(NCステージに相当)には複数のメモリ参照要求を保持することができる。待ち部25に保持されるメモリ参照要求は、到着順に主記憶に対してデータ転送要求を送り、必要なデータが共有バッファに転送されるまでそこに保持される。
【0019】
追い越し処理はレジスタ23に保持されるメモリ参照要求が待ち部25に保持されるメモリ参照要求よりも先に保持部26に遷移することにより実現される。このため、追い越しの可否はレジスタ23に保持されるメモリ参照要求と待ち部25に保持される全てのメモリ参照要求とを比較し、可と判定された場合にレジスタ23に保持されるメモリ参照要求を保持部26に遷移させる。このようなメモリ参照要求の遷移はメモリ参照要求遷移制御部30で制御され、追い越しの可否の判定は追い越し判定部33で判定される。
【0020】
メモリ参照要求には、参照アドレスと、要求元番号(命令処理装置の識別子)と、命令の読みだし要求(IF),メモリオペランドの読みだし要求(OF),メモリオペランドの書き込み要求(ST)のいずれかを示すメモリ参照要求の種類と、命令順序判定番号と、メモリオペランドの書き込み要求(ST)の場合は書き込みデータとが付加されて、各ステージを遷移する。命令順序判定番号は、そのメモリ参照要求を発行した命令の実行順序を示し、追い越しの可否を判定するために使われる。命令順序判定番号は、例えば、命令の実行順に従って番号を付けることにより生成できる。
【0021】
実施例1と従来例とは追い越し判定部の構成が異なる。図7は実施例1の追い越し判定部33の構成を、図8は従来例の追い越し判定部34の構成を示す。従来例では要求元番号のみを用いて追い越しの可否を判定していたのに対し、実施例1では要求元番号に加えて、参照アドレス,メモリ参照要求の種類,命令順序判定番号を用いて追い越しの可否を判定する。
【0022】
従来例の追い越し判定部34はレジスタ23に保持されるメモリ参照要求保持情報35と待ち部25に保持されるメモリ参照要求保持情報36からそれぞれ要求元番号を引き出して比較し、待ち部25に保持される有効なメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置とが異なる場合に、追い越し可能指示信号37を1(有効)にする。
【0023】
実施例1の追い越し判定部33は、待ち部25に保持される有効なメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置とが異なる場合に加えて、それ以外の場合、すなわち、待ち部25に保持されるメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置が同じ場合についても、所定の条件を満たす場合に追い越し可能指示信号37を1にする。これは順序保証判定部39で制御される。
【0024】
所定の条件は命令処理装置の仕様に依存するので、ここでは一例として、図6に示される条件を満たす追い越し判定部の構成を示す。図6に示される記号は図7(a)に示されるPCで符号化される。
【0025】
PCが1の場合、レジスタ23に保持される後続メモリ参照要求は追い越しできないと判定されるので、順序保証判定部39は0(無効)を出力する。PCが1になる場合は、図5に示されるように、メモリ参照要求の発行順序と命令の実行順序を一致させる必要があり、また図6に示されるように命令処理装置側でメモリ参照要求の発行順序と命令の実行順序を一致させてメモリ参照要求が発行されるため、記憶制御装置内で追い越しすることはできない。
【0026】
PCが2の場合、アドレスの競合がない(参照するデータ領域が重ならない)場合に追い越しが許可されるので、アドレス不一致指示信号103を出力する。アドレス不一致指示信号はアドレス競合がない場合に1を出力する。アドレス競合の検出は、例えば、レジスタ23に保持されるメモリ参照要求が参照する共有バッファのデータブロックのアドレスと待ち部25に保持されるメモリ参照要求が参照する共有バッファのデータブロックのアドレスとを比較することにより判定できる。PCが2になる場合は、図6に示されるように命令処理装置側でメモリ参照要求の発行順序と命令の実行順序を一致させてメモリ参照要求が発行されるが、図5に示されるように、アドレスの競合がない場合に追い越しが認められているため、アドレスの競合がない場合に限って追い越しを許可する。
【0027】
PCが3の場合、メモリ参照要求の発行順序と命令の実行順序が正しい場合と逆転している場合で動作が異なる。正しい場合は図5に示されるように追い越しが禁止されているため0を出力する。逆転している場合は、追い越しによりメモリ参照要求の発行順序と命令の実行順序が正しくなるので1を出力する。PCが3になる場合は、命令処理装置の内部でアドレス競合がないため追い越し可能と判定され、後続命令のOFメモリ参照要求が先行命令のSTメモリ参照要求を追い越した場合に生じる。この例では、命令順序判定番号を比較することにより順序関係を判定し、メモリ参照要求の発行順序と命令の実行順序が逆転している場合に1を出力する命令順序逆転指示信号104を用いている。
【0028】
PCが4の場合、追い越し可能と判定されるため1を出力する。PCが4になる場合は、先行メモリ参照要求がない場合とメモリ参照要求の種類がIFの場合である。先行メモリ参照要求がない場合は追い越しされるメモリ参照要求が存在しないが、レジスタ23に保持されるメモリ参照要求を保持部26に遷移させるため1を出力する。またメモリ参照要求の種類がIFの場合は、図5に示されるように追い越し可能であるので1を出力する。
【0029】
このようにして、実施例1の追い越し判定部はメモリ参照要求の発行順序と命令の実行順序に関して所定の条件を満たしながら、追い越しの可否を判定している。実施例1では追い越し条件を詳細に判定するために、メモリ参照アドレス,メモリ参照要求の種類,命令順序判定番号を用いていたが、その一部を用いることもできる。ただしこの場合は追い越しのできる範囲が多少制限されてしまうが、従来例よりは追い越しのできる範囲は広い。例えば、メモリ参照要求の種類のみを用いた場合は、メモリ参照要求の種類がIFの場合のみ、すなわち、PCが4の場合のみ追い越しするようにできる。またメモリ参照要求の種類と参照アドレスを用いた場合は、PCが2の場合と4の場合に追い越しするようにできる。さらにまたメモリ参照要求の種類と命令順序判定番号を用いた場合は、PCが3の場合と4の場合に追い越しするようにできる。メモリ参照要求の発行順序と命令の実行順序に関する所定の条件は命令処理装置の仕様に依存するので、命令処理装置の仕様に合わせて図6に示されるような追い越し判定表を定義することにより、他の仕様であっても追い越し処理を実現できる。
【0030】
次に、先行メモリ参照要求がミスしたときに、同一要求元からの後続のメモリ参照要求が図6に示される所定の条件を満たさず、追い越しを行なわない場合の動作を図4を用いて説明する。
【0031】
命令処理装置0から送られT1のタイミングでキュー20に保持されたメモリ参照要求1は、セレクタ40に選択されて、T2のタイミングでレジスタ23に遷移する。T2において主記憶からの応答はないのでJ1選択回路はJ0側を選ぶように指示する。これを受けてメモリ参照要求1はセレクタ41を通ってアドレスアレイ42に伝えられる。アドレスアレイを検索した結果、メモリ参照要求1はミスと判定されミス指示信号52(MISS)は1となる。この時、NCにはメモリ参照要求が存在しないので待ち部25キュー全使用中指示信号51(NCFULL)は0,J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であるので、図9に示す遷移先決定部の論理回路により、待ち部25入力ポインタ更新指示信号81(NCS)が1となる。これを受けて、T3ではメモリ参照要求1は待ち部キュー25へ遷移する。メモリ参照要求1が待ち部25に遷移すると、主記憶7に必要なデータの転送要求を発行する。T8でNC処理終了信号85が送られると、J1選択回路は待ち部25を選択し、待ち部25選択指示信号76(NCSEL)を1にする。それを受けて、図9の論理回路により保持部26セット信号82(J1S)が1となるので、メモリ参照要求1がT9で保持部26に遷移して共有バッファを参照する。
【0032】
次に命令処理装置0から送られT2のタイミングでキュー20に保持されたメモリ参照要求2は、T3のタイミングでレジスタ23に遷移する。ここでキュー25に保持されるメモリ参照要求の要求元とレジスタ23に保持されるメモリ参照要求の要求元が等しいため、要求元非同一指示信号101は0となる。更にメモリ参照要求の種類の組み合わせを図6に示される表を用いて調べた結果、追い越し可能指示信号37は0となり追い越しが不可と判定される。この場合として種々の場合が考えられるが、先に追い越しが不可になる場合を説明したので省略する。ここで、アドレスアレイ42の検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であり、レジスタ23に保持されるメモリ参照要求2は命令処理装置0から送られたことがレジスタ23に保持されるメモリ参照要求保持情報35を調べることにより分かるので、図9に示す遷移先決定部の論理回路により、P0ステージ出力ポインタ戻し指示信号77(P0R)が1となる。これを受けて、P0ステージの出力ポインタが戻され、T4ではメモリ参照要求2はP0ステージに差し戻されることになる。差し戻されたメモリ参照要求2は、T8のタイミングで主記憶からメモリ参照要求1に対するNC処理終了信号85が返るので、J0選択回路46の制御に従いT9で再度レジスタ23に遷移する。T9ではNCに保持されるメモリ参照要求はないため追い越し可能信号37は1となり、アドレスアレイの検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であるので、図9に示す遷移先決定部の論理回路により、保持部26セット信号82(J1S)が1となる。これを受けてメモリ参照要求2はT10で保持部26に遷移して共有バッファを参照する。
【0033】
命令処理装置1から送られT3のタイミングでキュー21に保持されたメモリ参照要求3は、T4のタイミングでレジスタ23に遷移する。このときレジスタ23に保持されるメモリ参照要求の要求元と待ち部25に保持されるメモリ参照要求の要求元とが異なるために、要求元非同一指示信号101が1となり追い越し可能指示信号37は1となる。これを受けてメモリ参照要求3はT4のタイミングで保持部26に遷移して共有バッファを参照する。
【0034】
以上、同一命令処理装置から送られるメモリ参照要求が追い越しできない場合の動作を説明した。この動作は従来例と同じである。
【0035】
次に実施例1に特有の動作例すなわち、図6に示される所定の条件を満たすため、追い越しする場合の動作を図11を用いて説明する。ここでは図4に示されるようにメモリ参照要求が到着した場合に、メモリ参照要求2が追い越し可能と判定された場合の動作について、特にT3におけるメモリ参照要求2の動作について詳細に説明する。
【0036】
メモリ参照要求2はT3のタイミングでキュー20からレジスタ23に遷移する。ここでキュー25に保持されるメモリ参照要求の要求元とレジスタ23に保持されるメモリ参照要求の要求元が等しいため、要求元非同一指示信号101は0となる。しかしメモリ参照要求の種類の組み合わせを図6に示される表を用いて調べた結果、先に仮定したように、追い越し可能指示信号37は1となり追い越し可能と判定される。例えば、追い越し可能範囲指示信号102の値が4の場合に追い越し可能と判定される。ここで、アドレスアレイ42の検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示す選択指示信号75(J0SEL)は1であるので、セット信号82(J1S)が1となる。これを受けてメモリ参照要求2はT4で保持部26に遷移して共有バッファを参照することができる。
【0037】
実施例1の説明の最後にP0,P1,NCステージのキューのポインタを制御するポインタ制御部について図15を用いて説明する。ポインタ制御部は、入力ポインタ指示レジスタ133,出力ポインタ指示レジスタ134を内部に持つ。これらがキューのどのエントリに入力されるデータを保持すべきか、またキューのどのエントリからデータを出力すべきかを指定する。入力ポインタ指示レジスタ133,出力ポインタ指示レジスタ134の値により、キューが全て使用中であることを判定するキュー全使用中(FULL)判定部136、およびキュー内に保持しているメモリ参照要求の数を判定する保持要求数判定部135が設けられる。入力ポインタ更新指示信号120が1となったとき、入力ポインタ指示レジスタ133の値が1加算回路130により更新される。出力ポインタ更新指示信号121が1となると、出力ポインタ指示レジスタ134の値が1加算回路131により更新される。また、出力ポインタ後退指示信号122が1となると、出力ポインタ指示レジスタ134の値が1減算回路132により戻されることになる。出力ポインタ更新指示信号121と出力ポインタ後退指示信号122が同時に発行された場合には、後退指示信号を優先する。
【0038】
次に本発明の第2の実施例について図2を用いて説明する。
【0039】
実施例2は実施例1の不具合点を解消する。実施例1ではレジスタ23に保持されるメモリ参照要求と待ち部25に保持されるメモリ参照要求を比較し、追い越し不可と判定された場合にキュー20または21に戻される。また特に説明しなかったがメモリ参照要求がミスしたが待ち部25が一杯のため待ち部25に遷移できない場合にキュー20または21に戻される。このため一度キュー20または21に戻されると、主記憶から応答が返り再度選択されるまで、戻されたメモリ参照要求と、それに後続するメモリ参照要求が待たされることになる。そこで実施例2では先行要求処理待ち部24を設け、実施例1において戻されていたメモリ参照要求をそこに保持する。これによりそれに後続するリクエストがレジスタ23に遷移できるので、追い越し処理ができる場合を増やすことができる。
【0040】
実施例2では先行要求処理待ち部24(PRWステージ)を設けたため、実施例1の動作に加えて、レジスタ23から待ち部24に遷移する場合と、待ち部24からレジスタ23に遷移する場合がある。これらは遷移先決定部32、およびJ0選択回路44で制御される。遷移先決定部32の回路構成を図10に示す。また追い越し可否は待ち部25に保持されるメモリ参照要求に加えて、待ち部24に保持されるメモリ参照要求に対して判定する必要がある。このため追い越し判定部には待ち部24および待ち部25に保持されるメモリ参照要求保持情報36を入力している。
【0041】
まず、図12を用いて、同一命令処理装置から送られるメモリ参照要求が追い越しできず、待ち部24に遷移する場合の動作を説明する。ここでは図4に示されるようにメモリ参照要求が到着した場合に、メモリ参照要求2が追い越し不可と判定された場合の動作について、特にT3におけるメモリ参照要求2の動作について説明する。
【0042】
メモリ参照要求2はT3のタイミングでキュー20からレジスタ23に遷移する。先に仮定したように、追い越し可能指示信号37は0となり追い越し不可と判定される。ここで、アドレスアレイ42の検索結果はヒット、すなわちミス指示信号52は0であり、待ち部24に保持されるメモリ参照要求はないので待ち部24キュー全使用中指示信号50も0であるので、図10に示す遷移先決定部の論理回路により、待ち部24入力ポインタ更新指示信号(PRS)が1となる。これを受けてメモリ参照要求2はT4で待ち部24に遷移する。なお待ち部24が一杯の場合はキュー20出力ポインタ戻し指示信号77(P0R)が1になるのでキュー20に戻される。T8のタイミングで主記憶からメモリ参照要求1に対するNC処理終了信号85が返るので、J0選択回路44は待ち部24にメモリ参照要求があることを認識して、T9でメモリ参照要求2を再度レジスタ23に遷移させる。J0選択回路44は、通常はキュー20または21に保持されるメモリ参照要求をある優先順位に基づいて選択するが、NC処理終了信号85を受けると、その時に待ち部24に保持されているメモリ参照要求を優先的に処理する。後の動作は図4に示される動作と同じである。
【0043】
図13は実施例1において図4に示されるようにメモリ参照要求が到着し、さらにT4のタイミングにおいて、命令処理装置0から送られるメモリ参照要求4を受け付けた場合の動作を示す。この例ではメモリ参照要求4がメモリ参照要求1ないしメモリ参照要求4を追い越し可能であったとしても、メモリ参照要求2にブロックされてしまう。これに対し、実施例2では図14に示すように、図13と同じ様にメモリ参照要求が到着しても、メモリ参照要求2は追い越し不可と判定されると待ち部24に遷移するため、メモリ参照要求4はT5で追い越しの可否を判定し、追い越し可能な場合に保持部26に遷移することができる。このように実施例2では実施例1に比べ、追い越しできる場合を増やすことができる。
【0044】
【発明の効果】
本発明により、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越し処理が可能になるので、メモリ参照要求が高速に処理される。よって記憶制御装置とそれに接続された命令処理装置からなるデータ処理システムの性能が向上する。
【0045】
特に命令処理装置から送られるメモリ参照要求に含まれる命令処理装置の識別子,メモリ参照要求の種類,命令順序判定番号の全て、もしくはその一部を用いて追い越しの許可,不許可を詳細に判定することにより、追い越しのできる場合を増やすことができるので、さらに性能が向上する。
【図面の簡単な説明】
【図1】本発明の実施例1のブロック図である。
【図2】本発明の実施例2のブロック図である。
【図3】従来例のブロック図である。
【図4】追い越し処理をしない場合の動作例の説明図である。
【図5】命令間のメモリ参照順序規定の例の説明図である。
【図6】メモリ参照要求間のメモリ参照順序規定の例の説明図である。
【図7】追い越し判定部の実施例の説明図である。
【図8】追い越し判定部の従来例の説明図である。
【図9】従来例および実施例1の遷移先決定部の論理回路の説明図である。
【図10】実施例2の遷移先決定部の論理回路の説明図である。
【図11】追い越し処理をする場合の動作例の説明図である。
【図12】実施例2の動作例の説明図である。
【図13】実施例1において追い越し処理ができない場合の動作例の説明図である。
【図14】実施例2において追い越し処理をする場合の動作例の説明図である。
【図15】ポインタ制御部の論理回路のブロック図である。
【符号の説明】
1,2…命令処理装置、7…主記憶装置、8…共有バッファ、20,21…メモリ参照要求キュー、23…レジスタ、25…主記憶参照待ち部、26…メモリ参照要求保持部、28…読みだしデータレジスタ、30…メモリ参照要求遷移制御部、31…遷移先決定部、33,34…追い越し判定部、35,36…メモリ参照要求保持情報、37…追い越し可能指示信号、38…要求元不一致判定部、39…順序保証判定部、40,41…セレクタ、42…共有バッファ用アドレスアレイ、43…ヒット/ミス判定回路、45,46…選択回路、51…キュー全使用中指示信号、52…ミス指示信号、68,69…入力ポインタ制御信号、70,71…選択元指示信号、72,75,76…選択指示信号、77,78…出力ポインタ戻し指示信号、79,82…セット信号、81…入力ポインタ更新指示信号、85…NC処理終了信号、86…共有バッファ書き込み中指示信号
【発明の属する技術分野】
本発明は、主記憶のデータの写しを保持するバッファを内部に保持し、単数または複数の命令処理装置から送られるメモリ参照要求を処理する記憶制御装置を備えた情報処置装置に係り、特に、記憶制御装置の高速化技術に関する。
【0002】
【従来の技術】
まず初めに、本発明に関連するデータ処理システムの構成と記憶制御装置の動作について図3を用いて説明する。データ処理システムは、命令処理装置1〜2,記憶制御装置5,主記憶装置7で構成される。記憶制御装置は、主記憶のデータの写しをブロックと呼ばれる単位で保持する共有バッファ8、共有バッファに保持されるデータのアドレスなどの情報を保持するアドレスアレイ42などを内部に有する。各命令処理装置から記憶制御装置に対し、命令の読みだし要求(IF),メモリオペランドの読みだし要求(OF),メモリオペランドの書き込み要求(ST)の3種類のメモリ参照要求が発行される。記憶制御装置は各メモリ参照要求に応じて、それに対応する処理を複数のステージ(P,J0,J1,NC)に分けて実行する。
【0003】
記憶制御装置は、メモリ参照要求を受け付けるキュー20〜21を各命令処理装置に対応して備え、キューは命令処理装置から送られるメモリ参照要求を到着順に保持する。各キューの先頭に保持されるメモリ参照要求の中から1マシンサイクル毎に一つを選択し、セレクタ40を通してレジスタ23に送る。以下、この処理をPステージと呼ぶ。
【0004】
次に、Pステージで選択されたメモリ参照要求はセレクタ41を通ってアドレスアレイ42に送られる。通常セレクタ41はレジスタ23のメモリ参照要求を選択するように制御される。アドレスアレイには共有バッファ8に保持されるデータブロックのアドレスが保持され、メモリ参照要求に含まれる参照アドレスと比較することにより、データの有無を判定する。この処理を、以下、J0ステージと呼ぶ。
【0005】
共有バッファに必要なデータがあった場合(この場合をヒットと呼ぶ)、メモリ参照要求はレジスタ26に送られる。そこで共有バッファ8を参照する。読みだし要求であれば、読みだしたデータをレジスタ28に格納し、メモリ参照要求を発行した命令処理装置に転送する。書き込み要求であればメモリ参照要求に含まれる書き込みデータを共有バッファに書き込む。この処理を、以下、J1ステージと呼ぶ。
【0006】
共有バッファに必要なデータがなかった場合(この場合をミスと呼ぶ)、レジスタ23のメモリ参照要求は、主記憶参照待ち部25に送られ、主記憶装置7にデータ転送要求を発行する。メモリ参照要求は主記憶から必要なデータが共有バッファに転送されるまで主記憶参照待ち部に保持される。この処理を、以下、NCステージと呼ぶ。なお主記憶装置から送られる応答85に応じて、セレクタ41は主記憶参照待ち部側を選択し、主記憶参照待ち部25のメモリ参照要求はレジスタ26に送られ、J1ステージの処理が行なわれる。
【0007】
このようなメモリ参照要求の制御は、メモリ参照要求遷移制御部30によってなされる。
【0008】
共有バッファを持つデータ処理システムにおいて、一般に主記憶参照に要するマシンサイクル数は数十マシンサイクルかかるため、この待ち時間は大きい。あるメモリ参照要求が主記憶装置から必要なデータを転送されるまで待っている間に、後続メモリ参照要求を待たせることなく処理すること(追い越し処理)により、記憶制御装置の性能を向上させることができる。
【0009】
一方、同じ命令処理装置から送られるメモリ参照要求には、処理する順序をある定められた範囲内で守ることが要求されることが多い。例えばIBM社、370/エックス エー プリンシプル オブ オペレーション’(370/XAPrinciple of Operation’)には、「メモリへの書き込みが命令の実行順序に従っていないことが、主記憶に接続されている他の命令処理装置から観測されないことを保証する」と記されている。この例では命令の実行順序に対し図5に示すようにメモリ参照順序を守る必要がある。通常、これは命令処理装置側で守られるので、記憶制御装置はメモリ参照要求を受付順に処理すればよい。しかし、高速化のために記憶制御装置の内部で追い越し処理を実現しようとすると、その中でメモリ参照順序を保証しなくてはならない。このため、例えば図6に示すような表を用いて、共有バッファのミスなどにより処理が待たされた先行メモリ参照要求の種類と、同じ命令処理装置から送られる後続メモリ参照要求の種類との組み合わせに応じて、追い越しの可否を判定する必要がある。なお、図6において、無効欄は対応するメモリ参照要求がない場合を示し、ハッチングがかかっている欄はメモリ参照要求の発行順序と命令の実行順序が一致するように命令処理装置側で保証する組み合わせを示す。
【0010】
メモリ参照要求を送った命令処理装置が異なる場合に、メモリ参照要求の追い越しを実現する例として特許文献1がある。ここではメモリ参照要求遷移制御部30の内部に追い越し判定部34を設け、メモリ参照要求に含まれる要求元番号(命令処理装置の識別子)を用いて要求元番号が異なる場合に追い越し可能指示信号37を生成することにより、ミスを生じたメモリ参照要求を別の命令処理装置から送られるメモリ参照要求が追い越して処理する例が示されている。この例では、ある命令処理装置から送られたメモリ参照要求がミスすると、主記憶装置から必要なデータが共有バッファに転送されて処理が再開されるまで各命令処理装置に対応させて設けたキューを単位にメモリ参照要求の選択を抑止することにより、同じ命令処理装置から送られるメモリ参照要求を到着順に処理する。またこの例では、共有バッファのヒットミス判定に時間がかかるため、ヒットすることを仮定してメモリ参照要求を選択し、ミスした場合はキューに戻している。
【0011】
図4に追い越し処理のタイムチャートを示す。命令処理装置0から送られたメモリ参照要求1がクロックサイクルT2でミスと判定され、T3でNCステージに遷移する。このため続けて選択されたメモリ参照要求2は、仮にメモリ参照要求1を追い越しても所定のメモリ参照順序が保証される場合であってもPステージに戻され、メモリ参照要求1がNCステージにいる間(T8まで)Pステージで待たされる。一方、命令処理装置1から送られたメモリ参照要求3はメモリ参照順序を保証する必要がないため、メモリ参照要求1,2を追い越すことができる。
【特許文献1】
特開昭61−20153号公報
【0012】
【発明が解決しようとする課題】
先に述べたように所定のメモリ参照順序が保証されるならば、記憶制御装置の内部において同じ命令処理装置から送られるメモリ参照要求の間で追い越すことができる。追い越すことができれば、メモリ参照要求の記憶制御装置内部での待ち時間を減らすことができる。しかし従来例では、追い越した場合にメモリ参照順序を保証できないため、追い越すことのできる範囲を悪目に制限している。
【0013】
本発明の目的は、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越しを可能にすることにより、メモリ参照要求を高速に処理できる記憶制御装置を備えた情報処理装置を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するため、本発明に示される情報処理装置は、命令処理部と、主記憶のデータの写しを保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備える。
【0015】
さらに本発明の一つの態様では、命令処理部と、主記憶のデータの写しをストアイン方式で保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に、後続するメモリ書き込み要求がヒットしても先行するメモリ書き込み要求を追い越すことができないが、後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備える。
【0016】
順序制御部を備えたことにより、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越しが可能になる。
【0017】
【発明の実施の形態】
まず初めに、本発明の第1の実施例について図1を用いて説明する。本発明に示される記憶制御装置の構成は図3で説明した従来例と類似しているので、相異点を中心に説明する。
【0018】
各命令処理装置から送られるメモリ参照要求は、先に述べたように、共有バッファがヒットした場合、P,J0,J1ステージという順に処理され、ミスした場合はP,J0,NC,J1ステージという順に処理される。なお以下の説明において、Pステージは各命令処理装置毎に定められるため、命令処理装置の番号をPの後に付けて区別する場合がある。ミスしたメモリ参照要求を保持する主記憶参照待ち部25(NCステージに相当)には複数のメモリ参照要求を保持することができる。待ち部25に保持されるメモリ参照要求は、到着順に主記憶に対してデータ転送要求を送り、必要なデータが共有バッファに転送されるまでそこに保持される。
【0019】
追い越し処理はレジスタ23に保持されるメモリ参照要求が待ち部25に保持されるメモリ参照要求よりも先に保持部26に遷移することにより実現される。このため、追い越しの可否はレジスタ23に保持されるメモリ参照要求と待ち部25に保持される全てのメモリ参照要求とを比較し、可と判定された場合にレジスタ23に保持されるメモリ参照要求を保持部26に遷移させる。このようなメモリ参照要求の遷移はメモリ参照要求遷移制御部30で制御され、追い越しの可否の判定は追い越し判定部33で判定される。
【0020】
メモリ参照要求には、参照アドレスと、要求元番号(命令処理装置の識別子)と、命令の読みだし要求(IF),メモリオペランドの読みだし要求(OF),メモリオペランドの書き込み要求(ST)のいずれかを示すメモリ参照要求の種類と、命令順序判定番号と、メモリオペランドの書き込み要求(ST)の場合は書き込みデータとが付加されて、各ステージを遷移する。命令順序判定番号は、そのメモリ参照要求を発行した命令の実行順序を示し、追い越しの可否を判定するために使われる。命令順序判定番号は、例えば、命令の実行順に従って番号を付けることにより生成できる。
【0021】
実施例1と従来例とは追い越し判定部の構成が異なる。図7は実施例1の追い越し判定部33の構成を、図8は従来例の追い越し判定部34の構成を示す。従来例では要求元番号のみを用いて追い越しの可否を判定していたのに対し、実施例1では要求元番号に加えて、参照アドレス,メモリ参照要求の種類,命令順序判定番号を用いて追い越しの可否を判定する。
【0022】
従来例の追い越し判定部34はレジスタ23に保持されるメモリ参照要求保持情報35と待ち部25に保持されるメモリ参照要求保持情報36からそれぞれ要求元番号を引き出して比較し、待ち部25に保持される有効なメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置とが異なる場合に、追い越し可能指示信号37を1(有効)にする。
【0023】
実施例1の追い越し判定部33は、待ち部25に保持される有効なメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置とが異なる場合に加えて、それ以外の場合、すなわち、待ち部25に保持されるメモリ参照要求を発行した命令処理装置とレジスタ23に保持されるメモリ参照要求を発行した命令処理装置が同じ場合についても、所定の条件を満たす場合に追い越し可能指示信号37を1にする。これは順序保証判定部39で制御される。
【0024】
所定の条件は命令処理装置の仕様に依存するので、ここでは一例として、図6に示される条件を満たす追い越し判定部の構成を示す。図6に示される記号は図7(a)に示されるPCで符号化される。
【0025】
PCが1の場合、レジスタ23に保持される後続メモリ参照要求は追い越しできないと判定されるので、順序保証判定部39は0(無効)を出力する。PCが1になる場合は、図5に示されるように、メモリ参照要求の発行順序と命令の実行順序を一致させる必要があり、また図6に示されるように命令処理装置側でメモリ参照要求の発行順序と命令の実行順序を一致させてメモリ参照要求が発行されるため、記憶制御装置内で追い越しすることはできない。
【0026】
PCが2の場合、アドレスの競合がない(参照するデータ領域が重ならない)場合に追い越しが許可されるので、アドレス不一致指示信号103を出力する。アドレス不一致指示信号はアドレス競合がない場合に1を出力する。アドレス競合の検出は、例えば、レジスタ23に保持されるメモリ参照要求が参照する共有バッファのデータブロックのアドレスと待ち部25に保持されるメモリ参照要求が参照する共有バッファのデータブロックのアドレスとを比較することにより判定できる。PCが2になる場合は、図6に示されるように命令処理装置側でメモリ参照要求の発行順序と命令の実行順序を一致させてメモリ参照要求が発行されるが、図5に示されるように、アドレスの競合がない場合に追い越しが認められているため、アドレスの競合がない場合に限って追い越しを許可する。
【0027】
PCが3の場合、メモリ参照要求の発行順序と命令の実行順序が正しい場合と逆転している場合で動作が異なる。正しい場合は図5に示されるように追い越しが禁止されているため0を出力する。逆転している場合は、追い越しによりメモリ参照要求の発行順序と命令の実行順序が正しくなるので1を出力する。PCが3になる場合は、命令処理装置の内部でアドレス競合がないため追い越し可能と判定され、後続命令のOFメモリ参照要求が先行命令のSTメモリ参照要求を追い越した場合に生じる。この例では、命令順序判定番号を比較することにより順序関係を判定し、メモリ参照要求の発行順序と命令の実行順序が逆転している場合に1を出力する命令順序逆転指示信号104を用いている。
【0028】
PCが4の場合、追い越し可能と判定されるため1を出力する。PCが4になる場合は、先行メモリ参照要求がない場合とメモリ参照要求の種類がIFの場合である。先行メモリ参照要求がない場合は追い越しされるメモリ参照要求が存在しないが、レジスタ23に保持されるメモリ参照要求を保持部26に遷移させるため1を出力する。またメモリ参照要求の種類がIFの場合は、図5に示されるように追い越し可能であるので1を出力する。
【0029】
このようにして、実施例1の追い越し判定部はメモリ参照要求の発行順序と命令の実行順序に関して所定の条件を満たしながら、追い越しの可否を判定している。実施例1では追い越し条件を詳細に判定するために、メモリ参照アドレス,メモリ参照要求の種類,命令順序判定番号を用いていたが、その一部を用いることもできる。ただしこの場合は追い越しのできる範囲が多少制限されてしまうが、従来例よりは追い越しのできる範囲は広い。例えば、メモリ参照要求の種類のみを用いた場合は、メモリ参照要求の種類がIFの場合のみ、すなわち、PCが4の場合のみ追い越しするようにできる。またメモリ参照要求の種類と参照アドレスを用いた場合は、PCが2の場合と4の場合に追い越しするようにできる。さらにまたメモリ参照要求の種類と命令順序判定番号を用いた場合は、PCが3の場合と4の場合に追い越しするようにできる。メモリ参照要求の発行順序と命令の実行順序に関する所定の条件は命令処理装置の仕様に依存するので、命令処理装置の仕様に合わせて図6に示されるような追い越し判定表を定義することにより、他の仕様であっても追い越し処理を実現できる。
【0030】
次に、先行メモリ参照要求がミスしたときに、同一要求元からの後続のメモリ参照要求が図6に示される所定の条件を満たさず、追い越しを行なわない場合の動作を図4を用いて説明する。
【0031】
命令処理装置0から送られT1のタイミングでキュー20に保持されたメモリ参照要求1は、セレクタ40に選択されて、T2のタイミングでレジスタ23に遷移する。T2において主記憶からの応答はないのでJ1選択回路はJ0側を選ぶように指示する。これを受けてメモリ参照要求1はセレクタ41を通ってアドレスアレイ42に伝えられる。アドレスアレイを検索した結果、メモリ参照要求1はミスと判定されミス指示信号52(MISS)は1となる。この時、NCにはメモリ参照要求が存在しないので待ち部25キュー全使用中指示信号51(NCFULL)は0,J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であるので、図9に示す遷移先決定部の論理回路により、待ち部25入力ポインタ更新指示信号81(NCS)が1となる。これを受けて、T3ではメモリ参照要求1は待ち部キュー25へ遷移する。メモリ参照要求1が待ち部25に遷移すると、主記憶7に必要なデータの転送要求を発行する。T8でNC処理終了信号85が送られると、J1選択回路は待ち部25を選択し、待ち部25選択指示信号76(NCSEL)を1にする。それを受けて、図9の論理回路により保持部26セット信号82(J1S)が1となるので、メモリ参照要求1がT9で保持部26に遷移して共有バッファを参照する。
【0032】
次に命令処理装置0から送られT2のタイミングでキュー20に保持されたメモリ参照要求2は、T3のタイミングでレジスタ23に遷移する。ここでキュー25に保持されるメモリ参照要求の要求元とレジスタ23に保持されるメモリ参照要求の要求元が等しいため、要求元非同一指示信号101は0となる。更にメモリ参照要求の種類の組み合わせを図6に示される表を用いて調べた結果、追い越し可能指示信号37は0となり追い越しが不可と判定される。この場合として種々の場合が考えられるが、先に追い越しが不可になる場合を説明したので省略する。ここで、アドレスアレイ42の検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であり、レジスタ23に保持されるメモリ参照要求2は命令処理装置0から送られたことがレジスタ23に保持されるメモリ参照要求保持情報35を調べることにより分かるので、図9に示す遷移先決定部の論理回路により、P0ステージ出力ポインタ戻し指示信号77(P0R)が1となる。これを受けて、P0ステージの出力ポインタが戻され、T4ではメモリ参照要求2はP0ステージに差し戻されることになる。差し戻されたメモリ参照要求2は、T8のタイミングで主記憶からメモリ参照要求1に対するNC処理終了信号85が返るので、J0選択回路46の制御に従いT9で再度レジスタ23に遷移する。T9ではNCに保持されるメモリ参照要求はないため追い越し可能信号37は1となり、アドレスアレイの検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示すレジスタ23選択指示信号75(J0SEL)は1であるので、図9に示す遷移先決定部の論理回路により、保持部26セット信号82(J1S)が1となる。これを受けてメモリ参照要求2はT10で保持部26に遷移して共有バッファを参照する。
【0033】
命令処理装置1から送られT3のタイミングでキュー21に保持されたメモリ参照要求3は、T4のタイミングでレジスタ23に遷移する。このときレジスタ23に保持されるメモリ参照要求の要求元と待ち部25に保持されるメモリ参照要求の要求元とが異なるために、要求元非同一指示信号101が1となり追い越し可能指示信号37は1となる。これを受けてメモリ参照要求3はT4のタイミングで保持部26に遷移して共有バッファを参照する。
【0034】
以上、同一命令処理装置から送られるメモリ参照要求が追い越しできない場合の動作を説明した。この動作は従来例と同じである。
【0035】
次に実施例1に特有の動作例すなわち、図6に示される所定の条件を満たすため、追い越しする場合の動作を図11を用いて説明する。ここでは図4に示されるようにメモリ参照要求が到着した場合に、メモリ参照要求2が追い越し可能と判定された場合の動作について、特にT3におけるメモリ参照要求2の動作について詳細に説明する。
【0036】
メモリ参照要求2はT3のタイミングでキュー20からレジスタ23に遷移する。ここでキュー25に保持されるメモリ参照要求の要求元とレジスタ23に保持されるメモリ参照要求の要求元が等しいため、要求元非同一指示信号101は0となる。しかしメモリ参照要求の種類の組み合わせを図6に示される表を用いて調べた結果、先に仮定したように、追い越し可能指示信号37は1となり追い越し可能と判定される。例えば、追い越し可能範囲指示信号102の値が4の場合に追い越し可能と判定される。ここで、アドレスアレイ42の検索結果はヒット、すなわち、ミス指示信号52は0であり、J0側を選択していることを示す選択指示信号75(J0SEL)は1であるので、セット信号82(J1S)が1となる。これを受けてメモリ参照要求2はT4で保持部26に遷移して共有バッファを参照することができる。
【0037】
実施例1の説明の最後にP0,P1,NCステージのキューのポインタを制御するポインタ制御部について図15を用いて説明する。ポインタ制御部は、入力ポインタ指示レジスタ133,出力ポインタ指示レジスタ134を内部に持つ。これらがキューのどのエントリに入力されるデータを保持すべきか、またキューのどのエントリからデータを出力すべきかを指定する。入力ポインタ指示レジスタ133,出力ポインタ指示レジスタ134の値により、キューが全て使用中であることを判定するキュー全使用中(FULL)判定部136、およびキュー内に保持しているメモリ参照要求の数を判定する保持要求数判定部135が設けられる。入力ポインタ更新指示信号120が1となったとき、入力ポインタ指示レジスタ133の値が1加算回路130により更新される。出力ポインタ更新指示信号121が1となると、出力ポインタ指示レジスタ134の値が1加算回路131により更新される。また、出力ポインタ後退指示信号122が1となると、出力ポインタ指示レジスタ134の値が1減算回路132により戻されることになる。出力ポインタ更新指示信号121と出力ポインタ後退指示信号122が同時に発行された場合には、後退指示信号を優先する。
【0038】
次に本発明の第2の実施例について図2を用いて説明する。
【0039】
実施例2は実施例1の不具合点を解消する。実施例1ではレジスタ23に保持されるメモリ参照要求と待ち部25に保持されるメモリ参照要求を比較し、追い越し不可と判定された場合にキュー20または21に戻される。また特に説明しなかったがメモリ参照要求がミスしたが待ち部25が一杯のため待ち部25に遷移できない場合にキュー20または21に戻される。このため一度キュー20または21に戻されると、主記憶から応答が返り再度選択されるまで、戻されたメモリ参照要求と、それに後続するメモリ参照要求が待たされることになる。そこで実施例2では先行要求処理待ち部24を設け、実施例1において戻されていたメモリ参照要求をそこに保持する。これによりそれに後続するリクエストがレジスタ23に遷移できるので、追い越し処理ができる場合を増やすことができる。
【0040】
実施例2では先行要求処理待ち部24(PRWステージ)を設けたため、実施例1の動作に加えて、レジスタ23から待ち部24に遷移する場合と、待ち部24からレジスタ23に遷移する場合がある。これらは遷移先決定部32、およびJ0選択回路44で制御される。遷移先決定部32の回路構成を図10に示す。また追い越し可否は待ち部25に保持されるメモリ参照要求に加えて、待ち部24に保持されるメモリ参照要求に対して判定する必要がある。このため追い越し判定部には待ち部24および待ち部25に保持されるメモリ参照要求保持情報36を入力している。
【0041】
まず、図12を用いて、同一命令処理装置から送られるメモリ参照要求が追い越しできず、待ち部24に遷移する場合の動作を説明する。ここでは図4に示されるようにメモリ参照要求が到着した場合に、メモリ参照要求2が追い越し不可と判定された場合の動作について、特にT3におけるメモリ参照要求2の動作について説明する。
【0042】
メモリ参照要求2はT3のタイミングでキュー20からレジスタ23に遷移する。先に仮定したように、追い越し可能指示信号37は0となり追い越し不可と判定される。ここで、アドレスアレイ42の検索結果はヒット、すなわちミス指示信号52は0であり、待ち部24に保持されるメモリ参照要求はないので待ち部24キュー全使用中指示信号50も0であるので、図10に示す遷移先決定部の論理回路により、待ち部24入力ポインタ更新指示信号(PRS)が1となる。これを受けてメモリ参照要求2はT4で待ち部24に遷移する。なお待ち部24が一杯の場合はキュー20出力ポインタ戻し指示信号77(P0R)が1になるのでキュー20に戻される。T8のタイミングで主記憶からメモリ参照要求1に対するNC処理終了信号85が返るので、J0選択回路44は待ち部24にメモリ参照要求があることを認識して、T9でメモリ参照要求2を再度レジスタ23に遷移させる。J0選択回路44は、通常はキュー20または21に保持されるメモリ参照要求をある優先順位に基づいて選択するが、NC処理終了信号85を受けると、その時に待ち部24に保持されているメモリ参照要求を優先的に処理する。後の動作は図4に示される動作と同じである。
【0043】
図13は実施例1において図4に示されるようにメモリ参照要求が到着し、さらにT4のタイミングにおいて、命令処理装置0から送られるメモリ参照要求4を受け付けた場合の動作を示す。この例ではメモリ参照要求4がメモリ参照要求1ないしメモリ参照要求4を追い越し可能であったとしても、メモリ参照要求2にブロックされてしまう。これに対し、実施例2では図14に示すように、図13と同じ様にメモリ参照要求が到着しても、メモリ参照要求2は追い越し不可と判定されると待ち部24に遷移するため、メモリ参照要求4はT5で追い越しの可否を判定し、追い越し可能な場合に保持部26に遷移することができる。このように実施例2では実施例1に比べ、追い越しできる場合を増やすことができる。
【0044】
【発明の効果】
本発明により、同じ命令処理装置から送られるメモリ参照要求に対し、所定のメモリ参照順序を保証しながら追い越し処理が可能になるので、メモリ参照要求が高速に処理される。よって記憶制御装置とそれに接続された命令処理装置からなるデータ処理システムの性能が向上する。
【0045】
特に命令処理装置から送られるメモリ参照要求に含まれる命令処理装置の識別子,メモリ参照要求の種類,命令順序判定番号の全て、もしくはその一部を用いて追い越しの許可,不許可を詳細に判定することにより、追い越しのできる場合を増やすことができるので、さらに性能が向上する。
【図面の簡単な説明】
【図1】本発明の実施例1のブロック図である。
【図2】本発明の実施例2のブロック図である。
【図3】従来例のブロック図である。
【図4】追い越し処理をしない場合の動作例の説明図である。
【図5】命令間のメモリ参照順序規定の例の説明図である。
【図6】メモリ参照要求間のメモリ参照順序規定の例の説明図である。
【図7】追い越し判定部の実施例の説明図である。
【図8】追い越し判定部の従来例の説明図である。
【図9】従来例および実施例1の遷移先決定部の論理回路の説明図である。
【図10】実施例2の遷移先決定部の論理回路の説明図である。
【図11】追い越し処理をする場合の動作例の説明図である。
【図12】実施例2の動作例の説明図である。
【図13】実施例1において追い越し処理ができない場合の動作例の説明図である。
【図14】実施例2において追い越し処理をする場合の動作例の説明図である。
【図15】ポインタ制御部の論理回路のブロック図である。
【符号の説明】
1,2…命令処理装置、7…主記憶装置、8…共有バッファ、20,21…メモリ参照要求キュー、23…レジスタ、25…主記憶参照待ち部、26…メモリ参照要求保持部、28…読みだしデータレジスタ、30…メモリ参照要求遷移制御部、31…遷移先決定部、33,34…追い越し判定部、35,36…メモリ参照要求保持情報、37…追い越し可能指示信号、38…要求元不一致判定部、39…順序保証判定部、40,41…セレクタ、42…共有バッファ用アドレスアレイ、43…ヒット/ミス判定回路、45,46…選択回路、51…キュー全使用中指示信号、52…ミス指示信号、68,69…入力ポインタ制御信号、70,71…選択元指示信号、72,75,76…選択指示信号、77,78…出力ポインタ戻し指示信号、79,82…セット信号、81…入力ポインタ更新指示信号、85…NC処理終了信号、86…共有バッファ書き込み中指示信号
Claims (5)
- 命令処理部と、主記憶のデータの写しを保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備えた情報処置装置。
- 命令処理部と、主記憶のデータの写しをストアイン方式で保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備えた情報処置装置。
- 命令処理部と、主記憶のデータの写しを保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に、後続するメモリ書き込み要求がヒットしても先行するメモリ書き込み要求を追い越すことができないが、後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備えた情報処置装置。
- 命令処理部と、主記憶のデータの写しをストアイン方式で保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求にバッファミスが生じた場合に、後続するメモリ書き込み要求がヒットしても先行するメモリ書き込み要求を追い越すことができないが、後続するメモリ参照アドレスの異なるメモリ読み出し要求の追い越し処理を可能にする制御部とを備えた情報処置装置。
- 命令処理部と、主記憶のデータの写しを保持するバッファと、前記命令処理部から送られるメモリ参照要求に応じて前記バッファに対してデータの読み書きを行なう記憶制御部と、先行するメモリ書き込み要求又はメモリ読み出し要求にバッファミスが生じた場合に、後続するメモリ書き込み要求は先行するメモリ書き込み要求又はメモリ読み出し要求を追い越すことができないが、先行するメモリ書き込み要求にバッファミスが生じた場合に、後続するメモリ読み出し要求の追い越し処理を可能にする制御部とを備えた情報処置装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003177453A JP2004005710A (ja) | 2003-06-23 | 2003-06-23 | 情報処置装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003177453A JP2004005710A (ja) | 2003-06-23 | 2003-06-23 | 情報処置装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00388293A Division JP3505728B2 (ja) | 1993-01-13 | 1993-01-13 | 記憶制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005710A true JP2004005710A (ja) | 2004-01-08 |
Family
ID=30438350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003177453A Pending JP2004005710A (ja) | 2003-06-23 | 2003-06-23 | 情報処置装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005710A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323432A (ja) * | 2005-05-17 | 2006-11-30 | Hitachi Ltd | 主記憶共有型マルチプロセッサシステムの高性能化技術 |
JP2010102623A (ja) * | 2008-10-27 | 2010-05-06 | Nec Electronics Corp | キャッシュメモリ及びその制御方法 |
JP2011010046A (ja) * | 2009-06-26 | 2011-01-13 | Audio Technica Corp | コンデンサマイクロホン |
JP2012514254A (ja) * | 2008-12-30 | 2012-06-21 | インテル・コーポレーション | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル |
US8549232B2 (en) | 2009-12-25 | 2013-10-01 | Fujitsu Limited | Information processing device and cache memory control device |
US9251084B2 (en) | 2012-06-26 | 2016-02-02 | Fujitsu Limited | Arithmetic processing apparatus, and cache memory control device and cache memory control method |
-
2003
- 2003-06-23 JP JP2003177453A patent/JP2004005710A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006323432A (ja) * | 2005-05-17 | 2006-11-30 | Hitachi Ltd | 主記憶共有型マルチプロセッサシステムの高性能化技術 |
JP2010102623A (ja) * | 2008-10-27 | 2010-05-06 | Nec Electronics Corp | キャッシュメモリ及びその制御方法 |
JP2012514254A (ja) * | 2008-12-30 | 2012-06-21 | インテル・コーポレーション | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル |
JP2011010046A (ja) * | 2009-06-26 | 2011-01-13 | Audio Technica Corp | コンデンサマイクロホン |
US8549232B2 (en) | 2009-12-25 | 2013-10-01 | Fujitsu Limited | Information processing device and cache memory control device |
US9251084B2 (en) | 2012-06-26 | 2016-02-02 | Fujitsu Limited | Arithmetic processing apparatus, and cache memory control device and cache memory control method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6983350B1 (en) | SDRAM controller for parallel processor architecture | |
US7743235B2 (en) | Processor having a dedicated hash unit integrated within | |
US6728845B2 (en) | SRAM controller for parallel processor architecture and method for controlling access to a RAM using read and read/write queues | |
US6606704B1 (en) | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode | |
US7191321B2 (en) | Microengine for parallel processor architecture | |
US6317806B1 (en) | Static queue and index queue for storing values identifying static queue locations | |
EP0431326A2 (en) | Inter-processor interrupts in an n-element multi-processor | |
JP4983919B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JPH01503011A (ja) | キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット | |
JP2581323B2 (ja) | 参照ビット,変更ビットの更新方法 | |
US7725659B2 (en) | Alignment of cache fetch return data relative to a thread | |
WO1996027833A1 (fr) | Unite de traitement informatique | |
JP3505728B2 (ja) | 記憶制御装置 | |
JP2004005710A (ja) | 情報処置装置 | |
US20050010744A1 (en) | Store-to-load forwarding buffer using indexed lookup | |
JP2006202271A (ja) | ストリームプロセッサ及び情報処理装置 | |
US5623685A (en) | Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency | |
US20040039877A1 (en) | Information processing device equipped with improved address queue register files for cache miss | |
US10203911B2 (en) | Content addressable memory (CAM) implemented tuple spaces | |
US20150234656A1 (en) | Vector processor, information processing apparatus, and overtaking control method | |
JP2011191865A (ja) | 半導体装置 | |
JP2007058424A (ja) | メモリアクセス制御装置 | |
JPH07334421A (ja) | キャッシュメモリ制御装置 | |
JPH1097422A (ja) | マイクロプロセッサ | |
JPS5897759A (ja) | メモリアクセス方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050329 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050607 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051011 |