JPH05216757A - プロセツサシステム及びそのデータ転送方法 - Google Patents

プロセツサシステム及びそのデータ転送方法

Info

Publication number
JPH05216757A
JPH05216757A JP3216195A JP21619591A JPH05216757A JP H05216757 A JPH05216757 A JP H05216757A JP 3216195 A JP3216195 A JP 3216195A JP 21619591 A JP21619591 A JP 21619591A JP H05216757 A JPH05216757 A JP H05216757A
Authority
JP
Japan
Prior art keywords
data
cache
processor
memory
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3216195A
Other languages
English (en)
Other versions
JP2503131B2 (ja
Inventor
Robert D Herzl
ロバート・ドブ・ハーズル
Kenneth A Lauricella
ケネス・アソニー・ローリセラ
Linda L Quinn
リンダ・リゴールト・クイン
David A Schroter
デビツト・アンドリユウ・スクローター
Allan R Steel
アラン・ロウ・ステイール
Iii Joseph L Temple
ジヨセフ・レスター・テンプル・ザ・サード
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
Publication of JPH05216757A publication Critical patent/JPH05216757A/ja
Application granted granted Critical
Publication of JP2503131B2 publication Critical patent/JP2503131B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

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

Abstract

(57)【要約】 【目的】本発明はデータをキヤツシユせずにメモリ内の
ある位置から他の位置に移す効果的な方法を提案するも
のである。 【構成】本発明はデータのある主記憶装置位置から他の
位置への転送、主記憶装置及び拡張記憶装置間の転送、
並びにある拡張記憶装置位置から他の位置への転送、を
含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセツサシステム及び
そのデータ転送方法に関し、特にデータ転送についてキ
ヤツシユせずにデータをメモリ内のある位置から他の位
置に移す場合に適用して好適なものである。
【0002】
【従来の技術】図1は双方向多重プロセツサシステム
(MP)の基本構成を示すものである。詳細な説明につ
いては米国特許第4,503,497号が参考となる
が、本発明と同じ課題をもつているので参考までにここ
に取り上げる。従来、プロセツサ命令素子(IE)のい
ずれかがデータを記憶装置内のある位置から他の位置に
移したい場合、データはそのプロセツサのキヤツシユ内
記憶装置に取り出される。そのデータはメモリの中に戻
つて記憶される。この例外「IBM3090」システム
におけるページング動作(米国特許第4,476,52
4号)である。このシステムにおいて、1ページ分のデ
ータは主記憶装置及び拡張記憶装置間を移動することが
できるようになされているが、これは転送を行うために
能動熱制御モジユール(TCM)を必要とする。
【0003】
【発明が解決しようとする課題】上述の引用米国特許第
4,503,497号のようなシステムにおいては、デ
ータをキヤツシユせずに記憶装置のある位置から他の位
置に移したい場合がある。この従来のプロセツサシステ
ムが移動したデータを使用しない場合、データをキヤツ
シユすることは単に記憶階層の効率を悪化させるだけで
ある。本発明の一実施例によると改善されたプロセツサ
システム及びその方法はプロセツサがキヤツシユ内記憶
装置をもつ形式のもので、メモリ及びキヤツシユ内記憶
装置間を結合するストアバツフアが存在するものであ
る。
【0004】
【課題を解決するための手段】多数の記憶位置を有する
メモリと、キヤツシユ内記憶装置15a、17aを有
し、要求信号を供給するプロセツサと、上記キヤツシユ
内記憶装置15a、17a及び上記メモリ間を結合する
ストアバツフア27、28とを具え、上記ストアバツフ
ア27、28は上記プロセツサ要求に応答して上記キヤ
ツシユ内記憶装置15a、17aを通過せずに一つの記
憶位置から他の記憶位置に転送することによりデータを
保持するようにする。
【0005】
【作用】ストアバツフアはデータがキヤツシユ内記憶装
置を通過せずに転送する間データを記憶するためにメモ
リ内のある位置から他の位置にデータを転送するという
プロセツサの要求に応答する。
【0006】
【実施例】以下図面について、本発明の一実施例を詳述
する。
【0007】図1は本発明による一実施例のシステム1
0を示し、主記憶装置11及び拡張記憶装置13が記憶
チツプX又はYの同じ物理的アレイの一部として形成さ
れている。これは、データをアレイのある位置から他の
位置に、又はあるアレイから他のアレイに転送したい場
合の記憶チツプXの一実施例を示す。4Mbitのよう
な高密度メモリチツプはアドレス制御をすることによつ
て例えば1Gbyteの記憶装置を形成する。各中央処
理装置(CPU)15及び17はそれぞれキヤツシユ1
5a及び17aに各記憶を保持している。CPU及びキ
ヤツシユ内記憶装置(BCE)はアレイX及びYに結合
されたシステム制御素子(SCE)19に接続されてい
る。システム制御素子19はCPU15及び17をチヤ
ネル制御素子(CCE)20並びに主記憶装置アレイX
及びYに接続する。システム制御素子SEC19はデー
タスイツチ21、システム優先論理回路22、記憶保護
論理回路23、クロスインタロゲート(XI)論理回路
24、及びシステム制御回路25を含んでいる。システ
ム優先論理回路22はCPU15、17及びチヤネル制
御素子CCE20からの要求を優先する。記憶保護論理
回路23はあるCPU又はリクエスタに対するメモリア
クセスを保護するために保護キーによるチエツクを実行
する。クロスインタロゲート(XI)論理回路24は最
も最近のデータ水準がどこの位置にあるかを決定する
(主記憶装置又はCPUのキヤツシユにおいて)。シス
テム制御回路25はシステム制御素子SCE19内の全
ての素子と通信することにより、動作の全ての局面を調
整するようになされている。キヤツシユに記憶を保持し
ている多重プロセツサシステムにおいては、CPUがデ
ータを移動させたい場合、CPUは当該キヤツシユ内に
データを持つて来なければならない。例えばデータ全ペ
ージ(4Kbyte)が転送される場合、CPUはキヤ
ツシユ内に32ライン分のデータ(16ラインに対して
それぞれ27ワードずつ)を持つてくる必要がある。こ
のようにすることはキヤツシユ内のデータを追い出すこ
とになり、この処理がページング動作のための領域を空
けるために使用される。従来の技術においてはこれと同
じようにCPU及びキヤツシユ内記憶装置に対してそれ
ぞれストアバツフア(OBB1、OBB2)27、28
が設けられている。このストアバツフア27、28は新
しいデータのために場所を空けたキヤツシユから記憶さ
れたLRU(最も長い間アクセスされなかつた)データ
のために使用され、クロスインタロゲート(XI)はC
PUのキヤツシユ内に保持されている他のリクエスタが
所望するデータを追い出す。本発明によればCPUがペ
ージ動作又はメモリからメモリへの動作のためにデータ
を取り出すとき、データが当該記憶バツフア27又は2
8にロードされる。この動作は制御リード25a及び2
5b並びにスイツチ21を介して拡張システム制御回路
25の制御の下において実行される。このようにすれ
ば、これが必要がないデータ及び分離型のページングバ
ツフアについて必要なデータをもつようにキヤツシユを
ロードするという問題を克服できる。データがCPUの
ストアバツフアにロードされると、CPUはシステム制
御素子SCEに指令をだしてそのデータを記憶装置に記
憶させる。
【0008】ストアバツフアを制御する方法にはストア
バツフアを使用する全ての要求を直列にする方法があ
る。このような対処の仕方はシステム作業に強い影響を
与える。そのような対処の仕方により次のような原理が
結果として生じる。要求が生じた場合、全ての要求を同
時に処理しかつ競合を避ける。この原理において必要な
ことはシステム制御素子SCE優先論理回路及びクロス
インタロゲートXI論理回路に変更することである。
【0009】優先論理回路は2つの新しい機能を実行す
るために変更される。第1はページ動作のために取出し
を受け取るときCPUストアバツフアが利用されなけれ
ばならないということである。第2はCPUのストアバ
ツフアに対し競合が生じたとき、ページ動作が敗けるこ
とである。その理由は次の通りである。競合は1つのC
PUがページ動作のために自分のストアバツフアを使用
し、同時に別のリクエスタ(チヤネル制御素子CCE又
は他のCPU)がそのキヤツシユ(上述のクロスインタ
ロゲートXI追出し)からデータを得たい時に生じる。
ページ動作は長時間の動作なので、ページ動作が優先権
によつて中断すればシステム性能は最小限まで下がる。
【0010】クロスインタロゲートXI論理は以下の新
しい機能を実行するために変更される。ページ動作がシ
ステム制御素子SCEの優先権によつて選択されると、
要求しているCPUのストアバツフアに対して追出しが
進行中であるか否かをクロスインタロゲートXIがチエ
ツクする。追出しが進行中であれば、クロスインタロゲ
ートXIはページ動作命令に対して手当をしないでペー
ジ要求はシステム制御素子SCE優先論理回路に戻され
ることにより後で処理される。進行中の追出しがないと
き、クロスインタロゲートXIはページ動作を実行する
ために要求に応ずる。さらにクロスインタロゲートXI
論理回路は、ストアバツフアが利用されるまで新しい要
求がストアバツフアに送られないように保証する。クロ
スインタロゲートXI論理回路に対する他の変更はCP
Uのストアバツフアに対する競合した使用を検出するこ
とである(上述したように)。CPUストアバツフアに
対して競合を引き起こすようなページ動作要求がないと
き、クロスインタロゲートXIはそれを検出する。クロ
スインタロゲートXIはデイレクトリコピーを書き直す
ことによつて要求をスケジユールし直すと共に、優先回
路にこの要求を再入力させるような信号を送り返す。上
述したように、優先回路は進行中のページ動作に割り込
むことによりこの要求を処理させる。
【0011】拡張記憶装置動作を用いる方法は、従来の
システムにおいて用いられた方法より更に効果的な方法
により、拡張記憶装置から拡張記憶装置への移動及び主
記憶装置から主記憶装置への移動をさせることができ
る。これはデータをCPUキヤツシユ内にロードせずに
移動させ得るという事実による。
【0012】メモリアレイX及びYがページ間ではなく
キヤツシユラインを単位としてインターリーブされる場
合、データが2ワード分のバス上を移動するために切り
落とされるような必要がないので、ページング帯域幅を
さらに大きくすることができるようなメモリカード上の
バツフアにデータを保持させることができる。
【0013】上述のシステムは図2のフローチヤートの
ように動作する。
【0014】CPU内のマイクロコードは図3のフロー
チヤートに示すように、例えば主記憶装置のアドレスA
から拡張記憶装置のアドレスBに切り変わるような処理
をする。
【0015】上述のシステム実行についての詳細な説明
は米国特許第4,503,497号の多重プロセツサシ
ステムについて述べられている。
【0016】図4は双方向多重プロセサツシステム(M
P)の基本的な構成を示す。従来、プロセツサ命令素子
(IE)としてのCPU15又は17が、データをある
記憶位置から他の記憶位置に移動させたい場合、データ
は図4に示すプロセツサキヤツシユ15a又は17a
(BCE+CACHE)の中に取り出される。このとき
当該データはメモリ内に戻り記憶される。
【0017】この実施例により説明される方法は、単純
な2つの指令を用いることにより記憶装置内の一連のデ
ータを移動させるようになされている。「バツフアへの
取出し」(FTB)指令は、データラインを記憶装置か
ら図9のシステム制御素子SCEのOBBストアバツフ
アに取り出すために用いられる。「バツフアからの記
憶」(SFB)指令はそのデータラインをOBBから記
憶装置内の新しい位置に移動させるために用いられる。
かくしてOBBはもはやBCE(CPU及びキヤツシユ
内記憶装置)及びシステム制御素子SCE間を通過する
データに対して単にバツフアとして使用されるだけでは
なくなる。数々の制御問題はこのような作業をする際に
考慮される必要のあるもので、このことは後述する。
【0018】転送はプロセサ命令素子IEがCPU及び
キヤツシユ内記憶装置BCEに対する「バツフアへの取
出し」FTB指令を発する際に開始する。取り出される
記憶アドレスが要求に含まれている。プロセツサはCP
U及びキヤツシユ内記憶装置BCEがシステム制御素子
SCEに要求を送る間待ち受け状態になる。このこと
は、メモリからメモリへのライン転送であることを示す
指令バス上の特別な修飾子と共に、「SET FAR」
指令を用いることにより実行される。続いてシステム制
御素子SCEはメモリからOBBにラインデータを取り
出してCPU及びキヤツシユ内記憶装置BCEに「FT
B DONE」という応答を送る。このときCPU及び
キヤツシユ内記憶装置BCEはプロセツサに対して完了
応答をリターンする。プロセツサは待ち受け状態から抜
け出して新しい記憶位置のアドレスと共にCPU及びキ
ヤツシユ内記憶装置BCEに「バツフアからの記憶」S
FB指令を発生する。プロセツサは、CPU及びキヤツ
シユ内記憶装置BCEがシステム制御素子SCEに要求
を伝送する間、再度待ち受け状態に入る。これは再度指
令バス上の特別な修飾子と共に「SET FAR」指令
を用いることにより実行される。システム制御素子SC
Eは、データをOBBバツフアから新しい記憶位置に移
動し、ラインが連続的に転送されるか否かに関する状態
と共に、CPU及びキヤツシユ内記憶装置BCEに「S
FB DONE」応答を送る。
【0019】「バツフアへの取出し」FTB指令はCP
U及びキヤツシユ内記憶装置BCEからそのFAR(図
5又はmodified Krygowski Figure 5a) にロードされ
る。選択すべき「バツフアへの取出し」FTB指令につ
いて、当該「バツフアへの取出し」FTB指令は選択す
べき取出しとしてのすべての条件を満足しなければなら
ず、かつそのCPUのSTARはいかなる指令をも含ん
ではならない。CPUのSTARが指令を含んでいる場
合、そのOBBは用いられている(Krygowskiの教
示)。「バツフアへの取出し」FTB指令が使用のため
に選択されると(優先回路を介してライン48に信号を
送る)、CPU及びキヤツシユ内記憶装置BCE1又は
CPU及びキヤツシユ内記憶装置BCE2ロツク要求ラ
インが指令デコード論理回路131を通して発生される
(129)。このラインはキユーロツク論理回路に送ら
れる(この論理回路は十分に後述する)。キユーロツク
論理回路はシステム制御素子SCEが追出し要求をCP
U及びキヤツシユ内記憶装置BCEへ送らないようにす
るために用いられる。これはCPUのOBBについての
使用が競合しないということを保証するために必要なス
テツプである(例えば、追出し及び「バツフアへの取出
し」FTB指令を同時に使用する)。
【0020】応答がクロスインタロゲートXIヒツト論
理回路(図6又はmodified Krygowski Figure 15a)
からリターンされるとCPU及びキヤツシユ内記憶装置
BCE1「バツフアへの取出し」FTB要求に対する信
号CPU及びキヤツシユ内記憶装置BCE1再試行ロツ
ク(140)はオン状態になる(かつCPU及びキヤツ
シユ内記憶装置BCE2「バツフアへの取出し」FTB
要求に対するCPU及びキヤツシユ内記憶装置BCE2
再試行ロツクラインがオン状態になる)。CPU及びキ
ヤツシユ内記憶装置BCE1再試行ロツクラインがオン
状態になれば、CPU及びキヤツシユ内記憶装置BCE
の要求は取り消され、CPU及びキヤツシユ内記憶装置
BCE非ロツクキユー信号が発生される(142又は1
43)。さらに優先制御回路(Krygowski et al Figure
5 block46)は「バツフアへの取出し」FTBFAR
指令を再度発生するためにリセツトされる。CPU及び
キヤツシユ内記憶装置BCE1再試行ロツクがオン状態
でなく、排他的(EX)ヒツトがCDのうち1つ(図6
の146又は147は Krygowski modified Figure15
aにある)に生じると、次のような作業が実行される。
CPU及びキヤツシユ内記憶装置BCE非ロツクキユー
信号が作動し、取出し要求が取り消されかつCO及びC
EROがクロスインタロゲートヒツトXIH要求バス上
方のヒツトCPU及びキヤツシユ内記憶装置BCEに送
られる。システム制御素子SCEがCOに対してセツト
STARを得ると、システム制御素子SCEは主記憶装
置にラインを記憶させ「バツフアへの取出し」FTB指
令を再度発生するためにシステム制御素子SCE優先制
御回路をリセツトする。CPU及びキヤツシユ内記憶装
置BCE1再試行ロツクがオン状態でないと取出し作業
は続く(ここで注意すべきはCPU及びキヤツシユ内記
憶装置BCE1キユーがロツクされていないので、CP
U及びキヤツシユ内記憶装置BCE1に送られる追出し
要求は何もない)。データが図7の主記憶装置MS(mo
dified Krygowski Figure 17)からリターンしている
とき、CPU及びキヤツシユ内記憶装置BCE1に対す
るライン150(CPU及びキヤツシユ内記憶装置BC
E2に対しては151)はデータをCPU及びキヤツシ
ユ内記憶装置BCEのOBB内に入れるように作動す
る。図8は(modified Krygowski Figure 18)データ
がOBB1信号(150)に対してGT・M.S.を介
してOBBにどのようにして入るかを示すものである。
ライン151はデータを主記憶装置MS(図9に示す−
modified Krygowski Figure 2)から入れるデータスイ
ツチ回路の出力である。
【0021】OBB内に入れられたデータと並列に、指
令応答バス(bus 21 in Krygowskiet al. Figure 6)
は「バツフアへの取出し」FTB指令が完了したことを
示しているCPU及びキヤツシユ内記憶装置BCEに送
られる。概要を述べると、CPU及びキヤツシユ内記憶
装置BCEはバツフア(SFB)からの記憶であること
を表す指令形式のセツトSTAR(Figure6 in Krygow
ski et al )を送出する。CPU及びキヤツシユ内記憶
装置BCEは「バツフアからの記憶」SFBのセツトS
TAR指令上のシステム制御素子SCEにいかなるデー
タの進行も送らない。データの進行はOBB信号(15
0)に対するゲート主記憶装置から生ずる。システム制
御素子SCEは記憶指令が実行するのと同様にして「バ
ツフアからの記憶」SFBを実行する。システム内のC
PUがそのキヤツシユ内に目標ライン(SFB)アドレ
スを保持しているとき、システム制御素子SCEはクロ
スインタロゲートヒツトXIH要求バス(Figure7 of
Krygowski et al.)を通じて当該ラインに対して無効要
求を送出する。
【0022】セツトSTARライン(図6の145− K
rygowski modified Figure15a)の付加的な機能はC
PU及びキヤツシユ内記憶装置BCEに対してキユーロ
ツク制御をリセツトすることにより、システム制御素子
SCEは当該CPU及びキヤツシユ内記憶装置BCEに
対して追出し要求を再度送り始めるようになされてい
る。CPU及びキヤツシユ内記憶装置BCEのSTAR
が他のセツトSTAR指令を処理するために利用できる
ようになつた時「バツフアからの記憶」SFBが動作す
ることをCPU及びキヤツシユ内記憶装置BCEは知つ
ている。
【0023】クロスインタロゲートXI論理回路は4X
ISARレジスタのスタツクを有する(図10)。4つ
のレジスタのうち1つのレジスタだけがいかなるマシン
サイクルにもアクセスされ得る。XISARスタツクは
3つの目的に対してアクセスされる。第1の目的は要求
されたデータラインのためにコピーデイレクトリの検索
を実行するための情報を読み出すことである。第2の目
的はヒツトCPU及びキヤツシユ内記憶装置BCEに対
してクロスインタロゲートヒツト要求XIHREQUE
STを形成するために情報を読み出すことである。第3
の目的は応答RESPONSEが要求REQUESTか
らクロスインタロゲートヒツトCPU及びキヤツシユ内
記憶装置XIH BCEに戻つて来る時、情報を読み出
し更新することである。デイレクトリ検索はXISAR
アクセスに対して優先権がある。他の2つのアクセス形
態は同時に生じる。
【0024】コピーデイレクトリ検索の間にCPU及び
キヤツシユ内記憶装置BCEが当該CPU及びキヤツシ
ユ内記憶装置BCEに対して作られたクロスインタロゲ
ートヒツト要求XIH REQUESTをCPU及びキ
ヤツシユ内記憶装置BCEがもつ必要があるということ
が決定された時、検索の際に使用されるXISARレジ
スタのアドレスがクロスインタロゲートヒツト要求スタ
ツクXIH REQUEST STACKと呼ばれるF
IFO(先入れ先出し)スタツクに押し込まれる。クロ
スインタロゲートヒツト要求XIH REQUESTを
当該CPU及びキヤツシユ内記憶装置BCEに送る必要
性のあるXISARレジスタのいくつかのアドレスが当
該スタツク内に保持され得る。XISARスタツクアド
レス優先論理回路がクロスインタロゲートヒツト要求X
IH REQUEST論理回路をXISARレジスタス
タツクにアドレスできるとき、クロスインタロゲートヒ
ツト要求スタツクXIH REQUEST STACK
における下部アドレスがXISARレジスタスタツクを
アクセスするために使用される。XISARレジスタス
タツクから出た情報はCPU及びキヤツシユ内記憶装置
BCEに送られるクロスインタロゲートヒツト要求XI
H REQUESTを形成するために使用される。クロ
スインタロゲートヒツト要求スタツクXIH REQU
EST STACKはクロスインタロゲートヒツト要求
保持レジスタXIH REQUESTHOLD REG
ISTERに投入されて使用されたアドレスと共に押し
込まれる。CPU及びキヤツシユ内記憶装置BCEがこ
のクロスインタロゲートヒツト要求XIH REQUE
STに応答するとXISARレジスタスタツクがクロス
インタロゲートヒツト要求保持レジスタXIH REQ
UEST HOLD REGISTER(優先論理回路
が許すとき)によりアクセスされ、アクセスされたXI
SARレジスタは更新されると共に、応答が要求してい
るCPU及びキヤツシユ内記憶装置BCE又はチヤネル
に送り返される。XISARレジスタスタツクアドレス
優先論理回路がこれを許すと、クロスインタロゲートヒ
ツト要求スタツクXIH REQUEST STACK
のボトムにある次のアドレスが使用されて次のペンデイ
ング中のクロスインタロゲートヒツト要求XIH RE
QUESTを送出する。
【0025】OBBのデータの一貫性を維持するため
に、クロスインタロゲートヒツトXIH要求論理回路
(図11)にロツク機構が加えられる。「バツフアへの
取出し」(FTB)によりコピーデイレクトリ検索が開
始されると、、検索リクエスタのうちクロスインタロゲ
ートヒツト要求スタツクXIH REQUEST ST
ACK及び保持レジスタHOLD REGISTERは
クロスインタロゲートヒツトXIH要求が送出されたか
又は保留中であるかを調べるためにチエツクされる。ク
ロスインタロゲートヒツトXIHリクエスタが要求して
いるCPU及びキヤツシユ内記憶装置BCEに対してス
タツクされると、システム制御素子SCE制御論理回路
がかのリクエスタのために再試行ロツクRETRY L
OCK指令を送る。システム制御素子SCE制御論理回
路は上述の条件が整合しかつデイレクトリ検索が開始さ
れるまで、「バツフアへの取出し」FTBに対してコピ
ーデイレクトリ検索を再度実行する。要求しているCP
U及びキヤツシユ内記憶装置BCEについてクロスイン
タロゲートヒツトXIHリクエスタがスタツクされてな
いが、排他的ヒツトがあると、クロスインタロゲートヒ
ツトXIH要求スタツクはロツクされずかつ追出し要求
はヒツトCPU及びキヤツシユ内記憶装置BCEに送ら
れる。追出しが完了すると、システム制御素子SCEは
「バツフアへの取出し」FTBを再度実行する。
【0026】スタツクされたクロスインタロゲートヒツ
トXIH要求がなくしかもコピーデイレクトリ検索につ
いての排他的ヒツトがないとき、クロスインタロゲート
ヒツト要求スタツクXIH REQUEST STAC
Kは、アドレスがスタツク内に押し込まれ得るが取り出
し得るものはない状態にロツクされる。このことは「バ
ツフアへの取出し」FTBを要求しているCPU及びキ
ヤツシユ内記憶装置BCEが、追出しを要求することが
できないようにする。記憶装置から記憶装置への転送の
うちバツフアからの記憶(SFB)が開始される前に、
追出しの発生が許容されている場合、追出しデータは
「バツフアからの記憶」SFBに対するデータを保持し
ているOBBに存在する「バツフアへの取出し」FTB
データを重ね書きする。一度「バツフアからの記憶」S
FBが開始されると、システム制御素子SCE制御回路
は非ロツクキユー要求UNLOCK QUEUE RE
QUESTを発生することによりスタツクされているク
ロスインタロゲートヒツトXIH要求が処理を開始する
ことを許容する状態になる(図12)。
【0027】図13には他の実施例を示し、この場合独
立した能動ページバツフア127及び128はデータス
イツチに結合され、これによりCPU及びキヤツシユ内
記憶装置BCE追出し競合がなく、かつバツフア(SF
B)からバツフア(FTB)に記憶を取り出すシステム
制御回路25からの制御の下に、ストアバツフア(OB
B)として動作する。
【0028】
【発明の効果】上述のように本発明によれば、ストアバ
ツフアによつてデータがキヤツシユ内の記憶装置を通過
せずに転送する間、当該データを記憶するために、メモ
リ内のある位置から他の位置にデータを転送するように
したことにより、データをキヤツシユに記憶させる際の
記憶階層の効率を一段と高めることができる。
【図面の簡単な説明】
【図1】図1は本発明による好適な一実施例におけるプ
ロセツサシステムブロツク図である。
【図2】図2は図1のシステムの動作を示すフローチヤ
ートである。
【図3】図3は図1のプロセツサにおけるマイクロコー
ドについてのフローチヤートである。
【図4】図4はキヤツシユ内記憶装置を有する従来の多
重プロセツサシステムの基本構成を示すブロツク図であ
る。
【図5】図5はシステム制御素子SCE FAR/ST
AR回路を示すブロツク図である。
【図6】図6は取出しキヤンセル制御回路の変形例を示
すブロツク図である。
【図7】図7は主記憶装置MS戻り回路を示すブロツク
図である。
【図8】図8はOBBゲート回路を示すブロツク図であ
る。
【図9】図9は主記憶装置からのデータゲート回路を示
すブロツク図である。
【図10】図10は本発明によるクロスインタロゲート
XI要求キユーロツクを有する基本論理回路を示すブロ
ツク図である。
【図11】図11は本発明によるロツキングメカニズム
論理を示すブロツク図である。
【図12】図12は本発明によるロツキングメカニズム
論理を示すブロツク図である。
【図13】図13はページが追出しをしないで転送をす
るために独立した能動ストアバツフアを有する他の実施
例を示すブロツク図である。
【符号の説明】
11……主記憶装置、13……拡張記憶装置、15、1
7……中央処理装置、15a、17a……キヤツシユ内
記憶装置、19……システム制御素子、20……チヤネ
ル制御素子、21……データスイツチ、22……システ
ム優先論理回路、23……記憶装置保護論理回路、24
……クロスインタロゲート(XI)論理回路、25……
システム制御回路、25a、25b……制御リード、2
7、28……ストアバツフア、127、128……能動
ページングバツフア、129……ロツク要求ライン、1
31……指令デコード論理回路、140……再試行ロツ
ク、142、143……非ロツクキユー信号、144、
145……セツトSTARライン、150……OBB1
信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケネス・アソニー・ローリセラ アメリカ合衆国、ニユーヨーク州12401、 キングストン、ノース・ロード 333番地 (72)発明者 リンダ・リゴールト・クイン アメリカ合衆国、ニユーヨーク州12571、 レツド・ヒユク、トロウ・ボウルバード 1番地 (72)発明者 デビツト・アンドリユウ・スクローター アメリカ合衆国、ニユーヨーク州12590、 ワツピンガーズ・フオールズ、ダニエル・ サビアドライブ 2番地 (72)発明者 アラン・ロウ・ステイール アメリカ合衆国、ニユーヨーク州12571、 レツド・ヒユク、マイズランド・ロード 2番地 (72)発明者 ジヨセフ・レスター・テンプル・ザ・サー ド アメリカ合衆国、ニユーヨーク州12433、 ハーレイ、ピー・オー・ボツクス507、ヒ ユク・ストリート 1番地

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】多数の記憶位置を有するメモリと、 キヤツシユ内記憶装置を有し、要求信号を供給するプロ
    セツサと、 上記キヤツシユ内記憶装置及び上記メモリ間を結合する
    ストアバツフアとを具え、 上記ストアバツフアは上記プロセツサ要求に応答して上
    記キヤツシユ内記憶装置を通過せずに一つの記憶位置か
    ら他の記憶位置に転送することによりデータを保持する
    ことを特徴をするプロセツサシステム。
  2. 【請求項2】上記メモリは、主記憶装置及び拡張記憶装
    置を有し、上記一つの記憶位置が主記憶位置でありかつ
    上記他の記憶位置が拡張記憶位置であることを特徴とす
    る特許請求の範囲第1項に記載のプロセツサシステム。
  3. 【請求項3】上記プロセツサの要求はページ転送に対す
    るものでありかつ上記ストアバツフアがページングデー
    タを保持することを特徴とする特許請求の範囲第1項に
    記載のプロセツサシステム。
  4. 【請求項4】さらに、上記ストアバツフアは最も長い間
    アクセスされなかつた追出し及びクロスインタロゲート
    追出しを保持することを特徴とする特許請求の範囲第1
    項に記載のプロセツサシステム。
  5. 【請求項5】多重プロセツサシステム内のプロセツサの
    制御下に、プロセツサキヤツシユを通過せずに、データ
    をメモリ内の第1の位置から第2の位置に転送する方法
    において、 上記プロセツサのマイクロコード下に上記第1の位置か
    ら上記データをライン順次に取り出すステツプと、 キヤツシユされていないストアバツフア内にライン順次
    に上記取り出されたデータラインを記憶するステツプ
    と、 上記プロセツサ自身のキヤツシユを通過せずに、上記マ
    イクロコードプログラムの制御の下に、上記データライ
    ンをラインごとに上記第2の位置に記憶するステツプと
    を具えることを特徴とするデータ転送方法。
  6. 【請求項6】それぞれ、上記第1の記憶位置が主記憶装
    置又は拡張記憶装置であり、かつ上記第2の位置が拡張
    記憶装置又は主記憶装置であることを特徴とする特許請
    求の範囲第5項に記載のデータ転送方法。
  7. 【請求項7】上記ストアバツフアは最も長い間アクセス
    されなかつた追出し及びクロスインタロゲート追出しを
    保持することを特徴とする特許請求の範囲第6項に記載
    のデータ転送方法。
  8. 【請求項8】多重プロセツサシステム内のプロセツサの
    制御の下に、上記プロセツサのキヤツシユを通過せずに
    ページデータをメモリ内の第1の位置から第2の位置に
    転送する方法について、上記システムは最も長い間アク
    セスされなかつた追出し及びクロスインタロゲート追出
    しを保持するためにプロセツサのキヤツシユ及びメモリ
    間を結合するストアバツフアを有するデータ転送方法に
    おいて、 (a)最も長い間アクセスされなかつた追出し又はクロ
    スインタロゲート追出しが進行中であるか否かをチエツ
    クするステツプと、 (b)最も長い間アクセスされなかつた追出し又はクロ
    スインタロゲート追出しが進行中であるとき、当該追出
    しが完了するまでページング転送を保持するステツプ
    と、 (c)進行中ではないとき、ページング転送が要求され
    た時ページング転送が完了するまで全ての新しい追出し
    が発生しないようにロツクするステツプと、 (d)上記プロセツサマイクロコード下に上記第1の位
    置からデータをライン順次に取り出すステツプと、 (e)キヤツシユされてないストアバツフアに上記取出
    されたラインデータをライン順次にするステツプと (f)上記プロセツサ自身のキヤツシユを通過せずに上
    記マイクロコードプログラムの制御の下に上記データラ
    インを上記第2の位置にライン順次に記憶させるステツ
    プとを具えることを特徴とするデータ転送方法。
JP3216195A 1990-09-04 1991-08-02 プロセツサシステム Expired - Lifetime JP2503131B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/577344 1990-09-04
US07/577,344 US5269009A (en) 1990-09-04 1990-09-04 Processor system with improved memory transfer means

Publications (2)

Publication Number Publication Date
JPH05216757A true JPH05216757A (ja) 1993-08-27
JP2503131B2 JP2503131B2 (ja) 1996-06-05

Family

ID=24308307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3216195A Expired - Lifetime JP2503131B2 (ja) 1990-09-04 1991-08-02 プロセツサシステム

Country Status (3)

Country Link
US (1) US5269009A (ja)
EP (1) EP0474450A3 (ja)
JP (1) JP2503131B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155080A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd メモリ制御装置およびメモリ制御方法
WO2009034652A1 (ja) 2007-09-14 2009-03-19 Fujitsu Limited 情報処理装置及びその制御方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69129401T2 (de) * 1990-12-25 1998-10-29 Mitsubishi Electric Corp Halbleiterspeichervorrichtung mit einem grossen Speicher und einem Hochgeschwindigkeitsspeicher
US5377337A (en) * 1993-06-08 1994-12-27 International Business Machines Corporation Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US6128714A (en) * 1994-03-17 2000-10-03 Hitachi, Ltd. Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area
FR2755523B1 (fr) * 1996-11-05 1998-12-04 Bull Sa Circuit electrique pour echanger des donnees entre un microprocesseur et une memoire et calculateur comprenant un tel circuit
US6202133B1 (en) 1997-07-02 2001-03-13 Micron Technology, Inc. Method of processing memory transactions in a computer system having dual system memories and memory controllers
US6049855A (en) * 1997-07-02 2000-04-11 Micron Electronics, Inc. Segmented memory system employing different interleaving scheme for each different memory segment
US6253273B1 (en) * 1998-02-06 2001-06-26 Emc Corporation Lock mechanism
US6216205B1 (en) 1998-05-21 2001-04-10 Integrated Device Technology, Inc. Methods of controlling memory buffers having tri-port cache arrays therein
US5982700A (en) * 1998-05-21 1999-11-09 Integrated Device Technology, Inc. Buffer memory arrays having nonlinear columns for providing parallel data access capability and methods of operating same
US5999478A (en) * 1998-05-21 1999-12-07 Integrated Device Technology, Inc. Highly integrated tri-port memory buffers having fast fall-through capability and methods of operating same
US5978307A (en) * 1998-05-21 1999-11-02 Integrated Device Technology, Inc. Integrated circuit memory devices having partitioned multi-port memory arrays therein for increasing data bandwidth and methods of operating same
US6546461B1 (en) 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
US6985951B2 (en) * 2001-03-08 2006-01-10 International Business Machines Corporation Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment
US7089558B2 (en) 2001-03-08 2006-08-08 International Business Machines Corporation Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment
US7042792B2 (en) * 2004-01-14 2006-05-09 Integrated Device Technology, Inc. Multi-port memory cells for use in FIFO applications that support data transfers between cache and supplemental memory arrays
US9218183B2 (en) 2009-01-30 2015-12-22 Arm Finance Overseas Limited System and method for improving memory transfer

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0348616A2 (en) * 1988-06-28 1990-01-03 International Business Machines Corporation Storage subsystem including an error correcting cache

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3914747A (en) * 1974-02-26 1975-10-21 Periphonics Corp Memory having non-fixed relationships between addresses and storage locations
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
US4056848A (en) * 1976-07-27 1977-11-01 Gilley George C Memory utilization system
DE2641722C3 (de) * 1976-09-16 1981-10-08 Siemens AG, 1000 Berlin und 8000 München Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung
US4181937A (en) * 1976-11-10 1980-01-01 Fujitsu Limited Data processing system having an intermediate buffer memory
JPS5849945B2 (ja) * 1977-12-29 1983-11-08 富士通株式会社 バツフア合せ方式
US4231088A (en) * 1978-10-23 1980-10-28 International Business Machines Corporation Allocating and resolving next virtual pages for input/output
US4293910A (en) * 1979-07-02 1981-10-06 International Business Machines Corporation Reconfigurable key-in-storage means for protecting interleaved main storage
US4783739A (en) * 1979-11-05 1988-11-08 Geophysical Service Inc. Input/output command processor
US4412303A (en) * 1979-11-26 1983-10-25 Burroughs Corporation Array processor architecture
US4445176A (en) * 1979-12-28 1984-04-24 International Business Machines Corporation Block transfers of information in data processing networks
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4513367A (en) * 1981-03-23 1985-04-23 International Business Machines Corporation Cache locking controls in a multiprocessor
GB2095441A (en) * 1981-03-25 1982-09-29 Philips Electronic Associated A method of storing data and a store therefor
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
US4410946A (en) * 1981-06-15 1983-10-18 International Business Machines Corporation Cache extension to processor local storage
US4476524A (en) * 1981-07-02 1984-10-09 International Business Machines Corporation Page storage control methods and means
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
JPS59167761A (ja) * 1983-03-14 1984-09-21 Hitachi Ltd 計算機システム
JPS60207943A (ja) * 1984-03-27 1985-10-19 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 階層記憶システムにおける1次記憶の内容の保護方法
US4654778A (en) * 1984-06-27 1987-03-31 International Business Machines Corporation Direct parallel path for storage accesses unloading common system path
JPS6182272A (ja) * 1984-09-29 1986-04-25 Hitachi Ltd ベクトル処理装置
JPS61289444A (ja) * 1985-06-18 1986-12-19 Nec Corp デ−タ処理方式
US4839799A (en) * 1985-07-29 1989-06-13 Hitachi, Ltd. Buffer control method for quickly determining whether a required data block is in the buffer
US4761737A (en) * 1986-01-16 1988-08-02 International Business Machines Corporation Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
JPS6364144A (ja) * 1986-09-04 1988-03-22 Hitachi Ltd 記憶装置間デ−タ転送方式
JPS6380349A (ja) * 1986-09-24 1988-04-11 Nec Corp 高速ペ−ジ入出力方式
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH01147747A (ja) * 1987-12-04 1989-06-09 Fujitsu Ltd 拡張仮想記憶制御方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0348616A2 (en) * 1988-06-28 1990-01-03 International Business Machines Corporation Storage subsystem including an error correcting cache

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006155080A (ja) * 2004-11-26 2006-06-15 Fujitsu Ltd メモリ制御装置およびメモリ制御方法
WO2009034652A1 (ja) 2007-09-14 2009-03-19 Fujitsu Limited 情報処理装置及びその制御方法

Also Published As

Publication number Publication date
EP0474450A3 (en) 1993-07-21
JP2503131B2 (ja) 1996-06-05
EP0474450A2 (en) 1992-03-11
US5269009A (en) 1993-12-07

Similar Documents

Publication Publication Date Title
US7032074B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5222224A (en) Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system
US5903911A (en) Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US5717898A (en) Cache coherency mechanism for multiprocessor computer systems
US6321296B1 (en) SDRAM L3 cache using speculative loads with command aborts to lower latency
JP3533355B2 (ja) キャッシュ・メモリ・システム
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
US5715428A (en) Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system
JPH05216757A (ja) プロセツサシステム及びそのデータ転送方法
US5367660A (en) Line buffer for cache memory
JP4128878B2 (ja) キャッシュ中のラインを投機的に無効にする方法とシステム
US5642494A (en) Cache memory with reduced request-blocking
US6226722B1 (en) Integrated level two cache and controller with multiple ports, L1 bypass and concurrent accessing
US5301298A (en) Processor for multiple cache coherent protocols
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5960463A (en) Cache controller with table walk logic tightly coupled to second level access logic
US20020199070A1 (en) Using an L2 directory to facilitate speculative loads in a multiprocessor system
JPH0799509B2 (ja) メモリへのデータブロックのエントリを制御する方法
US20020199066A1 (en) Method and apparatus for facilitating speculative loads in a multiprocessor system
US20030041225A1 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
US6345320B1 (en) DMA address buffer and cache-memory control system
US5379396A (en) Write ordering for microprocessor depending on cache hit and write buffer content
US5809537A (en) Method and system for simultaneous processing of snoop and cache operations
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems