JPH05174047A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPH05174047A
JPH05174047A JP3338080A JP33808091A JPH05174047A JP H05174047 A JPH05174047 A JP H05174047A JP 3338080 A JP3338080 A JP 3338080A JP 33808091 A JP33808091 A JP 33808091A JP H05174047 A JPH05174047 A JP H05174047A
Authority
JP
Japan
Prior art keywords
vector
register
data
bits
logical
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
Application number
JP3338080A
Other languages
English (en)
Inventor
Takaharu Nagumo
宇晴 南雲
Takao Nishida
隆夫 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3338080A priority Critical patent/JPH05174047A/ja
Publication of JPH05174047A publication Critical patent/JPH05174047A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 コード化された多値の論理演算を単一の命令
で実行し、種々のコード化の規則や演算の定義に柔軟に
対応できる汎用性が高く、精度を落さずに高速な論理シ
ミュレーションが可能とされるベクトル処理装置を提供
する。 【構成】 主記憶装置、スカラ処理部およびベクトル処
理部から構成されたベクトル処理装置であって、ベクト
ル処理部内に2ビットの4値論理演算が可能とされる多
値論理演算回路1121として、レジスタ1〜4、デコ
ーダ5〜20、アンドゲート405〜916およびオア
ゲート917〜948が備えられ、レジスタ1,2から
演算対象となる2ビットの論理値コードを取り出し、デ
コーダ5〜20により合わせてデコードし、レジスタ3
の真理値表データを参照して演算し、結果をレジスタ4
から出力する処理が単一の命令で実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトル処理装置に関
し、特に論理シミュレーションなどにおけるような、一
語内の各ビット毎に処理の仕方を変える複雑かつ高速な
論理演算が必要となる分野で利用されるベクトル処理装
置に適用して有効な技術に関する。
【0002】
【従来の技術】たとえば、計算機などの論理装置の急速
な普及および大規模化に伴い、開発に要する期間の短縮
が課題となっており、このために開発を支援する様々な
システムの開発、高速化が試みられている。それらの中
で、設計の検証、テストデータの作成に用いられる論理
回路のシミュレータなどは、使用される時間が長いこと
からも最も高性能化しなければならないシステムであ
り、ベクトル処理装置を利用して大幅な高速化を図る例
がいくつか知られている。
【0003】たとえば、1987年のアイイーイーイー
トランザクション・オン・コンピュータエイデッド・デ
ザイン誌、第6巻、3号の305から321ページや、
1988年のアイシーシーエイディー誌の198から2
01ページにこれに関する記述がある。しかし、従来の
ベクトル処理装置は主な用途として科学技術計算、すな
わち浮動小数点の行列式演算を想定しており、論理シミ
ュレーションなどの論理演算が主体の処理では細かなビ
ット操作が必要なことから、速度を犠牲にして複雑な命
令列とせざるをえなかった。
【0004】また、論理シミュレーションでは、上記の
文献にも記載されているように、正しいシミュレーショ
ンを行うために通常の論理値‘0’、‘1’以外に不確
定値‘X’を導入する必要がある。この結果、論理値を
1ビットではなく、2ビット以上のコードで表現するの
で、一つの素子の論理演算を一つの汎用論理演算命令で
は実現できなくなる。従って、従来の汎用ベクトル処理
装置を使用する場合は演算テーブルを参照するか、複数
の命令を組み合わせて所定の演算を実現させている。
【0005】さらに、処理の高速化を図るためにシミュ
レーション専用の演算器を付加する方法にも幾つかの例
がある。たとえば、特開昭60−140441号公報に
は、論理素子機能と入力信号データとをベクトルレジス
タに格納し、互いに異なる種類を含む複数の論理素子の
シミュレートを一命令で実行可能とするベクトル処理装
置が示されている。これは、取り扱う全ての素子の全て
の入力の組み合わせに対する演算テ−ブルを定義した記
憶装置を内部に備え、論理素子機能のコードと、入力論
理値の組み合わせとで参照することにより所定の演算を
実現させている。
【0006】また、特開昭61−80452号公報で
は、シフタ、演算器およびビット毎のマージ回路などを
直列につないだ専用演算器を組み込むことにより、シフ
ト量、演算の種類およびマージするビットの位置を適当
に指定して、2ビット以上にコード化された論理値や、
それらを一語内に複数格納するような場合の論理演算を
一命令で実行し、処理の高速化を図るような論理シミュ
レータに応用できるベクトル処理装置が示されている。
【0007】さらに、特開昭62−195570号公報
では、予め決められた2ビット以上のコード化の規則に
従ったアンド、オアおよび否定などの基本論理演算を行
う専用演算器を組み込んだ論理シミュレーション処理装
置が示されている。
【0008】
【発明が解決しようとする課題】ところが、前記のよう
な従来技術において、たとえば2ビット以上にコード化
された論理値を用いる論理シミュレーションなどのビッ
ト単位の論理演算が主となる処理をする場合、演算テー
ブルを参照する方式を採用すると、主記憶装置へのアク
セスは通常ベクトル要素単位になるので、一ベクトル要
素内に複数のデータを格納し、一度に演算することによ
って高速化を図るパラレル方式を用いることができず、
さらに記憶装置を参照するための時間が必要となるので
高速化の障害となるなどの問題がある。
【0009】また、複数の命令を組み合わせることによ
って多値の論理演算を実現する場合には、ビット位置を
合わせたり、一つの論理値データをそれを構成する各ビ
ット毎に別々に演算するために、命令数増大による処理
時間の増加が問題となっている。
【0010】一方、専用の演算器を付加する方式では、
追加した命令の汎用性および装置の製造コストなどが問
題となる。すなわち、論理回路の設計を検証する論理シ
ミュレータは、設計方式などの変更に対して柔軟に対応
できなければ専用演算器の設計からやり直さなければな
らず、また汎用計算機に対する性能上の優位性を保つた
めに、新しい高性能な計算機が出現する度に新しい技術
によって製造し直す必要もある。従って、製造コストは
一代限りのものではないので、付加することによる性能
の向上度に対する製造の容易さや汎用性は重要な問題と
なる。
【0011】さらに、演算テーブルを処理装置内に備え
る前記方法は、テーブルの一つのアドレスを一つのベク
トル要素に格納するのでパラレル方式へ応用することが
できず、また複数ビットによる論理値のコード化の規則
や、新規な素子の追加、素子の動作の変更などの度に装
置の演算器内の演算テーブルの定義内容を通常の使用と
は異なる初期設定経路で変更しなければならず、命令の
汎用性に欠けるという問題がある。
【0012】また、予め決められた論理値のコード化の
規則、またはベクトル要素内での位置などについて特殊
化した演算器を付加する場合は、製造コストの割に汎用
性に欠けるという問題がある。
【0013】そこで、本発明の目的は、2ビット以上に
コード化された多値の論理シミュレーションにおける素
子の論理動作の演算を単一の命令で実行できるように
し、さらにプログラムのオペランドに記述したレジスタ
に演算の真理値表を格納することにより、論理値コード
のビット数、ベクトル要素内での位置以外は、通常の使
用時に全く自由に設定することが可能である汎用性の高
い命令を有し、精度を落さずに高速な論理シミュレーシ
ョンを行うことのできるベクトル処理装置を提供するこ
とにある。
【0014】また、本発明の他の目的は、従来広く用い
られてきた‘0’、‘1’、‘X’の3値の論理シミュ
レーションにおいて、特定のコード化規則を採用するこ
とにより、否定論理演算命令を追加するだけで低コスト
にて基本論理演算であるアンド、オアおよび否定を各々
一命令で実行することができるベクトル処理装置を提供
することにある。
【0015】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0016】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0017】すなわち、本発明のベクトル処理装置は、
第一および第二のベクトルレジスタに保持される各ベク
トルデータ内の各ベクトル要素を複数のデータ格納領域
に分割し、これらの分割された各領域に一定のビット数
よりなるコードで表わされた論理値データを格納し、二
つのベクトルデータの間のそれぞれ対応する位置にある
二つの論理値データについて、プログラムにオペランド
コードとして記述された第三のベクトルレジスタに格納
した真理値表に従った演算を行い、結果の論理値データ
を第四のベクトルレジスタに保持するベクトルデータの
対応する位置に格納する処理を単一の命令で実行するも
のである。
【0018】この場合に、前記第三のベクトルレジスタ
に格納される真理値表を任意に定義可能とするようにし
たものである。
【0019】さらに、前記第三のベクトルレジスタに代
えて、プログラムに記述されたオペランドコードを保持
する命令レジスタに真理値表を格納するようにしたもの
である。
【0020】また、本発明の他のベクトル処理装置は、
第五のベクトルレジスタに保持されるベクトルデータ内
の各ベクトル要素を2ビットづつのデータ格納領域に分
割し、これらの分割された各領域に2ビットよりなるコ
ードで表わされた論理値データを格納し、この格納され
た論理値データについて各ビットを論理的に反転し、続
けて上位ビットと下位ビットの値を入れ替える操作を行
い、結果の論理値データを第六のベクトルレジスタに保
持するベクトルデータの対応する位置に格納する処理を
単一の命令で実行するものである。
【0021】
【作用】前記したベクトル処理装置によれば、第一、第
二、第三および第四のベクトルレジスタを備え、真理値
表に従った論理値データの演算から結果の格納処理が単
一の命令で実行されることにより、論理回路の動作のシ
ミュレータとして利用することができる。
【0022】たとえば、このベクトル処理装置を実現す
るためには、いわゆる演算処理を単一の命令で実行する
多値論理演算機能を設け、その他に主記憶装置、ベクト
ルレジスタおよびスカラレジスタ、ベクトルレジスタま
たはスカラレジスタと主記憶装置との間のデータ転送を
行うリクエスタ、ベクトルレジスタまたはスカラレジス
タから受け取ったデータに対してベクトル演算を行い、
結果をベクトルレジスタまたはスカラレジスタに格納す
るベクトル演算器、スカラレジスタ並びに主記憶装置と
汎用レジスタとの間のデータ転送、および汎用レジスタ
から受け取ったデータに対する演算結果の汎用レジスタ
への格納を行うスカラ演算処理部などが備えられてい
る。
【0023】また、ベクトル演算器には、多値論理演算
機能の主要部分であるベクトルレジスタまたはスカラレ
ジスタから被演算データを受け取る第一および第二のベ
クトルレジスタと、スカラレジスタから真理値表に相当
するデータを受け取る第三のベクトルレジスタと、第一
および第二のベクトルレジスタの各データ格納領域のデ
ータをデコードして第三のベクトルレジスタを参照する
ことで演算結果を得る組み合わせの多値論理演算回路
と、ベクトル演算器の出力を入力とし、ベクトルレジス
タまたはスカラレジスタにデータを送り出す第四のベク
トルレジスタと、特定の命令の実行時に第四のベクトル
レジスタの送り出しを行うセレクタ回路とが組み込まれ
ている。
【0024】この場合に、多値論理演算回路の第一およ
び第二のベクトルレジスタはオペランドに記述されたベ
クトルまたはスカラレジスタの内容が演算回路の入力に
印加される時刻を揃え、遷移状態にある不確定信号を通
さない機能があり、また演算回路の第四のベクトルレジ
スタは演算結果をレジスタに写す時刻を揃え、遷移状態
にある不確定演算結果を通さない機能がある。さらに、
セレクタ回路は複数の種類の命令に対応する演算結果を
出力する演算器から、指定された命令コードに対応する
結果だけを取り出し、ベクトルまたはスカラレジスタへ
送り出す機能を持つ。
【0025】これにより、多値論理演算回路は、演算対
象となるベクトルデータ内の予め決められた各々複数ビ
ットからなる論理値コードの格納位置から信号を取り出
し、互いに演算をする位置どうしの論理値データを合わ
せてデコードし、スカラレジスタから読み込んだレジス
タ上の真理値表データを参照して演算を行い、第四のベ
クトルレジスタを経由して、ベクトルまたはスカラレジ
スタの所定の格納位置にこの演算結果を出力することが
できる。
【0026】前記した他のベクトル処理装置によれば、
第五および第六のベクトルレジスタを備え、論理値デー
タの論理的な反転から上位と下位ビット値の入れ替え処
理が単一の命令で実行されることにより、論理回路の動
作のシミュレータとして利用することができる。
【0027】すなわち、演算処理を単一の命令で実行す
る多値論理演算機能を設け、その主要部分であるベクト
ルレジスタまたはスカラレジスタからデータを受け取る
第五のベクトルレジスタと、このレジスタの出力を入力
とし、論理信号を反転するインバータだけからなる一段
の多値論理演算回路と、この演算回路の出力を入力と
し、ベクトルレジスタまたはスカラレジスタにデータを
送り出す第六のベクトルレジスタと、特定の命令の実行
時に第六のベクトルレジスタの送り出しを行うセレクタ
とが組み込まれている。
【0028】これにより、多値論理演算回路は、第五の
ベクトルレジスタに保持されたベクトルデータ内の予め
決められた各々2ビットからなる論理値コードの格納位
置から信号を取り出し、信号の反転を行い、かつ各々上
位ビットと下位ビットを入れ替え、たとえば論理的
‘0’を00の2ビット、‘1’を11、不確定‘X’
を10と表すことにより、この操作で論理的否定演算を
行うことができる。
【0029】
【実施例1】図1は本発明の一実施例であるベクトル処
理装置を示す概略ブロック図、図2は本実施例のベクト
ル処理装置における特徴的な演算回路部分である汎用4
値論理演算回路を示す論理構成図、図3は本実施例にお
いて、4値論理演算における論理値コード化の一規則例
を示す説明図、図4は図3の規則による4値アンド論理
演算における真理値表を示す説明図、図5は図4の真理
値表の図2の演算回路内部での格納順序列を示す説明図
である。
【0030】まず、図1により本実施例のベクトル処理
装置の構成を説明する。
【0031】本実施例のベクトル処理装置は、複数ビッ
トのコードで3値以上、たとえば2ビットにコード化し
た4値の論理値を表し、これらの多値の論理値の間で論
理演算を定義することができる、すなわちこの多値論理
演算のための特別な機能を付加したベクトル処理装置と
考えることができ、主記憶装置1101、スカラ処理部
1102およびベクトル処理部1103から構成されて
いる。
【0032】主記憶装置1101に格納されたスカラ処
理命令のオペレーションコードおよびオペランドコード
は、スカラ処理部1102のバッファ記憶装置1104
を経由し、命令バッファと命令デコーダを有する演算制
御部1105に入力される。
【0033】主記憶装置1101に格納されたスカラデ
ータは、同様に、バッファ記憶装置1104を経由し、
演算制御部1105によりデコードされた命令に従っ
て、スカラ演算処理部1106に入力され、複数のレジ
スタからなる汎用レジスタ部1107にロードされる。
【0034】汎用レジスタ部1107から、複数のスカ
ラレジスタ1113と複数のベクトルレジスタ1114
とからなるベクトルレジスタ部1110へのデータ転送
命令が存在し、その命令が演算制御部1105で実行さ
れると、ベクトル処理部1103の演算制御部1109
へ制御信号が伝わり、ベクトルレジスタ部1110の入
力側セレクタ回路1112を制御して、この命令のオペ
ランドコードに記述された各々のレジスタ番号に従って
選択された汎用レジスタからスカラレジスタ1113へ
データを転送する。
【0035】また、汎用レジスタ部1107からメモリ
リクエスタ1108へのデータ転送命令が存在し、その
命令が演算制御部1105で実行されると、演算制御部
1109へ制御信号が伝わり、メモリリクエスタ110
8内部の複数のアドレスレジスタ1125からなるアド
レスレジスタ部1124内のこの命令のオペランドコー
ドに記述された番号に従ったアドレスレジスタへ、指定
された番号の汎用レジスタからアドレスデータが転送さ
れる。
【0036】主記憶装置1101に格納されたベクトル
処理命令のオペレーションコードおよびオペランドコー
ドは、前記スカラ処理命令と同様に、バッファ記憶装置
1104を経由して演算制御部1109に入力される。
主記憶装置1101とベクトルレジスタ部1110内の
スカラレジスタ1113またはベクトルレジスタ111
4との間のデータ転送命令が存在する。
【0037】これらの命令が演算制御部1109により
実行されると、レジスタへのロード命令の場合は、セレ
クタ回路1112によって、この命令のオペランドコー
ドの記述に従った該当番号のスカラレジスタ1113が
選択され、また、制御信号線1126により該当番号の
アドレスレジスタ1125が選択され、主記憶装置11
01の該当する位置からメモリリクエスタ1108、信
号線1131を経由して選択されたスカラレジスタ11
13またはベクトルレジスタ1114へベクトルデータ
が転送される。
【0038】主記憶装置1101へのストア命令の場合
は、セレクタ回路1115によってこの命令のオペラン
ドコードの記述に従って、該当する番号のスカラレジス
タ1113またはベクトルレジスタ1114が選択さ
れ、また、該当番号のアドレスレジスタ1125が選択
され、信号線1132、メモリリクエスタ1108を経
由して主記憶装置1101へスカラレジスタ1113ま
たはベクトルレジスタ1114からデータがストアされ
る。
【0039】ベクトルレジスタ部1110にロードされ
たベクトルデータに対する多値論理演算でない演算命令
を実行する場合は、選択された被演算レジスタの出力デ
ータは、セレクタ回路1115によって信号線1128
を通ってベクトル演算器1111に転送される。制御信
号線1127を経由した制御信号により、制御回路11
16は適当な時刻に信号線1128のデータをレジスタ
1117に保持し、演算回路1118によって演算し、
結果を適当な時刻にレジスタ1119に保持し、セレク
タ回路1123で選択し、信号線1130で再度ベクト
ルレジスタ部1110へ転送する。また、セレクタ回路
1112は指定されたスカラレジスタ1113またはベ
クトルレジスタ1114を選択し、信号線1130から
のデータを格納する。
【0040】多値論理演算を実行する場合は、ベクトル
レジスタ部1110からのデータは信号線1129を通
って、制御回路1116により適当な時刻にレジスタ1
120に保持され、多値論理演算回路1121で演算さ
れ、結果のデータは適当な時刻にレジスタ1122に保
持され、セレクタ回路1123で選択されて再びベクト
ルレジスタ部1110へ転送される。
【0041】以上のように、本実施例のベクトル処理装
置は、従来のベクトル処理装置に新規な多値論理演算機
能を持った演算回路を付加した構成となっており、また
ベクトル演算は32ビット単位のパイプライン処理で行
われるような装置を例として想定して、レジスタ112
0に対応する第一および第二のベクトルレジスタと、レ
ジスタ1122に対応する第四のベクトルレジスタの3
本は各々32ビットである例を示す。以下、この多値論
理演算回路1121について図2により詳細に説明す
る。
【0042】多値論理演算回路1121は、制御回路1
116からくる3本の制御信号線981、982および
983に従ってデータを保持する4つのレジスタ(第一
のベクトルレジスタ)1、レジスタ(第二のベクトルレ
ジスタ)2、レジスタ(第三のベクトルレジスタ)3お
よびレジスタ4(第四のベクトルレジスタ)と、レジス
タ1120の出力からの信号線に相当する64本の入力
信号線21〜116、レジスタ1122への32本の出
力信号線949〜980、および4ビットのバイナリ信
号を入力とし、16本の出力の内の何れかを選択する1
6個のデコーダ5〜20と、これらのデコーダ5〜20
の出力信号線149〜404、およびレジスタ3の出力
信号線117〜148を入力とする512個のアンドゲ
ート405〜916と、レジスタ4の各ビットに対応し
てアンドゲート405〜916の出力をまとめる32個
のオアゲート917〜948とから構成されている。
【0043】次に、本実施例の作用について説明する。
【0044】本実施例において、多値論理演算回路11
21を使用する命令を便宜のため、以下VX1命令(単
一の命令)と表記する。
【0045】すなわち、ベクトルデータの一ベクトル要
素を32ビットとするので、VX1命令の第2、第3オ
ペランドに指定されたベクトルデータの一要素がそのま
まレジスタ1、2に保持される。この場合に、各要素の
32ビットは隣合った2ビットを一つのデータ格納領域
とするように16個に分割する例を考える。
【0046】たとえば、図2ではレジスタ1の信号線
(21、22)の組の位置が一つの領域で、(51、5
2)の組まで16領域ある。レジスタ2、4についても
同様で、(53、54)、(949、950)の信号線
の組の位置から、(83、84)、(979、980)
の組の位置までそれぞれ16個の領域に分割される。
【0047】そして、VX1命令はレジスタ1、2の対
応した各2ビットデータ領域の、たとえば信号線(2
1、22)と(53、54)との間で任意の論理演算を
行い、結果の2ビットデータをレジスタ4の対応する各
2ビットデータ領域、たとえば信号線(949、95
0)に格納する演算を行うことである。
【0048】従って、16個のデコーダ5〜20はレジ
スタ1、2の16個のデータ格納領域の入力信号線の符
号の小さい順に対応しており、レジスタ1のデータ2ビ
ットが上位2ビットで、レジスタ2のデータ2ビットが
下位2ビットになるように各デコーダの入力先を決めて
いる。
【0049】一方、VX1命令の第一オペランドコード
で真理値表を格納してあるスカラレジスタを選択する
と、レジスタ3には、これらの多値論理値に対して定義
した真理値表データが格納される。たとえば、図2では
真理値表は各要素が2ビットで、出力信号線の組の(1
17、118)から(147、148)までのように、
隣合った2ビットが一つの演算結果を表して16領域に
分かれている。
【0050】そして、各デコーダの16本の出力信号線
は、符号の小さい方から大きい方への順序でレジスタ3
の出力信号線の16の組のやはり符号の小さい方から大
きい方への順で対応しており、たとえば信号線149、
165、389は信号線(117、118)に、信号線
150、166、390は信号線(119、120)と
対応している。
【0051】これらの信号線の間には、デコーダ側の信
号線、たとえば149が論理的に1なら、対応するレジ
スタ3側の信号線、たとえば(117、118)の値
を、レジスタ4の対応する領域、たとえば信号線94
9、950の位置へ転送するようにアンドゲート、たと
えば405、406が接続されている。
【0052】この結果、どのようなデータ格納領域のど
のような論理値の組み合わせについても、それをデコー
ドしてレジスタ3の真理値表を選択することにより演算
結果を得ることができる。
【0053】この場合に、論理値コード化の規則とし
て、図3に示すような規則を用いると、たとえば基本論
理演算であるアンド論理演算は図4に示すようになる。
ここで、入力1の2ビットを上位2ビットにし、入力2
の2ビットを下位の2ビットにした4ビットで表される
数値の0から15の順に図4のビットデ−タを並べると
図5のようになる。
【0054】以上のような条件でアンド演算をVX1命
令で行う場合は、図5に示したデータをこのビット位置
の順に、信号線85〜116を通してレジスタ3に格納
する。仮に、信号線21、22が0、0で、53、54
が0、1であったとすると、デコーダ5の信号線150
が1になる。すると、アンドゲート407、408によ
って信号線119と120の論理値がオアゲート917
と918を通ってレジスタ4の信号線949、950に
出力される。これは‘0’と‘Z’のアンドが‘0’に
なる演算である。
【0055】従って、本実施例のベクトル処理装置によ
れば、4値論理演算が可能とされる多値論理演算回路1
121として、4つのレジスタ1〜4、16個のデコー
ダ5〜20、512個のアンドゲート405〜916お
よび32個のオアゲート917〜948を備えることに
より、レジスタ1,2から演算対象となるベクトルデー
タ内の予め決められた各々2ビットからなる論理値コー
ドの信号を取り出し、デコーダ5〜20により互いに演
算をする位置どうしの論理値データを合わせてデコード
し、レジスタ3上の真理値表データを参照して演算を行
い、この演算結果をレジスタ4を経由して出力する処理
を単一のVX1命令で実行することができる。
【0056】
【実施例2】図6は本発明の他の実施例であるベクトル
処理装置における特徴的な演算回路部分である3値論理
否定演算回路を示す論理構成図、図7は本実施例におい
て、3値論理演算の論理値コード化の規則例を示す説明
図、図8は図7の規則による3値アンド、オアおよび否
定基本論理演算の真理値表を示す説明図である。
【0057】本実施例のベクトル処理装置は、たとえば
2ビットにコード化した3値の論理値に対する演算に適
用する特別な機能を付加した多値論理演算回路1121
aとされ、この回路構成は図6に示すように、図1の制
御回路1116からくる2本の制御信号線1002、1
003に従って各々データを保持する2つのレジスタ
(第五のベクトルレジスタ)1000,レジスタ(第六
のベクトルレジスタ)1001と、レジスタ1120の
出力からの信号線に相当する32本の入力信号線100
4〜1035と、レジスタ1122への32本の出力信
号線1036〜1067と、レジスタ1000の各ビッ
トを反転する32個のインバータ1068〜1099と
から構成されている。
【0058】すなわち、本実施例の多値論理演算回路1
121aは、2ビットにコード化した3値の論理値に対
する演算に適用し、ベクトル演算は32ビット単位のパ
イプライン処理で行われるような装置を例として想定し
て、レジスタ1000,1001の2本は各々32ビッ
トである例を示す。このコード化の一例を図7に示し、
図8にこの時のアンド、オア、否定の基本論理演算の真
理値表を示す。
【0059】たとえば、演算命令を論理シミュレーショ
ンに適用する場合、否定論理演算として使えるのはこれ
以外に‘X’が01になる規則と、‘0’が11になる
規則との組み合わせだけとなる。
【0060】従って、図8の真理値表の各ビットの挙動
を調べると、アンド演算については従来の全ビットにつ
いて単純にアンドをとる命令で表現でき、オア演算につ
いては従来の全ビットについて単純にオアをとるオア命
令で表現できることがわかる。ただし、否定演算につい
ては、この2ビットの0、1を反転し、上位と下位のビ
ット位置を交換する処理が必要となり、本実施例の特徴
となる命令の機能はこの否定演算に相当する。
【0061】次に、本実施例の作用について説明する。
【0062】本実施例においては、多値論理演算回路1
121aを使用する命令を便宜のため、以下VX2命令
(単一の命令)と表記する。
【0063】すなわち、ベクトルデータの一ベクトル要
素を32ビットとするので、VX2命令の第2オペラン
ドに指定されたベクトルデータの一要素がそのままレジ
スタ1000に保持される。
【0064】この場合に、各要素の32ビットは16ビ
ットづつ2分し、上位16ビットには2ビットコードの
上位ビットを格納し、下位16ビットには、各ビット位
置から上位に16ビット離れた位置の上位ビットデータ
に対応した下位ビットデータを格納する例を考える。す
なわち、データ格納領域は16ビット離れたビットの対
によって16領域に分割されている。
【0065】そして、レジスタ1000の各ビットはイ
ンバータ1068〜1099によって全て反転され、そ
の後の結線によって上位と下位とが入れ替えられる。た
とえば、レジスタ1000の左から3番目のデータ
‘X’(10)では、信号線1006から転送された上
位ビットのデータは1であり、インバータ1070によ
ってこれは反転され、信号線1054へ転送される。
【0066】また、信号線1022から転送された下位
ビットのデータは0であり、インバータ1086によっ
てこれは反転され、信号線1038へ転送される。この
結果、レジスタ1001の左から3番目の格納領域のデ
ータは‘X’(10)となり、否定演算が満足される。
【0067】従って、本実施例のベクトル処理装置によ
れば、3値論理演算が可能とされる多値論理演算回路1
121aとして、2つのレジスタ1000,1001お
よび32個のインバータ1068〜1099を備えるこ
とにより、アンド演算およびオア演算については従来と
同様に全ビットのアンド命令またはオア命令で表現で
き、かつ否定演算についても、レジスタ1000に保持
されたベクトルデータ内の予め決められた各々2ビット
からなる論理値コードの信号を取り出し、インバータ1
068〜1099によって反転を行い、かつ各々上位ビ
ットと下位ビットを入れ替え、この演算結果をレジスタ
1001を経由して出力する処理を単一のVX2命令で
実行することができる。
【0068】以上、本発明者によってなされた発明を実
施例1および2に基づき具体的に説明したが、本発明は
前記各実施例に限定されるものではなく、その要旨を逸
脱しない範囲で種々変更可能であることはいうまでもな
い。
【0069】たとえば、前記実施例1のベクトル処理装
置における多値論理演算回路1121については、論理
値を2ビットで表し、4値の論理値となる場合におい
て、ベクトル演算が32ビット単位のパイプライン処理
で行われるような装置を想定してレジスタ1、2および
4の3本が各々32ビットである場合について説明した
が、本発明は前記実施例に限定されるものではなく、真
理値表を任意に定義したり、論理値をnビットで表現す
る場合などについても広く適用可能である。
【0070】この論理値をnビットで表現する場合に
は、レジスタ3のビット幅を(2の2n乗)のn倍に
し、デコーダを2nビット入力、2の2n乗ビット出力
とし、レジスタ3は図1におけるスカラレジスタ111
3からデータを転送して真理値表として用いる。
【0071】たとえば、スカラレジスタのビット幅が3
2である場合は、nが2のときは本演算回路を使用する
命令のオペランドでスカラレジスタ1本を指定し、nが
3の場合では、幅が192ビットとなるので、たとえば
連続した6本のスカラレジスタを指定する。さらに、パ
イプライン処理の単位が32mビットである場合は、デ
コーダ、アンドゲート、オアゲートの数、レジスタ1、
2、4のビット幅はそれぞれ図2の場合のm倍にする。
【0072】また、前記実施例2の多値論理演算回路1
121aについては、ベクトル演算は32ビット単位の
パイプライン処理で行われるような装置を想定して、レ
ジスタ1000,1001の2本は各々32ビットであ
る例を示したが、たとえばパイプライン処理の単位が3
2mビットである場合は、インバータの数、レジスタ1
000、1001のビット幅はそれぞれ図6の場合のm
倍にする必要がある。
【0073】さらに、実施例1において、命令語長が十
分長ければ、レジスタ3の代わりに、プログラムに記述
されたオペレーションコードを保持する命令レジスタを
真理値表の保持用に使用し、オペレーションコードの一
部を真理値表と見なして演算することも可能である。
【0074】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
下記のとおりである。
【0075】(1).第一および第二のベクトルレジスタに
分割して格納された一定のビット数よりなる二つの論理
値データについて、第三のベクトルレジスタに格納した
真理値表に従った演算を行い、結果の論理値データを第
四のベクトルレジスタに格納する処理を単一の命令で実
行することにより、従来まで数命令要していた核となる
処理の単位が単一の命令で処理可能となるので、論理回
路の動作のシミュレータとして処理時間の削減を図るこ
とができる。
【0076】(2).第五のベクトルレジスタに分割して格
納された2ビットよりなる論理値データについて、各ビ
ットを論理的に反転し、続けて上位ビットと下位ビット
の値を入れ替える操作を行い、結果の論理値データを第
六のベクトルレジスタに格納する処理を単一の命令で実
行することにより、大規模な回路を扱う場合、単純な処
理で実行可能となるので、核となるゲート評価処理の命
令数の削減を図ることができる。
【0077】(3).前記(1) または(2) により、コ−ド化
のビット数は固定されるが、その範囲で如何なる種類の
演算もユーザの使用中に自由に定義可能であり、止むな
く複雑な命令列を採用してきた特殊な素子、シミュレー
ションモデルについても容易にサポートできるベクトル
処理装置を得ることができる。
【0078】(4).前記(1) または(2) により、論理値コ
ード化の規則は一部に限るが、単純な演算機能構成によ
って製造コストの削減が可能とされるベクトル処理装置
を得ることができる。
【0079】(5).前記(1) または(2) により、真理値表
を任意に定義することによって種々のコード化の規則や
演算の定義に柔軟に対応でき、汎用性の向上が可能とさ
れるベクトル処理装置を得ることができる。
【0080】(6).前記(1) または(2) により、命令数お
よび処理時間の削減を図ることができるので、特に論理
回路のシミュレ−ションへ応用する場合に効果が顕著と
なるベクトル処理装置を得ることができる。
【図面の簡単な説明】
【図1】本発明の実施例1であるベクトル処理装置を示
す概略ブロック図である。
【図2】実施例1のベクトル処理装置における特徴的な
演算回路部分である汎用4値論理演算回路を示す論理構
成図である。
【図3】実施例1において、4値論理演算における論理
値コード化の一規則例を示す説明図である。
【図4】実施例1において、図3の規則による4値アン
ド論理演算における真理値表を示す説明図である。
【図5】実施例1において、図4の真理値表の図2の演
算回路内部での格納順序列を示す説明図である。
【図6】本発明の実施例2であるベクトル処理装置にお
ける特徴的な演算回路部分である3値論理否定演算回路
を示す論理構成図である。
【図7】本実施例2において、3値論理演算の論理値コ
ード化の規則例を示す説明図である。
【図8】実施例2において、図7の規則による3値アン
ド、オアおよび否定基本論理演算の真理値表を示す説明
図である。
【符号の説明】
1 レジスタ(第一のベクトルレジスタ) 2 レジスタ(第二のベクトルレジスタ) 3 レジスタ(第三のベクトルレジスタ) 4 レジスタ(第四のベクトルレジスタ) 5〜20 デコーダ 21〜116 入力信号線 117〜148 出力信号線 149〜404 出力信号線 405〜916 アンドゲート 917〜948 オアゲート 949〜980 出力信号線 981〜983 制御信号線 1000 レジスタ(第五のベクトルレジスタ) 1001 レジスタ(第六のベクトルレジスタ) 1002,1003 制御信号線 1004〜1035 入力信号線 1036〜1067 出力信号線 1068〜1099 インバータ 1101 主記憶装置 1102 スカラ処理部 1103 ベクトル処理部 1104 バッファ記憶装置 1105 演算制御部 1106 スカラ演算処理部 1107 汎用レジスタ部 1108 メモリリクエスタ 1109 演算制御部 1110 ベクトルレジスタ部 1111 ベクトル演算器 1112 セレクタ回路 1113 スカラレジスタ 1114 ベクトルレジスタ 1115 セレクタ回路 1116 制御回路 1117 レジスタ 1118 演算回路 1119 レジスタ 1120 レジスタ 1121,1121a 多値論理演算回路 1122 レジスタ 1123 セレクタ回路 1124 アドレスレジスタ部 1125 アドレスレジスタ 1126,1127 制御信号線 1128〜1132 信号線

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 第一および第二のベクトルレジスタに保
    持される各ベクトルデータ内の各ベクトル要素を複数の
    データ格納領域に分割し、該分割された各領域に一定の
    ビット数よりなるコードで表わされた論理値データを格
    納し、二つのベクトルデータの間のそれぞれ対応する位
    置にある二つの前記論理値データについて、プログラム
    にオペランドコードとして記述された第三のベクトルレ
    ジスタに格納した真理値表に従った演算を行い、結果の
    論理値データを第四のベクトルレジスタに保持するベク
    トルデータの対応する位置に格納する処理を単一の命令
    で実行することを特徴とするベクトル処理装置。
  2. 【請求項2】 前記第三のベクトルレジスタに格納され
    る真理値表を任意に定義可能とすることを特徴とする請
    求項1記載のベクトル処理装置。
  3. 【請求項3】 前記第三のベクトルレジスタに代えて、
    前記プログラムに記述されたオペランドコードを保持す
    る命令レジスタに前記真理値表を格納することを特徴と
    する請求項1記載のベクトル処理装置。
  4. 【請求項4】 第五のベクトルレジスタに保持されるベ
    クトルデータ内の各ベクトル要素を2ビットづつのデー
    タ格納領域に分割し、該分割された各領域に2ビットよ
    りなるコードで表わされた論理値データを格納し、該格
    納された論理値データについて各ビットを論理的に反転
    し、続けて上位ビットと下位ビットの値を入れ替える操
    作を行い、結果の論理値データを第六のベクトルレジス
    タに保持するベクトルデータの対応する位置に格納する
    処理を単一の命令で実行することを特徴とするベクトル
    処理装置。
JP3338080A 1991-12-20 1991-12-20 ベクトル処理装置 Pending JPH05174047A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3338080A JPH05174047A (ja) 1991-12-20 1991-12-20 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3338080A JPH05174047A (ja) 1991-12-20 1991-12-20 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPH05174047A true JPH05174047A (ja) 1993-07-13

Family

ID=18314719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3338080A Pending JPH05174047A (ja) 1991-12-20 1991-12-20 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPH05174047A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020000908A (ja) * 2019-09-05 2020-01-09 株式会社ユニバーサルエンターテインメント 遊技機
JP2021062855A (ja) * 2019-10-17 2021-04-22 公益財団法人鉄道総合技術研究所 電子連動装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020000908A (ja) * 2019-09-05 2020-01-09 株式会社ユニバーサルエンターテインメント 遊技機
JP2021062855A (ja) * 2019-10-17 2021-04-22 公益財団法人鉄道総合技術研究所 電子連動装置

Similar Documents

Publication Publication Date Title
CN109478139B (zh) 用于共享存储器中的访问同步的装置、方法和系统
TWI841041B (zh) 用於融合乘加運算的系統、裝置及方法
CN114153498B (zh) 用于加载片寄存器对的系统和方法
CN112148251A (zh) 跳过无意义的矩阵运算的系统和方法
CN111177647A (zh) 实行16位浮点矩阵点积指令的系统和方法
CN107533460B (zh) 紧缩有限冲激响应(fir)滤波处理器、方法、系统和指令
CN117724766A (zh) 用于执行将矩阵变换为行交错格式的指令的系统和方法
JP2019197531A (ja) 連鎖タイル演算を実施するためのシステムおよび方法
JP2018500656A (ja) 1組のベクトル要素にリダクション演算を実行する方法及び装置
CN110909883A (zh) 用于执行指定三元片逻辑操作的指令的系统和方法
CN106030514B (zh) 用于执行采用传播的被屏蔽源元素存储指令的处理器及其方法
TW201344562A (zh) 緊縮資料運算遮罩比較處理器、方法、系統及指令
CN110909882A (zh) 用于执行水平铺块操作的系统和方法
CN108269226B (zh) 用于处理稀疏数据的装置和方法
JP2018506094A (ja) 多倍長整数(big integer)の算術演算を実行するための方法および装置
EP4462249A2 (en) Matrix transpose and multiply
JP2018500659A (ja) 高速ベクトルによる動的なメモリ競合検出
JP2018500629A (ja) 3d座標から3dのz曲線インデックスを計算するための機械レベル命令
CN114327362A (zh) 大规模矩阵重构和矩阵-标量操作
CN109643235B (zh) 用于多源混合操作的装置、方法和系统
CN116880906A (zh) 用于8位浮点矩阵点积指令的装置、方法和系统
JP2018500654A (ja) ベクトルビット反転を実行するための方法および装置
CN109328334B (zh) 用于累积式求和的系统、装置和方法
CN114675888A (zh) 用于加载矩阵操作加速器瓦片的指令的装置、方法和系统
CN114675883A (zh) 用于对齐矩阵操作加速器瓦片的指令的装置、方法和系统