JPH06187297A - データ転送処理方法及びデータ転送処理装置 - Google Patents

データ転送処理方法及びデータ転送処理装置

Info

Publication number
JPH06187297A
JPH06187297A JP4338504A JP33850492A JPH06187297A JP H06187297 A JPH06187297 A JP H06187297A JP 4338504 A JP4338504 A JP 4338504A JP 33850492 A JP33850492 A JP 33850492A JP H06187297 A JPH06187297 A JP H06187297A
Authority
JP
Japan
Prior art keywords
data
address
space
information
virtual
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.)
Granted
Application number
JP4338504A
Other languages
English (en)
Other versions
JP3098344B2 (ja
Inventor
Masayuki Ikeda
正幸 池田
Shigeru Nagasawa
茂 長沢
Naoki Shinjo
直樹 新庄
Teruo Uchiumi
照雄 内海
Masami Dewa
正実 出羽
Haruhiko Ueno
治彦 上埜
Kazue Kobayakawa
和重 小早川
Kenichi Ishizaka
賢一 石坂
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 JP04338504A priority Critical patent/JP3098344B2/ja
Priority to EP93306728A priority patent/EP0603994B1/en
Priority to DE69329104T priority patent/DE69329104T2/de
Publication of JPH06187297A publication Critical patent/JPH06187297A/ja
Priority to US08/951,295 priority patent/US5822785A/en
Application granted granted Critical
Publication of JP3098344B2 publication Critical patent/JP3098344B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】データ転送のオーバヘッドを削減する。 【構成】情報記憶手段3は自処理手段の記憶手段と他処
理手段の記憶手段とをアクセスする属性を示すアクセス
情報をデータに関連付けて記憶し且つ記憶手段7の用途
に応じて割り付けた複数種の仮想空間の夫々を識別する
空間識別情報を記憶し、複数のアドレス変換手段4はア
クセス情報に基づき複数種の仮想空間に対応して仮想ア
ドレスから実アドレスに変換し、選択手段5は空間識別
情報に基づき複数のアドレス変換手段4のいずれかを選
択し、転送制御手段6は選択したアドレス変換手段4に
より変換された実アドレスに基づき記憶手段7のデータ
を読み出しアクセス情報及び空間識別情報と共に他の処
理手段に転送する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサ間で通信を
行うことにより並列に処理を実行するマルチプロセッサ
システムにおけるデータ転送処理方法及びデータ転送処
理装置に関する。
【0002】
【従来の技術】近年、コンピュータシステムの高速化や
大容量化が要求されるに伴って、複数のプロセッサに処
理を分散して並列に処理させる並列処理技術が必要とな
ってきた。
【0003】そこで、複数のプロセッサが処理を並列的
に行なうマルチプロセッサシステムが提供されている。
このマルチプロセッサシステムは、各プロセッサが通信
手段を介して互いに通信を行うことにより各プロセッサ
が並列に動作し、プロセッサ全体であるまとまった処理
を実行する。これによれば、1つの仕事に対する処理の
高速化を図ることができる。
【0004】このようなマルチプロセッサシステムにお
けるプロセッサ間の通信において、プロセッサAの主記
憶装置のデータを他のプロセッサBに対して送出する場
合、一般的にはスーパバイザプログラムが他のプロセッ
サに対するデータ転送のキューイングを管理している。
そして、ユーザプログラムがこのスーパバイザプログラ
ムに対してデータ転送依頼の割り込みを発生すると、ス
ーパバイザプログラムが転送キューのヘッダを作成する
ことによりデータ転送要求を行う。
【0005】しかし、この方法では、ユーザプログラム
からスーパバイザプログラムへの割り込みが多発するた
め、オーバヘッドが大きくなる。そこで、オーバヘッド
を削減するためにスーパバイザプログムを用いない別の
方法が提案されている。
【0006】この方法を以下に説明する。転送キューに
書込ポインタと読込ポインタとを設け、この書込ポイン
タの値及び読出ポインタの値をユーザプログラムが管理
する。そして、主記憶装置に対して設定された1つの仮
想空間を仮想アドレスから実アドレスに変換するための
アドレス変換テーブルを介してユーザプログラムがアク
セスすると、転送処理部がデータの転送処理を行う。
【0007】
【発明が解決しようとする課題】しかしながら、従来の
マルチプロセッサシステムでは、次のような問題があっ
た。すなわち、あるプロセッサのアドレス変換テーブル
の内容を更新した場合には、全てのプロセッサのアドレ
ス変換テーブルの内容を一致させる必要があった。この
ため、オペレーティングシステム(以下、OS部と称す
る。)が同期処理を実行していた。この同期処理とは、
全てのアドレス変換テーブルの内容が更新された内容に
変更されるまで処理を待たせ、全てのアドレス変換テー
ブルの内容が更新された内容に変更された時点で次の処
理に進ませるものである。
【0008】このような同期処理が行われると、OS部
のオーバヘッドが増加し、システムの性能が低下するこ
とになる。このため、この問題を解決するアドレス変換
方法及びその装置が望まれていた。
【0009】本発明は、このような点に鑑みてなされた
もので、その目的とするところは、データ転送のオーバ
ヘッドを削減することのできるデータ転送処理方法及び
データ転送処理装置を提供することにある。
【0010】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するために下記の構成とした。図1は本
発明の原理図である。図2は本発明の原理フローであ
る。
【0011】本発明に係るデータ転送処理方法を実現す
るためのデータ転送処理装置は、複数の処理手段1、通
信手段2を有する。複数の処理手段1はデータを記憶す
る記憶手段7を有するとともに処理を実行する。通信手
段2は複数の処理手段1の間で相互にデータ及び情報を
転送する。前記各々の処理手段1は、処理を並列に実行
し、次のように構成される。
【0012】情報記憶手段3は、自己の処理手段内の記
憶手段と他の処理手段内の記憶手段とをアクセスするた
めの属性を示すアクセス情報をデータに関連付けて記憶
すると共に記憶手段7の用途に応じて割り付けられた複
数種の仮想空間の夫々を識別する空間識別情報を記憶す
る。記憶手段は例えば主記憶装置などであり、情報記憶
手段3は、例えば主記憶装置に格納された転送キューな
どである。
【0013】複数のアドレス変換手段4は、前記情報記
憶手段3に記憶されたアクセス情報に基づき前記複数種
の仮想空間に対応して仮想アドレスから実アドレスに変
換する。
【0014】選択手段5は、前記情報記憶手段3に記憶
された空間識別情報に基づき複数のアドレス変換手段
(4)のいずれかを選択する。転送制御手段6は、前記
選択手段5が選択したアドレス変換手段4により変換さ
れた実アドレスに基づき記憶手段7のデータを読み出し
て前記アクセス情報及び空間識別情報と共に前記他の処
理手段に転送する。
【0015】次に、本発明に係るデータ転送処理方法
は、複数の処理手段の間で相互にデータ及び情報を転送
することにより各々の処理手段が並列に処理を実行す
る。情報記憶ステップ101は自己の処理手段内の記憶
手段と他の処理手段内の記憶手段とをアクセスするため
の属性を示すアクセス情報をデータに関連付けて記憶す
ると共に記憶手段の用途に応じて割り付けられた複数種
の仮想空間の夫々を識別する空間識別情報を情報記憶手
段に記憶する。
【0016】アドレス変換ステップ102は前記記憶さ
れたアクセス情報に基づき仮想アドレスから実アドレス
に前記複数種の仮想空間に対応して複数のアドレス変換
を行う。選択ステップ103は前記空間識別情報に基づ
き複数のアドレス変換のいずれかを選択する。
【0017】転送制御ステップ104は選択したアドレ
ス変換により変換された実アドレスに基づき記憶手段の
データを読み出して前記アクセス情報及び空間識別情報
と共に前記他の処理手段に転送する。
【0018】ここで、複数種の仮想空間は、全ての処理
手段が共通に用いるグローバル空間と各々の処理手段が
固有に用いるローカル空間とすることもできる。前記複
数種のアドレス変換手段4は、ローカルアドレス変換手
段4a、グローバルアドレス変換手段4bであってもよ
い。ローカルアドレス変換手段4aは、ローカル空間を
アクセスするために仮想アドレスから実アドレスにアド
レス変換を行う。グローバルアドレス変換手段4bは、
グローバル空間をアクセスするために仮想アドレスから
実アドレスにアドレス変換を行う。
【0019】また、前記転送制御手段6は、前記アクセ
ス情報と空間識別情報を含むヘッダとこのヘッダに関連
付けられたボディデータとからなるパケットで転送処理
を行うようにする。
【0020】前記アクセス情報は、受信すべき処理手段
の指定,データの読み出し又は書き込みの転送モード,
ボディデータ長,送信アドレス,受信アドレスの情報を
含むようにする。
【0021】さらに、装置に書込ポインタ部16と情報
書込手段8とを設けるようにする。書込ポインタ部16
は前記情報記憶手段3のどの位置までアクセス情報を書
き込んだかを示す。情報書込手段8は書込ポインタ部1
6のポインタ値をインクリメントすることにより情報記
憶手段3に順次前記アクセス情報を書き込む。
【0022】また、装置に読出ポインタ部15、ネット
ワーク転送制御手段11を設けるようにする。読出ポイ
ンタ部15は情報記憶手段3のどの位置までデータの転
送処理を終了したかを示す。ネットワーク転送制御手段
11は前記情報書込手段8によりアクセス情報の書き込
みが終了した後に、読出ポインタ部15の読出ポインタ
値が書込ポインタ部16の書込ポインタ値に一致するか
否かを判定し、読出ポインタ値が書込ポインタ値に一致
しない場合には、読出ポインタ値が書込ポインタ値に一
致するまでデータの読出処理を行う。
【0023】前記記憶手段7と通信手段2との間にヘッ
ダとデータを保持するデータバッファ17を設ける。そ
して、前記転送制御手段6は、データバッファ17に情
報記憶手段3からヘッダを読み出し、このヘッダに基づ
き前記記憶手段7からヘッダに関連付けられたボディデ
ータを読み出すようにする。
【0024】また、仮想アドレスから実アドレスに変換
するか否かを示すアドレス変換制御信号を入力しこのア
ドレス変換制御信号に応じて仮想アドレスと選択手段5
からの実アドレスとのいずれか一方を選択する選択回路
24を設けるようにする。
【0025】前記ローカルアドレス変換テーブル4aと
グローバルアドレス変換テーブル4bとに記憶される情
報は、データの書き込み及び読み出しが無効であること
を示す無効ビットと書き込みアクセスを禁止するか否か
を示すアクセス保護ビットとを含むようにする。
【0026】データを送信すべき送信処理手段の仮想空
間とデータを受信すべき受信処理手段との仮想空間の相
互間のデータの書き込み又は読み出し応答アクセスの許
可を制御する空間許可制御部30を設けるようにする。
【0027】前記空間許可制御部30は、許可フラグ部
34、空間許可判定部35を有するようにする。許可フ
ラグ部34は前記送信処理手段及び受信処理手段の仮想
空間の相互間でデータの転送を許可するか否か示すため
の許可フラグを発生する。空間許可判定部35は許可フ
ラグ部34からの許可フラグと書き込み又は読み出し応
答の転送モード,送信空間識別情報,受信空間識別情報
とを参照して仮想空間の相互間のデータ転送の許可を判
定する。
【0028】また、装置に書込不許可テーブル31、読
出不許可テーブル32、許可テーブル33を設けるよう
にする。書込不許可テーブル31は前記仮想空間の相互
間でデータの書き込みの許可又は不許可を登録し、読出
不許可テーブル32は仮想空間の相互間でデータの読み
出し応答の許可又は不許可を登録する。許可テーブル3
3は仮想空間の相互間でデータの書き込み及び読み出し
応答の許可を登録し、前記空間許可判定部35は、前記
許可フラグ,転送モード,送信空間識別情報,受信空間
識別情報に応じたテーブルを参照して仮想空間の相互間
のデータ転送の許可を判定するようにする。
【0029】
【作用】本発明によれば、自己の処理手段内の記憶手段
と他の処理手段内の記憶手段とをアクセスするための属
性を示すアクセス情報をデータに関連付けて記憶すると
共に記憶手段の用途に応じて割り付けられた複数種の仮
想空間の夫々を識別する空間識別情報を情報記憶手段に
記憶する。
【0030】次に、前記記憶されたアクセス情報に基づ
き仮想アドレスから実アドレスに前記複数種の仮想空間
に対応して複数のアドレス変換を行い、さらに、前記空
間識別情報に基づき複数のアドレス変換のいずれかを選
択する。
【0031】そして、選択したアドレス変換により変換
された実アドレスに基づき記憶手段のデータを読み出し
て前記アクセス情報及び空間識別情報と共に前記他の処
理手段に転送する。
【0032】このように、複数の仮想空間を設け、ある
処理手段の1つの仮想空間を他の処理手段の1つの仮想
空間との間で使用しても、残りの空間を例えば固有の空
間として使用できる。すなわち、個々の空間を独立に使
用できるので、ある空間のアドレス変換手段を更新する
場合には、必要最小限のプロセッサ間で同期をとればよ
い。これにより、オーバヘッドを削減できる。
【0033】
【実施例】以下、本発明の具体的な実施例を説明する。
図3は本発明にかかるデータ転送処理方法を実現するた
めの装置の一実施例を示すマルチプロセッサシステムの
構成ブロック図である。図4はプロセッサの構成ブロッ
ク図である。 <実施例の構成>マルチプロセッサシステムには、処理
を実行する複数のプロセッサ1−0〜1−(n−1)が
設けられている。また、マルチプロセッサシステムに
は、この複数のプロセッサ1−0〜1−(n−1)を相
互に接続するとともに相互のプロセッサ1にデータを送
受信するネットワーク2が設けられている。
【0034】各々のプロセッサ1−0〜1−(n−1)
は、図4に示すように、主記憶装置7、命令処理部8、
転送処理部10を有している。主記憶装置7は、複数の
命令からなるユーザプログラム72とデータとを記憶し
ている。また、データを送信すべきプロセッサに設けら
れた主記憶装置とデータを受信すべきプロセッサに設け
られた主記憶装置7とをアクセスするためのアクセス属
性を示すアクセス情報を含むヘッダを格納した転送キュ
ー3が主記憶装置7に設けられている。OS部73は、
主記憶装置7内に設けられ、ユーザプログラム72の命
令を実行する前に、後述するアドレス変換テーブル4の
各々のエントリに例えば32ビットのアドレス変換情報
を格納する。
【0035】図5は前記転送キューの構成を示す図であ
る。転送キュー3は、図5に示すように1パケット分の
前記ヘッダを格納している。1パケット分のヘッダは、
次のような情報を含む。受信プロセッサ指定の情報は、
データを受信すべきプロセッサの番号を示す。転送モー
ドの情報は、データの読み出し(R)又は書き込み
(W)のいずれかを示す。ボディデータ長は、前記ヘッ
ダで指定されるボディデータが何バイトかを示す。送信
アドレスは、送信側の主記憶装置7に記憶された送信す
べきデータのアドレスを示し、受信アドレスは受信側の
主記憶装置7に記憶すべきデータのアドレスを示す。
【0036】送信空間識別番号(以下、送信空間ID)
は、後に詳しく説明するようにグローバル送信空間とロ
ーカル送信空間とを識別するための識別情報である。受
信空間識別番号(以下、受信空間ID)は、グローバル
受信空間とローカル受信空間とを識別するための識別情
報である。なお、パケットとは、前記ヘッダとこのヘッ
ダで指定されるボディデータとからなるものである。
【0037】次に、命令処理部8は、主記憶装置7に接
続され、主記憶装置7のプログラムから命令を取り出し
てその命令を実行する。転送処理部10は、主記憶装置
7、命令処理部8に接続され、主記憶装置7とネッワー
ク2との間で前記パケットの転送処理を行う。
【0038】図6は転送処理部10の構成ブロック図で
ある。転送処理部10は、ネットワーク転送制御部1
1、主記憶アクセス制御部6、アドレス変換部13、転
送キューベースアドレス部14、転送キュー読出ポイン
タ部15、転送キュー書込ポインタ部16、データバッ
ファ17を有している。
【0039】転送キューベースアドレス部14は、主記
憶装置7上の転送キュー3の先頭アドレスを表示するレ
ジスタである。転送キュー書込ポインタ部16は、命令
処理部8が転送キュー3のどの位置までアクセス情報
(転送要求)をエンキューしたかを表示するレジスタで
ある。転送キュー読出ポインタ部15は、ネットワーク
転送制御部11が転送キュー3のどの位置までデータの
転送処理を終了したかを表示するレジスタである。
【0040】命令処理部8は、これらの転送キューベー
スアドレス部14,転送キュー読出ポインタ部15,転
送キュー書込ポインタ部16の夫々の値の更新又は参照
を行う。
【0041】ネットワーク転送制御部11は、命令処理
部8からの指令によって起動し、転送キュー読出ポイン
タ部15の読出ポインタ値と転送キュー書込ポインタ部
16の書込ポインタ値とに基づきデータ転送処理を開始
する。また、ネットワーク転送制御部11は、転送すべ
きパケットのヘッダとボディデータとを読み出すために
主記憶アクセス制御部6に主記憶アクセス要求を発行
し、主記憶装置7から読み出されたパケットをデータバ
ッファ17を介してネットワーク2に送出させる。
【0042】主記憶アクセス制御部6は、ネットワーク
転送制御部11からの主記憶アクセス要求によって主記
憶装置7に対してアクセスを行い、主記憶装置7とデー
タバッファ17との間のパケットの転送を制御する。
【0043】データバッファ17は、主記憶装置7とネ
ットワーク2との間でデータの転送を行う場合に一時的
にデータを記憶すると共に、ネットワーク転送制御部1
1と主記憶アクセス制御部6とが必要とする主記憶内装
置7上のデータの読み出し又は書き込みを行う場合に一
時的にデータを記憶する。
【0044】アドレス変換部13は、ヘッダ内で指定さ
れた主記憶装置7のアクセスのための空間IDの値に基
づきアドレス変換を行い、主記憶装置7に対するアクセ
スアドレスを発行する。
【0045】図7はアドレス変換部13の構成ブロック
図である。アドレス変換部13は、仮想アドレス(論理
アドレス)を実アドレス(物理アドレス)に変換するも
のであり、アドレス変換テーブル4、選択回路23、選
択回路24を有している。
【0046】アドレス変換テーブル4は、ローカルアド
レス変換テーブル4a、グローバルアドレス変換テーブ
ル4bを有している。ローカルアドレス変換テーブル4
aは、送信空間IDが”0”に対応しており、各々のプ
ロセッサの固有の空間であるローカル空間をアクセスす
るために仮想アドレスから実アドレスに変換するテーブ
ルである。グローバルアドレス変換テーブル4bは、送
信空間IDが”1”に対応しており、プロセッサ間の共
用空間として用いられるグローバル空間をアクセスする
ために仮想アドレスから実アドレスに変換するテーブル
である。
【0047】前記ローカルアドレス変換テーブル4aと
グローバルアドレス変換テーブル4bは、仮想アドレス
のビット数に対応した複数のエントリを有している。図
8にアドレス変換テーブル4の変換過程を示す。図8に
示す例では、例えば仮想アドレスが5ビットの情報とす
る。変換テーブル4a,4bは前記5ビット情報に対応
して00から31までの32エントリを有する。アドレ
ス変換テーブル4は、主記憶アクセス制御部6から送ら
れてくる仮想アドレスの値に応じて、ローカルアドレス
変換テーブル4aのエントリとグローバルアドレス変換
テーブル4bのエントリとを選択する。
【0048】また、各々の変換テーブル4a,4bの各
々のエントリには、図9に示すように上位10ビットに
セクションアドレスS、続いて無効ビットI,アクセス
保護ビットP,実アドレスの32ビットの情報が格納さ
れている。
【0049】ここで、セクションアドレスの上位5ビッ
トは主記憶アクセス制御部6から入力されてくる5ビッ
トの仮想アドレスと比較するために用いる。このとき、
仮想アドレスがセクションアドレスに一致する場合には
主記憶装置7に対するアクセスが行われ、仮想アドレス
がセクションアドレスに一致しない場合に例外を検出す
る。
【0050】無効ビットIにデータの書き込み及び読み
出しが無効であることを示す無効ビット”1”がセット
された場合には、エントリに対応する記憶領域にアクセ
スすると例外を検出し、無効ビット”0”がセットされ
た場合には、データの書き込み及び読み出しを行う。
【0051】アクセス保護ビットPにビット”0”をセ
ットした場合、エントリに対応する領域に読み出しアク
セスを行うとデータの読み出しを行い、ビット”1”を
セットした場合、書き込みアクセスを行うと例外を検出
する。実アドレスは仮想アドレスをアドレス変換した後
のアドレスである。
【0052】アドレス変換テーブル4は、変換テーブル
4a,4bのエントリの内、仮想アドレスに対応するエ
ントリの32ビットの情報に例外が検出されない場合に
は、そのエントリの実アドレスを含む32ビットの情報
を選択回路5に出力する。
【0053】選択回路5は、前記転送キュー3内のヘッ
ダで指定された空間IDを主記憶アクセス制御部6を通
して入力し、この空間IDに応じてローカルアドレス変
換テーブル4aとグローバルアドレス変換テーブル4b
とのいずれか一方の変換テーブルを選択する。
【0054】選択回路24は、アドレス変換制御信号を
入力し、このアドレス変換制御信号に応じて選択回路5
からの変換アドレスと主記憶アクセス制御部6からの仮
想アドレスとのいずれか一方を選択する。この選択回路
24で選択された選択アドレスは、主記憶装置7をアク
セスする際の実アドレスとして用いられる。図10はア
ドレス変換部13の処理フローである。
【0055】図11は書き込みアクセスの動作を示す構
成図である。図12は読み出しアクセスの動作を示す構
成図である。図11に示すように例えばプロセッサ1ー
0からプロセッサ1ー3に対してデータの書き込みアク
セスを行う場合には、次のように処理が行われる。命令
処理部8ー0が転送処理部10ー0に主記憶装置7ー0
のデータの転送処理を指示すると、転送処理部10ー0
は、主記憶装置7ー0から最初にヘッダを読み出し、次
にボディデータを読み出してパケットでネットワーク2
に転送する。次に、転送処理部10ー3がパケットを主
記憶装置7ー3に書き込む。
【0056】次に、図12に示すように例えばプロセッ
サ1ー0からプロセッサ1ー3に対してデータの読み出
し応答アクセスを行う場合には、次のように処理が行わ
れる。命令処理部8ー0が転送処理部10ー0に主記憶
装置7ー3のデータの転送処理を指示すると、転送処理
部10ー0は、どのデータを読み出すべきかを示す読み
出しリクエストとして少量のヘッダとボディデータを転
送処理部10ー3に送る。
【0057】次に、転送処理部10ー3は、リクエスト
のヘッダにより主記憶装置7ー3からヘッダ及びボディ
データからなるパケットを読み出することにより読み出
し応答する。次に、転送処理部10ー0がパケットを主
記憶装置7ー0に書き込む。
【0058】次に、ネットワーク転送制御部11は、図
6に示すように送信プロセッサと受信プロセッサの相互
の空間間のデータの書き込み又は読み出し応答の許可を
制御するLL許可制御部30を有している。図13はL
L許可制御部の構成ブロック図である。LL許可フラグ
部34は、送信プロセッサのローカル空間と受信プロセ
ッサのローカル空間との間のデータの書き込み又は読み
出し応答を許可するLL許可フラグ”1”又はローカル
間のデータの書き込み又は読み出し応答を不許可にする
LL許可フラグ”0”を発生する。
【0059】書込LL不許可テーブル31は、LL許可
フラグ”0”に対応しており、送信プロセッサの空間と
受信プロセッサの空間の相互間でデータの書き込みの許
可又は不許可を登録したものである。図14に示すよう
に書込LL不許可テーブル31は、受信プロセッサに有
する空間がローカル空間である場合には、データの書き
込みを不許可としている。
【0060】読出LL不許可テーブル32は、LL許可
フラグ”0”に対応しており、送信プロセッサの空間と
受信プロセッサの空間の相互間でデータの読み出し応答
の許可又は不許可を登録したものである。図15に示す
ように読出LL不許可テーブル32は、送信プロセッサ
に有する空間がローカル空間である場合には、データの
読み出しを不許可としている。
【0061】LL許可テーブル33は、LL許可フラ
グ”1”に対応しており、送信プロセッサの空間と受信
プロセッサの空間の相互間でデータの書き込み及び読み
出し応答のいずれにおいても許可を登録したものであ
る。図16に示すようにLL許可テーブル33は、送信
プロセッサの空間と受信プロセッサの空間とがグローバ
ル空間,ローカル空間に関係なくデータの書き込み及び
読み出しを許可している。
【0062】LL許可判定部35は、LL許可フラグ部
34からのLL許可フラグと書き込み又は読み出し応答
の転送モード,送信空間ID,受信空間IDとを参照し
ていずれかのテーブル31,32,33を選択し、空間
間のデータ転送の許可を判定する。 <実施例の動作>図17は実施例の処理を示す処理フロ
ーである。次に、図面を参照して実施例の動作を説明す
る。OS部73は、ユーザプログラム72の命令を実行
する前にアドレス変換テーブル4の各々のエントリに3
2ビットのアドレス変換情報を格納する(ステップ20
1)。
【0063】ユーザプログラム72の命令を実行する命
令処理部8は、データ転送要求のためのアクセス情報と
して、受信プロセッサ指定,ボディデータ長,送信アド
レス,受信アドレス,送信空間種別,受信空間種別その
他の情報を、図5に示すように主記憶装置7内の転送キ
ュー3にパケットのヘッダ形式で書き込む(ステップ2
02)。ここで、主記憶装置7内の転送キュー3の位置
は、次式で表される。
【0064】位置=転送キューベースアドレス+転送キ
ュー書込ポインタ×ヘッダ長 次に、ユーザプログラム72の命令を実行する命令処理
部8は、転送キュー書込ポインタ部16の書込ポインタ
値をインクリメントする(ステップ203)。
【0065】以下、ユーザプログラム72の命令を実行
する命令処理部8は、転送キュー3への転送要求のアク
セス情報の書き込みと転送キュー書込ポインタ部16の
書込ポインタ値のインクリメントとを繰り返し行い、転
送キュー3への書込処理(エンキュー処理)を終了した
か否かを判定する(ステップ204)。
【0066】ネットワーク転送制御部11は、命令処理
部8からの指示によって起動し、転送要求のエンキュー
処理の終了を待つ。次に、ネットワーク転送制御部11
は、命令処理部8がエンキュー処理を終了した場合に転
送キュー読出ポインタの値が転送キュー書込ポインタの
値に一致するか否かを判定する(ステップ205)。
【0067】ここで、転送キュー読出ポインタの値が転
送キュー書込ポインタの値に一致しない場合に、ネット
ワーク転送制御部11は、未処理の転送要求があるとし
て転送処理を開始し、転送パケットのヘッダの読み出し
のために主記憶アクセス制御部6に主記憶アクセス要求
を発行する。
【0068】すると、主記憶アクセス制御部6は、転送
キューベースアドレスと転送キュー読み出しポインタと
に基づき最も古い未処理の転送要求のパケットヘッダに
対する主記憶装置7上のアドレスを計算し、アドレス変
換部13を介して主記憶装置7の転送キュー3に対し読
み出しアクセスを発行する。
【0069】パケットヘッダが主記憶装置7の転送キュ
ー3から読み出されると、主記憶装置アクセス制御部1
2はパケットヘッダをデータバッファ17に格納すると
ともに、ネットワーク転送制御部11にパケットヘッダ
の読み出し終了を通知する(ステップ206)。
【0070】次に、主記憶アクセス制御部6はデータバ
ッファ17に記憶されたヘッダから転送モード,送信空
間ID,受信空間IDを読み出す。ネットワーク転送制
御部11に設けられたLL許可制御部30は、転送モー
ド,送信空間ID,受信空間IDとLL許可フラグとを
参照し、テーブル31〜33に従ってデータ転送を許可
すべきかの処理を行う。(ステップ207)。
【0071】図18はLL許可判定部35の処理フロー
である。LL許可判定部35は、LL許可フラグ部34
からのLL許可フラグが”0”か否かを判定する(ステ
ップ301)。ここで、LL許可フラグが”0”である
場合には、LL許可判定部35は、転送モードが書き込
み(W)か否かを判定する(ステップ302)。
【0072】ここで、転送モードが書き込み(W)であ
る場合には、受信空間IDがグローバル空間であるか否
かを判定する(ステップ303)。受信空間IDがグロ
ーバル空間である場合には、書込LL不許可テーブル3
1を参照して受信プロセッサにデータの書き込みを許可
する(ステップ304)。
【0073】一方、受信空間IDがローカル空間である
場合には、書込LL不許可テーブル31を参照して受信
プロセッサにデータの書き込みを不許可にする(ステッ
プ305)。
【0074】また、転送モードが読み出し応答(R)で
あるか否かを判定し(ステップ306)、転送モードが
読み出し応答(R)である場合には、送信空間IDがグ
ローバル空間であるか否かを判定する(ステップ30
7)。
【0075】ここで、送信空間IDがグローバル空間で
ある場合には、読出LL不許可テーブル32を参照して
送信プロセッサにデータの読み出しを許可する(ステッ
プ308)。
【0076】一方、送信空間IDがローカル空間である
場合には、読出LL不許可テーブル32を参照して送信
プロセッサにデータの読み出しを不許可にする(ステッ
プ309)。なお、転送モードが読み出し応答(R)で
ない場合には、送信プロセッサにデータの読み出しを許
可する(ステップ310)。
【0077】このようにローカル空間は、通常では、デ
ータの書き込み先または読み出し応答の書き込み先とし
て指定されないので、LL許可フラグを”0”にセット
する。従って、データ転送が指示された場合には、例外
を発生することにより故意又はプログラムの過誤による
空間の破壊から保護することができる。
【0078】一方、LL許可フラグが”1”である場合
には、LL許可テーブル33を参照してデータの書き込
み及び読み出しを許可する(ステップ311)。プログ
ラムを最適化することによりデータ処理を高速に実行す
る場合には、ローカル空間とローカル空間とのデータ転
送を禁止するという制約が妨げになる場合がある。この
場合には、LL許可フラグを”1”とすることによりロ
ーカル空間とローカル空間との転送を行う。これによ
り、データ転送オーバヘッドが削除され、プログラムを
高速に実行することができる。
【0079】そして、許可判定部35によりデータの転
送が不許可とされた場合には、ネットワーク転送制御部
11はデータの転送を抑止し、命令処理部8に割り込ん
でその旨を通知する。
【0080】一方、許可判定部35によりデータの転送
が許可された場合には、さらに、送信アドレス,受信ア
ドレス等の転送のためのアクセス情報を取り出してパケ
ットのボディデータのアドレスを計算し、アドレス変換
部13を通して主記憶装置7に対して読み出しアクセス
を発行する。
【0081】このとき、アドレス変換部13は、図10
に示すような処理を行う。主記憶アクセス制御部6から
仮想アドレスのビット4〜8の5ビットを入力する(ス
テップ401)。次に、仮想アドレスに基づきローカル
アドレス変換テーブル4aのエントリとグローバルアド
レス変換テーブル4bのエントリとを検索する(ステッ
プ402)。
【0082】次に、選択回路24は、仮想アドレスから
実アドレスに変換すべき否かを示すアドレス変換制御信
号を入力し、このアドレス変換制御信号に応じて選択回
路5からの変換アドレスと主記憶アクセス制御部6から
の仮想アドレスとのいずれか一方を選択する(ステップ
403)。この選択されたアドレスが主記憶装置7をア
クセスする際の実アドレスとなる。
【0083】さらに、選択されたアドレスが仮想アドレ
スか否かを判定する(ステップ404)。ここで、選択
されたアドレスが仮想アドレスでない場合には、処理を
終了する。
【0084】一方、選択されたアドレスが仮想アドレス
である場合には、アドレス変換テーブル4は、変換テー
ブル4a,4bのうち、そのエントリに対応する実アド
レス,P,I,SAを選択回路5に出力する(ステップ
405)。
【0085】次に、選択回路5は、主記憶アクセス制御
部6からの空間IDに応じてローカルアドレス変換テー
ブル4aとグローバルアドレス変換テーブル4bとのい
ずれか一方の変換テーブルを選択する(ステップ40
6)。
【0086】さらに、例えば仮想アドレスの上位4ビッ
トとセクションアドレスの4ビットとが一致するか否か
を判定する(ステップ407)。ここで、仮想アドレス
がセクションアドレスに一致しない場合には主記憶装置
7のアクセス例外を検出する(ステップ408)。
【0087】次に、仮想アドレスとセクションアドレス
とが一致する場合には、次に無効ビットが”1”か否か
を判定する(ステップ409)。ここで、無効ビット
が”1”である場合にはデータの書き込み及び読み出し
の例外を検出する(ステップ408)。
【0088】次に、無効ビットが”0”である場合に
は、アクセス保護ビットPがビット”1”か否かを判定
する(ステップ410)。ここで、アクセス保護ビット
が”1”である場合には、書き込みアクセスを行うと例
外を検出することになる(ステップ408)。
【0089】次に、アクセス保護ビットが”0”である
場合には、エントリに対応する領域に読み出しアクセス
を行うとデータの読み出しを行い、処理を終了する。こ
こで、空間IDによりグローバル空間アドレステーブル
4bが選択されたとする。この場合には、クローバル空
間は、プロセッサ間で共通であるので、グローバルアド
レス変換テーブル4bのアドレス変換情報を書き換える
場合には、全てのプロセッサ間で同期をとる。
【0090】一方、空間IDによりローカル空間アドレ
ステーブル4aが選択されたとする。この場合には、ロ
ーカル空間は、各々のプロセッサの固有の空間であるの
で、ローカルアドレス変換テーブル4aのアドレス変換
情報を書き換える場合には、他のプロセッサとは独立に
書き換えられる。ローカルアドレス変換テーブル4aの
書換えのみであれば、プロセッサ間の同期が不要とな
る。従って、より少ないオーバヘッドで変換テーブルの
書換えが行える。なお、ローカルアドレス変換テーブル
4aの書換えの頻度は、グローバルアドレス変換テーブ
ル4bの書換え頻度よりも高い。
【0091】このようにローカルアドレス変換テーブル
4a又はグローバルアドレス変換テーブル4bが選択さ
れる。そして、選択された変換テーブルにより仮想アド
レスから実アドレスに変換されて、主記憶装置7からパ
ケットのボディデータが順次読み出されてくる。する
と、主記憶アクセス制御部6はこのボディデータを順次
データバッファ17に格納させるとともに、ネットワー
ク転送制御部11にボディデータの読み出し量を順次通
知する(ステップ209)。
【0092】ネットワーク転送制御部11は、主記憶ア
クセス制御部6からパケットのヘッダの読み出し終了を
通知されると、データバッファ17から転送要求のアク
セス情報を取り出して所要の検査と変更を加え、そのア
クセス情報をデータバッファ17に書き戻す。
【0093】次に、ネットワーク転送制御部11は、デ
ータバッファ17からネットワーク2にパケットヘッダ
を送出する(ステップ210)。さらに、ネットワーク
転送制御部11は主記憶アクセス制御部6からパケット
のボディデータの読み出し量を順次通知されると、デー
タバッファ17に格納された分のパケットボディを順次
ネットワーク2に送出する(ステップ211)。
【0094】このようにして、転送処理部10からネッ
トワーク2へのパケットの送出が終了すると、ネットワ
ーク転送制御部11は、転送キュー読出ポインタをイン
クリメントし(ステップ212)、ステップ205の処
理に戻る。そして、ネットワーク転送制御部11は、転
送キュー読出ポインタの値と転送キュー書込ポインタと
の値を比較し、読み出しポインタが書き込みポインタに
一致しない場合、すなわち、未処理の転送要求が残って
いる場合には次の転送処理を行う(ステップ206〜2
12)。そして、転送キュー読出ポインタと転送キュー
書込ポインタの値が等しくなるまでデータ転送処理を繰
り返し行い、両方の値が等しくなった場合にはデータ転
送処理を終了する(ステップ213)。
【0095】このように複数のプロセッサの相互間でデ
ータ通信を行うデータ転送処理装置において、グローバ
ル空間とローカル空間との2つの仮想空間を設けること
により、個々の空間を独立に使用できる。これにより、
グローバルアドレス変換テーブル4bを更新する場合に
は、プロセッサ間で同期をとる。また、ローカルアドレ
ス変換テーブル4aを更新する場合には、プロセッサ間
の同期を必要としないため、OSのオーバヘッドを削減
できる。
【0096】さらに、書き込み転送において、ローカル
空間への書き込みを禁止することにより、ローカル空間
を保護できる。また、LL許可フラグを制御することに
より、あるプログラムに対してはローカルとローカルと
の間のデータ転送を許可してデータ転送のオーバヘッド
を削減し、他のプログラムに対してはローカルへの書き
込みを禁止する。これにより、プログラムに応じてロー
カル空間を柔軟に保護することができる。
【0097】
【発明の効果】本発明によれば、複数の仮想空間を設け
ることにより、個々の空間を独立に使用できる。これに
より、ある空間のアドレス変換手段を更新する場合に
は、必要最小限のプロセッサ間で同期をとればよい。こ
れにより、オーバヘッドを削減できる。
【0098】さらに、書き込み転送において、ローカル
空間への書き込みを禁止することにより、ローカル空間
を保護できる。また、許可フラグを制御することによ
り、あるプログラムに対してはローカルとローカルとの
間のデータ転送を許可してデータ転送のオーバヘッドを
削減し、他のプログラムに対してはローカルへの書き込
みを禁止する。これにより、プログラムに応じてローカ
ル空間を柔軟に保護することができる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の原理フローである。
【図3】マルチプロセッサシステムの構成ブロック図で
ある。
【図4】プロセッサの構成ブロック図である。
【図5】転送キューの構成を示す図である。
【図6】転送処理部の構成ブロック図である。
【図7】アドレス変換部の構成ブロック図である。
【図8】アドレス変換テーブルの変換過程を示す図であ
る。
【図9】アドレス変換テーブルの内容を示す図である。
【図10】アドレス変換部の処理フローである。
【図11】書き込みアクセスの動作を示す構成図であ
る。
【図12】読み出し応答アクセスの動作を示す構成図で
ある。
【図13】LL許可制御部の構成ブロック図である。
【図14】書込LL不許可テーブルの内容を示す図であ
る。
【図15】読出LL不許可テーブルの内容を示す図であ
る。
【図16】LL許可テーブルの内容を示す図である。
【図17】実施例の処理フローを示す図である。
【図18】LL許可判定部の処理フローを示す図であ
る。
【符号の説明】
1・・プロセッサ 2・・ネットワーク 3・・転送キュー 4・・アドレス変換テーブル 4a・・ローカルアドレス変換テーブル 4b・・グローバルアドレス変換テーブル 5,24・・選択回路 6・・主記憶アクセス制御部 7・・主記憶装置 8・・命令処理部 10・・転送処理部 11・・ネットワーク転送制御部 13・・アドレス変換部 14・・転送キューベースポインタ部 15・・転送キュー読出ポインタ部 16・・転送キュー書込ポインタ部 17・・データバッファ 30・・LL許可制御部 31・・書込LL不許可テーブル 32・・読出LL不許可テーブル 33・・LL許可テーブル 34・・LL許可フラグ部 35・・LL許可判定部 72・・ユーザプログラム 73・・OS部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 内海 照雄 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 出羽 正実 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 上埜 治彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 小早川 和重 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 石坂 賢一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理手段の間で相互にデータ及び
    情報を転送することにより各々の処理手段が並列に処理
    を実行するデータ転送処理方法において、 自己の処理手段内の記憶手段と他の処理手段内の記憶手
    段とをアクセスするための属性を示すアクセス情報をデ
    ータに関連付けて記憶すると共に記憶手段の用途に応じ
    て割り付けられた複数種の仮想空間の夫々を識別する空
    間識別情報を情報記憶手段に記憶する情報記憶ステップ
    (101)と、 前記記憶されたアクセス情報に基づき仮想アドレスから
    実アドレスに前記複数種の仮想空間に対応して複数のア
    ドレス変換を行うアドレス変換ステップ(102)と、 前記空間識別情報に基づき複数のアドレス変換のいずれ
    かを選択する選択ステップ(103)と、 選択したアドレス変換により変換された実アドレスに基
    づき記憶手段のデータを読み出して前記アクセス情報及
    び空間識別情報と共に前記他の処理手段に転送する転送
    制御ステップ(104)とを含むことを特徴とするデー
    タ転送処理方法。
  2. 【請求項2】 前記請求項1において、複数種の仮想空
    間は、全ての処理手段が共通に用いるグローバル空間と
    各々の処理手段が固有に用いるローカル空間とであり、 前記アドレス変換ステップ(102)は、ローカル空間
    をアクセスするために仮想アドレスから実アドレスにア
    ドレス変換を行うローカルアドレス変換と、グローバル
    空間をアクセスするために仮想アドレスから実アドレス
    にアドレス変換を行うグローバルアドレス変換とからな
    ることを特徴とするデータ転送処理方法。
  3. 【請求項3】 請求項1において、前記転送制御ステッ
    プ(104)は、前記アクセス情報と空間識別情報を含
    むヘッダとこのヘッダに関連付けられたボディデータと
    からなるパケットで転送処理を行うことを特徴とするデ
    ータ転送処理方法。
  4. 【請求項4】 請求項1において、前記アクセス情報
    は、受信すべき処理手段の指定,データの読み出し又は
    書き込みの転送モード,ボディデータ長,送信アドレ
    ス,受信アドレスの情報を含むことを特徴とするデータ
    転送処理方法。
  5. 【請求項5】 請求項1において、前記情報記憶手段の
    どの位置までアクセス情報を書き込んだかを示す書込ポ
    インタのポインタ値をインクリメントすることにより情
    報記憶手段に順次前記アクセス情報を書き込む情報書込
    ステップを含むことを特徴とするデータ転送処理方法。
  6. 【請求項6】 請求項5において、前記アクセス情報の
    書き込みが終了した後に、前記情報記憶手段のどの位置
    までデータの転送処理を終了したかを示す読出ポインタ
    値が書込ポインタ値に一致するか否かを判定し、読出ポ
    インタ値が書込ポインタ値に一致しない場合には、読出
    ポインタ値が書込ポインタ値に一致するまでデータの読
    出処理を行うネットワーク転送制御ステップを含むこと
    を特徴とするデータ転送処理方法。
  7. 【請求項7】 請求項3において、前記転送制御ステッ
    プ(104)は、データバッファに情報記憶手段からヘ
    ッダを読み出し、このヘッダに基づき記憶手段からヘッ
    ダに関連付けられたボディデータを読み出すことを特徴
    とするデータ転送処理方法。
  8. 【請求項8】 請求項1において、仮想アドレスから実
    アドレスに変換するか否かを示すアドレス変換制御信号
    に応じて仮想アドレスと選択ステップ(103)からの
    実アドレスとのいずれか一方を選択する第2の選択ステ
    ップを含むことを特徴とするデータ転送処理方法。
  9. 【請求項9】 請求項2において、前記ローカルアドレ
    ス変換とグローバルアドレス変換との情報は、データの
    書き込み及び読み出しが無効であることを示す無効ビッ
    トと書き込みアクセスを禁止するか否かを示すアクセス
    保護ビットとを含むことを特徴とするデータ転送処理方
    法。
  10. 【請求項10】 請求項1において、データを送信すべ
    き送信処理手段の仮想空間とデータを受信すべき受信処
    理手段との仮想空間の相互間のデータの書き込みアクセ
    ス又は読み出し応答アクセスの許可を制御する空間許可
    制御ステップを含むことを特徴とするデータ転送処理方
    法。
  11. 【請求項11】 請求項10において、前記空間許可
    制御ステップは、前記送信処理手段及び受信処理手段の
    仮想空間の相互間でデータの転送を許可するか否か示す
    ための許可フラグを発生する許可フラグステップと、許
    可フラグと書き込み又は読み出し応答の転送モード,送
    信空間識別情報,受信空間識別情報とを参照して仮想空
    間の相互間のデータ転送の許可を判定する空間許可判定
    ステップとを含むことを特徴とするデータ転送処理方
    法。
  12. 【請求項12】 データを記憶する記憶手段(7)を有
    するとともに処理を実行する複数の処理手段(1)と、
    複数の処理手段(1)の間で相互にデータ及び情報を転
    送する通信手段(2)とを備え、各々の処理手段(1)
    が処理を並列に実行するデータ転送処理装置において、 前記各々の処理手段(1)は、自己の処理手段内の記憶
    手段と他の処理手段内の記憶手段とをアクセスするため
    の属性を示すアクセス情報をデータに関連付けて記憶す
    ると共に記憶手段(7)の用途に応じて割り付けられた
    複数種の仮想空間の夫々を識別する空間識別情報を記憶
    する情報記憶手段(3)と、 前記情報記憶手段(3)に記憶されたアクセス情報に基
    づき前記複数種の仮想空間に対応して仮想アドレスから
    実アドレスに変換する複数のアドレス変換手段(4)
    と、 前記情報記憶手段(3)に記憶された空間識別情報に基
    づき複数のアドレス変換手段(4)のいずれかを選択す
    る選択手段(5)と、 前記選択手段(5)が選択したアドレス変換手段(4)
    により変換された実アドレスに基づき記憶手段(7)の
    データを読み出して前記アクセス情報及び空間識別情報
    と共に前記他の処理手段に転送する転送制御手段(6)
    とを有することを特徴とするデータ転送処理装置。
  13. 【請求項13】 前記請求項12において、複数種の仮
    想空間は、全ての処理手段が共通に用いるグローバル空
    間と各々の処理手段が固有に用いるローカル空間とであ
    り、 前記複数種のアドレス変換手段(4)は、ローカル空間
    をアクセスするために仮想アドレスから実アドレスにア
    ドレス変換を行うローカルアドレス変換手段(4a)
    と、グローバル空間をアクセスするために仮想アドレス
    から実アドレスにアドレス変換を行うグローバルアドレ
    ス変換手段(4b)とからなることを特徴とするデータ
    転送処理装置。
  14. 【請求項14】 請求項12において、前記転送制御手
    段(6)は、前記アクセス情報と空間識別情報を含むヘ
    ッダとこのヘッダに関連付けられたボディデータとから
    なるパケットで転送処理を行うことを特徴とするデータ
    転送処理装置。
  15. 【請求項15】 請求項12において、前記アクセス情
    報は、受信すべき処理手段の指定,データの読み出し又
    は書き込みの転送モード,ボディデータ長,送信アドレ
    ス,受信アドレスの情報を含むことを特徴とするデータ
    転送処理装置。
  16. 【請求項16】 請求項12において、前記情報記憶手
    段(3)のどの位置までアクセス情報を書き込んだかを
    示す書込ポインタ部(16)と、 書込ポインタ部(16)のポインタ値をインクリメント
    することにより情報記憶手段(3)に順次前記アクセス
    情報を書き込む情報書込手段(8)を設けたことを特徴
    とするデータ転送処理装置。
  17. 【請求項17】 請求項16において、情報記憶手段
    (3)のどの位置までデータの転送処理を終了したかを
    示す読出ポインタ部(15)と、 前記情報書込手段(8)によりアクセス情報の書き込み
    が終了した後に、読出ポインタ部(15)の読出ポイン
    タ値が書込ポインタ部(16)の書込ポインタ値に一致
    するか否かを判定し、読出ポインタ値が書込ポインタ値
    に一致しない場合には、読出ポインタ値が書込ポインタ
    値に一致するまでデータの読出処理を行うネットワーク
    転送制御手段(11)を設けたことを特徴とするデータ
    転送処理装置。
  18. 【請求項18】 請求項14において、前記記憶手段
    (7)と通信手段(2)との間にヘッダとデータを保持
    するデータバッファ(17)を設け、前記転送制御手段
    (6)は、データバッファ(17)に情報記憶手段
    (3)からヘッダを読み出し、このヘッダに基づき前記
    記憶手段(7)からヘッダに関連付けられたボディデー
    タを読み出すことを特徴とするデータ転送処理装置。
  19. 【請求項19】 請求項12において、仮想アドレスか
    ら実アドレスに変換するか否かを示すアドレス変換制御
    信号を入力しこのアドレス変換制御信号に応じて仮想ア
    ドレスと選択手段(5)からの実アドレスとのいずれか
    一方を選択する選択回路(24)を設けたことを特徴と
    するデータ転送処理装置。
  20. 【請求項20】 請求項13において、前記ローカルア
    ドレス変換テーブル(4a)とグローバルアドレス変換
    テーブル(4b)とに記憶される情報は、データの書き
    込み及び読み出しが無効であることを示す無効ビットと
    書き込みアクセスを禁止するか否かを示すアクセス保護
    ビットとを含むことを特徴とするデータ転送処理装置。
  21. 【請求項21】 請求項12において、データを送信す
    べき送信処理手段の仮想空間とデータを受信すべき受信
    処理手段との仮想空間の相互間のデータの書き込み又は
    読み出し応答アクセスの許可を制御する空間許可制御部
    (30)を設けたことを特徴とするデータ転送処理装
    置。
  22. 【請求項22】 請求項21において、前記空間許可
    制御部(30)は、前記送信処理手段及び受信処理手段
    の仮想空間の相互間でデータの転送を許可するか否か示
    すための許可フラグを発生する許可フラグ部(34)
    と、許可フラグ部(34)からの許可フラグと書き込み
    又は読み出し応答の転送モード,送信空間識別情報,受
    信空間識別情報とを参照して仮想空間の相互間のデータ
    転送の許可を判定する空間許可判定部(35)とを有す
    ることを特徴とするデータ転送処理装置。
  23. 【請求項23】 請求項22において、前記仮想空間の
    相互間でデータの書き込みの許可又は不許可を登録した
    書込不許可テーブル(31)と、仮想空間の相互間でデ
    ータの読み出し応答の許可又は不許可を登録した読出不
    許可テーブル(32)と、仮想空間の相互間でデータの
    書き込み及び読み出し応答の許可を登録した許可テーブ
    ル(33)とを有し、前記空間許可判定部(35)は、
    前記許可フラグ,転送モード,送信空間識別情報,受信
    空間識別情報に応じたテーブルを参照して仮想空間の相
    互間のデータ転送の許可を判定することを特徴とするデ
    ータ転送処理装置。
JP04338504A 1992-12-18 1992-12-18 データ転送処理方法及びデータ転送処理装置 Expired - Fee Related JP3098344B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP04338504A JP3098344B2 (ja) 1992-12-18 1992-12-18 データ転送処理方法及びデータ転送処理装置
EP93306728A EP0603994B1 (en) 1992-12-18 1993-08-24 Method and apparatus for transferring and processing data
DE69329104T DE69329104T2 (de) 1992-12-18 1993-08-24 Verfahren und Anordnung zum Übertragen und Verarbeiten von Daten
US08/951,295 US5822785A (en) 1992-12-18 1997-10-16 Data transfer using local and global address translation and authorization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04338504A JP3098344B2 (ja) 1992-12-18 1992-12-18 データ転送処理方法及びデータ転送処理装置

Publications (2)

Publication Number Publication Date
JPH06187297A true JPH06187297A (ja) 1994-07-08
JP3098344B2 JP3098344B2 (ja) 2000-10-16

Family

ID=18318784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04338504A Expired - Fee Related JP3098344B2 (ja) 1992-12-18 1992-12-18 データ転送処理方法及びデータ転送処理装置

Country Status (4)

Country Link
US (1) US5822785A (ja)
EP (1) EP0603994B1 (ja)
JP (1) JP3098344B2 (ja)
DE (1) DE69329104T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297646A (ja) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk 並列計算機
JPH08297647A (ja) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk 並列計算機
US6816929B2 (en) 2000-06-21 2004-11-09 Nec Electronics Corporation Data transfer control method and controller for universal serial bus interface

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US5942423A (en) * 1995-06-07 1999-08-24 Massachusetts Institute Of Technology Conversion of compactin to pravastatin by actinomadura
FR2737030B1 (fr) * 1995-07-21 1997-08-14 Bull Sa Procede de transfert de messages dans un systeme informatique multinodal
US5862357A (en) * 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
JPH11122301A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
JP3720981B2 (ja) * 1998-06-15 2005-11-30 日本電気株式会社 マルチプロセッサシステム
US6389478B1 (en) 1999-08-02 2002-05-14 International Business Machines Corporation Efficient non-contiguous I/O vector and strided data transfer in one sided communication on multiprocessor computers
JP4317296B2 (ja) 1999-09-17 2009-08-19 株式会社ターボデータラボラトリー 並列コンピュータのアーキテクチャおよびこのアーキテクチャを利用した情報処理ユニット
JP3719897B2 (ja) * 2000-02-29 2005-11-24 富士通株式会社 データ転送装置、データ転送方法及び記録媒体
JP2001337854A (ja) * 2000-05-24 2001-12-07 Fujitsu Ltd データ連携システム
DE10163342A1 (de) * 2001-12-21 2003-07-10 Elektro Beckhoff Gmbh Unterneh Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer
ATE491991T1 (de) * 2003-04-04 2011-01-15 Oracle America Inc Mehrknoten system, bei dem die globale adresse, die durch ein verarbeitungsuntersystem erzeugt wird, globale-zu-lokale übersetzungsinformationen miteinschliesst
US7363462B2 (en) * 2003-04-04 2008-04-22 Sun Microsystems, Inc. Performing virtual to global address translation in processing subsystem
US7765381B2 (en) * 2003-04-04 2010-07-27 Oracle America, Inc. Multi-node system in which home memory subsystem stores global to local address translation information for replicating nodes
US20050144422A1 (en) * 2003-12-30 2005-06-30 Mcalpine Gary L. Virtual to physical address translation
US8270194B2 (en) * 2009-04-07 2012-09-18 Marvell World Trade Ltd. Distributed flash memory storage manager systems
US8289981B1 (en) * 2009-04-29 2012-10-16 Trend Micro Incorporated Apparatus and method for high-performance network content processing
JP5573829B2 (ja) * 2011-12-20 2014-08-20 富士通株式会社 情報処理装置およびメモリアクセス方法
JP6344675B2 (ja) 2014-08-12 2018-06-20 華為技術有限公司Huawei Technologies Co.,Ltd. ファイル管理方法、分散記憶システムおよび管理ノード

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems
US4149242A (en) * 1977-05-06 1979-04-10 Bell Telephone Laboratories, Incorporated Data interface apparatus for multiple sequential processors
EP0059731A4 (en) * 1980-09-23 1985-10-01 Western Electric Co PROCESSOR CONNECTION SYSTEM.
US4455647A (en) * 1982-06-14 1984-06-19 Siemens Corporation Apparatus for establishing multi-address connections
US4485438A (en) * 1982-06-28 1984-11-27 Myrmo Erik R High transfer rate between multi-processor units
US4881164A (en) * 1983-12-30 1989-11-14 International Business Machines Corporation Multi-microprocessor for controlling shared memory
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US5182803A (en) * 1986-12-12 1993-01-26 Heidelberger Druckmaschinen Ag System for inputting and/or outputting signals of a digital control system for a printing machine including a digital filter
IT1223142B (it) * 1987-11-17 1990-09-12 Honeywell Bull Spa Sistema multiprocessore di elaborazione con multiplazione di dati globali
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
JPH02202652A (ja) * 1989-02-01 1990-08-10 Hitachi Ltd 多重仮想記憶管理方式
US5036459A (en) * 1989-03-09 1991-07-30 U.S. Philips Corporation Multi-processor computer system with distributed memory and an interprocessor communication mechanism, and method for operating such mechanism
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
JP2584113B2 (ja) * 1989-07-21 1997-02-19 松下電器産業株式会社 データ転送方法及びデータ転送装置
DE69022716T2 (de) * 1990-03-19 1996-03-14 Bull Hn Information Syst Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
US5319761A (en) * 1991-08-12 1994-06-07 International Business Machines Corporation Directory look-aside table for a virtual storage system including means for minimizing synonym entries

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08297646A (ja) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk 並列計算機
JPH08297647A (ja) * 1995-04-26 1996-11-12 Kofu Nippon Denki Kk 並列計算機
US6816929B2 (en) 2000-06-21 2004-11-09 Nec Electronics Corporation Data transfer control method and controller for universal serial bus interface

Also Published As

Publication number Publication date
EP0603994B1 (en) 2000-07-26
EP0603994A2 (en) 1994-06-29
JP3098344B2 (ja) 2000-10-16
DE69329104T2 (de) 2000-12-14
DE69329104D1 (de) 2000-08-31
EP0603994A3 (en) 1995-11-22
US5822785A (en) 1998-10-13

Similar Documents

Publication Publication Date Title
JP2977688B2 (ja) マルチプロセッシング装置、方法、及びこれらに使用するプロセッサ
JP3098344B2 (ja) データ転送処理方法及びデータ転送処理装置
JP2974526B2 (ja) データ転送処理方法及びデータ転送処理装置
US6163834A (en) Two level address translation and memory registration system and method
US5574944A (en) System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
CA2111600C (en) Parallel processing system
US6345347B1 (en) Address protection using a hardware-defined application key
US5628023A (en) Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
US6813653B2 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
JP4295111B2 (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
JPS623359A (ja) 仮想記憶方式
JPH06187302A (ja) 転送要求キュー制御方式
US6687763B2 (en) ATAPI command receiving method
US6108694A (en) Memory disk sharing method and its implementing apparatus
US7136933B2 (en) Inter-processor communication systems and methods allowing for advance translation of logical addresses
US6986017B2 (en) Buffer pre-registration
US6961837B2 (en) Method and apparatus for address translation pre-fetch
JPH09167143A (ja) メッセージ受信制御方式
JPH05224956A (ja) プロセス間メッセージ通信方法
US20010007114A1 (en) Control apparatus and control method
JPH05204816A (ja) 連結テーブル内の格納データへの高効率アクセス方法
US7882166B2 (en) Inter-computer data transfer method and inter-computer network system
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
JPS626351A (ja) 記憶保護装置
JPH1078941A (ja) 並列計算機

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000725

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

Free format text: PAYMENT UNTIL: 20080811

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees