JP2936036B2 - メモリアクセス装置 - Google Patents

メモリアクセス装置

Info

Publication number
JP2936036B2
JP2936036B2 JP4288685A JP28868592A JP2936036B2 JP 2936036 B2 JP2936036 B2 JP 2936036B2 JP 4288685 A JP4288685 A JP 4288685A JP 28868592 A JP28868592 A JP 28868592A JP 2936036 B2 JP2936036 B2 JP 2936036B2
Authority
JP
Japan
Prior art keywords
shared memory
data
system bus
read
address
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
JP4288685A
Other languages
English (en)
Other versions
JPH06139135A (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.)
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 JP4288685A priority Critical patent/JP2936036B2/ja
Publication of JPH06139135A publication Critical patent/JPH06139135A/ja
Priority to US08/733,721 priority patent/US5737573A/en
Application granted granted Critical
Publication of JP2936036B2 publication Critical patent/JP2936036B2/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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリアクセス装置に係
り、特に処理モジュールと共有メモリモジュールとがシ
ステムバスを介して接続された計算機システムにおい
て、処理モジュールがシステムバスを介して共有メモリ
モジュールに読み出し命令のアクセスを要求するメモリ
アクセス装置に関する。
【0002】少なくともメインメモリ、中央処理ユニッ
ト及びシステムバスへの接続ユニットを備えた一又は二
以上の処理モジュールと、少なくとも共有メモリユニッ
ト及びシステムバスへの接続ユニットを備えた一又は二
以上の共有メモリモジュールとがシステムバスを介して
接続された計算機システムにおいて、処理モジュールが
自己の物理アドレス空間に存在する共有メモリモジュー
ルのアドレス空間をシステムバスを介して物理アドレス
により直接アクセスする同期アクセス装置を採用する
と、システムバスによるデータ転送は1アクセス命令に
同期して1ワード単位で行なわれる。
【0003】従って、上記の共有メモリの同期アクセス
装置では多数の処理モジュールがシステムバスに接続さ
れる場合は、システムバスのアクセス頻度が増加するた
め、システム性能向上のためには共有メモリモジュール
のアクセスの高速化とシステムバスのオーバヘッド低減
を目的として、処理モジュールが共有メモリモジュール
を非同期でアクセスすると共に、共有メモリモジュール
から読み出されたデータを格納する処理モジュールの内
部バッファの内容の有効/無効の判定及び無効化をでき
るだけハードウェアで行なうことで、処理モジュール内
の中央処理ユニットの処理を低減するメモリアクセス装
が必要とされる。
【0004】
【従来の技術】前記した計算機システムを対象とする
モリアクセス装置として、本出願人は処理モジュール内
の接続ユニットに内部バッファを設け、接続ユニットが
中央処理ユニットによる共有メモリモジュールへの読み
出し命令を認識した際に、前記システムバスを介して前
記共有メモリモジュールにブロック読み出しを要求する
メモリアクセス装置を提案した。
【0005】このメモリアクセス装置によれば、処理モ
ジュール内の接続ユニットからのブロック読み出し要求
を受信した共有メモリモジュールは、共有メモリユニッ
トからアクセスアドレスの1ワードを含む連続した所定
ワード数からなる1ブロック分のデータを読み出し、シ
ステムバスを介して処理モジュールへ送信する。
【0006】処理モジュールはこの1ブロック分のデー
タを受信して接続ユニット内蔵の内部バッファに格納し
た後、その格納データのうち中央処理ユニットからの読
み出し命令に対応したデータを中央処理ユニットへ送出
する。これにより、システムバスのオーバヘッドの低減
と処理モジュールの共有メモリモジュールの高速読み出
しができる。
【0007】
【発明が解決しようとする課題】しかるに、上記本出願
人の提案になるメモリアクセス装置では処理モジュール
の中央処理ユニットのデータ処理が終了した場合、接続
ユニット内の内部バッファの内容を無効化するが、その
無効化は中央処理ユニットが内部バッファ無効化命令を
実行することによって行なわれていた。そのため、処理
モジュール内で動作するソフトウェアは或る処理単位で
接続ユニットの内部バッファの無効化命令を実行すると
いうオーバヘッドがあり、中央処理ユニットの負担が大
である。
【0008】また、上記の提案装置では、共有メモリモ
ジュールからのデータを内部バッファに格納した後、ソ
フトウェアが内部バッファの無効化指示を行なわなかっ
た場合、内部バッファに共有メモリモジュールからのデ
ータが保持され続け、長時間経過後にソフトウェアが共
有メモリモジュールの内容を読み出した際に、アクセス
アドレスが前回のそれと偶然に一致し内部バッファの格
納データを読み出すことがある。
【0009】共有メモリモジュールの記憶データは各処
理モジュールが共有して読み書きできるため、長時間経
過後は共有メモリユニットと処理モジュールの接続ユニ
ット内の内部バッファの両記憶データ内容に不一致が発
生する可能性がある。このような不一致が発生したデー
タを使用すると、計算機システムのデータ破壊の危険性
がある。
【0010】本発明は以上の点に鑑みなされたもので、
処理モジュールの接続ユニットの内部バッファの内容を
無効化する複数の回路部を設けることにより、上記の課
題を解決したメモリアクセス装置を提供することを目的
とする。
【0011】
【課題を解決するための手段】上記の目的を達成するた
め、本発明は図1に示すように、システムバス20に接
続し、当該システムバス20を介して前記システムバス
20に接続している共有メモリ30にブロック書き込み
を要求するメモリアクセス装置であって、前記共有メモ
リ30から読み出されたデータを格納するデータ格納手
段41と、前記共有メモリ30への読み出し命令のアク
セスアドレスの連続性を判定する判定手段44と、前記
アクセスアドレスの連続性が途切れた場合に前記データ
格納手段41の内容を無効化する手段とを備えたことを
特徴とする。 なお、図1に示す計算機システムは、少な
くともメインメモリ11、中央処理ユニット12及びシ
ステムバス20への接続ユニット13を備えた一又は二
以上の処理モジュール10と、少なくとも共有メモリユ
ニット及びシステムバス20への接続ユニットを備えた
一又は二以上の共有メモリモジュール(共有メモリ)3
0とを有する。処理モジュール10内の接続ユニット1
3は、少なくとも共有メモリモジュール30から読み出
されたデータを格納する内部バッファ(データ格納手
段)41と、システムバス20に接続されるシステムバ
ス制御回路42と、中央処理ユニット12に内部バス1
6を介して接続される内部バス制御回路43と、内部バ
ス制御回路43からの信号に基づき内部バッファ41の
書き込み/読み出し制御を行なう内部バッファ制御回路
(判定手段)44とを有する。
【0012】
【作用】本発明では、中央処理ユニット12による共有
メモリモジュール30への読み出しを接続ユニット13
が認識した際に、接続ユニット13がシステムバス20
を介して共有メモリモジュール30にブロック読み出し
を要求し、それを受けて共有メモリユニットから読み出
されたブロック読み出しデータがシステムバス20及び
システムバス制御回路42を通して内部バッファ41に
格納される。ここで、共有メモリユニットに格納されて
いるデータは、一又は二以上の処理モジュール10によ
り共通に使用されるデータであり、一つの処理で必要と
されるデータはある程度連続したアドレス領域に格納さ
れている。そのため、上記のように中央処理ユニット1
2からの共有メモリユニットから中央処理ユニット12
の読み出しアドレスを含む連続したアドレス領域の所定
ワード数のデータを1ブロックのデータとして読み出し
て内部バッファ41に格納し、その後、接続ユニット1
3が中央処理ユニット12からの次のアドレスの共有メ
モリユニットのデータの読み出しを認識した場合、内部
バッファ41から対応するデータを中央処理ユニット1
2に送出することにより、高速に応答することができ
る。
【0013】そこで、内部バッファ制御回路44は中央
処理ユニット12から内部バッファ41に格納されてい
る共有メモリユニットのデータを読み出すアクセスアド
レスが不連続となった場合、中央処理ユニット12の一
連のデータ処理は終了したものとして内部バッファ41
の無効化を行ない、内部バッファ41を新たなアクセス
の受付けが可能な状態とする。
【0014】また、中央処理ユニット12の一連のデー
タ処理終了後、次の一連のデータ処理を行なう場合、デ
ータ処理の前処理が必要となるため、次の共有メモリユ
ニットの読み出しを開始するまでに時間がかかる。そこ
で、内部バッファ制御回路44は中央処理ユニット12
が内部バッファ41の内容を設定時間以上読み出さなか
った場合、中央処理ユニット12は一連のデータ処理を
終了したものと判断して内部バッファ41の内容の無効
化を行なう。
【0015】更に、内部バス制御回路43は中央処理ユ
ニット12が接続ユニット13を経由する他の動作(例
えば共有メモリモジュール30への書き込み)を実行し
た場合、一連のデータの処理が終ったものと判断して内
部バッファ41の内容を無効化する。
【0016】このように、本発明では内部バッファ制御
回路44又は内部バス制御回路43により複数の無効化
機能を備えているので、中央処理ユニット12のソフト
ウェアによる無効化処理を低減することができる。
【0017】
【実施例】図2は本発明が適用される計算機システムの
構成図を示す。計算機システムは複数の処理モジュール
10と複数の共有メモリモジュール30がシステムバス
ハンドラ25によりアービトレーションの集中管理され
る共有システムバス20を介して、相互に接続されるマ
ルチプロセッサシステム構成が採られる。なお、この図
ではシステムバス20が一つとして示されているが、シ
ステムバス20を複数備え、各々の処理モジュール10
及び共有メモリモジュール30が、独立した複数のシス
テムバスにより接続される構成としてもよい。
【0018】図3は図2中の処理モジュール10の構成
図を示す。処理モジュール10は少なくともメインメモ
リ11と、中央処理ユニット(CPU)12と、システ
ムバス20への接続を処理するための接続ユニット(S
BC)13と、これらを相互に接続する内部バス16と
よりなる。処理モジュール10は自らの備える中央処理
ユニッ12及びメインメモリ11上で動作するソフトウ
ェアが走行して、これらのソフトウェアが通信要求元と
なりながら相互に協調して一連の動作を行なうよう構成
されている。ここで、処理モジュール10内の中央処理
ユニット12は、自モジュール内のメインメモリ11等
からのみ命令コードをフェッチする。また、接続ユニッ
ト(SBC)13は固有のユニット番号が割り付けられ
る。また、内部バス16はアクセスアドレスを示すアド
レスバスと、データを伝搬するデータバスと、複数の制
御信号で構成されている。
【0019】図4は図2中の共有メモリモジュール30
の構成図を示す。共有メモリモジュール30は少なくと
も共有メモリユニット31と、システムバス20への接
続を処理するための接続ユニット32と、これらユニッ
ト間を相互に接続する内部バス33とよりなる。共有メ
モリユニット31には図2に示した複数の処理モジュー
ル10で共有化が必要なデータが格納される。
【0020】図5は処理モジュール10内の接続ユニッ
ト(SBC)の一例の構成図を示す。同図中、図1乃至
図3と同一構成部分には同一符号を付してある。図5に
おいて、接続ユニット(SBC)13は、デュアルポー
トRAM(ランダム・アクセス・メモリ)46と、シス
テムバス20に接続されてデュアルポートRAM46と
システムバス20との間のデータの送受信等を行なうシ
ステムバス制御回路42と、内部バス16に接続された
内部バス制御回路43と、デュアルポートRAM46の
書き込み、読み出し制御等を行なう内部バッファ制御回
路44とよりなる。デュアルポートRAM46は前記し
た内部バッファ41を構成している。
【0021】図6は共有メモリモジュール30内の接続
ユニット32の一例の構成図を示す。同図中、図1,図
2,図4と同一構成部分には同一符号を付してある。図
6において、接続ユニット32はデュアルポートRAM
51と、システムバス20に接続されてデュアルポート
RAM51とシステムバス20との間のデータの送受信
等を行なうシステムバス制御回路52と、内部バス33
に接続されたダイレクト・メモリ・アクセス(DMA)
制御回路53とを有する。DMA制御回路53は内部バ
ス33を制御する内部バス制御回路と、アドレス発生器
及びタイミング制御回路とを有している。
【0022】処理モジュール10と共有メモリモジュー
ル30との間をシステムバス20を介して接続する接続
ユニット13,32は、1回のアクセスを起動転送、応
答転送に分離して行うスプリット転送方式を採用してい
る。このスプリット転送方式のバス制御においては、各
モジュールごとにユニットIDを割り付け、ユニットI
Dをバス上のモジュール識別子とする。
【0023】図7は接続ユニット13,32で使用する
起動転送コマンドSCと応答転送コマンドECの例を示
す。図7の起動転送コマンドSCにおいて、DID(De
stination ID) は受信先モジュールのユニットIDであ
り、SID(Source ID)は送信元モジュールユニットI
Dである。またオペランドはアクセス種類を示す。アク
セス種類としては、共有メモリモジュール30に対する
メモリアクセスの他に、共有メモリモジュール30や他
の処理モジュール10に対するホルト指示、或いはリセ
ット指示などの制御レジスタのアクセス等がある。更に
BCT(Byte Count) は、共有メモリモジュール30の
アクセスにおけるデータ容量を示す。
【0024】一方、応答転送コマンドECにおけるDI
D、SIDは起動転送コマンドSCと同じであるが、終
結コードはアクセス先における終結状態、すなわち正常
終結と異常終結のいずれかをコード化したものである。
【0025】図8は共有メモリモジュール30から処理
モジュール10にデータを読み出す読み出しアクセス
(フェッチアクセス)の動作説明図である。まず、アク
セス元の処理モジュール10の接続ユニット13は、起
動転送コマンドSCを作成する。すなわち、自己のユニ
ットIDを示す発信元IDコードSID、アクセス先の
共有メモリモジュール30のユニットIDを示す相手先
IDコードDID、メモリ読み出しアクセスの種類を示
すオペランド、アクセスデータ容量を示すBCTで構成
される起動転送コマンドSCを作成する。システムバス
20上には起動転送コマンドSCに続いて、アクセス先
の共有メモリモジュール30上のアクセスアドレスAを
送信する。
【0026】一方、受信側の共有メモリモジュール30
内の接続ユニット32はシステムバス20上を監視し、
起動転送コマンドSCに含まれる受信先を示すDIDと
自己のユニットIDを比較し、一致した場合に受信動作
を行なう。受信動作を行なった共有メモリモジュール3
0は、共有メモリモジュール30内の共有メモリユニッ
ト31(図4参照)に読み出しアクセスを行ない、読み
出しアクセスの終結コードを含め、転送方向が起動転送
と応答転送では逆のためDIDとSIDを交換した応答
転送コマンドEC及び読み出しデータDをアクセス元の
処理モジュール10に対して送信する。
【0027】アクセス元のプロセッサモジュール10
は、システムバス20上を監視し、応答転送コマンドE
C中の相手先を示すDIDが自己のユニットIDと一致
した場合に受信動作を行い、1回の読み出しアクセスが
終了する。この読み出しアクセスには、プログラムモー
ドとDMAモードの2モードがあり、いずれのアクセス
においてもシステムバス20上での動作は同じである。
【0028】ここで、プログラムモードはソフトウェア
に基づく中央処理ユニット12の命令により物理アドレ
スで直接アクセスするモードである。また、DMAモー
ドはアクセスすべき共有メモリモジュール30を選択
し、アクセスアドレスと転送長とを指定して処理モジュ
ール10と共有メモリモジュール30との間のデータ転
送を起動するモードである。
【0029】すなわち、本実施例では各処理モジュール
10の物理アドレス空間は共有メモリモジュール空間
と、処理モジュール固有空間とに大別され、共有メモリ
モジュール空間が各処理モジュール10の物理アドレス
空間に直接マップされている。上記の共有メモリモジュ
ール空間はすべての処理モジュール10に共通なアドレ
ス空間で、複数の共有メモリモジュール30によって構
成され、各処理モジュール10の物理アドレスによって
直接アクセスすることができる。従って、共有メモリモ
ジュール30には、すべての処理モジュール10で共通
に必要なデータのみが格納される。
【0030】一方、処理モジュール固有空間は各処理モ
ジュール10のハードウェアリソース固有の空間であ
り、各処理モジュール10の搭載台数分の多重アドレス
空間であり、その一部には各処理モジュール10が必要
とするオペランドや各処理モジュール10に固有のデー
タなどが格納される。
【0031】前記プログラムモードには、1アクセス命
令につき1ワード単位で行なう同期アクセス方式と、1
アクセス命令につき複数ワードからなるブロック単位で
行なう非同期アクセス方式とがある。
【0032】本実施例では前記した本出願人の先の提案
装置と同様に非同期アクセス方式により共有メモリモジ
ュール30の読み出しを行なうことを前提としている。
このメモリアクセス装置による共有メモリモジュール3
0の読み出し手順について図9と共に説明する。まず、
処理モジュール10内の接続ユニット13が中央処理ユ
ニット12からアドレスnの1ワードの共有メモリモジ
ュール30に対する読み出し要求を認識すると、接続ユ
ニット13はシステムバス20を介して共有メモリモジ
ュール30に対してブロック読み出し要求を行なう。本
実施例では、1ブロックは4ワードからなり、よって上
記のブロック読み出し要求はアドレスn,n+1,n+
2及びn+3の4ワードの読み出し要求である。
【0033】このブロック読み出し要求を受信した共有
メモリモジュール30は、共有メモリユニット31のア
ドレスn,n+1,n+2,n+3から4ワードのデー
タを読み出し、システムバス20を介して処理モジュー
ル10へ送信する。この共有メモリモジュール30から
の1ブロックのデータは処理モジュール10の接続ユニ
ット13で受信されて接続ユニット13内のデュアルポ
ートRAM46に格納され、そのうち中央処理ユニット
12へ共有メモリモジュール30の読み出し要求アドレ
スnに対応したデータが送出される。
【0034】引き続き、中央処理ユニット12から次の
アドレスn+1の1ワードの共有メモリモジュール30
に対する読み出し要求が発行されると、この読み出し要
求を認識した接続ユニット13が既にデュアルポートR
AM46に格納されている、読み出し要求アドレスn+
1に対応したデータを読み出して中央処理ユニット12
へ返送する。
【0035】以下、上記と同様にして中央処理ユニット
12からアドレスn+2,n+3と連続して読み出し要
求があると、接続ユニット13は共有メモリモジュール
30に対して読み出し要求を行ない、それにより共有メ
モリモジュール30からの読み出しデータを受信すると
いう一連の動作を行なうのではなく、既にデュアルポー
トRAM46に格納されている、読み出し要求アドレス
n+2,n+3に対応したデータを直ちに読み出して中
央処理ユニット12へ送出するため、高速応答を行なう
ことができる。
【0036】本実施例はこのような共有メモリモジュー
ル30のブロック読み出しを行なうメモリアクセス装置
において、必要に応じて処理モジュール10の接続ユニ
ット13のハードウェアにて内部バッファ41(すなわ
ちデュアルポートRAM46)の内容の無効化を行な
う。図10は本発明の要部の接続ユニット13の一実施
例の構成図を示し、同図中、図5と同一構成部分には同
一符号を付してその説明を省略する。
【0037】図10において、内部バッファ制御回路4
4は、内部バッファ制御部61、内部バッファ状態検出
部62、内部バッファタイマ63、アクセス開始アドレ
ス保持レジスタ(AB−HOLD)64、バイトカウン
トレジスタ(BCT)65及びアドレス連続性判定回路
66よりなる。アドレス連続性判定回路66はAB−H
OLD64の出力とBCT65の出力とを加算する加算
器661と、この加算器661の出力加算結果とアドレ
スバス(AB)よりのアドレスとを夫々一致判定する比
較器662とよりなる。
【0038】内部バッファ制御部61はデュアルポート
RAM46のライトイネーブル端子に制御信号を送出し
てデュアルポートRAM46の読み出し/書き込みを制
御すると共に、BCT65の出力と共にマルチプレクサ
67にアドレス信号を送出する。マルチプレクサ67で
選択されたアドレス信号はデュアルポートRAM46の
アドレス端子に入力される。
【0039】また、内部バス16の一部を構成するデー
タバス(DB)はマルチプレクサ68を介してデュアル
ポートRAM46のデータ入力端子に接続される一方、
デュアルポートRAM46のデータ出力端子に接続され
ている。内部バス制御回路43は内部バス16の一部を
構成するアドレスバス(AB)と制御信号とに接続さ
れ、共有メモリモジュール読み出しアドレス空間を内部
バッファ制御部61に通知する。
【0040】内部バッファ状態検出部62は内部バッフ
ァ制御部61の出力信号に基づいて検出したデュアルポ
ートRAM46の状態をシステムバス制御回路42に通
知し、またシステムバス制御回路42よりの内部バッフ
ァ状態遷移信号に基づき内部バッファ制御部61に状態
遷移を通知する。
【0041】ここで、本実施例における内部バッファ状
態はA,B,BR及びEPの4種類ある。これらの状態
のうち状態A(Available )は、何ら保留状態を持た
ず、共有メモリモジュール30への新たなアクセスの受
付けが可能な状態を示す。状態B(Busy) は共有メモリ
モジュール30への読み出しを開始してからアクセスが
終了するまでの状態を示す。また、状態BR(Buffer R
eady)は共有メモリモジュール30の読み出しが正常終
了し、内部バッファ(デュアルポートRAM46)が有
効な状態を示す。更に状態EP(Exception Pending)は
共有メモリモジュール30の読み出しが異常終了し、例
外処理を保留している状態を示す。
【0042】これら4種類の内部バッファ状態は内部バ
ッファ制御回路44又はシステムバス制御回路42によ
り、図11に示す如く状態遷移が行なわれる。いま内部
バッファ(デュアルポートRAM46)がA状態にある
ものとすると、内部バッファ制御回路44により、共有
メモリモジュール30への読み出しアクセスを認識した
際に、図11にで示す如くB状態に遷移する。
【0043】また、共有メモリモジュール30の読み出
しの正常終了がシステムバス制御回路42で認識される
と、内部バッファ(デュアルポートRAM46)は図1
1にで示す如く、B状態からBR状態に遷移する。し
かし、共有メモリモジュール30の読み出しが異常終了
のときは、システムバス制御回路42により内部バッフ
ァ(デュアルポートRAM46)は図11にで示す如
くB状態からEP状態へ遷移する。
【0044】また、内部バッファ(デュアルポートRA
M46)がBR状態のときに、無効化の指示があると、
図11にで示す如くA状態に遷移する。更に、内部バ
ッファ(デュアルポートRAM46)がEP状態のとき
は、共有メモリモジュール空間へのアクセスにより、中
央処理ユニット12に同期割込みを発生させ、図11に
で示す如くA状態に遷移する。
【0045】次に図10に示す接続ユニットの一実施例
の動作について説明する。いま、デュアルポートRAM
46がA状態にあるものとする。この状態で内部バス制
御回路43が中央処理ユニット(図1,図3の12)か
ら共有メモリモジュール(図1,図2,図4の30)へ
の読み出し命令を認識した際にその旨を内部バッファ制
御部61へ通知する。これにより、内部バッファ制御部
61はデュアルポートRAM46をB状態とする。ま
た、上記の共有メモリモジュール30への読み出し開始
アドレスはAB−HOLD64に格納される。また、B
CT65の内容がリセットされる。
【0046】その後、前記したように共有メモリモジュ
ール30に対してAB−HOLD64に格納された読み
出し開始アドレスの1ワード4バイトを含む例えば4ワ
ードからなる1ブロック分のブロック読み出し要求が行
なわれ、共有メモリユニット31から1ブロック分のデ
ータが読み出されてデュアルポートRAM46に書き込
まれる。
【0047】この時システムバス制御回路42はシステ
ムバス20を監視し、自己宛の応答転送コマンドEC中
の終結コードから正常終結か異常終結かを検出して内部
バッファ状態検出部62に通知し、デュアルポートRA
M46を正常終結のときはBR状態に遷移させ、異常終
結のときはEP状態に遷移させる。
【0048】本実施例はこのデュアルポートRAM46
がBR状態のときの、無効化機能に特徴があり、次にこ
の無効化機能の夫々について説明する。この無効化機能
にはアドレス連続性判定回路66による中央処理ユニ
ット12からの読み出し命令のアクセスアドレスの連続
性の判定機能、内部バッファ制御部61と内部バッフ
ァタイマ63とによる設定時間内の読み出し非実行の判
定機能、及び内部バス制御回路43による読み出し命
令以外の他の命令の検出機能がある。
【0049】まず、アドレス連続性判定回路66の動作
につき説明するに、デュアルポートRAM46に1ブロ
ック分のデータが格納され、読み出し開始アドレス(こ
れを“n”とする)の1ワード分のデータが中央処理ユ
ニット12に送出されると、BCT65からは1ワード
であるmバイト(ここではm=4)が出力され、加算器
61でAB−HOLD64からの読み出し開始アドレス
nと加算される。これにより加算器661からは次のア
ドレスn+1が出力される。
【0050】この状態で中央処理ユニット12からアド
レスバスABを介して図12に示す如く次の読み出しア
ドレスn+1が入力されると、比較器662でこの読み
出しアドレスn+1と加算器661の出力とが比較され
る。このときの加算器661の出力はアドレスn+1を
示しているので、比較器662から一致を示す信号が取
り出されて内部バッファ制御部61に入力される。
【0051】これにより、内部バッファ制御部61はア
ドレスの連続性ありと判断してデュアルポートRAM4
6のアドレス端子に次のアドレス(n+1)を入力して
1ワード分のデータをデータバスDBを介して中央処理
ユニット12へ送出させる。この1ワード分のデータ読
み出しによりBCT65に更にmが入力され、その結果
BCT65の記憶内容は2mとなる。
【0052】続いて、中央処理ユニット12から、図1
2に示す如くアドレス(n+1)の次のアドレス(n+
2)でなく、仮にアドレス(n+3)が入力されたもの
とすると、比較器662はこの入力アドレス(n+3)
と、加算器661から取り出された(n+2m)、すな
わち本来の次のアドレス(n+2)とを比較することと
なるため、不一致信号を発生する。
【0053】これにより、内部バッファ制御部61はア
ドレスの連続性がないと判断して、デュアルポートRA
M46を書き込み可能なA状態に遷移させる(つまり、
デュアルポートRAM46の内容を無効とする)。な
お、アドレスの連続性を保ってデュアルポートRAM4
6から1ブロック分のデータが読み出され終ると、加算
器661の出力は1ブロックの最終アドレスの次のアド
レスを示し、比較器662から不一致信号が出力されて
デュアルポートRAM46がA状態とされる。
【0054】次に前記の読み出し非実行の判定機能に
ついて説明する。内部バッファ制御部61の一部は図1
3に示す如く内部バッファタイマ63の出力と設定値発
生回路611の出力とを比較器612で比較する構成と
されている。内部バッファタイマ63は内部バッファ制
御部61によりデュアルポートRAM46がBR状態に
遷移したことを示す信号がイネーブル端子に印加されて
カウントを開始する。また、内部バッファタイマ63は
中央処理ユニット12からデュアルポートRAM46内
の共有メモリユニットのデータ読み出しがある毎にリセ
ットされた後、再びカウントを開始する。従って、通常
は内部バッファタイマ63の出力値は設定値発生回路6
11の出力設定値未満であり、比較器612からはタイ
ムアウト信号は出力されない。
【0055】しかし、内部バッファタイマ63がカウン
トを開始してから(最終読み出し命令の実行から)上記
設定値で表わされる時間経過すると、内部バッファタイ
マ63の出力値が設定値以上となり、比較器612から
タイムアウト信号が出力される。このタイムアウト信号
は内部バッファ制御部61内の所定部へ出力され、デュ
アルポートRAM46をA状態にする。一連のデータ処
理が終ったと判断できるからである。
【0056】次に前記の他命令の検出機能について説
明する。内部バス制御回路43は図14に示す如く少な
くともデコーダ71とゲート回路72を有している。デ
コーダ71はアドレスバスABを介して中央処理ユニッ
ト12から入力されるアドレスをデコードし、共有メモ
リモジュール空間のアドレスをゲート回路72に入力す
る。
【0057】ゲート回路72は内部バス16の制御信号
からの接続ユニット起動信号と上記のアドレス信号と、
中央処理ユニット12からの読み出し/書き込みの別を
示す信号とが入力されてこれらの論理積をとり、接続ユ
ニット13が中央処理ユニット12から共有メモリモジ
ュール30の読み出し命令を受けた時とそれ以外の時と
で異なる論理値を示す信号を出力する。
【0058】このゲート回路72の出力信号は内部バッ
ファ制御部61へ入力され、中央処理ユニット12から
は共有メモリモジュール30の読み出し命令以外の命令
(例えば共有メモリモジュール30への書き込み命令)
実行時にはデュアルポートRAM46の内容を無効とす
る(A状態とする)。この場合は一連のデータ読み出し
処理が終了したと判断できるからである。
【0059】このように、本実施例によれば、内部バッ
ファ制御回路44や内部バス制御回路43により、デュ
アルポートRAM46の内容の無効化を複数の場合に実
現できるため、中央処理ユニット12のソフトウェアに
よる無効化処理のオーバヘッドを削減することができ
る。
【0060】なお、本発明は上記の実施例に限定される
ものではなく、例えば図13に示した設定値発生回路6
11はその設定値を外部より任意に可変できる構成とし
てもよい。また中央処理ユニット12からのデュアルポ
ートRAM46の無効指示の命令によっても、デュアル
ポートRAM46の内容を無効にできることは勿論であ
る。
【0061】
【発明の効果】上述の如く、本発明によれば、ハードウ
ェアにより複数の無効化機能を実現するようにして、処
理モジュール内の中央処理ユニットのソフトウェアによ
る無効化処理を低減するようにしたため、ソフトウェア
のオーバヘッドを削減することができ、データ破壊等の
重大な障害の発生を共有メモリモジュールのブロック読
み出しを行なう計算機システムにおいて適切に防止する
ことができる等の特長を有するものである。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明が適用される計算機システムの構成図で
ある。
【図3】処理モジュールの構成図である。
【図4】共有メモリモジュールの構成図である。
【図5】接続ユニットの一例の構成図である。
【図6】共有メモリモジュール内の接続ユニットの一例
の構成図である。
【図7】接続ユニットで使用するコマンドのフォーマッ
ト説明図である。
【図8】共有メモリの読み出しアクセスの動作説明図で
ある。
【図9】非同期アクセスによる共有メモリモジュールの
読み出し動作説明図である。
【図10】本発明の要部の一実施例の構成図である。
【図11】内部バッファの状態遷移図である。
【図12】アドレス連続性判定の説明図である。
【図13】内部バッファ制御部の要部の一実施例の構成
図である。
【図14】内部バス制御回路の要部の一実施例の回路図
である。
【符号の説明】
10 処理モジュール 11 メインメモリ 12 中央処理ユニット(CPU) 13 接続ユニット(SBC) 16,33 内部バス 20 システムバス 30 共有メモリモジュール(SSM) 31 共有メモリユニット 32 接続ユニット 41 内部バッファ 42,52 システムバス制御回路 43 内部バス制御回路 44 内部バッファ制御回路 46,51 デュアルポートRAM 53 DMA制御回路 61 内部バッファ制御部 62 内部バッファ状態検出部 63 内部バッファタイマ 64 アクセス開始アドレス保持レジスタ(AB−HO
LD) 65 バイトカウントレジスタ(BCT) 66 アドレス連続性判定回路 71 デコーダ 72 ゲート回路 611 設定値発生回路 612,662 比較器 661 加算器
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−298866(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 G06F 12/16 G06F 15/177

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 システムバスに接続し、当該システムバ
    スを介して前記システムバスに接続している共有メモリ
    にブロック書き込みを要求するメモリアクセス装置であ
    って、 前記共有メモリから読み出されたデータを格納するデー
    タ格納手段と、 前記共有メモリへの読み出し命令のアクセスアドレスの
    連続性を判定する判定手段と、 前記アクセスアドレスの連続性が途切れた場合に前記デ
    ータ格納手段の内容を無効化する手段と を備えたことを
    特徴とするメモリアクセス装置
  2. 【請求項2】 システムバスに接続し、当該システムバ
    スを介して前記システムバスに接続している共有メモリ
    にブロック書き込みを要求するメモリアクセス装置であ
    って、 主制御部と、 前記共有メモリから読み出されたデータを格納するデー
    タ格納手段と、 前記主制御部からの最終読み出し命令の実行から所定時
    間内に前記主制御部が前記データ格納手段に対する読み
    出しを実行したか否かを判定する判定手段と、 前記判定手段により所定時間内に読み出しが非実行と判
    定された場合に前記データ格納手段の内容を無効化する
    手段と を備えたことを特徴とするメモリアクセス装置
  3. 【請求項3】 前記判定手段は、前記所定時間を任意に
    変更することを特徴とする請求項2記載のメモリアクセ
    ス装置。
  4. 【請求項4】 システムバスに接続し、当該システムバ
    スを介して前記システムバスに接続している共有メモリ
    にブロック書き込みを要求するメモリアクセス装置であ
    って、 主制御部と、 前記共有メモリから読み出されたデータを格納するデー
    タ格納手段と、 前記主制御部からの読み出し命令以外の他の命令を検出
    する検出手段と、 前記検出手段により前記他の命令を検出した場合に前記
    データ格納手段の内容 を無効化する手段と を備えたこと
    を特徴とするメモリアクセス装置
JP4288685A 1992-10-27 1992-10-27 メモリアクセス装置 Expired - Lifetime JP2936036B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4288685A JP2936036B2 (ja) 1992-10-27 1992-10-27 メモリアクセス装置
US08/733,721 US5737573A (en) 1992-10-27 1996-10-16 Asynchronous access system having an internal buffer control circuit which invalidates an internal buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4288685A JP2936036B2 (ja) 1992-10-27 1992-10-27 メモリアクセス装置

Publications (2)

Publication Number Publication Date
JPH06139135A JPH06139135A (ja) 1994-05-20
JP2936036B2 true JP2936036B2 (ja) 1999-08-23

Family

ID=17733364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4288685A Expired - Lifetime JP2936036B2 (ja) 1992-10-27 1992-10-27 メモリアクセス装置

Country Status (2)

Country Link
US (1) US5737573A (ja)
JP (1) JP2936036B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006309A (en) * 1996-12-16 1999-12-21 Bull Hn Information Systems Inc. Information block transfer management in a multiprocessor computer system employing private caches for individual center processor units and a shared cache
US6167473A (en) * 1997-05-23 2000-12-26 New Moon Systems, Inc. System for detecting peripheral input activity and dynamically adjusting flushing rate of corresponding output device in response to detected activity level of the input device
JP4834362B2 (ja) * 2005-09-16 2011-12-14 パナソニック株式会社 メモリ制御装置。
US7984248B2 (en) * 2004-12-29 2011-07-19 Intel Corporation Transaction based shared data operations in a multiprocessor environment
JP4564390B2 (ja) * 2005-03-31 2010-10-20 東芝ストレージデバイス株式会社 情報処理装置
KR20170060739A (ko) 2015-11-25 2017-06-02 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4167782A (en) * 1977-12-22 1979-09-11 Honeywell Information Systems Inc. Continuous updating of cache store
US5297222A (en) * 1982-05-04 1994-03-22 Hitachi, Ltd. Image processing apparatus
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
EP0507951B1 (en) * 1990-09-18 1999-03-03 Fujitsu Limited Exclusive control method for shared memory
AU641288B2 (en) * 1990-09-28 1993-09-16 Fujitsu Limited Message control method for data communication system

Also Published As

Publication number Publication date
JPH06139135A (ja) 1994-05-20
US5737573A (en) 1998-04-07

Similar Documents

Publication Publication Date Title
KR960012356B1 (ko) 컴퓨터 시스템 및 데이타 전송 방법
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5737564A (en) Cache memory system having multiple caches with each cache mapped to a different area of main memory to avoid memory contention and to lessen the number of cache snoops
US5371857A (en) Input/output interruption control system for a virtual machine
JP2936036B2 (ja) メモリアクセス装置
JPH0322068A (ja) データ処理システム
US6108755A (en) Asynchronous access system to a shared storage
JPS6126702B2 (ja)
JPH06222994A (ja) キャッシュメモリシステム
US5708795A (en) Asynchronous access system for multiprocessor system and processor module used in the asynchronous access system
JP3187446B2 (ja) キャッシュメモリ制御装置
JP3141948B2 (ja) 計算機システム
JPH06161891A (ja) コンピュータシステム及びキャッシュ制御手段におけるキャッシュ制御方法
US5603057A (en) System for initiating data transfer between input/output devices having separate address spaces in accordance with initializing information in two address packages
US5692218A (en) System for transferring data between input/output devices having separate address spaces in accordance with initializing information in address packages
JPS6240565A (ja) メモリ制御方式
JPS6041145A (ja) デイスクキヤツシユ装置
KR970004888B1 (ko) 전전자 교환기의 이중화된 에스 시 에스 아이 어뎁터 동시 제어방법
JPH02307123A (ja) 計算機
JPH06131245A (ja) 共有メモリの非同期アクセス方式
JPH01261748A (ja) バッファ記憶制御装置
JPH06131246A (ja) 共有メモリの非同期アクセス方式
JPH0736785A (ja) メモリ制御装置
JPH04316149A (ja) 情報処理装置
JPH09244989A (ja) バスアクセス方式

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990525

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

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 14