JP2000507016A - メモリの命令を読み出す処理装置 - Google Patents

メモリの命令を読み出す処理装置

Info

Publication number
JP2000507016A
JP2000507016A JP10521161A JP52116198A JP2000507016A JP 2000507016 A JP2000507016 A JP 2000507016A JP 10521161 A JP10521161 A JP 10521161A JP 52116198 A JP52116198 A JP 52116198A JP 2000507016 A JP2000507016 A JP 2000507016A
Authority
JP
Japan
Prior art keywords
instruction
branch
instructions
memory
processing unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP10521161A
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 JP2000507016A publication Critical patent/JP2000507016A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 処理ユニット用の命令は複数のメモリバンクに記憶され、連続的な命令は連続した相違するメモリバンクに記憶される。命令の実行が開始されると常に、1サイクルより遅く実行される命令の読出しも開始される。その結果、複数の命令が、相違するメモリバンクから平行して読み出される。命令の読出し後及び命令の実行の開始前、命令はパイプラインを通過し、処理装置は、関連の命令が分岐命令であるか否かを検出する。分岐命令である場合、処理ユニットは、分岐ターゲット命令から複数の命令の並列な読出しを開始する。最終段で分岐が行われたことがわかると、同数の命令がパイプラインに並列にロードされる。

Description

【発明の詳細な説明】 メモリの命令を読み出す処理装置 本発明は、− 処理ユニットと、 − この処理ユニットに対する命令を記憶するメモリと、 − このメモリから論理シーケンスで命令を読み出すとともにこの論理シーケン スで実行するために前記処理ユニットに前記命令を供給する読出しユニットとを 有する処理装置に関するものである。 この種の処理装置は、国際特許出願番号WO93/14457から既知である 。プログラム実行中、実行のために連続的な命令がメモリから処理ユニットにロ ードされる。しかしながら、現代の処理ユニットは、一般に命令のメモリからの 読出しに比べて命令の実行を速くすることができる。したがって、特別なステッ プを要しない場合、メモリは、処理装置の全体に亘る速度に関して制限的な要因 となる。この問題は、一般に「メモリボトルネック」(memory bottleneck)と 称される。 メモリボトルネックを累積する複数のステップが従来から既知である。例えば 、「キャッシュ」技術が既知である。キャッシュは、キャッシュストラテジに基 づいて処理ユニットによって実行することが予測される命令をセーブする高速な キャッシュメモリを利用する。キャッシュメモリは比較的高価である。その理由 は、それは、処理ユニットの命令サイクルごとに命令を読み出すために十分高速 である必要があるからである。さらに、キャッシュ技術は一般に非常に複雑であ り、したがって十分な回路オーバヘッドを必要とする。 メモリを単一命令を読み出すのに必要な場合に比べて大きくすることは従来か ら既知である。これは、メモリの1読出しサイクル中に複数の連続的な命令を平 行して同時に読み出すことができることを意味する。これらの命令は、非常に迅 速に読み出すことができる先取りバッファに記憶され、その後これら命令が処理 ユニットに連続的に供給される。処理ユニットが先取りバッファから複数の命令 を実行する間、新たなメモリ読出しサイクルが次の複数の命令に対して開始され る。N個の命令をメモリから同時に読み出す場合、最適な状況ではメモリの有効 速度がN倍となり、その結果、メモリはもはや処理装置の速度に関して制限的な 要因を必要としない。この技術は、処理ユニットが命令を「論理」シーケンス( これは、処理ユニットによって再調整されることなく読出しユニットによって規 定されたシーケンスを意味する。)で実行する場合にのみ最適結果を提供する。 これは通常の場合である。しかしながら、処理ユニットによって実行された命令 も、相違する命令実行シーケンスが生じる分岐命令も有することができる。した がって、分岐命令のために、(分岐出力後又は分岐入力前の)先取りバッファの 内容の一部は役に立たない。メモリの既に開始された読出しも役に立たない。こ れもプロセッサの速度を制限する。 本発明の目的は、少ないオーバヘッドを用いながらメモリボトルネックを提供 する処理装置を提供することである。 本発明による処理装置は、前記メモリが複数の独立してアドレス指定可能なメ モリバンクを具え、論理的に連続する命令を、相違するメモリバンクに記憶し、 前記読出しユニットを、前記相違するメモリバンクから複数の命令を並列に読み 出すとともに、前記メモリバンクから瞬時的に並列に読み出される命令に論理的 に続く命令の読出しを開始することによって前記処理ユニットが命令を実行を開 始する度に、前記複数の命令を再び充填するように配置したことを特徴とするも のである。 したがって、連続的な命令の各々は次のメモリバンクに記憶される。このため に、処理ユニットは好適には固定長の排他的な命令を有する。本発明の結果、命 令がパイプライン方式で探索され、一般的には、複数の命令は相違する読出しの 段にある。結果的には、命令を、同一バスを通じて、一つのメモリバンクを読み 出すのに必要とされる時間間隔より短い中間時間間隔でプロセッサに連続的に供 給することができる。一つの新たな命令が、実行される命令の各々に対してアド レス指定されるので、アドレス指定された命令数は、絶対必要な数より多くなら ない。これによって、一つより多い命令を同一のメモリバンクから同時に読み出 す必要がある場合に生じるメモリ衝突のリスクを減少させる。 本発明による処理装置の一例の処理ユニットは、連続的なN個のみの命令の実 行を開始することができ、少なくともメモリバンクのアドレス指定と読み出され た命令の前記処理ユニットへの供給との間に要求される時間間隔中、前記読出し ユニットを、種々のメモリバンクから前記N個の命令を並列に読み出すように配 置する。したがって、処理ユニットはメモリによってスローダウンされなること なく非常に多くの命令を平行して読み出すことができる。その結果、複数のメモ リバンクの数を読出しに従事させることができ、したがって、新たなアドレス指 定に利用できないメモリバンクの数を最小にする。したがって、好適にはN個の メモリバンクが存在する。 本発明による処理装置の一例の処理ユニットを、特に分岐命令を実行するため に配置し、その後、前記処理ユニットが、評価すべき条件を満足するか否かに依 存して分岐ターゲット命令又はこの前記分岐命令に論理的に続く命令を実行しつ づけ、前記読出しユニットを、前記メモリからの読出しと前記処理ユニットへの 供給との間にパイプラインユニットの命令をバッファリングして、このパイプラ インユニットの分岐命令を検出し、別のメモリバンクが前記分岐命令に論理的に 続く一つ以上の命令のいずれも記憶していない場合には、前記分岐命令の検出に 応答するとともに前記分岐命令に論理的に続く一つ以上の命令の読出しに平行し て前記別のメモリバンクから分岐ターゲット命令の読出しを開始し、かつ、前記 分岐命令の実行後前記条件を満足するか否かに依存して、前記分岐ターゲット命 令及びそれに論理的に続く命令、又は前記分岐命令に論理的に続く命令及びそれ に論理的に続く命令を前記処理ユニットに供給するように配置する。したがって 、分岐命令の場合のスローダウンも防止することができる。分岐ターゲットから 先取りすることもそれ自体WO93/14457から既知であるが、各々が論理 的に連続する一連の命令から一つの命令を記憶する相違するメモリバンクから、 実行されたメモリバンクの読出しがパイプライン化されない。メモリバンクのパ イプライン化された読出し及びパイプラインユニットのバッファリングのために 、使用されるメモリバンクの数を最小にし、その結果、分岐ターゲット命令及び 分岐命令に続く命令の読出し間のメモリバンク衝突のリスクを最小にする。 本発明による処理装置の一例の読出しユニットを、分岐ターゲット命令位置の アドレス指定と平行して前記分岐ターゲット命令に論理的に連続する少なくとも 一つの命令の命令位置をアドレス指定するとともに、前記条件が満足された場合 には前記少なくとも一つの命令を内部段又は前記パイプラインユニットの各内部 段にロードするように配置する。 本発明による処理装置の他の例の処理ユニットを、前記処理ユニットは、少な くともメモリバンクのアドレス指定とそれに応じて読み出された命令の前記処理 ユニットへの供給との間に要求される時間間隔中にN個の命令の連続的な実行を 開始することができ、前記読出しユニットを、前記分岐ターゲット命令のアドレ ス指定と平行して前記分岐ターゲット命令に論理的に連続するN−1個の命令の 命令位置をアドレス指定するとともに、前記条件を満足する場合にはN−1個の 命令を前記パイプラインユニットに並列にロードするように配置する。したがっ て、パイプラインユニットを、処理ユニットで実行される命令に論理的に続く命 令でできるだけ速くロードすることができ、連続的な命令の読出しもできるだけ 速く完了し、その結果、メモリバンクが他の命令の読出しに対してもできるよう になる。衝突の読出しを防止するために、メモリは、好適には少なくとも2*N 個のメモリバンクを具える。メモリバンクの個数が増大すると、分岐ターゲット 命令又はそれに論理的に続く命令を分岐命令に続く命令と同一のメモリバンクか ら読み出す必要があるというリスクが減少する。 本発明による処理装置の一例の読出しユニットを、前記処理ユニットが命令の 実行を開始する度に、条件付きの分岐命令を検出した後前記処理ユニットがこの 条件付きの分岐命令を実行するまで、分岐命令に論理的に連続する命令及び前記 分岐ターゲット命令に論理的に連続する命令を相違するメモリバンクから並列に 読み出し始めるように配置する。分岐ターゲット命令の実行開始後、新たな命令 の実行を開始する度に命令を遅延なくすぐに利用することができ、実際のメモリ バンクの数を最小にする。 本発明による処理装置の一例の読出しユニットを、前記分岐命令に論理的に連 続する命令の命令位置と同一メモリバンクに前記分岐ターゲット命令位置を配置 したか否かを検出するようにするとともに、一致した場合には前記分岐命令に関 する追加の情報に基づいて、前記分岐ターゲット命令位置及びこれに論理的に続 く命令の命令位置、又は前記分岐命令に論理的に続く命令の命令位置及びそれに 論理的に続く命令の命令位置をアドレス指定するように配置する。この情報は、 条件を満足させる方法を表す。この情報を、例えば、プログラムのコンパイル中 に発生させ、又は命令の実行中に現在の分岐統計に基づいて発生させる。この情 報を、一致の場合に最も実行されうる命令を実際にアドレス指定させるのに用い る。 本発明による処理装置の一例は、前記分岐ターゲット命令及び前記分岐ターゲ ット命令に論理的に続くM個の命令を、前記分岐命令に論理的に続く命令及びこ の分岐命令に論理的に続くM個の命令以外のメモリバンクに記憶するプログラム でプログラミングする。したがって、これら命令はできるだけ迅速に読み出され 、メモリバンクは、他の読出し動作に対して(例えば、分岐命令のために)でき るだけ迅速に利用できる。パイプラインユニットを用いる場合、このように読み 出された命令を直接並列にパイプラインユニットにロードすることができる。 処理装置を、好適にはメモリバンクとともに半導体基板上に集積する。したが って、命令をロードする多数の接続線を、メモリバンクと処理ユニットとの間で 容易に実現することができる。 また、本発明は、分岐命令を含む命令メモリに記憶すべき命令を発生させ、分 岐ターゲット命令及びそれに論理的に続く一つ以上の命令が前記分岐命令に続く 同数の命令以外のメモリバンクに記憶されるように前記命令メモリの命令の配置 に適合させるように配置したコンパイラに関するものである。バンク衝突を、バ ンク構造、特にメモリのバンク数をコンパイル中に考慮することによって防止す ることができる。本発明による処理装置では、どの命令を読み出すかを正確に予 測することができ、この際、バンク間の衝突は、同時に読み出すべき命令の適切 な配置によって回避される。この配置を、例えば、「不動作」命令の包含、条件 なしの分岐命令後の適切な数の用いられない位置の分岐ターゲット命令の記憶又 は用いられない命令位置全体に亘る分岐をパディングすることによって実現する ことができる。 本発明のこれら及び他の好適な態様を、図面を参照して以後詳細に説明する。 図1は、本発明による処理装置の一実施の形態を示す。 図2は、図1の処理装置の動作のタイミング図を示す。 図3は、本発明による処理装置の他の実施の形態を示す。 図4は、図3に示した処理装置の動作のタイミング図を示す。 図1は、本発明による処理装置の一実施の形態を示す。処理装置は、処理ユニ ット10と、複数のメモリバンク12a〜dを有するメモリと、読出しユニット 14と、クロック19とを有する。読出しユニット14は複数のアドレス/選択 出力部を有し、その各々を関連のアドレス/選択接続部18a〜dを通じてメモ リバンク12a〜dに結合する。メモリバンク12a〜dを、命令バス16を通 じて処理ユニット10の命令入力部に接続する。クロック19を、読出しユニッ ト14、メモリバンク12a〜d及び処理ユニット10に結合する。 図2は、図1に示した処理装置の動作に関連するタイミング図を示す。読出し ユニット14は、(命令サイクル又は読出しサイクルとも称する)連続的なクロ ック周期で連続的な記憶位置をアドレス指定する。ラベルADを付したトレース は、メモリアドレス(I1,I2,..)を選択したクロック周期ごとを示す。 連続的なメモリアドレス(I1,I2,..)を有する記憶位置を、連続的なメ モリバンク12a〜dに配置する。したがって、アドレス指定中、読出しユニッ ト14は常に連続的なメモリバンク12a〜dを選択する。メモリアドレス(I 1,I2,..)を受け取った後、選択したメモリバンク12a〜dは、メモリ アドレス(I1,I2,..)によって表された記憶位置の内容の読出しを開始 する。トレースB1,B2,B3,B4は、各メモリバンク12a〜dによって 読み出された位置のメモリアドレス(I1,I2,..)を表す。メモリバンク 12a〜dは、メモリアドレス(I1,I2,..)を受け取った後に利用でき る記憶位置の内容に対して1クロック周期よりも多く(例えば、タイミング図に おいて3クロック周期)必要とする。メモリバンク12a〜dをアドレス指定し た結果メモリバンク12a〜dが利用できる内容を有しないクロック周期に続く クロック周期において、読出しユニット14は既に他のデータバンク12a〜d を選択し、メモリアドレス(I1,I2,..)にこのメモリバンク12a〜d を供給する。読出しユニット14は、例えば、メモリバンク12a〜dを連続的 な4クロック周期ごとに固定されたシーケンスでアドレス指定されるラウンドロ ビンに基づいてこのような動作を行う。したがって、その度に複数のメモリバン ク12a〜dを、命令の並列な読出しに従事させる。アドレス指定された記憶位 置(I1,I2,...)の内容は、メモリバンク12a〜dのアドレス指定後 複数のクロック周期(例えば、3クロック周期)利用できるようになる。それに 応じて、読出しユニット14は、関連のメモリバンク12a〜dに信号を供給し て、この内容を命令バス16を通じて処理ユニット10に供給する。それに応じ て、処理ユニット10は、命令読出しの実行を開始する。トレースEXは、実行 すべき命令のメモリアドレス(Il,I2,...)を表す。処理ユニット10 を、例えば、原理的に各クロック周期中に命令の実行を開始することができるR ISC処理ユニットとする。しかしながら、付随的には、以前の命令の実行によ って「機能停止」させることができ、その結果、処理ユニット10は、所定のク ロック周期中に命令の実行を開始することができない。この場合、読出しに従事 しているメモリバンクの数が命令を読み出すのに必要な命令サイクル数よりも少 なくない場合、いずれのメモリバンク12a〜dもアドレス指定されない。 読出しユニット14によって、連続的に選択したメモリバンク12a〜dもア ドレス指定された記憶内容の各々を処理ユニットに供給するようにする。メモリ バンク12a〜dの数が、少なくとも命令をメモリバンク12a〜dから読み出 すのに必要な時間間隔で処理ユニット10による実行を考慮することができる最 大命令数に等しい場合、新たな命令を各クロック周期中に処理ユニット10に供 給することができる。 命令は、予め設定された状態が満足された場合のみ実行される分岐命令を有す ることもできる。分岐命令は、分岐ターゲットアドレスを規定する。分岐命令の 連続的な実行後(すなわち、もしあれば状態が満足された場合)、メモリ12a 〜dの分岐ターゲットアドレスからの命令を処理ユニット10に供給する必要が ある。分岐が実行されるクロック周期直後にメモリバンク12a〜dから利用で きる命令は一般に、分岐ターゲットアドレスからの命令ではない。読出しユニッ ト14はこれに関して訂正を行う必要がある。 このために、処理ユニット10は、分岐命令が「連続的に」実行される際に読 出しユニット14に情報が提供され、分岐ターゲットアドレスについての情報も 読出しユニット14に提供される。読出しユニット14は、既にアドレス指定さ れた命令が更に供給されるのを防止し、分岐ターゲットアドレスが配置されたメ モリバンク12a〜dを選択する。次いで、読出しユニット14は、従来の分岐 命令のようにその分岐ターゲットアドレスから再びメモリバンクを連続的に選択 する。分岐ターゲットアドレスの内容が利用できる瞬時から、命令が処理ユニッ ト10にも再び供給される。 しかしながら、このアプローチは、プロセッサが複数のクロック周期中命令を 受け取らないという不都合がある。 図3は、この不都合を十分軽減する実施の形態を示す。 図3は、本発明による処理装置の他の実施の形態を示す。この処理装置も、処 理ユニット20、複数のメモリバンク22a〜h、読出しユニット24及びクロ ック29を有する。処理ユニット20、複数のメモリバンク22a〜h及び読出 しユニット24間の接続は、図2がパイプラインユニット240を通じて処理ユ ニット20に結合した三つの命令バス26a〜cを示す点を除いて図1に示した ようなものである。 処理ユニット20を、例えば、連続的な段の各命令が復号化、算術/論理処理 、データメモリアドレス指定、書込みを実行するパイプラインRISC処理ユニ ットとする。種々の段の連続的な命令を、パイプラインRISC処理ユニットで 並列に実行する。命令によって指定された算術及び論理動作を実行する間、次の 命令は既に並列に復号化されている。したがって、命令の実行が開始されると、 以前の命令は実行処理中である。このために、処理ユニット20は、好適には種 々の段に対する命令を記憶するレジスタ(図示せず)のパイプラインも有する。 このパイプラインを、パイプラインユニット240から下流に接続することがで きる。 メモリバンクの各々を、切替回路25a〜hの各々を通じて三つの命令バス2 6a〜cに結合する。パイプラインユニット240は、二つのレジスタ242, 244と、二つのマルチプレクサ243,245とを有する。第1命令バス26 aを、先頭のレジスタ242の入力部に結合する。先頭のレジスタ242の出力 部を、第1マルチプレクサ243を通じて末尾のレジスタ244に接続する。末 尾のレジスタ244の出力部を、第2マルチプレクサ245を通じて処理ユニッ ト20に結合する。第2命令バス26bを、第1マルチプレクサ243を通じて 末尾のレジスタ244に結合する。第3命令バス26cを、第2マルチプレクサ 245を通じて処理要素20に結合する。処理装置は、先頭のレジスタ242の 出力部に結合した検出器248も有する。検出器の出力部を読出しユニット24 に結合する。パイプラインユニット240のレジスタ242,244の個数及び 命令バス26a〜cの個数を、本例では2及び3とそれぞれ仮定する。概して、 レジスタの個数に1加えたもの及び命令バスの個数を、好適には読出しユニット 24によって要求されるクロック周期数に等しくして、メモリバンク22a〜h から命令を読み出すようにする。 図4は、メモリアドレス(I1,I2,...,T1,T2,...)を有す る複数のトレースを示すタイミング図に基づく図3の処理装置の動作を示す。ト レースは、クロックサイクルによって表された時間“n”、16個のメモリバン ク(トレースB1,B2,...,B16)の各々から読み出されたメモリアド レス(I1,I2,...,T1,T2,...)、レジスタ242,244に 記憶されたメモリアドレス(I1,I2,...,T1,T2,...)及び処 理ユニット20で実行される命令のメモリアドレス(I1,I2,...,T1 ,T2,...)を示す。概して(すなわち、分岐命令が読み出されない場合) 、図3の処理装置は、命令がメモリバンク20a〜hから先頭のレジスタ242 に供給されるとともに、処理ユニット20が命令の実行を開始する連続的なクロ ック周期ごとに次のレジスタ(例えば、先頭のレジスタ244に直接)に転送さ れる点を除いて、図1に示したものと同様に動作する。先頭のレジスタ244か ら、命令が処理ユニット20に供給されて、命令の実行が行われる。 命令が第1の命令バス26aを通じて先頭のレジスタ244に到達すると、検 出器248は、状態分岐命令に関連されるか否か検出する。この場合、検出器2 48は、条件付き分岐命令に関連するものか否かを検出する。例えば、メモリア ドレス13から読み出された命令に対してそうである。検出に応答して、読出し ユニット24は、処理ユニット20が次の命令の実行を開始すると、論理的に分 岐命令のアドレス(13)に続ける命令のアドレス(I4,I5,I6,... )によってメモリバンク22a〜hのアドレス指定を並列に開始するとともに、 分岐ターゲットアドレス(T1)及び論理的に続くアドレス(T2,T3,.. .)からメモリアドレス(T1,T2,...)を有するメモリバンクのアドレ ス指定を開始する(分岐を除いて他の命令に続く実行を命令に考慮する場合、命 令は他の命令に論理的に続く。)。分岐ターゲットアドレス(T1)及びそれに 論理的に続くアドレス(T2,T3)のアドレス指定を行うに当たり、読出しユ ニットは、メモリバンク22a〜hが一度より多くアドレス指定される衝突が招 じない間、命令バス26a〜cと同数の連続的な命令に対するメモリバンクを並 列にアドレス指定することによって開始する。このアドレス指定動作に続く一つ 以上のクロック周期中、読出しユニット24は、処理ユニットが命令の実行を開 始すると常に、既にアドレス指定された命令のメモリアドレス(T1,T2,T 3)に続くメモリアドレス(T4,T5,...)及び分岐命令のメモリアドレ ス(14)に続くメモリアドレス(18,19)を、メモリバンク22a〜hに 並列に供給する。 次にあるメモリアドレス(I1,I2)から命令の実行を開始した後、処理ユ ニット20は、(メモリアドレス13からの)分岐命令の実行を開始する。この 分岐命令は、例えば、第1段で最初に復号化される。第2段において、例えば、 分岐命令の状態がテストされる。(メモリアドレス13からの)分岐命令の完了 の際に、処理ユニット20は、(メモリアドレス13からの)分岐命令が連続的 に実行されたか否かの信号を読出しユニット24に送信する(「連続的」とは、 分岐命令後分岐ターゲット命令を実行する必要がある状態を意味するものと理解 されたい。)。この信号送信は、例えば、分岐命令のメモリアドレス(13)に 論理的に続くメモリアドレス(14)からの命令の実行を開始する命令サイクル の終了時に行われる。 (メモリアドレス13からの)分岐命令を連続的に実行した場合、信号送信に 応答して、読出しユニット24は、通常分岐命令のアドレス(13)に続く命令 のメモリアドレス(I10,I11,図示せず)のアドレス指定を中止する。処 理ユニット20は、(メモリアドレス14からの)任意の命令の実行(例えば、 復号化後の段)を中止し、その実行は、(メモリアドレス13からの)分岐命令 後開始される。読出しユニット24は、分岐ターゲットアドレス(T1)及びこ れに続くアドレス(T2,T3)から読みだされ、分岐ターゲットアドレスと同 時にアドレス指定された命令が命令バス26a〜cを通じて利用できるように、 メモリバンク22a〜hも制御する。マルチプレクサ243,245を用いて、 ユニット24は、次のメモリアドレス(T3,T2)からパイプラインユニット 240のレジスタ242,244への命令のローディングと平行に(メモリアド レスT1からの)分岐ターゲット命令が処理ユニット20に供給されるようにす る。次のクロック周期中、次の命令は通常先頭のレジスタ242にロードされる 。この方法を、読出しユニットが無条件の分岐命令の信号送信から既に分岐命令 に論理的に続く命令の読出しを中止することができるとすると、無条件の分岐命 令の場合も用いることができる。 (メモリアドレス13からの)分岐命令が連続的に実行されない(図4に図示 しない状況)場合、読出しユニット24は、分岐ターゲットアドレス(T1)に 続く命令のメモリアドレス(T7,T8)のアドレス指定を中止する。連続的な クロック周期中、分岐命令に続く命令は先頭のレジスタ242に再びロードされ 、この際、分岐ターゲットアドレスから読み出された命令及びそれにつづぐ命令 は無視される。 処理ユニット20が、(例えば、先頭のレジスタ242をバイパスする関連の 命令がパイプラインユニット240にロードされるので、)検出器248によっ て信号送信されない分岐命令を実行する場合、読出しユニット24は、図1及び 2を参照して説明したような分岐命令を処理し、その結果、より多くの時間を損 失する。これは、例えば処理ユニット20によってデータに基づいて計算する必 要があるため分岐ターゲットアドレスが予め既知でない分岐命令にも当てはまる 。実際にはこのような状況がプログラム中に稀にしか生じないことがわかってい る。所望の場合には、この問題を、各々を命令バス26a〜cの入力部に接続し た(図示しない)複数の分岐検出器をユニットことによって軽減することができ る。これら検出器は、先頭のレジスタ242から読出しユニット24に予めバイ パスする間パイプラインユニットにロードした分岐命令を信号送信することがで きる。この場合、読出しユニット24は、既に説明したようにこのような分岐命 令を処 理することができ、その結果、時間消失が少なくなる。 メモリバンク22a〜hのアドレス指定中、分岐命令に論理的に続く命令のメ モリアドレス(I4,I5,I6,...)のアドレス指定と、分岐ターゲット 命令(T1)及び分岐ターゲット命令(T2,T3,...)に論理的に続く命 令との間に衝突が生じるおそれがある。メモリバンク22a〜hを他の命令に対 してアドレス指定する必要がある間にメモリバンク22a〜hを命令の読出しの 際にアドレス指定すべき又は他の命令の読出しに従事させる場合に衝突が生じる 。このような衝突は、分岐命令のメモリアドレス(13)に論理的に先行する又 は続く命令のメモリアドレス(Il,I2,I4,I5,...)間に衝突が生 じるおそれがない。その理由は、論理的に直接連続する命令のメモリアドレスを ラウンドロビンに基づいて相違するメモリバンク22a〜h間に分布させるから であり、また、以前の読出し命令に論理的に続く命令の読出しの際にメモリバン ク22a〜hを再びアドレス指定することができる命令を非常に多くの新しい命 令に考慮することができる前では、メモリバンクの数が非常に多いのでメモリバ ンク22a〜hは常に読出しを終了しているからである。同様な理由で、分岐タ ーゲット命令(T1)及び分岐ターゲット命令に論理的に続く命令(T2,T3 ,...)の読出し間に衝突が生じるおそれがない。 しかしながら、分岐ターゲット命令のメモリアドレス(T1)をメモリバンク 22a〜hに記憶させることができ、そのメモリバンク22a〜hは、分岐命令 (13)のメモリアドレスに論理的に続くとともに分岐ターゲット命令(T1) を読み出すのに必要な時間間隔に重なる時間間隔で読み出す必要がある命令のメ モリアドレス(I4,I5,I6,...)も記憶する。分岐ターゲット命令( T1)に論理的に続く命令(T2,T3,...)に対しても同様に当てはまる 。読出しユニット24はこのような衝突を検出するとともにこれからエラーが生 じるのを防止する。 二つの命令を同時に(すなわち、同一クロック周期内で)読み出す際に同一の メモリバンク22a〜hをアドレス指定する必要がある場合、読出しユニット2 4は、これら二つの命令のうちの一つを選択し、選択した命令の読出しの際にメ モリバンク22a〜hのアドレス指定のみを行う。読出し命令24は、原理的に はこの選択を任意に行う。読出しユニット24は、分岐が成功したか否かを知る まで選択されていない命令及び論理的に続く命令の読出しを延期する。分岐命令 が信号送信される際に他の命令の読出しに従事するメモリバンク22a〜hに分 岐ターゲット命令を記憶させると、読出しユニット24は、この読出しの割り込 み及び分岐ターゲット命令のアドレス指定と分岐ターゲット命令のアドレス指定 からの中断との間の選択を行う(明らかに、これは、例えばDRAMでない場合 にこのような読出し動作中に割り込まれるおそれがあるメモリをメモリバンク2 2a〜hが具える場合のみ行われる。)。読出しユニット24は、分岐が成功し たか否かを知るまで選択されていない命令及びそれに論理的に続く命令の読出し を延期する。 分岐の結果実際にアドレス指定された命令を実行する必要が生じた場合、処理 装置は、図4を参照して説明したような動作を続ける。分岐の結果アドレス指定 されていない命令を実行する必要が生じた場合、読出しユニット24は、この命 令及びこれに論理的に続く命令をまだアドレス指定する。この場合において、処 理ユニット20は、このようにアドレス指定された命令をメモリバンク22a〜 hから読み出すまであるクロック周期中に命令の実行を開始することができない 。この場合、命令読出しは処理ユニット20及びレジスタ242,244に供給 され、その後処理ユニット20は動作を続けることができる。読出しユニット2 4は、原理的にはこの命令のアドレス指定と平行に(同一クロック周期で並列に )、この命令に論理的に続く複数のアドレスをアドレス指定することができ、し たがって、これら論理的に続く命令がパイプラインユニットのレジスタ242, 244へのローディングの際にできるだけ速く利用できるようになり、その結果 、処理ユニット20に対する待機時間を最小にするとともに、関連のメモリバン ク22a〜hも別のアドレス指定に対してもできるだけ速く利用できるようにな る。メモリバンク22a〜hが、(例えばDRAMの場合のように)読出し動作 (の一部)の間割り込まれるおそれのないメモリを具える場合、これら論理的に 続く命令の読出しを延期する必要がある。 衝突の場合にどの命令を読み出すかとともにどの命令を読み出さないかを決定 する際の読出しユニット24による選択を、種々の方法で実現することができる 。 許容される可能性は、任意の選択、分岐ターゲットに対する意図的な選択、又は 分岐命令に論理的に続く命令に対する意図的な選択である。分岐の連続を予測す ることができない間、読み出されなかった命令を実行する必要があることがわか った場合、命令を実行する際に時間の損失が常に生じるおそれがある。この時間 の損失を最小にするために、選択を好適に行うことができることを表す情報を分 岐命令とともに記憶することができる。読出し後、読出しユニット24はこの情 報に基づいた選択を行うことができる。この情報を、分岐が成功したか否かに依 存して、例えばコンパンイラによって発生させることができ、又は命令の実行を 更新することができる。 さらに、コンパイルを行うと、衝突が生じない関連の分岐命令に対するこのよ うなアドレスに分岐ターゲット命令を配置することによって、すなわち、メモリ バンク22a〜hのラウンドロビンシーケンスの分岐命令から十分離れて分岐タ ーゲット命令を配置することによって、メモリ衝突を防止することもできる。

Claims (1)

  1. 【特許請求の範囲】 1.− 処理ユニットと、 − この処理ユニットに対する命令を記憶するメモリと、 − このメモリから論理シーケンスで命令を読み出すとともにこの論理シーケ ンスで実行するために前記処理ユニットに前記命令を供給する読出しユニット とを有する処理装置において、前記メモリが複数の独立してアドレス指定可能 なメモリバンクを具え、論理的に連続する命令を、相違するメモリバンクに記 憶し、前記読出しユニットを、前記相違するメモリバンクから複数の命令を並 列に読み出すとともに、前記メモリバンクから瞬時的に並列に読み出される命 令に論理的に続く命令の読出しを開始することによって前記処理ユニットが命 令を実行を開始する度に、前記複数の命令を再び充填するように配置したこと を特徴とする処理装置。 2.前記処理ユニットが、連続的なN個のみの命令の実行を開始することができ 、少なくともメモリバンクのアドレス指定と読み出された命令の前記処理ユニ ットへの供給との間に要求される時間間隔中、前記読出しユニットを、種々の メモリバンクから前記N個の命令を並列に読み出すように配置したことを特徴 とする請求の範囲1記載の処理装置。 3.前記処理ユニットを、特に分岐命令を実行するために配置し、その後、前記 処理ユニットが、評価すべき条件を満足するか否かに依存して分岐ターゲット 命令又はこの前記分岐命令に論理的に続く命令を実行しつづけ、前記読出しユ ニットを、前記メモリからの読出しと前記処理ユニットへの供給との間にパイ プラインユニットの命令をバッファリングして、このパイプラインユニットの 分岐命令を検出し、別のメモリバンクが前記分岐命令に論理的に続く一つ以上 の命令のいずれも記憶していない場合には、前記分岐命令の検出に応答すると ともに前記分岐命令に論理的に続く一つ以上の命令の読出しに平行して前記別 のメモリバンクから分岐ターゲット命令の読出しを開始し、かつ、前記分岐命 令の実行後前記条件を満足するか否かに依存して、前記分岐ターゲット命令及 びそれに論理的に続く命令、又は前記分岐命令に論理的に続く命令及びそれに 論理的に続く命令を前記処理ユニットに供給するように配置したことを特徴と する請求の範囲1又は2記載の処理装置。 4.前記読出しユニットを、分岐ターゲット命令位置のアドレス指定と平行して 前記分岐ターゲット命令に論理的に連続する少なくとも一つの命令の命令位置 をアドレス指定するとともに、前記条件が満足された場合には前記少なくとも 一つの命令を内部段又は前記パイプラインユニットの各内部段にロードするよ うに配置したことを特徴とする請求の範囲3記載の処理装置。 5.前記処理ユニットが、少なくともメモリバンクのアドレス指定とそれに応じ て読み出された命令の前記処理ユニットへの供給との間に要求される時間間隔 中にN個の命令の連続的な実行を開始することができ、前記読出しユニットを 、前記分岐ターゲット命令のアドレス指定と平行して前記分岐ターゲット命令 に論理的に連続するN−1個の命令の命令位置をアドレス指定するとともに、 前記条件を満足する場合にはN−1個の命令を前記パイプラインユニットに並 列にロードするように配置したことを特徴とする請求の範囲4記載の処理装置 。 6.前記読出しユニットを、前記処理ユニットが命令の実行を開始する度に、条 件付きの分岐命令を検出した後前記処理ユニットがこの条件付きの分岐命令を 実行するまで、分岐命令に論理的に連続する命令及び前記分岐ターゲット命令 に論理的に連続する命令を相違するメモリバンクから並列に読み出し始めるよ うに配置したことを特徴とする請求の範囲3,4又は5記載の処理装置。 7.前記読出しユニットを、前記分岐命令に論理的に連続する命令の命令位置と 同一メモリバンクに前記分岐ターゲット命令位置を配置したか否かを検出する ようにするとともに、一致した場合には前記分岐命令に関する追加の情報に基 づいて、前記分岐ターゲット命令位置及びこれに論理的に続く命令の命令位置 、又は前記分岐命令に論理的に続く命令の命令位置及びそれに論理的に続く命 令の命令位置をアドレス指定するように配置したことを特徴とする請求の範囲 3,4,5又は6記載の処理装置。 8.前記分岐ターゲット命令及び前記分岐ターゲット命令に論理的に続くM個の 命令を、前記分岐命令に論理的に続く命令及びこの分岐命令に論理的に続くM 個の命令以外のメモリバンクに記憶するプログラムでプログラミングしたこと を特徴とする請求の範囲3から7のうちのいずれかに記載の処理装置。 9.前記読出しユニットを、命令が読み出されずに前記処理ユニットが命令の実 行を開始する準備ができている場合、実行すべき最初の命令及びこの実行すベ き最初の命令に論理的に続く少なくとも一つの命令を並列に読み出し始めるよ うに配置したことを特徴とする請求の範囲1から8のうちのいずれかに記載の 処理装置。 10.半導体基板上に集積したことを特徴とする請求の範囲1から9のうちのいず れかに記載の処理装置。 11.分岐命令を含む命令メモリに記憶すべき命令を発生させ、分岐ターゲット命 令及びそれに論理的に続く一つ以上の命令が前記分岐命令に続く同数の命令以 外のメモリバンクに記憶されるように前記命令メモリの命令の配置に適合させ るように配置したことを特徴とする請求の範囲1から9のうちのいずれかに記 載した処理装置用のコンパイラ。
JP10521161A 1996-11-04 1997-10-02 メモリの命令を読み出す処理装置 Ceased JP2000507016A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP96203063 1996-11-04
EP96203063.1 1996-11-04
PCT/IB1997/001197 WO1998020415A1 (en) 1996-11-04 1997-10-02 Processing device, reads instructions in memory

Publications (1)

Publication Number Publication Date
JP2000507016A true JP2000507016A (ja) 2000-06-06

Family

ID=8224542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10521161A Ceased JP2000507016A (ja) 1996-11-04 1997-10-02 メモリの命令を読み出す処理装置

Country Status (6)

Country Link
US (2) US6360311B1 (ja)
EP (1) EP0877981B1 (ja)
JP (1) JP2000507016A (ja)
KR (1) KR19990076967A (ja)
DE (1) DE69727127T2 (ja)
WO (1) WO1998020415A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073330A (ja) * 2000-08-28 2002-03-12 Mitsubishi Electric Corp データ処理装置
KR20040008714A (ko) * 2002-07-19 2004-01-31 주식회사 하이닉스반도체 마이크로 제어 시스템에 있어서 메모리 정보를 읽는 장치
US7412418B2 (en) 2002-12-06 2008-08-12 Ocwen Financial Corporation Expense tracking, electronic ordering, invoice presentment, and payment system and method
US10127558B2 (en) * 2002-12-06 2018-11-13 Altisource S.À R.L. Expense tracking, electronic ordering, invoice presentment, and payment system and method
US8266028B2 (en) * 2002-12-06 2012-09-11 Altisource Solutions S.à r.l. Expense tracking, electronic ordering, invoice presentment, and payment system and method
US7254690B2 (en) * 2003-06-02 2007-08-07 S. Aqua Semiconductor Llc Pipelined semiconductor memories and systems
US7702883B2 (en) * 2005-05-05 2010-04-20 Intel Corporation Variable-width memory
CN101449256B (zh) 2006-04-12 2013-12-25 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
US8139071B1 (en) 2006-11-02 2012-03-20 Nvidia Corporation Buffering unit to support graphics processing operations
US7999817B1 (en) 2006-11-02 2011-08-16 Nvidia Corporation Buffering unit to support graphics processing operations
EP2122461A4 (en) 2006-11-14 2010-03-24 Soft Machines Inc DEVICE AND METHOD FOR PROCESSING COMMUNICATIONS IN A MULTITHREAD ARCHITECTURE WITH CONTEXT CHANGES
US9100319B2 (en) 2007-08-10 2015-08-04 Fortinet, Inc. Context-aware pattern matching accelerator
US8079084B1 (en) 2007-08-10 2011-12-13 Fortinet, Inc. Virus co-processor instructions and methods for using such
US8375449B1 (en) 2007-08-10 2013-02-12 Fortinet, Inc. Circuits and methods for operating a virus co-processor
US8286246B2 (en) 2007-08-10 2012-10-09 Fortinet, Inc. Circuits and methods for efficient data transfer in a virus co-processing system
CN101394541A (zh) * 2007-09-21 2009-03-25 中兴通讯股份有限公司 用于交互式网络电视系统的文件内容的分发方法
EP2283578A1 (en) 2008-05-21 2011-02-16 Nxp B.V. A data handling system comprising memory banks and data rearrangement
EP2283485A1 (en) * 2008-05-21 2011-02-16 Nxp B.V. A data handling system comprising a rearrangement network
EP2616928B1 (en) 2010-09-17 2016-11-02 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
KR101620676B1 (ko) 2011-03-25 2016-05-23 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 레지스터 파일 세그먼트
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
EP2689327B1 (en) 2011-03-25 2021-07-28 Intel Corporation Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines
US9442772B2 (en) 2011-05-20 2016-09-13 Soft Machines Inc. Global and local interconnect structure comprising routing matrix to support the execution of instruction sequences by a plurality of engines
CN107729267B (zh) 2011-05-20 2022-01-25 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
KR101842550B1 (ko) 2011-11-22 2018-03-28 소프트 머신즈, 인크. 다중 엔진 마이크로프로세서용 가속 코드 최적화기
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
US9280398B2 (en) 2012-01-31 2016-03-08 International Business Machines Corporation Major branch instructions
US9229722B2 (en) 2012-01-31 2016-01-05 International Business Machines Corporation Major branch instructions with transactional memory
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
KR102063656B1 (ko) 2013-03-15 2020-01-09 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
CN105247484B (zh) 2013-03-15 2021-02-23 英特尔公司 利用本地分布式标志体系架构来仿真访客集中式标志体系架构的方法
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US20140281116A1 (en) 2013-03-15 2014-09-18 Soft Machines, Inc. Method and Apparatus to Speed up the Load Access and Data Return Speed Path Using Early Lower Address Bits
US9582322B2 (en) 2013-03-15 2017-02-28 Soft Machines Inc. Method and apparatus to avoid deadlock during instruction scheduling using dynamic port remapping
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9436476B2 (en) 2013-03-15 2016-09-06 Soft Machines Inc. Method and apparatus for sorting elements in hardware structures
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9627038B2 (en) 2013-03-15 2017-04-18 Intel Corporation Multiport memory cell having improved density area
US10140138B2 (en) * 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
CN104424128B (zh) * 2013-08-19 2019-12-13 上海芯豪微电子有限公司 变长指令字处理器系统和方法
EP3143496B1 (en) 2014-05-12 2021-07-14 INTEL Corporation Method and apparatus for providing hardware support for self-modifying code
US10019743B1 (en) 2014-09-19 2018-07-10 Altisource S.á r.l. Methods and systems for auto expanding vendor selection
US11550577B2 (en) * 2019-05-15 2023-01-10 Western Digital Technologies, Inc. Memory circuit for halting a program counter while fetching an instruction sequence from memory
CN113434198B (zh) * 2021-06-25 2023-07-14 深圳市中科蓝讯科技股份有限公司 Risc-v指令处理方法、存储介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727474A (en) * 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
CA1250667A (en) * 1985-04-15 1989-02-28 Larry D. Larsen Branch control in a three phase pipelined signal processor
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
US5127091A (en) * 1989-01-13 1992-06-30 International Business Machines Corporation System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor
EP0407911B1 (en) * 1989-07-07 1998-12-09 Hitachi, Ltd. Parallel processing apparatus and parallel processing method
US5261068A (en) * 1990-05-25 1993-11-09 Dell Usa L.P. Dual path memory retrieval system for an interleaved dynamic RAM memory unit
US5287467A (en) * 1991-04-18 1994-02-15 International Business Machines Corporation Pipeline for removing and concurrently executing two or more branch instructions in synchronization with other instructions executing in the execution unit
EP0544083A3 (en) * 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
US5878245A (en) * 1993-10-29 1999-03-02 Advanced Micro Devices, Inc. High performance load/store functional unit and data cache
US5619663A (en) * 1994-09-16 1997-04-08 Philips Electronics North America Corp. Computer instruction prefetch system
US5784548A (en) * 1996-03-08 1998-07-21 Mylex Corporation Modular mirrored cache memory battery backup system

Also Published As

Publication number Publication date
US7124282B2 (en) 2006-10-17
WO1998020415A1 (en) 1998-05-14
US6360311B1 (en) 2002-03-19
DE69727127D1 (de) 2004-02-12
KR19990076967A (ko) 1999-10-25
EP0877981A1 (en) 1998-11-18
DE69727127T2 (de) 2004-11-25
US20020038415A1 (en) 2002-03-28
EP0877981B1 (en) 2004-01-07

Similar Documents

Publication Publication Date Title
JP2000507016A (ja) メモリの命令を読み出す処理装置
JP2750311B2 (ja) データ処理装置内のデータ・オペレーションの実行を制御する装置及び方法
US6473836B1 (en) Computing system and cache memory control apparatus controlling prefetch in hierarchical cache memories
US6247120B1 (en) Instruction buffer for issuing instruction sets to an instruction decoder
EP1003095B1 (en) A computer system for executing branch instructions
US5555384A (en) Rescheduling conflicting issued instructions by delaying one conflicting instruction into the same pipeline stage as a third non-conflicting instruction
JP4566738B2 (ja) コンピュータメモリ装置
US6338137B1 (en) Data processor having memory access unit with predetermined number of instruction cycles between activation and initial data transfer
JPS6341093B2 (ja)
KR100955433B1 (ko) 파이프라인 구조를 갖는 캐시 메모리 및 이를 제어하는방법
US5099421A (en) Variable length pipe operations sequencing
CN1761940B (zh) 指令处理设备,指令执行方法和装置,指令编译方法和装置
JP3304444B2 (ja) ベクトル処理装置
JP2000066894A (ja) パイプライン化浮動小数点ストア
JP4173858B2 (ja) 命令キャッシュ、及びメモリ競合を低減する方法
US5897654A (en) Method and system for efficiently fetching from cache during a cache fill operation
JP3789937B2 (ja) ベクトルプロセッサのためのチャンク連鎖
JPH0689173A (ja) ブランチ・ヒストリーを持つ命令実行処理装置
JP2004192021A (ja) マイクロプロセッサ
US6367002B1 (en) Apparatus and method for fetching instructions for a program-controlled unit
EP0292188B1 (en) Cache system
JP2001513933A (ja) キャッシュ再充填中のcpuアイドルサイクルを最小にする追加のレジスタ
US6769057B2 (en) System and method for determining operand access to data
EP0465847B1 (en) Memory access control having commonly shared pipeline structure
EP0684564B1 (en) Data transfer system and method in an information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040930

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20040930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070416

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

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20070718

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828