JPH064437A - エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 - Google Patents
エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法Info
- Publication number
- JPH064437A JPH064437A JP4166117A JP16611792A JPH064437A JP H064437 A JPH064437 A JP H064437A JP 4166117 A JP4166117 A JP 4166117A JP 16611792 A JP16611792 A JP 16611792A JP H064437 A JPH064437 A JP H064437A
- Authority
- JP
- Japan
- Prior art keywords
- data
- value
- output
- flag
- read
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【目的】 本発明は、互いに非同期に動作している装置
間でデータの授受を行うために使用され内部の任意のレ
ジスタを読出し側の装置がアクセスできる構造のFIF
Oにおいて、データエラーを検出可能とすることを目的
とする。 【構成】 有効データカウンタ手段110は、レジスタ
手段104への転送データ103の書込み動作の毎にカ
ウントアップされ、読出し動作の毎にカウントダウンさ
れる。フラグ保持手段106が保持するフラグ値105
は、転送データ103がそれに対応するレジスタ手段1
04に対して、書き込まれると第1の値にセットされ、
逆に、読み出されると第2の値にセットされる。読出し
装置102は、カウント値114又はフラグ値105に
よって、エラー発生を判別する。また、不正データ出力
手段117は、不正アクセス時に不正データ116を読
出し装置102に出力する。
間でデータの授受を行うために使用され内部の任意のレ
ジスタを読出し側の装置がアクセスできる構造のFIF
Oにおいて、データエラーを検出可能とすることを目的
とする。 【構成】 有効データカウンタ手段110は、レジスタ
手段104への転送データ103の書込み動作の毎にカ
ウントアップされ、読出し動作の毎にカウントダウンさ
れる。フラグ保持手段106が保持するフラグ値105
は、転送データ103がそれに対応するレジスタ手段1
04に対して、書き込まれると第1の値にセットされ、
逆に、読み出されると第2の値にセットされる。読出し
装置102は、カウント値114又はフラグ値105に
よって、エラー発生を判別する。また、不正データ出力
手段117は、不正アクセス時に不正データ116を読
出し装置102に出力する。
Description
【0001】
【産業上の利用分野】本発明は、互いに非同期に動作し
ている装置間でデータの授受を行うために使用されるフ
ァーストインファーストアウトバッファ(FIFO)及
びそれを使用した読出し装置の制御方法に関する。
ている装置間でデータの授受を行うために使用されるフ
ァーストインファーストアウトバッファ(FIFO)及
びそれを使用した読出し装置の制御方法に関する。
【0002】
【従来の技術】ファーストインファーストアウトバッフ
ァ(FIFO)は、基本的には、一番先に入力されたデ
ータが最初に取り出されるような構造を有するバッファ
であって、互いに非同期に動作している1つの装置から
他の装置にデータを転送する場合に、データの入出力タ
イミングの違いを効果的に吸収することができる。
ァ(FIFO)は、基本的には、一番先に入力されたデ
ータが最初に取り出されるような構造を有するバッファ
であって、互いに非同期に動作している1つの装置から
他の装置にデータを転送する場合に、データの入出力タ
イミングの違いを効果的に吸収することができる。
【0003】このようなFIFOを使用する場合、読出
し側の装置がFIFOからのデータの読出しを行ってい
ないタイミングで書込み側の装置がFIFOにデータを
次々に書き込んでしまうと、FIFOにおいてデータの
オーバーフローが発生し、転送データが失われてしま
う。逆に、書込み側の装置がFIFOへのデータの書込
みを行っていないタイミングで読出し側の装置がFIF
Oからデータを次々に読み出してしまうと、実際には書
込み側の装置から書き込まれていない意味のないデータ
が読み出されることになってしまう。
し側の装置がFIFOからのデータの読出しを行ってい
ないタイミングで書込み側の装置がFIFOにデータを
次々に書き込んでしまうと、FIFOにおいてデータの
オーバーフローが発生し、転送データが失われてしま
う。逆に、書込み側の装置がFIFOへのデータの書込
みを行っていないタイミングで読出し側の装置がFIF
Oからデータを次々に読み出してしまうと、実際には書
込み側の装置から書き込まれていない意味のないデータ
が読み出されることになってしまう。
【0004】そのため、通常のFIFOには、これ以上
データを書き込めないことを表示し、又は、これ以上読
み出されるべきデータが存在しないことを表示する機能
が具備されている。これらの機能は、FIFOを構成す
るリングレジスタに対して指定される、データの書込み
位置を示す書込みポインタとデータの読出し位置を示す
読出しポインタとの位置関係を監視することにより実現
することができる。
データを書き込めないことを表示し、又は、これ以上読
み出されるべきデータが存在しないことを表示する機能
が具備されている。これらの機能は、FIFOを構成す
るリングレジスタに対して指定される、データの書込み
位置を示す書込みポインタとデータの読出し位置を示す
読出しポインタとの位置関係を監視することにより実現
することができる。
【0005】即ち、書込みポインタの位置が読出しポイ
ンタの位置を追い越しそうになった状態は、これ以上デ
ータを書き込めない状態になりつつあることを示してお
り、読出しポインタの位置が書込みポインタの位置を追
い越しそうになった状態は、これ以上読み出されるべき
データが存在しない状態になりつつあることを示してい
る。
ンタの位置を追い越しそうになった状態は、これ以上デ
ータを書き込めない状態になりつつあることを示してお
り、読出しポインタの位置が書込みポインタの位置を追
い越しそうになった状態は、これ以上読み出されるべき
データが存在しない状態になりつつあることを示してい
る。
【0006】ここで、書込み側の装置はFIFOにデー
タを順次書き込み、読出し側の装置はアドレス指定によ
ってFIFO内の任意のレジスタをアクセスできるよう
な構造のFIFOがある。
タを順次書き込み、読出し側の装置はアドレス指定によ
ってFIFO内の任意のレジスタをアクセスできるよう
な構造のFIFOがある。
【0007】
【発明が解決しようとする課題】しかし、このような構
造を有するFIFOでは、書込みポインタの位置と読出
しポインタの位置との間には必ずしも相関関係があるわ
けではないため、単にこれらのポインタの位置関係を監
視するだけでは、FIFOにおけるデータのオーバーフ
ロー又は枯渇を検出することができないという問題点を
有している。
造を有するFIFOでは、書込みポインタの位置と読出
しポインタの位置との間には必ずしも相関関係があるわ
けではないため、単にこれらのポインタの位置関係を監
視するだけでは、FIFOにおけるデータのオーバーフ
ロー又は枯渇を検出することができないという問題点を
有している。
【0008】本発明は、読出し側の装置がFIFO内の
任意のレジスタをアクセスできる構造のFIFOにおけ
るデータエラーを検出可能とすることを目的とする。
任意のレジスタをアクセスできる構造のFIFOにおけ
るデータエラーを検出可能とすることを目的とする。
【0009】
【課題を解決するための手段】図1は、本発明のブロッ
ク図である。本発明は、書込み装置101から読出し装
置102へ転送される転送データ103を一時保持する
ファーストインファーストアウトバッファ118を前提
とする。
ク図である。本発明は、書込み装置101から読出し装
置102へ転送される転送データ103を一時保持する
ファーストインファーストアウトバッファ118を前提
とする。
【0010】まず、転送データ103を複数組(n組
み)分一時保持する#1、・・・、#X、・・・、#nの複数
のレジスタ手段104を有する。その複数のレジスタ手
段104に対応する#1、・・・、#X、・・・、#nの複数
のフラグ値105を保持するフラグ保持手段106と、
次に、書込み装置101からの転送データ書込み指示1
07に基づき順次連続的かつ循環的にカウント動作を行
う書込みカウンタ手段108を有する。
み)分一時保持する#1、・・・、#X、・・・、#nの複数
のレジスタ手段104を有する。その複数のレジスタ手
段104に対応する#1、・・・、#X、・・・、#nの複数
のフラグ値105を保持するフラグ保持手段106と、
次に、書込み装置101からの転送データ書込み指示1
07に基づき順次連続的かつ循環的にカウント動作を行
う書込みカウンタ手段108を有する。
【0011】また、転送データ書込み指示107に基づ
いて順次連続的にカウントアップ動作を行い、読出し装
置102からの転送データ読出し指示109に基づいて
順次連続的にカウントダウン動作を行い、レジスタ手段
104の数n以上の値までカウント動作が可能な有効デ
ータカウンタ手段110を有する。
いて順次連続的にカウントアップ動作を行い、読出し装
置102からの転送データ読出し指示109に基づいて
順次連続的にカウントダウン動作を行い、レジスタ手段
104の数n以上の値までカウント動作が可能な有効デ
ータカウンタ手段110を有する。
【0012】更に、転送データ書込み指示107に基づ
いて、書込みカウンタ手段108が出力するカウント値
111に対応するレジスタ手段104に書込み装置10
1からの転送データ103を書き込むと共に、そのレジ
スタ手段104に対応するフラグ保持手段106内のフ
ラグ値105を第1の値例えば“1”に設定する書込み
制御手段112を有する。
いて、書込みカウンタ手段108が出力するカウント値
111に対応するレジスタ手段104に書込み装置10
1からの転送データ103を書き込むと共に、そのレジ
スタ手段104に対応するフラグ保持手段106内のフ
ラグ値105を第1の値例えば“1”に設定する書込み
制御手段112を有する。
【0013】そして、読出し装置102から指定される
読出し指示109及びアドレス113に基づいて、任意
のレジスタ手段104の内容、有効データカウンタ手段
110のカウント値114、又はフラグ保持手段106
が保持する任意のフラグ値105を読出し装置102に
出力すると共に、任意のレジスタ手段104の内容を出
力した場合にそのレジスタ手段104に対応するフラグ
保持手段106内のフラグ値105を第2の値例えば
“0”に設定する読出し制御手段115を有する。
読出し指示109及びアドレス113に基づいて、任意
のレジスタ手段104の内容、有効データカウンタ手段
110のカウント値114、又はフラグ保持手段106
が保持する任意のフラグ値105を読出し装置102に
出力すると共に、任意のレジスタ手段104の内容を出
力した場合にそのレジスタ手段104に対応するフラグ
保持手段106内のフラグ値105を第2の値例えば
“0”に設定する読出し制御手段115を有する。
【0014】本発明は、上述の構成に加えて、有効デー
タカウンタ手段110のカウント値114がレジスタ手
段104の数nを越えているときに読出し装置102が
レジスタ手段104の内容を読み出そうとした場合、又
は読出し装置102がフラグ保持手段106に保持され
ている第2の値を有するフラグ値105に対応するレジ
スタ手段104の内容を読み出そうとした場合に、書込
み装置101が転送データ103として出力しない不正
データ116を読出し装置102に出力する不正データ
出力手段117を更に有するように構成できる。
タカウンタ手段110のカウント値114がレジスタ手
段104の数nを越えているときに読出し装置102が
レジスタ手段104の内容を読み出そうとした場合、又
は読出し装置102がフラグ保持手段106に保持され
ている第2の値を有するフラグ値105に対応するレジ
スタ手段104の内容を読み出そうとした場合に、書込
み装置101が転送データ103として出力しない不正
データ116を読出し装置102に出力する不正データ
出力手段117を更に有するように構成できる。
【0015】また、特には図示しないが、不正データ出
力手段117が出力する不正データ116を設定する不
正データ設定手段を、例えば読出し装置102内に更に
有するように構成できる。
力手段117が出力する不正データ116を設定する不
正データ設定手段を、例えば読出し装置102内に更に
有するように構成できる。
【0016】上述の構成を有する本発明によるファース
トインファーストアウトバッファ118に対して、読出
し装置102は、以下の制御を行うように構成される。
まず、読出し装置102は、ファーストインファースト
アウトバッファ118内の任意のレジスタ手段104を
アクセスする。
トインファーストアウトバッファ118に対して、読出
し装置102は、以下の制御を行うように構成される。
まず、読出し装置102は、ファーストインファースト
アウトバッファ118内の任意のレジスタ手段104を
アクセスする。
【0017】次に、読出し装置102は、その結果とし
てファーストインファーストアウトバッファ118から
出力される出力値が、不正データ116であるか否かを
判別する。
てファーストインファーストアウトバッファ118から
出力される出力値が、不正データ116であるか否かを
判別する。
【0018】続いて、読出し装置102は、その出力値
が不正データ116でなければ、その出力値を書込み装
置101からの転送データ103として受信する。一
方、読出し装置102は、上述の出力値が不正データ1
16であるならば、ファーストインファーストアウトバ
ッファ118から有効データカウンタ手段110のカウ
ント値114、又はフラグ保持手段106が保持するア
クセス動作に対応するフラグ値105を読み出し、それ
らの読み出した値に基づいてエラー処理を行う。
が不正データ116でなければ、その出力値を書込み装
置101からの転送データ103として受信する。一
方、読出し装置102は、上述の出力値が不正データ1
16であるならば、ファーストインファーストアウトバ
ッファ118から有効データカウンタ手段110のカウ
ント値114、又はフラグ保持手段106が保持するア
クセス動作に対応するフラグ値105を読み出し、それ
らの読み出した値に基づいてエラー処理を行う。
【0019】或は、読出し装置102は、上述の構成を
有する本発明によるファーストインファーストアウトバ
ッファ118に対して、以下の制御を行うように構成す
ることもできる。
有する本発明によるファーストインファーストアウトバ
ッファ118に対して、以下の制御を行うように構成す
ることもできる。
【0020】まず始めに、読出し装置102は、ファー
ストインファーストアウトバッファ118からフラグ保
持手段106に保持されている任意のフラグ値105を
読み出す。
ストインファーストアウトバッファ118からフラグ保
持手段106に保持されている任意のフラグ値105を
読み出す。
【0021】そして、そのフラグ値105が第1の値を
有する場合に、ファーストインファーストアウトバッフ
ァ118から第1の値を有するフラグ値105に対応す
るレジスタ手段104の内容を読み出し、書込み装置1
01からの転送データ103として受信する。
有する場合に、ファーストインファーストアウトバッフ
ァ118から第1の値を有するフラグ値105に対応す
るレジスタ手段104の内容を読み出し、書込み装置1
01からの転送データ103として受信する。
【0022】
【作用】図1において、ファーストインファーストアウ
トバッファ118は、書込み装置101からの転送デー
タ103の書込み動作を常に受け付け、書込み制御手段
112は書込みカウンタ手段108からのカウント値1
11に対応するレジスタ手段104に順次転送データ1
03を書き込む。
トバッファ118は、書込み装置101からの転送デー
タ103の書込み動作を常に受け付け、書込み制御手段
112は書込みカウンタ手段108からのカウント値1
11に対応するレジスタ手段104に順次転送データ1
03を書き込む。
【0023】また、上述の書込み動作の毎に有効データ
カウンタ手段110がカウントアップされる。有効デー
タカウンタ手段110は、読出し装置102の読出し動
作毎にカウントダウンされる。従って、このカウンタ値
114が、レジスタ手段104の個数nより大きいとき
は、レジスタ手段104の内容が読出し装置102によ
って読み出される前に、書込み装置101がレジスタ手
段104に転送データ103を上書きしてしまったこと
になる。
カウンタ手段110がカウントアップされる。有効デー
タカウンタ手段110は、読出し装置102の読出し動
作毎にカウントダウンされる。従って、このカウンタ値
114が、レジスタ手段104の個数nより大きいとき
は、レジスタ手段104の内容が読出し装置102によ
って読み出される前に、書込み装置101がレジスタ手
段104に転送データ103を上書きしてしまったこと
になる。
【0024】よって、読出し装置102は、有効データ
カウンタ手段110のカウント値114を読み出すこと
により、ファーストインファーストアウトバッファ11
8においてデータのオーバーフローが発生したことを知
ることができる。
カウンタ手段110のカウント値114を読み出すこと
により、ファーストインファーストアウトバッファ11
8においてデータのオーバーフローが発生したことを知
ることができる。
【0025】一方、フラグ保持手段106が保持する例
えば#Xのレジスタ手段104に対応する#Xのフラグ値1
05は、書込み装置101が#Xのレジスタ手段104へ
の転送データ103の書込みを行うときに第1の値にセ
ットされ、読出し装置102が#Xのレジスタ手段104
からの転送データ103の読出しを行うときに第2の値
にセットされる。従って、第2の値を有するフラグ値1
05に対応するレジスタ手段104には、まだ書込み装
置101からの新しい転送データ103が書き込まれて
いないことを示している。
えば#Xのレジスタ手段104に対応する#Xのフラグ値1
05は、書込み装置101が#Xのレジスタ手段104へ
の転送データ103の書込みを行うときに第1の値にセ
ットされ、読出し装置102が#Xのレジスタ手段104
からの転送データ103の読出しを行うときに第2の値
にセットされる。従って、第2の値を有するフラグ値1
05に対応するレジスタ手段104には、まだ書込み装
置101からの新しい転送データ103が書き込まれて
いないことを示している。
【0026】よって、読出し装置102は、フラグ保持
手段106の各フラグ値105を読み出すことにより、
ファーストインファーストアウトバッファ118内の有
効な転送データ103へのアクセスが行われたか否かを
知ることができる。
手段106の各フラグ値105を読み出すことにより、
ファーストインファーストアウトバッファ118内の有
効な転送データ103へのアクセスが行われたか否かを
知ることができる。
【0027】更に、上述のような不正なアクセスが行わ
れた場合に不正データ出力手段117が不正データ11
6を出力するように構成されることにより、読出し装置
102は、ファーストインファーストアウトバッファ1
18から出力されるアクセス結果が不正データ116で
あるか否かを判別することにより、簡単に不正アクセス
を判別することができる。
れた場合に不正データ出力手段117が不正データ11
6を出力するように構成されることにより、読出し装置
102は、ファーストインファーストアウトバッファ1
18から出力されるアクセス結果が不正データ116で
あるか否かを判別することにより、簡単に不正アクセス
を判別することができる。
【0028】読出し装置102がファーストインファー
ストアウトバッファ118に対して行う第1のアクセス
方法として、まず、レジスタ手段104へのアクセスを
行った結果出力される出力値が不正データ116である
か否かを判別し、不正データ116でなければ次のアク
セスを行う方法がある。これにより、書込み装置101
からの転送データ103の書込みの頻度が高い場合に、
読出し装置101がレジスタ手段104をアクセスした
ときにそこに読めるデータが存在する可能性が高いため
に、ファーストインファーストアウトバッファ118へ
のアクセスがデータあたり約1回になる。従って、この
アクセス形態は、読出し装置101からファーストイン
ファーストアウトバッファ118へのアクセスに時間が
かかる場合に特に有効である。
ストアウトバッファ118に対して行う第1のアクセス
方法として、まず、レジスタ手段104へのアクセスを
行った結果出力される出力値が不正データ116である
か否かを判別し、不正データ116でなければ次のアク
セスを行う方法がある。これにより、書込み装置101
からの転送データ103の書込みの頻度が高い場合に、
読出し装置101がレジスタ手段104をアクセスした
ときにそこに読めるデータが存在する可能性が高いため
に、ファーストインファーストアウトバッファ118へ
のアクセスがデータあたり約1回になる。従って、この
アクセス形態は、読出し装置101からファーストイン
ファーストアウトバッファ118へのアクセスに時間が
かかる場合に特に有効である。
【0029】上述のアクセス方法において、ファースト
インファーストアウトバッファ118からの出力値が不
正データ116である場合には、読出し装置102は、
有効データカウンタ手段110のカウント値114又は
フラグ保持手段106が保持するアクセス動作に対応す
るフラグ値105を読み出すことにより、オーバーフロ
ーが発生しているか否か、又は有効なデータへのアクセ
スが行われたか否かを知ることができる。
インファーストアウトバッファ118からの出力値が不
正データ116である場合には、読出し装置102は、
有効データカウンタ手段110のカウント値114又は
フラグ保持手段106が保持するアクセス動作に対応す
るフラグ値105を読み出すことにより、オーバーフロ
ーが発生しているか否か、又は有効なデータへのアクセ
スが行われたか否かを知ることができる。
【0030】これに対して、書込み装置101からデー
タがあまり書き込まれず、上述の第1のアクセス方法で
レジスタ手段104をアクセスすると、レジスタ手段1
04にデータが存在せずにそのレジスタ手段104に対
応するフラグ保持手段106内のフラグ値105が第2
の値となる頻度が高くなる場合には、読出し装置102
は、先にこのフラグ値105を読み出し、それが第1の
値となっている場合にそれに対応するレジスタ手段10
4をアクセスするようにすれば、無駄なアクセスをなく
すことができる。
タがあまり書き込まれず、上述の第1のアクセス方法で
レジスタ手段104をアクセスすると、レジスタ手段1
04にデータが存在せずにそのレジスタ手段104に対
応するフラグ保持手段106内のフラグ値105が第2
の値となる頻度が高くなる場合には、読出し装置102
は、先にこのフラグ値105を読み出し、それが第1の
値となっている場合にそれに対応するレジスタ手段10
4をアクセスするようにすれば、無駄なアクセスをなく
すことができる。
【0031】
【実施例】以下、図面を参照しながら本発明の実施例に
つき詳細に説明する。以下の実施例において、後述する
図3のメッセージ通信装置103内で、CPUバス30
2及びネットワーク命令/結果バス303を介して、C
PU313とネットワーク制御回路310との間で授受
される送信命令、送信結果通知又は受信結果通知を中継
するためのI/Oコントローラ315の構成が本発明に
最も関連する。 <本発明の実施例の全体構成>図2は、本発明の実施例
が適用されるネットワークの構成図である。
つき詳細に説明する。以下の実施例において、後述する
図3のメッセージ通信装置103内で、CPUバス30
2及びネットワーク命令/結果バス303を介して、C
PU313とネットワーク制御回路310との間で授受
される送信命令、送信結果通知又は受信結果通知を中継
するためのI/Oコントローラ315の構成が本発明に
最も関連する。 <本発明の実施例の全体構成>図2は、本発明の実施例
が適用されるネットワークの構成図である。
【0032】光ファイバリング206を中心に構成され
るネットワーク201には、複数のノード202(図2
では、#000、#***、#%%%、などの番号で示されている)
が接続される。
るネットワーク201には、複数のノード202(図2
では、#000、#***、#%%%、などの番号で示されている)
が接続される。
【0033】ノード202において、プロセッサバス2
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203に収容され
る。メッセージ通信装置203は、プロセッサバス20
5を介してプロセッサ204が送信又は受信するメッセ
ージデータを処理し、また、光ファイバリング206に
対し入力又は出力されるメッセージデータが格納された
フレームを処理する。
05には複数のプロセッサ204が接続され、プロセッ
サバス205はメッセージ通信装置203に収容され
る。メッセージ通信装置203は、プロセッサバス20
5を介してプロセッサ204が送信又は受信するメッセ
ージデータを処理し、また、光ファイバリング206に
対し入力又は出力されるメッセージデータが格納された
フレームを処理する。
【0034】次に、図3は、本発明の実施例における図
2のノード202内のメッセージ通信装置203の構成
図である。実メモリ307は、メッセージデータを一時
保持する通信バッファとして機能する。
2のノード202内のメッセージ通信装置203の構成
図である。実メモリ307は、メッセージデータを一時
保持する通信バッファとして機能する。
【0035】制御メモリ308は、メッセージの通信に
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
使用される仮想記憶空間上の各仮想ページアドレス毎
に、その仮想ページアドレスが実メモリ307内の実ペ
ージアドレスに割り付けられている場合にはその実ペー
ジアドレスと、その仮想ページアドレスのページ状態
(通信状態)を示すデータを記憶する。
【0036】プロセッサバスインタフェース312は、
図2のプロセッサバス205を収容すると共に外部バス
301に接続され、図2のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
図2のプロセッサバス205を収容すると共に外部バス
301に接続され、図2のプロセッサ204からプロセ
ッサバス205を介して入力されるメッセージデータ等
を、外部バス301及びバーチャルメモリコントローラ
309を介して実メモリ307に出力し、逆に、実メモ
リ307からバーチャルメモリコントローラ309及び
外部バス301を介して入力されるメッセージデータ等
を、プロセッサバス205を介してプロセッサ204に
出力する。
【0037】また、プロセッサバスインタフェース31
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。
2は、外部バス301、バス結合部311及びCPUバ
ス302を介して、CPU313との間で、通信制御デ
ータの授受を行う。
【0038】図2には明示してないが、図3では、プロ
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
セッサバス205は、1ノードあたり2本設けられてい
る。従って、プロセッサバスインタフェース312も、
各プロセッサバス205に対応して、#0と#1の2つが設
けられている。そして、#0のプロセッサバスインタフェ
ース312は、制御線319を用いて、#0と#1の各プロ
セッサバスインタフェース312が外部バス301をア
クセスする場合の競合制御を行う。更に、#0のプロセッ
サバスインタフェース312は、制御線321、322
を介して、後述するCPUバスアービタ314及びI/
Oコントローラ315との間でバスの使用に関する制御
データを授受しながら、外部バス301の競合制御を行
って、必要なときには制御線320を介してバス結合部
311の開閉制御を行う。
【0039】ネットワーク制御回路310は、フレーム
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
の送信時には、CPU313からCPUバス302、I
/Oコントローラ315、及びネットワーク命令/結果
バス303を介して入力される送信命令に基づいて、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、実メモリ307からバーチャルメ
モリコントローラ309及びネットワークデータ送信バ
ス305を介して送信されるべきメッセージデータを読
み出し、それを含む送信フレームを構築し、それを光フ
ァイバリング206に送出し、その送信結果を、ネット
ワーク命令/結果バス303、I/Oコントローラ31
5、及びCPUバス302を介してCPU313に通知
する。
【0040】また、ネットワーク制御回路310は、光
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
ファイバリング206からのフレームの受信時には、制
御メモリアクセスバス306を介して制御メモリ308
をアクセスしながら、その受信フレームを他のノード2
02へ中継する。又は、その受信フレーム内のメッセー
ジデータを取り出し、ネットワークデータ受信バス30
4からバーチャルメモリコントローラ309を介して実
メモリ307に格納し、その受信結果を、ネットワーク
命令/結果バス303、I/Oコントローラ315、及
びCPUバス302を介してCPU313に通知する。
【0041】CPU313は、CPUバス302に接続
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
され、動作開始時に、CPUバス302に接続されるE
PROM316からCPUバス302に接続されるプロ
グラムRAM317に書き込まれる制御プログラムに従
って動作する。
【0042】このCPU313は、CPUバス302、
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
バス結合部311、及び外部バス301を介して、プロ
セッサバスインタフェース312との間で、通信制御デ
ータの授受を行う。
【0043】また、CPU313は、フレームの送信時
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
には、CPUバス302、I/Oコントローラ315、
及びネットワーク命令/結果バス303を介して、送信
命令をネットワーク制御回路310へ出力し、その後、
ネットワーク制御回路310から、ネットワーク命令/
結果バス303、I/Oコントローラ315、及びCP
Uバス302を介して、送信結果通知を受け取る。逆
に、CPU313は、フレームの受信時には、ネットワ
ーク制御回路310から、ネットワーク命令/結果バス
303、I/Oコントローラ315、及びCPUバス3
02を介して、受信結果通知を受け取る。
【0044】更に、CPU313は、CPUバス302
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
を介して制御メモリ308内の各仮想ページアドレスの
ページ状態データ(通信状態を示すデータ)をアクセス
すると共に、CPUバス302及びバーチャルメモリコ
ントローラ309を介して制御メモリ308内の各仮想
ページアドレスの実ページアドレスデータ及び実メモリ
307をアクセスする。
【0045】I/Oコントローラ315は、CPUバス
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。この場
合、ネットワーク制御回路310からCPU313へ転
送される送信結果通知又は受信結果通知を一時保持する
I/Oコントローラ315内のFIFOの構造が本発明
に最も関連する。これについては、後述する。
302に接続され、外部の周辺装置が接続される周辺装
置バス318を収容する。また、I/Oコントローラ3
15は、前述したように、CPUバス302及びネット
ワーク命令/結果バス303を介して、CPU313と
ネットワーク制御回路310との間で授受される送信命
令、送信結果通知又は受信結果通知を中継する。この場
合、ネットワーク制御回路310からCPU313へ転
送される送信結果通知又は受信結果通知を一時保持する
I/Oコントローラ315内のFIFOの構造が本発明
に最も関連する。これについては、後述する。
【0046】更に、I/Oコントローラ315は、CP
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
U313が外部バス301をアクセスするアドレスをC
PUバス302に対して指定した場合に、制御線322
を介して#0のプロセッサバスインタフェース312に、
外部バスアクセス要求を出力する。
【0047】CPUバスアービタ314は、プロセッサ
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
バスインタフェース312から制御線321を介してC
PUバスアクセス要求(バスグラント要求)を受け取っ
た場合に、CPU313に対して制御線323を介して
バス使用要求(バスグラント要求)を出力し、CPU3
13から制御線323を介してバス使用許可(バスグラ
ントアクノリッジ)を受け取り、それに基づいてCPU
バスアクセス許可(バスグラントアクノリッジ)を制御
線321を介して#0のプロセッサバスインタフェース3
12に返す。
【0048】バーチャルメモリコントローラ309は、
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
プロセッサバスインタフェース312と実メモリ307
との間で外部バス301を介して授受されるデータ、C
PU313と実メモリ307又は制御メモリ308との
間でCPUバス302を介して授受されるデータ、ネッ
トワーク制御回路310と実メモリ307との間でネッ
トワークデータ受信バス304又はネットワークデータ
送信バス305を介して授受されるデータのスイッチン
グ制御及び競合制御を行う。
【0049】以上の構成を有する本発明の実施例の動作
について説明する。 <プロセッサ間通信の全体動作>今、図2及び図3にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
について説明する。 <プロセッサ間通信の全体動作>今、図2及び図3にお
いて、例えば#000のノード202内の1つのプロセッサ
204から、#***のノード202内の他の1つのプロセ
ッサ204にメッセージデータを送信する場合の全体動
作について説明する。
【0050】この場合に、#000のノード202内の1つ
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。メッセージ通信装置203間の通信方式 ここで、メッセージ通信装置203間のメッセージデー
タの通信には、ネットワーク仮想記憶方式という特別な
方式が適用される。
のプロセッサ204から送信されるメッセージデータ
は、プロセッサバス205を介してそのノード内のメッ
セージ通信装置203(以下、#000のメッセージ通信装
置203と呼ぶ)の実メモリ307に転送された後に、
#***のノード202内のメッセージ通信装置203(以
下、#***のメッセージ通信装置203と呼ぶ)の実メモ
リ307に送られ、その後、その実メモリ307からプ
ロセッサバス205を介して宛て先のプロセッサ204
に転送される。即ち、各メッセージ通信装置203の実
メモリ307は、通信バッファとして機能する。メッセージ通信装置203間の通信方式 ここで、メッセージ通信装置203間のメッセージデー
タの通信には、ネットワーク仮想記憶方式という特別な
方式が適用される。
【0051】まず、図2のネットワーク201全体で、
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
仮想記憶空間が定義される。この仮想記憶空間は、複数
の仮想ページに分割され、メッセージデータの通信はこ
の仮想ページを介して行われる。例えば、仮想記憶空間
は、0000〜FFFFページ(16進数)までの仮想ページア
ドレスに分割される。1つの仮想ページは、メッセージ
データの1単位であるパケットを十分に収容可能な固定
長(例えば8キロバイト長)のデータ長を有する。な
お、以下特に言及しないときは、仮想ページアドレス及
び口述する実ページアドレスは、16進数で表現する。
【0052】次に、この仮想記憶空間の所定ページ数毎
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
例えば16ページ毎に、ネットワーク201に接続され
る各ノード202のメッセージ通信装置203が割り当
てられる。例えば、0000〜000Fページには#000番目のノ
ード202のメッセージ通信装置203が割り当てら
れ、0010〜001Fページには#001番目のノード202のメ
ッセージ通信装置203が割り当てられ、以下同様にし
て、***0〜***Fページ及び%%%0〜%%%Fページ(3桁の *
及び %はそれぞれ0〜 Fの16進数のうち任意の数)に
は、それぞれ#***番目及び#%%%番目の各ノード202の
メッセージ通信装置203が割り当てられる。
【0053】従って、上述の例では、ネットワーク20
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
1には、#000〜#FFFまでの最大で3096台のメッセー
ジ通信装置203が接続可能である。一方、各メッセー
ジ通信装置203内の実メモリ307は、それぞれが上
述の仮想ページと同じデータ長を有する複数の実ページ
に分割される。実メモリ307のページ容量は、仮想記
憶空間のページ容量よりはるかに小さくてよく、例えば
64〜256ページ程度でよい。
【0054】次に、各メッセージ通信装置203の制御
メモリ308にはそれぞれ、図4に示されるように、全
仮想ページアドレス分の制御データが記憶される。各仮
想ページアドレスの制御データは、図4に示されるよう
に、その仮想ページアドレスに対応付けられる自メッセ
ージ通信装置203内の実メモリ307の実ページアド
レスデータと、その仮想ページアドレスの通信状態を示
すページ状態データとから構成されている。
メモリ308にはそれぞれ、図4に示されるように、全
仮想ページアドレス分の制御データが記憶される。各仮
想ページアドレスの制御データは、図4に示されるよう
に、その仮想ページアドレスに対応付けられる自メッセ
ージ通信装置203内の実メモリ307の実ページアド
レスデータと、その仮想ページアドレスの通信状態を示
すページ状態データとから構成されている。
【0055】そして、初期状態として、各ノード202
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
内のメッセージ通信装置203の制御メモリ308にお
いて、そのノード202に割り当てられている仮想ペー
ジアドレスには、CPU313のネットワーク用受信制
御機能によって、自メッセージ通信装置203の実メモ
リ307内の任意の空きページに設けられるネットワー
ク用受信バッファの実ページアドレスと、ページ状態と
して受信バッファ割付状態VPが、それぞれ予め書き込ま
れている。なお、ネットワーク用受信制御機能は、CP
U313がプログラムRAM317に記憶された制御プ
ログラムを実行することにより実現される。
【0056】例えば、#000のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図4に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている0000,0001,・・・ ,000Fペー
ジの各仮想ページアドレスには、図4に示されるよう
に、実メモリ307内のs,q,・・・,pの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0057】また、#***のメッセージ通信装置203の
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図4に示されるように、
実メモリ307内のv,u,・・・,tの各実ページアドレス
が書き込まれ、受信バッファ割付状態を示すページ状態
VPが書き込まれている。
制御メモリ308において、自メッセージ通信装置20
3に割り当てられている***0,***1,・・・ ,***Fページ
の各仮想ページアドレスには、図4に示されるように、
実メモリ307内のv,u,・・・,tの各実ページアドレス
が書き込まれ、受信バッファ割付状態を示すページ状態
VPが書き込まれている。
【0058】同様に、#%%%のメッセージ通信装置203
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図4に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
の制御メモリ308において、自メッセージ通信装置2
03に割り当てられている%%%0,%%%1,・・・ ,%%%Fペー
ジの各仮想ページアドレスには、図4に示されるよう
に、実メモリ307内のy,w,・・・,xの各実ページアド
レスが書き込まれ、受信バッファ割付状態を示すページ
状態VPが書き込まれている。
【0059】今、後述する転送動作により、例えば#000
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
のメッセージ通信装置203の実メモリ307内の、実
ページアドレスがr であるネットワーク用送信バッファ
(後述する)に、#000のノード202内の1つのプロセ
ッサ204からメッセージデータが転送されているもの
とする。
【0060】CPU313のネットワーク用送信制御機
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図4の例では、例えば仮想ページ
アドレス***2が決定される。なお、ネットワーク用送信
制御機能は、CPU313がプログラムRAM317に
記憶された制御プログラムを実行することにより実現さ
れる。
能は、CPUバス302及びバーチャルメモリコントロ
ーラ309を介して実メモリ307内のネットワーク用
送信バッファに格納されているメッセージデータのヘッ
ダ内の宛て先アドレス部を解析することによって、その
宛て先アドレスに対応するプロセッサ204が収容され
るノード202に割り当てられている仮想ページアドレ
スのうち、ページ状態がバッファ未割付状態NAとなって
いるものを決定する。図4の例では、例えば仮想ページ
アドレス***2が決定される。なお、ネットワーク用送信
制御機能は、CPU313がプログラムRAM317に
記憶された制御プログラムを実行することにより実現さ
れる。
【0061】次に、CPU313のネットワーク用送信
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図4の例では、例えば仮想ペー
ジアドレス***2に実ページアドレスr と送信状態SDが設
定される。
制御機能は、制御メモリ308内の上述の決定した仮想
ページアドレスに、上述のメッセージデータが格納され
ているネットワーク用送信バッファの実ページアドレス
を書き込み、ページ状態を、バッファ未割付状態NAから
送信状態SDに変更する。図4の例では、例えば仮想ペー
ジアドレス***2に実ページアドレスr と送信状態SDが設
定される。
【0062】そして、CPU313のネットワーク用送
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
信制御機能は、I/Oコントローラ315内の送信用F
IFOに、CPUバス302を介して、送信命令と共
に、上述の仮想ページアドレスと、上述のメッセージデ
ータの転送長を書き込む。
【0063】ネットワーク制御回路310は、I/Oコ
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
ントローラ315内の送信用FIFOから、ネットワー
ク命令/結果バス303を介して、上述の送信命令等を
読み出すと、その送信命令に付加されている仮想ページ
アドレスを、制御メモリアクセスバス306を介して制
御メモリ308に指定し、制御メモリ308から上述の
仮想ページアドレスに設定されている実ページアドレス
を読み出してバーチャルメモリコントローラ309内の
DMA転送用レジスタに設定する。
【0064】そして、ネットワーク制御回路310は、
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
バーチャルメモリコントローラ309に、送信されるべ
きメッセージデータが含まれる実メモリ307内の上記
実ページアドレスのページデータを、ネットワークデー
タ送信バス305を介してネットワーク制御回路310
にDMA転送させる。
【0065】ネットワーク制御回路310は、上述のペ
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
ージデータから送信命令に付加されているメッセージデ
ータの転送長に対応する分のメッセージデータを取り出
し、そのメッセージデータと送信命令に付加されている
仮想ページアドレス及びメッセージデータの転送長を含
む送信フレームを生成し、それを光ファイバリング20
6に送出する。なお、光ファイバリング206のフレー
ム伝送方式としては、トークンリングネットワーク方式
が採用され、ネットワーク制御回路310は、光ファイ
バリング206上を周回するフリートークンを獲得した
場合のみ送信フレームを送出することができる。
【0066】図4の例においては、#000のメッセージ通
信装置203から、仮想ページアドレス***2と実メモリ
307内の実ページアドレスr に格納されているメッセ
ージデータとを含む送信フレームが、光ファイバリング
206に送出される。
信装置203から、仮想ページアドレス***2と実メモリ
307内の実ページアドレスr に格納されているメッセ
ージデータとを含む送信フレームが、光ファイバリング
206に送出される。
【0067】上述の送信フレームは、光ファイバリング
206に接続されている他のノード202(図2参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
206に接続されている他のノード202(図2参照)
に順次転送される。各ノード202内のメッセージ通信
装置203のネットワーク制御回路310は、光ファイ
バリング206から上記送信フレームを取り込むと、そ
の送信フレームに格納されている仮想ページアドレスに
対応するページ状態を制御メモリアクセスバス306を
介して制御メモリ308から読み出し、そのページ状態
が受信バッファ割付状態VPであるか否か、即ち、その仮
想ページアドレスが自ノード202のメッセージ通信装
置203に割り当てられているか否か、又はそのページ
状態が送信状態SDであるか否か、即ち、その送信フレー
ムが自ネットワーク制御回路310が送出したものであ
るか否かを判別する。
【0068】ネットワーク制御回路310は、送信フレ
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
ームに格納されている仮想ページアドレスのページ状態
が受信バッファ割付状態VPであると判別した場合には、
送信フレームに格納されているメッセージデータを、以
下のようにして実メモリ307に取り込む。
【0069】即ち、ネットワーク制御回路310は、ま
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
ず、送信フレームに格納されている仮想ページアドレス
を、制御メモリアクセスバス306を介して制御メモリ
308に指定し、制御メモリ308から上述の仮想ペー
ジアドレスに設定されている実ページアドレスを読み出
してバーチャルメモリコントローラ309内のDMA転
送用レジスタに設定する。そして、ネットワーク制御回
路310は、バーチャルメモリコントローラ309に、
送信フレームに含まれるメッセージデータを、ネットワ
ークデータ受信バス304を介して実メモリ307内の
上述の実ページアドレスにDMA転送させる。
【0070】その後、ネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
送信フレームに格納されている仮想ページアドレスを、
制御メモリアクセスバス306を介して制御メモリ30
8に指定し、その仮想ページアドレスのページ状態を受
信バッファ割付状態VPから受信完了状態RDに変更する。
【0071】更に、ネットワーク制御回路310は、I
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
/Oコントローラ315内の受信用FIFOに、ネット
ワーク命令/結果バス303を介して、受信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスとメッセージデータの転送長を書き込む。
【0072】最後に、ネットワーク制御回路310は、
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
光ファイバリング206から受信した上述の送信フレー
ム中の応答領域に受信成功通知を書き込んだ後、その送
信フレームを再び光ファイバリング206に送出する。
【0073】例えば、図4の例では、#***のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPであると判別することによ
り、その送信フレームに格納されているメッセージデー
タを、制御メモリ308の仮想ページアドレス***2に設
定されている実ページアドレスu を有する実メモリ30
7内のネットワーク用受信バッファに取り込んだ後、制
御メモリ308の仮想ページアドレス***2のページ状態
を受信バッファ割付状態VPから受信完了状態RDに変更す
る。
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPであると判別することによ
り、その送信フレームに格納されているメッセージデー
タを、制御メモリ308の仮想ページアドレス***2に設
定されている実ページアドレスu を有する実メモリ30
7内のネットワーク用受信バッファに取り込んだ後、制
御メモリ308の仮想ページアドレス***2のページ状態
を受信バッファ割付状態VPから受信完了状態RDに変更す
る。
【0074】上述の受信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用受信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の受信結果通知を受け取ると、結果コー
ドが受信成功であるならば、受信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0075】上述のページ状態が受信完了状態RDである
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
ならば、CPU313のネットワーク用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用受信バッファから切り離しプロセッサ用送信待ち
バッファキューに接続する。
【0076】その後、CPU313のネットワーク用受
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
信制御機能は、CPUバス302及びバーチャルメモリ
コントローラ309を介して実メモリ307を制御し
て、任意の空きページをネットワーク用受信バッファに
接続し、更に、上述の受信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスに、上述の
空きページの実ページアドレスと、ページ状態として受
信バッファ割付状態VPを、それぞれ書き込む。
【0077】これ以後、実メモリ307内のプロセッサ
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
用送信待ちバッファキューに対する処理は、CPU31
3のネットワーク用受信制御機能から後述するプロセッ
サ用送信制御機能に引き渡される。
【0078】一方、ネットワーク制御回路310は、送
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
信フレームに格納されている仮想ページアドレスに対応
するページ状態を制御メモリ308から読み出した結
果、そのページ状態が受信バッファ割付状態VPでも送信
状態SDでもないと判別した場合には、その送信フレーム
をそのまま光ファイバリング206に送出する。
【0079】例えば、図4の例では、#%%%のメッセージ
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPでも送信状態SDでもないと
判別することにより、その送信フレームをそのまま光フ
ァイバリング206に送出する。
通信装置203のネットワーク制御回路310は、#000
のノード202からの送信フレームに格納されている仮
想ページアドレス***2の制御メモリ308上のページ状
態が受信バッファ割付状態VPでも送信状態SDでもないと
判別することにより、その送信フレームをそのまま光フ
ァイバリング206に送出する。
【0080】上述のようにして光ファイバリング206
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
上を順次転送された送信フレームは、最後に送信元のノ
ード202内のメッセージ通信装置203のネットワー
ク制御回路310に戻る。
【0081】送信元のネットワーク制御回路310は、
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
送信フレームに格納されている仮想ページアドレスに対
応するページ状態を制御メモリ308から読み出した結
果、それが送信状態SDであると判別することによって、
その送信フレームが自ネットワーク制御回路310が送
出した送信フレームであることを判別する。
【0082】この場合に、ネットワーク制御回路310
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
は、受信した送信フレームの応答領域に受信成功通知が
書き込まれていることを確認した後に、制御メモリアク
セスバス306を介して、送信フレームに格納されてい
る仮想ページアドレスに対応する制御メモリ308のペ
ージ状態を、送信状態SDから送信完了状態SCに変更す
る。
【0083】そして、ネットワーク制御回路310は、
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
I/Oコントローラ315内の受信用FIFOに、ネッ
トワーク命令/結果バス303を介し、送信の成否を示
す結果コードと共に、送信フレームから抽出した仮想ペ
ージアドレスを書き込む。
【0084】上述の送信結果通知は、CPU313によ
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
り、CPUバス302を介して受信される。即ち、CP
U313のネットワーク用送信制御機能は、CPUバス
302を介してI/Oコントローラ315内の受信用F
IFOから上述の送信結果通知を受け取ると、結果コー
ドが送信成功であるならば、送信結果通知の一部である
仮想ページアドレスをCPUバス302を介して制御メ
モリ308に指定し、そのページ状態と実ページアドレ
スを読み出す。
【0085】上述のページ状態が送信完了状態SCである
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
ならば、CPU313のネットワーク用送信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の実ページアドレスで指定される実ページをネットワ
ーク用送信バッファから切り離し空きページとする。
【0086】その後、CPU313のネットワーク用送
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
信制御機能は、上述の送信結果通知の一部である仮想ペ
ージアドレスでCPUバス302を介して制御メモリ3
08をアクセスし、その仮想ページアドレスのページ状
態として、バッファ未割付状態NAを書き込む。
【0087】以上のように、ネットワーク201(図2
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
参照)上において、1つの仮想記憶空間が定義され、こ
の空間を構成する固定長のデータ長を有する仮想ページ
が各メッセージ通信装置203に割り当てられる。そし
て、メッセージ通信装置203間のメッセージデータの
通信は、この仮想ページを使用して行われる。この結
果、通常のパケット通信で行われているブロック化制
御、順序制御が不要となる。
【0088】また、光ファイバリング206上の各ノー
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
ド202内のメッセージ通信装置203のネットワーク
制御回路310は、送信フレームを受信すると、その送
信フレームに格納されている仮想ページアドレスで制御
メモリ308上のページ状態をアクセスすることによっ
て、受信した送信フレームを高速に処理することができ
る。
【0089】加えて、光ファイバリング206上を転送
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
される送信フレームには応答領域が設けられ、受信側の
ノード202内のメッセージ通信装置203のネットワ
ーク制御回路310は、送信フレームの受信結果を送信
フレームの応答領域に書き込み、それを再び光ファイバ
リング206に送出する。従って、この送信フレームが
光ファイバリング206上を転送され送信元に戻ってく
るまでに、メッセージデータの送信処理が完了すること
になり、受信側から送信元への応答を別のフレームを用
いて通知する必要がない。この結果、通信プロトコルを
簡略なものにすることができ、高速な応答処理が可能と
なる。
【0090】更に、メッセージ通信装置203間のメッ
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。送信元におけるプロセッサ204からメッセージ通信装
置203へのメッセージデータの転送動作 次に、送信元のノード202(図4の例では#000のノー
ド202)内の1つのプロセッサ204からそのノード
内のメッセージ通信装置203の実メモリ307に、メ
ッセージデータが転送される場合の動作について説明す
る。
セージデータの通信は、メッセージ通信装置203内の
ネットワーク制御回路310が制御メモリ308をアク
セスしながら実メモリ307を使用して行い、プロセッ
サ204とメッセージ通信装置203間のメッセージデ
ータの通信は、後述するように、メッセージ通信装置2
03内のプロセッサバスインタフェース312が、上述
のネットワーク制御回路310の動作とは独立して、実
メモリ307を使用して行う。更に、実メモリ307上
の実ページアドレスに格納されたメッセージデータと仮
想記憶空間上の仮想ページアドレスとの対応付けは、後
述するように、CPU313がメッセージデータに付加
されたヘッダ内の宛て先アドレスに基づいて行う。従っ
て、プロセッサ204とメッセージ通信装置203間、
メッセージ通信装置203とメッセージ通信装置203
間の処理を効率良く高速に実行することが可能となる。送信元におけるプロセッサ204からメッセージ通信装
置203へのメッセージデータの転送動作 次に、送信元のノード202(図4の例では#000のノー
ド202)内の1つのプロセッサ204からそのノード
内のメッセージ通信装置203の実メモリ307に、メ
ッセージデータが転送される場合の動作について説明す
る。
【0091】まず、CPU313のプロセッサ用受信制
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
御機能は、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307をアクセスする
ことにより、実メモリ307において、プロセッサ用受
信バッファキューに空きバッファキューに接続されてい
る空きバッファを接続する。なお、プロセッサ用受信制
御機能は、CPU313がプログラムRAM317に記
憶された制御プログラムを実行することにより実現され
る機能である。
【0092】そして、CPU313のプロセッサ用受信
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
制御機能は、CPUバス302、バス結合部311、及
び外部バス301を介して、例えば#0のプロセッサバス
インタフェース312を起動すると共に、そのインタフ
ェース312に対して上述のプロセッサ用受信バッファ
キューの先頭アドレスを通知する。
【0093】プロセッサバスインタフェース312は、
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
プロセッサ204からプロセッサバス205を介して転
送されてきたメッセージデータを受信し、上記先頭アド
レスを受信開始アドレスとしてバッファアドレスを順次
更新しながら、上述の受信されたメッセージデータを、
外部バス301及びバーチャルメモリコントローラ30
9を介して、実メモリ307内のプロセッサ用受信バッ
ファキューに接続された空きバッファに、順次転送す
る。
【0094】プロセッサバスインタフェース312は、
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなると、自動的に停止し、その旨を外部バス
301、バス結合部311、及びCPUバス302を介
してCPU313に通知する。
プロセッサ用受信バッファキューに接続される空きバッ
ファがなくなると、自動的に停止し、その旨を外部バス
301、バス結合部311、及びCPUバス302を介
してCPU313に通知する。
【0095】CPU313のプロセッサ用受信制御機能
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図4の例では#000のメッセージ通信装
置203)内の実メモリ307から、宛て先のプロセッ
サ204が収容されるノード202のメッセージ通信装
置203(図4の例では#***のメッセージ通信装置20
3)内の実メモリ307への、メッセージデータの転送
動作が実行される。受信側におけるメッセージ通信装置203からプロセッ
サ204へのメッセージデータの転送動作 次に、受信側のノード202(図4の例では#***のノー
ド202)内のメッセージ通信装置203の実メモリ3
07からそのノード202内の1つのプロセッサ204
に、メッセージデータが転送される場合の動作について
説明する。
は、まず、CPUバス302及びバーチャルメモリコン
トローラ309を介して実メモリ307を制御して、上
述の受信済のバッファをプロセッサ用受信バッファキュ
ーから切り離しネットワーク用送信バッファに接続す
る。これ以後、実メモリ307内のネットワーク用送信
バッファに対する処理は、CPU313のプロセッサ用
受信制御機能から前述したネットワーク用送信制御機能
に引き渡され、前述したメッセージ通信装置203間の
通信方式に従って、送信元のノード202のメッセージ
通信装置203(図4の例では#000のメッセージ通信装
置203)内の実メモリ307から、宛て先のプロセッ
サ204が収容されるノード202のメッセージ通信装
置203(図4の例では#***のメッセージ通信装置20
3)内の実メモリ307への、メッセージデータの転送
動作が実行される。受信側におけるメッセージ通信装置203からプロセッ
サ204へのメッセージデータの転送動作 次に、受信側のノード202(図4の例では#***のノー
ド202)内のメッセージ通信装置203の実メモリ3
07からそのノード202内の1つのプロセッサ204
に、メッセージデータが転送される場合の動作について
説明する。
【0096】ネットワーク制御回路310が送信フレー
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
ムの受信に成功すると、前述したように、CPU313
のネットワーク用受信制御機能が、受信されたメッセー
ジデータを実メモリ307内のプロセッサ用送信待ちバ
ッファキューに接続する。
【0097】これに対して、CPU313のプロセッサ
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
用送信制御機能は、CPUバス302、バス結合部31
1、及び外部バス301を介して、例えば#0のプロセッ
サバスインタフェース312を起動すると共に、そのイ
ンタフェース312に対して上述のプロセッサ用送信待
ちバッファキューの先頭アドレスを通知する。
【0098】プロセッサバスインタフェース312は、
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <送信/受信結果通知を処理するI/Oコントローラの
部分の説明>次に、図3のI/Oコントローラ315の
構成のうち、ネットワーク制御回路310からCPU3
13へ転送される前述した送信結果通知又は受信結果通
知を一時保持するI/Oコントローラ315内のFIF
Oにつき説明する。この部分の構成が本発明に最も関連
する。なお、CPU313からネットワーク制御回路3
10へ転送される送信命令を保持するためのI/Oコン
トローラ315内のFIFOに対しても本発明を適用す
ることが可能であるが、その構成については省略する。
上記先頭アドレスを送信開始アドレスとしてバッファア
ドレスを順次更新しながら、外部バス301及びバーチ
ャルメモリコントローラ309を介して、実メモリ30
7内のプロセッサ用送信待ちバッファキューに接続され
たバッファに格納されているメッセージデータを順次読
み出して、そのメッセージデータのヘッダ内の宛て先ア
ドレス部を解析しながら、そのメッセージデータをプロ
セッサバス205を介して宛て先のプロセッサ204に
転送する。 <送信/受信結果通知を処理するI/Oコントローラの
部分の説明>次に、図3のI/Oコントローラ315の
構成のうち、ネットワーク制御回路310からCPU3
13へ転送される前述した送信結果通知又は受信結果通
知を一時保持するI/Oコントローラ315内のFIF
Oにつき説明する。この部分の構成が本発明に最も関連
する。なお、CPU313からネットワーク制御回路3
10へ転送される送信命令を保持するためのI/Oコン
トローラ315内のFIFOに対しても本発明を適用す
ることが可能であるが、その構成については省略する。
【0099】図5は、上述の送信結果通知又は受信結果
通知を一時保持するI/Oコントローラ315内に構成
されるFIFOの構成図である。図5において、4つの
レジスタR0 〜R3 には、ネットワーク制御回路310
からネットワーク命令/結果バス203のデータバスを
介して前述した送信結果通知又は受信結果通知のデータ
が書き込まれる。
通知を一時保持するI/Oコントローラ315内に構成
されるFIFOの構成図である。図5において、4つの
レジスタR0 〜R3 には、ネットワーク制御回路310
からネットワーク命令/結果バス203のデータバスを
介して前述した送信結果通知又は受信結果通知のデータ
が書き込まれる。
【0100】これに対して、CPU313は、CPUバ
ス302のアドレスバスを介してアドレスデコーダ50
9にレジスタアドレスをセットすることにより、セレク
タ510、511、バッファ513からCPUバス30
2のデータバスを介して、レジスタR0 〜R3 の内容の
うち任意の内容を読み出すことができ、この内容が前述
したCPU313のネットワーク用送信制御機能又はネ
ットワーク用受信制御機能に引き渡される。
ス302のアドレスバスを介してアドレスデコーダ50
9にレジスタアドレスをセットすることにより、セレク
タ510、511、バッファ513からCPUバス30
2のデータバスを介して、レジスタR0 〜R3 の内容の
うち任意の内容を読み出すことができ、この内容が前述
したCPU313のネットワーク用送信制御機能又はネ
ットワーク用受信制御機能に引き渡される。
【0101】タイミング生成回路501は、ネットワー
ク制御回路310からネットワーク命令/結果バス20
3の制御バスに出力されたデータの書込みを指示する制
御信号に基づき、レジスタR0 〜R3 に書込みを行うた
めの書込み信号FIFOWを生成する。
ク制御回路310からネットワーク命令/結果バス20
3の制御バスに出力されたデータの書込みを指示する制
御信号に基づき、レジスタR0 〜R3 に書込みを行うた
めの書込み信号FIFOWを生成する。
【0102】書込み用2ビットカウンタ502は、レジ
スタR0 〜R3 のうちデータの書込みが行われるレジス
タを決定するためのカウンタであって、そのカウント値
は、0、1、2、3と増加した後再び0に戻るように変
化する。従って、ネットワーク制御回路310からのデ
ータの書込みは、レジスタR0 、R1 、R2 、R3 、R
0 、・・・というように、順次循環的に行われる。
スタR0 〜R3 のうちデータの書込みが行われるレジス
タを決定するためのカウンタであって、そのカウント値
は、0、1、2、3と増加した後再び0に戻るように変
化する。従って、ネットワーク制御回路310からのデ
ータの書込みは、レジスタR0 、R1 、R2 、R3 、R
0 、・・・というように、順次循環的に行われる。
【0103】書込み信号FIFOWのアサートによっ
て、書込み用2ビットカウンタ502のカウント値が1
増加してXからX+1に変化し、増加する前のカウント
値X(Xは0以上3以下の任意の数。以下、Xは添え字
としても使用される。)に応じたデコーダ503の出力
WDECX が、アサート状態からネゲート状態に変化す
る。
て、書込み用2ビットカウンタ502のカウント値が1
増加してXからX+1に変化し、増加する前のカウント
値X(Xは0以上3以下の任意の数。以下、Xは添え字
としても使用される。)に応じたデコーダ503の出力
WDECX が、アサート状態からネゲート状態に変化す
る。
【0104】この変化のタイミングで、レジスタRX に
ネットワーク制御回路310から前述した送信結果通知
又は受信結果通知のデータが書き込まれる。書込み用2
ビットカウンタ502の値が1増加した結果、その増加
したカウント値に応じたデコーダ503の出力WDEC
X+1 がアサートされる。但し、X=3のときには、WD
EC3 がネゲートされると同時にWDEC0 がアサート
される。
ネットワーク制御回路310から前述した送信結果通知
又は受信結果通知のデータが書き込まれる。書込み用2
ビットカウンタ502の値が1増加した結果、その増加
したカウント値に応じたデコーダ503の出力WDEC
X+1 がアサートされる。但し、X=3のときには、WD
EC3 がネゲートされると同時にWDEC0 がアサート
される。
【0105】また、ネゲートされる直前のデコーダ50
3の出力WDECX が入力する#Xのフラグ回路504内
のD−フリップフロップD−FFX に、書込み信号FI
FOWがアサートされるタイミングで、論理“1”の信
号がセットされる。
3の出力WDECX が入力する#Xのフラグ回路504内
のD−フリップフロップD−FFX に、書込み信号FI
FOWがアサートされるタイミングで、論理“1”の信
号がセットされる。
【0106】このD−FFX の内容は、CPU313か
らCPUバス302のアドレスバスを介してレジスタア
ドレスが指定されアドレスデコーダ509がレジスタR
X を指定するデコード出力RDECX をアサートしたタ
イミングで、論理“0”に戻される。
らCPUバス302のアドレスバスを介してレジスタア
ドレスが指定されアドレスデコーダ509がレジスタR
X を指定するデコード出力RDECX をアサートしたタ
イミングで、論理“0”に戻される。
【0107】即ち、D−FFX は、それにセットされて
いる信号の論理が“1”である場合に、レジスタRX に
は、ネットワーク制御回路310が書き込み、CPU3
13がまだ読んでいない有効データが存在することを示
しており、それにセットされている信号の論理が“1”
である場合に、レジスタRX には有効データは存在しな
いことを示している。
いる信号の論理が“1”である場合に、レジスタRX に
は、ネットワーク制御回路310が書き込み、CPU3
13がまだ読んでいない有効データが存在することを示
しており、それにセットされている信号の論理が“1”
である場合に、レジスタRX には有効データは存在しな
いことを示している。
【0108】#Xのフラグ回路504からは、D−FFX
の出力DFFX と、カウントチェック用の値count
X が出力される。countX の値は、後述するアドレ
スデコーダ509からのデコード出力RDECX の値と
D−FFX の出力DFFX の値によって決定される。こ
れについては、後述する。
の出力DFFX と、カウントチェック用の値count
X が出力される。countX の値は、後述するアドレ
スデコーダ509からのデコード出力RDECX の値と
D−FFX の出力DFFX の値によって決定される。こ
れについては、後述する。
【0109】カウントチェック回路506内の3ビット
有効データカウンタ505は、レジスタR0 〜R3 にお
けるデータのオーバーフローを検出するためのカウンタ
である。
有効データカウンタ505は、レジスタR0 〜R3 にお
けるデータのオーバーフローを検出するためのカウンタ
である。
【0110】この3ビット有効データカウンタ505の
カウント値は、書込み信号FIFOWがアサートされレ
ジスタRX へのデータの書込みが行われる毎に1増加
し、CPU313からCPUバス302のアドレスバス
を介してレジスタアドレスが指定され、アドレスデコー
ダ509がデコード出力RDECX を出力する毎に、そ
こから出力される読出し信号FIFORに基づいて1減
少する。
カウント値は、書込み信号FIFOWがアサートされレ
ジスタRX へのデータの書込みが行われる毎に1増加
し、CPU313からCPUバス302のアドレスバス
を介してレジスタアドレスが指定され、アドレスデコー
ダ509がデコード出力RDECX を出力する毎に、そ
こから出力される読出し信号FIFORに基づいて1減
少する。
【0111】従って、この3ビット有効データカウンタ
505の値が4を越えると、レジスタRX の内容がCP
U313によって読み出される前にネットワーク制御回
路310からレジスタRX に上書きがされてしまったこ
とになる。
505の値が4を越えると、レジスタRX の内容がCP
U313によって読み出される前にネットワーク制御回
路310からレジスタRX に上書きがされてしまったこ
とになる。
【0112】カウントチェック回路506は、3ビット
有効データカウンタ505の値が4を越えたことを検出
すると、エラー検出信号thruをアサートする。一
方、#Xのフラグ回路504内のD−FFX の出力DFF
X の論理がレジスタRX に有効なデータが書き込まれて
いない状態を示す論理“0”である場合に、CPU31
3がレジスタRX の内容を読み出そうとしてそれをアク
セスすることによって、アドレスデコーダ509のデコ
ード出力RDECX がアサートされると、#Xのフラグ回
路504は、カウントチェック用出力countX をア
サート状態からネゲート状態に変化させる。
有効データカウンタ505の値が4を越えたことを検出
すると、エラー検出信号thruをアサートする。一
方、#Xのフラグ回路504内のD−FFX の出力DFF
X の論理がレジスタRX に有効なデータが書き込まれて
いない状態を示す論理“0”である場合に、CPU31
3がレジスタRX の内容を読み出そうとしてそれをアク
セスすることによって、アドレスデコーダ509のデコ
ード出力RDECX がアサートされると、#Xのフラグ回
路504は、カウントチェック用出力countX をア
サート状態からネゲート状態に変化させる。
【0113】この結果、カウントチェック回路506
は、このネゲート状態に変化したカウントチェック用出
力countX に基づいて、エラー検出信号thruを
アサートする。
は、このネゲート状態に変化したカウントチェック用出
力countX に基づいて、エラー検出信号thruを
アサートする。
【0114】エラー検出信号thruがアサートされる
と、セレクタ511は、セレクタ510の出力ではな
く、レジスタ512に保持されているオール“1”の不
正パターンを選択し、バッファ513を介してCPUバ
ス302のデータバスに出力する。このオール“1”の
不正パターンは、ネットワーク制御回路310からレジ
スタR0 〜R3 には書き込まれないデータパターンであ
るとする。
と、セレクタ511は、セレクタ510の出力ではな
く、レジスタ512に保持されているオール“1”の不
正パターンを選択し、バッファ513を介してCPUバ
ス302のデータバスに出力する。このオール“1”の
不正パターンは、ネットワーク制御回路310からレジ
スタR0 〜R3 には書き込まれないデータパターンであ
るとする。
【0115】CPU313は、この不正パターンを検出
することによって、I/Oコントローラ315内のFI
FOにおいて不正アクセスが発生したことを知ることが
できる。
することによって、I/Oコントローラ315内のFI
FOにおいて不正アクセスが発生したことを知ることが
できる。
【0116】CPU313は、I/Oコントローラ31
5内のレジスタR0 〜R3 の内容を読み出す場合には、
例えば図6の動作フローチャートで示されるデータ受信
プログラムを実行する。このプログラムは、図3のプロ
グラムRAM317に記憶されている。
5内のレジスタR0 〜R3 の内容を読み出す場合には、
例えば図6の動作フローチャートで示されるデータ受信
プログラムを実行する。このプログラムは、図3のプロ
グラムRAM317に記憶されている。
【0117】まず、CPU313は、CPUバス302
のアドレスバスを介してアドレスデコーダ509に、例
えばレジスタR0 をアクセスするためのレジスタアドレ
スをセットし、CPUバス302の制御バスに読出し指
示を出力する(ステップS601)。
のアドレスバスを介してアドレスデコーダ509に、例
えばレジスタR0 をアクセスするためのレジスタアドレ
スをセットし、CPUバス302の制御バスに読出し指
示を出力する(ステップS601)。
【0118】制御回路507は、CPU313からの上
述の読出し指示が発生すると、内部のアービタ回路50
8において、書込み信号FIFOWをチェックすること
によって、CPU313からの読出し指示とネットワー
ク制御回路310からの書込み指示が同時に発生してい
ないか否かを判定し、アクセスの競合が発生した場合に
はその調停を行う。
述の読出し指示が発生すると、内部のアービタ回路50
8において、書込み信号FIFOWをチェックすること
によって、CPU313からの読出し指示とネットワー
ク制御回路310からの書込み指示が同時に発生してい
ないか否かを判定し、アクセスの競合が発生した場合に
はその調停を行う。
【0119】制御回路507がCPU313からの読出
し指示を受け付けると、アドレスデコーダ509からセ
レクタ510に、デコード出力RDEC0 が出力され、
セレクタ510は、レジスタR0 の出力を選択する。
し指示を受け付けると、アドレスデコーダ509からセ
レクタ510に、デコード出力RDEC0 が出力され、
セレクタ510は、レジスタR0 の出力を選択する。
【0120】この結果、上述のCPU313からのアク
セスが不正アクセスでなければ、レジスタR0 の出力
が、セレクタ510、511、バッファ513からCP
Uバス302のデータバスに出力される。一方、上述の
CPU313からのアクセスが不正アクセスである場合
には、前述したように、エラー検出信号thruがアサ
ートされることにより、セレクタ511は、セレクタ5
10の出力ではなく、レジスタ512に保持されている
オール“1”の不正パターンを選択し、バッファ513
を介してCPUバス302のデータバスに出力する。
セスが不正アクセスでなければ、レジスタR0 の出力
が、セレクタ510、511、バッファ513からCP
Uバス302のデータバスに出力される。一方、上述の
CPU313からのアクセスが不正アクセスである場合
には、前述したように、エラー検出信号thruがアサ
ートされることにより、セレクタ511は、セレクタ5
10の出力ではなく、レジスタ512に保持されている
オール“1”の不正パターンを選択し、バッファ513
を介してCPUバス302のデータバスに出力する。
【0121】CPU313は、上述のCPUバス302
のデータバスに出力されたレジスタの内容を読み出す
(ステップS602)。続いて、CPU313は、上述
のデータが、正しいデータであるか否か、即ち不正パタ
ーンであるか否かを判別する(ステップS602)。
のデータバスに出力されたレジスタの内容を読み出す
(ステップS602)。続いて、CPU313は、上述
のデータが、正しいデータであるか否か、即ち不正パタ
ーンであるか否かを判別する(ステップS602)。
【0122】そのデータが不正パターンでなければ、レ
ジスタアドレスを1増加させ、CPUバス302のアド
レスバスを介してアドレスデコーダ509に、例えば次
のレジスタR1 をアクセスするためのレジスタアドレス
をセットし、CPUバス302の制御バスに読出し指示
を出力して、そのレジスタをアクセスする(ステップS
604→S602)。なお、前回のレジスタアドレスが
レジスタR3 をアクセスするアドレスであった場合は、
次回のレジスタアドレスは例えばレジスタR0をアクセ
スするアドレスとされる。
ジスタアドレスを1増加させ、CPUバス302のアド
レスバスを介してアドレスデコーダ509に、例えば次
のレジスタR1 をアクセスするためのレジスタアドレス
をセットし、CPUバス302の制御バスに読出し指示
を出力して、そのレジスタをアクセスする(ステップS
604→S602)。なお、前回のレジスタアドレスが
レジスタR3 をアクセスするアドレスであった場合は、
次回のレジスタアドレスは例えばレジスタR0をアクセ
スするアドレスとされる。
【0123】一方、読み出したデータが不正パターンで
ある場合には、CPU313は、CPUバス302のア
ドレスバスを介してアドレスデコーダ509に、カウン
トチェック回路506をアクセスするアドレスを指定す
ることにより、アドレスデコーダ509からの特には図
示しないデコード出力に基づいて、セレクタ510、5
11、バッファ513からCPUバス302のデータバ
スを介して、カウントチェック回路506内の3ビット
有効データカウンタ505のカウント値を取得し、この
カウント値が4を越えているか否か、即ち、オーバーフ
ローが発生しているか否かを判別する(ステップS60
5)。
ある場合には、CPU313は、CPUバス302のア
ドレスバスを介してアドレスデコーダ509に、カウン
トチェック回路506をアクセスするアドレスを指定す
ることにより、アドレスデコーダ509からの特には図
示しないデコード出力に基づいて、セレクタ510、5
11、バッファ513からCPUバス302のデータバ
スを介して、カウントチェック回路506内の3ビット
有効データカウンタ505のカウント値を取得し、この
カウント値が4を越えているか否か、即ち、オーバーフ
ローが発生しているか否かを判別する(ステップS60
5)。
【0124】ステップS605において、オーバーフロ
ーが発生していると判別された場合には、レジスタR0
〜R3 の内容がCPU313によって読み出される前に
ネットワーク制御回路310からレジスタR0 〜R3 の
何れかに上書きがされてしまっているため、CPU31
3は、ネットワーク制御回路310に前述した送信結果
通知又は受信結果通知のデータの再送要求等のエラー処
理を実行する(ステップS606)。
ーが発生していると判別された場合には、レジスタR0
〜R3 の内容がCPU313によって読み出される前に
ネットワーク制御回路310からレジスタR0 〜R3 の
何れかに上書きがされてしまっているため、CPU31
3は、ネットワーク制御回路310に前述した送信結果
通知又は受信結果通知のデータの再送要求等のエラー処
理を実行する(ステップS606)。
【0125】一方、ステップS605において、オーバ
ーフローが発生していないと判別された場合には、CP
U313は、自分がレジスタRX に有効なデータが書き
込まれていない状態でそのレジスタの内容を読み出そう
としたと判別できるため、適当なタイミングをとった後
に、そのレジスタを再びアクセスする(ステップS60
5→S602)。
ーフローが発生していないと判別された場合には、CP
U313は、自分がレジスタRX に有効なデータが書き
込まれていない状態でそのレジスタの内容を読み出そう
としたと判別できるため、適当なタイミングをとった後
に、そのレジスタを再びアクセスする(ステップS60
5→S602)。
【0126】なお、CPU313は、CPUバス302
のアドレスバスを介してアドレスデコーダ509に、#X
のフラグ回路504内のD−FFX をアクセスするアド
レスを指定することにより、アドレスデコーダ509か
らの特には図示しないデコード出力に基づいて、セレク
タ510、511、バッファ513からCPUバス30
2のデータバスを介して、D−FFX の出力DFFX の
値を随時読み出すことができる。
のアドレスバスを介してアドレスデコーダ509に、#X
のフラグ回路504内のD−FFX をアクセスするアド
レスを指定することにより、アドレスデコーダ509か
らの特には図示しないデコード出力に基づいて、セレク
タ510、511、バッファ513からCPUバス30
2のデータバスを介して、D−FFX の出力DFFX の
値を随時読み出すことができる。
【0127】また、CPU313は、例えばステップS
606のエラー処理において、CPUバス302のアド
レスバスを介してリセット用アドレスを出力することに
よって、アドレスデコーダ509からの特には図示しな
い出力に基づいて、#0〜#3のフラグ回路504内のD−
FF0 〜D−FF3 の内容と、書込み用2ビットカウン
タ502の内容、及びカウントチェック回路506内の
3ビット有効データカウンタ505の内容を、それぞれ
リセットすることができる。この状態におけるデコーダ
503の出力においては、WDEC0 がアサートされ
る。
606のエラー処理において、CPUバス302のアド
レスバスを介してリセット用アドレスを出力することに
よって、アドレスデコーダ509からの特には図示しな
い出力に基づいて、#0〜#3のフラグ回路504内のD−
FF0 〜D−FF3 の内容と、書込み用2ビットカウン
タ502の内容、及びカウントチェック回路506内の
3ビット有効データカウンタ505の内容を、それぞれ
リセットすることができる。この状態におけるデコーダ
503の出力においては、WDEC0 がアサートされ
る。
【0128】以上のCPU313によるI/Oコントロ
ーラ315のアクセス形態においては、図6に示される
ように、CPU313は、最初にレジスタR0 〜R3 の
内容をアクセスし、データが不正パターンであったな
ら、更に、オーバーフローが発生しているか否かをチェ
ックしている。
ーラ315のアクセス形態においては、図6に示される
ように、CPU313は、最初にレジスタR0 〜R3 の
内容をアクセスし、データが不正パターンであったな
ら、更に、オーバーフローが発生しているか否かをチェ
ックしている。
【0129】このアクセス形態は、ネットワーク制御回
路310からの送信結果通知又は受信結果通知のデータ
の書込みの頻度が高い場合においては、CPU313が
レジスタRX をアクセスしたときにそこに読めるデータ
が存在する可能性が高いために、FIFOへのアクセス
がデータあたり約1回になる。従って、このアクセス形
態は、CPU313からFIFOへのアクセスに時間が
かかる場合に特に有効である。
路310からの送信結果通知又は受信結果通知のデータ
の書込みの頻度が高い場合においては、CPU313が
レジスタRX をアクセスしたときにそこに読めるデータ
が存在する可能性が高いために、FIFOへのアクセス
がデータあたり約1回になる。従って、このアクセス形
態は、CPU313からFIFOへのアクセスに時間が
かかる場合に特に有効である。
【0130】これに対して、ネットワーク制御回路31
0からデータがあまり書き込まれず、上述のアクセス形
態でレジスタRX をアクセスすると、レジスタRX にデ
ータが存在せずにそのレジスタに対応する#Xのフラグ回
路504内のD−FFX の出力値DFFX の論理が
“0”となる頻度が高くなる場合には、先にD−FFX
の内容を読み出し、出力値DFFX の論理が“1”とな
っている場合にそれに対応するレジスタRX をアクセス
するようにすれば、無駄なアクセスをなくすことができ
る。
0からデータがあまり書き込まれず、上述のアクセス形
態でレジスタRX をアクセスすると、レジスタRX にデ
ータが存在せずにそのレジスタに対応する#Xのフラグ回
路504内のD−FFX の出力値DFFX の論理が
“0”となる頻度が高くなる場合には、先にD−FFX
の内容を読み出し、出力値DFFX の論理が“1”とな
っている場合にそれに対応するレジスタRX をアクセス
するようにすれば、無駄なアクセスをなくすことができ
る。
【0131】また、図5に示される実施例では、レジス
タ512に予めオール“1”の不正パターンが保持され
ているが、CPU313がこのレジスタ512に任意の
不正パターンを書き込めるように構成することにより、
書込み側の装置(ネットワーク制御回路310)が変更
された場合においても、その書込み側の装置が出力しな
いような不正パターンを設定することができる。
タ512に予めオール“1”の不正パターンが保持され
ているが、CPU313がこのレジスタ512に任意の
不正パターンを書き込めるように構成することにより、
書込み側の装置(ネットワーク制御回路310)が変更
された場合においても、その書込み側の装置が出力しな
いような不正パターンを設定することができる。
【0132】更に、不正パターンは、レジスタ512を
介して出力されるが、レジスタ512をなくして、レジ
スタ510に直接このレジスタ512の出力を選択させ
るように構成してもよい。
介して出力されるが、レジスタ512をなくして、レジ
スタ510に直接このレジスタ512の出力を選択させ
るように構成してもよい。
【0133】
【発明の効果】本発明によれば、読出し装置は、有効デ
ータカウンタ手段のカウント値を読み出すことにより、
ファーストインファーストアウトバッファにおいてデー
タのオーバーフローが発生したことを知ることが可能と
なる。
ータカウンタ手段のカウント値を読み出すことにより、
ファーストインファーストアウトバッファにおいてデー
タのオーバーフローが発生したことを知ることが可能と
なる。
【0134】また、読出し装置は、フラグ保持手段の各
フラグ値を読み出すことにより、ファーストインファー
ストアウトバッファ内の有効な転送データへのアクセス
が行われたか否かを知ることが可能となる。
フラグ値を読み出すことにより、ファーストインファー
ストアウトバッファ内の有効な転送データへのアクセス
が行われたか否かを知ることが可能となる。
【0135】更に、上述のような不正なアクセスが行わ
れた場合に不正データ出力手段が不正データを出力する
ように構成されることにより、読出し装置は、ファース
トインファーストアウトバッファから出力されるアクセ
ス結果が不正データであるか否かを判別することで、簡
単に不正アクセスを判別することが可能となる。
れた場合に不正データ出力手段が不正データを出力する
ように構成されることにより、読出し装置は、ファース
トインファーストアウトバッファから出力されるアクセ
ス結果が不正データであるか否かを判別することで、簡
単に不正アクセスを判別することが可能となる。
【0136】一方、読出し装置は、ファーストインファ
ーストアウトバッファをアクセスする場合に、まず、レ
ジスタ手段へのアクセスを行った結果出力される出力値
が不正データであるか否かを判別し、不正データでなけ
れば次のアクセスを行うことにより、書込み装置からの
転送データの書込みの頻度が高い場合に、効率的なアク
セスを行うことが可能となる。
ーストアウトバッファをアクセスする場合に、まず、レ
ジスタ手段へのアクセスを行った結果出力される出力値
が不正データであるか否かを判別し、不正データでなけ
れば次のアクセスを行うことにより、書込み装置からの
転送データの書込みの頻度が高い場合に、効率的なアク
セスを行うことが可能となる。
【0137】また、読出し装置は、ファーストインファ
ーストアウトバッファをアクセスする場合に、先にフラ
グ保持手段が保持する各フラグ値を読み出し、第1の値
を有するフラグに対応するレジスタ手段をアクセスする
ことにより、書込み装置からの転送データの書込みの頻
度が低い場合に、ファーストインファーストアウトバッ
ファへの無駄なアクセスをなくすことが可能となる。
ーストアウトバッファをアクセスする場合に、先にフラ
グ保持手段が保持する各フラグ値を読み出し、第1の値
を有するフラグに対応するレジスタ手段をアクセスする
ことにより、書込み装置からの転送データの書込みの頻
度が低い場合に、ファーストインファーストアウトバッ
ファへの無駄なアクセスをなくすことが可能となる。
【図1】本発明のブロック図である。
【図2】本発明の実施例が適用されるネットワークの構
成図である。
成図である。
【図3】本発明の実施例におけるメッセージ通信装置の
構成図である。
構成図である。
【図4】メッセージ通信の説明図である。
【図5】送信結果通知又は受信結果通知を処理するI/
Oコントローラの部分の構成図である。
Oコントローラの部分の構成図である。
【図6】CPUがレジスタR0 〜R3 の内容を読み出す
場合の動作フローチャートである。
場合の動作フローチャートである。
101 書込み装置 102 読出し装置 103 転送データ 104 レジスタ手段 105 フラグ値 106 フラグ保持手段 107 転送データ書込み指示 108 書込みカウンタ手段 109 転送データ読出し指示 110 有効データカウンタ手段 111、114 カウント値 112 書込み制御手段 113 アドレス 115 読出し制御手段 116 不正データ 117 不正データ出力手段 118 ファーストインファーストアウトバッファ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04L 12/42
Claims (5)
- 【請求項1】 書込み装置(101)から読出し装置
(102)へ転送される転送データ(103)を一時保
持するファーストインファーストアウトバッファ(11
8)において、 前記転送データ(103)を複数組分一時保持する複数
のレジスタ手段(104)と、 該複数のレジスタ手段(104)に対応する複数のフラ
グ値(105)を保持するフラグ保持手段(106)
と、 前記書込み装置(101)からの転送データ書込み指示
(107)に基づき順次連続的かつ循環的にカウント動
作を行う書込みカウンタ手段(108)と、 前記転送データ書込み指示(107)に基づいて順次連
続的にカウントアップ動作を行い、前記読出し装置(1
02)からの転送データ読出し指示(109)に基づい
て順次連続的にカウントダウン動作を行い、前記レジス
タ手段(104)の数(n)以上の値までカウント動作
が可能な有効データカウンタ手段(110)と、 前記転送データ書込み指示(107)に基づいて、前記
書込みカウンタ手段(108)が出力するカウント値
(111)に対応する前記レジスタ手段(104)に前
記書込み装置(101)からの転送データ(103)を
書き込むと共に、該レジスタ手段(104)に対応する
前記フラグ保持手段(106)内のフラグ値(105)
を第1の値に設定する書込み制御手段(112)と、 前記読出し装置(102)から指定される前記読出し指
示(109)及びアドレス(113)に基づいて、任意
の前記レジスタ手段(104)の内容、前記有効データ
カウンタ手段(110)のカウント値(114)、又は
前記フラグ保持手段(106)が保持する任意の前記フ
ラグ値(105)を前記読出し装置(102)に出力す
ると共に、任意の前記レジスタ手段(104)の内容を
出力した場合に該レジスタ手段(104)に対応する前
記フラグ保持手段(106)内のフラグ値(105)を
第2の値に設定する読出し制御手段(115)と、 を有することを特徴とするエラー表示機能付きFIF
O。 - 【請求項2】 前記有効データカウンタ手段(110)
のカウント値(114)が前記レジスタ手段(104)
の数を(n)越えているときに前記読出し装置(10
2)が前記レジスタ手段(104)の内容を読み出そう
とした場合、又は前記読出し装置(102)が前記フラ
グ保持手段(106)に保持されている前記第2の値を
有する前記フラグ値(105)に対応する前記レジスタ
手段(104)の内容を読み出そうとした場合に、前記
書込み装置(101)が前記転送データ(103)とし
て出力しない不正データ(116)を前記読出し装置
(102)に出力する不正データ出力手段(117)を
更に有する、 ことを特徴とする請求項1に記載のエラー表示機能付き
FIFO。 - 【請求項3】 前記不正データ出力手段(117)が出
力する前記不正データ(116)を設定する不正データ
設定手段を更に有する、 ことを特徴とする請求項2に記載のエラー表示機能付き
FIFO。 - 【請求項4】 前記読出し装置(102)は、 前記ファーストインファーストアウトバッファ(11
8)内の任意の前記レジスタ手段(104)をアクセス
し、 その結果として前記ファーストインファーストアウトバ
ッファ(118)から出力される出力値が、前記不正デ
ータ(116)であるか否かを判別し、 前記出力値が前記不正データ(116)でなければ、前
記出力値を前記書込み装置(101)からの前記転送デ
ータ(103)として受信し、 前記出力値が前記不正データ(116)であるならば、
前記ファーストインファーストアウトバッファ(11
8)から前記有効データカウンタ手段(110)のカウ
ント値(114)、又は前記フラグ保持手段(106)
が保持する前記アクセス動作に対応する前記フラグ値
(105)を読み出し、それらの読み出した値に基づい
てエラー処理を行う、 ことを特徴とする請求項2又は3の何れか1項に記載の
エラー表示機能付きファーストインファーストアウトバ
ッファを使用した読出し装置の制御方法。 - 【請求項5】 前記読出し装置(102)は、 前記ファーストインファーストアウトバッファ(11
8)から前記フラグ保持手段(106)に保持されてい
る任意の前記フラグ値(105)を読み出し、 該フラグ値(105)が前記第1の値を有する場合に、
前記ファーストインファーストアウトバッファ(11
8)から前記第1の値を有する前記フラグ値(105)
に対応する前記レジスタ手段(104)の内容を読み出
し、前記書込み装置(101)からの前記転送データ
(103)として受信する、 ことを特徴とする請求項1乃至3の何れか1項に記載の
エラー表示機能付きファーストインファーストアウトバ
ッファを使用した読出し装置の制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4166117A JPH064437A (ja) | 1992-06-24 | 1992-06-24 | エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4166117A JPH064437A (ja) | 1992-06-24 | 1992-06-24 | エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH064437A true JPH064437A (ja) | 1994-01-14 |
Family
ID=15825348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4166117A Withdrawn JPH064437A (ja) | 1992-06-24 | 1992-06-24 | エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH064437A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002189607A (ja) * | 2000-12-22 | 2002-07-05 | Nec Corp | メモリ管理方法及び情報処理装置 |
-
1992
- 1992-06-24 JP JP4166117A patent/JPH064437A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002189607A (ja) * | 2000-12-22 | 2002-07-05 | Nec Corp | メモリ管理方法及び情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA1171931A (en) | Channel interface circuit | |
| US6145016A (en) | System for transferring frame data by transferring the descriptor index data to identify a specified amount of data to be transferred stored in the host computer | |
| JP2654369B2 (ja) | プロセッサ・チャネル及び交換機構の間に設けられたアダプタ装置 | |
| US4744023A (en) | Processor access control arrangement in a multiprocessor system | |
| US5608869A (en) | Method and apparatus for reliable descriptor chaining in a media access control/host system interface unit | |
| JP4317365B2 (ja) | 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置 | |
| JPH07282025A (ja) | クロック回路 | |
| JP2587190B2 (ja) | システム間チャネルページング機構 | |
| US5432910A (en) | Coupling apparatus and method for increasing the connection capability of a communication system | |
| JPH064437A (ja) | エラー表示機能付きファーストインファーストアウトバッファ及びそれを使用した読出し装置の制御方法 | |
| JPH0675861A (ja) | メモリアクセス保護装置 | |
| JPH0619855A (ja) | メッセージのキューイング方法とその装置 | |
| JPH0675796A (ja) | パリティエラー記録装置 | |
| JPH0678000A (ja) | 通信装置 | |
| JPH064401A (ja) | メモリアクセス回路 | |
| JPH04195576A (ja) | キャッシュメモリ方式 | |
| KR0170506B1 (ko) | 멀티프로세서 인터럽트 처리기 및 인터럽트 처리 및 구동방법 | |
| KR100205055B1 (ko) | 송신 연결망 인터페이스에서의 긴급 메시지 송신 제어 방법 | |
| JPS6298444A (ja) | デ−タ通信方式 | |
| KR100250465B1 (ko) | 고속병렬컴퓨터의 메시지 전송 방법 | |
| KR0170595B1 (ko) | 고속 병렬 컴퓨터에서 크로스바 네트웍 라우터의 송신부에 대한 소프트웨어 애뮬레이션 방법 | |
| JPH0675883A (ja) | メッセージ通信装置 | |
| JPH0619857A (ja) | コンピュータ間のデータ一致装置 | |
| JPH064464A (ja) | 周辺装置アクセス装置 | |
| JPH064462A (ja) | バス結合方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990831 |