JPH07210520A - メモリアクセス機構 - Google Patents

メモリアクセス機構

Info

Publication number
JPH07210520A
JPH07210520A JP6023738A JP2373894A JPH07210520A JP H07210520 A JPH07210520 A JP H07210520A JP 6023738 A JP6023738 A JP 6023738A JP 2373894 A JP2373894 A JP 2373894A JP H07210520 A JPH07210520 A JP H07210520A
Authority
JP
Japan
Prior art keywords
memory
address
processor
field
register
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
JP6023738A
Other languages
English (en)
Other versions
JP3687990B2 (ja
Inventor
Keimei Fujii
啓明 藤井
Toshiaki Tarui
俊明 垂井
Naonobu Sukegawa
直伸 助川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP02373894A priority Critical patent/JP3687990B2/ja
Priority to US08/368,618 priority patent/US5898883A/en
Publication of JPH07210520A publication Critical patent/JPH07210520A/ja
Application granted granted Critical
Publication of JP3687990B2 publication Critical patent/JP3687990B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 並列計算機全体としての使用可能メモリ容量
を必要に応じて大きくし、かつ、アドレス空間を無駄な
く活用することにある。 【構成】 各プロセッサ(PU)が指定する固定長アド
レスに可変長のグローバル(G)/ローカル(L)配分
フィールドを設け、該フィールド(F)がLのとき、該
アドレスを、各PUが参照する自メモリの固有のL領域
のアドレスとし、前記配分FがGのとき、残りのアドレ
スを、PUのいくつかが所持しかつ相互に参照できるメ
モリのG領域の内のどのPUに属するG領域かを指定す
る論理PU番号(これは物理PU番号に変換される)F
と、該Fで指示されるPUの所持するメモリ上のアドレ
スを指定するオフセットFとし、このアドレスにより自
PUのメモリのLあるいはG領域へのアクセス、または
他PUのメモリのG領域へのアクセスを実行するメモリ
アクセスインタフェースを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列計算機のメモリア
クセス機構およびアドレッシング方式に係り、特に並列
計算機を構成する要素プロセッサ間で互いのメモリを参
照可能とする分散共有メモリ方式を実現するメモリアク
セス機構に関する。
【0002】
【従来の技術】計算機に対する高速処理性能への要求
は、演算プロセッサを複数台連携して使用する並列計算
機の登場を促した。ある並列計算機は、数台の演算プロ
セッサを有し、その数台の演算プロセッサで1つのメモ
リを共有して用いる形で構成された。この並列計算機を
TCMP(Tightly Coupled Mult
i−Processor)型の並列計算機と呼ぶ。一方
でTCMP型よりもより多くの演算プロセッサ、具体的
には数百台から数千台の演算プロセッサを有する並列計
算機も登場した。この並列計算機は、ハードウェア上の
実現の難易度の観点から、全演算プロセッサで1つのメ
モリを共有するような方式を取らずに、それぞれの演算
プロセッサが独立してメモリを有する方式をとったた
め、分散メモリ型の並列計算機と呼ばれている。
【0003】分散メモリ型の並列計算機はTCMP型の
並列計算機に比べて高性能を達成できる。しかし、(単
一演算プロセッサ、単一メモリを想定した)従来プログ
ラミングスタイルに基づくプログラムの移植性やプログ
ラミングの容易性などの観点から分散メモリ型の並列計
算機に問題点があるとの指摘も存在した。そこで、近年
では、分散メモリ型の並列計算機に対して、各演算プロ
セッサが互いに他の演算プロセッサが有するメモリを参
照できるようにする分散共有メモリ方式を導入する傾向
が高くなっている。分散共有メモリを実現するために
は、様々な課題が存在する。他の演算プロセッサが有す
るメモリをいかにして参照させるかというのも1つの課
題であるが、これはアドレッシングによって解決する。
具体的には、自らのアドレス空間に他の演算プロセッサ
が有するメモリをマッピングする。例えば、IBMが実
験的に試作した並列計算機であるRP3では、1985
年のInternational Conferenc
e on Parallel Processingの
予稿集782ページから789ページの予稿である“R
P3 Processor−Memory Eleme
nt”および特公平5−20776に開示されていると
おり、図4に示す形態のアドレスを用いて他の演算プロ
セッサが有するメモリを参照する。また、特開昭56−
155465でも同様に図11の形式のアドレスを用い
る方法が開示されている。図4のアドレスは、参照すべ
きメモリを有する演算プロセッサをプロセッサ番号フィ
ールド401で指定し、そのメモリ内のアドレスをオフ
セットフィールド402で指定する。また、図11のア
ドレスは参照すべきメモリを有する演算プロセッサの自
/他を1ビットのフィールド1101で指定し、他のプ
ロセッサにアクセスする際に参照すべきメモリを有する
演算プロセッサをプロセッサ番号フィールド1102で
指定し、そのメモリ内のアドレスをオフセットフィール
ド1103で指定し、自分が所有するメモリにアクセス
する際には、フィールド1102および1103を連結
したフィールド内容をアドレスとして使用する。
【0004】
【発明が解決しようとする課題】最大千台の演算プロセ
ッサを有する並列計算機の場合、分散共有メモリ方式を
実現するために32ビットのアドレスが図4に示す形態
をとれば、プロセッサ番号フィールド401には10ビ
ットを要する。すると、オフセットフィールド402は
22ビットしか残されないため、1つの演算プロセッサ
が有することのできるメモリ容量は最大で4メガバイト
と比較的少なくなってしまう。この時、並列計算機全体
としても最大で4ギガバイトのメモリ容量しか確保でき
ない。一方で、同数の演算プロセッサを有しながら分散
共有メモリ方式を採用しない分散メモリ型並列計算機
は、最大4テラバイトのメモリを持てる。さらに、図4
のようなアドレスを採用するというアーキテクチャの並
列計算機で十数台から数十台程度の演算プロセッサしか
搭載しないエントリモデルを用意した場合、プロセッサ
番号フィールド401としては4から6ビット程度しか
必要でないのに10ビットもの幅を与えられるため、多
くのアドレス空間を浪費してしまう。これは、図11の
ようなアドレスを採用するアーキテクチャにおいても問
題となる。以上のような問題点をふまえて、本発明の目
的は、並列計算機において分散共有メモリ方式を実現す
る際に、例えば32ビットという限られたアドレス空間
を使用しつつも、(1)並列計算機全体としての使用可
能メモリ容量を必要に応じて大きくし、かつ、(2)ア
ドレス空間を無駄なく活用することにある。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、並列計算機システムにおけるメモリアク
セス機構であり、固定長のアドレスに可変長のグローバ
ル/ローカル配分フィールドを設け、該フィールドがロ
ーカルに設定されたとき、該アドレスを、前記並列計算
機システムを構成する個々のプロセッサが参照する自メ
モリの固有のローカル領域のアドレスとし、前記グロー
バル/ローカル配分フィールドがグローバルに設定され
たとき、残りのアドレスを、前記並列計算機システムを
構成するプロセッサのいくつかが所持しかつ相互に参照
できるメモリのグローバル領域の内のどのプロセッサに
属するグローバル領域かを指定する可変長のプロセッサ
番号フィールドと、該フィールドで指示されるプロセッ
サの所持するメモリ上のアドレスを指定する可変長のオ
フセットフィールドとし、各プロセッサはメモリアクセ
スインタフェースを備え、該メモリアクセスインタフェ
ースは、前記グローバル/ローカル配分フィールドの内
容を判定する手段と、前記プロセッサ番号フィールドの
内容を抽出する手段と、前記オフセットフィールドの内
容を抽出する手段と、前記判定の結果がローカルのとき
前記ローカル領域のアドレスにより、また前記判定の結
果がグローバルで前記抽出した前記プロセッサ番号フィ
ールドの内容が自プロセッサを示すとき前記抽出したオ
フセットフィールドのアドレスにより自プロセッサのメ
モリに対するアクセスを開始する手段と、前記判定の結
果がグローバルで前記抽出した前記プロセッサ番号フィ
ールドの内容が他プロセッサを示すとき前記抽出したオ
フセットフィールドのアドレスにより他プロセッサのメ
モリに対するアクセスを開始する手段を備えるようにし
ている。また、前記グローバル/ローカル配分フィール
ドの内容を判定する手段は該フィールドに相当する部分
をマスクによって取り出すためのマスクレジスタを備
え、前記プロセッサ番号フィールドの内容を抽出する手
段は該フィールドの内容を抽出するための前記オフセッ
トフィールドのビット幅を示すレジスタを備え、前記オ
フセットフィールドの内容を抽出する手段は該オフセッ
トフィールドに相当する部分をマスクによって取り出す
ためのマスクレジスタを備え、前記各マスクレジスタの
内容および前記オフセットフィールドのビット幅を示す
レジスタの内容をプロセッサの指示により書き換え可能
に構成するようにしている。また、前記プロセッサ番号
フィールドの内容を論理的なプロセッサ番号とし、該プ
ロセッサ番号フィールドの内容である論理的なプロセッ
サ番号を物理的なプロセッサ番号に変換する手段を備
え、前記各アクセスを開始する手段は前記プロセッサ番
号フィールドの内容として前記変換で得られた物理的な
プロセッサ番号を用いるようにしている。また、前記グ
ローバル/ローカル配分フィールドの内容を判定する手
段は該フィールドに相当する部分をマスクによって取り
出すためのマスクレジスタを備え、前記プロセッサ番号
フィールドの内容を抽出する手段は該フィールドの内容
を抽出するための前記オフセットフィールドのビット幅
を示すレジスタを備え、前記オフセットフィールドの内
容を抽出する手段は該オフセットフィールドに相当する
部分をマスクによって取り出すためのマスクレジスタを
備え、前記プロセッサ番号フィールドの内容である論理
的なプロセッサ番号を物理的なプロセッサ番号に変換す
る手段はプロセッサ番号変換表を備え、前記各マスクレ
ジスタの内容および前記オフセットフィールドのビット
幅を示すレジスタの内容およびプロセッサ番号変換表を
プロセッサの指示により書き換え可能に構成するように
している。また、前記自プロセッサのメモリに対するア
クセスを開始する手段は、ローカル領域の先頭アドレス
を、前記ローカル領域が前記メモリ内に配置されたとき
の該メモリ内における該ローカルメモリ領域割当て部の
先頭アドレスに変換するためのアドレス加算情報を保持
するベースアドレスレジスタを備え、該ベースアドレス
レジスタを用いてローカルアドレスの実メモリ上アドレ
スへの変換を実現し、前記ベースアドレスレジスタの内
容をプロセッサの指示により書き換え可能に構成するよ
うにしている。
【0006】
【作用】上記手段により、並列計算機全体としての使用
可能メモリ容量を必要に応じて大きくし、かつ、アドレ
ス空間を無駄なく活用でき、また、プロセッサ番号フィ
ールドを可変長にすることにより分散共有メモリを実現
するプロセッサ数を可変にでき、各プロセッサに割り当
てられるグローバルメモリ領域の大きさも可変にでき
る。さらに、プロセッサ番号フィールドに論理プロセッ
サ番号を設定することにより小さなフィールド長でプロ
セッサの指定が実現でき、これによってプロセッサ当り
により大きなグローバルメモリ領域の用意ができる。ま
た、メモリアクセスインタフェース内のレジスタ等の内
容をプロセッサにより変更可能にしているため、アドレ
スの各フィールドに対する変更等をソフトウェアにより
行なうことができる。
【0007】
【実施例】先ず、本発明について、概略説明を行なう。
本発明では、各演算プロセッサが、自らが所有し自らの
みで参照可能なメモリ領域(以降このメモリ領域をロー
カル(Local)領域と呼ぶ。このLocal領域は
それぞれのプロセッサ固有のLocal領域からな
る。)と、各演算プロセッサの所有物として分散して存
在しながらも各演算プロセッサで相互に参照可能なメモ
リ領域(以降このメモリ領域をグローバル(Globa
l)領域と呼ぶ)を同時に参照でき、かつ、そのGlo
bal領域とLocal領域のアドレス空間における配
分を任意に設定できるようにするために、図3に示すよ
うに、固定長のアドレス中に可変長のGlobal/L
ocal配分フィールド301を設ける。このGlob
al/Local配分フィールド301のビット幅はソ
フトウェアで設定可能である。Global/Loca
l配分フィールドがLocalに設定されたとき、その
アドレスはプロセッサ固有のLocal領域のアドレス
指定のためのLocalアドレスとなる。また、Glo
bal/Local配分フィールドがGlobalに設
定されたとき、残りのアドレスは論理プロセッサ番号フ
ィールドとオフセットフィールドとなる。なお、論理プ
ロセッサ番号フィールドをプロセッサ番号フィールドと
してもよく、この場合、プロセッサ番号は物理プロセッ
サ番号でもよい。さらに、Global領域を任意台数
の演算プロセッサで相互に共有できるようにしてアドレ
ス空間の無駄を無くすために、図3に示すように、固定
長アドレス中に設ける論理プロセッサ番号フィールド3
02(意味的には図4のプロセッサ番号フィールド40
1に相当する)を可変長とする。この論理プロセッサ番
号フィールド302のビット幅もソフトウェアで設定可
能である。また、論理プロセッサ番号フィールド302
の内容である論理的なプロセッサ番号から物理的なプロ
セッサ番号への変換は、ハードウェアによって自動的に
行うが、番号変換時に参照する変換表はソフトウェアに
よって設定可能とする。
【0008】並列計算機全体としてのメモリ容量は、上
記のLocal領域が大きいほど大きくなる。これは、
Global領域の容量がそのままの大きさで並列計算
機全体としてのメモリ容量に反映されるのに対して、L
ocal領域の容量がその大きさ×演算プロセッサ台数
で並列計算機全体としてのメモリ容量に反映されるため
である。したがって、図3に示す可変長のGlobal
/Local配分フィールド301を用意すれば、先述
の(1)の課題を解決できる。例えば、32ビットアド
レスで、Global/Local配分フィールド30
1として1ビット用意すれば、Global領域として
2ギガバイト、Local領域として2ギガバイト×演
算プロセッサ台数のメモリが並列計算機全体として提供
可能になる。この時、千台の演算プロセッサを有する並
列計算機を想定すると、先述したとおり、図4のアドレ
スでは全体として4ギガバイトのメモリしか提供可能で
ないのに対して、図3のアドレスであれば2テラバイト
強のメモリを提供できる。
【0009】さらに、図3に示すように論理プロセッサ
番号フィールド302を可変長としたため、先述の
(2)の課題が解決できる。例えば、最大構成で千台の
演算プロセッサを有する並列計算機では、図4の方式の
32ビットアドレスでは、16台構成の(演算プロセッ
サ数を16台に制限)システムでも、プロセッサ番号フ
ィールド401は10ビットで固定されるため、演算プ
ロセッサあたり最大で4メガバイトのメモリしか有せな
いままであり、並列計算機全体として最大64メガバイ
トのメモリしか利用できない。一方、図3の方式で、仮
にGlobal/Local配分フィールド301の幅
を0ビットとして、全アドレス空間をGlobal領域
として利用したとしても、論理プロセッサ番号フィール
ド302を4ビットに制限できるため、演算プロセッサ
あたり256メガバイトのメモリを有することができ、
並列計算機全体として4ギガバイトのメモリを利用でき
る。
【0010】また、本発明は、図3の302のフィール
ド内容を物理的なプロセッサ番号でなく、論理的なプロ
セッサ番号としたことで、以降に述べるような利点も持
ち合わせている。
【0011】並列計算機では、システムとして用意され
ている演算プロセッサのうちのいくつかを選びだして利
用する分割運用という利用形態が許されている。例え
ば、図9では16台の要素プロセッサ(演算プロセッ
サ)のうち4台を選びだして利用している。この4台の
要素プロセッサ900、901、904、905の間で
メモリを相互参照しようとする場合、図9に示す形でそ
れぞれの要素プロセッサ900、901、904、90
5に論理プロセッサ番号0、1、2、3が割り振られる
ため、図3の論理プロセッサ番号フィールド302は2
ビットに制限できる。このとき、302のフィールド内
容が物理的なプロセッサ番号であったなら、物理プロセ
ッサ番号8以上を指定する必要がある場合も考えられ、
そのフィールド幅は4ビットにならざるをえない。上記
の分割運用と似た利用形態として、互いのメモリを参照
しあう要素プロセッサのグループをソフトウェア的に設
定してプログラムを処理する利用形態も考えられる。こ
の場合も分割運転時と同様の設定を行って互いのメモリ
を参照できるようになる。
【0012】次に、本発明の実施例を図によって説明す
る。まず、分散共有メモリ方式を採用する並列計算機を
構成する要素プロセッサの一例を図2に示す。要素プロ
セッサ201は、プログラム処理を行う命令プロセッサ
202、命令プロセッサ202に接続され、命令プロセ
ッサ202から出されるコマンド/アドレス/データの
組に従って、主記憶207、I/Oデバイス205、他
の要素プロセッサ201内の主記憶207などへのアク
セスを発行するメモリアクセスインタフェース203、
I/Oインタフェース204、メモリ制御ユニット20
6、他の要素プロセッサ201と要素プロセッサ間結合
網を介してデータの受渡しを行うネットワークインタフ
ェース208、I/Oインタフェース204に接続され
るI/Oデバイス205、メモリ制御ユニット206に
接続される主記憶207、および、メモリアクセスイン
タフェース203、I/Oインタフェース204、メモ
リ制御ユニット206、ネットワークインタフェース2
08を接続するバス209などから構成される。本発明
は、メモリアクセス機構を形成する一要素としてのメモ
リアクセスインタフェース203の構成に係る。
【0013】図1を用いて本発明に基づくメモリアクセ
スインタフェースの構成を説明する。図1における命令
プロセッサ202、メモリアクセスインタフェース20
3およびバス209の接続関係は先に図2の説明で述べ
たとおりである。命令プロセッサ202は、メモリアク
セス部101を介してアクセス要求をメモリアクセスイ
ンタフェース203に伝える。メモリアクセスインタフ
ェース203は、そのアクセス要求を、アクセス先を示
す値(アドレス)を格納するアドレスレジスタ102、
およびアクセスの種類を示す値(コマンド)を格納する
コマンドレジスタ104で受け、アクセスの種類によっ
てはアクセス要求と同時に伝えられるデータをデータレ
ジスタ103で受ける。メモリアクセスインタフェース
203は、アクセス要求に応じた処理を完了したのち、
必要に応じてアクセス結果としての結果データおよび完
了信号を、それぞれデータレジスタ105および完了信
号レジスタ106から命令プロセッサ202のメモリア
クセス部101に伝え、一連のメモリアクセス処理を完
了する。一方、メモリアクセスインタフェース203
は、該インタフェース203内のバスインタフェース1
10によって、バス209と接続され、該バス209の
プロトコルにしたがってメモリ制御ユニット206やI
/Oインタフェース204およびネットワークインタフ
ェース208などとデータやメモリアクセスコマンドな
ど必要な情報を受け渡しする。
【0014】メモリアクセスインタフェース203の内
部には、上記のアドレスレジスタ102、データレジス
タ103、コマンドレジスタ104、データレジスタ1
05、完了信号レジスタ106、バスインタフェース1
10の他に、図3に示すアドレス形式を実現するため
の、オフセット長表示レジスタ107、アドレスマスク
レジスタA 108、アドレスマスクレジスタB 10
9が存在する。また、メモリアクセスインタフェース2
03は、図3のアドレス形式における論理プロセッサ番
号フィールド302の値(論理プロセッサ番号)を実際
のアクセス先の要素プロセッサ201を示す物理プロセ
ッサ番号に変換するプロセッサ番号変換部116およ
び、そのプロセッサ番号変換部116の中にプロセッサ
番号変換表117を持ち、さらに、アクセス先アドレス
によってそれぞれ動作する他プロセッサ記憶アクセス部
120、自プロセッサ記憶アクセス部121、I/Oア
クセス部123を持つ。
【0015】他プロセッサ記憶アクセス部120は、ア
クセス先アドレスがGlobal領域でかつ、他要素プ
ロセッサ201が所有する主記憶207へのアクセスで
あるときに動作する。また、自プロセッサ記憶アクセス
部121は、アクセス先アドレスがLocal領域であ
るとき、または、Global領域でかつ、自要素プロ
セッサ201が所有する主記憶207へのアクセスであ
るときに動作する。この場合、さらに、そのアクセス先
アドレスがI/O領域であれば、自プロセッサ記憶アク
セス部121がI/Oアクセス部123を起動する。自
プロセッサ記憶アクセス部121は、内部にベースアド
レスレジスタ122を持つ。ベースアドレスレジスタ1
22は、Local領域のメモリへのアクセス時に、そ
のアクセス先アドレスを自プロセッサ内の主記憶アドレ
スに変換するための値を保持している。
【0016】メモリアクセスインタフェース203中の
オフセット長表示レジスタ107、アドレスマスクレジ
スタA 108、アドレスマスクレジスタB 109、
プロセッサ番号変換表117、および、ベースアドレス
レジスタ122は、メモリアクセスインタフェース20
3の内部バス124を介してバスインタフェース110
と接続しており、I/Oの形で命令プロセッサ202か
ら読み書きできるようになっている。したがって、これ
らの内容値は命令プロセッサ202からソフトウェアに
よって設定できる。
【0017】先にも述べたとおり、オフセット長表示レ
ジスタ107、アドレスマスクレジスタA 108、ア
ドレスマスクレジスタB 109は、図3に示すアドレ
ス形式を実現するための構成要素である。それぞれ、オ
フセット長表示レジスタ107は、アクセス先論理プロ
セッサ番号の割り出しに用いられ、アドレスマスクレジ
スタA 108は、Global/Local領域の判
定に用いられ、アドレスマスクレジスタB 109は、
Global領域アクセス時のアドレスオフセットの割
り出しに用いられる。次に、これらの機構を説明する。
アドレスマスクレジスタA 108は、アドレスレジス
タ102と同じビット幅を持つレジスタで、図3のアド
レス形式のGlobal/Local配分フィールド3
01に相当する位置のビットのみ1で、他のビットは総
て0であるような値を保持する。このレジスタ値とL1
01をとおして伝えられるアドレスレジスタ102のア
ドレス値で、AND器112において論理積がとられ、
その結果が比較器114において、0を示すレジスタ1
13と比較される。Global領域へのアクセスの場
合には、Global/Local配分フィールド30
1に相当する位置のビットは全て0とする。この比較結
果である一致信号L107に真値が出力された場合、そ
のアクセスがGlobal領域へのアクセスであると判
定する。
【0018】オフセット長表示レジスタ107は、図3
のアドレス形式におけるオフセットフィールド303の
ビット幅を示す。シフト器111は、このオフセット長
表示レジスタ107の値を1つの入力としてとる。シフ
ト器111のもう一方の入力は、AND器125で生成
される、L101をとおして伝えられるアドレスレジス
タ102のアドレス値とアドレスマスクレジスタA 1
08の各ビットの論理が反転した値との論理積である。
シフト器111は、AND器125からの入力値を、オ
フセット長表示レジスタ107が保持する値分のビット
だけ右シフトする。これによって、シフト器111の結
果値を伝える信号線L106は、アクセス先論理プロセ
ッサ番号値となる。アドレスマスクレジスタB 109
は、アドレスレジスタ102と同じビット幅を持つレジ
スタで、図3のアドレス形式のGlobal/Loca
l配分フィールド301および論理プロセッサ番号フィ
ールド302に相当する位置のビットのみ0で、他のビ
ットは総て1であるような値を保持する。このレジスタ
値とL101をとおして伝えられるアドレスレジスタ1
02のアドレス値で、AND器115において論理積が
とられる。その結果が信号線L110の値となるが、こ
れがGlobal領域アクセス時のアドレスオフセット
となる。信号線L106の値、すなわち、アクセス先論
理プロセッサ番号は、さらにプロセッサ番号変換部11
6に伝えられ、プロセッサ番号変換部116中でプロセ
ッサ番号変換表117を参照しながら、アクセス先物理
プロセッサ番号に変換される。このアクセス先物理プロ
セッサ番号値は信号線L109に伝えられる。なお、プ
ロセッサ番号変換表117は、図5に示すような、論理
プロセッサ番号フィールド501および物理プロセッサ
番号フィールド502からなるエントリで構成される。
この信号線L109の値、すなわち、アクセス先物理プ
ロセッサ番号値は比較器119で物理プロセッサ番号レ
ジスタ118の値と比較される。物理プロセッサ番号レ
ジスタ118の値は、このメモリアクセスインタフェー
ス203が存在する要素プロセッサ201の物理プロセ
ッサ番号である。比較器119の結果は、信号線L10
8に伝えられる。
【0019】メモリアクセスインタフェース203で
は、一致信号L107が真でかつ、一致信号L108が
偽であれば、この状態はアクセス先アドレスがGlob
al領域でかつ、他要素プロセッサ201が所有する主
記憶207へのアクセスである状態であるため、この状
態を伝える信号線L111によって他プロセッサ記憶ア
クセス部120が起動される。逆に、これ以外の状態の
場合、信号線L111によって自プロセッサ記憶アクセ
ス部121が起動される。他プロセッサ記憶アクセス部
120は、信号線L111を介して起動されると、その
時点で他プロセッサ記憶アクセス部120に入力されて
いる信号線L109(アクセス先物理プロセッサ番
号)、L110(アクセス先要素プロセッサ201上の
メモリアドレス)、L103(コマンド)、L102
(データ)上の情報を用いて、他の要素プロセッサ20
1上のメモリへのアクセスを開始すべく、これらの情報
をバスインタフェース110、バス209を介してネッ
トワークインタフェース208に伝える。その後、ネッ
トワークインタフェース208が他の要素プロセッサ2
01上のメモリへのアクセスを行う。
【0020】自プロセッサ記憶アクセス部121は、信
号線L111を介して起動されると、まず、その時点で
自プロセッサ記憶アクセス部121に入力されている信
号線L112の値(この値は、アドレスマスクレジスタ
A 108の内容とオール0を示すレジスタ113の内
容を2入力が一致する場合真値を出力する比較器126
で比較した結果生成される信号の論理を反転させた信号
とL107との論理積によって得られる)を検査し、そ
の値が真値であれば、その時点で自プロセッサ記憶アク
セス部121に入力されている信号線L110(メモリ
アドレス)、L103(コマンド)、L102(デー
タ)上の情報をバスインタフェース110、バス209
を介してメモリ制御ユニット206に伝える。その後、
メモリ制御ユニット206は、主記憶207をアクセス
する。一方、自プロセッサ記憶アクセス部121起動時
点で信号線L112の値が偽値であれば、次に、その時
点で自プロセッサ記憶アクセス部121に入力されてい
る信号線L101(メモリアドレス)の値を検査し、L
101の値がI/O領域の範囲にあれば、I/Oアクセ
ス部123を起動し、その時点で自プロセッサ記憶アク
セス部121に入力されている信号線L101(メモリ
アドレス)、L103(コマンド)、L102(デー
タ)上の情報をI/Oアクセス部123に伝える。I/
Oアクセス部123は、I/Oアクセスを開始すべく、
自プロセッサ記憶アクセス部121から伝えられた情報
をバスインタフェース110、バス209を介してI/
Oインタフェース204に伝える。その後、I/Oイン
タフェース204がI/Oアクセスを行う。自プロセッ
サ記憶アクセス部121起動時点で信号線L112の値
が偽値であり、かつ、信号線L101(メモリアドレ
ス)の値の検査の結果、その値がLocalのメモリ領
域の範囲にあれば、信号線L101(メモリアドレス)
の値に対して図7に示すようにベースアドレスレジスタ
122の値の加算を施し、その結果値L701および、
その時点で自プロセッサ記憶アクセス部121に入力さ
れている信号線L103(コマンド)、L102(デー
タ)上の情報をバスインタフェース110、バス209
を介してメモリ制御ユニット206に伝える。その後、
メモリ制御ユニット206は、主記憶207をアクセス
する。以上のアクセスの結果は、それぞれネットワーク
インタフェース208、メモリ制御ユニット206、I
/Oインタフェース204からバス209およびバスイ
ンタフェース110を介して、データレジスタ105お
よび完了信号レジスタ106に反映される。
【0021】次に、図3のアドレス形式によって実現さ
れるアドレスマップについて図6を用いて説明する。図
6に示したアドレスマップ601は、図3のアドレス形
式によって実現されるアドレスマップの一例である。図
3のアドレス形式において、Global/local
配分フィールド301として1ビットを用意し、論理プ
ロセッサ番号フィールド302として3ビット用意した
場合、図6のアドレスマップ601が実現できる。Gl
obal/Local配分フィールド301として1ビ
ットを設けたことで、アドレスマップ601は、Loc
al領域602とGlobal領域603に2等分され
る。32ビットアドレスの場合、図6に示すように、ア
ドレス(00000000)xから(7FFFFFF
F)xまでがGlobal領域603となり、アドレス
(80000000)xから(FFFFFFFF)xま
でがLocal領域602となる。このLocal領域
602の先頭アドレス(今の場合、(8000000
0)xになる)を、Adr.Bと定義する。
【0022】さらに、論理プロセッサ番号フィールド3
02として3ビット設けたことで、Global領域6
03は8等分され、それぞれ分散共有メモリを実現する
8台の論理要素プロセッサ(以降論理PUと略称する)
が所有するメモリへのアクセスを行うためのGloba
lメモリ領域606〜613として定義される。例え
ば、32ビットアドレスの場合、図6に示すように、ア
ドレス(00000000)xから(0FFFFFF
F)xまでが論理PU0に存在するGlobalメモリ
領域606、アドレス(10000000)xから(1
FFFFFFF)xまでが論理PU1に存在するGlo
balメモリ領域607といった具合に、論理PU7に
存在するGlobalメモリ領域613まで等間隔にア
ドレスが割り振られる。このようにGlobal領域
は、分散共有メモリを実現する論理PUごとに割り当て
られるGlobalメモリ領域606〜613に分割さ
れる。一方、Local領域は、このアドレスを参照す
る要素プロセッサが所持し、その要素プロセッサからの
みアクセス可能で他の要素プロセッサからはアクセスで
きないLocalなメモリを割り当てるLocalメモ
リ領域605とI/O領域604に分けられる。すなわ
ち、I/O領域604は、Local領域602に割り
当てられる。I/O領域604がLocal領域602
のどこに割り当てられるかは、ハードウェアごとに定義
される。
【0023】ところで、以上のようなアドレスマップ6
01のLocalメモリ領域605および各Globa
lメモリ領域606〜613に対して、実際に全領域に
メモリが割り当てられる訳ではない。メモリの割当て量
は、各要素プロセッサに実装される主記憶容量によって
左右される。図6のアドレスマップ601では、アドレ
スマップ601の軸(太線)の左右に線を入れた部分に
実際にメモリが割り当てられている。ここで、先に述べ
た8台の要素プロセッサのうち物理的な要素プロセッサ
番号が0の要素プロセッサ(物理要素プロセッサ0、以
降物理PU0と略称する)が所持する主記憶614がど
のようにアドレスマップ601に割り当てられているか
を説明する。ここでは、物理PU0でのアドレス参照を
仮定する。物理PU0内のプロセッサ番号変換表117
においては、論理PU番号0に物理PU番号0が対応づ
けられているとする。物理PU0内の主記憶614は、
Localメモリ領域に割り当てる部分615と、論理
PU0に存在するGlobalメモリ領域に割り当てる
部分616とに論理的に分割される。主記憶614固有
のアドレスとしては、アドレスAdr.Aを境界とし
て、アドレス(0)xから(Adr.A−1)までを論
理PU0に存在するGlobalメモリ領域に割り当て
る部分616とし、アドレスAdr.Aから最大アドレ
ス(Adr.max)までをLocalメモリ領域に割
り当てる部分615とする。主記憶部分615は、Lo
calメモリ領域605の先頭アドレスから主記憶部分
615の容量分のアドレスを占有して割り当てられる。
また、主記憶部分616は、論理PU0に存在するGl
obalメモリ領域606の先頭アドレスから主記憶部
分616の容量分のアドレスを占有して割り当てられ
る。上述の8台の要素プロセッサのうち物理PU0以外
の物理PUでは、物理PU0内の主記憶部分616は、
他のGlobalメモリ領域606〜613に割り当て
られている可能性がある。どのGlobalメモリ領域
606〜613に割り当てられているかは、各物理PU
上でのプロセッサ番号変換表117によって物理PU0
がどの論理PUに対応づけられているかによる。
【0024】ところで、図6のような主記憶614とア
ドレスマップ601の対応付けを行えば、Global
領域へのアクセスの際には、図1におけるL110のア
ドレスオフセットをそのまま主記憶アドレスとして用い
れば良い。また、Localメモリ領域へのアクセスの
際には、図1および図7で説明したL101のアドレス
への加算値を示すベースアドレスレジスタ122の値
を、(Adr.A−Adr.B)で与えれば良い。な
お、ベースアドレスレジスタ122の値、およびAd
r.Bはソフトウェア的に設定可能(Adr.Bは、ア
ドレスマスクレジスタA 108を設定することで決定
する)であるため、Adr.Aもソフトウェア的に設定
可能である。
【0025】メモリアクセスインタフェース203内に
は、ソフトウェアで値を設定可能な要素として、オフセ
ット長表示レジスタ107、アドレスマスクレジスタA
108、アドレスマスクレジスタB 109、ベース
アドレスレジスタ122、プロセッサ番号変換表117
が存在する。ベースアドレスレジスタ122の設定値に
ついては、直前の段落で述べたとおりである。ここで
は、オフセット長表示レジスタ107、アドレスマスク
レジスタA 108、アドレスマスクレジスタB 10
9の設定値について図8を用いて述べる。プロセッサ番
号変換表117の設定値については、後に図9および図
10によって説明する。
【0026】32ビットアドレスのもと、Global
領域とLocal領域の配分を、Global領域:L
ocal領域=1:3とし、分散共有メモリを実現する
要素プロセッサ数を16台とするには、図8に示すよう
に、アドレス形式におけるGlobal/Local配
分フィールド301を2ビット幅、論理プロセッサ番号
フィールド302を4ビット幅とすればよい。この時、
オフセットフィールド303は26ビット幅となる。こ
のアドレス形式を実現するためには、オフセット長表示
レジスタ107にオフセットフィールド303のビット
幅である26をセットすればよい。また、アドレスマス
クレジスタA 108を、図8に示すように、アドレス
形式におけるGlobal/Local配分フィールド
301に相当する左端から2ビット分のビット位置の内
容のみ1で、他のビット位置の内容は0であるような状
態にセットすればよい。また、アドレスマスクレジスタ
B 109を、同じく図8に示すように、アドレス形式
におけるGlobal/Local配分フィールド30
1および論理プロセッサ番号フィールド302に相当す
る左端から6ビット分のビット位置の内容のみ0で、他
のビット位置の内容は1であるような状態にセットすれ
ばよい。
【0027】続いて、プロセッサ番号変換表117の設
定例について述べる。図9の916は、先の本発明の概
略説明のところで述べた並列計算機の分割運転における
分割されたシステム、あるいは、ソフトウェア的な概念
である要素プロセッサグループを示す。以降の説明にお
いて、分割されたシステム、あるいは、要素プロセッサ
グループ内の閉じた世界だけで分散共有メモリを実現す
るとき、916をメモリ共有グループと呼ぶ。なお、図
9は、並列計算機を構成する物理PUのみを抽出して、
並列計算機を抽象的に表現している。本来の並列計算機
は図9に示した各物理PUを互いに結合する相互結合網
などを持つが、ここでは説明の範囲外ということで省略
した。
【0028】図9の並列計算機は、物理PU0 900
から物理PU15 915までの16台で構成される。
そして、メモリ共有グループとして動作可能な916
は、このうち物理PU0 900、物理PU1 90
1、物理PU4 904、物理PU5 905の4台で
構成される。916内では、ソフトウェア的な便宜上、
916内の要素プロセッサを指定する手段として論理プ
ロセッサ番号が採用される。ここでは、物理PU0 9
00から見て、物理PU0 900が論理PU0に対応
し、物理PU1 901が論理PU1に対応し、物理P
U4 904が論理PU2に対応し、物理PU5 90
5が論理PU3に対応している。916がメモリ共有グ
ループとして動作する際には、この論理PU番号と物理
PU番号の対応関係を示す図10のような変換表をプロ
セッサ番号変換表117に設定する。図10の変換表
は、物理PU0 900内でのみ有効であり、物理PU
1 901、物理PU4 904、物理PU5 905
内では、それぞれ個別に同様の変換表が生成される。
【0029】次に、オフセット長表示レジスタ107、
アドレスマスクレジスタA 108、アドレスマスクレ
ジスタB 109、プロセッサ番号変換表117の特別
な設定例を示す。アドレスマップ601をすべてLoc
al領域602として使いたい場合、その要素プロセッ
サは、オフセット長表示レジスタ107を32、アドレ
スマスクレジスタA 108の各ビットをオール0、ア
ドレスマスクレジスタB 109の各ビットをオール1
とし、プロセッサ番号変換表117において論理PU番
号0に対応する物理PU番号を自らの物理PU番号とす
る。
【0030】ところで、これまでに説明したメモリアク
セスインタフェース203内の、ソフトウェアで値を設
定可能な要素である、オフセット長表示レジスタ10
7、アドレスマスクレジスタA 108、アドレスマス
クレジスタB 109、ベースアドレスレジスタ12
2、プロセッサ番号変換表117は、上記のようなメモ
リ共有グループが定義され、システムとして動作を開始
する際に、メモリ共有グループを構成する全要素プロセ
ッサで一斉に設定される必要がある。ただし、プロセッ
サ番号変換表117については、メモリ共有グループの
動作開始後もプログラムの都合などによって設定変更可
能である。以上が本発明に係る実施例である。
【0031】
【発明の効果】本発明によれば、多数台のプロセッサを
有する並列計算機においても、必要に応じたアドレス空
間の配分を可能にすることができる。また、全体として
限られたアドレス空間を効率良く、無駄なく利用するこ
とができる。
【図面の簡単な説明】
【図1】実施例におけるメモリアクセスインタフェース
の構成を示す図である。
【図2】実施例における並列計算機を構成する要素プロ
セッサの構成例を示す図である。
【図3】実施例におけるアドレス形式を示す図である。
【図4】従来の分散共有メモリを実現する並列計算機で
採用されていたアドレス形式を示す図である。
【図5】実施例におけるメモリアクセスインタフェース
が所持するプロセッサ番号変換表のエントリを示す図で
ある。
【図6】実施例におけるアドレス形式が実現するアドレ
スマップおよびそのアドレスマップへの主記憶アドレス
とI/Oアドレスの割付けを説明する図である。
【図7】実施例におけるメモリアクセスインタフェース
内の自プロセッサ記憶アクセス部におけるアドレス計算
を説明する図である。
【図8】実施例におけるアドレス形式の可変値の設定例
と、その設定をメモリアクセス機構に反映させるための
メモリアクセスインタフェース内のアドレスマスクレジ
スタAおよびアドレスマスクレジスタBの設定を示す図
である。
【図9】実施例におけるメモリ共有グループの説明をす
るための図である。
【図10】実施例におけるメモリアクセスインタフェー
スが所持するプロセッサ番号変換表の設定例を示す図で
ある。
【図11】従来の分散共有メモリを実現する並列計算機
で採用されていたアドレス形式を示す図である。
【符号の説明】
124 内部バス 209 バス 601 アドレスマップ 614 物理PU0内主記憶 615 物理PU0内でLocalメモリ領域に割り当
てられる物理PU0内主記憶の一部 616 Global領域に割り当てられる物理PU0
内主記憶の一部 916 メモリ共有グループとして動作する可能性のあ
る、並列計算機の分割運転における分割されたシステ
ム、あるいは、ソフトウェア的に定義される要素プロセ
ッサグループ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 並列計算機システムにおけるメモリアク
    セス機構であって、 固定長のアドレスに可変長のグローバル/ローカル配分
    フィールドを設け、該フィールドがローカルに設定され
    たとき、該アドレスを、前記並列計算機システムを構成
    する個々のプロセッサが参照する自メモリの固有のロー
    カル領域のアドレスとし、 前記グローバル/ローカル配分フィールドがグローバル
    に設定されたとき、残りのアドレスを、前記並列計算機
    システムを構成するプロセッサのいくつかが所持しかつ
    相互に参照できるメモリのグローバル領域の内のどのプ
    ロセッサに属するグローバル領域かを指定する可変長の
    プロセッサ番号フィールドと、該フィールドで指示され
    るプロセッサの所持するメモリ上のアドレスを指定する
    可変長のオフセットフィールドとし、 各プロセッサはメモリアクセスインタフェースを備え、
    該メモリアクセスインタフェースは、前記グローバル/
    ローカル配分フィールドの内容を判定する手段と、前記
    プロセッサ番号フィールドの内容を抽出する手段と、前
    記オフセットフィールドの内容を抽出する手段と、前記
    判定の結果がローカルのとき前記ローカル領域のアドレ
    スにより、また前記判定の結果がグローバルで前記抽出
    した前記プロセッサ番号フィールドの内容が自プロセッ
    サを示すとき前記抽出したオフセットフィールドのアド
    レスにより自プロセッサのメモリに対するアクセスを開
    始する手段と、前記判定の結果がグローバルで前記抽出
    した前記プロセッサ番号フィールドの内容が他プロセッ
    サを示すとき前記抽出したオフセットフィールドのアド
    レスにより他プロセッサのメモリに対するアクセスを開
    始する手段を備えることを特徴とするメモリアクセス機
    構。
  2. 【請求項2】 請求項1記載のメモリアクセス機構にお
    いて、 前記グローバル/ローカル配分フィールドの内容を判定
    する手段は該フィールドに相当する部分をマスクによっ
    て取り出すためのマスクレジスタを備え、 前記プロセッサ番号フィールドの内容を抽出する手段は
    該フィールドの内容を抽出するための前記オフセットフ
    ィールドのビット幅を示すレジスタを備え、 前記オフセットフィールドの内容を抽出する手段は該オ
    フセットフィールドに相当する部分をマスクによって取
    り出すためのマスクレジスタを備え、 前記各マスクレジスタの内容および前記オフセットフィ
    ールドのビット幅を示すレジスタの内容をプロセッサの
    指示により書き換え可能に構成したことを特徴とするメ
    モリアクセス機構。
  3. 【請求項3】 請求項1記載のメモリアクセス機構にお
    いて、 前記プロセッサ番号フィールドの内容を論理的なプロセ
    ッサ番号とし、該プロセッサ番号フィールドの内容であ
    る論理的なプロセッサ番号を物理的なプロセッサ番号に
    変換する手段を備え、前記各アクセスを開始する手段は
    前記プロセッサ番号フィールドの内容として前記変換で
    得られた物理的なプロセッサ番号を用いることを特徴と
    するメモリアクセス機構。
  4. 【請求項4】 請求項3記載のメモリアクセス機構にお
    いて、 前記グローバル/ローカル配分フィールドの内容を判定
    する手段は該フィールドに相当する部分をマスクによっ
    て取り出すためのマスクレジスタを備え、 前記プロセッサ番号フィールドの内容を抽出する手段は
    該フィールドの内容を抽出するための前記オフセットフ
    ィールドのビット幅を示すレジスタを備え、 前記オフセットフィールドの内容を抽出する手段は該オ
    フセットフィールドに相当する部分をマスクによって取
    り出すためのマスクレジスタを備え、 前記プロセッサ番号フィールドの内容である論理的なプ
    ロセッサ番号を物理的なプロセッサ番号に変換する手段
    はプロセッサ番号変換表を備え、 前記各マスクレジスタの内容および前記オフセットフィ
    ールドのビット幅を示すレジスタの内容およびプロセッ
    サ番号変換表をプロセッサの指示により書き換え可能に
    構成したことを特徴とするメモリアクセス機構。
  5. 【請求項5】 請求項2または請求項4記載のメモリア
    クセス機構において、 前記自プロセッサのメモリに対するアクセスを開始する
    手段は、ローカル領域の先頭アドレスを、前記ローカル
    領域が前記メモリ内に配置されたときの該メモリ内にお
    ける該ローカルメモリ領域割当て部の先頭アドレスに変
    換するためのアドレス加算情報を保持するベースアドレ
    スレジスタを備え、該ベースアドレスレジスタを用いて
    ローカルアドレスの実メモリ上アドレスへの変換を実現
    し、前記ベースアドレスレジスタの内容をプロセッサの
    指示により書き換え可能に構成したことを特徴とするメ
    モリアクセス機構。
JP02373894A 1994-01-25 1994-01-25 メモリアクセス機構 Expired - Lifetime JP3687990B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP02373894A JP3687990B2 (ja) 1994-01-25 1994-01-25 メモリアクセス機構
US08/368,618 US5898883A (en) 1994-01-25 1995-01-04 Memory access mechanism for a parallel processing computer system with distributed shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02373894A JP3687990B2 (ja) 1994-01-25 1994-01-25 メモリアクセス機構

Publications (2)

Publication Number Publication Date
JPH07210520A true JPH07210520A (ja) 1995-08-11
JP3687990B2 JP3687990B2 (ja) 2005-08-24

Family

ID=12118657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02373894A Expired - Lifetime JP3687990B2 (ja) 1994-01-25 1994-01-25 メモリアクセス機構

Country Status (2)

Country Link
US (1) US5898883A (ja)
JP (1) JP3687990B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323591A (ja) * 2006-06-05 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> データ転送制御装置、及びデータ転送制御プログラム
JP2008305201A (ja) * 2007-06-07 2008-12-18 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム
JP2010165022A (ja) * 2009-01-13 2010-07-29 Ricoh Co Ltd プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体
CN116150058A (zh) * 2023-04-17 2023-05-23 合肥芯荣微电子有限公司 一种基于axi总线的并发传输模块和方法

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307751A (ja) * 1997-05-09 1998-11-17 Hitachi Ltd 並列計算機におけるポインタ制御によるデータ転送装置
US6154787A (en) * 1998-01-21 2000-11-28 Unisys Corporation Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed
US6128690A (en) * 1998-03-24 2000-10-03 Compaq Computer Corporation System for remote memory allocation in a computer having a verification table contains information identifying remote computers which are authorized to allocate memory in said computer
US6339808B1 (en) * 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6408382B1 (en) 1999-10-21 2002-06-18 Bops, Inc. Methods and apparatus for abbreviated instruction sets adaptable to configurable processor architecture
JP3800903B2 (ja) * 2000-02-17 2006-07-26 株式会社日立製作所 記憶装置及びそのアクセス制御方法
TW490310B (en) * 2000-03-21 2002-06-11 Sony Computer Entertainment Inc Entertainment apparatus, storage medium, and method of deciding weather
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US7111176B1 (en) * 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
DE10113577A1 (de) 2001-03-20 2003-01-09 Sap Ag Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems
GB2417111B (en) * 2002-04-22 2006-08-16 Micron Technology Inc Providing a register file memory with local addressing in a SIMD parallel processor
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
CN1764905A (zh) * 2003-03-25 2006-04-26 皇家飞利浦电子股份有限公司 借助于偏移量在共享存储器中寻址数据的方法
US7039763B2 (en) * 2003-04-11 2006-05-02 Intel Corporation Apparatus and method to share a cache memory
US7260539B2 (en) * 2003-04-25 2007-08-21 At&T Corp. System for low-latency animation of talking heads
US20060080514A1 (en) * 2004-10-08 2006-04-13 International Business Machines Corporation Managing shared memory
US7865570B2 (en) * 2005-08-30 2011-01-04 Illinois Institute Of Technology Memory server
US7493468B2 (en) * 2006-06-01 2009-02-17 International Business Machines Corporation Method for broadcasting instructions/data to a plurality of processors in a multiprocessor device via aliasing
US20080098191A1 (en) * 2006-10-20 2008-04-24 International Business Machines Corporation Determining code efficiency by monitoring memory reallocation
US8982140B2 (en) * 2010-09-24 2015-03-17 Nvidia Corporation Hierarchical memory addressing
EP2662771A4 (en) * 2011-01-07 2014-05-21 Fujitsu Ltd PLANNING PROCESS AND MULTI-CORE PROCESSOR SYSTEM
US9176669B2 (en) * 2013-03-15 2015-11-03 Silicon Graphics International Corp. Address resource mapping in a shared memory computer system
CN106385418B (zh) * 2016-09-21 2019-11-12 杭州迪普科技股份有限公司 一种传输私有数据的方法及装置
US11126568B2 (en) * 2016-09-30 2021-09-21 Intel Corporation Object coherence in distributed shared memory systems
US11163609B2 (en) * 2019-04-02 2021-11-02 Sap Se High-performance memory allocator

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6059619B2 (ja) * 1980-05-01 1985-12-26 日本電気株式会社 記憶装置分散形マルチプロセツサシステム
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US5093913A (en) * 1986-12-22 1992-03-03 At&T Laboratories Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
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.
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323591A (ja) * 2006-06-05 2007-12-13 Nippon Telegr & Teleph Corp <Ntt> データ転送制御装置、及びデータ転送制御プログラム
JP2008305201A (ja) * 2007-06-07 2008-12-18 Nippon Telegr & Teleph Corp <Ntt> ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム
JP2010165022A (ja) * 2009-01-13 2010-07-29 Ricoh Co Ltd プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体
CN116150058A (zh) * 2023-04-17 2023-05-23 合肥芯荣微电子有限公司 一种基于axi总线的并发传输模块和方法
CN116150058B (zh) * 2023-04-17 2023-06-23 合肥芯荣微电子有限公司 一种基于axi总线的并发传输模块和方法

Also Published As

Publication number Publication date
JP3687990B2 (ja) 2005-08-24
US5898883A (en) 1999-04-27

Similar Documents

Publication Publication Date Title
JPH07210520A (ja) メモリアクセス機構
US5247673A (en) Multiprocessor system having distributed shared resources and dynamic global data replication
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
US5043873A (en) Method of parallel processing for avoiding competition control problems and data up dating problems common in shared memory systems
JP2625385B2 (ja) マルチプロセッサシステム
JP3470951B2 (ja) 非一様メモリ・アクセス・コンピュータ・システム及びその操作方法
US6421775B1 (en) Interconnected processing nodes configurable as at least one non-uniform memory access (NUMA) data processing system
EP0497600B1 (en) Memory access method and apparatus
JP2974526B2 (ja) データ転送処理方法及びデータ転送処理装置
EP0553743A1 (en) A cache controller
JPH11232173A (ja) ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム
JPH0816470A (ja) 並列計算機
US7117338B2 (en) Virtual memory address translation control by TLB purge monitoring
US5440708A (en) Microprocessor and storage management system having said microprocessor
JPS5868286A (ja) キヤツシユメモリおよびその作動方法
JPH1173365A (ja) データ移動操作を最適化する方法
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JPH04288643A (ja) マルチプロセッサシステムのメモリマッピング方式
JPS58201166A (ja) マルチプロセツサ方式
JP2602241B2 (ja) 並列計算機
JPH011049A (ja) 並列計算機
JP2785738B2 (ja) 分散メモリ型マルチプロセッサ情報処理システム
JPS63240651A (ja) キヤツシユメモリ
JPH04291642A (ja) キャッシュ制御方式
JPH03252856A (ja) プログラムの処理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040127

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050607

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080617

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

EXPY Cancellation because of completion of term