JP3710341B2 - キャッシュパージ制御機構を有するプロセッサ - Google Patents

キャッシュパージ制御機構を有するプロセッサ Download PDF

Info

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
Application number
JP24858799A
Other languages
English (en)
Other versions
JP2001075801A (ja
Inventor
淳也 松島
巧 竹野
研一 鍋谷
大輔 伴
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP24858799A priority Critical patent/JP3710341B2/ja
Priority to US09/537,356 priority patent/US6697917B1/en
Publication of JP2001075801A publication Critical patent/JP2001075801A/ja
Application granted granted Critical
Publication of JP3710341B2 publication Critical patent/JP3710341B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/0891Addressing 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

【0001】
【発明の属する技術分野】
本発明は、プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令を有するプロセッサに関するものである。
【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)

  1. プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
    前記現在のモードを示すビットを含むレジスタにライト動作を行わせるタイミングで、イシュー回路から出力されたデータが前記ダイナミックにモードを切り替える命令であることを直接判定し、判定結果が前記ダイナミックにモードを切り替える命令であったときに、前記現在のモードを示すビットの値が変化したか否かにかかわらず、キャッシュパージ信号を出力することにより、プリフェッチされていたデータをキャッシュパージする機構を具備することを特徴とするプロセッサ。
  2. プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
    前記現在のモードを示すビットを含むレジスタにライト動作を行わせるタイミングで、キャッシュメモリから出力されたデータが前記ダイナミックにモードを切り替える命令であることを直接判定し、判定結果が前記ダイナミックにモードを切り替える命令であったときに、前記現在のモードを示すビットの値が変化したか否かにかかわらず、キャッシュパージ信号を出力することにより、プリフェッチされていたデータをキャッシュパージする機構を具備することを特徴とするプロセッサ。
  3. プリフェッチ機能を有し、複数のモードで処理を行い、前記各モードによってデコードする情報が変わり、ダイナミックにモードを切り替える命令によって現在のモードを示すビットを含むレジスタにライト動作を行うプロセッサにおいて、
    前記現在のモードを示すビットを含むレジスタにライト動作したとき、前記現在のモードを示すビットの値が変化したか否かを判定し、ビット値の変化が検出されたときに、キャッシュパージ信号を出力することにより、プリフェッチされた命令をキャッシュパージする機構を具備することを特徴とするプロセッサ。
JP24858799A 1999-09-02 1999-09-02 キャッシュパージ制御機構を有するプロセッサ Expired - Fee Related JP3710341B2 (ja)

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)

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

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

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