JPS6182272A - Vector processor - Google Patents
Vector processorInfo
- Publication number
- JPS6182272A JPS6182272A JP59205040A JP20504084A JPS6182272A JP S6182272 A JPS6182272 A JP S6182272A JP 59205040 A JP59205040 A JP 59205040A JP 20504084 A JP20504084 A JP 20504084A JP S6182272 A JPS6182272 A JP S6182272A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- processor
- data
- storage device
- processing
- 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.)
- Pending
Links
Landscapes
- Complex Calculations (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
〔発明の利用分野〕
本発明はベタ1〜ル処理装置に係り、特に大規模利学技
術剖算に好適な拡張記憶装置を具備したマル千−fr+
セッサ構成のべ々1ヘル処理装置に関する。
「発明の背景1
今日、科学技術計算の分野では、演算の高速要求に伴な
い大きなメモリプ9間(数百MB)が要求さねている。
二のような大規模なメモリ空間を複数1−ぜに割当て、
かつ、そ才1を主記憶装置のみで実現することけ費用の
点から不可能である。特じべ′71.ル処理装置は汎用
機よりも高速性を要求されるため、高速のメモリ素子を
使用することに711、=+ストを下げろことが困難で
ある。
ユーザの大規模メモリ空間内空間る要求とコスト面の要
求を満足させるため、主記憶装置の外に大容量の拡張記
憶装置を実装したスーパコンピュータが公表さおでいる
(小高他、[日経ニレノア 1゜[1ニクスJ N、q
314、P、+59〜184、日経マグロウヒル I
!183)。この拡張記憶装置は1−記憶装置どけ異1
1、ワード慴位のアクセスではなく、ページ(4KB)
中位の連続アクセスによって、flRNOOOMバーr
ト)7秒7)’−タノデータ転送速度を達成している。
このデータ転送速度は汎用計算機の主記憶装置上のデー
タ転送処理速度よ11も大きいが、成る大きなデータブ
ロックの連続的なアクセスでのみ実現されるデータ転送
速度なので、ベクトルプロセッサに拡張記憶装置を直結
し、ユーザのベクトル処理で数百MBに及ぶ大メモリ空
間を実現することはできない。
〔発明の目的〕
本発明の目的は、拡張記憶をベースとし・た記憶管理回
路をベクトル処理装置に具備し、該記憶管理回路によ−
)でユーザに大規模なメモリ空間を割当てるτとを可能
にし・、大メモリ空間を使用するフ、−規摸利学技術H
4算を実行できるベグ1ヘル処理装置をt7Ff rl
Eすることにある。
「発明の概要]
本発明はベグ1ヘル処理装置を、複数の主記憶装置 鉱
Qfi記憶装置、ページングプロセッサ、ベクトル処理
17、各プ「1セツサのデータ処理の並列実行を実現[Field of Application of the Invention] The present invention relates to a flat file processing device, and in particular to a flat file processing device equipped with an extended storage device suitable for large-scale computer science calculations.
The present invention relates to a processing device having a processor configuration. Background of the Invention 1 Today, in the field of scientific and technical computing, large memory spaces (several 100 MB) are required due to high-speed calculations. Assigned to
In addition, it is impossible to realize Sosai 1 using only the main memory device due to cost. Tokujibe'71. Since a file processing device is required to be faster than a general-purpose machine, it is difficult to reduce the cost of using a high-speed memory element. In order to satisfy users' demands for large-scale memory space and cost, supercomputers equipped with a large-capacity expansion storage device outside of the main memory have been announced (Kodaka et al., [Nikkei Nirenor). 1° [1 Nix J N, q
314, P, +59-184, Nikkei McGraw-Hill I
! 183). This extended storage device is 1-storage device is different 1
1. Page (4KB), not word-level access
By medium continuous access, flRNOOOM barr
g) 7 seconds 7)'-Tano data transfer speed has been achieved. This data transfer speed is 11 times higher than the data transfer processing speed on the main memory of a general-purpose computer, but since it is a data transfer speed that can only be achieved by continuous access of large data blocks, the expansion storage is directly connected to the vector processor. However, it is not possible to realize a large memory space of several hundred MB through user vector processing. [Object of the Invention] An object of the present invention is to equip a vector processing device with a memory management circuit based on expanded memory, and to
) allows the user to allocate a large memory space with τ, and uses a large memory space.
t7Ff rl a Beg1Hel processing device that can perform 4 arithmetic
It is about doing E. ``Summary of the Invention'' The present invention realizes parallel execution of data processing for one set of data in a plurality of main storage devices, a paging processor, vector processing 17, and each processor using a VEG1H processing device.
【
7で、拡張記憶装置にに存在する大規模なプログラムの
実行を拡張記憶装置よりも小さな容量の複数の主記憶装
置上で実施するようにしたことである。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて詳細に説明する
。
第1図は本発明に係るベクトル処理装置の基本1i1’
f IRで、−1ントロールプロセツサ101、ベクト
ルプロセッサ102、ページングプロセッサ107、を
記憶装置10/I、105,109.拡張記憶装置10
8、スイッチング回路103,106に上って構成され
る。
ベクトル処理を規定するプログラムを次のような構成の
オブジェタトコードで記述する。プログラムを構成して
いるベクトルおよびスカシ命令群の成る集合が、他の集
合とは異なるメモリ空間内のデータに対しての処理動作
を規定している場合、二の命令集合をセグメントと云い
、該命令集合のポイントするデータ空間を局所メモリ空
間という。
このように定義されたセグメントと局所メモリ空間は科
学技術計算プログラム中に数多く見出すことができる。
たとえば次のようなりoループでは、D○ 100 1
=1.N
+00 A(T)=B(T)十C(T)r′)Oルー
プを構成するスカシ、ベクトル命令列がセグメントであ
り、配列A、B、Cとr)0制御変数T、Nが占有して
いるメモリ空間が局所メモリ空間である。従って、プロ
グラムはセグメントと局所メモリ空間によって定義する
ことができる。
この定義によりげ、プログラム実行に必要十分な処理と
け、
(I″ll現在セグ、メントを実行し、でいるのかを示
す指標。
Igl 局所メモリ空間を生成格納する指示、である
、このことを第2図のプログラムPL、についていうと
、a −Cけセグメントを示し、T−aはセグメントが
ボーrントする局所メモリ空間を主記憶装置上に生成指
示する命令、STaけ該メモリ空間を拡張記憶装置上に
格納する命令を示す。a。
bのセグメントについても同様である。
プログラムはデータ処理を規定するセグメントと局所、
メモリ空間と該空間を管理する命令とによ一〕で構成す
ることができるが、プログラム自体もまたセグメントと
局所メモリ空間によって定義される。このことを第2図
のPIlについて説明する。
成る命令ここでけSTbにおいて、データ処理がSTh
以前と以後に分割できるとする。この仮定はプログラム
が各構成セグメントを順序だって実行するものという仮
定の下に論理的に構成されていわば妥当である。STb
点におけるプログラム分割を行−〕だ場合、■、a命令
からSTb命令に到ろ命令群を主記憶装置上にロープイ
ンクする命令と該命令群を拡張記憶′JA置にストアす
る命令とプロゲラ11の実行を指示する命令を定義する
ことによ1)、プロクラ11をプログラム自体のローデ
ィング、実行、ス1〜7の3種類の動作定義に縮約可詣
である。この縮約を第2図のプログラムPIに示す。二
のように縮約されたプログラムは、比較的小さなメモ+
1空間上にプロクラムの実行が終るまで保持することか
できる。科学技術計算の場合は。
プログラムが自分自身を処理することけないが、今後よ
り複雑なデータ処理を行う場合、プログラムが自分自分
を変形することが起り得る。このような場合、プロクラ
ムを主記憶装置にローディングする命令の次にプログラ
ム自身を変形処理する命令を置くことにより、目的の処
理を行うことができる。第2図のP2は、このプログラ
ム自身を変形するプログラムの構造を示したものである
。
P2において、α部がプロクラ12α部(これはセグメ
ントa、bから構成されている)を変形するセグメント
である。
JTi、 tb 、第2図に示り、たように、プロクラ
ムを、プ「1ごノ→ム白I・を主記憶装置上ロート、編
集、スト・アする部分を[プロ/7ラムカーネル」、プ
ロゲラ11カーネルによって引用対象になる部分を「プ
ログラムボテ、イ」と呼ぶ。
第1図のベクトル処理装置において、第2図F) に上
って表示さ才lたプログラムは次のように処理される。
プ「1ダラムは初め拡張記憶装置108上に置か狛でい
る。ベクトル処理装置が起動されると、コン1−「1−
ルプロセノサ101はページングプロセリ什107を起
ff1l+ L7、第2図のP7のプログラムカーネル
部を主記憶装置109にロードする。ぺ一=ジ〉・グプ
ロセッ升107のロープインク完了報告をT1ンI・ロ
ールプロセラ廿lotが受取った後、該プ「1セツサ1
01けプログラムカーネル部の先頭の命令より実行を開
始する。プログラムカーネル部の先頭命令はプロゲラ1
1ボデ7fαを主記憶装置へ「1−トする命令であるの
で、二の命令の指示により、プ[1ηう11が拡張記憶
装置108から主記憶装置109にロードされる。次に
コントロールプロセッサ101けセク、メントαの指示
により、主記憶装置109にロードしたプログラムボデ
イヲ修飾し71次のセグメントE X、 E Cでコン
トロールプロセッサ101の命令処理位置を示している
ポ・インク(以後cr’swという)を書替え、制御を
プロゲラ13ボディ部に移す。この動作は汎用計算機の
無条件ブランチと同様である。
プログラムボティ部の先頭命令はaセグメントの局所メ
モIJ空間を主記憶装置104又け105ヘロートする
命令L aであるので、コントロールプロセッサ101
けページプロセッサ107.スイッチング回路106に
指示をケ、え、拡張記憶装置+08上のaセグメントの
局所メモリ空間を主記憶装置104又は105ヘローデ
イングする。
こ二では仮に局所メモリ空間が主記憶装置104ヘロー
トされたとする。コントロールプロセッサ101は続い
て、cpswの制御に従ってセグメントa内の命令を実
行する。仮にセグメントa内にベグ1ヘル命令が出現し
たとする。この時、コン1へ「1−ルプロセソ什101
けベクトルプロセッサI n 2 、スイッチング回路
103に起動および指示を行い、ベクトル処理を主記憶
装置104に対1−4て行う二とが出来るようにパスの
接続を指示する。ベグ1ヘル命令はコンl−「+−ルプ
ロセッサ101によ、)で主記憶装置109から読出さ
れ、ベクトルプロセッサ102に送られ、すてにローデ
ィングさ才1ている主記憶装置10 ’I 」;の局所
メモリ空間を対象にベクトル処理が行われる。ベクトル
プ「1セツ什102でベクトルクル環が行われている間
、−1ントロールプロセッ廿101はベグ1ヘル命令の
直後にベタ1ヘル処理の終了を待つ命令がなけ才棗ば、
次の命令を実行する。次命令が仮にセグメン1〜aの次
のセグメンl−hの局所メモリ空間の主記憶装置へのロ
ープ、インク指示とする。このとき〜にノ1〜ロールプ
「1セツサ101けスイッチング回7fj I n 6
、ページングプロセッサ107に指示をりえ 拡張記
憶装置1081−のセグメントbの局所メモリ空間を主
記憶装置105ヘロートする。
ごのr+ −=−1:動作はベクトル処理狸と同時に行
うことができる。
この局所゛メモリ空間の主記憶装置へのロー1−動作の
べ/7トル処理との同時実行機能を有効に使用するため
、オブジェクトコードのプログラムボデーイ部を最適化
する必要がある。拡張記憶装置上のプ「1ノノラ11ボ
ディ部は、最初、第3図aのよう内・構)告をとってい
る。第3図aのプログラムにおいて、各セグメントはそ
のセグメンi・を実行するのに必要な局所メモリ空間を
主記憶装置ヘロートする命令と、セグメントの規定する
処理の結果を拡張記憶装着へストアする命令を前後に有
する。この形式のオブジェク1ヘコートは、本発明のベ
クi・生処理装置では局所メモリ空間の主記憶装置への
ロード、データ処理、処理結果の拡張記憶装置へのスト
アの順序だった処理を指示するので、性能向上が期待で
きない。コントロールプロセッサ101どページングプ
ロセッサ102間の並列動作を可能とするため、命令列
を次の4種類に分割する。
■ コントロールプロセッサにおいて、データ処理を行
う命令(以下C命令という)
(?)ベージンクプ「1セツサでページング動作を規定
する命令(以下P命令という)
(j)コントロールプロセッサでページングプロセッサ
の状態を調べる命令(以下CW命令という)の1 ペー
ジングプロセッサでコン1〜[1−ルプロセノサの状態
を調べる命令(以下PW命令という)プ「lグラ!いけ
第1図の主記憶装置109にロードされ、コン1〜ロー
ルプロセツサ101によって解読されるが、P命令が出
現し、た時は、ページングプ[Iセッサの状態によって
該命令の指示がコントロールプ「1セツサ内に保持され
るかページングプロセッサ用に送ら汎るかが決定される
。P命令がコントロールプロセッサ側に保持される場合
、たとえば、ページングプロセッサがビジー状態でP命
令を受付られない場合、このときコントロールプロセッ
サかページプロセッサの終了を待つように処理を行うと
、コントロールプロセッサの命令デコート処理にシリア
ルな状態を発生させることになる。このような場合、目
的とし、ているP命令がページングプロセッサがビジー
であって実行できなくとも、P命令の次の命令が論理的
に実行可能ならば、この次命令を実行し、かつ、ページ
ングプロセッサのビジー状態が解除された場合、直ちに
実行留保状態のP命令を実行する必要がある。このよう
な一種の命令追越し、動作を行うため、命令デコード処
理を、C9P命令の両系統に分割する。し・かり、コン
トロールプロセッサの命令実行は、第3図aのコートの
ように概念的に実行されわずなら、ないので、C,P両
系統のテコート処理をタイムスライスし1、時分割で交
互に命令を実行するように制御する。この制御により、
C命令を実行し2なから、P命令をある一定のタイミン
グで起動し、ページングプロセッサのビジー状態が解除
された場合、直ちにページングのための情報をページン
グプロセッサに送るような処理が可能になる。しかL・
、この時分割デコード処理は両系統の命令の処理に何ら
の同期処理も含まない。このため、第3図aのようなペ
ージングに対して、シリアルな処理を規定しているプロ
グラムの動作と一12=
一’PI 1−fJ−い場合が発生する。たとえば第3
図aにおいて、P命令の■、aが行われたとき、時分割
ダニ1−1−処理を行うと、L a命令の処理が行われ
ない時でもセ・グメン[−aのデータ処理が開始されて
し、まう。このような不都合を解消するため、CW。
PW系列の命令が必要になる。この系列の命令を追加【
7、新たにオブジェクトコードを生成したもの右第3図
1)に示す3.第3図すのオブジェクトコードは次の処
理を仮定している。
(1) ページングプロセッサは局所メモリ字間をロ
ードすべき主記憶装置を区別する手段をもち。
か−) 局所空間のローディングが完了した際、どの主
記憶装置へのデータ転送が完了したかを示す情報をコン
トロールプロセッサへ報告する。
す) 局所メモリ空間が「l−]〜さオlる主記憶装置
を1.2と命令し、二の順序に従って使用する。
を蓬1 第3図りの71列はページングプロセッサ用
の命令列で5 ν列は一1ントロールプロセッサ用の命
令である。ただし、ページングプロセッサ用の命令も、
テコ1−ド処理はコントロールプロセッサで行われる。
第3図すの構造のオブジェクトコードは次のように実行
される。
まずμ列のL a命令がデコートされ、ページングプロ
セッサにセグメントaに必要な局所メモリ空間の転送の
開始指示が行われる。次のタイミングではν列のTJn
Ljll命令がデコートされるが、この命令は主記憶装
置(1)へのデータ転送の完了を待つ命令であるので、
ν列の次のセグメントaは実行されない。あるタイミン
グ後、μ列のr−b命令がデコードされる。この時ペー
ジングプロセッサがビジー状態であると、このL b命
令は実行されず、命令スタック上に保持される。次のタ
イミングでは再び制御はν列の命令に移行する。この時
、再びTJntill命令が実行され、コントロールプ
ロセッサはページングプロセッサの終了を待つことにな
る。ページングプロセッサがセグメントaのための局所
メモリ空間の転送を完了すると、コントロールプロセッ
サの制御がμ列の命令上にあるときは、命令スタック上
の命令即ちLllが直ちに実t−tされる。該−1ン1
〜ロールプロセツサの制御が1・列の命令卜にある時は
TJltjllが実行され、二(h小部は直に完了L7
次のタイミングからセクノントaが実行さhろ、こ
の状態で、ある時間ではμ列の命令が、その池の時間で
はν列の命令が実行さ11ろ。
71列の命令がW命令(第3図i)参照)に至ると、μ
列の命令のデコート処理がν列の命令列でRel命令を
検出するまで停止1.する。工のW命令によって、1゛
ノド「1−ルプ[1セラ升かセフメンl−aのデータ処
理を完了1−2た後に、対象となった局所メモリ空間を
拡張記憶ヤ装置へ転送する順序性が保証できる。 −
jr、 ν列の命令は、Rel命令後はTJnti、]
2命令であるかI)、 主記憶装置(2)への局所メモ
リ空間の転送が完了し、ていれば直ちに次のセグメント
bの実行に移行する。第:3図すにおいて、ν列にIT
n白1系の命令の連続かE出されるが、こればp列でS
Ta、f−、c命令のように同一の主記憶装置に−)い
ての局所メモ11空間の転送指示が行わわろため、ペー
ジングプロセッサからの完了報告=15−
が2同乗ることに対応し・ている。
第3図すの構造のオブジェクトコ−1くを本発明のペク
ト・生処理装置で実行し、た場合のコン1へロールプロ
セッサとページングプロセッサのビジー状況を第4図に
示す。第4図において1点線の部分がプ「1セラ升・ウ
ェイi・時間である。第4図がl)明らかなように、因
果関係を満す範囲内で両プロセッ廿は自動的に最大のデ
ータ処理が行ゎ狛るように制御される。
以上示L7たコン[・ロールプロセッサとページングプ
ロセラ升間の制御法が、コントロールプロセッサから起
動されるベクトルプロセッサとコントロールプロセッサ
の間にも成立する。ただし、ベクトルプロセッサはデー
タ処理の性質−1=、プロセッサウェイトが困難である
。このベクトルプ[1セノ廿の制御をとり入れた場合の
オブジェクトコードの構造に1いて以下にのべる。
ベクトルプロセッサの起動は、1セグメン1〜内でのみ
行わわ、複数のセグメントにまたがって行われない。最
も甲純に考えると、第5図aのような構造になる。第5
図aに、おいて、ν1列の命令けベタ1ヘル命令を示し
、ν1列の命令はベクトル命令IJJ、 、+lの命令
を示す。Xりトル命令以外の命令のてどを以下スカラ命
令という。コン1−ロールプ「1セノ什から起illさ
れるベタ1〜ルプロセツサを制御する命令とし、て最小
限1次の命令系列が必要である。
中 ベタ1−ルプ[1セツサを正規に動作させろための
準備を行うセットアツプ命令、
t2> 7りトルブ「1セツサを起動するための命令
(J゛〕、下EX入7pという)。
(■ べ!11ヘル処理の完了をチェックするため命令
(〕−゛J、下TVPという)。
二の3種類の命令系によ−〕で、 =+ン1−ロールプ
「1セノ什の命令デ:1−ドタイミング論理を変更する
−とかくベクトルプロセッサの制御が可能になる。し、
かり、第5図aに示さhている命令によって記1its
さf[ろプロセッサの動作を考慮すtt、 lず明らが
なように、:1ン1−[1−ルプ[1セツサの制御がT
■P命令に至ると、その時点で=1ン1〜[1−ルプロ
セッサのデータ処理けりエイ1〜し、、TVPJ′、J
、降のスカラ処理a−命令列を実行することができない
。
二わけベク[・ルプ「1センサをコン1−ロールプロセ
ッサに付加させたために生じた無効時間である。
二の無効時間をt側車化し、上り高速のベクトル処理装
置を実現するため、セグメントaをさらにそのデータ処
理の型に従って次のように細分する。
中 べ))[・ル9!!!埋以前に開始し、なければな
らない処理(以下a1処理という)
q・ ベクトル処理と同時に実行できる処理(以下a7
処理という)
(AI ベクトル処理以後に行わなければならない処
理(以下a、、処理という)
r7j) ベタ1〜ル処理の完了のチェックを開始す
る命令(以下5TVPという)
弔) a、処理どa4処理の境界を示す命令(以下Bn
rTNr1という)
上記の分類に上−〕で示された命令によってセグメント
−aを再構成すると第5図すをtl)る−第5図りの構
j告のプロゲラ!いについてコン1〜ローJレプロセノ
什とベクトルプロセッサの制御は次のように八・、乙、
:fll系列の命令け=1ンi・[]−ルプロセッサτ
実行さ1171.EXVP命令は=1ント「1−ルプロ
セノ升τ子−1−ドさ41.ベクトル処理−動オろ、ベ
グトI+、/命餐列は起動さ1またベタ1〜ルプ[1セ
ノ什て一1ンl−「1− ルブロセノサを介して主記憶
°(重囲109(第1図参照)から読出され、ベク1、
ルプr1セッ什てデー1−1.さi+実行さ]する。a
。
系列の命令はコントロールプロセッサセッせプr1ヤソ
甘の動作どけ非同期にテコ1−ドされ実行さt+ろ−S
T■P命令によって、:Iントロールプ[1セノ升の子
:」−ドサrクルけ2−]のフェイズに分割前11ろ
第1のフエ、rスではベクトルプロセリ什でのデータ処
理が終了し、たか否かがチェック主II、第2σi ”
7 工、(ズでけa2系列の命令が実行さ11イ、 該
2フエ(ブけあr)、かし、め定義されたりrミン′ノ
間陪で相互に定着さおだ時間を占める。
ハ゛シ1.ルプ「1セツサのチー タ処理が完了し、た
場合第1のフェイスけtl’l ihtする。a7命令
の処理において、BnuNn命令を検出し7た場合は第
2のフエイズは消滅する −の2様のデ:1−トフエイ
スの導入により、ベクトル処理の完了を調へながら、同
時にスカラ命令の一部の処理を実行することがτきろ。
二の機能により、コン1へ[1−ループ[1セツサにベ
クトルプロセッサを付加したために生じた「無効時間]
を極小化できる。
1!L I:、ベタ1ヘル処理の終結についての無効時
間の極小化について述べたが、ベクトルプロセッサ起動
についても全く同様の議論が可能である。
次にプログラムのロケーションについて考察する。いま
まで述べて東だようにプロゲラ11とデータは拡張記憶
装置l−の実アドレスによって、そのロケーション位置
が定義されている。当然プログラムのデータ処理手続も
当該ロケーションによって記述されている。一方、局所
メモIl空間を主記憶装置ヘロードし、このロードされ
た新たな空間に対し2データ処理を行う場合、以前のロ
ケーションによって行う二とが不可能になるにの場合、
局所メモリ空間を主記憶装置のどの番地に1−+ −I
し、たのかを示す情報をコントロールプロセッサが、−
20=
局所・メモ11空間をrl −1ニオる命令をデニ1−
ドする際抽出(、ての情報を基に″1ント「J−ルプ「
1セツ什(ハフ力う処理、ベクトルプロセッサのベクト
ル処理1−F−1て発生するメモリアクセスのアト1ノ
スリロケーシヨンを行う。二のりロケーションされたア
ト1ノスは主記憶装置の実アドレスを示している、従っ
て=1ントロールプロセッサ、ベクトルプ「1セツサに
7ドIノスリ「1ケ一シヨン機構を具備するニどに上り
局所メモリ空間におけるプログラム実行か可能になる4
次にページングプ「1セソ叶の機能について考慮する。
前述の議論はページングプr:1セッサの局所メモ11
空間管理についてのみ行わ打ており、局所メモリ空間そ
のものの構造についてけ行わわていない−ベク[・ル処
理けある特定のデータ群に対し一様のデータ処理を行う
ことであるので、スカラ処理のように[処理の順序性」
について、上記のデ〜 タ群内の要素について必ずしも
保証する必要は八・い−次のような110ループを考え
ると、nO1001=1.]OOO
A (I)二B (■) 十C(■)
100 C0NT T へI TJ EΔへ91〜ル
要素けI+ 2+ 3+・・・のようか順序でR]算
する必要けろ・く、1 +’ 3+ 2+ 4 + 5
+ ・・の順序でもよい。m=でに記のDO小ループ
同じセグメントに次のよう7j、y r) Qループが
存在し、たどする。
nn 2nOT=1,999,2
n (T’) =l”3 (T)*C(T’)2 o
n CoNTT NTJE
後者のDO小ループ前者のループとけ異なり、B。
Cベタ1ヘルへのアクセスは連続でなく非連続である。
ベグ1ヘル処理はテーク処理を間断なくパイプライン演
算器に行わせ、処理速度を向上させる処理であるため、
被演算テークは非連続よりも連続番地に置く方が効率が
良くなる。Bベタ1〜ル要素がI 12131 のよ
うにロケーションされている場合、二の[Iケーション
は前者のD○のベタ1〜ル処理にけ適しているが、後者
のD○の処理には前者程適し、ではいない。し、かし、
Bベタ1−ルのロケーパ、・コンを、I、3,2.4,
5.7.6+ 8+a)よ−)にすると、後者のI]
○クル理(二於いても連続7′ノセスとな:1、テーク
処理効率か向1−する。
すた^1T昔σ)no処理において、ベク]・ル処理で
けテークの順序性は保証し、なくて白いので、アクセフ
、 ty+沖1青性は変I′″lオ、データ処理効率は
低下し、ない 射にnlどびのア′ノセスヒnとびの
アクセスか連続7 ))セスどlIH存する場合、配列
をm*nのfI1余に1〕てm*n個の部分集合に分離
することにtll、mどびの7グセスがポイントする部
分沖合!−11とびの7!ノセスかポインダする部分集
合とじ分けろ二とができるm−のよう内・操作を行って
も’;jlt I#lニア’、)セスにけ影響をりえ^
・い。二の分離操作しL;1部分に5合内でけそ旧ぞわ
のアクセスは連i、プ1:17. fI:乙−従一、て
、拡張記憶装置−に1′Zある局所メモリ空間を主記憶
(−1i IFiへ「1−ドする際、−1−記の配列の
部分集合再配置化をイイら二とに上って局所メモリ空間
のtiVt造の最適化を行い、ベク[・ル処理の高原f
ヒ右図る二kかできろ。てのようf′8′、処理分散を
ページソタプ「1セソ甘どベクトルプ「1セソ甘間で行
い、ペクト・ル処理装置の高速性をより向上させうる。
1−記の局所メモjl空間の部分集合再配置による最適
化どけ、セグメントのアクセスが行わ第1ない部分集合
を主記憶装置へローディングL、ないことではない。ア
クセスの行わわない部分集合を主記憶装置ヘロードし、
なければ主記憶8袖は小さくなるが、局所メモリ空間を
拡張記憶装置へ書き込む際、アクセスの行われなかった
主記憶装置−ににローディングさねている・い部分沖合
を書込力に先立って拡張記憶装置から読み出し1部分集
合再配圃のjψ操作を行い、その結果を拡張記憶装置に
書込まなければならない。
拡張記憶装置へのアクセスは主記憶装置のアクセスとは
異なり、一種類のアクセスが連続し、た時にのみ高速と
なるので、上記の、ように拡張記憶装置への続出書込が
交互に発生し、た場合、著し、いテーク転送速度の低下
を来す。このため、セグメントがアクセスし、ない局所
メモリ空間の部分集合をも主記憶装置へロードし、でお
き1局所メモリ空間a: lij’、 l’jf3記憶
装置に書込む際には、主記憶装置への舌1.4!l1f
i:アクセスを行い、部分1ニ合再配置のjゲ!操作を
行−1て11):りに記憶ヤ装置ヘス1へ7するように
する。
J″l、1 プ「1グラ11のセグメント処理ヒを行い
、主記憶装置rtの情+lIを局所メモ11窄間に限定
し、か−)局所メモ+1空間の部分集合の再配置による
メモリ空間のセグメント処理に対する最適化を行うこと
にトリ 拡弓14記憶装置1−に定義されだ大規模内・
プログラムどぞのプログラム実行に必要な大メモリ空間
右十記憶装置トし存在させた場合と同様のベタ1〜ル処
pl+を、上り小さい主記憶装置上で行うことが丁きろ
1
第6U21は本発明のベダトル処理装置にfjけるコン
ト[1−ルー/’r+セッ什の命令デコーダの前処理部
分の概略ブ[1ツ!7図である。
第6図にtjいて、命令は主記憶装置109(第1図参
照)よ11パス650を介し7てフリップフロ・・ノブ
(以下FFど呻す)600に入ろ−FF6001−の命
令は命令管理回路601によって、ペーシングプ「Jセ
ッサ、T1ント「1−ルプロセソ什、又けへ91−ルプ
「lセラ什用の命令に分類さ1シ、タイミン′ノ合せの
ためのFF602を介し7てス、rソチング回路603
に送[″J第1る。ス、rツチンク回路603により命
令の型に従−]で、ペーシンノノ゛プロセソ什川の命令
は命令スタック604に、 mlントロールプロセノサ
用の命令はスタック605に、ベタ1ヘルプ[1セツサ
用の命令はスタツノノ606に入る。608は命令)、
タライノ60/l内の命令移行を管理する回路であ暴)
、該回路はフエイスジエネ1ノータロ07によって定義
される特定フェイズたけ動作する。以下二のフェイズタ
・rミンクをAフェイスどよぶ、スタック「304に入
った命令は1.ヘフエ・rス毎にス9ッグを移行し1.
命令lノシスタ609に入る。該命令1ノジスタ609
上の命令はテコーダ610によって子コードされ1局所
−メモリ空間をロート又はストアする命令とウェイト命
令とその池の命令とに分類される。ロート・ス1−ア系
命令の場合、セ1ツクタロ12けパス51を、ウェイト
命令時はパス652を、その他の命令の時はパス653
を選択する。
−Jj ページングプロセッサ107 (第1図参照
)ノ状態(1パスn 5 ・I l ’+ff4 L
テF F 61 ] 11: (呆EIF主11τいイ
)6′″二で ページングプ「1セツサか1′シーのI
I ’pをF F t; 11力状態が″ビ′とし1.
そうτへ゛い場合も−” n ”とする。またスタック
管理回路(’in8にけパス6 !”i 5右)介[、
τ向合移行押出情報か1″!、+’、 41ろものどオ
ろ−「l −l:・ス1〜7系命令の場合、セレクタ6
12(」パフ、[)51ど〔355の接続右行うので、
ページソリ゛プ「1セ・・)什107がビジーのtlj
l 111 、 o−ド又はストゴ′命令は命令1ノシ
スタ609Fに留る。ペーシソゲプ「Iセソ什107か
ビジー状態でろ・くな−I九用今、パブ651むよび6
55を介して命令移行許可がスタック管理回路608に
対し、て行わ11、局所メモリ空間σ)rl−ド又はス
トア命令がパス65 (i %通し、てページングプロ
セッサ+07にi’j; r’Ii1:g。
一′でページン))ブ「1セソ廿ウエイ1へ命令動作は
一1ント「1−ルプ「1セツサ101のREl、(リリ
ース)命令に関連するので コントロールプロセツ什系
列の命令の処理について説明する。
コントロールプ「1セラ什系列の命令はスタック605
に入った後、スタック管理回路614によ−2て命令移
行が管理さ狛る。スタック管理回路614けフエイズシ
ェネ1ノータロ07がAフエ、(ズ以外の7エイズを生
成【−1たどき(J!J、下このフェイズをBフェイス
という)に作動する。また該管理回路614け2種類の
命令移行押出指示をパス657.658を通して受けと
る。こわらの抑11−指示かない時、命令けBフェイズ
が生成される毎にスタック605を移行し、命令レジス
タ613に入る。命令レジスタ613上の命令はデコー
ダ615によって解読され、R,E L命令以外の場合
。
FF616に′1″がセット・される。このFF616
け一1ントロールプロセッサ101が成るプログラムの
セグメントを実行中であることを示す。テ:】−タ゛6
15がRET、命令を解読すると、FF615けII
n Dにリセットされる。第1図の主記憶装置f’ff
1ll’)4,105の状態は次の状態を考える。
(1)主記憶装置に局所メモリ空間が[1−ドご11゜
一1ソl−rl−ルプ[1セツ什およびベクトルプロセ
ノ什かl’、 %、川用ヒt(Iニー:)た状態(]゛
ノ、下lノティ状態1・い5)
tW’ :’E記憶(=!21F’fにページング−1
ロ七ソ什かアクセス[τいろ状態C以下ジェネレ−ト状
態という)+2J、、l−の上記憶装圃の状態はページ
ングプロセッサ107が1i′!−理し、その報告がコ
ントロールプロセノ仕101にろ・される。第6図では
パス660゜6(51を介しτそl+ぞ]l主記憶!X
Ji 1面10/l、105の状態の報告がかさJ’t
、 F F 620 、621に1い[寺さ才する
一FF6.l!n、62]の1直はページン′ノ゛ずロ
ヤッ廿107がジェネレート状態ならば゛ビ′、1ノテ
イ状態な1″1げIf n 14とする。
テニ1−夕615でTJ n t、 i +命令が解読
されると、そのフ、1象とする主記憶ヤ装置104ある
いけ105の状態を調へろために、セレクタ622に指
示が行わり、FFI’i2Q又け621の状態をパス6
62vけ663を介し7てセ1ツクタロ23へ送る。セ
1ノリタロ2 、i ′r−けTTntjl系命令の時
はパス〔;6411111を、1丁r+Iil系1゛J
、外の命令の時にはパス665側を1itRする。仮に
LTntillなる命令がデコーダ615で解読されて
、”]’″が主記憶装置104側たったとすると、パス
662.66/l、657の1妾続が行われ、FF62
0の状態がスタック管理回路6]4に送られる。このと
きFF620の内容が゛1″であると、スタック管理回
路614の命令移行処理は押出さ1(、命令レジスタ6
13」−にTJnt、jllの命令は保持される。この
命令滞留処理はページングプロセッサ107がレデーイ
状態となるまで行われる。ページングプロセッサ107
がレデーイ状態になると、命令移行が行わト、パス66
7を介し7てコントロールプロセッサ101の次段命令
解読部に命令が送られる。Until系以外の曲以外は
、セレクタ623はパス665側を選lRするので、ス
タック管理回路614に命令移行押出指示は行われず、
ページングプロセッサ107の状態とは関係なく命令は
パス667 、t:に送り出される。
再びページングプロセッサ107の命令テコード処理の
説明にもどる。
命令トジスダに09に11工r1・命令か東だ場合、7
−1−タ〔;10の指示によりセ1)))タロ12けパ
スri !”i :!Δ選IR第2) 従って一1ン1
へ[1−ルブロセ・・)甘101のための命令てRE■
、を発行L @、い限す バージングプ「1セツ廿10
7け命令待ちの状態てつ1r1・する〜該RE■、命令
はセグメント処哩の終了時点で発行され1局所lモリ空
間内の処理がj疼−2!−fす、該空間が拡張記憶装置
108に1ト込オII t+:け、11けなr:、、
t))いという因東関係か保証さ11ろ、
べ戸1トル命令はス(ソチン1)回路603を経て。
スタッグ60Gに入る 二のスタックを管理する回Vf
I M 63 n ′7:$+ Z+ 、該スタック管
理回路3’fl 63 Qけパス670を介l−てべ)
7 l・ルプロセy廿102(第11″ス1参照)から
のべ))1−ル命令読出要求信号I−、、lニー、、て
動作り、、 フ、9 ニア −’) 6 n 6ト(7
)へ47 ’(Jl/命告ヘーパフ9711−に送信オ
ろ5
各プクソ′)管理回路r;Q8,614.6’30てけ
命令かスタ・・ツクに入+7.ろ゛くなろど、そわぞオ
ーパスに8n、681,682を介し、て、命令管理回
v各601に命令送出抑11−を要求する。命令管理回
路601では、FF B D O内の命令と該送出押出
指示との間の関係を調へ、命令続出処理を要求し・てい
るスタックとFF60 Q内の命令タイプが一致し、て
いる場合は、主起憶装@109の命令続出処理を中断す
るようにディセーブル信号をパス683を介し7て、]
]ン1−ロールプロセッサ10の命令読出回路に送る。
第7図はコン1へロールプロセッサの命令デフ1−ダの
後処理部分の概酩ブロック図である。
コントロールプロセッサ101のための命令はパス66
7を介してスタック701にスタックされる。:のスタ
ック701はスタック管理回路702によってスタック
内の命令移行が管理されている。該命令移行動作は第6
図のフェイスジェネレータ607のBフェイズ出力信号
によって行わわる。該フェイズ信号はパス750を介し
、第7図の回路ブロックに送ら才lるものとする。セl
ツクタフ03は初期状態ではパス751を選択し、でい
るどする。従って、スタック70 ] :J−,の命令
けBフ工rブ11″f号に同期してスタック1−を移行
し、命令1ノジフタ704に格納さ41る。
命1= 1.′シフ97 CI 、4十の命令はテコ−
タフ05によ−、て解読さJI、ベクトル−1「1セツ
サ起動命令(FXVPi ベクトルプロセッサ状態チェ
ック開始命令(STVP)、オン、トびヘノノトル命令
と並t11τ実行τきる命令ど出来ない命令のIff界
を示す命令(11nT■Nn)どに分類さ才]る。
F X N、7 r’又はS T V rが解読さ11
だ場合、デコーダ7(15はスイソチンク回路706に
よって命令1ノジスタ704十の命令か第2命令Iノジ
スタ707t\移行するようにテータパスの接続を行う
よう制御する9第2命令1ノシスタ7071−の命令は
第2す1−タ゛708によ−〕てデコー1;され、べ′
ノドルーツ°「1セツサ102の起動又はチェック情報
が牛1+Qさ狛 パス75”4(Tlマ〕ノド信号どオ
ーダ又1」子−9信6を識別するため2重線で記述さ才
[ている)4介l、てベタトルーfr+セッサ102に
必要*、、!W示がろ゛さオ;ろ。二の1¥、テコ1−
夕705によ一、 −r Frr 7 n qが” l
”に七ノドされ、二の↑前傾かパス755を介し、て
セレクタ703に送られる。
一方、パス750を介し、て送られて来たB7エ、rズ
信号は第2フエ・rスジエネレータ710に入力さお、
Bフェイズをさらに分割したC、Dフエ、rスを生成す
る。C,D両フェイスは同時には生成さおない。ここで
1すCフェイズをスタック701」二の命令デコードに
使用し、Dフェイスを第2命令レジスタ707上のE
X V P又は5TVP命令のデコート処理に用いるも
のとする。今仮に第2命令レジスタ707にE X V
P命令が(8納されているとする。このときすでにF
F709け1′ビ′にセットさ汎て才jす、該FF70
9の出力はパス755を介し、てセレクタ703を動作
せしめ、パス752上のCフェイズ信号を選択し1てい
る。
一方、ベタ1〜ルプロセノサ+02に送られた起動又は
チェック情報は該ベクトルプロセッサ102に作用し5
.そのレスポンスがパス756を介してFF71]に送
ら第1る。ここではFF7]]のf直がLL D II
の場合、ベクトルプロセッサ指示が成功した二どを示し
,、1″″の場合失敗したてどを示すビする。FF7
1 1の値は比較回路71;)にトー1τ′″0″どJ
上申ンさ才する。
ーで′7′ー次の仮定を画く。セレ9タフ14け初期:
Ikfl?τ目パス753を;巽tRするどする,パス
75゛3にけI)7エ、、(ス信号か送I)、土lて来
るものとする。
!ヒdi’/回vII7 1 2 力出力はパス757
を介し、で。
n ”1 x 4ズ信号とA N D回部713で論理
積がどらt+.FF711の内容が0′″となー〕だ場
合でか−)n77、( スのとき、即ちE X V P
又けS T V P命令が実1:?さ4劃たタイミニ
ノブでFF709を″0′″にjl+・ノトオる一F
F 7 0 9が11 0 11にリセッ1へさ、lま
た場合、セ1ツクタフ03けパス751を再び選↑Hし
、、初期状態のようにB7エ、rズで命令のデコー1り
が行わオ(る− ニオ1に反し、AND回路713τ論
理積をどった結果,FF709か11セツトさi’L
l’i”、い40合 セ1〕))り703けパス75
2を選択[−、セ1ノテノタ714(土パス75コをI
I択する。即ち,C′7エイスでは命令スタック7 0
] −1−の命令移行か行わす」、111反のDフェ
イズでは第2命令レジスク7 07.1−(7]EXV
P又けS T V P命令処理か行わ才する。
Cフェイズ時、命令スタック701の命令けEXVP又
けS T V P命令を含まない。こわけベー′ノF・
ルプ「1セツサ102の起動を行った後に再び起動を行
ったり、直後にベクトルプロセッサ102の状態をチェ
ックする二とけ論理的に意味がないからである.もしE
X V Pによってベクトルプロセνす102の起動
を行い,数タイミング後に該ベクトルプロセッサ102
の状態を調べるような場合けS T V P命令の直前
にT3 0 U N r1命令を必要とする。この条件
の下に以下の説明が成立する二とになるー
Cフェイズ時、デコーダ705け命令Iノジスタ7 0
4 11の命令を解読し、スイッチング回路706に
よって、パス758と759を接続する。従−〕で、C
フェイズでは命令は命令1ノジスタ704から第3命令
1ノジスタ715に移される。第3命令レジスタ715
j−の命令は上記の条件よりEXVPとST V P命
令は含まれない。第31ノジスタ7 1 5)1の命令
はデコーダ716によって解析さ− :1G−
il.p,nTTNn命令の時に限りFF7 1 7が
′1″′じヤ・ソトさ:lする。FF7 1 7が′1
″′にセラ1へされる長二,パス760を介してセレク
タ7141オパス751”lど757を接続する。同時
にスタック管理回路702に命令の移行押上を指示する
。この処T!H ニより.T’lnTITrl命令が出
現し,た後,C, D7、x(スけ/111滅し,、B
7エイズで第2命令レジスタ707ヒのEXVP.ST
VP命令の実行が行わトろ。またFF7 1 7かパ1
”となった時点又はスタック管理回路702で命令スタ
ック701に新たへ・命令をスタックできなくなった時
点の画集(!Iの論理和がOR回路718でとI″Jわ
5命令送出抑+l−1’N示が一1ント・ロールプL1
セッ廿101の前段テ゛ー1ード回VfI(第6図)に
パス658を介して送1゛+ itろ,FF717のリ
セット−はベクトルプロセッサ102の1ノスポンプが
II n 11となるまで行われ内゛い、、該7+トソ
プフ「1ツブ717のリセットはAN D回路7]3の
出力にYリパス761を通して行わ4Iる。
一If、第;3命令1ノシスタ715J−の命令がB0
TJ N D命令以外の場合、FF717は゛′ビ′に
セットされず、当該Iノシスタ7151−の命令けCフ
ェイズタイミングでパス762上に送り出される。
パス762は汎用計算機と同様の命令デコード処理を行
うコントロールプロセッサ
回路に接続されている。
次に第8図乃至第10図を用いて,ページングプロセッ
サによる拡張記憶→主記憶データ転送動作についてη(
a明する。ページングプロセッサ107においては、局
所メモリ空間の部分集合の生成と再配置をローカルメモ
リとマーク1ノジスタを用いて行う。ローカルメモリと
は拡張記憶装置上のデータをロードする際、データを一
時的に保持するメモリのことであし)、二のローカルメ
モリー1−でセグメントのアクセスが局所的に連続にな
るようt二要素のならべ替えを行う作業領域の:とをい
う。
マークレジスタとはレジスタのビットが拡張記憶装置か
らロードしたデータの論理的な区切(たとえば語境界)
に対応し・、該区分がセグメントによってアクセス対象
となっている場合にマークレジスタの対応ビットが1″
′であり、アクセス対象でろ・い場合に” o ”とな
るデータ(以下このデータをマークという)を保持する
レジスタをいう。
第8図はページングプロセッサ107の拡張記憶装置へ
の11ク工スト生成部と読出されたデータをバッファリ
ングし,、マーク1ノジスタによる局所空間の再配置を
行う論理回路の概略ブロック図である。
第8図の論理回路が起動されると,パス850を介し7
てFF800に拡張記憶装置からロードすべきデータの
個数がセットさ1する。同時にパス851を介してカウ
ンタ801.802がリセットされ、カウンタ802に
は拡張記憶装置からロードする局所メモ+1空間の先頭
番地がセットされる。
カウンタ802け該先頭番地とFF803上の増分値を
毎クロツク加算し、、1ノジスタ823,パス853を
介し,て拡張記憶装置804ヘアドレスとして送る。第
8図には図面の簡約化のため、拡張記憶′JAW804
へ送る起動及び動作指示信号パスとそれに関する論理は
省かれている。
−39=
カウンタ801はカウンタ802と同期し,て動作1,
、増分値けFF821によりII I IIにとら第1
ている。該カウンタ801の出力はレジスタ822を介
し7比較回路805によって毎夕,rユング後比較され
、FF800のロードすべきデータ数との一致がとられ
ると、カウンタ801.802のカウントアツプ抑止が
レジスタ824、パス852を介し、で行われる,この
抑止はパス851からリセット指示が来るまで解除され
ない。
拡張記憶装置804にパス853を介してリクエストと
アドレスが送られた後,拡張記憶装置804から数十タ
イミング後アドバンス信号がパス854を介し・て送ら
れ、続いて読出されたデータがパス855を介り,で送
られる。ここでは説明を簡約fヒし,ページングプロセ
ッサの動作の基本的部分を明確にするため次の仮定を置
くことにする。
1℃ 拡張記憶装置のタイミングはページングプロセ
ッサの4倍の周期である。
(2) 拡張記憶装置へのIJグエストに対するレス
ポンスデータ111けページングプロセッサの処理テ一
タ巾の4倍である。
(′11 第8図は拡張記憶装着のタイミングで動作
し。
でいるが、点線で囲まれた部分はページングプロセッサ
のタイミングで動作する。
論理回路810はページングプロセッサのタイミングで
作動するサイクルカウンタで,値を0。
1、2,3,O・・・・・・のように周期的にとり,こ
の値をパス8 5 6」二に送る。セレクタ811けパ
スR56 1−の信号l二よって制御され、拡張記憶装
置804からD−ドされて+?FB + 2〜815上
に保持されているデータを逐次i!!!tR L−、結
果をパス857」二に送る。
一方マークテータはパス860を介して送られ、FF8
] 6にいったんラッチされた後、スタック817に
送られる。スタック817では拡張記憶”Ji 置8
0 4からのデータアドバンスが来るまでマークデータ
が保持される。第8図では図面の簡慴化のため,スタッ
ク817け2段しか示されていない。パス851にアド
バンスか来た後、スタック817中のクークデータけF
F8 1 1’lに移されるaFF818上のマークデ
ータも又FFl’l I 2へ・8151のデータと同
様セレクタ819に十−]τ升4 ’7 II ソり
l:i!ltl’i!が行わわ、パス8611m送られ
る。このマークデータは論理回路1’120の入力とな
り、マークか1″′ならば′パス857−t:の信号を
加工せずにパス862−):に送る。もしマークかtr
(I IIならけ入力テータに関係なくパス862上
のデータを” 0”とする
ここまでの処理によって、局所メモi1空間の部分集合
の再配置に関する準備が行われた二どになる。
第9図は第8図のパス862上のデータを、主記憶装置
に書込むため、mとびのアクセスを部分的に連続とする
ように一部のデータの順序を入替る処理を行い、かつ主
記憶装置の書込先のアト1ノスを生成する論理回路の概
略ブロック図である。
パス862上のデータは一度FF900にラッチされる
。次のタイミングでFF900のデータがパ0″″であ
るか否かのチェックが比較回路901でなされる。FF
900上のデータが170 IIでない時 パフ、!1
”、s 0.1−にバ11ノド信号か送り出され。
子−9が” n ”ろ・らげパス!180−ににバリッ
ドがjス出七11z、 論理回路902け、RAM書
込ポインタ!I n ’l、RAIV(読出ボ・rシタ
904、主記憶書i3ポrンタ905の作動と停車を制
御する管理回路τある8仮に管理回路1〕02のパス9
52 hの信号を・1ト込ポインタ個1作可どする。(
パス951(1パス!152,953,954の東線で
ある。)二の時、パス950トのバリフ1;信壮どパス
95′:!1・の許可信号けA N D回路906で論
理積がとt′I才j 井込ポインタ903のカラン1ヘ
アンプバリリドと九゛ろ 該カウントアツプバリッドか
生成さ11t−とき、書込ポ(ンタn03は、FF91
7の更新値によるカウントアツプを行い、RAM910
゜911の書込ア1〜lノスを牛T友する。RAM91
0 。
qll(士[1−カルメモリであり、次のように用い1
゛、狛ろ。
・1−1 け[
7, a large-scale program existing in the expanded storage device is executed on a plurality of main storage devices each having a smaller capacity than the expanded storage device. [Embodiment of the Invention] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the basics 1i1' of the vector processing device according to the present invention.
f IR, -1 control processor 101, vector processor 102, paging processor 107, and storage devices 10/I, 105, 109 . Expanded storage device 10
8. The switching circuits 103 and 106 are configured. A program that specifies vector processing is written using object code with the following structure. When a set of vector and scan instructions that make up a program specifies processing operations for data in a memory space that is different from other sets, the second set of instructions is called a segment. The data space pointed to by a set of instructions is called the local memory space. Many segments and local memory spaces defined in this manner can be found in scientific computing programs. For example, in the o-loop as follows, D○ 100 1
=1. N +00 A (T) = B (T) + C (T) r') O The sequence of vector instructions that constitute the loop is a segment, and the arrays A, B, C and r) 0 control variables T, N are The memory space it occupies is local memory space. Thus, programs can be defined by segments and local memory spaces. According to this definition, sufficient processing is necessary for program execution. Regarding the program PL in Figure 2, a-C segments are shown, T-a is an instruction to create a local memory space in the main memory where the segment will be borrowed, and STa is an instruction to create the memory space in expanded storage. Indicates instructions to be stored on the device.The same applies to segments a and b.A program consists of segments that specify data processing, local areas,
Although a program can consist of a memory space and instructions that manage that space, the program itself is also defined by segments and local memory space. This will be explained with respect to PIl in FIG. Here, in STb, the data processing is STh
Assume that it can be divided into before and after. This assumption is logically constructed based on the assumption that the program executes each component segment in order, so it is valid. STb
If the program division at the point is line -], then ① an instruction to rope ink the instruction group from the a instruction to the STb instruction onto the main memory, an instruction to store the instruction group in the extended memory 'JA location, and the progera 11 By defining instructions for instructing the execution of 1), the programmer 11 can be reduced to three types of operation definitions: loading, execution, and steps 1 to 7 of the program itself. This reduction is shown in program PI of FIG. The condensed program shown in 2 is a relatively small memo +
It can be held in one space until the execution of the program is completed. For scientific and technical calculations. A program cannot process itself, but if it performs more complex data processing in the future, it is possible that the program will transform itself. In such a case, the desired processing can be performed by placing an instruction for transforming the program itself next to an instruction for loading the program into the main memory. P2 in FIG. 2 shows the structure of a program that transforms this program itself. In P2, the α portion is a segment that deforms the procla 12α portion (this is composed of segments a and b). JTi, tb, as shown in Figure 2, the part that loads, edits, and stores the program into the main memory [Pro/7 RAM Kernel] , the portion that is subject to quotation by the Progera 11 kernel is called ``Program Bote, I''. In the vector processing device of FIG. 1, the program shown in FIG. 2F) is processed as follows. The controller 1 is initially placed on the expanded storage device 108. When the vector processing unit is started, the controller 1 is
The program processor 101 starts the paging processor 107 and loads the program kernel portion of P7 in FIG. 2 into the main storage device 109. After the T1 roll processor lot receives the rope ink completion report for the processor set 107,
Execution starts from the first instruction of the 01-digit program kernel section. The first instruction of the program kernel part is Progera 1
Since this is a command to load 1 body 7fα to the main memory, the second command loads the program [1η to 11] from the expanded storage 108 to the main memory 109.Next, the control processor 101 The program body loaded into the main memory 109 is modified according to the instruction from the section α and the next segment EX and E C indicate the instruction processing position of the control processor 101. ) is rewritten and control is transferred to the body of the progera 13. This operation is similar to an unconditional branch in a general-purpose computer. Since it is an instruction L a to perform a herotation, the control processor 101
Page processor 107. An instruction is given to the switching circuit 106 to load the local memory space of segment a on the extended storage device +08 to the main storage device 104 or 105. In this second example, it is assumed that the local memory space is allocated to the main storage device 104. Control processor 101 then executes the instructions in segment a under the control of cpsw. Assume that a VEG1HELL instruction appears in segment a. At this time, to Con 1, "1-Le Processor 101
The vector processor I n 2 and the switching circuit 103 are activated and instructed, and instructions are given to connect paths so that vector processing can be performed in the main storage device 104 on pairs 1-4. The vector command is read from the main memory 109 by the processor 101 and sent to the vector processor 102, where it has already been loaded into the main memory 10'I'. Vector processing is performed on the local memory space of ; While the vector circle is being executed in the vector loop 102, the -1 control processor 101 has no command to wait for the completion of the beta 1 hell processing immediately after the vector 1 hell instruction.
Executes the next instruction. Assume that the next command is a rope and ink instruction for the local memory space of segments l-h following segments 1-a to the main memory. At this time, 1 setter 101 switching times 7fj I n 6
, instructs the paging processor 107 to allocate the local memory space of segment b of the extended storage device 1081- to the main storage device 105. Gono r+ -=-1: The operation can be performed at the same time as the vector processing raccoon. In order to effectively use this function of simultaneous execution of row 1 operations to the main memory in the local memory space and the parallel processing, it is necessary to optimize the program body of the object code. The program 11 body part on the extended storage device initially has internal/structural information as shown in Figure 3a.In the program of Figure 3a, each segment executes its segment i. It has an instruction to allocate the local memory space necessary for the main memory to the main memory, and an instruction to store the result of the processing specified by the segment to the expanded storage. Since the raw processing unit instructs the sequential processing of loading the local memory space to the main memory, processing the data, and storing the processing results to the extended storage, performance cannot be expected to improve.The control processor 101 and the paging processor 102 In order to enable parallel operations between the two, the instruction string is divided into the following four types: ■ Instructions for data processing in the control processor (hereinafter referred to as C instructions) instruction (hereinafter referred to as P instruction) (j) 1 of the instructions (hereinafter referred to as CW instruction) to check the status of the paging processor in the control processor. It is loaded into the main memory 109 in FIG. It is determined whether the instruction is held in the control processor or sent to the paging processor.If the P instruction is held in the control processor, for example, if the paging processor is busy and the P instruction is If it is not accepted, if you wait for the control processor or page processor to finish, it will cause a serial state in the control processor's instruction decoding process. Even if the P instruction cannot be executed because the paging processor is busy, if the next instruction after the P instruction is logically executable, the next instruction is executed and the busy state of the paging processor is released. It is necessary to immediately execute the P instruction in the execution pending state.In order to perform this type of instruction overtaking, the instruction decoding process is divided into two systems of C9P instructions.However, the instruction execution of the control processor Since this cannot be executed conceptually like the code in Figure 3a, the code processing of both the C and P systems is time-sliced 1, and the commands are controlled to be executed alternately in a time-sharing manner. . With this control,
After executing the C instruction, the P instruction is started at a certain timing, and when the paging processor is released from the busy state, it is possible to immediately send paging information to the paging processor. Only L・
, this time-division decoding processing does not include any synchronization processing in the processing of instructions of both systems. For this reason, for paging as shown in FIG. 3A, a case may occur where the operation of a program that specifies serial processing is different from the one12=1'PI1-fJ-. For example, the third
In Figure a, when the P instruction ■, a is executed, if the time-sharing tick 1-1- processing is performed, the data processing of Se Gumen [-a starts even when the La instruction is not processed. It's been done and it's gone. In order to eliminate such inconvenience, CW. PW series instructions are required. Add this series of instructions [
7. New object code generated as shown in Figure 3 (1) on the right. The object code in Figure 3 assumes the following processing. (1) The paging processor has means for distinguishing between the local memory characters and the main memory to which they are to be loaded. -) When loading of the local space is completed, information indicating to which main storage device the data transfer has been completed is reported to the control processor. ) The main memory whose local memory space is ``l-'' is commanded as 1.2 and used according to the order of 2. 5 The ν column is an instruction for the 11 control processor. However, the instruction for the paging processor is also
Leverage processing is performed by the control processor. The object code having the structure shown in Figure 3 is executed as follows. First, the L a instruction in the μ column is decoded, and the paging processor is instructed to start transferring the local memory space required for segment a. At the next timing, TJn of column ν
The Ljll instruction is decoded, but since this instruction waits for the completion of data transfer to the main memory (1),
The next segment a in column ν is not executed. After a certain timing, the r-b instruction in the μ column is decoded. If the paging processor is busy at this time, this L b instruction will not be executed and will be held on the instruction stack. At the next timing, control shifts again to the ν-column command. At this time, the TJntill instruction is executed again, and the control processor waits for the paging processor to finish. When the paging processor completes the transfer of local memory space for segment a, the instruction on the instruction stack, ie Lll, is immediately executed when the control processor's control is over the instruction in the μ column. -1 n1
~ When the control of the roll processor is in the command column 1, TJltjll is executed, and the 2(h part is immediately completed L7
From the next timing, secnont a will be executed. In this state, at a certain time, the instruction in the μ column will be executed, and at the same time, the instruction in the ν column will be executed. When the instruction in column 71 reaches the W instruction (see Figure 3 i), μ
The decoding process of the instructions in the column is stopped until the Rel instruction is detected in the instruction column of the ν column.1. do. After the data processing of 1 cell or 1 cell is completed 1-2, the order in which the target local memory space is transferred to the extended storage device is determined by the W command of the worker. can be guaranteed. −
jr, ν column instructions are TJnti, ] after the Rel instruction.
2 instructions (I), the transfer of the local memory space to the main memory (2) has been completed, and if so, execution immediately moves to the next segment b. In Figure 3, IT is in column ν.
A series of n white 1 series commands or E is issued, but this causes S in the p column.
Since the instruction to transfer the local memory 11 space in the same main memory like the Ta, f-, and c instructions is not performed, the completion report from the paging processor = 15- corresponds to the fact that two instructions are sent at the same time. ing. FIG. 4 shows the busy status of the roll processor and paging processor in the object code 1 having the structure shown in FIG. 3 when it is executed by the object/raw processing device of the present invention. In Fig. 4, the dotted line represents 1 cell, way i, and time. As is clear from Fig. The control method between the control processor and the paging processor shown in L7 above also holds true between the vector processor activated by the control processor and the control processor. However, the vector processor has data processing characteristics that make it difficult to control the processor weight.The structure of the object code when this vector processor is controlled is described below. It is performed only within one segment 1~, and is not performed across multiple segments.If you think about it in the simplest way, it will have a structure like that shown in Figure 5a.
In FIG. 1A, the instructions in the ν1 column represent the vector instructions IJJ, , +l. Instructions other than the X little instruction are hereinafter referred to as scalar instructions. Control 1-role "This is an instruction to control the processor that is generated from the 1st processor, and a minimum 1st-order instruction sequence is required. Setup instruction to prepare for t2 > 7 reset command (called J゛〕, lower EX input 7p). -J, lower TVP). According to the three types of instruction system in 2-], =+n1-role ``One second instruction de:1-de changes the timing logic-and controls the vector processor. becomes possible.
Then, by the instruction shown in FIG.
Considering the operation of the processor, as is clear, the control of the processor is
■When the P instruction is reached, at that point the data processing of the =1-[1-le processor ends], TVPJ',
, the following scalar processing a-instruction sequence cannot be executed. This is the invalid time caused by adding one sensor to the control processor. is further subdivided into the following according to the type of data processing. Processing (hereinafter referred to as a7)
Processing) (Processing that must be performed after AI vector processing (hereinafter referred to as a, processing) r7j) Command to start checking the completion of solid 1 to 3 processing (hereinafter referred to as 5TVP) Condolences) a, processing, a4 processing Command indicating the boundary of (hereinafter referred to as Bn
rTNr1) When segment-a is reconfigured by the instructions shown in the above classification, Figure 5 is produced. The control of controllers 1 to 2 and the vector processor is as follows:
:fll series of instructions = 1 n i [] - le processor τ
Executed 1171. The EXVP command is = 1 nt ``1-proceno square τ child-1-de 41. Vector processing - move, Vegt I +, / life sequence is activated 1 The vector 1 is read out from the main memory 109 (see Figure 1) via the
Day 1-1. s i+execute]. a
. The series of instructions are asynchronously leveraged and executed by the control processor set r1.
By the T■P command, the phase of :I Trolp [1 senomasu child:"-Dosarkurke 2-] is 11 times before division.
In the first step, the data processing in the vector processor is completed, and the check is made as to whether or not the second σi ”
7. When the two series of commands are executed, the two are defined, and occupy the time between each other. If the cheater processing for 1 set is completed, the first phase is turned off. In the processing of the a7 instruction, if the BnuNn instruction is detected, the second phase disappears. By introducing the two-way de:1-toface, it is possible to check the completion of vector processing and at the same time execute part of the processing of the scalar instruction. -Loop [“Invalid time” caused by adding a vector processor to one setter]
can be minimized. 1! L I:, Although we have discussed minimizing the ineffective time for terminating solid 1-hell processing, exactly the same argument can be made for vector processor activation. Next, consider the location of the program. As mentioned above, the locations of the progera 11 and data are defined by the real addresses of the extended storage device l-. Naturally, the data processing procedure of the program is also described by the location. On the other hand, when loading the local memory Il space to the main memory and performing two data processes on this loaded new space, if the previous location makes it impossible to perform two data operations,
Set the local memory space to any address in main memory 1-+ -I
The control processor sends information indicating whether
20 = local/memo 11 space rl −1 command to deni 1−
``1 nt ``J-rupu''
1 set (Huff processing, vector processing of vector processor 1-F-1) Performs the memory access at 1 nos relocation that occurs. The 2nd located at 1 nos indicates the real address of the main memory. Therefore, 1 -torped processor, Vector Palp "7 de Inosuri""One -one shyon mechanism" It is possible to execute a program in the local memory space 4: The above discussion is based on paging program r: 1 session's local memo 11
It is only concerned with space management, and not with the structure of the local memory space itself.Vector processing involves performing uniform data processing on a specific data group, so scalar processing As in [order of processing]
Regarding the above data group, it is not necessarily necessary to guarantee the elements in the data group. Considering the following 110 loops, nO1001=1. ]OOO A (I) 2B (■) 10C (■) 100 C0NT To I TJ EΔ To 91~R elements in the order I+ 2+ 3+...R] Need to be calculated, 1 +' 3+ 2+ 4 + 5
+... may be the order. m = DO small loop described above In the same segment, there is a Q loop as follows, which is traced. nn 2nOT=1,999,2 n (T') = l"3 (T)*C(T')2 o
n CoNTT NTJE The latter DO small loop is different from the former loop. Access to C Beta 1 Hell is not continuous but discontinuous. Veg1Hell processing is a process that allows the pipeline arithmetic unit to perform take processing without interruption to improve processing speed.
It is more efficient to place operand takes at consecutive addresses than at non-consecutive addresses. If the B solid 1~le element is located as I 12131, the second [I cation is suitable only for the former solid 1~le processing of D○, but the former is suitable for the latter D○ processing. It's not quite suitable. but,
I,3,2.4,
5.7.6+ 8+a) yo-), the latter I]
○Kuru principle (Even in 2, it is continuous 7' nose: 1, take processing efficiency is 1 -. In no processing, the order of takes is guaranteed in vector] le processing. However, since it is white without access, the data processing efficiency will be lowered and the data processing efficiency will be lowered. If lIH exists, divide the array into m*n subsets by using m*n's fI1 plus 1]. Even if you perform an operation like ';jlt I#lnear',) you can separate the subsets that are pointers and separate them.
·stomach. The second separation operation L; The access to the old zowa within 5 minutes in 1 part is 1:17. fI: When loading the local memory space 1'Z in the extended storage device to the main memory (-1i IFi), it is recommended to rearrange the subset of the array in In the second step, we optimize the tiVt structure of the local memory space, and the plateau f of vector processing.
You should be able to do 2k. As f'8', the processing distribution is performed in 1 seso vectorp and 1 seso sweet, and the high speed of the vector processing device can be further improved. Optimizing by set relocation, loading the first subset that is not accessed into the main memory L, does not mean that the segment is not accessed.Loading the subset that will not be accessed into the main memory,
If not, the main memory 8 size will be smaller, but when writing the local memory space to the expanded storage device, the portion of the main memory that has not been accessed will be loaded prior to the write operation. It is necessary to read from the expanded storage device, perform the jψ operation for redistributing one subset, and write the result to the expanded storage device. Access to the expanded storage device is different from access to the main storage device, and is fast only when one type of access is continuous, so successive writes to the expanded storage device occur alternately as shown above. , the take transfer speed will drop significantly. Therefore, when a segment accesses and loads a subset of the missing local memory space into the main memory and writes it to the local memory space a: lij', l'jf3, the main memory Tongue 1.4! l1f
i: Access and rearrange part 1 j game! Perform the operation 11) to transfer the data to the storage device 1. J″l, 1 Perform segment processing of 1 graph 11, limit the information + lI of the main storage device rt to the local memo 11 space, or -) create memory space by rearranging a subset of the local memo + 1 space. To optimize the segment processing of
The large memory space required for each program's execution is 6 U21. The outline of the preprocessing part of the instruction decoder of fj control [1-rou/'r+set] in the Vedator processing device of the invention is [1]! This is Figure 7. In FIG. 6, the command is sent from the main memory 109 (see FIG. 1) to the flip-flop knob (hereinafter referred to as FF) 600 via path 650.The command of FF6001 is sent to the command management circuit. 601, the pacing processor ``J processor'', the T1 nt ``1-le processor,'' and the 91- loop ``l processor 1'' are classified as commands for the pacing processor 7 through the FF 602 for timing adjustment. r soting circuit 603
The instructions for the pacing processor are sent to the instruction stack 604, the instructions for the ML control processor are sent to the stack 605, and Betta 1 help [The command for 1 set is entered in the status 606. 608 is the command),
This is a circuit that manages instruction transfer in Taraino 60/l)
, the circuit operates during a specific phase defined by the phase generator 1 notaro 07. The following two phase r minks are called A face, and the commands entered in the stack 304 are 1.
The instruction enters register 609. The instruction 1 register 609
The above instructions are child-coded by the decoder 610 and classified into one local memory space rotor or store instruction, a wait instruction, and its pool instruction. In the case of a rotary/S1-A type instruction, use the selector 12-digit path 51, in the case of a wait instruction, use the path 652, and in the case of other instructions, use the path 653.
Select. -Jj Paging processor 107 (see Figure 1) state (1 pass n 5 ・I l '+ff4 L
TE F F 61] 11: (Stupid EIF main 11τ ai) 6'''2 paging group ``1 set or 1' sea I
I 'p is F F t; 11 The force state is "B" and 1.
Even in the case where τ is smaller than τ, it is assumed to be −”n”. In addition, the stack management circuit ('in8 ni ke pass 6!' i 5 right) [,
τ Opposite transition extrusion information 1"!, +', 41romono-oro-"l -l:・S For 1 to 7 series commands, selector 6
12 (''puff, [) 51 [355 connection right, so
Page solip "1st...) 107 is busy tlj
The l111, o-do or stgo' instruction remains in the instruction 1 register 609F. Pacisogep ``I'm busy at 107. I'm busy now, pub 651 and 6.''
The instruction transfer permission is given to the stack management circuit 608 via the path 65 (11), and the local memory space σ) read or store instruction is transferred to the paging processor +07 via the path 65 (i'j;r'Ii1). :g. Pagen at 1')) The command operation for the 1st setter 101 is related to the RE1 (release) command of the 1st setter 101, so it is The processing will be explained below.
After entering, the stack management circuit 614 manages instruction migration. The stack management circuit 614 ke phase shene 1 notaro 07 operates when A fue (generates 7 AIDS other than Z) [-1 (J!J, this phase below is called B face). Receive the type of instruction transfer extrusion instruction through paths 657 and 658. When there is no instruction, the stack 605 is transferred every time the instruction B phase is generated, and it enters the instruction register 613. On the instruction register 613 The instruction is decoded by the decoder 615, and in cases other than the R, E, and L instructions, '1' is set in the FF616.
This indicates that the control processor 101 is currently executing a segment of the program. TE:】-T6
15 is RET, when the command is decoded, FF615 ke II
n Reset to D. Main storage device f'ff in Figure 1
1ll') 4,105 consider the following state. (1) The local memory space in the main memory is [1-dogo11゜11soll-rl-loop [1 set and vector prostheno or l', %, river hit (I knee:) tW': 'E memory (=!21F' paging to f-1)
The paging processor 107 is in the state of the storage device 1i'! - The report is sent to the control processor 101. In Fig. 6, the path 660°6 (through 51 τ sol +) l main memory!X
Ji 1st page 10/l, 105 condition report is covered J't
, FF 620, 621 to 1 [Terasa Saisuruichi FF6. l! If the pagen'nozu Royale 107 is in the generate state, the 1st shift of pagen'nozu Royale 107 is in the generate state, 1"1 is in the 1 note state.If n 14. When the i + instruction is decoded, an instruction is given to the selector 622 to adjust the state of the main memory device 104 or 105, which is the main memory device 104 or 105, and the state of the FFI'i2Q cross 621 is changed to pass. 6
The data is sent to the selector 23 via 62v and 663. Se1 Noritaro 2, i'r-keTTntjl type command, pass [;6411111, 1dr+Iil type 1゛J
, 1itR is applied to the path 665 side when the instruction is outside. If the instruction LTntill is decoded by the decoder 615 and "]'" is located on the main storage device 104 side, one concatenation of paths 662.66/l and 657 is performed, and the FF62
A state of 0 is sent to the stack management circuit 6]4. At this time, if the content of the FF 620 is "1", the instruction transfer process of the stack management circuit 614 is pushed out 1 (, instruction register 6
13''-, the TJnt and jll instructions are retained. This instruction retention process is performed until the paging processor 107 becomes ready. Paging processor 107
When the is in the ready state, instruction transfer is performed, and pass 66
The instruction is sent to the next-stage instruction decoding section of the control processor 101 via 7. For songs other than those in the Until series, the selector 623 selects the path 665 side, so no command transfer instruction is issued to the stack management circuit 614.
Instructions are sent out on path 667, t: regardless of the state of paging processor 107. Returning again to the explanation of the instruction code processing by the paging processor 107. If the command is 09 to 11 engineering r1, the command is east, 7
-1-ta [;According to the instructions of 10, set 1))) Taro 12-digit pass ri! ”i:! Δ selection IR 2nd) Therefore, 11-1
To [1-Le Brosset...) Order for Sweet 101 RE■
, issued L@, limited to 1 set of 10
In the state of waiting for 7 commands, the command is issued at the end of segment processing, and the processing within one local memory space is 1r1-2! -f, 1 space is included in the extended storage device 108.
t)) It is guaranteed that the Into relationship is 11. The Beto 1 Tor command passes through the Su (Sochin 1) circuit 603. Enter stag 60G, manage the second stack Vf
I M 63 n'7: $+ Z+, via the stack management circuit 3' fl 63 Q path 670)
7 1-le instruction read request signal from 102 (see 11th section 1)) 1-le instruction read request signal (7)
) to 47' (Jl/Order sent to Hepuff 9711-5 each pukso') Management circuit r; Q8, 614.6' 30 Enter command or start +7. Of course, it requests the instruction management circuits 601 to suppress instruction sending 11- through the OPUS 8n, 681, and 682. The instruction management circuit 601 checks the relationship between the instruction in the FF BDO and the sending extrusion instruction, and determines that the stack requesting continuous instruction processing and the instruction type in the FF 60 Q match. In this case, a disable signal is sent via the path 683 to interrupt the instruction successive processing of the main memory @109.]
] to the instruction reading circuit of the 1-roll processor 10. FIG. 7 is a general block diagram of the post-processing portion of the instruction differential 1-der of the controller 1 roll processor. Instructions for control processor 101 pass 66
7 to the stack 701. The stack 701 of : is managed by a stack management circuit 702 to transfer instructions within the stack. The instruction transfer operation is the sixth
This is performed by the B phase output signal of the face generator 607 shown in the figure. It is assumed that the phase signal is sent to the circuit block of FIG. 7 via path 750. Cell
In the initial state, the Tsukutafu 03 selects the path 751 and inputs it. Therefore, the stack 1- is shifted in synchronization with the instruction number B of the stack 70]:J-, and is stored in the shifter 704 of the instruction 1. Instruction 1 = 1.' shift 97 CI, 40 commands are a lever
Tough 05 decoded JI, Vector-1 "1 setter activation instruction (FXVPi) Vector processor status check start instruction (STVP), ON, t11τ execution τ instruction as well as t11τ execution τ instruction IF. Commands that indicate the field (11nT■Nn) are classified as: F X N, 7 r' or S T V r is decoded 11
In the case of It is decoded by the second stage 708 and
The start or check information of the 1 setter 102 is written with double lines to identify the 1 + Q path 75 4 (Tl MA) throat signal order or 1 child - 9 signal 6. ) 4-year-old, required for Betatoru fr + Sessa 102*,,! W can't be shown. 2 no 1 yen, lever 1-
At 705 pm, -r Frr 7 n q” l
” and sent to the selector 703 via the second forward tilt path 755. On the other hand, the B7 and r signals sent via the path 750 are sent to the second forward tilt generator 710. Enter the
The B phase is further divided into C, D phase, and r phase. Both faces C and D are not generated at the same time. Here, the first C phase is used to decode the second instruction on the stack 701, and the D phase is used to decode the second instruction on the second instruction register 707.
It is assumed that this is used for decoding processing of XVP or 5TVP instructions. Now, if the second instruction register 707 is
Suppose that the P command has been stored (8).At this time, F
The FF70 is generally set to F709.
The output of signal 9 passes through path 755 and operates selector 703, which selects the C phase signal on path 752. On the other hand, the activation or check information sent to Beta 1 to Luprosenosa+02 acts on the vector processor 102.
.. The response is sent to the FF 71 via a path 756. Here, the f direction of FF7]] is LL D II
A value of 1'' indicates that the vector processor instruction was successful, and a value of 1'' indicates that the vector processor instruction was unsuccessful. FF7
1 The value of 1 is sent to the comparator circuit 71;
I'm sorry for the inconvenience. - and '7' - draw the following hypothesis. Sele 9 tough 14 ke initial stage:
Ikfl? Assume that the τ-th path 753 is sent by Tatsumi tR, and the path 75'3 is I) 7E, , (S signal is sent I), and SatI is sent. ! Hdi'/timesvII7 1 2 Force output is pass 757
Through and with. If the logical product of the 1 x 4 signal and the AND circuit 713 is t+.The content of FF 711 is 0''', then -) n77, (When S, that is, E
The S T V P command is actually 1:? Set FF709 to ``0'' with the tied mini knob that you turned.
If F 7 0 9 goes to reset 1 to 11 0 11, select the setter 03 path 751 again ↑H, and decode the instruction 1 at B7 and rs as in the initial state. Contrary to 1, as a result of calculating the AND circuit 713τ, FF 709 or 11 is set i'L
l'i", 40 go, 1))
Select 2 [-, Se1notenota 714 (Sat pass 75 pieces I
I choose. That is, in C'7 Ace, the instruction stack is 7 0
] In the D phase of 111, execute the command transition of -1-. 07.1-(7) EXV
P-straight S T V Executes P command processing. During the C phase, the instructions in the instruction stack 701 do not include the EXVP or STVP instructions. Kowakebe'no F.
This is because there is no logical meaning in starting up the vector processor 102 after starting up the vector processor 102 or checking the state of the vector processor 102 immediately after starting up the setter 102.
The vector processor ν102 is activated by XVP, and after several timings, the vector processor 102 is activated.
If you want to check the status of , you need the T3 0 U N r1 instruction immediately before the S T V P instruction. Under this condition, the following explanation holds: During the C phase, the decoder 705 and the instruction I register 70
4 decodes the 11 command and connects paths 758 and 759 by switching circuit 706. Follow-], C
In the phase, the instruction is transferred from the instruction 1 nozzle 704 to the third instruction 1 nozzle 715. Third instruction register 715
J- instructions do not include EXVP and STVP instructions due to the above conditions. The instruction of the 31st register 715)1 is analyzed by the decoder 716. Only when p, nTTNn instruction, FF7 1 7 is '1'''.FF7 1 7 is '1''
The selector 7141, the opus 751'', and the like 757 are connected via the path 760, which connects the selector 7141 and the selector 757 to the cell 1 through the path 760. At the same time, the stack management circuit 702 is instructed to move the instruction. This place T! From H d. After the T'lnTITrl instruction appears, C, D7,
EXVP.7 in the second instruction register 707. ST
The VP command is executed. Also FF7 1 7 or Pa 1
” or when the stack management circuit 702 can no longer stack a new instruction on the instruction stack 701, the OR circuit 718 outputs the logical sum of ! 'N is 11th rolep L1
In the first stage VfI (FIG. 6) of the first stage of the set 101, the reset of the FF 717 is carried out through the path 658 until the 1 node pump of the vector processor 102 reaches II n 11. Yes, the reset of the 7+tosopf 1 block 717 is performed through the Y repass 761 to the output of the AND circuit 7]3.
In cases other than the TJ ND instruction, the FF 717 is not set to 'BI', and the instruction of the relevant I/O sister 7151- is sent onto the path 762 at the C phase timing. A path 762 is connected to a control processor circuit that performs instruction decoding processing similar to that of a general-purpose computer. Next, using FIGS. 8 to 10, we will explain the data transfer operation from expanded storage to main memory by the paging processor η(
a. In the paging processor 107, a subset of the local memory space is generated and rearranged using the local memory and the mark 1 register. Local memory is a memory that temporarily holds data when loading data on an extended storage device.The local memory 1- is a memory that temporarily holds data when loading data on an extended storage device. The : of the work area where the sorting is to be performed. A mark register is a register bit that marks a logical delimitation (for example, a word boundary) of data loaded from extended storage.
Correspondingly, the corresponding bit in the mark register is 1'' if the segment is being accessed by a segment.
', and is a register that holds data that becomes "o" when it is not an access target (hereinafter, this data is referred to as a mark). FIG. 8 is a schematic block diagram of the paging processor 107's logic circuit for buffering read data and relocating the local space using the mark 1 register. When the logic circuit of FIG.
The number of data to be loaded from the extended storage device is set to 1 in the FF 800. At the same time, counters 801 and 802 are reset via path 851, and the starting address of the local memory+1 space to be loaded from the extended storage device is set in counter 802. The starting address of the counter 802 and the increment value on the FF 803 are added every clock, and the result is sent to the extended storage device 804 as an address via the 1 register 823 and the path 853. In order to simplify the drawing, FIG.
The activation and operation instruction signal paths to and associated logic have been omitted. −39= Counter 801 is synchronized with counter 802 and operates 1,
, the first value is taken from II II II by the incremental value FF821.
ing. The output of the counter 801 is compared every evening by the 7-comparison circuit 805 via the register 822, and when it matches the number of data to be loaded into the FF 800, the count up of the counters 801 and 802 is inhibited by the register 824, This inhibition, which is performed via path 852, is not released until a reset instruction is received from path 851. After the request and address are sent to the expanded storage device 804 via the path 853, an advance signal is sent from the expanded storage device 804 to the path 854 after several tens of timings, and then the read data is sent to the expanded storage device 804 via the path 855. Sent via intermediary. Here, the explanation will be simplified and the following assumptions will be made to clarify the basic part of the operation of the paging processor. 1°C Extended storage timing is four times the period of the paging processor. (2) The response data for the IJ request to the extended storage device is 111 times the processing data width of the paging processor. ('11 In Figure 8, the circuit operates at the timing of expansion memory installation. However, the part surrounded by dotted lines operates at the timing of the paging processor. The logic circuit 810 is a cycle counter that operates at the timing of the paging processor. The value is periodically taken as 0, 1, 2, 3, O, etc., and this value is sent to the path 856''2.It is controlled by the signal l2 of the selector 811 and the path R561-. , the data stored in +?FB+2 to 815 that has been D-coded from the extended storage device 804 is sequentially sent to the path 857''2.Meanwhile, the mark data is sent to the path 860. Sent via FF8
] 6 and then sent to the stack 817. In the stack 817, the extended memory "Ji"
The mark data is held until the data advance from 04 is received. In FIG. 8, only two stacks of stacks 817 are shown to simplify the drawing. After advance comes to path 851, cook data table F in stack 817
The mark data on aFF 818 transferred to F8 1 1'l is also transferred to FFl'l I 2. Similarly to the data of 8151, the mark data on aFF 818 is transferred to selector 819.
l:i! ltl'i! is performed, and path 8611m is sent. This mark data becomes an input to the logic circuit 1'120, and if the mark is 1'', the signal on the path 857-t: is sent to the path 862-): without processing.
(I II By setting the data on the path 862 to "0" regardless of the input data so far, preparations for relocation of the subset of the local memory i1 space have been completed. 9th In order to write the data on path 862 in FIG. 8 to the main memory, the figure performs processing to rearrange the order of some data so that m-separate accesses are partially continuous, and This is a schematic block diagram of a logic circuit that generates At1NOS as the writing destination of the device. The data on path 862 is once latched into FF900. At the next timing, it is determined whether the data in FF900 is PA0''''. A check is made in the comparison circuit 901.FF
When the data on 900 is not 170 II, puff! 1
``, s 0.1- is sent a bar 11 node signal. Child-9 is `` n '' low pass! !I n 'l, RAIV (readout port 904, main memory i3 porter 905 management circuit τ that controls the operation and stop 8 temporary management circuit 1) 02 path 9
The signal of 52 h can be used for one pointer including one pointer. (
Pass 951 (1 pass! It is the east line of 152,953,954.) At the second time, pass 950 to Balifu 1; Shinsodo pass 95':! The enable signal of 1 is generated in the A N D circuit 906, and the logical product is t'I. is FF91
Count up based on the updated value of 7 and store it in RAM910.
゜911's writing a1~lnos is a cow T friend. RAM91
0. qll (shi[1-cal memory, used as follows: 1
゛、Komaro.・1-1
【゛めR/1.19]nか書込対象どな
る。
(2) 当該RAMに書込めなくなると、管理回路9
02けRAへ4911を書込に使用するようにスイツチ
ング回路912に作用し、データパスの接続を行う。
tl)J−記■によって書込先のスイッチングが行われ
た時、すでにデータの書込まれたRAM9]0け読出対
象のRA、 Mとなり5続出が可能になるようなテ゛−
タパスの接続がスイッチング回路912で行われる。
■ 書込対象のR,AM911が書込めなくなると、項
番Q)と同様のRAMの切替が起る。
1)〜■のくりかえし・に於いて、第8図のFF818
のマークデータに゛0″が存在すると、書込ポインタ9
03の値の更新は、読出ポインタ904の値の更新より
も遅くなるが、書込読出RAMのバンクが異っているの
で両ポインタ間の比較は不要で、ある。RAM書込時、
書込バリッドが生成されるまで、書込対象データはFF
913に保持される。 ・
RAM910,911の読出は次のように行われる。管
理回路902によってパス952を介して読出ポインタ
904が起動されると、ページン=44−
グー/’rlセソ什のタイミング毎に該ポインタはFF
918の値で更新される。このポインタ904の出力値
は直接RAM’910.911を読出すためには用いr
゛+ itず、RAM9 ] O,!111を読出すア
ト1ノスを生成するための表が格納されているRA M
914を引用するためのアト1ノスとし、て用いられる
。二二で1才RAM914をアクセフ、するための各信
号の1ノベル変換回路は全て省略されている、二のRA
M914の弓I用に、上るR、AM910ヌ目91]目
間1]イントによって、]、2,3゜4.5・・・ 順
のように第8図の拡張記憶装置804力臼)、読出され
たデータを、1.3’、2./l、5・・・・のように
順序を一部変更し、て請出すことができる。この操作に
よa)拡張記憶装置−1−の実メモリ空間の構造と局所
メモリ空間の構造を一致させないで、局所メモリ空間を
サグメン1〜対応に最適なFT市に変換する二とが可能
になる。RAM9141−の変換テーブルの値は第矩図
の論理回路が起動さオ鵞ろ前にパス゛955を通し、で
イニシャライズしてオンく必要がある。このようにして
読出されたデ−タは2書込先の主記憶装置を管理し、て
いる論理回路915によって、スイッチング回路916
に指示が句、えられ、適切なパス960又け961が選
択される。ここでパス960,961は主記憶装置10
4,105 (第1図参照)へのデータバスである。R
AM続出ポインタ904で値がRAM914のメモリ範
囲を越えた場合、その報告がパス968を介して管理回
路902に行われる。
主記憶装置のアドレスは次のようにして生成される。主
記憶書込ポインタ905は、第9図の論理回路が起動さ
れた時、主記憶書込開始アドレスデータ96Gを介して
、イニシャルセットされる。
RAM続出ポインタ904が管理回路902によって起
動されるタイミンクと同期して、主記憶書込ポインタ9
05はFF9 + 9の値に従ってカウントアツプされ
る。生成された書込アドレスは。
レジスタ922.パス967を介し、てスイッチング回
路916に送られ、それぞれ対応する主記憶装置104
あるいは105ヘパス962.963を介して送られる
。ポインタ904と905け管理回路!″lO2を介り
、で同期し、て作動し、ている。
第10図はセグメントがアクセスし、f8−いメモリ空
間を主記憶装置10・1.105に格納するための論理
に関オろ概呻ブロック図である。
第8図のパス8571−のデータは第10図のFFIn
n11にラッチされる。第10図にオンいて、論理回路
1002は’R,A N、y書込ポインタ+003゜R
AM読読出ポインツタ1004主記憶書込ポインタ10
05の起動停止を制御する管理回路である。
初期状態では各ポインタは全てカウントアツプ可能ろ・
状態どする。FF100Oにデータがセラ1〜さ才1ろ
時、書込ポイ〕ツタカウントアツプのためのバリッド信
号かパス9804こに送出されている。
該z<リッド信号とパスI O521=のカウントアツ
プ可信吐けAND回路1008で論理積がとらh 、書
込カウンタ1003に入力される。同時に管理回路10
02けRAM I OI O又は1011に対15てデ
ータ書込可能なようにスイッチング回路100Gに作用
し、データパス1055と書込対象のRA Mどの接続
を行う。FFl0f’)1は」ニー・17−
記の処理のためのデータの保持に置かれている。
2つのRAMl0IO,If)11の使用法は前述のセ
グメントアクセスの行われる局所メモリ空間の場合と同
様である。
RAM読出ポインタ1004の起動は管理回路1002
からパス】051を介して行われ、すでに書込まれてい
るRAMの続出アドレスを生成する。該続出アドレスは
レジスタ1056を経てスイッチング回路1006を介
し、てRAM1.0IOあるいは+011をアへセスす
る。RAMl0IOあるいは1011から読出されたデ
ータはスイッチ:ノブ回路1007によって、データを
書込むべき主記憶装置+04あるいは105ヘパス10
60又は1061を介して送られる。データを書込む主
記憶アドレスは書込ポインタ1005によって生成され
る。該ポインタは管理回路1002によって起動される
が、カウントアツプを開始する以前にパス1057を介
し・て、データを格納すべき主記憶装置上の領域の先頭
番地をセットしておく必要がある。主記憶装置書込ポイ
ンタ1005けRA M if?、出ポ、インタ100
4ど同期し、て作動[゛MeR/1.19] What happens to n or the writing target? (2) When it becomes impossible to write to the RAM, the management circuit 9
It acts on the switching circuit 912 to use 4911 for writing to 02 RA, and connects the data path. tl) When the writing destination is switched by writing J-■, RAM 9 to which data has already been written is set to 0, RA becomes M, and 5 successive outputs become possible.
Tapas connections are made in switching circuit 912. (2) When it becomes impossible to write to R and AM911 to be written to, the same RAM switching as in item number Q) occurs. 1) In repeating ~■, FF818 in Figure 8
If "0" exists in the mark data, the write pointer 9
Updating the value of 03 is slower than updating the value of read pointer 904, but since the banks of the write/read RAM are different, there is no need to compare the two pointers. When writing to RAM,
The data to be written is FF until write valid is generated.
913. - Reading from RAMs 910 and 911 is performed as follows. When the read pointer 904 is activated by the management circuit 902 via the path 952, the pointer is set to FF at every timing of paging=44-g/'rl seso.
It is updated with a value of 918. The output value of this pointer 904 is used to directly read RAM'910.911.
゛+ itzu, RAM9] O,! RAM in which the table for generating At1nos for reading 111 is stored
It is used as an atnos to cite 914. The 1 novel conversion circuit for each signal to access the 1 year old RAM 914 in 22 is all omitted, the 2 RA
For the bow I of M914, go up R, AM910 nu 91] 1] int, ], 2, 3° 4.5... As in the order of expansion storage device 804 in Fig. 8), The read data is 1.3', 2. /l, 5, etc. You can partially change the order and request it. This operation makes it possible to a) convert the local memory space into the optimal FT city for sagmen 1 to 2 without making the structure of the real memory space of extended storage device-1 match the structure of the local memory space; Become. The values in the conversion table in RAM 9141- must be initialized and turned on through path 955 before the logic circuit shown in the rectangular diagram is activated. The data read in this way is processed by a switching circuit 916 by a logic circuit 915 that manages the main storage device to which the data is written.
An instruction is then given to select the appropriate path 960 and 961. Here, paths 960 and 961 are the main storage device 10.
4,105 (see Figure 1). R
If the value in the AM successive pointer 904 exceeds the memory range of the RAM 914, a report thereof is sent to the management circuit 902 via a path 968. The main memory address is generated as follows. Main memory write pointer 905 is initialized via main memory write start address data 96G when the logic circuit of FIG. 9 is activated. In synchronization with the timing when the RAM successive pointer 904 is activated by the management circuit 902, the main memory write pointer 9
05 is counted up according to the value of FF9+9. The generated write address is. Register 922. are sent to the switching circuit 916 via the path 967, and are sent to the corresponding main memory device 104.
Or sent via 962.963 to 105. Pointer 904 and 905 management circuit! Figure 10 shows the logic for the segments to access and store the memory space in main memory 10.1.105. This is a general block diagram. The data of path 8571- in FIG.
It is latched to n11. 10, the logic circuit 1002 is 'R, A N, y write pointer +003°R
AM read read pointer 1004 main memory write pointer 10
This is a management circuit that controls starting and stopping of 05. In the initial state, all pointers can be counted up.
What's the condition? When data is stored in the FF 1000 from cell number 1 to cell number 1, a valid signal is sent to the path 9804 for counting up the writing point. The AND circuit 1008 performs a logical product of the z<lid signal and the path IO521=, and inputs the result to the write counter 1003. At the same time, the management circuit 10
It acts on the switching circuit 100G so that data can be written to the 02 RAM I OI O or 1011, and connects the data path 1055 to the RAM to be written. FF10f')1 is placed to hold data for the processing described in Section 17-1. The usage of the two RAMs 10IO, If) 11 is the same as in the case of the local memory space where segment access is performed as described above. The RAM read pointer 1004 is activated by the management circuit 1002.
051 to generate a subsequent address for the RAM that has already been written. The subsequent address passes through the register 1056 and the switching circuit 1006 to access RAM 1.0IO or +011. The data read from RAM10IO or 1011 is transferred to the main memory +04 or 105 by a switch/knob circuit 1007.
60 or 1061. The main memory address at which data is written is generated by the write pointer 1005. The pointer is started by the management circuit 1002, but before starting counting up, it is necessary to set the starting address of the area on the main memory where data is to be stored via the path 1057. Main memory write pointer 1005 RAM if? , Depo, Inter 100
4. Sync and operate
【−・ている、生成された主記憶書
込アト1ノスはレジスタI n + 7.パス1058
を通ってス・(ツチング回路1007に送l二、オl、
十記憶装置10/l、105の書込読11−を管理し、
でいる管理回路915(第9図)に上って、書込先の主
記憶装置が選択され、パス1062又け1063上にア
ドレスデータどり、で送り出さ才する。
次にページジングプロセッサの主起憶装り上の局所ス干
II空間の拡張記憶装置へのストア動作に−)いて、第
11図、第12図を用いてi+h明する。
第11図は局所メモリ空間内のセグメン1へで参照さ才
jろ部分集合内のデータのならべ替えを行う部分の[略
ブ[lツク図である。第11図において、主記憶装置1
04あるいけ+05から読出されたデータは、該データ
の有効性を示すバリッド信号とともにそi+ぞわパス1
152.1150又は1153.1151を経由し、て
スイッチング回路1102又け1101の入力となる。
−jf、ページングブロセノサが現在アクセスを行って
いる主記憶装置の番号を管理する論理回路1100があ
る。
該管理回路1100の内容はパス1154を介してスイ
ッチング回路1101.1102に作用し5、ページン
グプロセッサのアクセスし7ている側の主記憶装置との
データバスの結合を行う。この結合によって5バリッド
信号はパス]]55.J−に、データはパス1159ト
に送出される。論理回vfS]104.1105はそt
ぞtl、 RA M書込ポインタ、読出ポインタである
。こわらのポインタは管理回路1106によってパス1
156.1157を介し・で制御される。初期状態では
ポインタ1104はカウントアツプ可能状態即ち、パス
+157−1の信号値が″ビ′とする。:のときパスl
l 554二のバリッド信号け、へNn回路1103
で論理積がと#)れ、RAM書込ポインタ1104をF
FIIIGの値に従ってカウント・アップする、この動
作によ11、主記憶装置からのデータの到着と同期し7
てR’A M書込アトIノスが生成される。
第11図において、1110と1111はRAMを示す
。この2つの’RAMの使用法は第9図におけるRAM
n 10と911と同様であって、管理回FIR+ 1
06によるスイッチング回路1112゜1113へのパ
ス結合指示によって、R,AM+110.1111のど
ちらか一方が書込に用いられ。
他方か読出に用いられる。該当RAM への書込が終了
すると、管理回路1106け読出ポインタ1105を起
動する。該ポインタ+105はFF1117の値に従っ
て毎クロックカウントアツプされるか、このポインタの
出力はレジスタ1120を介り、、RAM]]14を引
用するためのアドレスと6・ろ。RAM +、 ] ]
/lを引用し、た結果は、読出対象どなっているR
A F14即ち1110又は1111のア1くレスとな
る。二の間接的なアドレス生成により、局所空間内での
データのならべ替えをRAMの記憶容量の範囲で行うこ
とができる。このようにし、てデータのならべ替えを行
った結果はパス116(ml−に送出さ才lろ。一方読
出ポインタ1105の内容のカウントアツプ毎にバリッ
ド信号がパス+1611−に送出される。該読出バリッ
ドけFF]I5で必要な遅延処理が行われた後パス11
621上に送出される。
以上の処理は、局所、メモリ空間内のセグメント・がア
クセスを行う部分集合について成立する。セグメントの
アクセスが行われない部分集合については、読出ポイン
タ1105の値が直接RAM1110.1111の読出
アドレスとなるような論理回路によって主記憶装置の読
出が行われる。この部分はRAMl11/1部分を除い
て第11図と同じ、なので省略されている。
このようにして、主記憶装置から請出したデータとバリ
ッドは、次の論理回路においてセグメントアクセスを行
う部分集合と行わない集合との併合処理が行われる。こ
の時、2つの部分集合を主記憶装置から読出す際、同し
ピッチで読出すと、セグメントアクセスがどちらか一方
の部分集合に片よっている場合、遅いピッチの読出デー
タが次段の論理回路内でぶつかりを生ずる。このため主
記憶装置からの局所メモリ空間の続出を次段の論理回路
の正常動作のために制御する必要がある。
このために設けられているのがパス1170である。二
のパスI+70..I−に有意な指示即ち主記憶装置か
らの続出を一時中断するような要求が来た場合、二の指
示は主記憶装置の読出論理回路の動作を中断させるとと
もに、ポインタ管理回路1106に作用し1、パス11
58.] 157.1156を介17て書込、続出ポイ
ンタの動作を中断させる。
第12図は第11図によって生成された読出バ11ツド
とデータ信号を貯え、ページングプロセッサと拡張記憶
装置とのタイミングの相異の一致をとるとどもに、マー
ク1ノジスタを使用してセグメ:ノl−7クセスの有無
によって局所メモリ空間の部分集合の再配置を行った操
作の逆操作を行う論理回路の慨酩ブロック図である。
第12図によ1いて、パス] 162上のバリッド信呼
はスタック管理回路1200に入力される。
該スタック管理回路1200は、データスタック120
2内のデータ移行をバリッド信号の到着によって管理し
、でいる。ここではスタック管理回路1200とスタッ
ク1202を局所メモリ空間の部分集合のうち、セグメ
ン1へアクセスか行われる部分の読出に関するものとす
る。同様にスタック管理回路1201とスタック120
3をセグメントアクセスの行われない部分の読出に関す
るものとする。
第12図において、マークデータはパス1250を介し
てスタック1204にいったんラッチされ、後にマーク
レジスタ1205に格納される。
サイクリックカウンタ1206はこのマークレジスタ1
205を順次引用し、1202又は1203のどちらの
スタックからのデータを引用すべきかを決定する。この
引用情報はパス1251を経由して、スタック管理回路
1200,1201、スイッチング回路1207に伝え
られる。スタック1202.1203に入るデータのピ
ッチと。
その引用ピッチは同期していないので、スタックが一杯
になることが起りうる。この時、管理回路+200.1
.201はパス1170又は1252を介してデータを
送出している論理回路に送出の中断を指示する。
スイッチング回路1207によって選択されたデータは
スタック1209に格納される。該スタック1209内
のデータの移行を管理する回路が第2スタック管理回路
1208である。この管理回路1208は、スイッチン
タ゛回路1207から送出されるパス+ 253、−.
1−のバリッド信号によってスタツイノ+ 209−ヒ
のデータの移行を管理するとIt、に、バリッドが4個
分受信し、で、スタック1209が・杯にろ・ろと、ノ
、タック内の全データを同時に1ノジスタ1210へ移
行させる。このバリッドを4す−)管理するのけ、ベー
シングプロセッサのタイミングが拡張記憶装置のそれの
1/4同期であることから来ている。
−・方スイッチン9回路1207からパス12531−
に出力さ才lているバリン1へ信号は、サイクル力1ノ
ンタ1211によって1/4のバリッドに減しIE、れ
パス+ 254、.11に送出されろ。このパスI25
/1.1−のバリン1−けレジスタ1210にデータ
がセソ1〜されろ夕・rミンクに同期し2ている。それ
故、拡張記憶装置に1ノジスタ1210の出力をそのま
まデータとして送出することができる。
次に前述のページングプロセッサの説明で用いられてい
る局所メモリ空間における部分集合再配置とセグメント
アクセスの有無の関係、論理回路にデータとして与えら
れるマークデータ、データの順序入替のためのRAM
(たとえば第9図のRAM914)の初期情報l二つい
て説明する。これらの情報は本発明のベクトル処理装置
上で動作させられるソフトウェアに関するものであるが
、第8図乃至第12図の論理回路動作に密接に関連して
いるのでここで説明する。
プログラムはセグメント化された直後、局所メモリ空間
は第13図aのような構成になっている。
第13図aにおいて、各部分集合A、B、Cはそれぞれ
連続アクセスを行うステーメントのデータ、2とびの非
連続アクセスを行うステートメントのデータ、連続と2
とびの両方のアクセスを行うステーメントの部分集合と
する。この局所メモリ空間を最適に構成するために次の
ような操作を行う。
■ 部分集合は拡張記憶装置からそのまま主記憶装置へ
子′−タ転送を行う。
QI 量分焦合Bは、セグメントでデータ処理を行う
ために必要な部分とそうでない部分とが交互に存在[て
いる。従って、1,0,1.O・・・・又けO,I、n
、] ・・・・のよう内・パターンのマークデータを
用意すオ+lf、Re台をセグメントアクセス、の行わ
れるB1集合と、7クセスの行わt’L Pa:いB7
集合とに分離する二とができる。
項番中どの相異は、このマークデータのみで他のデータ
たとえば拡張記憶装置又は主記憶装置上の読出又は書込
の先頭番地の管理については同様の処理でよい。この時
、B、集合はB、沖合の直後に置く。この部分集合の再
配置によって、2どびの非連続アクセスが連続アクセス
に変る。てtlけブ[1グラム自身の修正を意味する。
このような場合も、先に説明したように、プロツノラム
自身を修正し7てベクトル処理を行う:ことが1本発明
のベクトル処理装置では可能である。
tg+ 部分集合Cはベタ1〜ル処理の特徴である、
演算順序を入替えても結果が変わらないことを利用して
、2の剰余かOであるデータと1であろ子−夕を対にI
−てfJ′らへろような主記憶構成どする。二の上うな
集合をC′で表示する。例を、+7】げろど I、3,
2,4.5,7,6,8゜のような番地づけの主記憶装
置1−の部分集合かぞJlに11する。この、ような番
地−5げにより2どびの非連続7′ノセスは常に非連続
なのではなく部分的に連続とね・る。ての構成の主記憶
装置に対し、ては非連続7リセスのプログラム部を項番
l四重と同K(n正する必要がある。ただし連続ア′ノ
セスめプ「1ゲ→ム部分については修正の必要か7’、
、い。
1・記のクロき番地っけを行った局所メモリ空間を生成
するには5たどえげ第9図のRA M 911にl、3
,2,4.・・・のようなデータ(アドレス)をセット
−すればよい。
以トのようにし、て再構成された局所メモリ空間の概要
を第13図すに示す。マークデー勺お上びデータ順序入
替データは、それらをセノ1へするようろ・命令をコン
1へロールプロセッサに設置−1乙、Lつな1段で実現
する二とかできろ。
次に−lント「1−ルブロセソサ士jよびベタ1−ル−
j11セツサの主記憶装置に対するり[1ケーシヨ゛)
に−)いr説明オろ9局所゛メモリ空間の再構成tN行
h f+’lけ41;↑ リ[1ケーシヨンは各セグメ
ンI・(rn、 111甲(、”fに ・笛的に定−冷
さ才1、各プロセッサか’:+ (hlj p)ニスド
ア1・1ノフ、に定数を加算すれは、目的どする1f記
憶装百1−のアト1ノスを求めるこ1・かできる−局所
′メモリ空間の再構成を行った!4合て11.第13図
1)の上うに部分集合の境界4変え/I・い範囲てあl
′L、 tl、局所メモリ空間の再1清1ノ(をtrわ
ろ・い場合ど同様ち・リロケーション処理々を斤うてと
かできる。
r発明の効qシ〕
本発明にkttば、拡張記憶装置の容量ど同1ご寸−タ
のメモ11空間を必要とする大規模なプロ′ノ→ノ、の
べ′ノ1〜ル処理が可能となる。拡張記憶゛(に開目)
τ記憶ヤi[ご上りも遅いサイクルタ(ムのメモ1j素
了てtlW 1+9可能であ−って、大容鼠の上記憶装
間を・\コ、7トルクル理装置に実装するよりも経済的
に有利になる。拡張記憶装置のサイクルタイムの遅いメ
モリ素子採用によるデータ転送速度の低下は、ページン
グプロセッサの処理に上り拡張記憶装置へのアクセスを
連続アクセスとする二と1士ンよびデータ転送11を大
きくとりインタリーブ数を多くとることにより、該デー
タ転送速度の低下を補うことができる。
複数の主記憶装置を具備することによる経済的不利は、
現在の科学技術計算の実務から予測する限り無視できる
。すなわち、2次元又は3次元測微分方程式を解く場合
、有限要素法などで離散化する際、104オーダの節点
をとる二とが多い。このときデータlJを4〜8Bとす
ると、作業配列を使用し7たとし、ても、160Kr3
オーダのメモリで1つのDo処理を行うことができる。
1セグメントを数個のDO処理とし。
各配列間で共通に使用する配列がない場合を仮定しても
1つの主記憶装置は2MB以下で十分である。こトに対
し1、拡張記憶装置は数百MBのオーダであるから、容
量的には主記憶装置け拡張記憶装置の10−2のオーダ
である。従って複数の主記憶装置をベクトル処理装置に
実装する経済的損失は無視し、うる。
本発明のベタ1ヘル処理装置では、コン1−ロールプ[
1セソ什、ベタ1−ルプロセッ什、ページン9′プロセ
ッサを並行し、て動作させるための種々の命令か定着で
き、かつ、その命令の制御をハードウェアで行うので、
3種部のプロセッサをMi列作動させるためのロスタイ
ムは罹小化される。[−・The generated main memory write at 1 nos is the register I n + 7. pass 1058
through the switching circuit 1007.
(10) Manages writing/reading 11- of storage device 10/l, 105;
The main storage device to be written to is selected by the management circuit 915 (FIG. 9), and the address data is sent out on the path 1062 and 1063. Next, the operation of storing the local memory space on the main memory of the paging processor into the expanded storage device will be explained using FIGS. 11 and 12. FIG. 11 is an approximate block diagram of a part that performs sorting of data in a subset of the local memory space when referenced to segment 1. In FIG. 11, main storage device 1
The data read from 04 or Ike+05 is sent to Soi+Zowa path 1 along with a valid signal indicating the validity of the data.
It passes through 152.1150 or 1153.1151 and becomes an input to the switching circuit 1102 and 1101. -jf, there is a logic circuit 1100 that manages the number of the main memory device currently being accessed by the paging brothenosa. The contents of the management circuit 1100 act on switching circuits 1101 and 1102 via a path 1154, thereby establishing a data bus connection with the main memory device being accessed by the paging processor. Through this combination, 5 valid signals pass]]55. J-, the data is sent out on path 1159. Logical time vfS] 104.1105 is
These are the RAM write pointer and read pointer. The Kowara pointer is set to pass 1 by the management circuit 1106.
156.1157. In the initial state, the pointer 1104 is in a count-up enabled state, that is, when the signal value of the path +157-1 is ``bit''.
l 554 2nd valid signal to Nn circuit 1103
The AND is done with #), and the RAM write pointer 1104 is set to F.
This operation counts up according to the value of FIIIG11 and synchronizes with the arrival of data from main memory7.
The R'AM write at Inos is generated. In FIG. 11, 1110 and 1111 indicate RAMs. The usage of these two 'RAMs is shown in Figure 9.
Same as n 10 and 911, management times FIR + 1
According to the path coupling instruction to the switching circuits 1112 and 1113 by 06, either R or AM+110 or 1111 is used for writing. The other is used for reading. When writing to the corresponding RAM is completed, the management circuit 1106 activates the read pointer 1105. The pointer +105 is counted up every clock according to the value of the FF 1117, or the output of this pointer is passed through the register 1120, and is the address for quoting the RAM]]14. RAM +, ] ]
/l and the result is the read target R
A F14, ie address 1110 or 1111. By the second indirect address generation, data can be rearranged within the local space within the storage capacity of the RAM. In this way, the result of rearranging the data is sent to the path 116 (ml-). On the other hand, every time the contents of the read pointer 1105 count up, a valid signal is sent to the path +1611-. Valid FF] Pass 11 after necessary delay processing is performed in I5
621. The above processing holds true for a subset that is accessed locally by a segment in the memory space. For a subset whose segments are not accessed, reading from the main memory is performed by a logic circuit such that the value of the read pointer 1105 directly becomes the read address of the RAMs 1110 and 1111. This part is the same as in FIG. 11 except for the RAM11/1 part, so it is omitted. In this way, the data and valid retrieved from the main memory are merged into a subset to which segment access is performed and a set to which segment access is not performed in the next logic circuit. At this time, when reading two subsets from the main memory, if they are read at the same pitch, if segment access is biased to one of the subsets, the read data with the slower pitch will be read out to the next stage logic circuit. This causes conflict within the body. For this reason, it is necessary to control successive access of local memory space from the main memory for normal operation of the next stage logic circuit. A path 1170 is provided for this purpose. Second pass I+70. .. When a significant instruction, that is, a request to temporarily suspend successive reading from the main memory, comes to I-, the second instruction interrupts the operation of the read logic circuit of the main memory and acts on the pointer management circuit 1106. 1. Pass 11
58. ] 157. Write via 1156 to interrupt the operation of the successive pointer. FIG. 12 stores the readout signal and data signal generated by FIG. 11, matches the timing differences between the paging processor and the expansion storage device, and uses the Mark 1 register to segment the data: FIG. 7 is a schematic block diagram of a logic circuit that performs the inverse operation of rearranging a subset of a local memory space depending on the presence or absence of a No. 1-7 access. According to FIG. 12, valid calls on path 162 are input to stack management circuit 1200. The stack management circuit 1200 controls the data stack 120
Data migration within 2 is managed by the arrival of a valid signal. Here, it is assumed that the stack management circuit 1200 and the stack 1202 are related to reading a portion of a subset of the local memory space in which segment 1 is accessed. Similarly, the stack management circuit 1201 and the stack 120
3 relates to reading of a portion where segment access is not performed. In FIG. 12, mark data is once latched in stack 1204 via path 1250 and later stored in mark register 1205. The cyclic counter 1206 uses this mark register 1.
205 are sequentially quoted, and it is determined whether data from the stack 1202 or 1203 should be quoted. This quotation information is transmitted to the stack management circuits 1200 and 1201 and the switching circuit 1207 via a path 1251. and the pitch of the data going into the stacks 1202, 1203. Since the quote pitches are not synchronized, it is possible for the stack to become full. At this time, the management circuit +200.1
.. 201 instructs the logic circuit that is sending data via path 1170 or 1252 to interrupt the sending. Data selected by switching circuit 1207 is stored in stack 1209. A circuit that manages data migration within the stack 1209 is a second stack management circuit 1208. This management circuit 1208 receives the paths +253, -.
When the data migration of Statuino + 209-hi is managed by the valid signal of 1-, four valid data are received, and the stack 1209 is filled with all the data in the tack. is transferred to the 1-no register 1210 at the same time. The reason for managing this validity comes from the fact that the timing of the basing processor is 1/4 synchronous with that of the expanded storage device. - Path from switch 9 circuit 1207 to path 12531-
The signal outputted to Barin 1 is reduced to 1/4 valid by the cycle force 1 nonta 1211, and is passed to IE, +254, . Be sent to 11. This path I25
/1.1- data is stored in the register 1210 of the register 1210 in synchronization with the signal 1210. Therefore, the output of the 1-no register 1210 can be sent as data to the extended storage device. Next, we will discuss the relationship between subset relocation and segment access in the local memory space used in the explanation of the paging processor described above, mark data given as data to logic circuits, and RAM for rearranging the order of data.
(For example, the RAM 914 in FIG. 9) will be described using two pieces of initial information. These pieces of information relate to the software operated on the vector processing device of the present invention, and will be explained here because they are closely related to the logic circuit operations shown in FIGS. 8 to 12. Immediately after the program is segmented, the local memory space has a configuration as shown in FIG. 13a. In FIG. 13a, each subset A, B, and C are the data of a statement that is accessed consecutively, the data of a statement that is accessed two times non-successively, and the data of a statement that is accessed consecutively and two
A subset of statements that performs both jump and jump accesses. The following operations are performed to optimally configure this local memory space. (2) The subset is transferred directly from the expanded storage to the main storage. In the QI quantity focus B, parts necessary for data processing in the segment and parts not necessary exist alternately. Therefore, 1,0,1. O...over O, I, n
,] ...Prepare the mark data of the inner pattern as shown in B1 set where segment access is performed on O + LF and Re units, and 7 accesses are performed t'L Pa:I B7
The set and the two that are separated into the two are created. Regarding the differences among the item numbers, the same process may be used to manage other data, such as the starting address for reading or writing on the extended storage device or the main storage device, with only this mark data. At this time, B, set, is placed immediately after B, offshore. This rearrangement of the subset turns two non-consecutive accesses into continuous accesses. tetl kebu [means modification of one gram itself. Even in such a case, the vector processing device of the present invention allows vector processing to be performed by modifying the protonorum itself, as described above. tg+ Subset C is a feature of Beta 1~R processing,
Taking advantage of the fact that the result does not change even if the order of operations is swapped, we can combine the data that is the remainder of 2 or O with the data that is 1 and set it as I.
-The main memory structure is as follows: fJ'. The second set is denoted by C'. For example, +7] Gerodo I, 3,
2, 4.5, 7, 6, 8 degrees, etc., to a subset of the main memory 1-Jl. Due to this address -5, two discontinuous 7' noses are not always discontinuous, but are partially continuous. For a main memory device with a configuration of Is it necessary to modify 7'?
,stomach. 1. To generate a local memory space with the black address shown in the table, add l, 3 to the RAM 911 in Figure 9.
, 2, 4. All you have to do is set the data (address) like... An overview of the local memory space reconstructed as described above is shown in FIG. For the mark data and data order change data, send them to Seno 1.Insert the instructions to the controller 1 and install it in the roll processor. Next, ``1-Rubrosessor and Beta 1-Ru-''
Access to main memory of j11 setter [1 case]
ni-) r explanation 9 local ゛ Reconstruction of memory space tN row h f+'l ket 41; -Coldness 1, each processor': + (hlj p) By adding a constant to 1.1 nof, we can find the at1 nos of the 1f storage device 101-1. The local 'memory space has been reorganized! 11. Figure 13 1) The boundary of the subset 4 has been changed/I.
'L, tl, if you want to re-create the local memory space, you can use the same relocation processing. It is possible to process large-scale professional notebooks and notebooks that require 11 memo spaces of the same size as the device capacity.Extended memory (opens the eyes)
It is possible to use 1 + 9 memory devices, which are also slow to use, and is more economical than implementing a 7-torque processing device. The reduction in data transfer speed due to the use of memory elements with slow cycle times in the expanded storage device increases the processing speed of the paging processor, which increases the processing speed of the expanded storage device and data transfer. By increasing 11 and increasing the number of interleaves, this decrease in data transfer speed can be compensated for.The economic disadvantage of having multiple main storage devices is as follows:
As expected from current scientific computing practices, this can be ignored. That is, when solving a two-dimensional or three-dimensional differential equation, when discretizing the equation using the finite element method, nodes of the order of 104 are often taken. At this time, if the data lJ is 4 to 8B, and the working array is 7, it will be 160Kr3.
One Do process can be performed in the order memory. One segment is treated as several DO processes. Even assuming that there is no array commonly used between arrays, one main storage device of 2 MB or less is sufficient. On the other hand, since an expanded storage device is on the order of several hundred MB, its capacity is on the order of 10-2 times that of the main storage device and the expanded storage device. Therefore, the economic loss of implementing multiple main memories in a vector processing device can be ignored. In the Beta 1 Health processing device of the present invention, the Control 1 Roll [
It is possible to fix various instructions for operating 1 processor, 1 processor, and 9' processor in parallel, and the instructions are controlled by hardware.
The loss time for operating three processors in Mi rows is minimized.
第1図は本発明に係るベクトル処理装置の概略ブ「1ツ
ク図、第2図はブロクラムの概略構成図。
第3図はペッツトル処理プログラムの概略構成図、第4
図はベーシング、コントロール両プロセッサの小娘動作
図、第5図はベクトル処理プログラムの最適11″、概
念図、第6図はコン1〜〇−ルプ「1セツ廿の第1段目
のテコ1−1回路のブロック図、第7図はコントロール
プロセッサの第2段目のテコ=1・回路のブロック図、
第8図はページンクプロセノせのrl−1・(1(能〕
r1ツク図、第9図、第10図はページ゛ツターj′ロ
セッ什の局所メモリ空間に対する編集機能ブ「1ノ))
図、第11図はペーシングブ「1セノ什のストア動作の
第1段論理のブロック図、第)2図11同フ、1〜7重
)】作の第2段論理のブ「1ノ9図、第13図は局所メ
モリ空間概念図′r−ある、I n I−XIント[1
−ルプ「Iセラ什、 102ベグj・ルプ「1セツサ
、 +03.106 スrノチング回路、 +
04,105 主記憶装置。
107 ベージソ′Jプロセッサ、 108・1広張
記憶装置 109 主記憶装置。
゛・′1図
21) I
嘱4図
一ノ
第 5
久
第12図
第 13j”1
久 tFIG. 1 is a schematic block diagram of the vector processing device according to the present invention, FIG. 2 is a schematic block diagram of the block diagram, FIG.
The figure is a diagram of the operation of both the basing and control processors, Figure 5 is a conceptual diagram of the optimal 11'' vector processing program, and Figure 6 is the lever 1- 1 circuit block diagram, Figure 7 is a block diagram of the second stage lever = 1 circuit of the control processor,
Figure 8 shows the rl-1 (1 (noh)
The r1 block diagram, Figures 9 and 10 show the editing function block "1)" for the local memory space of the page loader.
Figure 11 is a block diagram of the first stage logic of the store operation of the pacing block ``1-9 Figure 1. , FIG. 13 is a conceptual diagram of the local memory space.
-Rup "I Sera, 102 Beg J.Rup" 1 Setsa, +03.106 Slnoting Circuit, +
04,105 Main storage. 107 Begeso'J processor, 108.1 Widespread storage device 109 Main storage device.゛・'1Figure 21)
Claims (2)
、及び、ページングプロセッサとベクトルプロセッサと
コントロールプロセッサの3種類のプロセッサを具備し
、前記コントロールプロセッサに、前記3種類のプロセ
ッサのデータ処理を並列に実行するため、前記3種類の
プロセッサのための命令を区別して保持する命令スタッ
クと、該命令スタック上の命令の複数のデコード処理を
時分割に行うデコード処理管理機構を設け、前記ページ
ングプロセッサに、前記拡張記憶装置上に存在するプロ
グラムの実行を前記複数の主記憶装置上で実施するため
、プログラムの部分集合で使用される拡張記憶装置上の
領域を指定された主記憶装置へロード・ストアする論理
機構と指定領域でのデータの並びを編集する論理機構を
設け、前記ベクトルプロセッサは前記コントロールプロ
セッサの制御下で主記憶装置上のベクトル命令を処理す
ることを特徴とするベクトル処理装置。(1) A plurality of main storage devices, an expanded storage device of the main storage device, and three types of processors: a paging processor, a vector processor, and a control processor, and the control processor is provided with data processing of the three types of processors. In order to execute the above in parallel, an instruction stack for separately holding instructions for the three types of processors and a decoding process management mechanism for time-sharing decoding of multiple instructions on the instruction stack are provided, and the paging process is performed in parallel. Loading an area on the extended storage device used by a subset of the program into a specified main storage device in order to cause the processor to execute the program existing on the expanded storage device on the plurality of main storage devices. - A vector processing device, characterized in that it is provided with a logic mechanism for storing and a logic mechanism for editing the arrangement of data in a designated area, and the vector processor processes vector instructions on a main storage device under the control of the control processor. .
て大容量かつ低速であり、大規模なプログラムを格納す
るために用いられることを特徴とする特許請求の範囲第
1項記載のベクトル処理装置。(2) The vector according to claim 1, wherein the expanded storage device has a larger capacity and lower speed than the plurality of main storage devices, and is used to store a large-scale program. Processing equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59205040A JPS6182272A (en) | 1984-09-29 | 1984-09-29 | Vector processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59205040A JPS6182272A (en) | 1984-09-29 | 1984-09-29 | Vector processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6182272A true JPS6182272A (en) | 1986-04-25 |
Family
ID=16500448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59205040A Pending JPS6182272A (en) | 1984-09-29 | 1984-09-29 | Vector processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6182272A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5269009A (en) * | 1990-09-04 | 1993-12-07 | International Business Machines Corporation | Processor system with improved memory transfer means |
US8545760B2 (en) | 2005-03-29 | 2013-10-01 | Sysmex Corporation | Specimen analyzing method and specimen analyzing apparatus |
-
1984
- 1984-09-29 JP JP59205040A patent/JPS6182272A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5269009A (en) * | 1990-09-04 | 1993-12-07 | International Business Machines Corporation | Processor system with improved memory transfer means |
US8545760B2 (en) | 2005-03-29 | 2013-10-01 | Sysmex Corporation | Specimen analyzing method and specimen analyzing apparatus |
US9028756B2 (en) | 2005-03-29 | 2015-05-12 | Sysmex Corporation | Specimen analyzing method and specimen analyzing apparatus |
US9316583B2 (en) | 2005-03-29 | 2016-04-19 | Sysmex Corporation | Specimen analyzing method and specimen analyzing apparatus |
US10261016B2 (en) | 2005-03-29 | 2019-04-16 | Sysmex Corporation | Specimen analyzing method and specimen analyzing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4344134A (en) | Partitionable parallel processor | |
US3931613A (en) | Data processing system | |
EP0165822A2 (en) | Memory access control system | |
JP2577865B2 (en) | Vector processing apparatus and control method thereof | |
JPS59160267A (en) | Vector processing device | |
GB2122781A (en) | Multimicroprocessor systems | |
WO1988004806A1 (en) | Risc computer with unaligned reference handling and method for the same | |
WO1994003860A1 (en) | Massively parallel computer including auxiliary vector processor | |
JPS62114058A (en) | Vector processor | |
US4048623A (en) | Data processing system | |
US3351909A (en) | Information storage and transfer system for digital computers | |
JPH05508495A (en) | Global register for multiple processors | |
US5991866A (en) | Method and system for generating a program to facilitate rearrangement of address bits among addresses in a massively parallel processor system | |
JPS6182272A (en) | Vector processor | |
JPS6042516B2 (en) | data processing equipment | |
JPS58149556A (en) | Parallel processing device | |
US5506980A (en) | Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory | |
JPS59106075A (en) | Data processing system | |
US5276853A (en) | Cache system | |
JPS60151776A (en) | Composite computer system | |
JPS60205647A (en) | Data processor | |
JPS6343782B2 (en) | ||
JPS59123974A (en) | Vector data storage control system | |
JPS58146952A (en) | Parallel computer system | |
JPS62186328A (en) | Sort processing system |