JP2701955B2 - レジスタ論理演算ユニット - Google Patents

レジスタ論理演算ユニット

Info

Publication number
JP2701955B2
JP2701955B2 JP2013789A JP1378990A JP2701955B2 JP 2701955 B2 JP2701955 B2 JP 2701955B2 JP 2013789 A JP2013789 A JP 2013789A JP 1378990 A JP1378990 A JP 1378990A JP 2701955 B2 JP2701955 B2 JP 2701955B2
Authority
JP
Japan
Prior art keywords
data
register
logical operation
logic
operation 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
Application number
JP2013789A
Other languages
English (en)
Other versions
JPH02239323A (ja
Inventor
スチーブン・ピー・デイビース
マーク・エスペライアン
Original Assignee
ヒューズ・エアクラフト・カンパニー
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 ヒューズ・エアクラフト・カンパニー filed Critical ヒューズ・エアクラフト・カンパニー
Publication of JPH02239323A publication Critical patent/JPH02239323A/ja
Application granted granted Critical
Publication of JP2701955B2 publication Critical patent/JP2701955B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は主にデジタル信号処理システムに関し、特
に多重データフォーマットで動作する分離パイプライン
構造を提供するようなシステムに用いられるレジスタ論
理演算ユニットに関する。
(従来の技術) 改善されたリアルタイムのベクトル及びスカラ演算動
作は、信号処理システムに於いて要求される重要な要素
である。しかし、この要求される要素は、信号処理シス
テムのサイズ、重量、出力、冷却容量に関する厳しい物
理的制限が伴う。従来、信号プロセッサの設計者は競合
するこれら要求の中で妥協せねばならず、設計されるプ
ロセッサは、最適なプロセッサではない場合が多くあっ
た。
(発明が解決しようとする課題) 従来の信号プロセッサの性能は、約5Mヘルツの比較的
低速のシステムクロックレートによって制限され、又16
ビット固定点データについての動作に制限された。この
ような従来の信号プロセッサに関する固定点動作制限
は、多くの応用分野において重要となった。多くの信号
アルゴリズムは、数学的なコンピュータ処理を必要とす
る。この処理は広いダイナミックレンジを有し、32ビッ
ト浮動点処理を必要とする。
信号プロセッサの分野での32ビット処理に関する要求
に対処するために、16ビット及び32ビットデータに基づ
く固定点及び浮動点コンピュータ処理を実行できる、演
算及びレジスタ論理ユニットについての技術が要求され
る。
(課題を解決するための手段) 従来の信号処理に関する制限を打破するために、この
発明は、レジスタ及び論理演算ユニットを提供する。こ
のユニットは多重データフォーマットについて同時に動
作することができる分離パイプライン構造を導入する。
このレジスタ及び論理演算ユニットは、データ入力を有
するレジスタファイルと、複数のデータワードを格納す
ることができる複数のデータ出力を具備する。論理演算
ユニットは、レジスタファイルのデータ出力に接続され
た複数の入力を有し、固定点及び浮動点演算処理を夫々
行う2つのパラレル論理演算ユニットによってデータを
処理する。データワードを受信するための複数のデータ
入力、及びレジスタファイルと論理演算手段に接続され
た出力を有するインターフェース・ロジックは、データ
ワードをレジスタファイルに選択的に転送し格納し、又
は論理演算手段に処理を目的としてデータワードを転送
する。
論理演算ユニットの複数のデータ入力の夫々は、2つ
のパラレル論理演算ユニットの1つに各々接続され、入
力データの処理を実行する。データフォーマットは二重
16ビット固定点、32ビット固定点、32ビット浮動点、及
び論理データ処理フォーマットを含む。ポスト(post)
処理レジスタは、リミッタ/シフタ(shifter)レジス
タ、レジスタパイプラインの長さを制御する長さ選択可
能4ワードファストイン・ファストアウトバッファを含
む。
レジスタファイルと固定点論理演算ユニットは、選択
的に結合されたアキュームレータとして機能することが
できる。この機能によって、2つの32ビットデータワー
ドが結合され、2つのレジスタファイルワードより成る
62ビットデータにすることができ、又は16ビットデータ
ワードを32ビットデータワードにすることができる。二
重16ビットフォーマントを用いる処理は、様々の信号処
理アルゴリズムが比較的簡単なコードで機能することが
できる可能オーバーフロー方式(potential overflow s
cheme)を採用する。
(実施例) 第1図は、この発明のパイプラインによるレジスタ論
理演算ユニット20を導入する信号プロセッサ10のブロッ
ク図である。信号プロセッサ10は、レジスタ論理演算ユ
ニット20の周辺状況を説明すると表現できる。
第1図に示される信号プロセッサ10は、4つの主要部
分からなり、即ち:I/Oと表現される入出力部、CPUと表
現される中央処理部、AE0及びAE1と表現される2つの演
算要素である。入出力部は、複数の構成可能な入出力ポ
ートを提供する外部インターフェース部11を含む。外部
インターフェース部11は、データバス12a、12bを介し
て、データを格納するための2つのデータ格納メモリ13
a、13b、及び2つのマルチプレクサ14a、14bに接続さ
れ、及びデータに基づき動作する2つのレジスタ論理演
算部20a、20bに接続される。データ格納メモリ13a、13b
は、メモリ空間を保持するために、所定の一括フォーマ
ットで、一般に知られる方法によってデータを格納す
る。
制御コードを格納するために用いるコントロール格納
メモリ15は、この発明の原則に従って、コントロール格
納バス16を介して演算要素コントローラ17、マルチプレ
クサ14a、14b、及びレジスタ論理演算ユニット20a、20b
に接続される。マイクロ格納メモリ18は演算要素コント
ローラ17に接続され、マイクロコード命令を格納するの
に用いられ、このマイクロコード命令はデータ格納メモ
リ13a、13b、マルチプレクサ14a、14b、及びレジスタ論
理演算ユニット20a、20bによって用いられる。
この発明は上記信号プロセッサ10に於けるこの発明の
導入及び構造に関して開示されるが、この発明はこの応
用に限るものではない。この発明は上記プロセッサ以外
の応用に適する独立したプロセッサとして使用すること
ができる。
プロセッサ10は一般に次のように機能する。プロセッ
サ10によって処理される信号は、外部インターフェース
ユニット11を介して受信され、データ格納メモリ13a、1
3bに格納される。このプロセッサの演算要素AE0、AE1の
処理パラメータ、及びどのステップが演算要素によって
実行されるかを定義するマイクロコード命令は、マイク
ロ格納メモリ18に格納される。ユーザープロクラムは、
マイクロ命令に対するポインタ、コンピュータ処理の間
に演算要素によって使用されるプログラマブルな係数、
及び演算要素からの結果を処理する中間データより構成
され、コントロール格納メモリ15に格納される。演算要
素コントローラ17は、マイクロコード命令が実行され、
データが処理されるようにするアプリケーションプログ
ラムを実行する。演算要素AE0、AE1は、パラレルパイプ
ライン・プロセッサとして動作し、演算要素コントロー
ラの制御の下に一般的な方法により、マイクロコード命
令に従ってデータを処理する。
コントロールパラメータはコントロール格納メモリ15
からマルチプレクサ14a、14b及びレジスタ論理演算ユニ
ット20a、20bに転送され、データ格納メモリ13a、13bか
らのデータは、演算要素コントローラ17の制御の下に一
般的な方法で、演算要素AE0、AE1によって処理される。
この発明のレジスタ論理演算ユニット20aの詳細なデ
ータフロー図は第2a図に示される。同図にはレジスタ論
理演算ユニット20aに対する複数のデータ入力ラインが
示される。この入力ラインはコントロール格納入力ライ
ン430、マルチプライア入力ライン431、データ格納入力
ライン432を有する。コントロール格納及びデータ格納
入力ライン430、432は、制御及びデータ・アンパッキン
グ(unpacking)ロジック434、436を介して、独立して
第1 3入力マルチプレクサ438に接続される。第1マルチ
プレクサ438は、第1レジスタ440を介して第2 3入力マ
クチプレクサ442に接続される。
第2マルチプレクサ442は、32ビット32ワードレジス
タファイル444に接続され、レジスタファイル444は図に
示されるように、2つの2入力マルチプレクサ446、448
に接続される2つの出力A、Bを有する。第1レジスタ
440は又、バイパス458を介して、第1 2入力マルチプレ
クサ446に接続される。2入力マルチプレクサ446、448
は、2つのパラレル論理演算ユニット450a、450bを導入
する論理演算ユニット450に接続される。この論理演算
ユニット450a、450bは各々、固定点及び浮動点演算処理
を行う。
論理演算ユニット450は、第3 2入力マルチプレクサ45
2を介して、リミッタ/シフタユニット454に接続され、
4ワード ファストイン・ファストアウト(FIFO)バッ
ファ456に接続される。第1フィードバックループ453
は、論理演算ユニット450とレジスタファイル444の間に
供給され、このループは第3図に更に詳細に示される。
第2フィードバックループ459は、リミッタ/シフタユ
ニット454とFIFOバッファ456の中間点から第2 3入力マ
ルチプレクサに供給され、論理演算ユニット20aを介し
て信号フローを制御する。ファストイン・ファストアウ
ト・バッファは第1図に示されるように、各バッファパ
ッキング(buffered packing)論理ユニット460、462を
介して、コントロール格納及びデータ格納メモリ15、13
に各々接続され、又マルチプレクサ14a及びデータ格納
インターフェース・ロジック(DSIL)22に接続される。
制御及びタイミングロジック466は、論理演算ユニッ
ト450と演算要素コントローラ17の間のインターフェー
スを供給する。この制御及びタイミングロジック466は
第2a図に識別されるように、ステータスフラグ、コンデ
ィショナル(conditional)フラグ及び他の情報をコン
トローラに供給する。制御及びタイミングロジック466
とその相互接続は、第2a図に於いて明示される接続であ
り、ここで詳細は説明されない。
第2b図は第2a図に示される固定点及び浮動点プロセッ
サ450の詳細図である。第2b図は、プロセッサ450が2つ
の独立したプロセッサ、即ち固定点プロセッサ450aと浮
動点プロセッサ50bを具備することを示す。2つの独立
したプロセッサは、それらの出力が第3 2入力マルチプ
レクサ452に接続された状態が示されている。
第3図に於いては、この発明のレジスタファイル444
及び固定点及び浮動点プロセッサ450が示される。固定
点及び浮動点プロセッサ450は、レジスタファイル444か
ら、出力B′を受信する2つの16ビット固定点インクリ
メンタ(incrementers)470、472を具備する。2つの16
ビット固定点インクリメンタ470、472の出力は結合さ
れ、レジスタファイル444に対するフィードバック・パ
ス(path)を供給する。
第1 2入力マルチプレクサ446の出力は、32ビット浮動
点演算ユニット474の一方の入力と2つの16ビット固定
点論理演算ユニット476、478の第1入力に各々接続され
る。第2 2入力マルチプレクサ448の出力は、32ビット浮
動点演算ユニット474の第2入力、及び2つの16ビット
固定点論理演算ユニット476、478の第2入力に接続され
る。ANDゲート480及び、第3、第4 2入力マルチプレク
サ482、484は図に示されるように、16ビット固定点論理
演算ユニット476、478及び2つの16ビット固定点インク
リメンタ470、472に相互接続する。2つの16ビット固定
点論理演算ユニット476、478の出力は2入力マルチプレ
クサ452の一方の入力に接続され、32ビット浮動点演算
ユニット474の出力は2入力マルチプレクサ452の第2入
力に接続される。
第4図はレジスタファイル444の詳細図である。レジ
スタファイル444は、データ入力B及びB′を受信する
入力マルチプレクサ490、2つの16ワード32ビットレジ
スタ492、494を含む。2つのレジスタ492、494の出力A
及びBは、出力マルチプレクサ496、498に各々接続さ
れ、マルチプレクサ496、498はA及びBデータを各々結
合し、完全なA及びBワードを形成する。一方第1レジ
スタファイル444のB出力は、B′出力を供給する。
この発明の信号プロセッサ10、又はレジスタ論理演算
ユニット20に関する制御ライン又はロジックは、図面に
記載されていない。しかし、以下に示す表1には、それ
らに関するオペコードニーモニックを有する64ビットワ
ードが示され、ビット0〜27に示される最初の28ビット
は、第2図のレジスタ論理演算ユニット20によって用い
られる。表1にRALUとして示されるビットは、レジスタ
論理演算ユニット20と関連する。これらオペコードは以
下の表2及び表3において参照され、表2及び表3はこ
の発明のレジスタ論理演算ユニット20に関する制御ロジ
ックを構成するために用いられマイクロコード命令セッ
トを説明する。
表1、表2、表3、から得られる情報によって、信号
プロセッサに関する分野の当業者が、手作業、又はThe
CAD Group of Soquel、Californiaのような商業的に入
手できるソフトウェアによって、この発明のレジスタ論
理演算ユニット20を実現するタイミング及び制御ロジッ
クを制作することは容易である。この文書で述べられた
データフロー、及びその動作説明に従うこの制御ロジッ
クによって、当業者は十分この発明を構成することがで
きる。
レジスタ論理演算ユニット20aは次のように動作す
る。アプリケーションプログラムはコントロール格納メ
モリ15にロードされ、処理されるデータはデータ格納メ
モリ13aに格納される。マイクロコード命令は、マイク
ロ格納メモリ18に格納され、一方、制御パラメータは、
コントロール格納メモリ15に格納される。アプリケーシ
ョンプログラムの制御の基に、及びマイクロ格納メモリ
18からのマイクロコード命令に従って、制御及びデータ
信号は、処理のために演算要素AE0、AE1の各部分に接続
される。
レジスタ論理演算ユニット20aはコントロール格納及
びデータ格納バス16、12aを介して信号を受信、及びマ
ルチプレクサ14aから信号を受信し、その結果、データ
をレジスタファイル444にロードする。論理演算ユニッ
ト450の固定点及び浮動点論理ユニット450a、450bは分
割パイプラインプロセッサとしてパラレルに動作し、レ
ジスタファイル444に格納されたデータを基に動作す
る。
論理演算ユニット20aは、データフォーマットの明ら
かな4つのタイプを有するデータに基づいて動作する。
これらのフォーマットは、二重16ビット固定点、32ビッ
ト固定点、32ビット浮動点、及び論理データ処理フォー
マットを含む。アプリケーションプログラムの適切なコ
ーディング(coding)によって、4つのデータフォーマ
ットの中の選択されたフォーマットは、演算要素によっ
て一度に処理され、各演算要素は同様な処理を同時に異
なるデータに基づいて実行することができる。更にレジ
スタファイル444をバイパスすることによって、及び論
理演算要素450にデータを直接転送することによって、
2つのオペランドの1つはレジスタファイル444を介し
て、他はバイパス経路453を介してレジスタ論理演算ユ
ニット20に一度に転送されることができる。
第3図は、4つの異なるデータフォーマットを有する
データに基づく動作を提供する構造の詳細を示す。マル
チプレクサ446、448は、二重16ビット固定点又は32ビッ
ト固定点動作に対して、それぞれ32ビット搬送経路、又
は64ビット搬送経路を選択する。ゲート480は、二重16
ビット固定点モードのとき、最も重要なワードを処理す
る第1 16ビット固定点論理演算ユニット498への搬送を
妨害する。
レジスタファイル444及び固定点論理演算ユニット450
aはアキュームレータとして動作するために選択的に関
連づけられる。これによって、32ビットデータワードを
累積する(accumulate)ことにより得られ2つのレジス
タファイルワードによって構成される64ビットデータワ
ードのデータ処理、又は二重16ビットワードを累積する
ことにより得られる32ビットデータワードのデータ処理
が可能となる。
二重16ビットフォーマットは、種々の信号処理アルゴ
リズムが、比較的簡単なコードを用いて機能するこがで
きる可能オーバーフロー方式を採用する。
この方式に於いて、二重16ビットフォーマットのそれ
ぞれ半分の部分は、複素数のリアル及びイマジナリ部分
として処理され、複素数の大きさが、0,5以上の場合、
可能オーバフローは信号によって示される。ベクトル動
作の最後に、即ち、複素数のアレイに基づく動作のと
き、可能オーバーフローフラグは検査され、リミッタ/
シフタのモードを設定するために用いられる。可能オー
バーフローフラグが信号で示された場合、リミッタ/シ
フタのモードは、次のベクトルに基づき、全てのベクト
ル要素を2で割るように(演算右シフト)設定すること
ができ、これによって、あらゆるオーバーフロー状態を
回避することができる。可能オーバーフローフラグがチ
ェックされるごとに、ブロック指数が増加される場合、
可能オーバーフローフラグは、非常に効果的なブロック
浮動点を実現するために用いることができる。
従って、複合データフォーマットに基づき動作する分
離パイプライン構造を提供する新方式の改良されたレジ
スタ論理演算ユニットが説明された。これらフォーマッ
トは、二重16ビット固定点、32ビット固定点、32ビット
浮動点、及び論理データ処理フォーマットを含む。ポス
ト処理レジスタは、パイプラインの長さと処理されたデ
ータワードの待ち行列を提供するロジック、及びリミッ
タ/シフタレジスタ及び長さ選択FIFOバッファを含む。
ここで説明された実施例は、この発明の原則を応用し
た多くの特定される実施例の中の一つに過ぎない。当業
者はこの発明の範囲を越えることなく、他の多くの構成
を容易に実現できるものである。
(発明の効果) この発明によって、16ビット及び32ビットデータに基
づく固定点及び浮動点コンピュータ処理を実行できる、
レジスタ論理演算ユニットを提供することができ、信号
プロセッサの分野での32ビット処理に関する要求に対処
することができる。
【図面の簡単な説明】
第1図はこの発明のレジスタ論理演算ユニットを導入す
る信号プロセッサのブロック図、第2a図はこの発明のレ
ジスタ論理演算ユニットの詳細ブロック図、第2b図は第
2a図のレジスタ論理演算ユニットの固定点及び浮動点プ
ロセッサの詳細図、第3図はこの発明のレジスタファイ
ル及び浮動点プロセッサの詳細図、第4図はこの発明の
レジスタファイルの詳細図である。 20a・20b…レジスタ論理演算ユニット、11…インターフ
ェース、13a・13b…データ格納メモリ、14a・14b…マル
チプレクサ、15…コントロール格納メモリ、17…演算要
素コントローラ、18…マイクロコード格納メモリ、444
…レジスタファイル、450…論理演算ユニット、454…リ
ミッタ/シフタ、466…制御及びタイミングユニット、4
76・478…16ビット固定点論理演算ユニット、474…32ビ
ット浮動点論理演算ユニット
フロントページの続き (56)参考文献 特開 昭58−50042(JP,A) 特開 昭63−158626(JP,A) 特開 昭60−124730(JP,A) 特開 昭55−108050(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のデータ入力と複数のデータ出力を有
    するレジスタファイル(444)を具備し、複数のデータ
    ワードを格納するために適合されたレジスタ論理演算ユ
    ニット(20a)であり、 固定点及び浮動点演算処理動作を各々提供する2つのパ
    ラレル論理演算ユニット(450a、450b)を含み、前記レ
    ジスタファイル(444)のデータ出力に接続された複数
    の入力及びデータ出力を有し、前記2つのパラレル論理
    演算ユニット(450a、450b)によってデータワードを処
    理する論理演算手段(450)、及び 処理されるデータワードを受信するための複数のデータ
    入力(430、431、432)を有し、レジスタファイル(44
    4)のデータ入力及び論理演算手段(450)に接続され、
    格納を目的として選択的にデータワードをレジスタファ
    イル(444)に転送し、又は処理を目的としてデータワ
    ードを論理演算手段(450)に転送するためのインター
    フェース論理手段、 を具備することを特徴とするレジスタ論理演算ユニット
    (20a)。
  2. 【請求項2】論理演算手段(450)に接続された論理演
    算リミッタ/シフタ論理回路(454)を具備し、2つの
    パラレル論理演算ユニット(450a、450b)によって処理
    されたデータワードの制限及び計測を行うポスト処理手
    段、 を具備することを更に特徴とする請求項1記載のレジス
    タ論理演算ユニット(20a)。
  3. 【請求項3】前記ポスト処理手段は、 リミッタ/シフタ論理回路(454)に直列に接続され、
    レジスタ論理演算ユニット(20a)のパイプラインの長
    さを制御し、処理されたデータワードの待ち行列を提供
    するファストイン・ファストアウトバッファ(456)を
    有することを更に特徴とする請求項2記載のレジスタ論
    理演算ユニット(20a)。
  4. 【請求項4】前記レジスタ論理演算ユニットは、 演算論理手段(450)のデータ出力に接続され、出力を
    レジスタファイル手段(444)に接続したリミッタ/シ
    フタ論理回路(454)、及び 入力をリミッタ/シフタ論理回路(454)の出力に接続
    し、レジスタ論理演算ユニット(20a)の出力を構成す
    る出力を有するファストイン・ファストアウトバッファ
    (456)を具備し、 前記リミッタ/シフタ論理回路(454)及びファストイ
    ン・ファストアウトバッファ(456)は、論理演算手段
    (450)によって処理されたデータワードの制限及び計
    測を行い、処理されたデータワードの待ち行列を提供す
    ることを特徴とする請求項1記載のレジスタ論理演算ユ
    ニット(20a)。
  5. 【請求項5】前記論理演算手段(20a)の各データ入力
    は、2つの論理演算ユニット(450a、450b)に各々接続
    され、複数の所定データ処理フォーマットのデータを処
    理することができることを特徴とする請求項1記載のレ
    ジスタ論理演算ユニット(20a)。
  6. 【請求項6】前記レジスタファイル(444)及び固定点
    論理演算ユニット(450a)はアキュームレータとして構
    成されることを特徴とする請求項1記載のレジスタ論理
    演算ユニット(20a)。
  7. 【請求項7】前記2つの論理演算ユニット(450a、450
    b)は、二重16ビット固定点、32ビット固定点、32ビッ
    ト浮動点、及び論理処理フォーマットのためのデータ処
    理を提供することを特徴とする請求項2記載のレジスタ
    論理演算ユニット(20a)。
  8. 【請求項8】前記レジスタファイル(444)及び固定点
    論理演算ユニット(450a)はアキュームレータとして構
    成され、32ビットデータワードを2つのレジスタファイ
    ルワードを具備する64ビットデータワードに累積するデ
    ータワード処理、又は二重16ビットワードを2つの32ビ
    ットデータワードに累積するデータワード処理を提供す
    ることを特徴とする請求項2記載のレジスタ論理演算ユ
    ニット(20a)。
JP2013789A 1989-01-27 1990-01-25 レジスタ論理演算ユニット Expired - Lifetime JP2701955B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30378889A 1989-01-27 1989-01-27
US303,788 1989-01-27

Publications (2)

Publication Number Publication Date
JPH02239323A JPH02239323A (ja) 1990-09-21
JP2701955B2 true JP2701955B2 (ja) 1998-01-21

Family

ID=23173699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013789A Expired - Lifetime JP2701955B2 (ja) 1989-01-27 1990-01-25 レジスタ論理演算ユニット

Country Status (6)

Country Link
EP (1) EP0380099B1 (ja)
JP (1) JP2701955B2 (ja)
AU (2) AU4884190A (ja)
CA (1) CA2007059C (ja)
DE (1) DE69030337T2 (ja)
ES (1) ES2099074T3 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268854A (en) * 1990-11-13 1993-12-07 Kabushiki Kaisha Toshiba Microprocessor with a function for three-dimensional graphic processing
EP0606674B1 (en) * 1992-12-04 1999-07-28 Koninklijke Philips Electronics N.V. Processor for uniform operations on respective series of successive data in respective parallel data streams
US6493817B1 (en) * 1999-05-21 2002-12-10 Hewlett-Packard Company Floating-point unit which utilizes standard MAC units for performing SIMD operations
FR2820523B1 (fr) * 2001-02-08 2003-05-16 St Microelectronics Sa Microprocesseur comportant une instruction d'inversion des bits d'un mot binaire
EP2866138B1 (en) * 2013-10-23 2019-08-07 Teknologian tutkimuskeskus VTT Oy Floating-point supportive pipeline for emulated shared memory architectures
US10514911B2 (en) 2014-11-26 2019-12-24 International Business Machines Corporation Structure for microprocessor including arithmetic logic units and an efficiency logic unit

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108050A (en) * 1979-02-13 1980-08-19 Toshiba Corp Floating decimal point operation circuit
AU556521B2 (en) * 1981-06-11 1986-11-06 Data General Corporation Arithmetic unit
US4476537A (en) * 1981-06-11 1984-10-09 Data General Corporation Fixed point and floating point computation units using commonly shared control fields
US4476523A (en) * 1981-06-11 1984-10-09 Data General Corporation Fixed point and floating point computation units using commonly shared control fields
JPH0721760B2 (ja) * 1983-12-10 1995-03-08 ソニー株式会社 ディジタル演算回路
US4766564A (en) * 1984-08-13 1988-08-23 International Business Machines Corporation Dual putaway/bypass busses for multiple arithmetic units
JPH0736150B2 (ja) * 1985-01-31 1995-04-19 株式会社日立製作所 バレルシフト回路
JPS61182134A (ja) * 1985-02-06 1986-08-14 Nec Corp 加算装置
US4641247A (en) * 1985-08-30 1987-02-03 Advanced Micro Devices, Inc. Bit-sliced, dual-bus design of integrated circuits
JP2503984B2 (ja) * 1986-07-15 1996-06-05 日本電気株式会社 情報処理装置
US4800516A (en) * 1986-10-31 1989-01-24 Amdahl Corporation High speed floating-point unit
JPS63158626A (ja) * 1986-12-23 1988-07-01 Nec Corp 演算処理装置
JPS63201830A (ja) * 1987-02-18 1988-08-19 Hitachi Ltd 情報処理装置
JPS63310019A (ja) * 1987-06-11 1988-12-19 Matsushita Electric Ind Co Ltd デ−タ処理装置
JP2517999B2 (ja) * 1988-02-08 1996-07-24 日本電気株式会社 論理演算装置

Also Published As

Publication number Publication date
DE69030337D1 (de) 1997-05-07
EP0380099B1 (en) 1997-04-02
DE69030337T2 (de) 1997-11-06
CA2007059C (en) 1994-05-24
EP0380099A2 (en) 1990-08-01
AU646956B2 (en) 1994-03-10
EP0380099A3 (en) 1992-06-24
ES2099074T3 (es) 1997-05-16
CA2007059A1 (en) 1990-07-27
JPH02239323A (ja) 1990-09-21
AU4884190A (en) 1990-08-16
AU1806092A (en) 1992-07-30

Similar Documents

Publication Publication Date Title
JP2550197B2 (ja) 信号処理装置
US8880855B2 (en) Dual register data path architecture with registers in a data file divided into groups and sub-groups
JP3983857B2 (ja) ベクトルレジスタの複数バンクを用いた単一命令複数データ処理
EP0726532B1 (en) Array processor communication architecture with broadcast instructions
JP2835103B2 (ja) 命令指定方法及び命令実行方式
JP2001516916A (ja) デジタル信号処理能力を有するデータ処理装置
JPH03138759A (ja) 信号プロセツサ
EP0042967A2 (en) Mutiple data flow component system
US4953119A (en) Multiplier circuit with selectively interconnected pipelined multipliers for selectively multiplication of fixed and floating point numbers
JPS635775B2 (ja)
CN111353126A (zh) 分块矩阵乘法运算***
JPH10134036A (ja) マルチメディア信号プロセッサの単一命令多重データ処理
JPH0850575A (ja) プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良
JPH07271764A (ja) 計算機プロセッサ及びシステム
US6324638B1 (en) Processor having vector processing capability and method for executing a vector instruction in a processor
EP0588341B1 (en) Data processor
JP2701955B2 (ja) レジスタ論理演算ユニット
US7111155B1 (en) Digital signal processor computation core with input operand selection from operand bus for dual operations
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
EP1634163B1 (en) Result partitioning within simd data processing systems
EP2267596A2 (en) Processor core for processing instructions of different formats
EP0381059A2 (en) Arithmetic element controller
US6922771B2 (en) Vector floating point unit
JPH10143494A (ja) スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理