JPH05224929A - コンピユータ、パイプライン処理方法及び命令処理方法 - Google Patents
コンピユータ、パイプライン処理方法及び命令処理方法Info
- Publication number
- JPH05224929A JPH05224929A JP4288385A JP28838592A JPH05224929A JP H05224929 A JPH05224929 A JP H05224929A JP 4288385 A JP4288385 A JP 4288385A JP 28838592 A JP28838592 A JP 28838592A JP H05224929 A JPH05224929 A JP H05224929A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- unit
- execution
- processing
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 並列モードで動作されるパイプライン化され
たRISCタイプのプロセツサ及び複数のプログラム・
インストラクシヨン・セツトからのインストラクシヨン
の処理方法を与える。 【構成】 パイプライン化されたプロセツサは、インス
トラクシヨン取り出しユニツト、インストラクシヨン・
デコード・ユニツト及びn個の実行ユニツトを含む。各
実行ユニツトはほぼ同じ処理サイクル時間で動作する
が、インストラクシヨン取り出しユニツト及びインスト
ラクシヨン・デコード・ユニツトの動作速度は、パイプ
ラインの各フエーズがほぼ1マシン・サイクル内でn個
のインストラクシヨンを別々に実行するように、実行ユ
ニツトの上述の処理サイクル時間の少なくともn倍であ
る。タイミング及び制御回路は、インストラクシヨンの
動作のタイミング及びシーケンスを制御するために、各
主要素子に接続される。
たRISCタイプのプロセツサ及び複数のプログラム・
インストラクシヨン・セツトからのインストラクシヨン
の処理方法を与える。 【構成】 パイプライン化されたプロセツサは、インス
トラクシヨン取り出しユニツト、インストラクシヨン・
デコード・ユニツト及びn個の実行ユニツトを含む。各
実行ユニツトはほぼ同じ処理サイクル時間で動作する
が、インストラクシヨン取り出しユニツト及びインスト
ラクシヨン・デコード・ユニツトの動作速度は、パイプ
ラインの各フエーズがほぼ1マシン・サイクル内でn個
のインストラクシヨンを別々に実行するように、実行ユ
ニツトの上述の処理サイクル時間の少なくともn倍であ
る。タイミング及び制御回路は、インストラクシヨンの
動作のタイミング及びシーケンスを制御するために、各
主要素子に接続される。
Description
【0001】
【産業上の利用分野】本発明は、短縮命令セツト・コン
ピユータ(Reduced Instruction Set Computer-RIS
C)アーキテクチヤ、より詳細に言えば、並列モードで
動作され、パイプライン化されたRISCタイプのプロ
セツサの性能を改善することと、それに関連した処理方
法とに関する。
ピユータ(Reduced Instruction Set Computer-RIS
C)アーキテクチヤ、より詳細に言えば、並列モードで
動作され、パイプライン化されたRISCタイプのプロ
セツサの性能を改善することと、それに関連した処理方
法とに関する。
【0002】
【発明が解決しようとする課題】従来の多くの短縮命令
セツト・コンピユータ(RISC)のプロセツサは、プ
ロセツサの機能が或る種の基本フエーズ(basic phas
e)、または基本ユニツトに分割されているパイプライ
ンの原理に基礎を置いている。パイプライン化の技術
は、デイジタル信号プロセツサ(DSP)技術において
特に広く知られている。パイプライン・プロセツサは、
命令の処理機能を、少なくとも3つのパイプライン・フ
エーズに分けることによつて実行速度を増加する。この
フエーズ分割は、前の命令がデコードされ、その命令が
実行される前に、他の命令の取り出しを可能にする。通
常、パイプラインの各フエーズは完了するのに1処理サ
イクルを必要とし、従つて、1つの命令を処理する(即
ち、命令を取り出し、デコードし、そして実行する)た
めの合計の経過時間は3つのマシン・サイクルの間であ
る。然しながら、パイプライン化された3フエーズの動
作の従来の技術的性質のために、平均スループツトは、
1マシン・サイクル当り1命令である。
セツト・コンピユータ(RISC)のプロセツサは、プ
ロセツサの機能が或る種の基本フエーズ(basic phas
e)、または基本ユニツトに分割されているパイプライ
ンの原理に基礎を置いている。パイプライン化の技術
は、デイジタル信号プロセツサ(DSP)技術において
特に広く知られている。パイプライン・プロセツサは、
命令の処理機能を、少なくとも3つのパイプライン・フ
エーズに分けることによつて実行速度を増加する。この
フエーズ分割は、前の命令がデコードされ、その命令が
実行される前に、他の命令の取り出しを可能にする。通
常、パイプラインの各フエーズは完了するのに1処理サ
イクルを必要とし、従つて、1つの命令を処理する(即
ち、命令を取り出し、デコードし、そして実行する)た
めの合計の経過時間は3つのマシン・サイクルの間であ
る。然しながら、パイプライン化された3フエーズの動
作の従来の技術的性質のために、平均スループツトは、
1マシン・サイクル当り1命令である。
【0003】パイプラインが一杯になると、プロセツサ
の性能は、完了するのに最も長時間を必要とするフエー
ズによつて制限される。パイプライン処理において、通
常、実行フエーズがある。従つて、プロセツサは、通
常、取り出しフエーズ及びデコード・フエーズの両方に
余つた時間を持つている。本発明は、すべてのプロセツ
サ・フエーズを最大限に利用しようとするものである。
の性能は、完了するのに最も長時間を必要とするフエー
ズによつて制限される。パイプライン処理において、通
常、実行フエーズがある。従つて、プロセツサは、通
常、取り出しフエーズ及びデコード・フエーズの両方に
余つた時間を持つている。本発明は、すべてのプロセツ
サ・フエーズを最大限に利用しようとするものである。
【0004】RISCタイプのプロセツサの性能を改善
する試みが従来から行なわれている。1つの試みは、プ
ロセツサを動作するのに用いられる技術を変更すること
であり、その結果、プロセツサは、より高いクロツク周
波数で動作することになつた。然しながら、現在確立さ
れている技術を変更することは、現用のアーキテクチヤ
に対して、新しい技術の適用に付随する大きなリスクを
伴い、しかも、多くの時間及びリソースを必要とする。
加えて、新技術に転向した後においてさえも、より高速
度の処理フエーズは、あり余る処理時間と、使用しない
余分な時間を持つことになる。
する試みが従来から行なわれている。1つの試みは、プ
ロセツサを動作するのに用いられる技術を変更すること
であり、その結果、プロセツサは、より高いクロツク周
波数で動作することになつた。然しながら、現在確立さ
れている技術を変更することは、現用のアーキテクチヤ
に対して、新しい技術の適用に付随する大きなリスクを
伴い、しかも、多くの時間及びリソースを必要とする。
加えて、新技術に転向した後においてさえも、より高速
度の処理フエーズは、あり余る処理時間と、使用しない
余分な時間を持つことになる。
【0005】プロセツサの速度を増加する従来の他の技
術は、プロセツサの命令セツトを、より速い命令セツト
に向ける技術である。然しながら、より高速度の命令を
付加することは、それらの命令を用いるためのソフトウ
エアのコード化を必要とする。若し、大きなソフトウエ
ア・アプリケーシヨンの基礎が、プロセツサのために既
に存在しているならば、新規で、より高速度の命令を使
用することは、時間と費用とが必要なので、現在のソフ
トウエアが再コード化されるという期待は薄い。加え
て、このようなソフトウエアの変更は、しばしば、古い
マシンとの互換性のないソフトウエア・プログラムにな
る。いずれにしても、このアプローチは、より高速のフ
エーズにおける過剰で未使用の時間を持つパイプライン
化されたプロセツサの本質的な問題を解決しない。
術は、プロセツサの命令セツトを、より速い命令セツト
に向ける技術である。然しながら、より高速度の命令を
付加することは、それらの命令を用いるためのソフトウ
エアのコード化を必要とする。若し、大きなソフトウエ
ア・アプリケーシヨンの基礎が、プロセツサのために既
に存在しているならば、新規で、より高速度の命令を使
用することは、時間と費用とが必要なので、現在のソフ
トウエアが再コード化されるという期待は薄い。加え
て、このようなソフトウエアの変更は、しばしば、古い
マシンとの互換性のないソフトウエア・プログラムにな
る。いずれにしても、このアプローチは、より高速のフ
エーズにおける過剰で未使用の時間を持つパイプライン
化されたプロセツサの本質的な問題を解決しない。
【0006】従つて、技術の変更とか、より複雑な命令
セツトを必要としないで、命令のスループツトを向上さ
せ、しかも、すべての処理フエーズを最大限に利用する
新しいRISCタイプのパイプライン化されたプロセツ
サが必要である。本発明はそのようなプロセツサと、そ
れに関連した処理方法とを提供するものである。
セツトを必要としないで、命令のスループツトを向上さ
せ、しかも、すべての処理フエーズを最大限に利用する
新しいRISCタイプのパイプライン化されたプロセツ
サが必要である。本発明はそのようなプロセツサと、そ
れに関連した処理方法とを提供するものである。
【0007】
【課題を解決するための手段】本発明は、概念的に言え
ば、n個のプログラム命令セツトからの複数の命令の実
質的に並列でパイプライン化された処理をするための縮
小命令セツト・コンピユータ(RISC)を含んでい
る。RISCタイプのコンピユータは、n個の命令セツ
トの各々からコンピユータ命令を取り出すための命令取
り出しユニツトと、取り出した命令をデコードするため
の命令デコード・ユニツトとを含んでいる。n個の実行
ユニツトは、命令デコード・ユニツトによつてデコード
された命令を実行するために、並列に接続されている。
n個の実行ユニツトの各々は、実質的に同じサイクル時
間を持つており、夫々のユニツトはn個の命令セツトの
対応するものからのデコードされた命令だけしか実行し
ない。命令取り出しユニツト及び命令デコード・ユニツ
ト夫々が並列に接続された実行ユニツトのサイクル時間
と等しいサイクル時間内にあるような命令取り出しユニ
ツト及び命令デコード・ユニツトによつて、複数の命令
が別々に処理されるように、タイミング及び制御回路
は、命令取り出しユニツトと、命令デコード・ユニツト
と、n個の命令セツトからの命令に関する動作のタイミ
ング及び順序を制御するためのn個の実行ユニツトとに
接続されている。
ば、n個のプログラム命令セツトからの複数の命令の実
質的に並列でパイプライン化された処理をするための縮
小命令セツト・コンピユータ(RISC)を含んでい
る。RISCタイプのコンピユータは、n個の命令セツ
トの各々からコンピユータ命令を取り出すための命令取
り出しユニツトと、取り出した命令をデコードするため
の命令デコード・ユニツトとを含んでいる。n個の実行
ユニツトは、命令デコード・ユニツトによつてデコード
された命令を実行するために、並列に接続されている。
n個の実行ユニツトの各々は、実質的に同じサイクル時
間を持つており、夫々のユニツトはn個の命令セツトの
対応するものからのデコードされた命令だけしか実行し
ない。命令取り出しユニツト及び命令デコード・ユニツ
ト夫々が並列に接続された実行ユニツトのサイクル時間
と等しいサイクル時間内にあるような命令取り出しユニ
ツト及び命令デコード・ユニツトによつて、複数の命令
が別々に処理されるように、タイミング及び制御回路
は、命令取り出しユニツトと、命令デコード・ユニツト
と、n個の命令セツトからの命令に関する動作のタイミ
ング及び順序を制御するためのn個の実行ユニツトとに
接続されている。
【0008】RISCタイプのアーキテクチヤの付加的
な他の特徴として、本発明は、少なくとも取り出し、デ
コード及び実行フエーズを有するパイプライン化された
プロセツサを通して命令を処理するための新規な方法を
含んでおり、実行フエーズは、同じサイクル時間で動作
する並列に接続されたn個の実行ユニツトを用いて遂行
される。本発明の方法は、以下のステツプを含んでい
る。即ち、それらのステツプは、一連のn個の命令を取
り出すステツプと、他の一連のn個の命令を同時に取り
出している間に、取り出された一連のn個の命令をデコ
ードするステツプと、n個の実行ユニツトの各々が、デ
コードされたn個の命令の内の1つだけしか実行しない
ように、他の一連のn個の命令のデコードと、新しい一
連のn個の命令の取り出しとを同時に行なつている間
に、デコードされた一連のn個の命令を実行するための
n個の実行ユニツトを使用するステツプと、実行ユニツ
トの各々が、デコードされた一連のn個の命令の内の1
つだけしか実行しないように、新しい一連のn個の命令
のデコードと、他の新しい一連の命令の取り出しとを同
時に行なつている間に、デコードされた他の一連のn個
の命令を実行するためのn個の実行ユニツトを使用する
ステツプと、複数の命令が並列のパイプラインの態様で
別個に処理されるように、複数個の命令の列を実行する
ステツプを反復し、かつ、実行ユニツトの動作サイクル
時間のn倍で取り出し及びデコードするステツプを完成
するステツプとである。
な他の特徴として、本発明は、少なくとも取り出し、デ
コード及び実行フエーズを有するパイプライン化された
プロセツサを通して命令を処理するための新規な方法を
含んでおり、実行フエーズは、同じサイクル時間で動作
する並列に接続されたn個の実行ユニツトを用いて遂行
される。本発明の方法は、以下のステツプを含んでい
る。即ち、それらのステツプは、一連のn個の命令を取
り出すステツプと、他の一連のn個の命令を同時に取り
出している間に、取り出された一連のn個の命令をデコ
ードするステツプと、n個の実行ユニツトの各々が、デ
コードされたn個の命令の内の1つだけしか実行しない
ように、他の一連のn個の命令のデコードと、新しい一
連のn個の命令の取り出しとを同時に行なつている間
に、デコードされた一連のn個の命令を実行するための
n個の実行ユニツトを使用するステツプと、実行ユニツ
トの各々が、デコードされた一連のn個の命令の内の1
つだけしか実行しないように、新しい一連のn個の命令
のデコードと、他の新しい一連の命令の取り出しとを同
時に行なつている間に、デコードされた他の一連のn個
の命令を実行するためのn個の実行ユニツトを使用する
ステツプと、複数の命令が並列のパイプラインの態様で
別個に処理されるように、複数個の命令の列を実行する
ステツプを反復し、かつ、実行ユニツトの動作サイクル
時間のn倍で取り出し及びデコードするステツプを完成
するステツプとである。
【0009】要約すると、本発明は、パイプライン中の
重複しない次の素子にインターリーブされた出力を有す
るRISCタイプのアーキテクチヤにおいて、最も低速
度の複数の素子的ユニツトを与えることによつて、処理
性能を顕著に改善する。この処理の改善は、従来のRI
SCタイプのプロセツサと同様の基本的プロセツサ構成
と、同じ命令セツトを持つ同じ技術とを使用して達成可
能である。更に、これらの増加された速度は、従来の技
術に従つて必要とされる半導体回路領域よりも可成り少
ない半導体領域しか必要としないで達成することができ
る。本発明の1実施例においては、例えば、速度を2倍
にするために、従来の技術に従つた場合に必要とする半
導体回路領域の大きさのたつた50%の量しか増加しな
い。
重複しない次の素子にインターリーブされた出力を有す
るRISCタイプのアーキテクチヤにおいて、最も低速
度の複数の素子的ユニツトを与えることによつて、処理
性能を顕著に改善する。この処理の改善は、従来のRI
SCタイプのプロセツサと同様の基本的プロセツサ構成
と、同じ命令セツトを持つ同じ技術とを使用して達成可
能である。更に、これらの増加された速度は、従来の技
術に従つて必要とされる半導体回路領域よりも可成り少
ない半導体領域しか必要としないで達成することができ
る。本発明の1実施例においては、例えば、速度を2倍
にするために、従来の技術に従つた場合に必要とする半
導体回路領域の大きさのたつた50%の量しか増加しな
い。
【0010】
【実施例】添付図面を参照して本発明の実施例を以下に
説明するが、異なつた図面でも同じ素子には同じ参照数
字を付すことによつて、説明の冗長を避けている。
説明するが、異なつた図面でも同じ素子には同じ参照数
字を付すことによつて、説明の冗長を避けている。
【0011】図1は従来のRISCタイプのパイプライ
ン・プロセツサ中で必須の素子を示したブロツク図であ
る。これらの素子的ユニツトは、取り出しユニツト10
と、デコード・ユニツト20と、実行ユニツト30とを
含んでいる。取り出しユニツト10は、プロセツサに対
しては外部にあるメモリ中に通常ストアされている命令
データにアクセスするためのアドレスを発生する。代表
的な取り出しユニツト10は、図2に示されており、一
連の命令を実行する場合、前のアドレスを現在のアドレ
スに増加するために動作するシーケンサ、即ちインクレ
メンタ11を含んでいる。インクレメンタ11の出力
と、デコード・ユニツト20(図1)中のアドレス発生
装置(図示せず)の出力とは、マルチプレクサ12への
入力として与えられ、マルチプレクサ12の出力は命令
アドレス・レジスタ14の入力に与えられる。命令アド
レス・レジスタ14からのアドレス命令は、命令アドレ
ス・バス(IAB)15を介して命令メモリ40(図
1)と、前アドレス・レジスタ13とに送られる。前ア
ドレス・レジスタ13は、プロセツサのタイミング及び
制御ロジツクからのクロツクCLKによつて刻時され
る。遂行される動作に従つて、マルチプレクサはインク
レメンタ11からのアドレス出力と、デコード・ユニツ
ト20(図1)中のアドレス発生装置からのブランチ、
または割込みアドレス出力との間で選択する。例えば、
若し、ブランチ・アドレスが発生されたならば、発生さ
れたアドレスを命令アドレス・レジスタ14へ出力する
選択を保証するために、マルチプレクサ12に与えられ
る。
ン・プロセツサ中で必須の素子を示したブロツク図であ
る。これらの素子的ユニツトは、取り出しユニツト10
と、デコード・ユニツト20と、実行ユニツト30とを
含んでいる。取り出しユニツト10は、プロセツサに対
しては外部にあるメモリ中に通常ストアされている命令
データにアクセスするためのアドレスを発生する。代表
的な取り出しユニツト10は、図2に示されており、一
連の命令を実行する場合、前のアドレスを現在のアドレ
スに増加するために動作するシーケンサ、即ちインクレ
メンタ11を含んでいる。インクレメンタ11の出力
と、デコード・ユニツト20(図1)中のアドレス発生
装置(図示せず)の出力とは、マルチプレクサ12への
入力として与えられ、マルチプレクサ12の出力は命令
アドレス・レジスタ14の入力に与えられる。命令アド
レス・レジスタ14からのアドレス命令は、命令アドレ
ス・バス(IAB)15を介して命令メモリ40(図
1)と、前アドレス・レジスタ13とに送られる。前ア
ドレス・レジスタ13は、プロセツサのタイミング及び
制御ロジツクからのクロツクCLKによつて刻時され
る。遂行される動作に従つて、マルチプレクサはインク
レメンタ11からのアドレス出力と、デコード・ユニツ
ト20(図1)中のアドレス発生装置からのブランチ、
または割込みアドレス出力との間で選択する。例えば、
若し、ブランチ・アドレスが発生されたならば、発生さ
れたアドレスを命令アドレス・レジスタ14へ出力する
選択を保証するために、マルチプレクサ12に与えられ
る。
【0012】図1に戻つて説明を続けると、取り出しユ
ニツト10からバス15上への命令アドレスの出力は、
命令メモリ40からの対応するデータを読み取るのに用
いられる。読み取られたデータは命令データ・バス(I
DB)16を経てパイプライン化されたプロセツサ、よ
り特定して言えば、命令データ・レジスタ50に返され
る。次の処理フエーズにおいて、ストアされたデータ
は、デコード・ユニツト20によつてレジスタ50から
読み取られる。命令データ・レジスタ50の中にラツチ
されたデータが実行データであると仮定すると、そのデ
ータは、実行レジスタ60に直接に出力される。実行レ
ジスタ60の幾つかのビツトの状態(1、または0)は
デコード・ユニツト20から実行ユニツト30への制御
ライン(図示せず)を付勢するか、または滅勢するかを
決定する。加えて、実行レジスタ60は、二次的部分と
して即値データ(immadiate data)62を含むことがで
き、それは、実行用として使用するためにか、または、
実行ユニツト30中にあるデータ・アドレス発生機能に
よつてアドレスを発生するのに使用するために、実行ユ
ニツト30(または、データ・メモリ70)に直接に送
ることができる。
ニツト10からバス15上への命令アドレスの出力は、
命令メモリ40からの対応するデータを読み取るのに用
いられる。読み取られたデータは命令データ・バス(I
DB)16を経てパイプライン化されたプロセツサ、よ
り特定して言えば、命令データ・レジスタ50に返され
る。次の処理フエーズにおいて、ストアされたデータ
は、デコード・ユニツト20によつてレジスタ50から
読み取られる。命令データ・レジスタ50の中にラツチ
されたデータが実行データであると仮定すると、そのデ
ータは、実行レジスタ60に直接に出力される。実行レ
ジスタ60の幾つかのビツトの状態(1、または0)は
デコード・ユニツト20から実行ユニツト30への制御
ライン(図示せず)を付勢するか、または滅勢するかを
決定する。加えて、実行レジスタ60は、二次的部分と
して即値データ(immadiate data)62を含むことがで
き、それは、実行用として使用するためにか、または、
実行ユニツト30中にあるデータ・アドレス発生機能に
よつてアドレスを発生するのに使用するために、実行ユ
ニツト30(または、データ・メモリ70)に直接に送
ることができる。
【0013】書き込み動作の間において、実行ユニツト
30は、データ・メモリ70の中にストアするためのデ
ータ・アドレス及び関連データを出力する。この情報
は、参照数字31で示されている共通アドレス・バス
(CAB)及び共通データ・バス(CDB)に通常送ら
れる。読み取り動作に関しては、実行ユニツト30はC
ABを介してデータ・アドレスを出力するだけであり、
対応するデータは、データ・メモリからCDBを経て汎
用レジスタ80へ読み取られる。汎用レジスタ80は、
実際には実行ユニツト30の中に置かれている。
30は、データ・メモリ70の中にストアするためのデ
ータ・アドレス及び関連データを出力する。この情報
は、参照数字31で示されている共通アドレス・バス
(CAB)及び共通データ・バス(CDB)に通常送ら
れる。読み取り動作に関しては、実行ユニツト30はC
ABを介してデータ・アドレスを出力するだけであり、
対応するデータは、データ・メモリからCDBを経て汎
用レジスタ80へ読み取られる。汎用レジスタ80は、
実際には実行ユニツト30の中に置かれている。
【0014】上述した動作の順序はタイミング及び制御
ロジツク(図示せず)によつて制御される。これは、汎
用レジスタ80を含んで、取り出しユニツト10、命令
データ・レジスタ50、実行レジスタ60及び実行ユニ
ツト30のために必要なクロツク信号を与えるクロツク
・タイミング・ライン90を介して部分的に行なわれ
る。代表的な例で言えば、データは、しばしばL1/L
2ラツチと呼ばれる2重ラツチ構造中の各エレメントに
ラツチされる。従つて、ライン90上のCLK信号は、
データの転送及びラツチ用のL1及びL2ラツチに専用
のフエーズ・クロツクを送る2つの異なつたクロツク・
ライン上に与えられる、実際上は、2つの別個のクロツ
ク信号である。
ロジツク(図示せず)によつて制御される。これは、汎
用レジスタ80を含んで、取り出しユニツト10、命令
データ・レジスタ50、実行レジスタ60及び実行ユニ
ツト30のために必要なクロツク信号を与えるクロツク
・タイミング・ライン90を介して部分的に行なわれ
る。代表的な例で言えば、データは、しばしばL1/L
2ラツチと呼ばれる2重ラツチ構造中の各エレメントに
ラツチされる。従つて、ライン90上のCLK信号は、
データの転送及びラツチ用のL1及びL2ラツチに専用
のフエーズ・クロツクを送る2つの異なつたクロツク・
ライン上に与えられる、実際上は、2つの別個のクロツ
ク信号である。
【0015】図3は代表的なL1/L2ラツチを示すブ
ロツク図である。データを獲得するL1ラツチは入力ラ
イン102上に与えられるL1クロツクによつてトリガ
され、他方、データを後続のロジツク回路に対してラツ
チするL2は入力ライン104に与えられるL2クロツ
クによつてトリガされる。データはライン106により
L1ラツチに与えられ、そして、データはラツチL2か
らライン108上に出力される。代表的な装置におい
て、マスタ・クロツクCLKは、フエーズ01乃至04
と呼ばれる4つのフエーズに等しく分割される。図4
は、フエーズ・クロツクの4つの位相を示すタイミング
図である。マスタ・クロツクのマシン・サイクルの期間
は、破線110によつて示されている。図3に示したよ
うなラツチ構造に対して、フエーズ01クロツクは、ラ
イン104上のL2クロツク入力として与えることがで
き、他方、フエーズ04クロツクはライン102上でL
1クロツク入力として与えることができる。
ロツク図である。データを獲得するL1ラツチは入力ラ
イン102上に与えられるL1クロツクによつてトリガ
され、他方、データを後続のロジツク回路に対してラツ
チするL2は入力ライン104に与えられるL2クロツ
クによつてトリガされる。データはライン106により
L1ラツチに与えられ、そして、データはラツチL2か
らライン108上に出力される。代表的な装置におい
て、マスタ・クロツクCLKは、フエーズ01乃至04
と呼ばれる4つのフエーズに等しく分割される。図4
は、フエーズ・クロツクの4つの位相を示すタイミング
図である。マスタ・クロツクのマシン・サイクルの期間
は、破線110によつて示されている。図3に示したよ
うなラツチ構造に対して、フエーズ01クロツクは、ラ
イン104上のL2クロツク入力として与えることがで
き、他方、フエーズ04クロツクはライン102上でL
1クロツク入力として与えることができる。
【0016】上述した従来の代表的なRISCタイプの
アーキテクチヤとは対照的に、本発明はインターリーブ
されたRISCタイプの並列パイプライン・プロセツサ
を含んでいる。本質的に言えば、少なくとも2つの集積
された処理エンジンによつて、同じ半導体回路がインタ
ーリーブされた同じような態様で使用される。然しなが
ら、概念的には、本発明は、より広範な技術思想を持つ
ている。特に、少なくとも1つの取り出しユニツト、デ
コード・ユニツト及び実行ユニツトを含む複数個の素子
的ユニツトを有するRISCタイプのパイプライン・ア
ーキテクチヤを通る処理は、本発明に従つて、少なくと
も重複し、並列的に構成された素子的ユニツトのより遅
い動作によつて改善される。少なくとも重複し、並列的
に構成された素子的ユニツトは、重複した構成で与えら
れていない他の素子的ユニツトの速度の小数点以下の速
度で動作される。例えば、若し、デコード・フエーズ
が、取り出しユニツトの速度より少なくとも3倍だけ遅
い速度であれば、より高速度の1つの取り出しユニツト
からの出力を受け取るために、3つのデコード・ユニツ
トを並列に結合することによつて処理を改善することが
できる。このようにして、最大限の利用がパイプライン
中の各ユニツトに作られるので、半導体回路を増加する
ことなく処理性能を著しく向上することができる。
アーキテクチヤとは対照的に、本発明はインターリーブ
されたRISCタイプの並列パイプライン・プロセツサ
を含んでいる。本質的に言えば、少なくとも2つの集積
された処理エンジンによつて、同じ半導体回路がインタ
ーリーブされた同じような態様で使用される。然しなが
ら、概念的には、本発明は、より広範な技術思想を持つ
ている。特に、少なくとも1つの取り出しユニツト、デ
コード・ユニツト及び実行ユニツトを含む複数個の素子
的ユニツトを有するRISCタイプのパイプライン・ア
ーキテクチヤを通る処理は、本発明に従つて、少なくと
も重複し、並列的に構成された素子的ユニツトのより遅
い動作によつて改善される。少なくとも重複し、並列的
に構成された素子的ユニツトは、重複した構成で与えら
れていない他の素子的ユニツトの速度の小数点以下の速
度で動作される。例えば、若し、デコード・フエーズ
が、取り出しユニツトの速度より少なくとも3倍だけ遅
い速度であれば、より高速度の1つの取り出しユニツト
からの出力を受け取るために、3つのデコード・ユニツ
トを並列に結合することによつて処理を改善することが
できる。このようにして、最大限の利用がパイプライン
中の各ユニツトに作られるので、半導体回路を増加する
ことなく処理性能を著しく向上することができる。
【0017】従来のパイプライン処理において最も長い
時間のフエーズは、通常、実行フエーズであり、そし
て、取り出しフエーズ及びデコード・フエーズは夫々、
実行フエーズの時間の半分以下の時間しか必要としない
ことが分つたので、本発明に従つた新規なタイミング及
びシーケンスの方法は処理能力を最大限に発揮させるの
に用いることができる。インターリーブされたRISC
タイプのパイプライン・アーキテクチヤの実施例におい
て、実質的に1つの取り出しユニツトと1つのデコード
・ユニツトとを有する2つの実行ユニツトが集積回路化
される。事実上、実行ユニツトを通る同時処理は、処理
エンジンをインターリーブすること、つまり、処理サイ
クルを重複することによつて達成される。本質的には、
2つのプロセツサは180°位相がずれているが、しか
し、長い間で平均した時には、処理性能は2倍の増加を
示す。これは、半導体回路領域に約50パーセントの増
加をもたらすだけで達成される。
時間のフエーズは、通常、実行フエーズであり、そし
て、取り出しフエーズ及びデコード・フエーズは夫々、
実行フエーズの時間の半分以下の時間しか必要としない
ことが分つたので、本発明に従つた新規なタイミング及
びシーケンスの方法は処理能力を最大限に発揮させるの
に用いることができる。インターリーブされたRISC
タイプのパイプライン・アーキテクチヤの実施例におい
て、実質的に1つの取り出しユニツトと1つのデコード
・ユニツトとを有する2つの実行ユニツトが集積回路化
される。事実上、実行ユニツトを通る同時処理は、処理
エンジンをインターリーブすること、つまり、処理サイ
クルを重複することによつて達成される。本質的には、
2つのプロセツサは180°位相がずれているが、しか
し、長い間で平均した時には、処理性能は2倍の増加を
示す。これは、半導体回路領域に約50パーセントの増
加をもたらすだけで達成される。
【0018】例えば、図5に示したタイミング図を参照
すると、第1のプロセツサ・エンジン用のL1/L2ク
ロツク(即ち、プロセツサAの実行サイクル)は、フエ
ーズ03及びフエーズ02のクロツク(図4)によつて
夫々駆動されるが、他方、第2のプロセツサ・エンジン
(プロセツサBの実行サイクル)は、処理サイクルを決
めるためにフエーズ01及びフエーズ04クロツク(図
4)を使用する。プロセツサ(A)の実行サイクルに対
して、ラツチL1はフエーズ02を受け取り、他方、ラ
ツチL2はフエーズ03を受け取る。同様に、プロセツ
サ(B)の実行サイクルのラツチL2はフエーズ01の
クロツクを受け取り、他方、プロセツサ(B)のラツチ
L1はフエーズ04のクロツクを受け取る。図示されて
いるように、プロセツサ(A)及び(B)の結果のマシ
ン・サイクルは、ほぼ等しく、そして180°位相がず
れているが、しかし、全体の時間を平均すると、1マシ
ン・サイクルに対して、ほぼ2倍のスループツトが得ら
れる。図5は、本発明に従つた2重にインターリーブさ
れたRISCタイプの並列プロセツサのデコード及び取
り出しフエーズのタイミング図でもある。プロセツサ
(A)及びプロセツサ(B)の命令両方の取り出し動作
及びデコード動作は、交互に同じ処理サイクル内で生じ
るので、同じ半導体チツプの回路が両方のパイプライン
のために使用することができる。アドレス選択、データ
選択及びストア・ラツチのこのタイミング図は、図6に
示された2重にインターリーブされたRISCタイプの
並列処理構造115によつて用いるための夫々対応した
制御信号である。
すると、第1のプロセツサ・エンジン用のL1/L2ク
ロツク(即ち、プロセツサAの実行サイクル)は、フエ
ーズ03及びフエーズ02のクロツク(図4)によつて
夫々駆動されるが、他方、第2のプロセツサ・エンジン
(プロセツサBの実行サイクル)は、処理サイクルを決
めるためにフエーズ01及びフエーズ04クロツク(図
4)を使用する。プロセツサ(A)の実行サイクルに対
して、ラツチL1はフエーズ02を受け取り、他方、ラ
ツチL2はフエーズ03を受け取る。同様に、プロセツ
サ(B)の実行サイクルのラツチL2はフエーズ01の
クロツクを受け取り、他方、プロセツサ(B)のラツチ
L1はフエーズ04のクロツクを受け取る。図示されて
いるように、プロセツサ(A)及び(B)の結果のマシ
ン・サイクルは、ほぼ等しく、そして180°位相がず
れているが、しかし、全体の時間を平均すると、1マシ
ン・サイクルに対して、ほぼ2倍のスループツトが得ら
れる。図5は、本発明に従つた2重にインターリーブさ
れたRISCタイプの並列プロセツサのデコード及び取
り出しフエーズのタイミング図でもある。プロセツサ
(A)及びプロセツサ(B)の命令両方の取り出し動作
及びデコード動作は、交互に同じ処理サイクル内で生じ
るので、同じ半導体チツプの回路が両方のパイプライン
のために使用することができる。アドレス選択、データ
選択及びストア・ラツチのこのタイミング図は、図6に
示された2重にインターリーブされたRISCタイプの
並列処理構造115によつて用いるための夫々対応した
制御信号である。
【0019】図6を参照すると、2重にインターリーブ
されたRISCタイプの並列処理構造115は、図1の
単一プロセツサの実施例の取り出しユニツト10と同じ
ハイブリツド取り出しユニツトである。然しながら、取
り出しユニツト116は、2重にインターリーブされた
構造115の中の(A)プロセツサ・エンジン及び
(B)プロセツサ・エンジンの両方のための命令リンク
・レジスタを含んでいる。特に、前のアドレス/ブラン
チのアドレス・レジスタ(A)120及び前のアドレス
/ブランチのアドレス・レジスタ(B)122は、処理
パイプライン(A)及び処理パイプライン(B)夫々の
ための前のアドレス及び/又は発生されたアドレスを別
々に追跡するために与えられる。レジスタ120及び1
22にラツチされたアドレスは、タイミング及び制御ロ
ジツク123によつて発生されたアドレス選択信号(図
5)によつて制御されるマルチプレクサ124に送られ
る。レジスタ(A)120及びレジスタ(B)122か
らのアドレスの両方がマルチプレクサ124を通して出
力されるように、図5に示されているアドレス選択信号
は、1処理サイクルにおいてマルチプレクサ124を2
度通過させる。このことは、取り出しユニツト116が
図1のプロセツサの実施例の従来の取り出しユニツト1
0の周波数の2倍で動作することを意味する。
されたRISCタイプの並列処理構造115は、図1の
単一プロセツサの実施例の取り出しユニツト10と同じ
ハイブリツド取り出しユニツトである。然しながら、取
り出しユニツト116は、2重にインターリーブされた
構造115の中の(A)プロセツサ・エンジン及び
(B)プロセツサ・エンジンの両方のための命令リンク
・レジスタを含んでいる。特に、前のアドレス/ブラン
チのアドレス・レジスタ(A)120及び前のアドレス
/ブランチのアドレス・レジスタ(B)122は、処理
パイプライン(A)及び処理パイプライン(B)夫々の
ための前のアドレス及び/又は発生されたアドレスを別
々に追跡するために与えられる。レジスタ120及び1
22にラツチされたアドレスは、タイミング及び制御ロ
ジツク123によつて発生されたアドレス選択信号(図
5)によつて制御されるマルチプレクサ124に送られ
る。レジスタ(A)120及びレジスタ(B)122か
らのアドレスの両方がマルチプレクサ124を通して出
力されるように、図5に示されているアドレス選択信号
は、1処理サイクルにおいてマルチプレクサ124を2
度通過させる。このことは、取り出しユニツト116が
図1のプロセツサの実施例の従来の取り出しユニツト1
0の周波数の2倍で動作することを意味する。
【0020】多重化されたアドレスは増加するためにシ
ーケンサに送られ、その後、命令アドレス・レジスタ
(IAR)125に送られる。命令アドレス・レジスタ
125の中にラツチされた命令アドレスは、インターリ
ーブされた命令メモリ126にアクセスするために用い
られる。命令メモリ126は、データが(A)処理パイ
プライン及び(B)処理パイプラインの両方に対して、
メモリから交互の態様で読み取られ、読み取られたデー
タは、タイミング及び制御ロジツク123からのデータ
選択信号(図5)によつてインデツクス(指標付け)さ
れるので、インターリーブされているメモリと呼ばれ
る。再度、パイプライン・プロセツサ115に対して通
常、外部にあるメモリ126から読み取られた命令は、
データ選択信号が(A)処理パイプラインか、または
(B)処理パイプラインのいずれかをインデツクスした
ことに従つて、命令データ・レジスタ(A)128か、
または命令データ・レジスタ(B)130のいずれかに
送られる。
ーケンサに送られ、その後、命令アドレス・レジスタ
(IAR)125に送られる。命令アドレス・レジスタ
125の中にラツチされた命令アドレスは、インターリ
ーブされた命令メモリ126にアクセスするために用い
られる。命令メモリ126は、データが(A)処理パイ
プライン及び(B)処理パイプラインの両方に対して、
メモリから交互の態様で読み取られ、読み取られたデー
タは、タイミング及び制御ロジツク123からのデータ
選択信号(図5)によつてインデツクス(指標付け)さ
れるので、インターリーブされているメモリと呼ばれ
る。再度、パイプライン・プロセツサ115に対して通
常、外部にあるメモリ126から読み取られた命令は、
データ選択信号が(A)処理パイプラインか、または
(B)処理パイプラインのいずれかをインデツクスした
ことに従つて、命令データ・レジスタ(A)128か、
または命令データ・レジスタ(B)130のいずれかに
送られる。
【0021】図7はインターリーブされた命令メモリ1
26の実施例の細部を示すブロツク図である。この実施
例において、命令メモリは(A)メモリと(B)メモリ
とに物理的に分割されている。然しながら、メモリ
(A)及びメモリ(B)は同じメモリの分離した部分に
分けることもできるし、あるいは、夫々のメモリは複数
のメモリを含むことができる。図示されているように、
アドレスは、取り出しユニツト116(図6)の命令ア
ドレス・レジスタ125から、命令アドレス・バス(I
AB)を経てメモリ126に入力される。各アドレスは
2つの並列のラツチ200及び210に送られ、これら
のラツチ200及び210は、図5に示されたストア・
ラツチ(A)のクロツク信号及びストア・ラツチ(B)
のクロツク信号によつて夫々制御される。次に、これら
のラツチされたアドレスは、命令メモリ(A)220及
び命令メモリ(B)230の対応するメモリ中にストア
された情報にアクセスするために使用される。メモリ2
20及び230から交互に受け取られた情報は、データ
選択信号(図5)によつて駆動されるマルチプレクサ2
40に送られる。このようにして、命令データ・バス
(IDB)を経て、インターリーブされた並列プロセツ
サ115へ戻されたデータは、専用のデータ・レジス
タ、即ち命令データ・レジスタ(IDR(A))12
8、または命令データ・レジスタ(IDR(B))13
0に適宜にインデツクスされる。
26の実施例の細部を示すブロツク図である。この実施
例において、命令メモリは(A)メモリと(B)メモリ
とに物理的に分割されている。然しながら、メモリ
(A)及びメモリ(B)は同じメモリの分離した部分に
分けることもできるし、あるいは、夫々のメモリは複数
のメモリを含むことができる。図示されているように、
アドレスは、取り出しユニツト116(図6)の命令ア
ドレス・レジスタ125から、命令アドレス・バス(I
AB)を経てメモリ126に入力される。各アドレスは
2つの並列のラツチ200及び210に送られ、これら
のラツチ200及び210は、図5に示されたストア・
ラツチ(A)のクロツク信号及びストア・ラツチ(B)
のクロツク信号によつて夫々制御される。次に、これら
のラツチされたアドレスは、命令メモリ(A)220及
び命令メモリ(B)230の対応するメモリ中にストア
された情報にアクセスするために使用される。メモリ2
20及び230から交互に受け取られた情報は、データ
選択信号(図5)によつて駆動されるマルチプレクサ2
40に送られる。このようにして、命令データ・バス
(IDB)を経て、インターリーブされた並列プロセツ
サ115へ戻されたデータは、専用のデータ・レジス
タ、即ち命令データ・レジスタ(IDR(A))12
8、または命令データ・レジスタ(IDR(B))13
0に適宜にインデツクスされる。
【0022】図6を参照して説明すると、次のパイプラ
イン処理の間で、デコード/アドレス発生ユニツト13
4によつて、マルチプレクサ132を通してフエーズ情
報が読み取られ、これは、タイミング及び制御ロジツク
123によつて発生されたデータ選択信号(図5)によ
つてゲートされる。デコード/アドレス発生ユニツト1
34は図1の単一プロセツサの実施例のデコード・ユニ
ツト20と実質的に同じである。ただし、本発明の実施
例におけるデコード/アドレス発生ユニツト134は、
デコード・ユニツト20(図1)の周波数の2倍で動作
する。デコード/アドレス発生ユニツト134がブラン
チ命令として取り出し命令をデコードするならば、所望
の命令ブランチに対応するインデツクスされたアドレス
が発生される。ブランチ・アドレスは、インターリーブ
されたメモリ126から、所望の情報を検索するのに用
いるために、取り出しユニツト116のレジスタ120
か、またはレジスタ122に適宜に送り戻される。デコ
ードされた命令は、実行レジスタ(A)136か、また
は実行レジスタ(B)138のいずれかに適宜にラツチ
される。
イン処理の間で、デコード/アドレス発生ユニツト13
4によつて、マルチプレクサ132を通してフエーズ情
報が読み取られ、これは、タイミング及び制御ロジツク
123によつて発生されたデータ選択信号(図5)によ
つてゲートされる。デコード/アドレス発生ユニツト1
34は図1の単一プロセツサの実施例のデコード・ユニ
ツト20と実質的に同じである。ただし、本発明の実施
例におけるデコード/アドレス発生ユニツト134は、
デコード・ユニツト20(図1)の周波数の2倍で動作
する。デコード/アドレス発生ユニツト134がブラン
チ命令として取り出し命令をデコードするならば、所望
の命令ブランチに対応するインデツクスされたアドレス
が発生される。ブランチ・アドレスは、インターリーブ
されたメモリ126から、所望の情報を検索するのに用
いるために、取り出しユニツト116のレジスタ120
か、またはレジスタ122に適宜に送り戻される。デコ
ードされた命令は、実行レジスタ(A)136か、また
は実行レジスタ(B)138のいずれかに適宜にラツチ
される。
【0023】パイプライン処理の実行フエーズの間で、
2重の実行プロセツサ(即ち実行ユニツト(A)140
及び実行ユニツト(B)142)は、実行レジスタ
(A)136及び実行レジスタ(B)138の対応する
レジスタからラツチされたデータを読み取る。レジスタ
136及び138はパイプライン処理の実行フエーズに
必要な制御ビツトを含んでいる。レジスタ137及び1
38に関連して、夫々、共通アドレス・バス・レジスタ
137と共通アドレス・バス・レジスタ139とがあ
る。レジスタ137及び139は、インターリーブされ
たデータ・メモリ146中にロードするか、またはスト
アする情報に用いるために、デコード・ユニツト134
から、アドレス、または即値データの何れかをラツチす
る。これらのレジスタ両方からのラツチされた情報は、
対応する実行ユニツトと、共通データ・バスのマルチプ
レクサ147(後述する)とに利用可能にされる。
2重の実行プロセツサ(即ち実行ユニツト(A)140
及び実行ユニツト(B)142)は、実行レジスタ
(A)136及び実行レジスタ(B)138の対応する
レジスタからラツチされたデータを読み取る。レジスタ
136及び138はパイプライン処理の実行フエーズに
必要な制御ビツトを含んでいる。レジスタ137及び1
38に関連して、夫々、共通アドレス・バス・レジスタ
137と共通アドレス・バス・レジスタ139とがあ
る。レジスタ137及び139は、インターリーブされ
たデータ・メモリ146中にロードするか、またはスト
アする情報に用いるために、デコード・ユニツト134
から、アドレス、または即値データの何れかをラツチす
る。これらのレジスタ両方からのラツチされた情報は、
対応する実行ユニツトと、共通データ・バスのマルチプ
レクサ147(後述する)とに利用可能にされる。
【0024】実行ユニツト140及び142は汎用レジ
スタと、状態レジスタと、マルチプライア(倍率器)及
びALU141及び143のような実行ロジツクとを含
んでいる。本発明のインターリーブされたアーキテクチ
ヤの良好な実施例において、実行ユニツトの1つ以上の
コンポーネント(より総括的に言えば、本発明に従つた
パイプラインの少なくとも重複し、並列に構成された素
子的なユニツト中のすべてのコンポーネント)を、取り
出し及びデコード・フエーズにおける回路の上述した共
有と同様な態様で時分割することができる。例えば、単
一のマルチプレクサ、または単一のALUを並列処理構
造115の中で使用することができる。これを換言すれ
ば、並列処理構造を通る処理は実行フエーズの残りの部
分の速度のほぼ2倍の速度で達成することができること
を意味する。
スタと、状態レジスタと、マルチプライア(倍率器)及
びALU141及び143のような実行ロジツクとを含
んでいる。本発明のインターリーブされたアーキテクチ
ヤの良好な実施例において、実行ユニツトの1つ以上の
コンポーネント(より総括的に言えば、本発明に従つた
パイプラインの少なくとも重複し、並列に構成された素
子的なユニツト中のすべてのコンポーネント)を、取り
出し及びデコード・フエーズにおける回路の上述した共
有と同様な態様で時分割することができる。例えば、単
一のマルチプレクサ、または単一のALUを並列処理構
造115の中で使用することができる。これを換言すれ
ば、並列処理構造を通る処理は実行フエーズの残りの部
分の速度のほぼ2倍の速度で達成することができること
を意味する。
【0025】共通アドレス・バス・レジスタ137及び
139か、または実行ユニツト140及び142からの
情報を受け取つた2重マルチプレクサの第1のマルチプ
レクサは、共通アドレス・バス(CAB)マルチプレク
サ145を含んでおり、他方、第2のマルチプレクサは
共通データ・バス(CDB)のマルチプレクサ147と
して機能する。マルチプレクサ145は、アドレス選択
信号によつて制御され、そして、マルチプレクサ147
はタイミング及び制御ロジツクからのデータ選択信号
(図5)によつて制御される。また、即値データはレジ
スタ137及び139から対応する実行ユニツト中に送
ることができ、他方、デコードされたアドレスは共通ア
ドレス・バスのマルチプレクサ145に直接に送られ
る。
139か、または実行ユニツト140及び142からの
情報を受け取つた2重マルチプレクサの第1のマルチプ
レクサは、共通アドレス・バス(CAB)マルチプレク
サ145を含んでおり、他方、第2のマルチプレクサは
共通データ・バス(CDB)のマルチプレクサ147と
して機能する。マルチプレクサ145は、アドレス選択
信号によつて制御され、そして、マルチプレクサ147
はタイミング及び制御ロジツクからのデータ選択信号
(図5)によつて制御される。また、即値データはレジ
スタ137及び139から対応する実行ユニツト中に送
ることができ、他方、デコードされたアドレスは共通ア
ドレス・バスのマルチプレクサ145に直接に送られ
る。
【0026】このようにして、データ及びアドレスの両
方は、例えばストア動作を行なうために、マルチプレク
サ145及び147からインターリーブされたデータ・
メモリ146の中に送られる。若し、情報がメモリ14
6から読み取られたならば、その情報は、共通データ・
バス(CDB)を経て専用の実行ユニツト140か、ま
たは142に返還され、より特定して言えば、実行ユニ
ツト(A)か、または実行ユニツト(B)の汎用レジス
タ(A)148か、または汎用レジスタ(B)150の
何れかに送られる。図8は外部に設けられ、インターリ
ーブされたデータ・メモリ146の実施例のブロツク図
である。
方は、例えばストア動作を行なうために、マルチプレク
サ145及び147からインターリーブされたデータ・
メモリ146の中に送られる。若し、情報がメモリ14
6から読み取られたならば、その情報は、共通データ・
バス(CDB)を経て専用の実行ユニツト140か、ま
たは142に返還され、より特定して言えば、実行ユニ
ツト(A)か、または実行ユニツト(B)の汎用レジス
タ(A)148か、または汎用レジスタ(B)150の
何れかに送られる。図8は外部に設けられ、インターリ
ーブされたデータ・メモリ146の実施例のブロツク図
である。
【0027】図8に示されているように、アドレス・マ
ルチプレクサ145は、(A)処理パイプラインの共通
アドレス・バスCAB(A)と、(B)処理パイプライ
ンの共通アドレス・バスCAB(B)の両方を入力とし
て受け取り、アドレス選択信号(図5)の制御の下で、
2つのバスによつて転送されるアドレスを多重化する。
既に説明したように、アドレス選択信号(データ選択信
号も同様に)は、実行ユニツトのサイクル時間の2倍速
いサイクル時間で駆動される。アドレス・マルチプレク
サ145の出力は、インターリーブされたデータ・メモ
リ146の中に転送され、これをより特定して言えば、
ストア・ラツチ(A)信号及びストア・ラツチ(B)信
号(図5)によつて夫々駆動される2つの並列接続され
たラツチに転送される。各ラツチの出力はランダム・ア
クセス・メモリ(A)170、またはランダム・アクセ
ス・メモリ(B)172に接続されている。データ選択
信号(図5)によつて駆動されたランダム・アクセス・
メモリ170及び172は、同じメモリの異なつた部分
で構成することができるし、あるいは、1つ以上の別個
のメモリに夫々分割することができる。
ルチプレクサ145は、(A)処理パイプラインの共通
アドレス・バスCAB(A)と、(B)処理パイプライ
ンの共通アドレス・バスCAB(B)の両方を入力とし
て受け取り、アドレス選択信号(図5)の制御の下で、
2つのバスによつて転送されるアドレスを多重化する。
既に説明したように、アドレス選択信号(データ選択信
号も同様に)は、実行ユニツトのサイクル時間の2倍速
いサイクル時間で駆動される。アドレス・マルチプレク
サ145の出力は、インターリーブされたデータ・メモ
リ146の中に転送され、これをより特定して言えば、
ストア・ラツチ(A)信号及びストア・ラツチ(B)信
号(図5)によつて夫々駆動される2つの並列接続され
たラツチに転送される。各ラツチの出力はランダム・ア
クセス・メモリ(A)170、またはランダム・アクセ
ス・メモリ(B)172に接続されている。データ選択
信号(図5)によつて駆動されたランダム・アクセス・
メモリ170及び172は、同じメモリの異なつた部分
で構成することができるし、あるいは、1つ以上の別個
のメモリに夫々分割することができる。
【0028】書き込み動作が行なわれる場合、データ・
マルチプレクサ147は、(A)処理パイプラインのた
めの共通データ・バスCDB(A)と、(B)処理パイ
プラインのための共通データ・バスCDB(B)とに入
力を受け取り、そして、その出力はデータ選択信号(図
5)によつて制御される。インデツクスされたデータ信
号は、駆動回路を含む共通のI/Oを通つて通過した後
に、ランダム・アクセス・メモリ170及び172の何
れか一方に入力される。読み取り動作が行なわれる場
合、メモリ170、または172のいずれかの出力は、
共通データ・バス(CDB)を通つて、対応するパイプ
ライン・プロセツサに、特定して言えば、用いられる汎
用レジスタ148、または150(図6)に通過される
前に、マルチプレクサ174の中で多重化される。マル
チプレクサ174を通過したデータは、タイミング及び
制御ロジツクによつて発生されたデータ選択信号(図
5)によつてインデツクスされる。
マルチプレクサ147は、(A)処理パイプラインのた
めの共通データ・バスCDB(A)と、(B)処理パイ
プラインのための共通データ・バスCDB(B)とに入
力を受け取り、そして、その出力はデータ選択信号(図
5)によつて制御される。インデツクスされたデータ信
号は、駆動回路を含む共通のI/Oを通つて通過した後
に、ランダム・アクセス・メモリ170及び172の何
れか一方に入力される。読み取り動作が行なわれる場
合、メモリ170、または172のいずれかの出力は、
共通データ・バス(CDB)を通つて、対応するパイプ
ライン・プロセツサに、特定して言えば、用いられる汎
用レジスタ148、または150(図6)に通過される
前に、マルチプレクサ174の中で多重化される。マル
チプレクサ174を通過したデータは、タイミング及び
制御ロジツクによつて発生されたデータ選択信号(図
5)によつてインデツクスされる。
【0029】この道の専門家は、RISCタイプのアー
キテクチヤ中の速度の低い複数の素子的ユニツトを与え
ることによつて、処理スループツトが著しく改善される
ことが、上述の説明から理解できる。特に、同じ基本的
プロセツサ技術と同じ命令セツトにより従来得られてい
た速度よりも2倍以上の速度が可能である。更に、この
向上された処理速度は、従来のプロセツサ技術において
必要とされる半導体回路領域の大きさの半分(または、
それ以下)の半導体回路領域の大きさで達成することが
できる。例えば、本発明を適用した実際の装置におい
て、速度を2倍にすることは、従来技術によるRISC
タイプのアーキテクチヤと比較した場合、50%以下の
半導体回路領域の使用率で達成される。
キテクチヤ中の速度の低い複数の素子的ユニツトを与え
ることによつて、処理スループツトが著しく改善される
ことが、上述の説明から理解できる。特に、同じ基本的
プロセツサ技術と同じ命令セツトにより従来得られてい
た速度よりも2倍以上の速度が可能である。更に、この
向上された処理速度は、従来のプロセツサ技術において
必要とされる半導体回路領域の大きさの半分(または、
それ以下)の半導体回路領域の大きさで達成することが
できる。例えば、本発明を適用した実際の装置におい
て、速度を2倍にすることは、従来技術によるRISC
タイプのアーキテクチヤと比較した場合、50%以下の
半導体回路領域の使用率で達成される。
【発明の効果】本発明は、コンピユータのアーキテクチ
ヤの技術を変更するとか、より複雑な命令セツトを必要
としないで、命令のスループツトを向上し、しかも、す
べての処理フエーズを最大限に利用する新しいRISC
タイプのパイプライン・プロセツサを与える。
ヤの技術を変更するとか、より複雑な命令セツトを必要
としないで、命令のスループツトを向上し、しかも、す
べての処理フエーズを最大限に利用する新しいRISC
タイプのパイプライン・プロセツサを与える。
【図1】従来の単一プロセツサの3フエーズRISCタ
イプのアーキテクチヤの必須の素子を示すブロツク図で
ある。
イプのアーキテクチヤの必須の素子を示すブロツク図で
ある。
【図2】図1に示された取り出しユニツトの詳細なブロ
ツク図である。
ツク図である。
【図3】RISCタイプのアーキテクチヤの中のデータ
を転送し、ラツチするために使用される従来のL1/L
2ラツチ回路のブロツク図である。
を転送し、ラツチするために使用される従来のL1/L
2ラツチ回路のブロツク図である。
【図4】4フエーズ・クロツク方式のタイミング図であ
る。
る。
【図5】2重インターリーブされたRISCタイプのア
ーキテクチヤの種々の素子の動作のシーケンスを含む本
発明の実施例のタイミング図である。
ーキテクチヤの種々の素子の動作のシーケンスを含む本
発明の実施例のタイミング図である。
【図6】インターリーブされた命令メモリとインターリ
ーブされたデータ・メモリへの接続を含む本発明の2重
にインターリーブされたRISCタイプのアーキテクチ
ヤの幾つかの素子を示すブロツク図である。
ーブされたデータ・メモリへの接続を含む本発明の2重
にインターリーブされたRISCタイプのアーキテクチ
ヤの幾つかの素子を示すブロツク図である。
【図7】図6のインターリーブされた命令メモリのブロ
ツク図である。
ツク図である。
【図8】図6のインターリーブされたデータ・メモリの
ブロツク図である。
ブロツク図である。
10、116 取り出しユニツト 11 インクレメンタ 12 マルチプレクサ 13 前アドレス・レジスタ 14 命令アドレス・レジスタ 15 命令アドレス・バス 16 命令データ・バス 20 デコード・ユニツト 30 実行ユニツト 40 命令メモリ 50 命令データ・レジスタ 60 実行レジスタ 62 即値データ 70 データ・メモリ 80 汎用レジスタ 90 クロツク・タイミング・ライン 100 L1/L2ラツチ 115 2重にインターリーブされた処理構造 123 タイミング及び制御回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 セバスチアン・テオドール・ベントロン アメリカ合衆国バーモント州、ジェリコ、 アップルトリー・レーン 1 (72)発明者 ジョン・ジョセフ・ライリイ アメリカ合衆国バーモント州、ハンティン グトン、アール・ディ1、ボックス1279 (72)発明者 バイジュ・ディラジュラル・マンダリア アメリカ合衆国フロリダ州、ボカ・ラート ン、アエギアン・ドライブ 9501 (72)発明者 マイケル・ジョージ・ホラング アメリカ合衆国フロリダ州、ボカ・ラート ン、181番サークル・サウス 18251 (72)発明者 ウイリアム・ロバート・ロビンソン、ジュ ニア アメリカ合衆国フロリダ州、ウエスト・パ ーム・ビーチ、エクスマ・ロード 2737番 地
Claims (10)
- 【請求項1】 少なくとも2つの命令セツトからの複数
の命令を実質的に並列でパイプライン化された処理用に
構成された短縮命令セツト・コンピユータにおいて、 パイプライン構造の中に相互接続され、少なくとも取り
出しユニツト、デコード・ユニツト及び実行ユニツトを
含む複数個の素子的ユニツトと、 上記素子的ユニツトの内の1つのユニツトは、上記素子
的ユニツトの最も速い他の素子的ユニツトの処理サイク
ルよりも2倍程度低速の処理サイクルを有し、上記少な
くとも1つの低速度の素子的ユニツトは、少なくとも重
複した並列構成で与えられ、上記少なくとも重複した並
列構成の素子的ユニツトは上記少なくとも2つの命令セ
ツトの対応する1つからの命令だけしか処理しないこと
と、 上記少なくとも重複した並列構成の素子的ユニツトの各
々は、少なくとも重複した並列構成において与えられて
いない上記他の素子的ユニツトの速度の端数以下の速度
で動作することと、上記少なくとも重複した並列構成の
素子的ユニツトのユニツトはインターリーブされた出力
を持つていることとを含むことを特徴とするコンピユー
タ。 - 【請求項2】 上記少なくとも重複した並列構成のユニ
ツトは重複構成において与えられていない上記他の素子
的ユニツトの速度の半分の速度で動作することを特徴と
するコンピユータ。 - 【請求項3】 n個の命令セツトから複数の命令を実質
的に並列でパイプライン化された処理を行なう短縮命令
セツト・コンピユータにおいて、 上記n個の命令セツトの各々からコンピユータ命令を取
り出すための命令取り出しユニツトと、 取り出された命令をデコードするための命令デコード・
ユニツトと、 上記デコード・ユニツトからデコードされた命令を受け
取るために並列に接続され、上記命令デコード・ユニツ
トによつてデコードされた命令を実行するためのn個の
実行ユニツトと、上記n個の実行ユニツトの各々は、同
じサイクル時間を持ち、かつ、上記n個の命令セツトの
対応するものからのデコードされた命令だけしか実行し
ないことと、 n個の命令セツトは、上記実行ユニツトのサイクル時間
に等しい時間内で、上記命令取り出しユニツト及び上記
命令デコード・ユニツトの各々によつて別々に処理され
るように、上記命令取り出しユニツト、命令デコード・
ユニツト及びn個の実行ユニツトの各々に接続され、上
記n個の命令セツトからの命令の動作のタイミング及び
シーケンスを制御するためのタイミング及び制御ユニツ
ト手段とを含むことを特徴とするコンピユータ。 - 【請求項4】 上記タイミング及び制御ユニツト手段
は、上記n個の実行ユニツトの各々の処理サイクルの位
相が上記n個の実行ユニツトの少なくとも他の1つの処
理ユニツトの処理サイクルの1/nだけ異なるように、
上記n個の実行ユニツトの動作を制御することを特徴と
する請求項3に記載のコンピユータ。 - 【請求項5】 上記命令取り出しユニツトはn個の命令
リンク・レジスタを含み、該命令リンク・レジスタの各
々は上記n個の命令セツトの対応するものの命令アドレ
スをラツチすることを特徴とする請求項3に記載のコン
ピユータ。 - 【請求項6】 上記n個の命令セツトはインターリーブ
された命令メモリ中にストアされ、かつ、上記命令取り
出しユニツトは上記インターリーブされた命令メモリか
ら命令を取り出すための手段を含むことを特徴とする請
求項3に記載のコンピユータ。 - 【請求項7】 上記コンピユータは、共通アドレス・バ
スのマルチプレクサ及び共通データ・バスのマルチプレ
クサを含むことと、更に、上記コンピユータは共通アド
レスバス及び共通データ・バスを経てインターリーブさ
れたデータ・メモリに接続されていることと、上記n個
の実行ユニツトの各々は、上記共通アドレス・バス及び
上記共通データ・バスを通つて上記インターリーブされ
たデータ・メモリと通信するために、上記共通アドレス
・バスのマルチプレクサと、上記共通データ・バスのマ
ルチプレクサとに接続されていることとを含むことを特
徴とする請求項3に記載のコンピユータ。 - 【請求項8】 n個の命令セツトから複数個の命令をパ
イプライン処理する方法において、 パイプライン方式で上記n個の命令セツトの各々からの
命令をほぼ同時に取り出すステツプと、デコードし、か
つ実行するステツプとを含むことと、上記取り出し、デ
コードし、かつ実行するステツプのうちの少なくとも1
つのステツプは、上記取り出し、デコードし、かつ実行
するステツプのうちの最も低速度のステツプよりも、毎
命令当り少なくとも2倍の速度で遂行されることと、 上記最低速度のパイプライン・ステツプは、上記少なく
とも2倍の速度のパイプライン処理ステツプと毎ステツ
プ当り同じ数の命令を処理するように、並列のブランチ
処理方式で、上記取り出し、デコードし、かつ実行する
ステツプの最も低速度のステツプを遂行するステツプと
を含むことを特徴とするパイプライン処理方法。 - 【請求項9】 上記遂行するステツプは、命令がインタ
ーリーブされた態様でパイプラインを通じて処理される
ように、上記取り出し、デコードし、かつ処理するパイ
プライン・ステツプの最も低速度のステツプを並列方式
で遂行するステツプを含むことを特徴とする請求項8に
記載のパイプライン処理方法。 - 【請求項10】 少なくとも取り出し、デコードし、か
つ実行するフエーズを有するパイプライン・プロセツサ
を通して命令を処理する方法であつて、上記実行フエー
ズは、並列に接続されたn個の実行ユニツトにより遂行
され、上記n個の実行ユニツトの各々は、実質的に同じ
サイクル時間で動作する命令処理方法において、 (a) 一連のn個の命令を取り出すステツプと、 (b) 上記取り出された一連のn個の命令をデコード
し、他方、同時に他の一連のn個の命令を取り出すステ
ツプと、 (c) 上記デコードされた一連のn個の命令を実行する
ために上記n個の実行ユニツトを使用し、他方、同時に
他の一連のn個の命令をデコードし、かつ新しい一連の
n個の命令を取り出すステツプを含むことと、該実行ス
テツプ(c)は上記n個の命令の1つだけを実行するため
に、上記n個の実行ユニツトの各々を使用することと、 (d) 上記デコードされた他の一連のn個の命令を実行
するために、上記n個の実行ユニツトを使用し、他方、
同時に上記新しい一連のn個の命令をデコードし、かつ
新しい一連のn個の命令を取り出すステツプを含むこと
と、該実行ステツプ(d)は上記n個の命令の1つだけを
実行するために、上記n個の実行ユニツトの各々を使用
することを含むことと、 (e) n個の命令がハイブリツドの並列パイプライン方
式で別個に処理されるように、複数個の命令の列に対し
て上記ステツプ(c)及び(d)を繰り返して、上記実行ユニ
ツトの動作サイクル時間のほぼn倍で上記取り出しステ
ツプ及びデコード・ステツプを遂行するステツプとを含
むことを特徴とする命令処理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US80093391A | 1991-11-26 | 1991-11-26 | |
| US800933 | 1991-11-26 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05224929A true JPH05224929A (ja) | 1993-09-03 |
| JPH07122853B2 JPH07122853B2 (ja) | 1995-12-25 |
Family
ID=25179752
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4288385A Expired - Lifetime JPH07122853B2 (ja) | 1991-11-26 | 1992-10-27 | コンピュータ及び命令処理方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5459843A (ja) |
| EP (1) | EP0544083A3 (ja) |
| JP (1) | JPH07122853B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7903773B2 (en) | 2008-03-27 | 2011-03-08 | Fujitsu Limited | Serial data processing circuit |
| JP2015041176A (ja) * | 2013-08-21 | 2015-03-02 | 日本電気株式会社 | プロセッサおよびプロセッサの処理方法 |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3097434B2 (ja) * | 1994-01-25 | 2000-10-10 | ヤマハ株式会社 | 効果付加用ディジタル信号処理装置 |
| US5828903A (en) * | 1994-09-30 | 1998-10-27 | Intel Corporation | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer |
| EP0715251B1 (en) * | 1994-11-29 | 2000-07-26 | International Business Machines Corporation | One cycle processor for real time processing |
| GB2296352A (en) * | 1994-12-22 | 1996-06-26 | Motorola Gmbh | Microprocessor for executing multiplexed streams of instructions |
| US5930490A (en) * | 1996-01-02 | 1999-07-27 | Advanced Micro Devices, Inc. | Microprocessor configured to switch instruction sets upon detection of a plurality of consecutive instructions |
| DE69727127T2 (de) * | 1996-11-04 | 2004-11-25 | Koninklijke Philips Electronics N.V. | Verarbeitungsgerät zum lesen von befehlen aus einem speicher |
| US6546479B1 (en) | 1998-02-10 | 2003-04-08 | Koninklijke Philips Electronics N.V. | Reduced instruction fetch latency in a system including a pipelined processor |
| DE59901509D1 (de) * | 1998-02-19 | 2002-06-27 | Infineon Technologies Ag | Vorrichtung zur hierarchischen und verteilten steuerung von programmierbaren modulen in hochintegrierten systemen |
| US6311262B1 (en) | 1999-01-18 | 2001-10-30 | Infineon Technologies Ag | Apparatus for the hierarchical and distributed control of programmable modules in large-scale integrated systems |
| US7401205B1 (en) * | 1999-08-13 | 2008-07-15 | Mips Technologies, Inc. | High performance RISC instruction set digital signal processor having circular buffer and looping controls |
| US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
| US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
| US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
| US7620702B1 (en) | 1999-12-28 | 2009-11-17 | Intel Corporation | Providing real-time control data for a network processor |
| US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
| US6584522B1 (en) | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
| US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
| US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
| US7126952B2 (en) | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
| US7471688B2 (en) | 2002-06-18 | 2008-12-30 | Intel Corporation | Scheduling system for transmission of cells to ATM virtual circuits and DSL ports |
| US7352769B2 (en) | 2002-09-12 | 2008-04-01 | Intel Corporation | Multiple calendar schedule reservation structure and method |
| US7433307B2 (en) | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
| US7443836B2 (en) | 2003-06-16 | 2008-10-28 | Intel Corporation | Processing a data packet |
| US7120708B2 (en) * | 2003-06-30 | 2006-10-10 | Intel Corporation | Readdressable virtual DMA control and status registers |
| KR101059899B1 (ko) * | 2009-04-23 | 2011-08-29 | 광주과학기술원 | 마이크로 프로세서 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5317023A (en) * | 1976-07-30 | 1978-02-16 | Hitachi Ltd | Color picture tube |
| JPS6238942A (ja) * | 1985-08-13 | 1987-02-19 | Nec Corp | マイクロプログラム制御装置 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3866523A (en) * | 1973-05-30 | 1975-02-18 | Lancaster Research And Dev Cor | Method and apparatus for forming bulk containers from articulatable composite panels |
| US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
| US4493019A (en) * | 1980-05-06 | 1985-01-08 | Burroughs Corporation | Pipelined microprogrammed digital data processor employing microinstruction tasking |
| JPS6028015B2 (ja) * | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
| JPS58151655A (ja) * | 1982-03-03 | 1983-09-08 | Fujitsu Ltd | 情報処理装置 |
| US4589065A (en) * | 1983-06-30 | 1986-05-13 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable trap instructions in a primitive instruction set computing system |
| US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
| US4809171A (en) * | 1984-06-20 | 1989-02-28 | Convex Computer Corporation | Concurrent processing of data operands |
| JPH0762823B2 (ja) * | 1985-05-22 | 1995-07-05 | 株式会社日立製作所 | デ−タ処理装置 |
| US4734852A (en) * | 1985-08-30 | 1988-03-29 | Advanced Micro Devices, Inc. | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor |
| DE3751503T2 (de) * | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
| US4766566A (en) * | 1986-08-18 | 1988-08-23 | International Business Machines Corp. | Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing |
| FR2606186B1 (fr) * | 1986-10-31 | 1991-11-29 | Thomson Csf | Processeur de calcul comportant une pluralite d'etages relies en serie, calculateur et procede de calcul mettant en oeuvre ledit procede |
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| JPH0810430B2 (ja) * | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
| US5202967A (en) * | 1988-08-09 | 1993-04-13 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
-
1992
- 1992-10-05 EP EP9292116948A patent/EP0544083A3/en not_active Withdrawn
- 1992-10-27 JP JP4288385A patent/JPH07122853B2/ja not_active Expired - Lifetime
-
1994
- 1994-07-28 US US08/282,412 patent/US5459843A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5317023A (en) * | 1976-07-30 | 1978-02-16 | Hitachi Ltd | Color picture tube |
| JPS6238942A (ja) * | 1985-08-13 | 1987-02-19 | Nec Corp | マイクロプログラム制御装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7903773B2 (en) | 2008-03-27 | 2011-03-08 | Fujitsu Limited | Serial data processing circuit |
| JP2015041176A (ja) * | 2013-08-21 | 2015-03-02 | 日本電気株式会社 | プロセッサおよびプロセッサの処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5459843A (en) | 1995-10-17 |
| JPH07122853B2 (ja) | 1995-12-25 |
| EP0544083A2 (en) | 1993-06-02 |
| EP0544083A3 (en) | 1994-09-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07122853B2 (ja) | コンピュータ及び命令処理方法 | |
| JP2500036B2 (ja) | ハイブリッドパイプライン接続プロセッサおよびその処理方法 | |
| EP0053457B1 (en) | Data processing apparatus | |
| US6775766B2 (en) | Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor | |
| US7366881B2 (en) | Method and apparatus for staggering execution of an instruction | |
| US5784584A (en) | High performance microprocessor using instructions that operate within instruction groups | |
| US6510510B1 (en) | Digital signal processor having distributed register file | |
| US6134653A (en) | RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit | |
| JP2000516418A (ja) | 再構成可能な演算システム | |
| JP2002539519A (ja) | Vliwプロセッサにおけるレジスタ・アドレッシングの間接制御を提供するためのレジスタファイル索引付け方法及び装置 | |
| JP2002536738A (ja) | 間接vliwプロセッサにおける実行時間並列処理のための動的vliwサブ命令選択システム | |
| WO1999036852A1 (en) | Digital signal processor having data alignment buffer for performing unaligned data accesses | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| EP0114191B1 (en) | Microword control system utilizing overlapped programmable logic arrays | |
| JPH0776918B2 (ja) | データ処理システム及び方法 | |
| US6513125B1 (en) | Multi-phase multi-access pipeline memory system in which the pipeline memory can decode addresses issued by one processor while simultaneously accessing memory array by other processor | |
| US8977835B2 (en) | Reversing processing order in half-pumped SIMD execution units to achieve K cycle issue-to-issue latency | |
| JPH0124655Y2 (ja) | ||
| CN1021147C (zh) | 具有共用控制存储器的多处理机控制器 | |
| JPH0748187B2 (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方法およびコンピュータ・システム | |
| US6105123A (en) | High speed register file organization for a pipelined computer architecture | |
| US6006293A (en) | Method and apparatus for zero overhead sharing for registered digital hardware | |
| JPH0512751B2 (ja) | ||
| EP0136218A2 (en) | Multiple port pipelined processor | |
| JP3511691B2 (ja) | 演算処理装置 |