JPH0656594B2 - ベクトルプロセツサ - Google Patents
ベクトルプロセツサInfo
- Publication number
- JPH0656594B2 JPH0656594B2 JP60095440A JP9544085A JPH0656594B2 JP H0656594 B2 JPH0656594 B2 JP H0656594B2 JP 60095440 A JP60095440 A JP 60095440A JP 9544085 A JP9544085 A JP 9544085A JP H0656594 B2 JPH0656594 B2 JP H0656594B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- vector
- page
- line
- main memory
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8061—Details on data memory access
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明はプログラム制御のデイジタル計算機、特にベク
トル演算を高速で実行するのに好適なデイジタル計算機
(以下これをベクトルプロセツサとよぶ)のアドレス変
換方式に関する。
トル演算を高速で実行するのに好適なデイジタル計算機
(以下これをベクトルプロセツサとよぶ)のアドレス変
換方式に関する。
科学技術計算に頻繁に現われる大型行列計算などの高速
処理用にベクトルプロセツサが考案されている。このよ
うなベクトルプロセツサの一例として米国CRAY RESEARC
H社のCRAY−1があり、この計算機の動作の詳細は
米国特許4,128,880に述べられている。
処理用にベクトルプロセツサが考案されている。このよ
うなベクトルプロセツサの一例として米国CRAY RESEARC
H社のCRAY−1があり、この計算機の動作の詳細は
米国特許4,128,880に述べられている。
また、計算機が有する主記憶容量以上のアドレス空間を
ユーザに提供する仮想アドレス方式がある。仮想アドレ
スの実現方式は、たとえば、元岡達編「計算機システム
技術」(オーム社)第4章仮想記憶(41〜66頁)に
述べられている。
ユーザに提供する仮想アドレス方式がある。仮想アドレ
スの実現方式は、たとえば、元岡達編「計算機システム
技術」(オーム社)第4章仮想記憶(41〜66頁)に
述べられている。
ベクトルプロセツサで仮想アドレス方式を実現している
例もある。しかし、従来の仮想アドレス方式のベクトル
プロセツサでは次のような問題があつた。
例もある。しかし、従来の仮想アドレス方式のベクトル
プロセツサでは次のような問題があつた。
仮想アドレス方式では、通常、主記憶上に必要なデータ
が存在しないことをアドレス変換機構が検出すると、ペ
ージ・フオールト割込みが発生し、オペレーテイング・
システム(OS)が二次記憶上にあるデータを主記憶上
に転送する処理(ページング)を行なう。そしてアドレ
ス変換テーブルを変更して必要なデータが主記憶上にあ
ることを示すようにし、本来の処理を再開する。このよ
うすを第1図に示す。このように必要なデータが必要に
なつた時点でページングにより確保する方式は一般にオ
ンデイマンド・ページングとよばれている。
が存在しないことをアドレス変換機構が検出すると、ペ
ージ・フオールト割込みが発生し、オペレーテイング・
システム(OS)が二次記憶上にあるデータを主記憶上
に転送する処理(ページング)を行なう。そしてアドレ
ス変換テーブルを変更して必要なデータが主記憶上にあ
ることを示すようにし、本来の処理を再開する。このよ
うすを第1図に示す。このように必要なデータが必要に
なつた時点でページングにより確保する方式は一般にオ
ンデイマンド・ページングとよばれている。
従来のベクトル・プロセツサではオンデイマンド・ペー
ジングを採用していたため、ページング処理は、データ
が必要となつた時点になつてはじめて行なわれる。その
間本来の処理が中断し、処理時間が長くなるという問題
があつた。
ジングを採用していたため、ページング処理は、データ
が必要となつた時点になつてはじめて行なわれる。その
間本来の処理が中断し、処理時間が長くなるという問題
があつた。
本発明の目的は、ベクトルプロセツサにおいてベクトル
の主記憶参照に必要なアドレスを別途前もつて作成し、
アドレス変換を行なつてページフオールトのチエツクを
行なうことにより、オンデイマンドではなく、先行的に
ページング(これをプリ・ページングとよぶ)させるこ
とが可能な手段を提供するものである。
の主記憶参照に必要なアドレスを別途前もつて作成し、
アドレス変換を行なつてページフオールトのチエツクを
行なうことにより、オンデイマンドではなく、先行的に
ページング(これをプリ・ページングとよぶ)させるこ
とが可能な手段を提供するものである。
第2図にプリページングの基本的考え方を示す。すなわ
ち、本来のベクトル処理と平行して、将来参照するはず
のベクトルアドレスをあらかじめ先行的に生成し、アド
レス変換を行なつて、ページフオールトが発生するか否
かチエツクする。そして、ページフオールト割込みが発
生した場合には、先行的にページング処理を行ない、必
要なページを主記憶に転送しておく。これによつて、本
来のベクトル処理ではページングを不要とすることがで
きる。本発明はこの先行的なベクトルアドレスの生成と
アドレス変換によるページフオールトチエツクを行なう
手段を提供する。
ち、本来のベクトル処理と平行して、将来参照するはず
のベクトルアドレスをあらかじめ先行的に生成し、アド
レス変換を行なつて、ページフオールトが発生するか否
かチエツクする。そして、ページフオールト割込みが発
生した場合には、先行的にページング処理を行ない、必
要なページを主記憶に転送しておく。これによつて、本
来のベクトル処理ではページングを不要とすることがで
きる。本発明はこの先行的なベクトルアドレスの生成と
アドレス変換によるページフオールトチエツクを行なう
手段を提供する。
以下、本発明の一実施例を説明する。はじめに先行的に
ベクトルアドレスを生成できる理由について説明する。
ベクトルアドレスを生成できる理由について説明する。
ベクトルプロセツサでのベクトルの主記憶参照は一般に
先頭ベクトル要素アドレスと、ベクトル要素間隔アドレ
スを与えることによつて行なう。すなわち、先頭ベクト
ル要素アドレスをVA0、ベクトル要素間隔アドレスを
VIとすると、第iベクトル要素アドレスVAiは VAi=VA0+VI*(i−1) で求めることができる。これらの計算は、実際には、V
A0+VIでVA1を求め、VA1+VIでVA2を得
る。これを繰返すことによつて次々とベクトル要素アド
レスを求め、このアドレスによつて主記憶参照を行つて
必要なベクトル要素を読出したり、格納したりするとこ
ろでベージングは一般にはページ単位(たとえば4Kバ
イト)で行なわれる。すなわち、ベクトルアドレスは第
3図に示すごとく、セグメントアドレス,ページアドレ
ス,ページ内アドレスにわけられる。この図の場合、ペ
ージサイズは4Kバイトである。この中には、ベクトル
要素はベクトル要素間隔アドレスにもよるが最大512
個まで含まれる(1ベクトル要素を8バイト長とした場
合)。いいかえれば、一度主記憶にデータが存在するこ
とが確認できれば、別のページに対する主記憶参照に移
らない限り、ページングは生じない。
先頭ベクトル要素アドレスと、ベクトル要素間隔アドレ
スを与えることによつて行なう。すなわち、先頭ベクト
ル要素アドレスをVA0、ベクトル要素間隔アドレスを
VIとすると、第iベクトル要素アドレスVAiは VAi=VA0+VI*(i−1) で求めることができる。これらの計算は、実際には、V
A0+VIでVA1を求め、VA1+VIでVA2を得
る。これを繰返すことによつて次々とベクトル要素アド
レスを求め、このアドレスによつて主記憶参照を行つて
必要なベクトル要素を読出したり、格納したりするとこ
ろでベージングは一般にはページ単位(たとえば4Kバ
イト)で行なわれる。すなわち、ベクトルアドレスは第
3図に示すごとく、セグメントアドレス,ページアドレ
ス,ページ内アドレスにわけられる。この図の場合、ペ
ージサイズは4Kバイトである。この中には、ベクトル
要素はベクトル要素間隔アドレスにもよるが最大512
個まで含まれる(1ベクトル要素を8バイト長とした場
合)。いいかえれば、一度主記憶にデータが存在するこ
とが確認できれば、別のページに対する主記憶参照に移
らない限り、ページングは生じない。
ここでVIを4Kバイトより小さな値とし、VA0を含
むページアドレスをPVA0(VA0の下12ビットを
無視したアドレス)とする。プリページングの実現のた
めに、PVA0,PVA0+1,PVAo+2,……を
求めてこの値でアドレス変換を行ない、必要なページが
主記憶上にあるかチエツクする。そしてなければページ
ングにより主記憶に必要なページを転送するという動作
を本来のVAiのアドレスにもとづく主記憶参照と並行
して実行する。本来のベクトル参照はあるページに着目
すると、その内の複数個のベクトル要素を次々と参照す
るのが一般であるから本来のベクトル参照の速度よりも
ページの類主記憶存在チエツクの方が速く先行的なペー
ジング、すなわちプリページングを行うことができ、必
要な時点でページングを行なうオンデイマンド・ページ
ングよりも処理速度を向上させることができる。
むページアドレスをPVA0(VA0の下12ビットを
無視したアドレス)とする。プリページングの実現のた
めに、PVA0,PVA0+1,PVAo+2,……を
求めてこの値でアドレス変換を行ない、必要なページが
主記憶上にあるかチエツクする。そしてなければページ
ングにより主記憶に必要なページを転送するという動作
を本来のVAiのアドレスにもとづく主記憶参照と並行
して実行する。本来のベクトル参照はあるページに着目
すると、その内の複数個のベクトル要素を次々と参照す
るのが一般であるから本来のベクトル参照の速度よりも
ページの類主記憶存在チエツクの方が速く先行的なペー
ジング、すなわちプリページングを行うことができ、必
要な時点でページングを行なうオンデイマンド・ページ
ングよりも処理速度を向上させることができる。
なお、VIが4Kバイト以上の場合には、1ページに1
ベクトル要素しか含まれないのであるからプリページン
グの効果はなくなるので、オンデイマンド・ページング
で行なうこととする。しかし、このような場合は稀であ
る。
ベクトル要素しか含まれないのであるからプリページン
グの効果はなくなるので、オンデイマンド・ページング
で行なうこととする。しかし、このような場合は稀であ
る。
プリページングの処理終了は、与えられたベクトル長V
Lからあらかじめ計算しておいた最終ベクトル要素アド
レスすなわち、 VA0+VI*(VL−1) を含むページアドレスよりもPVAo+nが大きくなつ
たときをもつて判断する。
Lからあらかじめ計算しておいた最終ベクトル要素アド
レスすなわち、 VA0+VI*(VL−1) を含むページアドレスよりもPVAo+nが大きくなつ
たときをもつて判断する。
第4図は本発明を実施しているベクトルプロセツサ中の
ベクトルの主記憶参照に必要な部分をとり出したもので
ある。b1は主記憶(MS)、b2は主記憶制御ユニツ
ト(SCU)、b30〜33は主記憶参照要求回路(V
REQ)である。各VREQの中には、アドレス変換器
(AT):b4、ベクトルアドレス生成器(VAG):
b5、ベクトルページアドレス生成器(PAG):b
6、先行アドレス変換器(PAT):b7を含む。ここ
で、b4,b7のアドレス変換器は一般の汎用計算機が
有するアドレス変換機構と同一のもので、高速アドレス
変換用バツフア:TLBを含んだものであるが、この動
作については後述する。
ベクトルの主記憶参照に必要な部分をとり出したもので
ある。b1は主記憶(MS)、b2は主記憶制御ユニツ
ト(SCU)、b30〜33は主記憶参照要求回路(V
REQ)である。各VREQの中には、アドレス変換器
(AT):b4、ベクトルアドレス生成器(VAG):
b5、ベクトルページアドレス生成器(PAG):b
6、先行アドレス変換器(PAT):b7を含む。ここ
で、b4,b7のアドレス変換器は一般の汎用計算機が
有するアドレス変換機構と同一のもので、高速アドレス
変換用バツフア:TLBを含んだものであるが、この動
作については後述する。
VREQが複数個存在するのは、複数のベクトル参照を
並列に行なわせるためであるが、本実施例ではそれは本
質的ではないので、この中の1つのVREQの動作を述
べるにとどめる。
並列に行なわせるためであるが、本実施例ではそれは本
質的ではないので、この中の1つのVREQの動作を述
べるにとどめる。
通常のベクトル参照では、線l8にて先頭ベクトル要素
アドレス(VA0)、線l9にてベクトル要素間隔(V
I)、線l10にてベクトル長(VL)をVAG,b5
に与えてベクトル要素アドレスVA1を先に述べた方式
で計算する。これは仮想アドレスである。次にこのVA
iを線l4にてAT,b4に入力してアドレス変換し実
アドレスを求め線l20,線l1をインタフエースとし
てSCU,b2,MS,b1を参照する。
アドレス(VA0)、線l9にてベクトル要素間隔(V
I)、線l10にてベクトル長(VL)をVAG,b5
に与えてベクトル要素アドレスVA1を先に述べた方式
で計算する。これは仮想アドレスである。次にこのVA
iを線l4にてAT,b4に入力してアドレス変換し実
アドレスを求め線l20,線l1をインタフエースとし
てSCU,b2,MS,b1を参照する。
本発明での主旨であるプリページングを実現するため
に、まずPAG,b6にもVA0,VI,VLをそれぞ
れ線l8,l9,l10を介して入力する。そしてPA
G,b6にてベクトルページアドレスを次々と求め、そ
れを線l6にてPAT,b7に送る。PAT,b7は線
l13にて示されたセグメントテーブル先頭アドレスに
もとづいて線l6を介して受取つた仮想アドレスに対し
アドレス変換を行なう。線30はMS,b1上にあるア
ドレス変換テーブルを参照するためのインタフエース線
であう。そして、アドレス変換の結果、必要とするセグ
メントやページが主記憶上にないことがわかると、ペー
ジフオールトやセグメントフオールト等のアドレス変換
フオールトが発生したことを線l11で、そのときの仮
想アドレスを線l12で、アドレス変換フオールトの種
類を線l13にてベクトルプロセツサ内の割込み処理機
構に知らせる。割込み処理機構はここには図示していな
い。これ以降の処理は従来の割込み処理と同一である。
すなわちそのとき実行中のプログラムの処理が中断さ
れ、アドレス変換フオールト割込みが発生する。このと
き、あわせて、アドレス変換フオールトの種類と仮想ア
ドレスが知らされる。通常はオペレーテイングシステム
(OS)が以降の割込みに対する処理を行なう。OSは
アドレス変換フオールトの種類を解析し、ページフオー
ルトならば、その仮想アドレスが示すページ上のプログ
ラムやデータ主記憶上に二次記憶から転送し、ページテ
ーブルをそのページが主記憶上に存在することを示すよ
うに変更する。
に、まずPAG,b6にもVA0,VI,VLをそれぞ
れ線l8,l9,l10を介して入力する。そしてPA
G,b6にてベクトルページアドレスを次々と求め、そ
れを線l6にてPAT,b7に送る。PAT,b7は線
l13にて示されたセグメントテーブル先頭アドレスに
もとづいて線l6を介して受取つた仮想アドレスに対し
アドレス変換を行なう。線30はMS,b1上にあるア
ドレス変換テーブルを参照するためのインタフエース線
であう。そして、アドレス変換の結果、必要とするセグ
メントやページが主記憶上にないことがわかると、ペー
ジフオールトやセグメントフオールト等のアドレス変換
フオールトが発生したことを線l11で、そのときの仮
想アドレスを線l12で、アドレス変換フオールトの種
類を線l13にてベクトルプロセツサ内の割込み処理機
構に知らせる。割込み処理機構はここには図示していな
い。これ以降の処理は従来の割込み処理と同一である。
すなわちそのとき実行中のプログラムの処理が中断さ
れ、アドレス変換フオールト割込みが発生する。このと
き、あわせて、アドレス変換フオールトの種類と仮想ア
ドレスが知らされる。通常はオペレーテイングシステム
(OS)が以降の割込みに対する処理を行なう。OSは
アドレス変換フオールトの種類を解析し、ページフオー
ルトならば、その仮想アドレスが示すページ上のプログ
ラムやデータ主記憶上に二次記憶から転送し、ページテ
ーブルをそのページが主記憶上に存在することを示すよ
うに変更する。
第5図は、PAG,b6の詳細を示したものである。線
l8.l9,l10からVA0,VI,VLがそれぞれ
レジスタr1,r2,r3に入力される。次に、 VA0+VI*(VL−1) の計算を行ない、その結果の下12ビツトを無視した値
をレジスタr4に保存しておく。この計算は、次のよう
に行なう。まずレジスタr3の出力(線l104上)を
減算器c3に入力して1だけ減じ、その結果を線l10
6を介して乗算器e2の一方に入力する。次にレジスタ
r2の出力を線l103を介して乗算器e2のもう一方
に入力して、VI*(VL−1)を求める。その結果を
加算器e3の一方に入力し、もう一方にレジスタr1に
あるVA0を線l101を介して入力して加算する。こ
れで VA0+VI*(VL−1) を求めることができる。
l8.l9,l10からVA0,VI,VLがそれぞれ
レジスタr1,r2,r3に入力される。次に、 VA0+VI*(VL−1) の計算を行ない、その結果の下12ビツトを無視した値
をレジスタr4に保存しておく。この計算は、次のよう
に行なう。まずレジスタr3の出力(線l104上)を
減算器c3に入力して1だけ減じ、その結果を線l10
6を介して乗算器e2の一方に入力する。次にレジスタ
r2の出力を線l103を介して乗算器e2のもう一方
に入力して、VI*(VL−1)を求める。その結果を
加算器e3の一方に入力し、もう一方にレジスタr1に
あるVA0を線l101を介して入力して加算する。こ
れで VA0+VI*(VL−1) を求めることができる。
以上の準備がととのうと、プリページングのためのアド
レス生成を開始する。まず、レジスタr1上のページア
ドレスが線l6を介して送出される。また同時に加算器
e1にも入力され、1が加算され、その結果は線l10
0を介して再びレジスタr1にセツトされる。このセツ
トは線l108を介して制御される。すなわち、レジス
タr1へのセツトはクロツク発生器c1からのクロツク
により指示されるが、このクロツクがレジスタr1に入
力されるのは次の2つの場合である。1つはベクトル要
素間隔アドレスが入つているレジスタr2のページアド
レスが0のときである。この検出はレジスタr2のペー
ジアドレスを線l102を介して零検出器ZD,c2に
入力し、0の場合のみ線l105を介して“1”を送出
してORゲートg2、ANDゲートg1を制御し、クロ
ツクを線l108にのせる。もう1つは、ページアドレ
スが最終ベクトル要素アドレスよりも大きくない場合で
ある。この検出は、最終ベクトル要素のページアドレス
が入つているレジスタr4の内容と線l6を比較器e4
に入力し、線l6が等しいか小さいときに線l109に
“1”を送出する。この場合もORゲートg2、AND
ゲートg1を制御してクロツクを線l108にのせるよ
うにする。
レス生成を開始する。まず、レジスタr1上のページア
ドレスが線l6を介して送出される。また同時に加算器
e1にも入力され、1が加算され、その結果は線l10
0を介して再びレジスタr1にセツトされる。このセツ
トは線l108を介して制御される。すなわち、レジス
タr1へのセツトはクロツク発生器c1からのクロツク
により指示されるが、このクロツクがレジスタr1に入
力されるのは次の2つの場合である。1つはベクトル要
素間隔アドレスが入つているレジスタr2のページアド
レスが0のときである。この検出はレジスタr2のペー
ジアドレスを線l102を介して零検出器ZD,c2に
入力し、0の場合のみ線l105を介して“1”を送出
してORゲートg2、ANDゲートg1を制御し、クロ
ツクを線l108にのせる。もう1つは、ページアドレ
スが最終ベクトル要素アドレスよりも大きくない場合で
ある。この検出は、最終ベクトル要素のページアドレス
が入つているレジスタr4の内容と線l6を比較器e4
に入力し、線l6が等しいか小さいときに線l109に
“1”を送出する。この場合もORゲートg2、AND
ゲートg1を制御してクロツクを線l108にのせるよ
うにする。
以上からわかるように、ベクトルのページアドレスに次
々と1を加算してはベクトル・ページアドレスを送出す
る動作を、最終ベクトル要素のページアドレスより大き
くなるまでくりかえす。
々と1を加算してはベクトル・ページアドレスを送出す
る動作を、最終ベクトル要素のページアドレスより大き
くなるまでくりかえす。
第6図はアドレス変換機構を示したものである。アドレ
ス変換は線l201を介して入力された仮想アドレス
は、第3図に示したようなセグメント,ページ,ページ
内の3つのアドレスフイールドに区切られているとす
る。まずセグメントアドレスが線l202に送出され、
一方線l14により入力され、レジスタr10上にある
セグメント・テーブル先頭アドレスと加算器c10で加
算され、セグメントテーブルt1(これは主記憶上にあ
る)内のページテーブルアドレスを線l207上によみ
出す。この内容を線l203上にあるページアドレスが
加算器c11で加算され、ページテーブルt2(これも
主記憶上にある)の実ページアドレスを線l209によ
み出す。この実ページアドレスとレジスタr11から線
l206に介してとり出したページ内アドレスを結合し
て実アドレスとし、レジスタr12にセツトする。ま
た、セグメントテーブルt1,ページテーブルt2をよ
んだときに、セグメントまたはページが主記憶上にない
(セグメントフオールトまたはページフオールトとな
る)ことを示すビツトIが“1”の場合には、アドレス
変換フオールトになることを示す。この情報は線l20
8,l210にのせられ、ORゲートg10でORさ
れ、レジスタr13にセツトされる。一方ページフオー
ルトを示す情報は線l210を介してレジスタr14に
セツトされる。レジスタr13,r14の出力である線
l213,l214はそれぞれアドレス変換フオールト
およびアドレス変換フオールトの種類(本実施例ではセ
グメントフオールト時は“0”、ページフオールト時は
“1”となる)を示す。アドレス変換フオールトとなつ
た仮想アドレスはレジスタr11から線l205を介し
て出力される。なお、セグメントあるいはページフオー
ルトが検出された場合にはそれ以降の変換処理は行なわ
れない。
ス変換は線l201を介して入力された仮想アドレス
は、第3図に示したようなセグメント,ページ,ページ
内の3つのアドレスフイールドに区切られているとす
る。まずセグメントアドレスが線l202に送出され、
一方線l14により入力され、レジスタr10上にある
セグメント・テーブル先頭アドレスと加算器c10で加
算され、セグメントテーブルt1(これは主記憶上にあ
る)内のページテーブルアドレスを線l207上によみ
出す。この内容を線l203上にあるページアドレスが
加算器c11で加算され、ページテーブルt2(これも
主記憶上にある)の実ページアドレスを線l209によ
み出す。この実ページアドレスとレジスタr11から線
l206に介してとり出したページ内アドレスを結合し
て実アドレスとし、レジスタr12にセツトする。ま
た、セグメントテーブルt1,ページテーブルt2をよ
んだときに、セグメントまたはページが主記憶上にない
(セグメントフオールトまたはページフオールトとな
る)ことを示すビツトIが“1”の場合には、アドレス
変換フオールトになることを示す。この情報は線l20
8,l210にのせられ、ORゲートg10でORさ
れ、レジスタr13にセツトされる。一方ページフオー
ルトを示す情報は線l210を介してレジスタr14に
セツトされる。レジスタr13,r14の出力である線
l213,l214はそれぞれアドレス変換フオールト
およびアドレス変換フオールトの種類(本実施例ではセ
グメントフオールト時は“0”、ページフオールト時は
“1”となる)を示す。アドレス変換フオールトとなつ
た仮想アドレスはレジスタr11から線l205を介し
て出力される。なお、セグメントあるいはページフオー
ルトが検出された場合にはそれ以降の変換処理は行なわ
れない。
以上が通常のアドレス変換過程であるが、アドレス変換
テーブル(セグメント,ページテーブル)が主記憶上に
あるため、毎回この処理を行なつていたのでは時間を要
する。このため、高速の連想記憶に仮想と実のページア
ドレス対を登録しておき、まず、ここに登録されている
かチエツクする方式を採用するのがふつうである。この
連想記憶をTLB(Table Lookaside Buffer)とよぶ。
線l204上の仮想ページアドレスをTLB,t3に入
力すると、TLB,t3は入力された仮想ページアドレ
スと一対する仮想ページアドレスが登録されているかチ
エツクし、登録されていれば、これと対となつている実
ページアドレスを線l212上によみ出して、レジスタ
r12にセツトする。TLB,t3に一致する仮想ペー
ジアドレスが登録されていなければ、さきにのべたアド
レス変換過程を実行し、求めた実ページアドレスと、仮
想ページアドレスを対にしてTLBに登録しておく。以
上がアドレス変換機構の動作である。
テーブル(セグメント,ページテーブル)が主記憶上に
あるため、毎回この処理を行なつていたのでは時間を要
する。このため、高速の連想記憶に仮想と実のページア
ドレス対を登録しておき、まず、ここに登録されている
かチエツクする方式を採用するのがふつうである。この
連想記憶をTLB(Table Lookaside Buffer)とよぶ。
線l204上の仮想ページアドレスをTLB,t3に入
力すると、TLB,t3は入力された仮想ページアドレ
スと一対する仮想ページアドレスが登録されているかチ
エツクし、登録されていれば、これと対となつている実
ページアドレスを線l212上によみ出して、レジスタ
r12にセツトする。TLB,t3に一致する仮想ペー
ジアドレスが登録されていなければ、さきにのべたアド
レス変換過程を実行し、求めた実ページアドレスと、仮
想ページアドレスを対にしてTLBに登録しておく。以
上がアドレス変換機構の動作である。
以上に述べたように、ベクトル参照に必要なページアド
レスを次々と生成して先行的にアドレス変換を行ない、
必要なページを実際の使用時に先立つて主記憶上に転送
しておく動作を本来のベクトル参照と並行に行なわせる
ことにより、オンデイマンド・ページング方式よりも処
理時間の短縮をはかることが可能となる。
レスを次々と生成して先行的にアドレス変換を行ない、
必要なページを実際の使用時に先立つて主記憶上に転送
しておく動作を本来のベクトル参照と並行に行なわせる
ことにより、オンデイマンド・ページング方式よりも処
理時間の短縮をはかることが可能となる。
第1図は従来のベクトル処理でのページングを示す図、
第2図は本発明によるベクトル処理のプリページングを
示す図、第3図は本発明でのアドレスフイールドを示す
図、第4図は本発明の構度を示す図、第5図はこの中の
1回路であるベクトルページアドレス生成器の構成を示
す図、第6図はアドレス変換機構を示す図である。 第4図において、b30−33は主記憶参照要求回路、
b4はアドレス変換器、b5はベクトルアドレス生成
器、b6はベクトルページアドレス生成器、b7は先行
アドレス変換器、第5図において、r1はベクトルアド
レス、r2はベクトル間隔、r3はベクトル長、r4は
最終ベクトルページアドレスを保持するレジスタ、e
1,e3は加算器、e2は乗算器、e4は比較器、c2
は零検出器である。
第2図は本発明によるベクトル処理のプリページングを
示す図、第3図は本発明でのアドレスフイールドを示す
図、第4図は本発明の構度を示す図、第5図はこの中の
1回路であるベクトルページアドレス生成器の構成を示
す図、第6図はアドレス変換機構を示す図である。 第4図において、b30−33は主記憶参照要求回路、
b4はアドレス変換器、b5はベクトルアドレス生成
器、b6はベクトルページアドレス生成器、b7は先行
アドレス変換器、第5図において、r1はベクトルアド
レス、r2はベクトル間隔、r3はベクトル長、r4は
最終ベクトルページアドレスを保持するレジスタ、e
1,e3は加算器、e2は乗算器、e4は比較器、c2
は零検出器である。
Claims (1)
- 【請求項1】仮想アドレスをサポートするベクトルプロ
セツサにおいて、先頭ベクトル要素アドレスとベクトル
要素間隔アドレスから、ベクトル要素の主記憶参照に必
要なベクトル要素アドレスのうちのベクトルページアド
レスを生成するベクトルページアドレス生成回路と、そ
の生成回路によつて得られたベクトルページアドレスを
アドレス変換する先行アドレス変換機構を有することに
より、本来のベクトルの主記憶参照と並列してページン
グ動作を可能とするベクトルプロセツサ。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60095440A JPH0656594B2 (ja) | 1985-05-07 | 1985-05-07 | ベクトルプロセツサ |
| US06/859,373 US4768146A (en) | 1985-05-07 | 1986-05-05 | Vector data refer circuit with a preceding paging control for a vector processor apparatus therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60095440A JPH0656594B2 (ja) | 1985-05-07 | 1985-05-07 | ベクトルプロセツサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61253561A JPS61253561A (ja) | 1986-11-11 |
| JPH0656594B2 true JPH0656594B2 (ja) | 1994-07-27 |
Family
ID=14137757
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60095440A Expired - Lifetime JPH0656594B2 (ja) | 1985-05-07 | 1985-05-07 | ベクトルプロセツサ |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4768146A (ja) |
| JP (1) | JPH0656594B2 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| JPS6467680A (en) * | 1987-09-09 | 1989-03-14 | Hitachi Ltd | Vector processor |
| US5113521A (en) * | 1988-03-18 | 1992-05-12 | Digital Equipment Corporation | Method and apparatus for handling faults of vector instructions causing memory management exceptions |
| 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 |
| US5058003A (en) * | 1988-12-15 | 1991-10-15 | International Business Machines Corporation | Virtual storage dynamic address translation mechanism for multiple-sized pages |
| JP2503702B2 (ja) * | 1989-12-19 | 1996-06-05 | 日本電気株式会社 | アドレス変換装置 |
| JPH0546407A (ja) * | 1991-08-12 | 1993-02-26 | Toshiba Corp | スタツク管理システム |
| US5357619A (en) * | 1992-01-10 | 1994-10-18 | Digital Equipment Corporation | Paged memory scheme |
| US5895501A (en) * | 1996-09-03 | 1999-04-20 | Cray Research, Inc. | Virtual memory system for vector based computer systems |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3533075A (en) * | 1967-10-19 | 1970-10-06 | Ibm | Dynamic address translation unit with look-ahead |
| US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| US4218743A (en) * | 1978-07-17 | 1980-08-19 | International Business Machines Corporation | Address translation apparatus |
| US4231088A (en) * | 1978-10-23 | 1980-10-28 | International Business Machines Corporation | Allocating and resolving next virtual pages for input/output |
| US4290104A (en) * | 1979-01-02 | 1981-09-15 | Honeywell Information Systems Inc. | Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller |
| US4513371A (en) * | 1982-07-29 | 1985-04-23 | Ncr Corporation | Computer interface apparatus using split-cycle lookahead addressing for faster access to paged memory |
| JPS59128670A (ja) * | 1983-01-12 | 1984-07-24 | Hitachi Ltd | ベクトル処理装置 |
| US4620275A (en) * | 1984-06-20 | 1986-10-28 | Wallach Steven J | Computer system |
-
1985
- 1985-05-07 JP JP60095440A patent/JPH0656594B2/ja not_active Expired - Lifetime
-
1986
- 1986-05-05 US US06/859,373 patent/US4768146A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61253561A (ja) | 1986-11-11 |
| US4768146A (en) | 1988-08-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0656594B2 (ja) | ベクトルプロセツサ | |
| US4811206A (en) | Data processing system with overlapped address translation and address computation | |
| US20250028640A1 (en) | Mechanism to enable out-of-order packet processing in a datatype engine | |
| JPS6150345B2 (ja) | ||
| JP3190700B2 (ja) | アドレス変換装置 | |
| JPH0285941A (ja) | データ処理システム | |
| JPS6273347A (ja) | アドレス変換装置 | |
| JPH01193961A (ja) | アドレス変換装置 | |
| JP2602230B2 (ja) | データ処理装置 | |
| JP2560520B2 (ja) | 先行制御装置 | |
| CN121919147A (zh) | 直接存储器访问分散/收集引擎的统一指令处理器 | |
| JP2895892B2 (ja) | データ処理装置 | |
| JP2815850B2 (ja) | データ処理ユニット | |
| JP2845780B2 (ja) | データ転送制御回路 | |
| JPS62278639A (ja) | 情報処理装置 | |
| JP3147355B2 (ja) | アドレス変換装置 | |
| JPS63189955A (ja) | 仮想計算機システムにおけるデ−タ転送処理方式 | |
| JPS5982686A (ja) | セグメント連結方式 | |
| JPS63121975A (ja) | 情報処理装置 | |
| JPS5977694A (ja) | 情報処理装置 | |
| JPH0443444A (ja) | アドレス生成装置 | |
| JPH08171488A (ja) | データアドレス制御回路 | |
| JPS59211156A (ja) | アドレス空間複写方式 | |
| JPH04160544A (ja) | アドレッシング方式 | |
| JPH04145524A (ja) | 固定小数点プロセッサ |