JPH0418345B2 - - Google Patents
Info
- Publication number
- JPH0418345B2 JPH0418345B2 JP59108259A JP10825984A JPH0418345B2 JP H0418345 B2 JPH0418345 B2 JP H0418345B2 JP 59108259 A JP59108259 A JP 59108259A JP 10825984 A JP10825984 A JP 10825984A JP H0418345 B2 JPH0418345 B2 JP H0418345B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- vector processor
- address
- arithmetic
- logic unit
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
- G06F9/38873—Iterative single instructions for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
[発明の技術分野]
本発明はデータ処理分野に係り、特に、新規な
全浮動小数点ベクトルプロセツサに関する。
全浮動小数点ベクトルプロセツサに関する。
[発明の背景]
可能な限り迅速な計算スループツトを得るため
に、デイジタル計算機のアーキテクチヤは、一般
に、並列処理技法またはパイプライン処理技法
と、最も早く利用でき価格性能比の互いハードウ
エアとを用いる。並列処理は、同時作動する複数
の算術論理演算ユニツト間で処理すべきデータを
分割することによつて、使用される個々の同時作
動の算術論理演算ユニツトの数によつて定まる係
数だけ速い処理を得る。パイプライン処理は、算
出されるべき関数を直列接続されラツチされた複
数のパイプラインステージで行われる可分演算に
分割する。処理されるべきデータは、パイプライ
ンを通じて流されることにより、使用されたパイ
プラインステージの数により定まる係数だけ速く
処理される。
に、デイジタル計算機のアーキテクチヤは、一般
に、並列処理技法またはパイプライン処理技法
と、最も早く利用でき価格性能比の互いハードウ
エアとを用いる。並列処理は、同時作動する複数
の算術論理演算ユニツト間で処理すべきデータを
分割することによつて、使用される個々の同時作
動の算術論理演算ユニツトの数によつて定まる係
数だけ速い処理を得る。パイプライン処理は、算
出されるべき関数を直列接続されラツチされた複
数のパイプラインステージで行われる可分演算に
分割する。処理されるべきデータは、パイプライ
ンを通じて流されることにより、使用されたパイ
プラインステージの数により定まる係数だけ速く
処理される。
ベクトルプロセツサは、集合群またはベクトル
群に配列された複数のデータブロツクについて計
算集中関数の繰返し算出を必要とする重要なクラ
スの問題に一般に用いられる。上記機械によれ
ば、パイプラインは、代表的な場合、順次入力さ
れるデータベクトルについて算出されるべく予め
選択された一の関数にそれぞれ対応する複数のア
ーキテクチヤの1つとして構成されうる。公知の
ベクトルプロセツサによれば、ベクトルデータの
入出力、ベクトルデータのアドレス生成、およ
び、パイプライン制御が相互依存的に行われる。
これは、システムスループツトに対する重大な妨
げとなる。また、システムスループツトは、なに
よりも、全てのアドレスの全ての絶対値に対す
る、記憶サイクルのタイミングの依存性によつ
て、および、算出されるべき複数の関数の各々に
ついて、パイプラインの全てのアーキテクチヤが
全てのパイプライン形算術演算ユニツトの100%
利用を達成しないことによつて小さくなる。
群に配列された複数のデータブロツクについて計
算集中関数の繰返し算出を必要とする重要なクラ
スの問題に一般に用いられる。上記機械によれ
ば、パイプラインは、代表的な場合、順次入力さ
れるデータベクトルについて算出されるべく予め
選択された一の関数にそれぞれ対応する複数のア
ーキテクチヤの1つとして構成されうる。公知の
ベクトルプロセツサによれば、ベクトルデータの
入出力、ベクトルデータのアドレス生成、およ
び、パイプライン制御が相互依存的に行われる。
これは、システムスループツトに対する重大な妨
げとなる。また、システムスループツトは、なに
よりも、全てのアドレスの全ての絶対値に対す
る、記憶サイクルのタイミングの依存性によつ
て、および、算出されるべき複数の関数の各々に
ついて、パイプラインの全てのアーキテクチヤが
全てのパイプライン形算術演算ユニツトの100%
利用を達成しないことによつて小さくなる。
[発明の概要]
本発明の新規ベクトルプロセツサは、並列アー
キテクチヤおよびパイプラインアーキテクチヤを
組合せることにより、固定小数点フオーマツト、
または、浮動小数点フオーマツトを有するベクト
ルデータについて複数の計算集中関数を算出しう
るシステムであつて、比較的安価なハードウエア
構成と直進ソフトウエアアプローチとを伴う方法
で大きなデータスループツトを与えるシステムを
提供する。本発明の全浮動小数点ベクトルプロセ
ツサは、多重プロセツサ密結合モード、多重プロ
セツサ疎結合資源共有モード、非結合単一プロセ
ツサ単体モードの1つとして多重モード演算を行
いうる。本発明の浮動小数点ベクトルプロセツサ
は、パイプライン形算術論理演算ユニツトと、ビ
ツトスライス形アドレス生成器と、局部ベクトル
データメモリと、ユーザ透過形並列アーキテクチ
ヤとして構成されたマスタ処理ユニツトとを含
み、ベクトルデータ読取り書き込みアドレス生成
と、パイプライン制御用マイクロコードと、ベク
トルデータ入出力と、オンザフライフオーマツト
変換とを同時に供給するように動作する。マスタ
処理ユニツトにより制御されるビツトスライス形
アドレス生成器は、各クロツクパルスの生成直後
に、パイプライン内に流れ込むべき次のデータベ
クトルに対してアドレスを与える。アドレス生成
器とマスタ処理ユニツトとの両方によつて制御さ
れるパイプライン制御用シーケンサは、各クロツ
クパルスの生成直後に、該クロツクパルスに対応
する、関数算出相に対して、パイプライン形算術
論理演算ユニツトを構成する次の出力コードを同
期供給するように動作する。データは、アドレス
生成器によつて該データのため指定されたデータ
メモリ内の読出しデータアドレス記憶個所からパ
イプライン形算術論理ユニツト内での算出のため
に、逐次的に読出され、関数算出後、パイプライ
ン制御用シーケンサの制御によりアドレス生成器
によつて上記データのため指定された、データメ
モリ内の書込みデータアドレスへ再び書込まれ
る。パイプライン形算術論理ユニツトは、Mおよ
びZと名付けられた一対のレジスタフアイルと、
ユーザ選択形固定小数点もしくは浮動小数点フオ
ーマツト乗算器と、ユーザ選択形固定小数点もし
くは浮動小数点フオーマツト算術論理演算ユニツ
トとを含む。上記MレジスタフアイルおよびZレ
ジスタフアイルは、パイプライン制御用シーケン
サの制御によつて選択可能なフイードフオワード
路とフイードバツク路の両方とを含む手段によつ
て選択的に接続される。各クロツクパルスの生成
時に、Mレジスタフアイル、および、Zレジスタ
フアイルの各々は、2つの読出しと2つの書込み
とを行い、該書込みの一方は、読出し用に指定さ
れたアドレスへ行われる。直接メモリアドレス指
定とプログラム形入出力とが、データメモリに対
するベクトルデータの入出力のために用いられ
る。特に、非結合単体モード中の全浮動小数点ベ
クトルプロセツサの独立演算用に、RS−232形イ
ンタフエースが設けられ、また、特に、疎結合資
源共有モード中の外部周辺装置へマスタ処理ユニ
ツトをインタフエースを介して接続するためにマ
ルチバス形インタフエースが設けられ、また、特
に、密結合モード中の演算のために、マスタ処理
ユニツトを汎用ホストコンピユータにインタフエ
ースを介して接続するためにユニバスインタフエ
ースが設けられている。例えば、入力信号プロセ
ツサ、および、出力表示図形処理のようなアナロ
グ装置にデータメモリをインタフエースを介して
接続するために、2個の補助入出力ポートが設け
られている。データメモリは、スタテイツク
RAMと比較的安価で広バンド幅のインターリー
ブドダイナミツクRAMとを含む。
キテクチヤおよびパイプラインアーキテクチヤを
組合せることにより、固定小数点フオーマツト、
または、浮動小数点フオーマツトを有するベクト
ルデータについて複数の計算集中関数を算出しう
るシステムであつて、比較的安価なハードウエア
構成と直進ソフトウエアアプローチとを伴う方法
で大きなデータスループツトを与えるシステムを
提供する。本発明の全浮動小数点ベクトルプロセ
ツサは、多重プロセツサ密結合モード、多重プロ
セツサ疎結合資源共有モード、非結合単一プロセ
ツサ単体モードの1つとして多重モード演算を行
いうる。本発明の浮動小数点ベクトルプロセツサ
は、パイプライン形算術論理演算ユニツトと、ビ
ツトスライス形アドレス生成器と、局部ベクトル
データメモリと、ユーザ透過形並列アーキテクチ
ヤとして構成されたマスタ処理ユニツトとを含
み、ベクトルデータ読取り書き込みアドレス生成
と、パイプライン制御用マイクロコードと、ベク
トルデータ入出力と、オンザフライフオーマツト
変換とを同時に供給するように動作する。マスタ
処理ユニツトにより制御されるビツトスライス形
アドレス生成器は、各クロツクパルスの生成直後
に、パイプライン内に流れ込むべき次のデータベ
クトルに対してアドレスを与える。アドレス生成
器とマスタ処理ユニツトとの両方によつて制御さ
れるパイプライン制御用シーケンサは、各クロツ
クパルスの生成直後に、該クロツクパルスに対応
する、関数算出相に対して、パイプライン形算術
論理演算ユニツトを構成する次の出力コードを同
期供給するように動作する。データは、アドレス
生成器によつて該データのため指定されたデータ
メモリ内の読出しデータアドレス記憶個所からパ
イプライン形算術論理ユニツト内での算出のため
に、逐次的に読出され、関数算出後、パイプライ
ン制御用シーケンサの制御によりアドレス生成器
によつて上記データのため指定された、データメ
モリ内の書込みデータアドレスへ再び書込まれ
る。パイプライン形算術論理ユニツトは、Mおよ
びZと名付けられた一対のレジスタフアイルと、
ユーザ選択形固定小数点もしくは浮動小数点フオ
ーマツト乗算器と、ユーザ選択形固定小数点もし
くは浮動小数点フオーマツト算術論理演算ユニツ
トとを含む。上記MレジスタフアイルおよびZレ
ジスタフアイルは、パイプライン制御用シーケン
サの制御によつて選択可能なフイードフオワード
路とフイードバツク路の両方とを含む手段によつ
て選択的に接続される。各クロツクパルスの生成
時に、Mレジスタフアイル、および、Zレジスタ
フアイルの各々は、2つの読出しと2つの書込み
とを行い、該書込みの一方は、読出し用に指定さ
れたアドレスへ行われる。直接メモリアドレス指
定とプログラム形入出力とが、データメモリに対
するベクトルデータの入出力のために用いられ
る。特に、非結合単体モード中の全浮動小数点ベ
クトルプロセツサの独立演算用に、RS−232形イ
ンタフエースが設けられ、また、特に、疎結合資
源共有モード中の外部周辺装置へマスタ処理ユニ
ツトをインタフエースを介して接続するためにマ
ルチバス形インタフエースが設けられ、また、特
に、密結合モード中の演算のために、マスタ処理
ユニツトを汎用ホストコンピユータにインタフエ
ースを介して接続するためにユニバスインタフエ
ースが設けられている。例えば、入力信号プロセ
ツサ、および、出力表示図形処理のようなアナロ
グ装置にデータメモリをインタフエースを介して
接続するために、2個の補助入出力ポートが設け
られている。データメモリは、スタテイツク
RAMと比較的安価で広バンド幅のインターリー
ブドダイナミツクRAMとを含む。
[実施例]
以下、添付図面を参照して本発明の実施例につ
いて詳細に説明する。
いて詳細に説明する。
図1において、10は、本発明の新規な浮動小
数点ベクトルプロセツサの機能ブロツク線図であ
る。浮動小数点ベクトルプロセツサ10は、マス
タ処理ユニツト(MPU)12(好ましくはモト
ローラMC68000チツプ)を含む。マスタ処理ユ
ニツト12は、マスタ処理ユニツトのアドレスバ
ス16とマスタ処理ユニツトのデータバス18と
を介して、データメモリ(DM)周辺装置14に
記憶域が割当てられ、記憶域が割当てられたパイ
プライン形算術演算ユニツト制御装置(PAUC)
20に記憶域が割当てられる。データメモリ14
は、好ましくは、広記憶バンド幅を有する、後述
のスタテイツクRAMおよび/またはインタリー
ブドダイナミツクRAMである。データメモリの
アドレス(DMA)バス22、データメモリの入
力(DMI)バス24、および、データメモリの
出力(DMO)バス26は、通常の態様でデータ
メモリ14に接続されている。マスタ処理ユニツ
トのアドレスバス16は、データメモリのアドレ
スバス22、および、パイプライン形算術演算ユ
ニツト制御装置20に結合されている。マスタ処
理ユニツトのデータバス18は、データメモリの
入力バス24、データメモリの出力バス26、お
よび、パイプライン形算術演算ユニツト制御装置
20に接続されている。マスタ処理ユニツト1
2、データメモリ14、パイプライン形算術演算
ユニツト制御装置20、および、後述するパイプ
ライン形算術演算ユニツト36に結合されたクロ
ツク25は、通常の態様で動作することにより、
システムタイミングを制御するためのクロツク信
号を供給する。
数点ベクトルプロセツサの機能ブロツク線図であ
る。浮動小数点ベクトルプロセツサ10は、マス
タ処理ユニツト(MPU)12(好ましくはモト
ローラMC68000チツプ)を含む。マスタ処理ユ
ニツト12は、マスタ処理ユニツトのアドレスバ
ス16とマスタ処理ユニツトのデータバス18と
を介して、データメモリ(DM)周辺装置14に
記憶域が割当てられ、記憶域が割当てられたパイ
プライン形算術演算ユニツト制御装置(PAUC)
20に記憶域が割当てられる。データメモリ14
は、好ましくは、広記憶バンド幅を有する、後述
のスタテイツクRAMおよび/またはインタリー
ブドダイナミツクRAMである。データメモリの
アドレス(DMA)バス22、データメモリの入
力(DMI)バス24、および、データメモリの
出力(DMO)バス26は、通常の態様でデータ
メモリ14に接続されている。マスタ処理ユニツ
トのアドレスバス16は、データメモリのアドレ
スバス22、および、パイプライン形算術演算ユ
ニツト制御装置20に結合されている。マスタ処
理ユニツトのデータバス18は、データメモリの
入力バス24、データメモリの出力バス26、お
よび、パイプライン形算術演算ユニツト制御装置
20に接続されている。マスタ処理ユニツト1
2、データメモリ14、パイプライン形算術演算
ユニツト制御装置20、および、後述するパイプ
ライン形算術演算ユニツト36に結合されたクロ
ツク25は、通常の態様で動作することにより、
システムタイミングを制御するためのクロツク信
号を供給する。
パイプライン形算術演算ユニツト制御装置20
は、A.G.と名付けられた後述のアドレス生成器
28を含み、このアドレス生成器28は、データ
メモリ14に記憶サイクル毎に一度アドレスを与
えるため、データメモリのアドレスバス22に接
続されている。アドレス生成器28は、破線32
で図式的に示されているように、P.C.S.と名付け
られた後述のパイプライン制御用シーケンサ31
に密結合されている。パイプライン制御用シーケ
ンサ31は、命令バス34を介して各(CLK)
クロツクパルス毎に一度命令を与えるように動作
する。後述のパイプライン形算術演算ユニツト3
6は、パイプライン制御用シーケンサ30の命令
バス34、データメモリの出力バス26、およ
び、データメモリの入力バス24に接続されてい
る。後に詳述するように、1記憶サイクルは、好
ましくは、2個のクロツクパルスに等しい。
は、A.G.と名付けられた後述のアドレス生成器
28を含み、このアドレス生成器28は、データ
メモリ14に記憶サイクル毎に一度アドレスを与
えるため、データメモリのアドレスバス22に接
続されている。アドレス生成器28は、破線32
で図式的に示されているように、P.C.S.と名付け
られた後述のパイプライン制御用シーケンサ31
に密結合されている。パイプライン制御用シーケ
ンサ31は、命令バス34を介して各(CLK)
クロツクパルス毎に一度命令を与えるように動作
する。後述のパイプライン形算術演算ユニツト3
6は、パイプライン制御用シーケンサ30の命令
バス34、データメモリの出力バス26、およ
び、データメモリの入力バス24に接続されてい
る。後に詳述するように、1記憶サイクルは、好
ましくは、2個のクロツクパルスに等しい。
入出力(I/O)能力は、データメモリ14に
接続された複数の補助入出力ポート40とRS−
232形シリアルポート38と、ユニバス
(UNIBUS)または他の標準ホストインターフエ
ース42と、マルチバス(MULTIBUS)インタ
フエース44とを含む。RS−232形シリアルポー
ト38は、マスタ処理ユニツト12のアドレスバ
ス16、および、データバス18に動作的に接続
されており、19.2Kボーまでのユーザ選択形伝送
速度を提供する。ホストユニバス入出力インタフ
エース42は、通常の直接メモリアドレス
(DMA)、および、プログラム形入出力(PIO)
制御装置48に通常の方法で接続されている。マ
ルチバスインタフエース44は、マスタ処理ユニ
ツト12のアドレスバス16、および、データバ
ス18に動作的に接続されている。マスタ処理ユ
ニツトのアドレスバス16、および、マスタ処理
ユニツトのデータバス18に接続されたメモリ制
御装置49は、システムに、マスタ処理ユニツト
12のプログラムメモリ、データメモリ14、ア
ドレス生成器28の制御記憶装置、パイプライン
制御用シーケンサ31の制御記憶装置、マルチバ
スインタフエース44、および、ユニバス入出力
インタフエース42の選択された複数対の間での
データ移動能力を与える。補助入出力ポート40
は、好ましくは、所望であれば、1個の32ビツト
チヤンネルを形成するように組合わせうる2本の
6.00Mhzの双方向性16ビツトデータチヤンネルで
ある。2本の16ビツトの双方向性データチヤンネ
ル、または、組合わされた32ビツトチヤンネル
は、データメモリ14と、信号処理用A/Dコン
バータ、および/または、図形表示装置のための
外部接続用、および/または、他の処理ユニツト
との間でのデータ伝送用のデータモデムに至る
D/Aコンバータ(いずれも図示せず)のような
外部接続用機器との間にバツフア付直接メモリア
ドレスのアクセスを形成する。ユニバスインタフ
エース42は、現在最も普及している汎用デイジ
タル計算機に対する完全な直接メモリアドレス
形、および、プログラム形入出力アクセスとな
る。マルチバスインタフエース44は、磁気デイ
スク、磁気テープ、画像表示装置、他の処理ユニ
ツト、他のベクトルプロセツサ、および、特に構
内通信網(LAN)(いずれも図示せず)に接続す
るのに適した500Khzの、双方向性、直接データ、
プログラムおよび制御入出力バスとなる。
接続された複数の補助入出力ポート40とRS−
232形シリアルポート38と、ユニバス
(UNIBUS)または他の標準ホストインターフエ
ース42と、マルチバス(MULTIBUS)インタ
フエース44とを含む。RS−232形シリアルポー
ト38は、マスタ処理ユニツト12のアドレスバ
ス16、および、データバス18に動作的に接続
されており、19.2Kボーまでのユーザ選択形伝送
速度を提供する。ホストユニバス入出力インタフ
エース42は、通常の直接メモリアドレス
(DMA)、および、プログラム形入出力(PIO)
制御装置48に通常の方法で接続されている。マ
ルチバスインタフエース44は、マスタ処理ユニ
ツト12のアドレスバス16、および、データバ
ス18に動作的に接続されている。マスタ処理ユ
ニツトのアドレスバス16、および、マスタ処理
ユニツトのデータバス18に接続されたメモリ制
御装置49は、システムに、マスタ処理ユニツト
12のプログラムメモリ、データメモリ14、ア
ドレス生成器28の制御記憶装置、パイプライン
制御用シーケンサ31の制御記憶装置、マルチバ
スインタフエース44、および、ユニバス入出力
インタフエース42の選択された複数対の間での
データ移動能力を与える。補助入出力ポート40
は、好ましくは、所望であれば、1個の32ビツト
チヤンネルを形成するように組合わせうる2本の
6.00Mhzの双方向性16ビツトデータチヤンネルで
ある。2本の16ビツトの双方向性データチヤンネ
ル、または、組合わされた32ビツトチヤンネル
は、データメモリ14と、信号処理用A/Dコン
バータ、および/または、図形表示装置のための
外部接続用、および/または、他の処理ユニツト
との間でのデータ伝送用のデータモデムに至る
D/Aコンバータ(いずれも図示せず)のような
外部接続用機器との間にバツフア付直接メモリア
ドレスのアクセスを形成する。ユニバスインタフ
エース42は、現在最も普及している汎用デイジ
タル計算機に対する完全な直接メモリアドレス
形、および、プログラム形入出力アクセスとな
る。マルチバスインタフエース44は、磁気デイ
スク、磁気テープ、画像表示装置、他の処理ユニ
ツト、他のベクトルプロセツサ、および、特に構
内通信網(LAN)(いずれも図示せず)に接続す
るのに適した500Khzの、双方向性、直接データ、
プログラムおよび制御入出力バスとなる。
システム10は、密結合モード、疎結合モード
および非結合モードのうち1つの多重モード演算
を行うことができる。密結合モードによれば、シ
ステム10は、ユニバス入出力インタフエース4
2を介して、ホスト計算機(図示せず)にインタ
フエースを介して接続されている。ホスト計算機
内に存在するソフトウエアは、システムのデータ
収集、パイプライン形算術演算ユニツト36内で
の関数算出、および、ホスト計算機への出力デー
タ書込みを制御する。疎結合モードによれば、シ
ステム10は、代表的な場合、補助入出力ポート
40、または、マルチバスインタフエース44を
経て直接メモリアドレス入出力により得られたデ
ータを処理する。システム10は、ソフトウエア
がユニバスインタフエース42を介して、また
は、マルチバスインタフエース44を介してダウ
ンロードされた後、マスタ処理ユニツト12内蔵
ソフトウエアにより動作可能となり、補助入出力
ポート40、または、マルチバスインタフエース
44を介して直接メモリアドレス、および/また
は、プログラム形入出力により得られたデータを
処理できる。非結合単体モードによれば、システ
ム10自体が内臓ソフトウエアに基づいて、関数
算出、および、データ入出力を行う。非結合単体
モードによれば、ソフトウエアは、RS−232形シ
リアルライン38を介して、マスタ処理ユニツト
12のプログラマブルメモリ内にロードされる。
データは、再び、補助入出力インタフエース4
0、または、マルチバスインタフエース44を介
して供給される。
および非結合モードのうち1つの多重モード演算
を行うことができる。密結合モードによれば、シ
ステム10は、ユニバス入出力インタフエース4
2を介して、ホスト計算機(図示せず)にインタ
フエースを介して接続されている。ホスト計算機
内に存在するソフトウエアは、システムのデータ
収集、パイプライン形算術演算ユニツト36内で
の関数算出、および、ホスト計算機への出力デー
タ書込みを制御する。疎結合モードによれば、シ
ステム10は、代表的な場合、補助入出力ポート
40、または、マルチバスインタフエース44を
経て直接メモリアドレス入出力により得られたデ
ータを処理する。システム10は、ソフトウエア
がユニバスインタフエース42を介して、また
は、マルチバスインタフエース44を介してダウ
ンロードされた後、マスタ処理ユニツト12内蔵
ソフトウエアにより動作可能となり、補助入出力
ポート40、または、マルチバスインタフエース
44を介して直接メモリアドレス、および/また
は、プログラム形入出力により得られたデータを
処理できる。非結合単体モードによれば、システ
ム10自体が内臓ソフトウエアに基づいて、関数
算出、および、データ入出力を行う。非結合単体
モードによれば、ソフトウエアは、RS−232形シ
リアルライン38を介して、マスタ処理ユニツト
12のプログラマブルメモリ内にロードされる。
データは、再び、補助入出力インタフエース4
0、または、マルチバスインタフエース44を介
して供給される。
非結合単体モード、疎結合モード、または、密
結合モードのいずれか1つによれば、マスタ処理
ユニツト12は、直接メモリアドレス、および、
プログラム形入出力制御装置48を使用可能に
し、選択されたモードに従つて、処理されるべき
データを補助入出力インタフエース40、ホスト
入出力インタフエース42、および、マルチバス
入出力インタフエース44の1つからデータメモ
リ14に直接書込ませるように動作する。マスタ
処理ユニツト12は、直接メモリアドレス指定と
同時に、パイプライン形算術演算ユニツト制御装
置20を使用可能にし、マスタ処理ユニツトのア
ドレスバス16、および、マスタ処理ユニツトの
データバス18を使用して、アドレス生成器の命
令をアドレス生成器の後述のRAM内の指定され
たアドレスに書込む。これにより、マスタ処理ユ
ニツト12は、マスタ処理ユニツトのアドレスバ
ス16およびデータバス18を介して、プログラ
ム制御用シーケンサの後述のRAM内にパイプラ
イン制御用シーケンサのマイクロ命令を書込み、
アドレス生成器28とパイプライン制御用シーケ
ンサ31との両方の開始アドレス、および、マス
タ処理ユニツトのアドレスバス16、および、マ
スタ処理ユニツトデータバス18を介して、アド
レス生成時に使用するパラメータ値をアドレス生
成器28のレジスタに書込むように操作されう
る。
結合モードのいずれか1つによれば、マスタ処理
ユニツト12は、直接メモリアドレス、および、
プログラム形入出力制御装置48を使用可能に
し、選択されたモードに従つて、処理されるべき
データを補助入出力インタフエース40、ホスト
入出力インタフエース42、および、マルチバス
入出力インタフエース44の1つからデータメモ
リ14に直接書込ませるように動作する。マスタ
処理ユニツト12は、直接メモリアドレス指定と
同時に、パイプライン形算術演算ユニツト制御装
置20を使用可能にし、マスタ処理ユニツトのア
ドレスバス16、および、マスタ処理ユニツトの
データバス18を使用して、アドレス生成器の命
令をアドレス生成器の後述のRAM内の指定され
たアドレスに書込む。これにより、マスタ処理ユ
ニツト12は、マスタ処理ユニツトのアドレスバ
ス16およびデータバス18を介して、プログラ
ム制御用シーケンサの後述のRAM内にパイプラ
イン制御用シーケンサのマイクロ命令を書込み、
アドレス生成器28とパイプライン制御用シーケ
ンサ31との両方の開始アドレス、および、マス
タ処理ユニツトのアドレスバス16、および、マ
スタ処理ユニツトデータバス18を介して、アド
レス生成時に使用するパラメータ値をアドレス生
成器28のレジスタに書込むように操作されう
る。
上述の初期化シーケンスを行つた後に、マスタ
処理ユニツト12は、アドレス生成器28を始動
する。これにより、アドレス生成器28は、アド
レス生成器の始動レジスタ内に指定されたアドレ
ス生成器の制御ループの開始アドレスに飛越し、
その飛越し点に指定されたアドレス生成器の制御
アルゴリズムの実行を開始し、各記憶サイクルの
間に、データメモリのアドレスバス22上にアド
レスを生成するように動作する。上記各アドレス
によつて指定された後述のデータ値の対は、デー
タメモリ14からデータメモリの出力バス26上
に書出される。データがアドレス指定されデータ
メモリのアドレスバス26上に書出されるのに要
する時間に一致するように選択された所定の時間
遅れ後に、アドレス生成器28は、パイプライン
制御用シーケンサ31を使用可能にする制御信号
を供給し、パイプライン形算術演算ユニツト36
内で関数が算出されるように開始アドレスをパイ
プライン制御用シーケンサ31にロードする。こ
れにより、パイプライン制御用シーケンサ31
は、指定された開始アドレスに飛越し、各クロツ
クパルス毎にパイプライン形算術演算ユニツト3
6を制御するためにバス34を介して順次マイク
ロ命令を供給するように動作する。パイプライン
制御用シーケンサ31およびアドレス生成器28
は、パイプライン形算術演算ユニツト36に入力
される、同期された、複数のマイクロ命令および
複数のデータ値を同時に供給する。データは、マ
イクロ命令によつて制御可能に構成されたパイプ
ライン形算術演算ユニツト36内を流される。選
択された関数算出が完了した後、算出された関数
を表わすデータがデータメモリの入力バス24を
介してデータメモリ14内に再び書込まれる。こ
の後、同一関数は、新しいデータについて繰返し
算出されうる。他の関数算出をしなければならな
い場合には、マスタ処理ユニツト12は、アドレ
ス生成器28を使用可能とし、算出されるように
新に選択された関数の初期命令の記憶個所に対応
する開始アドレスをパイプライン制御用シーケン
サの開始アドレスレジスタ内にロードさせる。こ
の処理過程は、繰返される。
処理ユニツト12は、アドレス生成器28を始動
する。これにより、アドレス生成器28は、アド
レス生成器の始動レジスタ内に指定されたアドレ
ス生成器の制御ループの開始アドレスに飛越し、
その飛越し点に指定されたアドレス生成器の制御
アルゴリズムの実行を開始し、各記憶サイクルの
間に、データメモリのアドレスバス22上にアド
レスを生成するように動作する。上記各アドレス
によつて指定された後述のデータ値の対は、デー
タメモリ14からデータメモリの出力バス26上
に書出される。データがアドレス指定されデータ
メモリのアドレスバス26上に書出されるのに要
する時間に一致するように選択された所定の時間
遅れ後に、アドレス生成器28は、パイプライン
制御用シーケンサ31を使用可能にする制御信号
を供給し、パイプライン形算術演算ユニツト36
内で関数が算出されるように開始アドレスをパイ
プライン制御用シーケンサ31にロードする。こ
れにより、パイプライン制御用シーケンサ31
は、指定された開始アドレスに飛越し、各クロツ
クパルス毎にパイプライン形算術演算ユニツト3
6を制御するためにバス34を介して順次マイク
ロ命令を供給するように動作する。パイプライン
制御用シーケンサ31およびアドレス生成器28
は、パイプライン形算術演算ユニツト36に入力
される、同期された、複数のマイクロ命令および
複数のデータ値を同時に供給する。データは、マ
イクロ命令によつて制御可能に構成されたパイプ
ライン形算術演算ユニツト36内を流される。選
択された関数算出が完了した後、算出された関数
を表わすデータがデータメモリの入力バス24を
介してデータメモリ14内に再び書込まれる。こ
の後、同一関数は、新しいデータについて繰返し
算出されうる。他の関数算出をしなければならな
い場合には、マスタ処理ユニツト12は、アドレ
ス生成器28を使用可能とし、算出されるように
新に選択された関数の初期命令の記憶個所に対応
する開始アドレスをパイプライン制御用シーケン
サの開始アドレスレジスタ内にロードさせる。こ
の処理過程は、繰返される。
図2において、50は、本発明の全浮動小数点
ベクトルプロセツサのパイプライン形算術演算ユ
ニツト制御装置のブロツク線図である。パイプラ
イン形算術演算ユニツト制御装置50は、破線ブ
ロツク52で表わされたアドレス生成器(A.G.)
を含み、該アドレス生成器は、破線ブロツク54
によつて表わされたパイプライン制御用シーケン
サ(P.C.S.)に結合されている。アドレス生成器
52は、マスタプ処理ユニツト12(図1参照)
からアルゴリズムパラメータが入力され、パイプ
ラインデータ書込み、および、読取りのために、
データメモリ58に、同期化された複数のメモリ
アドレスを供給する。アドレス生成器52は、算
術論理演算ユニツト56(好ましくは、複数の
2901ビツトスライス形チツプ)を含む。この算術
論理演算ユニツト56は、パイプライン内に流し
込まれるべきデータ値の記憶個所を指定するデー
タメモリの複数の読取りアドレスを順次供給し、
関数算出後に、パイプライン出力データ値が書込
まれるデータメモリ書込み位置を指定する複数の
データメモリ書込みアドレスを順次供給する。算
術論理演算ユニツト56のレジスタは、上記初期
化シーケンス中、マスタ処理ユニツトのアドレス
バス16、および、マスタ処理ユニツトのデータ
バス18を介して、アドレス生成時に使用される
パラメータ値がロードされる。
ベクトルプロセツサのパイプライン形算術演算ユ
ニツト制御装置のブロツク線図である。パイプラ
イン形算術演算ユニツト制御装置50は、破線ブ
ロツク52で表わされたアドレス生成器(A.G.)
を含み、該アドレス生成器は、破線ブロツク54
によつて表わされたパイプライン制御用シーケン
サ(P.C.S.)に結合されている。アドレス生成器
52は、マスタプ処理ユニツト12(図1参照)
からアルゴリズムパラメータが入力され、パイプ
ラインデータ書込み、および、読取りのために、
データメモリ58に、同期化された複数のメモリ
アドレスを供給する。アドレス生成器52は、算
術論理演算ユニツト56(好ましくは、複数の
2901ビツトスライス形チツプ)を含む。この算術
論理演算ユニツト56は、パイプライン内に流し
込まれるべきデータ値の記憶個所を指定するデー
タメモリの複数の読取りアドレスを順次供給し、
関数算出後に、パイプライン出力データ値が書込
まれるデータメモリ書込み位置を指定する複数の
データメモリ書込みアドレスを順次供給する。算
術論理演算ユニツト56のレジスタは、上記初期
化シーケンス中、マスタ処理ユニツトのアドレス
バス16、および、マスタ処理ユニツトのデータ
バス18を介して、アドレス生成時に使用される
パラメータ値がロードされる。
実行のために、算術論理演算ユニツト56には
命令レジスタデコーダ60から複数の命令が順次
与えられる。命令レジスタデコーダ60は、アド
レス制御装置64により制御される、アドレス生
成器の命令制御格納RAM62から書込まれる。
アドレス制御装置64(好ましくは、2910チツ
プ)は、RAM62内に格納された、アドレス生
成器の選択された制御アルゴリズムの全ての命令
のアドレスを順次生成する。上述のように、
RAM62は、初期化中、マスタ処理ユニツト1
2によつて書込まれ、それぞれが起動ルーチンお
よび終了ルーチンを含むアドレス生成器の複数の
制御ループ用の命令を個々のアドレス指定可能記
憶個所に内蔵する。命令レジスタデコーダ60
は、フイードバツクループによりアドレス制御装
置64に接続され、該アドレス制御装置64は、
現在命令を認識し、該現在命令により、RAM6
2内の選択された制御ループ内の次の命令のアド
レスを生成するように動作する。
命令レジスタデコーダ60から複数の命令が順次
与えられる。命令レジスタデコーダ60は、アド
レス制御装置64により制御される、アドレス生
成器の命令制御格納RAM62から書込まれる。
アドレス制御装置64(好ましくは、2910チツ
プ)は、RAM62内に格納された、アドレス生
成器の選択された制御アルゴリズムの全ての命令
のアドレスを順次生成する。上述のように、
RAM62は、初期化中、マスタ処理ユニツト1
2によつて書込まれ、それぞれが起動ルーチンお
よび終了ルーチンを含むアドレス生成器の複数の
制御ループ用の命令を個々のアドレス指定可能記
憶個所に内蔵する。命令レジスタデコーダ60
は、フイードバツクループによりアドレス制御装
置64に接続され、該アドレス制御装置64は、
現在命令を認識し、該現在命令により、RAM6
2内の選択された制御ループ内の次の命令のアド
レスを生成するように動作する。
動作において、アドレス生成器52は、マスタ
処理ユニツト12(図1参照)によつて使用可能
にされ、アドレス位置ゼロに飛越す。このアドレ
ス位置ゼロには、選択された、実行されるべきア
ルゴリズム制御ループの開始アドレスが、初期化
時に、マスタ処理ユニツトによつて記憶される。
開始アドレスレジスタ内に指定されたアドレスに
対応する命令は、RAM62から読出され、命令
レジスタデコーダ60に書込まれる。算術論理演
算ユニツト56は、この命令を実行し、この命令
によりデータメモリ58に記憶アドレスを供給す
る。これにより、アドレス制御装置64は、選択
されたアルゴリズムにより、および、算術論理演
算ユニツト56からアドレス制御装置64に供給
される状態情報にしたがつて次位置のアドレス、
または、飛越しアドレスにそのカウントを制御可
能に増分し、算術論理演算ユニツト56によつて
実行されるべき選択されたアドレス生成器制御ル
ープの次の命令のアドレスをRAM62に送る。
この処理過程は、繰返される。書込みアドレス先
入れ先出しメモリ(FIFO)66は、命令レジス
タデコーダ60に制御され、パイプライン形算術
論理演算ユニツト56からデータ出力結果が得ら
れデータメモリ58が書込みを受入れることがで
きるような時刻まで、データメモリの書込みアド
レスを保持するように動作する。読出しアドレス
ラツチ67は、命令レジスタデコーダ60に制御
され、データメモリの読出しのためのデータメモ
リの読出しアドレスを保持するように動作する。
処理ユニツト12(図1参照)によつて使用可能
にされ、アドレス位置ゼロに飛越す。このアドレ
ス位置ゼロには、選択された、実行されるべきア
ルゴリズム制御ループの開始アドレスが、初期化
時に、マスタ処理ユニツトによつて記憶される。
開始アドレスレジスタ内に指定されたアドレスに
対応する命令は、RAM62から読出され、命令
レジスタデコーダ60に書込まれる。算術論理演
算ユニツト56は、この命令を実行し、この命令
によりデータメモリ58に記憶アドレスを供給す
る。これにより、アドレス制御装置64は、選択
されたアルゴリズムにより、および、算術論理演
算ユニツト56からアドレス制御装置64に供給
される状態情報にしたがつて次位置のアドレス、
または、飛越しアドレスにそのカウントを制御可
能に増分し、算術論理演算ユニツト56によつて
実行されるべき選択されたアドレス生成器制御ル
ープの次の命令のアドレスをRAM62に送る。
この処理過程は、繰返される。書込みアドレス先
入れ先出しメモリ(FIFO)66は、命令レジス
タデコーダ60に制御され、パイプライン形算術
論理演算ユニツト56からデータ出力結果が得ら
れデータメモリ58が書込みを受入れることがで
きるような時刻まで、データメモリの書込みアド
レスを保持するように動作する。読出しアドレス
ラツチ67は、命令レジスタデコーダ60に制御
され、データメモリの読出しのためのデータメモ
リの読出しアドレスを保持するように動作する。
パイプライン制御用シーケンサ54は、パイプ
ライン形算術論理演算ユニツト56の全ての有り
うる構成のために、全てのレジスタアドレス、お
よび、論理関数制御マイクロコードを供給するよ
うに動作する。パイプライン制御用シーケンサ5
4は、アドレス生成器52の命令レジスタデコー
ダ60により制御されるパイプライン制御用シー
ケンサの開始アドレスレジスタ68を含む。パイ
プライン制御用シーケンサの開始アドレスレジス
タ68は、パイプライン制御用シーケンサのアド
レスカウンタ70に接続され、このカウンタ70
は、パイプライン制御用シーケンサ制御格納
RAM72に接続されている。パイプライン制御
用シーケンサ制御格納RAM72の出力端は、ラ
ツチ74に接続され、このラツチ74は、52ビツ
ト命令バスを介してパイプライン形算術演算ユニ
ツト76に接続されている。上述のように、マス
タ処理ユニツト12(図1参照)は、初期化中、
アドレス生成器のレジスタ(図示せず)に複数の
パイプライン制御用シーケンサ機能の1つの開始
アドレスを書込み、パイプライン制御用シーケン
サ制御格納RAM72の各アドレス指定可能位置
にパイプライン形算術論理演算ユニツト制御マイ
クロコードを書込む。パイプライン形算術論理演
算ユニツト制御マイクロコードは、パイプライン
制御用シーケンサ制御格納RAM72の複数の記
憶個所から成る複数のアドレス指定可能ブロツク
中に格納される。各アドレス指定可能ブロツク
は、高速フーリエ変換、マトリクス反転、ベクト
ル乗算、マトリクス乗算および他の関数のような
複数の計算集中関数の1つに対応する。マスタ処
理ユニツト12(図1参照)は、また、初期化
中、アドレス生成器52のレジスタ(図示せず)
に後述するカウンタ75に使用する書込みデータ
先入れ先出しパラメータをロードする。
ライン形算術論理演算ユニツト56の全ての有り
うる構成のために、全てのレジスタアドレス、お
よび、論理関数制御マイクロコードを供給するよ
うに動作する。パイプライン制御用シーケンサ5
4は、アドレス生成器52の命令レジスタデコー
ダ60により制御されるパイプライン制御用シー
ケンサの開始アドレスレジスタ68を含む。パイ
プライン制御用シーケンサの開始アドレスレジス
タ68は、パイプライン制御用シーケンサのアド
レスカウンタ70に接続され、このカウンタ70
は、パイプライン制御用シーケンサ制御格納
RAM72に接続されている。パイプライン制御
用シーケンサ制御格納RAM72の出力端は、ラ
ツチ74に接続され、このラツチ74は、52ビツ
ト命令バスを介してパイプライン形算術演算ユニ
ツト76に接続されている。上述のように、マス
タ処理ユニツト12(図1参照)は、初期化中、
アドレス生成器のレジスタ(図示せず)に複数の
パイプライン制御用シーケンサ機能の1つの開始
アドレスを書込み、パイプライン制御用シーケン
サ制御格納RAM72の各アドレス指定可能位置
にパイプライン形算術論理演算ユニツト制御マイ
クロコードを書込む。パイプライン形算術論理演
算ユニツト制御マイクロコードは、パイプライン
制御用シーケンサ制御格納RAM72の複数の記
憶個所から成る複数のアドレス指定可能ブロツク
中に格納される。各アドレス指定可能ブロツク
は、高速フーリエ変換、マトリクス反転、ベクト
ル乗算、マトリクス乗算および他の関数のような
複数の計算集中関数の1つに対応する。マスタ処
理ユニツト12(図1参照)は、また、初期化
中、アドレス生成器52のレジスタ(図示せず)
に後述するカウンタ75に使用する書込みデータ
先入れ先出しパラメータをロードする。
アドレス生成器52が順次供給されるデータメ
モリの複数の読出しアドレスの最初の1つを生成
するのに十分な時間を割当てるように選択され、
データメモリがデータメモリの出力バス上の対応
するデータ値を読取りうるように選択された所定
の時間遅れの後、アドレス生成器52は、パイプ
ライン制御用シーケンサ54に上述の開始可能信
号を供給し、パイプライン制御用シーケンサ54
のアドレスレジスタ68に複数のユーザ選択形関
数の中の選択された一の関数の開始アドレスをロ
ードする。この開始アドレスに対応する命令は、
パイプライン制御用シーケンサの制御格納RAM
72からマイクロコードラツチ74内に書込ま
れ、52ビツトマイクロ命令バスを介して、パイプ
ライン形算術論理演算ユニツト76に入力され
る。このとき、アドレス生成器52も、カウンタ
75にアルゴリズム指定データパラメータをロー
ドするとともに、パイプライン制御用シーケンサ
54のアドレスカウンタ70を使用可能とする。
これにより、パイプライン制御用シーケンサ54
のアドレスカウンタ70は、パイプライン制御用
シーケンサの制御格納RAM72に開始アドレス
を供給する。この開始アドレスは、マイクロ命令
ラツチ74に書込まれ、クロツクパルスの読出し
アドレスに対応する、アドレス生成器52に制御
されてパイプライン形算術論理演算ユニツト76
に入力されたデータ値と同期して、算出のために
パイプライン形算術論理演算ユニツト76に52ビ
ツト命令バスを介して入力された第1マイクロコ
ード命令の記憶個所に対応する。各逐次クロツク
パルスによつて、アドレス生成器52、および、
パイプライン制御用シーケンサ54は、共働する
ことにより、パイプライン形算術論理演算ユニツ
ト76に、次のマイクロコード制御語と同期して
次のデータメモリ読出しアドレスを供給する。こ
の処理過程は、パイプライン形算術論理演算ユニ
ツト76のデータ出力ポートでデータが得られる
まで続く。
モリの複数の読出しアドレスの最初の1つを生成
するのに十分な時間を割当てるように選択され、
データメモリがデータメモリの出力バス上の対応
するデータ値を読取りうるように選択された所定
の時間遅れの後、アドレス生成器52は、パイプ
ライン制御用シーケンサ54に上述の開始可能信
号を供給し、パイプライン制御用シーケンサ54
のアドレスレジスタ68に複数のユーザ選択形関
数の中の選択された一の関数の開始アドレスをロ
ードする。この開始アドレスに対応する命令は、
パイプライン制御用シーケンサの制御格納RAM
72からマイクロコードラツチ74内に書込ま
れ、52ビツトマイクロ命令バスを介して、パイプ
ライン形算術論理演算ユニツト76に入力され
る。このとき、アドレス生成器52も、カウンタ
75にアルゴリズム指定データパラメータをロー
ドするとともに、パイプライン制御用シーケンサ
54のアドレスカウンタ70を使用可能とする。
これにより、パイプライン制御用シーケンサ54
のアドレスカウンタ70は、パイプライン制御用
シーケンサの制御格納RAM72に開始アドレス
を供給する。この開始アドレスは、マイクロ命令
ラツチ74に書込まれ、クロツクパルスの読出し
アドレスに対応する、アドレス生成器52に制御
されてパイプライン形算術論理演算ユニツト76
に入力されたデータ値と同期して、算出のために
パイプライン形算術論理演算ユニツト76に52ビ
ツト命令バスを介して入力された第1マイクロコ
ード命令の記憶個所に対応する。各逐次クロツク
パルスによつて、アドレス生成器52、および、
パイプライン制御用シーケンサ54は、共働する
ことにより、パイプライン形算術論理演算ユニツ
ト76に、次のマイクロコード制御語と同期して
次のデータメモリ読出しアドレスを供給する。こ
の処理過程は、パイプライン形算術論理演算ユニ
ツト76のデータ出力ポートでデータが得られる
まで続く。
出力データが得られたとき、この出力データ
は、上述のように、先入れ先出し書込み許可カウ
ントダウンカウンタ75が出力データに与えられ
た最適アルゴリズム指定データパラメータまでカ
ウントダウンしたことと組合わされて、現在マイ
クロコード命令内のパイプライン制御用シーケン
サのビツトの作用によつて書込みデータ先入れ先
出し記憶装置78に供給される。書込みアドレス
先入れ先出し記憶装置66が少なくとも1つのア
ドレスを有し、書込みデータ先入れ先出し記憶装
置78が2以上のデータ出力値を有するとき、出
力データは、書込みアドレス先入れ先出し記憶装
置66によつて指定されたアドレスを用いて、デ
ータメモリ58に書込まれる。1個のクロツクパ
ルス生成中に、書込みアドレス先入れ先出し記憶
装置66、または、書込みデータ先入れ先出し記
憶装置78内に書込まれたデータは、次のクロツ
クパルス生成中に読み出されうる。書込みデータ
先入れ先出し記憶装置78は、パイプライン形算
術論理演算ユニツト76によつて生成されるが、
該書込みデータが生成されたクロツクパルス生成
中は、データメモリ58が読取りで使用中のため
データメモリ58に再度書込むことができない書
込みデータを保持するために用いられることが理
解されよう。
は、上述のように、先入れ先出し書込み許可カウ
ントダウンカウンタ75が出力データに与えられ
た最適アルゴリズム指定データパラメータまでカ
ウントダウンしたことと組合わされて、現在マイ
クロコード命令内のパイプライン制御用シーケン
サのビツトの作用によつて書込みデータ先入れ先
出し記憶装置78に供給される。書込みアドレス
先入れ先出し記憶装置66が少なくとも1つのア
ドレスを有し、書込みデータ先入れ先出し記憶装
置78が2以上のデータ出力値を有するとき、出
力データは、書込みアドレス先入れ先出し記憶装
置66によつて指定されたアドレスを用いて、デ
ータメモリ58に書込まれる。1個のクロツクパ
ルス生成中に、書込みアドレス先入れ先出し記憶
装置66、または、書込みデータ先入れ先出し記
憶装置78内に書込まれたデータは、次のクロツ
クパルス生成中に読み出されうる。書込みデータ
先入れ先出し記憶装置78は、パイプライン形算
術論理演算ユニツト76によつて生成されるが、
該書込みデータが生成されたクロツクパルス生成
中は、データメモリ58が読取りで使用中のため
データメモリ58に再度書込むことができない書
込みデータを保持するために用いられることが理
解されよう。
アドレス生成器52の算術論理演算ユニツト5
6へのデータ入力は、3個のラツチ80,82お
よび84、および、1個のビツト反転レジスタ
(BREV)85を介して行われる。ラツチ80,
82および84は、マイクロ命令ラツチ74内の
現在マイクロ命令のビツトフイールドの選択され
たビツトによつてロード可能である。命令レジス
タデコーダ60によつて出力可能とされた文字8
7は、ラツチ80,82および84から出力され
たデータを制御可能に選択し組合わせるように動
作する。ラツチ80,82および84、および、
ビツト反転レジスタ85は、算術論理演算ユニツ
ト56がヒストグラム作成、繰返し関数算出、お
よび、他のデータ依存テーブル索引アドレス指定
に有用なデータメモリ出力値依存アドレス生成、
および、パイプライン出力依存アドレス生成を行
うのを許容する。
6へのデータ入力は、3個のラツチ80,82お
よび84、および、1個のビツト反転レジスタ
(BREV)85を介して行われる。ラツチ80,
82および84は、マイクロ命令ラツチ74内の
現在マイクロ命令のビツトフイールドの選択され
たビツトによつてロード可能である。命令レジス
タデコーダ60によつて出力可能とされた文字8
7は、ラツチ80,82および84から出力され
たデータを制御可能に選択し組合わせるように動
作する。ラツチ80,82および84、および、
ビツト反転レジスタ85は、算術論理演算ユニツ
ト56がヒストグラム作成、繰返し関数算出、お
よび、他のデータ依存テーブル索引アドレス指定
に有用なデータメモリ出力値依存アドレス生成、
および、パイプライン出力依存アドレス生成を行
うのを許容する。
第3図において、85は本発明の全浮動小数点
ベクトルプロセツサのインタリーブドダイナミツ
クRAMのデータメモリのブロツク線図である。
データメモリ85は、選択された複数のバンク対
に対しデータを書込みパイプライン形算術論理演
算ユニツト76へ読出すために、好ましくは、複
数の括弧87によつて指定された偶数および奇数
の複数対のバンク内に交互配置され、パイプライ
ン形算術論理演算ユニツト76(図2参照)に並
列接続されたダイナミツクRAM86を含む。ア
ドレス生成器52(図2参照)によつて出力され
た各アドレスに対して、該アドレスは、ブロツク
88によつて指定されて計数1だけ増分されるこ
とにより、一方が偶数で他方が奇数である一対の
隣り合うインタリーブドダイナミツクRAMアド
レスを供給する。アドレス交換器デコーダ89
は、インタリーブドダイナミツクRAMアドレス
の複数対のうち連続する対に応答して動作するこ
とにより、奇数アドレスがアドレス生成器52
(図2参照)によつて、偶数出力バス上に偶数ダ
イナミツクRAMアドレスを常に供給し、交換器
デコーダ89の奇数アドレスバス上に奇数アドレ
スを常に供給するように指定されたときは、常
に、複数のRAMアドレスを最適に交換する。交
換器デコーダ89は、インタリーブドダイナミツ
クRAMアドレスの絶対値に応答することによ
り、全てのバンク対87のうち対応する一対を使
用可能とする。逐次的記憶サイクルの各々の期間
中、選択されたインタリーブドバンク対の奇数ダ
イナミツクRAMバンク、および、偶数ダイナミ
ツクRAMバンクは、アドレス対に応答して動作
することにより、アドレス生成器により供給され
た各読取りアドレスに対して、各クロツクパルス
の生成直後に、パイプライン形算術論理演算ユニ
ツト76(図2参照)に2データ語分の時間を供
給するとともに、アドレス生成器により供給され
た各書込アドレスに対して、各クロツクパルスの
生成直後に、パイプライン形算術論理演算ユニツ
ト76(図2参照)から2データ値分の時間を受
取る。
ベクトルプロセツサのインタリーブドダイナミツ
クRAMのデータメモリのブロツク線図である。
データメモリ85は、選択された複数のバンク対
に対しデータを書込みパイプライン形算術論理演
算ユニツト76へ読出すために、好ましくは、複
数の括弧87によつて指定された偶数および奇数
の複数対のバンク内に交互配置され、パイプライ
ン形算術論理演算ユニツト76(図2参照)に並
列接続されたダイナミツクRAM86を含む。ア
ドレス生成器52(図2参照)によつて出力され
た各アドレスに対して、該アドレスは、ブロツク
88によつて指定されて計数1だけ増分されるこ
とにより、一方が偶数で他方が奇数である一対の
隣り合うインタリーブドダイナミツクRAMアド
レスを供給する。アドレス交換器デコーダ89
は、インタリーブドダイナミツクRAMアドレス
の複数対のうち連続する対に応答して動作するこ
とにより、奇数アドレスがアドレス生成器52
(図2参照)によつて、偶数出力バス上に偶数ダ
イナミツクRAMアドレスを常に供給し、交換器
デコーダ89の奇数アドレスバス上に奇数アドレ
スを常に供給するように指定されたときは、常
に、複数のRAMアドレスを最適に交換する。交
換器デコーダ89は、インタリーブドダイナミツ
クRAMアドレスの絶対値に応答することによ
り、全てのバンク対87のうち対応する一対を使
用可能とする。逐次的記憶サイクルの各々の期間
中、選択されたインタリーブドバンク対の奇数ダ
イナミツクRAMバンク、および、偶数ダイナミ
ツクRAMバンクは、アドレス対に応答して動作
することにより、アドレス生成器により供給され
た各読取りアドレスに対して、各クロツクパルス
の生成直後に、パイプライン形算術論理演算ユニ
ツト76(図2参照)に2データ語分の時間を供
給するとともに、アドレス生成器により供給され
た各書込アドレスに対して、各クロツクパルスの
生成直後に、パイプライン形算術論理演算ユニツ
ト76(図2参照)から2データ値分の時間を受
取る。
図4において、90は、本発明の全浮動小数点
ベクトルプロセツサのパイプライン形算術演算ユ
ニツトのブロツク線図である。パイプライン形算
術演算ユニツト90は、プログラム制御用シーケ
ンサのマイクロコードレジスタ92に格納され
た、パイプライン制御用シーケンサのマイクロ命
令により制御される構成可能な多能パイプライン
である。上述のように、パイプライン制御用シー
ケンサ54(図2参照)は、パイプライン制御用
シーケンサのマイクロコードレジスタ92から右
向きの矢印によつて示されているように、各クロ
ツクパルス生成中に、パイプライン形算術演算ユ
ニツト90内で実行されるべき次のマイクロコー
ド命令を制御可能に供給するように動作する。各
マイクロコード命令は、好ましくは、52ビツト水
平フオーマツトビツトフイールドを形成するビツ
トパターンである。データメモリ58(図2参
照)から読出されたデータは、パイプライン制御
用シーケンサ54からパイプライン形算術論理演
算ユニツト90に書込まれる各マイクロコード命
令に同期してパイプライン形算術演算ユニツト9
0に書込まれる。各クロツクパルス生成中、好ま
しくは、160ナノ秒毎に、32ビツトデータ語がデ
ータメモリから得られる。
ベクトルプロセツサのパイプライン形算術演算ユ
ニツトのブロツク線図である。パイプライン形算
術演算ユニツト90は、プログラム制御用シーケ
ンサのマイクロコードレジスタ92に格納され
た、パイプライン制御用シーケンサのマイクロ命
令により制御される構成可能な多能パイプライン
である。上述のように、パイプライン制御用シー
ケンサ54(図2参照)は、パイプライン制御用
シーケンサのマイクロコードレジスタ92から右
向きの矢印によつて示されているように、各クロ
ツクパルス生成中に、パイプライン形算術演算ユ
ニツト90内で実行されるべき次のマイクロコー
ド命令を制御可能に供給するように動作する。各
マイクロコード命令は、好ましくは、52ビツト水
平フオーマツトビツトフイールドを形成するビツ
トパターンである。データメモリ58(図2参
照)から読出されたデータは、パイプライン制御
用シーケンサ54からパイプライン形算術論理演
算ユニツト90に書込まれる各マイクロコード命
令に同期してパイプライン形算術演算ユニツト9
0に書込まれる。各クロツクパルス生成中、好ま
しくは、160ナノ秒毎に、32ビツトデータ語がデ
ータメモリから得られる。
図5に示されているように、データメモリに格
納された2個のデータ用フオーマツトがあり、ま
た、パイプライン形算術論理演算ユニツト90内
に格納されるか、または該パイプライン形算術論
理演算ユニツト90を通過する2個のデータ用フ
オーマツトがある。データメモリに格納されたデ
ータ用固定もしくは整数フオーマツトデータは、
図5Aのブロツク94によつて示されている。最
下位のデータビツトは、右手「0」位置を占め、
最上位のデータビツトは、ビツト位置30を占
め、ビツト位置31は、値の符号表示によつて占
められる。データメモリに格納されたデータ用浮
動小数点フオーマツトデータは、図5Bのブロツ
ク96によつて示されている。データ値の仮数
は、ビツト位置0ないし22を占め、データ値の指
数は、ビツト位置23ないし30を占め、符号ビツト
は、ビツト位置31を占める。両フオーマツトの符
号ビツトは、生のデータ値を示すために2進
「0」が与えられ、負のデータ値を示すために2
進「1」が与えられる。浮動小数点フオーマツト
によれば、指数は、+128のバイアスを有するオフ
セツト2進値として定義される。すなわち、指数
値の+127は、2進表示1111 1111に対応し、指数
値の0は、2進表示1000 0000に対応し、指数値
の−127は、2進値0000 0001に対応し、絶対0
は、2進表示0000 0000に対応する。浮動小数点
フオーマツトの仮数部は、好ましくは、仮数の範
囲が0.5≦N<1.0の関係で定義される(ただし、
Nは、仮数)DEC(デジタルイクイツプメント
社)の浮動小数点フオーマツトに対応するように
選択される。DEC浮動小数点フオーマツトによ
れば、仮数の最上位のビツトは、常に2進の
「1」であるから、データメモリ内に格納されな
い。最上位のビツトの次のビツトは、NMSBと
名付けられ、重み2**(−2)である。仮数の
最下位のビツトの重みは、2**(−24)であ
る。仮数の範囲は小数0.99999994ないし小数
0.50000000である。
納された2個のデータ用フオーマツトがあり、ま
た、パイプライン形算術論理演算ユニツト90内
に格納されるか、または該パイプライン形算術論
理演算ユニツト90を通過する2個のデータ用フ
オーマツトがある。データメモリに格納されたデ
ータ用固定もしくは整数フオーマツトデータは、
図5Aのブロツク94によつて示されている。最
下位のデータビツトは、右手「0」位置を占め、
最上位のデータビツトは、ビツト位置30を占
め、ビツト位置31は、値の符号表示によつて占
められる。データメモリに格納されたデータ用浮
動小数点フオーマツトデータは、図5Bのブロツ
ク96によつて示されている。データ値の仮数
は、ビツト位置0ないし22を占め、データ値の指
数は、ビツト位置23ないし30を占め、符号ビツト
は、ビツト位置31を占める。両フオーマツトの符
号ビツトは、生のデータ値を示すために2進
「0」が与えられ、負のデータ値を示すために2
進「1」が与えられる。浮動小数点フオーマツト
によれば、指数は、+128のバイアスを有するオフ
セツト2進値として定義される。すなわち、指数
値の+127は、2進表示1111 1111に対応し、指数
値の0は、2進表示1000 0000に対応し、指数値
の−127は、2進値0000 0001に対応し、絶対0
は、2進表示0000 0000に対応する。浮動小数点
フオーマツトの仮数部は、好ましくは、仮数の範
囲が0.5≦N<1.0の関係で定義される(ただし、
Nは、仮数)DEC(デジタルイクイツプメント
社)の浮動小数点フオーマツトに対応するように
選択される。DEC浮動小数点フオーマツトによ
れば、仮数の最上位のビツトは、常に2進の
「1」であるから、データメモリ内に格納されな
い。最上位のビツトの次のビツトは、NMSBと
名付けられ、重み2**(−2)である。仮数の
最下位のビツトの重みは、2**(−24)であ
る。仮数の範囲は小数0.99999994ないし小数
0.50000000である。
パイプライン形算術論理演算ユニツト90(図
4参照)内蔵の全てのデータ通路は、正確度を高
めるため、好ましくは、40ビツト幅であり、固定
小数点データフオーマツトおよび浮動小数点デー
タフオーマツトに対応する2個のフオーマツトを
有する。図5Cの符号98で示されているよう
に、固定小数点もしくは整数データフオーマツト
中の32ビツトデータ語は、0ないし31ビツト位置
に置かれ、2**(+31)の指数は、40ビツトパ
イプラインフオーマツトフイールドの32ないし39
ビツト位置に置かれる。図5Dの符号100で示
されているように、浮動小数点パイプラインデー
タフオーマツトに対して、ビツト位置0ないし6
は、連続する0で埋まり、ビツト位置7ないし29
は、データ値の仮数部で埋まり、ビツト位置30
は、いわゆる隠れビツトで埋まり、ビツト位置31
は、符号ビツトで埋まり、ビツト位置32ないし39
は、データ値の指数部で埋まる。
4参照)内蔵の全てのデータ通路は、正確度を高
めるため、好ましくは、40ビツト幅であり、固定
小数点データフオーマツトおよび浮動小数点デー
タフオーマツトに対応する2個のフオーマツトを
有する。図5Cの符号98で示されているよう
に、固定小数点もしくは整数データフオーマツト
中の32ビツトデータ語は、0ないし31ビツト位置
に置かれ、2**(+31)の指数は、40ビツトパ
イプラインフオーマツトフイールドの32ないし39
ビツト位置に置かれる。図5Dの符号100で示
されているように、浮動小数点パイプラインデー
タフオーマツトに対して、ビツト位置0ないし6
は、連続する0で埋まり、ビツト位置7ないし29
は、データ値の仮数部で埋まり、ビツト位置30
は、いわゆる隠れビツトで埋まり、ビツト位置31
は、符号ビツトで埋まり、ビツト位置32ないし39
は、データ値の指数部で埋まる。
図4において、パイプライン形算術論理演算ユ
ニツト90は、Mレジスタフアイル102および
Zレジスタフアイル104を含む。データは、マ
イクロコード制御により、整数フオーマツトまた
は浮動小数点フオーマツトのうち選択された一の
フオーマツトに対しオンザフライフオーマツト変
換を与えるように動作する固定/浮動小数点コン
バータ106を介してMレジスタフアイル102
に供給される。MレジスタフアイルおよびZレジ
スタフアイル102および104は、好ましく
は、それぞれ、各40ビツトの16個のアドレス指定
可能読出し/書込みレジスタを含む。Mレジスタ
フアイルおよびZレジスタフアイル102および
104は、それぞれ、2個の入力ポート、およ
び、「A」および「B」と名付けられた2個の出
力ポートを有する。これらのMおよびZレジスタ
フアイル102および104は、各クロツクパル
スに応答して動作することにより、対応する入力
ポートを介してMおよびZレジスタフアイルに2
つの書込みを行い、対応する出力ポートを介して
MおよびZレジスタフアイルから、2つの読出し
を、各クロツクパルス生成中にパイプライン制御
用シーケンサ54(図2参照)を介してパイプラ
イン制御用シーケンサマイクロ命令レジスタ92
からMレジスタフアイルおよびZレジスタフアイ
ルに与えられるマイクロ命令によつて指定される
アドレス指定可能記憶個所に対して行う。好適な
実施例によれば、上記各マイクロコードは、52ビ
ツト幅である。マイクロコードのビツト00ないし
11は、MF1、MF2およびMF3と名付けられた隣
合う4ビツト群内に、2個の読出しMフアイルア
ドレスと2個の書込みMフアイルアドレスを指定
する。上記2個の読出しの一方は、書込み用に指
定されたアドレスに対して行われる。マイクロコ
ードのビツト12ないし23は、ZF1、ZF2および
ZF3と名付けられた隣合う4ビツト群内に、2個
の読出しZフアイルアドレスと2個の書込みZフ
アイルアドレスを指定する。上記2個の読出しの
一方は、書込み用に指定されたアドレスに対して
行われる。
ニツト90は、Mレジスタフアイル102および
Zレジスタフアイル104を含む。データは、マ
イクロコード制御により、整数フオーマツトまた
は浮動小数点フオーマツトのうち選択された一の
フオーマツトに対しオンザフライフオーマツト変
換を与えるように動作する固定/浮動小数点コン
バータ106を介してMレジスタフアイル102
に供給される。MレジスタフアイルおよびZレジ
スタフアイル102および104は、好ましく
は、それぞれ、各40ビツトの16個のアドレス指定
可能読出し/書込みレジスタを含む。Mレジスタ
フアイルおよびZレジスタフアイル102および
104は、それぞれ、2個の入力ポート、およ
び、「A」および「B」と名付けられた2個の出
力ポートを有する。これらのMおよびZレジスタ
フアイル102および104は、各クロツクパル
スに応答して動作することにより、対応する入力
ポートを介してMおよびZレジスタフアイルに2
つの書込みを行い、対応する出力ポートを介して
MおよびZレジスタフアイルから、2つの読出し
を、各クロツクパルス生成中にパイプライン制御
用シーケンサ54(図2参照)を介してパイプラ
イン制御用シーケンサマイクロ命令レジスタ92
からMレジスタフアイルおよびZレジスタフアイ
ルに与えられるマイクロ命令によつて指定される
アドレス指定可能記憶個所に対して行う。好適な
実施例によれば、上記各マイクロコードは、52ビ
ツト幅である。マイクロコードのビツト00ないし
11は、MF1、MF2およびMF3と名付けられた隣
合う4ビツト群内に、2個の読出しMフアイルア
ドレスと2個の書込みMフアイルアドレスを指定
する。上記2個の読出しの一方は、書込み用に指
定されたアドレスに対して行われる。マイクロコ
ードのビツト12ないし23は、ZF1、ZF2および
ZF3と名付けられた隣合う4ビツト群内に、2個
の読出しZフアイルアドレスと2個の書込みZフ
アイルアドレスを指定する。上記2個の読出しの
一方は、書込み用に指定されたアドレスに対して
行われる。
Mレジスタフアイル102およびZレジスタフ
アイル104は、2入力、2出力(「M」および
「L」と名付けられた)のユーザ選択形固定/浮
動小数点乗算器108、Zレジスタフアイルの
「B」出力ポートとMレジスタフアイルの入力ポ
ートの一方との間を接続するフイードバツク路1
10、および、Mレジスタフアイル102のB出
力ポートとZフアイル104の入力ポートの一方
との間を接続するマイクロコード制御形ラツチを
有するフイードフオワード路112によつて、制
御可能に接続されている。丸め/切捨て制御装置
114は、乗算器108のM出力ポートとZレジ
スタフアイル104の入力ポートの一方との間に
接続されている。固定/浮動小数点乗算器10
8、フイードバツク路110、フイードフオワー
ド路112、および、丸め/切捨て制御装置11
4は、これらにクロツクパルス毎にマイクロ命令
レジスタ92から供給される、パイプライン制御
用シーケンサのマイクロコードの対応する予め選
択された制御ビツトにより制御可能に選択され
る。
アイル104は、2入力、2出力(「M」および
「L」と名付けられた)のユーザ選択形固定/浮
動小数点乗算器108、Zレジスタフアイルの
「B」出力ポートとMレジスタフアイルの入力ポ
ートの一方との間を接続するフイードバツク路1
10、および、Mレジスタフアイル102のB出
力ポートとZフアイル104の入力ポートの一方
との間を接続するマイクロコード制御形ラツチを
有するフイードフオワード路112によつて、制
御可能に接続されている。丸め/切捨て制御装置
114は、乗算器108のM出力ポートとZレジ
スタフアイル104の入力ポートの一方との間に
接続されている。固定/浮動小数点乗算器10
8、フイードバツク路110、フイードフオワー
ド路112、および、丸め/切捨て制御装置11
4は、これらにクロツクパルス毎にマイクロ命令
レジスタ92から供給される、パイプライン制御
用シーケンサのマイクロコードの対応する予め選
択された制御ビツトにより制御可能に選択され
る。
乗算器108は、整数フオーマツト演算のため
の2の補数によつて、または、浮動小数点フオー
マツト演算のための符号絶対値によつて32×32ビ
ツト乗算を行う固定小数点もしくは浮動小数点乗
算器である。得られる積は、32個の最下位ビツト
を伴う32個の最上位ビツトの全64ビツトである。
パイプライン制御用シーケンサのマイクロコード
命令のビツトフイールドの所定部分は、Zレジス
タフアイル104に書込む32個の最上位ビツト、
または、32個の最下位ビツトを指定する。また、
パイプライン制御用シーケンサのマイクロコード
命令のビツトフイールドの所定部分は、Mレジス
タフアイルの出力端において、データ値のZレジ
スタフアイルの入力ポートへの直接書込みを指定
する。丸め/切捨て制御装置114は、同様にマ
イクロコード制御により乗算器出力値を通常の方
法で切捨てるように作動し、標準「オア」丸めを
採用する。
の2の補数によつて、または、浮動小数点フオー
マツト演算のための符号絶対値によつて32×32ビ
ツト乗算を行う固定小数点もしくは浮動小数点乗
算器である。得られる積は、32個の最下位ビツト
を伴う32個の最上位ビツトの全64ビツトである。
パイプライン制御用シーケンサのマイクロコード
命令のビツトフイールドの所定部分は、Zレジス
タフアイル104に書込む32個の最上位ビツト、
または、32個の最下位ビツトを指定する。また、
パイプライン制御用シーケンサのマイクロコード
命令のビツトフイールドの所定部分は、Mレジス
タフアイルの出力端において、データ値のZレジ
スタフアイルの入力ポートへの直接書込みを指定
する。丸め/切捨て制御装置114は、同様にマ
イクロコード制御により乗算器出力値を通常の方
法で切捨てるように作動し、標準「オア」丸めを
採用する。
乗算器は、320ナノ秒毎に新たな乗算を行うこ
とができる。隣合う160ナノ秒クロツクパルスが
奇数パルスと偶数パルスとに分けられる。パイプ
ライン制御用シーケンサのマイクロコードの上記
MF1ビツトフイールドは、偶数クロツクサイク
ル中にMレジスタフアイル102から乗算器10
8の入力が読出されるアドレスを指定し、フイー
ドバツク路110を介して供給されたデータが奇
数クロツクサイクルまたは偶数クロツクサイクル
中にMレジスタフアイル102内に書込まれうる
アドレスを指定する。パイプライン制御用シーケ
ンサのマイクロコードの上記MF2ビツトフイー
ルドは、データメモリから読出されたデータが奇
数クロツクサイクルまたは偶数クロツクサイクル
中に書込まれるMレジスタフアイルアドレスを指
定する。パイプライン制御用シーケンサのマイク
ロコードの上記MF3ビツトフイールドは、偶数
クロツクサイクル中にデータが乗算器108の入
力端に書込まれる際の読出しアドレスを指定し、
偶数クロツクパルスまたは奇数クロツクパルス中
にフイードフオワード路112を介して乗算器1
08をバイパスするために、Mレジスタフアイル
データが読出されるアドレスを指定する。
とができる。隣合う160ナノ秒クロツクパルスが
奇数パルスと偶数パルスとに分けられる。パイプ
ライン制御用シーケンサのマイクロコードの上記
MF1ビツトフイールドは、偶数クロツクサイク
ル中にMレジスタフアイル102から乗算器10
8の入力が読出されるアドレスを指定し、フイー
ドバツク路110を介して供給されたデータが奇
数クロツクサイクルまたは偶数クロツクサイクル
中にMレジスタフアイル102内に書込まれうる
アドレスを指定する。パイプライン制御用シーケ
ンサのマイクロコードの上記MF2ビツトフイー
ルドは、データメモリから読出されたデータが奇
数クロツクサイクルまたは偶数クロツクサイクル
中に書込まれるMレジスタフアイルアドレスを指
定する。パイプライン制御用シーケンサのマイク
ロコードの上記MF3ビツトフイールドは、偶数
クロツクサイクル中にデータが乗算器108の入
力端に書込まれる際の読出しアドレスを指定し、
偶数クロツクパルスまたは奇数クロツクパルス中
にフイードフオワード路112を介して乗算器1
08をバイパスするために、Mレジスタフアイル
データが読出されるアドレスを指定する。
Zレジスタフアイル104の「A」出力ポート
は、書込みデータ先入れ先出し記憶装置、低値選
択器118および高値選択器120に、パイプラ
イン形算術演算ユニツトの出力データ値を供給す
る丸め/切捨て制御装置116に接続されてい
る。Zレジスタフアイル104の「B」出力ポー
トは、符号ラツチ122、高値選択器120およ
び低値選択器118に接続されているる。符号ラ
ツチ122は、「W」および「X」と名付けられ
た2個の入力端を有する固定小数点もしくは浮動
小数点フオーマツトの算術論理演算ユニツト12
4に接続されている。算術論理演算ユニツト12
4に至る符号ラツチ接続路中に「関数」と表示さ
れたブロツクによつてされているように、マイク
ロコードにより制御される符号ラツチ122は、
算術論理演算ユニツト124にデータ依存決定能
力を与える。高値選択器120は、レジスタ12
6を介して算術論理演算ユニツト124に接続さ
れている。低値選択器118は、桁合せ/レジス
タステージ128を介して算術論理演算ユニツト
124に接続されている。算術論理演算ユニツト
124の出力端は、正規化器ステージ130を介
してZレジスタフアイル104の入力ポートの1
つに再び接続されている。丸め/切捨て制御装置
116の出力端は、データ書込み先入れ先出し記
憶装置78(図2参照)に接続されている。算術
論理演算ユニツト124は、浮動小数点フオーマ
ツトまたは整数フオーマツトのデータ値を受入れ
るように構成された35ビツト全加算器であること
が好ましい。算術論理演算ユニツト124は、符
号つき2の補数表記法による整数について演算を
行い、符号つき絶対値表記法による仮数について
演算を行う。
は、書込みデータ先入れ先出し記憶装置、低値選
択器118および高値選択器120に、パイプラ
イン形算術演算ユニツトの出力データ値を供給す
る丸め/切捨て制御装置116に接続されてい
る。Zレジスタフアイル104の「B」出力ポー
トは、符号ラツチ122、高値選択器120およ
び低値選択器118に接続されているる。符号ラ
ツチ122は、「W」および「X」と名付けられ
た2個の入力端を有する固定小数点もしくは浮動
小数点フオーマツトの算術論理演算ユニツト12
4に接続されている。算術論理演算ユニツト12
4に至る符号ラツチ接続路中に「関数」と表示さ
れたブロツクによつてされているように、マイク
ロコードにより制御される符号ラツチ122は、
算術論理演算ユニツト124にデータ依存決定能
力を与える。高値選択器120は、レジスタ12
6を介して算術論理演算ユニツト124に接続さ
れている。低値選択器118は、桁合せ/レジス
タステージ128を介して算術論理演算ユニツト
124に接続されている。算術論理演算ユニツト
124の出力端は、正規化器ステージ130を介
してZレジスタフアイル104の入力ポートの1
つに再び接続されている。丸め/切捨て制御装置
116の出力端は、データ書込み先入れ先出し記
憶装置78(図2参照)に接続されている。算術
論理演算ユニツト124は、浮動小数点フオーマ
ツトまたは整数フオーマツトのデータ値を受入れ
るように構成された35ビツト全加算器であること
が好ましい。算術論理演算ユニツト124は、符
号つき2の補数表記法による整数について演算を
行い、符号つき絶対値表記法による仮数について
演算を行う。
Zレジスタフアイル104は、Mレジスタフア
イル102と類似の態様で動作する。パイプライ
ン制御用シーケンサのマイクロコードレジスタ9
2内の現在マイクロ命令は、クロツクサイクル毎
に、2つのZレジスタフアイル書込みを伴う2つ
のZレジスタフアイル読出しを指定する。Mレジ
スタフアイルのように、1個のアドレスは、読出
し用であり、1個のアドレスは、書込み用であ
り、1個のアドレスは、書込みを伴う読出し用で
ある。パイプライン制御用シーケンサから与えら
れるマイクロ命令の上記ZF4ビツトフイールド
は、算術論理演算ユニツト124用のデータがZ
レジスタフアイル104の「B」出力ポートから
読出される際の読出しアドレスを指定するか、ま
たは、偶数もしくは奇数クロツクサイクル中にフ
イードバツク路110を介してMレジスタフアイ
ル102の入力ポートの1つに、Zレジスタフア
イル104に内蔵されたデータ値が読出されるべ
きことを指定する。また、上記ZF4ビツトフイー
ルドは、乗算器の「C」出力ポートから出力され
た積またはバイパス112のデータ値が奇数クロ
ツクサイクル中に書込まれるZレジスタフアイル
104の「B」出力ポートのアドレスを指定し、
バイパス112のデータ値が偶数クロツクサイク
ル中に書込まれる場所を指定する。パイプライン
制御用シーケンサにより供給されたマイクロ命令
の上記ZF5ビツトフイールドは、偶数もしくは奇
数クロツクサイクル中に正規化器130の出力が
書込まれるアドレスを指定する。パイプライン制
御用シーケンサから供給されたマイクロ命令の上
記ZF6ビツトフイールドは、算術論理演算ユニツ
ト124がZレジスタフアイル104の「A」出
力ポートからデータ値を供給される読出しアドレ
スを指定するか、または、出力データ値が偶数も
しくは奇数クロツクサイクル中にZレジスタフア
イルの「A」出力ポートからデータメモリの書込
み先入れ先出し記憶装置(図2参照)に書込まれ
る際の読出しアドレスを指定する。パイプライン
制御用シーケンサによつて供給されたマイクロ命
令のビツトフイールドの全てのビツトのうち予め
選択されたビツトは、固定/浮動小数点乗算器1
08の積、バイパスレジスタ112を介して供給
されるデータ値、または、正規化器130の出力
をZレジスタフアイル104に書込まれるべきデ
ータ値として指定する。
イル102と類似の態様で動作する。パイプライ
ン制御用シーケンサのマイクロコードレジスタ9
2内の現在マイクロ命令は、クロツクサイクル毎
に、2つのZレジスタフアイル書込みを伴う2つ
のZレジスタフアイル読出しを指定する。Mレジ
スタフアイルのように、1個のアドレスは、読出
し用であり、1個のアドレスは、書込み用であ
り、1個のアドレスは、書込みを伴う読出し用で
ある。パイプライン制御用シーケンサから与えら
れるマイクロ命令の上記ZF4ビツトフイールド
は、算術論理演算ユニツト124用のデータがZ
レジスタフアイル104の「B」出力ポートから
読出される際の読出しアドレスを指定するか、ま
たは、偶数もしくは奇数クロツクサイクル中にフ
イードバツク路110を介してMレジスタフアイ
ル102の入力ポートの1つに、Zレジスタフア
イル104に内蔵されたデータ値が読出されるべ
きことを指定する。また、上記ZF4ビツトフイー
ルドは、乗算器の「C」出力ポートから出力され
た積またはバイパス112のデータ値が奇数クロ
ツクサイクル中に書込まれるZレジスタフアイル
104の「B」出力ポートのアドレスを指定し、
バイパス112のデータ値が偶数クロツクサイク
ル中に書込まれる場所を指定する。パイプライン
制御用シーケンサにより供給されたマイクロ命令
の上記ZF5ビツトフイールドは、偶数もしくは奇
数クロツクサイクル中に正規化器130の出力が
書込まれるアドレスを指定する。パイプライン制
御用シーケンサから供給されたマイクロ命令の上
記ZF6ビツトフイールドは、算術論理演算ユニツ
ト124がZレジスタフアイル104の「A」出
力ポートからデータ値を供給される読出しアドレ
スを指定するか、または、出力データ値が偶数も
しくは奇数クロツクサイクル中にZレジスタフア
イルの「A」出力ポートからデータメモリの書込
み先入れ先出し記憶装置(図2参照)に書込まれ
る際の読出しアドレスを指定する。パイプライン
制御用シーケンサによつて供給されたマイクロ命
令のビツトフイールドの全てのビツトのうち予め
選択されたビツトは、固定/浮動小数点乗算器1
08の積、バイパスレジスタ112を介して供給
されるデータ値、または、正規化器130の出力
をZレジスタフアイル104に書込まれるべきデ
ータ値として指定する。
パイプラインの構成のために、Zレジスタフア
イル104の「A」出力ポートのデータ値と
「B」出力ポートのデータ値とは、各クロツクパ
ルスの生成中、絶対値が比較される。大きい方の
絶対値は、算術論理演算ユニツト124のW入力
端へ入力するため、マイクロコード制御によりレ
ジスタ126内にラツチされる。小さい方の絶対
値も、マイクロコード制御により、比較されたデ
ータ値の2つの指数フイールドの差の量だけ桁下
げされ、桁下げされた結果は、算術論理演算ユニ
ツト124の「X」入力ポートに入力するため、
桁合せレジスタ128の桁合せレジスタ内にラツ
チされる。ラツチ126および128内での2個
の桁合せされた値のラツチは、マイクロコード制
御に従い、算術論理演算ユニツト124が該算術
論理演算ユニツト124内で、ラツチされ桁合せ
された2個の値の加算(減算を伴う)、または、
他の算術もしくは論理演算を生成するのを可能と
する。この演算は、Zレジスタフアイルからデー
タ値が出力され、フイードバツク路110を介し
てMレジスタフアイルに戻されるか、または、デ
ータ書込み先入れ先出し記憶装置に戻されるよう
に行われるもので、算術論理演算ユニツトクロツ
クサイクルの損失を伴わない。パイプライン制御
用シーケンサの命令レジスタのマイクロコード語
のビツトフイールド内の対応ビツトは、例えば、
整数値を算術論理演算ユニツト124に渡すと
き、桁合せ演算を禁止するように指定することも
できる。
イル104の「A」出力ポートのデータ値と
「B」出力ポートのデータ値とは、各クロツクパ
ルスの生成中、絶対値が比較される。大きい方の
絶対値は、算術論理演算ユニツト124のW入力
端へ入力するため、マイクロコード制御によりレ
ジスタ126内にラツチされる。小さい方の絶対
値も、マイクロコード制御により、比較されたデ
ータ値の2つの指数フイールドの差の量だけ桁下
げされ、桁下げされた結果は、算術論理演算ユニ
ツト124の「X」入力ポートに入力するため、
桁合せレジスタ128の桁合せレジスタ内にラツ
チされる。ラツチ126および128内での2個
の桁合せされた値のラツチは、マイクロコード制
御に従い、算術論理演算ユニツト124が該算術
論理演算ユニツト124内で、ラツチされ桁合せ
された2個の値の加算(減算を伴う)、または、
他の算術もしくは論理演算を生成するのを可能と
する。この演算は、Zレジスタフアイルからデー
タ値が出力され、フイードバツク路110を介し
てMレジスタフアイルに戻されるか、または、デ
ータ書込み先入れ先出し記憶装置に戻されるよう
に行われるもので、算術論理演算ユニツトクロツ
クサイクルの損失を伴わない。パイプライン制御
用シーケンサの命令レジスタのマイクロコード語
のビツトフイールド内の対応ビツトは、例えば、
整数値を算術論理演算ユニツト124に渡すと
き、桁合せ演算を禁止するように指定することも
できる。
パイプライン制御用シーケンサのマイクロ命令
語の対応するビツトフイールドに制御される正規
化器ステージ130は、算術論理演算ユニツト1
24のデータ出力を調べ、先行する0がなくなる
まで結果を桁上げする。先行する0の数は、指数
から差引かれる。加算中に、仮数のあふれが起き
たときは、指数が増分され、仮数が桁下げされ
る。得られた指数が最大値を越えるか、または、
最小許容値を下回るときは、指数および仮数は、
それぞれ最大値または最小値に固定され、けたあ
ふれフラツグまたは下位けたあふれフラツグがセ
ツトされる。仮数が0のときは、指数は、最小値
にセツトされ、下位けたあふれフレツグは、セツ
トされない。例えば、整数データフオーマツトを
Zレジスタフアイル内に戻すとき、正規化演算
は、マイクロコードにより制御されて抑制されう
る。
語の対応するビツトフイールドに制御される正規
化器ステージ130は、算術論理演算ユニツト1
24のデータ出力を調べ、先行する0がなくなる
まで結果を桁上げする。先行する0の数は、指数
から差引かれる。加算中に、仮数のあふれが起き
たときは、指数が増分され、仮数が桁下げされ
る。得られた指数が最大値を越えるか、または、
最小許容値を下回るときは、指数および仮数は、
それぞれ最大値または最小値に固定され、けたあ
ふれフラツグまたは下位けたあふれフラツグがセ
ツトされる。仮数が0のときは、指数は、最小値
にセツトされ、下位けたあふれフレツグは、セツ
トされない。例えば、整数データフオーマツトを
Zレジスタフアイル内に戻すとき、正規化演算
は、マイクロコードにより制御されて抑制されう
る。
データ値がマイクロ命令により構成されたパイ
プラインを通過した後、関数算出を表わすデータ
出力値は、Zレジスタフアイル104から丸め/
切捨て制御装置116を介してデータメモリに書
込まれ、マイクロコード制御語の対応するビツト
フイードによつて通常の方法で選択される通り
に、浮動小数点フオーマツトは、丸め/切捨て制
御装置116内で丸められるか、または、切捨て
られうる。下表は、各クロツクパルスの生成毎に
パイプラインを制御可能に構成するのに使用され
るパイプライン制御用シーケンサのマイクロ命令
のビツトフイールドの好ましいビツト位置の要約
である。
プラインを通過した後、関数算出を表わすデータ
出力値は、Zレジスタフアイル104から丸め/
切捨て制御装置116を介してデータメモリに書
込まれ、マイクロコード制御語の対応するビツト
フイードによつて通常の方法で選択される通り
に、浮動小数点フオーマツトは、丸め/切捨て制
御装置116内で丸められるか、または、切捨て
られうる。下表は、各クロツクパルスの生成毎に
パイプラインを制御可能に構成するのに使用され
るパイプライン制御用シーケンサのマイクロ命令
のビツトフイールドの好ましいビツト位置の要約
である。
ビツト 機能
0〜3 MレジスタフアイルのBアドレス(第
1) 4〜7 MレジスタフアイルのBアドレス(第
2) 8〜11 MレジスタフアイルのAアドレス 12〜15 ZレジスタフアイルのBアドレス(第
1) 16〜19 ZレジスタフアイルのBアドレス(第
2) 20〜23 ZレジスタフアイルのAアドレス 24 データメモリ出力をMレジスタフアイルに書
込め 25 Mレジスタフアイルに書込まれるデータメモ
リ出力用の固定/浮動フオーマツト 26 最上位部の積を選択せよ 27 固定小数点で乗算せよ 28,29 Zレジスタフアイルに渡されるべきバイ
パス、積、または、なしの選択 30 積を丸めよ 31 フイードバツクを可能とせよ 32 桁合せされた値をラツチせよ 33 桁合せを可能とせよ 34 Bポートの値の符号を保管せよ 35 算術論理演算を制御するため、保管された条
件を使用せよ 36〜38 算術論理演算ユニツト関数コード 39 2の補数により行われる算術論理演算ユニツ
トの演算(固定小数点) 40 絶対値を強制せよ 41 正規化を可能とせよ 42 正規化器の出力をZレジスタフアイルに書込
め 43 浮動制御に固定せよ 44 Zレジスタフアイルの「A」ポートを先入れ
先出し記憶装置へ書込め 45 固定小数点フオーマツトでデータを先入れ先
出し記憶装置へ書込め 46 データ先入れ先出し記憶装置へ送られる浮動
小数点の仮数を丸めよ 47 ラツチ80および82使用可能 48 アドレスカウンタ再ロード可能 49,50 将来のため予約 51 ラツチ84使用可能 図6Aには、例えば、1024点高速フーリエ交換
(FFT)を実行するときの新規な全浮動小数点ベ
クトルプロセツサの機能を示す図式的線図が符号
129で示されている。76回分延びた一連の垂直
チツクマーク132は、図の上部に示されてい
る。全てのチツクのうち隣り合うチツクは、偶数
および奇数クロツクパルスに対応する。図6Aの
左側の最初の偶数クロツクパルスにおいて、クロ
ツクパルス14個分の長さを有するブロツク13
4は、データメモリからMレジスタフアイルのレ
ジスタ102(図4参照)内へデータをロードす
るための、アドレス生成器52(図2参照)によ
るアドレス生成を示す。4回のクロツクサイクル
後、クロツクサイクル14個分の長さを有するブ
ロツク136は、Mレジスタフアイルのレジスタ
102内への対応のアドレスによつて指定された
データ値のロードを示す。ブロツク138は、出
力データ値がパイプライン内での1024点高速フー
リエ変換算出の間に記憶個所に書込まれる書込み
アドレス先入れ先出し記憶装置66(図2参照)
内へ書込みアドレスをロードするためのアドレス
生成器の動作を示す。図示されているように、各
乗算が全体で24個のクロツクパルスの間に2個の
クロツクパルスを上述の通り必要とする、Mレジ
スタフアイル102から選択的に乗算器108内
へ書込まれたデータについて12個の乗算を行う乗
算器108(図4参照)の演算を示す。複数の非
対称時間ブロツク位置で示されているように、パ
イプラインアーキテクチヤは、データ読出しアド
レス生成が完了しない時点で乗算器の演算が開始
するのを許し、これにより、システム性能、デー
タスループツト、および、関数算出が加速される
ことが理解されよう。
1) 4〜7 MレジスタフアイルのBアドレス(第
2) 8〜11 MレジスタフアイルのAアドレス 12〜15 ZレジスタフアイルのBアドレス(第
1) 16〜19 ZレジスタフアイルのBアドレス(第
2) 20〜23 ZレジスタフアイルのAアドレス 24 データメモリ出力をMレジスタフアイルに書
込め 25 Mレジスタフアイルに書込まれるデータメモ
リ出力用の固定/浮動フオーマツト 26 最上位部の積を選択せよ 27 固定小数点で乗算せよ 28,29 Zレジスタフアイルに渡されるべきバイ
パス、積、または、なしの選択 30 積を丸めよ 31 フイードバツクを可能とせよ 32 桁合せされた値をラツチせよ 33 桁合せを可能とせよ 34 Bポートの値の符号を保管せよ 35 算術論理演算を制御するため、保管された条
件を使用せよ 36〜38 算術論理演算ユニツト関数コード 39 2の補数により行われる算術論理演算ユニツ
トの演算(固定小数点) 40 絶対値を強制せよ 41 正規化を可能とせよ 42 正規化器の出力をZレジスタフアイルに書込
め 43 浮動制御に固定せよ 44 Zレジスタフアイルの「A」ポートを先入れ
先出し記憶装置へ書込め 45 固定小数点フオーマツトでデータを先入れ先
出し記憶装置へ書込め 46 データ先入れ先出し記憶装置へ送られる浮動
小数点の仮数を丸めよ 47 ラツチ80および82使用可能 48 アドレスカウンタ再ロード可能 49,50 将来のため予約 51 ラツチ84使用可能 図6Aには、例えば、1024点高速フーリエ交換
(FFT)を実行するときの新規な全浮動小数点ベ
クトルプロセツサの機能を示す図式的線図が符号
129で示されている。76回分延びた一連の垂直
チツクマーク132は、図の上部に示されてい
る。全てのチツクのうち隣り合うチツクは、偶数
および奇数クロツクパルスに対応する。図6Aの
左側の最初の偶数クロツクパルスにおいて、クロ
ツクパルス14個分の長さを有するブロツク13
4は、データメモリからMレジスタフアイルのレ
ジスタ102(図4参照)内へデータをロードす
るための、アドレス生成器52(図2参照)によ
るアドレス生成を示す。4回のクロツクサイクル
後、クロツクサイクル14個分の長さを有するブ
ロツク136は、Mレジスタフアイルのレジスタ
102内への対応のアドレスによつて指定された
データ値のロードを示す。ブロツク138は、出
力データ値がパイプライン内での1024点高速フー
リエ変換算出の間に記憶個所に書込まれる書込み
アドレス先入れ先出し記憶装置66(図2参照)
内へ書込みアドレスをロードするためのアドレス
生成器の動作を示す。図示されているように、各
乗算が全体で24個のクロツクパルスの間に2個の
クロツクパルスを上述の通り必要とする、Mレジ
スタフアイル102から選択的に乗算器108内
へ書込まれたデータについて12個の乗算を行う乗
算器108(図4参照)の演算を示す。複数の非
対称時間ブロツク位置で示されているように、パ
イプラインアーキテクチヤは、データ読出しアド
レス生成が完了しない時点で乗算器の演算が開始
するのを許し、これにより、システム性能、デー
タスループツト、および、関数算出が加速される
ことが理解されよう。
ブロツク142は、乗算器の出力積が再び22個
のクロツクパルスの間に、乗算器108(図4参
照)からZレジスタフアイル104(図4参照)
へ時間的に重なつて同様に転送されることを示
す。ブロツク144は、同様に、時間的に重なつ
て、22個のクロツクパルスの間の算術論理演算ユ
ニツト124(図4参照)の演算を示す。算術論
理演算ユニツト124は、ブロツク146によつ
て示されているように、2個のクロツクパルス生
成後に記憶のためZレジスタフアイル104(図
4参照)へ送られる乗算器の出力積の結果をZレ
ジスタフアイル内に記憶した後、4個のクロツク
パルスの間に全22個の加算および減算を行うのを
開始する。ストリーム化された複数のデータベク
トルについて関数算出が完了した後、関数算出を
表わす複数のパイプライン出力データ値は、ブロ
ツク150で示されているように、書込みデータ
先入れ先出し記憶装置78(図2参照)内に書込
まれ、ブロツク152で示されているように、8
個の逐次的書込みに対して、書込みアドレス先入
れ先出し記憶装置66(図2参照)書込み用アド
レスを用いてデータメモリ58(図2参照)に書
込まれる。図6Bは、例えば、1024点高速フーリ
エ交換用の複数の逐次的パイプライン演算が連続
したブロツク154によつて指定された100%乗
算器利用のために一連の逐次的データベクトルの
重なり具合を示す合成ダイアグラムであり、加算
器およびデータメモリは、それぞれ、24サイクル
中の22サイクルの間、すなわち、91.7%使用され
ている。図6Bは、システムスループツトの高速
化を示しており、パイプライン内を流された複数
の逐次的データベクトルに対してパイプライン内
で1024点高速フーリエ交換の算出が完了される間
の2本の垂直破線間に亘る図6Aの76サイクルか
ら24サイクルになつたことを示す。例えば、1024
点の複素高速フーリエ交換の算出は、4.7ミリ秒
を要する。
のクロツクパルスの間に、乗算器108(図4参
照)からZレジスタフアイル104(図4参照)
へ時間的に重なつて同様に転送されることを示
す。ブロツク144は、同様に、時間的に重なつ
て、22個のクロツクパルスの間の算術論理演算ユ
ニツト124(図4参照)の演算を示す。算術論
理演算ユニツト124は、ブロツク146によつ
て示されているように、2個のクロツクパルス生
成後に記憶のためZレジスタフアイル104(図
4参照)へ送られる乗算器の出力積の結果をZレ
ジスタフアイル内に記憶した後、4個のクロツク
パルスの間に全22個の加算および減算を行うのを
開始する。ストリーム化された複数のデータベク
トルについて関数算出が完了した後、関数算出を
表わす複数のパイプライン出力データ値は、ブロ
ツク150で示されているように、書込みデータ
先入れ先出し記憶装置78(図2参照)内に書込
まれ、ブロツク152で示されているように、8
個の逐次的書込みに対して、書込みアドレス先入
れ先出し記憶装置66(図2参照)書込み用アド
レスを用いてデータメモリ58(図2参照)に書
込まれる。図6Bは、例えば、1024点高速フーリ
エ交換用の複数の逐次的パイプライン演算が連続
したブロツク154によつて指定された100%乗
算器利用のために一連の逐次的データベクトルの
重なり具合を示す合成ダイアグラムであり、加算
器およびデータメモリは、それぞれ、24サイクル
中の22サイクルの間、すなわち、91.7%使用され
ている。図6Bは、システムスループツトの高速
化を示しており、パイプライン内を流された複数
の逐次的データベクトルに対してパイプライン内
で1024点高速フーリエ交換の算出が完了される間
の2本の垂直破線間に亘る図6Aの76サイクルか
ら24サイクルになつたことを示す。例えば、1024
点の複素高速フーリエ交換の算出は、4.7ミリ秒
を要する。
本発明の思想から逸脱することなく、当業者に
とつて、本発明の全浮動小数点ベクトルプロセツ
サの多くの変形例が自明であることが理解されよ
う。
とつて、本発明の全浮動小数点ベクトルプロセツ
サの多くの変形例が自明であることが理解されよ
う。
図1は、本発明の全浮動小数点ベクトルプロセ
ツサの機能ブロツク線図、図2は、本発明の全浮
動小数点ベクトルプロセツサのパイプライン形算
術論理演算ユニツト制御装置のブロツク線図、図
3は、本発明の全浮動小数点ベクトルプロセツサ
のインターリーブドダイナミツクRAM形データ
メモリのブロツク線図、図4は、本発明の全浮動
小数点ベクトルプロセツサのパイプライン形算術
論理演算ユニツトのブロツク線図、図5Aは、本
発明の全浮動小数点ベクトルプロセツサのデータ
フオーマツトの一例を示す線図、図5Bは、本発
明の全浮動小数点ベクトルプロセツサのデータフ
オーマツトの他の一例を示す線図、図5Cは、本
発明の全浮動小数点ベクトルプロセツサのパイプ
ライン形算術論理演算ユニツトの全フオーマツト
のうち一例を示す線図、図5Dは、本発明の全浮
動小数点ベクトルプロセツサのパイプライン形算
術論理演算ユニツトの他の一例を示す図、図6A
は、一例として1024点高速フーリエ変換を実行す
るときの本発明の全浮動小数点ベクトルプロセツ
サの使用を示す線図、図6Bは、1024点高速フー
リエ変換を実行するときの本発明の全浮動小数点
ベクトルプロセツサの動作を示す他の線図であ
る。 12……マスタ処理ユニツト(MPU)、14…
…データメモリ、16……マスタ処理ユニツトの
アドレスバス、18……マスタ処理ユニツトのデ
ータバス、20……パイプライン形算術論理演算
ユニツト制御装置、28……アドレス生成器、3
6……パイプライン形算術論理演算ユニツト、4
0……補助入出力ポート、49……メモリ制御装
置、50……パイプライン形算術論理演算ユニツ
ト制御装置、56……算術論理演算ユニツト、6
0……命令レジスタデコーダ、64……アドレス
制御装置、66……書込みアドレス先入れ先出し
記憶装置、68……開始アドレスレジスタ、72
……RAM、74,80,82,84……ラツ
チ、78……書込みデータ先入れ先出し記憶装
置、86……ダイナミツクRAM、102……M
レジスタフアイル、104……Zレジスタフアイ
ル、106……固定/浮動小数点コンバータ、1
18……低値選択器、120……高値選択器、1
30……正規化器。
ツサの機能ブロツク線図、図2は、本発明の全浮
動小数点ベクトルプロセツサのパイプライン形算
術論理演算ユニツト制御装置のブロツク線図、図
3は、本発明の全浮動小数点ベクトルプロセツサ
のインターリーブドダイナミツクRAM形データ
メモリのブロツク線図、図4は、本発明の全浮動
小数点ベクトルプロセツサのパイプライン形算術
論理演算ユニツトのブロツク線図、図5Aは、本
発明の全浮動小数点ベクトルプロセツサのデータ
フオーマツトの一例を示す線図、図5Bは、本発
明の全浮動小数点ベクトルプロセツサのデータフ
オーマツトの他の一例を示す線図、図5Cは、本
発明の全浮動小数点ベクトルプロセツサのパイプ
ライン形算術論理演算ユニツトの全フオーマツト
のうち一例を示す線図、図5Dは、本発明の全浮
動小数点ベクトルプロセツサのパイプライン形算
術論理演算ユニツトの他の一例を示す図、図6A
は、一例として1024点高速フーリエ変換を実行す
るときの本発明の全浮動小数点ベクトルプロセツ
サの使用を示す線図、図6Bは、1024点高速フー
リエ変換を実行するときの本発明の全浮動小数点
ベクトルプロセツサの動作を示す他の線図であ
る。 12……マスタ処理ユニツト(MPU)、14…
…データメモリ、16……マスタ処理ユニツトの
アドレスバス、18……マスタ処理ユニツトのデ
ータバス、20……パイプライン形算術論理演算
ユニツト制御装置、28……アドレス生成器、3
6……パイプライン形算術論理演算ユニツト、4
0……補助入出力ポート、49……メモリ制御装
置、50……パイプライン形算術論理演算ユニツ
ト制御装置、56……算術論理演算ユニツト、6
0……命令レジスタデコーダ、64……アドレス
制御装置、66……書込みアドレス先入れ先出し
記憶装置、68……開始アドレスレジスタ、72
……RAM、74,80,82,84……ラツ
チ、78……書込みデータ先入れ先出し記憶装
置、86……ダイナミツクRAM、102……M
レジスタフアイル、104……Zレジスタフアイ
ル、106……固定/浮動小数点コンバータ、1
18……低値選択器、120……高値選択器、1
30……正規化器。
Claims (1)
- 【特許請求の範囲】 1 マスタ処理ユニツトと、このマスタ処理ユニ
ツトに結合され複数のアドレス指定可能記憶個所
を与えるための入力バスおよび出力バスを有する
第1の手段と、前記第1の手段および前記マスタ
処理ユニツトに結合され、前記アドレス指定可能
記憶個所に算出されるべきデータをロードする第
2の手段と、前記第1の手段および前記マスタ処
理ユニツトに結合され、前記マスタ処理ユニツト
と同時に動作し、複数の逐次的メモリ読出しアド
レス、および、メモリ書込みアドレスを与え、選
択的に遅延された制御信号を与える第3の手段
と、前記第1の手段、前記第3の手段および前記
マスタ処理ユニツトに結合され、前記遅延制御信
号に応答して前記マスタ処理ユニツトおよび前記
第3の手段の両方と同時に動作し前記複数の逐次
的メモリ読出しアドレス、および、メモリ書込み
アドレスのうち対応するアドレスと同期して複数
の逐次的マイクロ命令を供給する第4の手段と、
前記第1の手段および前記第4の手段と結合さ
れ、前記出力バス上の前記逐次的データおよび同
期供給された前記マイクロ命令に応答して前記マ
スタ処理ユニツト、前記第3の手段および前記第
4の手段と同時作動し、同期入力された前記マイ
クロ命令によつて前記出力バス上の前記データに
ついて予め選択された複数の計算集中関数の1つ
を算出し前記複数の計算集中関数のうち選択され
た前記計算集中関数の前記算出を表わすデータ値
を前記入力バスに供給する第5の手段とをそな
え、前記第1の手段は、前記複数の逐次的メモリ
読出しアドレスの各々に応答して作動可能である
ことにより、前記出力バス上に前記メモリ読出し
アドレスの各々にロードされた対応するデータを
供給し、複数のデータメモリの書込みアドレスの
各々に応答して動作可能であることにより、前記
メモリ書込みアドレスへ前記入力バス上の対応す
るデータをロードするようにした全浮動小数点ベ
クトルプロセツサ。 2 前記マスタ処理ユニツトは、68000スーパー
マイクロプロセツサチツプである請求項1記載の
全浮動小数点ベクトルプロセツサ。 3 前記第1の手段は、スタテイツクRAMを含
む請求項1記載の全浮動小数点ベクトルプロセツ
サ。 4 前記第1の手段は、インターリーブドダイナ
ミツクRAMを含む請求項1記載の全浮動小数点
ベクトルプロセツサ。 5 前記インターリーブドダイナミツクRAM
は、前記逐次的メモリ読出しアドレスの各々に応
答して2語を供給し前記逐次的メモリ書込みアド
レスの各々に応答して2値を受入れるように動作
する偶数バンク対および奇数バンク対として配列
された請求項4記載の全浮動小数点ベクトルプロ
セツサ。 6 前記第2の手段は、ホストインタフエースに
接続された直接メモリアクセス制御装置を含む請
求項1記載の全浮動小数点ベクトルプロセツサ。 7 前記第2の手段は、前記マスタ処理ユニツト
に動作的に接続されたRS−232形インタフエース
を含む請求項1記載の全浮動小数点ベクトルプロ
セツサ。 8 前記第2の手段は、前記マスタ処理ユニツト
に動作的に接続されたユニバスインタフエースを
含む請求項1記載の全浮動小数点ベクトルプロセ
ツサ。 9 前記第2の手段は、前記マスタ処理ユニツト
に動作的に接続されたマルチバスインタフエース
を含む請求項1記載の全浮動小数点ベクトルプロ
セツサ。 10 前記第1の手段に動作的に接続された少く
とも2つの入出力ポート更にを含む請求項1記載
の全浮動小数点ベクトルプロセツサ。 11 前記第3の手段は、前記マスタ処理ユニツ
トにより複数のアドレス生成制御ループをロード
可能な制御格納RAMを有するアドレス生成器
と、前記マスタ処理ユニツトにより前記アドレス
生成制御ループの選択された1つに対応する開始
アドレスがロード可能な開始レジスタと、前記ア
ドレス生成器の前記制御格納RAMに接続され前
記選択されたアドレス生成制御ループに応答して
前記複数の逐次的データメモリ読出しアドレスお
よび書込みアドレスを供給する、前記アドレス生
成器の算術論理演算ユニツトとを含む請求項1記
載の全浮動小数点ベクトルプロセツサ。 12 前記アドレス生成器の前記算術論理演算ユ
ニツトと前記第1の手段との間に接続された書込
みアドレス先入れ先出し記憶装置を更に含む請求
項11記載の全浮動小数点ベクトルプロセツサ。 13 前記入力バスと前記第5の手段との間に接
続された書込みデータ先入れ先出し記憶装置を更
に含む請求項11記載の全浮動小数点ベクトルプ
ロセツサ。 14 前記第4の手段は、前記マスタ処理ユニツ
トにより、各マイクロ命令が算出されるべき前記
複数の計算集中関数の1つに対応する、パイプラ
イン制御用シーケンサの複数のマイクロ命令をロ
ード可能な制御格納RAMを有するパイプライン
制御用シーケンサを有し、前記パイプライン制御
用シーケンサは、前記アドレス生成器により前記
複数の計算集中関数のうち選択された1つの開始
アドレスをロード可能な開始レジスタを含む請求
項11記載の全浮動小数点ベクトルプロセツサ。 15 前記第5の手段は、マイクロ命令の制御に
よりフイードフオワード路およびフイードバツク
路の両方を介して選択的に接続されるMレジスタ
フアイルおよびZレジスタフアイルを有する動的
構成可能な多機能パイプライン形算術論理演算ユ
ニツトを含み、前記MレジスタフアイルおよびZ
レジスタフアイルの各々は、2個の入力ポートお
よび2個の出力ポートを有する4ポート素子であ
り、前記複数のマイクロ命令の各々に応答して動
作することにより、前記MおよびZレジスタフア
イル内への2つの書込み、および、前記Mおよび
Zレジスタフアイルからの2つの読出しを行う請
求項1記載の全浮動小数点ベクトルプロセツサ。 16 前記動的構成可能な多機能パイプライン形
算術論理演算ユニツトは、算術論理演算ユニツ
ト、および、符号ビツトラツチを含み、この符号
ビツトラツチは、前記Zレジスタフアイルと前記
算術論理演算ユニツトの間に接続され前記マイク
ロ命令に応答して動作することにより、前記算術
論理演算ユニツトにデータ依存決定能力を与える
請求項15記載の全浮動小数点ベクトルプロセツ
サ。 17 一連の離散クロツク信号を供給するクロツ
クと、算出されるべきデータベクトルを格納し算
出後のデータ値を格納するデータメモリと、この
データメモリ、および、前記クロツクに結合され
たマスタ処理ユニツトと、前記マスタ処理ユニツ
トに接続され前記データメモリに結合され、算出
されるべき前記データベクトルを前記データメモ
リにロードし前記算出後のデータ値をオフロード
するインタフエースと、前記データメモリおよび
前記マスタ処理ユニツトに結合され前記クロツク
に応答して各クロツク信号の発生毎にデータメモ
リ読出しアドレスを制御可能に供給するアドレス
生成器と、前記マスタ処理ユニツトに接続され前
記アドレス生成器に結合され該アドレス生成器と
同時作動し、前記クロツクおよび前記アドレス生
成器に応答して、クロツク信号の生成毎に、およ
び、該クロツク信号の生成と同期して前記複数の
データメモリ書込みアドレスの対応するものと同
時に完全プログラム可能水平フオーマツトビツト
フイールドを有するマイクロ命令を供給するパイ
プライン制御用シーケンサと、前記パイプライン
制御用シーケンサおよび前記データメモリに結合
され前記マイクロ命令のそれぞれ、および、前記
クロツク信号に応答して、前記複数のデータメモ
リ読出しアドレスによつて指定されたデータにつ
いて複数の計算集中関数のうち選択されたものを
算出するパイプライン形算術論理演算ユニツトと
を含むベクトルプロセツサ。 18 前記アドレス生成器と前記パイプライン形
算術論理演算ユニツトの入力との間に接続された
書込みアドレス先入れ先出し記憶装置を含む請求
項17記載のベクトルプロセツサ。 19 前記アドレス生成器は、書込みデータアド
レスを生成するように動作し、上記ベクトルプロ
セツサは、前記パイプライン形算術論理演算ユニ
ツトの出力と前記データメモリとの間に接続され
た書込みデータ先入れ先出し記憶装置を更に含む
請求項17記載のベクトルプロセツサ。 20 前記書込みアドレス先入れ先出し記憶装置
は、前記パイプライン制御用シーケンサに結合さ
れ、前記完全プログラム可能水平フオーマツトマ
イクロ命令の予め選択されたビツトフイールドに
よつて制御される請求項18記載のベクトルプロ
セツサ。 21 前記書込みデータ先入れ先出し記憶装置
は、前記パイプライン制御用シーケンサに結合さ
れ、前記完全プログラム可能水平フオーマツトマ
イクロ命令の予め選択されたビツトフイールドに
よつて制御される請求項19記載のベクトルプロ
セツサ。 22 前記パイプライン算術論理演算ユニツト
は、前記パイプライン制御用シーケンサに結合さ
れた、それぞれ2個の入力端および2個の出力端
を有するMフアイルレジスタおよびZフアイルレ
ジスタを有し、前記完全プログラム可能水平フオ
ーマツトマイクロ命令の予め選択されたビツトフ
イールドに応答して動作することにより各クロツ
クパルスの生成毎に2つの読出し、および、2つ
の書込みを行う請求項17記載のベクトルプロセ
ツサ。 23 前記パイプライン形算術論理演算ユニツト
は、符号ラツチを介して前記Zフアイルレジスタ
に接続された算術論理演算ユニツトを含み、前記
符号ラツチは、前記完全プログラム可能水平フオ
ーマツトマイクロ命令の予め選択されたビツトフ
イールドにより動作して、前記算術論理演算ユニ
ツトに符号情報を与えることにより、データ依存
決定を制御可能に供給する請求項22記載のベク
トルプロセツサ。 24 前記アドレス生成器は、算術論理演算ユニ
ツトを有し、データメモリ出力依存アドレス生成
を行うために、前記データメモリと前記アドレス
生成器の前記算術論理演算ユニツトとの間に接続
され前記完全プログラム可能水平フオーマツトマ
イクロ命令の予め選択されたビツトフイールドに
よつて使用可能となる少くとも1個のラツチを更
に含む請求項17記載のベクトルプロセツサ。 25 前記アドレス生成器は、算術論理演算ユニ
ツトを含み、パイプライン出力依存アドレス生成
を行うために、前記パイプライン形算術論理演算
ユニツトと前記アドレス生成器の前記算術論理演
算ユニツトとの間に接続され、前記完全プログラ
ム可能水平フオーマツトマイクロ命令の予め選択
されたビツトフイールドによつて使用可能となる
少くとも1個のラツチを更に含む請求項17記載
のベクトルプロセツサ。 26 前記パイプライン形算術論理演算ユニツト
と前記データメモリとの間に接続された書込みア
ドレス先入れ先出し記憶装置と、前記アドレス生
成器と前記書き込みアドレス先入れ先出し記憶装
置との間に接続されたカウンタとを有し、前記書
込みアドレス先入れ先出し記憶装置は、前記完全
プログラム可能水平フオーマツトマイクロ命令の
予め選択されたビツトフイールドおよび所定値ま
でカウントダウンした前記カウンタによつて使用
可能となる請求項17記載のベクトルプロセツ
サ。 27 前記インタフエースは、ユニバスインタフ
エースである請求項17記載のベクトルプロセツ
サ。 28 前記インタフエースは、マルチバスインタ
フエースである請求項17記載のベクトルプロセ
ツサ。 29 前記インタフエースは、RS−232シリアル
ラインである請求項17記載のベクトルプロセツ
サ。 30 前記データメモリに接続された少くとも2
個の補助入出力ポートを更に含む請求項17記載
のベクトルプロセツサ。 31 前記データメモリは、並列の偶数バンク対
および奇数バンク対として接続され前記アドレス
生成器によつて指定された各アドレスに応答して
動作することにより、2つのデータ語を直列に供
給するダイナミツクRAMを含む請求項17記載
のベクトルプロセツサ。 32 固定小数点フオーマツトおよび浮動小数点
フオーマツトの一方により動作し、密結合モー
ド、疎結合モードおよび非結合モードの1つによ
り動作するベクトルプロセツサであつて、クロツ
クパルスを供給するクロツクと、このクロツクパ
ルスに結合されたマスタ処理ユニツトと、前記ク
ロツクおよび前記マスタ処理ユニツトに結合され
たデータメモリと、前記クロツクおよび前記マス
タ処理ユニツトに接続され前記データメモリに対
してデータをロードするため直接メモリアクセス
を供給する手段と、前記マスタ処理ユニツトに並
列接続され前記クロツクおよび前記データメモリ
に結合されて各クロツクパルスの発生毎にデータ
メモリ書込みアドレスおよびデータメモリ読出し
アドレスを供給する第1のプロセツサと、前記マ
スタ処理ユニツトと前記クロツクに結合された前
記第1プロセツサとに並列接続され、前記第1の
プロセツサに応答して前記データメモリ書込みア
ドレスの各々と同期してクロツクパルスの発生毎
に水平フオーマツトマイクロ命令を供給する第2
のプロセツサと、前記データメモリおよび前記第
2のプロセツサに接続され前記クロツクに結合さ
れて、各クロツクパルス毎に前記データメモリ書
込みアドレスと前記マイクロ命令とによつて指定
されるデータ値に応答して、前記データについて
計算集中関数を算出する制御可能に構成しうるパ
イプライン形算術論理演算ユニツトとをそなえた
ベクトルプロセツサ。 33 前記パイプライン形算術論理演算ユニツト
は、マイクロ命令に制御されるフイードフオワー
ド路およびフイードバツク路により選択的に接続
可能な第1レジスタフアイルおよび第2レジスタ
フアイルを含み、各クロツクパルス毎に動作する
ことにより、上記レジスタフアイル内に2つの書
込みを行い前記レジスタフアイルから2つの読出
しを行う請求項32記載のベクトルプロセツサ。 34 前記レジスタフアイルの各々は、2つの入
力ポートおよび2つの出力ポートを有し、前記書
込み一方は、読出し用に指定されたアドレスへ行
われる請求項33記載のベクトルプロセツサ。 35 前記第1レジスタフアイルの前記出力ポー
トは、前記第2レジスタフアイルの入力ポートの
一方に接続された2つの出力ポートを有する2入
力ポート乗算器の前記入力ポートに接続された請
求項34記載のベクトルプロセツサ。 36 前記第2レジスタフアイルの前記出力ポー
トは、この第2レジスタフアイルの前記入力ポー
トの一方に再び接続された1つの出力ポートを有
する2入力ポート算術論理演算ユニツトの前記2
つの入力ポートに接続された請求項35記載のベ
クトルプロセツサ。 37 前記レジスタフアイルの前記出力ポートの
一方と前記算術論理演算ユニツトとの間に接続さ
れ、マイクロ命令により制御されて動作すること
により、前記算術論理演算ユニツトにデータ依存
決定能力を与える請求項36記載のベクトルプロ
セツサ。 38 前記パイプライン形算術論理演算ユニツト
は、前記データメモリと前記第1レジスタフアイ
ルとの間に接続されマイクロ命令により制御され
オンザフライ固定および浮動小数点フオーマツト
交換の一方を供給する手段を含む請求項37記載
のベクトルプロセツサ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/498,877 US4589067A (en) | 1983-05-27 | 1983-05-27 | Full floating point vector processor with dynamically configurable multifunction pipelined ALU |
| US498877 | 1983-05-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59226971A JPS59226971A (ja) | 1984-12-20 |
| JPH0418345B2 true JPH0418345B2 (ja) | 1992-03-27 |
Family
ID=23982870
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59108259A Granted JPS59226971A (ja) | 1983-05-27 | 1984-05-28 | 全浮動小数点ベクトルプロセツサ |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4589067A (ja) |
| EP (1) | EP0127508B1 (ja) |
| JP (1) | JPS59226971A (ja) |
| DE (1) | DE3483795D1 (ja) |
| IL (1) | IL71720A (ja) |
Families Citing this family (87)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59160267A (ja) * | 1983-03-02 | 1984-09-10 | Hitachi Ltd | ベクトル処理装置 |
| US4814977A (en) * | 1983-10-18 | 1989-03-21 | S&C Electric Company | Apparatus and method for direct memory to peripheral and peripheral to memory data transfers |
| JPH0650512B2 (ja) * | 1984-07-11 | 1994-06-29 | 日本電気株式会社 | デ−タ処理装置 |
| JPS6125245A (ja) * | 1984-07-12 | 1986-02-04 | Nec Corp | 丸め処理回路 |
| EP0173383B1 (fr) * | 1984-08-14 | 1990-04-18 | Telecommunications Radioelectriques Et Telephoniques T.R.T. | Processeur pour effectuer suivant différents modes le traitement de données et dispositif de multiplication convenant pour un tel processeur |
| US4773035A (en) * | 1984-10-19 | 1988-09-20 | Amdahl Corporation | Pipelined data processing system utilizing ideal floating point execution condition detection |
| US4736335A (en) * | 1984-11-13 | 1988-04-05 | Zoran Corporation | Multiplier-accumulator circuit using latched sums and carries |
| US4829424A (en) * | 1985-06-28 | 1989-05-09 | Hewlett-Packard Company | Maximal length immediates with fixed sign position |
| JPS6297036A (ja) * | 1985-07-31 | 1987-05-06 | テキサス インスツルメンツ インコ−ポレイテツド | 計算機システム |
| US4779218A (en) * | 1985-09-04 | 1988-10-18 | Jauch Jeremy P | Complex arithmetic unit |
| US4860249A (en) * | 1985-10-04 | 1989-08-22 | Saxpy Computer Corporation | Multizone array processor implementing two sided zone buffers with each side being dynamically configured as a working or I/O side |
| JPS62120574A (ja) * | 1985-11-20 | 1987-06-01 | Fujitsu Ltd | ベクトル処理装置 |
| US5036453A (en) * | 1985-12-12 | 1991-07-30 | Texas Instruments Incorporated | Master/slave sequencing processor |
| US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
| US4974198A (en) * | 1986-07-16 | 1990-11-27 | Nec Corporation | Vector processing system utilizing firm ware control to prevent delays during processing operations |
| US4987534A (en) * | 1986-08-20 | 1991-01-22 | Nec Corporation | Processor having synchronized operation between a CPU and a vector processor |
| US5230079A (en) * | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
| US4985832A (en) * | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
| US6108763A (en) * | 1986-09-18 | 2000-08-22 | Grondalski; Robert S. | Simultaneous parity generating/reading circuit for massively parallel processing systems |
| US5146606A (en) * | 1986-09-18 | 1992-09-08 | Digital Equipment Corporation | Systems for interconnecting and configuring plurality of memory elements by control of mode signals |
| US4800516A (en) * | 1986-10-31 | 1989-01-24 | Amdahl Corporation | High speed floating-point unit |
| US4809162A (en) * | 1986-10-31 | 1989-02-28 | Amdahl Corporation | Saving registers in data processing apparatus |
| US4811214A (en) * | 1986-11-14 | 1989-03-07 | Princeton University | Multinode reconfigurable pipeline computer |
| US5109523A (en) * | 1987-01-23 | 1992-04-28 | Hitachi, Ltd. | Method for determining whether data signals of a first set are related to data signal of a second set |
| US4858113A (en) * | 1987-04-10 | 1989-08-15 | The United States Of America As Represented By The Director Of The National Security Agency | Reconfigurable pipelined processor |
| JPS63259727A (ja) * | 1987-04-17 | 1988-10-26 | Hitachi Ltd | コプロセツサのインタ−フエイス方式 |
| JPH0719204B2 (ja) * | 1987-09-17 | 1995-03-06 | 筑波大学長 | 浮動小数点演算方式 |
| US4841467A (en) * | 1987-10-05 | 1989-06-20 | General Electric Company | Architecture to implement floating point multiply/accumulate operations |
| US5179705A (en) * | 1988-03-23 | 1993-01-12 | Dupont Pixel Systems, Ltd. | Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource |
| US5212780A (en) * | 1988-05-09 | 1993-05-18 | Microchip Technology Incorporated | System for single cycle transfer of unmodified data to a next sequentially higher address in a semiconductor memory |
| US5068819A (en) * | 1988-06-23 | 1991-11-26 | International Business Machines Corporation | Floating point apparatus with concurrent input/output operations |
| US5003471A (en) * | 1988-09-01 | 1991-03-26 | Gibson Glenn A | Windowed programmable data transferring apparatus which uses a selective number of address offset registers and synchronizes memory access to buffer |
| US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
| US5150469A (en) * | 1988-12-12 | 1992-09-22 | Digital Equipment Corporation | System and method for processor pipeline control by selective signal deassertion |
| JPH0810428B2 (ja) * | 1988-12-26 | 1996-01-31 | 三菱電機株式会社 | データ処理装置 |
| US5062041A (en) * | 1988-12-29 | 1991-10-29 | Wang Laboratories, Inc. | Processor/coprocessor interface apparatus including microinstruction clock synchronization |
| US5212662A (en) * | 1989-01-13 | 1993-05-18 | International Business Machines Corporation | Floating point arithmetic two cycle data flow |
| US4961162A (en) * | 1989-01-13 | 1990-10-02 | International Business Machines Corporation | Multiprocessing system for performing floating point arithmetic operations |
| US4999802A (en) * | 1989-01-13 | 1991-03-12 | International Business Machines Corporation | Floating point arithmetic two cycle data flow |
| US4969118A (en) * | 1989-01-13 | 1990-11-06 | International Business Machines Corporation | Floating point unit for calculating A=XY+Z having simultaneous multiply and add |
| US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
| US5598545A (en) * | 1989-10-13 | 1997-01-28 | Texas Instruments Incorporated | Circuitry and method for performing two operating instructions during a single clock in a processing device |
| US5263169A (en) * | 1989-11-03 | 1993-11-16 | Zoran Corporation | Bus arbitration and resource management for concurrent vector signal processor architecture |
| US5179530A (en) * | 1989-11-03 | 1993-01-12 | Zoran Corporation | Architecture for integrated concurrent vector signal processor |
| US5315708A (en) * | 1990-02-28 | 1994-05-24 | Micro Technology, Inc. | Method and apparatus for transferring data through a staging memory |
| US5053631A (en) * | 1990-04-02 | 1991-10-01 | Advanced Micro Devices, Inc. | Pipelined floating point processing unit |
| JPH0480867A (ja) * | 1990-07-23 | 1992-03-13 | Mitsubishi Electric Corp | 演算回路 |
| US5261063A (en) * | 1990-12-07 | 1993-11-09 | Ibm Corp. | Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs |
| EP0513519A1 (en) * | 1991-05-15 | 1992-11-19 | International Business Machines Corporation | Memory system for multiprocessor systems |
| CA2074769C (en) * | 1991-08-09 | 2001-03-20 | International Business Machines Corporation | Formula processor |
| US5408426A (en) * | 1992-03-17 | 1995-04-18 | Hitachi, Ltd. | Arithmetic unit capable of performing concurrent operations for high speed operation |
| US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
| US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
| US6009508A (en) * | 1994-06-21 | 1999-12-28 | Sgs-Thomson Microelectronics Limited | System and method for addressing plurality of data values with a single address in a multi-value store on FIFO basis |
| US5619198A (en) * | 1994-12-29 | 1997-04-08 | Tektronix, Inc. | Number format conversion apparatus for signal processing |
| US5844830A (en) * | 1996-08-07 | 1998-12-01 | Sun Microsystems, Inc. | Executing computer instrucrions by circuits having different latencies |
| TW340262B (en) * | 1996-08-13 | 1998-09-11 | Fujitsu Ltd | Semiconductor device, system consisting of semiconductor devices and digital delay circuit |
| US5805875A (en) * | 1996-09-13 | 1998-09-08 | International Computer Science Institute | Vector processing system with multi-operation, run-time configurable pipelines |
| US5963460A (en) * | 1996-12-17 | 1999-10-05 | Metaflow Technologies, Inc. | Apparatus for computing transcendental functions quickly |
| WO1998028695A1 (en) | 1996-12-19 | 1998-07-02 | Hyundai Electronics America | Video frame rendering engine |
| DE69727465T2 (de) | 1997-01-09 | 2004-12-23 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Rechnersystem mit Speichersteuerung für Stossbetrieb-Übertragung |
| US6401194B1 (en) * | 1997-01-28 | 2002-06-04 | Samsung Electronics Co., Ltd. | Execution unit for processing a data stream independently and in parallel |
| US6430589B1 (en) | 1997-06-20 | 2002-08-06 | Hynix Semiconductor, Inc. | Single precision array processor |
| JPH1165989A (ja) * | 1997-08-22 | 1999-03-09 | Sony Computer Entertainment:Kk | 情報処理装置 |
| US6157751A (en) * | 1997-12-30 | 2000-12-05 | Cognex Corporation | Method and apparatus for interleaving a parallel image processing memory |
| US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
| US6317844B1 (en) | 1998-03-10 | 2001-11-13 | Network Appliance, Inc. | File server storage arrangement |
| US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
| JP2000172651A (ja) * | 1998-12-03 | 2000-06-23 | Nec Corp | 非同期転送モード(atm)セルパイプライン処理装置 |
| EP1061438A1 (en) * | 1999-06-15 | 2000-12-20 | Hewlett-Packard Company | Computer architecture containing processor and coprocessor |
| EP1061439A1 (en) * | 1999-06-15 | 2000-12-20 | Hewlett-Packard Company | Memory and instructions in computer architecture containing processor and coprocessor |
| US6807620B1 (en) * | 2000-02-11 | 2004-10-19 | Sony Computer Entertainment Inc. | Game system with graphics processor |
| US7383424B1 (en) | 2000-06-15 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Computer architecture containing processor and decoupled coprocessor |
| US7870367B1 (en) * | 2003-06-17 | 2011-01-11 | Altera Corporation | Methods and apparatus for implementing complex parallel instructions using control logic |
| US7937557B2 (en) | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
| US7904695B2 (en) * | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous power saving computer |
| US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
| EP1821174B9 (en) * | 2006-02-16 | 2010-10-27 | VNS Portfolio LLC | Asynchronous power saving computer |
| US7617383B2 (en) * | 2006-02-16 | 2009-11-10 | Vns Portfolio Llc | Circular register arrays of a computer |
| US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
| US7779216B2 (en) * | 2007-04-11 | 2010-08-17 | Honeywell International Inc. | Method and system of randomizing memory locations |
| US7555637B2 (en) * | 2007-04-27 | 2009-06-30 | Vns Portfolio Llc | Multi-port read/write operations based on register bits set for indicating select ports and transfer directions |
| US20100023730A1 (en) * | 2008-07-24 | 2010-01-28 | Vns Portfolio Llc | Circular Register Arrays of a Computer |
| US9792087B2 (en) | 2012-04-20 | 2017-10-17 | Futurewei Technologies, Inc. | System and method for a floating-point format for digital signal processors |
| US9329936B2 (en) | 2012-12-31 | 2016-05-03 | Intel Corporation | Redundant execution for reliability in a super FMA ALU |
| JP6933648B2 (ja) | 2015-12-28 | 2021-09-08 | コーヒレント・ロジックス・インコーポレーテッド | Fecの符号化および復号を加速するプロセッサ命令 |
| CN114970848B (zh) * | 2022-05-20 | 2025-03-04 | 苏州登临科技有限公司 | 用于并行处理器的数据搬运装置及相应处理器 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3794984A (en) * | 1971-10-14 | 1974-02-26 | Raytheon Co | Array processor for digital computers |
| US3787673A (en) * | 1972-04-28 | 1974-01-22 | Texas Instruments Inc | Pipelined high speed arithmetic unit |
| US4101960A (en) * | 1977-03-29 | 1978-07-18 | Burroughs Corporation | Scientific processor |
| US4228498A (en) * | 1977-10-12 | 1980-10-14 | Dialog Systems, Inc. | Multibus processor for increasing execution speed using a pipeline effect |
| US4281391A (en) * | 1979-01-15 | 1981-07-28 | Leland Stanford Junior University | Number theoretic processor |
| US4302818A (en) * | 1979-07-10 | 1981-11-24 | Texas Instruments Incorporated | Micro-vector processor |
| US4287566A (en) * | 1979-09-28 | 1981-09-01 | Culler-Harrison Inc. | Array processor with parallel operations per instruction |
| US4496944A (en) * | 1980-02-29 | 1985-01-29 | Calma Company | Graphics display system and method including associative addressing |
| US4371951A (en) * | 1980-09-29 | 1983-02-01 | Control Data Corporation | Apparatus for converting serial input sparse vector format to parallel unpacked format for input to tandem arithmetic logic units |
| JPS57134774A (en) * | 1981-02-13 | 1982-08-20 | Hitachi Ltd | Vector operating device |
| JPS57155666A (en) * | 1981-03-20 | 1982-09-25 | Fujitsu Ltd | Instruction controlling system of vector processor |
| JPS57209570A (en) * | 1981-06-19 | 1982-12-22 | Fujitsu Ltd | Vector processing device |
| US4414669A (en) * | 1981-07-23 | 1983-11-08 | General Electric Company | Self-testing pipeline processors |
| US4489434A (en) * | 1981-10-05 | 1984-12-18 | Exxon Corporation | Speech recognition method and apparatus |
-
1983
- 1983-05-27 US US06/498,877 patent/US4589067A/en not_active Expired - Fee Related
-
1984
- 1984-05-02 EP EP84400876A patent/EP0127508B1/en not_active Expired - Lifetime
- 1984-05-02 DE DE8484400876T patent/DE3483795D1/de not_active Expired - Fee Related
- 1984-05-02 IL IL71720A patent/IL71720A/xx unknown
- 1984-05-28 JP JP59108259A patent/JPS59226971A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59226971A (ja) | 1984-12-20 |
| US4589067A (en) | 1986-05-13 |
| EP0127508A3 (en) | 1987-10-07 |
| EP0127508A2 (en) | 1984-12-05 |
| EP0127508B1 (en) | 1991-01-02 |
| DE3483795D1 (de) | 1991-02-07 |
| IL71720A0 (en) | 1984-09-30 |
| IL71720A (en) | 1987-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0418345B2 (ja) | ||
| US4862407A (en) | Digital signal processing apparatus | |
| US5187795A (en) | Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports | |
| US4370709A (en) | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases | |
| US4181934A (en) | Microprocessor architecture with integrated interrupts and cycle steals prioritized channel | |
| US6603481B1 (en) | Geometry processor capable of executing input/output and high speed geometry calculation processing in parallel | |
| US4876644A (en) | Parallel pipelined processor | |
| US5440747A (en) | Data processor with control logic for storing operation mode status and associated method | |
| US5381360A (en) | Modulo arithmetic addressing circuit | |
| EP0517429A2 (en) | CPU with integrated multiply/accumulate unit | |
| US4298936A (en) | Array Processor | |
| JPH0243212B2 (ja) | ||
| JP2001520775A (ja) | 算術プロセッサ | |
| US4208722A (en) | Floating point data processing system | |
| JPH026091B2 (ja) | ||
| US4339793A (en) | Function integrated, shared ALU processor apparatus and method | |
| US4462072A (en) | Clock system having a stall capability to enable processing of errors | |
| US4853890A (en) | Vector processor | |
| Moorer | The lucasfilm audio signal processor | |
| JP2807343B2 (ja) | 情報処理システム | |
| US5907864A (en) | Data processing device with time-multiplexed memory bus | |
| Kratz et al. | A microprogrammed approach to signal processing | |
| JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
| US20250130808A1 (en) | Vector transformation in parallel with arithmetic operation | |
| JPH0766372B2 (ja) | 浮動小数点演算処理装置 |