JP4635063B2 - キャッシュメモリ制御回路及びプロセッサ - Google Patents
キャッシュメモリ制御回路及びプロセッサ Download PDFInfo
- Publication number
- JP4635063B2 JP4635063B2 JP2008061487A JP2008061487A JP4635063B2 JP 4635063 B2 JP4635063 B2 JP 4635063B2 JP 2008061487 A JP2008061487 A JP 2008061487A JP 2008061487 A JP2008061487 A JP 2008061487A JP 4635063 B2 JP4635063 B2 JP 4635063B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- cpu
- way
- ways
- cache
- 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
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/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
(第1の実施の形態)
(構成)
まず図1に基づき、本実施の形態に係わるキャッシュメモリを含むプロセッサの構成を説明する。図1は、本実施の形態に係わるプロセッサの構成を示す構成図である。
また、キャッシュメモリ16の動作周波数は、CPUコア15の動作周波数F以上の動作周波数で動作する。ここでは、キャッシュメモリ16の動作周波数は、400MHzであるとする。
キャッシュメモリ16は、データを記憶する小容量記憶部31を有する。さらに、キャッシュメモリ16は、アドレスデコーダ32と、比較部33と、ワードセレクタ部34と、ウェイセレクタ部35と、キャッシュアクセスコントローラ16aとを含むキャッシュメモリ制御回路を有している。キャッシュアクセスコントローラ16aは、制御部41と、選択部42と、分割数指定部43とを含む。小容量記憶部31は、N個(Nは2以上の整数)のウェイ、ここでは4つのウェイ、からなるメモリであり、キャッシュメモリ16は、4ウェイセットアソシアティブ方式のキャッシュメモリである。比較部33とワードセレクタ部34は、それぞれ、各ウェイにおいて選択されたラインLs(ここでは4つのライン)に対応して、複数の比較器(ここでは4つの比較器)と複数のワードセレクタ(ここでは4つのワードセレクタ)を有している。
各ラインは、16個のワードデータを含むデータ部と、フレームアドレスデータを含むタグ部を有する。16個のワードデータのうちどのワードデータを読み出すかは、入力された実アドレスRA中の、4ビットのワードアドレスWAによって指定される。
制御部41は、一致信号が入力されると、選択部42に制御信号CSを出力し、ウェイイネーブル信号WEの出力を停止させる。従って、制御信号CSは、キャッシュヒットを検出すると、選択部42によるウェイの選択を途中で停止させる停止指示信号である。
図4は、分割数テーブルDTの例を示す図である。図4に示すように、分割数テーブルDTは、各動作周波数、ここでは400MHz、200MHz及び100MHzのそれぞれについて、1以上の分割数が設定され記憶されたテーブルである。さらに、分割数テーブルDTにおいて、分割数データは、動作周波数毎に優先度データと共に、設定されている。
次に、上述したプロセッサ1のキャッシュメモリ16の動作を説明する。
図5は、プロセッサ1の動作を説明するためのタイミングチャートである。キャッシュメモリ16は、上述したように400MHzで動作する。以下、CPUコア15の動作周波数Fが、100MHzで設定された場合で説明する。
ユーザがCPUコア15の動作周波数Fを100MHzに設定すると、その設定された動作周波数データFは、周波数設定レジスタ17にストアされ、CPUコア15を介して分割数指定部43に出力される。分割数指定部43は、分割テーブルDTを参照して、最高優先度に対応する分割数データを選択部42に出力する。選択部42は、入力された分割数で1CPUサイクルを分割するように、各ウェイに対して、ウェイイネーブル信号WEを出力する。
具体的には、図4の場合、CPUコア15の動作周波数Fが100MHzで、優先度2に対応する分割数2をユーザが指定した場合、あるいは、CPUコア15の動作周波数Fを200MHzに設定し、優先度1の分割数2が指定された場合、キャッシュメモリ16は、中間モードで動作する。
通常アクセスモードNMでは、図7に示すように、4つのウェイが同時に有効にされるので、従来に比べて消費電力の低減はない。
通常アクセスモードNMは、分割テーブルDTにおいて、分割数が1の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度3に対応する分割数1が指定されている場合と、CPUコア15が200MHzで動作し、優先度2に対応する分割数1が指定されている場合と、CPUコア15が400MHzで動作し、優先度1に対応する分割数1が指定されている場合である。
本実施の形態では、ウェイは4つあるので、順次アクセスモードSMは、分割テーブルDTにおいて、分割数が4の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度1に対応する分割数4が指定されている場合である。
本実施の形態では、ウェイは4つあるので、中間モードIMは、分割テーブルDTにおいて、分割数が2の場合である。上述した例であれば、CPUコア15が100MHzで動作し、優先度2に対応する分割数2が指定されている場合と、CPUコア15が200MHzで動作し、優先度1に対応する分割数2が指定されている場合である。
次に、本発明の第2の実施の形態を説明する。
(構成)
第1の実施の形態では、キャッシュメモリ16は、設定あるいは指定された分割数で、1CPUサイクルを分割して、その分割された期間内で一つあるいは複数のタグ比較を行っていた。しかし、指定された分割数で分割してタグ比較を行った場合に、キャッシュメモリの方が高い周波数で動作するため、キャッシュメモリにおいてタイミング違反が発生する虞がある。
EXOR回路63は、FF61aとFF61bから入力された値の排他的論理和演算を施し、その演算結果をFF61cに出力する。
インバータ回路62cは、FF61cからの入力を反転し、出力信号VOAとして、選択部42Aに出力する。
クリティカルパスにおいて、入力された信号が、クロック信号CLKの1サイクル(すなわち1クロック分の時間)以上遅延すると、タイミング違反が発生してしまうので、タイミング違反が発生する前に、タイミング違反検出回路51は、タイミング違反の発生しそうな状態を検出するように構成されている。
また、選択部42Aは、チップイネーブル信号CEと分割数データに基づいて4つのウェイを所定の順番で有効にすると共に、タイミング違反検出回路51A、51Bがタイミング違反の発生しそうな状態を検出すると、1CPUサイクルの分割数を、動作中の現在の分割数よりも少ない分割数に変更するように、4つのウェイへのウェイイネーブル信号WEの出力を変更する。
次に、上述した構成に係るキャッシュメモリの動作について説明する。第1の実施の形態と同じ動作をする同じ構成要素については、説明は省略し、第1の実施の形態と異なる動作について説明する。
例えば、CPUコア15が100MHzで、キャッシュメモリ16Aが400MHzで動作しており、最高優先度1の分割数4で、キャッシュメモリ16Aが、図7に示す順次アクセスモードSMで動作しているとする。その時の動作は、図5及び図6のような動作である。そして、このような順次アクセスモードSMで動作中に、図示しない省電力制御により、CPU11の電源電圧が下がり、400MHz用のタイミング違反検出回路51Aでタイミング違反が発生しそうな状態が検出されたとする。そのとき、タイミング違反検出回路51Aの出力信号VOAがHIGH、すなわち「1」となる。
図11は、分割数が2の場合のプロセッサ1Aの動作を説明するためのタイミングチャートである。タイミング違反検出回路51Aが、タイミング違反が発生しそうな状態を検出して、出力信号VOAを出力すると、選択部42Aは、キャッシュメモリ16Aを200MHzで、タグ比較を行うようにウェイイネーブル信号WEを出力する。
その結果、タイミング違反が発生しそうな状態はなくなる。
その結果、タグ比較は、タイミング違反が発生しそうな状態はなくなる。
その結果、タグ比較は、タイミング違反が発生しそうな状態はなくなる。
Claims (4)
- 複数のウェイを有するキャッシュメモリの各ウェイをあるいは所定の2以上のウェイを、所定の順番で選択し、かつ前記キャッシュメモリに接続されたCPUの動作周波数に応じて設定された分割数で、1CPUサイクルを分割して、その分割された各期間内において、前記各ウェイあるいは前記所定の2以上のウェイの選択を行う選択部と、
前記選択部により選択されたウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部と、
前記キャッシュヒット検出部が前記キャッシュヒットを検出すると、前記選択部における前記各ウェイあるいは前記所定の2以上のウェイの選択を停止させる制御部と、
を有することを特徴とするキャッシュメモリ制御回路。 - 前記CPUの動作周波数について複数の分割数が設定された分割テーブルを有し、
前記選択部は、前記分割テーブルに設定された前記分割数で、前記1CPUサイクルを分割することを特徴とする請求項1に記載のキャッシュメモリ制御回路。 - 前記キャッシュメモリ制御回路におけるクリティカルパスに関わるクロック信号が入力され、前記クリティカルパスの遅延量だけ遅延させる遅延回路と、
前記遅延量に所定の遅延量だけ付加して、前記遅延量と前記所定の遅延量を合わせた遅延量が、前記クロック信号の1サイクル分以上になるのを検知する検知回路と、
を有し、
前記選択部は、前記検知回路が前記合わせた遅延量が前記クロック信号の1サイクル分以上になるのを検知すると、前記分割テーブルに設定された前記複数の分割数の中から選択した、現在の分割数よりも少ない分割数で、前記1CPUサイクルを分割することを特徴とする請求項2に記載のキャッシュメモリ制御回路。 - 複数のウェイを有するキャッシュメモリの各ウェイをあるいは所定の2以上のウェイを、所定の順番で選択し、前記キャッシュメモリに接続されたCPUの動作周波数に応じて設定された分割数で、1CPUサイクルを分割して、その分割された各期間内において、前記各ウェイあるいは前記所定の2以上のウェイの選択を行う選択部と、
前記選択部により選択されたウェイにおけるキャッシュヒットを検出するキャッシュヒット検出部と、
前記キャッシュヒット検出部が前記キャッシュヒットを検出すると、前記選択部における前記各ウェイあるいは前記所定の2以上のウェイの選択を停止させる制御部と、
を有するキャッシュメモリ制御回路と、
前記キャッシュメモリに接続されたCPUと、
前記CPUの動作周波数を設定する動作周波数設定部と
を有することを特徴とするプロセッサ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061487A JP4635063B2 (ja) | 2008-03-11 | 2008-03-11 | キャッシュメモリ制御回路及びプロセッサ |
US12/400,308 US8065486B2 (en) | 2008-03-11 | 2009-03-09 | Cache memory control circuit and processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008061487A JP4635063B2 (ja) | 2008-03-11 | 2008-03-11 | キャッシュメモリ制御回路及びプロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009217616A JP2009217616A (ja) | 2009-09-24 |
JP4635063B2 true JP4635063B2 (ja) | 2011-02-16 |
Family
ID=41064276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008061487A Expired - Fee Related JP4635063B2 (ja) | 2008-03-11 | 2008-03-11 | キャッシュメモリ制御回路及びプロセッサ |
Country Status (2)
Country | Link |
---|---|
US (1) | US8065486B2 (ja) |
JP (1) | JP4635063B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5142868B2 (ja) * | 2008-07-17 | 2013-02-13 | 株式会社東芝 | キャッシュメモリ制御回路及びプロセッサ |
JP6012263B2 (ja) * | 2011-06-09 | 2016-10-25 | 株式会社半導体エネルギー研究所 | 半導体記憶装置 |
US9058070B2 (en) * | 2012-05-30 | 2015-06-16 | Utah State University | Predicting timing violations |
US10089238B2 (en) * | 2014-07-17 | 2018-10-02 | Qualcomm Incorporated | Method and apparatus for a shared cache with dynamic partitioning |
US10657057B2 (en) | 2018-04-04 | 2020-05-19 | Nxp B.V. | Secure speculative instruction execution in a data processing system |
US11269076B2 (en) * | 2019-07-11 | 2022-03-08 | Mtd Products Inc | Solid state LIDAR machine vision for power equipment device |
IT202000016441A1 (it) * | 2020-07-07 | 2022-01-07 | Sk Hynix Inc | Comparatore di risorse di ridondanza per una architettura di bus, architettura di bus per un dispositivo di memoria che implementa un metodo migliorato di confronto e corrispondente metodo di confronto |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148589A (ja) * | 1998-11-12 | 2000-05-30 | Nec Corp | メモリ管理装置、方法及びプログラムを記憶した記憶媒体 |
JP2006323841A (ja) * | 2005-05-18 | 2006-11-30 | Samsung Electronics Co Ltd | テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法 |
JP2007299423A (ja) * | 2003-11-12 | 2007-11-15 | Matsushita Electric Ind Co Ltd | キャッシュメモリおよびその制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07117919B2 (ja) * | 1989-05-02 | 1995-12-18 | 日本電気株式会社 | キャッシュメモリ装置 |
JPH04328656A (ja) * | 1991-04-30 | 1992-11-17 | Toshiba Corp | キャッシュメモリ |
JPH08263370A (ja) * | 1995-03-27 | 1996-10-11 | Toshiba Microelectron Corp | キャッシュメモリシステム |
JPH0950403A (ja) * | 1995-06-01 | 1997-02-18 | Hitachi Ltd | キャッシュメモリおよびそれを用いたマイクロプロセッサ |
US5802594A (en) * | 1995-09-06 | 1998-09-01 | Intel Corporation | Single phase pseudo-static instruction translation look-aside buffer |
JPH09223068A (ja) * | 1996-02-15 | 1997-08-26 | Toshiba Microelectron Corp | キャッシュメモリ |
US6185657B1 (en) * | 1998-04-20 | 2001-02-06 | Motorola Inc. | Multi-way cache apparatus and method |
JP2002236616A (ja) | 2001-02-13 | 2002-08-23 | Fujitsu Ltd | キャッシュメモリシステム |
US20060090034A1 (en) * | 2004-10-22 | 2006-04-27 | Fujitsu Limited | System and method for providing a way memoization in a processing environment |
WO2006101113A1 (ja) * | 2005-03-22 | 2006-09-28 | Matsushita Electric Industrial Co., Ltd. | キャッシュメモリ制御方法およびキャッシュメモリ制御装置 |
-
2008
- 2008-03-11 JP JP2008061487A patent/JP4635063B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-09 US US12/400,308 patent/US8065486B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000148589A (ja) * | 1998-11-12 | 2000-05-30 | Nec Corp | メモリ管理装置、方法及びプログラムを記憶した記憶媒体 |
JP2007299423A (ja) * | 2003-11-12 | 2007-11-15 | Matsushita Electric Ind Co Ltd | キャッシュメモリおよびその制御方法 |
JP2006323841A (ja) * | 2005-05-18 | 2006-11-30 | Samsung Electronics Co Ltd | テクスチャキャッシュメモリ装置及びこれを利用した3次元グラフィック加速器および方法 |
Also Published As
Publication number | Publication date |
---|---|
US8065486B2 (en) | 2011-11-22 |
JP2009217616A (ja) | 2009-09-24 |
US20090235057A1 (en) | 2009-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5142868B2 (ja) | キャッシュメモリ制御回路及びプロセッサ | |
JP4635063B2 (ja) | キャッシュメモリ制御回路及びプロセッサ | |
JP4980751B2 (ja) | データ処理装置、およびメモリのリードアクティブ制御方法。 | |
US9063907B2 (en) | Comparison for redundant threads | |
US7836253B2 (en) | Cache memory having pipeline structure and method for controlling the same | |
US20110099336A1 (en) | Cache memory control circuit and cache memory control method | |
US6898671B2 (en) | Data processor for reducing set-associative cache energy via selective way prediction | |
US20110072215A1 (en) | Cache system and control method of way prediction for cache memory | |
US20100106910A1 (en) | Cache memory and method of controlling the same | |
US7702860B2 (en) | Memory access apparatus | |
JP5902208B2 (ja) | データ処理装置 | |
US20100217914A1 (en) | Memory access determination circuit, memory access determination method and electronic device | |
KR101076815B1 (ko) | 분기 타겟 어드레스 캐쉬를 포함하는 캐쉬 시스템 | |
KR100517765B1 (ko) | 캐시 메모리 및 그 제어 방법 | |
JP5949327B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP5565864B2 (ja) | キャッシュメモリ制御装置と方法 | |
JP3614946B2 (ja) | メモリバッファ装置 | |
JP6569347B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
US10303483B2 (en) | Arithmetic processing unit and control method for arithmetic processing unit | |
JP4498705B2 (ja) | キャッシュシステム | |
JP2013097637A (ja) | キャッシュ装置、メモリシステム及びデータ転送方法 | |
US7409479B2 (en) | Semiconductor integrated circuit | |
JP2005228142A (ja) | メモリ制御回路 | |
JPH08320825A (ja) | データ処理装置 | |
JP2001318830A (ja) | インターリーブ制御マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101007 |
|
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: 20101026 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |