JPH0425582B2 - - Google Patents
Info
- Publication number
- JPH0425582B2 JPH0425582B2 JP57184553A JP18455382A JPH0425582B2 JP H0425582 B2 JPH0425582 B2 JP H0425582B2 JP 57184553 A JP57184553 A JP 57184553A JP 18455382 A JP18455382 A JP 18455382A JP H0425582 B2 JPH0425582 B2 JP H0425582B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- data
- length
- register
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はベクトル演算を高速に実行可能なベク
トルプロセツサに関し、特に、ベクトルレジスタ
へのベクトルデータの書込みおよび読出し制御を
簡略化し高速に処理するベクトルプロセツサに関
する。
トルプロセツサに関し、特に、ベクトルレジスタ
へのベクトルデータの書込みおよび読出し制御を
簡略化し高速に処理するベクトルプロセツサに関
する。
第1図はベクトルプロセツサにおけるベクトル
演算のようすを示したものである。
演算のようすを示したものである。
図中、100は主記憶装置、200はベクトル
レジスタ群、200−1〜200−nは各々m要
素で厚生されるベクトルレジスタ、300は演算
器である。本図は、l要素から成るベクトルデー
タA(1−l)、B(1−l)を主記憶装置10か
ら、一旦、各々ベクトルレジスタ200−1,2
00−2へ読出し、更にこれらのデータを演算器
300に入力させ必要な演算を施し、この演算結
果をベクトルレジスタ200−3を経由して主記
憶装置100のベクトルデータC(1−l)に書
込む処理を示している。
レジスタ群、200−1〜200−nは各々m要
素で厚生されるベクトルレジスタ、300は演算
器である。本図は、l要素から成るベクトルデー
タA(1−l)、B(1−l)を主記憶装置10か
ら、一旦、各々ベクトルレジスタ200−1,2
00−2へ読出し、更にこれらのデータを演算器
300に入力させ必要な演算を施し、この演算結
果をベクトルレジスタ200−3を経由して主記
憶装置100のベクトルデータC(1−l)に書
込む処理を示している。
この場合、主記憶装置100に格納されている
ベクトルデータをベクトルレジスタに読出して演
算するとき従来技術では次のような問題点が生ず
るが、これを第2図を用いて説明する。
ベクトルデータをベクトルレジスタに読出して演
算するとき従来技術では次のような問題点が生ず
るが、これを第2図を用いて説明する。
第2図に於て、100は主記憶装置、200−
1はベクトルレジスタである。ベクトルレジスタ
の各要素のデータ巾を8バイト、主記憶装置から
のベクトルデータの読出しおよび書込みのデータ
巾を8バイト、主記憶装置上でのベクトルデータ
のアドレス付けをバイト単位と仮定する。また、
ベクトルデータは次のようなアドレス形式で主記
憶装置上に格納されるものとする。即ち、先頭要
素(第1番目の要素)のアドレスは指定される
が、2番目以降の要素のアドレスは前要素からの
増分値(インクリメント値と呼ぶことにし、バイ
ト単位で指定)で指定するものとする。
1はベクトルレジスタである。ベクトルレジスタ
の各要素のデータ巾を8バイト、主記憶装置から
のベクトルデータの読出しおよび書込みのデータ
巾を8バイト、主記憶装置上でのベクトルデータ
のアドレス付けをバイト単位と仮定する。また、
ベクトルデータは次のようなアドレス形式で主記
憶装置上に格納されるものとする。即ち、先頭要
素(第1番目の要素)のアドレスは指定される
が、2番目以降の要素のアドレスは前要素からの
増分値(インクリメント値と呼ぶことにし、バイ
ト単位で指定)で指定するものとする。
図中、aとbは、各要素のデータ巾が8バイト
で構成されるベクトルデータを主記憶装置100
からベクトルレジスタ200−1に読出し、さら
にこの読出しデータを演算器300へ入力する様
子を示している。aではベクトルデータのインク
リメント値は8であり、主記憶装置100には連
続して格納されており、bではインクリメント値
が16であるため非連続となり1つおきに格納され
ている。いずれにしても、aとbではデータを操
作(例えばシフト等の演算)なしで演算器へ規則
正しく供給できる。
で構成されるベクトルデータを主記憶装置100
からベクトルレジスタ200−1に読出し、さら
にこの読出しデータを演算器300へ入力する様
子を示している。aではベクトルデータのインク
リメント値は8であり、主記憶装置100には連
続して格納されており、bではインクリメント値
が16であるため非連続となり1つおきに格納され
ている。いずれにしても、aとbではデータを操
作(例えばシフト等の演算)なしで演算器へ規則
正しく供給できる。
cとdは、各要素のデータ巾が4バイトで構成
されるベクトルデータの場合の様子を示してい
る。cでは、インクリメント値が4であり、主記
憶装置には連続して格納されている。このため、
主記憶装置から2要素分をまとめて読出す方式が
採用されているが、この方式では例えば図中に示
す如く、ベクトルデータの第1と第2の要素がベ
クトルレジスタの第1要素の左右の半分づつに読
出される。また、dではインクリメント値が20で
あり、図中に示すように奇数番要素ではベクトル
レジスタの各要素の左半分に、また偶数要素では
右半分に有効な4バイトデータが読出される。
されるベクトルデータの場合の様子を示してい
る。cでは、インクリメント値が4であり、主記
憶装置には連続して格納されている。このため、
主記憶装置から2要素分をまとめて読出す方式が
採用されているが、この方式では例えば図中に示
す如く、ベクトルデータの第1と第2の要素がベ
クトルレジスタの第1要素の左右の半分づつに読
出される。また、dではインクリメント値が20で
あり、図中に示すように奇数番要素ではベクトル
レジスタの各要素の左半分に、また偶数要素では
右半分に有効な4バイトデータが読出される。
このように、cとdの場合にベクトルレジスタ
に読出されたデータを要素番号の低い順に、かつ
左づめにして演算器へ入力させるためには、 ●ベクトルレジスタの読出しカウンタの更新が、
4バイトデータでかつアドレス連続ケースと、
それ以外のケースで異なりカウンタ更新が複雑
化する。
に読出されたデータを要素番号の低い順に、かつ
左づめにして演算器へ入力させるためには、 ●ベクトルレジスタの読出しカウンタの更新が、
4バイトデータでかつアドレス連続ケースと、
それ以外のケースで異なりカウンタ更新が複雑
化する。
●4バイトデータの場合、ベクトルレジスタの1
要素の8バイトデータに、有効な4バイトデー
タが2個詰まつているか、あるいは1個である
か、右半分があるいは左半分にあるのかを表示
する情報がベクトルレジスタ制御部に必要であ
り、更に4バイトデータを切出す回路が必要と
なりベクトルレジスタ制御部が複雑化する。
要素の8バイトデータに、有効な4バイトデー
タが2個詰まつているか、あるいは1個である
か、右半分があるいは左半分にあるのかを表示
する情報がベクトルレジスタ制御部に必要であ
り、更に4バイトデータを切出す回路が必要と
なりベクトルレジスタ制御部が複雑化する。
という問題点があつた。
従来は、ベクトルレジスタから演算器へデータ
を転送する間に上述したようなデータ操作を行な
つていたが、このデータ操作を第3図に示すよう
に主記憶装置から読出してベクトルレジスタに格
納する以前に行なうようにして、ベクトルレジス
タ制御部を簡略化し、ベクトルレジスタへの書込
み及び読出しを高速化することにある。
を転送する間に上述したようなデータ操作を行な
つていたが、このデータ操作を第3図に示すよう
に主記憶装置から読出してベクトルレジスタに格
納する以前に行なうようにして、ベクトルレジス
タ制御部を簡略化し、ベクトルレジスタへの書込
み及び読出しを高速化することにある。
以下実施例により本発明を詳細に説明する。第
4図は、本発明の実施例を示す構成図である。図
中、1はベクトル命令制御回路、2はアドレスレ
ジスタ群、3はインクリメントレジスタ群、4は
インクリメント値が4であるかどうかを検出する
検出回路、5はアドレス境界が4バイトかどうか
を検出する検出回路、7はリクエスト発行制御回
路、8はリクエスト発行レジスタ、9はオーダレ
スジスタ、10はアドレス発生回路、11はアド
レスレジスタ、12はプライオリテイ回路、13
はMS起動レジスタ、14はオーダレジスタ、1
5はアドレスレジスタ、16はアドバンスレジス
タ、17はオーダレジスタ、18はデータレジス
タ、19はデータ変換制御回路、20は書込み指
示レジスタ、21は書込み終了指示レジスタ、2
2はデータレジスタ、23はベクトルレジスタ書
込み回路、100は主記憶装置、200−1〜2
00−nはベクトルレジスタ、l0〜l27,l
28−1〜l28−n,l29〜l34は信号線
である。
4図は、本発明の実施例を示す構成図である。図
中、1はベクトル命令制御回路、2はアドレスレ
ジスタ群、3はインクリメントレジスタ群、4は
インクリメント値が4であるかどうかを検出する
検出回路、5はアドレス境界が4バイトかどうか
を検出する検出回路、7はリクエスト発行制御回
路、8はリクエスト発行レジスタ、9はオーダレ
スジスタ、10はアドレス発生回路、11はアド
レスレジスタ、12はプライオリテイ回路、13
はMS起動レジスタ、14はオーダレジスタ、1
5はアドレスレジスタ、16はアドバンスレジス
タ、17はオーダレジスタ、18はデータレジス
タ、19はデータ変換制御回路、20は書込み指
示レジスタ、21は書込み終了指示レジスタ、2
2はデータレジスタ、23はベクトルレジスタ書
込み回路、100は主記憶装置、200−1〜2
00−nはベクトルレジスタ、l0〜l27,l
28−1〜l28−n,l29〜l34は信号線
である。
第4図を用いて、最初に、第2図aで示したベ
クトルデータA(1−5)を主記憶装置100か
ら読出してベクトルレジスタ200−1に書込む
動作を記す。ベクトル命令制御回路1は信号線l
2,l29を介して、それぞれリクエスト発行制
御回路7、ベクトルレジスタ書込み回路23に起
動信号を転送する。同時に、信号線l1を介して
処理要素数を、信号線l32を介して、ベクトル
データの各要素のデータ巾をリクエスト発行制御
回路7へ転送する。このデータ巾は、l34を介
して主記憶装置100から読出したベクトル命令
を解読して得られ、4バイト巾のベクトルデータ
を指定する命令のとき信号線l32が1となり、
8バイト巾を指定するとき0となる。第2図aの
例では8バイト巾命令のためl34は1となる。
また、信号線l30を介して読出しデータを格納
するベクトルレジスタ番号(200−1)をベク
トルレジスタ書込み回路23に転送する。さら
に、主記憶装置100に格納されているベクトル
データの先頭要素のアドレスを保持しているアド
レスレジスタ群2と、隣合う要素間の増分値を保
持するインクリメントレジスタ群3の中から信号
線l0で指定されるレジスタ番号のものを選択し
てアドレス発生回路10に転送する。このアドレ
ス発生回路10への転送と同時に、先頭要素のア
ドレスを検出回路5に入力し、アドレス境界が4
バイトかどうかを検出し、リクエスト発行制御回
路7へ転送する。本例では、先頭アドレスが0100
(但し、16進表示)であり、4バイト境界でない
ため検出回路5より信号線l10を介して0を転
送する。また、増分値を検出回路4に入力し、値
が4かどうかを検出して、4であれば1,4以外
であれば0を出力し、信号線l6を介してリクエ
スト発生制御回路7へ転送する。本例の増分値は
8のため、信号線l6には0が出力される。
クトルデータA(1−5)を主記憶装置100か
ら読出してベクトルレジスタ200−1に書込む
動作を記す。ベクトル命令制御回路1は信号線l
2,l29を介して、それぞれリクエスト発行制
御回路7、ベクトルレジスタ書込み回路23に起
動信号を転送する。同時に、信号線l1を介して
処理要素数を、信号線l32を介して、ベクトル
データの各要素のデータ巾をリクエスト発行制御
回路7へ転送する。このデータ巾は、l34を介
して主記憶装置100から読出したベクトル命令
を解読して得られ、4バイト巾のベクトルデータ
を指定する命令のとき信号線l32が1となり、
8バイト巾を指定するとき0となる。第2図aの
例では8バイト巾命令のためl34は1となる。
また、信号線l30を介して読出しデータを格納
するベクトルレジスタ番号(200−1)をベク
トルレジスタ書込み回路23に転送する。さら
に、主記憶装置100に格納されているベクトル
データの先頭要素のアドレスを保持しているアド
レスレジスタ群2と、隣合う要素間の増分値を保
持するインクリメントレジスタ群3の中から信号
線l0で指定されるレジスタ番号のものを選択し
てアドレス発生回路10に転送する。このアドレ
ス発生回路10への転送と同時に、先頭要素のア
ドレスを検出回路5に入力し、アドレス境界が4
バイトかどうかを検出し、リクエスト発行制御回
路7へ転送する。本例では、先頭アドレスが0100
(但し、16進表示)であり、4バイト境界でない
ため検出回路5より信号線l10を介して0を転
送する。また、増分値を検出回路4に入力し、値
が4かどうかを検出して、4であれば1,4以外
であれば0を出力し、信号線l6を介してリクエ
スト発生制御回路7へ転送する。本例の増分値は
8のため、信号線l6には0が出力される。
上記の前処理が終了すると、主記憶装置100
からの読出し動作を開始するが、この場合の処理
手順を第6図aのタイムチヤートを参照しながら
以下に述べる。なお、ここでは便宜的に、ベクト
ルデータA(1〜5)の各要素に対して信号線l
11を介してリクエスト発行レジスタ8からプラ
イオリテイ回路12に読出しを要求するためのリ
クエストが発行されるが、第1要素のリクエスト
が発行される時間を第1サイクルとする。第1サ
イクルには、第1要素のリクエスト発行と同時
に、信号線l12を介してオーダレジスタ9から
プライオリテイ回路12へリクエストオーダが、
信号線l14を介してアドレスレジスタ11から
プライオリテイ回路12へ読出しアドレスが送出
される。ここで、リクエストオーダとして例えば
第5図に示すような構成を考える。
からの読出し動作を開始するが、この場合の処理
手順を第6図aのタイムチヤートを参照しながら
以下に述べる。なお、ここでは便宜的に、ベクト
ルデータA(1〜5)の各要素に対して信号線l
11を介してリクエスト発行レジスタ8からプラ
イオリテイ回路12に読出しを要求するためのリ
クエストが発行されるが、第1要素のリクエスト
が発行される時間を第1サイクルとする。第1サ
イクルには、第1要素のリクエスト発行と同時
に、信号線l12を介してオーダレジスタ9から
プライオリテイ回路12へリクエストオーダが、
信号線l14を介してアドレスレジスタ11から
プライオリテイ回路12へ読出しアドレスが送出
される。ここで、リクエストオーダとして例えば
第5図に示すような構成を考える。
5ビツトで構成され、ビツト0はリクエスト番
号を指定する。第4図の上側に破線で囲んだ部分
をリクエストと呼ぶことにし、このようなリクエ
スタを複数設ける場合が考えられ、これらを番号
付けする。本構成ではリクエスタ0と1を用い、
リクエスタ0を読出し専用、リクエスタ1を書込
み専用とする。ここでは、リクエスタ0を使用す
るため、ビツト0は0となる。ビツト1は、ベク
トルデータのデータ巾を指定し、8バイト巾を指
定する命令のとき0,4バイト巾を指定する命令
のとき1となる。
号を指定する。第4図の上側に破線で囲んだ部分
をリクエストと呼ぶことにし、このようなリクエ
スタを複数設ける場合が考えられ、これらを番号
付けする。本構成ではリクエスタ0と1を用い、
リクエスタ0を読出し専用、リクエスタ1を書込
み専用とする。ここでは、リクエスタ0を使用す
るため、ビツト0は0となる。ビツト1は、ベク
トルデータのデータ巾を指定し、8バイト巾を指
定する命令のとき0,4バイト巾を指定する命令
のとき1となる。
ここで、第2図aではデータ巾が8バイトのた
め、ビツト1は0となるビツト2,3はデータ有
効/無効を示す。主記憶装置100を1回アクセ
スするときのデータ巾は8バイトであるため、1
要素のデータ巾が4バイトのときは、アクセスす
る8バイトに2個詰つているケース、8バイトの
前半4バイトに入つているケース、後半4バイト
に入つているケースがあるが、ビツト2は前半4
バイトにデータが入つているとき1、データが入
つていないとき0となり、ビツト2は後半4バイ
トにデータが入つているとき1、データが入つて
いないとき0となる。なお、1要素のデータ巾が
8バイトのときは1,2が共に1となる。
め、ビツト1は0となるビツト2,3はデータ有
効/無効を示す。主記憶装置100を1回アクセ
スするときのデータ巾は8バイトであるため、1
要素のデータ巾が4バイトのときは、アクセスす
る8バイトに2個詰つているケース、8バイトの
前半4バイトに入つているケース、後半4バイト
に入つているケースがあるが、ビツト2は前半4
バイトにデータが入つているとき1、データが入
つていないとき0となり、ビツト2は後半4バイ
トにデータが入つているとき1、データが入つて
いないとき0となる。なお、1要素のデータ巾が
8バイトのときは1,2が共に1となる。
また、ビツト4は最終リクエストであることを
指定する。
指定する。
プライオリテイ回路12に入力されたリクエス
トは同一サイクルで選択され、信号線16を介し
て、MS起動レジスタ13にセツトされ、第2サ
イクルで信号線l19を介してMS起動信号とし
て主記憶装置100に転送される。
トは同一サイクルで選択され、信号線16を介し
て、MS起動レジスタ13にセツトされ、第2サ
イクルで信号線l19を介してMS起動信号とし
て主記憶装置100に転送される。
なお、プライオリテイ回路12にはリクエスタ
1からもリクエストが入力される。このため、両
リクエスタ間でバンク等の競合が生じた場合はあ
る優先順位に基づいてリクエストを選択するた
め、リクエストの入力されるサイクルと同一サイ
クルで選択されるとは限らないが、本発明では他
リクエスタが動作していないと仮定し、同一サイ
クルで選択されるものとする。
1からもリクエストが入力される。このため、両
リクエスタ間でバンク等の競合が生じた場合はあ
る優先順位に基づいてリクエストを選択するた
め、リクエストの入力されるサイクルと同一サイ
クルで選択されるとは限らないが、本発明では他
リクエスタが動作していないと仮定し、同一サイ
クルで選択されるものとする。
また、MS起動信号と同期して、信号線l1
7、オーダレジスタ14、信号線l20を介して
オーダが、信号線l18、アドレスレジスタ1
5、信号線l21を介してアドレスが主記憶装置
100へ転送される。
7、オーダレジスタ14、信号線l20を介して
オーダが、信号線l18、アドレスレジスタ1
5、信号線l21を介してアドレスが主記憶装置
100へ転送される。
第1サイクルで第1要素のリクエストがプライ
オリテイ回路12で選択されるが、このとき、リ
クエストが選択されたことを示すリクエストセレ
クト信号が信号線l15を介してリクエスト発行
制御回路7に転送される。リクエスト発行制御回
路7はこのリクエストセレクト信号をもとに、第
2要素に対するリクエスト、オーダをそれぞれ信
号線l8,l9を介してリクエスト発行レジスタ
8、オーダレジスタ9にセツトする。これと同期
して、アドレスをアドレス発生回路10から信号
線l7を介してアドレスレジスタ11にセツトす
る。そして、これら第2要素のリクエスト、オー
ダ、アドレスは第1要素の場合と同一経路で第2
サイクルにプライオリテイ回路12に入力され
る。同様にして順次処理されるが、処理要素数が
5であるため、第5要素に対するリクエストが最
終となる。そこで、第5サイクルに信号線l12
を介してプライオリテイ回路12に入力されるオ
ーダのビツト4が始めて1となる。
オリテイ回路12で選択されるが、このとき、リ
クエストが選択されたことを示すリクエストセレ
クト信号が信号線l15を介してリクエスト発行
制御回路7に転送される。リクエスト発行制御回
路7はこのリクエストセレクト信号をもとに、第
2要素に対するリクエスト、オーダをそれぞれ信
号線l8,l9を介してリクエスト発行レジスタ
8、オーダレジスタ9にセツトする。これと同期
して、アドレスをアドレス発生回路10から信号
線l7を介してアドレスレジスタ11にセツトす
る。そして、これら第2要素のリクエスト、オー
ダ、アドレスは第1要素の場合と同一経路で第2
サイクルにプライオリテイ回路12に入力され
る。同様にして順次処理されるが、処理要素数が
5であるため、第5要素に対するリクエストが最
終となる。そこで、第5サイクルに信号線l12
を介してプライオリテイ回路12に入力されるオ
ーダのビツト4が始めて1となる。
そして、この最終リクエストであることを意味
するオーダのビツト4は、信号線l13を介して
リクエスト発行制御回路7にも入力される。この
オーダのビツト4が1でかつプライオリテイ回路
12から信号線l15を介してリクエストセレク
ト信号が入力される。次の第6サイクルで信号線
l3を介してベクトル命令制御回路1に終了報告
を行う。
するオーダのビツト4は、信号線l13を介して
リクエスト発行制御回路7にも入力される。この
オーダのビツト4が1でかつプライオリテイ回路
12から信号線l15を介してリクエストセレク
ト信号が入力される。次の第6サイクルで信号線
l3を介してベクトル命令制御回路1に終了報告
を行う。
なお、第6図aに示す通り、信号線l12から
出力するオーダは、第1〜第5サイクル間で、順
次、00110,00110,00110,00110,00111となる
が、これらのオーダがどのように生成されるか
を、第7図を用いて説明する。
出力するオーダは、第1〜第5サイクル間で、順
次、00110,00110,00110,00110,00111となる
が、これらのオーダがどのように生成されるか
を、第7図を用いて説明する。
第7図は、リクエスト発行制御回路7の構成図
である。図中、300は選択器、301〜30
5,324,325はレジスタ、8はリクエスト
発行レジスタ、9−0〜9−4はオーダレジスタ
9の各々ビツト0〜4を構成するレジスタ306
〜314は反転回路、340〜357はAND回
路、370〜376はOR回路、320,32
1,322は、各々、レジスタ301の値を入力
とし、値が0以上のとき1を出力する検出回路、
値が2のとき1を出力する検出回路、値が1のと
き1を出力する検出回路、323はレジスタ30
1の値を入力して、2あるいは1を減算するカウ
ントダウン回路である。
である。図中、300は選択器、301〜30
5,324,325はレジスタ、8はリクエスト
発行レジスタ、9−0〜9−4はオーダレジスタ
9の各々ビツト0〜4を構成するレジスタ306
〜314は反転回路、340〜357はAND回
路、370〜376はOR回路、320,32
1,322は、各々、レジスタ301の値を入力
とし、値が0以上のとき1を出力する検出回路、
値が2のとき1を出力する検出回路、値が1のと
き1を出力する検出回路、323はレジスタ30
1の値を入力して、2あるいは1を減算するカウ
ントダウン回路である。
レジスタ301には信号線l1、選択器301
を介して処理要素数5がセツトされ、各要素のデ
ータ巾を示す情報を保持するレジスタ302に
は、信号線l32を介して8バイト巾を示す0が
セツトされ、増分値が4かどうかを保持するレジ
スタ303には、信号線l6を介して増分値が4
でないことを示す0がセツトされ、先頭アドレス
が4バイト境界にあるかどうかの情報を保持する
レジスタ304には、信号線l10を介して4バ
イト境界でないことを示す0がセツトされる。ま
た、レジスタ305は、起動信号が送出されると
1にセツトされ、リクエストがプライオリテイ回
路12に発行されると0にリセツトされるものと
する。l33はアドレス発生回路10から送出さ
れる信号線であり、1のときアドレスが4バイト
境界にあることを示す。
を介して処理要素数5がセツトされ、各要素のデ
ータ巾を示す情報を保持するレジスタ302に
は、信号線l32を介して8バイト巾を示す0が
セツトされ、増分値が4かどうかを保持するレジ
スタ303には、信号線l6を介して増分値が4
でないことを示す0がセツトされ、先頭アドレス
が4バイト境界にあるかどうかの情報を保持する
レジスタ304には、信号線l10を介して4バ
イト境界でないことを示す0がセツトされる。ま
た、レジスタ305は、起動信号が送出されると
1にセツトされ、リクエストがプライオリテイ回
路12に発行されると0にリセツトされるものと
する。l33はアドレス発生回路10から送出さ
れる信号線であり、1のときアドレスが4バイト
境界にあることを示す。
以下、各サイクルでのオーダの生成手順を記
す。
す。
レジスタ301の値が5であるため検出回路32
0から1、レジスタ305が1であるためOR回
路375から1、レジスタ302が0であるた
め、AND回路340を介して反転回路310か
ら1が各々出力されこれらを入力とするAND回
路344でANDが成立して、1を出力する。こ
のAND回路344からの1出力がOR回路371
を介して、リクエスト発行レジスタ8に1がセツ
トされ、信号線l11を介してプライオリテイ回
路12に第1要素のリクエストが第1サイクルで
発行される。
0から1、レジスタ305が1であるためOR回
路375から1、レジスタ302が0であるた
め、AND回路340を介して反転回路310か
ら1が各々出力されこれらを入力とするAND回
路344でANDが成立して、1を出力する。こ
のAND回路344からの1出力がOR回路371
を介して、リクエスト発行レジスタ8に1がセツ
トされ、信号線l11を介してプライオリテイ回
路12に第1要素のリクエストが第1サイクルで
発行される。
これと同時に、レジスタ301の値はカウント
ダウン回路323にも入力され、AND回路35
7からの出力が1になることにより1だけ減算さ
れて4となり、選択器300を介してレジスタ3
01に再度セツトされる。
ダウン回路323にも入力され、AND回路35
7からの出力が1になることにより1だけ減算さ
れて4となり、選択器300を介してレジスタ3
01に再度セツトされる。
また、反転回路313から1が出力されること
により、OR回路372、AND回路353を介し
てレジスタ9−2に1が、また、OR回路37
3、AND回路355を介して、レジスタ9−3
に1がセツトされる。
により、OR回路372、AND回路353を介し
てレジスタ9−2に1が、また、OR回路37
3、AND回路355を介して、レジスタ9−3
に1がセツトされる。
また、本例ではリクエスタ0を使用するため、
レジスタ9−0は常に0に固定されている。レジ
スタ9−1はレジスタ302が0のため0とな
る。また、AND回路350,351、検出回路
322の出力が共に0のため、この3出力を入力
とするOR回路374から0が出力され、AND回
路356を介して0がレジスタ9−4にセツトさ
れる。
レジスタ9−0は常に0に固定されている。レジ
スタ9−1はレジスタ302が0のため0とな
る。また、AND回路350,351、検出回路
322の出力が共に0のため、この3出力を入力
とするOR回路374から0が出力され、AND回
路356を介して0がレジスタ9−4にセツトさ
れる。
次に、第2〜第5サイクル間でも同様の経路で
レジスタ9−0〜9−3に0011がセツトされる。
但し、第2サイクル以降では、レジスタ305は
0にリセツトされるが、信号線l15を介してプ
ライオリテイ回路12から送出されるリクエスト
セレクト信号が1になるため、OR回路375の
出力が1となりリクエストが発行される。レジス
タ9−4には、第2〜第4サイクルの間でも0が
セツトされるが、第5サイクルでは次のようにし
て1がセツトされ、最終要素となる。即ち、レジ
スタ301の値が減算されて1になるため検出回
路322から1が出力され、OR回路374、
AND回路356を介して1がレジスタ9−4に
セツトされる。
レジスタ9−0〜9−3に0011がセツトされる。
但し、第2サイクル以降では、レジスタ305は
0にリセツトされるが、信号線l15を介してプ
ライオリテイ回路12から送出されるリクエスト
セレクト信号が1になるため、OR回路375の
出力が1となりリクエストが発行される。レジス
タ9−4には、第2〜第4サイクルの間でも0が
セツトされるが、第5サイクルでは次のようにし
て1がセツトされ、最終要素となる。即ち、レジ
スタ301の値が減算されて1になるため検出回
路322から1が出力され、OR回路374、
AND回路356を介して1がレジスタ9−4に
セツトされる。
そして、第6サイクルでは、レジスタ301の
値は0となり、検出回路320からの出力が0と
なつてもはやリクエスト発行レジスタ8に1がセ
ツトされなくなり、プライオリテイ回路12への
リクエスト送出が行なわれない。また、第6サイ
クルでは、レジスタ325が1にセツトされ、信
号線l3を介してレジスタ命令制御回路1へ終了
報告を行なう。
値は0となり、検出回路320からの出力が0と
なつてもはやリクエスト発行レジスタ8に1がセ
ツトされなくなり、プライオリテイ回路12への
リクエスト送出が行なわれない。また、第6サイ
クルでは、レジスタ325が1にセツトされ、信
号線l3を介してレジスタ命令制御回路1へ終了
報告を行なう。
信号線l19を介してMS起動信号が主記憶装
置100へ転送されると、これに対するアドバン
ス信号が5サイクル後(本実施例では5サイクル
としたが、特に、この値に限定するものではな
い)に信号線l22を介してアドバンスレジスタ
16へセツトされる。
置100へ転送されると、これに対するアドバン
ス信号が5サイクル後(本実施例では5サイクル
としたが、特に、この値に限定するものではな
い)に信号線l22を介してアドバンスレジスタ
16へセツトされる。
また、このアドバンス信号と同期して対応する
要素のオーダ、8バイトの読出しデータがそれぞ
れ、信号線l23,l24を介して、オーダレジ
スタ17、データレジスタ18にセツトされる。
要素のオーダ、8バイトの読出しデータがそれぞ
れ、信号線l23,l24を介して、オーダレジ
スタ17、データレジスタ18にセツトされる。
データ変換制御回路19は、上記アドバンスレ
ジスタ16にアドバンス信号がセツトされると
(即ち、アドバンスレジスタ16に“1”がセツ
トされると)、1サイクル後にオーダレジスタ1
7にセツトされたオーダをもとに、必要に応じて
書込み指示レジスタ20へ書込み指示信号を、書
込み終了指示レジスタ21へ書込み終了指示番号
をセツトし、同時にまた、データレジスタ18の
読出しデータをデータレジスタ22にセツトす
る。そして、書込み指示レジスタ20、書込み終
了指示レジスタ21へセツトされた情報はそれぞ
れ書込み指示信号、書込み終了指示信号として、
信号線l25,l26を介してベクトルレジスタ
書込み回路23に転送される。この書込み指示信
号は信号線l28−1を介してベクトルレジスタ
200−1に転送され、信号線l27で転送され
る書込みデータをセツトするのに使用される。ま
た、ベクトルレジスタ書込み回路23に信号線l
26を介して書込み終了指示信号が入力されると
(第6図aの12サイクル目)、次サイクルに自回路
の動作を終了すると同時に信号線l31を介して
終了信号をベクトル命令制御回路1に転送する。
ジスタ16にアドバンス信号がセツトされると
(即ち、アドバンスレジスタ16に“1”がセツ
トされると)、1サイクル後にオーダレジスタ1
7にセツトされたオーダをもとに、必要に応じて
書込み指示レジスタ20へ書込み指示信号を、書
込み終了指示レジスタ21へ書込み終了指示番号
をセツトし、同時にまた、データレジスタ18の
読出しデータをデータレジスタ22にセツトす
る。そして、書込み指示レジスタ20、書込み終
了指示レジスタ21へセツトされた情報はそれぞ
れ書込み指示信号、書込み終了指示信号として、
信号線l25,l26を介してベクトルレジスタ
書込み回路23に転送される。この書込み指示信
号は信号線l28−1を介してベクトルレジスタ
200−1に転送され、信号線l27で転送され
る書込みデータをセツトするのに使用される。ま
た、ベクトルレジスタ書込み回路23に信号線l
26を介して書込み終了指示信号が入力されると
(第6図aの12サイクル目)、次サイクルに自回路
の動作を終了すると同時に信号線l31を介して
終了信号をベクトル命令制御回路1に転送する。
第8図は、データ変換制御回路19の構成図で
ある。図中、16はアドバンスレジスタ、17−
0〜17−4は各々オーダレジスタ17のビツト
0〜4を構成するレジスタ、18−1はデータレ
ジスタ18の前半4バイトを構成するレジスタ、
18−2は同じくデータレジスタ18の後半4バ
イトを構成するレジスタ、20は書込み指示レジ
スタ、21は書込終了指示レジスタ、22−1は
データレジスタ22の前半4バイトを構成するレ
ジスタ、22−2は同じく後半4バイトを構成す
るレジスタ、450はレジスタ、400〜404
は反転回路、410〜421はAND回路、43
0〜434はOR回路、440〜442はゲート
である。
ある。図中、16はアドバンスレジスタ、17−
0〜17−4は各々オーダレジスタ17のビツト
0〜4を構成するレジスタ、18−1はデータレ
ジスタ18の前半4バイトを構成するレジスタ、
18−2は同じくデータレジスタ18の後半4バ
イトを構成するレジスタ、20は書込み指示レジ
スタ、21は書込終了指示レジスタ、22−1は
データレジスタ22の前半4バイトを構成するレ
ジスタ、22−2は同じく後半4バイトを構成す
るレジスタ、450はレジスタ、400〜404
は反転回路、410〜421はAND回路、43
0〜434はOR回路、440〜442はゲート
である。
この第8図を用いて、第6図aでのデータ変換
制御回路19の動作について以下に記す。
制御回路19の動作について以下に記す。
第7サイクルでアドバンスレジスタ16に第1
要素のアドバンスを示す1がセツトされると同時
に、レジスタ17−0〜17−4に00110が、1
8−1と18−2に読出しデータがセツトされ
る。すると、AND回路410から1が出力され、
OR回路430を介して第8サイクルに書込み指
示レジスタ20に1がセツトされ、信号線l25
を介してベクトルレジスタ書込み回路23へ書込
み指示信号を転送する。また、レジスタ17−4
は0のため、AND回路419から0が出力され、
書込終了指示レジスタ21は0にセツトされる。
要素のアドバンスを示す1がセツトされると同時
に、レジスタ17−0〜17−4に00110が、1
8−1と18−2に読出しデータがセツトされ
る。すると、AND回路410から1が出力され、
OR回路430を介して第8サイクルに書込み指
示レジスタ20に1がセツトされ、信号線l25
を介してベクトルレジスタ書込み回路23へ書込
み指示信号を転送する。また、レジスタ17−4
は0のため、AND回路419から0が出力され、
書込終了指示レジスタ21は0にセツトされる。
また、AND回路414から1が出力されるこ
とにより、OR回路432を介してゲート440
が開き、また、OR回路433を介してゲート4
42が開き、レジスタ18−1と18−2にセツ
トされた第1要素の読出しデータは、第8サイク
ルで各々レジスタ22−1と22−2にセツトさ
れ、信号線l27を介してベクトルレジスタ20
0−1に転送され書込まれる。
とにより、OR回路432を介してゲート440
が開き、また、OR回路433を介してゲート4
42が開き、レジスタ18−1と18−2にセツ
トされた第1要素の読出しデータは、第8サイク
ルで各々レジスタ22−1と22−2にセツトさ
れ、信号線l27を介してベクトルレジスタ20
0−1に転送され書込まれる。
第2〜第5要素についても同様に処理される
が、第5要素のアドバンスと同期して、レジスタ
17−4に1がセツトされる。このため、AND
回路412から出力される1がOR回路431を
介してAND回路419に入力されることにより
AND回路419から1が出力され、書込終了指
示レジスタ21に1がセツトされ、第12サイクル
で信号線l26を介して書込み終了指示信号が転
送される。
が、第5要素のアドバンスと同期して、レジスタ
17−4に1がセツトされる。このため、AND
回路412から出力される1がOR回路431を
介してAND回路419に入力されることにより
AND回路419から1が出力され、書込終了指
示レジスタ21に1がセツトされ、第12サイクル
で信号線l26を介して書込み終了指示信号が転
送される。
次に、第3図aで示したように、ベクトルデー
タD(1〜5)を主記憶装置100から読出して
ベクトルレジスタ200−1に書込む動作を、第
4図,第7図,第8図の構成図と第6図bのタイ
ムチヤートを用いて説明する。
タD(1〜5)を主記憶装置100から読出して
ベクトルレジスタ200−1に書込む動作を、第
4図,第7図,第8図の構成図と第6図bのタイ
ムチヤートを用いて説明する。
前処理については上述した第2図aの例の場合
と同様の手順となるが、本例に於ては、処理要素
数lは5、読出しデータを格納するベクトルレジ
スタはベクトルレジスタ200−1、ベクトルデ
ータの先頭要素アドレスは0100、増分値は4、ベ
クトルデータの各要素のデータ巾は4バイトであ
る。
と同様の手順となるが、本例に於ては、処理要素
数lは5、読出しデータを格納するベクトルレジ
スタはベクトルレジスタ200−1、ベクトルデ
ータの先頭要素アドレスは0100、増分値は4、ベ
クトルデータの各要素のデータ巾は4バイトであ
る。
従つて、第7図に於て処理要素数を格納するレ
ジスタ301には5が、レジスタ302にはデー
タ巾が4バイトであることを示す1が、レジスタ
303には増分値が4であることを示す1が、レ
ジスタ304には先頭要素アドレスが4バイト境
界でない(8バイト境界)ことを示す0が、レジ
スタ305には1(但し、信号線l11を介して
リクエストが送出されると0にリセツトされたま
まとなる)がセツトされる。
ジスタ301には5が、レジスタ302にはデー
タ巾が4バイトであることを示す1が、レジスタ
303には増分値が4であることを示す1が、レ
ジスタ304には先頭要素アドレスが4バイト境
界でない(8バイト境界)ことを示す0が、レジ
スタ305には1(但し、信号線l11を介して
リクエストが送出されると0にリセツトされたま
まとなる)がセツトされる。
まず、第6図bと第7図を用いてリクエスト発
行制御回路7の動作を記す。
行制御回路7の動作を記す。
レジスタ301の5の値を検出回路320に入
力する。検出回路320では入力された値が0以
上であるため1を出力してAND回路345に入
力される。また、レジスタ305の1がOR回路
376を介してAND回路345に入力され、さ
らに、AND回路340から出力される1が同じ
くAND回路345に入力されて、この結果、3
入力がともに1となつてAND回路345から1
が出力される。
力する。検出回路320では入力された値が0以
上であるため1を出力してAND回路345に入
力される。また、レジスタ305の1がOR回路
376を介してAND回路345に入力され、さ
らに、AND回路340から出力される1が同じ
くAND回路345に入力されて、この結果、3
入力がともに1となつてAND回路345から1
が出力される。
この1出力がOR回路371を介して第1サイ
クルにリクエスト発行レジスタ8に1がセツトさ
れ、信号線l11を介してプライオリテイ回路1
2にリクエストが発行される。
クルにリクエスト発行レジスタ8に1がセツトさ
れ、信号線l11を介してプライオリテイ回路1
2にリクエストが発行される。
また、同時にAND回路346から出力される
1が、OR回路372、AND回路353を介して
オーダのビツト2を示すレジスタ9−2にセツト
され、AND回路348から出力される1が、OR
回路373、AND回路355を介してオーダの
ビツト3を示すレジスタにセツトされる。また、
オーダのビツト0を示すレジスタ9−0には0
(リクエスタ0を使用しているために常に0)が、
オーダのビツト1を示すレジスタ9−1には1が
セツトされ、オーダのビツト4を示すレジスタ9
−4には、検出回路321と322から0が出力
されるためOR回路374から0が出力されるこ
とによつて0がセツトされる。
1が、OR回路372、AND回路353を介して
オーダのビツト2を示すレジスタ9−2にセツト
され、AND回路348から出力される1が、OR
回路373、AND回路355を介してオーダの
ビツト3を示すレジスタにセツトされる。また、
オーダのビツト0を示すレジスタ9−0には0
(リクエスタ0を使用しているために常に0)が、
オーダのビツト1を示すレジスタ9−1には1が
セツトされ、オーダのビツト4を示すレジスタ9
−4には、検出回路321と322から0が出力
されるためOR回路374から0が出力されるこ
とによつて0がセツトされる。
さらに、レジスタ301の5の値はカウントダ
ウン回路323に入力され、AND回路354か
ら1が出力されることにより2だけ減算されて3
となつて、再びレジスタ301にセツトされる。
ここで、2を減算する意味は、1回のメモリリク
エストに、第1と第2要素の2要素分が含まれる
ことによる。
ウン回路323に入力され、AND回路354か
ら1が出力されることにより2だけ減算されて3
となつて、再びレジスタ301にセツトされる。
ここで、2を減算する意味は、1回のメモリリク
エストに、第1と第2要素の2要素分が含まれる
ことによる。
次に、第1サイクルでプライオリテイ回路12
に送出されたリクエストに対するリクエストセレ
クト信号を信号線l15を介して受取るが、第6
図aの場合と違つてAND回路344から1が出
力されず、第2サイクルで次のリクエストがリク
エスト発行レジスタ8にセツトされない。
に送出されたリクエストに対するリクエストセレ
クト信号を信号線l15を介して受取るが、第6
図aの場合と違つてAND回路344から1が出
力されず、第2サイクルで次のリクエストがリク
エスト発行レジスタ8にセツトされない。
第6図bの場合では、このセレクト信号をレジ
スタ324で第2サイクルにセツト、これをもと
に第2のリクエストを発行する。
スタ324で第2サイクルにセツト、これをもと
に第2のリクエストを発行する。
即ち、レジスタ324の1出力がOR回路37
6を介してAND回路345に入力されるため、
前述と同様の経路で同様の値が第3サイクルにリ
クエスト発行レジスタ8、レジスタ9−0〜9−
4にセツトされる。この場合、第3と第4要素の
2要素分のリクエストが1度に発行されるため、
カウントダウン回路323に入力された3の値か
ら2が減算され1となり、レジスタ301にこの
1の値がセツトされる。
6を介してAND回路345に入力されるため、
前述と同様の経路で同様の値が第3サイクルにリ
クエスト発行レジスタ8、レジスタ9−0〜9−
4にセツトされる。この場合、第3と第4要素の
2要素分のリクエストが1度に発行されるため、
カウントダウン回路323に入力された3の値か
ら2が減算され1となり、レジスタ301にこの
1の値がセツトされる。
引続いて第2のリクエストに対するセレクト信
号をレジスタ324で第4サイクルにセツトし、
これをもとに第3のリクエストを第5サイクルで
発行する。レジスタ9−3には第1と第2リクエ
ストの場合と異なり0がセツトされるが、これ
は、レジスタ301の値が1であることを検出す
る検出回路322から1が出力され、このため
AND回路343の出力が1となり、OR回路37
0を介して反転回路312で反転されて0が出力
されることによりAND回路348の出力が0(第
1と第2リクエストの場合は1)となりレジスタ
9−3にはこの0がセツトされる。即ち、第3リ
クエストにより主記憶装置100から読出された
8バイトデータのうち後半4バイトのデータは未
使用であり無効とする。
号をレジスタ324で第4サイクルにセツトし、
これをもとに第3のリクエストを第5サイクルで
発行する。レジスタ9−3には第1と第2リクエ
ストの場合と異なり0がセツトされるが、これ
は、レジスタ301の値が1であることを検出す
る検出回路322から1が出力され、このため
AND回路343の出力が1となり、OR回路37
0を介して反転回路312で反転されて0が出力
されることによりAND回路348の出力が0(第
1と第2リクエストの場合は1)となりレジスタ
9−3にはこの0がセツトされる。即ち、第3リ
クエストにより主記憶装置100から読出された
8バイトデータのうち後半4バイトのデータは未
使用であり無効とする。
また、前述の検出回路322から出力される1
が、OR回路374、AND回路356を介して、
最終リクエストであることを示すレジスタ9−4
にセツトされる。
が、OR回路374、AND回路356を介して、
最終リクエストであることを示すレジスタ9−4
にセツトされる。
引続いて、第6サイクルでは、レジスタ325
が1にセツトされ、信号線l3を介してベクトル
命令制御回路1へ終了報告を行なう。
が1にセツトされ、信号線l3を介してベクトル
命令制御回路1へ終了報告を行なう。
次に、第6図bと第8図を用いて、データ変換
制御回路19の動作を記す。
制御回路19の動作を記す。
第7サイクルに主記憶装置100から信号線l
22を介してアドバンスがアドバンスレジスタ1
6に、また、オーダが信号線l23を介してレジ
スタ17−0〜17−4に、また、信号線l24
を介して8バイトの読出しデータのうち、前半4
バイトをレジスタ18−1、後半4バイトをレジ
スタ18−2にセツトする。なお、レジスタ17
−0〜17−4,18−1,18−2へのセツト
は、アドバンスが送出されたときのみ行なわれる
ものとする。
22を介してアドバンスがアドバンスレジスタ1
6に、また、オーダが信号線l23を介してレジ
スタ17−0〜17−4に、また、信号線l24
を介して8バイトの読出しデータのうち、前半4
バイトをレジスタ18−1、後半4バイトをレジ
スタ18−2にセツトする。なお、レジスタ17
−0〜17−4,18−1,18−2へのセツト
は、アドバンスが送出されたときのみ行なわれる
ものとする。
AND回路410からの1出力がOR回路430
を介して第8サイクルで書込み指示レジスタ20
に1がセツトされ、また、AND回路413から
1が出力され、レジスタ450に1がセツトされ
る。さらに、AND回路416からの1出力が、
AND回路420、OR回路432を介してゲート
440を開き、レジスタ18−1の値がOR回路
434を介して第8サイクルにレジスタ22−1
にセツトされ、また、ゲート441と442は閉
じた状態となり、レジスタ22−2には全て0が
セツトされる。
を介して第8サイクルで書込み指示レジスタ20
に1がセツトされ、また、AND回路413から
1が出力され、レジスタ450に1がセツトされ
る。さらに、AND回路416からの1出力が、
AND回路420、OR回路432を介してゲート
440を開き、レジスタ18−1の値がOR回路
434を介して第8サイクルにレジスタ22−1
にセツトされ、また、ゲート441と442は閉
じた状態となり、レジスタ22−2には全て0が
セツトされる。
第8サイクルにはアドバンスがアドバンスレジ
スタ16にセツトされないが、レジスタ450が
1になつているため、OR回路430を介して書
込み指示レジスタ20に第9サイクルで1がセツ
トされる。このとき、レジスタ450にはAND
回路410が0出力となるため0がセツトされ
る。また、AND回路433から1が出力される
ことによりゲート441のみが開き、レジスタ1
8−2の値が第9サイクルでレジスタ22−1に
セツトされる。即ち、第8と第9サイクルに信号
線l25を介して、書込み指示信号がベクトルレ
ジスタ書込み回路23に転送され、このとき、第
8サイクルには読出した8バイトデータの前半4
バイトを、第9サイクルには後半4バイトを転送
する。
スタ16にセツトされないが、レジスタ450が
1になつているため、OR回路430を介して書
込み指示レジスタ20に第9サイクルで1がセツ
トされる。このとき、レジスタ450にはAND
回路410が0出力となるため0がセツトされ
る。また、AND回路433から1が出力される
ことによりゲート441のみが開き、レジスタ1
8−2の値が第9サイクルでレジスタ22−1に
セツトされる。即ち、第8と第9サイクルに信号
線l25を介して、書込み指示信号がベクトルレ
ジスタ書込み回路23に転送され、このとき、第
8サイクルには読出した8バイトデータの前半4
バイトを、第9サイクルには後半4バイトを転送
する。
次に、第9サイクルでアドバンスレジスタ16
にアドバンスがセツトされるが、この場合も前と
同様の処理となる。
にアドバンスがセツトされるが、この場合も前と
同様の処理となる。
最後に、第11サイクルでアドバンスがセツトさ
れるが、このときのオーダは01101となる。第12
サイクルで書込み指示レジスタ20が1にセツト
されるが、レジスタ17−3が0のためAND回
路413の出力が0となりレジスタ450には0
がセツトされる。このとき同時に、AND回路4
15の出力が1となり、OR回路432を介して
ゲート440に1が入力されることによりレジス
タ18−1の値がレジスタ22−1にセツトされ
る。なお、ゲート441と442は開かず、レジ
スタ22−2には全て0がセツトされる。さら
に、AND回路418から1が出力され、OR回路
431、AND回路419を介して、第12サイク
ルで書込み終了指示レジスタ21に初めて1がセ
ツトされ、処理が終了したことを信号線l26を
介してベクトルレジスタ書込み回路23に転送さ
れる。
れるが、このときのオーダは01101となる。第12
サイクルで書込み指示レジスタ20が1にセツト
されるが、レジスタ17−3が0のためAND回
路413の出力が0となりレジスタ450には0
がセツトされる。このとき同時に、AND回路4
15の出力が1となり、OR回路432を介して
ゲート440に1が入力されることによりレジス
タ18−1の値がレジスタ22−1にセツトされ
る。なお、ゲート441と442は開かず、レジ
スタ22−2には全て0がセツトされる。さら
に、AND回路418から1が出力され、OR回路
431、AND回路419を介して、第12サイク
ルで書込み終了指示レジスタ21に初めて1がセ
ツトされ、処理が終了したことを信号線l26を
介してベクトルレジスタ書込み回路23に転送さ
れる。
最後に、第3図bで示したように、ベクトルデ
ータE(1−5)を主記憶装置100から読出し
てベクトルレジスタ200−1に書込む動作を、
第6図cと第7図,第8を用いて説明する。
ータE(1−5)を主記憶装置100から読出し
てベクトルレジスタ200−1に書込む動作を、
第6図cと第7図,第8を用いて説明する。
処理要素数lは5、先頭要素アドレスは0100、
増分値は20、各要素のデータ巾は4バイトである
ため、第7図に於て、レジスタ301には処理要
素数の5が、レジスタ302にはデータ巾が4バ
イトであることを示す1が、レジスタ303には
増分値が4以外であることを示す0が、レジスタ
304には先頭要素アドレスが4バイト境界でな
い(8バイト境界)ことを示す0が、レジスタ3
05には1(但し、リクエストが送出されると0
にリセツト)がセツトされる。第7図に於けるリ
クエスト発行制御回路7の動作は、この第2図a
の場合と似ているが以下の点で異なる。
増分値は20、各要素のデータ巾は4バイトである
ため、第7図に於て、レジスタ301には処理要
素数の5が、レジスタ302にはデータ巾が4バ
イトであることを示す1が、レジスタ303には
増分値が4以外であることを示す0が、レジスタ
304には先頭要素アドレスが4バイト境界でな
い(8バイト境界)ことを示す0が、レジスタ3
05には1(但し、リクエストが送出されると0
にリセツト)がセツトされる。第7図に於けるリ
クエスト発行制御回路7の動作は、この第2図a
の場合と似ているが以下の点で異なる。
即ち、レジスタ9−2と9−3にセツトするオ
ーダビツトの2と3の作成方法が次のように異な
る。信号線l33を介して、各要素に対応するア
ドレスが4バイト境界にあれば1を、8バイト境
界にあれば0をアドレス発生回路10から受取る
ことにより、オーダビツト2に対してはAND回
路347の出力から、オーダビツト3に対しては
AND回路349の出力から得られる。
ーダビツトの2と3の作成方法が次のように異な
る。信号線l33を介して、各要素に対応するア
ドレスが4バイト境界にあれば1を、8バイト境
界にあれば0をアドレス発生回路10から受取る
ことにより、オーダビツト2に対してはAND回
路347の出力から、オーダビツト3に対しては
AND回路349の出力から得られる。
また、第8図のデータ変換制御回路19の動作
も、第2図aの場合と似ているが、次の点で異な
る。
も、第2図aの場合と似ているが、次の点で異な
る。
即ち、レジスタ17−2と17−3にセツトさ
れた値に基づき、レジスタ17−2(レジスタ1
7−3は0)が1であれば、AND回路415か
ら1が出力され、OR回路423を介してゲート
440のみを開き、レジスタ18−1の値をレジ
スタ22−1にセツトする。なお、レジスタ22
−2はゲート442が開かれず全て0がセツトさ
れる。
れた値に基づき、レジスタ17−2(レジスタ1
7−3は0)が1であれば、AND回路415か
ら1が出力され、OR回路423を介してゲート
440のみを開き、レジスタ18−1の値をレジ
スタ22−1にセツトする。なお、レジスタ22
−2はゲート442が開かれず全て0がセツトさ
れる。
また、レジスタ17−3が1(レジスタ17−
2は0)であれば、AND回路417から1が出
力され、OR回路433を介してゲート441の
みを開き、レジスタ18−2の値をレジスタ22
−1にセツトし、レジスタ22−2には全て0が
セツトされる。
2は0)であれば、AND回路417から1が出
力され、OR回路433を介してゲート441の
みを開き、レジスタ18−2の値をレジスタ22
−1にセツトし、レジスタ22−2には全て0が
セツトされる。
以上のようにして、本発明によれば、ベクトル
レジスタの各要素のためのデータ巾より小さいデ
ータをメモリから連続して読み出し、ベクトルレ
ジスタに連続して書込むことが可能となる。
レジスタの各要素のためのデータ巾より小さいデ
ータをメモリから連続して読み出し、ベクトルレ
ジスタに連続して書込むことが可能となる。
第1図は従来のベクトルプロセツサの概略構成
図、第2図は従来技術による、ベクトルレジスタ
へのデータの格納の仕方の説明図、第3図は本発
明による、ベクトルレジスタへのデータの格納の
仕方の説明図、第4図は本発明によるベクトルプ
ロセツサの概略構成図、第5図は第4図のプロセ
ツサで用いるリクエストオーダの構成図、第6図
は第4図のプロセツサの動作のタイムチヤート、
第7図は第4図のリクエスト発行制御回路の詳細
回路図、第8図は第4図のデータ変換制御回路の
詳細回路図。
図、第2図は従来技術による、ベクトルレジスタ
へのデータの格納の仕方の説明図、第3図は本発
明による、ベクトルレジスタへのデータの格納の
仕方の説明図、第4図は本発明によるベクトルプ
ロセツサの概略構成図、第5図は第4図のプロセ
ツサで用いるリクエストオーダの構成図、第6図
は第4図のプロセツサの動作のタイムチヤート、
第7図は第4図のリクエスト発行制御回路の詳細
回路図、第8図は第4図のデータ変換制御回路の
詳細回路図。
Claims (1)
- 【特許請求の範囲】 1 一回のデータ読み出しが長さmより大きい長
さlづつ離れたアドレス境界の一つから始まる長
さlのデータについて行なわれる主記憶装置と、
長さlのデータを保持する記憶エリアをそれぞれ
複数有する複数のベクトルレジスタと、該複数の
ベクトルレジスタの一つから順次読み出された複
数のデータに順次演算を施す演算手段と、を有す
るベクトル処理装置において、該主記憶装置から
長さmのベクトル要素からなるベクトルデータの
少くとも一つのベトクル要素をそれぞれ含む長さ
lの複数のデータを順次読み出すことにより該ベ
クトルデータを読み出す手段と、該主記憶装置よ
り読み出された長さlの複数のデータ内のベクト
ル要素を該複数のベクトルレジスタの一つに選択
的に書き込む手段を設け、該書き込み手段は、該
ベクトルデータの各要素が該一つのベクトルレジ
スタのあらかじめ定めた、記憶エリア内位置に書
き込まれるように、少くとも一部の長さlの読み
出しデータに含まれる少くとも一つのベクトル要
素の位置をシフトして書き込む手段を有するベク
トル処理装置。 2 該あらかじめ定めた記憶エリア内位置は、い
ずれのベクトル要素かに無関係に定めた位置であ
る第1項のベクトル処理装置。 3 該あらかじめ定めた記憶エリア内位置は、該
演算手段に供給されるべきデータが占めるべき位
置である第1項のベクトル処理装置。 4 一回のデータ読み出しが長さmの複数倍以上
の長さlづつ離れたアドレス境界の一つから始ま
る長さlのデータについて行なわれる主記憶装置
と、長さmの該複数倍以上の長さのデータを保持
する複数の記憶エリアをそれぞれ有する複数のベ
クトルレジスタと、該複数のベクトルレジスタの
一つから順次読み出された複数のデータに順次演
算を施す演算手段とを有するベクトル処理装置に
おいて、長さmのベクトル要素からなるベクトル
データのベクトル要素を少くとも一つ含む長さl
の複数のデータ該主記憶装置から順次読み出すこ
とにより該ベクトルデータを読み出す手段と、該
主記憶装置より読み出された長さlの複数のデー
タ内のベクトル要素を該複数のベクトルレジスタ
の一つに選択的に書き込む手段とを設け、該書き
込み手段は、長さlの読み出しデータ中に、複数
のベクトル要素が含まれる場合、それぞれのベク
トル要素を、該一つのベクトルレジスタ内のそれ
ぞれの要素ごとに定めた異なる記憶エリアに順次
書き込む手段を有するベクトル処理装置。 5 一回のデータ読み出しが長さmの複数倍以上
の長さlづつ離れたアドレス境界の一つから始ま
る長さlのデータについて行なわれる主記憶装置
と、長さmの該複数倍以上の長さのデータを保持
する複数の記憶エリアをそれぞれ有する複数のベ
クトルレジスタと、該複数のベクトルレジスタの
一つから順次読み出された複数のデータに順次演
算を施す演算手段とを有するベクトル処理装置に
おいて、長さmのベクトル要素からなるベクトル
データのベクトル要素を少くとも一つ含む長さl
の複数のデータを該主記憶装置から順次読み出す
ことにより該ベクトルデータを読み出す手段と、
該主記憶装置より読み出された長さlの複数のデ
ータ内のベクトル要素を該複数のベクトルレジス
タの一つに選択的に書き込む手段とを設け、該書
き込み手段は、長さlの読み出しデータ中に、複
数のベクトル要素が含まれる場合、それぞれのベ
クトル要素を該一つのベクトルレジスタ内のそれ
ぞれの要素ごとに定めた異なる記憶エリアに順次
書き込むとともに、それらのベクトルに要素の少
くとも一部をあらかじめ定めた記憶エリア内位置
にシフトして書き込む手段を有するベクトル処理
装置。 6 該あらかじめ定めた記憶エリア内位置は、い
ずれのベクトル要素かに無関係に定めた位置であ
る第5項のベクトル処理装置。 7 該あらかじめ定めた記憶エリア内位置は、該
演算手段に供給されるべきデータが占めるべき位
置である第5項のベクトル処理装置。 8 一回のデータ読み出しが長さmの複数倍以上
の長さlづつ離れたアドレス境界の一つから始ま
る長さlのデータについて行なわれる主記憶装置
と、長さmの該複数倍以上の長さデータを保持す
る複数の記憶エリアをそれぞれ有する複数のベク
トルレジスタと、該複数のベクトルレジスタの一
つから順次読み出された複数のデータに順次演算
を施す演算手段とを有するベクトル処理装置にお
いて、長さmのベクトル要素からなるベクトルデ
ータのベクトル要素を少くとも一つ含む長さlの
複数データを該主記憶装置から順次読み出すこと
により該ベクトルデータを読み出す手段と、該主
記憶装置より読み出された長さlの複数のデータ
内のベクトル要素を該複数のベクトルレジスタの
一つに選択的に書き込む手段とを設け、該読み出
し手段は次に読み出すべき長さlのデータ中のい
ずれの部分に有効なベクトル要素が含まれている
かを示す制御信号を生成する手段を有し、該書き
込み手段は、該主記憶装置からの長さlの読出し
データに含まれるベクトル要素の該一つベクトル
レジスタへの書き込みを該長さlの読み出しデー
タに対して生成された制御信号に応答して制御す
る手段を有するベクトル処理装置。 9 該制御手段は、一つの長さlの読み出しデー
タに含まれる一つのベクトル要素を書き込むべ
き、記憶エリア内位置を該制御信号に応答して制
御する手段を有する第8項のベクトル処理装置。 10 該制御手段は、一つの長さlの読み出しデ
ータに含まれる複数のベクトル要素のそれぞれを
書き込むべき記憶エリアを該制御信号に応答して
異ならしめる手段を有する第8項のベクトル処理
装置。 11 該制御手段はそれら複数のベクトル要素を
書き込むべき、記憶エリア内位置を該制御信号に
応答して制御する手段をさらに有する第10項の
ベクトル処理装置。 12 該読み出し手段は次に読み出すべき長さl
のデータに対する読出し要求とともに該データに
対して生成した制御信号を該主記憶装置に送出す
る手段をさらに有し、該主記憶装置は、該読み出
し要求に応答して該データを読み出し、該データ
に対して該読み出し手段から供給された制御信号
を該読み出されたデータと同期して、該書き込み
手段に転送する手段を有する第8項のベクトル処
理装置。 13 該読み出し手段は、次に読み出すべき長さ
lのデータ中に含まれるベクトル要素に依存し
て、さらに後続して読み出すべき長さlのデータ
の読出し要求の該主記憶装置への送出タイミング
を変化させる手段を有する第8項のベクトル処理
装置。 14 該読み出し手段は長さlのベクトル要素か
らなるベクトルデータ又は長さmのベクトル要素
からなるベクトルデータを切りかえて読み出す手
段からなり、該制御信号は主記憶装置から次に読
み出すべき長さlのデータが長さmのベクトル要
素を含むか長さlのベクトル要素を含むかも表わ
す信号である第8項のベクトル処理装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57184553A JPS5975365A (ja) | 1982-10-22 | 1982-10-22 | ベクトル処理装置 |
| GB08327931A GB2130767B (en) | 1982-10-22 | 1983-10-19 | Vector processor |
| DE19833338345 DE3338345A1 (de) | 1982-10-22 | 1983-10-21 | Vektor prozessor |
| US07/021,590 US4825361A (en) | 1982-10-22 | 1987-03-02 | Vector processor for reordering vector data during transfer from main memory to vector registers |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57184553A JPS5975365A (ja) | 1982-10-22 | 1982-10-22 | ベクトル処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5975365A JPS5975365A (ja) | 1984-04-28 |
| JPH0425582B2 true JPH0425582B2 (ja) | 1992-05-01 |
Family
ID=16155212
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57184553A Granted JPS5975365A (ja) | 1982-10-22 | 1982-10-22 | ベクトル処理装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4825361A (ja) |
| JP (1) | JPS5975365A (ja) |
| DE (1) | DE3338345A1 (ja) |
| GB (1) | GB2130767B (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9045643B2 (en) | 2006-04-21 | 2015-06-02 | Nippon Sheet Glass Company Limited | Bright pigment, method for producing the pigment, and waterborne resin composition containing the pigment |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3585972D1 (de) * | 1984-07-02 | 1992-06-11 | Nec Corp | Rechner-vektorregisterverarbeitung. |
| JP2667806B2 (ja) * | 1985-10-11 | 1997-10-27 | 株式会社日立製作所 | ベクトルプロセツサ |
| JPS62208167A (ja) * | 1986-03-10 | 1987-09-12 | Hitachi Ltd | ベクトル処理装置 |
| US5167018A (en) * | 1986-09-24 | 1992-11-24 | Daikin Industries, Ltd. | Polygon-filling apparatus |
| US4949247A (en) * | 1988-02-23 | 1990-08-14 | Stellar Computer, Inc. | System for transferring multiple vector data elements to and from vector memory in a single operation |
| JPH0792779B2 (ja) * | 1988-10-08 | 1995-10-09 | 日本電気株式会社 | データ転送制御装置 |
| JP2531760B2 (ja) * | 1988-10-11 | 1996-09-04 | 日本電気株式会社 | ベクトル処理装置 |
| JP2607689B2 (ja) * | 1989-07-10 | 1997-05-07 | 株式会社日立製作所 | ベクトル処理装置 |
| US5170370A (en) * | 1989-11-17 | 1992-12-08 | Cray Research, Inc. | Vector bit-matrix multiply functional unit |
| WO1992009968A1 (en) * | 1990-11-27 | 1992-06-11 | Cray Research, Inc. | VECTOR WORD SHIFT BY Vo SHIFT COUNT IN VECTOR SUPERCOMPUTER PROCESSOR |
| JP3117096B2 (ja) * | 1992-01-30 | 2000-12-11 | 富士通株式会社 | マイクロプロセッサ |
| US5848286A (en) * | 1994-03-29 | 1998-12-08 | Cray Research, Inc. | Vector word shift by vo shift count in vector supercomputer processor |
| US5881302A (en) * | 1994-05-31 | 1999-03-09 | Nec Corporation | Vector processing unit with reconfigurable data buffer |
| US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
| US7415601B2 (en) * | 2002-06-28 | 2008-08-19 | Motorola, Inc. | Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters |
| US7140019B2 (en) * | 2002-06-28 | 2006-11-21 | Motorola, Inc. | Scheduler of program instructions for streaming vector processor having interconnected functional units |
| US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
| GB2394571B (en) * | 2002-10-23 | 2005-08-10 | Motorola Inc | Arrangement system and method for vector permutation in single-instruction multiple-data microprocessors |
| US7299338B2 (en) * | 2002-12-04 | 2007-11-20 | Agere Systems Inc. | Vector indexed memory unit and method |
| GB2399900B (en) * | 2003-03-27 | 2005-10-05 | Micron Technology Inc | Data reording processor and method for use in an active memory device |
| US7290122B2 (en) * | 2003-08-29 | 2007-10-30 | Motorola, Inc. | Dataflow graph compression for power reduction in a vector processor |
| US7610466B2 (en) * | 2003-09-05 | 2009-10-27 | Freescale Semiconductor, Inc. | Data processing system using independent memory and register operand size specifiers and method thereof |
| US7275148B2 (en) * | 2003-09-08 | 2007-09-25 | Freescale Semiconductor, Inc. | Data processing system using multiple addressing modes for SIMD operations and method thereof |
| US7315932B2 (en) * | 2003-09-08 | 2008-01-01 | Moyer William C | Data processing system having instruction specifiers for SIMD register operands and method thereof |
| US20070226469A1 (en) * | 2006-03-06 | 2007-09-27 | James Wilson | Permutable address processor and method |
| US7945768B2 (en) * | 2008-06-05 | 2011-05-17 | Motorola Mobility, Inc. | Method and apparatus for nested instruction looping using implicit predicates |
| US8060724B2 (en) * | 2008-08-15 | 2011-11-15 | Freescale Semiconductor, Inc. | Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor |
| JP5658556B2 (ja) * | 2010-12-24 | 2015-01-28 | 富士通株式会社 | メモリ制御装置、及びメモリ制御方法 |
| US9342479B2 (en) | 2012-08-23 | 2016-05-17 | Qualcomm Incorporated | Systems and methods of data extraction in a vector processor |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3585608A (en) * | 1966-06-23 | 1971-06-15 | Hewlett Packard Co | Random access memory |
| US3573851A (en) * | 1968-07-11 | 1971-04-06 | Texas Instruments Inc | Memory buffer for vector streaming |
| US3794984A (en) * | 1971-10-14 | 1974-02-26 | Raytheon Co | Array processor for digital computers |
| US3812473A (en) * | 1972-11-24 | 1974-05-21 | Ibm | Storage system with conflict-free multiple simultaneous access |
| US3827031A (en) * | 1973-03-19 | 1974-07-30 | Instr Inc | Element select/replace apparatus for a vector computing system |
| US3919534A (en) * | 1974-05-17 | 1975-11-11 | Control Data Corp | Data processing system |
| JPS5148937A (en) * | 1974-10-25 | 1976-04-27 | Fujitsu Ltd | Kiokusochi niokeru junjoseigyohoshiki |
| US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
| JPS5852265B2 (ja) * | 1977-01-12 | 1983-11-21 | 株式会社日立製作所 | デ−タ処理装置 |
| JPS6055864B2 (ja) * | 1980-07-21 | 1985-12-06 | 株式会社日立製作所 | ベクトルプロセツサ |
| KR860001434B1 (ko) * | 1980-11-21 | 1986-09-24 | 후지쑤 가부시끼가이샤 | 데이타 처리시 스템 |
| JPS57209570A (en) * | 1981-06-19 | 1982-12-22 | Fujitsu Ltd | Vector processing device |
| JPS59111569A (ja) * | 1982-12-17 | 1984-06-27 | Hitachi Ltd | ベクトル処理装置 |
| US4661900A (en) * | 1983-04-25 | 1987-04-28 | Cray Research, Inc. | Flexible chaining in vector processor with selective use of vector registers as operand and result registers |
-
1982
- 1982-10-22 JP JP57184553A patent/JPS5975365A/ja active Granted
-
1983
- 1983-10-19 GB GB08327931A patent/GB2130767B/en not_active Expired
- 1983-10-21 DE DE19833338345 patent/DE3338345A1/de active Granted
-
1987
- 1987-03-02 US US07/021,590 patent/US4825361A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9045643B2 (en) | 2006-04-21 | 2015-06-02 | Nippon Sheet Glass Company Limited | Bright pigment, method for producing the pigment, and waterborne resin composition containing the pigment |
Also Published As
| Publication number | Publication date |
|---|---|
| DE3338345A1 (de) | 1984-04-26 |
| DE3338345C2 (ja) | 1989-03-30 |
| GB2130767B (en) | 1986-05-08 |
| US4825361A (en) | 1989-04-25 |
| GB2130767A (en) | 1984-06-06 |
| JPS5975365A (ja) | 1984-04-28 |
| GB8327931D0 (en) | 1983-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0425582B2 (ja) | ||
| US3614746A (en) | Memory addressing device using arbitrary directed graph structure | |
| JPH0545985B2 (ja) | ||
| JPS63163930A (ja) | アライメント補正方式 | |
| US4136383A (en) | Microprogrammed, multipurpose processor having controllable execution speed | |
| JPS58133696A (ja) | 記憶制御方式 | |
| JPH0363092B2 (ja) | ||
| JPS6211736B2 (ja) | ||
| JPS6055911B2 (ja) | 主記憶装置 | |
| JP2576589B2 (ja) | 仮想記憶アクセス制御方式 | |
| JPH0474746B2 (ja) | ||
| JPH03218524A (ja) | 命令処理装置 | |
| JPS6042972B2 (ja) | アドレス変換機能を有する情報処理装置 | |
| JPH0420490B2 (ja) | ||
| JP2581144B2 (ja) | バス制御装置 | |
| JPS59226956A (ja) | デ−タ制御システム | |
| JPS6054056A (ja) | ビットデ−タ書込メモリインタ−フェ−ス回路 | |
| JPS6336021B2 (ja) | ||
| JPH0412491B2 (ja) | ||
| US7099345B2 (en) | Method and system for buffering a data packet for transmission to a network | |
| JP3216148B2 (ja) | 並び替え機能付きデータ転送装置 | |
| JPS62144265A (ja) | デ−タ転送方式 | |
| JPS61267162A (ja) | デ−タ転送装置 | |
| JPH0526216B2 (ja) | ||
| JPS6337412B2 (ja) |