JPH0661067B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH0661067B2
JPH0661067B2 JP1332212A JP33221289A JPH0661067B2 JP H0661067 B2 JPH0661067 B2 JP H0661067B2 JP 1332212 A JP1332212 A JP 1332212A JP 33221289 A JP33221289 A JP 33221289A JP H0661067 B2 JPH0661067 B2 JP H0661067B2
Authority
JP
Japan
Prior art keywords
processor
address translation
partial space
address
page
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
Application number
JP1332212A
Other languages
English (en)
Other versions
JPH03191449A (ja
Inventor
英男 林
Original Assignee
甲府日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 甲府日本電気株式会社 filed Critical 甲府日本電気株式会社
Priority to JP1332212A priority Critical patent/JPH0661067B2/ja
Publication of JPH03191449A publication Critical patent/JPH03191449A/ja
Publication of JPH0661067B2 publication Critical patent/JPH0661067B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は情報処理装置に関し、特にマルチプロセッサシ
ステムにおけるアドレス変換バッファの制御方式に関す
るものである。
従来技術 従来のマルチプロセッサシステムでは、各プロセッサか
らの論理アドレスを実アドレスに変換して共通の主記憶
装置をアクセスする場合、各プロセッサの内部にアドレ
ス変換バッファを有する構成となっている。
そのために、プロセッサでアクセスする実メモリアドレ
ス分のページテーブルを格納するアドレス変換バッファ
が、プロセッサ毎に必要となる。よって、実メモリを全
て使用する様な大規模プログラムにおいては、ハードウ
ェア量が極めて大となるという欠点がある。
また、複数台のプロセッサで同一プログラムの同一DO
ループを分担する様な場合にも、同一の部分空間ページ
テーブルを各プロセッサ内にロードしておく必要があ
る。
更に、プロセッサ内のアドレス変換バッファにより変換
可能なページサイズは固定となっている。ここで、大規
模科学技術計算用プログラムでは、ページサイズは大き
い方が良く、逆に小さなプログラムでは、ページサイズ
は小さい方が良い。そのために、ページサイズが固定で
あり大きくしておくと、小規模プログラムが多く走行し
ている場合には、メモリの使用効率が低下し、逆にペー
ジサイズを小とすると、大規模プログラムに対してはア
ドレス変換バッファへのロードを多く行う必要があり、
アドレス変換バッファ量も多くなるという欠点がある。
発明の目的 そこで、本発明はかかる従来技術の欠点を解決すべくな
されたものであって、その目的とするところは、ハード
ウェア量の増大なく効率良くアドレス変換処理が可能な
情報処理装置を提供することにある。
発明の構成 本発明によれば、複数台のプロセッサと、これ等プロセ
ッサからの論理アドレスを実アドレスに変換するアドレ
ス変換装置と、前記論理アドレスを前記実アドレスへ変
換するためのページ記述子が予め準備された複数のアド
レス部分空間ページテーブルと、前記アドレス変換装置
により変換された実アドレスによりアクセスされる記憶
装置とを含む情報処理装置であって、前記アドレス変換
装置は、前記部分空間ページテーブルを複数格納可能な
複数のアドレス変換バッファと、前記アドレス変換バッ
ファに夫々対応して設けられ、それに格納された前記部
分空間ページテーブルを特定する部分空間番号を格納す
る複数の部分空間番号レジスタと、前記アドレス変換バ
ッファに夫々対応して設けられ、それに格納された前記
部分空間ページテーブルを使用するプロセッサを特定す
るプロセッサ番号を格納する複数のプロセッサ番号レジ
スタと、前記プロセッサから必要とする部分空間ページ
テーブルが指定されたとき、指定部分空間ページテーブ
ルを空状態のアドレス変換バッファへ格納し、このバッ
ファに対応する部分空間番号レジスタとプロセッサ番号
レジスタとに対応する部分空間番号と指定プロセッサ番
号とを夫々格納制御する手段と、前記プロセッサから不
必要な部分空間ページテーブルが指定されたとき、それ
に対応するプロセッサ番号レジスタの対応プロセッサ番
号をリセットする手段とを含むことを特徴とする情報処
理装置が得られる。
実施例 以下に、図面を用いて本発明の実施例について詳細に説
明する。
第1図は本発明の実施例のシステムブロック図である。
本例は複数台のプロセッサ0,1,…,nとこれ等プロ
セッサに共通の記憶装置21と、これ等プロセッサから
記憶装置21をアクセスする際に、論理アドレスを実ア
ドレスに変換するための共通のアドレス変換装置20と
からなる。
第2図はこのアドレス変換装置20内の1組のアドレス
変換バッファ(ATB)と主記憶装置中に予め格納され
たアドレス部分空間ページ表との関係を示したものであ
る。
このアドレス部分空間ページ表の1つが、プロセッサか
ら発行されるPTP(ページテーブルポインタ)により
特定されて主記憶装置中より導出され、アドレス変換装
置20内の1つのアドレス変換バッファにロードされ
る。
このアドレス変換バッファ(ATB)には対応してプロ
セッサ番号レジスタと部分空間番号レジスタとが設けら
れている。プロセッサ番号レジスタには、このATBに
格納されている部分空間ページ表を使用するプロセッサ
の番号(SP#)がセットされる。例えば、プロセッサ
#0が使用する場合には、そのレジスタの左端ビットが
“1”にセットされ、プロセッサ#1が使用する場合に
は、左端ビットから2ビット目が“1”にセットされ
る。
部分空間番号レジスタには、このATBに格納されてい
る部分空間ページ表を特定する部分空間番号(PS#)
が格納される。これ等、プロセッサ番号レジスタと部分
空間番号レジスタとは、対応ATB内の部分空間ページ
表の使用情況を示すディレクトリとなる。
このディレクトリとATBとが、アドレス変換装置20
内には複数組設けられているものとする。
尚、部分空間ページ表には、各プロセッサからの論理ア
ドレスを実アドレスに変換するためのページ記述子が予
め準備されてなるものである。
第3図(A)は各プロセッサから生成されるアドレス変
換バッファ制御命令の付随情報フィールドフォーマット
を示しており、(B)は各フィールドの機能を示す。S
P#はアドレス変換バッファの制御命令を発したプロセ
ッサ番号を示す。PS#はアドレス空間の部分空間番号
であり、PTPは前述したページテーブルポインタであ
って部分空間ページ表が格納されている主記憶装置内の
実アドレスを示している。
P#はマスタプロセッサの番号を示し、同一の部分空間
ページ表を複数台のプロセッサが共有する場合のマスタ
となるプロセッサ番号とする。この場合のP#とSP#
とは、本実施例では、ディレクトリのプロセッサ番号レ
ジスタと同じ4ビットとし、プロセッサ#0の場合は、
4ビットの左端部分に“1”がセットされたものとな
り、プロセッサ#1の場合は、4ビットの左から第2ビ
ットに“1”がセットされたものとなる。
S,M及びAは制御フィールドを構成しており、Sはア
ドレス変換装置内のアドレス変換バッファの4Mバイト
ページ用あるいは4Kバイトページ用のいずれを使用制
御するかを指定するものである。
M,Aは共にアドレス変換バッファの制御オペレーショ
ンの詳細を指示するフィールドであり、第4図にM,A
フィールドの内容に応じた動作概要を示している。
第5図はアドレス変換装置20のブロックを、第3図
(A)に示したアドレス変換バッファ制御命令の付随情
報との関連において示した図である。図において、AT
B501 は4Mバイトページ用のアドレス変換バッファで
あり、ATB506 は4Kバイト用のアドレス変換バッフ
ァであり、共にアドレス空間の部分空間に対応した数だ
けのページ表を格納可能な数設けられている。
プロセッサ番号レジスタ502 と部分空間番号レジスタ50
3 とがATB501 の各々に対応して設けられ、各ATB
のディレクトリとなる。また、同じくプロセッサ番号レ
ジスタ507 と部分空間番号レジスタ508 とがATB506
の各々に対応して設けられ、各ATBのディレクトリと
なる。
比較器504 及び509 はセレクタ511 の出力であるプロセ
ッサ番号とプロセッサ番号レジスタ502 との内容を比較
し、また比較器505 及び510 はプロセッサからのアドレ
ス変換バッファ制御命令付随情報の部分空間番号PS#
と、部分空間番号レジスタ503,508 の出力とを比較す
る。
セレクタ511 は付随情報の自プロセッサ番号SP#とマ
スタプロセッサ番号P#とを択一的に出力するものであ
る。
制御部512 は付随情報のS,M,Aフィールドの内容を
識別してその識別結果に応じて第4図に示した動作をな
すよう、各部を制御するものである。
かかる構成において、M,Aが共に0の場合(M,A=
0,0)について説明する。この場合は部分空間のロー
ド動作を意味しており、S=0であれば、4Mバイトペ
ージ用のATB501 側が、S=1であれば、4Kバイト
用のATB506 側が夫々制御される。
いま、S=0とする。制御命令付随情報の部分空間番号
PS#とこの制御命令を発したプロセッサ番号SP#と
により、ATBのディレクトリの部分空間番号レジスタ
503 とプロセッサ番号レジスタ502 と夫々比較器505 ,
504 で比較する。
比較の結果、同一組の比較器504,505 の出力が両方
“1”であれば一致した組のATB501 に付随情報中の
PTPで示した記憶装置より部分空間ページ表をロード
する。比較の結果、いずれの組の比較器504,505 の出力
が両方“1”にならないならば不一致であり、ATBの
空を調べる。ATBの空はATBディレクトリのプロセ
ッサレジスタ502 中にいずれも“1”がセットされてい
ないものである。ATBに空のものがあれば空のものを
選択し、そのATBに部分空間ページ表をロードし、そ
の組のATBディレクトリのプロセッサ番号レジスタ50
2 にSP#で示されるプロセッサ番号に対応するビット
をセットすると共に、その組の部分空間番号レジスタ50
3 に付随情報中のPS#をセットする。
M,A=0,1の場合は部分空間クリアである。この
時、付随情報のPS#とSP#とでATBディレクトリ
を上記と同様に調べ、一致するものがあれば、一致した
組のATBディレクトリのプロセッサ番号レジスタ502
中のSP#に相当するビットをリセットする。
M,A=1,1の場合は、スレーブプロセッサの部分空
間クリア動作及びマスタプロセッサ部分空間共有動作で
ある。このとき、先ずSP#とPS#とによりATBデ
ィレクトリを調べ、一致するものがあればそのディレク
トリのプロセッサ番号レジスタ502 中のSP#に相当す
るビットをリセットする。これにより、スレーブプロセ
ッサの部分空間がクリアされ空となる。
その後、付随情報中のP#とPS#とによりATBディ
レクトリを調べる。このP#はマスタプロセッサ番号で
あり、予めソフトウェアにより共有すべきマスタプロセ
ッサ番号がセットされているものとする。一致するもの
があれば、その組のディレクトリのプロセッサ番号レジ
スタ502 中のSP#に相当するビットをセットして、マ
スタプロセッサとの共有が可能となる。
M,A=1,0の場合、部分空間共有リセット及びスレ
ーブプロセッサ部分空間ロード動作である。このとき、
先ずPS#及びP#によりATBディレクトリを調べ、
一致するものがあれば、ディレクトリよりSP#に相当
するビットをリセットして、部分空間共有状態がリセッ
トされる。その後、上述したM,A=0,0のときの動
作を実行すれば、スレーブプロセッサとして、部分空間
ロードが可能となる。
S=1の時はATB506 、ディレクトリプロセッサレジ
スタ507 、部分空間レジスタ508 、比較器509,510 は上
記と機能的には同じであり、4Kバイトページ用であ
る。4Mバイトページ用ATBと4Kバイトページ用A
TBの使い分けは、大規模科学技術計算用等に4Kバイ
トページは小規模用のコマンド処理用等に使い分ける。
これは科学技術計算計算機といえどもいろいろな処理環
境に対応できることが要求されて来ているからである。
また、前述のアドレス変換バッファ制御命令のM,A=
1,1の機能は複数のプロセッサが同一のプログラムの
同一の空間を使用して実行することによりプログラム実
行のTAT(Turn Around Time)を短縮する手段を提供
するものである。
例えば、あるFortran プログラムのあるDOループ中の
要素0〜n-1 はプロセッサ0で、要素n〜2n-1はプロセ
ッサ1で、要素2n〜2n-1はプロセッサ3でという様に
夫々実行する場合、各プロセッサが同じ部分空間ページ
表を異ったATBにロードし使用することは性能的にも
ハードウェア量的にも得策ではなく、分担実行している
各プロセッサが同一部分空間ページ表を参照すれば良い
ことである。
第6図はアドレス変換バッファ(ATB)に部分空間ペ
ージ表がロードされたあと、プロセッサから記憶装置を
アクセスする際の論理アドレスから実アドレスを得るた
めのブロック図を示したものであり、第5図と同等部分
は同一符号により示している。
記憶装置をアクセスする際、プロセッサよりプロセッサ
番号SP#と、PS#、ページ#、ページ内アドレスP
RA(Page Relative Address)と、解釈される論理ア
ドレスとを受信する。受信したSP#とPS#でATB
のディレクトリのプロセッサ番号レジスタ502 、部分空
間番号レジスタ503 を各々比較器504,505 で比較する。
一致したものがあると、その組のアンド回路605 の出力
が“1”となり、受信した論理アドレスのページ#で指
定されたATBのエントリに格納されているページ記述
子がセレクタ607 で選択され、その出力に論理アドレス
のPRAが結合されて記憶装置の実アドレスとなる。
もし、アンド回路605 のいずれも一致しない場合は、対
応する部分空間ページ表がATBにロードされておら
ず、よってアドレス変換できないため、アンド回路606
で例外検出を報告する。
発明の効果 以上説明したように、本発明によれば、複数台のプロセ
ッサと記憶装置間にアドレス変換装置を設け、該装置に
はアドレス変換バッファとディレクトリを組としたもの
とを複数組設け、プロセッサからのアドレス変換バッフ
ァにページ表をロードし有効にしたり、無効にすること
により、具備した複数組のアドレス変換バッファの組内
で必要に応じてアドレス変換バッファを使用できる柔軟
な情報処理装置を提供できるという効果がある。また、
各プロセッサ内にアドレス変換バッファを設ける場合に
比べて、ハードウェア量が少なくすることができると共
に、ハードウェア資源を有効に使用することができる。
また、異種のページサイズ用のアドレス変換バッファを
設けることにより、プログラムの規模に従ってこれ等を
使い分けるようにすれば、メモリの使用効率を向上でき
るという効果もある。
さらに、これ等アドレス変換バッファの一組を複数のプ
ロセッサで共有して使用可能とすることにより、アドレ
ス変換バッファの有効使用ができ、同じものをロードす
る時間が不要となり、システム性能の向上が図れる。
【図面の簡単な説明】
第1図は本発明の実施例のシステムブロック図、第2図
はアドレス変換装置内の一組のATBと記憶装置内の部
分空間ページ表との関係を示す図、第3図(A)はアド
レス変換バッファ制御命令の付随情報のフォーマット
図、(B)はそのS,M,Aフィールドの制御態様を示
す図、第4図はアドレス変換バッファ制御命令の付随情
報中のM,Aフィールドによる動作概念を示した図、第
5図はアドレス変換バッファのブロック図、第6図はプ
ロセッサからの論理アドレスから実アドレスを得るため
のブロック図である。 主要部分の符号の説明 501,506 ……ATB 502,507 ……プロセッサ番号レジスタ 503,508 ……部分空間番号レジスタ 504,505, 509,510 ……比較器 512 ……制御部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】複数台のプロセッサと、これ等プロセッサ
    からの論理アドレスを実アドレスに変換するアドレス変
    換装置と、前記論理アドレスを前記実アドレスへ変換す
    るためのページ記述子が予め準備された複数のアドレス
    部分空間ページテーブルと、前記アドレス変換装置によ
    り変換された実アドレスによりアクセスされる記憶装置
    とを含む情報処理装置であって、前記アドレス変換装置
    は、前記部分空間ページテーブルを複数格納可能な複数
    のアドレス変換バッファと、前記アドレス変換バッファ
    に夫々対応して設けられ、それに格納された前記部分空
    間ページテーブルを特定する部分空間番号を格納する複
    数の部分空間番号レジスタと、前記アドレス変換バッフ
    ァに夫々対応して設けられ、それに格納された前記部分
    空間ページテーブルを使用するプロセッサを特定するプ
    ロセッサ番号を格納する複数のプロセッサ番号レジスタ
    と、前記プロセッサから必要とする部分空間ページテー
    ブルが指定されたとき、指定部分空間ページテーブルを
    空状態のアドレス変換バッファへ格納し、このバッファ
    に対応する部分空間番号レジスタとプロセッサ番号レジ
    スタとに対応する部分空間番号と指定プロセッサ番号と
    を夫々格納制御する手段と、前記プロセッサから不必要
    な部分空間ページテーブルが指定されたとき、それに対
    応するプロセッサ番号レジスタの対応プロセッサ番号を
    リセットする手段とを含むことを特徴とする情報処理装
    置。
  2. 【請求項2】前記プロセッサ番号レジスタの各々には、
    対応部分空間ページテーブルを必要とする複数台のプロ
    セッサの番号が登録可能とされていることを特徴とする
    特許請求の範囲第1項の情報処理装置。
  3. 【請求項3】前記アドレス変換バッファは、第1のペー
    ジサイズ用のアドレス変換バッファ群と、第2のページ
    サイズ用のアドレス変換バッファ群とを有し、これ等第
    1及び第2のアドレス変換バッファの全てには夫々対応
    して前記プロセッサ番号レジスタと前記部分空間番号レ
    ジスタとが設けられていることを特徴とする特許請求の
    範囲第1項若しくは第2項の情報処理装置。
JP1332212A 1989-12-21 1989-12-21 情報処理装置 Expired - Lifetime JPH0661067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1332212A JPH0661067B2 (ja) 1989-12-21 1989-12-21 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1332212A JPH0661067B2 (ja) 1989-12-21 1989-12-21 情報処理装置

Publications (2)

Publication Number Publication Date
JPH03191449A JPH03191449A (ja) 1991-08-21
JPH0661067B2 true JPH0661067B2 (ja) 1994-08-10

Family

ID=18252428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1332212A Expired - Lifetime JPH0661067B2 (ja) 1989-12-21 1989-12-21 情報処理装置

Country Status (1)

Country Link
JP (1) JPH0661067B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581133A (ja) * 1991-09-19 1993-04-02 Nec Corp 情報処理装置
WO2004099992A2 (en) * 2003-04-30 2004-11-18 Silicon Graphics, Inc. System and method for performing address translation in a computer system

Also Published As

Publication number Publication date
JPH03191449A (ja) 1991-08-21

Similar Documents

Publication Publication Date Title
US4992936A (en) Address translation method and apparatus therefor
US4218743A (en) Address translation apparatus
US4361868A (en) Device for increasing the length of a logic computer address
US4648035A (en) Address conversion unit for multiprocessor system
US5278961A (en) Physical address to logical address translator for memory management units
US5317717A (en) Apparatus and method for main memory unit protection using access and fault logic signals
US4334269A (en) Data processing system having an integrated stack and register machine architecture
US4769770A (en) Address conversion for a multiprocessor system having scalar and vector processors
US4314333A (en) Data processor
JPS626271B2 (ja)
JPH0578050B2 (ja)
JPH03126144A (ja) 仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置
KR100875377B1 (ko) 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법
US4413315A (en) Addressing system
JPH0512126A (ja) 仮想計算機のアドレス変換装置及びアドレス変換方法
US4991083A (en) Method and system for extending address space for vector processing
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
JPS6257044A (ja) データ処理装置
JPH0661067B2 (ja) 情報処理装置
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
US5117491A (en) Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding
JP3216965B2 (ja) データ受信装置、方法、およびシステム
KR920008959B1 (ko) 가상 컴퓨터 시스템의 정보 이송 방법
JP3345050B2 (ja) 二次元配列型メモリシステム