JPH1091434A - クイック・デコード命令を用いるための方法およびデータ処理システム - Google Patents

クイック・デコード命令を用いるための方法およびデータ処理システム

Info

Publication number
JPH1091434A
JPH1091434A JP9205455A JP20545597A JPH1091434A JP H1091434 A JPH1091434 A JP H1091434A JP 9205455 A JP9205455 A JP 9205455A JP 20545597 A JP20545597 A JP 20545597A JP H1091434 A JPH1091434 A JP H1091434A
Authority
JP
Japan
Prior art keywords
instruction
bit field
opcode
bit
execution
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
Application number
JP9205455A
Other languages
English (en)
Other versions
JP3830236B2 (ja
Inventor
Buretaanitsutsu Maurishio Jr
マウリシオ・ブレターニッツ,ジュニア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH1091434A publication Critical patent/JPH1091434A/ja
Application granted granted Critical
Publication of JP3830236B2 publication Critical patent/JP3830236B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 通常のオプコードをクイック・オプコードで
上書きする必要がない、クイック・デコード命令の使用
方法およびデータ処理システムを提供する。 【解決手段】 キャッシュ(230)のキャッシュ・ラ
インは、変更可能命令を含む。変更可能命令は、中央演
算装置(210)(CPU)によってデコードされ、C
PUはこの変更可能命令に関連する機能を実行する。変
更可能命令を実行した後、CPU(210)は、変更可
能命令の実行結果に基づいて、キャッシュ(200)に
関連する命令変更ビットをセットする。後続の変更可能
命令の配置プロセスの間、CPUデコード部(212)
が、命令変更指示子に基づいて、変更された命令を変更
可能命令と交換する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に命令のデ
コードおよび実行に関し、特に命令の条件付きデコード
処理に関するものである。
【0002】
【従来の技術】JAVAバイト・コード・インタプリタ
(JAVA byte code interpreter)は、通常バージョンおよ
びクイック・バージョンを有する多数の命令を有する。
最初にこれらの命令の1つの通常オプコード(opcode)を
見つけたとき、多数のチェックが起動される。これらの
チェックは各々、通常は時間の形状のある量のオーバー
ヘッドを伴う。通常命令に対応するクイック命令は、関
連するオーバーヘッドの全てを発生させることなく、命
令の機能を実行する。
【0003】ジャワ・コード・インタプリタが、クイッ
ク・バージョンを有する命令オプコードを実行する場
合、図1の従来技術に示すように、この命令を含むメモ
リ位置を別のクイック・バージョンで上書きする。その
結果、以降このメモリ位置から取り込んだ場合、クイッ
ク・バージョンを実行し、したがって、このオプコード
の通常バージョンが必要とするチェックを繰り返さな
い。
【0004】
【発明が解決しようとする課題】このような既存のコー
ドの無視に伴う問題の1つに、変更された命令をメモリ
にライト・バック(write back)しなければならないため
に、オーバーヘッドが更に増加することがあげられる。
キャッシュを用いる場合、キャッシュ内の命令が変更さ
れるだけでなく、ある時点において、キャッシュ・ライ
ンにフラッシュ(flush) が行われた場合に、このキャッ
シュ・ライン全体をメモリにライト・バックしなければ
ならない場合もある。キャッシュの構成によっては、キ
ャッシュに変化が起こったときにはいつでも、外部メモ
リも更新し、キャッシュと一致させなければならないこ
ともある。これは、ライト・スルー・モード(write thr
oughmode)として知られている。変更されたコードをメ
モリに再度移動させなければならないことにより、メモ
リ帯域の使用が増大し、このためにシステム動作全体の
低速化を招く。加えて、既存のオプコードを上書きする
必要性のために、追加のステップが必要となり、システ
ム性能の低下に至る可能性がある。したがって、通常の
オプコードをクイック・オプコードで上書きする必要性
をなくすことができれば、有益であろう。
【0005】
【課題を解決するための手段】概して言えば、本発明の
好適実施例においては、キャッシュ・ラインは変更可能
命令(modifiable instruction)を含む。この変更可能命
令は、中央演算装置(CPU)によってデコードされ、
CPUが変更可能命令に関連する機能を実行する。変更
可能命令を実行した後、CPUは、変更可能命令の実行
結果に基づいて、命令変更ビットをセットする。後続の
変更可能命令配置プロセスの間、CPUデコード部(2
12)は、命令変更指示子がセットされたという事実に
基づいて、変更された命令を変更可能命令で自動的に置
き換える。命令変更指示子を使用することにより、変更
可能命令を他の実施例で無効にする必要はもはやなくな
り、これによってシステムの時間および帯域が節約され
る。
【0006】
【発明の実施の形態】図2は、メモリ220およびキャ
ッシュ230に結合されたCPU210を、ブロック図
状で示す。キャッシュ230は、キャッシュ・ライン0
ないしキャッシュ・ラインNから成る。各キャッシュ・
ラインには、命令変更指示子が関連付けられている。図
2では、これは、キャッシュ・ラインの1ビットの拡張
部として示されている。
【0007】小型のプログラム・サイズを保存しつつ、
効率的なプログラムの実行を達成するために、適応型オ
プコード(adaptive opcode) が用いられている。通常、
適応型オプコードが用いられるのは、オプコードに関連
する命令の機能的な実施態様が、実行時のシステムまた
は状態情報に依存する場合である。JAVAは、適応型
オプコードを用いる言語の一例である。例えば、JAV
Aは、ロード(LOAD)命令およびロード・クイック
(LOADQ)命令を有する。命令LOADは、プログ
ラムの実行中に、適応的に変更され、LOADQ命令と
なることができる。例をあげて説明すると、JAVAの
LOADは、実行時に計算するためにアクセスすべきデ
ータの供給源へのオフセットを必要とする。一旦計算し
たなら、その供給源、したがってオフセットは、通常変
化せず、したがって、後続のアクセス時におけるクイッ
ク実行のために必要な供給源情報を維持するLOADQ
命令がある。従来技術のシステムでこれは行うには、図
1に示したように、LOAD命令をLOADQ命令で上
書きしていた。
【0008】本発明の一実施例では、コード変更は、命
令変更指示子を維持することによって行われる。図2を
参照して、メモリ220は、図示しない供給源から複数
のオプコードを受信する。複数のオプコードは、適応型
オプコードを含む。適応型オプコードを含むメモリ22
0内のメモリ位置への第1のアクセスの間、処理システ
ム200は、キャッシュ230からキャッシュ・ミスを
受信し、実行すべき命令がキャッシュ内にないことを示
す。キャッシュ・ミスを受信すると、処理システム20
0は、メモリ220から実行すべき命令を取り込み、キ
ャッシュ230内のキャッシュ・ラインの1つを充填す
る。キャッシュ230内のキャッシュ・ラインが充填さ
れた場合、命令変更指示子ビットはクリアされる。
【0009】命令変更指示子をクリアすることにより、
CPU210は、デコード部212を通じて、取り込ま
れたこの指示子に関連する命令が変更されていないこと
を知る。こうして、CPC210は、実行部211を通
じて、通常命令即ちLOADを実行する。CPU210
による通常命令の実行によって、命令変更指示子ビット
がセットされ、この命令位置への後続のコールにおいて
は、適応型オプコードがコールされることが示される。
例えば、JAVAの場合、命令変更ビットがセットされ
た場合、LOAD命令はLOADQ命令と交換すること
ができる。
【0010】キャッシュ・ラインがフラッシュされる場
合、他のデータで置き換えられたことを示し、命令変更
指示子をメモリ220に格納する必要はない。これは、
ライト・バック(write back)またはライト・スルー(wri
te through) 処理を実行しなければならない場合のオー
バーヘッドを防止する。一般的に言えば、最低使用頻度
キャッシュ・ラインにフラッシュが行われるが、フラッ
シュされるラインは頻繁には用いられていないことを示
す。したがって、相当な時間量が節約される訳ではない
ので、ライトバック処理を実行する必要はない。
【0011】尚、命令変更指示子(ビット)は、必ずし
もキャッシュ・ラインの一部でなくてもよいことを注記
しておく。重要なのは、各キャッシュ・ラインには命令
変更ビットが関連付けられていることのみである。ま
た、実行される適応型オプコードに2つ以上の可能な代
替物がある場合、命令変更指示子も2ビット以上として
よいことを注記しておく。
【0012】他の実施例では、CPU210は、各キャ
ッシュ・ラインの命令変更指示子部分とは別個の変更ア
レイを含む。命令フローが所与のキャッシュ・ラインに
渡った場合、CPU210の変更アレイを初期化して、
各命令に関連する命令変更指示子の状態を示す。所与の
キャッシュ・ライン内の各命令に対して、1つの命令変
更指示子がある。したがって、現キャッシュ・ラインか
ら実行が継続する限り、CPU210の変更アレイのみ
が更新され、各命令変更ビットの現ステータスを示す。
制御が現キャッシュ・ライン外に流れた後にのみ、次の
キャッシュ・ラインへの移行、あるいはフロー遠回り命
令(flow indirection instruction)によって、CPU2
10のアレイ内の情報は適切なキャッシュ・ラインに転
送される。
【0013】これは、所与の命令が変更される場合にお
いても、CPU210およびキャッシュ230間のバス
上の帯域使用を防止するという利点がある。CPU21
0の変更アレイ内に現キャッシュ・ラインの命令変更指
示子を保持することにより、CPUからキャッシュ23
0への更新は、キャッシュ・ライン毎に1回だけ行えば
よい。
【0014】図3は、本発明による方法300を示す。
方法300は、矩形の実行ブロック301ないし30
8,および菱形の判断ブロック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 (5)

    【特許請求の範囲】
  1. 【請求項1】データ処理システム(200)であって:
    メモリ内において複数の状態を有する命令毎のビットフ
    ィールド;および中央演算装置(210);から成り、 前記中央演算装置は前記ビットフィールドのステータス
    に基づいて、複数の意味を有するオプコードを認識し;
    前記ビットフィールドは前記オプコードに関連付けら
    れ;前記中央演算装置は、前記オプコードの実行中に、
    自動的に前記ビットフィールドを変更することを特徴と
    するデータ処理システム(200)。
  2. 【請求項2】命令実行方法であって: a)中央演算装置による実行のために命令を取り込む段
    階; b)前記命令に関連して格納されたビットフィールドを
    検査する段階であって、複数のビットフィールド・ステ
    ータスを有する前記ビットフィールドを検査する段階; c)前記複数のビットフィールド状態に基づいて、複数
    の命令の意味の内どの1つを前記命令に割り当てるかを
    決定する段階;および d)前記命令の実行の一部として、前記ビットフィール
    ドを自動的に更新する段階;から成ることを特徴とする
    方法。
  3. 【請求項3】データ処理システム(200)であって:
    メモリ内に複数の状態を有する命令毎のビットフィール
    ド;および中央演算装置(210);から成り、 前記中央演算装置は前記ビットフィールドのステータス
    に基づいて、複数の意味を有するオプコードを認識し;
    前記ビットフィールドは前記オプコードに関連付けら
    れ;前記中央演算装置は、第1回目の前記オプコードの
    実行の間に、自動的に前記ビットフィールドを変更する
    ことを特徴とするデータ処理システム(200)。
  4. 【請求項4】データ処理システム(200)であって:
    キャッシュ・メモリに2つの状態が格納される命令毎の
    1ビット・ビットフィールド;および中央演算装置(2
    10);から成り、 前記中央演算(210)は、前記1ビット・ビットフィ
    ールドのステータスに基づいて、2つの意味を有するオ
    プコードを有し;前記1ビット・ビットフィールドは前
    記オプコードに関連付けられており;前記中央演算装置
    (210)は前記オプコードの実行中に、前記1ビット
    ・ビットフィールドを自動的に変更し;前記中央演算装
    置(210)は、第1回目の前記オプコードの実行にお
    いて、前記1ビット・ビットフィールドのステータスを
    自動的に変更する;ことを特徴とするデータ処理システ
    ム(200)。
  5. 【請求項5】データ処理システム(200)であって:
    元の命令を含むメモリ位置を有するメモリ;第1状態お
    よび第2状態を有する命令変更指示子;実行部(21
    1);および前記メモリに結合され前記元の命令を受信
    し、かつ前記実行部(211)に結合され命令の実行を
    行うデコード部(212);から成り、 前記デコード部(212)は、前記命令変更指示子が前
    記第1状態にある場合、前記元の命令を前記実行部(2
    11)に供給し;前記デコード部(212)は、前記命
    令変更指示子が前記第2状態にある場合、別の命令を前
    記実行部(211)に供給することを特徴とするデータ
    処理システム(200)。
JP20545597A 1996-07-22 1997-07-15 クイック・デコード命令を用いるための方法およびデータ処理システム Expired - Fee Related JP3830236B2 (ja)

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 true JPH1091434A (ja) 1998-04-10
JP3830236B2 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR100678354B1 (ko) 2007-11-12
JP3830236B2 (ja) 2006-10-04
KR980010777A (ko) 1998-04-30
US6523095B1 (en) 2003-02-18

Similar Documents

Publication Publication Date Title
US5926646A (en) Context-dependent memory-mapped registers for transparent expansion of a register file
US6665776B2 (en) Apparatus and method for speculative prefetching after data cache misses
EP0380859B1 (en) Method of preprocessing multiple instructions
US7165143B2 (en) System and method for manipulating cache data
US5954815A (en) Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US5375216A (en) Apparatus and method for optimizing performance of a cache memory in a data processing system
US6145049A (en) Method and apparatus for providing fast switching between floating point and multimedia instructions using any combination of a first register file set and a second register file set
JP2539199B2 (ja) デジタルプロセッサ制御装置
US6823447B2 (en) Software hint to improve the branch target prediction accuracy
US6076156A (en) Instruction redefinition using model specific registers
US5940876A (en) Stride instruction for fetching data separated by a stride amount
US5522053A (en) Branch target and next instruction address calculation in a pipeline processor
US5799163A (en) Opportunistic operand forwarding to minimize register file read ports
KR100777772B1 (ko) 연산 처리 장치, 정보 처리 장치 및 레지스터 파일의 제어방법
US5958045A (en) Start of access instruction configured to indicate an access mode for fetching memory operands in a microprocessor
US5193156A (en) Data processor with pipeline which disables exception processing for non-taken branches
JP3794918B2 (ja) 復帰選択ビットを用いて分岐予測のタイプを分類する分岐予測
US20060095746A1 (en) Branch predictor, processor and branch prediction method
US5951671A (en) Sharing instruction predecode information in a multiprocessor system
US6289428B1 (en) Superscaler processor and method for efficiently recovering from misaligned data addresses
JP3830236B2 (ja) クイック・デコード命令を用いるための方法およびデータ処理システム
US6647487B1 (en) Apparatus and method for shift register rate control of microprocessor instruction prefetches
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
US6862680B2 (en) Microprocessor processing specified instructions as operands

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