JP2008040982A - マイクロプロセッサおよびその制御方法 - Google Patents
マイクロプロセッサおよびその制御方法 Download PDFInfo
- Publication number
- JP2008040982A JP2008040982A JP2006217374A JP2006217374A JP2008040982A JP 2008040982 A JP2008040982 A JP 2008040982A JP 2006217374 A JP2006217374 A JP 2006217374A JP 2006217374 A JP2006217374 A JP 2006217374A JP 2008040982 A JP2008040982 A JP 2008040982A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- cpu
- cache memory
- microprocessor
- 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.)
- Withdrawn
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】 初期状態/L2キャッシュフラッシュ直後で不要なL2キャッシュへのアクセスを減らし、CPUの処理能力を向上させる。
【解決手段】 本発明のマイクロプロセッサおよびその制御方法は、CPU11から直接アクセスされるL1キャッシュ12と、L1キャッシュ12にCPU11が必要とするデータが存在しない場合に、当該データが検索されるL2キャッシュ13と、L2キャッシュ13における初期データの有無を示すフラグ14を有する。
【選択図】 図1
【解決手段】 本発明のマイクロプロセッサおよびその制御方法は、CPU11から直接アクセスされるL1キャッシュ12と、L1キャッシュ12にCPU11が必要とするデータが存在しない場合に、当該データが検索されるL2キャッシュ13と、L2キャッシュ13における初期データの有無を示すフラグ14を有する。
【選択図】 図1
Description
本発明は、2次キャッシュメモリを備えたマイクロプロセッサおよびその制御方法に関する。
近年、コンピュータシステムの性能を向上させるために、主記憶に対して階層メモリシステム(いわゆるキャッシュシステム。例えば、「特許文献1」を参照。)を採用するのが主流になっている。特に、最近では、マイクロプロセッサの性能を向上させるために、高速SRAMセルなどを使用した2次キャッシュメモリ(以下、「L2キャッシュ」という。)がオンチップで搭載されるようになっている。L2キャッシュを搭載した従来のマイクロプロセッサでは、外部メモリ(主記憶)アクセスのための比較的長いメモリサイクルによるCPUの待ち時間が解消され、本来のCPU性能を引出すことができ、マイクロプロセッサの性能を大幅に向上させることができる。
しかしながら、従来のマイクロプロセッサでは、電源投入時などのリセット直後の初期状態およびタスク切り替え等のキャッシュフラッシュ後で、L2キャッシュに命令/データがまだセットされていないにもかかわらず、不要なL2キャッシュのヒット/ミス判定を行なっていた。このため、初期状態/フラッシュ後においては、L2キャッシュを実装したことによりかえって性能が低下するという問題があった。すなわち、リセット直後/フラッシュ直後にデータのないL2キャッシュでのヒット/ミス判定を繰り返すため、性能向上のために大容量のL2キャッシュを搭載するとその分だけリセット直後/フラッシュ後の性能が低下するという問題があった。
特開平11−85617号公報
本発明は、初期状態/フラッシュ直後等で不要なL2キャッシュへのアクセスを減らし、CPUの処理能力を向上させることができるマイクロプロセッサおよびその制御方法を提供する。
本発明の一態様によれば、CPUから直接アクセスされる第1のキャッシュメモリと、前記第1のキャッシュメモリに前記CPUが必要とするデータが存在しない場合に、当該データが検索される第2のキャッシュメモリと、前記第2のキャッシュメモリにおけるデータの有無を示すフラグを有することを特徴とするマイクロプロセッサが提供される。
本発明の別の一態様によれば、第1および第2のキャッシュメモリを備えたマイクロプロセッサの制御方法であって、前記第2のキャッシュメモリにおけるデータの有無を示すフラグを判定する第1の判定ステップと、前記第1の判定ステップで前記フラグが前記第2のキャッシュメモリに前記データが存在することを示している場合に、CPUが必要とするデータを前記第2のキャッシュメモリで検索し、当該データの有無を判定する第2の判定ステップと、前記第2の判定ステップで前記CPUが必要とするデータが前記第2のキャッシュメモリに存在している場合に、当該データを前記第2のキャッシュメモリから前記第1のキャッシュメモリへ転送し、前記CPUが当該データに直接アクセスできるように前記第1のキャッシュメモリを更新する第1のリフィルステップと、前記第1の判定ステップで前記フラグが前記第2のキャッシュメモリに前記データが存在しないことを示している場合、または、前記第2の判定ステップで前記CPUが必要とするデータが前記第2のキャッシュメモリに存在していない場合に、当該データを外部メモリから前記第1のキャッシュメモリへ転送し、前記CPUが当該データに直接アクセスできるように前記第1のキャッシュメモリを更新する第2のリフィルステップを有することを特徴とするマイクロプロセッサの制御方法が提供される。
本発明によれば、初期状態/L2キャッシュフラッシュ直後等で不要なL2キャッシュへのアクセスを減らすことができるので、CPUの処理能力を向上させることができる。
以下、図面を参照しながら、本発明の実施例を説明する。
図1は、本発明の実施例に係わるマイクロプロセッサを示す回路ブロック図である。ここでは、主に、L2キャッシュ13のリフィルおよびライトバックにかかわる部分を示した。
本発明の実施例に係わるマイクロプロセッサは、CPU11(Central Processing Unit)、CPU11から直接アクセスされるL1キャッシュ12、L1キャッシュ12との間で必要な命令/データのリフィル(L2キャッシュ13からL1キャッシュ12への命令/データの転送。)およびライトバック(L1キャッシュ12からL2キャッシュ13への更新された命令/データの転送。)が行われるL2キャッシュ13、L2キャッシュ13のデータの有無を示すL2キャッシュ初期状態フラグ14、および外部メモリ15との間で命令/データを入出力するためのバスインターフェース回路16を備えている。
CPU11の第1の入出力にはL1キャッシュ12の第1の入出力が接続され、第2の入出力にはL2キャッシュ初期状態フラグ14の入出力が接続されている。
L1キャッシュ12の第2の入出力にはバスインターフェース回路16の第1の入出力が接続され、L1キャッシュ12の出力はL2キャッシュ13の入力に接続され、L1キャッシュ12の入力にはL2キャッシュ13の出力が接続されている。
L2キャッシュ13の入出力にはバスインターフェース回路16の第2の入出力が接続され、バスインターフェース回路16の第3の入出力には外部メモリ15の入出力が接続されている。
L1キャッシュ12は、CPU11が実行処理する命令/データを格納する高速キャッシュメモリであり、CPU11から直接アクセスされる。
L2キャッシュ13は、L1キャッシュ12より低速ではあるが、L1キャッシュ12より大容量のキャッシュメモリであり、L1キャッシュ12にCPU11が必要とする命令/データが存在しない(L1キャッシュミス)場合に検索される。
L2キャッシュ13に必要な命令/データが存在すれば、L2キャッシュ13からL1キャッシュ12へ命令/データが転送(L2キャッシュ13からのリフィル)される。L2キャッシュ13にもCPU11が必要とする命令/データが存在しない(L2キャッシュミス)場合は、バスインターフェース回路16を介して外部メモリ15から命令/データが転送(外部メモリ15からのリフィル)される。
外部メモリ15からのリフィルでは、まずL1キャッシュ12へ命令/データが転送され、さらに、L1キャッシュ12に入りきらない部分がL2キャッシュ13へ転送される。
また、CPU11の実行処理によってL1キャッシュ12の内容が更新された場合には、対応するL2キャッシュ13の内容も置き換え時に更新(L2キャッシュ13へのライトバック)される。
L2キャッシュ初期状態フラグ14は、L1キャッシュ12へのアクセスとは異なる経路でCPU11からアクセスされるレジスタであり、L2キャッシュ13が初期状態/フラッシュ直後でまだ命令/データが格納されていないことを示す。
すなわち、電源投入直後やリセット直後/L2キャッシュフラッシュ直後に“ON”され、L1キャッシュ12からL2キャッシュ13に命令/データが転送されると“OFF”される。
次に、上述した構成を持つマイクロプロセッサの制御方法について説明する。
図2は、本発明の実施例に係わるマイクロプロセッサの制御方法を示すフロー図である。ここでは、主にL1キャッシュ12に必要な命令/データが存在しない(L1キャッシュミス)場合のキャッシュリフィルにかかわる部分を示した。
図2は、本発明の実施例に係わるマイクロプロセッサの制御方法を示すフロー図である。ここでは、主にL1キャッシュ12に必要な命令/データが存在しない(L1キャッシュミス)場合のキャッシュリフィルにかかわる部分を示した。
本発明の実施例に係わるマイクロプロセッサの制御方法は、L2キャッシュ初期状態フラグ14を判定するステップ(ST21)、L2キャッシュ13を検索しヒット/ミスを判定するステップ(ST22)、L2キャッシュ13からL1キャッシュ12に命令/データをリフィルするステップ(ST23)、外部メモリ15からL1キャッシュ12に命令/データをリフィルするステップ(ST24)、およびCPU11がL1キャッシュ12をアクセスして処理を実行するステップ(ST25)を備えている。
L1キャッシュミスが発生すると、まず、ST21で、CPU11がL2キャッシュ初期状態フラグ14をアクセスし、これが“ON”であれば、L2キャッシュ13は初期状態であり、命令/データはまだ転送されていないので、動作はST24へ移行する。
L2キャッシュ初期状態フラグ14が“OFF”であれば、L2キャッシュ13にはすでに命令/データが格納されているので、動作はST22へ移行する。
ST22では、CPU11がL2キャッシュ13を検索し、必要な命令/データが存在する(L2キャッシュヒット)場合(“OK”)には、L2キャッシュ13からリフィルするために動作はST23へ移行する。
L2キャッシュ13に必要な命令/データが存在しない(L2キャッシュミス)場合(“NG”)には、外部メモリ15から命令/データを転送するために動作はST24へ移行する。
ST23では、必要な命令/データがL2キャッシュ13からL1キャッシュ12へ転送される。リフィルが終了すると動作はST25へ移行する。
ST24では、L1キャッシュ12およびL2キャッシュ13にCPU11が必要とする命令/データが存在しないので、バスインターフェース回路16を介して外部メモリ15からL1キャッシュ12へ命令/データが転送される。
この時、まず、L1キャッシュ12へ命令/データが転送され、L1キャッシュ12にすでにValidデータが存在する場合はL1キャッシュ12からL2キャッシュ13へ転送される。リフィルが終了すると動作はST25へ移行する。
ST25では、CPU11が、ST23またはST24でリフィルされたL1キャッシュ12をアクセスし、実行処理を行う。
このように、L2キャッシュ初期状態フラグ14が“ON”の場合には、L2キャッシュ13を検索してのキャッシュヒット/ミスの判定を行なうことなく、外部メモリ15からのリフィルを実行する。
上記実施例によれば、L2キャッシュ初期状態フラグ14によって初期状態/L2キャッシュフラッシュ直後等で不要なL2キャッシュ13へのアクセスを減らすことができるので、CPU11の処理能力を向上させることができる。
上述の実施例では、キャッシュシステムは、2階層構成であるとしたが、本発明はこれに限られるものではなく、3階層以上のキャッシュメモリを備えたマイクロプロセッサにも原理的には適用可能である。
また、上述の実施例では、L2キャッシュ初期状態フラグ14はCPU11から直接アクセスされるフラグレジスタであるとしたが、本発明はこれに限られるものではなく、例えば、CPU11内部の状態レジスタの一部を割り当てるように構成することもできる。
11 CPU
12 L1キャッシュ
13 L2キャッシュ
14 L2キャッシュ初期状態フラグ
15 外部メモリ
16 バスインターフェース回路
12 L1キャッシュ
13 L2キャッシュ
14 L2キャッシュ初期状態フラグ
15 外部メモリ
16 バスインターフェース回路
Claims (5)
- CPUから直接アクセスされる第1のキャッシュメモリと、
前記第1のキャッシュメモリに前記CPUが必要とするデータが存在しない場合に、当該データが検索される第2のキャッシュメモリと、
前記第2のキャッシュメモリにおけるデータの有無を示すフラグを有することを特徴とするマイクロプロセッサ。 - 前記フラグは、前記CPUが前記第1のキャッシュメモリをアクセスする経路とは異なる経路によってアクセスされることを特徴とする請求項1に記載のマイクロプロセッサ。
- 前記フラグは、前記CPUに内蔵された状態レジスタの一部であることを特徴とする請求項1に記載のマイクロプロセッサ。
- 第1および第2のキャッシュメモリを備えたマイクロプロセッサの制御方法であって、
前記第2のキャッシュメモリにおけるデータの有無を示すフラグを判定する第1の判定ステップと、
前記第1の判定ステップで前記フラグが前記第2のキャッシュメモリに前記データが存在することを示している場合に、CPUが必要とするデータを前記第2のキャッシュメモリで検索し、当該データの有無を判定する第2の判定ステップと、
前記第2の判定ステップで前記CPUが必要とするデータが前記第2のキャッシュメモリに存在している場合に、当該データを前記第2のキャッシュメモリから前記第1のキャッシュメモリへ転送し、前記CPUが当該データに直接アクセスできるように前記第1のキャッシュメモリを更新する第1のリフィルステップと、
前記第1の判定ステップで前記フラグが前記第2のキャッシュメモリに前記データが存在しないことを示している場合、または、前記第2の判定ステップで前記CPUが必要とするデータが前記第2のキャッシュメモリに存在していない場合に、当該データを外部メモリから前記第1のキャッシュメモリへ転送し、前記CPUが当該データに直接アクセスできるように前記第1のキャッシュメモリを更新する第2のリフィルステップを有することを特徴とするマイクロプロセッサの制御方法。 - 前記第2のリフィルステップにおいて、前記CPUが必要とするデータのうち前記第1のキャッシュメモリのメモリ容量を超える部分を前記第2のキャッシュメモリへ格納することを特徴とする請求項4に記載のマイクロプロセッサの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006217374A JP2008040982A (ja) | 2006-08-09 | 2006-08-09 | マイクロプロセッサおよびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006217374A JP2008040982A (ja) | 2006-08-09 | 2006-08-09 | マイクロプロセッサおよびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008040982A true JP2008040982A (ja) | 2008-02-21 |
Family
ID=39175879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006217374A Withdrawn JP2008040982A (ja) | 2006-08-09 | 2006-08-09 | マイクロプロセッサおよびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008040982A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8388779B2 (en) | 2008-09-15 | 2013-03-05 | Industrial Technology Research Institute | Substrate structures applied in flexible electrical devices and fabrication method thereof |
JP2019521447A (ja) * | 2016-07-14 | 2019-07-25 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 |
-
2006
- 2006-08-09 JP JP2006217374A patent/JP2008040982A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8388779B2 (en) | 2008-09-15 | 2013-03-05 | Industrial Technology Research Institute | Substrate structures applied in flexible electrical devices and fabrication method thereof |
JP2019521447A (ja) * | 2016-07-14 | 2019-07-25 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 |
JP7160792B2 (ja) | 2016-07-14 | 2022-10-25 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007193805A (ja) | デュアル・システム・ディレクトリ構造体を有するマルチプロセッサ・システムおよび方法 | |
CN110959154B (zh) | 用于线程本地存储数据访问的私有高速缓存 | |
JP2008009647A (ja) | 情報処理装置 | |
TW201234263A (en) | CPU in memory cache architecture | |
KR19980079433A (ko) | 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템 | |
JP2005276199A (ja) | Dmaコントローラにキャッシュ管理コマンドを提供する方法 | |
KR20210011060A (ko) | 분기 명령어의 유형에 기초한 사전 분기 예측의 선택적 수행 | |
JP2008107983A (ja) | キャッシュメモリ | |
WO2015199961A1 (en) | Disunited shared-information and private-information caches | |
JP2007156821A (ja) | キャッシュシステム及び共用2次キャッシュ | |
JP5319049B2 (ja) | キャッシュシステム | |
KR20130024212A (ko) | 메모리 시스템 및 그 관리 방법 | |
JP5482197B2 (ja) | 演算処理装置、情報処理装置及びキャッシュメモリ制御方法 | |
JP2004199677A (ja) | キャッシュを動作させるためのシステム及び方法 | |
JP2005536798A (ja) | メモリバスのプロトコル特性に適合するプロセッサのプリフェッチ | |
US20080263279A1 (en) | Design structure for extending local caches in a multiprocessor system | |
CN101833517B (zh) | 快取存储器系统及其存取方法 | |
JP2011257800A (ja) | キャッシュメモリ装置、プログラム変換装置、キャッシュメモリ制御方法及びプログラム変換方法 | |
US8266379B2 (en) | Multithreaded processor with multiple caches | |
JP3973129B2 (ja) | キャッシュメモリ装置及びそれを用いた中央演算処理装置 | |
JP2008040982A (ja) | マイクロプロセッサおよびその制御方法 | |
US10831667B2 (en) | Asymmetric memory tag access and design | |
JP2008140078A (ja) | バスブリッジ装置、情報処理装置、およびデータ転送制御方法 | |
US20120131279A1 (en) | Memory elements for performing an allocation operation and related methods | |
US20200050548A1 (en) | Establishing dependency in a resource retry queue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091110 |