JP3710341B2 - キャッシュパージ制御機構を有するプロセッサ - Google Patents
キャッシュパージ制御機構を有するプロセッサ Download PDFInfo
- Publication number
- JP3710341B2 JP3710341B2 JP24858799A JP24858799A JP3710341B2 JP 3710341 B2 JP3710341 B2 JP 3710341B2 JP 24858799 A JP24858799 A JP 24858799A JP 24858799 A JP24858799 A JP 24858799A JP 3710341 B2 JP3710341 B2 JP 3710341B2
- Authority
- JP
- Japan
- Prior art keywords
- mode
- processor
- instruction
- cache
- bit indicating
- 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
- 238000010926 purge Methods 0.000 title claims description 39
- 230000006870 function Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 2
- 238000013502 data validation Methods 0.000 description 1
Images
Classifications
-
- 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/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令を有するプロセッサに関するものである。
【0002】
【従来の技術】
従来より、プロセッサにおけるキャッシュフェッチに関する技術が数多く提案されている。このようなキャッシュフェッチを行うプロセッサに関する技術として、複数のモードで処理を行う機構を設ける技術が提案されている。この機構を有するプロセッサでは、モードが切り替わると、同じデータ列であっても、異なる命令にデコードされる。
【0003】
図1は従来のソフトウエアによる複数モード間での切り替え制御を示す。すなわち、モードを切り替える命令が発生する(ステップS11)と、トラップ処理を起こし(ステップS12)、イリーガルな命令でないことを確認して(ステップS13)から、モードを切り替える命令を実行して(ステップS14)、以後切り替わったモードで命令を実行する。
【0004】
【発明が解決しようとする課題】
上記のように、従来の複数のモード間での切り替え操作は、ソフトウエアで制御されており、ハードウェア的に実現する方法はなかった。このため、処理が低速で行われ、モード切り替え時に、切り替え前にプリフェッチしていた命令が誤ったモードで実行されるという問題が生じかねない。
【0005】
本発明は、プリフェッチ機能を有し、複数のモードで処理を行い、各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令を有するプロセッサにおいて、モード切り替え時に、切り替え前にプリフェッチしていた命令を実行することによって生じる誤動作を、ソフトウエア制御よりも高速に阻止することを目的とするものである。
【0006】
【課題を解決するための手段】
本発明は、上記のような問題を解決するためになされたものである。
本発明においては、プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、前記現在のモードを示すビットを含むレジスタにライト動作を行わせるタイミングで、イシュー回路から出力されたデータが前記ダイナミックにモードを切り替える命令であることを直接判定し、判定結果が前記ダイナミックにモードを切り替える命令であったときに、前記現在のモードを示すビットの値が変化したか否かにかかわらず、キャッシュパージ信号を出力する。
【0007】
これにより、モード切り替え信号がレジスタにライトされた場合は、キャッシュメモリに対してキャッシュパージ信号が出力される。したがって、プリフェッチされたキャッシュデータのバリッドがオフとなって、異なるモードでプリフェッチされたデータが、異なるモードでデコードされることがなくなり、モード切り替え後の動作を正常に行わせることができる。
【0008】
本発明においては、デコードサイクルにおいてデコードされた結果を参照する代わりに、イシューサイクルにおいてイシューした結果を参照することによっても同様の効果を得ることができる。
さらに、本発明においては、レジスタにライト動作をしたとき、レジスタのモードを示すビットの値が変化したか否かを判定し、ビット値の変化が検出されたときに、キャッシュパージ信号を出力するようにすることによっても同様の効果を得ることができる。
【0009】
【発明の実施の形態】
本発明の実施形態について図を用いて説明する。
図2は、本発明のキャッシュパージ制御機構を有するプロセッサの全体構成を示す。
図において、プロセッサ1は、キャッシュメモリ2及びキャッシュ制御部3を有する。プロセッサ1は、処理に必要なデータ5をメインメモリ4からリードすると、それをキャッシュメモリ2に格納しておく。メインメモリ4に格納されたデータは、モードを示すビットを含む。
【0010】
プロセッサ1は、進行中の処理と並行して、必要と思われるデータ5を予めキャッシュメモリ2からプリフェッチする。したがって、モード切り替えが実行されたときは、プリフェッチされたデータが異なるモードでデコードされることを防止するため、データのバリッドをオフにしなければならない。本実施形態においては、進行中の処理がモードの切り替えの命令である場合、又は、データ中のモードを示すビットが切り替わった場合に、プリフェッチされたデータ5のバリッドをオフにする。
【0011】
(実施形態1)
図3は、キャッシュパージ制御回路の第1の実施形態を示す。
現在の処理のデータを書き込むレジスタ11が用意される。このレジスタ11に書き込まれるデータは、現在のモードの状態を示すビット12を含む。レジスタ11のデータを書き換えるときには、ライト信号がレジスタ11に入力される。
【0012】
このライト信号は、パージ判定回路13にも入力され、パージ判定回路13は、ライト信号入力時にパージ判定を行う。その詳細については後述する。
レジスタ11の書換えが行われると、キャッシュメモリ2に格納されたデータから、現在の処理のキャッシュデータ14(レジスタ11に書き込まれたデータと同一)がイシュー回路15により読み出される。イシュー回路15は、キャッシュデータ14のバリッド16をチェックし、バリッドがオンであれば、データ14を、パージ判定回路13とデコード回路17に渡す。
【0013】
図4は、パージ判定回路13の具体例を示す。
パージ判定回路13は、イシュー回路15からの出力とライト信号が入力される。図示の例は、イシュー回路15からの出力が4ビット(bit[0],bit[1],bit[2],bit[3] )であり、全ての4ビットの値が「1」のとき、モード切り替え命令に相当するデータであるとしている。このとき、ライト信号のタイミングで、4ビットの情報がフリップフロップ(以下、「FF」と略称する。)18に保持される。そして、AND回路20により4つのFF18の値のANDをとり、FF19に記憶させる。このFF19の値がパージ信号として使用される。
【0014】
図3に戻ると、FF19の値が「1」のとき、パージ判定回路13からパージ信号がキャッシュメモリ2に出力され、キャッシュデータのバリッド16をオフにする。
これにより、モード切り替えを意味する命令が解読されたときは、モードの切り替えが行われると同時に、キャッシュメモリ2にプリフェッチされていたデータがパージされ、以後のモード切り替え後の処理において、誤ったデコードがされることがない。また、モード切り替え命令がなければ、キャッシュメモリ2のパージは行われず、通常の処理が継続される。
【0015】
したがって、本例では、以後のモード切り替え後の処理において、誤ったデコードがされることがない。また、図4に示すように、パージ判定回路13がハードウェアにより構成されるため、その判定処理が高速で行われ、確実に誤動作を防止することができる。
(実施形態2)
図5は、キャッシュパージ制御回路の第2の実施形態を示す。
【0016】
上記の実施形態1では、デコードサイクルにおけるデコード結果を参照してキャッシュパージを行っている。これに対して、イシューサイクルにおいてイシューした結果を参照してキャッシュパージを行うこともできる。
図5では、パージ判定回路13は、キャッシュメモリ2とイシュー回路15の間に設けられる。パージ判定回路13としては、既に説明した図4に示す回路が使用される。その他の点については、図3及び図4を用いて説明したとおりであるので、重複する説明は省略する。
【0017】
(実施形態3)
以上説明した実施形態1及び2は、レジスタ11に対してライト動作を行ったとき、モードの状態を示すビットの値が変化したかどうかに関わらず、モード切り替え信号を参照してキャッシュデータのバリッドの値を設定する。これに対し、モードの状態を示すビットの値が変化したか否かを判定することもできる。以下にこの例を説明する。
【0018】
図6は、キャッシュパージ制御回路の第3の実施形態を示す。
本例では、パージ判定回路23には、ライト信号が入力され、レジスタ11のモードを示すビット12の値が入力される。その他の点は上記の実施形態1の図3と同様であるので、重複する説明は省略する。
図7は、図6の回路におけるパージ判定回路23の具体例を示す。ここでは仮にモードが2つのバリッドについて述べる。
【0019】
パージ判定回路は、レジスタ11からのモード信号とライト信号が入力される。現在のモードを示すビットの信号をモード信号とし、ライト信号によってあるタイミングでFF28に値を保持させる。さらに、排他的論理和回路26により、FF28に保持されたモード信号と保持される前のモード信号の排他的論理和をとり、AND回路27により、ライト信号のタイミングでFF29に値を保持させ、これをパージ信号とする。このパージ信号の値が「1」のとき、キャッシュデータのバリッドをオフにし、パージする。
【0020】
【発明の効果】
本発明によれば、プリフェッチ機能を有し、複数のモードで処理を行い、現在のモードを示すレジスタを保持し、モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令があるプロセッサにおいて、上記のような制御機構を持ち合わせることによって、ソフトウエアで制御されているときよりも、高速に誤ってプリフェッチされていた命令をパージし、複数モードの切り替えを行うことができる。
【図面の簡単な説明】
【図1】従来のキャッシュフェッチ制御方法を示すフローチャート。
【図2】本発明のキャッシュパージ制御機構が適用されるプロセッサの全体構成を示す図。
【図3】本発明の第1の実施形態を示す回路図。
【図4】図3のパージ判定回路を示す図。
【図5】本発明の第2の実施形態を示す回路図。
【図6】本発明の第3の実施形態を示す回路図。
【図7】図6のパージ判定回路を示す図。
【符号の説明】
1…プロセッサ
2…キャッシュメモリ
3…キャッシュ制御部
4…メインメモリ
5…データ
11…レジスタ
12…モードを示すビット
13…パージ判定回路
14…キャッシュデータ
15…イシュー回路
16…バリッド
17…デコーダ
18,19…FF
20…アンド回路
23…パージ判定回路
26…排他的論理和回路
27…AND回路
28,29…FF
Claims (3)
- プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
前記現在のモードを示すビットを含むレジスタにライト動作を行わせるタイミングで、イシュー回路から出力されたデータが前記ダイナミックにモードを切り替える命令であることを直接判定し、判定結果が前記ダイナミックにモードを切り替える命令であったときに、前記現在のモードを示すビットの値が変化したか否かにかかわらず、キャッシュパージ信号を出力することにより、プリフェッチされていたデータをキャッシュパージする機構を具備することを特徴とするプロセッサ。 - プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
前記現在のモードを示すビットを含むレジスタにライト動作を行わせるタイミングで、キャッシュメモリから出力されたデータが前記ダイナミックにモードを切り替える命令であることを直接判定し、判定結果が前記ダイナミックにモードを切り替える命令であったときに、前記現在のモードを示すビットの値が変化したか否かにかかわらず、キャッシュパージ信号を出力することにより、プリフェッチされていたデータをキャッシュパージする機構を具備することを特徴とするプロセッサ。 - プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
前記現在のモードを示すビットを含むレジスタにライト動作したとき、前記現在のモードを示すビットの値が変化したか否かを判定し、ビット値の変化が検出されたときに、キャッシュパージ信号を出力することにより、プリフェッチされた命令をキャッシュパージする機構を具備することを特徴とするプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24858799A JP3710341B2 (ja) | 1999-09-02 | 1999-09-02 | キャッシュパージ制御機構を有するプロセッサ |
US09/537,356 US6697917B1 (en) | 1999-09-02 | 2000-03-29 | Processor having cache purge controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24858799A JP3710341B2 (ja) | 1999-09-02 | 1999-09-02 | キャッシュパージ制御機構を有するプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001075801A JP2001075801A (ja) | 2001-03-23 |
JP3710341B2 true JP3710341B2 (ja) | 2005-10-26 |
Family
ID=17180349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24858799A Expired - Fee Related JP3710341B2 (ja) | 1999-09-02 | 1999-09-02 | キャッシュパージ制御機構を有するプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6697917B1 (ja) |
JP (1) | JP3710341B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7386679B2 (en) * | 2004-04-15 | 2008-06-10 | International Business Machines Corporation | System, method and storage medium for memory management |
US20080109607A1 (en) * | 2006-11-02 | 2008-05-08 | International Business Machines Corporation | Method, system and article for managing memory |
US11983411B2 (en) * | 2022-04-25 | 2024-05-14 | Infineon Technologies LLC | Methods, devices and systems for including alternate memory access operations over memory interface |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240508B1 (en) * | 1992-07-06 | 2001-05-29 | Compaq Computer Corporation | Decode and execution synchronized pipeline processing using decode generated memory read queue with stop entry to allow execution generated memory read |
EP0600626A1 (en) * | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
US5530804A (en) * | 1994-05-16 | 1996-06-25 | Motorola, Inc. | Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes |
US5996071A (en) * | 1995-12-15 | 1999-11-30 | Via-Cyrix, Inc. | Detecting self-modifying code in a pipelined processor with branch processing by comparing latched store address to subsequent target address |
-
1999
- 1999-09-02 JP JP24858799A patent/JP3710341B2/ja not_active Expired - Fee Related
-
2000
- 2000-03-29 US US09/537,356 patent/US6697917B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6697917B1 (en) | 2004-02-24 |
JP2001075801A (ja) | 2001-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6807383B2 (ja) | 転送プレフィックス命令 | |
EP1324190B1 (en) | Data processing system having a read-modify-write unit | |
JP3594506B2 (ja) | マイクロプロセッサの分岐命令予測方法 | |
JP4243271B2 (ja) | データ処理装置およびデータ処理方法 | |
JP3710341B2 (ja) | キャッシュパージ制御機構を有するプロセッサ | |
US6125443A (en) | Interrupt processing system and method for information processing system of pipeline control type | |
JP3652956B2 (ja) | エミュレーション装置 | |
EP1962184A1 (en) | Processor and method of performing speculative load operations of the processor | |
US20040019773A1 (en) | Illegal instruction processing method and processor | |
JPH0954694A (ja) | パイプラインプロセッサおよびその処理方法 | |
JP3915019B2 (ja) | Vliwプロセッサ、プログラム生成装置、および記録媒体 | |
US12008372B2 (en) | Techniques for reducing CPU privilege boundary crossings | |
JP3616588B2 (ja) | マイクロプログラムチェックシステム | |
JP3739556B2 (ja) | 情報処理装置 | |
JP3467167B2 (ja) | プログラミング言語処理系における割込処理方法、装置およびその記録媒体 | |
JP3475861B2 (ja) | データ処理装置 | |
JPH06119238A (ja) | 主記憶制御方法および装置 | |
JPH08286914A (ja) | メモリ制御装置 | |
JP2002116957A (ja) | 実空間指定制御に対するサポートを備える変換索引緩衝機構を実装する方法 | |
JP2856703B2 (ja) | プロセッサ | |
JP3457428B2 (ja) | データ処理装置 | |
JPS59129995A (ja) | 記憶装置 | |
JPH07281892A (ja) | 情報処理装置 | |
JPH01297734A (ja) | 命令語フェッチ方式 | |
JPH04137138A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050215 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050610 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050809 |
|
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: 20090819 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090819 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100819 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |