JP3830236B2 - クイック・デコード命令を用いるための方法およびデータ処理システム - Google Patents
クイック・デコード命令を用いるための方法およびデータ処理システム Download PDFInfo
- Publication number
- JP3830236B2 JP3830236B2 JP20545597A JP20545597A JP3830236B2 JP 3830236 B2 JP3830236 B2 JP 3830236B2 JP 20545597 A JP20545597 A JP 20545597A JP 20545597 A JP20545597 A JP 20545597A JP 3830236 B2 JP3830236 B2 JP 3830236B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory location
- data processor
- execution
- meaning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 17
- 230000008859 change Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 239000003607 modifier Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3802—Instruction prefetching
- G06F9/3812—Instruction prefetching with instruction modification, e.g. store into instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、一般的に命令のデコードおよび実行に関し、特に命令の条件付きデコード処理に関するものである。
【0002】
【従来の技術】
JAVA(登録商標)バイト・コード・インタプリタ(JAVA byte code interpreter)は、通常バージョンおよびクイック・バージョンを有する多数の命令を有する。最初にこれらの命令の1つの通常オプコード(opcode)を見つけたとき、多数のチェックが起動される。これらのチェックは各々、通常は時間の形状のある量のオーバーヘッドを伴う。通常命令に対応するクイック命令は、関連するオーバーヘッドの全てを発生させることなく、命令の機能を実行する。
【0003】
ジャワ・コード・インタプリタが、クイック・バージョンを有する命令オプコードを実行する場合、図1の従来技術に示すように、この命令を含むメモリ位置を別のクイック・バージョンで上書きする。その結果、以降このメモリ位置から取り込んだ場合、クイック・バージョンを実行し、したがって、このオプコードの通常バージョンが必要とするチェックを繰り返さない。
【0004】
【発明が解決しようとする課題】
このような既存のコードの無視に伴う問題の1つに、変更された命令をメモリにライト・バック(write back)しなければならないために、オーバーヘッドが更に増加することがあげられる。キャッシュを用いる場合、キャッシュ内の命令が変更されるだけでなく、ある時点において、キャッシュ・ラインにフラッシュ(flush) が行われた場合に、このキャッシュ・ライン全体をメモリにライト・バックしなければならない場合もある。キャッシュの構成によっては、キャッシュに変化が起こったときにはいつでも、外部メモリも更新し、キャッシュと一致させなければならないこともある。これは、ライト・スルー・モード(write through mode)として知られている。変更されたコードをメモリに再度移動させなければならないことにより、メモリ帯域の使用が増大し、このためにシステム動作全体の低速化を招く。加えて、既存のオプコードを上書きする必要性のために、追加のステップが必要となり、システム性能の低下に至る可能性がある。したがって、通常のオプコードをクイック・オプコードで上書きする必要性をなくすことができれば、有益であろう。
【0005】
【課題を解決するための手段】
概して言えば、本発明の好適実施例においては、キャッシュ・ラインは変更可能命令(modifiable instruction)を含む。この変更可能命令は、中央演算装置(CPU)によってデコードされ、CPUが変更可能命令に関連する機能を実行する。変更可能命令を実行した後、CPUは、変更可能命令の実行結果に基づいて、命令変更ビットをセットする。後続の変更可能命令配置プロセスの間、CPUデコード部(212)は、命令変更指示子がセットされたという事実に基づいて、変更された命令を変更可能命令で自動的に置き換える。命令変更指示子を使用することにより、変更可能命令を他の実施例で無効にする必要はもはやなくなり、これによってシステムの時間および帯域が節約される。
【0006】
【発明の実施の形態】
図2は、メモリ220およびキャッシュ230に結合されたCPU210を、ブロック図状で示す。キャッシュ230は、キャッシュ・ライン0ないしキャッシュ・ラインNから成る。各キャッシュ・ラインには、命令変更指示子が関連付けられている。図2では、これは、キャッシュ・ラインの1ビットの拡張部として示されている。
【0007】
小型のプログラム・サイズを保存しつつ、効率的なプログラムの実行を達成するために、適応型オプコード(adaptive opcode) が用いられている。通常、適応型オプコードが用いられるのは、オプコードに関連する命令の機能的な実施態様が、実行時のシステムまたは状態情報に依存する場合である。JAVAは、適応型オプコードを用いる言語の一例である。例えば、JAVAは、ロード(LOAD)命令およびロード・クイック(LOADQ)命令を有する。命令LOADは、プログラムの実行中に、適応的に変更され、LOADQ命令となることができる。例をあげて説明すると、JAVAのLOADは、実行時に計算するためにアクセスすべきデータの供給源へのオフセットを必要とする。一旦計算したなら、その供給源、したがってオフセットは、通常変化せず、したがって、後続のアクセス時におけるクイック実行のために必要な供給源情報を維持するLOADQ命令がある。従来技術のシステムでこれは行うには、図1に示したように、LOAD命令をLOADQ命令で上書きしていた。
【0008】
本発明の一実施例では、コード変更は、命令変更指示子を維持することによって行われる。図2を参照して、メモリ220は、図示しない供給源から複数のオプコードを受信する。複数のオプコードは、適応型オプコードを含む。適応型オプコードを含むメモリ220内のメモリ位置への第1のアクセスの間、処理システム200は、キャッシュ230からキャッシュ・ミスを受信し、実行すべき命令がキャッシュ内にないことを示す。キャッシュ・ミスを受信すると、処理システム200は、メモリ220から実行すべき命令を取り込み、キャッシュ230内のキャッシュ・ラインの1つを充填する。キャッシュ230内のキャッシュ・ラインが充填された場合、命令変更指示子ビットはクリアされる。
【0009】
命令変更指示子をクリアすることにより、CPU210は、デコード部212を通じて、取り込まれたこの指示子に関連する命令が変更されていないことを知る。こうして、CPC210は、実行部211を通じて、通常命令即ちLOADを実行する。CPU210による通常命令の実行によって、命令変更指示子ビットがセットされ、この命令位置への後続のコールにおいては、適応型オプコードがコールされることが示される。例えば、JAVAの場合、命令変更ビットがセットされた場合、LOAD命令はLOADQ命令と交換することができる。
【0010】
キャッシュ・ラインがフラッシュされる場合、他のデータで置き換えられたことを示し、命令変更指示子をメモリ220に格納する必要はない。これは、ライト・バック(write back)またはライト・スルー(write through) 処理を実行しなければならない場合のオーバーヘッドを防止する。一般的に言えば、最低使用頻度キャッシュ・ラインにフラッシュが行われるが、フラッシュされるラインは頻繁には用いられていないことを示す。したがって、相当な時間量が節約される訳ではないので、ライトバック処理を実行する必要はない。
【0011】
尚、命令変更指示子(ビット)は、必ずしもキャッシュ・ラインの一部でなくてもよいことを注記しておく。重要なのは、各キャッシュ・ラインには命令変更ビットが関連付けられていることのみである。また、実行される適応型オプコードに2つ以上の可能な代替物がある場合、命令変更指示子も2ビット以上としてよいことを注記しておく。
【0012】
他の実施例では、CPU210は、各キャッシュ・ラインの命令変更指示子部分とは別個の変更アレイを含む。命令フローが所与のキャッシュ・ラインに渡った場合、CPU210の変更アレイを初期化して、各命令に関連する命令変更指示子の状態を示す。所与のキャッシュ・ライン内の各命令に対して、1つの命令変更指示子がある。したがって、現キャッシュ・ラインから実行が継続する限り、CPU210の変更アレイのみが更新され、各命令変更ビットの現ステータスを示す。制御が現キャッシュ・ライン外に流れた後にのみ、次のキャッシュ・ラインへの移行、あるいはフロー遠回り命令(flow indirection instruction)によって、CPU210のアレイ内の情報は適切なキャッシュ・ラインに転送される。
【0013】
これは、所与の命令が変更される場合においても、CPU210およびキャッシュ230間のバス上の帯域使用を防止するという利点がある。CPU210の変更アレイ内に現キャッシュ・ラインの命令変更指示子を保持することにより、CPUからキャッシュ230への更新は、キャッシュ・ライン毎に1回だけ行えばよい。
【0014】
図3は、本発明による方法300を示す。方法300は、矩形の実行ブロック301ないし308,および菱形の判断ブロック310,311を含む。ステップ301において、命令の取り込みから開始し、実行すべき命令を取り込む。次に、ステップ310において、取り込んだ命令が現在キャッシュ内にあるか否かについて判定を行う。この命令がキャッシュ内にある場合、フローはステップ311に進む。逆に、現在キャッシュ内にはない場合、フローはステップ304に進む。ステップ311において、当該命令に関連する命令変更ビットがセットされているか否かについて判定を行う。対応する命令変更ビットがセットされている場合、フローはステップ302に進み、クイック・デコードを実行する。本実施例では、単一ビットのみを用いて通常命令およびクイック命令間の判定を行っているが、ステップ311は、多数の変更された命令の1つを使用すべきか否かに関する判定も可能であることを注記しておく。加えて、命令変更ビットは、実際には、実際の命令ワードのビットの1つとして内蔵する場合もある。
【0015】
ステップ311において指示子ビットがセットされていないと判定された場合、フローはステップ303に進む。ステップ303において、通常命令のデコードが開始する。次に、ステップ307において、ステップ303におけるデコードの完了時に、命令変更指示子ビットがセットされる。ステップ310において、取り込まれた命令がキャッシュにないと判定された場合、フローはステップ304に進む。ステップ304において、メモリからの命令取り込みを完了し、メモリからキャッシュにロードする。次に、ステップ305において、命令変更指示子をクリアする。別の実施例では、命令変更子もメモリから受信することができ、この場合、命令変更子がロードされると、現命令が別のデコードのために使用可能か否かが示される。次に、ステップ306において、通常命令のデコードが行われる。次に、ステップ308において、命令変更指示子ビットをセットする。
【0016】
本発明の一実施例について記載したが、記載した実施例には多数の変更が可能であることは理解されよう。例えば、キャッシュ・ライン・フラッシュ機構を変更し、変更したキャッシュ・ラインをメモリにライト・バックすることによって、元の命令に対してクイック命令の使用を反映させることも可能である。更に、端的に論じたように、先の説明では、1ビットの情報だけ余分にキャッシュ・ラインに追加することを前提とした。プログラム実行状態または以前のオプコードを含むより多くの情報を保持して、適応型オプコードを作成し、その実行を他の素子の状態によって制御することも可能である。可能な例として、「タッチ・ロード」処理(touch load operation)を有するループがあげられよう。タッチ・ロード処理とは、キャッシュ・ラインを初期状態において作成し、メモリからキャッシュ・ラインをロードする必要性をなくするものである。この場合、ループの第1の通過において、タッチ・ロードを、以降のループによる実行における実際のロードと置き換えることが望ましい。他の代替案としては、通常機能および非選択機能(no-opt function) 間で切り替わる命令を有することがあげられよう。これによって、非選択に置き換わる単一ビットに応じて、キャッシュ・ライン・レベルにおいて、命令の入力および出力の切り替えが可能となる。
【図面の簡単な説明】
【図1】従来技術によって変更されたRAMロケーションを示すブロック図。
【図2】本発明によるプロセッサ・システム200を示すブロック図。
【図3】本発明による方法300を示すフロー・チャート。
【符号の説明】
200 処理システム
210 CPU
211 実行部
212 デコード部
213 変更アレイ
220 メモリ
230 キャッシュ
Claims (7)
- データ処理システム(200)であって:
メモリ内において複数の状態を有する命令毎のビットフィールド;および
中央演算装置(210);
を具備し、
前記中央演算装置は前記ビットフィールドのステータスに基づいて、複数の意味を有するオプコードを認識し、前記複数の意味の内の第1の意味はロード命令の意味を含み、かつ前記複数の意味の内の第2の意味はロード・クイック命令の意味を含み;
前記ビットフィールドは前記オプコードに関連付けられ;
前記中央演算装置は、前記オプコードの実行中に、自動的に前記ビットフィールドを変更することを特徴とするデータ処理システム(200)。 - 命令実行方法であって:
a)中央演算装置による実行のために命令を取り込む段階;
b)前記命令に関連して格納されたビットフィールドを検査する段階であって、複数のビットフィールド・ステータスを有する前記ビットフィールドを検査する段階;
c)前記複数のビットフィールド状態に基づいて、複数の命令の意味の内どの1つを前記命令に割り当てるかを決定する段階であって、前記複数の命令の意味の内の第1の命令の意味はロード命令の意味を含み、かつ前記複数の命令の意味の内の第2の命令の意味はロード・クイック命令の意味を含む段階;および
d)前記命令の実行の一部として、前記ビットフィールドを自動的に更新する段階;
を具備することを特徴とする方法。 - データ処理システム(200)であって:
メモリ内に複数の状態を有する命令毎のビットフィールド;および
中央演算装置(210);
を具備し、
前記中央演算装置は前記ビットフィールドのステータスに基づいて、複数の意味を有するオプコードを認識し、前記複数の意味の内の第1の意味はロード命令の意味を含み、かつ前記複数の意味の内の第2の意味はロード・クイック命令の意味を含み;
前記ビットフィールドは前記オプコードに関連付けられ;
前記中央演算装置は、第1回目の前記オプコードの実行の間に、自動的に前記ビットフィールドを変更することを特徴とするデータ処理システム(200)。 - データ処理システム(200)であって:
元の命令を含むメモリ位置を有するメモリ;
第1状態および第2状態を有する命令変更指示子;
実行部(211);および
前記メモリに結合され前記元の命令を受信し、かつ前記実行部(211)に結合され命令の実行を行うデコード部(212);
を具備し、
前記デコード部(212)は、前記命令変更指示子が前記第1状態にある場合、前記元の命令を前記実行部(211)に供給し、前記元の命令はロード命令を含み;
前記デコード部(212)は、前記命令変更指示子が前記第2状態にある場合、別の命令を前記実行部(211)に供給し、前記別の命令はロード・クイック命令を含むことを特徴とするデータ処理システム(200)。 - データプロセッサ命令を実行する方法であって:
第1のデータプロセッサ命令の表現を第1のメモリ位置にロードする段階;
第2のメモリ位置を第1状態および第2状態の内の1つにセットする段階;
前記第1のメモリ位置における前記第1のデータプロセッサ命令の表現を処理しかつ前記第2のメモリ位置が前記第1状態にあることが判定された場合に前記第1のデータプロセッサ命令を実行する段階であって、前記第1のデータプロセッサ命令はロード命令を含む段階;および
前記第1のメモリ位置における前記第1のデータプロセッサ命令の表現を処理しかつ前記第2のメモリ位置が前記第2状態にあることが判定された場合に第2のデータプロセッサ命令を実行する段階であって、前記第2のデータプロセッサ命令はロード・クイック命令を含む段階、
を具備することを特徴とするデータプロセッサ命令を実行する方法。 - データプロセッサ命令を実行する方法であって:
あるデータプロセッサ命令の表現を第1のメモリ位置にロードする段階;
第2のメモリ位置を第1状態および第2状態の内の1つにセットする段階であって、前記第2のメモリ位置は前記第1のメモリ位置とは独立である段階;
前記第1のメモリ位置における前記データプロセッサ命令の表現を処理しかつ前記第2のメモリ位置が前記第1状態にあることが判定された場合に前記データプロセッサ命令を実行して第1機能および第2機能を行なう段階;および
前記第1のメモリ位置における前記データプロセッサ命令の表現を処理しかつ前記第2のメモリ位置が前記第2状態にあることが判定された場合に第2のデータプロセッサ命令を実行して前記第2機能を行ないかつ前記第1機能は行なわない段階、
を具備することを特徴とするデータプロセッサ命令を実行する方法。 - データ処理システムであって:
第1の命令位置を含む複数の命令位置を含むキャッシュ・ライン;
前記第1の命令位置に排他的に関連することが可能なメモリ位置;
実行部;
前記第1の命令位置、前記実行部、および前記メモリ位置に結合されたデコード部であって、前記メモリ位置は第1の値を含むよう決定され、前記デコード部は前記第1の命令位置に格納された命令を実行のために前記実行部に提供し、前記メモリ位置が第2の値を含むことが判定された場合に、前記デコード部は前記第1の命令位置に格納された命令を使用して前記命令の変更された命令を実行のために前記実行部に提供するもの、
を具備することを特徴とするデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/684,717 US6523095B1 (en) | 1996-07-22 | 1996-07-22 | Method and data processing system for using quick decode instructions |
US684717 | 1996-07-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1091434A JPH1091434A (ja) | 1998-04-10 |
JP3830236B2 true JP3830236B2 (ja) | 2006-10-04 |
Family
ID=24749266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20545597A Expired - Fee Related JP3830236B2 (ja) | 1996-07-22 | 1997-07-15 | クイック・デコード命令を用いるための方法およびデータ処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US6523095B1 (ja) |
JP (1) | JP3830236B2 (ja) |
KR (1) | KR100678354B1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098297B2 (en) * | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
US20090240928A1 (en) * | 2008-03-18 | 2009-09-24 | Freescale Semiconductor, Inc. | Change in instruction behavior within code block based on program action external thereto |
US9851990B2 (en) * | 2015-01-30 | 2017-12-26 | American Megatrends, Inc. | Method and system for performing on-demand data write through based on UPS power status |
US9886387B2 (en) | 2015-01-30 | 2018-02-06 | American Megatrends, Inc. | Method and system for performing on-demand data write through based on virtual machine types |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4910656A (en) * | 1987-09-21 | 1990-03-20 | Motorola, Inc. | Bus master having selective burst initiation |
DE68924306T2 (de) * | 1988-06-27 | 1996-05-09 | Digital Equipment Corp | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. |
US5155824A (en) * | 1989-05-15 | 1992-10-13 | Motorola, Inc. | System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address |
JPH0625984B2 (ja) * | 1990-02-20 | 1994-04-06 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | マルチプロセツサ・システム |
US5426765A (en) * | 1991-08-30 | 1995-06-20 | Compaq Computer Corporation | Multiprocessor cache abitration |
GB2260628A (en) * | 1991-10-11 | 1993-04-21 | Intel Corp | Line buffer for cache memory |
US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
JP3242161B2 (ja) * | 1992-09-11 | 2001-12-25 | 株式会社日立製作所 | データプロセッサ |
US5572700A (en) * | 1993-04-30 | 1996-11-05 | Intel Corporation | Cache access controller and method for permitting caching of information in selected cache lines |
US5555392A (en) * | 1993-10-01 | 1996-09-10 | Intel Corporation | Method and apparatus for a line based non-blocking data cache |
-
1996
- 1996-07-22 US US08/684,717 patent/US6523095B1/en not_active Expired - Fee Related
-
1997
- 1997-07-15 JP JP20545597A patent/JP3830236B2/ja not_active Expired - Fee Related
- 1997-07-22 KR KR1019970035518A patent/KR100678354B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US6523095B1 (en) | 2003-02-18 |
KR980010777A (ko) | 1998-04-30 |
JPH1091434A (ja) | 1998-04-10 |
KR100678354B1 (ko) | 2007-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3771273B2 (ja) | 述語レジスタ・セットをレストアする方法および装置 | |
US20200364054A1 (en) | Processor subroutine cache | |
US5926646A (en) | Context-dependent memory-mapped registers for transparent expansion of a register file | |
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
US6823447B2 (en) | Software hint to improve the branch target prediction accuracy | |
US5193157A (en) | Piplined system includes a selector for loading condition code either from first or second condition code registers to program counter | |
US7234025B2 (en) | Microprocessor with repeat prefetch instruction | |
US6076156A (en) | Instruction redefinition using model specific registers | |
US6230259B1 (en) | Transparent extended state save | |
US5940876A (en) | Stride instruction for fetching data separated by a stride amount | |
KR100777772B1 (ko) | 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법 | |
US5958045A (en) | Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor | |
US4541047A (en) | Pipelined data processing system | |
US20040181654A1 (en) | Low power branch prediction target buffer | |
US5835972A (en) | Method and apparatus for optimization of data writes | |
US5951671A (en) | Sharing instruction predecode information in a multiprocessor system | |
JP3830236B2 (ja) | クイック・デコード命令を用いるための方法およびデータ処理システム | |
US5761718A (en) | Conditional data pre-fetching in a device controller | |
US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
US6647487B1 (en) | Apparatus and method for shift register rate control of microprocessor instruction prefetches | |
US5625808A (en) | Read only store as part of cache store for storing frequently used millicode instructions | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
US6192449B1 (en) | Apparatus and method for optimizing performance of a cache memory in a data processing system | |
KR20020086214A (ko) | 마이크로프로세서 | |
US6308262B1 (en) | System and method for efficient processing of instructions using control unit to select operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040715 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040715 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040715 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050425 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060512 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060711 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090721 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100721 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110721 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120721 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130721 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |