JP4364878B2 - 演算処理装置 - Google Patents

演算処理装置 Download PDF

Info

Publication number
JP4364878B2
JP4364878B2 JP2006085007A JP2006085007A JP4364878B2 JP 4364878 B2 JP4364878 B2 JP 4364878B2 JP 2006085007 A JP2006085007 A JP 2006085007A JP 2006085007 A JP2006085007 A JP 2006085007A JP 4364878 B2 JP4364878 B2 JP 4364878B2
Authority
JP
Japan
Prior art keywords
memory
tag
cache
data
hit rate
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
JP2006085007A
Other languages
English (en)
Other versions
JP2006309734A5 (ja
JP2006309734A (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.)
Semiconductor Energy Laboratory Co Ltd
Original Assignee
Semiconductor Energy Laboratory Co 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 Semiconductor Energy Laboratory Co Ltd filed Critical Semiconductor Energy Laboratory Co Ltd
Priority to JP2006085007A priority Critical patent/JP4364878B2/ja
Publication of JP2006309734A publication Critical patent/JP2006309734A/ja
Publication of JP2006309734A5 publication Critical patent/JP2006309734A5/ja
Application granted granted Critical
Publication of JP4364878B2 publication Critical patent/JP4364878B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、複数のセットからなる連想方式のキャッシュメモリを搭載した演算処理装置に関する。特に、動作状況に応じて、所定のセットを動作中に変更することのできる演算処理装置に関する。
現在のCPU(Central Processing Unit:中央処理装置)に代表される演算処理装置では、ほぼ全てがストアドプログラム方式と呼ばれるアーキテクチャである。このストアドプログラム方式では、CPUが処理する命令及び処理に必要なデータは、メモリに格納されており、CPUの処理は、メモリのデータを順次読み出すことで進行する。そのため、CPUを搭載したシステムでは、メモリアクセス速度がシステム全体の性能を決定する上で非常に重要である。このような理由により、多くのCPUにおいて、キャッシュメモリが搭載されている。
キャッシュメモリは、データの書き込みや読み出しが低速なメインメモリ(外部メモリ)の内容の一部をコピーして格納する高速なメモリである。なお、CPUが必要とするデータがキャッシュメモリに存在する場合をキャッシュヒットと言う。その反対、即ち、CPUが必要とするデータがキャッシュメモリに存在しない場合をキャッシュミスと言う。このようなキャッシュの性能については、非特許文献1を参照することができる。
キャッシュミス時には、低速なメインメモリへのアクセスが生じることになる。従って、キャッシュヒットの確率(キャッシュヒット率)が高い程、即ち、キャッシュミスの確率(キャッシュミス率)が低い程、CPUは高速に処理を行える。すなわち、CPUを搭載したシステムにおいて、システム全体の性能を高めることができる。
J.ヘネシー、D.パターソン共著、 コンピュータアーキテクチャ 日経BP社刊 第418、419頁
一般に、大容量のキャッシュメモリ程、キャッシュミスが少ない。そのため、キャッシュメモリ容量の増大によるCPUの処理速度向上が可能である。しかしながら、CPUにおいて、キャッシュメモリは最も消費電力が高いブロックの一つでもある。従って、容量を増大してCPUの処理速度を向上すると同時に、低消費電力も実現するキャッシュメモリが必要である。
CPUのキャッシュメモリは、メインメモリからコピーする内容に対し、コピー元のアドレスもしくはその一部を格納するタグメモリと、当該アドレスに格納された内容をコピーするデータメモリと、から構成される。キャッシュメモリの読み出し動作時は、アドレスとタグメモリに格納されたデータ(タグデータ)との比較及びコピーしたデータ(コピーデータ)の読み出しが同時に行われる。ここで、アドレスとタグデータとが一致した場合がキャッシュヒットであり、読み出したコピーデータがCPUの処理に用いられる。一方、アドレスとタグデータとが不一致の場合がキャッシュミスであり、読み出したコピーデータは無効となり、メインメモリに再度アクセスしてCPUの処理に必要なデータを獲得することになる。
キャッシュメモリの代表的な構成としては、フルセット連想方式、ダイレクトマップ方式、nウェイセット連想方式などが挙げられる。以下、各々の方式について、簡単に説明する。
フルセット連想方式では、タグメモリにコピー元のアドレスの全ビットを格納しておく。キャッシュメモリの読み出し動作時には、タグメモリの全ての行(エントリ)のタグデータを読み出し、各々のタグデータとアドレスとを比較し、一致した場合に、該当するエントリのコピーデータを有効とする。メインメモリのどのアドレスからもデータをコピーできるが、キャッシュメモリの容量に応じて比較回路が複雑になるため、少数のエントリ、すなわち小容量のキャッシュメモリの場合に有効な方式である。
ダイレクトマップ方式では、タグメモリにメインメモリにおけるアドレスの一部のビットを格納する。通常はアドレスの上位ビットを格納する。また、格納できるタグメモリのエントリは、アドレスの下位ビットで指定される。キャッシュメモリの読み出し動作時には、アドレスの下位ビットで指定されるタグメモリのエントリからのみ読み出したタグデータと、アドレスの上位ビットとを比較し、一致した場合に、該当するエントリのコピーデータを有効とする。比較回路を簡単にできるが、下位ビットが同一となるアドレスへのアクセスが頻繁に行われる場合にはキャッシュヒット率が低下する。すなわち、CPUが必要とするデータに局所性がある場合に有効であり、大規模なプログラムを実行する場合には性能が低下する。
nウェイセット連想方式は、タグメモリとデータメモリとを1組とするn(通常2、4、8)組のセットから構成される。いずれかのセットのタグメモリにメインメモリにおけるアドレスの一部のビットを格納する。通常はアドレスの上位ビットを格納する。また、格納できるタグメモリのエントリは、アドレスの下位ビットで指定される。キャッシュメモリの読み出し動作時には、全てのセットのタグメモリにおいて、アドレスの下位ビットで指定されるタグメモリのエントリからのみ読み出したタグデータと、アドレスの上位ビットとを各々比較し、一致した場合に、該当するセットにおけるエントリのコピーデータを有効とする。比較回路は若干複雑になるが、下位ビットが同一となるアドレスへのアクセスが頻繁に行われる場合にもキャッシュヒット率が低下しない。
ここで、高性能なCPUのキャッシュメモリとして、一般に用いられている、nウェイセット連想方式のキャッシュメモリの詳細を示す。なお、簡単のため、2セットからなる連想方式のキャッシュメモリの概要を示す。
キャッシュメモリの構成を図1に示す。ここで、キャッシュメモリ101は、第1のセット102、第2のセット103、タグ比較回路104及びデータ選択回路105から構成される。第1のセット102は、第1のタグメモリ106及び第1のデータメモリ107から構成される。第2のセット103は、第2のタグメモリ108及び第2のデータメモリ109から構成される。タグ比較回路104は、第1の比較回路110及び第2の比較回路111から構成される。
ここで、キャッシュメモリには、メインメモリにおける内容の一部のコピーが格納されているものとする。すなわち、メインメモリの特定のアドレスにおける内容に対し、アドレスの下位ビットで指定される第1のタグメモリ106または第2のタグメモリ108のいずれか一方のエントリに、アドレスの上位ビットが格納されている。
さらに、アドレスの上位ビットが第1のタグメモリ106に格納されている場合には第1のデータメモリ107におけるアドレスの下位ビットで指定されるエントリに、また、第2のタグメモリ108に格納されている場合には第2のデータメモリ109におけるアドレスの下位ビットで指定されるエントリに、メインメモリの当該アドレスの内容(コピーデータ)が格納されているものとする。
キャッシュメモリの動作を説明する。第1に、CPUが次に必要とするデータが格納されているメインメモリのアドレス112をキャッシュメモリが受け取る。
第2に、アドレス112の上位ビット(アドレス上位ビット)113はタグ比較回路104に、アドレス112の下位ビット(アドレス下位ビット)114は第1のセット102及び第2のセット103に送られる。第1のセット102では、アドレス下位ビット114をデコードし、第1のタグメモリ106及び第1のデータメモリ107の各々該当するエントリに格納された第1のタグデータ115及び第1のコピーデータ116を出力する。同様に、第2のセット103から、第2のタグデータ117及び第2のコピーデータ118を出力する。
第3に、第1の比較回路110において、アドレス上位ビット113と第1のタグデータ115とを比較し、第1のタグヒット信号119を出力する。ここで第1のタグヒット信号119は、一致の場合は”1”、不一致の場合は”0”とする。同様に、第2の比較回路111において、アドレス上位ビット113と第2のタグデータ117とを比較し、第2のタグヒット信号120を出力する。
最後に、データ選択回路105において、第1のタグヒット信号119が”1”の場合は第1のコピーデータ116を、第2のタグヒット信号120が”1”の場合は第2のコピーデータ118を、キャッシュデータ121として出力する。また、第1のタグヒット信号119または第2のタグヒット信号120のいずれかが”1”の場合に”1”となる、キャッシュヒット信号122を出力する。
CPUは、キャッシュヒット信号122が”1”の場合は、キャッシュデータ121を、メインメモリのアドレス112に格納されている内容と同一の有効データとして用いることができる。一方、キャッシュヒット信号122が”0”の場合は、キャッシュミスのため、メインメモリにアクセスし、必要なデータを取得する必要がある。
このような2ウェイセット連想方式によるキャッシュメモリの場合、第1のコピーデータ116または第2のコピーデータ118の少なくとも一方は、常に使われないことになる。すなわち、読み出しに要した電流は常に無駄な消費電力として浪費されることになる。nウェイセット連想方式のキャッシュメモリでは、セット数が増加するにつれ、処理性能の向上と引き換えに、浪費される消費電力が増大することになる。
本発明は、上記の問題を鑑みなされたもので、nウェイセット連想方式のキャッシュメモリを搭載する演算処理装置において、動作状況に応じて、動作するセットを動的に変更することで、高性能且つ低消費電力の演算処理装置を提供する。本発明において、演算処理装置にはCPU及びDSP(Digital Signal Processor)が含まれる。
本明細書で開示する本発明の構成は、連想方式のキャッシュメモリを搭載する演算処理装置であって、キャッシュメモリは、少なくとも1つのセットから構成され、セットは、各々データメモリと、タグメモリと、から構成され、各々動作状態及び停止状態の2つの状態間を遷移する手段を有し、演算処理装置は、キャッシュメモリへのアクセス回数と、キャッシュヒット回数と、各々のセットにおけるタグヒット回数と、アクセス回数でキャッシュヒット回数を除することで得られるキャッシュヒット率と、を任意の期間について計数する手段を有することを特徴とする。
上記構成において、演算処理装置は、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、動作状態にあるデータメモリとタグメモリの一方を停止状態に遷移させる手段を有しても良い。なお、本明細書中において、遷移とは可逆的な変化を含むものとする。具体的には、動作状態から停止状態への変化のみでなく、停止状態から動作状態への変化を含めて遷移というものとする。
また、上記構成において、演算処理装置は、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、停止状態にあるデータメモリとタグメモリの一方を動作状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、任意に設定した時間の基準値で規定される時間毎に、動作状態にあるセットのうち少なくとも1つを停止状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、任意に設定した時間の基準値で規定される時間毎に、動作状態にあるセットのうちタグヒット回数が最も少ないセットを停止状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、任意に設定した時間の基準値で規定される時間毎に、停止状態にあるセットのうち、少なくとも1つを動作状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、動作状態にあるセットのうち、タグヒット回数が最も少ないセットを停止状態に遷移させる手段を有しても良い。
上記構成において、演算処理装置は、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、動作状態にあるセットのうち、少なくとも1つを停止状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、停止状態にあるセットのうち、少なくとも1つを動作状態に遷移させる手段を有しても良い。
また、上記構成において、演算処理装置は、動作状態にあるセットを停止状態に遷移させる操作後に、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、操作において停止状態に遷移させたセットを再度動作状態に遷移させる手段を有することが望ましい。
また、上記構成において、演算処理装置は、停止状態にあるセットを動作状態に遷移させる操作後に、キャッシュヒット率と、任意に設定したヒット率の基準値と、を比較した結果に応じて、操作において動作状態に遷移させたセットを再度停止状態に遷移させる手段を有することが望ましい。
また、上記構成において、演算処理装置は、動作状態にあるセットを停止状態に遷移させる操作、もしくは停止状態にあるセットを動作状態に遷移させる操作を、演算処理装置が実行する命令により制御する手段を有することが望ましい。
また、上記構成において、演算処理装置は、動作状態にあるセットを停止状態に遷移させる操作、もしくは停止状態にあるセットを動作状態に遷移させる操作を、演算処理装置に搭載された制御回路と、演算処理装置が実行する命令と、により制御する手段を有することが望ましい。
また、上記構成において、演算処理装置は、時間の基準値や、ヒット率の基準値を、演算処理装置の動作中に変更する手段を有することが望ましい。
また、上記構成において、演算処理装置は、実行する各々のプログラムに適した時間の基準値や、ヒット率の基準値を決定する手段を有し、プログラムを次回以降実行する際には、基準値には、プログラムごとに適した値を用いることが望ましい。
本発明のより詳細な構成の一例は、データメモリとタグメモリを含む少なくとも1つのセットを有するキャッシュメモリと、計数回路と、レジスタと、を有し、計数回路は、任意の期間について、キャッシュメモリへのアクセス回数、キャッシュメモリのキャッシュヒット回数、タグメモリにおけるタグヒット回数、及びアクセス回数でキャッシュヒット回数を除することにより得られるキャッシュヒット率を計数し、レジスタによって、データメモリ又はタグメモリの一方を、動作状態または停止状態に遷移させることを特徴とする。
すなわち、キャッシュヒット率と、第1のヒット率の基準値との比較結果に応じて、前記データメモリ又は前記タグメモリの一方を、動作状態から停止状態に遷移させる。
レジスタによって、第1の時間の基準値毎に、データメモリ又はタグメモリの一方を、動作状態から停止状態に遷移させる構成としてもよい。
本発明のより詳細な構成の他の例は、データメモリとタグメモリをそれぞれ含む複数のセットを有するキャッシュメモリと、計数回路と、レジスタと、を有し、計数回路は、任意の期間について、前記キャッシュメモリへのアクセス回数、キャッシュメモリのキャッシュヒット回数、複数のセットの少なくとも1つのセットのタグメモリにおけるタグヒット回数、及びアクセス回数でキャッシュヒット回数を除することにより得られるキャッシュヒット率を計数し、レジスタによって、少なくとも1つのセットを、動作状態または停止状態に遷移させることを特徴とする。
すなわち、キャッシュヒット率と、第1のヒット率の基準値との比較結果に応じて、少なくとも1つのセットを、動作状態から停止状態に遷移させる。
レジスタによって、第1の時間の基準値毎に、少なくとも1つのセットを、動作状態から停止状態に遷移させる構成としてもよい。また、第1の時間の基準値毎に、少なくとも1つのセットのうちタグヒット回数が最も少ないセットを、動作状態から停止状態に遷移させる構成としても良い。
なお、動作状態及び停止状態の2つの状態間を遷移する手段としては、例えば、計数回路や、条件判別回路、レジスタ等を有するセット制御回路が挙げられる。より具体的には、セット制御回路からのセット制御信号によって、動作状態及び停止状態を遷移させることができる。また、時間の基準値やヒット率の基準値の変更は、演算処理装置がレジスタの値を書き換えることにより行われる。実行するプログラムごとに適した基準値を用いることが好ましい。
また、上記構成において、停止状態とは、データメモリ及びタグメモリに格納されているデータを読み出す時に行うプリチャージ動作を行わない状態としても良い。また、上記構成において、停止状態とは、データメモリ及びタグメモリに電源電圧を供給しない状態としても良い。
また、上記構成において、演算処理装置は、薄膜トランジスタにより構成されており、薄膜トランジスタは、絶縁表面を有する基板上に形成された半導体薄膜を活性層として用いており、絶縁表面を有する基板は、ガラス基板、石英基板、プラスチック基板、SOI基板のいずれかとしても良い。
また、上記構成からなるCPUを電子機器に組み込む事が有効である。
本発明により、連想方式のキャッシュメモリにおいて、演算処理装置が実行するプログラムに応じて、演算処理装置の処理性能向上に寄与しないキャッシュメモリ領域を監視し、動的に適宜停止状態とすることができる。すなわち、演算処理装置の処理性能を保ったまま、キャッシュメモリからのデータ読み出しによる無駄な消費電力を低減することが可能である。このような、連想方式のキャッシュメモリを搭載することで、高性能且つ低消費電力のCPUを提供することができる。
以下、本発明の実施の形態及び実施例について、図面を用いて説明する。但し、本発明は多くの異なる態様で実施することが可能であり、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態及び実施例の記載内容に限定して解釈されるものではない。
以下に、本発明の実施の形態について、図2及び図3を用いて説明する。
なお、実施の形態及び実施例を説明するための全図において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。
図2において、CPU201は、キャッシュメモリ202、制御部203及び演算部204から構成される。制御部203には、セット制御回路205が含まれている。セット制御回路205は、計数回路206、条件判別回路207、レジスタ208などから構成される。キャッシュメモリ202は、制御部203から発行されたアドレス112に対して、キャッシュデータ121を出力する。同時にヒット信号209も出力する。制御部203からの出力信号である、セット制御信号210により、キャッシュメモリ202における制御を行う。
キャッシュメモリ202は、例えば、図1のような構成を適用できる。但し、セット制御回路205からのセット制御信号210により、セット毎に動作状態または停止状態に遷移できる。すなわち図1の構成に、セット毎に動作状態または停止状態に遷移させる手段を追加した構成を図3に示す。
図3において、セット制御信号210により、停止状態に遷移するセット(停止セット)内のタグメモリ及びデータメモリの動作を停止する。具体的には、タグメモリ及びデータメモリへの書き込み信号及び読み出し信号を非有効化する。通常、メモリの読み出しには、データ信号線のプリチャージが必要である。メモリの消費電力の大部分はこのプリチャージによるものである。従って、読み出し信号を非有効化することで、各セットにおける消費電力は大幅に低減する。また、各セットに供給する電源電圧を遮断することで、更に消費電力を削減できる。
また、セット制御信号210により、停止セットに対するタグ比較回路104を非有効化することも有効である。具体的には、例えば、常にタグヒット信号を”0”とする。これにより、データ選択回路105では、停止セットのデータを誤って選択する心配が無くなる。なお、第1のタグヒット信号119、第2のタグヒット信号120及びキャッシュヒット信号122が、ヒット信号209に相当する。
図2における、セット制御回路205は、キャッシュヒット率などを計数する計数回路206、条件判別回路207、レジスタ208から構成される。
計数回路206は、キャッシュメモリへのアクセス回数や、キャッシュヒット回数、セット毎のタグヒット回数などを計数できる。キャッシュヒット回数をアクセス回数で除することで、キャッシュヒット率を計数することができる。また、セット毎のタグヒット回数をアクセス回数で除することで、セット毎のタグヒット率を計数することができる。
条件判別回路207は、キャッシュヒット率などに応じて、所定のアルゴリズムにより、停止状態もしくは動作状態に遷移させるセットを決定する。キャッシュヒット率からセット毎の状態を決定するためのアルゴリズムは、本発明におけるキャッシュメモリを搭載したCPUの性能を決定するために非常に重要な項目である。本発明におけるCPUの具体的な用途に応じて、様々な方式が考え得る。
レジスタ208は、計数回路206における計数条件の設定や、条件判別回路207におけるパラメータ設定などの用途に利用する。
以上のような形態とすることで、動作状況に応じて最適な性能及び消費電力を選択することができるキャッシュメモリを搭載した、高性能且つ低消費電力のCPUを提供することができる。
また、本実施の形態におけるCPUを、ガラス基板、石英基板、プラスチック基板などの絶縁表面を有する基板上に形成された半導体薄膜を活性層として用いた薄膜トランジスタから構成することで、高性能且つ低消費電力のCPUを、より軽量で安価に提供することができる。
さらに、本実施の形態におけるCPUを用いて、電子機器を構成することで、高性能且つ低消費電力の電子機器を、より軽量で安価に提供することができる。
本実施例では、本発明に係る、キャッシュメモリを搭載したCPUについて、実施の形態では詳説を割愛した、キャッシュヒット率からセット毎の状態を決定するためのアルゴリズムについて説明する。
但し、本発明は多くの異なる態様で実施することが可能であり、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施例の記載内容に限定して解釈されるものではない。
本実施例におけるアルゴリズムを、図5に示すフローチャートに従って説明する。任意の回数としてa回のアクセスにおけるキャッシュヒット率を計数(キャッシュヒット率計数501)する。このキャッシュヒット率と、予め設定される条件であるb%とを比較(条件判別502)し、その結果に応じて、任意のセットを動作状態から停止状態に遷移(セット停止処理503)させた後、任意の期間におけるキャッシュヒット率を計数(キャッシュヒット率計数504)し、これをc%とする。c%と予め設定される条件であるb%とを比較(条件判別505)し、その結果に応じて遷移前の状態に戻すか否かを決定する(セット復活処理506)。このアルゴリズムは、より少ないセット数でもキャッシュヒット率を維持できるか否かを検証しながらセット数を決定していくことに相当する。より少ないセット数にすることで、半導体装置における消費電力を低減できる。なお、ここで説明するアルゴリズムは、ソフトウェア(プログラム)またはハードウェアによって実行することができる。
この操作をハードウェアで行う場合を以下に示す。計数回路でa回のアクセスにおけるキャッシュヒット率を計数し、レジスタに格納する。このキャッシュヒット率と、予め設定される条件であるb%とを条件判別回路によって比較し、その結果に応じて、セット制御信号を変化させることにより、任意のセットを動作状態から停止状態に遷移させる。その後、計数回路で任意の期間におけるキャッシュヒット率を計数し、これをc%とする。条件判別回路によってc%と予め設定される条件であるb%とを比較し、その結果に応じて遷移前の状態に戻すか否かを決定する。このようにして、半導体装置における消費電力を低減することができる。
ここで、任意のセットを停止状態に遷移させる条件として、キャッシュヒット率がb%以上とすることが有効である。これは、キャッシュメモリが非常に有効に機能している時に有効で、プログラムサイズが非常に小さく、メインメモリからキャッシュメモリにほぼ全てのプログラムをコピーできる場合に相当する。
また、任意のセットを停止状態に遷移させる条件として、キャッシュヒット率がb%以下とすることも有効である。これは、キャッシュメモリがほとんど機能していない時に有効で、プログラムサイズは小さいものの、処理するデータがメインメモリ上で点在している場合に相当する。この場合、プログラムがキャッシュメモリにコピーされていれば、CPUの処理速度はほとんど変わらないと考えられる。
なお、上記2種類の条件を組み合わせることも有効である。この場合、より緻密に停止状態に遷移させるか否かを決定できるため、消費電力の削減に有効である。
本実施例におけるアルゴリズムにおいて、パラメータa、b、cを固定値として設定することも可能であるが、キャッシュヒット率を観測しながら、適宜更新していくことが望ましい。これは最適な基準値は、実際にCPUで実行するプログラムに依存するためである。なお、これらの値の更新は、CPUがレジスタの値を書き換えることによって行われる。
さらに、一度実行したプログラムに対し、最適なa、b、cを保存しておき、次回の実行時にその値に設定することも有効である。これは、パーソナルコンピュータのように、様々なプログラムを実行する可能性があるシステムにCPUを用いる場合に、特に有効である。なお、これらのパラメータ、a、b、cを保存するために、図2におけるレジスタ208が有効である。
また、任意の回数としてa’回のアクセスにおけるセット毎のタグヒット率を計数して(タグヒット率計数507)、停止状態に遷移させるセットを決定することで、より最適な制御が可能となる。タグヒット率が低いセットを停止することで、セット停止前後でキャッシュヒット率の低下は僅かであると考えられ、効果的に停止セットの制御を実施できる。従って、より緻密に消費電力の削減が可能である。
以上のような構成とすることで、動作状況に応じて最適な性能及び消費電力を選択することができるキャッシュメモリを搭載した、高性能且つ低消費電力のCPUを提供することができる。
なお、本実施例におけるCPUを、ガラス基板、石英基板、プラスチック基板などの絶縁表面を有する基板上に形成された半導体薄膜を活性層として用いた薄膜トランジスタから構成することで、高性能且つ低消費電力のCPUを、より軽量で安価に提供することができる。
さらに、本実施例におけるCPUを用いて、電子機器を構成することで、高性能且つ低消費電力の電子機器を、より軽量で安価に提供することができる。
本実施例は、発明を実施するための最良の形態と自由に組み合わせて実施することが可能である。
本実施例では、本発明に係る、キャッシュメモリを搭載したCPUについて、実施例1で説明した、キャッシュヒット率から停止セットを決定するためのアルゴリズムとは異なるアルゴリズムについて説明する。
但し、本発明は多くの異なる態様で実施することが可能であり、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施例の記載内容に限定して解釈されるものではない。
本実施例におけるアルゴリズムを、フローチャートを図6に従って説明する。適当な時間間隔d秒を計数し(時間計数601)、任意のセットを動作状態から停止状態に遷移(セット停止処理602)させた後、キャッシュヒット率を計数(キャッシュヒット率計数603)する。このキャッシュヒット率を、あらかじめ設定される条件であるe%と比較(条件判別604)し、その結果に応じて遷移前の状態に戻すか否を決定する(セット復活処理605)。このアルゴリズムは、キャッシュメモリサイズとその有効性を定期的に調査し、より少ないセット数でも、キャッシュヒット率が維持できるか否かを検証することに相当する。より少ないセット数にすることで、半導体装置における消費電力を低減できる。なお、ここで説明するアルゴリズムは、ソフトウェア(プログラム)またはハードウェアによって実行することができる。
この操作をハードウェアで行う場合を以下に示す。計数回路でd秒の時間を計数し、セット制御信号を変化させることにより任意のセットを動作状態から停止状態に遷移させる。その後、計数回路でキャッシュヒット率を計数し、レジスタに格納する。その後、キャッシュヒット率と、予め設定される条件であるe%とを条件判別回路によって比較し、その結果に応じて、遷移前の状態に戻すか否を決定する。
本実施例におけるアルゴリズムにおいても、パラメータd、eを固定値として設定することも可能であるが、キャッシュヒット率を観測しながら、適宜更新していくことが望ましい。これは最適な基準値は、実際にCPUで実行するプログラムに依存するためである。なお、これらの値の更新は、CPUがレジスタの値を書き換えることによって行われる。
さらに、一度実行したプログラムに対し、最適なd、eを保存しておき、次回の実行時にその値に設定することも有効である。これは、パーソナルコンピュータのように、様々なプログラムを実行する可能性があるシステムにCPUを用いる場合に、特に有効である。なお、これらのパラメータ、d、eを保存するために、図2におけるレジスタ208が有効である。
また、任意の時間としてd秒間のアクセスにおけるセット毎のタグヒット率を計数して(タグヒット率計数606)、停止状態に遷移させるセットを決定することで、より最適な制御が可能となる。タグヒット率が低いセットを停止することで、セット停止前後でキャッシュヒット率の低下は僅かであると考えられ、効果的に停止セットの制御を実施できる。従って、より緻密に消費電力の削減が可能である。
以上のような構成とすることで、動作状況に応じて最適な性能及び消費電力を選択することができるキャッシュメモリを搭載した、高性能且つ低消費電力のCPUを提供することができる。
なお、本実施例におけるCPUを、ガラス基板、石英基板、プラスチック基板などの絶縁表面を有する基板上に形成された半導体薄膜を活性層として用いた薄膜トランジスタから構成することで、高性能且つ低消費電力のCPUを、より軽量で安価に提供することができる。
さらに、本実施例におけるCPUを用いて、電子機器を構成することで、高性能且つ低消費電力の電子機器を、より軽量で安価に提供することができる。
本実施例は、発明を実施するための最良の形態及び実施例1と自由に組み合わせて実施することが可能である。
本実施例では、本発明におけるCPUを用いたシステムとして、パーソナルコンピュータについて説明する。
図7に、パーソナルコンピュータの構成図を示す。図7において、マザーボード701の上に、CPU702、ノースブリッジ(NB)703、サウスブリッジ(SB)704、SDRAM705、画像処理回路706が搭載されている。SB704には、ハードディスクコントローラ707、フレキシブルディスクカートリッジコントローラ708、マウスコントローラ709、キーボードコントローラ710が搭載されている。画像処理回路706、ハードディスクコントローラ707、フレキシブルディスクカートリッジコントローラ708、マウスコントローラ709、キーボードコントローラ710は、各々ディスプレイ711、ハードディスク712、フレキシブルディスクカートリッジ713、マウス714、キーボード715を制御する。
ここで、NB703は、SDRAM705、画像処理回路706など、CPUと高速なデータアクセスを行う必要がある半導体装置のコントローラ回路を集積した半導体装置である。また、SB704は、CPU702と低速なデータアクセスを行う半導体装置のコントローラ回路を集積した半導体装置である。
本発明を、CPU702に用いることで、高性能且つ低消費電力のシステムを提供することができる。また、画像処理回路706内部のプロセッサに、本発明を用いることで、さらに高性能且つ低消費電力のシステムを提供することができる。
本実施例は、発明を実施するための最良の形態、実施例1及び実施例2と自由に組み合わせて実施することが可能である。
本実施例では、本発明におけるCPUを用いて作製される電子機器の例について図4を用いて説明する。
本発明を用いて作製した電子機器として、ビデオカメラやデジタルカメラ等のカメラ、ゴーグル型ディスプレイ(ヘッドマウントディスプレイ)、ナビゲーションシステム、音響再生装置(カーオーディオ、オーディオコンポ等)、パーソナルコンピュータ、ゲーム機器、携帯情報端末(モバイルコンピュータ、携帯電話、携帯型ゲーム機または電子書籍等)、記録媒体を備えた画像再生装置(具体的にはDigital Versatile Disc (DVD)等の記録媒体を再生し、その画像を表示しうるディスプレイを備えた装置)などが挙げられる。それらの電子機器の具体例を図4に示す。
図4(A)は表示装置であり、筐体1401、支持台1402、表示部1403を含む。本発明は表示部1403のコントローラに適用が可能である。本発明を用いることによって、表示装置の低消費電力化を実現できる。
図4(B)はビデオカメラであり、本体1411、表示部1412、音声入力部1413、操作スイッチ1414、バッテリー1415、受像部1416などによって構成されている。本発明は、本体1411内部のCPUや表示部1412のコントローラに適用が可能である。本発明を用いることによって、ビデオカメラの小型・軽量化を実現できる。
図4(C)はパーソナルコンピュータであり、本体1421、筐体1422、表示部1423、キーボード1424などによって構成されている。本発明は表示部1423のコントローラに適用が可能である。また、本発明は本体1421内部のCPUに適用が可能である。本発明を用いることによって、パーソナルコンピュータの低消費電力化を実現できる。
図4(D)は携帯情報端末であり、本体1431、スタイラス1432、表示部1433、操作ボタン1434、外部インターフェイス1435などによって構成されている。本発明は表示部1433のコントローラに適用が可能である。また、本発明は本体1431内部のCPUに適用が可能である。本発明を用いることによって、携帯情報端末の低消費電力化を実現できる。
図4(E)は音響再生装置、具体的には車載用のオーディオ装置であり、本体1441、表示部1442、操作スイッチ1443、操作スイッチ1444などによって構成されている。本発明は表示部1442のコントローラに適用が可能である。また、本発明は本体1441内部のCPUに適用が可能である。また、今回は車載用オーディオ装置を例に上げたが、携帯型もしくは家庭用オーディオ装置に用いてもよい。本発明を用いることによって、音響再生装置の低消費電力化を実現できる。
図4(F)はデジタルカメラであり、本体1451、表示部(A)1452、接眼部1453、操作スイッチ1454、表示部(B)1455、バッテリー1456などによって構成されている。本発明は表示部(A)1452および表示部(B)1455のコントローラに適用が可能である。また、本発明は本体1451内部のCPUに適用が可能である。本発明を用いることによって、デジタルカメラの低消費電力化を実現できる。
図4(G)は携帯電話であり、本体1461、音声出力部1462、音声入力部1463、表示部1464、操作スイッチ1465、アンテナ1466などによって構成されている。本発明は表示部1464のコントローラに適用が可能である。また、本発明は本体1461内部のCPUに適用が可能である。本発明を用いることによって、携帯電話の低消費電力化を実現できる。
これらの電子機器に使われる半導体装置及び表示装置はガラス基板だけでなく耐熱性のプラスチック基板を用いることもできる。それにより軽量化を図ることができる。
本発明は、上記電子機器に限定されず、発明を実施するための最良の形態、及び、実施例1乃至実施例3で示した演算処理装置を用いた、様々な電子機器とすることができる。
一般的な連想方式キャッシュメモリの概要図。 本発明における演算処理装置の概要図。 本発明における演算処理装置に搭載される連想方式キャッシュメモリの概要図。 本発明における演算処理装置を応用した電子機器。 本発明における演算処理装置に搭載される制御回路におけるアルゴリズムのフローチャート1。 本発明における演算処理装置に搭載される制御回路におけるアルゴリズムのフローチャート2。 本発明における演算処理装置を用いたシステム。
符号の説明
101 キャッシュメモリ
102 第1のセット
103 第2のセット
104 タグ比較回路
105 データ選択回路
106 第1のタグメモリ
107 第1のデータメモリ
108 第2のタグメモリ
109 第2のデータメモリ
110 第1の比較回路
111 第2の比較回路
112 アドレス
113 アドレス上位ビット
114 アドレス下位ビット
115 第1のタグデータ
116 第1のコピーデータ
117 第2のタグデータ
118 第2のコピーデータ
119 第1のタグヒット信号
120 第2のタグヒット信号
121 キャッシュデータ
122 キャッシュヒット信号

Claims (2)

  1. キャッシュメモリを有する演算処理装置であって、
    データメモリおよびタグメモリをそれぞれ有する複数のセットと、
    タグヒット率を第1の期間について計数する手段と、
    前記第1の期間ごとに、動作状態にある前記複数のセットのうち前記タグヒット率が最も低いセットを、停止状態に遷移させる手段と、を有し、
    前記停止状態において、前記データメモリおよび前記タグメモリへの、書き込み信号および読み出し信号非有効化することによって、データ信号線へのプリチャージを行わないことを特徴とする演算処理装置。
  2. 請求項1において、
    前記停止状態に遷移したセットに対応する比較回路を、非有効化することを特徴とする演算処理装置。
JP2006085007A 2005-03-31 2006-03-27 演算処理装置 Expired - Fee Related JP4364878B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006085007A JP4364878B2 (ja) 2005-03-31 2006-03-27 演算処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005102105 2005-03-31
JP2006085007A JP4364878B2 (ja) 2005-03-31 2006-03-27 演算処理装置

Publications (3)

Publication Number Publication Date
JP2006309734A JP2006309734A (ja) 2006-11-09
JP2006309734A5 JP2006309734A5 (ja) 2009-02-12
JP4364878B2 true JP4364878B2 (ja) 2009-11-18

Family

ID=37476495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006085007A Expired - Fee Related JP4364878B2 (ja) 2005-03-31 2006-03-27 演算処理装置

Country Status (1)

Country Link
JP (1) JP4364878B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519151B2 (ja) * 2007-03-20 2010-08-04 富士通株式会社 キャッシュ制御回路
JP5167952B2 (ja) * 2008-05-26 2013-03-21 富士通株式会社 キャッシュメモリシステム
JP5338905B2 (ja) * 2009-05-29 2013-11-13 富士通株式会社 キャッシュ制御装置およびキャッシュ制御方法
US8924645B2 (en) 2010-03-08 2014-12-30 Hewlett-Packard Development Company, L. P. Data storage apparatus and methods
JP5484281B2 (ja) * 2010-09-21 2014-05-07 三菱電機株式会社 情報処理システム
US9703704B2 (en) * 2012-05-01 2017-07-11 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device

Also Published As

Publication number Publication date
JP2006309734A (ja) 2006-11-09

Similar Documents

Publication Publication Date Title
US7818502B2 (en) Selectively powering down tag or data memories in a cache based on overall cache hit rate and per set tag hit rate
US20210056035A1 (en) Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
US20180341588A1 (en) Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
US9201608B2 (en) Memory controller mapping on-the-fly
US10204039B2 (en) Host controlled hybrid storage device
JP4969805B2 (ja) 適応記憶システム
US9286205B2 (en) Apparatus and method for phase change memory drift management
US20140297919A1 (en) Apparatus and method for implementing a multi-level memory hierarchy
US20130275682A1 (en) Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
JP4364878B2 (ja) 演算処理装置
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
JP2006012180A (ja) 主及び補助プロセッサを備えた低電力コンピュータ
US9990293B2 (en) Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram
US20220414009A1 (en) Data Pattern Based Cache Management
WO2005069148A2 (en) Memory management method and related system
US20170068304A1 (en) Low-power memory-access method and associated apparatus
JP2001117817A (ja) キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置
KR20130024212A (ko) 메모리 시스템 및 그 관리 방법
US10152410B2 (en) Magnetoresistive random-access memory cache write management
US7649764B2 (en) Memory with shared write bit line(s)
JP3935873B2 (ja) プリフェッチ・バッファを用いたメモリ電力管理
JP2006209527A (ja) コンピュータシステム
JP2003248625A (ja) キャッシュ回路、情報処理装置及び電子機器
KR20140016405A (ko) 메모리 시스템 및 그 관리 방법
JP4664011B2 (ja) 情報処理装置及び情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090605

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: 20090818

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: 20090819

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4364878

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees