JPH0652511B2 - 情報処理装置のアドレス変換方式 - Google Patents
情報処理装置のアドレス変換方式Info
- Publication number
- JPH0652511B2 JPH0652511B2 JP59264071A JP26407184A JPH0652511B2 JP H0652511 B2 JPH0652511 B2 JP H0652511B2 JP 59264071 A JP59264071 A JP 59264071A JP 26407184 A JP26407184 A JP 26407184A JP H0652511 B2 JPH0652511 B2 JP H0652511B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- relocation
- address conversion
- program
- logical address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、プログラムで指定された論理アドレスを実ア
ドレスに変換する仮想記憶方式を採るプロセッサを複数
個有する情報処理装置に係り、詳しくは、スカラプロセ
ッサとベクトルプロセッサを含む場合のアドレス変換方
式に関する。
ドレスに変換する仮想記憶方式を採るプロセッサを複数
個有する情報処理装置に係り、詳しくは、スカラプロセ
ッサとベクトルプロセッサを含む場合のアドレス変換方
式に関する。
〔発明の背景〕 科学技術分野において、計算機の大規模化、高速化の要
求はますます強まってきている。一方、半導体集積技術
の進歩も著しく、大容量メモリを備え、高速演算を目的
とする科学技術計算専用計算機が、最新のハードウェア
技術を使用して製品化されてきている。
求はますます強まってきている。一方、半導体集積技術
の進歩も著しく、大容量メモリを備え、高速演算を目的
とする科学技術計算専用計算機が、最新のハードウェア
技術を使用して製品化されてきている。
この種の科学技術計算専用計算機は、一般にベクトル演
算を専用に実行するベクトル処理ユニット(ベクトルプ
ロセッサ)と、全体の計算機資源の管理(オペレーティ
ングシステム)や、科学技術計算プログラムでベクトル
命令に展開できない部分を実行するスカラ処理ユニット
(スカラプロセッサ)から構成される。
算を専用に実行するベクトル処理ユニット(ベクトルプ
ロセッサ)と、全体の計算機資源の管理(オペレーティ
ングシステム)や、科学技術計算プログラムでベクトル
命令に展開できない部分を実行するスカラ処理ユニット
(スカラプロセッサ)から構成される。
このような構成をとる科学技術計算専用計算機が仮想記
憶方式を採る場合、ベクトルプロセッサとスカラプロセ
ッサは、論理アドレス空間上にある技術計算プログラム
をお互いに関連し合いながら効率よく実行していくが、
技術計算プログラムの大規模化に伴なって、論理アドレ
ス空間も、従来の16MB(MB:メガバイト)から2
GB(GB:ギガバイト)に拡張され、実メモリも25
6MB程度のものが製品化されてきている。
憶方式を採る場合、ベクトルプロセッサとスカラプロセ
ッサは、論理アドレス空間上にある技術計算プログラム
をお互いに関連し合いながら効率よく実行していくが、
技術計算プログラムの大規模化に伴なって、論理アドレ
ス空間も、従来の16MB(MB:メガバイト)から2
GB(GB:ギガバイト)に拡張され、実メモリも25
6MB程度のものが製品化されてきている。
ところで、技術計算プログラムは、従来のプログラムと
は異なり、例えば、行列データというような特殊なデー
タが、プログラムの中の大部分を占めていることが多
い。このような特殊なデータを持つプログラムの処理
は、その特徴を生かした処理(例えばアドレス変換方
式)を行うことがより効率的であろうと考えられる。こ
のようなデータ領域は、一般的に以下の特徴がある。
は異なり、例えば、行列データというような特殊なデー
タが、プログラムの中の大部分を占めていることが多
い。このような特殊なデータを持つプログラムの処理
は、その特徴を生かした処理(例えばアドレス変換方
式)を行うことがより効率的であろうと考えられる。こ
のようなデータ領域は、一般的に以下の特徴がある。
(1) プログラム全体が走る中で、ある一定期間、集中的
に本領域中のデータの参照/更新が行われる。
に本領域中のデータの参照/更新が行われる。
(2) しかも、この参照/更新の途中で、処理が中断する
ようなこと(ページフォールト等)のないことが望まし
い。
ようなこと(ページフォールト等)のないことが望まし
い。
このような領域に対しては、ページ単位にデータを主記
憶装置と外部記憶装置の間で移動させるページングの対
象からはずし(すなわち、ページ固定)、データの必要
時、全データを主記憶装置上に常駐させ、不要になった
ときは、全データを外部記憶装置に掃き出すといういわ
ゆるスワップイン/アウト方式で対処することが効率的
である。
憶装置と外部記憶装置の間で移動させるページングの対
象からはずし(すなわち、ページ固定)、データの必要
時、全データを主記憶装置上に常駐させ、不要になった
ときは、全データを外部記憶装置に掃き出すといういわ
ゆるスワップイン/アウト方式で対処することが効率的
である。
このようなプログラムに対して、スカラプロセッサは、
ページを固定し、従来のセグメントテーブル/ページテ
ーブルを使用したアドレス変換を行って論理アドレスを
実アドレス(実メモリ)に変換し、メモリのアクセスを
行う。上記テーブルは、主記憶装置上に存在するが、ア
ドレスを高速に行えるように、一部の論理アドレスと実
アドレスの変換対を高速メモリ(TLB:Translation
Look−aside Buffer)上に持つのが普通である。これ
に対して、ベクトルプロセッサは、高速処理が必要なた
め、上記アドレス変換を行うためには、すべてのアクセ
ス領域について、高速の変換テーブル(TLB)を持つ
必要がある。しかし、ベクトルプロセッサに、このよう
な高速の変換テーブルを全テーブルエントリ分持つに
は、現在の半導体集積技術をもってしても物量が大きく
なり、実現が難かしい。
ページを固定し、従来のセグメントテーブル/ページテ
ーブルを使用したアドレス変換を行って論理アドレスを
実アドレス(実メモリ)に変換し、メモリのアクセスを
行う。上記テーブルは、主記憶装置上に存在するが、ア
ドレスを高速に行えるように、一部の論理アドレスと実
アドレスの変換対を高速メモリ(TLB:Translation
Look−aside Buffer)上に持つのが普通である。これ
に対して、ベクトルプロセッサは、高速処理が必要なた
め、上記アドレス変換を行うためには、すべてのアクセ
ス領域について、高速の変換テーブル(TLB)を持つ
必要がある。しかし、ベクトルプロセッサに、このよう
な高速の変換テーブルを全テーブルエントリ分持つに
は、現在の半導体集積技術をもってしても物量が大きく
なり、実現が難かしい。
1つの対応案としては、プロセッサを論理アドレスと実
アドレスが等しくなるように主記憶装置上にロードし実
行することが考えられる。このようにすれば、ベクトル
プロセッサのアドレス変換テーブルが不要になるが、反
面、主記憶装置の使用効率が悪くなるという問題があ
る。つまり、上記方法では、連続した主記憶領域をプロ
グラムに与える必要があるが、確保−解放を繰返すうち
に主記憶装置上に空き領域が虫食い的に発生し(フラグ
メンテーション)、虫食い部分の総計では十分あるが、
連続していないために使用できず、ジョブの実行が待さ
れてしまう。
アドレスが等しくなるように主記憶装置上にロードし実
行することが考えられる。このようにすれば、ベクトル
プロセッサのアドレス変換テーブルが不要になるが、反
面、主記憶装置の使用効率が悪くなるという問題があ
る。つまり、上記方法では、連続した主記憶領域をプロ
グラムに与える必要があるが、確保−解放を繰返すうち
に主記憶装置上に空き領域が虫食い的に発生し(フラグ
メンテーション)、虫食い部分の総計では十分あるが、
連続していないために使用できず、ジョブの実行が待さ
れてしまう。
なお、本発明に関連する公知文献としては例えば特開昭
58−97184号公報が挙げられるが、上記問題の解
決には考慮がはらわれていない。
58−97184号公報が挙げられるが、上記問題の解
決には考慮がはらわれていない。
本発明の目的は、スカラプロセッサとベクトルプロセッ
サで構成される仮想記憶方式の情報処理装置において、
ベクトルプロセッサの高性能化を維持しつつ、最適な半
導体の物量でもって実アドレス空間/論理アドレス空間
の有効利用が図られるアドレス変換方式を提供すること
にある。
サで構成される仮想記憶方式の情報処理装置において、
ベクトルプロセッサの高性能化を維持しつつ、最適な半
導体の物量でもって実アドレス空間/論理アドレス空間
の有効利用が図られるアドレス変換方式を提供すること
にある。
本発明は、スカラプロセッサはセグメントテーブル/ペ
ージテーブルのアドレス変換テーブルを使用して従来と
同様にアドレス変換を行うが、ベクトルプロセッサは、
このアドレス変換テーブルにおけるアドレス変換のデー
タ単位よりも大きなデータ単位でリロケーションアドレ
スを管理する1段の高速リロケーションテーブルをアド
レス変換テーブルとは別に持ち、プログラムで指定され
た論理アドレスが予め設定されたリロケーション対象範
囲にあるとき、該リロケーションを使用してアドレス変
換を行うようにしたことである。なお、アドレス変換テ
ーブルとリロケーションテーブルに矛盾を生じないよう
に、リロケーション範囲をスカラプロセッサが管理す
る。
ージテーブルのアドレス変換テーブルを使用して従来と
同様にアドレス変換を行うが、ベクトルプロセッサは、
このアドレス変換テーブルにおけるアドレス変換のデー
タ単位よりも大きなデータ単位でリロケーションアドレ
スを管理する1段の高速リロケーションテーブルをアド
レス変換テーブルとは別に持ち、プログラムで指定され
た論理アドレスが予め設定されたリロケーション対象範
囲にあるとき、該リロケーションを使用してアドレス変
換を行うようにしたことである。なお、アドレス変換テ
ーブルとリロケーションテーブルに矛盾を生じないよう
に、リロケーション範囲をスカラプロセッサが管理す
る。
以下、本発明の一実施例を図面により詳細に説明する。
第1図は本発明の一実施例の全体ブロック図を示す。第
1図において、スカラプロセッサ1は、アドレス変換機
構2を通して主記憶装置(MS)5にアクセスし、ベク
トルプロセッサ3は、アドレスリロケーション機構4を
通して主記憶装置5にアクセスする。
1図において、スカラプロセッサ1は、アドレス変換機
構2を通して主記憶装置(MS)5にアクセスし、ベク
トルプロセッサ3は、アドレスリロケーション機構4を
通して主記憶装置5にアクセスする。
第2図および第3図は、論理アドレス空間上のプログラ
ムの構成とアドレス変換後の実アドレス空間上のプログ
ラム構成の一例を示したものである。
ムの構成とアドレス変換後の実アドレス空間上のプログ
ラム構成の一例を示したものである。
第2図の論理アドレス空間を大きく分割すると、16M
B以内の領域6、16MB以上の領域でスカラプロセッ
サ1が使用する領域7,10,16MB以上でベクトル
プロセッサ3とスカラプロセッサ1が使用する拡張領域
8とに分けられ、技術計算プログラム3本は、各空間に
それぞれ斜線で示した領域に割当てられている。第2図
においては、これらのプログラムは、論理空間上のアド
レスがお互いに異なっていることが特徴であり、リロケ
ーションテーブルの管理が簡単になる。これらのプログ
ラムは、スカラプロセッサ1では、アドレス変換機構2
によりアドレス変換されて、実アドレス空間9をアクセ
スし、ベクトルプロセッサ3では、アドレスリロケーシ
ョン機構4によりアドレス変換されて、実アドレス空間
9をアクセスすることを示している。
B以内の領域6、16MB以上の領域でスカラプロセッ
サ1が使用する領域7,10,16MB以上でベクトル
プロセッサ3とスカラプロセッサ1が使用する拡張領域
8とに分けられ、技術計算プログラム3本は、各空間に
それぞれ斜線で示した領域に割当てられている。第2図
においては、これらのプログラムは、論理空間上のアド
レスがお互いに異なっていることが特徴であり、リロケ
ーションテーブルの管理が簡単になる。これらのプログ
ラムは、スカラプロセッサ1では、アドレス変換機構2
によりアドレス変換されて、実アドレス空間9をアクセ
スし、ベクトルプロセッサ3では、アドレスリロケーシ
ョン機構4によりアドレス変換されて、実アドレス空間
9をアクセスすることを示している。
第3図は、第2図と比較して、論理アドレス空間の拡張
領域8でのプログラム割当て方式が異なり、ここでは、
空間の異なる領域のプログラムが、同じ論理アドレスに
割当てられている。
領域8でのプログラム割当て方式が異なり、ここでは、
空間の異なる領域のプログラムが、同じ論理アドレスに
割当てられている。
第2図および第3図において、拡張領域8には、技術計
算プログラムの命令とデータが割当てられれるが、第2
図で示す割当て方法であると、実アドレス上のフラグメ
ンテーションはなくなるが、論理アドレス空間上のフラ
グメンテーションはなくならない。第3図で示すような
拡張領域の割当て方法では、論理アドレス空間上のフラ
グメンテーションもなくなり、より効率のよい領域割当
てが可能となる。しかし、その反面、リロケーションテ
ーブルの管理が、第2図で示すような空間割当て方式の
ときより複雑になる。
算プログラムの命令とデータが割当てられれるが、第2
図で示す割当て方法であると、実アドレス上のフラグメ
ンテーションはなくなるが、論理アドレス空間上のフラ
グメンテーションはなくならない。第3図で示すような
拡張領域の割当て方法では、論理アドレス空間上のフラ
グメンテーションもなくなり、より効率のよい領域割当
てが可能となる。しかし、その反面、リロケーションテ
ーブルの管理が、第2図で示すような空間割当て方式の
ときより複雑になる。
第4図は、スカラプロセッサ1がアドレス変換機構2を
通して論理アドレス空間上のプログラムを実アドレス空
間に変換するときの変換方式を示したもので、これは従
来よく知られたものである。簡単に説明すると、論理ア
ドレス20の上位アドレスとセグメント起点アドレス2
1を加え、セグメントテーブル22の中の1つのエント
リを取りだす。これに論理アドレス20の中位アドレス
を加えて、ページテーブル23の中の1つのエントリを
取りだして実アドレスの上位とする。実アドレスの下位
は、論理アドレス20の下位をそのままもってくる。セ
グメントテーブル22、ページテーブル23は、主記憶
装置5上にあるが、アドレス変換の高速化をはかるた
め、アドレス変換機構2は、論理アドレスと対応する実
アドレスの変換対の一部を格納した高速変換テーブル
(TLB)を持つのが普通である。
通して論理アドレス空間上のプログラムを実アドレス空
間に変換するときの変換方式を示したもので、これは従
来よく知られたものである。簡単に説明すると、論理ア
ドレス20の上位アドレスとセグメント起点アドレス2
1を加え、セグメントテーブル22の中の1つのエント
リを取りだす。これに論理アドレス20の中位アドレス
を加えて、ページテーブル23の中の1つのエントリを
取りだして実アドレスの上位とする。実アドレスの下位
は、論理アドレス20の下位をそのままもってくる。セ
グメントテーブル22、ページテーブル23は、主記憶
装置5上にあるが、アドレス変換の高速化をはかるた
め、アドレス変換機構2は、論理アドレスと対応する実
アドレスの変換対の一部を格納した高速変換テーブル
(TLB)を持つのが普通である。
第5図は、ベクトルプロセッサ3がアドレスリロケーシ
ョン機構4を通して論理アドレス空間上のプログラムを
実アドレス空間に変換するときの変換方式の一例を示し
たものである。こゝでは、1MB単位のリロケーション
テーブル38が示されている。範囲レジスタ32,33
には、それぞれリロケーション対象となる論理アドレス
上の上限と下限が、スカラプロセッサ1によりあらかじ
めセットされている。また主記憶装置5の容量は256
MBとしている。以下に具体例をもって説明する。
ョン機構4を通して論理アドレス空間上のプログラムを
実アドレス空間に変換するときの変換方式の一例を示し
たものである。こゝでは、1MB単位のリロケーション
テーブル38が示されている。範囲レジスタ32,33
には、それぞれリロケーション対象となる論理アドレス
上の上限と下限が、スカラプロセッサ1によりあらかじ
めセットされている。また主記憶装置5の容量は256
MBとしている。以下に具体例をもって説明する。
論理アドレス20のビット4〜11の値31により、リ
ロケーションテーブル(この例では、256エントリあ
る)の中の1つのエントリを選択し、上位に3ビットの
ゼロ39を付加し、セレクタ40に送られる。また、論
理アドレス20のビット1〜11は、そのまゝセレクタ
40に送られると同時に比較回路34,35に送られ、
範囲レジスタ32,33と比較され、論理アドレスが、
リロケーション対象の範囲にあるかどうかが調べられ
る。その結果はアンド回路36を通して、セレクタ40
に送られ、データ線45,46のどちらかが選択され
る。即ち、リロケーション対象範囲であればデータ線4
6が選択され、対象範囲外であれば、データ線45が選
択される。セレクタ40の出力は実アドレス24のビッ
ト1〜11にセットされる。論理アドレス20のビット
12〜31は、そのまま実アドレス24のビット12〜
31にセットされる。ここで、主記憶装置9の容量は2
56MBであるとしているので、実アドレス24のビッ
ト1〜3のいずれかに“1”がセットされると、“1”
検出回路41によりアドレスエラー信号が発行される。
ロケーションテーブル(この例では、256エントリあ
る)の中の1つのエントリを選択し、上位に3ビットの
ゼロ39を付加し、セレクタ40に送られる。また、論
理アドレス20のビット1〜11は、そのまゝセレクタ
40に送られると同時に比較回路34,35に送られ、
範囲レジスタ32,33と比較され、論理アドレスが、
リロケーション対象の範囲にあるかどうかが調べられ
る。その結果はアンド回路36を通して、セレクタ40
に送られ、データ線45,46のどちらかが選択され
る。即ち、リロケーション対象範囲であればデータ線4
6が選択され、対象範囲外であれば、データ線45が選
択される。セレクタ40の出力は実アドレス24のビッ
ト1〜11にセットされる。論理アドレス20のビット
12〜31は、そのまま実アドレス24のビット12〜
31にセットされる。ここで、主記憶装置9の容量は2
56MBであるとしているので、実アドレス24のビッ
ト1〜3のいずれかに“1”がセットされると、“1”
検出回路41によりアドレスエラー信号が発行される。
第2図の様な論理アドレス空間構成のシステムを本ハー
ドウェアで実現するためには、まず、システム立ち上げ
時、リロケーション範囲(拡張領域8)の上/下限の値
を、レジスタ32,33にセットし、各科学計算ジョブ
の開始時に、対応するリロケーションテーブル38のエ
ントリにアドレスをセットすればよい。16MB以内の
領域にある各科学計算ジョブは、リロケーション範囲外
であるので、データ線45が選択される。オペレーティ
ングシステム(スカラプロセッサで動作)は、第4図の
アドレス変換テーブルと、第5図のリロケーションテー
ブル38に矛盾が生じないように管理する。
ドウェアで実現するためには、まず、システム立ち上げ
時、リロケーション範囲(拡張領域8)の上/下限の値
を、レジスタ32,33にセットし、各科学計算ジョブ
の開始時に、対応するリロケーションテーブル38のエ
ントリにアドレスをセットすればよい。16MB以内の
領域にある各科学計算ジョブは、リロケーション範囲外
であるので、データ線45が選択される。オペレーティ
ングシステム(スカラプロセッサで動作)は、第4図の
アドレス変換テーブルと、第5図のリロケーションテー
ブル38に矛盾が生じないように管理する。
第3図の様な論理アドレス空間構成のシステムを、本ハ
ードウェアで実現するためには、まず、システム立ち上
げ時、リロケーション範囲の上/下限の値を、レジスタ
32,33にセットし、1つの科学計算ジョブの開始時
に、対応するリロケーションテーブル38のエントリア
ドレスをセットし、他のジョブが起動された時には、空
間の切換えごとにリロケーションテーブルエントリの内
容を、そのジョブに対応した内容に書き直す必要があ
る。この空間切換時のオーバヘッドを軽減するために、
リロケーションテーブルを複数個持ち、そのポインタを
設け、ソフトから設定できるようにしてもよい。第5図
の点線で示しているものが、これらのハードウェアであ
り、42がポインタ、43が別のリロケーションテーブ
ルを示す。
ードウェアで実現するためには、まず、システム立ち上
げ時、リロケーション範囲の上/下限の値を、レジスタ
32,33にセットし、1つの科学計算ジョブの開始時
に、対応するリロケーションテーブル38のエントリア
ドレスをセットし、他のジョブが起動された時には、空
間の切換えごとにリロケーションテーブルエントリの内
容を、そのジョブに対応した内容に書き直す必要があ
る。この空間切換時のオーバヘッドを軽減するために、
リロケーションテーブルを複数個持ち、そのポインタを
設け、ソフトから設定できるようにしてもよい。第5図
の点線で示しているものが、これらのハードウェアであ
り、42がポインタ、43が別のリロケーションテーブ
ルを示す。
スカラプロセッサとベクトルプロセッサのアドレス変換
をまとめると、以下の第1表のようになる。
をまとめると、以下の第1表のようになる。
ここで、ALは論理アドレス、AT(AL)は論理アド
レスALをアドレス変換機構で変換することを、RT
(AL)は論理アドレスをアドレスリロケーション機構
で変換することを意味する。
レスALをアドレス変換機構で変換することを、RT
(AL)は論理アドレスをアドレスリロケーション機構
で変換することを意味する。
第6図は、第5図にゼロ検出回路50、セレクタ51、
エラー信号52を加えたもので、スカラプロセッサとベ
クトルプロセッサは、以下の第2表の様に動作する。A
L、AT(AL)、RT(AL)の意味は第1表と同じ
である。
エラー信号52を加えたもので、スカラプロセッサとベ
クトルプロセッサは、以下の第2表の様に動作する。A
L、AT(AL)、RT(AL)の意味は第1表と同じ
である。
第7図は、第5図と第6図に示す範囲レジスタ、リロケ
ーションテーブルエントリ等のアドレスリロケーション
に必要な情報を、各レジスタにセットするスカラ命令で
ある。第7図の命令60,61は、第2図の論理アドレ
ス空間の割当てを前提に考えられており、システム立ち
上げ時、命令61により、リロケーション範囲の上限/
下限を設定し、各科学技術計算ジョブの立ち上げ時、そ
れに対応したリロケーションの値を、命令60により設
定する。本命令は、ジョブの立ち上げ時、1回だけ出さ
れればよく、リロケーションテーブルの内容は、当該ジ
ョブが終了するまで使用される。命令62は、第3図の
論理アドレス空間の割当てを前提に考えられたもので、
科学技術計算ジョブの立ち上げ時に、当該ジョブのリロ
ケーション範囲とその内容を同時にセットし、タスク切
換え時(ある空間のジョブから他の空間のジョブに制御
が切換わること)にも、本命令が出され、これから実行
されるジョブに対するリロケーション範囲とその内容が
セットされる。
ーションテーブルエントリ等のアドレスリロケーション
に必要な情報を、各レジスタにセットするスカラ命令で
ある。第7図の命令60,61は、第2図の論理アドレ
ス空間の割当てを前提に考えられており、システム立ち
上げ時、命令61により、リロケーション範囲の上限/
下限を設定し、各科学技術計算ジョブの立ち上げ時、そ
れに対応したリロケーションの値を、命令60により設
定する。本命令は、ジョブの立ち上げ時、1回だけ出さ
れればよく、リロケーションテーブルの内容は、当該ジ
ョブが終了するまで使用される。命令62は、第3図の
論理アドレス空間の割当てを前提に考えられたもので、
科学技術計算ジョブの立ち上げ時に、当該ジョブのリロ
ケーション範囲とその内容を同時にセットし、タスク切
換え時(ある空間のジョブから他の空間のジョブに制御
が切換わること)にも、本命令が出され、これから実行
されるジョブに対するリロケーション範囲とその内容が
セットされる。
第8図は、第5図や第6図のリロケーションテーブルの
範囲を、スカラプロセッサの2GBと同じ大きさまで拡
張し、リロケーション対象を示す範囲レジスタを除いた
ものである。ここにおいても、リロケーションの単位は
1MBとしており、スカラプロセッサの4KBとは異な
っている。第8図で示すように、リロケーションテーブ
ル70は2048エントリから構成されている。
範囲を、スカラプロセッサの2GBと同じ大きさまで拡
張し、リロケーション対象を示す範囲レジスタを除いた
ものである。ここにおいても、リロケーションの単位は
1MBとしており、スカラプロセッサの4KBとは異な
っている。第8図で示すように、リロケーションテーブ
ル70は2048エントリから構成されている。
以上説明した如く、本発明によれば、スカラプロセッサ
で用いるセグメントテーブル/ページテーブルのアドレ
ス変換テーブルとは別に、1段引きの高速のリロケーシ
ョンテーブルをベクトルプロセッサが持ち、しかも、該
リロケーションテーブルでは、アドレス変換テーブルに
おけるアドレス変換のデータ単位(ベージ単位)よりも
大きなデータ単位でアドレスが管理されるため、ベクト
ルプロセッサの高性能化を維持しつつ、実アドレス空間
(主記憶装置)/論理アドレス空間の有効利用がはから
れ、しかも、リロケーションテーブルは最適な半導体の
物量で実験が可能になる。すなわち、リロケーションテ
ーブルにおけるアドレス変換のデータ単位がアドレス変
換テーブルにおけるアドレス変換のデータ単位(例えば
4KB/ページ)よりも大きいため(例えば1MB)、
ベクトルプロセッサが、ある一定期間、集中的に行列デ
ータの参照/更新を行うのに適しており、また、この参
照/更新の途中で処理がページフォールト発生等により
中断するようなことがない。一方、リロケーションテー
ブルのエントリ数はセグメントテーブル、ページテーブ
ルに比べて少なく、十分に高速の半導体メモリを用いて
実装が可能である。
で用いるセグメントテーブル/ページテーブルのアドレ
ス変換テーブルとは別に、1段引きの高速のリロケーシ
ョンテーブルをベクトルプロセッサが持ち、しかも、該
リロケーションテーブルでは、アドレス変換テーブルに
おけるアドレス変換のデータ単位(ベージ単位)よりも
大きなデータ単位でアドレスが管理されるため、ベクト
ルプロセッサの高性能化を維持しつつ、実アドレス空間
(主記憶装置)/論理アドレス空間の有効利用がはから
れ、しかも、リロケーションテーブルは最適な半導体の
物量で実験が可能になる。すなわち、リロケーションテ
ーブルにおけるアドレス変換のデータ単位がアドレス変
換テーブルにおけるアドレス変換のデータ単位(例えば
4KB/ページ)よりも大きいため(例えば1MB)、
ベクトルプロセッサが、ある一定期間、集中的に行列デ
ータの参照/更新を行うのに適しており、また、この参
照/更新の途中で処理がページフォールト発生等により
中断するようなことがない。一方、リロケーションテー
ブルのエントリ数はセグメントテーブル、ページテーブ
ルに比べて少なく、十分に高速の半導体メモリを用いて
実装が可能である。
第1図は本発明の一実施例のシステム構成図、第2図及
び第3図は論理アドレスと実アドレスの関係を示す図、
第4図はスカラプロセッサのアドレス変換を示す図、第
5図及び第6図は本発明によるベクトルプロセッサのア
ドレス変換方式の一実施例を示す図、第7図は本発明で
用いる命令の一例を示す図、第8図は本発明によるベク
トルプロセッサのアドレス変換方式の他の実施例を示す
図である。 1……スカラプロセッサ、2……アドレス変換機構、3
……ベクトルプロセッサ、4……アドレスリロケーショ
ン機構、5……主記憶装置、38,70……リロケーシ
ョンテーブル。
び第3図は論理アドレスと実アドレスの関係を示す図、
第4図はスカラプロセッサのアドレス変換を示す図、第
5図及び第6図は本発明によるベクトルプロセッサのア
ドレス変換方式の一実施例を示す図、第7図は本発明で
用いる命令の一例を示す図、第8図は本発明によるベク
トルプロセッサのアドレス変換方式の他の実施例を示す
図である。 1……スカラプロセッサ、2……アドレス変換機構、3
……ベクトルプロセッサ、4……アドレスリロケーショ
ン機構、5……主記憶装置、38,70……リロケーシ
ョンテーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 畠山 靖彦 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内 (56)参考文献 特開 昭57−24081(JP,A)
Claims (1)
- 【請求項1】セグメントテーブル、ページテーブルのア
ドレス変換テーブルを有し、プログラムで指定された論
理アドレスを実アドレスに変換する仮想記憶方式の情報
処理装置において、 前記情報処理装置がベクトル命令のプログラムを実行す
るベクトルプロセッサとベクトル命令以外のプログラム
を実行するスカラプロセッサを含む場合のアドレス変換
方式であって、 前記スカラプロセッサは、前記セグメントテーブル、ペ
ージテーブルのアドレス変換テーブルを使用してアドレ
ス変換を行って、プログラムで指定された論理アドレス
を実アドレスに変換し、 前記ベクトルプロセッサは、前記アドレス変換テーブル
におけるアドレス変換のデータ単位よりも大きなデータ
単位でリロケーションアドレスを管理する1段のリロケ
ーションテーブルを前記アドレス変換テーブルとは別に
持ち、プログラムで指定された論理アドレスが予め設定
されたリロケーション対象範囲にあるとき、前記リロケ
ーションテーブルを使用して前記論理アドレスを実アド
レスに変換する、 ことを特徴とする情報処理装置のアドレス変換方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59264071A JPH0652511B2 (ja) | 1984-12-14 | 1984-12-14 | 情報処理装置のアドレス変換方式 |
| US06/807,684 US4769770A (en) | 1984-12-14 | 1985-12-11 | Address conversion for a multiprocessor system having scalar and vector processors |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59264071A JPH0652511B2 (ja) | 1984-12-14 | 1984-12-14 | 情報処理装置のアドレス変換方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61141055A JPS61141055A (ja) | 1986-06-28 |
| JPH0652511B2 true JPH0652511B2 (ja) | 1994-07-06 |
Family
ID=17398112
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59264071A Expired - Lifetime JPH0652511B2 (ja) | 1984-12-14 | 1984-12-14 | 情報処理装置のアドレス変換方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4769770A (ja) |
| JP (1) | JPH0652511B2 (ja) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62128343A (ja) * | 1985-11-30 | 1987-06-10 | Nec Corp | 計算機システムの主記憶管理方式 |
| US5249276A (en) * | 1987-06-22 | 1993-09-28 | Hitachi, Ltd. | Address translation apparatus having a memory access privilege check capability data which uses mask data to select bit positions of priviledge |
| US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
| JP2523653B2 (ja) * | 1987-07-08 | 1996-08-14 | 株式会社日立製作所 | 仮想計算機システム |
| JPS6467680A (en) * | 1987-09-09 | 1989-03-14 | Hitachi Ltd | Vector processor |
| JP2507756B2 (ja) * | 1987-10-05 | 1996-06-19 | 株式会社日立製作所 | 情報処理装置 |
| JPH0195347A (ja) * | 1987-10-08 | 1989-04-13 | Nec Corp | アドレス変換方式 |
| US5179674A (en) * | 1988-07-25 | 1993-01-12 | Digital Equipment Corporation | Method and apparatus for predicting valid performance of virtual-address to physical-address translations |
| FR2642252A1 (fr) * | 1989-01-26 | 1990-07-27 | Centre Nat Rech Scient | Unite d'interconnexion entre circuits, notamment du type crossbar procede de mise en oeuvre d'une unite d'interconnexion entre circuits, et utilisations d'une unite d'interconnexion entre circuits |
| US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
| US5341485A (en) * | 1991-05-07 | 1994-08-23 | International Business Machines Corporation | Multiple virtual address translation per computer cycle |
| JPH0695898A (ja) * | 1992-09-16 | 1994-04-08 | Hitachi Ltd | 仮想計算機の制御方法および仮想計算機システム |
| US6012135A (en) * | 1994-12-01 | 2000-01-04 | Cray Research, Inc. | Computer having multiple address ports, each having logical address translation with base and limit memory management |
| US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
| US20020129336A1 (en) * | 2000-12-19 | 2002-09-12 | Bolding Joe D. | Automatic symbol table selection in a multi-cell environment |
| US6782464B2 (en) | 2001-07-17 | 2004-08-24 | International Business Machines Corporation | Mapping a logical address to a plurality on non-logical addresses |
| US7184944B1 (en) * | 2004-02-20 | 2007-02-27 | Unisys Corporation | Apparatus and method for the simulation of a large main memory address space given limited resources |
| JP2008040614A (ja) * | 2006-08-02 | 2008-02-21 | Fuji Syst Kiki Kk | 画像処理装置、画像処理システム及び画像処理方法 |
| GB2461850A (en) * | 2008-07-10 | 2010-01-20 | Cambridge Consultants | Memory management unit with address translation for a range defined by upper and lower limits |
| US8443167B1 (en) | 2009-12-16 | 2013-05-14 | Western Digital Technologies, Inc. | Data storage device employing a run-length mapping table and a single address mapping table |
| US8194340B1 (en) | 2010-03-18 | 2012-06-05 | Western Digital Technologies, Inc. | Disk drive framing write data with in-line mapping data during write operations |
| US8693133B1 (en) | 2010-03-22 | 2014-04-08 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format |
| US8687306B1 (en) | 2010-03-22 | 2014-04-01 | Western Digital Technologies, Inc. | Systems and methods for improving sequential data rate performance using sorted data zones |
| US9330715B1 (en) | 2010-03-22 | 2016-05-03 | Western Digital Technologies, Inc. | Mapping of shingled magnetic recording media |
| US8699185B1 (en) | 2012-12-10 | 2014-04-15 | Western Digital Technologies, Inc. | Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks |
| US8856438B1 (en) | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
| US8793429B1 (en) | 2011-06-03 | 2014-07-29 | Western Digital Technologies, Inc. | Solid-state drive with reduced power up time |
| US9213493B1 (en) | 2011-12-16 | 2015-12-15 | Western Digital Technologies, Inc. | Sorted serpentine mapping for storage drives |
| US8819367B1 (en) | 2011-12-19 | 2014-08-26 | Western Digital Technologies, Inc. | Accelerated translation power recovery |
| US8953269B1 (en) | 2014-07-18 | 2015-02-10 | Western Digital Technologies, Inc. | Management of data objects in a data object zone |
| US9875055B1 (en) | 2014-08-04 | 2018-01-23 | Western Digital Technologies, Inc. | Check-pointing of metadata |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3569938A (en) * | 1967-12-20 | 1971-03-09 | Ibm | Storage manager |
| US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
| US3764996A (en) * | 1971-12-23 | 1973-10-09 | Ibm | Storage control and address translation |
| US3723976A (en) * | 1972-01-20 | 1973-03-27 | Ibm | Memory system with logical and real addressing |
| US3902164A (en) * | 1972-07-21 | 1975-08-26 | Ibm | Method and means for reducing the amount of address translation in a virtual memory data processing system |
| US3825904A (en) * | 1973-06-08 | 1974-07-23 | Ibm | Virtual memory system |
| JPS5615066B2 (ja) * | 1974-06-13 | 1981-04-08 | ||
| FR119649A (ja) * | 1975-03-24 | |||
| JPS51115737A (en) * | 1975-03-24 | 1976-10-12 | Hitachi Ltd | Adress conversion versus control system |
| US4241401A (en) * | 1977-12-19 | 1980-12-23 | Sperry Corporation | Virtual address translator utilizing interrupt level code |
| JPS54111726A (en) * | 1978-02-22 | 1979-09-01 | Hitachi Ltd | Control unit for multiplex virtual memory |
| US4376297A (en) * | 1978-04-10 | 1983-03-08 | Signetics Corporation | Virtual memory addressing device |
| US4373179A (en) * | 1978-06-26 | 1983-02-08 | Fujitsu Limited | Dynamic address translation system |
| US4170039A (en) * | 1978-07-17 | 1979-10-02 | International Business Machines Corporation | Virtual address translation speed up technique |
| JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
| JPS5724081A (en) * | 1980-07-16 | 1982-02-08 | Hitachi Ltd | Virtual storage controller of multiprocessor |
| US4482952A (en) * | 1980-12-15 | 1984-11-13 | Nippon Electric Co., Ltd. | Virtual addressing system using page field comparisons to selectively validate cache buffer data on read main memory data |
| US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
| US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
| JPS6047623B2 (ja) * | 1982-02-12 | 1985-10-22 | 株式会社日立製作所 | アドレス変換方式 |
| US4654777A (en) * | 1982-05-25 | 1987-03-31 | Tokyo Shibaura Denki Kabushiki Kaisha | Segmented one and two level paging address translation system |
| JPS5987566A (ja) * | 1982-11-12 | 1984-05-21 | Hitachi Ltd | メモリアクセス検出方式 |
-
1984
- 1984-12-14 JP JP59264071A patent/JPH0652511B2/ja not_active Expired - Lifetime
-
1985
- 1985-12-11 US US06/807,684 patent/US4769770A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US4769770A (en) | 1988-09-06 |
| JPS61141055A (ja) | 1986-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61141055A (ja) | 情報処理装置のアドレス変換方式 | |
| US4774653A (en) | Hybrid hardware/software method and apparatus for virtual memory address translation using primary and secondary translation buffers | |
| US8799621B2 (en) | Translation table control | |
| US4577274A (en) | Demand paging scheme for a multi-ATB shared memory processing system | |
| US4730249A (en) | Method to operate on large segments of data in a virtual memory data processing system | |
| US6275917B1 (en) | High-speed address translation system | |
| EP2548124B1 (en) | Address mapping in virtualized processing system | |
| US4742450A (en) | Method to share copy on write segment for mapped files | |
| US6742104B2 (en) | Master/slave processing system with shared translation lookaside buffer | |
| US5317705A (en) | Apparatus and method for TLB purge reduction in a multi-level machine system | |
| EP0458127A2 (en) | Translation of multiple virtual pages upon a TLB miss | |
| JPH0816479A (ja) | メモリ・アドレス空間管理 | |
| US6742103B2 (en) | Processing system with shared translation lookaside buffer | |
| JPH05257803A (ja) | 仮想記憶空間管理方法及びアドレス計算装置 | |
| JPH01125640A (ja) | アドレス変換方式 | |
| JPH0997214A (ja) | 補助プロセッサのためのアドレス変換を含む情報処理システム | |
| KR960001945B1 (ko) | 우선변환참조버퍼에서 적중수를 증가시키기 위한 장치 | |
| CN116383101A (zh) | 内存访问方法、内存管理单元、芯片、设备和存储介质 | |
| KR910001314B1 (ko) | 데이타 처리 시스템에서의 가상 메모리 사용방법 | |
| JP2930071B2 (ja) | 情報処理装置およびプロセッサ | |
| CN101004715B (zh) | 地址转换器和地址转换方法 | |
| JP2768503B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| JP4011871B2 (ja) | プロセッサ及びコンピュータシステム | |
| EP1262875A1 (en) | Master/slave processing system with shared translation lookaside buffer | |
| JP2924708B2 (ja) | 情報処理装置 |