JPH06131246A - 共有メモリの非同期アクセス方式 - Google Patents

共有メモリの非同期アクセス方式

Info

Publication number
JPH06131246A
JPH06131246A JP28202492A JP28202492A JPH06131246A JP H06131246 A JPH06131246 A JP H06131246A JP 28202492 A JP28202492 A JP 28202492A JP 28202492 A JP28202492 A JP 28202492A JP H06131246 A JPH06131246 A JP H06131246A
Authority
JP
Japan
Prior art keywords
shared memory
block
data
unit
system bus
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.)
Withdrawn
Application number
JP28202492A
Other languages
English (en)
Inventor
Takasato Sasaki
崇諭 佐々木
Hirohide Sugawara
博英 菅原
Akira Kabemoto
章 河部本
Hajime Takahashi
肇 高橋
Atsushi Funaki
淳 船木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28202492A priority Critical patent/JPH06131246A/ja
Publication of JPH06131246A publication Critical patent/JPH06131246A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 本発明は処理モジュールと共有メモリモジュ
ールとがシステムバスを介して接続された計算機システ
ムにおいて、処理モジュールがシステムバスを介して共
有メモリモジュールに書き込み命令のアクセスを要求す
る非同期アクセス方式に関し、内部バッファの容量を可
変にしてシステム性能を向上することを目的とする。 【構成】 処理モジュール内の接続ユニットは、内部バ
ス制御回路43、内部バッファ制御回路45、デュアル
ポートRAM46などを少なくとも有する。デュアルポ
ートRAM46は共有メモリモジュールにブロック書き
込みされるワード数のデータが中央処理ユニットから格
納される。この1ブロックのワード数はレジスタ62に
設定されるバッファ長指示信号W.WBUF.SIZE
で可変できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は共有メモリの非同期アク
セス方式に係り、特に処理モジュールと共有メモリモジ
ュールとがシステムバスを介して接続された計算機シス
テムにおいて、処理モジュールがシステムバスを介して
共有メモリモジュールに書き込み命令のアクセスを要求
する共有メモリの非同期アクセス方式に関する。
【0002】少なくともメインメモリ、中央処理ユニッ
ト及びシステムバスへの接続ユニットを備えた一又は二
以上の処理モジュールと、少なくとも共有メモリユニッ
ト及びシステムバスへの接続ユニットを備えた一又は二
以上の共有メモリモジュールとがシステムバスを介して
接続された計算機システムにおいて、処理モジュールが
自己の物理アドレス空間に存在する共有メモリモジュー
ルのアドレス空間をシステムバスを介して物理アドレス
により直接アクセスする同期アクセス方式を採用する
と、システムバスによるデータ転送は1アクセス命令に
同期して1ワード単位で行なわれる。
【0003】従って、上記の共有メモリの同期アクセス
方式では多数の処理モジュールがシステムバスに接続さ
れる場合は、システムバスのアクセス頻度が増加するた
め、システム性能向上のためには共有メモリモジュール
のアクセスの高速化とシステムバスのオーバヘッド低減
を目的として、処理モジュールが共有メモリモジュール
を非同期でアクセスする共有メモリの非同期アクセス方
式が必要とされる。
【0004】
【従来の技術】前記した計算機システムを対象とする共
有メモリの非同期アクセス方式として、本出願人は処理
モジュール内の接続ユニットに内部バッファを設け、接
続ユニットが中央処理ユニットによる共有メモリモジュ
ールへの書き込み命令を認識したときは、前記システム
バスを介して前記共有メモリモジュールにブロック書き
込みを行なう非同期アクセス方式を提案した。
【0005】この共有メモリの非同期アクセス方式によ
れば、処理モジュールが共有メモリモジュールに対して
任意のデータを書き込む場合、処理モジュール内の接続
ユニットが同じ処理モジュール内の中央処理ユニットに
よる共有メモリモジュールへの書き込み命令を認識する
と、接続ユニットはその内部に用意された書き込み用バ
ッファにデータを書き込んだ後、書き込み終了応答を中
央処理ユニットに返す。
【0006】以下、上記と同様に中央処理ユニットから
接続ユニット内のバッファへのデータ書き込み、書き込
み終了応答が交互に行なわれ、そして接続ユニット内の
バッファの記憶容量一杯にデータが書き込まれると、処
理モジュール内の接続ユニットはその記憶データを1ブ
ロック分のデータとして読み出してシステムバスを介し
て目的の共有メモリモジュールへ転送する。これによ
り、共有メモリモジュールはその内部の共有メモリユニ
ットに1ブロック分のデータを書き込んだ後、ブロック
書き込み完了応答をシステムバスを介して処理モジュー
ルに返す。
【0007】従って、中央処理ユニットに対する書き込
み完了応答は、共有メモリモジュールへの書き込み完了
より前に行なわれるので、中央処理ユニットの高速動作
が可能となる。なお、共有メモリモジュールへの書き込
みの完了は中央処理ユニットの命令の完了とは完全に非
同期となるので、共有メモリモジュールへの書き込みを
保証するためにシリアライズ命令が用意されており、こ
の命令を受けるとブロック書き込みを行なう。
【0008】
【発明が解決しようとする課題】しかるに、上記の本出
願人の提案になる共有メモリの非同期アクセス方式で
は、内部バッファに格納される1ブロック分のデータサ
イズが固定であるため、1ブロック分のバイト数より少
ないバイト数のデータを共有メモリモジュールに書き込
もうとする場合には、前記シリアライズ命令の実行回数
が多くなり、結果的にシステムバスの使用頻度が高くな
り、システム性能の向上を妨げている。
【0009】また、内部バッファの容量が固定であるた
め、内部バッファの容量以上の大量のデータを共有メモ
リモジュールの連続したアドレスにブロック書き込みが
できず、この場合にはシステムバスを介して共有メモリ
モジュールの書き込みアクセスが頻繁に必要になってし
まう。
【0010】本発明は以上の点に鑑みなされたもので、
内部バッファの容量とブロック書き込みするデータサイ
ズを可変することにより、上記の課題を解決した共有メ
モリの非同期アクセス方式を提供することを目的とす
る。
【0011】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。同図中、少なくともメインメモリ11、中央
処理ユニット12及びシステムバス20への接続ユニッ
ト13を備えた一又は二以上の処理モジュール10と、
少なくとも共有メモリユニット及びシステムバス20へ
の接続ユニットを備えた一又は二以上の共有メモリモジ
ュール30とを有する計算機システムの、処理モジュー
ル10内の接続ユニット13が中央処理ユニット12に
よる共有メモリモジュール30への書き込み命令を認識
したときは、複数のデータワードをシステムバス20を
介して共有メモリモジュール30にブロック書き込みを
行なう非同期アクセス方式であって、処理モジュール1
0内の接続ユニット13は、少なくとも内部バッファ4
1と制御手段42とを有する。
【0012】内部バッファ41は中央処理ユニット12
からの前記複数のデータワードを一旦格納する。また、
制御手段42は中央処理ユニット12から通知された1
ブロックのワード数のデータを一点鎖線14で示す経路
で内部バッファ41に格納した後で、ブロック書き込み
のために内部バッファ41から上記1ブロックのワード
数のデータをシステムバス20へ送出する。
【0013】
【作用】本発明では、中央処理ユニット12による共有
メモリモジュール30への書き込み命令を接続ユニット
13が認識した際に、中央処理ユニット12からのバッ
ファ長指示信号により内部バッファ41のバッファ長が
制御手段42内に設定される。その後、中央処理ユニッ
ト12からのデータが上記設定されたバッファ長に相当
するワード数内部バッファ41に格納されたことが制御
手段42により検出されると、制御手段42は内部バッ
ファ41に格納された複数ワードの全データを1ブロッ
クとしてシステムバス20へ送出し、共有メモリモジュ
ール30にブロック書き込みを行なう。従って、本発明
では内部バッファ41に格納される1ブロックのデータ
長、すなわちバッファ長を任意に変更することができ
る。
【0014】また、本発明では上記のバッファ長指示信
号が制御手段42に設定される時に、ブロック書き込み
のためのシリアライズ命令を実行するため、ブロック書
き込みのための新たな命令の発行を不要にすることがで
きる。更に、本発明では制御手段42内のレジスタを接
続ユニット13内の他のレジスタと別ページのアドレス
に割り付けるようにしたため、仮想アドレス空間へのマ
ッピングが可能である。
【0015】
【実施例】図2は本発明が適用される計算機システムの
構成図を示す。計算機システムは複数の処理モジュール
10と複数の共有メモリモジュール30がシステムバス
ハンドラ25によりアービトレーションの集中管理され
る共有システムバス20を介して、相互に接続されるマ
ルチプロセッサシステム構成が採られる。なお、この図
ではシステムバス20が一つとして示されているが、シ
ステムバス20を複数備え、各々の処理モジュール10
及び共有メモリモジュール30が、独立した複数のシス
テムバスにより接続される構成としてもよい。
【0016】図3は図2中の処理モジュール10の構成
図を示す。処理モジュール10は少なくともメインメモ
リ11と、中央処理ユニット(CPU)12と、システ
ムバス20への接続を処理するための接続ユニット(S
BC)13と、これらを相互に接続する内部バス16と
よりなる。処理モジュール10は自らの備える中央処理
ユニット12及びメインメモリ11上で動作するソフト
ウェアが走行して、これらのソフトウェアが通信要求元
となりながら相互に協調して一連の動作を行なうよう構
成されている。ここで、処理モジュール10内の中央処
理ユニット12は、自モジュール内のメインメモリ11
等からのみ命令コードをフェッチする。また、接続ユニ
ット(SBC)13は固有のユニット番号が割り付けら
れる。また、内部バス16はアクセスアドレスを示すア
ドレスバスと、データを伝搬するデータバスと、複数の
制御信号で構成されている。
【0017】図4は図2中の共有メモリモジュール30
の構成図を示す。共有メモリモジュール30は少なくと
も共有メモリユニット31と、システムバス20への接
続を処理するための接続ユニット32と、これらユニッ
ト間を相互に接続する内部バス33とよりなる。共有メ
モリユニット31には図2に示した複数の処理モジュー
ル10で共有化が必要なデータが格納される。
【0018】図5は処理モジュール10内の接続ユニッ
ト(SBC)の一例の構成図を示す。同図中、図1乃至
図3と同一構成部分には同一符号を付してある。図5に
おいて、接続ユニット(SBC)13は、デュアルポー
トRAM(ランダム・アクセス・メモリ)46と、シス
テムバス20に接続されてデュアルポートRAM46と
システムバス20との間のデータの送受信等を行なうシ
ステムバス制御回路43と、内部バス16に接続された
内部バス制御回路44と、デュアルポートRAM46の
書き込み、読み出し制御等を行なう内部バッファ制御回
路45とよりなる。デュアルポートRAM46は前記し
た内部バッファ41を構成している。
【0019】図6は共有メモリモジュール30内の接続
ユニット32の一例の構成図を示す。同図中、図1,図
2,図4と同一構成部分には同一符号を付してある。図
6において、接続ユニット32はデュアルポートRAM
51と、システムバス20に接続されてデュアルポート
RAM51とシステムバス20との間のデータの送受信
等を行なうシステムバス制御回路52と、内部バス33
に接続されたダイレクト・メモリ・アクセス(DMA)
制御回路53とを有する。DMA制御回路53は内部バ
ス33を制御する内部バス制御回路と、アドレス発生器
及びタイミング制御回路とを有している。
【0020】処理モジュール10と共有メモリモジュー
ル30との間をシステムバス20を介して接続する接続
ユニット13,32は、1回のアクセスを起動転送、応
答転送に分離して行うスプリット転送方式を採用してい
る。このスプリット転送方式のバス制御においては、各
モジュールごとにユニットIDを割り付け、ユニットI
Dをバス上のモジュール識別子とする。
【0021】図7は接続ユニット13,32で使用する
起動転送コマンドSCと応答転送コマンドECの例を示
す。図7の起動転送コマンドSCにおいて、DID(De
stination ID) は受信先モジュールのユニットIDであ
り、SID(Source ID)は送信元モジュールユニットI
Dである。またオペランドはアクセス種類を示す。アク
セス種類としては、共有メモリモジュール30に対する
メモリアクセスの他に、共有メモリモジュール30や他
の処理モジュール10に対するホルト指示、或いはリセ
ット指示などの制御レジスタのアクセス等がある。更に
BCT(Byte Count) は、共有メモリモジュール30の
アクセスにおけるデータ容量を示す。
【0022】一方、応答転送コマンドECにおけるDI
D、SIDは起動転送コマンドSCと同じであるが、終
結コードはアクセス先における終結状態、すなわち正常
終結と異常終結のいずれかをコード化したものである。
【0023】図8はシステムバス20により処理モジュ
ール10から共有メモリモジュール30にデータを転送
して書き込む書き込みアクセス(ストアアクセス)の動
作説明図である。まず、アクセス元の処理モジュール1
0は、起動転送コマンドSCを作成する。すなわち、自
己のユニットIDを示す発信元IDコードSID、アク
セス先の共有メモリモジュール30のユニットIDを示
す相手先IDコードDID、メモリ書き込みアクセスを
示すオペランド、アクセスデータ容量を示すBCTによ
って構成される起動転送コマンドSCを作成する。シス
テムバス20上には起動転送コマンドSCに続いて、ア
クセス先の共有メモリモジュール30上のアクセスアド
レスA及び書き込むべきータDを送信する。
【0024】受信側の共有メモリモジュール30はシス
テムバス20上を監視し、起動転送コマンドSCに含ま
れる受信先を示すDIDと自己のユニットIDを比較
し、両者一致した場合に受信動作を行なう。受信動作を
行なった共有メモリモジュール30は、共有メモリモジ
ュール30内に設けた共有メモリユニット31(図4参
照)に書き込みアクセスを行い、書き込みアクセスの終
結コードを含め、転送方向が起動転送と応答転送では逆
のためDIDとSIDを交換した応答転送コマンドEC
を作成してアクセス元の処理モジュール10に対して送
信する。
【0025】アクセス元の処理モジュール10は、シス
テムバス20上を監視し、応答転送コマンドEC中の相
手先を示すDIDが自己のユニットIDと一致した場合
に受信動作を行い、1回のアクセスを終了する。この起
動転送コマンドSCの送信終了後から応答転送コマンド
ECの送信の開始までの間の空き時間については、他の
アクセスにおける起動転送コマンドSC或いは応答転送
コマンドECの転送にシステムバス20を使用しても良
い。
【0026】上記のアクセスにはプログラムモードとD
MAモードの2モードがあり、プログラムモードはソフ
トウェアに基づく中央処理ユニット12の命令により物
理アドレスで直接アクセスするモードである。また、D
MAモードはアクセスすべき共有メモリモジュール30
を選択し、アクセスアドレスと転送長とを指定して処理
モジュール10と共有メモリモジュール30との間のデ
ータ転送を起動するモードである。
【0027】すなわち、本実施例では各処理モジュール
10の物理アドレス空間は共有メモリモジュール空間
と、処理モジュール固有空間とに大別され、共有メモリ
モジュール空間が各処理モジュール10の物理アドレス
空間に直接マップされている。上記の共有メモリモジュ
ール空間はすべての処理モジュール10に共通なアドレ
ス空間で、複数の共有メモリモジュール30によって構
成され、各処理モジュール10の物理アドレスによって
直接アクセスすることができる。従って、共有メモリモ
ジュール30には、すべての処理モジュール10で共通
に必要なデータのみが格納される。
【0028】一方、処理モジュール固有空間は各処理モ
ジュール10のハードウェアリソース固有の空間であ
り、各処理モジュール10の搭載台数分の多重アドレス
空間であり、その一部には各処理モジュール10が必要
とするオペランドや各処理モジュール10に固有のデー
タなどが格納される。
【0029】前記プログラムモードには、1アクセス命
令につき1ワード単位で行なう同期アクセス方式と、1
アクセス命令につき複数ワードからなるブロック単位で
行なう非同期アクセス方式とがある。
【0030】本実施例では前記した本出願人の先の提案
方式と同様に非同期アクセス方式により共有メモリモジ
ュール30へのブロック書き込みを行なうものである。
本実施例の非同期アクセス方式による共有メモリモジュ
ール30の書き込み手順について図9と共に説明する。
【0031】まず、処理モジュール10内の中央処理ユ
ニット12からソフトウェアに基づいて発行された共有
メモリモジュール30に対する物理アドレスnの書き込
み要求及びデータと、バッファ長が(x+1)ワードよ
りなることを示すバッファ長指示信号とが接続ユニット
13に入力されると、接続ユニット13は内部バッファ
41に相当するデュアルポートRAM46に物理アドレ
スnのデータを格納し、かつ、内部のバッファ長設定レ
ジスタ62にバッファ長指示信号W.WBUF.SIZ
Eを格納する。
【0032】続いて、中央処理ユニット12は共有メモ
リモジュール30に対する上記の物理アドレスnに引続
く物理アドレスn+1からn+xまでの各データを順次
接続ユニット13へ送出し、接続ユニット13内のデュ
アルポートRAM46に順次格納していく。そして、物
理アドレス(n+x)のデータ格納によりバッファ長設
定レジスタ62に格納されたデータのワード数が、バッ
ファ長設定レジスタ62に格納されている値(x+1)
と等しくなると、接続ユニット13はシステムバス20
を介して共有メモリ30に対してブロック書き込み要求
を発行すると共に、デュアルポートRAM46に格納さ
れている物理アドレスnから(n+x)までの計(x+
1)ワードのデータを1ブロックのデータとして読み出
して共有メモリモジュール30に転送して共有メモリユ
ニット31に書き込む。
【0033】これにより、前述したように中央処理ユニ
ット12の高速動作が可能となると共に、バッファ長設
定レジスタ62に設定されるバッファ長のワード数に応
じてブロック書き込みするデータ数を必要に応じて可変
することができるため、システムバス20の負荷を低減
することができる。
【0034】ここで、上記のブロック書き込みは命令非
同期動作となるので、命令終結後に検出される例外(例
えば共有メモリモジュール30の非実装領域へアクセス
したとか、システムバス20上でハードエラーが発生し
た)の処理が問題となる。ここで、命令非同期動作と
は、書き込み命令実行完了と実際の書き込み完了とが非
同期に行なわれることである。命令同期動作の場合に例
外が検出されると、該命令に同期して例外割り込みを発
生させれば、ソフトウェアはどの命令が失敗したかが、
スタックに格納される情報から簡単に認識できる。しか
し、上記のブロック書き込みのような命令非同期動作に
おいては、どの命令が失敗したかは一般には認識できな
い。そこで、ハードウェアによる実際の書き込みが失敗
した場合に、命令非同期動作(書き込み突き離し)にお
けるリカバリ処理が必要となる。
【0035】そこで、本実施例においてはソフトウェア
のリカバリ処理を簡易に実現するために書き込み完了を
保証する書き込み用シリアライズ命令を用意し、書き込
み命令の後続に付加する。シリアライズ命令が発行され
ると、ハードウェアはその時点でバッファに格納されて
いる書き込み要求を実行した後に、シリアライズ命令の
実行を完了する。シリアライズ命令は書き込み完了をも
って終結し、書き込み中に例外が発生すると、命令に同
期して例外割り込みを発生させる。従って特定の書き込
み単位(極端には書き込み命令単位)に対して必ず後続
にシリアライズ命令を付加することによりハードウェア
の書き込みと、命令実行の同期を確立することができ
る。
【0036】図10は上記の書き込み動作を実現する接
続ユニット13の要部の一実施例の構成図を示す。同図
中、図5と同一構成部分には同一符号を付し、その説明
を省略する。図10において、内部バッファ制御回路4
5は少なくとも内部バッファ制御部61、バッファ長設
定レジスタ62、バイトカウントレジスタ(BCT)6
3及び比較器64を有する。レジスタ62、BCT63
及び比較器64は前記制御手段42を構成している。
【0037】レジスタ62は中央処理ユニット(図13
の12)からのバッファ長指示信号W.WBUF.SI
ZEが示すバッファ長を保持する。BCT63は内部バ
ッファ制御部61からの1ワードのデータ書き込み毎に
インクリメントされるレジスタである。比較器64はレ
ジスタ62とBCT63の両出力値が一致したときに一
致信号を出力する。
【0038】また、システムバス制御回路43は送信回
路(SNDC)65及び受信回路(RCVC)66を少
なくとも有している。共有メモリモジュール30へのデ
ータ書き込み時には中央処理ユニット(図13の12)
からのデータが内部バス(図3,図5中の16)の一部
を構成するデータバス161、デュアルポートRAM4
6及び上記内部バスの一部を構成するデータバス162
を夫々介してSNDC65に入力され、更にこれよりシ
ステムバス20へ送出される。
【0039】一方、共有メモリモジュール30のデータ
読み出し時には、共有メモリモジュール30から読み出
されたデータがシステムバス20を介してRCVC66
に入力されてここで一旦受信保持された後、データバス
162を介してデュアルポートRAM46に格納された
後、中央処理ユニット12からのアクセスに応じて読み
出される。なお、内部バッファ制御部61はデュアルポ
ートRAM46に対するアドレス(共有メモリモジュー
ル30へのデータ書き込み時にはADR1、共有メモリ
モジュール30からのデータ読み出し時にはADR2)
を生成する。
【0040】次に本実施例の動作について説明する。中
央処理ユニットト12が共有メモリモジュール30に対
する書き込み要求及びデータと、書き込もうとするブロ
ック長(バッファ長)を示すバッファ長指示信号W.W
BUF.SIZEとを発行すると、内部バス制御回路4
4を通して内部バッファ制御部61に書き込み命令が入
力され、バッファ長指示信号W.WBUF.SIZEが
示すバッファ長(すなわち、1ブロックのワード数)が
レジスタ62に格納される。また、上記バッファ長指示
信号W.WBUF.SIZEは内部バッファ制御部61
にも入力される。
【0041】内部バッファ制御部61は上記書き込み命
令を認識すると、デュアルポートRAM46のバッファ
領域にデータを格納し、中央処理ユニット12に対して
格納応答を返し、更にBCT63を格納したデータのワ
ード数だけ歩進する。以下、上記と同様の動作が繰り返
され、BCT63の値がレジスタ62に格納されている
バッファ長に一致すると、比較器64は中央処理ユニッ
ト12から指定された1ブロック分のデータがデュアル
ポートRAM46に格納され終わったことを示す格納終
了信号BUF.FULLを内部バッファ制御部61へ出
力する。
【0042】内部バッファ制御部61はこの格納終了信
号BUF.FULLを入力されると、その後の共有メモ
リモジュール30に対する中央処理ユニット12からの
書き込みを阻止し、デュアルポートRAM46のコマン
ド格納領域にコマンド、送信元ID、データ容量を格納
し、またアドレス領域にアクセスアドレスを格納した
後、送信回路(SNDC)65に対してシリアライズを
要求するためにブロック書き込み要求信号BW.REQ
を出力する。
【0043】ブロック書き込み要求信号BW.REQを
受けたSNDC65はデュアルポートRAM46からコ
マンド、アクセスアドレス及び書き込みデータを夫々読
み出して、共有メモリモジュール30に対してシステム
バス20を介したブロック書き込みを行なう。
【0044】SNDC65は共有メモリモジュール30
からの書き込み完了応答を受け取ると、内部バッファ制
御部61に対してシリアライズが完了したことを示すB
W.END信号を出力する。このBW.END信号を受
けた内部バッファ制御部61は中央処理ユニット12か
らの共有メモリモジュール30に対する新たな書き込み
命令の受け付けを再開する。
【0045】なお、前記格納終了信号BUF.FULL
が出力される前に、内部バッファ長設定レジスタ62に
対するアクセスが行なわれた場合も、上記と同様に内部
バッファ制御部61は適当なタイミングでSNDC65
に対してブロック書き込み要求信号BW.REQを出力
する。
【0046】ところで、共有メモリモジュール30への
ブロック書き込みに際して、バッファ長を変更可能なよ
うにすると、例えば図11に示す如く、ルーチンAでは
共有メモリモジュール30に対するブロック書き込みが
A1〜A4の連続する4ワードで行なわれ、ルーチンB
ではブロック書き込みがB1〜B8の連続する8ワード
で行なわれ、かつ、ルーチンAとBとが交互に繰り返さ
れるようにすることができる。
【0047】この場合、通常は図11に示す如く共有メ
モリモジュール30への書き込みに先立ち、中央処理ユ
ニットが接続ユニット内のデュアルポートRAM46の
バッファ長の変更命令を出力し、更にルーチンA又はB
の内部バッファへの書き込みを実行してからシリアライ
ズ命令に基づくブロック書き込みを実行することとな
る。しかし、この場合はルーチンAとBを各2回ずつ計
4回実行するのに全部で32命令かかる。
【0048】これに対して、本実施例ではバッファ長指
示信号W.WBUF.SIZEによるバッファ長変更命
令とシリアライズ命令とを同一のレジスタ62に割り付
け、バッファ長変更と内部バッファ制御部61へのシリ
アライズ命令とが同時に実行できるようにしたため、図
12に模式的に示す如く、上記と同様にルーチンAとB
を各2回ずつ計4回実行するのに、計29命令で済み、
命令実行数が通常よりも低減されている。従って、中央
処理ユニット12の負荷が軽減し、システム性能の向上
に効果がある。なお、中央処理ユニット12がレジスタ
62の読み出しを行なった場合には、バッファ長の変更
は行なわず、シリアライズ命令のみが実行される。
【0049】次に本実施例のバッファ長設定命令の割り
付けアドレスについて説明する。処理モジュール10内
の中央処理ユニット12及びメインメモリ11上で走行
するオペレーティングシステム(OS)は一般に階層構
造をとっており、図13に示す如く物理レジスタにアク
セスする下位層71は中位層72からアクセスされる。
また上位層73は中位層72のみアクセスされる。従っ
て、接続ユニット13内に存在するバッファ長設定レジ
スタ62等の物理レジスタは、中位層72や上位層73
からのアクセスは許されていない。しかし、本実施例に
おいて、中央処理ユニット12によりバッファ長の設定
を動的に行なうためには、中位層72又は上位層73か
らバッファ長設定レジスタ62への書き込みを許さなく
てはならない。
【0050】そこで、本実施例ではバッファ長設定レジ
スタ62に書き込まれるバッファ長指示信号(バッファ
長設定命令)のアドレスを、接続ユニット13内のバッ
ファ長設定レジスタ62以外の他の制御レジスタへの命
令とは異なるページに割り付けることにより、仮想アド
レス空間にマッピングすることを可能としている。
【0051】これにより、本実施例では図14に示す如
く、バッファ長設定レジスタ62は下位層81のみから
アクセスされる接続ユニット13内の他の制御レジスタ
とは異なり、中位層82(又は上位層83)から直接ア
クセスすることができ、このことからバッファ長をデー
タの転送容量に応じて適切に変更設定できる。
【0052】
【発明の効果】上述の如く、本発明によれば、内部バッ
ファに格納される共有メモリモジュールにブロック書き
込みされるデータ長を常にブロック書き込みに必要なデ
ータ長に過不足なく設定変更することができるため、シ
ステムバスの負荷を低減することができる。また、本発
明ではバッファ長指示信号によりブロック書き込みのシ
リアライズ命令も同時に行なうことにより、シリアライ
ズ命令の新たな発行を不要にしたため、中央処理ユニッ
トの命令実行回数を低減でき、更にバッファ長設定レジ
スタを他のレジスタと別ページのアドレスに割り付ける
ことにより、仮想アドレス空間へのマッピングを可能と
したため、OSの中位層又は上位層からの直接アクセス
により、バッファ長の変更を動的に行なうことができる
等の特長を有するものである。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明が適用される計算機システムの構成図で
ある。
【図3】処理モジュールの構成図である。
【図4】共有メモリモジュールの構成図である。
【図5】接続ユニットの一例の構成図である。
【図6】共有メモリモジュール内の接続ユニットの一例
の構成図である。
【図7】接続ユニットで使用するコマンドのフォーマッ
ト説明図である。
【図8】共有メモリの書き込みアクセスの動作説明図で
ある。
【図9】本発明の一実施例の書き込み動作説明図であ
る。
【図10】本発明の要部の一実施例の構成図である。
【図11】デュアルポートRAMのバッファ長変更とブ
ロック書き込みとの一般的な例の説明図である。
【図12】本発明の一実施例におけるデュアルポートR
AMのバッファ長変更とブロック書き込み動作説明図で
ある。
【図13】物理レジスタアクセスの一般的な例を示す図
である。
【図14】本発明の一実施例におけるバッファ長設定レ
ジスタのアクセス説明図である。
【符号の説明】
10 処理モジュール 11 メインメモリ 12 中央処理ユニット(CPU) 13 接続ユニット(SBC) 16,33 内部バス 20 システムバス 30 共有メモリモジュール(SSM) 31 共有メモリユニット 32 接続ユニット 41 内部バッファ 42 制御手段 43 システムバス制御回路 44 内部バス制御回路 45 内部バッファ制御回路 46,51 デュアルポートRAM 48 レジスタ 61 内部バッファ制御部 62 バッファ長設定レジスタ 63 バイトカウントレジスタ(BCT) 64 比較器 65 送信回路(SNDC) 66 受信回路(RCVC)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 肇 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 船木 淳 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 少なくともメインメモリ(11)、中央
    処理ユニット(12)及びシステムバス(20)への接
    続ユニット(13)を備えた一又は二以上の処理モジュ
    ール(10)と、少なくとも共有メモリユニット(3
    1)及び前記システムバス(20)への接続ユニット
    (32)を備えた一又は二以上の共有メモリモジュール
    (30)とを有する計算機システムの、前記処理モジュ
    ール(10)内の接続ユニット(13)が前記中央処理
    ユニット(12)による前記共有メモリモジュール(3
    0)への書き込み命令を認識したときには、複数のデー
    タワードを前記システムバス(20)を介して前記共有
    メモリモジュール(30)にブロック書き込みを行なう
    非同期アクセス方式であって、 前記処理モジュール(10)内の接続ユニット(13)
    は、少なくとも前記中央処理ユニット(12)からの前
    記複数のデータワードを一旦格納する内部バッファ(4
    1)と、 前記中央処理ユニット(12)から通知された1ブロッ
    クのワード数のデータを前記内部バッファ(41)に格
    納した後で、前記ブロック書き込みのために該内部バッ
    ファ(41)から該1ブロックのワード数のデータを前
    記システムバス(20)へ送出する制御手段(42)と
    を有することを特徴とする共有メモリの非同期アクセス
    方式。
  2. 【請求項2】 前記制御手段(42)は、前記中央処理
    ユニット(12)からの前記内部バッファ(41)のバ
    ッファ長指示信号を格納するレジスタ(62)と、前記
    内部バッファ(41)に書き込まれたワード数を計数す
    るカウンタ(63)と、該レジスタ及びカウンタ(6
    2,63)の両記憶値が一致したとき書き込み終了信号
    を出力する比較器(64)とよりなることを特徴とする
    請求項1記載の共有メモリの非同期アクセス方式。
  3. 【請求項3】 前記バッファ長指示信号を前記レジスタ
    (62)に格納すると同時に、前記ブロック書き込みの
    ためのシリアライズ命令を実行することを特徴とする請
    求項2記載の共有メモリの非同期アクセス方式。
  4. 【請求項4】 前記レジスタ(62)は前記接続ユニッ
    ト(13)を制御する他の制御レジスタとは別ページの
    アドレスに割り付けられていることを特徴とする請求項
    2記載の共有メモリの非同期アクセス方式。
JP28202492A 1992-10-20 1992-10-20 共有メモリの非同期アクセス方式 Withdrawn JPH06131246A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28202492A JPH06131246A (ja) 1992-10-20 1992-10-20 共有メモリの非同期アクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28202492A JPH06131246A (ja) 1992-10-20 1992-10-20 共有メモリの非同期アクセス方式

Publications (1)

Publication Number Publication Date
JPH06131246A true JPH06131246A (ja) 1994-05-13

Family

ID=17647177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28202492A Withdrawn JPH06131246A (ja) 1992-10-20 1992-10-20 共有メモリの非同期アクセス方式

Country Status (1)

Country Link
JP (1) JPH06131246A (ja)

Similar Documents

Publication Publication Date Title
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
EP0676695B1 (en) Clock fault detection circuit
US5941964A (en) Bridge buffer management by bridge interception of synchronization events
US5664223A (en) System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
US5448558A (en) Method and apparatus for managing packet FIFOS
JPH02310664A (ja) 共有メモリを用いた通信方式
US5890218A (en) System for allocating and accessing shared storage using program mode and DMA mode
EP0082683A2 (en) Computer memory system
US20020174165A1 (en) Cluster system, computer and program
US5377324A (en) Exclusive shared storage control system in computer system
US6029233A (en) Circuit for moving data between remote memories and computer comprising such a circuit
US5535333A (en) Adapter for interleaving second data with first data already transferred between first device and second device without having to arbitrate for ownership of communications channel
US6108755A (en) Asynchronous access system to a shared storage
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
US7529857B2 (en) Data processing apparatus and data transfer control method
US5754802A (en) Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation
JP2936036B2 (ja) メモリアクセス装置
JPH08212178A (ja) 並列計算機
JPH06131246A (ja) 共有メモリの非同期アクセス方式
JP2834927B2 (ja) 計算機システム
US5712975A (en) Input/output cell in parallel computer and parallel computer system
JP2546901B2 (ja) 通信制御装置
JP3141948B2 (ja) 計算機システム
JPH06131245A (ja) 共有メモリの非同期アクセス方式
JPH07271654A (ja) コントローラ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000104