JPH0640337B2 - パイプライン演算装置 - Google Patents
パイプライン演算装置Info
- Publication number
- JPH0640337B2 JPH0640337B2 JP59206216A JP20621684A JPH0640337B2 JP H0640337 B2 JPH0640337 B2 JP H0640337B2 JP 59206216 A JP59206216 A JP 59206216A JP 20621684 A JP20621684 A JP 20621684A JP H0640337 B2 JPH0640337 B2 JP H0640337B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- vector data
- arithmetic unit
- vector
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
- G06F15/8084—Special arrangements thereof, e.g. mask or switch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトルデータを高速に処理するベクトル処
理装置に関する。
理装置に関する。
従来のベクトルプロセツサでは、ベクトルデータのJ番
目の要素データを用いた演算結果を、J+2番目以降の
要素データを用いた演算に反映させる手段として、FORT
RANの文で、A(J)=A(J−1)*B(J)+C
(J)の形の処理を高速化する命令が用意されている。
こゝで、*は算術積を指す。このようなものを示す公知
例として、例えば、HiTACマニユアル“6010-2-001,S-81
0処理装置”に示す如きものである。しかし、画像処
理,論理シミユレーシヨン等に多用される論理演算の高
速化については配慮されていない為、論理演算はベクト
ル処理による高速化がなされていなかつた。
目の要素データを用いた演算結果を、J+2番目以降の
要素データを用いた演算に反映させる手段として、FORT
RANの文で、A(J)=A(J−1)*B(J)+C
(J)の形の処理を高速化する命令が用意されている。
こゝで、*は算術積を指す。このようなものを示す公知
例として、例えば、HiTACマニユアル“6010-2-001,S-81
0処理装置”に示す如きものである。しかし、画像処
理,論理シミユレーシヨン等に多用される論理演算の高
速化については配慮されていない為、論理演算はベクト
ル処理による高速化がなされていなかつた。
本発明の目的は、A(J),B(J),C(J)をそれ
ぞれ、1〜64ビツトのビツトストリングとして、PL
1言語で、A(J)=A(J−1)&B(J)1C
(J)と表わされる論理演算処理を、A(J)1要素あ
たり、1パイプラインピツチの時間に処理可能なパイプ
ライン演算装置を提供することにある。
ぞれ、1〜64ビツトのビツトストリングとして、PL
1言語で、A(J)=A(J−1)&B(J)1C
(J)と表わされる論理演算処理を、A(J)1要素あ
たり、1パイプラインピツチの時間に処理可能なパイプ
ライン演算装置を提供することにある。
上記目的を達成するために、本発明は、ベクトルプロセ
ツサに、1パイプラインピツチ内に2つのベクトル要素
B(J)および、C(J)を受けとり、演算器内のレジ
スタに格納されたA(J−L)とB(J)の論理積演算
と、それに引続くC(J)との論理和演算を、合わせて
1クロツクピツチ内に処理し、結果を出力するパイプラ
イン演算器と、専用命令を新たに設けることを特徴とす
る。
ツサに、1パイプラインピツチ内に2つのベクトル要素
B(J)および、C(J)を受けとり、演算器内のレジ
スタに格納されたA(J−L)とB(J)の論理積演算
と、それに引続くC(J)との論理和演算を、合わせて
1クロツクピツチ内に処理し、結果を出力するパイプラ
イン演算器と、専用命令を新たに設けることを特徴とす
る。
以下、本発明の一実施例を第1図〜第3図により説明す
る。第1図はPLL言語で記述されたDOグループの例
である。A(O〜N),B(1〜N),C(1〜N)の
各ベクトルデータの個々の要素は1ないし64ビツトの
ビツトストリングである。このプログラムの処理におい
て、まず、ベクトル要素A(O)とB(1)の論理積を
とり、得られた結果に対し、ひきつづきC(1)との論
理積をとつて、中間結果をA(1)として格納する。以
下、ベクトルデータの要素番号を1ずつ増して、同様の
処理をN回繰返す。第2図は、第1図のプログラムを高
速に処理するパイプライン演算器の構成例である。演算
以外の他のベクトルプロセツサの部分については、従来
の構成と同様であるので、ここでは説明を省く。第2図
に示すパイプライン演算器では、制御線200の信号に
同期して、スカラーデータA(O)を信号線100より
入力し、セレクタ20を経て、64ビツト巾のレジスタ
10に信号線202によりセツトする。本実施例におい
て、それから後の処理では、演算器内に中間結果A(1
〜N)を保持して演算を行うので、当該演算器へ送るオ
ペランドデータとしては、B(1〜N)とC(1〜N)
の2つのベクトルデータのみでよい。以下、B(J)と
C(J)のデータが当演算器に供給されることを示す信
号が信号線201により送られる毎に、10〜12の6
4ビツト巾レジスタ内容がセツトされ、要素処理がすす
められる。201からの信号と同期して、ベクトル要素
データB(J)が101から、同じくC(J)が102
から、1マシンサイクルにそれぞれ一要素ずつ送られて
くると、レジスタ10と11の内容の間で、まず13に
示す64個のANDゲートの集合により、1ビツト毎に
ANDをとり、中間結果を、103を経て、14に示す
64個のORゲートの集合に送り、レジスタ12の内容
との間で、1ビツト毎のORをとる。この結果をレジス
タ15に送り、105を経て中間結果A(J)の格納に
あてると共に、演算器内の帰還ループ104を経てセレ
クタ20通り、レジスタ10にセツトする。
る。第1図はPLL言語で記述されたDOグループの例
である。A(O〜N),B(1〜N),C(1〜N)の
各ベクトルデータの個々の要素は1ないし64ビツトの
ビツトストリングである。このプログラムの処理におい
て、まず、ベクトル要素A(O)とB(1)の論理積を
とり、得られた結果に対し、ひきつづきC(1)との論
理積をとつて、中間結果をA(1)として格納する。以
下、ベクトルデータの要素番号を1ずつ増して、同様の
処理をN回繰返す。第2図は、第1図のプログラムを高
速に処理するパイプライン演算器の構成例である。演算
以外の他のベクトルプロセツサの部分については、従来
の構成と同様であるので、ここでは説明を省く。第2図
に示すパイプライン演算器では、制御線200の信号に
同期して、スカラーデータA(O)を信号線100より
入力し、セレクタ20を経て、64ビツト巾のレジスタ
10に信号線202によりセツトする。本実施例におい
て、それから後の処理では、演算器内に中間結果A(1
〜N)を保持して演算を行うので、当該演算器へ送るオ
ペランドデータとしては、B(1〜N)とC(1〜N)
の2つのベクトルデータのみでよい。以下、B(J)と
C(J)のデータが当演算器に供給されることを示す信
号が信号線201により送られる毎に、10〜12の6
4ビツト巾レジスタ内容がセツトされ、要素処理がすす
められる。201からの信号と同期して、ベクトル要素
データB(J)が101から、同じくC(J)が102
から、1マシンサイクルにそれぞれ一要素ずつ送られて
くると、レジスタ10と11の内容の間で、まず13に
示す64個のANDゲートの集合により、1ビツト毎に
ANDをとり、中間結果を、103を経て、14に示す
64個のORゲートの集合に送り、レジスタ12の内容
との間で、1ビツト毎のORをとる。この結果をレジス
タ15に送り、105を経て中間結果A(J)の格納に
あてると共に、演算器内の帰還ループ104を経てセレ
クタ20通り、レジスタ10にセツトする。
ここで、スカラデータのセツト信号が201を経て送ら
れてくるが、そのタイミングがB(1)及びC(1)が
送られてくる1マシンサイクル以上前になるように制御
すると、信号線100と信号線101もしくは102
は、セレクタを介することにより共用可能である。そこ
で、第3図に、セレクタ40により、信号線100と1
01を共用した例を示す。
れてくるが、そのタイミングがB(1)及びC(1)が
送られてくる1マシンサイクル以上前になるように制御
すると、信号線100と信号線101もしくは102
は、セレクタを介することにより共用可能である。そこ
で、第3図に、セレクタ40により、信号線100と1
01を共用した例を示す。
第3図では、第1図に示した処理に、具体的な値を仮定
した、本発明の使用例を示す。第1図の処理を行う命令
をViTRL命令と名づけて新設すると、この命令を検出し
た命令制御回路300は信号線200を介して、演算器
400を起動すると共に、信号線200を介してこれが
ViTRL命令であることを知らせ、データA(O)を送ら
せる。以下、1マシンサイクル毎に1要素ずつ第1図の
処理を進めることができ、例えばA(O),B(1〜
7),C(1〜7)に図のような値を仮定すると、A
(1〜7)は、それぞれ図に示した値をとる。ここで、
値の‘1’は64ビツト全てが値1をとるストリング値
であり、‘0’は64ビツト全てが値0をとるストリン
グ値である。
した、本発明の使用例を示す。第1図の処理を行う命令
をViTRL命令と名づけて新設すると、この命令を検出し
た命令制御回路300は信号線200を介して、演算器
400を起動すると共に、信号線200を介してこれが
ViTRL命令であることを知らせ、データA(O)を送ら
せる。以下、1マシンサイクル毎に1要素ずつ第1図の
処理を進めることができ、例えばA(O),B(1〜
7),C(1〜7)に図のような値を仮定すると、A
(1〜7)は、それぞれ図に示した値をとる。ここで、
値の‘1’は64ビツト全てが値1をとるストリング値
であり、‘0’は64ビツト全てが値0をとるストリン
グ値である。
第4図は、演算器が直接主記憶よりデータを受けとる場
合の、当該新設命令の形式の一例で、‘ViTR’と書
かれたオペコードフイールドに続いて、ベクトルデータ
A,B,Cについて、その主記憶上の第1要素アドレス
とベクトル要素間のアドレスの隔たりを格納するテーブ
ル上の、レコード位置を示すフイールドを持つている。
合の、当該新設命令の形式の一例で、‘ViTR’と書
かれたオペコードフイールドに続いて、ベクトルデータ
A,B,Cについて、その主記憶上の第1要素アドレス
とベクトル要素間のアドレスの隔たりを格納するテーブ
ル上の、レコード位置を示すフイールドを持つている。
第5図は、演算器への送出データと、演算器からの結果
データがベクトルレジスタを介して行なわれる場合の当
該新設命令の形式の一例であり、A,B,Cと示された
フイールド中には、ベクトルレジスタ番号が保持され、
演算部分のみを本命令で処理し、オペランドデータのベ
クトルレジスタへの取出しと結果データのベクトルレジ
スタからの格納は、従来どおりの別途命令にて処理され
る。
データがベクトルレジスタを介して行なわれる場合の当
該新設命令の形式の一例であり、A,B,Cと示された
フイールド中には、ベクトルレジスタ番号が保持され、
演算部分のみを本命令で処理し、オペランドデータのベ
クトルレジスタへの取出しと結果データのベクトルレジ
スタからの格納は、従来どおりの別途命令にて処理され
る。
なお、AND演算とOR演算を入れかえた、A(J)=
(A(J−1)|B(J))&C(J)という演算は、
第2図の13と14を入換えるだけの演算器構成と、第
4〜5図の命令形式から、同様に高速化されることが容
易に類推できる。
(A(J−1)|B(J))&C(J)という演算は、
第2図の13と14を入換えるだけの演算器構成と、第
4〜5図の命令形式から、同様に高速化されることが容
易に類推できる。
本発明による新設命令を、本発明によるベクトル処理装
置により処理すると、従来はスカラー処理でしか行なえ
なかつた処理を、ベクトル処理により1マシンサイクル
に1要素のピツチで実行することが可能となり、マシン
サイクルで2倍、パイプライン演算効果で約3倍、2命
令分の処理を1命令で行う事により2倍で、約12倍の
高速化がはかれる。新設命令単独でも約2倍の高速化効
果がある。
置により処理すると、従来はスカラー処理でしか行なえ
なかつた処理を、ベクトル処理により1マシンサイクル
に1要素のピツチで実行することが可能となり、マシン
サイクルで2倍、パイプライン演算効果で約3倍、2命
令分の処理を1命令で行う事により2倍で、約12倍の
高速化がはかれる。新設命令単独でも約2倍の高速化効
果がある。
【図面の簡単な説明】 第1図はPL1プログラムのDOループ例を示す図、第
2図は本発明によるパイプライン演算器の1構成図を示
す図、第3図は第1図による処理の1使用例を示す図、
第4図及び第5図は、それぞれ第1図の演算を1命令で
処理する命令形式の例を示す図である。 100〜102……データ転送線、13……論理積演算
用ゲート、14……論理和演算用ゲート、10〜12,
15……フリツプフロツプ、105……結果データ転送
線、300……命令制御回路、400……パイプライン
演算器。
2図は本発明によるパイプライン演算器の1構成図を示
す図、第3図は第1図による処理の1使用例を示す図、
第4図及び第5図は、それぞれ第1図の演算を1命令で
処理する命令形式の例を示す図である。 100〜102……データ転送線、13……論理積演算
用ゲート、14……論理和演算用ゲート、10〜12,
15……フリツプフロツプ、105……結果データ転送
線、300……命令制御回路、400……パイプライン
演算器。
Claims (1)
- 【請求項1】第1、第2のベクトルデータの第j−1要
素の組に対して論理演算を先に行った結果得られた第3
ベクトルデータの第j−1要素と第1のベクトルデータ
の第j要素とに対するアンド演算と、そのアンド演算の
結果と第2のベクトルデータの第j要素とに対するオア
演算との組み合わせからなる論理演算を行うパイプライ
ン演算装置であって、 アンド演算用のアンド回路と、 該アンド回路の出力を一方の入力とするオア演算用のオ
ア回路と、 マシーンクロックに同期して、第1のベクトルデータの
要素を順次該アンド回路に一方の入力として供給すると
ともに、第2のベクトルデータの対応する要素を順次該
オア回路に他方の入力として供給し、第1のベクトルデ
ータの先頭要素が該アンド回路に供給されるのに同期し
て第3のベクトルデータの第0要素として用いる初期値
を該アンド回路に他方の入力として供給し、第1のベク
トルデータの後続の要素が該アンド回路に供給されるの
に同期して該オア回路の出力を該アンド回路に上記他方
の入力として供給する手段を有し、 該アンド回路と該オア回路はマシーンクロックの一つの
周期内にアンド演算とオア演算の一組を実行可能なよう
に構成されているパイプライン演算装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59206216A JPH0640337B2 (ja) | 1984-10-03 | 1984-10-03 | パイプライン演算装置 |
| US06/782,534 US4792893A (en) | 1984-10-03 | 1985-10-01 | Selectively recursive pipelined parallel vector logical operation system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59206216A JPH0640337B2 (ja) | 1984-10-03 | 1984-10-03 | パイプライン演算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6184777A JPS6184777A (ja) | 1986-04-30 |
| JPH0640337B2 true JPH0640337B2 (ja) | 1994-05-25 |
Family
ID=16519686
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59206216A Expired - Lifetime JPH0640337B2 (ja) | 1984-10-03 | 1984-10-03 | パイプライン演算装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4792893A (ja) |
| JP (1) | JPH0640337B2 (ja) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02109160A (ja) * | 1988-10-18 | 1990-04-20 | Japan Atom Energy Res Inst | ベクトル計算機用演算装置 |
| US5257394A (en) * | 1988-10-18 | 1993-10-26 | Japan Atomic Energy Research Institute | Logical expression processing pipeline using pushdown stacks for a vector computer |
| US5471593A (en) * | 1989-12-11 | 1995-11-28 | Branigin; Michael H. | Computer processor with an efficient means of executing many instructions simultaneously |
| US5389835A (en) * | 1991-04-12 | 1995-02-14 | Hewlett-Packard Company | Vector logic method and dynamic mousetrap logic gate for a self-timed monotonic logic progression |
| US5208490A (en) * | 1991-04-12 | 1993-05-04 | Hewlett-Packard Company | Functionally complete family of self-timed dynamic logic circuits |
| US8805312B2 (en) | 2011-04-06 | 2014-08-12 | Texas Instruments Incorporated | Methods, circuits, systems and apparatus providing audio sensitivity enhancement in a wireless receiver, power management and other performances |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3573851A (en) * | 1968-07-11 | 1971-04-06 | Texas Instruments Inc | Memory buffer for vector streaming |
| JPS6024985B2 (ja) * | 1978-08-31 | 1985-06-15 | 富士通株式会社 | デ−タ処理方式 |
| KR860001434B1 (ko) * | 1980-11-21 | 1986-09-24 | 후지쑤 가부시끼가이샤 | 데이타 처리시 스템 |
| JPS57134774A (en) * | 1981-02-13 | 1982-08-20 | Hitachi Ltd | Vector operating device |
| US4458330A (en) * | 1981-05-13 | 1984-07-03 | Intergraph Corporation | Banded vector to raster converter |
| US4533993A (en) * | 1981-08-18 | 1985-08-06 | National Research Development Corp. | Multiple processing cell digital data processor |
| JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
| JPH0652530B2 (ja) * | 1982-10-25 | 1994-07-06 | 株式会社日立製作所 | ベクトル・プロセッサ |
| JPS59160267A (ja) * | 1983-03-02 | 1984-09-10 | Hitachi Ltd | ベクトル処理装置 |
| JPH0786875B2 (ja) * | 1984-05-25 | 1995-09-20 | 株式会社日立製作所 | ベクトル処理装置 |
-
1984
- 1984-10-03 JP JP59206216A patent/JPH0640337B2/ja not_active Expired - Lifetime
-
1985
- 1985-10-01 US US06/782,534 patent/US4792893A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6184777A (ja) | 1986-04-30 |
| US4792893A (en) | 1988-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
| US4298936A (en) | Array Processor | |
| JP3954171B2 (ja) | コンピュータにおけるスカラ値をベクトルに記入する方法 | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| JPH02136920A (ja) | データ処理回路 | |
| JPH03286332A (ja) | デジタルデータ処理装置 | |
| GB1061546A (en) | Instruction and operand processing | |
| JPH0640337B2 (ja) | パイプライン演算装置 | |
| JPS58182754A (ja) | 演算処理装置 | |
| US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel | |
| JP2567134B2 (ja) | ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ | |
| JPH02293931A (ja) | 制御装置 | |
| JPS621030A (ja) | カウンタ回路 | |
| JPH0616287B2 (ja) | マスク付きベクトル演算処理装置 | |
| JP2667810B2 (ja) | ベクトル処理装置 | |
| JPH01273132A (ja) | マイクロプロセッサ | |
| JPS5839347A (ja) | プロセツサ | |
| JPS6368924A (ja) | マイクロプロセッサ | |
| JPS63298633A (ja) | パイプライン処理装置における命令フェッチ制御方式 | |
| JPH0512009A (ja) | デイジタル信号処理装置 | |
| JPS6389930A (ja) | マイクロプログラム制御装置 | |
| JPS6057603B2 (ja) | 演算処理装置 | |
| JPH04135240A (ja) | 情報処理装置 | |
| JPS59223846A (ja) | 演算処理装置 | |
| JPS5971542A (ja) | 演算処理装置 |