JP2714952B2 - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP2714952B2
JP2714952B2 JP63097500A JP9750088A JP2714952B2 JP 2714952 B2 JP2714952 B2 JP 2714952B2 JP 63097500 A JP63097500 A JP 63097500A JP 9750088 A JP9750088 A JP 9750088A JP 2714952 B2 JP2714952 B2 JP 2714952B2
Authority
JP
Japan
Prior art keywords
block
data
processing unit
address
computer system
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 - Lifetime
Application number
JP63097500A
Other languages
English (en)
Other versions
JPH01269142A (ja
Inventor
幸二 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63097500A priority Critical patent/JP2714952B2/ja
Priority to US07/340,080 priority patent/US5313602A/en
Publication of JPH01269142A publication Critical patent/JPH01269142A/ja
Application granted granted Critical
Publication of JP2714952B2 publication Critical patent/JP2714952B2/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/0877Cache access modes
    • G06F12/0879Burst mode
    • 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

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファ記憶制御方式の計算機システムに係
り、特に、ストア・イン方式のバッファ記憶を複数有す
るマルチプロセッサシステムにおいて、バッファ記憶間
のブロック転送を効率的に行う計算機システムに関す
る。
〔従来の技術〕
一般に計算機システムでは高速バッファ記憶(以下、
BSと称す)を備え、主記憶(以下、MSと称す)内の使用
頻度の高いデータをBSに格納し、該BSを参照して目的の
データを得ることにより、MSの実効的アクセス時間を短
縮し、プロセッサの処理能力の向上を図っている。スト
ア・イン方式は、ストア要求時、該当ブロックがBSにあ
ると、BS上の該当ブロックのデータを書き替え、そのブ
ロックがリプレースの対象になったときにMSに戻す方式
である。
従来、このストア・イン方式のBSを複数有するマルチ
プロセッサシステムにおいては、BS間の一致制御を行う
ため、BS上での一連のデータの取扱い単位であるブロッ
クのアドレスをやりとりし、BS間のデータ転送を行って
いる。即ち、ある処理ユニットが自BS上に所要データが
存在しない場合、当該ブロックアドレスを他処理ユニッ
トに送出する。他処理ユニットは当該ブロックが自BS上
に存在するか否かを判断し、自BS上に当該ブロックが存
在し、かつ、書き替えられてMSの内容と不一致になって
いる場合には、当該ブロックのデータを要求元の処理ユ
ニットに転送する。なお、この種のバッファ記憶制御方
式として関連するものには、例えば特開昭61−290550号
公報が挙げられる。
〔発明が解決しようとする課題〕
上記従来技術は、BS間でのブロック単位のデータ転送
(ブロック転送)を行う場合、ブロック内のデータ転送
順序について配慮されておらず、ブロック内の先頭デー
タから転送することになるため、要求元処理ユニットが
必要としているデータがブロックの後部に存在する場
合、該要求元処理ユニットへの所要データの送出が遅れ
るという問題があった。
本発明の目的は、ストア・イン方式のBSを複数有する
マルチプロセッサシステムにおいて、BS間でのブロック
転送を効率よく行って、要求元の処理ユニットに対する
所要データの送出が遅れるのを防止することにある。
〔課題を解決するための手段〕
本発明は、主記憶(MS)と、該MS上のデータの写しを
格納する複数のバッファ記憶(BS)とプロセッサから成
る処理ユニットを複数組備え、BS間にてブロック転送を
所定のデータ単位毎に複数回に分けて行う計算機システ
ムにおいて、ある処理ユニットで必要データが自BS上に
存在しないとき、該処理ユニットは当該データを含むブ
ロックのブロックアドレスと共に当該データのブロック
内アドレスを他処理ユニットに送出し、他処理ユニット
では、当該ブロックが自BS上に存在し、かつ、それが書
き換えられてMSの内容と不一致になっている場合、当該
ブロック内アドレスにより、当該ブロック内のいずれの
データが要求元処理ユニットで必要か判定し、当該必要
データを優先して要求元処理ユニットに送出するように
したものである。
〔作 用〕
プロセッサでメモリアクセス要求の発生した処理ユニ
ットは、自BS内に当該データが存在するか否かを判定
し、存在しない場合、当該ブロックアドレスと該データ
のブロック内アドレスを他処理ユニットに送出する。他
処理ユニットでは、送られてきたアクセスアドレスの
内、ブロックアドレスを用いて所要ブロックの有無と、
存在する場合には、当該ブロックの書き替えが行われた
か否かを判定する。そして、書き替えが行われている場
合には、要求元処理ユニットから送られてきたブロック
内アドレスよりデータを読み出し、当該ブロック内アド
レスを順次、BSの読み出し幅に従いカウンタ・アップす
る。この時、桁あふれは無視する。BSより読み出したデ
ータは順次、要求元処理ユニットへ送出される。これに
より、要求元処理ユニットでは所要データを優先して取
得することができる。
〔実施例〕
以下、本発明の一実施例を図面を用いて説明する。な
お、以下の実施例では、説明の便宜上、BSは2つとす
る。
第1図は本発明の一実施例のシステム構成図を示す。
第1図において、MS101には、BS201を有するバッファ制
御部102と命令を解読・実行するプロセッサ104からなる
処理ユニット10、及び、BS202を有するバッファ制御部1
03と同じく命令を解読・実行するプロセッサ105からな
る処理ユニット20が接続される。ここで、BS201及び202
はストア・イン方式により制御される。
今、処理ユニット10において、プロセッサ104が必要
な命令あるいはオペランド(以下、合わせてデータと略
す)をバッファ制御部102に要求したとする。当該要求
は、主記憶101上のデータアドレスにより指示される。
バッファ制御部102では、当該アドレスを使用して、要
求されたデータがBS201に存在するか否かの判定を行
う。BS201に存在すれば、当該BS201より所要データを読
み出してプロセッサ104に送出する。BS201に存在しない
場合、バッファ制御部102はMS101に所要データを含むブ
ロックの転送要求を行うと共に、他処理ユニット20のバ
ッファ制御部103にBSの一致制御要求を発行する。この
時、バッファ制御部102は、プロセッサ104より送出され
た所要データを含むブロックのアドレスと共に所要デー
タのブロック内アドレスを合わせて送出する。
ここで、当該ブロックがBS202に存在しないか、ある
いは存在しても書き替えが行われておらず、MS101の内
容と一致している場合、バッファ記憶制御部102がMS101
より当該ブロックをBS201に取り込み、さらに所要デー
タをプロセッサ104に送出することは従来と同様である
ので、このケースの説明は省略する。
さて、当該ブロックがBS202に存在し、かつ、その内
容の書き替えが行われ、MS101の内容と不一致となって
いる場合、他処理ユニット20のバッファ制御部103はBS2
02内の当該ブロックを要求元ユニット10のバッファ制御
部102に転送する。本発明は、このブロック転送を効率
的に行うものである。これについて、以下、第2図乃至
第4図を用いて説明する。なお、以下の説明では、BSの
1ブロックを32バイトとし、BSから1回に読み出せるデ
ータ幅は8バイトとする。又、プロセッサよりバッファ
制御部には8バイト単位でデータを要求するものとす
る。さらに、MS−BS間、BS−BS間、BS−プロセッサ間の
1回のデータ転送単位も8バイトとする。
第2図は、第1図における処理ユニット20側のバッフ
ァ制御部103の詳細構成図であり、特に処理ユニット10
にてプロセッサ104より要求されたデータがBS201に存在
せず、バッファ制御部102より一致制御要求が発行され
た場合の動作を説明するのに必要なバッファ制御部103
内の構成例を示したものである。
要求元処理ユニット10側のバッファ制御部102より送
出されたブロックアドレス及びブロック内アドレスは、
アドレスライン211,212によりバッファ制御部103内のレ
ジスタ213,214に取り込まれる。バッファ制御部103で
は、レジスタ213に取り込まれたブロックアドレスを使
用して、BS202に存在するブロックのMSアドレスを保持
するBSディレクトリ215を検索し、当該ブロックがBS202
に存在するか否かを判定する。存在する場合は、BS202
内の各ブロックに書込みが行われたか否かの履歴情報を
もつ変更ディレクトリ216を検索する。BSディレクトリ2
15及び変更ディレクトリ216の検索結果より、BS制御論
理部217は、BS202からBS201へのブロック単位の転送を
行うか否かの判定を行う。
BS202に該当ブロックが存在し、かつ、書き替えが行
われていた場合、BS202にブロック単位の読み出しを要
求する。この時、BS202内の当該ブロックのアドレスを
アドレスライン219により指示する。さらに、レジスタ2
14に取り込まれたブロック内アドレスをアドレスライン
220により指示し、アドレスライン219,220のアドレスを
合成してBS202よりデータを読み出す。読み出されたデ
ータは、データライン221により要求元処理ユニット10
のバッファ制御部102に転送すると共に、この時に使用
したブロック内アドレスを、アドレスライン222により
同じくバッファ制御部102に転送する。
BS202からの1ブロック(32バイト)の読み出しは、
ブロック内アドレスを順次+8,+16,+24と更新しなが
ら読み出すことにより実現できる。この時、ブロック内
アドレスの桁あふれは無視する。例えば、第2図に示す
ように、1ブロックが4つの8バイト・データA〜Dよ
り成り、所要(必要)データがその第3データCである
場合、最初のブロック内アドレスは、二進表現で“1000
0"となる。まず、最初に本アドレスを使用してBS202を
読み出し、以降、ブロック内アドレスを“11000"→“00
000"→“01000"と更新しながら読み出すことにより、8
バイト・データをC→D→A→Bの順序で読み出して転
送できる。
第3図は、要求元処理ユニット10側のバッファ制御部
102の詳細構成図であり、特に他処理ユニット20のバッ
ファ制御部103から転送されるブロック内アドレス及びB
S202の読み出しデータを受け取った場合の動作を説明す
るのに必要な構成例を示したものである。
他処理ユニット20側のバッファ制御部103からのデー
タ(8バイトデータ)は、データライン221により転送
されてデータレジスタ313に、ブロック内アドレスは、
アドレスライン222により転送されてアドレスレジスタ3
14に取り込まれる。バッファ制御部102では、BS201に所
要ブロックが存在しない場合、BS201内のいずれのブロ
ックをリプレース対象にするか決定するリプレース制御
論理部318よりアドレスライン319に出力されるBS201内
のブロックアドレスとアドレスレジスタ314に取り込ま
れるブロック内アドレスをアドレスライン317に出力す
ることにより、BS201の書込みアドレスを生成し、順
次、データレジスタ313に取り込まれるデータをBS201に
書込む。本例では、BS201の該当ブロックに、データは
C→D→A→Bの順に書込まれる。この時、第1番目に
転送されてくるデータCはプロセッサ104の所要(必
要)データであるので、当該データCは、転送されてく
ると直ちにデータライン304によりプロセッサ104に送出
する。
第4図に上記実施例の動作タイミングチャートを示
す。第4図では従来方式と比較するため、本発明による
場合の時間関係を実線で、従来方式による時間関係を破
線で示してある。即ち、本発明では、プロセッサ104の
所要データCが従来に比し、2単位時間早くプロセッサ
104に送出できる。
なお、BS間のデータの転送は、BS間で直接行ってもよ
いし、上位の記憶階層(本例ではMS)を介して行っても
よい。
〔発明の効果〕
以上説明したように、本発明の計算機システムによれ
ば、ストア・イン方式のBS間でデータの転送を行う場合
に、従来に比べて要求元のプロセッサに対し所要データ
の送出を早めることができ、結果としてプロセッサでの
命令の解読、実行を早めることができるという効果があ
る。
【図面の簡単な説明】
第1図は本発明の一実施例のシステム構成図、第2図は
BSの一致制御要求受付け先のバッファ制御部の詳細構成
図、第3図はBSの一致制御要求発行元処理ユニットのバ
ッファ制御部の詳細構成図、第4図は本発明と従来方式
の動作を比較するためのタイミングチャートである。 10,20……処理ユニット、101……主記憶(MS)、 102,103……バッファ制御部、104,105……プロセッサ、 201,202……バッファ記憶(BS)、 213……ブロックアドレスレジスタ、214……ブロック内
アドレスレジスタ、 313……データレジスタ、314……ブロック内アドレスレ
ジスタ、

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶(MS)と、該MS上のデータの写しを
    格納するバッファ記憶(BS)とプロセッサから成る処理
    ユニットを複数組備え、BS間にてブロック転送を所定の
    データ単位毎に複数回に分けて行う計算機システムにお
    いて、 ある処理ユニットで必要データが自BS上に存在しないと
    き、該処理ユニットは当該データを含むブロックのブロ
    ックアドレスと共に当該データのブロック内アドレスを
    他処理ユニットに送出し、 他処理ユニットでは、当該ブロックが自BS上に存在し、
    かつ、それが書き換えられてMSの内容と不一致になって
    いる場合、当該ブロック内アドレスにより、当該ブロッ
    ク内のいずれのデータが要求元処理ユニットで必要か判
    定し、当該必要データを優先して要求元処理ユニットに
    送出することを特徴とする計算機システム。
  2. 【請求項2】主記憶(MS)と、該MS上のデータの写しを
    格納するバッファ記憶(BS)と、プロセッサから成る処
    理ユニットを複数組備え、BS間にてブロック転送を所定
    のデータ単位毎に複数回に分けて行う計算機システムに
    おいて、 ある処理ユニットで必要データが自BS上に存在しないと
    き、該処理ユニットは当該データを含むブロックのブロ
    ックアドレスと共に当該データのブロック内アドレスを
    他処理ユニットに送出し、 他処理ユニットでは、当該ブロックが自BS上に存在し、
    かつ、それが書き換えられてMSの内容と不一致になって
    いる場合、当該ブロック内アドレスにより、当該ブロッ
    ク内のいずれのデータが要求元処理ユニットで必要か判
    定し、当該必要データを含む所定データを要求元処理ユ
    ニットに送出し、その後に当該ブロック内の当該必要デ
    ータを含まない所定データを要求元処理ユニットに送出
    することを特徴とする計算機システム。
  3. 【請求項3】前記必要データを要求元処理ユニットに送
    出する処理ユニットは、自BS内に存在するブロックのMS
    アドレスを保持するBSディレクトリを備え、要求元処理
    ユニットから送られてきたブロックアドレスを使用して
    該BSディレクトリを検索して当該ブロックが存在するか
    否かを判定する第1の判定手段を有することを特徴とす
    る請求項1又は請求項2記載の計算機システム。
  4. 【請求項4】前記必要データを要求元処理ユニットに送
    出する処理ユニットは、自BS内の各ブロックの書き換え
    が行われた否かの履歴情報を保持する変更ディレクトリ
    を備え、前記第1の判定手段の判定結果に応じて前記変
    更ディレクトリを検索して当該ブロックの書き換えが行
    われたか否かを判定する第2の判定手段を有することを
    特徴とする請求項3記載の計算機システム。
  5. 【請求項5】前記必要データを要求元処理ユニットに送
    出する処理ユニットは、前記第2の判定手段により当該
    ブロックの書き換えが行われていることを検出したとき
    に当該ブロックを要求元処理ユニットに送出することを
    特徴とする請求項4記載の計算機システム。
JP63097500A 1988-04-20 1988-04-20 計算機システム Expired - Lifetime JP2714952B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63097500A JP2714952B2 (ja) 1988-04-20 1988-04-20 計算機システム
US07/340,080 US5313602A (en) 1988-04-20 1989-04-18 Multiprocessor system and method of control over order of transfer of data between buffer storages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63097500A JP2714952B2 (ja) 1988-04-20 1988-04-20 計算機システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP9115855A Division JP2815850B2 (ja) 1997-05-06 1997-05-06 データ処理ユニット

Publications (2)

Publication Number Publication Date
JPH01269142A JPH01269142A (ja) 1989-10-26
JP2714952B2 true JP2714952B2 (ja) 1998-02-16

Family

ID=14193984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63097500A Expired - Lifetime JP2714952B2 (ja) 1988-04-20 1988-04-20 計算機システム

Country Status (2)

Country Link
US (1) US5313602A (ja)
JP (1) JP2714952B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
US5623669A (en) * 1993-07-21 1997-04-22 International Business Machines Corporation High speed online copy of partitioned data
US5717918A (en) * 1994-06-17 1998-02-10 Hitachi, Ltd. Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5701313A (en) * 1995-02-24 1997-12-23 Unisys Corporation Method and apparatus for removing soft errors from a memory
US5511164A (en) 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5724533A (en) * 1995-11-17 1998-03-03 Unisys Corporation High performance instruction data path
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US6178471B1 (en) 1998-07-21 2001-01-23 International Business Machines Corporation Method of sharing buffers for the streaming of unchanged data
US20040243649A1 (en) * 2001-09-29 2004-12-02 Dirk Husemann Method for sync-ahead on a dual mode high-power-low-power device and apparatus therefore
US9418009B2 (en) * 2013-12-27 2016-08-16 Intel Corporation Inclusive and non-inclusive tracking of local cache lines to avoid near memory reads on cache line memory writes into a two level system memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
JPS5616257A (en) * 1979-07-19 1981-02-17 Fujitsu Ltd Disc cash control system
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
JPS61290550A (ja) * 1985-06-19 1986-12-20 Hitachi Ltd 階層記憶制御方式
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
JPS62102344A (ja) * 1985-10-29 1987-05-12 Fujitsu Ltd バツフア・メモリ制御方式
JPS62154153A (ja) * 1985-12-27 1987-07-09 Hitachi Ltd 外部記憶制御方式
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US4959777A (en) * 1987-07-27 1990-09-25 Motorola Computer X Write-shared cache circuit for multiprocessor system
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage

Also Published As

Publication number Publication date
US5313602A (en) 1994-05-17
JPH01269142A (ja) 1989-10-26

Similar Documents

Publication Publication Date Title
JP2714952B2 (ja) 計算機システム
KR100278328B1 (ko) 캐시 미스 버퍼
JPH07113903B2 (ja) キャッシュ記憶制御方式
JP7097371B2 (ja) メモリシステムへの加速されたアクセスを提供するための方法及び機器
JPH0532775B2 (ja)
JPS6126702B2 (ja)
JP2815850B2 (ja) データ処理ユニット
JP2570753B2 (ja) データ転送制御装置
JP3162459B2 (ja) データ処理装置
GB2037466A (en) Computer with cache memory
KR920005296B1 (ko) 정보처리장치
JP2700147B2 (ja) 命令キャッシュ・フラッシュ・オン・rei制御
JPS62118457A (ja) バツフア記憶制御方式
JP3063295B2 (ja) メモリコントロールシステム
JPS59218692A (ja) ロジカルバツフア記憶制御方式
JPH01129334A (ja) キャッシュメモリのデータ制御方式
JP3074897B2 (ja) メモリ回路
JPH02101552A (ja) アドレス変換バッファ処理方式
JPH02259945A (ja) ストア処理方式
JPS6055454A (ja) デ−タ転送制御方式
JPS5818709B2 (ja) デ−タ転送制御方式
JPS61208153A (ja) ペ−ジ履歴メモリ装置
JPS59195753A (ja) デイスク・キヤツシユメモリの制御方式
JPS59157886A (ja) メモリ制御方式
JPS61221845A (ja) バツフアメモリ無効化アドレス生成方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071107

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081107

Year of fee payment: 11