JP4240610B2 - Computer system - Google Patents
Computer system Download PDFInfo
- Publication number
- JP4240610B2 JP4240610B2 JP33685898A JP33685898A JP4240610B2 JP 4240610 B2 JP4240610 B2 JP 4240610B2 JP 33685898 A JP33685898 A JP 33685898A JP 33685898 A JP33685898 A JP 33685898A JP 4240610 B2 JP4240610 B2 JP 4240610B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory module
- memory
- bank
- computer system
- 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 - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Memory System (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は多バンク構成の主記憶装置を有する計算機システムに関し、特に、主記憶スキューをおこなう計算機システムに関する。
【0002】
【従来の技術】
計算機システムの主記憶装置の構成方式として、多数のバンクで構成するインタリーブ方式が知られている。図2に、主記憶装置を構成するバンク数が16の場合の、インタリーブ方式によるアドレスの割り付けを示す。16個のバンクには順に0から15までの番号が付けられており、連続するアドレスは順次異なるバンクに割り付けられている。このインタリーブ方式では、連続アドレスに順次アクセスする場合、異なるバンクを順次アクセスすることになるため、高速な主記憶アクセスが可能となる。しかし,ある特定のアドレス間隔(ストライド)でアクセスすると、アクセスが特定のバンクあるいはバンク群に集中し、主記憶アクセス性能が低下する問題が知られている。例えば,図2のアドレス割り付けにおいて、アドレス0を起点にストライド16でアクセスする場合を考える。この時、アドレス0,16,32,48,・・・とアクセスするが,これらのアドレスはすべてバンク0に割り付けられているため、バンク競合により高速な主記憶アクセスが不可能となる。図3に、ストライドとそれに対するアクセス要求のバンクへの分散状況との関係を示す。アクセス要求がより多くのバンクに分散した方が、バンク競合を避けられ、高い主記憶処理性能を得ることができる。
【0003】
なお、ここで言うアドレスとは,メモリの各アクセス単位のメモリ位置に付けた番号を指す。以下、特に断らない限り,本明細書におけるアドレスの定義は上記の通りとする。
【0004】
この主記憶装置のアクセス要求処理性能の低下を緩和する手段として、主記憶スキューが知られている。主記憶スキューは,D. J. Kuck:“ILLIAC IV Software and Application Programming”, IEEE Transactions on Computers, Vol.C-17, No.8, pp.758-770, August 1968あるいはP. Budnik and D. J. Kuck:“The Organization and Use of Parallel Memories”, IEEE Transactions on Computers, pp.1566-1569, December 1971で数学的な基礎があたえられている。その方法は一通りではなく様々なバリエーションがあり,そのいくつかがD. T. Harper III and J. R. Jump:“Vector Access Performance in Parallel Memories Using a Skewed Storage Scheme”, IEEE Transactions on Computers, Vol.C-36(12), pp.1440-1449, December 1987あるいは同じ著者らによる“Performance Evaluation of Vector Accesses in Parallel Memories Using a Skewed Storage Scheme”, Conference Proceedings of the 13th Annual International Symposium on Computer Architecture, pp.324-328, June 1986, IEEEあるいは米国特許4,918,600に示されている。
【0005】
図4に、主記憶スキューをおこなう計算機システムの例を示す。この全体を符号1で示す計算機システムは、データの処理をおこなう4個のプロセッサ11と、データを記憶する主記憶装置31とを有し、それらが相互結合網21を介して相互に結合されている。主記憶装置31は4個のメモリモジュール51から成り、メモリモジュール51はそれぞれ4個のバンク91を有する。主記憶装置31全体では、16個のバンクを有する。相互結合網21は、主記憶スキューをおこなうためのアドレスマッピング回路41を有する。アドレスマッピング回路41では、主記憶アクセス要求に付随するアドレス情報をもとに、その主記憶アクセス要求を送出するバンクを決定する。バンク番号BKとアドレスADRとメモリモジュール数N(ここではN=16)の関係は、(数1)で表される。
【0006】
(数1)
BK=(ADR+ADR÷N)mod N
ここで、mod NはNのモジュロを取ることを表す。この主記憶スキューをおこなう計算機システム1におけるアドレス割り付けを、図5に示す。図5に示す通り、図4の計算機システムにおける主記憶スキューは,アドレスがバンク数(ここでは16)だけ進むごとに、割り付けるバンクをひとつずつすらすものとなっている。この主記憶スキューによるメモリ割り付けをおこなった場合の、ストライドとそれに対するアクセス要求のバンクへの分散状況との関係を、図6に示す。
【0007】
図3と図6との比較からわかるように、主記憶スキューをおこなうことにより,アクセス要求が特定のバンクまたはバンク群に集中しその結果性能が低下するようなストライドの種類を、少なくすることができる。
【0008】
【発明が解決しようとする課題】
主記憶装置の性能を向上させるために、現在のメモリモジュールを,高速化のための諸技術を導入した別構成のメモリモジュールに交換する手法が考えられる。ここで、バンク数のより多いメモリモジュールに交換した場合,図4に示した従来の計算機システムでは、ストライドによっては,アクセス要求のバンクへの分散状況がバンク数の増加に見合わない、すなわち、バンク数を増やしても増やしたほどの効果が得られないという問題がある。
【0009】
例えば、主記憶装置全体は32バンクから成り,あるストライドではそのうち8バンクにのみアクセス要求が集中するとする。ここで、各メモリモジュール内のバンク数を4倍にし、主記憶装置全体で128バンクの構成としても、そのストライドでは依然として8バンクにアクセス要求が集中し,結果として性能が上がらないといった問題である。
【0010】
この問題は、従来の計算機システムでは,最初のバンク構成(上記の例では32バンク)に合わせた主記憶スキューをおこなうが、その主記憶スキューはメモリモジュールの交換による新しいバンク構成(上記の例では128バンク)には適したものでないことから生じる。
【0011】
本発明の目的は、上記の問題を解決し,メモリモジュールの交換によりバンク数を増やした場合に、その新しいバンク構成に適した主記憶スキューを実現することで、主記憶装置の性能を向上させることにある。
【0012】
【課題を解決するための手段】
上記課題を解決するために、本発明の計算機システムは,データの処理をおこなう1個または複数個のプロセッサと、データを記憶する主記憶装置と、該プロセッサと該主記憶装置を相互に結合する相互結合網とを備え、該相互結合網は1個または複数個のアドレスマッピング回路を有し、該主記憶装置は複数個のメモリモジュールを有し、各々のメモリモジュールはアドレスマッピング回路を有し、相互結合網内の該アドレスマッピング回路と、メモリモジュール内のアドレスマッピング回路の2段階でアドレス変換をおこなう。
【0013】
また、メモリモジュール内のアドレスマッピング回路でおこなうアドレス変換は、メモリモジュールのバンク構成に適した方式となっている。
【0014】
【発明の実施の形態】
本発明に従う計算機システムの例を図1に示す。プロセッサ10は4個示されているがその個数は本質でなく、1個のプロセッサでも良い。このプロセッサに対し、主記憶装置30は複数個(図では4個)のメモリモジュール50で構成され、プロセッサ10と主記憶装置30の各メモリモジュールとは相互結合網20で結合される。相互結合網20にはアドレスマッピング回路40を備え、ストライドされたアクセスの際にも特定のメモリモジュールへのアクセス要求の集中を軽減するようなアドレス変換がなされる。さらに、主記憶装置30を構成する各メモリモジュール50にもそれぞれアドレスマッピング回路60を備えており、アドレスマッピング回路60でおこなうアドレス変換は、メモリモジュール50内のバンク構成に適した方式となっている。全体として主記憶スキューのためのアドレス変換を2段階でおこなう。
【0015】
以下、図面を用いて本発明の実施例を説明する。
【0016】
図7に、本発明の一実施例による計算機システムの要部構成を示す。全体を符号2で示す本実施例の計算機システムは、データの処理をおこなう4個のプロセッサ12と、データを記憶する主記憶装置32とを有し,それらが相互結合網22を介して相互に結合されている。相互結合網22は、4個のプロセッサ12それぞれに対応する4個の網制御装置92を有し、網制御装置92はそれぞれアドレスマッピング回路42を備える。主記憶装置32は4個のメモリモジュール52を有し、メモリモジュール52はそれぞれアドレスマッピング回路62を備える。
【0017】
プロセッサ12は、相互結合網22に対してそれぞれ2個のアクセスポートを有する。また、網制御装置92は,プロセッサ12に対して2個のアクセスポートを有する。プロセッサ12と網制御装置92は1対1に対応しており(プロセッサ#0と網制御装置#0、プロセッサ#1と網制御装置#1など),対応するプロセッサ12と網制御装置92の2個のアクセスポート間にそれぞれアクセスパスが張られ、プロセッサ12と網制御装置92の間のアクセスパスが二重化されている。各アクセスパスの上を1サイクルあたり最大1個のアクセス要求が流れ、各プロセッサ12から対応する網制御装置92に対しては、1サイクルあたり最大2個のアクセス要求が送られる。
【0018】
メモリモジュール52は、4個の網制御装置92それぞれに対応する4個のアクセスポートを有する。また、網制御装置92は,4個のメモリモジュール52それぞれに対応する4個のアクセスポートを有する。各網制御装置92と各メモリモジュール52の対応するポート間にアクセスパスが張られ、全体としては、4個の網制御装置92と4個のメモリモジュール52とが全対全で結合されている。各アクセスパスの上を、1サイクルあたり最大1個のアクセス要求が流れる。
【0019】
本実施例の計算機システム2では、プロセッサ12から主記憶装置32に送るアクセス要求として、主記憶装置からデータをプロセッサ内のレジスタ(図示せず)あるいはキャッシュ(図示せず)に格納するフェッチ要求、および、プロセッサ内のレジスタあるいはキャッシュからデータを主記憶装置に格納するストア要求などがある。しかし本実施例では以下、簡単化のためストアアクセスに関する動作を例に取って説明する。図面についても、主にストア要求に関する装置部分を示し,他の要求のための回路は省略する。
【0020】
プロセッサ12がストアアクセス要求を発行すると、その要求は二重化されたアクセスパスを介して対応する網制御装置92に送られる。各プロセッサ12は対応する網制御装置92に対して、ストア要求を1サイクルあたり最大2個発行できる。網制御装置92は、プロセッサ12からストア要求を受け取ると,ストア要求で指定されたアドレスが属するいずれかのメモリモジュール52へ、ストア要求を転送する。各網制御装置92は、4個のメモリモジュール52それぞれに対して独立に、ストア要求を1サイクルあたり最大1個発行できる。これにより,各網制御装置92から主記憶装置32全体に対しては、ストア要求を1サイクルあたり最大4個発行できる。
【0021】
図7に示した本実施例の計算機システム2で使われるメモリモジュール52として、最初は図8に示すメモリモジュール52Aを用い、のちに性能向上のために図9に示すメモリモジュール52Bに交換するものとする。
【0022】
図8に示すメモリモジュール52Aは、アドレスマッピング回路62Aと,2個のバンクグループ82からなる。各バンクグループ82は4個のバンク72からなり、ストア要求を1サイクルあたり最大1個受けることができる。メモリモジュール52A内の2個のバンクグループ82は独立に動作し、網制御装置92から並列にアクセス可能となっている。これにより、メモリモジュールの数より多いデータ要素を並列に処理可能となる。
【0023】
一方、図9に示すメモリモジュール52Bは,アドレスマッピング回路62Bと,8個のバンクグループ82からなる。各バンクグループ82は、図8に示したものと同一である。すなわち、各バンクグループ82は4個のバンク72からなり,ストア要求を1サイクルあたり最大1個受けることができる。メモリモジュール52B内の8個のバンクグループ82は独立に動作し、網制御装置92から並列にアクセス可能となっている。
【0024】
図8に示したメモリモジュール52A全体では、ストア要求を1サイクルあたり最大2個受けることができるのに対し、図9に示したメモリモジュール52B全体では、ストア要求を1サイクルあたり最大8個受けることができる。また総バンク数も増えるため、バンク競合が起こりにくくなる。これらにより、メモリモジュール52Bを用いて主記憶装置32を構築した方が,より高い処理性能を得ることができる。
【0025】
図10に、プロセッサ12が発行するストアアクセス要求に付随するアドレスフィールドを示す。本実施例の計算機システム2では、アドレスは20ビットで指定される。データは主記憶装置32に8バイト単位で格納され、1要素8バイトがアクセス単位となる。図において上位アドレスとは、先に定義したアドレス、すなわち,主記憶装置32のアクセス単位に付けられた番号を意味する。本実施例では、以下,この上位アドレスを単にアドレスということがある。上位アドレスは17ビットからなる。一方、下位アドレスは,データの1要素内のバイトアドレスを指す。本実施例では、データ要素が8バイトの大きさを有するため、下位アドレスは3ビットからなる。
【0026】
図8に示したメモリモジュール52Aを用いて主記憶装置32を構築した場合、図10のアドレスフィールドがさらに図11に示すように解釈される。アドレスの最上位ビットを第0ビットとした時、第15ビットと第16ビットの2ビットよりなるMMフィールドは、図7の計算機システムにインタリーブ方式でアドレスを割り付ける時に、そのアドレスが割り付けられるメモリモジュール番号を示す。第14ビットはBGフィールドで、MMフィールドで決まるメモリモジュール内でそのアドレスが割り付けられているバンクグループ番号を示す。そして、第12ビットと第13ビットの2ビットよりなるBKフィールドは,そのバンクグループ内でそのアドレスが割り付けられるバンク番号を示す。第0ビットから第11ビットはバンク内オフセットを表すフィールドであり、バンク内でそのアドレスが割り当てられたアクセス単位の記憶位置を表す。
【0027】
一方、図9に示したメモリモジュール52Bを用いて主記憶装置32を構築した場合、図10のアドレスフィールドは図12に示すように解釈される。第15ビットと第16ビットの2ビットよりなるMMフィールドは、図7の計算機システムにインタリーブ方式でアドレスを割り付ける時に、そのアドレスが割り付けられるメモリモジュール番号を示す。第12ビットから第14ビットの3ビットはBGフィールドで、MMフィールドで決まるメモリモジュール内でそのアドレスが割り付けられているバンクグループ番号を示す。そして、第10ビットと第11ビットの2ビットよりなるBKフィールドは、そのバンクグループ内でそのアドレスが割り付けられるバンク番号を示す。第0ビットから第9ビットはバンク内オフセットを表すフィールドであり、バンク内でそのアドレスが割り当てられたアクセス単位の記憶位置を表す。
【0028】
以下、プロセッサ12からストアアクセス要求が発行された際の動作を説明する。
【0029】
プロセッサ12がストアアクセス要求を発行すると、その要求は二重化されたアクセスパスを介して対応する網制御装置92に送られる。既に述べた通り、各プロセッサ12は対応する網制御装置92に対して、ストア要求を1サイクルあたり最大2個発行することができる。
【0030】
網制御装置92は、プロセッサ12からストア要求を1サイクルあたり最大2個受け取る。ストア要求を受け取ると、まず,アドレスマッピング回路42を用いて、そのストア要求に付随するアドレスを,本実施例における主記憶スキュースキームに従って、アクセスすべきメモリモジュール番号を含むアドレスに変換する。その後、変換したアドレスからストア要求を転送すべきメモリモジュール52を決定し、そのメモリモジュール52へストア要求を転送する。各網制御装置92は、4個のメモリモジュール52それぞれに対して独立に,ストア要求を1サイクルあたり最大1個転送することができる。これにより、各網制御装置92から主記憶装置32全体に対しては、ストア要求を1サイクルあたり最大4個転送することができる。
【0031】
図13に、アドレスマッピング回路42でおこなうアドレス変換の方法を示す。アドレスマッピング回路42は、モジュロ4の2ビット加算器101を備えている。加算器101は、変換前アドレスの第13〜14ビットと第15〜16ビットを4のモジュロで加算し、その結果を変換後アドレスの第15〜16ビットとする。この加算の際に生じる桁上げは無視する(すなわち、モジュロ4の加算をおこなう)。第0〜14ビットおよび第17〜19ビットについては、変換前アドレスと変換後アドレスで変わらない。変換後アドレスの第15〜16ビットを、アクセスすべきメモリモジュール番号とする。図14に、各メモリモジュールに割り付けられるアドレスを示す。メモリモジュール番号MMとアドレスADRの関係は、(数2)で表される。
【0032】
(数2)
MM=(ADR+ADR÷4)mod 4
図14のアドレス割り付けにおいて、プロセッサ12から網制御装置92に一定のアドレス間隔(ストライド)のストア要求を発行していく場合の、ストライドとそれに対するストア要求のメモリモジュール52への分散状況との関係を、図15に示す。また,図14のアドレス割り付けにおいて,プロセッサ12から網制御装置92に対して、一定のアドレス間隔(ストライド)のストア要求を1サイクルあたり2個ずつ発行していく場合の、ストライドとそれに対する網制御装置92の処理性能との関係を、図16に示す。ただし,この場合の性能とは,プロセッサ12がストア要求を発行し始めてから十分時間が経過し、1サイクルあたりの網制御装置92から主記憶装置32へのストア要求転送数が定常状態になった時の性能であり、1サイクルに1要求を転送できる場合の性能を1としている。網制御装置92の処理性能に着目するため、主記憶装置32におけるストア要求の滞りは起こらないと仮定している。ストライドが16の倍数の時は、プロセッサ12から網制御装置92に1サイクルあたり2要求が送られてくるのに対し、網制御装置92から主記憶装置32へは1サイクルあたり1要求しか転送することができない。網制御装置92への要求入力ピッチが処理能力を越えるため、プロセッサ12のストア要求発行を適宜抑止する必要が生じる。
【0033】
比較のため、図17に,網制御装置92がアドレスマッピング回路42でアドレス変換をおこなわない場合の、各メモリモジュール52に割り付けられるアドレスを示す。また、その場合の,ストライドとそれに対するストア要求のメモリモジュール52への分散状況との関係を図18に、ストライドとそれに対する網制御装置92の処理性能との関係を図19に示す。図15と図18の比較からわかるように、アドレスマッピング回路42のアドレス変換により,ストア要求が特定メモリモジュール52へ集中するストライドの種類を少なくすることができる。また、図16と図19の比較からわかるように,アドレスマッピング回路42のアドレス変換により、網制御装置92の処理性能が低下するストライドの種類を少なくすることができる。
【0034】
網制御装置92からメモリモジュール52にストア要求を転送する際、図20に示すように、ストア要求に付随するアドレスのうち,第15〜16ビット(MMフィールド)を落として転送する。これによって、必要な信号線の本数を減らすことができる。
【0035】
網制御装置92は、ストア要求を一時的に保持するバッファ等を備えてもよい。これにより、ストア要求の転送先が一時的にある特定のメモリモジュール52に集中しても、網制御装置92におけるストア要求の保持能力を越えない限りは,プロセッサ12からのストア要求を抑止しないで済む。また、アドレスマッピング回路42でおこなうアドレス変換は,図13とは異なっていてもよい。例えば、図13のモジュロ4の2ビット加算器101に代えて,2ビットの排他的論理和回路を利用してもよい。
【0036】
続いて、メモリモジュール52内でのストア要求の処理の流れを説明する。
【0037】
まず、図8に示したメモリモジュール52Aを使った場合について説明する。メモリモジュール52Aは、4個の網制御装置92それぞれから,ストア要求を1サイクルあたり最大1個受け取る。ストア要求を受け取ると、まず,アドレスマッピング回路62Aを用いて、そのストア要求に付随するアドレスを,本実施例における主記憶スキュースキームに従って、アクセスすべきバンクグループ番号およびバンク番号を含むアドレスに変換する。その後、変換したアドレスからストア要求を転送すべきバンクグループ82およびバンク72を決定し、当該バンクグループ82の当該バンク72でストア処理をおこなう。各バンクグループ82は、独立にストア処理をおこなうことができる。
【0038】
図21に、アドレスマッピング回路62Aでおこなうアドレス変換の方法を示す。アドレスマッピング回路62Aは、排他的論理和回路102を備えている。排他的論理和回路102は、変換前アドレスの第0〜2ビットと第3〜5ビットと第6〜8ビットと第9〜11ビットと第12〜14ビットを入力として、3ビット幅のビットごとに排他的論理和を取り、その結果を変換後アドレスの第12〜14ビットとする。第0〜11ビットおよび第15〜17ビットについては、変換前アドレスと変換後アドレスで変わらない。変換後アドレスの第14ビットをアクセスすべきバンクグループ番号とし、第12〜13ビットをバンクグループ内のバンク番号とする。図22に、メモリモジュール62Aを用いて主記憶装置32を構築した場合の、メモリモジュール,バンクグループ,バンクの各階層へのアドレス割り付けを示す。また、本アドレス割り付けにおけるストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を、図23に示す。
【0039】
比較のため、図24に,メモリモジュール52Aがアドレスマッピング回路62Aでアドレス変換をおこなわない場合の、メモリモジュール,バンクグループ,バンクの各階層へのアドレス割り付けを示す。また、その場合の,ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を、図25に示す。図23と図25の比較からわかるように,アドレスマッピング回路62Aのアドレス変換により、ストライドが2の倍数であれば、同じストライドに対してストア要求が送られるバンクグループおよびバンクの数が増え、より高い主記憶処理性能を得ることができる。
【0040】
次に、図9に示したメモリモジュール52Bを使った場合について説明する。メモリモジュール52Bは、4個の網制御装置92それぞれから,ストア要求を1サイクルあたり最大1個受け取る。ストア要求を受け取ると、まず,アドレスマッピング回路62Bを用いて、そのストア要求に付随するアドレスを,本実施例における主記憶スキュースキームに従って、アクセスすべきバンクグループ番号およびバンク番号を含むアドレスに変換する。その後、変換したアドレスからストア要求を転送すべきバンクグループ82およびバンク72を決定し、当該バンクグループ82の当該バンク72でストア処理をおこなう。各バンクグループ82は、独立にストア処理をおこなうことができる。
【0041】
図26に、アドレスマッピング回路62Bでおこなうアドレス変換の方法を示す。アドレスマッピング回路62Bは、排他的論理和回路103を備えている。排他的論理和回路103は、変換前アドレスの第0〜4ビットと第5〜9ビットと第10〜14ビットを入力として、5ビット幅のビットごとに排他的論理和を取り,その結果を変換後アドレスの第10〜14ビットとする。第0〜9ビットおよび第15〜17ビットについては、変換前アドレスと変換後アドレスで変わらない。変換後アドレスの第12〜14ビットをアクセスすべきバンクグループ番号とし、第10〜11ビットをバンクグループ内のバンク番号とする。図27ないし図30に、メモリモジュール62Aを用いて主記憶装置30を構築した場合の、メモリモジュール、バンクグループ,バンクの各階層へのアドレス割り付けを示す。また、本アドレス割り付けにおけるストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を,図31に示す。
【0042】
比較のため、図32ないし図35に,メモリモジュール52Aがアドレスマッピング回路62Bでアドレス変換をおこなわない場合の、メモリモジュール、バンクグループ,バンクの各階層へのアドレス割り付けを示す。また、その場合の,ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を,図36に示す。図31と図36の比較からわかるように、アドレスマッピング回路62Bのアドレス変換により、ストライドが2の倍数であれば,同じストライドに対してストア要求が送られるバンクグループおよびバンクの数が増え、より高い主記憶処理性能を得ることができる。
【0043】
なお、図23と図31の比較からわかるように,主記憶装置32を構成するメモリモジュールを図8のメモリモジュール52Aから図9のメモリモジュール52Bに交換することで、同じストライドに対してストア要求が送られるバンクグループおよびバンクの数が増え、より高い処理性能を持つ主記憶装置32が実現される。
【0044】
図8のメモリモジュール52Aおよび図9のメモリモジュール52Bは、ストア要求を一時的に保持するバッファ等を備えてもよい。これにより、ストア要求の転送先が一時的にある特定のバンクグループ82あるいは特定のバンク72に集中しても、メモリモジュール52Aまたはメモリモジュール52Bにおけるストア要求の保持能力を越えない限りは、網制御装置92からのストア要求を抑止しないで済む。また、アドレスマッピング回路62Aまたはアドレスマッピング回路62Bでおこなうアドレス変換は、図21または図26と異なっていてもよい。例えば,図21の3ビット排他的論理和回路102に代えて、モジュロ8の3ビット加算器を利用してもよい。また、図26の5ビット排他的論理和回路103に代えて,モジュロ32の5ビット加算器を利用してもよい。
【0045】
本発明の特徴は、主記憶スキューを実現するためのアドレスマッピング回路を相互結合網内とメモリモジュール内の2箇所に設け、アドレス変換を2段階でおこなっていることにある。これにより、メモリモジュールの交換によりバンクグループおよびバンクの構成が変わった場合でも、その新しい構成に適した主記憶スキューを実現し、高い主記憶性能を得ることができる。
【0046】
ここで比較のために、従来の計算機システムでメモリモジュールを交換することを考えてみる。図37に示す従来の計算機システム3は、メモリモジュール53がアドレスマッピング回路を持たないことと、網制御装置93内のアドレスマッピング回路43でおこなうアドレス変換がアドレスマッピング回路42でおこなうアドレス変換と異なることを除いては、図7に示した本発明の一実施例による計算機システム2と同様の構成である。図37の計算機システム3で使われるメモリモジュール53として、最初は図38に示すメモリモジュール53Aを用い、のちに性能向上のために図39に示すメモリモジュール53Bに交換するものとする。図38のメモリモジュール53Aは、アドレスマッピング回路を持たず、アドレス変換をおこなわないことを除いては,バンクグループおよびバンクの構成などすべて図8のメモリモジュール52Aと同様である。また、図39のメモリモジュール53Bは,アドレスマッピング回路を持たず,アドレス変換をおこなわないことを除いては、バンクグループおよびバンクの構成などすべて図9のメモリモジュール52Bと同様である。
【0047】
図40に、アドレスマッピング回路43でおこなうアドレス変換の方法を示す。アドレスマッピング回路43では、計算機システム3でメモリモジュール53Aを用いた場合に、計算機システム2でメモリモジュール52Aを用いた場合と同じアドレス割り付け、すなわち図22のアドレス割り付けになるよう,アドレス変換をおこなう。アドレスマッピング回路43は、モジュロ4の2ビット加算器104と,排他的論理和回路105とを備えている。加算器104は、変換前アドレスの第13〜14ビットと第15〜16ビットを4のモジュロで加算し、その結果を変換後アドレスの第15〜16ビットとする。排他的論理和回路105は、変換前アドレスの第0〜2ビットと第3〜5ビットと第6〜8ビットと第9〜11ビットと第12〜14ビットを入力として、3ビット幅のビットごとに排他的論理和を取り,その結果を変換後アドレスの第12〜14ビットとする。第0〜11ビットおよび第17〜19ビットについては、変換前アドレスと変換後アドレスで変わらない。計算機システム3でメモリモジュール53Aを用いた場合のアドレス割り付けは、計算機システム2でメモリモジュール52Aを用いた場合のアドレス割り付け(図22)と同じである。また、ストライドとそれに対するストア要求のメモリモジュール,バンクグループ、バンクへの分散状況との関係も,計算機システム2でメモリモジュール53Aを用いた場合のもの(図23)と同じである。
【0048】
ここで、計算機システム3のメモリモジュール53として,メモリモジュール53Bを用いた場合を考える。この場合のアドレス割り付けを、図41ないし図44に示す。また、本アドレス割り付けにおけるストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を,図45に示す。図31と図45の比較からわかるように、本発明による計算機システム2は従来の計算機システム3と比べて、ストライドが64の倍数であれば,同じストライドに対してストア要求が送られるバンクの数が増え、より高い主記憶処理性能を得ることができる。
【0049】
【発明の効果】
以上説明したように、本発明による計算機システムでは,メモリモジュールの交換によりバンク構成が変わった場合でも、その新しいバンク構成に適した主記憶スキューを実現することで、主記憶装置の性能を向上させることができる。
【図面の簡単な説明】
【図1】本発明による計算機システムの要部構成を示すブロック図。
【図2】主記憶スキューをおこなわないインタリーブ方式におけるアドレス割り付けを示す図。
【図3】図2のアドレス割り付けをおこなった場合の、ストライドと,それに対するアクセス要求のバンクへの分散状況との関係を表す図。
【図4】主記憶スキューをおこなう従来の計算機システムの全体構成を示すブロック図。
【図5】図4の計算機システムで主記憶スキューをおこなった場合のアドレス割り付けを示す図。
【図6】図5のアドレス割り付けをおこなった場合の、ストライドと,それに対するアクセス要求のバンクへの分散状況との関係を表す図。
【図7】本発明の一実施例による計算機システムの全体構成を示すブロック図。
【図8】図7の計算機システムに用いるメモリモジュールの一例の構成を表すブロック図。メモリモジュールを2バンクグループ、各バンクグループを4バンクで構成したものである。
【図9】図7の計算機システムに用いるメモリモジュールの一例の構成を表すブロック図。メモリモジュールを8バンクグループ、各バンクグループを4バンクで構成したものである。
【図10】図7の計算機システムのプロセッサが発行するアクセス要求に付随するアドレスフィールドを示す図。
【図11】図7の計算機システムの主記憶装置を図8のメモリモジュールで構築した場合の、プロセッサから網制御装置に送られるストア要求に付随するアドレスフィールドを示す図。
【図12】図7の計算機システムの主記憶装置を図9のメモリモジュールで構築した場合の、プロセッサから網制御装置に送られるストア要求に付随するアドレスフィールドを示す図。
【図13】図7の計算機システムのアドレスマッピング回路42でおこなうアドレス変換の方法を表す図。
【図14】図13のアドレス変換をおこなった場合の、各メモリモジュールに割り付けられるアドレスを示す図。
【図15】図14のアドレス割り付けをおこなった場合の、ストライドと,それに対するストア要求のメモリモジュールへの分散状況との関係を表す図。
【図16】図14のアドレス割り付けをおこなった場合の、ストライドと,それに対する網制御装置の処理性能との関係を表す図。
【図17】図13のアドレス変換をおこなわない場合の、各メモリモジュールに割り付けられるアドレスを示す図。
【図18】図17のアドレス割り付けをおこなった場合の、ストライドと,それに対するストア要求のメモリモジュールへの分散状況との関係を表す図。
【図19】図17のアドレス割り付けをおこなった場合の、ストライドと,それに対する網制御装置の処理性能との関係を表す図。
【図20】図7の計算機システムで、網制御装置からメモリモジュールへストア要求を転送する際の、アドレス幅の削減方法を表す図。
【図21】図8のメモリモジュールのアドレスマッピング回路62Aでおこなうアドレス変換の方法を表す図。
【図22】図7の計算機システムで図8のメモリモジュール52Aを使用した場合の、アドレス割り付けを示す図。
【図23】図22のアドレス割り付けをおこなった場合の、ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を表す図。
【図24】図21のアドレス変換をおこなわない場合の、アドレス割り付けを示す図。
【図25】図24のアドレス割り付けをおこなった場合の、ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を表す図。
【図26】図9のメモリモジュールのアドレスマッピング回路62Bでおこなうアドレス変換の方法を表す図。
【図27】図7の計算機システムで図9のメモリモジュール52Bを使用した場合の、アドレス割り付けの一部を示す図。
【図28】図7の計算機システムで図9のメモリモジュール52Bを使用した場合の、アドレス割り付けの一部を示す図。
【図29】図7の計算機システムで図9のメモリモジュール52Bを使用した場合の、アドレス割り付けの一部を示す図。
【図30】図7の計算機システムで図9のメモリモジュール52Bを使用した場合の、アドレス割り付けの一部を示す図。
【図31】図27〜30のアドレス割り付けをおこなった場合の、ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を表す図。
【図32】図26のアドレス変換をおこなわない場合の、アドレス割り付けの一部を示す図。
【図33】図26のアドレス変換をおこなわない場合の、アドレス割り付けの一部を示す図。
【図34】図26のアドレス変換をおこなわない場合の、アドレス割り付けの一部を示す図。
【図35】図26のアドレス変換をおこなわない場合の、アドレス割り付けの一部を示す図。
【図36】図32〜35のアドレス割り付けをおこなった場合の、ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を表す図。
【図37】従来の計算機システムの一例の全体構成を示すブロック図。
【図38】図37の計算機システムに用いるメモリモジュールの一例の構成を表すブロック図。メモリモジュールを2バンクグループ、各バンクグループを4バンクで構成したものである。
【図39】図37の計算機システムに用いるメモリモジュールの一例の構成を表すブロック図。メモリモジュールを8バンクグループ、各バンクグループを4バンクで構成したものである。
【図40】図37の計算機システムのアドレスマッピング回路43でおこなうアドレス変換の方法を表す図。
【図41】図37の計算機システムで図39のメモリモジュール53Bを使用した場合の、アドレス割り付けの一部を示す図。
【図42】図37の計算機システムで図39のメモリモジュール53Bを使用した場合の、アドレス割り付けの一部を示す図。
【図43】図37の計算機システムで図39のメモリモジュール53Bを使用した場合の、アドレス割り付けの一部を示す図。
【図44】図37の計算機システムで図39のメモリモジュール53Bを使用した場合の、アドレス割り付けの一部を示す図。
【図45】図41〜44のアドレス割り付けをおこなった場合の、ストライドとそれに対するストア要求のメモリモジュール、バンクグループ,バンクへの分散状況との関係を表す図。
【符号の説明】
10 プロセッサ
20 相互結合網
30 主記憶装置
40 アドレスマッピング回路
50 メモリモジュール
60 アドレスマッピング回路。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computer system having a multi-bank main memory device, and more particularly to a computer system that performs main memory skew.
[0002]
[Prior art]
As a configuration method of a main storage device of a computer system, an interleaving method composed of a large number of banks is known. FIG. 2 shows allocation of addresses by the interleave method when the number of banks constituting the main storage device is 16. The 16 banks are numbered sequentially from 0 to 15, and consecutive addresses are assigned to different banks in sequence. In this interleaving method, when sequentially accessing consecutive addresses, different banks are sequentially accessed, so that high-speed main memory access is possible. However, there is a known problem that when access is made at a specific address interval (stride), the access is concentrated in a specific bank or bank group, and the main memory access performance is lowered. For example, in the address allocation of FIG. 2, consider a case where access is made with a
[0003]
The address here refers to the number assigned to the memory location of each access unit of the memory. Hereinafter, unless otherwise specified, the address definition in this specification is as described above.
[0004]
Main memory skew is known as a means for alleviating the degradation in access request processing performance of the main storage device. The main memory skew is DJ Kuck: “ILLIAC IV Software and Application Programming”, IEEE Transactions on Computers, Vol. C-17, No. 8, pp. 758-770, August 1968 or P. Budnik and DJ Kuck: “The Mathematical foundation is given in "Organization and Use of Parallel Memories", IEEE Transactions on Computers, pp. 1566-1569, December 1971. There are various variations of the method, some of which are DT Harper III and JR Jump: “Vector Access Performance in Parallel Memories Using a Skewed Storage Scheme”, IEEE Transactions on Computers, Vol. C-36 (12 ), pp. 1440-1449, December 1987 or the same authors, “Performance Evaluation of Vector Accesses in Parallel Memories Using a Skewed Storage Scheme”, Conference Proceedings of the 13th Annual International Symposium on Computer Architecture, pp.324-328, June. 1986, IEEE or US Pat. No. 4,918,600.
[0005]
FIG. 4 shows an example of a computer system that performs main memory skew. The computer system generally indicated by
[0006]
(Equation 1)
BK = (ADR + ADR ÷ N) mod N
Here, mod N represents taking N modulo. FIG. 5 shows address allocation in the
[0007]
As can be seen from the comparison between FIG. 3 and FIG. 6, by performing main memory skew, it is possible to reduce the types of strides that cause access requests to concentrate on a specific bank or group of banks, resulting in performance degradation. it can.
[0008]
[Problems to be solved by the invention]
In order to improve the performance of the main storage device, a method of replacing the current memory module with a memory module having a different configuration in which various techniques for speeding up are introduced can be considered. Here, when the memory module is replaced with a memory module having a larger number of banks, in the conventional computer system shown in FIG. 4, depending on the stride, the distribution of access requests to the banks does not match the increase in the number of banks. There is a problem that even if the number of banks is increased, the effect as increased cannot be obtained.
[0009]
For example, it is assumed that the entire main storage device is composed of 32 banks, and in a certain stride, access requests are concentrated only in 8 banks. Here, even if the number of banks in each memory module is quadrupled and the configuration of the main memory device is 128 banks, access requests are still concentrated in 8 banks in the stride, and as a result, the performance does not increase. .
[0010]
In the conventional computer system, the main memory skew is adjusted to the initial bank configuration (32 banks in the above example). The main memory skew is a new bank configuration (in the above example, by replacing the memory module). This is because it is not suitable for (128 banks).
[0011]
An object of the present invention is to solve the above-described problem and improve the performance of the main storage device by realizing a main storage skew suitable for the new bank configuration when the number of banks is increased by replacing the memory module. There is.
[0012]
[Means for Solving the Problems]
In order to solve the above problems, a computer system according to the present invention connects one or more processors for processing data, a main storage device for storing data, and the processor and the main storage device to each other. An interconnection network, the interconnection network having one or a plurality of address mapping circuits, the main memory device having a plurality of memory modules, and each memory module having an address mapping circuit. The address conversion is performed in two stages: the address mapping circuit in the interconnection network and the address mapping circuit in the memory module.
[0013]
The address conversion performed by the address mapping circuit in the memory module is a method suitable for the bank configuration of the memory module.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
An example of a computer system according to the present invention is shown in FIG. Although four
[0015]
Embodiments of the present invention will be described below with reference to the drawings.
[0016]
FIG. 7 shows a main configuration of a computer system according to an embodiment of the present invention. The computer system of this embodiment, indicated as a whole by
[0017]
Each
[0018]
The
[0019]
In the
[0020]
When the
[0021]
As the
[0022]
The
[0023]
On the other hand, the
[0024]
The
[0025]
FIG. 10 shows an address field associated with a store access request issued by the
[0026]
When the
[0027]
On the other hand, when the
[0028]
Hereinafter, an operation when a store access request is issued from the
[0029]
When the
[0030]
The
[0031]
FIG. 13 shows a method of address conversion performed by the
[0032]
(Equation 2)
MM = (ADR + ADR ÷ 4)
In the address allocation of FIG. 14, when the store request is issued from the
[0033]
For comparison, FIG. 17 shows an address assigned to each
[0034]
When the store request is transferred from the
[0035]
The
[0036]
Next, the flow of store request processing in the
[0037]
First, the case where the
[0038]
FIG. 21 shows a method of address conversion performed by the
[0039]
For comparison, FIG. 24 shows address allocation to each layer of the memory module, bank group, and bank when the
[0040]
Next, a case where the
[0041]
FIG. 26 shows a method of address conversion performed by the
[0042]
For comparison, FIG. 32 to FIG. 35 show the address assignment to each layer of the memory module, bank group, and bank when the
[0043]
As can be seen from the comparison between FIG. 23 and FIG. 31, the store request for the same stride can be obtained by replacing the memory module constituting the
[0044]
The
[0045]
A feature of the present invention is that address mapping circuits for realizing main memory skew are provided in two locations in the interconnection network and the memory module, and address conversion is performed in two stages. As a result, even when the configuration of the bank group and the bank is changed due to the replacement of the memory module, the main storage skew suitable for the new configuration can be realized, and high main storage performance can be obtained.
[0046]
Here, for the sake of comparison, consider replacing a memory module in a conventional computer system. In the
[0047]
FIG. 40 shows a method of address conversion performed by the
[0048]
Here, the case where the memory module 53B is used as the
[0049]
【The invention's effect】
As described above, in the computer system according to the present invention, even when the bank configuration is changed due to the replacement of the memory module, the main storage skew is suitable for the new bank configuration, thereby improving the performance of the main storage device. be able to.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a main configuration of a computer system according to the present invention.
FIG. 2 is a diagram showing address allocation in an interleave method in which main memory skew is not performed.
FIG. 3 is a diagram illustrating a relationship between a stride and a distribution state of access requests to the bank when the address assignment of FIG. 2 is performed;
FIG. 4 is a block diagram showing the overall configuration of a conventional computer system that performs main memory skew.
FIG. 5 is a diagram showing address allocation when main memory skew is performed in the computer system of FIG. 4;
6 is a diagram showing a relationship between a stride and a distribution state of access requests to banks in response to the address assignment of FIG. 5;
FIG. 7 is a block diagram showing the overall configuration of a computer system according to an embodiment of the present invention.
8 is a block diagram showing a configuration of an example of a memory module used in the computer system of FIG. The memory module is composed of 2 bank groups and each bank group is composed of 4 banks.
9 is a block diagram showing a configuration of an example of a memory module used in the computer system of FIG. The memory module is composed of 8 bank groups and each bank group is composed of 4 banks.
10 is a view showing an address field associated with an access request issued by the processor of the computer system of FIG. 7;
11 is a diagram showing an address field associated with a store request sent from the processor to the network control device when the main storage device of the computer system of FIG. 7 is constructed with the memory module of FIG. 8;
12 is a diagram showing an address field associated with a store request sent from the processor to the network control device when the main storage device of the computer system of FIG. 7 is constructed by the memory module of FIG. 9;
13 is a diagram showing a method of address conversion performed by the
14 is a diagram showing addresses assigned to each memory module when the address conversion of FIG. 13 is performed.
15 is a diagram showing a relationship between a stride and a distribution status of store requests to memory modules in response to the address assignment shown in FIG. 14;
FIG. 16 is a diagram showing the relationship between stride and the processing performance of the network control apparatus for the address assignment in FIG.
17 is a diagram showing addresses assigned to each memory module when the address conversion in FIG. 13 is not performed.
18 is a diagram showing the relationship between the stride and the distribution status of store requests to the memory modules when the address allocation of FIG. 17 is performed.
19 is a diagram showing the relationship between stride and the processing performance of the network control apparatus for the address assignment in FIG.
20 is a diagram showing a method for reducing an address width when transferring a store request from the network control apparatus to the memory module in the computer system of FIG. 7;
FIG. 21 is a diagram illustrating a method of address conversion performed by the
22 is a diagram showing address allocation when the
FIG. 23 is a diagram showing a relationship between a stride and a distribution status of store requests corresponding to the memory modules, bank groups, and banks when the address allocation of FIG. 22 is performed;
24 is a diagram showing address assignment when the address conversion in FIG. 21 is not performed.
FIG. 25 is a diagram showing a relationship between a stride and a distribution status of store requests corresponding to the memory modules, bank groups, and banks when the address allocation of FIG. 24 is performed;
26 is a diagram showing a method of address conversion performed by the
27 is a diagram showing a part of address assignment when the
28 is a diagram showing a part of address assignment when the
29 is a view showing a part of address assignment when the
30 is a diagram showing a part of address assignment when the
FIG. 31 is a diagram showing a relationship between a stride and a distribution status of store requests corresponding to the memory modules, bank groups, and banks when the addresses shown in FIGS. 27 to 30 are assigned;
FIG. 32 is a diagram showing a part of address assignment when the address conversion in FIG. 26 is not performed;
FIG. 33 is a diagram showing a part of address assignment when the address conversion in FIG. 26 is not performed;
34 is a diagram showing a part of address assignment when the address conversion in FIG. 26 is not performed.
FIG. 35 is a diagram showing a part of address assignment when the address conversion in FIG. 26 is not performed;
FIG. 36 is a diagram showing a relationship between a stride and a distribution status of store requests corresponding to the memory modules, bank groups, and banks when the address allocation of FIGS. 32 to 35 is performed.
FIG. 37 is a block diagram showing the overall configuration of an example of a conventional computer system.
38 is a block diagram showing a configuration of an example of a memory module used in the computer system of FIG. The memory module is composed of 2 bank groups and each bank group is composed of 4 banks.
39 is a block diagram showing a configuration of an example of a memory module used in the computer system of FIG. The memory module is composed of 8 bank groups and each bank group is composed of 4 banks.
40 is a diagram showing an address conversion method performed by the
41 is a view showing a part of address assignment when the memory module 53B of FIG. 39 is used in the computer system of FIG. 37;
42 is a diagram showing a part of address assignment when the memory module 53B of FIG. 39 is used in the computer system of FIG. 37;
43 is a diagram showing a part of address assignment when the memory module 53B of FIG. 39 is used in the computer system of FIG.
44 is a diagram showing a part of address assignment when the memory module 53B of FIG. 39 is used in the computer system of FIG. 37;
45 is a diagram showing the relationship between the stride and the distribution status of store requests corresponding to the memory modules, bank groups, and banks when the addresses shown in FIGS. 41 to 44 are assigned. FIG.
[Explanation of symbols]
10 processor
20 Interconnection network
30 Main memory
40 Address mapping circuit
50 memory modules
60 Address mapping circuit.
Claims (2)
前記相互結合網には、
前記プロセッサが指定する主記憶アドレスの特定ビットに所定の変換を行って前記プロセッサが指定する主記憶アドレスに対応するメモリモジュールを特定し、前記変換により前記複数のメモリモジュールにインターリーブ方式によるアドレス割り付けを実現する第1のアドレスマッピング回路と、
前記第1のアドレスマッピング回路で特定されたメモリモジュールに、前記特定ビットを除いた前記プロセッサが指定する主記憶アドレスを転送する手段とを有し、
前記メモリモジュールの各々には、前記結合網を介して転送された主記憶アドレスを変換し、変換により各メモリモジュール内のメモリバンクにインターリーブ方式によるアドレス割付けを実現する第2のアドレスマッピング回路を有し、
前記第1、第2のアドレスマッピング回路の2段階でアドレス変換をおこなうことを特徴とする計算機システム。Comprising a one or more processors, a main memory device including a plurality of memory modules, and interconnection network to couple to each other between said plurality of memory modules of the main memory and the processor, wherein the plurality Each of the memory modules in a computer system having a plurality of memory banks ,
The interconnection network includes
A predetermined conversion is performed on a specific bit of a main memory address designated by the processor to identify a memory module corresponding to the main memory address designated by the processor, and an address allocation by an interleave method is performed on the plurality of memory modules by the conversion. A first address mapping circuit to be realized ;
Means for transferring a main memory address specified by the processor excluding the specific bit to the memory module specified by the first address mapping circuit ;
Each of the memory modules has a second address mapping circuit that converts the main memory address transferred via the coupling network and realizes address allocation by interleaving in the memory bank in each memory module by the conversion. And
A computer system that performs address conversion in two stages of the first and second address mapping circuits.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33685898A JP4240610B2 (en) | 1998-11-27 | 1998-11-27 | Computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33685898A JP4240610B2 (en) | 1998-11-27 | 1998-11-27 | Computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000163316A JP2000163316A (en) | 2000-06-16 |
JP4240610B2 true JP4240610B2 (en) | 2009-03-18 |
Family
ID=18303316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33685898A Expired - Fee Related JP4240610B2 (en) | 1998-11-27 | 1998-11-27 | Computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4240610B2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI233616B (en) * | 2004-05-06 | 2005-06-01 | Carry Computer Eng Co Ltd | Silicon storage media and controller thereof, controlling method thereof, and data frame based storage media |
JP4451733B2 (en) * | 2004-06-30 | 2010-04-14 | 富士通マイクロエレクトロニクス株式会社 | Semiconductor device |
JP5051215B2 (en) * | 2009-12-28 | 2012-10-17 | ソニー株式会社 | Arithmetic system |
US9330002B2 (en) * | 2011-10-31 | 2016-05-03 | Cavium, Inc. | Multi-core interconnect in a network processor |
JP2015108972A (en) * | 2013-12-04 | 2015-06-11 | 富士通株式会社 | Calculation device, determination method of calculation device, and program |
US10019380B2 (en) * | 2015-09-25 | 2018-07-10 | Qualcomm Incorporated | Providing memory management functionality using aggregated memory management units (MMUs) |
DE102016108525B4 (en) * | 2016-05-09 | 2022-01-27 | Infineon Technologies Ag | Device for use in accessing a memory |
US10996949B2 (en) * | 2019-05-10 | 2021-05-04 | International Business Machines Corporation | Address generation for high-performance vector processing |
JP7408954B2 (en) * | 2019-09-02 | 2024-01-09 | 日本電気株式会社 | Memory control method, memory control device, program |
JP7512622B2 (en) * | 2020-03-13 | 2024-07-09 | 日本電気株式会社 | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL SYSTEM, MEMORY ACCESS CONTROL METHOD, AND MEMORY ACCESS CONTROL PROGRAM |
-
1998
- 1998-11-27 JP JP33685898A patent/JP4240610B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000163316A (en) | 2000-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6185654B1 (en) | Phantom resource memory address mapping system | |
JP5715644B2 (en) | System and method for storing data in a high speed virtual memory system | |
US5410727A (en) | Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices | |
JP2576846B2 (en) | Cluster controller and cluster connection multiplex processing system | |
JP3628706B2 (en) | Memory interface unit, shared memory switch system and related methods | |
JP4006436B2 (en) | Multi-level cache with overlapping sets of associative sets at different cache levels | |
US7346750B2 (en) | Memory interleave system | |
CN104699631A (en) | Storage device and fetching method for multilayered cooperation and sharing in GPDSP (General-Purpose Digital Signal Processor) | |
US20040225787A1 (en) | Self-optimizing crossbar switch | |
JPH0520776B2 (en) | ||
JPS618785A (en) | Access control system for storage device | |
Schlansker et al. | The Cydra 5 stride-insensitive memory system | |
JP2002373115A (en) | Replacement control method for shared cache memory and device therefor | |
JP4240610B2 (en) | Computer system | |
JP2021521529A (en) | Network switch queue | |
JPH10301842A (en) | Memory controller | |
JP2561261B2 (en) | Buffer storage access method | |
JP4531223B2 (en) | Data processing apparatus having a plurality of processors sharing a collective memory | |
US8806132B2 (en) | Information processing device, memory access control device, and address generation method thereof | |
JP4445708B2 (en) | How to access I / O modules using a map table | |
EP4038506A1 (en) | Hardware acceleration | |
JPH063589B2 (en) | Address replacement device | |
Watson | The Texas Instruments advanced scientific computer | |
Sakai et al. | Design and implementation of a circular omega network in the EM-4 | |
JP3686795B2 (en) | Address generation device, data transfer processing device, vector processing device, vector computer, information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051025 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20051025 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080919 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081120 |
|
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: 20081209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081222 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140109 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |