JP2008040982A - マイクロプロセッサおよびその制御方法 - Google Patents

マイクロプロセッサおよびその制御方法 Download PDF

Info

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
Application number
JP2006217374A
Other languages
English (en)
Inventor
Mamoru Oshima
守 大島
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.)
Toshiba Corp
Toshiba Electronic Device Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Microelectronics Corp
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 Toshiba Corp, Toshiba Microelectronics Corp filed Critical Toshiba Corp
Priority to JP2006217374A priority Critical patent/JP2008040982A/ja
Publication of JP2008040982A publication Critical patent/JP2008040982A/ja
Withdrawn legal-status Critical Current

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

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キャッシュミス)場合のキャッシュリフィルにかかわる部分を示した。
本発明の実施例に係わるマイクロプロセッサの制御方法は、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 バスインターフェース回路

Claims (5)

  1. CPUから直接アクセスされる第1のキャッシュメモリと、
    前記第1のキャッシュメモリに前記CPUが必要とするデータが存在しない場合に、当該データが検索される第2のキャッシュメモリと、
    前記第2のキャッシュメモリにおけるデータの有無を示すフラグを有することを特徴とするマイクロプロセッサ。
  2. 前記フラグは、前記CPUが前記第1のキャッシュメモリをアクセスする経路とは異なる経路によってアクセスされることを特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記フラグは、前記CPUに内蔵された状態レジスタの一部であることを特徴とする請求項1に記載のマイクロプロセッサ。
  4. 第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のリフィルステップを有することを特徴とするマイクロプロセッサの制御方法。
  5. 前記第2のリフィルステップにおいて、前記CPUが必要とするデータのうち前記第1のキャッシュメモリのメモリ容量を超える部分を前記第2のキャッシュメモリへ格納することを特徴とする請求項4に記載のマイクロプロセッサの制御方法。
JP2006217374A 2006-08-09 2006-08-09 マイクロプロセッサおよびその制御方法 Withdrawn JP2008040982A (ja)

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)

* Cited by examiner, † Cited by third party
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 キャッシュエントリ転送のためにキャッシュ位置情報を記憶するシステム及び方法

Cited By (3)

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