JP3687990B2 - メモリアクセス機構 - Google Patents
メモリアクセス機構 Download PDFInfo
- Publication number
- JP3687990B2 JP3687990B2 JP02373894A JP2373894A JP3687990B2 JP 3687990 B2 JP3687990 B2 JP 3687990B2 JP 02373894 A JP02373894 A JP 02373894A JP 2373894 A JP2373894 A JP 2373894A JP 3687990 B2 JP3687990 B2 JP 3687990B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- address
- memory
- field
- contents
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
Description
【産業上の利用分野】
本発明は、並列計算機のメモリアクセス機構およびアドレッシング方式に係り、特に並列計算機を構成する要素プロセッサ間で互いのメモリを参照可能とする分散共有メモリ方式を実現するメモリアクセス機構に関する。
【0002】
【従来の技術】
計算機に対する高速処理性能への要求は、演算プロセッサを複数台連携して使用する並列計算機の登場を促した。ある並列計算機は、数台の演算プロセッサを有し、その数台の演算プロセッサで1つのメモリを共有して用いる形で構成された。この並列計算機をTCMP(Tightly Coupled Multi−Processor)型の並列計算機と呼ぶ。
一方でTCMP型よりもより多くの演算プロセッサ、具体的には数百台から数千台の演算プロセッサを有する並列計算機も登場した。この並列計算機は、ハードウェア上の実現の難易度の観点から、全演算プロセッサで1つのメモリを共有するような方式を取らずに、それぞれの演算プロセッサが独立してメモリを有する方式をとったため、分散メモリ型の並列計算機と呼ばれている。
【0003】
分散メモリ型の並列計算機はTCMP型の並列計算機に比べて高性能を達成できる。しかし、(単一演算プロセッサ、単一メモリを想定した)従来プログラミングスタイルに基づくプログラムの移植性やプログラミングの容易性などの観点から分散メモリ型の並列計算機に問題点があるとの指摘も存在した。そこで、近年では、分散メモリ型の並列計算機に対して、各演算プロセッサが互いに他の演算プロセッサが有するメモリを参照できるようにする分散共有メモリ方式を導入する傾向が高くなっている。
分散共有メモリを実現するためには、様々な課題が存在する。他の演算プロセッサが有するメモリをいかにして参照させるかというのも1つの課題であるが、これはアドレッシングによって解決する。具体的には、自らのアドレス空間に他の演算プロセッサが有するメモリをマッピングする。例えば、IBMが実験的に試作した並列計算機であるRP3では、1985年のInternational Conference on Parallel Processingの予稿集782ページから789ページの予稿である“RP3 Processor−Memory Element”および特公平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領域からなる。)と、各演算プロセッサの所有物として分散して存在しながらも各演算プロセッサで相互に参照可能なメモリ領域(以降このメモリ領域をグローバル(Global)領域と呼ぶ)を同時に参照でき、かつ、そのGlobal領域とLocal領域のアドレス空間における配分を任意に設定できるようにするために、図3に示すように、固定長のアドレス中に可変長のGlobal/Local配分フィールド301を設ける。このGlobal/Local配分フィールド301のビット幅はソフトウェアで設定可能である。
Global/Local配分フィールドがLocalに設定されたとき、そのアドレスはプロセッサ固有のLocal領域のアドレス指定のためのLocalアドレスとなる。また、Global/Local配分フィールドがGlobalに設定されたとき、残りのアドレスは論理プロセッサ番号フィールドとオフセットフィールドとなる。なお、論理プロセッサ番号フィールドをプロセッサ番号フィールドとしてもよく、この場合、プロセッサ番号は物理プロセッサ番号でもよい。
さらに、Global領域を任意台数の演算プロセッサで相互に共有できるようにしてアドレス空間の無駄を無くすために、図3に示すように、固定長アドレス中に設ける論理プロセッサ番号フィールド302(意味的には図4のプロセッサ番号フィールド401に相当する)を可変長とする。この論理プロセッサ番号フィールド302のビット幅もソフトウェアで設定可能である。
また、論理プロセッサ番号フィールド302の内容である論理的なプロセッサ番号から物理的なプロセッサ番号への変換は、ハードウェアによって自動的に行うが、番号変換時に参照する変換表はソフトウェアによって設定可能とする。
【0008】
並列計算機全体としてのメモリ容量は、上記のLocal領域が大きいほど大きくなる。これは、Global領域の容量がそのままの大きさで並列計算機全体としてのメモリ容量に反映されるのに対して、Local領域の容量がその大きさ×演算プロセッサ台数で並列計算機全体としてのメモリ容量に反映されるためである。
したがって、図3に示す可変長のGlobal/Local配分フィールド301を用意すれば、先述の(1)の課題を解決できる。例えば、32ビットアドレスで、Global/Local配分フィールド301として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、905に論理プロセッサ番号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、メモリ制御ユニット206、他の要素プロセッサ201と要素プロセッサ間結合網を介してデータの受渡しを行うネットワークインタフェース208、I/Oインタフェース204に接続されるI/Oデバイス205、メモリ制御ユニット206に接続される主記憶207、および、メモリアクセスインタフェース203、I/Oインタフェース204、メモリ制御ユニット206、ネットワークインタフェース208を接続するバス209などから構成される。
本発明は、メモリアクセス機構を形成する一要素としてのメモリアクセスインタフェース203の構成に係る。
【0013】
図1を用いて本発明に基づくメモリアクセスインタフェースの構成を説明する。図1における命令プロセッサ202、メモリアクセスインタフェース203およびバス209の接続関係は先に図2の説明で述べたとおりである。
命令プロセッサ202は、メモリアクセス部101を介してアクセス要求をメモリアクセスインタフェース203に伝える。メモリアクセスインタフェース203は、そのアクセス要求を、アクセス先を示す値(アドレス)を格納するアドレスレジスタ102、およびアクセスの種類を示す値(コマンド)を格納するコマンドレジスタ104で受け、アクセスの種類によってはアクセス要求と同時に伝えられるデータをデータレジスタ103で受ける。
メモリアクセスインタフェース203は、アクセス要求に応じた処理を完了したのち、必要に応じてアクセス結果としての結果データおよび完了信号を、それぞれデータレジスタ105および完了信号レジスタ106から命令プロセッサ202のメモリアクセス部101に伝え、一連のメモリアクセス処理を完了する。一方、メモリアクセスインタフェース203は、該インタフェース203内のバスインタフェース110によって、バス209と接続され、該バス209のプロトコルにしたがってメモリ制御ユニット206やI/Oインタフェース204およびネットワークインタフェース208などとデータやメモリアクセスコマンドなど必要な情報を受け渡しする。
【0014】
メモリアクセスインタフェース203の内部には、上記のアドレスレジスタ102、データレジスタ103、コマンドレジスタ104、データレジスタ105、完了信号レジスタ106、バスインタフェース110の他に、図3に示すアドレス形式を実現するための、オフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109が存在する。
また、メモリアクセスインタフェース203は、図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を持つ。ベースアドレスレジスタ122は、Local領域のメモリへのアクセス時に、そのアクセス先アドレスを自プロセッサ内の主記憶アドレスに変換するための値を保持している。
【0016】
メモリアクセスインタフェース203中のオフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109、プロセッサ番号変換表117、および、ベースアドレスレジスタ122は、メモリアクセスインタフェース203の内部バス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配分フィールド301に相当する位置のビットのみ1で、他のビットは総て0であるような値を保持する。
このレジスタ値とL101をとおして伝えられるアドレスレジスタ102のアドレス値で、AND器112において論理積がとられ、その結果が比較器114において、0を示すレジスタ113と比較される。Global領域へのアクセスの場合には、Global/Local配分フィールド301に相当する位置のビットは全て0とする。この比較結果である一致信号L107に真値が出力された場合、そのアクセスがGlobal領域へのアクセスであると判定する。
【0018】
オフセット長表示レジスタ107は、図3のアドレス形式におけるオフセットフィールド303のビット幅を示す。シフト器111は、このオフセット長表示レジスタ107の値を1つの入力としてとる。
シフト器111のもう一方の入力は、AND器125で生成される、L101をとおして伝えられるアドレスレジスタ102のアドレス値とアドレスマスクレジスタA 108の各ビットの論理が反転した値との論理積である。
シフト器111は、AND器125からの入力値を、オフセット長表示レジスタ107が保持する値分のビットだけ右シフトする。これによって、シフト器111の結果値を伝える信号線L106は、アクセス先論理プロセッサ番号値となる。
アドレスマスクレジスタB 109は、アドレスレジスタ102と同じビット幅を持つレジスタで、図3のアドレス形式のGlobal/Local配分フィールド301および論理プロセッサ番号フィールド302に相当する位置のビットのみ0で、他のビットは総て1であるような値を保持する。
このレジスタ値とL101をとおして伝えられるアドレスレジスタ102のアドレス値で、AND器115において論理積がとられる。その結果が信号線L110の値となるが、これがGlobal領域アクセス時のアドレスオフセットとなる。
信号線L106の値、すなわち、アクセス先論理プロセッサ番号は、さらにプロセッサ番号変換部116に伝えられ、プロセッサ番号変換部116中でプロセッサ番号変換表117を参照しながら、アクセス先物理プロセッサ番号に変換される。このアクセス先物理プロセッサ番号値は信号線L109に伝えられる。なお、プロセッサ番号変換表117は、図5に示すような、論理プロセッサ番号フィールド501および物理プロセッサ番号フィールド502からなるエントリで構成される。
この信号線L109の値、すなわち、アクセス先物理プロセッサ番号値は比較器119で物理プロセッサ番号レジスタ118の値と比較される。物理プロセッサ番号レジスタ118の値は、このメモリアクセスインタフェース203が存在する要素プロセッサ201の物理プロセッサ番号である。比較器119の結果は、信号線L108に伝えられる。
【0019】
メモリアクセスインタフェース203では、一致信号L107が真でかつ、一致信号L108が偽であれば、この状態はアクセス先アドレスがGlobal領域でかつ、他要素プロセッサ201が所有する主記憶207へのアクセスである状態であるため、この状態を伝える信号線L111によって他プロセッサ記憶アクセス部120が起動される。逆に、これ以外の状態の場合、信号線L111によって自プロセッサ記憶アクセス部121が起動される。
他プロセッサ記憶アクセス部120は、信号線L111を介して起動されると、その時点で他プロセッサ記憶アクセス部120に入力されている信号線L109(アクセス先物理プロセッサ番号)、L110(アクセス先要素プロセッサ201上のメモリアドレス)、L103(コマンド)、L102(データ)上の情報を用いて、他の要素プロセッサ201上のメモリへのアクセスを開始すべく、これらの情報をバスインタフェース110、バス209を介してネットワークインタフェース208に伝える。その後、ネットワークインタフェース208が他の要素プロセッサ201上のメモリへのアクセスを行う。
【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(メモリアドレス)の値を検査し、L101の値が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が実現できる。
Global/Local配分フィールド301として1ビットを設けたことで、アドレスマップ601は、Local領域602とGlobal領域603に2等分される。
32ビットアドレスの場合、図6に示すように、アドレス(00000000)xから(7FFFFFFF)xまでがGlobal領域603となり、アドレス(80000000)xから(FFFFFFFF)xまでがLocal領域602となる。このLocal領域602の先頭アドレス(今の場合、(80000000)xになる)を、Adr.Bと定義する。
【0022】
さらに、論理プロセッサ番号フィールド302として3ビット設けたことで、Global領域603は8等分され、それぞれ分散共有メモリを実現する8台の論理要素プロセッサ(以降論理PUと略称する)が所有するメモリへのアクセスを行うためのGlobalメモリ領域606〜613として定義される。
例えば、32ビットアドレスの場合、図6に示すように、アドレス(00000000)xから(0FFFFFFF)xまでが論理PU0に存在するGlobalメモリ領域606、アドレス(10000000)xから(1FFFFFFF)xまでが論理PU1に存在するGlobalメモリ領域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】
ところで、以上のようなアドレスマップ601のLocalメモリ領域605および各Globalメモリ領域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は、Localメモリ領域605の先頭アドレスから主記憶部分615の容量分のアドレスを占有して割り当てられる。また、主記憶部分616は、論理PU0に存在するGlobalメモリ領域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の値、およびAdr.Bはソフトウェア的に設定可能(Adr.Bは、アドレスマスクレジスタA 108を設定することで決定する)であるため、Adr.Aもソフトウェア的に設定可能である。
【0025】
メモリアクセスインタフェース203内には、ソフトウェアで値を設定可能な要素として、オフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109、ベースアドレスレジスタ122、プロセッサ番号変換表117が存在する。
ベースアドレスレジスタ122の設定値については、直前の段落で述べたとおりである。ここでは、オフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109の設定値について図8を用いて述べる。プロセッサ番号変換表117の設定値については、後に図9および図10によって説明する。
【0026】
32ビットアドレスのもと、Global領域とLocal領域の配分を、Global領域:Local領域=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配分フィールド301および論理プロセッサ番号フィールド302に相当する左端から6ビット分のビット位置の内容のみ0で、他のビット位置の内容は1であるような状態にセットすればよい。
【0027】
続いて、プロセッサ番号変換表117の設定例について述べる。図9の916は、先の本発明の概略説明のところで述べた並列計算機の分割運転における分割されたシステム、あるいは、ソフトウェア的な概念である要素プロセッサグループを示す。
以降の説明において、分割されたシステム、あるいは、要素プロセッサグループ内の閉じた世界だけで分散共有メモリを実現するとき、916をメモリ共有グループと呼ぶ。
なお、図9は、並列計算機を構成する物理PUのみを抽出して、並列計算機を抽象的に表現している。本来の並列計算機は図9に示した各物理PUを互いに結合する相互結合網などを持つが、ここでは説明の範囲外ということで省略した。
【0028】
図9の並列計算機は、物理PU0 900から物理PU15 915までの16台で構成される。 そして、メモリ共有グループとして動作可能な916は、このうち物理PU0 900、物理PU1 901、物理PU4 904、物理PU5 905の4台で構成される。
916内では、ソフトウェア的な便宜上、916内の要素プロセッサを指定する手段として論理プロセッサ番号が採用される。ここでは、物理PU0 900から見て、物理PU0 900が論理PU0に対応し、物理PU1 901が論理PU1に対応し、物理PU4 904が論理PU2に対応し、物理PU5 905が論理PU3に対応している。
916がメモリ共有グループとして動作する際には、この論理PU番号と物理PU番号の対応関係を示す図10のような変換表をプロセッサ番号変換表117に設定する。図10の変換表は、物理PU0 900内でのみ有効であり、物理PU1 901、物理PU4 904、物理PU5 905内では、それぞれ個別に同様の変換表が生成される。
【0029】
次に、オフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109、プロセッサ番号変換表117の特別な設定例を示す。アドレスマップ601をすべてLocal領域602として使いたい場合、その要素プロセッサは、オフセット長表示レジスタ107を32、アドレスマスクレジスタA 108の各ビットをオール0、アドレスマスクレジスタB 109の各ビットをオール1とし、プロセッサ番号変換表117において論理PU番号0に対応する物理PU番号を自らの物理PU番号とする。
【0030】
ところで、これまでに説明したメモリアクセスインタフェース203内の、ソフトウェアで値を設定可能な要素である、オフセット長表示レジスタ107、アドレスマスクレジスタA 108、アドレスマスクレジスタB 109、ベースアドレスレジスタ122、プロセッサ番号変換表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 (3)
- 各演算プロセッサが互いに他の演算プロセッサが有するメモリを参照できる分散共有メモリ方式の並列計算機システムにおける各演算プロセッサのメモリアクセス機構であって、
前記演算プロセッサは、命令プロセッサとメモリアクセスインタフェースを備え、
該命令プロセッサは、メモリアクセス要求命令を該メモリアクセスインタフェースに発行し、該メモリアクセス要求命令のアドレス部は可変長のグローバル/ローカル配分フィールドと可変長のプロセッサ番号フィールドと可変長のオフセットフィールドからなる固定長のアドレスであり、
前記メモリアクセスインタフェースは、前記固定長のアドレスにおける前記グローバル/ローカル配分フィールドの内容を判定する判定手段と、
前記固定長のアドレスにおける前記プロセッサ番号フィールドの内容を抽出する第1の抽出手段と、
前記固定長のアドレスにおける前記オフセットフィールドの内容を抽出する第2の抽出手段と、
前記判定手段による判定の結果がローカルのとき前記固定長のアドレスの全フィールドからなるローカル領域を示すアドレスにより自プロセッサのメモリに対するアクセスを開始し、前記判定手段による判定の結果がグローバルであり前記第1の抽出手段で抽出した前記プロセッサ番号フィールドの内容が自プロセッサを示すとき前記第2の抽出手段で抽出したオフセットフィールドのアドレスにより自プロセッサのメモリに対するアクセスを開始する手段と、
前記判定手段による判定の結果がグローバルであり前記第1の抽出手段で抽出した前記プロセッサ番号フィールドの内容が他プロセッサを示すとき前記第2の抽出手段で抽出したオフセットフィールドのアドレスにより他プロセッサのメモリに対するアクセスを開始する手段を備え、
前記グローバル/ローカル配分フィールドの内容を判定する判定手段は、該フィールドに相当する部分をマスクによって取り出すためのマスクレジスタと、該マスクレジスタの内容を前記命令プロセッサの指示により書き換える手段を備え、
前記第1の抽出手段は、該フィールドの内容を抽出するための前記オフセットフィールドのビット幅を示すレジスタと、該オフセットフィールドのビット幅を示すレジスタの内容を前記命令プロセッサの指示により書き換える手段を備え、
前記第2の抽出手段は、該オフセットフィールドに相当する部分をマスクによって取り出すためのマスクレジスタと、該マスクレジスタの内容を前記命令プロセッサの指示により書き換える手段を備える、ことを特徴とするメモリアクセス機構。 - 請求項1記載のメモリアクセス機構において、
前記プロセッサ番号フィールドの内容を論理的なプロセッサ番号とし、該プロセッサ番号フィールドの内容である論理的なプロセッサ番号を物理的なプロセッサ番号に変換する変換手段を備え、
該変換手段は、プロセッサ番号変換表と、該プロセッサ番号変換表をプロセッサの指示により書き換える手段を備え、
前記各アクセスを開始する手段は前記プロセッサ番号フィールドの内容として前記変換手段で得られた物理的なプロセッサ番号を用いることを特徴とするメモリアクセス機構。 - 請求項1記載のメモリアクセス機構において、
前記自プロセッサのメモリに対するアクセスを開始する手段は、ローカル領域の先頭アドレスを、前記ローカル領域が前記メモリ内に配置されたときの該メモリ内における該ローカルメモリ領域割当て部の先頭アドレスに変換するためのアドレス加算情報を保持するベースアドレスレジスタを備え、該ベースアドレスレジスタを用いてローカルアドレスの実メモリ上アドレスへの変換を実現し、前記ベースアドレスレジスタの内容をプロセッサの指示により書き換え可能に構成したことを特徴とするメモリアクセス機構。
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 JPH07210520A (ja) | 1995-08-11 |
JP3687990B2 true 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) |
Families Citing this family (35)
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 | 株式会社日立製作所 | 記憶装置及びそのアクセス制御方法 |
US6639591B2 (en) * | 2000-03-21 | 2003-10-28 | Sony Computer Entertainment Inc. | Entertainment apparatus, storage medium, and method of deciding weather |
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 |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US7111176B1 (en) * | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in 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 |
EP1611511A1 (en) * | 2003-03-25 | 2006-01-04 | Koninklijke Philips Electronics N.V. | Method of addressing data in a shared memory by means of an offset |
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 |
JP2007323591A (ja) * | 2006-06-05 | 2007-12-13 | Nippon Telegr & Teleph Corp <Ntt> | データ転送制御装置、及びデータ転送制御プログラム |
US20080098191A1 (en) * | 2006-10-20 | 2008-04-24 | International Business Machines Corporation | Determining code efficiency by monitoring memory reallocation |
JP2008305201A (ja) * | 2007-06-07 | 2008-12-18 | Nippon Telegr & Teleph Corp <Ntt> | ノード間データ転送制御装置およびメモリ構成変更方法ならびにプログラム |
JP2010165022A (ja) * | 2009-01-13 | 2010-07-29 | Ricoh Co Ltd | プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体 |
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 | 杭州迪普科技股份有限公司 | 一种传输私有数据的方法及装置 |
WO2018063266A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Object coherence in distributed shared memory systems |
US11163609B2 (en) * | 2019-04-02 | 2021-11-02 | Sap Se | High-performance memory allocator |
CN116150058B (zh) * | 2023-04-17 | 2023-06-23 | 合肥芯荣微电子有限公司 | 一种基于axi总线的并发传输模块和方法 |
Family Cites Families (7)
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 |
-
1994
- 1994-01-25 JP JP02373894A patent/JP3687990B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-04 US US08/368,618 patent/US5898883A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5898883A (en) | 1999-04-27 |
JPH07210520A (ja) | 1995-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3687990B2 (ja) | メモリアクセス機構 | |
JP2625385B2 (ja) | マルチプロセッサシステム | |
US6510496B1 (en) | Shared memory multiprocessor system and method with address translation between partitions and resetting of nodes included in other partitions | |
CN100555257C (zh) | 处理页面复制期间的dma操作的存储控制器和方法 | |
US5117350A (en) | Memory address mechanism in a distributed memory architecture | |
US5940870A (en) | Address translation for shared-memory multiprocessor clustering | |
EP0497600B1 (en) | Memory access method and apparatus | |
JP2974526B2 (ja) | データ転送処理方法及びデータ転送処理装置 | |
US5684974A (en) | Method and apparatus for controlling reconfiguration of storage-device memory areas | |
JPH11232173A (ja) | ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム | |
JPS60160463A (ja) | プロセツサシステム | |
JP2001051959A (ja) | 少なくとも1つのnuma(non−uniformmemoryaccess)データ処理システムとして構成可能な相互接続された処理ノード | |
EP0229932B1 (en) | High-capacity memory for multiprocessor systems | |
JPH07281947A (ja) | 入出力アドレス用変換装置 | |
JPH01298457A (ja) | コンピュータシステム | |
JPS58201166A (ja) | マルチプロセツサ方式 | |
JPH04288643A (ja) | マルチプロセッサシステムのメモリマッピング方式 | |
JP4106964B2 (ja) | アドレス割当装置およびその方法 | |
JPH08272754A (ja) | マルチプロセッサシステム | |
JP2785738B2 (ja) | 分散メモリ型マルチプロセッサ情報処理システム | |
JPH01226056A (ja) | アドレス変換回路 | |
JPS6037933B2 (ja) | 電子計算機のメモリ・アクセス方式 | |
JPS61288260A (ja) | マルチコンピユ−タシステム | |
JPS6049349B2 (ja) | アドレス変換対制御方式 | |
JPH0830567A (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 |