JPH09507596A - 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ - Google Patents

大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ

Info

Publication number
JPH09507596A
JPH09507596A JP7518677A JP51867795A JPH09507596A JP H09507596 A JPH09507596 A JP H09507596A JP 7518677 A JP7518677 A JP 7518677A JP 51867795 A JP51867795 A JP 51867795A JP H09507596 A JPH09507596 A JP H09507596A
Authority
JP
Japan
Prior art keywords
circuit
central processing
processing unit
data
output
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.)
Ceased
Application number
JP7518677A
Other languages
English (en)
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 JPH09507596A publication Critical patent/JPH09507596A/ja
Ceased legal-status Critical Current

Links

Classifications

    • 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
    • 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/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)
    • 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/30141Implementation provisions of register files, e.g. ports
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Abstract

(57)【要約】 本発明は複数の独立計算回路と、これらの各計算回路から合成出力を転送するための別個の内部結果バスと、前記の各計算回路に結合された複数の汎用レジスタとを有する大多重化中央処理装置(「CPU」)を提供するにある。前記の各汎用レジスタは、各結果バスに接続された多重化入力ポートを有する。また各汎用レジスタは、計算回路の少なくとも1つの多重化入力ポートに接続された出力ポートを有する。各計算回路は少なくとも1つの固有数理機能の専用であり、また少なくとも1つの計算回路が少なくとも1つの論理機能を含む。少なくとも1つの計算回路は、複数の同時操作可能の数理および論理処理回路と、合成出力を選択してその結果をバス上に転送するための出力マルチプレキサとを含む。また前記CPUは、各CPU構成部分の選択コードと操作コードを代表する一連の割当てられたビットロケーションを使用する非常に長い命令ワードをフィーチャとする。これらの選択コードはプログラム制御回路によって各CPU構成部分に直接に転送される。さらに前記CPUのハーバードアーキテクチャ設計を達成するため、別個のデータ制御回路とデータバスが備えられる。

Description

【発明の詳細な説明】 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ 本発明は一般的にコンピュータアーキテクチャに関するものであり、特に広範 な多重化と非常に広い命令ワード書式とを使用する複合型ハーバード・アーキテ クチャ・コンピュータに関するものである。 下記の2つの特徴を有するコンピュータは一般に「ハーバード」アーキテクチ ャを有すると言われる。すなわち、この種のコンピュータは別々の命令記憶とデ ータ記憶とを有し、コンピュータの中央処理装置(「CPU」)をこれらの各記 憶と別個に通信させる独立バスを備える。これは、命令とデータについて一般に 同一の物理的記憶とCPUとの通信のために単一バス構造とを使用する「フォン ・ノイマン型」またはプリンストン型コンピュータアーキテクチャと相違する。 ハーバードアーキテクチャを有するマイクロコンピュータまたはマイクロプロセ ッサを設計するために下記の特許に記載のように種々のアプローチが採用された 。ヤスイほかの米国特許第5,034,887号、ポルタノバほかの米国特許第 4,992,934号、メーアガルトほかの米国特許第4,964,046号、 およびシンプソンの米国特許第4,494,187号。さらに、インテル i8 60−64ビットマイクロコンピュータは別々の命令およびデータ・キャッシュ パスを有するので、オン・ボード・ハーバードアーキテクチャを有すると記載さ れている。この点に関して、インテル i860チップ設計の説明は1990、 オズボーン・マグローヒル、ニール・マルグリスの「i860 マイクロプロセ ッサアーキテクチャ」に記載されている。 ハーバードアーキテクチャ・マシンにおいて別々の命令およびデータ通信パス を使用する事は、プログラムド操作のコンテキストにおいて、命令にアクセスす ると同時にこの命令または他の命令のデータがアクセスされる事によりコンピュ ータの全体速度を増大させ、この命令は通常「オプコード」(操作コード)と呼 ばれ、データは「オペランド」と呼ばれる。ハーバードアーキテクチャを使用す る際の速度利点は顕著であるが、ハーバードアーキテクチャに基づくマシンの可 能性全部を実現しなければならない。しかし、ハーバードアーキテクチャコンピ ュータの顕著な進歩は、プログラムメモリアドレスの順序シーケンスを含むアド レス記憶を使用するフィーチャにある。(「キューメモリ」と呼ばれる)アドレ ス記憶は、プログラムメモリアドレスのスタックを通して実行される操作の順序 を確定する。この点に関して、これらの各プログラムメモリアドレスは、プログ ラムメモリ中に含まれる特定サブルーチンの第1命令のロケーションを識別する 。またアドレス記憶は1つまたは複数のサブルーチン引き数のアドレスを含み、 このアドレスが値記憶またはデータメモリの中に含まれる。従って、アドレス記 憶は、ハーバードアーキテクチャに基づくコンピュータのプログラムメモリとデ ータメモリの両方のロケーションサーバとして使用される。 本発明はキューメモリの利点に基づくのみならず、先行技術のハーバードアー キテクチャコンピュータ設計からの著しい片寄りを示す。この点に関して、本発 明の主目的は高度の設計およびプログラミングフレキシビリティを有するハーバ ードアーキテクチャベースのマイクロプロセッサを提供するにある。 本発明の他の目的は、小サブルーチンを含めて単一命令で数種の操作を実施す る事のできるハーバードアーキテクチャベースのマイクロプロセッサに関するも のである。 また本発明の目的は、単一命令が単一クロックサイクルで同一コンピュータ構 成部分の多重使用を可能とするハーバードアーキテクチャベースのマイクロプロ セッサに関するものである。 本発明のさらに他の目的は、マイクロコードの復号化あるいは命令レジスタさ えもまったく必要としないハーバードアーキテクチャベースのマイクロプロセッ サを提供するにある。 本発明のさらに他の目的は複合スーパスカラー操作を実施するために並列処理 を使用するハーバードアーキテクチャベースのマイクロプロセッサを提供するに ある。 本発明のさらに他の目的は、パイプライン命令においてブランチ操作またはジ ャンプ操作が実施される際の非効率を除去するハーバードアーキテクチャベース のマイクロプロセッサを提供するにある。 本発明のさらに他の目的は、クロックと同時にデータ変更の生じる準安定状態 を避ける事のできるハーバードアーキテクチャベースのマイクロプロセッサを提 供するにある。 本発明のさらに他の目的は、「特定用途向けIC」(「ASIC」)において 安価に製作する事のできるハーバードアーキテクチャベースのマイクロプロセッ サを提供するにある。 前記の目的を達成するため、本発明は複数の独立計算回路と、これらの各計算 回路から合成出力を転送するための別個の内部結果バスと、前記の各計算回路に 結合された複数の汎用レジスタとを有する大多重化中央処理装置(「CPU」) を提供するにある。前記の各汎用レジスタは、各結果バスに接続された多重化入 力ポートを有する。また各汎用レジスタは、計算回路の少なくとも1つの多重化 入力ポートに接続された出力ポートを有する。各計算回路は少なくとも1つの固 有数理機能の専用であり、また少なくとも1つの計算回路が少なくとも1つの論 理機能を含む。少なくとも1つの計算回路は、複数の同時操作可能の数理および 論理処理回路と、合成出力を選択してその結果をバス上に転送するための出力マ ルチプレキサとを含む。 またCPUは、各CPU構成部分の選択コードと操作コードを代表する一連の 割当てられたビットロケーションを使用する非常に長い命令ワードをフィーチャ とする。これらの選択コードはプログラム制御回路によって各CPU構成部分に 直接に転送される。さらにCPUのハーバードアーキテクチャ設計を達成するた め、別個のデータ制御回路とデータバスが備えられる。 本発明によるCPUは、真のスーパスカラー操作を生じるのみならず、その操 作の一部は単一クロックサイクル中に同一構成部分の多重使用を可能とする程度 に急速である。例えば、汎用レジスタの内容をインクリメンタ計算プロセッサの 内容に加算し、次にこの値を同一クロックサイクル中に同一汎用レジスタの中に 逆記憶する事ができる。 本発明の1つの実施態様において、計算プロセッサの入力範囲に関して得られ る選択性を最大限にするため、汎用レジスタと計算ユニットとの間に複数のソー スマルチプレキサ回路を介在させる事ができる。さらにCPUは、必ずしもプッ シュ/ポップ操作を必要としない選択的にアドレス可能のスタック回路を含む。 また汎用レジスタの能力の補充または補完のためオンチップローカルランダムア クセスメモリ(「RAM」)回路を備える事ができる。CPU中の多くの構成部 分と同様に、このローカルRAMは多重化されているので、これは各種ソースか らの値を書込む事ができる。またCPUは、CPUの内部操作の中にウインドを 成すローカル解析ポートをフィーチャとする。 以下、本発明を図面に示す実施例について詳細に説明するが本発明はこれに限 定されない。これらの図において、 第1図は本発明によるCPUを含む基本的コンピュータ回路のブロックダイヤ グラム、 第2図は第1図のCPUの概略ブロックダイヤグラム、 第3A図乃至第3D図は第1図と第2図に図示のCPUのさらに詳細なブロッ クダイヤグラム、 第4A図乃至第4D図はCPUによって使用される各種ワード書式を示すダイ ヤグラム、 第5A図乃至第5H図は第1図、第2図および第3A図乃至第3D図に図示の CPUの全体概略ダイヤグラム、 第6図はCPUによって使用されるクロック信号を示すタイミングダイヤグラ ム、 第7図はCPUの二、三の構成部分において使用される型のブリゲード・ラッ チ回路の詳細ブロックダイヤグラム、 第8図は第2図に図示のインクリメンタ計算プロセッサの詳細ブロックダイヤ グラム、 第9図は第2図に図示の加算器計算プロセッサの詳細ブロックダイヤグラム、 第10図は第2図に図示のコンパレータの詳細ブロックダイヤグラム、 第11図は第2図に図示の汎用レジスタの詳細ブロックダイヤグラム、 第12図は第2図に図示のプロングメモリ制御回路の詳細ブロックダイヤグラ ム、 第13図は第2図に図示のデータメモリ制御回路の詳細ブロックダイヤグラム 、 第14A図は第2図に図示のキューメモリ制御回路の詳細ブロックダイヤグラ ム、第14B図乃至第14C図はキューメモリ制御回路によって使用されるワー ド書式のダイヤグラム、 第15A図乃至第15B図は第2図に図示の出力回路の詳細ブロックダイヤグ ラム、 第16図は第3B図の割り込み回路の詳細ブロックダイヤグラム、 第17図は第3B図に図示のエラートラッキング回路の詳細ブロックダイヤグ ラム、 第18図は第2図に図示のスタック回路の詳細ブロックダイヤグラム、 第19図は第3D図の循環けた送り/マージ回路の詳細ブロックダイヤグラム 、 第20図は第3D図のブール計算機の詳細ブロックダイヤグラム、 第21A図乃至第21C図は第3D図に図示のマルチプライヤーの詳細ブロッ クダイヤグラム、 第22図は第3C図に図示の除算回路の詳細ブロックダイヤグラム、 第23A図乃至第23C図は第3D図に図示のバイナリ−BCDコンバータの 詳細ブロックダイヤグラム、 第24図は第3D図に図示のパリティーチェッカーの詳細ブロックダイヤグラ ム、 第25A図乃至第25C図は第3D図に図示の圧縮回路の詳細ブロックダイヤ グラム、 第26図は第3D図に図示のインフレーション回路の詳細ブロックダイヤグラ ム、また 第27A図乃至第27B図は第1図のCPUの単一命令例のダイヤグラムであ る。 第1図について述べれば、本発明によるCPU12を含む基本的コンピュータ 回路10のブロックダイヤグラムが図示されている。この場合、CPU12はマ イクロプロセッサと呼ばれ、このマイクロプロセッサにおいてCPU12は好ま しくは単一の集積回路として構成されている。同様に、コンピュータ回路10は 単一の「チップ」CPUを使用するのでマイクロコンピュータと呼ぶ事ができる 。しかしその名称は本発明そのもの可能性ほどには重要でなく、本質的なのは本 発明の可能性である。この点に関して言えば、CPU12はプログラムド命令を 実行する本発明のユニットであって、下記の説明から明かなように、このCPU は多数の集約的な複雑な計算タスクを迅速に実施する事ができる。 本発明による1つの実施態様において、CPU12は大規模特定用途向け集積 回路(「ASIC」)を使用して構成され、このASICは多数の論理ゲートを 含み、これらのゲートが相互に接続されて特定回路機能を実行するように成され ている。例えばCPU12は、カリフォルニア、マイルピタス、LSIロジック 、コーポレーションによって製造された391 pinLCA 100K AS IC装置とする事ができる。この特定のASIC装置は約247,000のAN D回路を含み、これらのAND回路が相互に組合わされて種々の相異なる回路を 形成する。ASIC構造は比較的小型で迅速かつ安価な利点を有する。しかし、 適当用途においてCPU12を構成するために完全に従来の集積回路を含めてそ の他の適当な集積回路を使用できる事を注意しよう。 第1図に図示のように、CPU12はデータメモリ制御回路14と、プログラ ムメモリ制御回路16と、キューメモリ制御回路18とを含む。これらの3種の メモリ制御回路はそれぞれ別個にまた並行的に作動するので、データ、プログラ ム命令およびプログラムポインターがすべてCPU12の同一の基本的クロック サイクルの中でアクセスされる。この点に関して、コンピュータ回路10は外部 データメモリシステム20と、外部プログラムメモリシステム22と、外部キュ ーメモリシステム24とを使用する事ができる。しかし、これらの外部メモリシ ステムは適当用途においてCPU12と統合する事もできる事を注意しよう。ま たデータメモリシステム20は、CPU12の専用メモリと、CPU12とその 他の計算装置との間に共用されるメモリとを含む事ができる。例えば共用メモリ は、他の計算エンティティとの通信を処理する専用計算装置との間においてCP U12へのまたはCPU12からの信号を伝送を容易にするために使用する事が できる。 さらに第1図に図示のように、CPU12は40ビットデータバス26と24 ビットデータメモリアドレスバス28とを備え、これらのバスはいずれもCPU 20とインタフェースするために外部からアクセスされる。従って、CPU12 は16,777,216の40ビットデータワードまでアドレスアップする能力を有する。 またデータ流れをCPU12の中に出入させるために読取り書込みライン30が 備えられる。前述に対して、CPU12はプログラムメモリシステム22とイン タフェースするために120ビットプログラムデータバス32と24ビットプロ グラムデータバス34とを備える。下記に詳細に説明するように、CPU12中 の特定構成部分の動作を指向するために非常に幅広い120ビットプログラムデ ータワードの80ビットが使用される。120ビットプログラムデータワードの 残りの40ビットは40ビットデータワードの書式を反映する。この点に関して 、この追加40ビット能力を利用して、プログラムドデータまたはアドレス値を 命令の中に合体させる事ができる。またCPU12はキューメモリシステム34 をインタフェースするための24ビットキューデータバス36と24ビットキュ ーメモリアドレスバス36とをフィーチャとする。キューデータバス36の24 ビット幅パスは、プログラムメモリシステム22にアドレスポインターを伝送す るその用途を反映している。しかし前記の各バス幅は特定の構成に対応するよう に増減できる事を注意しよう。しかしながら、プログラムデータバス32の幅は CPU12によって実行されうるタスクを確定する各操作コードを特定できるほ どに大きくなければならない事を注意しよう。 第1図に図示のように、CPU12は複数の別個の同時的に作動可能の計算プ ロセッサを含む、さらに詳しくは、第1図において主数理ユニット40、加算ユ ニットおよびインクリメンタユニットを含む。説明のため、加算ユニットとイン クリメンタユニットは、別個の計算プロセッサであるが、これを参照数字42で 結合した。加算およびインクリメンタユニット42はその名称から明かなような 機能を有するが、主数理ユニット40は複数の同時作動可能の数理および論理回 路を含む。例えば主数理回路40は減算回路、除算回路、乗算回路、バイナリ値 をバイナリ2進化10進書式(「BCD」)に変換する回路、論理AND回路、 論理OR回路および論理ExORing回路を含む。しかし主数理ユニットは、 CPU12の他の回路に伝送するために得られた出力の1つを選択する出力マル チプレキサを含む。 さらにCPU12は複数の汎用レジスタ、ローカルRAM回路、およびエラー トラッキング回路を含む。説明の便宜上、これらの特殊構成部分は全体として参 照数字44で示す。同様に説明の便宜上、二、三の他の回路構成部分を全体とし てその他回路46で示す。これらの回路は、40ビット幅論理分析マルチプレキ サ、コンパレータ回路、割り込み回路、およびデータ圧縮/拡張回路を含む。C PU12は72MHzクロック信号を受け、これがCPU12の基礎的クロック 周波数を成す。しかし第6図について説明するように、その他回路46がこの基 礎的クロック周波数から数種の相異なるクロック信号を発生する。 第2図について述べれば、本発明による内部多重化またはバス構造を概観する ため、CPU12の簡略化されたブロックダイヤグラムを示す。さきに簡単に述 べたように、CPU12は複数の汎用レジスタ100を含む。これらの各汎用レ ジスタは40ビット幅データワードを受け、記憶し、転送する事ができる。この 実施例において、合計5個の汎用レジスタが備えられる。汎用レジスタの数は、 同時実行を容易にするために望ましいタスクの数と関連している。例えば下記に 説明するように、CPU12は3つの主要計算バスを有する。従って、これらの 各計算バスに伝送される合成をCPU12によって保管するために、少なくとも 3個の汎用レジスタが必要である。しかし、汎用レジスタの数は特定用途に従っ て変動する事を注意しなければならない。この実施態様においては、第2図に図 示のように各汎用レジスタ100はS1マルチプレキサ102、S2マルチプレ キサ104、加算回路106、インクリメンタ回路107、コンパレータ回路1 08、およびデータメモリ制御回路14に接続されている。また汎用レジスタ1 00の他のものはCPU12の他の構成部分にも接続されるが、これらの接続 は第2図の簡略化ブロックダイヤグラムには図示されていない。 S1マルチプレキサ102とS2マルチプレキサ104は各汎用レジスタ10 0からの40ビットデータワードを主数理ユニット40の中に含まれる回路に対 して選択的に指向する事ができる。説明の便宜上、第2図に図示の主数理ユニッ ト40は主ブロック110、論理ブロック112および出力マルチプレキサ11 4を含むものとする。下記に説明するように、主ブロック110は複数の数理処 理回路を含み、また論理ブロック112は複数の論理処理回路を含む。この点に 関して、S1マルチプレキサ102からの40ビット幅出力バスは主数理ユニッ ト40の中に含まれる各処理回路に接続されている。同様にS2マルチプレキサ 104からの40ビット幅出力バスは、第3D図に示す構成部分以外は主数理ユ ニット40の中に含まれる各処理回路に接続されている。従ってCPU12は、 汎用レジスタ100の内容を主数理ユニット40中のそれぞれの処理回路に指向 する意味で実質的な多重化汎用性を有する。さらに、重要な事は、主数理ユニッ ト40中の各処理回路はそれぞれの割当てられたタスクを同時に実行し、またこ の場合、どの応答信号が望ましいかを選択するために主数理マルチプレキサ11 4が使用される。例えば、主数理ユニット40はS1およびS2データ幅を加算 しまたこれらの2つのデータ幅を論理的にANDし、同時にそれ以上指向しまた は選択しない。主数理マルチプレキサ114が、これらの合成のいずれがCPU 中の他の構成部分によって使用されるかを選択するように命令される。また主数 理マルチプレキサ114は、与えられた数理または論理合成のいずれかの代わり に、単にS1またはS2マルチプレキサデータ幅をその出力として使用する事が できる。 主数理ユニットバス116からの40ビットデータ幅出力がCPU12の中に 含まれる3主要計算データバスの1つを成す。他の2つの計算データバス118 −120はそれぞれ加算回路106およびインクリメンタ回路107から誘導さ れる。加算回路106とインクリメンタ回路107は共に符号付きの40ビット 完全加算器である。これらの各計算データバスは各汎用レジスタ100に接続さ れる。計算データバス上に存在するデータ幅を選択しまたそれ自体の出力を選択 するため、汎用レジスタ100を含む各回路の中に入力マルチプレキサが備えら れる。従って例えば第1汎用レジスタ100が主数理ユニット40によって実行 されるバイナリ−BCD変換からの合成を受けて記憶するために使用され、第2 汎用レジスタ100が加算回路106からの合成を記憶するために使用され、ま た第3汎用レジスタ100がインクリメンタ回路107からの合成を受けるため に使用される。下記においてさらに詳細に説明するように、これらの各計算タス クとこれに続く汎用レジスタ100における合成の記憶は単一命令を使用する事 により単一クロックサイクルで実施される。 また第2図はインクリメンタ回路107とキューメモリ制御回路18との関係 を示す。このようにして、キューメモリシステム24のアドレスを設定し次のプ ログラムアドレスを確定するためにインクリメンタ回路107が使用され、この プログラムアドレスがCPU12に供給される。同様に加算回路106がスタッ ク回路121によって使用されるアドレスを設定するために使用され、サブルー チンの復帰アドレスなどのデータワードを記憶する。インクリメンタ回路107 と加算回路106については、第8図と第9図についてさらに詳細に説明する。 3主要計算バス116−120のほか、データメモリ制御回路14が内部40 ビットデータバス15を成す。内部データバス15は(51および52マルチプ レキサを通して)主数理ユニット40、加算回路106、インクリメンタ回路1 07およびコンパレータ108に接続される。言い替えれば、内部データバス1 5はCPU12中に含まれる各計算処理回路に対入力データワードを指向する事 ができる。また内部データバス15は下記に説明するように、数個の他の回路に 接続される。 コンパレータ108は任意の汎用レジスタ100中の任意ビットの値を設定す るために使用する事ができる。この点に関して、コンパレータから得られた合成 が出力回路122とプログラムメモリ制御回路16とに転送される。出力回路1 22は、使用しやすい単一ワードを形成するために信号集合が「寄せ集め」られ るモジュールである。またコンパレータ108はプログラムフローを変更するた めの論理信号を生成するために使用する事ができる。この場合、コンパレータ1 08からの合成がプログラムメモリ制御回路16によって利用される。コンパレ ータ108は下記演算を実行する事ができる。すなわち、「に等しい」、「に等 しくない」、「より大」、「より小」、「より大または等しい」、「より小また は等しい」、「S1マルチプレキサ102とS2マルチプレキサ104がゼロに 等しくない」、「ブールビット真(S1マルチプレキサ102の場合、ビット1 5)」。 プログラムメモリ制御回路16は、プログラムメモリシステム22から120 ビットプログラム命令を受けてラッチ(すなわち保管)し、またプログラムメモ リシステム22にアドレスするために使用される。プログラムメモリ制御回路1 6からの出力信号は、CPU12中の他の回路構成部分の演算を指向する各「操 作コード」制御ラインを含む。これらの操作コードラインは一般に80ビット幅 の操作コードまたはセレクトバス17を含む。またプログラムメモリ制御回路1 6は、スタック回路121によって使用されうるプログラムカウンターを含む。 また第2図は、CPU12がローカルRAM回路124を含む事を示す。ローカ ルRAM回路124は256までの40ビットデータワードを記憶する容量を有 する。汎用レジスタ100の場合と同様に、ローカルRAM回路124は3計算 バス116−120の間の選択のための入力マルチプレキサと、それ自体の出力 とを含む。ローカルRAM回路124に対するアドレスは2つのソースの一方か ら生成される。すなわち汎用レジスタGP4または直接にプログラムデータ バスから生成される。 さらに第2図は論理分析マルチプレキサ126を示す。論理分析マルチプレキ サ126はCPU12の内部演算状態を確定するためのビューポートとして使用 される。この点に関して第2図は、論理分析マルチプレキサ126が多数の入力 信号を受け、これらの入力信号が外部分析のために交代選択される。例えば論理 分析マルチプレキサ126は3計算バス116−120のそれぞれに対して、ま た出力回路122と各汎用レジスタ100に対して接続されている。第1図に図 示のように、論理分析マルチプレキサ126は、セレクトバス17上の操作コー ドを通して内部的にアドレスされるのでなく、外部的にアドレスされる。このよ うにして、論理分析マルチプレキサ126の演算は、プログラムメモリ制御回路 16などの他のオンチップ回路の固有演算には依存しない。 第3図A−Dについて述べれば、これらの図にはCPU12のさらに詳細なブ ロックダイヤグラムが図示されている。第3B図において図示のデータメモリ制 御回路14はデータメモリインタフェース回路128を含み、このインタフェー スが専用および共用データメモリシステム20に接続される。またデータメモリ 制御回路14はデータアドレスマルチプレキサ130と、データワードマルチプ レキサ134と、ラッチ回路134とを含む。このデータメモリ制御回路は第1 3図においてさらに詳細に説明するが、外部データメモリシステム20からデー タを要求するためのアドレスは種々のソースから誘導されうる事を注意しなけれ ばならない。同様に40ビット幅データワードそのものが、外部データメモリシ ステム20を含めて種々のソースから誘導される。 第3B図は、キューメモリ制御回路18がデータメモリ制御回路14と類似の 回路構造を利用する事を示す。しかし、キューメモリ制御回路18は加算回路1 36を含み、この加算回路はキューメモリアドレスを1づつ自動的に増分するよ うに選択される。さらに、キューメモリアドレス値は汎用レジスタGP5から 誘導される事を注意しなければならない。汎用レジスタGP5はこの目的から選 択されたものであるが、キューメモリアドレス値を供給するために1つまたは複 数の他の汎用レジスタを使用できる事を注意しよう。 第3A図はプログラムメモリ制御回路16の各入力および出力信号ラインを示 す。この点に関して、第3A図は、プログラムアドレスがキューメモリデータバ ス138を含めて相異なる8ソースから選択されうる事を示す。前述のように、 セレクトバス17は、それぞれの割当てられた構成部分に導く管路セットを示す 。従ってこの実施態様においては、特定構成部分に対するセレクトバス17の入 力接続はセレクトバス17を構成する80の管路のいずれか1つまたは複数を代 表する。これらの接続をさらによく理解するため、下記の表1はセレクトバス1 7におけるそれぞれの割当てられたビットロケーションを示す。 一例として汎用レジスタGP1に対する入力選択をとれば、表1から明かなよ うに、この汎用レジスタに対して入力マルチプレキサによって成される選択を制 御するため2つのビットフィールド(すなわち、2つの導体)、すなわちビット ロケーション「38」と「39」とがある。この点に関して、各汎用レジスタ1 00は相異なる4入力、すなわち主数理ユニット計算バス116、加算器計算バ ス118、インクリメンタ計算バス120およびそれ自体の出力(第11図に図 示)の間の選択を成す事を注意しなければならない。この実施態様においては4 入力信号の間の選択を成す必要があるが、相異なる4バイナリ組合わせの可能性 を生成するためには2選択ラインのみを必要とする事を理解しなければならない 。これらの選択ラインのバイナリ状態がどの入力信号を選択するかを確定するの であるから、これらの選択ラインは本明細書において「who」ラインと呼ばれ る。例えば、汎用レジスタ100の場合、問題のレジスタに先に書込まれたデー タはその選択ビットが「00」である場合、そのレジスタに再書込みされる。同 様に、選択ビットが「01」なら(すなわち、1のアドレスなら)、主数理計算 バス116上の内容が汎用レジスタに書込まれる。汎用レジスタGP1の場合、 これは選択ライン「38」がデジタル「1」であり、また選択ライン「39」が デジタル「0」である事を意味する。同様に選択ビットが「10」(2のアドレ ス)なら、加算器計算バス118上の内容が汎用レジスタ上に書込まれる。最後 に選択ビットが「11」(3のアドレス)であれば、インクリメンタ計算バス1 20上の内容が汎用レジスタに書込まれる。この時点において、CPU12にお いて、最下位ビット位置が任意のバイナリデータフィールドの最下値を含む事を 注意しなければならない。 各汎用レジスタ100はその演算のために2つだけ選択ラインを必要とするが 、他の二、三の構成部分はこれより多数の選択ラインを必要とする。例えば表1 に示すように、コンパレータ108は全部で9選択ラインを使用する。さらに詳 し くは、入力(MUX1)マルチプレキサ140を制御するためにビットロケーシ ョン「28−30」が使用され、入力(MUX2)マルチプレキサ142を制御 するためにビットロケーション「31−33」が使用され、またコンパレータ回 路144そのものによって実行される演算の型を制御するためにビットロケーシ ョン「34−36」が使用される。この点に関して、コンパレータ108は相異 なる8入力信号の2グループに対して相異なる8機能を実行する事ができる。コ ンパレータ機能は表2に表示され、またマルチプレキサ割当ては表3に表示され ている。 前記の表から明かなように、コンパレータ108は任意のMUX1入力信号を 任意のMUX2入力信号と種々の形で比較するために使用する事ができる。従っ て例えば、汎用レジスタGP2の内容がローカルRAM124の内容より大また は同等である事を確定する事ができる。結果が真であれば(すなわち正確な一致 が発見されれば)、コンパレータ108の出力が真となる。この点に関して、バ イナリ「1」(000004.0000)は真状態を代表し、バイナリ「0」は偽状態を代 表する。比較の結果は出力レジスタ122からビット位置「17」においてアク セスする事ができる。また比較結果は、ジャンプ条件を確定するためにプログラ ムメモリ制御回路16において使用する事ができる。 主数理ユニット40は入力マルチプレキサを有しない事においてCPU12中 に含まれる他の多くの構成部分と相違する。むしろ、主数理ユニット40の出力 側において多重化機能は主数理マルチプレキサ114を通して実施される。主数 理ユニット40は第3D図にさらに詳細に図示されている。さらに詳しくは、第 3D図は、主数理ユニット40が実行する事のできるそれぞれの数理タスクと論 理タスクと説明するために回路ブロックダイヤグラムを含む。除算器146(第 3C図)を除き、これらの各数理および論理ブロックはそれぞれ出力信号を主数 理マルチプレキサに指向する。むしろ、除算器146からの40ビット出力信号 はその入力ソースの1つとしてのS2マルチプレキサ104に指向される。これ は、除算回路146が、完了するまでに数反復(すなわち21クロックサイクル )を必要とする通常の「シフト・アンド・サブトラクト・イフ・ポシブル」を使 用するからである。従って、除算はCPU12中のバックグラウンド・プロセス として実施される。 第3D図に図示のように、主数理ユニット40はバイナリ−BCDコンバータ 148、優先エンコーダ150、論理AND回路152、論理OR回路154、 排他的OR回路156、加算/減算回路158、圧縮およびインフレーション回 路160、ロテート/マージ回路162、パリティ・チェッカー164、ビット 計算器166およびマルチプライヤー回路168とを含む。バイナリ−BCD回 路148は6ディジット16値数を8ディジットバイナリ符号化10進数に変換 するために備えられる。変換される値はS1マルチプレキサ102によって供給 される。バイナリ−BCD変換はCPU12において2クロックサイクルをとる 唯一のタスクである。このタスクと除算タスクを除き、他のすべてのタスクは1 クロックサイクルで実行される。従ってS1マルチプレキサ102によるデータ 入力は、結果が主数理マルチプレキサ114の出力が正確に読出されるまで安定 であって2連続命令に対して選択されなければならない。 優先エンコーダ150は(ベース2に対する)対数演算と、(ベース2に対す る)真数変換演算を支援するために使用される。この点に関して、優先エンコー ダ150は、S1マルチプレキサ102から符号ビットを無視して最大値非ゼロ ビットを検出する。この操作をさらによく理解するためには、CPU12によっ て使用される計数システムの予備的検討が有効であろう。この点に関して、第4 A図はCPU12によって使用される全体で40ビットのデータワード書式のダ イヤグラムを示す。実際上、すべての数は2の補数ではなく、「符号+量」とし て表示される。整数は15ビット乃至39ビットを占め、符号ビットがビット位 置39を占める。実数がすべてのビット位置を占める。この特殊の書式はスケー ルド算術の必要を排除し、またデータ圧縮技術の有効性を増進する。またデータ 全体の整数部分をアドレスの表示のために使用し、アドレスビット「0」がデー タワードのビット「15」の位置を占める事を注意しなければならない。 16進書式への変換は下記のように実施される。符号ビットがバイナリ「1」 であれば、この数は負である。さもなければ、この数は正である。整数部分は、 6ヘックスディジットへの24ビットのそのままの変換である。分数部分は左方 から右方へ4ビットづつ取られる。最後のバイトの最下位ビット(「LSB」) は常にバイナリ「0」と取られる。これは、0.0000乃至0.FFFEの範囲を与え、L SBが「1」の数字(すなわち、0001,0003,0005,FEC7など)の表示は存在し ない。CPU12はゼロの両方の表示を可能とする。例えば、コンパレータ10 8は正ゼロを負ゼロより大と認識する。計算に際してのエラーを防止するため、 主数理ユニット40は正ゼロのみをその計算に戻す。しかし加算回路106とイ ンクリメンタ回路107は負ゼロを戻す事ができる。また「−1」はインクリメ ンタ回路107に対する2つの入力マルチプレキサの一方の選択可能選択子とし て与えられ、またこれは実際上「符号+量」数ではなく、2の補数である事を注 意しなければならない。 この計数システムを利用して、優先エンコーダ150の操作例を下記に示す。 すなわちもしS1マルチプレキサ102が1.FFFE のヘックス値を与えるとすれ ば、優先エンコーダによって得られる結果は +F.0000となる。これは、最高値非 ゼロビットが位置「15」にある事を意味する。同様に、S1マルチプレキサ1 02がヘックス値 5E,4A3.25CBA を与えるなら、優先エンコーダ105からの 出力は +21.0000 となろう。優先エンコーダ150によって与えられるハードウ ェア支援を利用して、科学的表記法(すなわち浮動点表記法)に対する「特性」 がソフトウェアの操作によって得られる。この点に関して、入力ワードは第4B 図のダイヤグラムによって可視化され、この場合、yは+/−32から出発する 事ができる。もし z =[(1+x1+x2)*2 to the y]であれば、zのlogへの近似 値は下記の級数展開から近似的に確定できる。 (x1の値に基づく)テーブル検索により、k1とk2の値が得られる(25 6セグメントがある)。この場合、結合解答は下記である。 log2(z)= y + k1+(x2*k2) この解答書式は第4C図に図示されている。 前記のプロセスを要約すれば、 (1)zを対数アシストハードウェアに加えると、このハードウェアがビッ ト位置をレジスタに入れる(15を引いてyの値をえる)、 (2)x1とx2をえるため、zをシフトしてM5ビットをビット33に入 れる、 (3)x1を指数として使用し、テーブル検索してk1とk2を得る、 (4)logZ(z)を計算する(yが負なら、わずかに異なるアルゴリズムを使 用する事を注意しよう)。 x1セグメントの数と最終書式が1ppmの精度のlog値を与える事を注意 しよう。またこの値が、これに(2乃至 -19th)を乗じる事によって正規データ ワード書式に変換される。 基底2への真数変換について下記の述べる。前記の対数書式が与えられている ので、これを第4D図に図示のように構文解析する。正値に対しては、z=2乃 至ベキ(y + x1 x2)である。x1は512セグメント長である事を注意しよう。 そこで、x2が小であるので、他の級数展開を使用して、 z=[2(to the y)]*[2(to the x1)]*[1+x2* Ln2] このプロセスを要約すれば、 (1)入力ワードを3セグメント、y、x1およびx2に構文解析する。 (2)テーブル検索によって、2(乃至x1)の値を確定する。 (3)式[2(to the x1)]*[1 + x2 * Ln2]を計算する。 (4)前記の値をy位置によってシフトする。 対数および真数変換について前記のアルゴリズムを使用した例を下記に示す。 この例において、問題は 20,000 の平方根を求めるにある。この例は数の対数を 求め、これを2で割り、次に次に解答を得るため真数を求める。 段階1 − 対数アシストハードウェア(およびシフト/マージング処理) は1.2207031 x(2乃至14)の中間値を生じる。 (ビット位置29から14が誘導され、15(小数点位置)を引き、中間位置 に一致するようにオリジナルワードを左方にシフトさせる。) これは、x1 = 56/256 および x2 = 1/512 の値を生じる。 下記の式を適用する。 Applying the equations,log2(z)=14+log2(1+56/256) +[Log2(E)*(1/512)/(513/512+112/512)] =14+0.285,402,2+0.02,308.3=14.287,71 0.5 段階2 − 前記対数値を 2で割る =7,143,885,25 段階3 − 7,143,885,25の2真数を求める。この数を構文解析する。 y=7,x1=73/512 x2=0.001,227,1(=0.653/512) 解答=[2to the7]*[2to the73/512]*[1+x2* Ln2] =左へ7回シフト[1.103,876,003]*[1.000, 885,218] =[2to the 7]*[1.104,853,174] =141.421,208 同一問題を解決するために科学的計算機(すなわち、T1−60)を使用した 時、得られた解答は 141.421,356 であった。従って前記のアルゴリズムによっ て与えられた解答は1ppmまで正確であって事がわかる。 AND回路152、OR回路154およびExOR回路156は簡単なビット ・バイ・ビットブール回路で作成する事ができる。この点に関して、ビット計算 機回路166はこのようなビット・バイ・ビットブール回路を使用する。このビ ット計算機回路は第20図に図示されている。この回路166は2つの主要機能 、すなわちマスク機能(AND機能)およびマージ機能(OR機能)とを有する 。マスク機能とマージ機能の両方が同一命令で実施されるであるから、この操作 はAND回路152とOR回路154を逐次命令に対して選択するよりもすぐれ ている。一部のビットを隔離するためにビット計算機166を使用する事もでき る。ビット計算機166は、3論理機能のいずれを実行するべきかを選択するた めにマルチプレキサ170を含む。マルチプレキサ170の選択コードは、下記 の表 4に記載の主数理ユニット機能選択コードから誘導される。これらのコードは、 表1に図示のように選択バス17のビットロケーション「0」乃至「5」から与 えられる。 アスタリスク記号「*」によって識別された機能選択は、エラーフラッグも論 理的に選択されエラートラッキング回路(第17図)を通して排除される事を意 味する。この点に関して、オーバフローまたはエラー条件のいずれかが検出され た時にプラスまたはマイナスのフルスケール値が自動的に選択される。また算術 機能は自動的に−ゼロを+ゼロと等しくなるように訂正する。ポンド符号記号「 ♯」によって識別された機能選択は、エラービットがキャリーフラッグに変換さ れまた解答が計算されたものとして転送される事を意味する。 圧縮回路とインフレーション回路が全体として参照数字160によって表示さ れる。これらの回路全体が圧縮コード機能、圧縮データ機能おインフレーション 機能を提供する。S1マルチプレキサ102によって提供された数に4フィール ドコードを戻すために圧縮機能が使用される。圧縮データ機能は40データビッ トワードを8の5ビットニブルとして評価する。S1マルチプレキサ102上に 表示された圧縮値を回復するためにインフレート機能が使用される。圧縮回路と インフレーション回路は第25図と第26図についてさらに詳細に説明する。 循環けた送り/マージ回路162は、3主要機能、すなわち40ビット循環け た送り、マスクおよびマージ機能を有する。この点に関して、表4は、どれだけ のビット位置を循環けた送りすべきがを確定するために最初の40機能コードが 使用される事を示す。循環けた送り/マージ回路162は第19図について説明 する。 ビット「15」乃至「20」を主数理出力バス114に送るためにパリティー 回路164が使用される。ビット位置「15」乃至「23」中の設定ビットの数 (9−ビット)が奇数であれば、主数理出力ビット「22」が設定される。これ は、9ビットまでの入力ワードから奇数パリティーを有する7ビットデータワー ドを形成する。従って、入力ビット「22」と「23」は出力ビットとして使用 可能でない。 第3D図はマルチプライヤー168を、単一ブロックとして、また破線輪郭中 の詳細に回路図として示す。表4の主数理ユニット機能選択コードによって示さ れるようにマルチプライヤー168は乗算を含めて、数種の相異なる演算を含む 事ができる。第1位置において、マルチプライヤー168は、S1マルチプレキ サ102とS2マルチプレキサ104とから受けた入力ワードから乗算積を生成 するための39×39乗算回路172を含む。この点に関して、積の上方および 下方39ビットは主数理出力マルチプレキサ114から選択する事ができる。ま たマルチプライヤー168は加算回路174を含み、この加算回路は39×39 マルチプライヤー回路172からの積を汎用レジスタGP3,GP4またはGP 5の内容に加算する。エラー訂正回路176が負ゼロ訂正のために備えられる。 さらにマルチプライヤー168は、さらに複雑な算術演算を実施するために第2 加算回路178を含む。この場合、汎用レジスタGP4とGP5の内容が相互に 加算され、この積が39×39マルチプライヤー回路172からの積に加算され る。 第3B図はCPU12が割り込み回路180とエラートラッキング回路182 とを含む事を示す。割り込み回路180は、外部発生割り込み信号を検出しラッ チするために使用される。次に割り込み信号は応答動作のためにプログラムメモ リ制御回路16に転送される。割り込み回路182は第16図についてさらに詳 細に説明する。エラートラッキング回路182は、エラーを計数し最後のエラー のアドレス(すなわち、プログラムカウンター値またはキューアドレス)を割出 すにある。エラートラッキング回路182は出力レジスタ122のビット位置「 2」によってイネーブル化されまたはディスイネーブル化される。エラートラッ キング回路182は第17図についてさらに詳細に説明する。 第5A図乃至第5H図について述べれば、CPU12の全体ダイヤグラムを示 す。さらに詳しくは、第5A図はCPU12によって受けられた各入力信号を示 す。また第5A図は操作コードまたは選択バス17を成す信号ラインのブレーク アウトを示す。例えば、データバスライン「D_Data_in」は型「40」 であって、これが「40」導線を含む事を意味する。同様に、「MMO Dec ode」ラベルのバスラインは「6」導線から成り、すなわち選択バス7のビッ トロケーション「0」乃至「5」を含む事を意味する。これらのバス型信号のほ か、第5A図は、CPU12をリセットするための「H2_Clear」ラベル のリセット信号ラインなどの個別信号ラインを示す。同様に第5A図は2つの主 クロック信号セット「EC」および「LC」と、除算回路146によって使用さ れる2つの関連のクロック信号(「Div_ESet」および「Div_LSe t」とを示す。これらの各クロック信号は下記の第6図について詳細に説明する 。さらに、第5A図は2つの割り込み信号、すなわち「IO_割り込み」と「割 り込み_ベクトル」とを示す。IO_割り込み信号は注意信号に対する通常のリ クエスト(すなわち1つのマスキングされた割り込み信号)を生じ、この信号が 割り込みベクトル信号によって指示された2つの割り込みハンドリング・ルーチ ンのいずれか一方に対してコントロール転送を生じる。 第5B図は5個の各汎用レジスタ100を示し、GPREG1(またはGP1 )について他の汎用レジスタよりも詳細に説明する。さらに詳しくは、3選択可 能入力信号、すなわち主数理出力バス116用の「MMO」、加算器バス118 用の「加算器_出力」、およびインクリメンタバス120用の「インクリメンタ _出力」が図示されている。この図に図示されていないが、汎用レジスタそのも のの出力から第4選択可能入力が取られる。ラベル「Who」信号は選択バス1 7からの適当ラインを示す。従って、汎用レジスタGP1の場合、Who信号は 選択バス17のライン「38」と「39」とを示す。CPU構成部分の多くと同 様に、各汎用レジスタ100は両方のEC(「ESet」および「EReset 」)およびLC(「LSet」および「LReset」)クロック信号セットを 受け る。また第5B図はローカルRAM回路124および出力回路122から受信さ れた各入力信号を示す。ローカルRAM回路124は追加汎用レジスタを成すよ うに操作される。1つの命令において、「0」乃至「FE(hex)」の範囲内 の一定アドレスが与えられる。あるいは、「FF(hex)」のアドレスにより 、CPU12がGP4からローカルRAMアドレスを得る。いずれにせよ、単一 命令において、ローカルRAM回路124から1つの数を読出し、他の数をこれ に加え、これをローカルRAM回路に逆に書込む事が可能である(同一RAMア ドレスが使用されるとして)事を注意しよう。 第5C図はデータメモリ制御回路14を示すが、この接続においてインタフェ ース回路128を含まない。インタフェース回路128の一部が第5H図に図示 されている。この部分はデータバス26を成す40ラインのそれぞれについて反 復されているからである。この点に関して、インタフェース回路128は外部デ ータバス26に接続され、またこのインタフェース回路は40ビット「データ_ Mem_In」信号を生じ、この信号がデータメモリ制御回路14(U6)によ って受信される。インタフェース回路128そのものは、データメモリシステム 20に書込むためにデータメモリ制御回路14(U6)から40ビット「データ _書込み_値」を受ける。インタフェース回路128は一対の3状態バスドライ バ184−186を含み、ドライバ186は可能化LOWコントロールポートを 有する。バスドライバ184−186は読取り書込み「R/W」ライン30によ って制御される。読取り書込みライン30がLOWである時、インタフェース回 路128がデータワードをデータメモリ制御回路14からバスドライバ186を 経由して外部メモリシステム20に転送する。逆に、読取り書込みライン30が HIGHである時、インタフェース回路128はデータワードを外部メモリシス テム20からバスドライバ184を経由してデータメモリ制御回路14に転送す る。前述のように、キューメモリ制御回路18は、データメモリ制御回路14に 備えられるものと類似のインタフェース回路を含む。 第5D図はCPU12によって得られる各出力信号を示す。この点に関して、 第5C図の「データ_書込み_値」信号は第5D図において「D_出力_データ 」ラベルを有する事を注意しよう。さらに、論理解析器126は各種内部信号を CPU12の論理解析部分に選択的に転送するために40ビット「論理_解析_ データ」信号を生じる事を注意しよう。論理解析器16は16入力×40ビット 幅のマルチプレキサである。この解析器は第1図に図示のようなプログラムデー タバス32とは別個の4ビットアドレスを有する。この4ビットアドレス能力は CPU12に対する他のすべての入力から非同期とする事が好ましい。また論理 解析器126によって読取られるデータが与えられた命令サイクル(例えば11 2nsec サイクル)中に2度ラッチされる事が好ましい。これは、単一クロ ックサイクル中においてCPU12の二、三の構成部分を二重使用する事を可能 とするからである。従って、このようにして、与えられたクロックサイクル中に データを2度ラッチする手順はユーザが両方の事象を捕捉する機会を与える。特 に図示されてはいないが、この実施態様においては、論理解析器126は56n sと112nsとにおいてクロック信号パルスを受ける。 第5E図はS1マルチプレキサ102、S2マルチプレキサ104、および主 数理ユニット40に対する二、三の構成部分を示す。主数理ユニット40に対す る残余の構成部分は、圧縮/インフレーション回路160以外、第5F図に図示 されている。第5E図について述べれば、構成部分U20はマルチプライヤー1 68とビット計算機166とを含む。第5F図については、主数理マルチプレキ サ40は、加算回路158、マルチプライヤー168または除算回路146から 発生されるエラーを検出するエラー回路159を含むように図示されている。こ のようなエラーの存在がMMU ERR信号として、エラートラッキング回路1 82に転送され、この回路182は第5G図に図示されている。また第5G図は 加算計算プロセッサ106、インクリメンタ計算プロセッサ107およびコンパ レータ108を示す。 第6図について述べれば、CPU12によって使用されるクロック信号のタイ ミングダイヤグラムを示す。一番上のダイヤグラムは72MHzクロック信号2 00を示し、この信号は前述のようにCPU12に対する基本的クロック周波数 を与える。またこの一番上のダイヤグラムは112nsごとに発生するクリアク ロック信号202を示す。この112ns時間はCPU12の全クロックサイク ルを表わす。第6図の一番下に破線で示した時間間隔はそれぞれ28nsを示す 。従って時間区分「4」はクリアクロック信号202のHIGHからLOWまで の28nsに対応する。 CPU12の正規クロック信号は「ESet」、「EReset」、「LSe t」、「LReset」および「MemDis」から成る。ESetとERes et信号との組み合わせは時に「EC」クロック信号セットと呼ばれる。同様に LSetとLReset信号の組合わせは時に「LC」クロック信号セットと呼 ばれる。これら2つのクロック信号セットは、CPU12の中にメタ安定状態が 存在しないようにする位相を有する。メタ安定状態は、データがクロック信号遷 移と同一時間にデータが変化する場合に生じうる状態である。ECおよびLCク ロック信号は、入力データまたはアドレス情報を捕捉し保持するためにCPU1 2全体にブリゲードラッチとして使用される。このECおよびLCクロック信号 については下記の第7図についてさらに詳細に説明する。MemDisクロック 信号は、二、三のメモリー回路のチップ可能信号を除去するなどしてこれらのメ モリー回路中のメモリー動作を停止するために使用される。メモリーサイクルは 、MemDisクロック信号をLOWに行かせる事によって開始され、これは、 アドレス、アドレスデコードおよびR/Wラインがメモリーピンに設定されるの に十分な時間が経過した後に生じる。 また第6図は、第22図について説明される除算回路において使用される除算 クロック信号「DivESet」および「DivLSet」を示す。また第6図 は二つのローカルRAMクロック信号、すなわち「書き込み信号」および「Rs et」信号の発生を示す。これらのクロック信号の名称からわかるように、書き 込み信号はデータをローカルRAM回路124の中に書きこませ、Rset信号 はデータをローカルRAM回路から読み取らせる。 第7図について述べれば、CPU12の中に使用されるブリゲードラッチ回路 の構成を示すためにスタック回路121の一部が示されている。さらに詳しくは 、第7図は一対のD型フリップーフロップまたはラッチ回路204と206とを 示す。第一ラッチ回路204はESetおよびEResetクロック信号を受け 、第2ラッチ回路206はLSetとLResetクロック信号とを受ける。E Setクロック信号により、第1回路204がその入力信号を読み取る事ができ る。次に、読取られた入力信号を捕捉し保持するために、ERestクロック信 号(ラベル「ECLEAR」)が使用される。言い替えれば、ラッチ回路204 (ライン208)からの出力信号は入力信号のデジタル値に対応する。実際上、 現在の命令の中に含まれる値のいずれかを変更する事なく最後の命令から得られ たデータ捕捉するためにESetおよびERest遷移が使用される。次に、第 2ラッチ回路206に対する入力信号を代表するライン208上の出力信号を読 取るためにLSetクロック信号が使用される。次にライン208上のデジタル 値を捕捉するためにLResetクロック信号(ラベル″NOT_LCR″)が使用さ れるので、ラッチ回路206(ライン210)からの出力信号がこのデジタル値 に対応する。言い替えれば、次の命令を開始し現在の命令の結果を捕捉するため にLSetとLResetクロック信号が使用される。 本発明の使用のフィーチャの一つは、単一のクロックサイクル(この実施態様 においては112ns)の間に特定の回路構成部分1回以上使用できる事にある 。 例えば加算器106の中においてレジスタGP1の内容をレジスタGP3の内容 に加え、その結果をレジスタGP1の中に記憶する事ができる。これらすべての 操作は、単一クロックサイクル中に実施される単一プログラム命令で実施される 。この例においては、レジスタGP1から読取り、その値をこのレジスタの中に 同一クロックサイクル中に記憶する事により、レジスタGP1を2度使用する。 このフィーチャは、計算構成部分と二、三の関連の構成部分に現在のクロックサ イクル終了までその入力の読取りを継続する事によって達成される。このように して前記の例において、加算器106は現在のクロックサイクル中にその入力信 号を読取り続ける。LReset信号がHIGHからLOWに遷移すると、汎用 レジスタからのデータ出力が急速に安定する。従って、現在のクロックサイクル の終了前にどれだけ多くのタスクが汎用レジスタから実行されるかを決定するの は、計算構成部分と信号ルーチング接続の速度である。 他の例として、レジスタGP1とGP2の内容をマルチプライヤー回路168 によって乗算する事ができ(単一精度のため)、次にこれを他の値とコンパレー タ108によって比較する事ができる。この場合にもこれらすべてのタスクが単 一プログラム命令により単一クロックサイクルで実施される。マルチプライヤー 回路168は適当な操作コードによって可能化されるや否やその乗算機能を開始 するので、その入力信号は、レジスタGP1とGP2からの出力信号が安定する まで変動する。同様に、コンパレータ回路108に対する入力信号も、マルチプ ライヤー回路168から出力信号が(主数理ユニットマルチプレキサ114を介 して)安定するまで変動する。従って、現在のロックサイクルについてすべての 計算が完了するまで、CPU12を通して入力信号が変動する事を注意しなけれ ばならない。 第8図について述べれば、インクリメンタ回路107の詳細なブロックダイヤ グラムが図示されている。さらに詳しくは、インクリメンタ回路107は一対の マルチプレキサ212−214と完全40ビット加算記216とから成る。マル チプレキサ212は可能な数入力信号のどれを増分すべきかを決定するために使 用され、マルチプレキサ214はどのようなインクリメンタ法を使用すべきかを 決定するために使用される。マルチプレキサ212による入力信号選択は、ライ ン218に示すように3本の操作コード「who」ラインによって制御される。 3本のwhoラインの使用は相異なる9入力信号を選択する事を可能にするが、 マルチプレキサ212は相異なる8入力信号を選択するように設計されている。 マルチプレキサ212または214について標準8:1マルチプレキサセルを使 用する事ができるが、これらのマルチプレキサを2:1マルチプレキサセルのセ ットから形成する事によりスループットが増進される。しかしこの場合にはこの プロセスにおいて消費されるゲート数とのトレードオフがある。 第8図に図示のように、マルチプレキサ212への入力信号は5個の汎用レジ スタ100と、データバス15と、ローカルRAM回路124からの出力と、キ ューメモリー制御回路18からの出力とである。これらすべての可能な入力信号 がキューアドレス信号以外は40ビット幅である事を考慮すれば、ライン220 はラベル「40」により、マルチプレキサ212が8×40マルチプレキサであ る事を示す。これに対してマルチプレキサ214に対する入力信号は種々のイン クリメンタ代替を示すために第8図の右側に図示されている。例えば、入力信号 「1」はマルチプレキサ212によって選択された入力信号が1づつ増分される 事を示し、また入力信号「4」はマルチプレキサ212によって選択された入力 信号が2づつ増分される事を示す。インクリメンタ108が全40ビット加算器 216を含む事を考慮すれば、他の40ビット入力信号は、レジスタGP3から の出力など、マルチプレキサ214によって選択する事ができよう。40ビット 加算器216は標準型単ビット全加算器セルから構成する事ができる。 第9図は加算器回路106の詳細ブロックダイヤグラムを示す。この点に関し て、加算器回路106の設計はインクリメンタ回路107の設計にきわめて類似 している事を注意しよう。しかし、マルチプレキサ222−224に対する入力 信号の一部は異なっている。例えば、レジスタGP1の内容をレジスタGP5の 内容に加える事ができ、または所望ならばそれ自体に加算する事ができよう。加 算器回路106とインクリメンタ回路108のいずれもアドレスレジスタの平行 増分と減分を生じる事を注意しなければならない。さらにこれら二つの回路は増 分/減分カウンターの代替法を成し、またデータ移動の代替法を成す。これらの 二つの回路におけるすべての入力ワードは39ビット正整数として処理する事が 好ましい。 第10図について述べれば、コンパレータ回路108の詳細なブロックダイヤ グラムを示す。この図面は第3A図についてさきに述べたコンパレータ回路10 8のダイヤグラムに近似している。比較ニーモニックライン226は全体として 、コンパレータ回路108によって実行される機能を確定する3本の操作コード ラインを示す。この実施態様において、比較回路は、インクリメンタ107のマ ルチプレキサ212と同様の8:1の出力マルチプレキサを含み、また3本の操 作コードラインがどの論理合成値を転送すべきかを確定する。言い替えれば、比 較回路144は二つの入力信号が等しいかどうか(ビットバイビット)を確定す るための第1セットの論理ゲートと、二つの入力信号が等しくないかどうかなど を確定するための第2セットの論理ゲートとを含む。従って、各コンパレータ機 能は各ロックサイクルにおいて実行され、またこれらの合成の1つのみが出力マ ルチプレキサによって選択される事を注意しなければならない。このようにして 、比較回路144は主数理ユニット40と同様に作動する。 第11図について述べれば、CPU12の一部のさらに詳細なブロックダイヤ グラムを示す。さらに詳しくはこの第11図は、各汎用レジスタ100が入力マ ルチプレキサ228およびブリゲードラッチ回路230から成る事を示している 。 この点に関して、ブリゲードラッチ回路230は前記の第7図に図示のものと類 似である。さらに第11図は、各レジスタ100が4ーボート幅フィードバック 接続を有し、マルチプレキサ228がこのレジスタの出力をその次の入力として 選択できるように成されている。入力マルチプレキサ228からロードされた値 が現行命令サイクルの終点でラッチされまたは捕捉された時に、この値が次の命 令において使用される。従って、現在汎用レジスタ100の中に記憶されている 値は最後に実行されたロード命令からくる事を注意しよう。 さらに第11図は、ローカルRAM回路124が入力マルチプレキサ234、 メモリ回路236、出力ラッチ238およびアドレスマルチプレキサ240から 成る事を示す。記憶されるデータを選択するために入力マルチプレキサ234が 使用され、これに対して、このデータをメモリ回路236の中に書込みまたはデ ータをメモリ回路236から読取るためのアドレスを選択するためアドレスマル チプレキサ240が使用される。また第11図はデータメモリ制御回路14の一 部を示し、この部分は第13図について詳細に説明する。 また第11図は「数種の特殊レジスタ」とラベリングされた入力ライン242 を示す。これらの特殊レジスタは、下記の表5においてチャンネル「7」乃至「 A」として識別されるレジスタを含む。この点に関して、表5はS1およびS2 マルチプレキサおよび論理解析マルチプレキサ126に対する16の入力信号の それぞれを識別する。S1マルチプレキサ102に対するルーチン加算入力は、 S1マルチプレキサ上のビット「17」乃至「20」の中にマッピングされるレ ジスタGPSのビット「35」乃至「38」を代表する(他のすべてのビットを ゼロに等しいとして)。この特殊入力信号は、圧縮アドレスを直接に計算する事 が望ましいサブルーチンについて有益である。さらに、S1マルチプレキサ10 2に対するビット選択入力は特定のビットを選択し、ビット15位置の中に配置 し、さらに操作する事を可能とする。 第12図について述べれば、プログラムメモリ制御回路16の詳細ブロックダ イヤグラムが図示されている。この点に関して、回路16は外部プログラムメモ リシステム22から120ビット命令ワードを受ける。また回路16は、代表的 24ビットライン244によって示されるように、プログラムメモリシステム2 2にアドレスする事ができる。回路16は一対のラッチ回路246−248を含 み、これらのラッチ回路が一緒に120ビットワードブリゲードラッチを形成す る。しかしこの場合、これらの2つのラッチ回路の間に、デコーダ論理回路25 0への信号接続が備えられている。デコーダ論理回路250は、マルチプライヤ ー回路158およびバイナリ−BCD変換器148などのキューピン12上の二 、三の電力消費回路を生かしまたは可能化するために使用される。言い替えれば 、デコーダ論理回路250は単に120ビット命令中の二、三のビットの値をチ ェックし、これらの値をラッチ回路252の中に捕捉する。もし例えば受信され た命令がBCD変換機能を実行する事を主数理ユニット40に対する適正な機能 コードが示すならば、「可能化ビンBCD」信号がラッチ回路252からバイナ リ−BCD変換器148に転送される。ラッチ回路252がLCクロック信号に 対して責任を有する事を考慮すれば、ラッチ回路246と252も結合してブリ ゲード型ラッチを形成する事が理解されよう。 外部プログラムメモリシステム22から受信された120ビットのうち、80 ビットは個別にラッチ回路248から中央処理装置12の構成部分にルーチング されてその動作を指向する。CPU12の命令ワードに使用される非常に幅広い 書式の故に、マイクロコード・デコーディングの必要がない事が理解されよう。 デコーダ論理回路250は、比較的小数の80ビット操作コードラインに関連し てのみ、またその場合CPU12中の小数の回路構成部分の電力消費を低減させ るためにのみ使用される。120ビット命令ワード中の他の40ビットはプログ ラム・イミーディエット・ワードを含み、これらのワードは所望ならデータまた はアドレスのために使用する事ができる。 プログラムメモリ制御回路16は、プログラムカウンター値に対してソース信 号を選択するために使用されるマルチプレキサ254を含む。この点に関して、 第12図は8の可能信号ソースをそれぞれ示し、プログラム・イミーディエット ・ワードがこれらの信号ソースの1つである。主数理ユニット40から得られた 合成出力がプログラムカウンター値のもう1つのソースである。このようにして 、任意のプログラムカウンターアドレスを事象に基づいて計算する事ができる。 キ ューメモリアプローチの目的はプログラム メモリ アドレスのリスト(並びに サブルーチン アーギュメント)のリストを記憶するにあるので、キューメモリ 制御回路18からの出力値も与えられる。従って例えば、キューリストが次のプ ログラムメモリアドレスに前進させられる時に、マルチプレキサ254が「キュ ー読出レジスタ」ソース値を選択するように命令される。割り込みベクトル信号 はプログラムカウンターアドレス値のもう1つのソースを成す。この接合におけ る割り込みベクトル信号の使用は、外部発生割り込みに応答して少なくとも2つ の割り込みルーチンにアドレスする事を可能とする。 プログラムカウンターアドレス信号のソースは原則として、3本の操作コード ラインから選択される。外部リセット信号またはジャンプ状態に応答するために 、3論理ゲートが備えられる。リセット信号は反転バッファ258によって受信 されるが、この特定の実施態様において8可能ジャンプ基準の1つの選択するた めにマルチプレキサ260が使用される。マルチプレキサ260は3操作コード ライン(すなわち、ビットロケーション68乃至70)によって制御され、これ らの操作コードラインは第12図においては「How」ラベルによって識別され る。従って例えば、プログラム命令は、コンパレータ108の出力値をチェック し、「PCP1 Or Zero」信号によって与えられるように比較出力が虚 偽である時に他のプログラムアドレスにジャンプするように設計する事ができる 。下表6はプログラムジャンプがCPU12によって優先的に扱われる事を示す 。1つの命令が実行されている時、プログラムカウンターの現行値が次に実行さ れるべき命令である。従って、ProCountPlus1の値がスタック中に 保管されていれば、現行実行命令プラス2のアドレスが現在保管されている。い ずれにせよ、1つの命令パイプラインが与えられる事が理解されよう。表6にお いて、アドレス「X」の単一ラインサブルーチンへのジャンプの例が示されてい る。 プログラムカウンターそのものが24ビットブリゲードラッチ262から成る 。プログラムカウンター値を1だけ増分して「ProgramCounterP lus1」信号を生成するために、加算器回路264が備えられている。Pro gramCounterPlus1信号は例えばスタック回路121によって記 憶されるべきアドレス値として使用される。またマルチプレキサ266は、Pr ogramCounterPlus1信号と、すべての24ビットがゼロに設定 されたゼロ信号とを受ける。マルチプレキサ266は外部リセット信号によって 制御される。リセット信号がLOWである時、出力「PCP1 Or Zero 」がProgramCounterPls1信号の値を有する。しかしもしリセ ット信号がHIGHになれば、「PCP1 Or Zero」信号がゼロとなる 。このゼロアドレス値がマルチプレキサ254によって選択され、最終的にCP U12の初期化ルーチンを開始するためにプログラムメモリシステム22に転送 される。 第13図について述べれば、データメモリ制御回路14の詳細ブロックダイヤ グラムを示す。前記のように、外部データメモリシステム20からデータを要求 するアドレスは種々のソースから誘導される。従って、データメモリ回路14は 、この実施態様において可能な8アドレスソースから1つのソースを選択するた めにデータアドレスマルチプレキサ130を含む。マルチプレキサ130は、若 干の説明を要する2つに入力ソース、すなわち「QueAna」ラベルの信号と 「QueDig」ラベルの信号とを含む。これら2つの信号は、図示のように汎 用レジスタGP5の選択されたビットから誘導される。この点に関して、Que Ana信号はアナログ信号処理ルーチンのアドレスを代表し、QueDig信号 はディジット信号処理ルーチンのアドレスを代表する。これらのルーチンは下記 の第14A図乃至第14C図について説明される。 ブリゲードラッチ134は40ビットフィードバックライン268とマルチプ レキサ270とを通る循環接続を含む。マルチプレキサ270はブリゲードラッ チ134に、「SharActive」または「PrivActive」信号が HIGHになれば最後のデータワードを循環させる。SharActive信号 は外部発生信号であって、他のコンピュータエンティティがデータメモリシステ ム20にアクセスしているがCPU12がなおもデータメモリシステムに書き込 める事を示す。これに対して、PrivActive信号は、CPU12に対し て、外部コンピュータエンティティが私的にデータメモリシステム20にアクセ スしておりCPU12がデータメモリシステムに書き込めない事を知らせる。ま た、データメモリ制御回路14からの「DataReadReg」出力が、CP U12によるデータメモリシステム20の読取りまたは書き込みのいずれかに際 してデータバス15上の値によって更新される事を注意しなければならない。 第14A図について述べれば、キューメモリ制御回路18の詳細ブロックダイ ヤグラムが図示されている。このキューメモリ制御回路18は双方向インタフェ ース回路274を含み、この回路274は外部キューメモリシステム24との間 において書き込み操作と読取り操作を生じる。この点に関して、キューメモリシ ステム24に書き込まれるデータは汎用レジスタGP5からのみ誘導される。し かしキューメモリデータは、適当な用途において他の適当なソース、例えばロー カルラム回路124から誘導する事ができる事が理解されよう。キューメモリ制 御回路18は二つのブリゲードラッチ276−278を含む。ブリゲードラッチ 276は、一般にプログラムメモリアドレスまたはデータメモリアドレスを代表 する現行キューデータ値を捕捉し保持するために使用される。ブリゲードラッチ 278は次のキューメモリアドレスを捕捉し保持するために使用される。キュー メモリシステムの主要な用途はアドレスの秩序リストを保管する事にあるので、 ラベル「QueReadReg」のキューメモリデータバス上に伝送される次の アドレス値を得るためには単に増分されればよい。従ってキューメモリ制御回路 18は現行キューメモリアドレスを一つだけ増分させる加算器回路280を含む 。しかし、計算されたアドレス値が必要とされるこれらの場合において、他のア ドレス信号ソースを選択するためにマルチプレキサ282が使用される。実際に これらのアドレス信号ソースの1つは現行キューメモリアドレスそのものの反復 とする事ができる。 現行キューメモリアドレスを繰り返す必要のある二つの場合を第14B図と第 14C図に示す。第14B図はデジタル信号ルーチンに対するキューメモリワー ド書式を示すが、第14C図は二、三のアナログ信号処理ルーチンのキューメモ リワード書式を示す。これらのデジタルおよびアナログ信号処理ルーチンは下記 の表7に表示される。 さらに詳しくは、第14B図と第14C図に図示のキューワード書式はいずれ も、CPU12によって、サブルーチンアドレスとデータ引き数とを含む単一キ ューワードを処理させる。これは、サブルーチンアドレスが1つのキューメモリ ロケーションに保管され、データ引き数がキューメモリシステム24中の次の指 標ロケーションに保管されるキューリスト手順と相違する。この構成の結果とし て、多くのデジタルおよびアナログ信号処理ルーチンがそれぞれ1つのキューメ モリロケーションを占め二つの命令を実行しなければならない。 第15A図と第15B図について述べれば、出力回路122の詳細ブロックダ イヤグラムを示す。出力回路122は、出力ワードのデータソースを選択するた めに入力マルチプレキサ284を含む。例えば40ビット出力レジスタのビット 0ないし10を設定するために主数理出力バス116が選択される。ブリゲード ラッチ回路286によって示されるように、これらのビットは出力回路122に よって捕捉される。またブリゲードラッチ回路186を第15B図に示し、この 図は、主数理ユニット40から算術「キャリー」信号を生じる出力回路122の 一部を示す。第15A図と第15B図の回路の組み合わせにより、キャリーを設 定しクリアし、または読取りまたオーバフローを捕捉する事ができる。主数理出 力バス116がデータソースとして選択されない場合、出力回路122は下記の 表8の各出力レジスタビットロケーションに示された出力信号を発生する。 これらの信号の大部分は、出力回路122によって「設定」されないので読み だし専用信号である。言い替えれば、これらの信号はすでに他の回路の中にラッ チされている。前述のように、出力回路122はCPU12の中に種々の信号を 一緒に集めてこれから40ビットワードを形成する。図示されてはいないが、こ れらの信号はその信号強さを増大するためにバッファリングする事ができる。こ のワードから選択されたビットは他の回路によってコンパレータ108から(ビ ットロケーション17を経由して)出力値として読取る事ができる。同様にして 、二、三の回路、例えばマルチプライヤー168の電力不能化機能をテストする 品質制御の目的から、論理解析器126を通して電力可能化テスト点信号をチェ ックする事ができる。除算操作のために受けなければならない命令の数の計数で はなく、DivideDone信号をチェックする事もできる。 第16図には、割り込み回路180の詳細ブロックダイヤグラムが図示されて いる。この実施態様において、割り込回路180は出力回路122の一部として 構成される。従って例えば第16図は第15A図および第15B図と同一のブリ ゲードラッチ回路286を含む。ORゲート288に対する割り込信号入力は外 部から設定されるが、これはジャンピング(割り込ベクトルアドレス経由により )または、出力レジスタそのものの直接設定/クリアによってクリアする事がで きる。割り込回路180はコンパレータ回路290を含み、この回路290が第 12図において誘導されたプログラムカウンターソース選択信号を受ける。コン パレータ290がこの信号を「3」の値に対して評価する。これは第12図のマ ルチプレキサ254に対するベクトル入力を代表するからである。 第17図にはエラートラッキング回路182の詳細ブロックダイヤグラムを示 す。このエラートラッキング回路182の目的は、エラー数を計数しまた最後に エラーの発生した関連アドレスを割り出すにある。この回路182は、前記の表 8に示すように出力レジスタのビット2が設定される時に可能化される。第17 図において、可能化エラートラッキング信号はANDゲート292によって受信 されるように図示されている。ANDゲート292はまた第12図に図示の特殊 レコードラインからエラーマター信号を受け、主数理ユニット40からエラー信 号を受ける。これらの3信号がHIGHである時、エラーの存在が検出され、キ ューメモリ制御回路18から現行アドレスを補足しプログラムメモリ制御回路1 6(第12図のブリゲードラッチ262)のプログラムカウンターの現行アドレ スを補足する事によって、エラーの発生したアドレスを保管する。この点に関し て、キューメモリアドレスを補足するためにブリゲードラッチ回路294が使用 され、プログラムカウンターアドレスを補足するためにブリゲードラッチ回路2 96が使用される。エラーカウント値はブリゲードラッチ298によって保管さ れる。この値は、マルチプレキサ300によって出力回路122から受けられた クリア信号によりクリアされまたは「ゼロ」にセットされる。エラーカウント値 がクリアされていなければ、マルチプレキサ304によって受けられたプログラ ム即値ワードを通して所望の値にプリセットする事ができる。あるいは、エラー が検出された時にこのエラーに「1」を増分するために加算器304を使用する 。エラーカウント値は出力レジスタのビット20ないしビット27を通して読み 出す事ができる。 第17図は、エラートラッキング回路182がError Lastフラグを 設定またはクリアするため、ブリゲード・ラッチ286の一部を含む事を示す。 Error Lastフラグは主数理機能がエラーを生じた後にTRUEに設定 され、他の主数理機能がエラーなしで実行されるまでTRUEに留まる。可能化 エラートラッキングラッチおよびクリアエラーラッチはError Lastビ ットに対して影響しない事を注意しなければならない。 第18図にはスタック回路121の詳細ブロックダイヤグラムを示す。スタッ ク回路121はRAM回路306を含み、このRAM回路は30の妥当ロケーシ ョンを含み、各妥当ロケーションは24ビット幅である。スタックRAM306 上に保管する事のできる値は無符号の整数である(第4A図に図示のワード書式 のビット15乃至38)。符号ビットは保管された値またはアドレスに対してな んの影響も有しない。スタックのアドレッシングと、データ保管能力とは相互に 完全に独立であって、従ってスタックを双方向に成す。ユーザはスタック回路1 21の基礎アドレスと、スタックがどの方向に、すなわち高いアドレスに成長す るか低いアドレスに成長するかを選択する。第4A図の40ビットワード書式の 最初の5ビットに表われるスタックアドレスは偶数でなければならない。すなわ ち、スタックRAM306のロケーション0,1...29はそれぞれ、000000 .0000,000000.0002乃至000000.003A(h)に対応する。 前述のように、スタック回路121は、スタックのアドレスがその上のデータ 記憶とは完全に独立であるように設計されている。従来の意味でのプッシュ操作 またはポップ操作をシミュレートする事ができるが、これらの操作は存在しない 。従って、スタックに対する書込みは、より正確にはスタック上の値の記憶と呼 ぶべきであろう。スタック回路121は、保管される値の3可能ソースを含む。 すなわち、プログラムカウンターからのProgCountPlus 1 信号と、加算器回路1 06からの出力と、スタックそれ自体の出力値とを含む。これらの入力ソースは マルチプレキサ308によって受信される。これに対して、スタックRAM 3 06に対するアドレスはブリゲード・ラッチ310から受信される。しかしマル チプレキサ312によって示されるようにスタックアドレスの3可能ソースが存 在する。スタックアドレス値は最初に加算器回路106の出力値から設定する事 ができる。その後、スタックアドレス値を1つづつ増分するために、加算器回路 314を使用する事ができる。あるいは、スタックアドレス値から1だけ引いた 値を加算するために加算器回路316を使用する事ができる。加算器回路106 の出力は多数のポップ操作をバイパスするために使用する事もできる。こ れらの2つの加算器回路314と316の1ビット部分を第7図に示す。従って 、第7図においてマルチプレキサ312は全体としてANDゲート U5、U6 ,U13,U15およびU17、およびインバータU14とU16とから成る事 が理解されよう。ライン317は加算器回路106のビットラインの1つを代表 する事を注意しなければならない。 スタック上に値を保管しようとする場合、まずアドレスを準備し、保管命令が 生じる前に少なくとも1つの命令を出す。同一命令において保管データと共にア ドレス変更が成されるなら、これは事後インクリメントまたはデクリメントとな る。言い替えれば、データが現行スタックアドレスに保管され、新アドレスが次 の保管操作のために準備される。スタックから読出す場合、まずアドレスを再び 準備しなければならない。アドレスが与えられると、スタック値が次の命令にお いて妥当、利用可能となる。読出しはデフォルト操作であるので、このデータは アドレス変更が成されるまで妥当である。 アドレス000000.003C および 000000.003E などのRAM回路306における 30の妥当ロケーション以外のスタックアドレス値インクリメントまたはデクリ メントの実施は違法アドレスとして処理される。これらのアドレスは、ロケーシ ョン「29」において StackAddr+1 コマンドを出し、またはロケーション「0 」において StackAddr-1 コマンドを出す結果として生じる。このようなアドレ ス変更はANDゲート318によって検出され、これが出力レジスタにおいて損 失信号ビットを発生する。スタック・オーバ/アンダー・ドローン状態が検出さ れる時、スタック回路121がロックし、加算器回路106の出力から合法アド レスがロードされるまで操作は許されない。この状態において、スタック値まで のジャンプが成されるなら、プログラムカウンターがマルチプレキサ320を介 して「2」に設定され、これがエラー回復ルーチンを実行させる。 第19図には、循環けた送り/マージ回路162の詳細ブロックダイヤグラム を示す。前述のように、この回路162は、種々の単一命令ビット循環けた送り 、マスキングおよびマルチ・ワードマージのために使用する事ができる。この回 路162は4つの相異なる入力ソース、すなわちS1マルチプレキサ102から の出力(ラベル「ソース1」)、S2マルチプレキサ104からの出力(ラベル 「ソース2」)、主数理ユニットの最初の40操作コードを介して循環けた送り されるビット数(右側に循環けた送りされるソース1の内容)、およびマスク選 択マルチプレキサ322を含む。また選択マルチプレキサ322は第19図に図 示のように4入力ソースを含む。 循環けた送り/マージ回路162は、40のANDゲートセット324から成 る循環けた送りユニットを含む。この循環けた送りユニット324はシフティン グと相違し、ビット値の損失の場合と同様に循環けた送りを生じる。ソース1か ら選択されたビットをマルチプレキサ322の受信した入力信号の1つによって マスクするために、ANDマスクユニット326が含まれる。ソース2から選択 されたビットをマルチプレキサ322の受信した入力信号の1つによってマスク するために、ANDマスクユニット328が含まれる。最後にソース1とソース 2の信号の合併のためにORマージユニット330が備えられている。例えば、 ソース1のビット「39」乃至「25」とソース2のビット「24」乃至「0」 とを含む新ワードを生成しようとする場合、次の方法が使用される。 (1)ソース1の開始ワードを選択、 (2)ソース2の開始ワードの選択、 (3)Rot-Merge Maskの選択、すなわち設定されたビット「39」乃至「25 」とクリアされたビット「24」乃至「0」とを有するワード(Proglimmed値な ど)、 (4)「0」のローテート量(循環けた送りなし)の選択、 (5)主数理ユニットからの結果を所望の記憶(汎用レジスタ100の1つ、 またはローカルRAM124など)に送る。 第20図について述べれば、ビット計算機166の詳細ブロックダイヤグラム が図示されている。この点に関して、ビット計算機166の設計が循環けた送り /マージ回路162に類似である事が理解されよう。このビット計算機166は 、40ビットワード中の1つまたは複数(40まで)のランダムビットを共通値 に変更する能力を有する。選択マルチプレキサ170からの出力は全部1(設定 )または全部ゼロ(クリア)を含む。設定の場合、ソース1の内容がマージユニ ット332に落ちる。同様に、クリアの場合、ソース1の内容がマージユニット 332からブロックされる。ランタイムに適当マスク値を発生するため、マルチ プレキサ170に対して他の2つの入力信号がそれぞれ使用される。例えば、出 力レジスタの中に +000000.0100 を記憶する事によりフラグ1を設定する事がで きる。またソース1の値が、反転ユニット334を通してソース2の値に対する マスクを成す事ができる。マスキング後に、ソース1とソース2の値は単一40 ビットワードに合併される。ビット計算機166の動作を説明するため、他の実 施例を示す。さらに詳しくは、不変状態にとどまるべきビット「19」乃至「1 5」以外、ワード中のすべてのビットをクリアしたい場合を考慮しよう。この場 合、下記の方法が使用される。 (1)変更されるワードを選択する(ソース2)、 (2)ビット計算機論理:クリアを選択、 (3)ソース1(ゼロとなるビット「19」乃至「15」以外すべて1のワ ード)について、プログラム即値入力などのマスクを選択する。 (4)所望の記憶(汎用レジスタ100の1つ、またはローカルRAM12 4など)に対して主数理ユニット40から結果を指向する。 第21A図乃至第21C図について述べれば、マルチプライヤー168の詳細 ブロックダイヤグラムを示す。さらに詳しくは、これらの図は種々の乗算演算中 のマルチプライヤー168を示す。第21A図において、マルチプライヤー16 8は完全乗算精度を実施する事により主数理ユニットコード「40」および「4 1」に対応する。この場合、上方または下方の40ビットは主数理ユニット出力 マルチプレキサ114を通して選択する事ができる。第21B図において、マル チプライヤー168は中央40ビット、すなわちビット「15」乃至「53」プ ラス符号ビットを出力する。このような場合、非常に大きな数または非常に小さ な数がディジットを失う事が理解されよう。しかし、ビットが符号位置にシフト する時に、オーバフローエラーが検出される(「79」ビットプロダクトのビッ ト「53」)。生じたエラー信号は次の処理のためにエラートラッキング回路1 82に送られる。従って、プロダクトの大きさがゼロであれば、訂正回路176 が符号を正に設定する。第21C図は、プロダクトが当該汎用レジスタ100の 1つまたは複数の内容に加えられる。この実施態様においては混合符号数理が訂 正またはチェックされないのであるから、すべての入力は正値でなければならな い事を注意しよう。 第22図について述べれば、除算回路148の詳細ブロックダイヤグラムを示 す。前述のように、除算はCPU12の中においてバックグラウンド処理として 実施される。分子がソース1の入力に表示され、分母がソース2の入力に表示さ れる。除算演算の結果は StartDivide命令後の第21命令において得られる。こ の値は DivOut ビットを主数理ユニットソース2入力信号として選択する事によ ってアクセスされる。DivideError ビットとDivideDone ビットが出力回路1 22に転送される。この点に関して、出力ワード(Divide Done)のビット15がS tartDivide 命令によってクリアされ(LOW)、「21」命令後にHIGHに 戻る。同様にエラーの生じた時、出力ワード(Divide Error)のビット15がSt artDivide 命令によってクリアされ(LOW)、「21」命令後にHIGHに戻 る。 除算回路146は、それ自体のクロッキングスキームを有する通常の「可能な らシフトおよび減算」アルゴリズムを使用する。DivLSet および DivESet クロ ック信号はECおよびLCクロック信号の2倍の周波数で生じる。StartDivide 命令信号はそれぞれのラッチ336と338において分子と分母を初期化し、そ の後、除算回路146はスタンドアロン・コプロセッサとなる。除算回路146 はより迅速に成されうるが、速度の比較的低い改良のために多数のゲートを必要 とする。さらに、除算演算は、xで割るよりも1/xを掛ける事によって避ける 事ができよう。 第23A図乃至第23C図には、バイナリ−BCDコンバータ148が図示さ れている。前述のようにバイナリ−BCDコンバータ148は、6ディジットの 16進数を8ディジットのバイナリコーディッド10進数に変換するために使用 される。例えば、10進数「10」は、16進数において「A」で示され、バイ ナリにおいて「1010」で示される。しかしBCD等価数は一度変換されると 、BCD書式においては10ディジットが独立に処理されるので、″0001 0000 ″と表記される。第23A図はバイナリ−BCDコンバータ148の全体ブロッ クダイヤグラムである。このコンバータ148は、BinBCD モジュール340と ASCII符号値モジュール342とを含むように図示されている。第4A図の 書式のワードの整数部分から6ディジット入力ワードが取られる。変換されると 、8ディジット結果は主数理ユニット出力の位置「0」乃至「28」を占めれば よい。結果のためには「29」ビットのみが必要である。大部分の有意ディジッ トはゼロまたは2だけだからである。正および負の数は結果のビット「32」乃 至「39」によって表示される。この場合、+または−のASCIIコード等価 が、ソース1入力ワードの符号ビット(ビット39)に基づいて配置される。正 の数については、符号として2B(h)が使用され、負の数については2D(h )が使用される。 第23B図乃至第23C図にはバイナリ−BCDコンバータ148の詳細ブロ ックダイヤグラムが図示されている。第23B図において、ソース1ラインはS 1マルチプレキサ102からの出力を代表するので「S1」ラベルを有する。ま た第23B図はバイナリ−BCDコンバータ148が第12図のラッチ352か らEnable_BCD 信号を受ける事を示す。このEnable_BCD 信号は反転増幅器3 44−346によってバッファリングされる。S1信号のビット「15」乃至「 38」はANDゲートセット348に指向されるが、ビット「39」はNAND ゲート250に指向される。バッファリングされたEnable_BCD 信号はこれら の2つのゲートに対する他の入力を成す。Enable_BCD 信号はS1信号をAN Dゲート348を通過させ、従ってバイナリ−BCDコンバータ148を生かす 。電子構成部分が信号遷移を受ける時にはるかに大きな電力が消費されるので、 Low Enable_BCD 信号の使用は、バイナリ−BCDコンバータ148を使用す る必要のない時にこのバイナリ−BCDコンバータ148中の電力消費を実質的 に低減させる効果がある。バイナリ−BCDコンバータ148の可能化は、アク ティビティ検出論理ゲート352によって発生されるBinBCDActive 信号によっ てチェックする事ができる。 バイナリ−BCDコンバータ148は Term_Gather モジュール354を含 む。このモジュールは、ANDゲート348を通過した24ビットの適当なビッ トを7コンバータ段階356−368の特定ビットラインに通過させる単なる電 気コネクタである。図示のように、各コンバータ段階356−364は29ビッ トBCD結果を形成するのに役立ち、これを BinBCDOut ラベルを付ける。コン バータ段階は一連の完全加算器(LS1論理完全加算器セル FA1Aなど)か ら成る。第23C図は、ASCII符号値モジュール342が単に反転増幅器3 70とビットライン372とから成る事を示す。 第24図について述べれば、パリティーチェッカー164が図示されている。 このパリティーチェッカーは受信したバイトをパリティーに関してチェックし、 またはパリティーを有するバイトを生成する(通信プロトコールの目的から)に ある。パリティーチェッカー164はExORゲートセット374−380から 成る。パリティーチェッカー164はS1信号(S1マルチプレキサ102から の出力)のビット「15」乃至「23」を受ける。ビット「15」は第4A図の 40ビットワード書式の整数部分の最下位ビットである。ExORゲートは入力 数が偶数であるか奇数であるかを検出するために使用される。入力数が奇数であ れば、ビット22がExORゲート380の出力を通して設定される。またビッ ト「15」乃至「21」は主数理ユニット出力マルチプレキサ114を通過させ られるので、奇数パリティーを有する7ビットデータワードが生成される。 第25A図乃至第25C図について述べれば、圧縮回路160の詳細ブロック ダイヤグラムを示す。さらに詳しくは、第25A図は、「圧縮データ」機能(主 数理ユニット操作コード「62」)に使用される圧縮回路部分を示し、第25B 図および第25C図は「圧縮コード」機能(主数理ユニット操作コード「61」 )に使用される圧縮回路部分を示す。圧縮データ機能においては、圧縮データ機 能においては、圧縮回路160は40ビットデータワードを8の5ビットニブル として評価する。ゼロ値ニブルが除去され、非ゼロニブルが訂正された状態に残 る。例えば、提示されたデータワードが下記であれば、 00000-00111-00000-00000-00110-00000-00000-10000 残された訂正 ReadResidueValue(「RRV」)は下記となる。 00111-00110-10000-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ここにxxxxxは「ドントケア」を意味する。第25A図に図示のように、圧 縮されるデータワードがS1マルチプレキサ102から受信される。データワー ドの各5ビットニブルをORゲートを通して処理し、ビットのいずれかが設定さ れているか(すなわち、HIGHまたは非ゼロ値を有するか)いなかを確定する 。 これらの各ORゲート374−388は、そのニブルが非ゼロであるかいなかを 表示する単一ビット信号を生じる。従って例えば、ORゲート374が″Nib_S ″ラベルの信号を生じ、この信号は、S1データワードのビット「0」乃至「4 」のいずれかが非ゼロであればHIGHとなる。これらの8の″Nib_S″信号の 組合わせがS1データワードにおける非ゼロニブルの位置を識別し、またこの組 合わせが「MN」コードと呼ばれる。従って″01000000″のMNコードはNib 65ニブルのみが非ゼロである事を示す。これらのMNコードビットはマルチプ レキサ列390の操作を制御する。これらのマルチプレキサは相互に接続され、 MNコードによって制御されて、ゼロニブルのシフトし消去し、また残りのニブ ルを左方にシフトする。例えば、信号Nib1Sがゼロであれば、マルチプレキ サ39がビット「5」乃至「9」ではなく、ビット「0」乃至「4」を選択する 。 第25B図および第25C図は圧縮コード機能の他のアスペクトを示す。この 点に関して、S1マルチプレキサ102から受けた数に対して4フィールドコー ドを生成するために圧縮コード機能が使用される。このコードの第1フィールド はRRV数のサイズである。このサイズ値は、S1データワード中の非ゼロニブ ル数の5倍に等しい。従って、圧縮回路160は加算器/マルチプライヤー回路 394を含み、この回路がすべての″Nib_S″信号を加算し、この値に5を乗じ る。この結果は6ビット信号であって、これはコンパレータ回路396に対する 入力を成す。コンパレータ回路396は加算器/マルチプライヤー回路394か ら得られた結果が5に等しいかいなかをチェックする。この結果が5に等しけれ ば、これは8ニブルの1つのみが非ゼロであった事を意味する。この「唯一」の 指標は4フィールドコードに対して第2フィールドを与える。第3フィールドは すでにMNコードによって与えられている。第4および最終フィールドは第25 C図のORゲート論理回路398によって確定される。図示のように、区域ゲー ト論理回路398は3ビット「SN」コードを発生するように構成されている。 SNコードは、S1データワード中の(最上位から最下位までの)単一の非ゼロ ニブルを識別する整数値を代表する。 第26図は圧縮データ機能に対する逆操作を示す。インフレーションに際して 、残された訂正RRV数がS1マルチプレキサ102を通してインフレーション 回路161に供給される。しかしデコンプレッションのためにはMNコードから の情報が供給される必要がある。この実施態様において、MNコードはS2マル チプレキサ104を通してインフレーション回路161に供給される。圧縮回路 160の場合と同様に、MNコードの″Nib_S″信号がマルチプレキサ列400 を制御する。また″Nib_S″信号はANDゲートセット402を、非ゼロ値を有 するこれらのニブル中を通過させる。圧縮回路161と同様に、インフレーショ ン回路161の出力は主数理ユニット40中の出力マルチプレキサ114に指向 される。 第27A図乃至第27B図は単一命令の例を示す。これらの図は本発明による CPU12の複合スーパスカラー能力を示す。さらに詳しくは、第27A図のブ ロック404は単一命令を示す。言い替えれば、ブロック404中のすべての操 作は単一の120ビット幅命令(80ビットが命令の操作コード部分を成す)中 においてコード付けされている。ブロック404は命令ブロックセット406− 416を含み、このブロックは1つまたは複数の命令操作を含み、その操作の一 部が複合命令操作である。例えば、ブロック406は乗算操作418と、比較操 作420と、記憶操作421と、「ジャンプ・イフ・コンペア」操作422とを 含む。乗算操作418は第3D図に図示のマルチプライヤー168の中で生じる 。マルチプライヤー168は、汎用レジスタGP1の内容をS1マルチプレキサ 102から受け、汎用レジスタGP2の内容をS2マルチプレキサ104から受 ける。この図には図示されていないが、第3D図は、マルチプライヤーの結果が 8汎用レジスタGP3,GP4またはGP5にも加えられる事を示す。主数理ユ ニット40のマルチプレキサ114はマルチプライヤー168からの結果を通過 するようにコード付けされ、またコンパレータ108の入力マルチプレキサ14 0は主数理ユニットから結果を受けるようにコード付けされている。データブロ ック424によって図示されているように、コンパレータ108の入力マルチプ レキサ142は汎用レジスタGP5の内容を受けるようにコード付けされている 。次にコンパレータ108が、汎用レジスタGP5からの値が乗算計算と同一で あったかいなかを表示する1ビット出力信号を発生する。もしこれらの値が同一 であれば、プログラムメモリ制御回路16中のマルチプレキサ260がマルチプ レキサ254に対する選択された入力信号の1つへのプログラムカウンター値の ジャンプを生じるように設定される。記憶操作421によって図示されるように 、マルチプライヤー168からの結果はキューメモリシステム24の中に記憶さ れる。 割り込みブロック408はインクリメンタ操作426と記憶操舵428とを含 む。この点に関して、汎用レジスタGP3から受けた値に1を加えるためにイン クリメンタ107が使用される。このようなアドレス値などの増分された値がロ ーカルRAM124の中に記憶される。ブロック410は汎用レジスタGP1を その入力数として使用してバイナリ−BCD動作430を開始する。単一クロッ クサイクル中に多数のバイナリ−BCD操作を完全に実行する事ができるが、第 27B図はバイナリ−BCDコンバータ148からの出力が次の命令において使 用できる事を示す。この点に関して、第27B図は記憶操作を含む命令を示す。 さらに詳しくは、第27B図は変換結果がローカルRAM124の中に記憶され る事を示す。 また第27A図の単一命令ブロック404は、「1加算」操作436をフィー チャとする命令ブロック412を含む。この加算操作はプログラムメモリ制御回 路16中の加算器264を使用してプログラムカウントに1を加算し、次に記憶 操作438に示されるように、このProgCountPlus1 値がスタック121の中に 記憶される。ブロック414は他の加算操作(操作ブロック439)を示す。し かしこの場合、汎用レジスタGP4の内容を定数1(データブロック440)な どの他の値に加算するために加算器106が使用される。この加算操作の結果が GP4の中に記憶される(記憶ブロック442)。従って、この複合命令操作は 同一クロックサイクル中に汎用レジスタGP4を二重使用する事が理解されよう 。また出力回路122を選択操作444によって制御される事を示すため、命令 ブロック416が含まれる。この場合、主数理ユニット40からの出力が出力レ ジスタに記憶される。 第27B図は単一命令ブロック449の中に含まれる2つの追加命令ブロック 446−448を示す。命令ブロック446は、汎用レジスタGP2とGP3が 一緒にインクリメンタ107の中に加算される事を示す(操作ブロック450) 。次にその結果がキューメモリ区域システム24の中に記憶される(保管ブロッ ク452)。ブロック448は、除算操作454を示すがこの操作はこの命令が 実行されるクロックサイクル中に開始されるが、完了しない。しかし、インクリ メンタ107はその入力値に関してS1およびS2マルチプレキサに依存しない ので、GP1およびGP5の内容がブロック446と同一命令中に、それぞれS 1およびS2マルチプレキサ102−104を介して除算器によって使用される 事を注意しよう。 本発明は前記の説明のみに限定されるものでなく、その主旨の範囲内において 任意に変更実施できる。
【手続補正書】特許法第184条の8 【提出日】1996年2月26日 【補正内容】 請求の範囲 1. データメモリバスと別個おプログラムメモリバスとを有し単一クロック サイクル中において1以上の操作を実施する事のできる中央処理装置において、 複数の独立の計算プロセッサを含み、 前記の各独立の計算プロセッサがそれぞれプロセッサ出力ポートとプログラム 制御可能の多重化プロセッサ入力ポートとを有し、 前記各独立の計算プロセッサがそれぞれ少なくとも1つの固有の数理機能の専 用であり、また 少なくとも1つの前記計算プロセッサが少なくとも1つの論理機能を含み、 前記中央処理装置は、 複数のレジスタを含み、 前記の各レジスタは前記の各計算プロセッサからの出力ポートにそれぞれ接続 されたプログラム制御可能の入力ポートを有し、 また前記の各レジスタは前記の少なくとも1つの計算プロセッサの入力ポート に接続されたレジスタ出力ポートを有する複数のレジスタを有し、 また前記中央処理装置は、前記データメモリデータバス上のデータワードを受 けこのデータワードを転送するデータメモリ制御手段において、前記データメモ リ制御手段は少なくとも1つの前記計算プロセッサの入力ポートに接続された出 力ポートを有するデータメモリ制御手段と、 前記の各プロセッサ入力ポートと前記の各レジスタ入力ポートをプログラム制 御するため選択コードを代表する一連の割当てビットロケーションを含む命令ワ ードを前記ブログラムメモリデータバスから受け、前記選択コードを前記の各プ ロセッサ入力ポートと前記の各レジスタ入力ポートとに直接に転送してこれらの 各プロセッサ入力ポートと各レジスタ入力ポートをプログラム制御するためのプ ログラム制御手段とを含む事を特徴とする中央処理装置。 2. 前記中央処理装置は、実行シーケンスデータバスと、別個の実行シーケ ンスアドレスバスと、プログラムメモリ中に記憶された命令ルーチンの開始アド レスのポインタを代表する前記実行シーケンスデータバス上のデータバスを受け また前記実行シーケンスアドレスバス上にアドレスワードを生成する実行シーケ ンスメモリ制御手段とを含む事を特徴とする請求項1に記載の中央処理装置。 3. 前記実行シーケンスメモリ制御手段は、それぞれ前記の各計算プロセッ サからの出力ポートに接続された実行配列メモリ制御入力ポートを含む事を特徴 とする請求項2に記載の中央処理装置。 4. 前記中央処理装置はさらにスタック回路を含み、前記スタック回路は、 前記の各計算プロセッサからのプロセッサ出力ポートに接続された増分機能専用 のスタック入力ポートと、前記プログラムメモリ制御手段に接続されたスタック 出力ポートとを有する事を特徴とする請求項2に記載の中央処理装置。 5. 前記計算プロセッサはそれぞれ複数の独立計算回路と、前記各計算プロ セッサ中の前記の各計算回路に対する同時的入力のために少なくとも1つの前記 レジスタからの出力を選択するためのソース手段とを含む事を特徴とする請求項 1に記載の中央処理装置。 6. 前記ソース手段は一対のマルチプレキサ回路を含み、また前記各マルチ プレキサ回路はマルチプレキサ回路入力ポートを有し、この入力ポートが前記デ ータメモリ出力ポートに接続される事を特徴とする請求項5に記載の中央処理装 置。 7. 前記中央処理装置が論理解析マルチプレキサを含み、前記マルチプレキ サの各入力ポートは前記の各計算プロセッサの出力ポートおよび前記の各レジス タの出力ポートに接続されている事を特徴とする請求項1に記載の中央処理装置 。 8. 前記中央処理装置はコンパレータ回路を含み、その複数の入力ポートは それぞれ前記複数のレジスタ出力ポートと少なくとも1つの前記計算プロセッサ 出力ポートとに接続されている事を特徴とする請求項1に記載の中央処理装置。 9. 前記中央処理装置は少なくとも1つの前記計算プロセッサにおけるエラ ーをトラッキングするためのエラートラッキング手段を含む事を特徴とする請求 項1に記載の中央処理装置。 10. 非常に長い命令ワードのマイクロプロセッサにおいて、 内部数理バスを成す出力ラインを有し、プログラム制御可能の主数理入力ポー トを有する主数理ユニットと、 内部加算器バスを成す出力ラインを有し、プログラム制御可能の加算器入力ポ ートを有する加算器ユニットと、 内部インクリメンタバスを成す出力ラインを有し、プログラム制御可能のイン クリメンタ入力ポートを有するインクリメンタユニットと、 それぞれ前記主数理バスに接続された第1入力ポートと、前記加算器バスに接 続された第2入力ポートと、前記インクリメンタバスに接続された第3入力バス と、前記第1、第2および第3入力ポートのいずれか1つを選択するための多重 化手段と、前記主数理ユニット、加算器ユニット入力ポートおよびインクリメン タユニット入力ポートおよび前記加算器入力ポートに接続された出力ポートとを 有する複数の汎用レジスタと、 データメモリデータバス上のデータワードを受けて転送するため前記の各レジ スタ出力ポートに接続されたデータメモリ制御手段において、前記の各主数理ユ ニット入力ポート、インクリメンタユニット入力ポートおよび加算器ユニット入 力ポートに接続された出力ポートを有するデータメモリ制御手段と、 前記の主数理ユニット、前記加算器ユニット、前記のインクリメンタユニット 、前記の各汎用レジスタに対する選択コードを代表する一連の割当てビットロケ ー ションを含む命令ワードを前記プログラムメモリデータバスから受け、前記選択 コードを前記の主数理ユニット、前記加算器ユニット、前記のインクリメンタユ ニット、前記の各汎用レジスタに直接に転送するためのプログラム制御手段とを 含む事を特徴とするマイクロプロセッサ。 11. 前記主数理ユニットは、複数の同時的に操作可能の数理および論理処 理回路と、前記内部数理バスへの転送のために前記数理および論理処理回路の一 方から出力値を選択する出力マルチプレキサ手段とを含む事を特徴とする請求項 10に記載のマイクロプロセッサ。 12. 前記主数理ユニットは、前記汎用レジスタの少なくとも1つからの出 力ポートおよび前記データメモリ制御手段からの出力ポートを前記の各数理およ び論理処理回路に選択的に接続するためのソース手段を含む事を特徴とする請求 項11に記載のマイクロプロセッサ。 13. データメモリと、プログラムメモリと、別個のデータメモリバスおよ びプログラムメモリデータバスとを有するコンピュータ中に配置された単一クロ ックサイクル中に1つ以上の操作を実行する事のできる中央処理装置において、 複数の独立の計算プロセッサを含み、 前記の各独立計算プロセッサがそれぞれプロセッサ出力ポートと、プログラム 制御可能の多重化プロセッサ入力ポートとを有し、 前記各独立の計算プロセッサがそれぞれ少なくとも1つの固有の数理機能の専 用であり、また 少なくとも1つの前記計算プロセッサが少なくとも1つの論理機能を含む複数 の計算プロセッサを含み、 また前記中央処理装置は、 複数のレジスタを含み、 前記の各レジスタは前記の各プロセッサ出力ポートに接続されたプログラム制 御可能の多重化レジスタ入力ポートを有し、 また前記の各レジスタは前記の計算プロセッサの少なくとも1つの入力ポート に接続されたレジスタ出力ポートを有し、 前記中央処理装置はまた、 前記データメモリデータバス上のデータワードを受けこのデータワードを転送 するデータメモリ制御手段において、前記データメモリ制御手段は少なくとも1 つの前記計算プロセッサの入力ポートに接続された出力ポートを有するデータメ モリ制御手段と、 前記の各プロセッサ入力ポートと前記の各レジスタ入力ポートをプログラム制 御するため選択コードを代表する一連の割当てビットロケーションを含む命令ワ ードを前記プログラムメモリデータバスから受け、前記選択コードを前記の各プ ロセッサ入力ポートと前記の各レジスタ入力ポートとに直接に転送してこれらの 各プロセッサ入力ポートと各レジスタ入力ポートをプログラム制御するためのプ ログラム制御手段と、 実行シーケンスデータバスおよび別個の実行シーケンスアドレスバスと、 前記プログラムメモリ中に記憶された命令ルーチンの開始アドレスのポインタ を代表する前記シーケンスデータバス上のデータワードを受け、また前記実行シ ーケンスアドレスバス上にアドレスバスを生成する実行シーケンスメモリ制御手 段とを含む事を特徴とする中央処理装置。 14. 前記計算プロセッサの1つは複数の独立計算回路と、前記計算プロセ ッサ中の前記の各計算回路に対する同時的入力のために前記レジスタの少なくと も1つからの出力を選択するためのソース手段とを含む事を特徴とする請求項1 3に記載の中央処理装置。 15. 前記ソース手段は一対のマルチプレキサ回路を含み、また前記各マル チプレキサ回路は入力ポートを有し、またこの入力ポートは前記データメモリ出 力ポートに接続された入力ポートを有する事を特徴とする請求項14に記載の中 央処理装置。 16. 前記1つの計算プロセッサは、前記独立計算回路の1つから出力値を 選択するための出力マルチプレキサを含む事を特徴とする請求項14に記載の中 央処理装置。 17. 前記独立の計算回路は数理処理回路と論理処理回路とを含む事を特徴 とする請求項16に記載の中央処理装置。 18. 前記数理処理回路はマルチプライヤーとバイナリ−BCDコンバータ とを含み、また前記論理処理回路はAND回路、OR回路およびExOR回路を 含む事を特徴とする請求項17に記載の中央処理装置。 19. データメモリバスと別個のプログラムメモリバスとを有し、単一クロ ックサイクルで1以上の操作を実行する事のできる中央処理装置において、前記 中央処理装置は、 複数の汎用レジスタと、 合成値を前記の各汎用レジスタに対して同一クロックサイクルで転送する事の できる複数の独立計算プロセッサとを含み、 ここに、前記の各汎用レジスタは前記合成値の1つを選択するための入力マル チプレキサ手段を有し、また少なくとも1つの前記独立数理および論理プロセッ サは複数の同時作動型数理および論理処理回路と、前記数理および論理処理回路 から合成値の1つを選択して前記汎用レジスタに転送するための出力マルチプレ キサとを有する事を特徴とする中央処理装置。 20. 前記数理および論理処理回路の少なくとも一部は特定ソースから少な くとも1つの入力信号を受けるので、前記数理および論理処理回路が各クロック サイクルにつき1つの合成値を出すために入力アドレス指定を必要としない事を 特徴とする請求項19に記載の中央処理装置。 21. 前記計算プロセッサの少なくとも1つが、前記汎用レジスタの少なく とも一部を非限定的に含む複数の入力信号ソースから選択するためのソース多重 化手段を含む事を特徴とする請求項19に記載の中央処理装置。 22. 中央処理装置の単一クロックサイクル中において1以上の操作を実行 する方法において、 複数の相異なるソースからの入力信号を処理する事のできる複数の独立の計算 プロセッサを準備する段階と、 前記の各計算プロセッサから合成値を受けるように複数のレジスタを接続する 段階と、 前記の各計算プロセッサに対する入力信号を選択し、前記の各計算プロセッサ からの合成値の記憶を単一プログラム命令によって前記レジスタの少なくとも一 部に指向する段階を有する事を特徴とする方法。 23. 前記単一プログラム命令は、前記中央処理装置中の各構成部分を操作 するのに必要なすべてのバイナリ情報を含む事を特徴とする請求項22に記載の 方法。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ギャラント,ジェフリー アール. アメリカ合衆国ミシガン州、ミッドラン ド、ワネタ、413 (72)発明者 ルート,ラリー エイ. アメリカ合衆国ミシガン州、ミッドラン ド、チェンバレイ、レイン、3005 (72)発明者 ブリセット,ウィリアム ジェイ. アメリカ合衆国ミシガン州、サジノー、デ ィアフィールド、4675 (72)発明者 オー,ロバート エイ. ザ サード アメリカ合衆国ミシガン州、ミッドラン ド、ウェイクフィールド、ドライブ、1213 (72)発明者 ラマスウァミイ,スリカラ アメリカ合衆国ミシガン州、ミッドラン ド、シルバン、レイン、513 (72)発明者 ルーカス,ジェフリー エイ. アメリカ合衆国ミシガン州、ミッドラン ド、ラッセル、5108 (72)発明者 ブレック,ジェイムズ エイ. アメリカ合衆国ミシガン州、ミッドラン ド、フラー、ドライブ、3606 【要約の続き】 タ制御回路とデータバスが備えられる。

Claims (1)

  1. 【特許請求の範囲】 1. 単一クロックサイクル中において1以上の操作を実施する事のできる中 央処理装置において、 複数の独立の計算プロセッサにおいて前記各計算プロセッサがそれぞれ少なく とも1つの固有の数理機能の専用であって、また少なくとも1つの前記計算プロ セッサが少なくとも1つの論理機能を含む複数の計算プロセッサと、 複数のレジスタにおいて、前記の各レジスタは前記の各計算プロセッサからの 出力ポートにそれぞれ接続された選択可能の入力ポートを有し、また前記の各レ ジスタは前記の各計算プロセッサの入力ポートにそれぞれ接続された選択可能の 出力ポートを有する複数のレジスタと、 データメモリデータバスおよび別個のプログラムメモリデータバスと、 前記データメモリデータバス上のデータワードを受けこのデータワードを転送 するデータメモリ制御手段において、前記データメモリ制御手段は少なくとも1 つの前記計算プロセッサの入力ポートに接続された出力ポートを有するデータメ モリ制御手段と、 前記中央処理装置構成部分に対する選択コードを代表する一連の割当てビット ロケーションを含む命令ワードを前記プログラムメモリデータバスから受け、前 記選択コードを前記中央処理装置構成部分に直接に転送するためのプログラム制 御手段とを含む事を特徴とする中央処理装置。 2. 前記中央処理装置は、実行シーケンスデータバスと、別個の実行シーケ ンスアドレスバスと、プログラムメモリ中に記憶された命令ルーチンの開始アド レスのポインタを代表する前記実行シーケンスデータバス上のデータバスを受け また前記実行シーケンスアドレスバス上にアドレスワードを生成する実行シーケ ンスメモリ制御手段とを含む事を特徴とする請求項1に記載の中央処理装置。 3. 前記実行シーケンスメモリ制御手段は、それぞれ前記の各計算プロセッ サからの出力ポートに接続された入力ポートを含む事を特徴とする請求項2に記 載の中央処理装置。 4. 前記中央処理装置はさらにスタック回路を含み、前記スタック回路は、 前記の各計算プロセッサからの出力ポートに接続された増分機能専用の入力ポー トと、前記プログラムメモリ制御手段に接続された出力ポートとを有する事を特 徴とする請求項2に記載の中央処理装置。 5. 前記計算プロセッサはそれぞれ複数の独立計算回路と、前記計算プロセ ッサ中の前記の各計算回路に対する同時的入力のために1つまたは複数の前記レ ジスタからの出力を選択するためのソース手段とを含む事を特徴とする請求項1 に記載の中央処理装置。 6. 前記ソース手段は一対のマルチプレキサ回路を含み、また前記各マルチ プレキサ回路は入力ポートを有し、この入力ポートが前記データメモリ制御手段 からの出力に接続される事を特徴とする請求項5に記載の中央処理装置。 7. 前記中央処理装置が論理解析マルチプレキサを含み、前記マルチプレキ サの入力ポートは前記の各計算プロセッサおよび前記の各レジスタからの出力ポ ートに接続されている事を特徴とする請求項1に記載の中央処理装置。 8. 前記中央処理装置はコンパレータ回路を含み、その入力ポートはそれぞ れ前記複数のレジスタと少なくとも1つの前記計算プロセッサとからの出力ポー トに接続されている事を特徴とする請求項1に記載の中央処理装置。 9. 前記中央処理装置は少なくとも1つの前記計算プロセッサにおけるエラ ーをトラッキングするためのエラートラッキング手段を含む事を特徴とする請求 項1に記載の中央処理装置。 10. 非常に長い命令ワードのマイクロプロセッサにおいて、 内部数理バスを成す出力ラインを有する主数理ユニットと、 内部加算器バスを成す出力ラインを有する加算器ユニットと、 内部インクリメンタバスを成す出力ラインを有するインクリメンタユニットと 、 それぞれ前記主数理バスに接続された第1入力ポートと、前記加算器バスに接 続された第2入力ポートと、前記インクリメンタバスに接続された第3入力バス と、前記入力ポートの一方を選択するための多重化手段と、前記主数理ユニット 、加算器ユニットおよびインクリメンタユニットのそれぞれの入力ポートに接続 された出力ポートとを有する複数の汎用レジスタと、 データメモリデータバス上のデータワードを受けて転送するためのデータメモ リ制御手段において、前記の各主数理ユニット、加算器ユニットおよびインクリ メンタユニットの入力ポートに接続された出力ポートを有するデータメモリ制御 手段と、 前記マイクロプロセッサ構成部分に対する選択コードを代表する一連の割当て ビットロケーションを含む命令ワードを前記プログラムメモリデータバスから受 け、前記選択コードを前記マイクロプロセッサ構成部分に直接に転送するための プログラム制御手段とを含む事を特徴とするマイクロプロセッサ。 11. 前記主数理ユニットは、複数の同時的に操作可能の数理および論理処 理回路と、前記内部数理バスへの転送のために前記数理および論理処理回路の一 方から出力値を選択する出力マルチプレキサ手段とを含む事を特徴とする請求項 10に記載のマイクロプロセッサ。 12. 前記主数理ユニットは、前記汎用レジスタの少なくとも1つからの出 力ポートおよび/または前記データメモリ制御手段からの出力ポートを前記の各 数理および論理処理回路に選択的に接続するためのソース手段を含む事を特徴と する請求項11に記載のマイクロプロセッサ。 13. データメモリと、プログラムメモリと、別個のデータメモリバスおよ びプログラムメモリデータバスとを有するコンピュータにおいて、単一クロック サイクル中に1つ以上の操作を実行する事ができ、 複数の独立の計算プロセッサにおいて前記各計算プロセッサがそれぞれ少なく とも1つの固有の数理機能の専用であって、また少なくとも1つの前記計算プロ セッサが少なくとも1つの論理機能を含む複数の計算プロセッサと、 複数のレジスタにおいて、前記の各レジスタは前記の各計算プロセッサからの 出力ポートにそれぞれ接続された選択可能の入力ポートを有し、また前記の各レ ジスタは前記の各計算プロセッサの入力ポートにそれぞれ接続された選択可能の 出力ポートを有する複数のレジスタと、 前記データメモリバス上のデータワードを受けこのデータワードを転送するデ ータメモリ制御手段において、前記データメモリ制御手段は少なくとも1つの前 記計算プロセッサの入力ポートに接続された出力ポートを有するデータメモリ制 御手段と、 前記中央処理装置構成部分に対する選択コードを代表する一連の割当てビット ロケーションを含む命令ワードを前記プログラムメモリデータバスから受け、前 記選択コードを前記中央処理装置構成部分に直接に転送するためのプログラム制 御手段と、 実行シーケンスデータバスおよび別個の実行シーケンスアドレスバスと、 前記プログラムメモリ中に記憶された命令ルーチンの開始アドレスのポインタ を代表する前記シーケンスデータバス上のデータワードを受け、また前記実行シ ーケンスアドレスバス上にアドレスバスを生成する実行シーケンスメモリ制御手 段とを含む事を特徴とする中央処理装置。 14. 前記計算プロセッサはそれぞれ複数の独立計算回路と、前記計算プロ セッサ中の前記の各計算回路に対する同時的入力のために1つまたは複数の前記 レジスタからの出力を選択するためのソース手段とを含む事を特徴とする請求項 13に記載の中央処理装置。 15. 前記ソース手段は一対のマルチプレキサ回路を含み、また前記各マル チプレキサ回路は入力ポートを有し、またこの入力ポートは前記データメモリ制 御手段からの出力に接続される事を特徴とする請求項14に記載の中央処理装置 。 16. 前記1つの計算プロセッサは、前記独立計算回路の1つから出力値を 選択するための出力マルチプレキサを含む事を特徴とする請求項14に記載の中 央処理装置。 17. 前記独立の計算回路は数理処理回路と論理処理回路とを含む事を特徴 とする請求項16に記載の中央処理装置。 18. 前記数理処理回路はマルチプライヤーとバイナリ−BCDコンバータ とを含み、また前記論理処理回路はAND回路、OR回路およびExOR回路を 含む事を特徴とする請求項17に記載の中央処理装置。 19. ハーバードアーキテクチャメモリシステムと、複数の汎用レジスタと 、合成値を前記の各汎用レジスタに対して同一クロックサイクルで転送する事の できる複数の独立計算プロセッサとを含む中央処理装置において、前記の各汎用 レジスタは前記合成値の1つを選択するための入力マルチプレキサを有し、また 少なくとも1つの前記独立数理および論理プロセッサは複数の同時作動型数理お よび論理処理回路と、前記数理および論理処理回路から合成値の1つを選択して 前記汎用レジスタに転送するための出力マルチプレキサとを有する事を特徴とす る中央処理装置。 20. 前記数理および論理処理回路の少なくとも一部は特定ソースから少な くとも1つの入力信号を受けるので、前記数理および論理処理回路が各クロック サイクルにつき1つの合成値を出すために入力アドレス指定を必要としない事を 特徴とする請求項19に記載の中央処理装置。 21. 前記計算プロセッサの少なくとも1つが、前記汎用レジスタの少なく とも一部を非限定的に含む複数の入力信号ソースから選択するためのソース多重 化手段を含む事を特徴とする請求項19に記載の中央処理装置。 22. 中央処理装置の単一クロックサイクル中において1以上の操作を実行 する方法において、 複数の相異なるソースからの入力信号を処理する事のできる複数の独立の計算 プロセッサを準備する段階と、 前記の各計算プロセッサから合成値を受けるように複数のレジスタを接続する 段階と、 前記の各計算プロセッサに対する入力信号を選択し、前記の各計算プロセッサ からの合成値の記憶を単一プログラム命令によって前記レジスタの少なくとも一 部に指向する事を特徴とする方法。 23. 前記単一プログラム命令は、前記中央処理装置中の各構成部分を操作 するのに必要なすべてのバイナリ情報を含む事を特徴とする請求項22に記載の 方法。
JP7518677A 1994-01-10 1995-01-10 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ Ceased JPH09507596A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17925694A 1994-01-10 1994-01-10
US08/179,256 1994-01-10
PCT/US1995/000341 WO1995019006A1 (en) 1994-01-10 1995-01-10 A massively miltiplexed superscalar harvard architecture computer

Publications (1)

Publication Number Publication Date
JPH09507596A true JPH09507596A (ja) 1997-07-29

Family

ID=22655833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7518677A Ceased JPH09507596A (ja) 1994-01-10 1995-01-10 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ

Country Status (9)

Country Link
US (1) US5655133A (ja)
EP (1) EP0739517B1 (ja)
JP (1) JPH09507596A (ja)
AT (1) ATE195596T1 (ja)
CA (1) CA2180855A1 (ja)
DE (1) DE69518403T2 (ja)
ES (1) ES2148492T3 (ja)
SG (1) SG44642A1 (ja)
WO (1) WO1995019006A1 (ja)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790880A (en) * 1996-01-04 1998-08-04 Advanced Micro Devices Microprocessor configured to dynamically connect processing elements according to data dependencies
US6317819B1 (en) 1996-01-11 2001-11-13 Steven G. Morton Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
US5822606A (en) * 1996-01-11 1998-10-13 Morton; Steven G. DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
US6088783A (en) * 1996-02-16 2000-07-11 Morton; Steven G DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word
JPH09251437A (ja) * 1996-03-18 1997-09-22 Toshiba Corp 計算機装置及び連続データサーバ装置
US5826054A (en) * 1996-05-15 1998-10-20 Philips Electronics North America Corporation Compressed Instruction format for use in a VLIW processor
US5852741A (en) * 1996-05-15 1998-12-22 Philips Electronics North America Corporation VLIW processor which processes compressed instruction format
US8583895B2 (en) 1996-05-15 2013-11-12 Nytell Software LLC Compressed instruction format for use in a VLIW processor
US5787302A (en) * 1996-05-15 1998-07-28 Philips Electronic North America Corporation Software for producing instructions in a compressed format for a VLIW processor
WO1997043710A2 (en) * 1996-05-15 1997-11-20 Philips Electronics N.V. Vliw processor which processes compressed instruction format
US5826095A (en) * 1996-08-27 1998-10-20 Hewlett-Packard Company Method and apparatus for maintaining the order of data items processed by parallel processors
US5812812A (en) * 1996-11-04 1998-09-22 International Business Machines Corporation Method and system of implementing an early data dependency resolution mechanism in a high-performance data processing system utilizing out-of-order instruction issue
US6615296B2 (en) 1997-05-30 2003-09-02 Lsi Logic Corporation Efficient implementation of first-in-first-out memories for multi-processor systems
US6115761A (en) 1997-05-30 2000-09-05 Lsi Logic Corporation First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6170051B1 (en) 1997-08-01 2001-01-02 Micron Technology, Inc. Apparatus and method for program level parallelism in a VLIW processor
DE19756591B4 (de) 1997-12-18 2004-03-04 Sp3D Chip Design Gmbh Vorrichtung zum hierarchischen Verbinden einer Mehrzahl von Funktionseinheiten in einem Prozessor
US6748451B2 (en) 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US7308686B1 (en) * 1999-12-22 2007-12-11 Ubicom Inc. Software input/output using hard real time threads
AU2597401A (en) * 1999-12-22 2001-07-03 Ubicom, Inc. System and method for instruction level multithreading in an embedded processor using zero-time context switching
US7047396B1 (en) 2000-06-22 2006-05-16 Ubicom, Inc. Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US6934825B1 (en) * 2000-09-21 2005-08-23 International Business Machines Corporation Bi-directional stack in a linear memory array
JP2002149402A (ja) * 2000-11-14 2002-05-24 Pacific Design Kk データ処理装置およびその制御方法
US6950772B1 (en) * 2000-12-19 2005-09-27 Ati International Srl Dynamic component to input signal mapping system
JP4783527B2 (ja) 2001-01-31 2011-09-28 株式会社ガイア・システム・ソリューション データ処理システム、データ処理装置およびその制御方法
JP4865960B2 (ja) 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
US6993674B2 (en) 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US7822950B1 (en) 2003-01-22 2010-10-26 Ubicom, Inc. Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls
NZ524378A (en) 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
CA2443347A1 (en) * 2003-09-29 2005-03-29 Pleora Technologies Inc. Massively reduced instruction set processor
DE102004004434B4 (de) * 2003-11-24 2007-08-09 Gordon Cichon Verfahren für einen verbesserten Entwurf eines Prozessors aus einer Maschinen-Beschreibung
JP4283131B2 (ja) * 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
US20070074000A1 (en) * 2005-09-28 2007-03-29 Liga Systems, Inc. VLIW Acceleration System Using Multi-state Logic
US20070073999A1 (en) * 2005-09-28 2007-03-29 Verheyen Henry T Hardware acceleration system for logic simulation using shift register as local cache with path for bypassing shift register
US7444276B2 (en) * 2005-09-28 2008-10-28 Liga Systems, Inc. Hardware acceleration system for logic simulation using shift register as local cache
US20070129926A1 (en) * 2005-12-01 2007-06-07 Verheyen Henry T Hardware acceleration system for simulation of logic and memory
US20070129924A1 (en) * 2005-12-06 2007-06-07 Verheyen Henry T Partitioning of tasks for execution by a VLIW hardware acceleration system
US20070150702A1 (en) * 2005-12-23 2007-06-28 Verheyen Henry T Processor
US9811503B1 (en) 2015-01-28 2017-11-07 Altera Corporation Methods for implementing arithmetic functions with user-defined input and output formats
US11360769B1 (en) 2021-02-26 2022-06-14 International Business Machines Corporation Decimal scale and convert and split to hexadecimal floating point instruction
US11663004B2 (en) * 2021-02-26 2023-05-30 International Business Machines Corporation Vector convert hexadecimal floating point to scaled decimal instruction

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
US4587632A (en) * 1980-05-27 1986-05-06 At&T Bell Laboratories Lookahead stack oriented computer
US4430708A (en) * 1981-05-22 1984-02-07 Burroughs Corporation Digital computer for executing instructions in three time-multiplexed portions
JPS5884308A (ja) * 1981-11-16 1983-05-20 Toshiba Mach Co Ltd プログラマブルシーケンスコントローラの制御装置
US4494187A (en) * 1982-02-22 1985-01-15 Texas Instruments Incorporated Microcomputer with high speed program memory
US4608634A (en) * 1982-02-22 1986-08-26 Texas Instruments Incorporated Microcomputer with offset in store-accumulator operations
US4506322A (en) * 1982-02-22 1985-03-19 Texas Instruments Incorporated Read/write memory cell for microcomputer
FR2525127A1 (fr) * 1982-04-15 1983-10-21 Fustier Guy Dispositif de classement d'objets manutentionnes
US5081573A (en) * 1984-12-03 1992-01-14 Floating Point Systems, Inc. Parallel processing system
US4791550A (en) * 1985-02-13 1988-12-13 Rational Higher order language-directed computer
GB2174517B (en) * 1985-03-23 1990-01-10 Burr Brown Ltd Apparatus and method for utilizing an auxiliary data memory unit in a data processing system having separate program and data memory units
US4918586A (en) * 1985-07-31 1990-04-17 Ricoh Company, Ltd. Extended memory device with instruction read from first control store containing information for accessing second control store
US4748439A (en) * 1985-08-13 1988-05-31 Fairchild Semiconductor Corporation Memory apparatus and method for retrieving sequences of symbols including variable elements
US4751675A (en) * 1985-08-19 1988-06-14 American Telephone And Telegraph Company, At&T Bell Laboratories Memory access circuit with pointer shifting network
US5051940A (en) * 1990-04-04 1991-09-24 International Business Machines Corporation Data dependency collapsing hardware apparatus
US4787062A (en) * 1986-06-26 1988-11-22 Ikos Systems, Inc. Glitch detection by forcing the output of a simulated logic device to an undefined state
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US4891787A (en) * 1986-12-17 1990-01-02 Massachusetts Institute Of Technology Parallel processing system with processor array having SIMD/MIMD instruction processing
EP0293517B1 (de) * 1987-06-02 1992-11-25 Deutsche ITT Industries GmbH Steuerprozessor
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
JPH01253059A (ja) * 1988-04-01 1989-10-09 Kokusai Denshin Denwa Co Ltd <Kdd> 並列信号処理方式
US5003462A (en) * 1988-05-31 1991-03-26 International Business Machines Corporation Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5313551A (en) * 1988-12-28 1994-05-17 North American Philips Corporation Multiport memory bypass under software control
JPH02242355A (ja) * 1989-03-16 1990-09-26 Fujitsu Ltd 拡張アドレス空間を持つマイクロプロセシングシステム
WO1991004536A1 (en) * 1989-09-20 1991-04-04 Dolphin Server Technology A/S Instruction cache architecture for parallel issuing of multiple instructions
US5305446A (en) * 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
DE69130723T2 (de) * 1990-10-05 1999-07-22 Koninkl Philips Electronics Nv Verarbeitungsgerät mit Speicherschaltung und eine Gruppe von Funktionseinheiten
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
JP2874351B2 (ja) * 1991-01-23 1999-03-24 日本電気株式会社 並列パイプライン命令処理装置
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
DE69325785T2 (de) * 1992-12-29 2000-02-17 Koninkl Philips Electronics Nv Verbesserte Architektur für Prozessor mit sehr langem Befehlswort
US5513363A (en) * 1994-08-22 1996-04-30 Hewlett-Packard Company Scalable register file organization for a computer architecture having multiple functional units or a large register file

Also Published As

Publication number Publication date
US5655133A (en) 1997-08-05
EP0739517A1 (en) 1996-10-30
WO1995019006A1 (en) 1995-07-13
SG44642A1 (en) 1997-12-19
CA2180855A1 (en) 1995-07-13
ATE195596T1 (de) 2000-09-15
DE69518403D1 (de) 2000-09-21
ES2148492T3 (es) 2000-10-16
DE69518403T2 (de) 2001-03-29
EP0739517B1 (en) 2000-08-16

Similar Documents

Publication Publication Date Title
JPH09507596A (ja) 大多重化スーパスカラー・ハーバード・アーキテクチャ・コンピュータ
US10719318B2 (en) Processor
EP0042967B1 (en) Mutiple data flow component system
US4890218A (en) Variable length instruction decoding apparatus having cross coupled first and second microengines
US4467444A (en) Processor unit for microcomputer systems
US8255665B2 (en) SIMD processor with register addressing, buffer stall and methods
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
EP0468820B1 (en) Data processing system for single-precision and double-precision data
JP2835103B2 (ja) 命令指定方法及び命令実行方式
US7882332B1 (en) Memory mapped register file
JPH10134036A (ja) マルチメディア信号プロセッサの単一命令多重データ処理
US3943494A (en) Distributed execution processor
US20030005261A1 (en) Method and apparatus for attaching accelerator hardware containing internal state to a processing core
US5428749A (en) Event signalling system and method for processor system having central memory unit
US4792894A (en) Arithmetic computation modifier based upon data dependent operations for SIMD architectures
US6026486A (en) General purpose processor having a variable bitwidth
US5109497A (en) Arithmetic element controller for controlling data, control and micro store memories
US5642523A (en) Microprocessor with variable size register windowing
JPH10143494A (ja) スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理
KR100267092B1 (ko) 멀티미디어신호프로세서의단일명령다중데이터처리
JPH0219492B2 (ja)
EP0936537B1 (en) Cyclic redundancy check in a computer system
EP0251716A2 (en) Instruction decoding microengines
Kloker et al. The Motorola DSP 96002 IEEE floating-point digital signal processor
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20040809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040914