JPS6330647B2 - - Google Patents

Info

Publication number
JPS6330647B2
JPS6330647B2 JP56081216A JP8121681A JPS6330647B2 JP S6330647 B2 JPS6330647 B2 JP S6330647B2 JP 56081216 A JP56081216 A JP 56081216A JP 8121681 A JP8121681 A JP 8121681A JP S6330647 B2 JPS6330647 B2 JP S6330647B2
Authority
JP
Japan
Prior art keywords
slice
slices
byte
control
test
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
Application number
JP56081216A
Other languages
English (en)
Other versions
JPS5731039A (en
Inventor
Egubaato Doiru Donarudo
Aaren Heruwaasu Jooji
Reo Kuonsutoromu Jatsuku
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS5731039A publication Critical patent/JPS5731039A/ja
Publication of JPS6330647B2 publication Critical patent/JPS6330647B2/ja
Granted legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
本発明の分野 本発明はプロセツサ/マイクロプロセツサ・シ
ステムにおいて、LSI化された基本ビルデイン
グ・ブロツクとして働くデータ・フロー・コンポ
ーネントに関するものである。 本発明の背景 システムを構成する場合、2以上のコンピユー
タ機能を有する汎用チツプが使用されることがあ
る。コンピユータ機能の代表的なものは演算論理
機能及び制御機能であるが、これらは同一の汎用
チツプによつて実現され得る。1つのチツプで実
現可能な機能の数は、チツプの集積密度が高い程
多くできる。また、チツプ製造の際にマスクを変
えるだけで所望の機能を得ることができる。しか
しながら、チツプに置ける端子の数には限りがあ
るから、結果として実現可能な機能も制限され
る。 そのため、CPU機能に関して「ビツト・スラ
イス」と呼ばれる実装方式が提案された。ビツ
ト・スライス方式は、例えばALUの機能を複数
の同一チツプで実現させるもので、各チツプはオ
ペランドの処理にあたつては同時に動作する。こ
れらのチツプは、処理されるマルチスライス・ワ
ードの予め選択された特定のスライスを各チツプ
に割当てるためのモード制御端子を有している。 ビツト・スライス方式で構成されたCPUは、
ALU機能の他に幾つかの機能を持つていなけれ
ばならないが、これらの機能は、ALUチツプと
同じくレジスタやマルチプレクサなどの多数の第
2レベル・コンポーネントを含むチツプにより実
現される。従つて、これらのチツプは、ビツト・
スライス方式のALUチツプとして設計されたチ
ツプに修正を加えたものでよい。ALU機能以外
の機能としては、例えばマイクロコード・メモリ
のアドレス指定がある。 本発明は上述のようなシステムのデータ・フロ
ー部を対象にしている。 本発明の要約 本発明のデータ・フロー・コンポーネント(以
下、DFCと略称する)は、データ・フローにお
けるチツプの位置に従つて該チツプを(1)最下位バ
イトとして、(2)最上位バイトとして、(3)中間バイ
トとして、又は(4)他のバイトに印加される信号と
は無関係に働くように、選択的に条件付けるスラ
イス機能制御入力を有する。更に、任意の1以上
のスライスをプログラム制御のもとに選択的に無
効化し且つ他の活動スライスをそれらの物理的な
位置には関係なく単一のデータ・フロー・ユニツ
トに組合わせる、桁上げバイパス論理による非活
動バイト・モードが使用される。あとで説明する
実施例は、「バイト・スライス」と呼ばれる8ビ
ツト構成になつているが、他のビツト構成、例え
ば「ニブル」と呼ばれる4ビツト又は16ビツト
(2バイト)であつてもよい。 2以上のチツプを接続して、単一チツプのデー
タ・フロー幅を越えるオペランドを処理させるた
めの手段が設けられる。言い換えれば、より広い
データ・パスを形成するように幾つかのスライス
が組合わされ、そしてチツプ間の桁上げをうまく
処理するような相互接続が行なわれる。 本発明の別の特徴として、各スライス内部にお
ける桁上げ信号パスの論理制御がある。これは、
単一スライスを独立モードで動作させるか、又は
任意の幾つかのスライスを、活動スライス間の桁
上げ信号パスの途中にある非活動スライス(非活
動バイト)による妨害乃至は干渉なしに、選択さ
れたデータ・パスにおいて動作させる。 またあとで詳しく説明する絶対値への変換や修
正ブース・アルゴリズムのような極めて効率のよ
いアルゴリズムを実施するために、或るスライス
の機能が他のスライスの活動又は論理によつて左
右されるようにする符号化されたスライス間制御
線を設けることにより、効率のよいスライス間制
御が達成される。 本発明の他の興味ある特徴としては次のものが
ある。 (1) 並列ビツト入力端子の指定。 (2) 機能ユニツト(ALU、シフト回路など)又
はレジスタからデータを選択的に出力するため
の多重化。 (3) 少なくとも2つのレジスタの内容を演算ユニ
ツトへゲートすること。 (4) データがレジスタ間又はレジスタと演算ユニ
ツトとの間を転送されるときに行なわれる単一
ビツト及び二重ビツトのシフト。 以下で説明するDFCは、プロセツサ/マイク
ロプロセツサ・システムにおけるLSIビルデイン
グ・ブロツクとして設計され、(1)バイト・スライ
ス構成、(2)スライス機能制御、(3)選択的なスライ
ス動作のための桁上げ信号制御、及び(4)スライス
間制御によつて特徴付けられる。LSI技術の進歩
は、より少ない部品(バーツ)でシステムを構成
することを可能にしたが、汎用性ということを考
えると、このような部品の種類即ちパーツ・ナン
バーは少ない方が望ましい。しかしながら、現在
のLSI技術では、或る程度以上パーツ・ナンバー
を減らすことはできない。というのは、チツプ当
りのゲート数は限られており、また単一のチツプ
で実現される機能を複雑にすると、その分融通性
やパフオーマンスが下がるからである。 上述の制約は、単独で又は組合わせて使用され
る単一パーツ・ナンバーの高機能DFCを基本ビ
ルデイング・ブロツクとして設計することにより
除かれる。このようなDFCの組合わせを変えれ
ば、データ・フロー・パス、機能及びデータ幅が
変えられるから、種々の異なつたLSIプロセツサ
乃至はマイクロプロセツサを構成することができ
る。これに似たものとして、ビツト・スライス方
式のマイクロプロセツサがある。このようなビツ
ト・スライス・マイクロプロセツサのコンポーネ
ントのスライス幅は2ビツト及び4ビツトに限ら
れており、機能も比較的簡単なものであつた。 本発明に従うバイト・スライス方式のDFCは、
マイクロプロセツサや簡単なコントローラに使用
されるだけでなく、例えば64ビツトのデータ幅を
有する大型プロセツサのDFCとしても使用され
得る。更に本発明に従えば、多重バイト構成の
個々のバイトが制御可能であり、従つて単一のス
ライス又は任意の幾つかのスライスを外部論理の
制御のもとに他のスライスから独立して動作させ
ることができる。 本発明に従うバイト・スライスDFCの特徴を
要約すると次のようになる。 (1) スライス位置に応じた機能特性。即ち、スラ
イス論理の働きは、スライスが最上位位置、最
下位位置及び中間位置の何れにあるか、又は独
立スライスとして使用されているか否かに応じ
て異なる。 (2) 演算操作及びシフト操作に伴うスライス間の
桁上げを処理するための機構。各スライスは特
別の制御により選択的に有効化又は無効化さ
れ、これにより離れた位置にある任意のスライ
スを連結して所望のデータ・パスを得ることが
できる。 (3) 効率のよいスライス間通信。これは、例えば
或るスライスの活動が他のスライスからの条件
によつて左右されるような場合に必要である。 実施例の説明 本発明に従うバイト・スライスDFCの構成を
第1図に示す。図中の点線は主制御パスを表わ
す。このDFCは下記の構成要素を含んでいる。 (1) データ入力母線(DBI)1、8ビツト (2) データ出力母線(DBO)2、8ビツト (3) 命令(1)レジスタ3 (4) 命令母線4、10ビツト (5) スライス機能制御線5(活動、非活動などの
スライスの状況を示す符号化された制御線) (6) 両方向性の桁上げ母線(上位端)6、8ビツ
ト (7) 両方向性の桁上げ母線(下位端)7、8ビツ
ト (8) オペランド用のAレジスタ8及びBレジスタ
9、各8ビツト。 (9) Qレジスタ10、8ビツト(乗算命令、除算
命令及び拡張シフト命令の際のオペランドBの
拡張部分) (10) 状況(S)レジスタ11、8ビツト (11) オペランドBの事前シフトを行なう右シフト
回路16を有するALU12。 (12) 高速シフト回路13(関連するレジスタ及び
制御論理を有する8ビツトの組合わせバレル・
シフト回路。単一のタイミング間隔で単一シフ
ト又は多重シフトが可能である。例えば1976年
2月に刊行されたIBM Technical Disclosure
Bulletinの2753〜2754頁に記載されているもの
でもよい。 (13) テスト/制御論理17(命令に応じてテス
ト信号及び制御信号を供給する) (14) 桁上げバイパス母線18(図示のスライス
が非活動バイト・モードのときに、隣接するス
ライス間の桁上げパスとして働き、両方向性の
切換え回路によつて両側の桁上げ母線6及び7
と選択的に接続される) 第1図にDFCによつて実現される機能は次の
通りである。 (1) すべての基本ALU機能(オア、アンド、排
他的オア、加算、減算など) (2) 除算ステツプ(各命令サイクルでは、引放し
除算アルゴリズムの1ステツプが実行される) (3) 乗算ステツプ(各命令サイクルでは、2の乗
算のための修正ブース・アルゴリズムの1ステ
ツプが実行される。乗数の各2ビツトにつき1
ステツプが必要である) (4) 標準シフト機能(高速シフト回路13を用い
て1命令サイクル当り1ビツトから8ビツトま
での指定されたシフトを行なう) (5) B及びQの拡張シフト(右又は左、論理又は
算術。Bレジスタ9のための多重化/シフト回
路14及びQレジスタ10のための多重化/シ
フト回路16は右シフト及び左シフトの両方を
実行するが、ALU12のための右シフト回路
16は右シフトだけを実行する。Bレジスタ9
及びQレジスタ10の右シフトは単一ビツト及
び二重ビツトの何れかである) (6) 単一ビツト・データ及び状況のテスト (7) 比較テスト(等しい、大きい又は小さい) (8) プログラマブル論理ゲート機能(データ・フ
ロー・スライスはプログラムで選択可能な入力
を有する単一のアンド・ゲート、オア・ゲー
ト、ナンド・ゲート又はノア・ゲートとして働
くように制御される。この型の組合わせ論理素
子及び論理関数は、1979年3月に刊行きれた
IBM Techncal Disclosure Bulletinの3916〜
3918頁に記載されている) (9) 絶対値、1の補数又は2の補数への変換 (10) ゼロ・テストを伴う増分及び減分 DFCを用いたシステムの構成例を第2A図及
び第2B図に示す。第2A図のシステムでは独立
型のDFC19が使用され、その他にプロセツサ
制御ユニツト(PCU)20、マイクロ命令を記
憶している制御メモリ21、読出し/書込み
(R/W)メモリ22並びにI/O装置23及び
24が含まれている。第2B図のシステムは第2
A図のシステムよりも高級で、プロセツサ制御ユ
ニツト(PCU)27は、制御メモリ26からの
マイクロ命令に応じて、4つのDFC30〜33
を制御する。各DFC30〜33は、32ビツトの
I/Oチヤネル34の最上位活動バイト(HB)、
中間活動バイト(CB)及び最下位活動バイト
(LB)及び最下位活動バイト(LB)を個々に処
理する。 これら2つのシステムの主たる相違点は、デー
タ幅、並びにプロセツサ制御ユニツトの論理及び
制御プログラムの複雑さにある。プロセツサ制御
ユニツトの設計及び使用されるDFCの数を変え
るだけで、種々のシステムを構成することができ
る。従つて、プロセツサ制御ユニツト及び制御プ
ログラムの専用設計における融通性と、汎用
DFCの経済性とを高いところで妥協させること
により、前述のLSIに関する制約が除かれる。市
販のマイクロプロセツサを使用する場合、技術的
な面からプロセツサの性能やデータ幅が制限され
るので、その応用範囲は限られているが、本発明
ではそのようなことはない。 第3図は、多重スライス構造におけるDFCの
設計例を示したもので、4つのDFCスライスA
〜Dが使用されている。各スライスは、複数のデ
ータ・レジスタと、個別の桁上げ端子(x、y)
を有する演算/シフト論理とを含む。使用される
母線及び制御線は次の通りである。 (1) 桁上げ母線40−桁上げ情報を転送するのに
用いられるすべての線(単方向性及び両方向
性)を含む。 (2) 命令母線41−符号化された命令又は指命を
すべてのスライスA〜Dへ同時に供給する。 (3) スライス機能制御線42−各スライスにつき
少なくとも3本の制御線が別々に設けられ、対
応するスライスの働きが下記の何れにあたるか
を指定する。 NAB−非活動バイト LB−最下位活動バイト HB−最上位活動バイト CB−中間活動バイト(最上位活動バイトと最
下位活動バイトとの間にある) SAB−独立バイト (4) データ母線43−入力用及び出力用があり、
各スライスは各データ母線の対応する8ビツト
を処理する。データ母線の幅はスライスの数に
よつて決まる。 (5) スライス間制御母線44−制御に必要なスラ
イス間通信に使用され、また個々のスライスか
らプロセツサ制御ユニツトへテスト結果を送る
のにも使用される。母線44の各線は、何れの
スライスによつても付勢及び感知され得るよう
に、スライス間で配線オア接続される。プロセ
ツサ制御ユニツトも各線の状態を感知し得る。
本実施例では、母線44は次の53本の線から成
つている。 TRI−テスト結果標識 ETI−偶数テスト標識 ZTI−ゼロ・テスト標識 これらの線は、上の3つの標識を個々に転送す
る他に、3本一緒になつて符号化された制御情報
を転送するのにも使用される。上の標識とは別の
制御信号を個々に転送することも可能である。 第3図のスライスA〜Dが第2B図のDFC3
0〜33に対応しているものとすると、第3図に
おいて、例えば特別のマイクロ命令に応答してプ
ロセツサ制御ユニツトがスライス機能制御信号を
変更するようにすると、種々の動作モードが可能
になる。例えば: (1) 全スライスの組合わせ動作。その場合、スラ
イスAは最上位活動バイトHBを、スライスB
及びCは中間活動バイトCBを、そしてスライ
スDは最下位活動バイトLBを各々割当てられ
る。従つてスライスA〜Dは全体として32ビツ
トのオペランドを処理し、そして32ビツトの演
算結果を出力する。この演算結果は、内部レジ
スタ(A.B.Q、S)又は外部の装置へ送られ
る。 (2) 任意の選択されたスライスの独立動作。選択
されたスライスは、8ビツト・プロセツサのデ
ータ・フロー回路と同様にして単一バイトを処
理する。他のスライスからの桁上げ信号、制御
信号及び状況信号は無視される。 (3) 選択された複数(2又は3)のスライスの組
合わせ動作。例えば24ビツトのプロセツサの場
合、次のようなスライス選択が可能である。 スライスA−最上位活動バイト スライスB−中間活動バイト スライスC−最下位活動バイト スライスD−非活動バイト これは一例であつて、どのスライスにどのバイ
トを割当ててもよい。16ビツトのプロセツサの場
合は、任意の2つのスライスが最上位及び最下位
の活動バイト・スライスとして各々選択され、他
の2つのスライスは非活動バイト・スライスにな
る。2つ又は3つのスライスの組合わせは10種類
ある。 使用可能なスライスの総数よりも少ない数のス
ライスを活動スライスとして使用する場合には、
他のスライスは非活動バイト状態にあるように、
即ち活動スライス間の単なる伝送リンクとして働
くように制御されねばならない。非活動スライス
に入力された桁上げ信号は、内部の演算
(ALU)/シフト論理をバイパスしてそのまま出
力される。更に、非活動バイト状態においては、
内部レジスタの状態が変更されるのを避けるため
に、内部クロツク信号は滅勢され、また他のスラ
イスと共通に使用される制御線及び状況線への出
力も滅勢される。非活動スライスがシステムに及
ぼす影響は、桁上げ信号の伝播遅延だけである。 各スライスへ入力された桁上げ信号は、そのバ
イパス切換え論理の状態に応じて、そのまま出力
されるか、又は内部の演算/シフト論理へ送られ
る。第3図の例では、スライスA及びBは非活動
バイト状態にあつて、桁上げ信号を右方向又は左
方向にそのまま通過させ、桁上げ信号を演算/シ
フト論理に受取るスライスC及びDは各々最上位
活動バイト及び最下位活動バイトとして選択され
ている。桁上げ母線40は何れの方向にも桁上げ
信号を転送し得るので、非活動スライスの切換え
論理も桁上げ信号を左から右(xからy)又は右
から左(yからx)へ通過させるように制御され
る。この制御は、非活動スライスを含むすべての
スライスへ供給される命令による。各スライスの
種々の内部レジスタのうち、命令レジスタだけは
非活動バイト状態においてもロード可能である。
非活動スライスの命令レジスタにも命令をロード
する目的は、活動スライス間における桁上げ信号
の転送方向乃至はシフト方向を指定することにあ
る。 独立バイト(SAB)スライスは、桁上げ母線
40及びスライス間制御母線44の信号とは無関
係に動作するように、スライス機能制御線42に
よつて条件付けられる。独立バイト・スライス
は、テスト結果情報をプロセツサ制御ユニツトへ
送る場合にのみスライス間制御母線44を使用す
る。同じ命令でデータの異なつたバイトを処理す
るように、2以上のスライスを独立バイト・スラ
イスとして同時に働かせることができるが、スラ
イス間制御母線44のテスト結果標識(TRI)線
が任意のスライスによつて付勢されるようになつ
ていると、テスト結果信号の源を識別する際に問
題が生じる。非テスト型の命令の場合は、このよ
うな問題は生じない。従つて、2以上の独立バイ
ト・スライスが必要な場合には、各独立バイト・
スライスに別個のテスト線を接続した方がよい。 これまでは、スライス機能制御及び桁上げ信号
転送の問題について説明してきたが、最後に3番
目の問題即ちスライス間通信について説明する。
これは実際の命令を例にとつた方がわかり易いの
で、まずAレジスタ8にある2の補数のオペラン
ドをその絶対値に変換して、結果をデータ出力母
線へ出力させる絶対値変換(ABS)命令につい
て説明する。変換結果が偶数又はゼロであれば、
Sレジスタ11の偶数状況標識又はゼロ状況標識
がセツトされる。すべての活動スライスは同じ命
令を受取つて、オペランドの対応するバイトにつ
いてこの命令を実行するが、特定のスライスにお
ける実行条件又は実行結果が他のスライスの動作
によつて影響を受けることがある。例えばABS
命令においては: (1) 最上位活動バイト・スライスにあるオペラン
ドAの符号ビツトは、各スライスでゼロに強制
されたオペランドBからオペランドAを減算す
ることによつてオペランドAの符号を反転させ
る必要があるか否かを示す。この情報は、テス
ト結果標識(TRI)線を用いてすべてのスライ
スに伝えられる。 (2) 最下位活動バイト・スライスにおいて結果が
偶数か奇数かがテストされ、それにより、最上
位活動バイト・スライスにおいて対応する状況
標識がセツトされる。テスト結果は偶数テスト
標識(ETI)線を介して転送される。 (3) ゼロ・テスト標識(ZTI)線は、すべてのス
ライスにおけるゼロ・テストの結果を転送する
のに使用され、それに応じて最上位活動バイ
ト・スライスのゼロ状況標識が選択的にセツト
される。各スライスは、実行結果がゼロでない
場合に共通のゼロ・テスト標識線を付勢する。
これは、各スライスの非ゼロ結果のオア操作に
相当する。 上述の例では、テスト結果標識線は、制御情報
(符号ビツト)を伝えるのに使用されていたが、
ビツト・テスト、比較テスト、ゼロ・テスト付き
増分(又は減分)のようなテスト命令において
は、プロセツサ制御ユニツトへテスト結果の真偽
を知らせるのに使用される。その場合、何れかの
スライスもテスト結果に応じてテスト結果標識線
を選択的に付勢し得る。ゼロ・テストにおいて
は、各スライスの総合テスト結果がゼロ・テスト
標識線を介して最上位活動バイト・スライスへ送
られ、そこからテスト結果標識線へ出力される。 テスト結果標識線、偶数テスト標識線及びゼ
ロ・テスト標識線は、1以上のスライスで発生さ
れた符号化制御情報を他のスライスへ転送するの
にも使用される。この転送は、例えば修正ブー
ス・アルゴリズムを利用する乗算ステツプ命令の
実行時に行なわれる。この命令はAレジスタ8に
ある被乗数及びQレジスタ10にある乗数を用い
て実行される。積は、一連の条件演算(加算又は
減算)及びシフト操作によりBレジスタ9及びQ
レジスタ10に得られる。一連の同一乗算ステツ
プ命令の各々によつて実行される演算の型を決め
る条件は、最下位活動バイト・スライスにあるQ
レジスタ10の下位2ビツトQ6、Q7及び右シフ
ト時にQレジスタ10の下位拡張部として働く特
別の状況ビツトQ8によつて与えられる。各乗算
ステツプにおける全スライスの動作は下記の真理
表に従う。
【表】 Qレジスタ10は、各ステツプの終りで2位置
だけ右シフトされ、左側の空になつた2つの上位
位置には、ALU12の右シフト回路16でシフ
トされたBレジスタ9からの桁上げビツトが桁上
げ母線を介してロードされる。前述のように、上
記真理表中の変数Q6及びQ7は、最下位活動バイ
ト・スライスにある。しかしながら、すべての特
別状況情報をSレジスタ11の同じバイトに保持
していた方が都合がよいので、Q8は最上位活動
バイト・スライスにあるSレジスタ11の1ビツ
トに割当てられる。チツプ間の制御線は一般に両
方向性であるから、これにより問題が生じること
はない。Q6、Q7及びQ8の状態は各々テスト結果
標識線、偶数テスト標識線及びゼロ・テスト標識
線を介してすべてのスライスに知らされる。テス
ト結果標識線及び偶数テスト標識線は、最下位活
動バイト・スライスのQ6及びQ7に応じて各々選
択的に付勢され、ゼロ・テスト標識線は、最上位
活動バイト・スライスのSレジスタ11にある
Q8に応じて選択的に付勢される。Q6の状態を表
示するテスト結果標識線は、最上位活動バイト・
スライス中のQ8状況標識位置の入力へ単にゲー
トされるだけであり、これによりQ6からQ8への
シフトが行なわれる。これは、スライス間制御線
の使用によつてもたらされる融通性の一例であ
る。 除算ステツプ命令においても同様なスライス間
制御が実現される。各命令サイクルは、スライス
間制御線を次のようにして使用することにより、
引放し除算アルゴリズムの1ステツプを実行す
る。 各スライスは、先行ステツプの結果に応じて最
上位活動バイト・スライス中にセツトされた負標
識の状態に基き、各条件加算又は減算を実行す
る。負標識の状態は、テスト結果標識を介して伝
えられる。 最下位活動バイト・スライスのQレジスタ10
の最下位ビツトは、加算結果又は減算結果の符号
に従つてセツトされる。符号ビツトの状態は、最
上位活動バイト・スライスから偶数テスト標識線
を介して最下位活動バイト・スライスへ送られ
る。 以上のように、本発明に従えば、少数の線を設
けるだけで、種々の命令実行時におけるスライス
間制御を実現させることができる。
【図面の簡単な説明】
第1図は本発明に従うDFCのブロツク図、第
2A図は独立型のDFCを1個用いたシステムの
ブロツク図、第2B図はDFCをバイト単位で4
個用いたシステムのブロツク図、第3図は多重ス
ライス構造における4個のDFCの相互接続の一
例を示すブロツク図である。

Claims (1)

  1. 【特許請求の範囲】 1 データ処理システムにおいて所与のデータ単
    位を処理するデータ・フロー・コンポーネントに
    して、 指定された演算を実行する演算/シフト手段
    と、該演算/シフト手段のための桁上げ信号入出
    力手段と、当該データ・フロー・コンポーネント
    の活動/非活動状態を指定する機能制御手段と、
    該機能制御手段の指定に基いて外部から上記桁上
    げ信号入出力手段に受取つた桁上げ信号を上記演
    算/シフト手段へ送るか又はそのまま出力する切
    換え手段と、上記演算/シフト手段での演算に関
    するテスト/制御情報を当該データ・フロー・コ
    ンポーネントと外部制御装置又は他のデータ・フ
    ロー・コンポーネントとの間でやりとりするため
    のテスト/制御手段とを含む、データ処理システ
    ムのためのデータ・フロー・コンポーネント。
JP8121681A 1980-06-30 1981-05-29 Data flow component for data processing system Granted JPS5731039A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/164,738 US4418383A (en) 1980-06-30 1980-06-30 Data flow component for processor and microprocessor systems

Publications (2)

Publication Number Publication Date
JPS5731039A JPS5731039A (en) 1982-02-19
JPS6330647B2 true JPS6330647B2 (ja) 1988-06-20

Family

ID=22595875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8121681A Granted JPS5731039A (en) 1980-06-30 1981-05-29 Data flow component for data processing system

Country Status (4)

Country Link
US (1) US4418383A (ja)
EP (1) EP0042967B1 (ja)
JP (1) JPS5731039A (ja)
DE (1) DE3174613D1 (ja)

Families Citing this family (95)

* 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
US5854907A (en) * 1982-02-22 1998-12-29 Texas Instruments Incorporated Microcomputer for digital signal processing having on-chip memory and external memory access
US4586131A (en) * 1982-02-22 1986-04-29 Texas Instruments Incorporated Microcomputer having data move circuits for within-memory shift of data words
US4608634A (en) * 1982-02-22 1986-08-26 Texas Instruments Incorporated Microcomputer with offset in store-accumulator operations
US4580215A (en) * 1983-03-08 1986-04-01 Itt Corporation Associative array with five arithmetic paths
US4893235A (en) * 1983-10-03 1990-01-09 Digital Equipment Corporation Central processing unit for a digital computer
US4812971A (en) * 1983-10-03 1989-03-14 Digital Equipment Corporation Central processing unit for a digital computer
EP0214313B1 (en) * 1984-08-22 1993-03-10 Hitachi, Ltd. Method and apparatus for data merging/sorting
JPS61103241A (ja) * 1984-10-27 1986-05-21 Nec Corp 情報処理装置
US4837676A (en) * 1984-11-05 1989-06-06 Hughes Aircraft Company MIMD instruction flow computer architecture
US4742480A (en) * 1985-06-06 1988-05-03 Motorola, Inc. Cycle counter/shifter for division
US4920483A (en) * 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US5021947A (en) * 1986-03-31 1991-06-04 Hughes Aircraft Company Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and data processing
JPS63192153A (ja) * 1987-02-05 1988-08-09 Agency Of Ind Science & Technol 並列デ−タ処理装置
US4926445A (en) * 1987-07-01 1990-05-15 The United States Of America As Represented By The Secretary Of The Air Force External asynchronous input tester for bit slice machines
JP2752076B2 (ja) * 1988-02-23 1998-05-18 株式会社東芝 プログラマブル・コントローラ
US5079967A (en) * 1989-09-11 1992-01-14 Teleflex Incorporated Pinch self-adjust control
DE69115058T2 (de) * 1990-01-25 1996-08-08 Shinetsu Chemical Co Epoxyharzzusammensetzung und damit verkapselte Halbleiteranordnung.
JPH03248226A (ja) * 1990-02-26 1991-11-06 Nec Corp マイクロプロセッサ
DE4017132A1 (de) * 1990-05-28 1991-12-05 Oliver Bartels Datenverarbeitungsanlage
EP0654733B1 (en) * 1993-11-23 2000-05-24 Hewlett-Packard Company Parallel data processing in a single processor
US5541865A (en) * 1993-12-30 1996-07-30 Intel Corporation Method and apparatus for performing a population count operation
US5642306A (en) * 1994-07-27 1997-06-24 Intel Corporation Method and apparatus for a single instruction multiple data early-out zero-skip multiplier
US5530661A (en) * 1994-10-05 1996-06-25 Winnov Data bit-slicing apparatus and method for computing convolutions
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
US6738793B2 (en) 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
WO1996017293A1 (en) * 1994-12-01 1996-06-06 Intel Corporation A microprocessor having a multiply operation
WO1996017291A1 (en) * 1994-12-02 1996-06-06 Intel Corporation Microprocessor with packing operation of composite operands
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
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract 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
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
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
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
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
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
WO1997024681A1 (en) * 1995-12-19 1997-07-10 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
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
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
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
US5787026A (en) * 1995-12-20 1998-07-28 Intel Corporation Method and apparatus for providing memory access in a processor pipeline
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
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
US5764943A (en) * 1995-12-28 1998-06-09 Intel Corporation Data path circuitry for processor having multiple instruction pipelines
US5835392A (en) * 1995-12-28 1998-11-10 Intel Corporation Method for performing complex fast fourier transforms (FFT's)
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
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
US6009191A (en) * 1996-02-15 1999-12-28 Intel Corporation Computer implemented method for compressing 48-bit pixels to 16-bit pixels
US5621674A (en) * 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 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
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
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
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
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
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
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
EP2472407A3 (en) * 2001-05-25 2013-05-29 Annapolis Micro Systems, Inc. Method and apparatus for modeling dataflow systems and realization to hardware
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a 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
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7047383B2 (en) * 2002-07-11 2006-05-16 Intel Corporation Byte swap operation for a 64 bit operand
US20050033939A1 (en) * 2003-08-04 2005-02-10 Arm Limited Address generation
US7774744B2 (en) * 2006-04-26 2010-08-10 Sap Ag Using relatedness information for programming
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
US8615540B2 (en) * 2009-07-24 2013-12-24 Honeywell International Inc. Arithmetic logic unit for use within a flight control system
US9983990B1 (en) * 2013-11-21 2018-05-29 Altera Corporation Configurable storage circuits with embedded processing and control circuitry

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3462742A (en) * 1966-12-21 1969-08-19 Rca Corp Computer system adapted to be constructed of large integrated circuit arrays
US3579201A (en) * 1969-09-29 1971-05-18 Raytheon Co Method of performing digital computations using multipurpose integrated circuits and apparatus therefor
US3798606A (en) * 1971-12-17 1974-03-19 Ibm Bit partitioned monolithic circuit computer system
US3987291A (en) * 1975-05-01 1976-10-19 International Business Machines Corporation Parallel digital arithmetic device having a variable number of independent arithmetic zones of variable width and location
US3988717A (en) * 1975-08-06 1976-10-26 Litton Systems, Inc. General purpose computer or logic chip and system
JPS5228243A (en) * 1975-08-28 1977-03-03 Toshiba Corp Bit slice-type lsi function multiplexing
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4210960A (en) * 1977-09-02 1980-07-01 Sperry Corporation Digital computer with overlapped operation utilizing conditional control to minimize time losses
US4161784A (en) * 1978-01-05 1979-07-17 Honeywell Information Systems, Inc. Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
US4224676A (en) * 1978-06-30 1980-09-23 Texas Instruments Incorporated Arithmetic logic unit bit-slice with internal distributed iterative control

Also Published As

Publication number Publication date
EP0042967A2 (en) 1982-01-06
EP0042967B1 (en) 1986-05-14
JPS5731039A (en) 1982-02-19
EP0042967A3 (en) 1982-01-13
US4418383A (en) 1983-11-29
DE3174613D1 (en) 1986-06-19

Similar Documents

Publication Publication Date Title
JPS6330647B2 (ja)
EP0075593B1 (en) A bit slice microprogrammable processor for signal processing applications
US5805486A (en) Moderately coupled floating point and integer units
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US4467444A (en) Processor unit for microcomputer systems
CA1184311A (en) Peripheral interface adapter circuit for use in i/o controller card having multiple modes of operation
US5101498A (en) Pin selectable multi-mode processor
US7350054B2 (en) Processor having array of processing elements whose individual operations and mutual connections are variable
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
JPS6226051B2 (ja)
SG44642A1 (en) A massively multiplexed superscalar harvard architecture computer
EP0214775A2 (en) Multi-precision fixed/floating-point processor
JPS6311697B2 (ja)
US20040254965A1 (en) Apparatus for variable word length computing in an array processor
JPH0431411B2 (ja)
US4339793A (en) Function integrated, shared ALU processor apparatus and method
KR0142334B1 (ko) 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트
GB2092786A (en) Stored-program controlled machine
US4115852A (en) Microprogrammed controller
US5848284A (en) Method of transferring data between moderately coupled integer and floating point units
US4999808A (en) Dual byte order data processor
CA1097818A (en) Apparatus for performing floating point arithmetic operations using submultiple storage
JPS6226050B2 (ja)
Mick Am2900 bipolar microprocessor family
JPH0378083A (ja) 倍精度演算方式及び積和演算装置