JPH0230538B2 - - Google Patents

Info

Publication number
JPH0230538B2
JPH0230538B2 JP57501391A JP50139182A JPH0230538B2 JP H0230538 B2 JPH0230538 B2 JP H0230538B2 JP 57501391 A JP57501391 A JP 57501391A JP 50139182 A JP50139182 A JP 50139182A JP H0230538 B2 JPH0230538 B2 JP H0230538B2
Authority
JP
Japan
Prior art keywords
multiplexer
register
input
data
registers
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
JP57501391A
Other languages
English (en)
Other versions
JPS58500424A (ja
Inventor
Baanaado Jeimuzu Nyu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPS58500424A publication Critical patent/JPS58500424A/ja
Publication of JPH0230538B2 publication Critical patent/JPH0230538B2/ja
Granted 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
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7896Modular architectures, e.g. assembled from a number of identical packages
    • 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
    • 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/3896Bit slicing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Description

請求の範囲 1 デイジタルメモリ手段および乗算器手段に関
連して命令信号に応答してデイジタルデータを処
理するための集積回路装置であつて、 前記デイジタルデータを記憶するための複数個
のストレージレジスタ、 前記命令信号に応答して、前記データに対し予
め選択可能な算術および論理演算を施すための算
術論理装置、 前記命令信号に応答して、前記メモリ手段と前
記ストレージレジスタの予め選択可能なものとの
間でデータを移動させるため、前記デイジタルメ
モリ手段と前記ストレージレジスタの前記予め選
択可能なものとを選択的に結合させるための第1
の手段、 前記命令信号に応答して、前記ストレージレジ
スタの予め選択可能なものと前記算術論理装置と
から前記乗算器手段へデータを移動させるため、
前記ストレージレジスタの前記予め選択可能なも
のと前記算術論理装置とを前記乗算器手段へ選択
的に結合させるための第2の手段、 前記命令信号に応答して、前記乗算器手段から
前記ストレージレジスタの予め選択可能なものお
よび前記算術論理装置へデータを移動させるた
め、前記ストレージレジスタの前記予め選択され
たものと前記算術論理装置とへ前記乗算器手段を
選択的に結合させるための第3の手段、および 前記命令信号に応答して、前記ストレージレジ
スタの予め選択可能なものを選択的に結合させて
前記予め選択されたストレージレジスタを通して
データを移動させるための第4の手段を備え、 前記第1、第2、第3および第4の選択的結合
手段および算術論理装置は、前記命令信号に応答
して同時に動作可能である、集積回路装置。
2 前記ストレージレジスタの各々は、前記命令
信号に応答して消去されないようにそこに現在あ
るデータを選択的に保持することが可能である、
請求の範囲第1項記載の集積回路装置。
3 前記算術論理装置は、前記命令信号に応答し
て、上位ビツトのオーバフローを示すキヤリイ信
号を選択的に発生または禁止する、請求の範囲第
2項記載の集積回路装置。
4 前記算術論理装置はさらに、外部命令に応答
して、ゼロ値データ出力を発生するように作動的
である、請求の範囲第3項記載の集積回路装置。
5 データを格納するためのデイジタルメモリ手
段と外部乗算器手段とに関連して用いるための、
命令信号に応答してデイジタルデータを処理する
ための集積回路装置であつて、 前記データを格納するための複数個のストレー
ジレジスタ、前記ストレージレジスタの各々は、
各々に関連して、前記ストレージレジスタの少な
くとも1個の他のレジスタおよび少なくとも1個
の他のデータソースからそこへアクセスするのを
制御するためのレジスタマルチプレクサを有し、
前記複数個のストレージレジスタは前記関連のレ
ジスタマルチプレクサを介して互いに相互接続さ
れ、それにより前記ストレージレジスタは前記命
令信号に応答して1個のレジスタスタツク、複数
個の並列に互いに独立なレジスタスタツク、また
はレジスタの1個のループの形態で互いに結合さ
れ、 第1のオペランド入力端子と第2のオペランド
入力端子へ与えられたデータに予め選択可能な算
術および論理演算を行なうように作動的である算
術論理装置、前記算術論理装置には、前記第1の
オペランド入力端子へのアクセスを制御するため
の第1のオペランドマルチプレクサと前記第2の
オペランド入力端子へのアクセスを制御するため
の第2のオペランドマルチプレクサとが接続され
ており、前記第1のオペランドマルチプレクサお
よび前記第2のオペランドマルチプレクサは前記
ストレージレジスタの各々の出力に接続され、か
つ前記オペランドマルチプレクサの少なくとも1
つは前記乗算器手段から入力を受けるように接続
されており、 前記ストレージレジスタの各々、前記算術論理
装置、前記メモリ手段から前記乗算器手段への出
力データを予め選択可能なようにマルチプレクス
するための第1の出力マルチプレクサ手段、およ
び 前記ストレージレジスタの少なくとも2個から
の前記メモリ手段への出力データを予め選択可能
なようにしてマルチプレクスするための第2の出
力マルチプレクサとを備え、 関連のレジスタマルチプレクサを備える前記ス
トレージレジスタ、関連のオペランドマルチプレ
クサを備える前記算術論理装置、前記第1の出力
マルチプレクス手段および前記第2の出力マルチ
プレクス手段は前記命令信号に応答して高速並列
演算を行なうためにすべてが同時に動作可能であ
る、集積回路装置。
6 前記ストレージレジスタの各々は、前記命令
信号に応答して、消去されないように現在そこに
存在するデータを選択的に保持することができ
る、請求の範囲第5項記載の集積回路装置。
7 前記命令信号に応答して、前記関連のレジス
タマルチプレクサの第1のものは前記デイジタル
メモリ手段を前記デイジタルメモリ手段からデー
タを受けるための前記ストレージレジスタの第1
のものへ結合し、前記関連のレジスタマルチプレ
クサの第2のものは前記乗算器手段からデータを
受けるための前記ストレージレジスタの第2のも
のへ前記乗算器手段を結合し、前記関連のレジス
タマルチプレクサの第3のものは、前記第1のス
トレージレジスタからデータを受けるための前記
ストレージレジスタの第3のものへ前記ストレー
ジレジスタの前記第1のものを結合し、前記関連
のレジスタマルチプレクサの第4のものは、前記
ストレージレジスタの前記第2のものを前記第2
のストレージレジスタからデータを受けるための
前記ストレージレジスタの第4のものへ結合し、
前記第1のレジスタマルチプレクサは前記第4の
ストレージレジスタを、前記第4のストレージレ
ジスタからデータを受けるための前記第1のスト
レージレジスタへ結合し、前記第2のストレージ
レジスタマルチプレクサは前記第3のストレージ
レジスタからデータを受けるため、前記第3のス
トレージレジスタを前記第2のストレージレジス
タへ結合し、これにより、前記集積回路装置は2
つの外部入力ソースからのデータを循環させるた
めのデータループを構成する、請求の範囲第5項
記載の集積回路装置。
8 前記算術論理装置は、前記命令信号に応答し
て、前記算術論理装置の上位ビツトのオーバフロ
ーを示すキヤリイ信号を選択的に発生または禁止
する、請求の範囲第6項記載の集積回路装置。
9 前記算術論理装置はさらに、前記算術論理装
置における算術および論理演算の結果に依存し
て、PROPAGATE、GENERATE、ZERO、お
よびOVERFLOWを表わす信号を発生するよう
に作動的な手段を含む、請求の範囲第6項記載の
装置。
10 デイジタルメモリ手段と関連して、命令信
号に応答してデイジタルデータを格納しかつ伝搬
させるための集積回路装置であつて、 複数個のストレージレジスタ、各前記ストレー
ジレジスタはレジスタマルチプレクサ、少なくと
も2個の入力端子および1個の出力端子を有し、
前記マルチプレクサは前記入力端子の1個を、前
記命令信号に応答して前記ストレージレジスタへ
選択的に結合することが可能であり、各前記スト
レージレジスタの少なくとも1個の入力端子は別
のストレージレジスタの出力端子へ接続され、そ
れにより命令信号に応答して前記複数のストレー
ジレジスタは、 (a) 1個のレジスタ系列、データは前記レジスタ
系列を通して伝搬し、前記ストレージレジスタ
の第1のものの入力端子を介してデータは導入
され、かつ前記ストレージレジスタの最後のも
のの出力端子からデータが取出され、および (b) ストレージレジスタのループ、前記ループに
おいて前記ストレージレジスタの最後のものか
らのデータが前記ストレージレジスタの最初の
ものへと伝搬し、 のような態様で選択的に結合される、集積回路装
置。
11 前記ストレージレジスタは各々が、前記命
令信号に応答して、消去されないように前記スト
レージレジスタ内に現在存在するデータを選択的
に保持することが可能である、請求の範囲第10
項記載の集積回路装置。
発明の背景 1 発明の分野 この発明はデイジタル信号処理に関するもので
あり、特に、高速フーリエ変換(FFT)として
よく知られている変換を含む種々の形式の波形信
号処理タスクを行なうのに必要とされる特定の演
算論理機能を行なうことができる装置に関するも
のである。
高速フーリエ変換は通常フーリエ変換に必要と
されるものよりもかなり少ない乗算演算で信号の
フーリエ変換を行なうことができる種類のプロセ
スである。たとえば、N個の点についてのデイス
クリートなフーリエ変換の直接的な計算では、
N2の複素乗算および加算が必要である。高速フ
ーリエ変換ではN/2log2N個の計算のみでよい。
N=1024個の点に対しては、これは99パーセント
の計算の節約を示している。
高速フーリエ変換は、短いループにおける複素
(実および虚)数の多数の繰返しシーケンシヤル
演算で特徴付けられる。変換領域における情報の
操作が特に都合の良いようなリアルタイム応用に
おける周波数の広いスペクトルに適合させるため
には可能な限り速くそのような計算を行なうのが
望ましい。
2 先行技術の説明 過去において、汎用コンピユータおよびビツト
スライスマシンは波形信号処理応用に適合されて
いた。しかしながら、汎用のコンピユータは一般
に高価であり、かつ信号処理応用、特にリアルタ
イム速度に近付く信号処理応用に用いられるとき
は非常に不必要な、または制限された機能を有す
る。各サンプル期間の間に行なわれなければなら
ない乗算、データ転送などの数は極めて大きく、
処理時間は一般的に中央処理装置のクリテイカル
パスによつて制限されている。たとえば、典型的
なビツトスライス形中央処理装置は、カリフオル
ニア州 サニーベイルのアドバンスト マイクロ
デバイシーズ、インコーポレーテツドによつて
製造されるAM2903演算プロセサである。中央エ
レメント、すなわちAM2903は特殊な乗算機能を
有する演算論理装置および16ワードスクラツチパ
ツドメモリを含む。しかしながら、AM2903は、
多サイクル動作でマイクロプログラムされた乗算
の効率的な実現を可能にするためのみのクリテイ
カルパスを有する。それゆえに、並列ハードウエ
ア乗算ができる装置よりも必ず遅くなる。さら
に、AM2903のアーキテクチヤーはただ1個の演
算論理装置および1個のデータバスのみを有す
る。このように、もしも複素数を操作する必要が
ある場合はクリテイカルパスタイムの制約条件が
存在する、なぜならばそのような動作ごとに2サ
イクルが必要だからである。さらに、AM2903は
同時的なメモリアクセスおよび演算動作を簡単に
行なうことができず、したがつてもう1つのクリ
テイカルパスを確立する。
必要とされることは高度な並列処理が可能な装
置である。事実、本当に高処理スループツトが達
成されることは並列で多くの動作を行なうことに
よるのみである。AM2903を含む現存する装置の
入出力構造は、計算エレメント、記憶エレメント
および外部装置間の必要な相互接続または相互接
続の融通性を与えて簡単にクリテイカルパスを最
小にはしない。
発明の概要 この発明によれば、デイジタルデータの短いル
ープが繰返しかつ並列に処理されるデイジタル信
号処理応用のためのプログラマブル装置が提供さ
れる。この装置は典型的には1個のシリコンチツ
プ上の構造であり、それはストレージレジスタお
よび適当なマルチプレクサを備えた演算論理装置
を含み、レジスタと、演算論理装置と、乗算器お
よび外部メモリのような外部装置との直接的な相
互接続における高度な融通性を可能にする。この
装置は、乗算器装置、メモリ装置、およびプログ
ラム命令ソースに関して同時に機能が作動し得る
5個の独立したプログラマブルサブシステムから
なる。5個の機能は、(1)予め選択されたレジスタ
間の外部メモリ装置におよび外部メモリ装置から
データを移動させること、(2)予め選択されたレジ
スタおよび演算論理ユニツト(ALU)間の外部
乗算器におけるおよび外部乗算器からデータを移
動させること、(3)外部乗算器の出力から予め選択
されたレジスタおよびALUへデータを移動させ
ること、(4)一続きのレジスタを介して選択的にデ
ータを伝播させること、この一続きはあらかじめ
選択可能な長さのものであり、かつ(5)選択された
演算論理動作を行なうことである。
命令セツトは、5個の同時に許容可能な動作の
任意のものを完全に特定することができるこの発
明による装置のために規定される。この装置はキ
ヤリイを明示的に強制しまたはキヤリイを禁止す
ることができる制御ビツトを用いることによつて
演算論理装置でデータワード長のモジユラー拡大
を可能にするような態様で構成され、それによつ
てプログラム制御に従つて演算論理装置の独立的
な並列動作または拡大されたワード長動作を可能
にする。
この発明は添付図面とともに行なわれる以下の
詳細な説明を参照して最もよく理解されよう。
【図面の簡単な説明】
第1図は信号処理システムが結合されるデイジ
タルコンピユータシステムのブロツク図である。
第2図はこの発明によるモジユラー装置が用い
られる演算処理装置および乗算器のブロツク図で
ある。
第3図はこの発明による装置の概略図である。
第4図はこの発明による装置の制御ワードを図
解するチヤートである。
第5図はこの発明による装置の6個の独立した
レジスタのための命令を規定する1組の6個のテ
ーブルである。
第6図はこの発明による装置のための演算論理
ユニツトオペランド選択命令を規定する1組の2
個のテーブルである。
第7図はこの発明による装置のための演算論理
ユニツト動作命令を規定するテーブルである。
第8図はこの発明による装置のための
MULTIPLIER OUTPUT(MO)のため命令を
規定するテーブルである。
第9図はこの発明による装置のためのデータ入
出力(DIO)命令を規定するテーブルである。
第10図は第2図に示された構造の形式で、こ
の発明による装置のための高速フーリエ変換バタ
フライ動作の一形式の1個の計算サイクルを図解
するテーブルである。
特定の実施例の詳細な説明 この発明はデイジタル形式でアナログ波形を表
わすデイジタル信号を処理する高速フーリエ変換
発生器のためのビツトスライス演算論理装置およ
びレジスタスタツクとして使用するために意図し
ているものである。1つの代表的な状況はコンピ
ユータシステム10(第1図)である。コンピユ
ータシステム10において、典型的にはメインシ
ステムバス12があり、このバス12は種々のシ
ステムエレメント、たとえば、適当な接続15に
よつて結合される関連の入力装置(図示せず)を
備えた入力制御装置14、関連の接続17によつ
て結合される関連の出力装置(図示せず)を備え
た出力制御装置、中央処理装置を併合する中央シ
ステム制御装置18、および制御インターフエイ
スを備えたメインメモリ20を相互接続する。
この発明によれば、メインシステムバス12へ
結合される、信号処理装置22のような少なくと
も1個の特殊機能装置がある。信号処理装置22
は、たとえば、システムバス12へ与えられる特
定の命令ワード信号に応答して高速フーリエ変換
を行なう。
インターフエイス24は信号処理装置22をメ
インシステムバス12に接続し、かつ信号処理装
置22のための必要なすべてのデータ、アドレス
および制御情報転送機能を与える。信号処理装置
22はそれ自体小さな特殊目的の計算機であり、
特殊目的の計算の結果を表わすデイジタル信号を
迅速に発生させることができる。
信号処理装置22は、典型的には、マイクロプ
ログラムシーケンサ26、リードオンリメモリ
(ROM)28、ランダムアクセスメモリ
(RAM)34、アドレス制御装置またはアドレ
スシーケンサ36、および特殊目的の複素数プロ
セサ33とを含み、以下に説明するように、それ
は専用の高速並列乗算機能装置を備えた演算処理
装置を含む。
マイクロプログラムシーケンサ26はインター
フエイス24、アドレス制御装置36、PROM
28および数処理装置33へ結合される。マイク
ロプログラムシーケンサ26はマイクロコード命
令、初期パラメータおよびクロツクをアドレス制
御装置36および信号処理装置22の他の装置へ
与える。ROM28は信号処理装置22に用いら
れる定数の少なくとも一部を表わすデータを含
む。RAM34は入出力データの記憶および数処
理装置33による計算の間に発生されるデータを
いわゆるスクラツチパツド記憶するためのもので
ある。
RAM34はアドレス制御装置36へ結合され
るのみならず、インターフエイス24へおよびイ
ンターフエイス24からならびに数処理装置33
へおよび33から結合される。
第2図を参照して、この発明による複数個の装
置、(以下ではビツトスライス処理装置40)が
用いられる数処理装置33のブロツク図が示され
る。第2図のアーキテクチヤーはこの発明による
ビツトスライス処理装置40の使用の一例にすぎ
ない。数処理装置33(第2図)は実数処理部分
42と虚数処理部分44とを含み、実数処理装置
42のデータ入出力端子は実数データ46のため
の相互接続へ結合され、虚数処理装置44のデー
タ入出力端子は虚数データ48のためのバスへ結
合される。数処理装置33はさらに、たとえば、
16ビツトの高速乗算器32を含み、この乗算器3
2はプログラマブルリードオンリメモリ
(PROM)50へ結合される一方のオペランド入
力と、実数処理装置42および虚数処理装置44
の両方の乗算器入出力端子へ結合される他のオペ
ランド入力とを有する。たとえば、乗算器32は
カリフオルニア州 ロサンゼルスのTRW,Inc.
によつて製造されるタイプMPY−16HJ16×16ビ
ツト並列乗算器であつてもよい。他の高速並列ア
レイ乗算器もまた用いられてもよい。乗算器32
の積はバス52を介して実数処理装置42および
虚数処理装置44の除算器入力へ与えられる。特
に、最上位積の16ビツト出力に対しては、1個の
8ビツト部分が虚数処理装置の一方のビツトスラ
イス処理装置40の一方の8ビツト入力へ結合さ
れ、かつ実数処理装置のビツトスライス処理装置
40の対応する8ビツト入力へ結合され、他方他
の8ビツト出力(最上位8ビツト)は虚数処理装
置44の上位ビツトスライス処理装置40の一方
の8ビツト入力へ結合されかつまた実数処理装置
42の上位ビツトスライス処理装置40の同じビ
ツト入力へ結合される。ビツトスライス処理装置
40は処理装置を形成する各ビツトスライス処理
装置40間のキヤリイフラグライン54(他のフ
ラグを含む)によつて並列に互いに付加される。
各ビツトスライス処理装置は制御バス41A,4
1B,41Cおよび41Dを介して外部マイクロ
コードの独立したまたは相互独立的な制御に基づ
く。このように、ビツトスライス処理装置40が
数処理装置33の基本的なビルデイングブロツク
であることがわかる。第2図のアーキテクチヤー
は複素数システムとともに用いられ得る並列処理
装置の一例である。他のアーキテクチヤーはビツ
トスライス処理装置40のモジユラー構造および
能力によつて示唆される。
第3図を参照して、各ビツトスライス処理装置
40は、高度の平行処理および融通性を与える特
定の意図を有する内部アーキテクチヤーを有する
集積回路形式でレジスタ/演算論理装置モジユー
ルからなる。ビツトスライス処理装置40は6個
のレジスタ60,62,64,66,68および
70を含み、その各々は関連の3チヤネルレジス
タマルチプレクサ72,74,76,78,80
および82を有する。レジスタ60,66の2つ
は入力レジスタとして働く。レジスタ60,6
2,64,66,68,70は任意のレジスタに
入れられまたは出されるループを形成するスタツ
クに構成される。入力レジスタ60,66は互い
に等距離を隔てて配置され、それによつてレジス
タスタツクは2個の独立した並列スタツクとし
て、レジスタの1ループとして、または1入力お
よび1出力を備えたレジスタの1個のスタツクと
してプログラムされることができる。
さらに、それぞれ、S入力およびR入力として
呼ばれる2個のオペランド入力端子86および8
8が演算論理装置84に設けられる。S入力マル
チプレクサ90、R入力マルチプレクサ92、デ
ータ出力マルチプレクサ94、乗算器出力マルチ
プレクサ96および出力ドライバ98および10
0は相互接続を構成する。さらに、8ビツトスラ
イスとして構成されるビツトスライス処理装置4
0は、次の外部接続を含む。すなわち、その外部
接続は、8ビツト幅データI/O端子(DIO)1
02、8ビツト幅乗算器I/O端子(MIO)1
04、8ビツト幅乗算器入力端子(MI)106、
これは16ビツトラインの最上位積としてMIO1
04と並列に使用することを意図したものであ
り、符号拡張入力(SEIN)108、キヤリイ入力
(CIN)110、符号拡張出力(SEOUT)112、
および並列ビツトスライス装置の制御のために用
いられる5ビツトの選択されたフラグ、すなわち
CARRY,PROPAGATE,GENERATE,
ZEROおよびOVERFLOWである。
データ出力マルチプレクサ94は4個の入力を
有し、マルチプレクサ出力96は8個の入力を有
し、Sマルチプレクサ90は8個の入力を有し、
かつRマルチプレクサ92は8個の入力を有す
る。
レジスタのためのクロツクラインのみならず、
マルチプレクサの命令のためのかつALU84へ
の制御ラインみまた示されていない。装置は29ビ
ツト命令ワードによつて規定される外部命令制御
を受け、前記29ビツト命令ワードによつて、すべ
てのレジスタおよびALUは各クロツクサイクル
で外部手段によつて明らかに制御されることがで
きる。この発明による論理回路の種々の特定の実
現は、一旦制御状態および相互接続がここに開示
したように規定されると、論理回路の設計に携わ
る者にとつては明らかであろう。
ビツトスライスプロセサ40の内部相互接続は
外部アクセス端子のみならず、レジスタとALU
84との間の相互接続の最大融通性を与えるよう
に意図されている。特に、第3図を参照して、エ
レメント間のすべての相互接続は8ビツト幅のバ
スの接続である。DIO端子102はデータ入力
(DI)バス120を有し、このバス120はMO
マルチプレクサ96のDI入力へ結合されかつま
た第1のレジスタ60(以下、A1レジスタ)の
ための第1のマルチプレクサ72の一方入力と第
4のレジスタ66(以下B1レジスタ)の第4番
目のマルチプレクサ78の一方入力へ結合され
る。MIO端子104は乗算器入力(LSP)バス
122を有し、このバス122はSマルチプレク
サ90の最下位積(LSP)端子へ結合され、A2
レジスタ62のA2マルチプレクサ74の一方入
力およびB2レジスタ68のB2マルチプレクサ8
0の一方入力へ結合される。
MI端子106のバスMSP124はSマルチプ
レクサ90の最上位積(MSP)端子へ、A3レジ
スタ64のA3マルチプレクサ76の一方入力へ、
B3レジスタ70のB3マルチプレクサ82の一方
入力へ、A1レジスタ60のA1マルチプレクサ7
2の一方入力へ、かつB1レジスタ66のB1マル
チプレクサ78の一方入力へ結合される。
ALUバス126として示されるALU84の出
力バスは、MOマルチプレクサ96のALU入力
へ、A3レジスタ64のA3マルチプレクサ76の
一方入力へ、B3レジスタ70のB3マルチプレク
サ82の一方入力へ、A2レジスタ62のA2マル
チプレクサ74の一方入力へ、かつB2レジスタ
68のB2マルチプレクサ80の一方入力へ結合
される。
A1バスとして示すA1レジスタ60の出力は、
A2レジスタ62のA2マルチプレクサ74の一方
入力へ、MOマルチプレクサ96のA1入力へか
つSマルチプレクサ90およびRマルチプレクサ
92の両方のA1入力へ結合される。A2バスとし
て示すA2レジスタ62の出力は、A3レジスタ6
4のA3マルチプレクサ76の一方入力へ、かつ
DOマルチプレクサ94のA2入力へ、MOマルチ
プレクサ96へ、Sマルチプレクサ90へかつR
マルチプレクサ92へ結合される。A3バスとし
て示すA3レジスタ64の出力は、B1レジスタ6
6のB1マルチプレクサ78の一方入力へ、かつ
DOマルチプレクサ94、MOマルチプレクサ9
6、Sマルチプレクサ90およびRマルチプレク
サ92のA3入力へ結合される。
B1レジスタ66の出力はB2レジスタ68のB2
マルチプレクサ80の一方入力へ結合され、かつ
MOマルチプレクサ96、Sマルチプレクサ90
およびRマルチプレクサ92のB1入力へ結合さ
れる。B2バスで示されるB2レジスタ68の出力
はB3レジスタ70のB3マルチプレクサ82の一
方入力と、DOマルチプレクサ94MOマルチプ
レクサ96、Sマルチプレクサ90およびRマル
チプレクサ92のB2入力とへ結合される。B3レ
ジスタ70の出力はA1レジスタ60のA1マルチ
プレクサ72の一方入力へ結合され、かつDOマ
ルチプレクサ94、MOマルチプレクサ96、S
マルチプレクサ90およびRマルチプレクサ92
のB3入力へ結合される。
SEIN入力端子108はFORCE ZERO入力ライ
ン130であるように、Rマルチプレクサ90の
入力へ結合される。Sマルチプレクサの出力は
ALU84のS入力86へ与えられるのみならず、
SEOUT端子112へMSB Sオペランド出力とし
て与えられる。DOマルチプレクサ94の出力は
ドライバ98を介してDIO出力端子102へ結合
される。MOマルチプレクサ96の出力はドライ
バ100を介してMIO出力端子104へ結合さ
れる。簡単にわかるように、マルチプレクサおよ
びビツトスライス処理装置40のバスは1個の装
置において、典型的にはシリコンのチツプの上
に、任意のレジスタとALU84との間の直接的
な相互接続と、事実上の任意の点に入れられかつ
出されることができる6個のレジスタの連続的な
循環レジスタスタツクと、独立的に待ち合わせる
べき3個のレジスタの2対を許容する構造を許容
する。各レジスタは3個のソースのうちの1個か
らのデータをロードするように独立して制御され
てもよい。2つのレジスタ、すなわちA1レジス
タ60およびB1レジスタ66は特に入力レジス
タとして使用するために意図されるものであり、
他方他の4個のレジスタはアキユムレータレジス
タとして意図される。
ALU84には以下のような8個の規定可能な
演算および論理機能、R+S,R−S,S−R,
Pass R,ROR S,R AND S,R XOR
S,および(Rの反転)が与えられる。
2個のポートが与えられて外部乗算器と通信す
る。MIO端子104はオペランドをロードしか
つ最下位積(LSP)を回復させるために乗算器の
Yボートとともに用いられるように設計される。
MI端子106は外部乗算器の最上位積(MSP)
を回復させるように意図される。第3のポート、
DIO端子102は外部メモリとの通信のために意
図されるものである。
ビツトスライス処理装置40には、5個の領域
において同時にかつ独立的に命令を実行するため
の機能が設けられる。これらの領域は次のとおり
である。
1 レジスタマルチプレクサ命令信号によつて確
立される外部メモリおよび特定化された内部レ
ジスタとの間のデータ交換、 2 オペランドマルチプレクサ命令信号によつて
規定される内部レジスタまたは外部乗算器のい
ずれかからの乗算器オペランドのロード、 3 外部乗算器から乗算器積を検索、 4 演算または論理動作を行なうこと、および 5 レジスタのスタツク内でデータを移動させる
こと。
第4図を参照して、29ビツトの2進命令ワード
の構造が示されており、それは、29個の外部端子
に与えられるとき、以下に説明するような命令を
実行する。この命令はマルチプレクサをプリセツ
トしかつマイクロコードサイクルごとにALU動
作を規定する13個の独立したデイスジヨイントマ
イクロコードフイールドからなる。特に、ビツト
Oからなるフイールド1はDATA OUT
ENABLEフイールドとして規定される。ビツト
1によつて規定されるフイールド2は
MULTIPLIER OUT ENABLEフイールドであ
る。ビツト2および3によつて規定されるフイー
ルド3はDATA OUT SELECTフイールドであ
る。ビツト4,5および6によつて規定されるフ
イールド4はMULTIPLIER OUT SELECTフ
イールドである。ビツト7および8で規定される
フイールド5はレジスタA1にデータを記憶する
ためのSTOREA1フイールドである。同様に、ビ
ツト9および10,11および12,13および
14,15および16、ならびに17および18
によつてそれぞれ規定されるフイールド6,7,
8,9および10はSTOREA2,STOREA3,
STOREB1,STOREB2,STOREB3フイールド
である。ビツト19,20,21および22はALU動作
のすべてを規定しかつALU OPERATORフイー
ルドと呼ばれる。ビツト23,24,および25は
ALU S OPERAND SELECTを規定し、かつ
ビツト26,27および28はALU R OPERAND
SELECTフイールドを規定する。
第5図はビツトI7ないしI18の4個の状態を規定
し、それらは3個のマルチプレクサ入力のどれが
レジスタA1,A2,A3,B1,B2,B3と
関連して駆動されるかを特定する。各表の第4番
目の状態はHOLD状態であり、データが前のレ
ジスタまたは入力からレジスタへ伝播されるのを
妨げる。
A1レジスタ命令セツトは、そこに与えられる
I7およびI8ビツト入力に応答して、HOLDのもな
らず、最上位積(MSP)、DIバスまたはバスB3
を選択する。命令ビツトI9およびI10に応答する
A2レジスタはHOLDのみならずLSP,ALUおよ
びA1バスをゲート処理する。A3レジスタはビツ
トI11およびI12に応答して、HOLDのみならず、
MSP,ALUまたはA2バスのいずれかのためのマ
ルチプレクサを能動化する。
ビツトI13およびI14として命令されるB1レジ
スタは、A1レジスタ命令の鏡像である。なぜな
らばそれもまたその命令セツトとして最上位積、
DIバス、A3およびHOLDに応答するからであ
る。同様に、ビツトI15およびI16に応答するレジ
スタB2はLSP,B1バスおよびHOLDをゲート
処理し、かつB3レジスタはビツトI17およびI18
応答してMSP,ALU,B2バスおよびHOLDをゲ
ート処理する。
命令ビツトI26,I27およびI28はRオペランドマ
ルチプレクサのマルチプレクサゲート処理を規定
し、かつビツトI23,I24およびI25はSオペランド
マルチプレクサゲート処理である(第6図)。8
個の異なるゲートに対する命令は、それぞれA1
バス,A2バス,A3バス,B1バス,B2バス,B3
バス,SEIN,およびFORCE ZEROである。Sオ
ペランド側では、ゲート処理命令はA1バス,A2
バス,A3バス,B1バス,B2バス,B3バス,
MSPバスおよびLSPバスである。
ビツトI4,I5およびI6はMOマルチプレクサ9
6のためのゲート処理命令であり、これらは、そ
れぞれ、A1バス,A2バス,A3バス,B1バス,
B2バス,B3バス,ALU,およびDI(第8図)で
ある。ビツトI2およびIaはDOマルチプレクサ9
4のためのマルチプレクサ命令を規定し、それら
はそれぞれA2,A3,B2,B3である。
ビツトI21,I22,I19およびI20はALU84のため
の動作を規定する。ビツトI19およびI20の状態は
また、隣接または並列ビツトスライス処理装置へ
の関連の情報を通信させるようにビツトがセツト
されたかどうかを規定する。もしもビツトI19
よびI20が常に0であれば、CARRY OUTビツト
はキヤリイ信号を出す(ALUの積に依存する)。
同様に、PROPAGATEビツトおよび
GENERATEビツトもまた、ビツトI19およびI20
が0にセツトされたときはいつでもALUの積に
従つてセツトされる。しかしながら、ビツトI19
がセツトされると、CARRY OUTは常に禁止さ
れ(0にセツトされ)かつPROPAGATEおよび
GENERATEビツトはCARRY OUT信号に対し
て相補的状態にロツクされる。(図示した特定の
設計においては、PROPAGATEおよび
GENERATEビツトは、それらが2進0へセツ
トされるときにのみ能動化されるようにその否定
がとられる。)ビツトI20がビツトI19が0のときに
セツトされると、CARRY OUTビツトが常に能
動化され、他方PROPAGATEおよび
GENERATEビツトもまた相補的な状態にセツ
トされ、この場合それらもまた能動状態にロツク
される。
ビツトI19およびI20に関連のビツトI21およびI22
はALUの動作を規定する。ビツトI19およびI20
0のとき、ビツトI21およびI22はビツトI21および
I22の4個の可能な状態に従つて、4個の演算動
作R+S,R−S,R(R PASS),S−Rを規
定する。同じ演算動作は、ビツトI19およびI20
それぞれ1および0、および0および1に、それ
ぞれセツトされるときに規定される。しかしなが
ら、ビツトI19およびI20がともに1にセツトされ
ると、ビツトI21およびI22は論理演算R XOR
S,R AND S,R negate,およびR OR
Sを規定する。
このように、ALUの、マルチプレクサのかつ
レジスタの状態のすべてが外部命令によつて充分
に規定される。これらの論理命令を実行すること
ができる構造のインプリメンテーシヨンは当業者
にとつて明らかであり、かつ多くのそのような構
造はこれらの基準を満たすものである。ビツトの
順序はもちろん、フイールドが上述した制約内で
互いに独立である限り関係がない。
第10図は命令のマイクロコードを図解するテ
ーブルであり、1個の高速フーリエ変換バタフラ
イ動作に対する第2図に示される形式の基本的な
信号処理装置のアーキテクチヤーに与えられる。
実現される特定の演算は、A′=A+BWk Nおよび
B′=A−BWk Nのバタフライ動作であり、ここに
おいてA,A′,B,B′およびWk Nは複素数であ
る。マイクロコードの構造は全体の読み書きサイ
クルを完成するために10サイクル必要とされるよ
うなものである。しかしながら、ここに開示した
プログラミング構造でコードを実現することによ
つて、新しい演算が開始されかつ第4番目のサイ
クルごとに完成されることができる。これは、ビ
ツトスライス処理装置40の並列構造の充分な利
点をとるためエンコードがインタリーーブされる
ので可能である。16個のサイクルが0から15の数
で示されている。図示の乗算マイクロサイクルは
入力バスDIO102を介して値Bの実数および虚
数部の読出でシステムサイクル3から始まる。ア
ドレスは外部メモリへ与えられ、かつDO
ENABLEフイールドはビツトスライイス処理装
置40へのデータを実数処理装置42(第2図)
のB1レジスタへかつ虚数処理装置44のB1レジ
スタへ通過させるようにセツトされる。
計算処理装置は表に示される命令によつて示さ
れるように続く。命令の間隔は命令的である。た
とえば、システムサイクル6に生じる第1の
ALU命令は、システムサイクル10およびシス
テムサイクル14で再び繰返されてもよい。4個
の命令サイクルは、バタフライ乗算のためのクリ
テイカルバスが可能な限り各並列動作が密接して
追従するような態様でインターリーブする。
特に、前のレジスタからの指令を受取るために
明白な指令が各レジスタに与えられる、ここに規
定した命令セツトを備えた、この発明の価値ある
特徴は、データをスタツクに押し進め、次に続く
レジスタのデータへオーバライトさせ、任意の時
に任意のレジスタからデータをプルアウトする能
力である。さらに他の便利で重要な特徴はキヤリ
イを禁止するための明示的な命令である。この命
令はビツトスライスモジユール間の費用がかかり
不必要なANDゲートを除去する。したがつて、
システムは、プログラム制御に従つて、素早く、
1個の大きな拡大された精密計算装置から複数個
のより小さな独立的に作動可能な計算装置まで変
化されることができる。この発明のさらに他の価
値ある特徴は命令デコーダの必要を除去すること
である。その命令は明確に規定される。事実、命
令の500000000以上の組合せ(229)が命令ワード
およびこれらの明らかな能力を有する装置におい
て可能である。命令セツトは何ら規定されない状
態がないようなものである。
ここに説明したこの発明の実施例は信号処理応
用のため、かつまたベクトル計算応用のために最
適化されるビツトスライス計算装置を規定した。
それは並列に5個の機能を続行することができ、
かつ最小の無駄動作で特徴的なバタフライ機能
(メモリに対する特別のコールおよび乗算を除く)
を行なうことができかつ規定されない状態なしで
充分に明確な命令セツトを与えることができるよ
うに示されている。装置は拡大可能な計算機のモ
ジユールとして用いられることができ、または簡
単な命令によつてマイクロコード入力に依存し
て、他の類似の計算機と並列で独立した装置とし
て作動するようにされることができる。ここに説
明したビツトスライス装置はシリコン半導体の1
個のチツプの上に実施されるように意図されてお
り、それによつてより大きなシステムにおける多
種多様な応用における1コンポーネントとしての
使用が可能である。たとえば、装置はハードウエ
アFFT変換処理装置において用いられることが
できる。100ナノ秒の典型的な装置のサイクルで
は、この装置は400ナノ秒毎に1回典型的なFFT
バタフライ動作を完成することができる。
特定の実施例を参照してこの発明を説明した。
この開示に鑑み当業者にとつては他の実施例も明
らかであろう。したがつて、請求の範囲に示した
ものを除きこの発明は制限されるべきものでない
と意図する。
JP57501391A 1981-03-26 1982-03-18 集積回路装置 Granted JPS58500424A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US247675 1981-03-26
US06/247,675 US4393468A (en) 1981-03-26 1981-03-26 Bit slice microprogrammable processor for signal processing applications

Publications (2)

Publication Number Publication Date
JPS58500424A JPS58500424A (ja) 1983-03-17
JPH0230538B2 true JPH0230538B2 (ja) 1990-07-06

Family

ID=22935867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57501391A Granted JPS58500424A (ja) 1981-03-26 1982-03-18 集積回路装置

Country Status (5)

Country Link
US (1) US4393468A (ja)
EP (1) EP0075593B1 (ja)
JP (1) JPS58500424A (ja)
DE (1) DE3279776D1 (ja)
WO (1) WO1982003481A1 (ja)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
JPS5922165A (ja) * 1982-07-28 1984-02-04 Nippon Telegr & Teleph Corp <Ntt> アドレス制御回路
US4627026A (en) * 1982-10-21 1986-12-02 I.R.C.A.M. (Institut De Recherche Et De Coordination Accoustique/Misique Digital real-time signal processor
US4528641A (en) * 1982-11-16 1985-07-09 The United States Of America As Represented By The Secretary Of The Air Force Variable radix processor
JPS6054070A (ja) * 1983-09-02 1985-03-28 Nec Corp 演算装置
US4644489A (en) * 1984-02-10 1987-02-17 Prime Computer, Inc. Multi-format binary coded decimal processor with selective output formatting
US4761755A (en) * 1984-07-11 1988-08-02 Prime Computer, Inc. Data processing system and method having an improved arithmetic unit
DE3588212T2 (de) * 1984-08-22 1999-12-30 Hitachi Ltd Verfahren und Gerät zum Suchen von Daten
US4742520A (en) * 1984-09-26 1988-05-03 Texas Instruments Incorporated ALU operation: modulo two sum
DE3587591T2 (de) * 1984-11-21 1994-04-28 Harris Corp Mikroprozessor für Forth-ähnliche Sprache.
US4972314A (en) * 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US4748579A (en) * 1985-08-14 1988-05-31 Gte Laboratories Incorporated Method and circuit for performing discrete transforms
US4779218A (en) * 1985-09-04 1988-10-18 Jauch Jeremy P Complex arithmetic unit
US5165039A (en) * 1986-03-28 1992-11-17 Texas Instruments Incorporated Register file for bit slice processor with simultaneous accessing of plural memory array cells
US4789957A (en) * 1986-03-28 1988-12-06 Texas Instruments Incorporated Status output for a bit slice ALU
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
US4760517A (en) * 1986-10-17 1988-07-26 Integrated Device Technology, Inc. Thirty-two bit, bit slice processor
US4811266A (en) * 1986-11-05 1989-03-07 Honeywell Bull Inc. Multifunction arithmetic indicator
US4926355A (en) * 1987-07-02 1990-05-15 General Datacomm, Inc. Digital signal processor architecture with an ALU and a serial processing section operating in parallel
US4891754A (en) * 1987-07-02 1990-01-02 General Datacomm Inc. Microinstruction sequencer for instructing arithmetic, logical and data move operations in a conditional manner
US5047975A (en) * 1987-11-16 1991-09-10 Intel Corporation Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode
US4916651A (en) * 1988-01-29 1990-04-10 Texas Instruments Incorporated Floating point processor architecture
US5303172A (en) * 1988-02-16 1994-04-12 Array Microsystems Pipelined combination and vector signal processor
US5187799A (en) * 1988-05-17 1993-02-16 Calif. Institute Of Technology Arithmetic-stack processor which precalculates external stack address before needed by CPU for building high level language executing computers
US5029079A (en) * 1988-08-04 1991-07-02 Array Microsystems, Inc. Apparatus and method for flexible control of digital signal processing devices
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
JP2739487B2 (ja) * 1988-12-20 1998-04-15 株式会社日立製作所 描画処理装置及びその描画処理装置を用いた画像表示装置
US5187795A (en) * 1989-01-27 1993-02-16 Hughes Aircraft Company Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports
US4931974A (en) * 1989-01-30 1990-06-05 Integrated Device Technology, Inc. Sixteen-bit programmable pipelined arithmetic logic unit
US6230255B1 (en) 1990-07-06 2001-05-08 Advanced Micro Devices, Inc. Communications processor for voice band telecommunications
US5768613A (en) * 1990-07-06 1998-06-16 Advanced Micro Devices, Inc. Computing apparatus configured for partitioned processing
JPH0594546A (ja) * 1991-02-05 1993-04-16 American Teleph & Telegr Co <Att> デジタルプロセツサ
JP3329921B2 (ja) * 1993-12-27 2002-09-30 株式会社東芝 演算装置
US5541865A (en) * 1993-12-30 1996-07-30 Intel Corporation Method and apparatus for performing a population count operation
EP0661624A1 (en) * 1994-01-04 1995-07-05 Sun Microsystems, Inc. Pseudo-superscalar technique for video processing
US5642306A (en) * 1994-07-27 1997-06-24 Intel Corporation Method and apparatus for a single instruction multiple data early-out zero-skip multiplier
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
US6738793B2 (en) 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
JPH11500547A (ja) * 1994-12-01 1999-01-12 インテル・コーポレーション 乗算を有するマイクロプロセッサ
US5819101A (en) * 1994-12-02 1998-10-06 Intel Corporation Method for packing a plurality of packed data elements in response to a pack instruction
WO1996017291A1 (en) * 1994-12-02 1996-06-06 Intel Corporation Microprocessor with packing operation of composite operands
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5936872A (en) * 1995-09-05 1999-08-10 Intel Corporation Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5822459A (en) * 1995-09-28 1998-10-13 Intel Corporation Method for processing wavelet bands
US5935240A (en) * 1995-12-15 1999-08-10 Intel Corporation Computer implemented method for transferring packed data between register files and memory
US5984515A (en) * 1995-12-15 1999-11-16 Intel Corporation Computer implemented method for providing a two dimensional rotation of packed data
US5757432A (en) * 1995-12-18 1998-05-26 Intel Corporation Manipulating video and audio signals using a processor which supports SIMD instructions
US5815421A (en) * 1995-12-18 1998-09-29 Intel Corporation Method for transposing a two-dimensional array
US5852726A (en) * 1995-12-19 1998-12-22 Intel Corporation Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US6792523B1 (en) * 1995-12-19 2004-09-14 Intel Corporation Processor with instructions that operate on different data types stored in the same single logical register file
US5940859A (en) 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
US5857096A (en) * 1995-12-19 1999-01-05 Intel Corporation Microarchitecture for implementing an instruction to clear the tags of a stack reference register file
WO1997024681A1 (en) * 1995-12-19 1997-07-10 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
US5835748A (en) * 1995-12-19 1998-11-10 Intel Corporation Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file
US5701508A (en) 1995-12-19 1997-12-23 Intel Corporation Executing different instructions that cause different data type operations to be performed on single logical register file
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US5787026A (en) * 1995-12-20 1998-07-28 Intel Corporation Method and apparatus for providing memory access in a processor pipeline
US5880979A (en) * 1995-12-21 1999-03-09 Intel Corporation System for providing the absolute difference of unsigned values
US5742529A (en) * 1995-12-21 1998-04-21 Intel Corporation Method and an apparatus for providing the absolute difference of unsigned values
US5793661A (en) * 1995-12-26 1998-08-11 Intel Corporation Method and apparatus for performing multiply and accumulate operations on packed data
US5983257A (en) * 1995-12-26 1999-11-09 Intel Corporation System for signal processing using multiply-add operations
US5740392A (en) * 1995-12-27 1998-04-14 Intel Corporation Method and apparatus for fast decoding of 00H and OFH mapped instructions
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5835392A (en) * 1995-12-28 1998-11-10 Intel Corporation Method for performing complex fast fourier transforms (FFT's)
US5764943A (en) * 1995-12-28 1998-06-09 Intel Corporation Data path circuitry for processor having multiple instruction pipelines
US5862067A (en) * 1995-12-29 1999-01-19 Intel Corporation Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations
US5621674A (en) * 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 bit pixels to 16 bit pixels
US6009191A (en) * 1996-02-15 1999-12-28 Intel Corporation Computer implemented method for compressing 48-bit pixels to 16-bit pixels
US5959636A (en) * 1996-02-23 1999-09-28 Intel Corporation Method and apparatus for performing saturation instructions using saturation limit values
US5822232A (en) * 1996-03-01 1998-10-13 Intel Corporation Method for performing box filter
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
US6070237A (en) * 1996-03-04 2000-05-30 Intel Corporation Method for performing population counts on packed data types
US6049864A (en) * 1996-08-20 2000-04-11 Intel Corporation Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor
US6009451A (en) * 1996-11-22 1999-12-28 Lucent Technologies Inc. Method for generating barrel shifter result flags directly from input data
US5881279A (en) * 1996-11-25 1999-03-09 Intel Corporation Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation
US6014684A (en) 1997-03-24 2000-01-11 Intel Corporation Method and apparatus for performing N bit by 2*N-1 bit signed multiplication
JP3612186B2 (ja) * 1997-09-19 2005-01-19 株式会社ルネサステクノロジ データ処理装置
US6081824A (en) * 1998-03-05 2000-06-27 Intel Corporation Method and apparatus for fast unsigned integral division
US6418529B1 (en) * 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6041404A (en) 1998-03-31 2000-03-21 Intel Corporation Dual function system and method for shuffling packed data elements
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US6032248A (en) * 1998-04-29 2000-02-29 Atmel Corporation Microcontroller including a single memory module having a data memory sector and a code memory sector and supporting simultaneous read/write access to both sectors
US7932911B2 (en) * 1998-08-24 2011-04-26 Microunity Systems Engineering, Inc. Processor for executing switch and translate instructions requiring wide operands
DE69942339D1 (de) 1998-08-24 2010-06-17 Microunity Systems Eng System mit breiter operandenarchitektur und verfahren
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7489779B2 (en) 2001-03-22 2009-02-10 Qstholdings, Llc Hardware implementation of the secure hash standard
US7752419B1 (en) 2001-03-22 2010-07-06 Qst Holdings, Llc Method and system for managing hardware resources to implement system functions using an adaptive computing architecture
US20040133745A1 (en) 2002-10-28 2004-07-08 Quicksilver Technology, Inc. Adaptable datapath for a digital processing system
US6836839B2 (en) 2001-03-22 2004-12-28 Quicksilver Technology, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US7653710B2 (en) 2002-06-25 2010-01-26 Qst Holdings, Llc. Hardware task manager
US7400668B2 (en) 2001-03-22 2008-07-15 Qst Holdings, Llc Method and system for implementing a system acquisition function for use with a communication device
US6577678B2 (en) 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US6874079B2 (en) * 2001-07-25 2005-03-29 Quicksilver Technology Adaptive computing engine with dataflow graph based sequencing in reconfigurable mini-matrices of composite functional blocks
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7046635B2 (en) 2001-11-28 2006-05-16 Quicksilver Technology, Inc. System for authorizing functionality in adaptable hardware devices
US6986021B2 (en) 2001-11-30 2006-01-10 Quick Silver Technology, Inc. Apparatus, method, system and executable module for configuration and operation of adaptive integrated circuitry having fixed, application specific computational elements
US8412915B2 (en) 2001-11-30 2013-04-02 Altera Corporation Apparatus, system and method for configuration of adaptive integrated circuitry having heterogeneous computational elements
US7602740B2 (en) 2001-12-10 2009-10-13 Qst Holdings, Inc. System for adapting device standards after manufacture
US7215701B2 (en) 2001-12-12 2007-05-08 Sharad Sambhwani Low I/O bandwidth method and system for implementing detection and identification of scrambling codes
US7403981B2 (en) 2002-01-04 2008-07-22 Quicksilver Technology, Inc. Apparatus and method for adaptive multimedia reception and transmission in communication environments
US7493375B2 (en) 2002-04-29 2009-02-17 Qst Holding, Llc Storage and delivery of device features
US7660984B1 (en) 2003-05-13 2010-02-09 Quicksilver Technology Method and system for achieving individualized protected space in an operating system
US7328414B1 (en) 2003-05-13 2008-02-05 Qst Holdings, Llc Method and system for creating and programming an adaptive computing engine
US7047383B2 (en) * 2002-07-11 2006-05-16 Intel Corporation Byte swap operation for a 64 bit operand
US8108656B2 (en) 2002-08-29 2012-01-31 Qst Holdings, Llc Task definition for specifying resource requirements
US7937591B1 (en) 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US8276135B2 (en) 2002-11-07 2012-09-25 Qst Holdings Llc Profiling of software and circuit designs utilizing data operation analyses
US7478031B2 (en) 2002-11-07 2009-01-13 Qst Holdings, Llc Method, system and program for developing and scheduling adaptive integrated circuity and corresponding control or configuration information
US7609297B2 (en) 2003-06-25 2009-10-27 Qst Holdings, Inc. Configurable hardware based digital imaging apparatus
US20050097306A1 (en) * 2003-09-29 2005-05-05 Gajski Daniel D. No-instruction-set-computer processor
DE102004013484B3 (de) * 2004-03-18 2005-08-11 Infineon Technologies Ag Rechenwerk
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
JP5990466B2 (ja) 2010-01-21 2016-09-14 スビラル・インコーポレーテッド ストリームに基づく演算を実装するための汎用複数コアシステムのための方法および装置
US9785565B2 (en) 2014-06-30 2017-10-10 Microunity Systems Engineering, Inc. System and methods for expandably wide processor instructions
US20230176863A1 (en) * 2021-12-03 2023-06-08 Taiwan Semiconductor Manufacturing Company, Ltd. Memory interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812470A (en) * 1972-07-31 1974-05-21 Westinghouse Electric Corp Programmable digital signal processor
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
JPS516435A (ja) * 1974-07-04 1976-01-20 Takeda Riken Ind Co Ltd
JPS595941B2 (ja) * 1974-10-11 1984-02-08 タケダリケンコウギヨウ カブシキガイシヤ デ−タアレイエンザンシヨリソウチ
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
US4179734A (en) * 1976-07-02 1979-12-18 Floating Point Systems, Inc. Floating point data processor having fast access memory means
US4224676A (en) * 1978-06-30 1980-09-23 Texas Instruments Incorporated Arithmetic logic unit bit-slice with internal distributed iterative control
US4275452A (en) * 1979-11-08 1981-06-23 Rockwell International Corporation Simplified fast fourier transform butterfly arithmetic unit

Also Published As

Publication number Publication date
DE3279776D1 (en) 1989-07-27
EP0075593A1 (en) 1983-04-06
JPS58500424A (ja) 1983-03-17
EP0075593A4 (en) 1986-02-13
US4393468A (en) 1983-07-12
WO1982003481A1 (en) 1982-10-14
EP0075593B1 (en) 1989-06-21

Similar Documents

Publication Publication Date Title
JPH0230538B2 (ja)
US5303172A (en) Pipelined combination and vector signal processor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US6202197B1 (en) Programmable digital signal processor integrated circuit device and method for designing custom circuits from same
US5361373A (en) Integrated circuit computing device comprising a dynamically configurable gate array having a microprocessor and reconfigurable instruction execution means and method therefor
US3787673A (en) Pipelined high speed arithmetic unit
EP0102242A2 (en) Data processing apparatus
JPH03138759A (ja) 信号プロセツサ
JPH02210538A (ja) 集積回路と演算処理システム
US5590349A (en) Real time programmable signal processor architecture
GB1576000A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH056906B2 (ja)
US5319586A (en) Methods for using a processor array to perform matrix calculations
US4155118A (en) Organization for an integrated circuit calculator/controller
JPS60171558A (ja) デ−タ処理システム
KR100288170B1 (ko) 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기
AU665927B2 (en) Programmable signal processor architecture
US5029079A (en) Apparatus and method for flexible control of digital signal processing devices
JPH0412503B2 (ja)
US5845093A (en) Multi-port digital signal processor
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
US4805133A (en) Processor memory element and a new computer architecture
Morgan et al. An investigation into the efficiency of a parallel TMS320 architecture: DFT and speech filterbank applications
van Sas et al. Automated test pattern generation for the Cathedral-II/2nd architectural synthesis environment
Smith et al. FPC: a floating-point processor controller chip for systolic signal processing