JP4748918B2 - 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 - Google Patents
復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 Download PDFInfo
- Publication number
- JP4748918B2 JP4748918B2 JP2002506436A JP2002506436A JP4748918B2 JP 4748918 B2 JP4748918 B2 JP 4748918B2 JP 2002506436 A JP2002506436 A JP 2002506436A JP 2002506436 A JP2002506436 A JP 2002506436A JP 4748918 B2 JP4748918 B2 JP 4748918B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- information
- decoded
- instruction
- instructions
- 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
- 238000013519 translation Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
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)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
[発明の分野]
本発明は、復号された情報を与える装置及び方法に関し、そして特に、復号された情報を格納し且つそれを情報受取人に与える装置に関する。
【0002】
[発明の背景]
本明細書で用いられるように、単語「情報」は、任意の種類のデータ又は命令あるいはこれら両方を含むことを意図するものである。本明細書で用いられるように、次の単語、即ち、符号化する、暗号化する、暗号に組む、圧縮された、及び次の単語、即ち、復号する、復元する(暗号解読する、暗号解除する)、暗号を解読する(暗号を翻訳する)、圧縮解除する(復元する)、及び関連の形式は、より少ない空間又は伝送時間を占有するための周辺の意味、短縮又は圧縮、又はいずれの他の情報技術を含むが、これらに限定されない、いずれかの目的のためのコーディングの任意の形式を含むことを意図するものである。次の単語、即ち、符号化する、暗号に組む、暗号化する、圧縮するは、同じ意味を有することを意図し、そしてそれらの逆の形式、例えば、復号する、暗号解除する、暗号を解読する、圧縮解除するに対しても同様である。説明の便宜のため、そして前述の用語「情報」及び「コード化された」の意味を限定することなしに、用語「命令」及び「コード化された」が本明細書で用いられている。
【0003】
命令をコード化された形式で格納する必要性がある。これは、意図しないユーザに対して命令を不透明にする希望、又は冗長性排除又は短縮コーディングのある手段を通してメモリ空間を保全する希望の故に、又は他の理由のために生じる。
【0004】
情報をコード化された形式で格納することが幾つかの問題を引き起こし、それらの問題の中には、メモリから検索された情報を復号する必要性が存在する。コード化された命令が再フェッチされねばならないとき、それを再び復号する必要性が存在し、それにより時間の浪費及び装置の性能の劣化が引き起こされる。
【0005】
多くのコンピュータ装置において、これらの問題は、フローの変更が生じるとき非常に厳しい。フローの変更が起こるとき、命令は、メモリからフェッチされ、そしてコンピュータ装置のCPUに与えられる前に復号されねばならない。
【0006】
フローの変更は、条件付き分岐又は無条件に関係する命令の実行のような、様々な理由のため生じる場合がある。分岐目標命令は、分岐命令を実行するときCPUによりフェッチされる命令である。分岐目標命令のアドレスは、「分岐目標アドレス」として知られ、そしていずれの分岐命令の一部である。PowerPCマイクロプロセッサのIsync命令のようなある一部の命令においては、分岐目標アドレスは予め決められており、それは演算コード(opcode)のみから駆動される。
【0007】
この問題はまた、分岐予測が間違っているとき生じる。そのような場合には、分岐命令に続く命令を再フェッチする必要性がある。
前述の時間の浪費及び装置の性能の劣化は特に、フローの非常に頻繁な変更を扱うことを想定されるコンピュータ装置において非常に厳しい。
【0008】
命令をコード化された形式で格納することに関連した別の問題は、コード化された命令が整列されてない要領で命令の長さが変わることである。更に、単一のコード化された命令は、メモリ・ワードの一部に、又は単一のメモリ・ワードより多いメモリ・ワードにすら格納される可能性がある。
【0009】
フローの頻繁な変更を最小のペナルティで可能にする必要性が存在する。従来技術のこれら及び他の周知の制限を低減又は排除する改良されたコンピュータ及びコンピュータ・メモリ組織及び動作(オペレーティング)方法に対する目下の必要性が存在する。
本発明が特に、特許請求の範囲で指摘されるが、本発明の他の特徴は、添付図面と関係した以下の詳細な説明により開示される。
【0010】
[発明の詳細な説明]
発明の詳細な説明及び添付図面において用いられる特定の用語及び表現、及び発明の詳細な説明及び添付図面において開示されている特定の構造及び動作の詳細は、例示の目的のみのためであり、そして特許請求の範囲に記載された発明の範囲を何ら限定する意図ではないことに注目すべきである。
【0011】
本発明は、復号された命令のような暗号解除された情報を与える装置及び方法を提供し、その装置は、復号される命令を格納するメモリ・モジュールと、上記メモリ・モジュールに結合され、復号される命令をフェッチし且つ復号して、復号された命令を与えるデコーダと、上記メモリ・モジュール、上記デコーダ及び復号された命令の受け取り手段(recipient)に結合されたキャッシュとを備え、上記キャッシュは、キャッシュのチェック条件が満たされ且つキャッシュ・ヒットが生じた後で上記命令の受け取り手段に与えられるための少なくとも1組の復号された命令を格納するよう適合されている。
【0012】
上記命令は、情報の受け取り手段により実行されることが好都合である。命令は、復号された形式でキャッシュに格納され、そして符号化された形式でメモリ・モジュールに格納され、そして命令の受け取り手段は、復号された命令を実行するよう適合されている処理装置である。
【0013】
キャッシュのチェック条件は、フローの変更が生じるとき満たされるのが好都合である。キャッシュのチェック条件はまた、所定のグループの命令からの命令がデコーダにより復号されるとき満たされるのは任意である。命令のグループは、Isync命令のような所定の分岐目標アドレスを有する分岐命令を備えるのが好ましい。キャッシュのチェック条件はまた、分岐予測が間違っているとき満たされることができる。
【0014】
1組の命令の最大長は、キャッシュが上記1組の命令を与えた直後にデコーダが復号された命令を与えるのを可能にする要領で上記最大長が設計されている最悪シナリオのような様々なシナリオに応えるよう設計されている。上記最大長は、通常のシナリオに応えるようより短くすることができ、それにより大部分の場合に、デコーダは、キャッシュが上記1組の命令を与えた直後に復号された命令を与えることができる。
【0015】
上記装置は、復号された命令の長さの変動を補償するためのアドレス変換機構を有することが好都合である。この機構は、デコーダにより復号されるべき命令の少なくとも第1の部分を格納するメモリ・ワードの少なくとも1つの位置を上記メモリ・モジュールに与えるよう適合されている。
【0016】
上記キャッシュは、タグ・メモリと、少なくとも1組の復号された命令のステータス(状態)を定義する変数を格納するためのレジスタ・ファイルと、少なくとも1組の復号された命令を格納するためのキャッシュ・メモリと、上記タグ・メモリ、レジスタ・ファイル及びキャッシュ・メモリに結合され、命令を上記キャッシュへ与え且つそれから受け取ることを制御するための制御ユニットとを備えることが好都合である。上記キャッシュ・メモリ内の各命令は、次の命令のアドレスにより付随される。タグ・メモリは、それぞれの命令がキャッシュ・メモリに格納されている1組の復号された命令からの第1の命令である、複数の復号された命令を格納する。
【0017】
説明の便宜のため、符号化された命令は復号された命令であり、そしてフローの変更は分岐の結果であると仮定する。
図1は、本発明を採用した、プロセッサ/CPU22に結合された装置19の単純化されたブロック図である。装置19は、制御バス111、命令バス112及びアドレス・バス113により結合されたキャッシュ24、命令メモリ・モジュール26及びデコーダ28を備える。図2から図6に従って更に詳細に説明されるように、キャッシュ24は複数の復号された組の命令を格納し、その各組は分岐目標命令でもって開始する。この構成は、フローの変更が生じるとき、復号された命令の提供を可能にする一方、デコーダ28は、上記組の命令がキャッシュ24により与えられた後で与えられるべき符号化された命令を復号する。キャッシュ24は、キャッシュ24内の上記組の命令の最後の命令に続く符号化された命令の少なくとも第1の部分のアドレスを命令メモリ・モジュール26に与える。その命令の部分及び他の引き続く部分、及びそれに引き続く命令は、デコーダ28に供給されて、復号され、そしてCPU22に与えられる。
【0018】
キャッシュ・ミスが生じるとき、デコーダ28は、関連した符号化された命令を命令メモリ・モジュール26からフェッチし、それを復号し、そしてその分岐目標命令及び後続の命令をCPU22及びキャッシュ24に与える。キャッシュ24は、分岐目標命令及び複数の連続の命令を格納する。
【0019】
本発明の別の実施形態においては、キャッシュ24はまた、分岐命令に続く命令でもって開始する少なくとも1組の命令を格納し、それにより、分岐予測が間違っている場合、キャッシュ24は、分岐命令に続く命令を与える。デコーダ28は、分岐命令が復号されるときをキャッシュ24に知らせ、そしてキャッシュ24は、分岐命令に続く命令を読み出す。
【0020】
装置19は、長さが変わる復号された命令を与える問題に対処するよう適合されていることが好都合である。図2から図6に従って後で詳細に説明されるように、装置19は、復号された命令がCPU22に与えられる前に命令の全ての部分がデコーダ28に与えられる要領でメモリ・ワードの内容をデコーダ28へフェッチするアドレス変換機構を有する。キャッシュ24に復号された形式で格納されている命令INST(j,1)には後続の命令のADD(j,2)が付随する。このアドレスは、デコーダ28により復号シークエンスの間に発生され、そしてCPU22に与えられる。CPU22は、ADD(j)を、アドレス・バス113を介してキャッシュ24及びデコーダ28に与えることにより読み取りサイクルを開始する。
【0021】
各組の命令の深さは、復号された命令をCPU22に与える一方、上記組の命令の最後の命令に続く命令が命令メモリ・モジュール26からフェッチされ、デコーダ28により復号され、そして復号された形式でCPU22に与えられるのを可能にするよう設計される。上記の長さは、最悪のケース・シナリオ又は典型的なシナリオのような様々なシナリオに応えるよう設定されることができる。例えば、復号された命令が命令メモリ・モジュールから、1クロック・サイクルから3クロック・サイクルまでの間にフェッチされることができ、且つCPU22には復号された命令が後続のクロック・サイクルで与えられる場合、1組の命令の長さは、復号された命令を4つのクロック・サイクルの間に与えて、最悪のシナリオに応えるよう適合されることができる。
【0022】
キャッシュ24は、比較的小さくそして十分に連想型であるが、しかしこれらの特徴は必要でなく、キャッシュ24は、大きくあり、及び/又は直接マップ・キャッシュとして又はセット・アソシエイティブ・キャッシュとして実行されることができることが好都合である。
【0023】
図3は、命令メモリ・モジュール26の部分261を図示する。部分261は、6個のメモリ・ワード261_1−261_6から成り、そして8個の符号化された命令C_INST(j,1)−C_INST(j,9)71−79を格納するのに対し、図4及び図5は、INST(j,1)でもって開始するj番目の復号された組の命令がキャッシュ24に格納されることを示す。C_INST(j,2)は、2つの部分C_INST(j,2,1)72_1及びC_INST(j,2,2)72_2を有する。C_INST(j,8)は、3つの部分C_INST(j,8,1)78_1、C_INST(j,8,2)78_2及びC_INST(j,8,3)78_3を有する。符号化された命令は、長さが変わり、そして1メモリ・ワードから3メモリ・ワードまでに格納される。
【0024】
第1のメモリ・ワード261_1は、C_INST(j,1)71及びC_INST(j,2,1)72_1を格納する。第2のメモリ・ワード261_2は、C_INST(j,2,2)72_2、C_INST(j,3)72_3及びC_INST(j,4)72_4を格納する。第3のメモリ・ワード261_3は、C_INST(j,5)75及びC_INST(j,6)76を格納する。第4のメモリ・ワード261_4は、C_INST(j,7)77及びC_INST(j,8,1)76_1を格納する。第5のメモリ・ワード261_5は、C_INST(j,8,2)78_2を格納する。第6のメモリ・ワード261_6は、C_INST(j,8,3)78_3及びC_INST(j,9)72_9を格納する。
【0025】
図2は、本発明を採用した、装置20及びCPU22の単純化されたブロック図である。装置20は、キャッシュ24、第1のマルチプレクサ30、命令メモリ・モジュール26、デコーダ28、第2のマルチプレクサ32及び第3のマルチプレクサ34を備える。
【0026】
CPU22は、復号された命令をフェッチし、それらを実行する。命令は、符号化された形式で命令メモリ・モジュール26に格納され、そして復号された後でCPU22に与えられる。復号された命令は、デコーダ28又はキャッシュ24のいずれかによりCPU22に与えられることができる。
【0027】
CPU22は、そのCPU22へフェッチされるべき現在の命令INST(n)の現在のアドレスADD(n)を現在のクロック・サイクルCK(n)で与えるため、バス21を介してキャッシュ24及びデコーダ28に結合されている。CPU22は、フローの変更が生じることを指示する制御信号COF(n)を与えるため、ライン49を介してキャッシュ24に結合されている。フローの変更が生じるとき、キャッシュのチェック条件が満たされる。キャッシュはバス21をスヌープし(snoop)、そしてフローの変更が生じるとき、それはADD(n)をタグ・メモリ50の少なくとも1部分の内容と比較して、キャッシュ・ヒットが生じたかどうかを決定する。キャッシュ・ミス後に、キャッシュ24は、次の2つのイベント、即ち(a)キャッシュ・ミスを起こした分岐目標命令でもって開始する1組の復号された命令がキャッシュ24内に格納されることと、(b)別のフローの変更が生じることとのうちの最も早いイベントが生じるまで復号された命令及びアドレスを受け取るためのライン45及び47を素早く獲得する(snarf)。例えば、図4及び図5は、4個のあり得る命令の代わりに、3個の命令から成る(j+1)番目の命令セットを示す。これは、3クロック・サイクル離れている2つのフロー変更から結果として生じることができ、そこにおいて第1のフロー変更がINST(j+1,1)をキャッシュ24に格納させる。
【0028】
CPU22は、次のアドレスADD(n+1)、即ちアドレスADD(n)に続くアドレスを受け取るためバス21により第2のマルチプレクサ32に結合されている。この次のアドレスは、キャッシュ24又はデコーダ28のいずれかにより与えられることができる。CPU22は、INST(n)を受け取るためバス25により第3のマルチプレクサ34に結合されている。ADD(n+1)及びINST(n)は、キャッシュ24又はデコーダ28のいずれかにより与えられる。
【0029】
フローの変更が生じ、且つCPU22が命令INST(n)をフェッチするのを要求するとき、それは、ADD(n)をバス21上に与え、そしてフローの変更が生じたことを指示するためCOF(n)を設定する。キャッシュ24は、それが有効なINST(n)を格納しているかをチェックする。図4及び図5において更に詳細に分かるように、このチェックは、ADD(n)についてタグ・メモリをチェックし、そして選択された命令セットの有効性の指示についてレジスタ・ファイル90をチェックすることを包含する。説明の便宜のためADD(n)=ADD(j,1)とすることによりキャッシュ・ヒットが生じると仮定すると、キャッシュ24は、HIT制御信号をセットし、そしてHITを第1から第3のマルチプレクサ30−34にバス37を介して与え、それらにバス35、29及び27を選択させる。こうして、キャッシュ24は、CPU22にINST(j,1)、ADD(j,2)を与え、そして、j番目の組の命令の最後の命令INST(j,4)に続く符号化された命令C_INST(j,5)のアドレスADD(j,5)(これは261_3に等しい。)を命令メモリ・モジュール26に与える。HITは、I(j,4)がCPU22にキャッシュ24により与えられた後で、リセットされる。HITがリセットされている限り、デコーダ28は、命令及びアドレスをCPU22及び命令メモリ・モジュール26に与える。
【0030】
図4及び図5は、本発明の2つの好適な実施形態に従ったキャッシュ24の単純化された概略図である。
キャッシュ24は、タグ・メモリ50、制御ユニット56、レジスタ・ファイル100及びキャッシュ・メモリ90から成る。図4及び図5は、タグ・メモリ50の一部、即ちタグ・レジスタ及び比較器52及び54、レジスタ・ファイル100の一部100_1、及びキャッシュ・メモリ90の一部90_1を示す。
【0031】
タグ・レジスタ及び比較器TAG(j)52及びTAG(j+1)54はバス21に結合され、ADD(n)を受け取って、従ってそれをADD(j,1)及びADD(j+1,2)と比較し、そして一致しているか否かを指示する信号を与える。その信号は、バス53及び55を介して制御ユニット56に与えられる。制御ユニット56は、バス61を介してレジスタ・ファイル120に、バス62を介してキャッシュ・メモリ90に、バス51、47及び45を介してデコーダ28に、バス37を介して第1から第3のマルチプレクサ30−34に、及びバス49を介してCPU22にそれぞれ結合される。レジスタ・ファイル120は、第2のマルチプレクサ32にバス29を介して結合される。キャッシュ・メモリ90は、バス35を介して第1のマルチプレクサ30に、及びバス27を介して第3のマルチプレクサ34にそれぞれ結合される。
【0032】
ADD(j,1)及びADD(j+1,1)は、INST(j,1)及びINST(j+1,1)と連想付けされる。部分90_1は、j番目及び(j+1)番目の組の復号された命令を格納する。j番目の組はINST(j,1)81でもって開始し、そして(j+1)番目の組はINST(j+1,1)111でもって開始する。j番目の組は、INST(j,1)81、INST(j,2)82、INST(j,3)83及びINST(j,4)84から成り、それらINST(j,1)81、INST(j,2)82、INST(j,3)83及びINST(j,4)84は、従ってメモリ部分91_1、92_2、93_1及び94_1にそれぞれ格納される。INST(j,1)−INST(j,4)は、アドレスADD(j,2)−ADD(j,5)82′から85′までと連想付けされる。(j+1)番目の組の命令は、INST(j+1,1)111、INST(j+1,2)112及びINST(j+1,3)113から成り、それらINST(j+1,1)111、INST(j+1,2)112及びINST(j+1,3)113は、従ってメモリ部分91_5、91_6及び91_7にそれぞれ格納される。INST(j+1,1)−INST(j+1,3)は、アドレスADD(j+1,2)−ADD(j+1,4)112′から114′までと連想付けされる。ADD(j,2)82′からADD(j,5)85′までは、メモリ部分92_1から92_4までに格納される。
【0033】
各組の命令は、3つの変数、即ち、有効ページ変数、有効カウント変数及び次のアドレス変数と連想付けされる。有効ページ変数は、ある組の命令が有効な命令を含むか否かを指示する。有効カウント変数は、これからCPU22に与えられるべき1組の命令からある一定数の命令を指示する。例えば、1組の命令が4つの有効な変数を有する場合で、その1組の命令の第1の命令がCPU22に与えられた後で、有効カウント変数は3にセットされる。第4の命令がCPU22に与えられた後では、有効カウント変数はゼロにセットされる。有効カウント変数は、HIT信号がリセットされた後で4にセットされて、この組が再フェッチされるとき4つの命令を与えることができることを指示する。HITは、キャッシュ・ヒットが生じるときセットされ、そして選択された組の有効カウント変数がゼロに等しいときリセットされる。
【0034】
レジスタ・ファイル100の部分100_1は、メモリ・ワード101及び102から成る。メモリ・ワード101は、j番目の組の命令と連想付けされている3つの変数、即ちADD(j,5)121_1、VALID COUNT(有効カウント)(j)121_2及びVALID PAGE(有効ページ)(j)121_3を格納する。メモリ・ワード102は、第2の組の命令と連想付けされている3つの変数、即ちADDR(j+1,4)122_1、VALID COUNT(j+1,1)122_2及びVALID PAGE(j+1)122_3を格納する。
【0035】
HITは、次の条件の全てが満たされるとき制御ユニット56により設定される。満たされた場合のキャッシュのチェック条件とは、ADD(n)がタグ・メモリ50内に格納されたアドレスのうちの1つと一致し、そして選択された組の命令と連想付けされた有効ページ変数及び有効カウント変数の両方は、上記組が少なくとも1つの有効な命令から成ることを指示することである。
【0036】
例えば、ADD(j+1,1)=ADD(n)であり、COF(n)がセットされ、VALID PAGE(j+1)102_3がセットされ、且つVALID COUNT(j+1)>0であるとき、HITがセットされる。HITが設定されるとき、キャッシュ24は、INST(j+1,1)をキャッシュ・メモリ90の部分95_1からCPU22にバス27、第3マルチプレクサ34及びバス25を介して与える。キャッシュ24は、ADDR(j+1,4)102_1を命令メモリ・モジュール26に与え、それにより符号化された命令C_INST(j+1,4)の少なくとも第1の部分がデコーダ28に与えられ、INST(j+1,5)の復号が開始するのを可能にする一方、キャッシュ24はINST(j+1,1)からINST(j+1,3)までをCPU22に与える。ADD(j+1,2)が、CPU22にバス29及び21及び第2のマルチプレクサ32を介して与えられる。INST(j+1,4)が、CPU22にデコーダ28により、INST(j+1,3)がCPU22にキャッシュ24により与えられるクロック・サイクルに続くクロック・サイクルで与えられるのが好ましい。VALID COUNT(j+1)は、最初に3に等しく、そして(j+1)番目の命令セットからの1つの命令がCPU22に与えられるときは常に低減される。
【0037】
図5のキャッシュ24は、s番目の組の命令INST(s,1)−INST(s,4)121−124、及び変数ADD(s,5)103_1、VALID COUNT(s)103_2及びVALID PAGE(s)103_3を格納する追加のフィールドを有する。s番目の組の命令は、分岐命令INST(s,0)に続く命令INST(s,1)でもって開始し、それによりINST(s,1)と連想付けされた分岐予測が間違っているとき、命令INST(s,1)−INST(s,4)がCPU22にキャッシュ24により与えられる一方、INST(s,5)及びそれに続く命令が復号され、それによりそれらは、INST(s,4)がキャッシュ24により与えられた後でデコーダ28によりCPU22に与えられる。
【0038】
本発明の別の好適な実施形態に従って、キャッシュ24はまた、所定の分岐目標命令でもって開始する1組の命令を格納する。
複数の組の命令は、キャッシュのチェック条件が満たされるが、しかしキャッシュ・ミスが生じるとき、キャッシュ24に書き込まれる。そのような場合、分岐目標命令、及び1組の命令を形成する連続の命令は、デコーダ28により復号された後で、キャッシュ24及びCPU22の両方に与えられる。キャッシュ24への書き込みプロセスは、別のフロー変更により終了されることができる。
【0039】
各命令が、次の命令のアドレスと共にキャッシュ24に与えられるのが好都合である。例えば、INST(j,1)がキャッシュ・ミスを引き起こす場合、INST(j,1)からINST(j,4)までとアドレスADD(j,2)からADD(j,5)までとが、デコーダ28により、キャッシュ・ミスに続くクロック・サイクル中にキャッシュ24に与えられる。
【0040】
本発明の別の実施形態に従って、1組の命令は、分岐命令がデコーダ51により検出されるときキャッシュ24に書き込まれ、それにより分岐予測が間違っている場合、キャッシュ24は、分岐命令に続く復号された組の命令を与えることができる。デコーダ28はそれが分岐命令を復号することを検出するとき、それはバス51を介して制御信号を制御ユニット56に与え、それが、分岐命令後に復号される命令をキャッシュ24に送らせる。
【0041】
通常、分岐予測が間違っていると確認されるか又は見つけられるまで数クロック・サイクルが経過し、それによりこれらのクロック・サイクル中に復号された命令は、後続の命令の複数のアドレスと一緒にキャッシュ24に書き込まれる。新しい組の命令の位置は、周知の方法に従って決定されることができる。共通の方法は、キャッシュ24を先入れ先出しキューとして扱うことである。
【0042】
本発明の別の実施形態に従って、命令は、所定の分岐目標命令への分岐命令が生じるときキャッシュ24に書き込まれる。例えば、デコーダ28はそれが連続した命令への分岐に関係するIsync命令を復号することを検知するとき、デコーダ28は、バス51を介して制御信号を送り、キャッシュ24に複数の復号された命令を格納させる。
【0043】
図6は、本発明の好適な実施形態に従って、キャッシュ24により命令を与えることを図示する単純化された時間図である。図6は、バス21、25、27、29、37及び47に8個のクロック・サイクルの間に現れる信号のT1から始まってT6までを示す。T1において、CPU22は、COFをセットし、そしてADD(j,1)をバス21に与える。TAG(タグ)(j)52は、制御ユニット56に、一致が生じたことを指示する信号を送る。制御ユニット56は、レジスタ・ファイル90にバス61を介してアクセスし、そしてメモリ・ワード100_1を読み出す。VALID PAGE(j)101_3は、命令セット(j)が有効であり、且つVALID COUNT(j)101_2が4であることを指示する。制御ユニット56は、キャッシュ・ヒットが生じていることを決定し、HITをセットし、そしてそれをバス37に与える。制御ユニット56は、INST(j,1)をCPU22にバス27、第3のマルチプレクサ34及びバス25を介して与え、そしてVALID COUNT(j)101_2を3にセットする。T2、T3及びT4で始まる、次の3つのクロック・サイクルにおいて、キャッシュ24は、INST(j,2)、INST(j,3)及びINST(j,4)をCPU22に与える。全ての4つの命令INST(j,1)−INST(j,4)がCPU22に与えられた後で、制御ユニット56はHITをリセットする。T5及びT6において、デコーダ28は、HITがセットされた間に復号されたINST(j,5)及びINST(j,6)をCPU22に与える。
【0044】
図7は、復号された命令をキャッシュに与える方法200のフロー・チャートである。方法200は、ステップ202、204、206、208、210、212、214、216及び218を備えることが好ましい。なお、全てのステップはブロックにより示されている。実線302、303、304、306、308、310、312、318及び320はそれぞれ、ステップ202とステップ204を、ステップ204とステップを、ステップ204とステップ212を、ステップ206とステップ214とステップ216を、ステップ206とステップ208とステップ210を、ステップ208とステップ210とステップ218を、ステップ212とステップ214とステップ216とステップ204を、ステップ218とステップ204を、ステップ218とステップ208とステップ210を相応に結合する。これらの経路は、好適な方法フローを指示する。
【0045】
方法200は、キャッシュ24を初期化するステップ202で始まる。通常、キャッシュ24が初期化されるとき、キャッシュ24は有効な命令を格納しないで、それにより全ての組の有効なページ、有効なカウント及びADDR変数がリセットされる。ステップ202には、命令INST(n)をフェッチする要求を待ち、且つキャッシュのチェック条件が満たされているかをチェックするステップ204が続く。
【0046】
ステップ204中に、キャッシュ24は、アドレス・バス21と、参照番号111、49及び51に示すような制御バスとを素早く獲得する。キャッシュのチェック条件は、フローの変更が生じるとき満たされるのが好都合である。キャッシュのチェック条件は、Isync命令のような所定の命令がデコーダ28により復号されるとき満たされるのは任意である。そのようなケースにおいては、デコーダ28からバス51を介して与えられた制御信号は、そのような所定の命令が復号されることを指示する。
【0047】
キャッシュのチェック条件が満たされない場合、ステップ204には、デコーダ28からの復号された命令を与えるステップ212が続く。ステップ212には、ステップ204が続く。
【0048】
キャッシュのチェック条件が満たされる場合、ステップ204には、キャッシュ・ヒットが生じたかをチェックするステップ206が続く。その回答が「イエス」の場合、ステップ206には、ステップ208、210及び218が続き、それらのステップにおいて、1組の復号された命令の少なくとも一部が、キャッシュ24により与えられる一方、デコーダ28は、上記組に続く命令の符号化された部分を与えられ、そしてその符号化された命令を復号する。キャッシュからの復号された命令を与え、且つ組変数及び「n」を更新するステップ208、及び複数の命令の少なくとも一部分をデコーダ28へフェッチさせ、且つ上記命令を復号するステップ210には、次のイベントのうちの最も早いイベントが生じるまでステップ210及び208が繰り返されることを保証するステップ218が続く。上記の次のイベントとは、(a)完全な組(フルの組)の命令がキャッシュ24により与えられることと、(b)新しいキャッシュのチェック条件が満たされることとである。
【0049】
回答が「ノー」の場合、ステップ206には、復号された命令をCPU22及びキャッシュ24へデコーダ28により与えるステップ214及び216が続く。命令は、完全な組の命令がキャッシュ24に書き込まれるまでキャッシュ24に書き込まれる。
【0050】
採用された特定の用語及び表現、及び詳細な説明及び添付図面に開示された特定の構造及び動作の詳細は、例示的目的のためのみであり、そして特許請求の範囲に記載されたような本発明の範囲をいずれの方法で限定することを意図していないことに注目すべきである。
【0051】
こうして、本明細書には、暗号解読された情報を情報受取人及びその装置に与えるキャッシュを有する装置の少なくとも1つの好適な実施形態が記載された。当業者は、開示された主題が多くの方法で修正され得て、そして特に上記に述べ且つ記載した好適な形式以外の多くの実施形態を推測し得ることが明らかであろう。
【0052】
従って、上記に開示した主題は、例示であって限定でないと考えられるべきであり、そして法律により許される最大範囲まで、それは、特許請求の範囲により、本発明の真の趣旨及び範囲内に入る全てのそのような修正及び他の実施形態をカバーすることが意図されている。本発明の範囲は、特許請求の範囲及び前述の詳細な記載とは異なるそれらの均等物の最も広い許容される解釈により決定されるべきである。
【図面の簡単な説明】
【図1】 図1は、本発明の好適な一実施形態に従った装置及びプロセッサの単純化された図である。
【図2】 図2は、本発明の別の好適な実施形態に従った装置及びプロセッサの概略図である。
【図3】 図3は、本発明の好適な実施形態に従った、図1及び図2の装置の命令メモリ・モジュールの一部分の概略図である。
【図4】 図4は、本発明の好適な実施形態に従った、図1及び図2のコンピュータ装置のキャッシュの単純化された概略図である。
【図5】 図5は、本発明の別の実施形態に従った、図1及び図2のコンピュータ装置のキャッシュの単純化された概略図である。
【図6】 図6は、本発明の好適な実施形態に従った、図1から図5のキャッシュによる命令の提供を図示する単純化された時間図である。
【図7】 図7は、本発明の好適な実施形態に従った、復号された命令をキャッシュに格納しまたそれへ与える方法のフロー・チャートである。
Claims (15)
- 復号された情報を供給する装置において、
符号化された情報を格納するメモリ・モジュールと、
前記メモリ・モジュールに結合され、符号化された情報をフェッチして復号し、当該復号された情報を供給するデコーダと、
前記メモリ・モジュール及び前記デコーダ及び復号された情報の受け取り手段に結合されたキャッシュと、を備え、
前記デコーダ、前記キャッシュ、及び復号された情報の前記受け取り手段のうちの少なくとも1つが、キャッシュ・チェック条件が満たされるかどうかを決定するよう適合され、
前記キャッシュは、少なくとも1組の復号された情報を格納し、且つキャッシュ・チェック条件が満たされ且つキャッシュ・ヒットが生じる場合、1組の復号された情報を情報の前記受け取り手段に与えるよう適合されており、
前記キャッシュが前記1組の情報を与えた後直ぐに、前記デコーダが復号された情報を与えるように、前記1組の情報の最大長が設定され、
前記キャッシュ・チェック条件が、フローの変更が生じるとき、又は、所定のグループの命令からの1つの命令が前記デコーダにより復号されるとき、又は、分岐予測が間違っているとき、に満たされる条件である、
装置。 - 前記復号された情報が、復号された命令を備え、
復号された情報の前記受け取り手段が、前記復号された命令を実行するよう適合されている、
請求項1記載の装置。 - 前記キャッシュが、復号された命令を格納し、
前記メモリモジュールが、符号化された命令を格納し、
復号された情報の前記受け取り手段が、復号された命令を実行するよう適合されたプロセッサである、
請求項2記載の装置。 - 前記キャッシュは、最大長を有する1組の命令を格納するよう適合されており、
前記デコーダは、前記キャッシュが最大長を有する1組の情報を与えた直後に復号された情報を与えるよう適合されている、
請求項1記載の装置。 - 前記装置が、暗号解読された情報の長さの変動を補償するアドレス変換機構を有する請求項1記載の装置。
- 前記アドレス変換機構は、前記デコーダにより復号されるべき情報の少なくとも第1の部分を格納するメモリ・ワードの少なくとも1つの位置を前記メモリ・モジュールに与えるよう適合されている請求項5記載の装置。
- 前記キャッシュが完全に連想型である請求項1記載の装置。
- 前記キャッシュが、
タグ・メモリと、
少なくとも1つの組の暗号解読された情報のステータスを定義する変数を格納するレジスタ・ファイルと、
少なくとも1つの組の暗号解読された情報を格納するキャッシュ・メモリと、
前記タグ・メモリ、前記レジスタ・ファイル及び前記キャッシュ・メモリに結合され、情報を前記キャッシュに与えること及び情報を前記キャッシュから受け取ることを制御する制御ユニットと、
を備える請求項1記載の装置。 - 前記キャッシュ・メモリ内の各情報は、次の情報のアドレスにより随伴される請求項8記載の装置。
- 前記タグ・メモリが複数の復号された命令を格納し、
当該複数の復号された命令のそれぞれが、前記キャッシュ・メモリに格納されている1組の復号された命令からの第1の命令である、
請求項9記載の装置。 - 復号された情報を供給する方法において、
キャッシュを初期化するステップと、
キャッシュが、情報を復号された情報の受け取り手段に供給するための要求を受け取り、且つキャッシュ・チェック条件が満たされているかをチェックするステップと、
(a)キャッシュ・チェック条件が満たされていないとき、デコーダが、前記復号された情報の受け取り手段に、復号された情報を供給し、且つ、復号された情報を前記情報の受け取り手段に与えるための要求をキャッシュが受け取るステップにジャンプするステップと、
(b)キャッシュ・チェック条件が満たされているとき、前記キャッシュが、キャッシュ・ヒット又はキャッシュ・ミスが生じているかをチェックするステップと、
(c)キャッシュ・ミスが生じている場合、前記キャッシュ・ミスを起こした命令で始まる完全な組の命令が前記キャッシュに格納されるまで前記キャッシュを更新し、且つ前記デコーダが、復号された情報を、前記復号された情報の受け取り手段に与え、且つ、
復号された情報を、復号された情報の前記受け取り手段に与えるための要求を前記キャッシュが受け取るステップにジャンプするステップと、
(d)キャッシュ・ヒットが生じている場合、
(i)キャッシュが、復号された情報をキャッシュから、前記復号された情報の受け取り手段へ供給し、
(ii)メモリ・モジュールが、前記キャッシュに格納された前記復号された情報に続く符号化された情報を前記デコーダに供給し、前記デコーダが、符号化された情報を復号し、且つ、
(iii) キャッシュ・ヒットを生じた命令で始まる完全な組の命令が供給された場合、又は、
(iv)新しいキャッシュ・チェック条件が満たされた場合、
のいずれかまでステップ(i)及び(ii)を繰り返し、
且つ、
(v)復号された情報を、復号された情報の受け取り手段に与えるための要求をキャシュが受け取るステップにジャンプするステップと、
を備え、
前記キャッシュが前記1組の情報を与えた後直ぐに、前記デコーダが復号された情報を与えるように、前記1組の情報の最大長が設定され、
前記キャッシュ・チェック条件が、フローの変更が生じるとき、又は、所定のグループの命令からの1つの命令が前記デコーダにより復号されるとき、又は、分岐予測が間違っているとき、に満たされる条件である、
方法。 - 復号された情報を、復号された情報の受け取り手段に与える前記ステップが、前記復号された情報の受け取り手段により実行されるべき命令を与えるステップを備える請求項11記載の方法。
- 命令を与える前記ステップは、復号された命令を、復号された命令を実行するよう適合されたプロセッサに与えるステップを備える請求項12記載の方法。
- 復号された情報を、キャッシュから、前記復号された情報の前記受け取り手段に与える前記ステップは、最大長を有する1組の復号された情報を与えるステップを備え、
最大長を有する1組の復号された情報を与える前記ステップには、直ぐに、復号された情報を前記デコーダから前記復号された情報の受け取り手段に与えるステップが続く、
請求項11記載の方法。 - ステップ(c)及び(d)は、暗号解読された情報の長さの変動を補償するためアドレスを変換するステップを含む請求項11記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/607,564 | 2000-06-29 | ||
US09/607,564 US6647462B1 (en) | 2000-06-29 | 2000-06-29 | Apparatus and a method for providing decoded information |
PCT/IB2001/001167 WO2002001367A1 (en) | 2000-06-29 | 2001-06-29 | Apparatus having a cache for storing and providing decoded information and method of doing the same |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004502238A JP2004502238A (ja) | 2004-01-22 |
JP2004502238A5 JP2004502238A5 (ja) | 2006-08-24 |
JP4748918B2 true JP4748918B2 (ja) | 2011-08-17 |
Family
ID=24432824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002506436A Expired - Fee Related JP4748918B2 (ja) | 2000-06-29 | 2001-06-29 | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6647462B1 (ja) |
EP (1) | EP1299807A1 (ja) |
JP (1) | JP4748918B2 (ja) |
KR (1) | KR100871575B1 (ja) |
CN (1) | CN1264097C (ja) |
WO (1) | WO2002001367A1 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7836433B2 (en) * | 2006-01-26 | 2010-11-16 | Microsoft Corporation | Analyzing binary code |
TWI298834B (en) * | 2006-02-14 | 2008-07-11 | Neotec Semiconductor Ltd | Battery management system |
CN101059958B (zh) * | 2007-03-15 | 2010-12-15 | 上海交通大学 | 利用缓存来加快量化数据取得的编码和解码方法 |
US9258015B2 (en) * | 2013-12-23 | 2016-02-09 | Apple Inc. | Decoder with selective iteration scheduling |
CN103810122B (zh) * | 2013-12-24 | 2017-03-22 | 苏州国芯科技有限公司 | 用于嵌入式系统的高速缓存器 |
CN103810116B (zh) * | 2013-12-24 | 2017-06-20 | 苏州国芯科技有限公司 | 用于嵌入式系统的指令存储装置 |
CN103810117B (zh) * | 2013-12-24 | 2017-03-22 | 苏州国芯科技有限公司 | 处理器用指令存储系统 |
CN105938447B (zh) * | 2015-03-06 | 2018-12-14 | 华为技术有限公司 | 数据备份装置及方法 |
US10389388B2 (en) | 2017-12-28 | 2019-08-20 | Apple Inc. | Efficient LDPC decoding with predefined iteration-dependent scheduling scheme |
CN109101276B (zh) * | 2018-08-14 | 2020-05-05 | 阿里巴巴集团控股有限公司 | 在cpu中执行指令的方法 |
GB2577738B (en) * | 2018-10-05 | 2021-02-24 | Advanced Risc Mach Ltd | An apparatus and method for providing decoded instructions |
US12052033B2 (en) | 2022-07-13 | 2024-07-30 | Apple Inc. | Scheduling of iterative decoding depending on soft inputs |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63172343A (ja) * | 1987-01-12 | 1988-07-16 | Hitachi Ltd | 命令先取り方式 |
JPH05241952A (ja) * | 1990-11-27 | 1993-09-21 | Sun Microsyst Inc | 命令データのキャッシュメモリへの転送方法及びデータ処理装置 |
JPH06222984A (ja) * | 1993-01-22 | 1994-08-12 | Mitsubishi Electric Corp | 読み出し専用メモリ |
JPH07105092A (ja) * | 1993-09-30 | 1995-04-21 | Sharp Corp | 記憶装置 |
JPH08286914A (ja) * | 1995-04-07 | 1996-11-01 | Nec Corp | メモリ制御装置 |
JPH0922353A (ja) * | 1995-07-05 | 1997-01-21 | Toshiba Corp | 1チップ・マイクロコンピュータおよびその命令コード格納方法 |
JPH10260896A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | 半導体装置 |
US5870576A (en) * | 1996-12-16 | 1999-02-09 | Hewlett-Packard Company | Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures |
JP2000029701A (ja) * | 1998-05-12 | 2000-01-28 | Internatl Business Mach Corp <Ibm> | 単一クロック・サイクルに非連続命令を取り出すための方法およびシステム。 |
JP2000135821A (ja) * | 1998-07-08 | 2000-05-16 | Hewlett Packard Co <Hp> | プリンタ |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485609A (en) | 1994-05-20 | 1996-01-16 | Brown University Research Foundation | Online background predictors and prefetchers for locality management |
US5901302A (en) * | 1995-01-25 | 1999-05-04 | Advanced Micro Devices, Inc. | Superscalar microprocessor having symmetrical, fixed issue positions each configured to execute a particular subset of instructions |
US5915262A (en) | 1996-07-22 | 1999-06-22 | Advanced Micro Devices, Inc. | Cache system and method using tagged cache lines for matching cache strategy to I/O application |
US6199154B1 (en) * | 1997-11-17 | 2001-03-06 | Advanced Micro Devices, Inc. | Selecting cache to fetch in multi-level cache system based on fetch address source and pre-fetching additional data to the cache for future access |
US6237083B1 (en) * | 1998-02-13 | 2001-05-22 | Advanced Micro Devices, Inc. | Microprocessor including multiple register files mapped to the same logical storage and inhibiting sychronization between the register files responsive to inclusion of an instruction in an instruction sequence |
-
2000
- 2000-06-29 US US09/607,564 patent/US6647462B1/en not_active Expired - Fee Related
-
2001
- 2001-06-29 EP EP01940931A patent/EP1299807A1/en not_active Withdrawn
- 2001-06-29 KR KR1020027017871A patent/KR100871575B1/ko not_active IP Right Cessation
- 2001-06-29 JP JP2002506436A patent/JP4748918B2/ja not_active Expired - Fee Related
- 2001-06-29 CN CNB018100597A patent/CN1264097C/zh not_active Expired - Fee Related
- 2001-06-29 WO PCT/IB2001/001167 patent/WO2002001367A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63172343A (ja) * | 1987-01-12 | 1988-07-16 | Hitachi Ltd | 命令先取り方式 |
JPH05241952A (ja) * | 1990-11-27 | 1993-09-21 | Sun Microsyst Inc | 命令データのキャッシュメモリへの転送方法及びデータ処理装置 |
JPH06222984A (ja) * | 1993-01-22 | 1994-08-12 | Mitsubishi Electric Corp | 読み出し専用メモリ |
JPH07105092A (ja) * | 1993-09-30 | 1995-04-21 | Sharp Corp | 記憶装置 |
JPH08286914A (ja) * | 1995-04-07 | 1996-11-01 | Nec Corp | メモリ制御装置 |
JPH0922353A (ja) * | 1995-07-05 | 1997-01-21 | Toshiba Corp | 1チップ・マイクロコンピュータおよびその命令コード格納方法 |
US5870576A (en) * | 1996-12-16 | 1999-02-09 | Hewlett-Packard Company | Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures |
JPH10260896A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | 半導体装置 |
JP2000029701A (ja) * | 1998-05-12 | 2000-01-28 | Internatl Business Mach Corp <Ibm> | 単一クロック・サイクルに非連続命令を取り出すための方法およびシステム。 |
JP2000135821A (ja) * | 1998-07-08 | 2000-05-16 | Hewlett Packard Co <Hp> | プリンタ |
Also Published As
Publication number | Publication date |
---|---|
WO2002001367A1 (en) | 2002-01-03 |
CN1430746A (zh) | 2003-07-16 |
EP1299807A1 (en) | 2003-04-09 |
JP2004502238A (ja) | 2004-01-22 |
CN1264097C (zh) | 2006-07-12 |
US6647462B1 (en) | 2003-11-11 |
KR100871575B1 (ko) | 2008-12-02 |
KR20030016314A (ko) | 2003-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW493123B (en) | Mfence and lfence micro-architectural implementation method and system | |
US5941980A (en) | Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system | |
JP4170216B2 (ja) | レベル2キャッシュへのeccビットおよびプリデコードビットの記憶を追跡するためのタイプビットの使用 | |
EP0380859B1 (en) | Method of preprocessing multiple instructions | |
JP3285644B2 (ja) | キャッシュメモリを有するデータプロセッサ | |
US6957305B2 (en) | Data streaming mechanism in a microprocessor | |
EP0381323B1 (en) | Method and apparatus for increasing the data storage rate of a computer system | |
JP4748918B2 (ja) | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 | |
JP2009512919A (ja) | 改良されたdmac変換メカニズムのためのシステム及び方法 | |
JP2002519755A (ja) | プリデコード情報を記憶するためのecc/パリティビットの使用 | |
JPH01503011A (ja) | キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット | |
EP3812891A1 (en) | Decoupled access-execute processing | |
JP3837289B2 (ja) | 同じ論理的空間を占有する複数のレジスタファイルを含むマイクロプロセッサ | |
JP2001184211A (ja) | 処理システムにおいてスタックのポップおよびプッシュ動作を行なうための装置および方法 | |
JP3905552B2 (ja) | 複数の命令セットを有するデータ処理装置内における命令エンコード | |
JP3756409B2 (ja) | データハザード検出システム | |
KR950033847A (ko) | 프로세서장치에 있어서의 저장명령의 지연기록을 위한 방법과 장치 | |
JP2007272280A (ja) | データ処理装置 | |
CN101114216A (zh) | 复杂指令系统中tlbr内部例外的处理方法和处理器 | |
US6865665B2 (en) | Processor pipeline cache miss apparatus and method for operation | |
JP2886838B2 (ja) | スーパースカラパイプライン式データ処理装置の可変長命令の並列デコーディング装置及び方法 | |
US6085302A (en) | Microprocessor having address generation units for efficient generation of memory operation addresses | |
US20020087834A1 (en) | System and method for encoding constant operands in a wide issue processor | |
TW552556B (en) | Data processing apparatus for executing multiple instruction sets | |
US6243802B1 (en) | Apparatus and method for encrypted instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20041217 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050303 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060706 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110329 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110517 |
|
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: 20140527 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |