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

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

Info

Publication number
JPH06131245A
JPH06131245A JP28202392A JP28202392A JPH06131245A JP H06131245 A JPH06131245 A JP H06131245A JP 28202392 A JP28202392 A JP 28202392A JP 28202392 A JP28202392 A JP 28202392A JP H06131245 A JPH06131245 A JP H06131245A
Authority
JP
Japan
Prior art keywords
shared memory
read
memory module
data
central processing
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
JP28202392A
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 JP28202392A priority Critical patent/JPH06131245A/ja
Publication of JPH06131245A publication Critical patent/JPH06131245A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=17647164

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPH06131245A (ja)

Similar Documents

Publication Publication Date Title
US11755203B2 (en) Multicore shared cache operation engine
US6385705B1 (en) Circuit and method for maintaining order of memory access requests initiated by devices in a multiprocessor system
US5386524A (en) System for accessing information in a data processing system
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
JPH02310664A (ja) 共有メモリを用いた通信方式
EP0121373A2 (en) Multilevel controller for a cache memory interface in a multiprocessing system
JPH09167116A (ja) コンピュータキャッシュシステム
US6988160B2 (en) Method and apparatus for efficient messaging between memories across a PCI bus
JPH1196072A (ja) メモリアクセス制御回路
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
US5517671A (en) System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus
JP2936036B2 (ja) メモリアクセス装置
US7529857B2 (en) Data processing apparatus and data transfer control method
JPH06131245A (ja) 共有メモリの非同期アクセス方式
EP1096384B1 (en) Bridge unit between a system bus and a local bus
JPH06131246A (ja) 共有メモリの非同期アクセス方式
JP2664827B2 (ja) 実時間情報転送制御方法
JP2905041B2 (ja) メッセージ送受信装置
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
JPH0950423A (ja) 遠隔情報処理システム間のデータ伝送方法
JPH04348442A (ja) アドレス変換装置
JP2005509199A (ja) トランザクションを第1アドレスリピータと第2アドレスリピータとの間で効果的に同報通信するための方法および装置
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式
JPH03252848A (ja) スプリットバスにおける可変バス幅指定方式及び可変バス幅情報受信方式
JPH09146872A (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