JPH10334081A - リストベクトル処理装置 - Google Patents
リストベクトル処理装置Info
- Publication number
- JPH10334081A JPH10334081A JP9139975A JP13997597A JPH10334081A JP H10334081 A JPH10334081 A JP H10334081A JP 9139975 A JP9139975 A JP 9139975A JP 13997597 A JP13997597 A JP 13997597A JP H10334081 A JPH10334081 A JP H10334081A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- processing
- elements
- address
- output
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 211
- 230000001174 ascending effect Effects 0.000 claims abstract description 5
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 239000000872 buffer Substances 0.000 claims description 27
- 230000000873 masking effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000010365 information processing Effects 0.000 description 2
Landscapes
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 前半N個、後半N個、…のように連続するア
ドレスベクトルのそれぞれに同一のアドレスベクトル要
素が存在する場合、要素番号が一番大きいアドレスベク
トル要素、つまり一番最後の前半N個あるいは後半N個
のなかのアドレスベクトル要素のみに主記憶に対するデ
ータ書き込みを行わせる。 【解決手段】 4個のベクトル処理装置1〜4に昇順に
番号づけたI個のベクトル要素を割り振り、前記4個の
ベクトル処理装置1〜4からベクトル要素を比較して一
致するベクトル要素があるとき、一致するものの中でベ
クトル要素番号の最も大きいベクトル要素を主記憶アク
セスデータとして送出し、それ以外のベクトル要素の送
出を抑止する。
ドレスベクトルのそれぞれに同一のアドレスベクトル要
素が存在する場合、要素番号が一番大きいアドレスベク
トル要素、つまり一番最後の前半N個あるいは後半N個
のなかのアドレスベクトル要素のみに主記憶に対するデ
ータ書き込みを行わせる。 【解決手段】 4個のベクトル処理装置1〜4に昇順に
番号づけたI個のベクトル要素を割り振り、前記4個の
ベクトル処理装置1〜4からベクトル要素を比較して一
致するベクトル要素があるとき、一致するものの中でベ
クトル要素番号の最も大きいベクトル要素を主記憶アク
セスデータとして送出し、それ以外のベクトル要素の送
出を抑止する。
Description
【0001】
【発明の属する技術分野】本発明はリストベクトル処理
装置に関し、特にリストベクトルのストア命令を実行す
るリストベクトル処理装置に関する。
装置に関し、特にリストベクトルのストア命令を実行す
るリストベクトル処理装置に関する。
【0002】
【従来の技術】リストベクトルのストア命令とは、I個
のアドレスベクトル要素それぞれが示す主記憶上のアド
レスにベクトル要素番号の若い順にデータを書き込む命
令である。アドレスベクトル要素をM個のベクトル処理
装置に分散し、それぞれ並列に処理させる場合、各アド
レス要素をアクセスする際にメモリアクセスの順をリス
トベクトルの要素の並びの順で行うために、M個のベク
トル処理装置から同じタイミングで出力したM個のアド
レスベクトル要素を比較して同一のアドレスベクトル要
素があった場合、その中で一番ベクトル要素番号の大き
いただ一つのアドレスベクトル要素にだけ主記憶へデー
タを書き込ませ、その他のアドレスベクトル要素には主
記憶へのデータ書き込みを抑止させる。このようにして
主記憶へのアクセス回数を減らし、リストベクトルのス
トア命令の実行時間を短縮している。
のアドレスベクトル要素それぞれが示す主記憶上のアド
レスにベクトル要素番号の若い順にデータを書き込む命
令である。アドレスベクトル要素をM個のベクトル処理
装置に分散し、それぞれ並列に処理させる場合、各アド
レス要素をアクセスする際にメモリアクセスの順をリス
トベクトルの要素の並びの順で行うために、M個のベク
トル処理装置から同じタイミングで出力したM個のアド
レスベクトル要素を比較して同一のアドレスベクトル要
素があった場合、その中で一番ベクトル要素番号の大き
いただ一つのアドレスベクトル要素にだけ主記憶へデー
タを書き込ませ、その他のアドレスベクトル要素には主
記憶へのデータ書き込みを抑止させる。このようにして
主記憶へのアクセス回数を減らし、リストベクトルのス
トア命令の実行時間を短縮している。
【0003】
【発明が解決しようとする課題】上記のリストベクトル
処理装置において、同じタイミングで入力したM個のア
ドレスベクトル要素についてだけでなく、連続するM個
のアドレスベクトル要素に一致するものがあるかぎり、
一致するアドレスベクトル要素の中でベクトル要素番号
の最も大きいものにのみ主記憶へのデータ書き込みを行
わせるためには、先行するM個のアドレスベクトル要素
について一致判定を行う一致判定回路を設け、その一致
判定回路を使用して後続のM個のアドレスベクトル要素
についても一致判定を行い、さらに先行するM個と後続
のM個のいずれが一致しているか判定する一致判定回路
も設ける必要がある。
処理装置において、同じタイミングで入力したM個のア
ドレスベクトル要素についてだけでなく、連続するM個
のアドレスベクトル要素に一致するものがあるかぎり、
一致するアドレスベクトル要素の中でベクトル要素番号
の最も大きいものにのみ主記憶へのデータ書き込みを行
わせるためには、先行するM個のアドレスベクトル要素
について一致判定を行う一致判定回路を設け、その一致
判定回路を使用して後続のM個のアドレスベクトル要素
についても一致判定を行い、さらに先行するM個と後続
のM個のいずれが一致しているか判定する一致判定回路
も設ける必要がある。
【0004】従来、一回で処理可能なアドレスベクトル
要素の数を2N個のように偶数個とし、ベクトル要素番
号順にN個とN個に分ける。ここで、ベクトル要素番号
が小さいN個を前半N個と称する。ベクトル要素番号の
大きいN個を後半N個と称する。そして、従来の処理は
毎回、前後半2N個で処理しており、さらに後続するベ
クトル要素には対応することができない。
要素の数を2N個のように偶数個とし、ベクトル要素番
号順にN個とN個に分ける。ここで、ベクトル要素番号
が小さいN個を前半N個と称する。ベクトル要素番号の
大きいN個を後半N個と称する。そして、従来の処理は
毎回、前後半2N個で処理しており、さらに後続するベ
クトル要素には対応することができない。
【0005】本発明の目的は、前半N個、後半N個、…
のように連続するアドレスベクトルのそれぞれに同一の
アドレスベクトル要素が存在する場合、要素番号が一番
大きいアドレスベクトル要素、つまり一番最後の前半N
個あるいは後半N個のなかのアドレスベクトル要素のみ
に主記憶に対するデータ書き込みを行わせるようにして
上記の欠点を回避して、主記憶アクセス回数を減らし、
リストベクトルのストア命令の性能を向上させるリスト
ベクトル処理装置を提供することにある。
のように連続するアドレスベクトルのそれぞれに同一の
アドレスベクトル要素が存在する場合、要素番号が一番
大きいアドレスベクトル要素、つまり一番最後の前半N
個あるいは後半N個のなかのアドレスベクトル要素のみ
に主記憶に対するデータ書き込みを行わせるようにして
上記の欠点を回避して、主記憶アクセス回数を減らし、
リストベクトルのストア命令の性能を向上させるリスト
ベクトル処理装置を提供することにある。
【0006】
【課題を解決するための手段】本発明のリストベクトル
処理装置は、複数個のベクトル処理装置が主記憶装置に
それぞれアクセスするアドレスを示す複数個のアドレス
ベクトルを入力し、前記アドレスベクトルのベクトル要
素に一致するものがあるとき、一致するものの中でベク
トル要素番号の最も大きいものを主記憶アクセスデータ
として送出するようにして構成される。
処理装置は、複数個のベクトル処理装置が主記憶装置に
それぞれアクセスするアドレスを示す複数個のアドレス
ベクトルを入力し、前記アドレスベクトルのベクトル要
素に一致するものがあるとき、一致するものの中でベク
トル要素番号の最も大きいものを主記憶アクセスデータ
として送出するようにして構成される。
【0007】また、本発明のリストベクトル処理装置
は、2N個のベクトル処理装置からアドレスベクトルを
それぞれに入力するリストベクトル処理装置において、
前記2N個のベクトル処理装置に昇順に番号づけたI個
のベクトル要素を割り振り、前記2N個のベクトル処理
装置からベクトル要素をそれぞれI/2N回連続して入
力するとき同時に入力した2N個のベクトル要素を比較
して一致するベクトル要素があるとき、一致するものの
中でベクトル要素番号の最も大きいベクトル要素を主記
憶アクセスデータとして送出し、それ以外のベクトル要
素の送出を抑止するようにして構成される。
は、2N個のベクトル処理装置からアドレスベクトルを
それぞれに入力するリストベクトル処理装置において、
前記2N個のベクトル処理装置に昇順に番号づけたI個
のベクトル要素を割り振り、前記2N個のベクトル処理
装置からベクトル要素をそれぞれI/2N回連続して入
力するとき同時に入力した2N個のベクトル要素を比較
して一致するベクトル要素があるとき、一致するものの
中でベクトル要素番号の最も大きいベクトル要素を主記
憶アクセスデータとして送出し、それ以外のベクトル要
素の送出を抑止するようにして構成される。
【0008】また、本発明のリストベクトル処理装置
は、前記2N個のベクトル処理装置からアドレスを受け
る2N個のバッファと、前記バッファの二つから読み出
されたアドレスおよびアドレス情報レジスタの出力のい
ずれかを選択するN個の3入力アドレスセレクタと、前
記バッファの二つから読み出されたアドレスのどちらか
を選択するN個の2入力アドレスセレクタと、前記2入
力アドレスセレクタおよび3入力アドレスセレクタの出
力を保持する2N個のアドレス情報レジスタと、前記ア
ドレス情報レジスタの出力を保持する2N個のアドレス
持ち回りレジスタと、前記アドレス持ち回りレジスタの
アドレスをイネーブル生成回路の出力で選択する2N入
力アドレスセレクタと、前記2N入力アドレスセレクタ
の出力を保持して主記憶制御装置にアドレスを出力する
主記憶アクセスアドレスレジスタと、前記アドレス情報
レジスタのそれぞれのアドレスが一致しているか判定す
る一致判定回路と、前記一致判定回路の判定結果に従っ
てベクトル処理の単位を2N要素処理かN要素処理かの
いずれかに判定する処理単位判定回路と、前記一致判定
回路の判定結果に従って主記憶へデータを書き込むベク
トル要素を決定する要素決定回路と、前記処理単位判定
回路の判定結果がN要素処理のとき前記要素決定回路の
出力のベクトル要素番号の大きいほうのN個の要素をマ
スクする要素マスク回路と、前記要素マスク回路の出力
を保持する実行要素レジスタと、次回のベクトル要素の
処理単位を判定する前記処理単位判定回路の出力と今回
処理中のベクトル要素の処理状態を示す処理状態レジス
タの出力から次回のベクトル要素の処理状態を判定する
処理状態判定回路と、前記処理状態判定回路の出力を保
持する処理状態レジスタと、前記実行要素レジスタの出
力とすでに処理された要素を示す実行済要素レジスタの
出力から未処理のベクトル要素を判定する未処理要素判
定回路と、前記未処理要素判定回路の出力より未処理の
ベクトル要素の中でベクトル要素番号の一番小さいベク
トル要素を優先してどのベクトル処理装置からのデータ
を主記憶へ書き込むか判断するためのイネーブル情報を
生成するイネーブル生成回路と、前記処理状態レジスタ
が後半N個の要素の処理あるいは後前半2N個の要素の
処理のときにイネーブル生成回路の出力を入れ替えるイ
ネーブル入れ替え回路と、前記イネーブル入れ替え回路
の出力を保持して主記憶制御装置にイネーブル情報を出
力するイネーブル出力レジスタと、N要素処理あるいは
2N要素処理の処理単位のすべてのベクトル要素の処理
が終わったら実行済要素レジスタをリセットするデータ
を生成し,処理単位のベクトル要素の処理が終わってい
ないならばイネーブル生成回路で示される新しく処理さ
れるベクトル要素をすでに処理が完了しているベクトル
要素に加えたデータを生成する実行済要素決定回路と、
前記実行済要素決定回路の出力を保持する実行済要素レ
ジスタと、処理単位が2N個の要素のときベクトル要素
の処理時間を前記要素マスク回路の出力から生成し,毎
サイクル処理時間をデクリメントする2N要素処理時間
生成回路の出力を保持する2N要素処理時間レジスタ
と、処理単位がN個の要素のときベクトル要素の処理時
間を前記要素マスク回路の出力から生成し,毎サイクル
処理時間をデクリメントするN要素処理時間生成回路
と、前記N要素処理時間生成回路の出力を保持するN要
素処理時間レジスタと、処理単位が2N個の要素あるい
はN個の要素のときのベクトル要素の処理終了を判定す
る処理終了判定回路と、前記処理状態判定回路および前
記処理終了判定回路の出力に従って前記バッファの読み
出しアドレスの更新信号,前記2入力アドレスセレクタ
および3入力アドレスセレクタのセレクト信号を生成す
る制御回路とを有して構成される。
は、前記2N個のベクトル処理装置からアドレスを受け
る2N個のバッファと、前記バッファの二つから読み出
されたアドレスおよびアドレス情報レジスタの出力のい
ずれかを選択するN個の3入力アドレスセレクタと、前
記バッファの二つから読み出されたアドレスのどちらか
を選択するN個の2入力アドレスセレクタと、前記2入
力アドレスセレクタおよび3入力アドレスセレクタの出
力を保持する2N個のアドレス情報レジスタと、前記ア
ドレス情報レジスタの出力を保持する2N個のアドレス
持ち回りレジスタと、前記アドレス持ち回りレジスタの
アドレスをイネーブル生成回路の出力で選択する2N入
力アドレスセレクタと、前記2N入力アドレスセレクタ
の出力を保持して主記憶制御装置にアドレスを出力する
主記憶アクセスアドレスレジスタと、前記アドレス情報
レジスタのそれぞれのアドレスが一致しているか判定す
る一致判定回路と、前記一致判定回路の判定結果に従っ
てベクトル処理の単位を2N要素処理かN要素処理かの
いずれかに判定する処理単位判定回路と、前記一致判定
回路の判定結果に従って主記憶へデータを書き込むベク
トル要素を決定する要素決定回路と、前記処理単位判定
回路の判定結果がN要素処理のとき前記要素決定回路の
出力のベクトル要素番号の大きいほうのN個の要素をマ
スクする要素マスク回路と、前記要素マスク回路の出力
を保持する実行要素レジスタと、次回のベクトル要素の
処理単位を判定する前記処理単位判定回路の出力と今回
処理中のベクトル要素の処理状態を示す処理状態レジス
タの出力から次回のベクトル要素の処理状態を判定する
処理状態判定回路と、前記処理状態判定回路の出力を保
持する処理状態レジスタと、前記実行要素レジスタの出
力とすでに処理された要素を示す実行済要素レジスタの
出力から未処理のベクトル要素を判定する未処理要素判
定回路と、前記未処理要素判定回路の出力より未処理の
ベクトル要素の中でベクトル要素番号の一番小さいベク
トル要素を優先してどのベクトル処理装置からのデータ
を主記憶へ書き込むか判断するためのイネーブル情報を
生成するイネーブル生成回路と、前記処理状態レジスタ
が後半N個の要素の処理あるいは後前半2N個の要素の
処理のときにイネーブル生成回路の出力を入れ替えるイ
ネーブル入れ替え回路と、前記イネーブル入れ替え回路
の出力を保持して主記憶制御装置にイネーブル情報を出
力するイネーブル出力レジスタと、N要素処理あるいは
2N要素処理の処理単位のすべてのベクトル要素の処理
が終わったら実行済要素レジスタをリセットするデータ
を生成し,処理単位のベクトル要素の処理が終わってい
ないならばイネーブル生成回路で示される新しく処理さ
れるベクトル要素をすでに処理が完了しているベクトル
要素に加えたデータを生成する実行済要素決定回路と、
前記実行済要素決定回路の出力を保持する実行済要素レ
ジスタと、処理単位が2N個の要素のときベクトル要素
の処理時間を前記要素マスク回路の出力から生成し,毎
サイクル処理時間をデクリメントする2N要素処理時間
生成回路の出力を保持する2N要素処理時間レジスタ
と、処理単位がN個の要素のときベクトル要素の処理時
間を前記要素マスク回路の出力から生成し,毎サイクル
処理時間をデクリメントするN要素処理時間生成回路
と、前記N要素処理時間生成回路の出力を保持するN要
素処理時間レジスタと、処理単位が2N個の要素あるい
はN個の要素のときのベクトル要素の処理終了を判定す
る処理終了判定回路と、前記処理状態判定回路および前
記処理終了判定回路の出力に従って前記バッファの読み
出しアドレスの更新信号,前記2入力アドレスセレクタ
および3入力アドレスセレクタのセレクト信号を生成す
る制御回路とを有して構成される。
【0009】さらに、本発明のリストベクトル処理装置
において、前記処理単位判定回路は2N個のベクトル要
素のうち前半N個が後半N個のいずれかに一致している
か、あるいは連続した4N個のベクトル要素のうち先行
する2N個の後半N個と後続する2N個の前半N個との
後前半2N個について後半N個が前半N個のいずれかに
一致しているとき2N要素処理と判定し、2N個のベク
トル要素の前半N個の一つでも後半N個のいずれにも一
致していないか、あるいは前記後前半2N個について後
半N個の一つでも前半N個のいずれにも一致していない
ときN要素処理と判定する。
において、前記処理単位判定回路は2N個のベクトル要
素のうち前半N個が後半N個のいずれかに一致している
か、あるいは連続した4N個のベクトル要素のうち先行
する2N個の後半N個と後続する2N個の前半N個との
後前半2N個について後半N個が前半N個のいずれかに
一致しているとき2N要素処理と判定し、2N個のベク
トル要素の前半N個の一つでも後半N個のいずれにも一
致していないか、あるいは前記後前半2N個について後
半N個の一つでも前半N個のいずれにも一致していない
ときN要素処理と判定する。
【0010】さらに、本発明のリストベクトル処理装置
において、前記処理状態判定回路は次回のベクトル要素
の処理状態が前半N個の処理,後半N個の処理,前半お
よび後半の2N個の処理,連続する4N個について前記
後前半2N個のいずれであるかを判定する。
において、前記処理状態判定回路は次回のベクトル要素
の処理状態が前半N個の処理,後半N個の処理,前半お
よび後半の2N個の処理,連続する4N個について前記
後前半2N個のいずれであるかを判定する。
【0011】すなわち、本発明のリストベクトル処理装
置は連続するアドレスベクトルのベクトル要素を順次に
取得して次の処理を実行する。
置は連続するアドレスベクトルのベクトル要素を順次に
取得して次の処理を実行する。
【0012】(1)前半N個だけで処理するのは、前半
N個のアドレスベクトル要素のうち後半N個のアドレス
ベクトル要素のいずれにも一致しないものがあるときで
ある。
N個のアドレスベクトル要素のうち後半N個のアドレス
ベクトル要素のいずれにも一致しないものがあるときで
ある。
【0013】(2)後半N個だけで処理するのは、前半
N個だけの処理が行われたあと、後半N個のアドレスベ
クトル要素のうち、次の前後半2N個の前半N個のアド
レスベクトル要素のいずれにも一致しないものがあると
きである。
N個だけの処理が行われたあと、後半N個のアドレスベ
クトル要素のうち、次の前後半2N個の前半N個のアド
レスベクトル要素のいずれにも一致しないものがあると
きである。
【0014】(3)前後半2N個で処理するのは、前半
N個のすべてのアドレスベクトル要素が後半N個のアド
レスベクトル要素のいずれかに一致しているときであ
る。
N個のすべてのアドレスベクトル要素が後半N個のアド
レスベクトル要素のいずれかに一致しているときであ
る。
【0015】(4)後前半2N個で処理するのは、前半
N個だけの処理が行われたあと、後半N個のすべてのア
ドレスベクトル要素が、次の前後半2N個の前半N個の
アドレスベクトル要素のいずれかに一致しているときで
ある。
N個だけの処理が行われたあと、後半N個のすべてのア
ドレスベクトル要素が、次の前後半2N個の前半N個の
アドレスベクトル要素のいずれかに一致しているときで
ある。
【0016】また、一致判定回路を増やすことなく、連
続する2N個のアドレスベクトル要素に一致するものが
あるかぎり、一致するアドレスベクトル要素のなかでベ
クトル要素番号の最も大きいものにのみ主記憶へのデー
タ書き込みを行わせるために、連続する前半N個,後半
N個,前半N個,後半N個…において、アドレスベクト
ル要素に一致するものがあるかぎり、一致するアドレス
ベクトル要素のなかでベクトル要素番号の最も大きいも
のにのみ主記憶へのデータ書き込みを行わせる。
続する2N個のアドレスベクトル要素に一致するものが
あるかぎり、一致するアドレスベクトル要素のなかでベ
クトル要素番号の最も大きいものにのみ主記憶へのデー
タ書き込みを行わせるために、連続する前半N個,後半
N個,前半N個,後半N個…において、アドレスベクト
ル要素に一致するものがあるかぎり、一致するアドレス
ベクトル要素のなかでベクトル要素番号の最も大きいも
のにのみ主記憶へのデータ書き込みを行わせる。
【0017】さらに、先行する2N要素において前半N
要素すべてが後半N要素のいずれかに一致しないときに
は、前半N要素のうち後半N要素に一致していないもの
だけを前半N要素として処理を行い、前半N要素のうち
後半N要素に一致しているものは、後半N要素に処理を
つないで未処理の後半N要素を前半N要素のようにみせ
かけ、後続の2N要素の前半N要素を後半N要素のよう
に見せかけて、合わせて2N要素において後半N要素す
べてが前半N要素のいずれかに一致しないときには、後
半N要素のうち前半N要素に一致していないものだけを
後半N要素として処理を行い、後半N要素のうち前半N
要素に一致しているものは、前半N要素に処理をつない
でいくという制御を行う。このようにして連続する前半
N個,後半N個,前半N個,後半N個…において、一致
するものがあれば、ベクトル要素番号の大きいものに順
につないでいき、アドレス要素番号の一番大きいものが
主記憶にデータを書き込むことを可能とする。
要素すべてが後半N要素のいずれかに一致しないときに
は、前半N要素のうち後半N要素に一致していないもの
だけを前半N要素として処理を行い、前半N要素のうち
後半N要素に一致しているものは、後半N要素に処理を
つないで未処理の後半N要素を前半N要素のようにみせ
かけ、後続の2N要素の前半N要素を後半N要素のよう
に見せかけて、合わせて2N要素において後半N要素す
べてが前半N要素のいずれかに一致しないときには、後
半N要素のうち前半N要素に一致していないものだけを
後半N要素として処理を行い、後半N要素のうち前半N
要素に一致しているものは、前半N要素に処理をつない
でいくという制御を行う。このようにして連続する前半
N個,後半N個,前半N個,後半N個…において、一致
するものがあれば、ベクトル要素番号の大きいものに順
につないでいき、アドレス要素番号の一番大きいものが
主記憶にデータを書き込むことを可能とする。
【0018】
【発明の実施の形態】以下、本発明について図面を参照
しながら説明する。
しながら説明する。
【0019】図1は本発明が適用される情報処理システ
ムの一例を示すブロック図である。同図において、リス
トベクトル処理装置5はベクトル処理装置1〜4からア
ドレスベクトルを取得し、所望のアドレスデータを生成
して主記憶制御装置6に送出する。主記憶制御装置6は
ベクトル処理装置1〜4から受け取ったデータを上記の
アドレスデータに従って主記憶装置7に書き込む。
ムの一例を示すブロック図である。同図において、リス
トベクトル処理装置5はベクトル処理装置1〜4からア
ドレスベクトルを取得し、所望のアドレスデータを生成
して主記憶制御装置6に送出する。主記憶制御装置6は
ベクトル処理装置1〜4から受け取ったデータを上記の
アドレスデータに従って主記憶装置7に書き込む。
【0020】図2および図3は本発明によるリストベク
トル処理装置のN=2の場合を示すブロック図である。
ここで、リストベクトル処理装置5は、4個のベクトル
処理装置1〜4に昇順に番号づけたI個のベクトル要素
を割り振り、前記4個のベクトル処理装置1〜4からベ
クトル要素を比較して一致するベクトル要素があると
き、一致するものの中でベクトル要素番号の最も大きい
ベクトル要素を主記憶アクセスデータとして送出し、そ
れ以外のベクトル要素の送出を抑止する。
トル処理装置のN=2の場合を示すブロック図である。
ここで、リストベクトル処理装置5は、4個のベクトル
処理装置1〜4に昇順に番号づけたI個のベクトル要素
を割り振り、前記4個のベクトル処理装置1〜4からベ
クトル要素を比較して一致するベクトル要素があると
き、一致するものの中でベクトル要素番号の最も大きい
ベクトル要素を主記憶アクセスデータとして送出し、そ
れ以外のベクトル要素の送出を抑止する。
【0021】以下、図2および図3を参照すると、リス
トベクトル処理装置5は、ベクトル処理装置1〜4から
主記憶にデータをストアするためのアドレスをバッファ
10〜13で受ける。
トベクトル処理装置5は、ベクトル処理装置1〜4から
主記憶にデータをストアするためのアドレスをバッファ
10〜13で受ける。
【0022】そして、前記バッファ10から読み出され
たアドレスか,前記バッファ11から読み出されたアド
レスか,アドレス情報レジスタ19の出力のいずれかを
セレクタ14で選択し、それをアドレス情報レジスタ1
8で保持する。
たアドレスか,前記バッファ11から読み出されたアド
レスか,アドレス情報レジスタ19の出力のいずれかを
セレクタ14で選択し、それをアドレス情報レジスタ1
8で保持する。
【0023】また、前記バッファ10から読み出された
アドレスか,前記バッファ11から読み出されたアドレ
スのどちらかをセレクタ15で選択し、それをアドレス
情報レジスタ19で保持する。
アドレスか,前記バッファ11から読み出されたアドレ
スのどちらかをセレクタ15で選択し、それをアドレス
情報レジスタ19で保持する。
【0024】また、前記バッファ12から読み出された
アドレスか,前記バッファ13から読み出されたアドレ
スか,アドレス情報レジスタ21の出力のいずれかをセ
レクタ16で選択し、それをアドレス情報レジスタ20
で保持する。
アドレスか,前記バッファ13から読み出されたアドレ
スか,アドレス情報レジスタ21の出力のいずれかをセ
レクタ16で選択し、それをアドレス情報レジスタ20
で保持する。
【0025】また、前記バッファ12から読み出された
アドレスか,前記バッファ13から読み出されたアドレ
スのどちらかをセレクタ17で選択し、それをアドレス
情報レジスタ21で保持する。
アドレスか,前記バッファ13から読み出されたアドレ
スのどちらかをセレクタ17で選択し、それをアドレス
情報レジスタ21で保持する。
【0026】さらに、前記アドレス情報レジスタ18〜
21のアドレスをアドレス持ち回りレジスタ22から2
5で保持する。
21のアドレスをアドレス持ち回りレジスタ22から2
5で保持する。
【0027】そして、前記アドレス持ち回りレジスタ2
2〜25のアドレスをイネーブル生成回路33の出力を
セレクト信号としてセレクタ26で選択し、主記憶制御
装置6にアドレスを出力する主記憶アクセスアドレスレ
ジスタ27で保持する。
2〜25のアドレスをイネーブル生成回路33の出力を
セレクト信号としてセレクタ26で選択し、主記憶制御
装置6にアドレスを出力する主記憶アクセスアドレスレ
ジスタ27で保持する。
【0028】次に、前記アドレス情報レジスタ18と1
9,18と20,18と21,19と20,19と2
1,20と21のアドレスがそれぞれ一致しているかを
一致判定回路28で判定する。ここで、前記アドレス情
報レジスタ18および19が一致していることを(1
8、19)=1と表し、一致していないとき(18、1
9)=0と表すことにする。一致判定回路28の出力は
(19、20),(18、19),(18、21),
(20、19),(20、21),(19、21)の6
ビットである。
9,18と20,18と21,19と20,19と2
1,20と21のアドレスがそれぞれ一致しているかを
一致判定回路28で判定する。ここで、前記アドレス情
報レジスタ18および19が一致していることを(1
8、19)=1と表し、一致していないとき(18、1
9)=0と表すことにする。一致判定回路28の出力は
(19、20),(18、19),(18、21),
(20、19),(20、21),(19、21)の6
ビットである。
【0029】処理単位判定回路36は、一致判定回路2
8の結果から、前後半2N要素のうちすべての前半N要
素が後半N要素のいずれかに一致しているか、あるいは
後前半2N要素のうちすべての後半N要素が前半N要素
のいずれかに一致しているとき、つまり (((18、19)+(18、21))*((20、1
9)+(20、21)))’=0 となる場合に2N要素処理と判定し「0」を出力し、前
後半2N要素の前半N要素のうち1つでも後半N要素の
いずれにも一致していないとき、あるいは後前半N要素
の後半N要素のうち1つでも前半N要素のいずれにも一
致していないとき、つまり (((18、19)+(18、21))*((20、1
9)+(20、21)))’=1 となる場合にN要素処理と判定し「1」を出力する。こ
こで+は論理和を表し、*は論理積を表し、’は反転を
表す。
8の結果から、前後半2N要素のうちすべての前半N要
素が後半N要素のいずれかに一致しているか、あるいは
後前半2N要素のうちすべての後半N要素が前半N要素
のいずれかに一致しているとき、つまり (((18、19)+(18、21))*((20、1
9)+(20、21)))’=0 となる場合に2N要素処理と判定し「0」を出力し、前
後半2N要素の前半N要素のうち1つでも後半N要素の
いずれにも一致していないとき、あるいは後前半N要素
の後半N要素のうち1つでも前半N要素のいずれにも一
致していないとき、つまり (((18、19)+(18、21))*((20、1
9)+(20、21)))’=1 となる場合にN要素処理と判定し「1」を出力する。こ
こで+は論理和を表し、*は論理積を表し、’は反転を
表す。
【0030】要素決定回路29は、一致判定回路28の
出力によりアドレス情報レジスタ18〜24のアドレス
ベクトル要素がそれぞれ主記憶へデータを書き込むか判
定してそれぞれ1ビットずつの信号、合計4ビットの信
号を出力する。書き込むならば「1」、書き込まないな
らば「0」を出力する。すなわち、アドレス情報レジス
タ18は((18、20)+(18、19)+(18、
21))’で書き込み判定を行い、アドレス情報レジス
タ19は((20、19)+(20、21))’で書き
込み判定を行い、アドレス情報レジスタ20は(19、
21)’で書き込み判定を行い、アドレス情報レジスタ
21は常に「1」である。
出力によりアドレス情報レジスタ18〜24のアドレス
ベクトル要素がそれぞれ主記憶へデータを書き込むか判
定してそれぞれ1ビットずつの信号、合計4ビットの信
号を出力する。書き込むならば「1」、書き込まないな
らば「0」を出力する。すなわち、アドレス情報レジス
タ18は((18、20)+(18、19)+(18、
21))’で書き込み判定を行い、アドレス情報レジス
タ19は((20、19)+(20、21))’で書き
込み判定を行い、アドレス情報レジスタ20は(19、
21)’で書き込み判定を行い、アドレス情報レジスタ
21は常に「1」である。
【0031】要素マスク回路30は、処理単位判定回路
36の結果がN要素処理のとき要素決定回路29の出力
のベクトル要素番号の大きいほうのN個の要素をマスク
する。すなわち、要素マスク回路30は、アドレス情報
レジスタ19および21に対する要素決定回路29の出
力に対して、処理単位判定回路36の出力の反転したも
のをANDしてマスクする。そして要素マスク回路30
の出力を実行要素レジスタ31で保持する。
36の結果がN要素処理のとき要素決定回路29の出力
のベクトル要素番号の大きいほうのN個の要素をマスク
する。すなわち、要素マスク回路30は、アドレス情報
レジスタ19および21に対する要素決定回路29の出
力に対して、処理単位判定回路36の出力の反転したも
のをANDしてマスクする。そして要素マスク回路30
の出力を実行要素レジスタ31で保持する。
【0032】次回のアドレスベクトル要素の処理単位を
判定する処理単位判定回路36の出力と今回処理中のア
ドレスベクトル要素の処理状態を示す処理状態レジスタ
38の出力とから、次回のアドレスベクトル要素の処理
状態が前半N要素,後半N要素,前後半N要素,後前半
N要素のいずれかであるか処理状態判定回路37で判定
する。図4にその真理値表を示す。そして処理状態判定
回路37の出力は処理状態レジスタ38で保持する。
判定する処理単位判定回路36の出力と今回処理中のア
ドレスベクトル要素の処理状態を示す処理状態レジスタ
38の出力とから、次回のアドレスベクトル要素の処理
状態が前半N要素,後半N要素,前後半N要素,後前半
N要素のいずれかであるか処理状態判定回路37で判定
する。図4にその真理値表を示す。そして処理状態判定
回路37の出力は処理状態レジスタ38で保持する。
【0033】未処理要素判定回路32は実行要素レジス
タ31の出力と実行済要素レジスタ40の出力の反転を
ANDすることで未処理のアドレスベクトル要素を判定
する。
タ31の出力と実行済要素レジスタ40の出力の反転を
ANDすることで未処理のアドレスベクトル要素を判定
する。
【0034】イネーブル生成回路33は未処理要素判定
回路32の出力より、未処理のアドレスベクトル要素の
中でベクトル要素番号の一番大きいアドレスベクトル要
素を優先して、どのベクトル処理装置からのデータを主
記憶へ書き込むか判断するためのイネーブル情報を生成
する。図5にその真理値表を示す。
回路32の出力より、未処理のアドレスベクトル要素の
中でベクトル要素番号の一番大きいアドレスベクトル要
素を優先して、どのベクトル処理装置からのデータを主
記憶へ書き込むか判断するためのイネーブル情報を生成
する。図5にその真理値表を示す。
【0035】イネーブル入れ替え回路34は、処理状態
レジスタ38が後半N要素あるいは後前半2N要素のと
きにイネーブル生成回路33の出力を入れ替える。
レジスタ38が後半N要素あるいは後前半2N要素のと
きにイネーブル生成回路33の出力を入れ替える。
【0036】イネーブル出力レジスタ35はイネーブル
入れ替え回路34の出力を保持して主記憶制御装置6に
イネーブル情報を出力する。
入れ替え回路34の出力を保持して主記憶制御装置6に
イネーブル情報を出力する。
【0037】実行済要素決定回路39は、N要素あるい
は2N要素の処理単位のすべてのアドレスベクトル要素
の処理が終わったら実行済要素レジスタ40をリセット
するデータを生成し、処理単位のアドレスベクトル要素
の処理が終わっていないならばイネーブル生成回路33
で示される新しく処理されるアドレスベクトル要素をす
でに処理が完了しているアドレスベクトル要素に加えた
データを生成する。そして、実行済要素レジスタ40は
実行済要素決定回路39の出力を保持する。
は2N要素の処理単位のすべてのアドレスベクトル要素
の処理が終わったら実行済要素レジスタ40をリセット
するデータを生成し、処理単位のアドレスベクトル要素
の処理が終わっていないならばイネーブル生成回路33
で示される新しく処理されるアドレスベクトル要素をす
でに処理が完了しているアドレスベクトル要素に加えた
データを生成する。そして、実行済要素レジスタ40は
実行済要素決定回路39の出力を保持する。
【0038】2N要素処理時間生成回路41は、2N要
素の処理単位のアドレスベクトル要素の処理時間を要素
マスク回路30の4ビットの出力の「1」の数−1で生
成して、2N要素処理時間レジスタ42にセットする。
2N要素処理時間レジスタ42に処理時間がセットされ
たら毎サイクル処理時間はデクリメントされていく。
素の処理単位のアドレスベクトル要素の処理時間を要素
マスク回路30の4ビットの出力の「1」の数−1で生
成して、2N要素処理時間レジスタ42にセットする。
2N要素処理時間レジスタ42に処理時間がセットされ
たら毎サイクル処理時間はデクリメントされていく。
【0039】N要素処理時間生成回路43は、N要素の
処理単位のアドレスベクトル要素の処理時間を要素マス
ク回路30の上位2ビットの出力の「1」の数−1で生
成して、N要素処理時間レジスタ44にセットする。N
要素処理時間レジスタ44に処理時間がセットされたら
毎サイクル処理時間はデクリメントされていく。
処理単位のアドレスベクトル要素の処理時間を要素マス
ク回路30の上位2ビットの出力の「1」の数−1で生
成して、N要素処理時間レジスタ44にセットする。N
要素処理時間レジスタ44に処理時間がセットされたら
毎サイクル処理時間はデクリメントされていく。
【0040】処理終了判定回路45は、処理状態レジス
タ38が前後2N要素のときと後前2N要素のときは2
N要素処理時間レジスタ42が「0」になれば2N要素
のすべてのアドレスベクトル要素の処理が終了したこと
を示し、処理状態レジスタ38が前N要素のときと後N
要素のときはN要素処理時間レジスタ44が「0」にな
ればN要素のすべてのアドレスベクトル要素の処理が終
了したことを示す。
タ38が前後2N要素のときと後前2N要素のときは2
N要素処理時間レジスタ42が「0」になれば2N要素
のすべてのアドレスベクトル要素の処理が終了したこと
を示し、処理状態レジスタ38が前N要素のときと後N
要素のときはN要素処理時間レジスタ44が「0」にな
ればN要素のすべてのアドレスベクトル要素の処理が終
了したことを示す。
【0041】制御回路46は、処理状態判定回路37お
よび処理終了判定回路45の出力から、バッファ10〜
13の読み出しアドレスの更新信号、およびセレクタ1
4〜17のセレクト信号を生成する。図6にその条件を
示す。
よび処理終了判定回路45の出力から、バッファ10〜
13の読み出しアドレスの更新信号、およびセレクタ1
4〜17のセレクト信号を生成する。図6にその条件を
示す。
【0042】次に、上記のリストベクトル処理装置の動
作について説明する。
作について説明する。
【0043】ベクトル処理装置1〜4からそれぞれ1回
目のアドレスベクトル要素として(a、b、a、c)、
2回目のアドレスベクトル要素として(a、d、a、
e)が送られた場合の動作を説明する。
目のアドレスベクトル要素として(a、b、a、c)、
2回目のアドレスベクトル要素として(a、d、a、
e)が送られた場合の動作を説明する。
【0044】クロックサイクルt(n)で、バッファ1
0〜13から1回目のアドレスベクトル要素を読み出
し、クロックサイクルt(n+1)でアドレス情報レジ
スタ18〜21にセットする。クロックサイクル(n+
1)のとき、アドレス情報レジスタ18〜21のアドレ
スベクトル要素はそれぞれa,a,b,cであるから、
一致判定回路28の出力は(18、19)=1、(1
8、20)=0、(18、21)=0、(20、19)
=0、(19、21)=0、(20、21)=0とな
る。
0〜13から1回目のアドレスベクトル要素を読み出
し、クロックサイクルt(n+1)でアドレス情報レジ
スタ18〜21にセットする。クロックサイクル(n+
1)のとき、アドレス情報レジスタ18〜21のアドレ
スベクトル要素はそれぞれa,a,b,cであるから、
一致判定回路28の出力は(18、19)=1、(1
8、20)=0、(18、21)=0、(20、19)
=0、(19、21)=0、(20、21)=0とな
る。
【0045】要素決定回路29の出力は、 ((18、20)+(18、19)+(18、2
1))’=0 ((20、19)+(20、21))’=1 (19、21)’=1から、 「0111」となる。
1))’=0 ((20、19)+(20、21))’=1 (19、21)’=1から、 「0111」となる。
【0046】処理単位判定回路36の出力は(((1
8、19)+(18、21))*((20、19)+
(20、21)))’=1であるから「1」となり、N
要素の処理単位となる。
8、19)+(18、21))*((20、19)+
(20、21)))’=1であるから「1」となり、N
要素の処理単位となる。
【0047】処理状態判定回路37の出力は、処理単位
判定回路36が「1」で処理状態レジスタ38が初期値
の「00」であるから図4の真理値表から「10」とな
り、処理状態は前半N個となる。
判定回路36が「1」で処理状態レジスタ38が初期値
の「00」であるから図4の真理値表から「10」とな
り、処理状態は前半N個となる。
【0048】制御回路46は、処理状態判定回路37の
出力が「10」であるから、バッファ10および12の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
10および12を選択する信号を出力する(図6参
照)。
出力が「10」であるから、バッファ10および12の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
10および12を選択する信号を出力する(図6参
照)。
【0049】要素マスク回路30の出力は、処理単位判
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
【0050】2N要素処理時間生成回路41は要素マス
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
【0051】N要素処理時間生成回路43は要素マスク
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
【0052】以上から、クロックサイクルt(n+2)
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「10」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。またク
ロックサイクルt(n+2)でアドレス持ち回りレジス
タ22〜25にアドレス情報レジスタ18〜21の値が
セットされる。
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「10」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。またク
ロックサイクルt(n+2)でアドレス持ち回りレジス
タ22〜25にアドレス情報レジスタ18〜21の値が
セットされる。
【0053】クロックサイクルt(n+2)のとき実行
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
取ると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
取ると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
【0054】イネーブル入れ替え回路34は、処理状態
レジスタ38が「10」の前半N個を示しているからイ
ネーブル生成回路33の「0100」を入れ替えずに
「0100」となる。
レジスタ38が「10」の前半N個を示しているからイ
ネーブル生成回路33の「0100」を入れ替えずに
「0100」となる。
【0055】処理終了判定回路45は、処理状態レジス
タ38が「10」の前半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この前半N個の要素の処
理は終了となり「1」を出力する。
タ38が「10」の前半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この前半N個の要素の処
理は終了となり「1」を出力する。
【0056】次に、クロックサイクルt(n+1)で、
バッファ10および12から2回目のアドレスベクトル
要素を読み出し、クロックサイクルt(n+2)でアド
レス情報レジスタ19および21にセットする。さら
に、クロックサイクルt(n+2)でアドレス情報レジ
スタ18および20にはクロックサイクルt(n+1)
のときのアドレス情報レジスタ19および21をセット
する。
バッファ10および12から2回目のアドレスベクトル
要素を読み出し、クロックサイクルt(n+2)でアド
レス情報レジスタ19および21にセットする。さら
に、クロックサイクルt(n+2)でアドレス情報レジ
スタ18および20にはクロックサイクルt(n+1)
のときのアドレス情報レジスタ19および21をセット
する。
【0057】クロックサイクルt(n+2)のとき、ア
ドレス情報レジスタ18〜21のアドレスベクトル要素
はそれぞれa,a,c,dであるから、一致判定回路2
8の出力は(18、19)=1、(18、20)=0、
(18、21)=0、(20、19)=0、(19、2
1)=0、(20、21)=0となる。
ドレス情報レジスタ18〜21のアドレスベクトル要素
はそれぞれa,a,c,dであるから、一致判定回路2
8の出力は(18、19)=1、(18、20)=0、
(18、21)=0、(20、19)=0、(19、2
1)=0、(20、21)=0となる。
【0058】要素決定回路29の出力は、 ((18、20)+(18、19)+(18、2
1))’=0、 ((20、19)+(20、21))’=1 (19、21)’=1から、 「0111」となる。
1))’=0、 ((20、19)+(20、21))’=1 (19、21)’=1から、 「0111」となる。
【0059】処理単位判定回路36の出力は (((18、19)+(18、21))*((20、1
9)+(20、21)))’=1 であるから「1」となり、N要素の処理単位となる。
9)+(20、21)))’=1 であるから「1」となり、N要素の処理単位となる。
【0060】処理状態判定回路37の出力は、処理単位
判定回路36が「1」で、処理状態レジスタ38が「1
0」であるから図4の真理値表から「01」となり、処
理状態は後半N個となる。
判定回路36が「1」で、処理状態レジスタ38が「1
0」であるから図4の真理値表から「01」となり、処
理状態は後半N個となる。
【0061】制御回路46は、処理状態判定回路37の
出力が「01」であるから、バッファ11および13の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
11および13を選択する信号を出力する(図6参
照)。
出力が「01」であるから、バッファ11および13の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
11および13を選択する信号を出力する(図6参
照)。
【0062】要素マスク回路30の出力は、処理単位判
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
【0063】2N要素処理時間生成回路41は要素マス
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
【0064】N要素処理時間生成回路43は要素マスク
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
【0065】以上から、クロックサイクルt(n+3)
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「01」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。また、
クロックサイクルt(n+3)でアドレス持ち回りレジ
スタ22〜25にアドレス情報レジスタ18〜21の値
がセットされる。
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「01」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。また、
クロックサイクルt(n+3)でアドレス持ち回りレジ
スタ22〜25にアドレス情報レジスタ18〜21の値
がセットされる。
【0066】クロックサイクルt(n+3)のとき実行
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
とると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
とると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
【0067】イネーブル入れ替え回路34は、処理状態
レジスタ38が「01」の後半N個を示しているからイ
ネーブル生成回路33の「0100」の上位2ビットと
下位2ビットを入れ替えて「0001」となる。
レジスタ38が「01」の後半N個を示しているからイ
ネーブル生成回路33の「0100」の上位2ビットと
下位2ビットを入れ替えて「0001」となる。
【0068】処理終了判定回路45は、処理状態レジス
タ38が「01」の後半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この後半N個の要素の処
理は終了となり「1」を出力する。
タ38が「01」の後半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この後半N個の要素の処
理は終了となり「1」を出力する。
【0069】次に、クロックサイクルt(n+2)で、
バッファ11および13から2回目のアドレスベクトル
要素を読み出し、クロックサイクルt(n+3)でアド
レス情報レジスタ19および21にセットする。さら
に、クロックサイクルt(n+3)でアドレス情報レジ
スタ18および20にはクロックサイクルt(n+2)
のときのアドレス情報レジスタ19および21をセット
する。
バッファ11および13から2回目のアドレスベクトル
要素を読み出し、クロックサイクルt(n+3)でアド
レス情報レジスタ19および21にセットする。さら
に、クロックサイクルt(n+3)でアドレス情報レジ
スタ18および20にはクロックサイクルt(n+2)
のときのアドレス情報レジスタ19および21をセット
する。
【0070】クロックサイクルt(n+3)のとき、ア
ドレス情報レジスタ18〜21のアドレスベクトル要素
はそれぞれa,a,d,eであるから、一致判定回路2
8の出力は(18、19)=1、(18、20)=0、
(18、21)=0、(20、19)=0、(19、2
1)=0、(20、21)=0となる。
ドレス情報レジスタ18〜21のアドレスベクトル要素
はそれぞれa,a,d,eであるから、一致判定回路2
8の出力は(18、19)=1、(18、20)=0、
(18、21)=0、(20、19)=0、(19、2
1)=0、(20、21)=0となる。
【0071】要素決定回路29の出力は、((18、2
0)+(18、19)+(18、21))’=0((2
0、19)+(20、21))’=1(19、21)’
=1から、「0111」となる。
0)+(18、19)+(18、21))’=0((2
0、19)+(20、21))’=1(19、21)’
=1から、「0111」となる。
【0072】処理単位判定回路36の出力は (((18、19)+(18、21))*((20、1
9)+(20、21)))’=1 であるから「1」となり、N要素の処理単位となる。
9)+(20、21)))’=1 であるから「1」となり、N要素の処理単位となる。
【0073】処理状態判定回路37の出力は、処理単位
判定回路36が「1」で、処理状態レジスタ38が「0
1」であるから図4の真理値表から「10」となり、処
理状態は前半N個となる。
判定回路36が「1」で、処理状態レジスタ38が「0
1」であるから図4の真理値表から「10」となり、処
理状態は前半N個となる。
【0074】制御回路46は、処理状態判定回路37の
出力が「10」であるから、バッファ10および12の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
10および12を選択する信号を出力する(図6参
照)。
出力が「10」であるから、バッファ10および12の
読み出しアドレスの更新信号を出力し、セレクタ14お
よび16がアドレス情報レジスタ19および21を選択
する信号を出力し、セレクタ15および17がバッファ
10および12を選択する信号を出力する(図6参
照)。
【0075】要素マスク回路30の出力は、処理単位判
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
定回路36の出力が「1」であるから要素決定回路29
の出力の「0111」の下位2ビットに処理単位判定回
路36の出力の反転をANDするので、「0100」と
なる。
【0076】2N要素処理時間生成回路41は要素マス
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
ク回路30の出力4ビットの「1」の数−1であるから
「0」となる。
【0077】N要素処理時間生成回路43は要素マスク
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
回路30の出力4ビット中の上位2ビットの「1」の数
−1であるから「0」となる。
【0078】以上から、クロックサイクルt(n+4)
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「10」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。また、
クロックサイクルt(n+4)でアドレス持ち回りレジ
スタ22〜25にアドレス情報レジスタ18〜21の値
がセットされる。
で実行要素レジスタ31に「0100」がセットされ、
処理状態レジスタ38に「10」がセットされ、2N要
素処理時間レジスタ42に「0」がセットされ、N要素
処理時間レジスタ44に「0」がセットされる。また、
クロックサイクルt(n+4)でアドレス持ち回りレジ
スタ22〜25にアドレス情報レジスタ18〜21の値
がセットされる。
【0079】クロックサイクルt(n+4)のとき実行
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
とると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
要素レジスタ31は「0100」で実行済要素レジスタ
はリセットされており「0000」であるから、実行済
要素レジスタの反転と実行要素レジスタ31のANDを
とると未処理要素判定回路32は「0100」となる。
したがって、イネーブル生成回路33は、未処理要素判
定回路32が「0100」であるから図5の真理値表か
ら「0100」となる。
【0080】イネーブル入れ替え回路34は、処理状態
レジスタ38が「10」の前半N個を示しているからイ
ネーブル生成回路33の「0100」を入れ替えずに
「0100」となる。
レジスタ38が「10」の前半N個を示しているからイ
ネーブル生成回路33の「0100」を入れ替えずに
「0100」となる。
【0081】処理終了判定回路45は、処理状態レジス
タ38が「10」の前半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この前半N個の要素の処
理は終了となり「1」を出力する。
タ38が「10」の前半N個を示しているので、N要素
処理時間レジスタ44を有効とし、N要素処理時間レジ
スタ44は「0」であるから、この前半N個の要素の処
理は終了となり「1」を出力する。
【0082】なお、他のケースの場合にも上記と同様に
してリストベクトルのストア命令による主記憶アクセス
を制御することができる。
してリストベクトルのストア命令による主記憶アクセス
を制御することができる。
【0083】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、リストベクトルのストア命令において、先行し
て処理される2N個の要素の後半N個と後続して処理さ
れる2N個の要素の前半N個のアドレスベクトル要素に
一致するものが複数個あるとき、アドレス要素番号の一
番大きいものだけに主記憶へのデータ書き込みを行わせ
ているので、主記憶へのアクセス回数を減らして性能を
向上させることができる。
よれば、リストベクトルのストア命令において、先行し
て処理される2N個の要素の後半N個と後続して処理さ
れる2N個の要素の前半N個のアドレスベクトル要素に
一致するものが複数個あるとき、アドレス要素番号の一
番大きいものだけに主記憶へのデータ書き込みを行わせ
ているので、主記憶へのアクセス回数を減らして性能を
向上させることができる。
【0084】また、連続する前半N個,後半N個,前半
N個,後半N個…においてアドレスベクトル要素に一致
するものがあるとき、アドレス要素番号の一番大きいも
のだけに主記憶へのデータ書き込みを行わせているの
で、主記憶へのアクセス回数を減らして性能を向上させ
ることができる。
N個,後半N個…においてアドレスベクトル要素に一致
するものがあるとき、アドレス要素番号の一番大きいも
のだけに主記憶へのデータ書き込みを行わせているの
で、主記憶へのアクセス回数を減らして性能を向上させ
ることができる。
【図1】本発明が適用される情報処理システムを示すブ
ロック図。
ロック図。
【図2】本発明の実施の一形態を示すブロック図。
【図3】本発明の実施の一形態を示すブロック図(つづ
き)。
き)。
【図4】処理状態判定回路の真理値を示す説明図。
【図5】イネーブル生成回路の真理値を示す説明図。
【図6】制御回路の出力条件を示す説明図。
1〜4 ベクトル処理装置 5 リストベクトル処理装置 6 主記憶制御装置 7 主記憶装置 10〜13 バッファ 14〜17 セレクタ 18〜21 アドレス情報レジスタ 22〜25 アドレス持ち回りレジスタ 27 主記憶アクセスアドレスレジスタ 28 一致判定回路 29 要素決定回路 30 要素マスク回路 31 実行要素レジスタ 32 未処理要素判定回路 33 イネーブル生成回路 34 イネーブル入れ替え回路 35 イネーブル出力レジスタ 36 処理単位判定回路 37 処理状態判定回路 38 処理状態レジスタ 39 実行済要素決定回路 40 実行済要素レジスタ 41 2N要素処理時間生成回路 42 2N要素処理時間レジスタ 43 N要素処理時間生成回路 44 N要素処理時間レジスタ 45 処理終了判定回路 46 制御回路
Claims (5)
- 【請求項1】 複数個のベクトル処理装置が主記憶装置
にそれぞれアクセスするアドレスを示す複数個のアドレ
スベクトルを入力し、前記アドレスベクトルのベクトル
要素に一致するものがあるとき、一致するものの中でベ
クトル要素番号の最も大きいものを主記憶アクセスデー
タとして送出することを特徴とするリストベクトル処理
装置。 - 【請求項2】 2N個のベクトル処理装置からアドレス
ベクトルをそれぞれに入力するリストベクトル処理装置
において、前記2N個のベクトル処理装置に昇順に番号
づけたI個のベクトル要素を割り振り、前記2N個のベ
クトル処理装置からベクトル要素をそれぞれI/2N回
連続して入力するとき同時に入力した2N個のベクトル
要素を比較して一致するベクトル要素があるとき、一致
するものの中でベクトル要素番号の最も大きいベクトル
要素を主記憶アクセスデータとして送出し、それ以外の
ベクトル要素の送出を抑止することを特徴とするリスト
ベクトル処理装置。 - 【請求項3】 請求項2記載のリストベクトル処理装置
において、前記2N個のベクトル処理装置からアドレス
を受ける2N個のバッファと、前記バッファの二つから
読み出されたアドレスおよびアドレス情報レジスタの出
力のいずれかを選択するN個の3入力アドレスセレクタ
と、前記バッファの二つから読み出されたアドレスのど
ちらかを選択するN個の2入力アドレスセレクタと、前
記2入力アドレスセレクタおよび3入力アドレスセレク
タの出力を保持する2N個のアドレス情報レジスタと、
前記アドレス情報レジスタの出力を保持する2N個のア
ドレス持ち回りレジスタと、前記アドレス持ち回りレジ
スタのアドレスをイネーブル生成回路の出力で選択する
2N入力アドレスセレクタと、前記2N入力アドレスセ
レクタの出力を保持して主記憶制御装置にアドレスを出
力する主記憶アクセスアドレスレジスタと、前記アドレ
ス情報レジスタのそれぞれのアドレスが一致しているか
判定する一致判定回路と、前記一致判定回路の判定結果
に従ってベクトル処理の単位を2N要素処理かN要素処
理かのいずれかに判定する処理単位判定回路と、前記一
致判定回路の判定結果に従って主記憶へデータを書き込
むベクトル要素を決定する要素決定回路と、前記処理単
位判定回路の判定結果がN要素処理のとき前記要素決定
回路の出力のベクトル要素番号の大きいほうのN個の要
素をマスクする要素マスク回路と、前記要素マスク回路
の出力を保持する実行要素レジスタと、次回のベクトル
要素の処理単位を判定する前記処理単位判定回路の出力
と今回処理中のベクトル要素の処理状態を示す処理状態
レジスタの出力から次回のベクトル要素の処理状態を判
定する処理状態判定回路と、前記処理状態判定回路の出
力を保持する処理状態レジスタと、前記実行要素レジス
タの出力とすでに処理された要素を示す実行済要素レジ
スタの出力から未処理のベクトル要素を判定する未処理
要素判定回路と、前記未処理要素判定回路の出力より未
処理のベクトル要素の中でベクトル要素番号の一番小さ
いベクトル要素を優先してどのベクトル処理装置からの
データを主記憶へ書き込むか判断するためのイネーブル
情報を生成するイネーブル生成回路と、前記処理状態レ
ジスタが後半N個の要素の処理あるいは後前半2N個の
要素の処理のときにイネーブル生成回路の出力を入れ替
えるイネーブル入れ替え回路と、前記イネーブル入れ替
え回路の出力を保持して主記憶制御装置にイネーブル情
報を出力するイネーブル出力レジスタと、N要素処理あ
るいは2N要素処理の処理単位のすべてのベクトル要素
の処理が終わったら実行済要素レジスタをリセットする
データを生成し,処理単位のベクトル要素の処理が終わ
っていないならばイネーブル生成回路で示される新しく
処理されるベクトル要素をすでに処理が完了しているベ
クトル要素に加えたデータを生成する実行済要素決定回
路と、前記実行済要素決定回路の出力を保持する実行済
要素レジスタと、処理単位が2N個の要素のときベクト
ル要素の処理時間を前記要素マスク回路の出力から生成
し,毎サイクル処理時間をデクリメントする2N要素処
理時間生成回路の出力を保持する2N要素処理時間レジ
スタと、処理単位がN個の要素のときベクトル要素の処
理時間を前記要素マスク回路の出力から生成し,毎サイ
クル処理時間をデクリメントするN要素処理時間生成回
路と、前記N要素処理時間生成回路の出力を保持するN
要素処理時間レジスタと、処理単位が2N個の要素ある
いはN個の要素のときのベクトル要素の処理終了を判定
する処理終了判定回路と、前記処理状態判定回路および
前記処理終了判定回路の出力に従って前記バッファの読
み出しアドレスの更新信号,前記2入力アドレスセレク
タおよび3入力アドレスセレクタのセレクト信号を生成
する制御回路とを有することを特徴とするリストベクト
ル処理装置。 - 【請求項4】 請求項3記載のリストベクトル処理装置
において、前記処理単位判定回路は2N個のベクトル要
素のうち前半N個が後半N個のいずれかに一致している
か、あるいは連続した4N個のベクトル要素のうち先行
する2N個の後半N個と後続する2N個の前半N個との
後前半2N個について後半N個が前半N個のいずれかに
一致しているとき2N要素処理と判定し、2N個のベク
トル要素の前半N個の一つでも後半N個のいずれにも一
致していないか、あるいは前記後前半2N個について後
半N個の一つでも前半N個のいずれにも一致していない
ときN要素処理と判定することを特徴とするリストベク
トル処理装置。 - 【請求項5】 請求項3または4記載のリストベクトル
処理装置において、前記処理状態判定回路は次回のベク
トル要素の処理状態が前半N個の処理,後半N個の処
理,前半および後半の2N個の処理,連続する4N個に
ついて前記後前半2N個のいずれであるかを判定するこ
とを特徴とするリストベクトル処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9139975A JPH10334081A (ja) | 1997-05-29 | 1997-05-29 | リストベクトル処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9139975A JPH10334081A (ja) | 1997-05-29 | 1997-05-29 | リストベクトル処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10334081A true JPH10334081A (ja) | 1998-12-18 |
Family
ID=15258034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9139975A Pending JPH10334081A (ja) | 1997-05-29 | 1997-05-29 | リストベクトル処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10334081A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155580B2 (en) | 2002-07-25 | 2006-12-26 | Nec Corporation | Information processing apparatus and method of controlling memory thereof |
JP2008165685A (ja) * | 2007-01-04 | 2008-07-17 | Nec Corp | リストベクトル処理装置及び方法 |
-
1997
- 1997-05-29 JP JP9139975A patent/JPH10334081A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155580B2 (en) | 2002-07-25 | 2006-12-26 | Nec Corporation | Information processing apparatus and method of controlling memory thereof |
JP2008165685A (ja) * | 2007-01-04 | 2008-07-17 | Nec Corp | リストベクトル処理装置及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8145885B2 (en) | Apparatus for randomizing instruction thread interleaving in a multi-thread processor | |
US6647449B1 (en) | System, method and circuit for performing round robin arbitration | |
US3689895A (en) | Micro-program control system | |
JPH08106375A (ja) | 信号処理演算器 | |
US20070067778A1 (en) | System and method for communication in a multithread processor | |
JPS59128670A (ja) | ベクトル処理装置 | |
US5560025A (en) | Entry allocation apparatus and method of same | |
US5440714A (en) | Method and system configuration for simplifying the decoding system for access to an register file with overlapping windows | |
JPH05108341A (ja) | マイクロプロセツサ | |
JPH04245324A (ja) | 演算装置 | |
JPH10334081A (ja) | リストベクトル処理装置 | |
US6584514B1 (en) | Apparatus and method for address modification in a direct memory access controller | |
JPH11259417A (ja) | バスアクセス方式およびバスアクセス制御装置 | |
US5590302A (en) | Device for generating structured addresses | |
JPS61114341A (ja) | 処理システム | |
KR100236530B1 (ko) | 디지탈 신호 처리장치의 어드레스 발생회로 | |
JP2573711B2 (ja) | マイクロサブルーチン制御方式 | |
JP2878160B2 (ja) | 競合調停装置 | |
JP2000181714A (ja) | 命令制御装置 | |
JPH0934736A (ja) | 動作切替えコントローラ | |
JPH0424843A (ja) | メモリアクセス制御装置 | |
JPH1049520A (ja) | リストベクトル処理システム | |
JP2000250869A (ja) | マルチプロセッサの制御方法およびその装置 | |
JPH064305A (ja) | プロセッサのレジスタ入替え判別回路 | |
JPH08137747A (ja) | 内部レジスタ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20010321 |