JPS5897759A - メモリアクセス方式 - Google Patents

メモリアクセス方式

Info

Publication number
JPS5897759A
JPS5897759A JP56196140A JP19614081A JPS5897759A JP S5897759 A JPS5897759 A JP S5897759A JP 56196140 A JP56196140 A JP 56196140A JP 19614081 A JP19614081 A JP 19614081A JP S5897759 A JPS5897759 A JP S5897759A
Authority
JP
Japan
Prior art keywords
address
stack
memory
pointer
line
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
Application number
JP56196140A
Other languages
English (en)
Inventor
Toshio Ishikawa
石川 俊生
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
Nippon Electric Co Ltd
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, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP56196140A priority Critical patent/JPS5897759A/ja
Publication of JPS5897759A publication Critical patent/JPS5897759A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はメモリアクセス方式に関する。
例えば、ベクトル演算専用の演算処理装置においては、
各ベクトル成分を並列に演算するために、仮想処理手段
による並列処理という方式が用いられる。これは下記の
ようなものである。
一般に、一つの演算命令を実行する場合には、命令の取
シ出し、チクセスすべきオペランドに対するメモリアド
レスの計算、そのメモリアドレスに含まれるオペランド
のメモリからの読み出し、読み出されにオペランドを用
いての命令で指定された演算の実行、演算結果のメ舌す
への格納等、種々のステップの処理が必要である。個々
の演算命令に対して、これらの処理を逐次行ない、一つ
の演算命令のすべてのステップが終了した後、次の演算
命令を最初のステップから行なうよシモ、このような各
ステップの処理に対し独立なハードウニアユニラトラ態
別に設け、各ハードウェアユニットには1ステツプづつ
位相(ステップ)のずれた異なる演算命令を並列につぎ
つぎに実行させるという、いわゆるパイプライン方式を
とれは、すべてのハードウニアユニラトラ常に稼動状態
に保てるので、処理能力を大いに増加することができる
この場合に、例えば一つの演算命令の処理を8ステツプ
に分割し、各ステップに対応する8個のハードウェアユ
ニットが並列に動作するようにすると、このマシンは1
ステツプづつ位相のずれた8個の演算命令を並列に処理
できることになる。
これは見方を変えると8個の態別の処理系が存在すると
考えることもできる。この見掛は上の各処理系をそれぞ
れ仮想処理手段(VPM)と呼ぶ。
一方、この仮想も理手段の各各は全く独立なわけではな
い(実際に同じハードウェアユニラミ共有している)。
そこでこれら1組の仮想処理手段をまとめたもの(上述
の例では8個の仮想処理手段をまとめたもの)′に一つ
の単位と考えてこれを処理手段(PM)と呼ぶ。
例えば、前述のベクトル演算算用の演算処理装置におい
ては、複数の独立な処理手段が設けられておシ、これら
は、複数のベクトルに対する演算を並列に担当する。そ
して、この各処理手段に属する仮想処理手段は、自分の
属する処理手段が担当するベクトル演算の各ベクトル成
分に対する演算を分担実行し、これによ)全体のベクト
ル演算処理が行なわれる。
さて、このような演算処理装置においては、各仮想処理
手段(以後VPM)がオペランドを読み出すためのメモ
リアクセスを行なう場合には下記のような動作になる。
同じ処理手段(以後PM)に続するVPMは、このPM
に属する一つのキャッシュメモリを有していて、必要と
するオペランドを読み出すために、まず、このキャッシ
ュメモリにアクセスする。もし必要とするオペランドが
このキャッシュ中に存在する場合には直ちにこれを読み
出して使用する。
もしキャッシュミスヒツトを起した場合(キャッシュ中
にこのオペランドが存在しなかった場合)には主記憶装
置にアクセスすることになる。
一方、主記憶装置は前記複数のPMに共有されており、
これら各PMは(このPMに属するvPMのメモリアク
セスに対して)キャッシュミスヒツトが起きた場合には
、他のPMとは独立に主記憶装置にアクセス要求を出す
。従って、確率的に主記憶装置にこれらのアクセス要求
が集中して処理の効率を低下させる恐れがあるが、これ
をできるだけ少なくするために一般に次のような構成が
とられている。
まず、主記憶装置を複数のモジー−ルに分割する。そし
て前記複数のPMと主記憶装置との間にメモリスイッチ
を設け、もし、各PMからの主記憶装置に対するアクセ
ス要求が異なるモジー−ルに含まれるメモリアドレスに
対してなされた場合には、このメモリスイッチを切シ替
えて、各PMを各各のPMが要求するメモリモジュール
にそれぞれ接続することによシ、複数のPMが主記憶装
置に対して並列同時アクセスができるようにする。
しかし、主記憶装置をこのように構成しても、あるPM
が内部でキャッシュミスヒラトラ起し主記憶装置の必要
なメモリアドレスにアクセスしようとすると、そのメモ
リアドレスを含むモジー−ルはすでに他のPMにアクセ
スされていて(前記載モリスイッチによシ他のPMに接
続されていて)そのアクセスが終了する。まで(主記憶
装置がビジー中の間は)このPMにはアクセスすること
ができないという事態が確率的に発生する。
これに対処するために、各PMごとにスタックレジスタ
を設け、主記憶装置のビジー状態が発生すると、このア
クセス要求を一時このスタックレジスタに収容する。そ
してそれ以後発生するこのPMのアクセス要求はつきつ
ぎにこのスタックレジスタに登録して待行列を構成させ
る。こうして、一度発生したアクセス要求を保留してそ
の消失するのを防ぎ、要求先のメモリアドレスのビジー
状態が解消した時点で、直ちに待行列の先頭の要求から
逐次メモリアクセスを実行してゆくという方式がとられ
ている。
こうして、主記憶装置にアクセス要求が確率的に集中す
ることによる効率低下を防いでいるが、この従来方式に
は次のような欠点がある。
すなわち、今あるPMのアクセス要求(つまシ実際には
このPMに属するあるVPMからのメモリ要求がキャッ
シュミスヒツトしたためにおこるアクセス要求)がビジ
ー状態のために待行列から解放されないとすると、同じ
PMのそれ以後におこるアクセス要求(これも実際には
このPMに属するVPMからのメモリ要求がキャッシュ
ミスヒツトしたためにおこるアクセス要求)はこのビジ
ー状態によって待たされているアクセス要求の後に加え
られて待行列を作るために、たとえ2番目以後のアクセ
ス要求が、現在ビジー状態でないメモリアドレスを要求
していても、それとは全く無関係に、先頭のアクセス要
求に対するビジー状態が解消しないかぎシ、待行列の処
理は進行しな八ところが、上述のベクトル演算において
は、演算の特異性から各PMの扱うデータの主記憶装置
中におけるロカリティ(局在性)#iかな)高い確率を
もっている。そのためにあるメモリモジュールが一つの
PMに接続されると、そのモジュールはこのPMに独占
される状態が長く続く確率が高い。
すなわち、従来方式においては、あるPMのアクセス要
求が一部ビジー状態に出会うと、それ以後のアクセス要
求がたとえ現在ビジー状態にないモジュールに対するも
のであっても、その先頭のアクセス要求に対するビジー
状態のために長い間待たされる確率が高いという欠点を
有している。
本発明の目的は従来のか\る欠点を除去したメモリアク
セス方式を提供するにある。
本発明の方式は、一つの主記憶装置に複数の処理手段が
メモリスイッチを介して接続されておシ前記各処理手段
はそれぞれに属するキャッシュメモリを有しまたそれぞ
れに属する複数の仮想処理手段が前記それぞれに属する
キャッシュメモVt共用してパイプラインを構成するシ
ステムであって、前記仮想処理手段からのメモリアクセ
スが待たされている場合にこのメモリアクセスに用いら
れる要求メモリアドレスを待行列として登録しておくた
めのアドレススタック手段と、前記アドレススタック手
段に登録された前記待行列の先頭のスタックアドレスを
指示する第1のポインタ手段と、前記アドレススタック
手段に登録された前記待行列の最後尾の次のスタックア
ドレスを指示するIF;2のポインタ手段と、前記第1
のポインタ手段の値と前記第2のポインタ手段の値とを
比較し両者の値の一致を検出4る一致検出手段と、前記
アドレススタック手段から取りはずされた前記要求メモ
リアドレスを一時格納しておくバッファ手段と、前記−
数構出手段の情報にもとすき前記アドレススタック手段
中の待行列が空でないことを識別し前記第1のポインタ
の指示するスタックアドレスから前記待行列の先頭の前
記要求メモリアドレスを取シはずして前記バッファ手段
に一時格納しこの要求メモリアドレスが前記主記憶装置
に受けつけられなかった場合にとの襲来メモリアドレス
を前記第2のポインタが指示するスタックアドレスに再
び登録するように制御する制御手段とを有する。
次に図面を参照して本発明の詳細な説明する。
第1図は本発明のメモリアクセス方式の一実施例の全体
を説明するためのブロック図および第2図はこの実施例
の一部の詳細を示すブロック図である。
本実施例は、第1図に示すように、主記憶装置(MM)
1.メモリスイッチ2、複数の処理手段(PM)3 0
,3 1.・=3−q−3−n を有し・任意の処理手
段3−qはキャッシュメモリ30・スタックレジスタ(
8TC)31および複数の仮想処理手R(V PM )
 32−0 、32−1 ・32−に・・・32−m″
t−含んでいる。さらに第2図に示すように、任意の処
理手段(PM)3−qは、トップスタックポインタ(T
8F)33.1加算回路34、ボットムスタックポイン
タ(BSP)35.1加算回路36、−散積出回路37
、切替回路38、要求アドレスバッファ(RQB)39
、切替回路40、制御用論理回路41、アンドゲート4
2および禁止ゲート43を含んでいる。
さて、本実施例はベクトル演算専用の演算処理装置であ
シ、n+1個の処理手段(以後PM)3−θ〜3−nが
ホストの指示により各各ベクトル演算を並列に遂行する
。これらのPM3−0〜3−nは、メモリスイッチ2を
介して主記憶装置1を共通に使用している。主記憶装置
1は、各PMからの並列アクセスを可能にするために複
数のメモリモジュールから構成され、各メモリモジュー
ルはメモリスイッチ2を介して、各PMからのアクセス
要求に応じて任意のPMに切替接続可能な構成となって
いる。これによシ1、各PMは、あるメモリモジュール
が現在、他のPMからアクセスされている状態でなけれ
ば(ビジー状態でなければ)、他のメモリモジュールや
他のPMのアクセス状況とは無関係に、自由にこのメモ
リモジエール中の任意のアドレスにアクセス可能な構成
となっている。このような構成をとることによって各P
M3−Q〜3− nから主記憶装置1への可能なかぎシ
多重度の高い並列アクセスを許すようにしている。
さて、任意の1つのPM(これ、、pM3−(lとする
)はm+1個の仮想処理手段(以後VPM)32−0.
32−1・・・32−mがら構成されておシ、これらの
各VPM32−0〜32−mは、ホストからこのPM3
−qに与えられたベクトルの各各のベクトル成分の演算
をそれぞれ担尚する。°今VPMの数(m+1)1に8
個と仮定する。これら8個のVPMは第3図に示すよう
に、1マシンサイクル(T)づつずれた8列のパイプラ
インを形成し与えられた演算命令を並列に処理する。各
演算命令の処理は8Tの周期をもつが(8Tで一命令が
終了するが)、各VPMはこの周期中のきまったマシン
サイクル(第3図の例では最初をO番目として第2番目
のマシンサイクル)でオペランドを読み出すためのメモ
リアクセスを行なう。このメモリアクセスは次のように
行なわれる。
今、PM3−q K属するVPM32−k がメモリア
クセスを行なう場合について述べる。VPM32−には
、指定されたマシンサイクルになると、自身が属するP
M3−、qに設けられているキャッシュメモリ30にア
クセスする。この結果、必要トスるオペランドのアドレ
スがこのキャッシュメモリ30中に存在する場合には、
直ちにこれを読み出して使用する。もし、キャツシェミ
スヒットを起した場合には主記憶装置1にアクセスする
ことになる。
主記憶装置1に対するメモリアクセスは、各VPMが勝
手に行なうのではなくて、同じPMに属する各VPMの
アクセスがPM単位で統合され、以下に述べるような制
御の下に実行される。
さて、各PMには、主記憶装置1に対するメモリアクセ
ス要求が主記憶装置1のビジー状態のため実行できずそ
のまま消失してしまうのを防ぐために、このようなアク
セス要求を待行列として収容するためのスタックレジス
タ31を備えている。
こうして、主記憶装置1に対するメモリアクセス要求は
、このスタックレジスタ31の中に確率的に待行列を構
成することになる。従って、あるVPM32−kがキャ
ツシェミスヒットを起した場合に、もしスタックレジス
タ31の中にすでに待っているアクセス要求がある場合
には、この新しいアクキス要求はその待行列の最後に加
えられる。
またもし、スタックレジスタ31の中に待っているアク
セス要求がない場合でも、その要求メモリアドレスに対
して主記憶装置1が現在ビジー状態の場合(つまbi求
メモリアドレスを含むメモリモジュールが他のPMから
アクセスされている場合)には、このアクセス要求はス
タックレジスタ31の中に一時収容される。そして主記
憶装置1からの7クセプトまたはビジーのリスポンスに
応じて順次処理されていくが、本実施例においてはこの
処理は第2図に示す回路を用いて以下に述べるように行
なわれる。
さて、本実施例で待行列を登録するために用いられるス
タックレジスタ31に対するアクセス要求の登録および
取はずしは独特の構成を用いて行なわれるのでまずこれ
から説明する。
スタックレジスタ(8TC)31に、あるアクセス要求
(これは具体的にはオペランドのメモリアドレスの値)
を登録するには、そのデータ(メモリアドレスのfL)
’にスタックレジスタ31の入力データライン3100
に確定し、かつ有効ビット入力ライン3110 ’e論
理レしルv1”とする。
さらに、ボットムスタックポインタ(BSF)35のイ
ネーブル端子Eおよび切替回路38の制御入力に制御ラ
イン3500(B線)を介して論理レベル @1”を供
給し、またスタックレジスタ31の書込み制御端子WE
に書込指定制御ライン3120(C線)を介して論理レ
ベル″11”を供給する。切替回路38は、ライン35
00(B線)を介して供給される論理レベル″″1”信
号によシ、ボットムスタックポインタ(BSF)35の
出力を選択し、これをアドレス指定入力2イン3130
を介してレジスタ31に対するアドレス指定信号としと
供給する。以上の制御により、次に現われるクロック(
CLK)に同期して、レジスタ31中の、ポインタ35
の内容によシ指示されるスタックアドレスに1.ライン
3100上のデータと2イン3110上の有効ビット″
″1#とが書き込まれる。
同時に同じクロックによシ、ボットムスタックポインタ
35の内容は1加算回路36によシ1だけ増加され、レ
ジスタ31の次のスタックアドレスを指示するように更
新される。以上1要約すると〜制御ライン3500(B
線)と制御ライン3120(C線)とを論理レベル@1
”とすることにより、クロック(CLK)に同期して(
次のクロック時点で)、ポインタ35の内容が指示する
スタックアドレスに入力データ3100と有効ビット3
110とが書き込まれ、ポイ”ンタ35の内容は次のス
タックアドレスを指示するように更新されることになる
。なお、ポインタ35が次次に1を加算されて予め定め
られている最大数(最大スタックアドレス)に達し、更
にlが加算されるとθ番地(最小スタックアドレス)に
戻シ、かくして、スタックレジスタ31とボットムスタ
ックポインタ35とによシサイクリックでエンドレスの
スタックが構成され、このスタックにアクセス要求がつ
ぎつぎに登録されるようになっている。
さて、つぎにこのようにしてスタックレジスタ31に登
録されるアクセス要求(メモリアドレスデータ)の取シ
はすしは次のように行なわれる。
トップスタックポインタ(T8P)33および要求アド
レスバッファ(RQB)39のイネーブル入力(E)に
制御2イン3300(A線)を介して論理レベル″11
”を加え、かつ前記制御ライン3500(B線)を論理
レベル@0”とする。また、有効ビット入力ライン31
10k1m理レベル@0”とし、さらに書込指定制御ラ
イン3120(C線)tm理レベル11”とする。これ
によシ、切替回路38は・制御ライン3500 (B線
)の論理レベルが10”となるため、今回はトップスタ
ックポインタ33側の出力を選択し、これをレジスタ3
1のアドレス指定信号3130として供給する。レジス
タ31のこのボイ/り33によりて指示されるスタック
アドレスの内容は、データ出力ライン3140から格納
されているデータ(l!求メモリアドレス)が、また有
効ビット出力ライン3150から同じアドレスの有効ビ
ットが出力されている。
このような状態において、次のクロック(CLK)が現
われ石と、このクロック(CLK)に同期して要求アド
レスバッファ39にはこのライン3140のデータが書
込まれ、また、レジスタ31のこのスタックアドレスの
有効ビットには@0”が書き込まれる。(つまυ@O”
にリセットされる)。ついで、同じクロックに同期して
トップスタックポインタ33の内容は1加算回路34に
よ#)1だけ増加されて次のスタックアドレスを指示す
るように更新される。なお、有効ビットがリセットされ
るとき(有効ビットにmO”が書きこまれるとき)に、
同時にライン3100上のその時点におけるデータが、
このスタックアドレスに書き込まれるが、有効ビットが
lO#であるためにこのスタックアドレスにはデータが
格納されていないものとみなされる。以上を要約すると
、アクセス要求数はずしにおいては、制御ライン330
0(A線)と制御ライン3120(C線)とを論理レベ
ル11”とし、かつ有効ビット入力ライン3110を論
理レベル@0”とすることによシ、クロックに同期して
(次のクロック時点で)、ポインタ33の内容が指示す
るスタックアドレスのデータがバッファ39に読み出し
格納され、かつこのスタックアドレスの有効ビットが′
wO#にリセットされそのスタックアドレスが空き状態
であるように表示が変更され、さらにボイ/り33め内
容が1だけ増してこのポインタ33が次のスタックアド
レスを指示するよう更新される。なお、このポインタ3
3も、ポインタ35と同様に、次次に1t−加算され予
め定められたいる最大数(最大スタックアドレス)に達
し、更にもう一つ1を加算されるとθ番地(最小スタッ
クアドレス)に戻る。かくして、スタックレジスタ31
と前記ボットムスタックポインタ35とによ多構成され
る前述のサイクリックでエンドレスのスタックに登録さ
れたデータを、登録順に従って次次に取少はずしてバッ
ファ39に読み出し格納できることになる。
このように、ボットムスタックポインタ35とトップス
タックポインタ33とスタックアドレスレジスタ31と
がサイクリックでエンドレスのスタックヲ構成し、ボッ
トムスタックポインタ35が新らしく格納したスタック
アドレスの次のアドレス(次に格納すべ、き新らしいス
タックアドレスすなわち待行列の最後尾の次のスタック
アドレス)を指示し、トップスタックポインタ33が取
少はずしたスタックアドレスの次のアドレス(次に取少
はずすべきスタックアドレスすなわち待行列の先頭アド
レス)を指示するようになっているので、ボットムスタ
ックポインタ35の内容とトップスタックポインタ33
の内容とはスタック内のデータ登録数に応じて互に追か
けっこをすることになる。もし、トップスタックポイン
タ33の内容が、ボットムスタックポインタ35の内容
に追いついて一致すれば、最も新らしくポインタ35に
よりて登録されたデータがポインタ33によってすでに
取少はすされたことになシ現在スタックは空(EMPT
Y)状態であることを意味する。また逆に、ボットムス
タックポインタ35の内容がトップスタックポインタ3
3の内容に追いついて一致すれば、ポインタ35の指示
によってこれから格納すべきスタックアドレスには、ポ
インタ33によって指示される待行列の先頭アドレスの
データがまだ数少はずされずに残っていることを意味し
、現在スタックは一杯でこれ以上格納することができな
い状態(FULL)であることを意味する。
このように、スタックが空でこれ以上取出すべきデータ
がない状態か、スタックが一杯でこれ以上格納すべき余
地がない状態か、あるいはまた両者の中間状態かt−識
別し、この情報をメモリアクセスの制御に利用するため
に本実施例にiいては次のような手段が用いられる。
トップスタックポインタ33の内容と、ボットムスタッ
クポインタ35の内容とは一致検出回路37に導かれ一
致しているか否かが検出される。
−散積出回路37の出力はアンドゲート42および禁止
ゲート43を用いてスタックレジスタ31の有効ビット
出力3150と結合される。この結果ボットムスタック
ポインタ35の内容がトップスタックポインタ33の内
容に追いついて一致しスタックが一杯の状態になると、
一致した両ポインタによって指示されるスタックアドレ
スにあるデータの有効ビットは@1#を示しているので
、アンドゲート42の出力4zoOFi″11”論理レ
ベルとなシ、逆に禁止ゲート43の出力4300Fi@
O”論理レベルとなる。
またもし、トップスタックポインタ33の内容がボトム
スタックポインタ35の内容に追いついて一致しスタッ
クが空の状態になると、一致した両ポインタによって指
示されるスタックアドレスにあるデータの有効ビットは
一〇”になっている(すでに読み出された状態になって
いる)ので出力ライン3150は10″を出力し、従っ
てアンドゲート42側の出力4200は@0#となシ禁
止ゲート43側の出力4300は@1”となる。
また、スタックが空でもなく一杯でもない中間の状態に
あるときには、−敷積出回路37の出力が@0#となる
のでゲート出力4200および4300がともに10”
となる。従って、ゲート42の出態)を指示し、またゲ
ート43の出力4300が嘘1”の場合にはスタック3
1が空でこれ以上データを読み出すことができない状態
(EMPTY状態)を指示する。
さて、本実施例においては、以上に述べた制御手段およ
び識別手段を制御論理回路41が以下に述べるようにし
て利用し、このPM3−qから主記憶装置(MM)1に
対してなされるメモリアクセスの実行を制御している。
制御論理回路41は、2個の7リツプフロツプ410(
以後FF410)および411 (以後FF411  
>を含んでいる。以下に説明するように、FF410 
 はスタックレジスタ31から数多はずされた要求がア
クセス要求を行なう場合にセットされるクリップ70ツ
ブであシ、またFF411はスタックレジスタ31が空
の場合に、このPM3−qに属するあるVPMがキャッ
シェミスヒットを起して主記憶装置1に対するアクセス
要求を出す場合にセットされる7リツプ70ツブである
・これらは共に、主記憶装置1に対して、アクセス要求
があることを指示するための7リツプ70ツブである・
さて、この2個のFF410とFF411と拡現在の初
期状態においてはともにリセットされていると仮定する
。(これは、前回のアクセス要求の処理が一段落した結
果、これらの7リツプフロツプがリセットされ、これか
ら新らしく次の処理に入ると考えてもよい)。このFF
410とFF411との出力は論理和回路412で合成
され主記憶装置(MM)1に対するアクセス要求信号4
120として使用されると共に、内部で帰還され3個の
条件選択論理ゲート413,414および415の禁止
入力に供給され、主記憶装置1に対するアクセス要求が
出されている間は次の要求の発生が抑止されるように用
いられる。
さて、制御論理回路41は、3個の前記条件選択論理ゲ
ー)413,414および415を有し、これらはそれ
ぞれ下記のような条件入力の組合せを解読して主記憶装
置1に対するアクセス要求を起動する。これらの論理ゲ
ートに供給される条件入力は、スタック31のフル状態
(FULL)を指示する前記ライン4200と、スタッ
ク31の空状態(EMPTY)を指示する前記ライン4
300と、このPM 3−qに属するVPMからのアク
セス要求があることを指示するVPMアクセス要求指示
ライン(VPMRQ)4400と、キャッシュミスヒラ
トラ指示するキャッシュミスヒツト指示ライン(M8H
T)4500と1さらに、上に述べた帰還されたアクセ
ス要求信号4120とからなっているOさて、第2図か
ら明らかなように、選択論理ゲ−1413は、現在VP
Mからのアクセス要求がなく(ライン4400/が@I
O”)、かつスタックレジスタ31の内容が空でない(
ライン4300が10”)状態において、前回のアクセ
ス要求が終了すると(つt、6、ライン4120のレベ
ルが@0”におちると)、出力側の2イン3300 (
前記A線)に11”出力を発生する。この出力は、トッ
プスタックポインタ(TSP)33および要求アドレス
バッファ(RQB)39のイネーブル端子(E)に供給
され、次のクロック時点においてポインタ33の内容(
j)で指定される待行列の先頭に位置するアクセス要求
D(J)を1個だけスタックレジスタ(8TC)31か
ら数多はすし、要求アドレスバッファ(RQB)39に
格納する。このときライン3300(A線)の@1”信
号は論理和回路416を介してライン3120(C線)
に11”信号を供給し、こレバスタックレジスタ(8T
C)31の書込制御端子WEに供給され、書込みをイネ
ーブルする。
またこのとき、ライン3300 (A線)の@1”論理
レベルは、インバータ417によりて極性反転され@O
”論理レベルの信号としてレジスタ31の有効ビット入
力ライン3110に供給されるので、数多はずされた要
求が格納されていたスタックアドレス(j)の有効ピッ
)V(j)の位置には@0”が書き込まれ、これによシ
スタックからの先頭要求の増多はずしが完成する。
さて一方、ライン3300(A線)のw1#論理レベル
は前記FF410に供給され、次のクロック時点でこれ
をセットする。この結果ライン412゜を@1”論理レ
ベルにして主記憶装置(MM)1に対してアクセス要求
を発するとともに、この″1”論理レベル信号は選択論
理ゲート413に供給され、これの出力を禁止し、ライ
ン3300(AM)を再び@0”論理レベルにリセット
する。
かくして、スタックレジスタ31がらの要求の取はすし
を1回につき1個分だけに制限する。
さて、FF410がセットされると、この智1m論理レ
ベルは、切替回路4oの制御信号4100として供給さ
れ、これによル回路4oはバッファ39の出力を選択し
、これをデータライン3100に接続する。データライ
ン3100は一方ではスタックレジスタ31のデータ入
力(DIR)に供給され、もう一方ではアクセスすべき
メモリアドレスを指示する情報として前記アクセス要求
信号412゜と共に主記憶装置(MM)1に供給される
供給されたアクセス要求が、現在他のPMがアクセス中
のメモリモジエールに対するものか否かをチェックし、
もしこの要求されたメモリアドレスを含むモジー−ルが
、現在アクセス中でなければ(ビジー状態でなけれ!−
j)、要求されたメモリアドレスを含むブロックデータ
をこのPM3−94C属するキャッシュメモリ3oに対
して転送すると共に、このアクセス要求に対する応答と
してアクセプト信号ライン5000に7クセプトパルス
(MMACPT)を返送する。これは、論理和回路41
8を介してFF410に供給されFF410をリセット
して、このアクセス要求を完了させる。
またもし、この要求されたメモリアドレスを含むモジュ
ールが現在アクセス中であれば(ビジー状態の場合には
)、主記憶装置(MM)l儒はビジー信号ライン600
0にビジーパルス(MMBSY)を返送する。これは論
理積回路419および前記論理和回路418を介して同
様にFF410をリセットし、このアクセス要求を終了
させる。但しこの場合には、論理積回路419からの前
記とジ−パルスは論理和回路42(l介して前記制御ラ
イン3500(B線)に@11”論理レベルパルスヲ発
生し、さらにこれは論理和回路416を介して前記制御
ライン3120(Ca)に@1”論理レベルパルスを供
給する・ 最初に説明したように、ライン3500(B線)と2イ
ン3120 (C3IM”)におけるwl”論理レベル
信号は、入力データライン3100にあるデータと有効
ビット入力ライン3110にあるデータ(現在は@1”
論理レベルとガっている)とを、ボトムスタックポイン
タ35の内容(1)が指示するレジスタ31のスタック
アドレスに登録する。かくして、待行列の先頭からとり
はずされたこのアクセス要求は、主記憶装置1からのビ
ジ一応答によって再び待行列に加えられるが、今度はボ
トムスタックポインタ35の指示に従って待行列の最後
に新らしく登録されたことになる。
第4図は以上のプロセスを示すタイムチャートである。
すなわち条件選択論理ゲート413が2イy 4400
 (VPURQ)、ライン4120(MM7クセス中を
示す)およびライン4300(EMPTY)のすべてが
@0”論理レベルになっ九ことを解読すると、A線(ラ
インaaoo)を@ 1 #とする・これは直ちにC線
(ライン3120)klとするeA線が@1”になると
次のクロック時点でFF410がセットされ、RQB 
 (要求アドレスバッファ39)にTAF()ツブスタ
ックポインタ33)が指示するスタックアドレス(j)
のデータD(j)が格納され、T8Fの内容jは1だけ
増加されてj+1になシ次のスタックアドレス(新らし
く待行列の先頭になったスタックアドレス)を指示すよ
うに更新される。また、C線が曽1”になったために、
この同じクロック時点で、T8Fが指示するスタックア
ドレス(j)の有効ビットVO)は@1”から4′″0
”に書き替えられる。以上で、T8Pが最初に指示して
いたスタックアドレスU)のアクセス要求の増多はずし
が完了し、主記憶装置(MM)1に対するアクセス要求
が開始される。主記憶装置(MM)1が2イン6000
にビジーパルス(MMBSY)を返すと、     °
       B線および01mに@1”論理レベルパ
ルスを発生しクロック(CLK )に同期してFF41
0がリセットされる。FF410のリセットはライン4
120を@Oj′として、このアクセス要求の終了を表
示する。B線の11”論理パルスは次のクロック時点に
おいてRQB中oデータD(j)(fれはFF410d
Eまだ@1″であるから回路40はバッファ39″t−
選択しているためD(j)は現在人カライン3100上
にある)をBSFが指示するスタックアドレス(l:こ
れは待行列の最後尾の次のスタックアドレスを指示して
いる)に登録する(図示せず入それとともにBSFの値
を1だけ増してl+1とし、新らしズ登録された最後尾
のアクセス要求の次のスタッグアドレスをBSPが指示
するように更新する。
またC線の11”論理パルス−は同じクロック時点でス
タックアドレスlの有効ピッ)V(J)に@l鰺を書き
込みこれによってデータD(j)のスタックアドレス!
(待行列の最後尾)への再登録が完成するO こうして、本実施例によると、待行列の先頭にある要求
が数多はずされて主記憶装置IK対するアクセス要求を
行ない、もし、このアクセス要求に対する主記憶装置1
のメモリモジ瓢−ルがビジー状態でなければこの要求は
そのまま実行される・またもし、ビジー状態の場合には
ビジー状態の解消を待つことなくこのアクセス要求は直
ちに待行列の最後尾に再び収容され、待行列の次の要求
に順番をまわす。
かくして、本実施例によると、最初に述べた従来の欠点
、すなわち、待行列の先頭にあるアクセス要求がビジー
状態に会うとそのビジー状態が解消するまで待行列の、
処理が進行しないという欠点を除去することができる。
さて次に、スタックレジスタ31中にアクセス要求が全
くない状態、(すなわち前述したようにライン4300
が@1”の状態)で、このPM−3qに属するあるVP
Mがアクセス要求を出しくライン4400t @1”と
し)、かつそれがキャッシュミスヒツトを起した(2イ
ン4500tP”1”とした)と仮定する。前回のアク
セス要求が終了して前述のようにアクセス要求ライン4
12oが10”にリセットされると、第2図から明らか
なように、条件選択論理ゲート414がこの組合せ条件
を解読しその出力側のライン4140に@l’論理レベ
ルを発生する。これに応答してFF411が次のクロッ
ク時点でセットされる・これは論理和回路412を介し
てアクセス要求信号ライン4120に@1”として主記
憶装置にアクセス要求を発する。
一方、切替回路4oの制御ライン4100が論理レベル
@O”であるため、回路4oはVPM側から要求アドレ
スが送られる要求アドレスバス4000側を選択し、こ
れをライン3100に接続しアクセスを要求するメモリ
アドレスとして主記憶装置(MM)i側に送出するとと
もに、スタックレジスタ31の入力データライン310
0上の信号とする。
主記憶装置(MM)1@では、前に述べたように、要求
されたメモリアドレスを含むメモリモジエールが現在ビ
ジーでなければ指定されたメモリアドレスを含むブロッ
クデータをこのPM3−Qに属するキャッジ瓢メモリ3
oに転送し、かつアクセプト信号ライン5000にアク
セプトパルス(MMACPT) t−返す。これは論理
和回路421を介してFF411をリセットしこのメモ
リアクセスを完了させる。
またもし、このメモリモジー−ルが現在ビジー状態であ
ればビジー信号ライン6000にビジーパルス(MMB
8Y)t−返す。これは論理積回路422、論理和回路
420を介して制御ライン3500 (B線)K論理@
l”レベルのパルスを発生するとlともに論理和回路4
16を介して制御ライン312゜(C線)にも論理′″
1”レベルのパルスを発生スる。この結果、この入力デ
ータライン3100上の要求アドレスは、有効ビット入
力ライン311o上の論理値(現在とれは@1#になっ
ている)とともに、ボットムスタックポインタ35が指
示するレジスタ31のスタックアドレスに格納される。
こうして一度発生したアクセス要求が完成されずに消失
するのを防止する。なおレジスタ31の中には、現在こ
れ以外にはアクセス要求がないので、次に条件選択論理
ゲート413の条件が成立したときには、このアクセス
要求がレジスタ31から増多はずされてアクセス要求を
行うことになる。
さて次に、スタックレジスタ31中にアクセス要求が存
在するが(空ではない、つまシライン4300が1Il
o#論理レベルにあるが)、フルではない状態(ライン
4200も@0”論理レベルの状態)のときに、このP
M−3qに属するあるVPMからのアクセス要求があシ
(ライン4400が@1#論理レベルとなル)、かつそ
れがキャッシュミスヒツトを起した(2イン4500を
wl”論理レベルとした)と仮定する。
前回のアクセス要求が終了して、前述のようにアクセス
墨求ライン4120が−O″にリセットされると、第2
図から明らかなように、条件選択論理ゲート415がこ
の組合せ条件を解読し、その出力側のライ/4150に
@ 1 pp論理レベルを発生する。この結果、論理和
回路420および416によシ、制御ライン3500(
BH)および制御2イン3120 (C線)が@1”論
理レベルとなる。
すでに説明したように、これは要求アドレスバス400
0、切替回路40を介して送られている入力データライ
ン3100上の要求元VPMからの要求メモリアドレス
を、有効ビット人力ライン3110上の@1”論理レベ
ル(現在、制御ライン3300−I)E”O”論理レベ
ルの丸めインバータ417によ)ライン3110は−1
”論理レベルにある)とともに、ボトムスタックポイン
タ35が指定するスタックアドレス(待行列の最後尾)
に新九に登録する。かくして、この場合においても、発
生したアクセス要求を待行列に登録することによシ、一
度発生したアクセス要求がアクセスを実行しないで消失
するのを防止し、アクセス効率を向上している。なお、
スタックがすでにフル状111(a)イン4200が″
”1”論理レベルにある状I!りにおいてVPMからの
7クセづ要求がキャッシュミスヒツトを起した場合には
、このアクセス要求を待行列に加えることができないの
でこれが消失するのはやむを得ない(条件選択論理ゲー
トの中にはこの組合せ条件を解読して処理する論理ゲー
トは含まれていない)。必要な場合にはレジスタ31の
容以上の実施例に限るものではない。とくに、−数構出
回路37の出力側にあるアンドゲート42、禁止ゲート
43また使用した制御用論理回路41は以上の実施例に
示したもののほかにも種種の異なった構成をとり得るこ
とは明らかである。
以上のように本発明によると、一度発生した主記憶装置
に対する仮想処理手段からのアクセス要求は、これが完
成するまで必要に応じて待行列に登録され、しかも、待
行列の先頭から増多はずされて要求実行をしたアクセス
要求がビジー状態に会うと、このアクセス要求は直ちに
待行列の最後尾に再登録される。この結果、一つのアク
セス要求に対するビジー状態発生のためこれが解消する
まで待行列の処理が進行しないという従来の欠点が除去
される。
これによシ、ベクトル演算専用の演算処理装置のように
、とくにロカリティ(局在性)の高いデータを用いて演
算する演算処理装置のメモリアクセスの効率向上を達成
できる。
【図面の簡単な説明】
第1図は本発明の一実施例を説明するためのブロック図
、第2図はこの実施例の一部の詳細を示すブロック図、
第3図および第4図は本実施例の動作を説明するための
タイムチャートである。 図において、1・・・・・主記憶装置、2・・・・・・
メモリスイッチ、3−0.3−1・・3−q・・・3−
n・・・・・・処理手段(PM)、30・・・・・・キ
ャッシュメモリ、31・・・・・・スタックレジスタ、
32−0.32−1・・32−k・・32−m・・・・
・・仮想処理手段(VPM)、33・・・・・・トップ
スタックポインタ、34・・・・・1加算回路、35・
・・・・・ボトムスタックポインタ、36 ・・・・1
加算回路、37・・・・・・−数構出回路、38・・・
・・切替回路、39・・・・・・要求メモリアドレスバ
ッファ、40・・・・・・切替回路、41・・・・・・
制御用論理回路、42・・・・・・アンドゲート、43
・・・・・禁止ゲート、410,411・・・・・・フ
リップフロップ(FF )、412,416,418゜
420,421・・・・・・論理和回路、413,41
4,415・・・・・・条件選択論理ゲート、417・
・・・・・インバータ、419.422・・・・・論理
積回路。 代理人 弁理士 内 原  晋 第1図 時間 丁:マシンサイクル O: /七9アク1X 第3図 第4図

Claims (1)

    【特許請求の範囲】
  1. 一つの主記憶装置に複数の処理手段がメモリスイッチを
    介して接続されておシ前記各処理手段はそれぞれに属す
    るキャッシュメモリを有しまたそれぞれに属する複数の
    仮想処理手段が前記それぞタックアドレスを指示する第
    1のポインタ手段と、前記アドレススタック手段に登録
    された前記待行列の最後尾の次のスタックアドレス灯−
    示する第2のポインタ手段と、前記第1のポインタ手段
    の値と前記第2のポインタ手段の値とを比較し両者の値
    の一致を検出する一致検出手段と、前記アドレススタッ
    ク手段から取シはずされた前記要求メモリアドレスを一
    時格納しておくバッファ手段と、前記−数構出手段の情
    報にもとすき前記アドレススタック手段中の待行列が空
    でないことを識別し前記第1のポインタの指示するスタ
    ックアドレスから前記待行列の先頭の前記要求メモリア
    ドレスを取シはずして前記バッファ手段に一時格納しこ
    の要求メモリアドレスが前記主記憶装置に受けつけられ
    なかった場合にこの要求メモリアドレスを前記第2のポ
    インタが指示するスタックアドレスに再び登録するよう
    に制御する制御手段とを有することt%徴とするメモリ
    アクセス方式。
JP56196140A 1981-12-04 1981-12-04 メモリアクセス方式 Pending JPS5897759A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56196140A JPS5897759A (ja) 1981-12-04 1981-12-04 メモリアクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56196140A JPS5897759A (ja) 1981-12-04 1981-12-04 メモリアクセス方式

Publications (1)

Publication Number Publication Date
JPS5897759A true JPS5897759A (ja) 1983-06-10

Family

ID=16352890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56196140A Pending JPS5897759A (ja) 1981-12-04 1981-12-04 メモリアクセス方式

Country Status (1)

Country Link
JP (1) JPS5897759A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63501936A (ja) * 1985-11-27 1988-08-04 アラ−チエツク アソシエイツ,デイ−ビ−エ− アラ−チエツク 使い捨て微小滴定用ステイツク

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63501936A (ja) * 1985-11-27 1988-08-04 アラ−チエツク アソシエイツ,デイ−ビ−エ− アラ−チエツク 使い捨て微小滴定用ステイツク

Similar Documents

Publication Publication Date Title
EP0243892B1 (en) System for guaranteeing the logical integrity of data
EP0135844B1 (en) A data processor with a branch target instruction storage
US4477872A (en) Decode history table for conditional branch instructions
JP3014773B2 (ja) プロセサアーキテクチャ
US5251306A (en) Apparatus for controlling execution of a program in a computing device
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
EP0106667B1 (en) Central processing unit
EP0328721A2 (en) Dynamic multiple instruction stream multiple data multiple pipeline floatingpoint unit
US5696939A (en) Apparatus and method using a semaphore buffer for semaphore instructions
US8140503B2 (en) Information processing apparatus having process units operable in parallel
JP3400458B2 (ja) 情報処理装置
US5907693A (en) Autonomously cycling data processing architecture
JPH0743648B2 (ja) 情報処理装置
JP3876033B2 (ja) 順不同に命令を実行するコンピュータのためのシステム
JPS62102344A (ja) バツフア・メモリ制御方式
US5475855A (en) Pipelined computer with half machine cycle alternating write control for avoiding usage conflicts in general registers
US20050010744A1 (en) Store-to-load forwarding buffer using indexed lookup
JPS5897759A (ja) メモリアクセス方式
JP3741945B2 (ja) 命令フェッチ制御装置
JP3554211B2 (ja) マイクロプログラムを用いた命令制御装置および方法
JP2004005710A (ja) 情報処置装置
JPS61224051A (ja) バッファメモリ制御方法
JPH06230963A (ja) メモリアクセス制御装置
JPS6120906B2 (ja)
JP3982077B2 (ja) マルチプロセッサシステム