JP2006209527A - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP2006209527A
JP2006209527A JP2005021482A JP2005021482A JP2006209527A JP 2006209527 A JP2006209527 A JP 2006209527A JP 2005021482 A JP2005021482 A JP 2005021482A JP 2005021482 A JP2005021482 A JP 2005021482A JP 2006209527 A JP2006209527 A JP 2006209527A
Authority
JP
Japan
Prior art keywords
processor
computer system
operation mode
storage area
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.)
Withdrawn
Application number
JP2005021482A
Other languages
English (en)
Inventor
Fumio Kajiwara
史雄 梶原
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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Priority to JP2005021482A priority Critical patent/JP2006209527A/ja
Priority to US11/339,095 priority patent/US7543127B2/en
Publication of JP2006209527A publication Critical patent/JP2006209527A/ja
Withdrawn legal-status Critical Current

Links

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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • 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

Abstract

【課題】コンピュータシステムにおいて、プロセッサが動作モードを切り替える際に、必要なデータをスムーズに入手できるようにする技術を提供することを目的とする。
【解決手段】本発明の1つの側面によれば、本発明は、特権レベルが異なる動作モードを複数備えたプロセッサと、前記複数の動作モードのうちの特定の動作モードに関連付けられた専用記憶領域と、前記動作モードに応じて前記プロセッサと前記専用記憶領域とを接続する接続部と、を備えることを特徴とするコンピュータシステムを提供することができる。
【選択図】図1

Description

本発明はコンピュータシステムに関し、より詳細にはプロセッサと記憶装置とのアーキテクチャに関する。
コンピュータシステムにおいては、プロセッサの高速化に伴い、高速なプロセッサと低速なメインメモリとの処理速度の差が、システム全体の処理速度を向上させる上で深刻な問題となっている。そこでこの問題を解決するために、キャッシュ又はキャッシングと呼ばれる手法が用いられている。
キャッシュとは、高速なプロセッサと遅いメインメモリとの間に高速のキャッシュメモリを設け、両者の速度差を緩衝する方法である。単にキャッシュと言う場合はキャッシュメモリのことを言う場合も多い。プロセッサがデータにアクセスする場合は、最初にキャッシュメモリを調べて、もしその中にアクセスしたいデータがない場合にはじめてメインメモリにアクセスする。キャッシュメモリは非常に高速なSRAMを用いて構成されることが多く、プロセッサと同期して動作できるほど高速であるが、高価であるため大容量のキャッシュメモリを装備することは困難である。最近では、プロセッサのさらなる高速化に対応してキャッシュを多段構造とする例も多い。最近のCPUでは、プロセッサに最も近い一次キャッシュには、非常に高速だが高価なメモリを数10KB用い、一次キャッシュとメインメモリの間の二次キャッシュには、一次キャッシュ用メモリよりは低速だが安価なメモリを数100KB用いることが多い。二次キャッシュとメインメモリとの間に、三次キャッシュを用いるコンピュータシステムも存在する。
最近のプロセッサの一次キャッシュは、命令キャッシュとデータキャッシュの2つが搭載されている場合が多い。その名の通り、命令キャッシュは命令に関するデータを扱い、データキャッシュはその他のデータを扱う。例えば”1+3”という計算を実行する場合、命令キャッシュは加算演算コマンドである”+”を扱い、データキャッシュには1や3を扱う。さらに、キャッシュのヒット率を向上させるため、キャッシュメモリを複数のブロックに分割して同一のインデックスを持つデータを複数個格納できるようにした、セットアソシアティブと呼ばれる方法が用いられている。セットアソシアティブについては特開平05−225053号公報に詳しい記載がある。
次に、最近のコンピュータシステムに用いられるオペレーティングシステム(OS)は、カーネルモードとユーザーモードとを有する。これらはプロセッサの異なる動作モードに対応する。OSは、カーネルモードのプログラムを実行するにはプロセッサの特権モードを使用し、ユーザーモードのプログラムを実行するにはCPUやキャッシュの非特権モードを使用する。
特権モードと非特権モードでは、ハードウエア資源へのアクセス権が異なっている。特権モードで動作するプログラムに対し、プロセッサは、メインメモリやハードディスク・ネットワーク・プリンタなど、あらゆるハードウエア資源にアクセスを許可する。これに対して非特権モードで動作するプログラムに対し、プロセッサはハードウエア資源へのアクセスを制限する。OSは、プログラムをカーネルモードで動作させるかユーザーモードで動作させるかを上手く選択することで、OSをクラッシュや不正なプログラムから守ることができる。
最近のプロセッサは、特権レベルが異なる動作モードを複数備えていることが多い。特権レベルが異なるとアクセスできるメモリ領域が異なり、利用可能な命令やハードウエア資源へのアクセス権に違いがでる。多くのOSはそのうち2つをカーネルモード用とユーザーモード用にそれぞれ用いている。プロセッサの動作モードはOSの指示によって切り替えられる。
ところで、ある動作モードで使用される頻度の高いデータ群は、特権レベルが異なる別の動作モードで使用される頻度の高いデータ群とは異なっている。このため、プロセッサが動作モードを変更した直後では、キャッシュにその動作モードで使用するデータが格納されていないことが多く、プロセッサはメインメモリにアクセスしなければ必要なデータを取得できない場合が多い。プロセッサが動作の遅いメインメモリにアクセスしなければならないとなると、プロセッサの待機時間が増えて処理速度が遅くなる。のみならず、プロセッサがメインメモリにアクセスするために必要な電力は、キャッシュにアクセスするために必要な電力よりも大きいため、電力を余計に消費してしまう。また、プロセッサがメインメモリからのデータを待つ間にも、プロセッサで電力が消費されるので、これも無駄である。さらに、パイプラインを備えるプロセッサにおいては、データが送られてこないと、パイプライン処理が滞るパイプラインハザードが起こり、さらに消費電力の無駄が生じることになる。このような消費電力の無駄は、バッテリーで駆動する電子機器の動作可能時間を短くすることに繋がり、特にバッテリー駆動で使用する機会の多いノートパソコンや携帯電話などの携帯電子機器にとっては望ましいものではない。
図3を用いて既存技術を説明する。図3は、既存のコンピュータシステムを説明するためのブロック図である。コンピュータシステム1008は、CPU108とメインメモリ27を有する。CPU108は、基板25の上に演算や制御のコアとなる部分やキャッシュ、及び外部とのインターフェースなどが1個のLSIチップとして集積されたもので、中央演算処理装置(CPU)と呼ばれる。また、DSPの一部もCPU108と同じように演算コアやキャッシュ・外部インターフェースが1個のLSIチップとして集積された構造を有する。図3において演算や制御のコアとなる部分はプロセッサ11で示されており、プロセッサ11は内部にデータデコーダ,データ制御ユニット,スケジューラ,算術・論理演算ユニット,浮動小数点演算ユニットなどを含む。プロセッサ11のみをCPUと呼ぶ場合もある。CPU108は2段階のキャッシュを備え、さらに一次キャッシュは命令キャッシュとデータキャッシュに分かれる。図3において一次命令キャッシュのコントローラは13で表わされ、一次命令キャッシュ用メモリは15で表わされる。一次データキャッシュのコントローラは17、一次データキャッシュ用メモリは19でそれぞれ表わされる。一次データキャッシュコントローラ17と一次データキャッシュコントローラ19は、二次キャッシュ21に接続される。CPU108は外部機器との接続のためにバスインターフェース23を有しており、これを通じてコンピュータシステム1008のメインメモリであるメインメモリ27とも接続される。キャッシュメモリ15,19,21には高速だが高価なSRAMが使われるが、メインメモリはSRAMに比べれば低速だが安価なDRAMが使われることが多い。CPU108はリードフレームに載せられると共にモールド樹脂などで封入され、製品として販売される。コンピュータシステム1008の電源が投入されると、メインメモリ27にCPU108を情報処理装置として動作させるためのOS29がロードされる。
例として、プロセッサ11は特権レベルの異なる動作モードを4つ有することとし、それぞれ動作モード0〜3と呼ぶ。動作モード0は最も特権レベルが高く、ハードウエアへのアクセスを制限なく行なうことができる。動作モード3は最も特権レベルが低く、ハードウエアへのアクセスは大きく制限される。OS29は、カーネルモードのプログラムを実行するときは、プロセッサ11の動作モードを0に変更し、ユーザーモードのプログラムを実行するときは、プロセッサ11の動作モードを3に変更する。プロセッサ11には動作モードを切り替えるためのCPU命令が備えられおり、OS29はこれらのCPU命令を用いてプロセッサ11の動作モードを切り替えることができる。
OS29がカーネルモードのプログラムを実行しているとき、キャッシュメモリ15には動作モード0で頻繁に用いられるデータが格納されている。ここでOS29がユーザーモードに切り替えるため、プロセッサ11の動作モードを3に切り替えるとする。ところが、動作モード3で頻繁に用いるメモリ領域は、動作モード0で頻繁に用いるメモリ領域とは全く異なることが多い。このため、動作モードが3に切り替わった直後は、キャッシュメモリ15には動作モード3で必要なデータが格納されていない可能性が非常に高い。そこでプロセッサ11は、動作モードを3に切り替えた直後は、必要なデータをメインメモリ27まで取りに行く必要がある。一旦取ってきたデータキャッシュメモリ15に格納され、次に同じデータを必要とするときにはキャッシュメモリ15から手に入れることができる。
しかし、この過程でキャッシュメモリ15からは動作モード0で格納されていたデータが動作モード3で使用されるデータで上書きされて消えてしまう。このため、再びユーザーモードからカーネルモードへの切り替えが生じ、プロセッサ11が動作モードを0に変更すると、キャッシュメモリ15にはプロセッサ11が必要とするデータが格納されておらず、プロセッサ11はメインメモリ27まで必要なデータを取りに行かねばならない。このため従来のコンピュータシステム1008では、カーネルモードとユーザーモードとの切り替えが行なわれるために、プロセッサ11によるメインメモリ27へのアクセスが発生する。上記のように、メインメモリ27へのアクセスにはキャッシュメモリ15へのアクセスよりも長い時間がかかると共に、電力も余計に必要とする。アプリケーションによってはカーネルモードとユーザーモードとの切り替えが、1秒間に数百回〜数千回という頻度で行なうものもあり、処理の滞りや消費電力への影響は少なくない。
特開平05−225053号公報
本発明は、コンピュータシステムにおいて、プロセッサが動作モードを切り替える際に、必要なデータをスムーズに入手できるようにする技術を提供することを目的とする。
本発明の1つの側面によれば、本発明は、特権レベルが異なる動作モードを複数備えたプロセッサと、前記複数の動作モードのうちの特定の動作モードに関連付けられた専用記憶領域と、前記動作モードに応じて前記プロセッサと前記専用記憶領域とを接続する接続部と、を備えることを特徴とするコンピュータシステムを提供することができる。
このような構成によれば、プロセッサの動作モードが切り替わったとき、プロセッサは切替後のモードにおける専用の記憶領域を使用できるため、必要なデータへのアクセスがスムーズになる。プロセッサと専用記憶領域との接続は、物理的なスイッチによることもできるし、論理的なスイッチによることもできる。論理的なスイッチは、例えばプロセッサがアクセスを要求するデータのアドレスと、専用記憶領域におけるデータの格納場所とを対応付ける論理回路を用いることで実現できる。専用記憶領域はできるだけ高速な記憶媒体を用いて実現することが好ましく、例えばSRAMを用いることが好ましい。
上記の特徴を備えたコンピュータシステムは、プロセッサが有する複数の動作モードの各々について、その動作モードでのみプロセッサがデータを読みに行く専用記憶領域を設けてもよい。また、複数の動作モードのうち特定のモードのみに専用記憶領域を設けてもよい。例えば、プロセッサが4つの動作モードを有する場合、4つの動作モードそれぞれに専用記憶領域を設ける構成でもよいし、1番目の動作モードにのみ専用記憶領域を設け、他の動作モードでは共通の記憶領域を設けるような構成でもよい。使用頻度の高い動作モードにのみ専用記憶領域を設けることで、製造コストの上昇を抑えることができる。専用記憶領域は、物理的に専用の記憶媒体を用いて実現してもよいし、ある記憶媒体の特定の領域を論理的に区切って実現してもよい。後者の場合は上記接続部が論理的なスイッチであることができる。
さらに上記の特徴を備えたコンピュータシステムにおいて、複数の専用記憶領域を設ける場合は、それぞれの専用記憶領域について物理的に異なる記憶媒体を用いて実現してもよいし、同一の記憶媒体内の異なる領域を用いることで実現してもよい。前者の構成を採用した場合は、後者に比べて構造を簡単にすることができ、後者の構成を採用した場合は、前者よりも柔軟な構造を実現することができる。
後者のアプローチ、すなわち同一の記憶媒体を論理的に区切ることで複数の専用記憶領域を設ける実施態様は、例えば上記接続部が、プロセッサの要求するデータのアドレスと、論理的な専用記憶領域のデータ格納場所とを対応づけるような論理回路を持つことで実現できる。また、区切りの数や区切られた区画の大きさ(容量)を変更できるように構成することが好ましい。つまり、専用記憶領域の数や容量を可変とするように構成することが好ましい。このような構成では、プロセッサの各動作モードの使用頻度などを監視することで、メモリアクセスの効率が良い専用記憶領域の実施形態を柔軟に判断・実現できる。例えば、記憶媒体の容量が64KBであり、プロセッサが4種類の動作モードを有するとしたとき、ある場合は4つの動作モード全てに16KBずつの専用記憶領域を割り当て、別の場合は1番目の動作モードに32KBを割り当てると共に残りの32KBはその他の全ての動作モードでプロセッサがデータを読みに行く共通記憶領域ということが可能となる。
専用記憶領域に用いる記憶媒体の区切りの数や区画の大きさの変更は、直接的にはプロセッサの制御によって行なわれる。プロセッサは、各動作モードの使用状況を監視して、最も効率の良い専用記憶領域の数や大きさを自律的に調節することが好ましい。また、専用記憶領域の数や大きさの変更は、アプリケーションの実行中にも動的に行なうように構成することが好ましい。または、本発明による上記の特徴を備えたコンピュータシステムと協働して動作するコンピュータ・プログラムがある場合は、当該プログラムの指示によって専用記憶領域の数や大きさを変更できるように構成することも可能である。このような機能を持たせることが好ましいプログラムとして、オペレーティングシステムがある。
本発明による上記の特徴を備えたコンピュータシステムは、1つの実施態様において、第1の記憶媒体と第1の記憶媒体より高速の第2の記憶媒体とを備え、上記専用記憶領域を第2の記憶媒体内に実装する構成とすることができる。
このような実施態様の特徴を備えたコンピュータシステムにおいて、例えば第1のメモリをメインメモリとし、第2のメモリをキャッシュメモリとすることができる。すると、キャッシュメモリはプロセッサの特定のモードで専用的に使われる専用記憶領域を備えるように構成することができ、その専用領域に対応するプロセッサ動作モードにおいて使用頻度の高いデータを格納しておくことができる。上記の実施態様において、専用記憶領域にセットアソシアティブ方式のキャッシュを用いてもよい。
上記の実施態様の特徴を備えたコンピュータシステムは、かかる特徴を備えていないものに比べ、プロセッサが動作モードを変更した直後からアクセス速度の高いキャッシュメモリから必要なデータをすぐに入手できる可能性が高く、アクセス速度の遅いメインメモリにアクセスする回数が少なくてすむ。この結果、スムーズなキャッシュアクセスを実現すると共に、プロセッサがメインメモリからのデータ待ち時間に消費する電力や、プロセッサがメインメモリにアクセスするために消費する電力を、従来技術に比べて節約することができる。さらに、パイプラインを有するプロセッサを備えたコンピュータシステムに上記の実施態様を応用すれば、データ転送遅延に起因するパイプラインハザードの発生を減少させることができ、パイプラインハザード中に費やされる消費電力も節約することができる。
本発明の別の側面によって、本発明は、第1の動作モード及び第1の動作モードと特権レベルの異なる第2の動作モードとを有するプロセッサと、該プロセッサが第1の動作モードにおいてアクセスする第1の記憶領域と、該プロセッサが第2の動作モードにおいてアクセスする第2の記憶領域とを備えることを特徴とする、コンピュータシステムを提供することができる。このような特徴を備えるコンピュータシステムは、前記プロセッサが第1の動作モードであるときは、外部から取り込むデータを第1の記憶領域に格納し、該プロセッサが第2の動作モードであるときは、外部から取り込むデータを第2の記憶領域に格納するという特徴を備える実施態様を取ることができる。ここで第1の記憶領域と第2の記憶領域は、それぞれ物理的に異なる記憶媒体を用いて構成してもよいし、同一の記憶媒体上の異なる論理区画を用いて構成してもよい。
上記の特徴を備えたコンピュータシステムも、キャッシュを備えるコンピュータシステムに適用することができ、上記第1の記憶領域や第2の記憶領域をキャッシュに適用することができる。これらの記憶領域が特定の動作モードでアクセスされるため、スムーズなキャッシュアクセスを実現し、キャッシュアクセスに係る消費電力の節約効果も期待できる。
以上の説明を考慮すると、本発明は、以上に説明した特徴を備えるコンピュータシステムと協働して動作し、前記専用記憶領域の数や大きさの変更を前記プロセッサに指示する命令を備えることを特徴とするコンピュータ・プログラムを提供することができる。このようなプログラムは、例えばオペレーティングシステムに適用されることが好ましい。
本発明によって提供されるコンピュータシステムは、1チップのLSIとして集積された実施態様を含むことができる。このようなLSIは、パッケージに封入されて、製品として販売されることができる。また本発明によって提供されるコンピュータシステムは、携帯電子機器である実施態様を含むことができる。携帯電子機器とは、例えば携帯電話、PDA、ノートパソコン、携帯テレビ受像器、携帯型音楽/映像再生機、デジタルカメラ、ビデオレコーダーなど、携帯して用いることのできる電子機器である。本発明によるコンピュータシステムは、スムーズなキャッシュアクセスを実現するため、キャッシュアクセスにかかる消費電力の削減効果を期待できる。このためバッテリーで駆動する機会の多い携帯電子機器は、本発明の有用な適用分野である。
本発明によれば、コンピュータシステムにおいて、プロセッサが動作モードを切り替える際に、プロセッサが必要なデータをスムーズに入手することが可能となる。
以下、添付図面を参照して本発明の好適な実施例を説明する。図1は、本発明を適用したコンピュータシステムの一例を説明するためのブロック図である。
本発明の実施例であるコンピュータシステム1001は、図3で説明したコンピュータシステム1008と同様に、CPU101とメインメモリ27を有している。本実施例におけるCPU101は、図3で説明したCPU108と同様に、基板25の上に演算や制御のコアとなる部分やキャッシュ、及び外部とのインターフェースなどが集積された1個のLSIチップであり、リードフレームに載せられると共にモールド樹脂などで封入されて、製品として販売されることができる。CPU101は、プロセッサ31,一次命令キャッシュコントローラ33,キャッシュセレクタ37,1番目の一次命令キャッシュメモリ39,2番目の一次命令キャッシュメモリ41,一次データキャッシュコントローラ17,一次データキャッシュメモリ19,二次キャッシュ21,バスインターフェース23を有している。またCPU101は、バスインターフェース23を通じてコンピュータシステム1001のメインメモリであるメインメモリ27に接続される。コンピュータシステム1001の電源が投入されると、メインメモリ27にCPU101を情報処理装置として動作させるためのOS29がロードされる。上記に挙げたコンピュータシステム1001構成要素の中で、従来技術として説明したコンピュータシステム1008と同じ構成要素には同じ符号を付し、これ以上の説明を省略する。
CPU101のプロセッサ31は、図3のプロセッサ11と同様に、動作モード0〜3と呼ばれる特権レベルの異なる動作モードを4つ有しており、プロセッサ11が有する機能を全て備えることができる。しかしプロセッサ31は、動作モードを変更すると、その動作モードを外部に知らせることができるところがプロセッサ11と異なる。一次命令キャッシュコントローラ33は図3の一次命令キャッシュコントローラ13の機能を全て備えることができるが、プロセッサ31の動作モードを保持するレジスタ35を有するところが異なる。プロセッサ31は、その動作モードを変更すると、レジスタ35の状態を変更するように構成され、その他は従来技術のプロセッサと全く同じように作ることができる。
本実施例におけるCPU101は、キャッシュセレクタ37と2つの一次命令キャッシュメモリ39及び41を有する。キャッシュセレクタ37は、レジスタ35の状態をチェックし、レジスタ35の状態がCPUの動作モード0を示していれば、一次命令キャッシュコントローラ33と1番目の一次命令キャッシュメモリ39を接続する。また、レジスタ35の状態がCPUの動作モード1から3のいずれかを示していれば、一次命令キャッシュコントローラ33と2番目の一次命令キャッシュメモリ41を接続する。従って、1番目の一次命令キャッシュメモリ39は、プロセッサ31の動作モード0において専用的に用いられる専用キャッシュメモリとなる。2番目の一次命令キャッシュメモリ41は、プロセッサ31の動作モード1から3の全てで用いられる共用キャッシュメモリとなるが、CPU101を情報処理装置として動作させるOS29は、プロセッサ31の動作モードをモード0とモード3の2つしか用いないため、2番目の一次命令キャッシュメモリ41も事実上モード3の専用キャッシュメモリとなる。OSがもっと多くの動作モードを用いる場合は、3番目,4番目のキャッシュメモリを設け、それぞれキャッシュセレクタ37に接続することもできる。本実施例のように、複数のキャッシュメモリをそれぞれ物理的に独立したメモリを用いて実現する場合は、キャッシュセレクタ37はマルチプレクサを用いて比較的容易に作ることができる。図1でキャッシュメモリ39と41を異なる大きさで描いたように、キャッシュセレクタ37に接続する複数のキャッシュメモリの容量は、全て同じでもよいし、互いに異なっていても良い。また、キャッシュセレクタ37に接続する複数のキャッシュメモリの一部又は全部にセットアソシアティブ方式のキャッシュを用いる構成を採ることもできる。
次にコンピュータシステム1001の動作を説明する。
図3で説明したコンピュータシステム1008と同じように、OS29は、カーネルモードのプログラムを実行するときは、プロセッサ31の動作モードを最も特権レベルの高い0に変更し、ユーザーモードのプログラムを実行するときは、プロセッサ31の動作モードを最も特権レベルの低い3に変更する。
OS29がカーネルモードのプログラムを実行しているとき、プロセッサ31は動作モード0で動作している。レジスタ35の状態は、プロセッサ31が動作モード0で動作していることを示しており、キャッシュセレクタ37は1番目の一次命令キャッシュメモ39を一次命令キャッシュコントローラ33に接続する。従ってプロセッサ31は、キャッシュメモリ39にアクセスすることができるようになる。
動作モード0において、一次命令キャッシュメモリ39には、プロセッサ31が動作モード0で頻繁に用いるデータが格納されていく。必要なデータがキャッシュメモリ39に格納されていない場合は、そのデータをメインメモリ27から取ってこなければならない。が、一旦取ってきたデータはキャッシュメモリ39に格納され、次にプロセッサ31がそのデータを必要とするときは、キャッシュメモリ39からそのデータを手に入れることができる。
次に、OS29がユーザーモードのプログラムを実行するため、プロセッサ31に動作モードを3に切り替えるための命令を出す。モード切替命令を受け取ったプロセッサ31は、自身の動作モードを3に切り替えると共に、レジスタ35の状態をプロセッサ31がモード3で動作していることを示すように変更する。これを受けてキャッシュセレクタ37は、2番目の一次命令キャッシュメモリ41を一次命令キャッシュコントローラ33に接続する。従ってプロセッサ31は、キャッシュメモリ39から切り離されると共に、キャッシュメモリ41にアクセスすることができるようになる。そこで一次命令キャッシュメモリ41には、プロセッサ31が動作モード3で頻繁に用いるデータが格納されていく。
ここでOS29が、再びカーネルモードのプログラムを実行するため、プロセッサ31に動作モードを0に切り替えるためのデータを出すとする。するとキャッシュセレクタ37によって、プロセッサ31はキャッシュメモリ41から切り離され、キャッシュメモリ39に接続される。このときキャッシュメモリ39には、プロセッサ31が動作モード0で頻繁に用いるデータが格納されたままである。このためプロセッサ31は、動作モードが再び0に切り替わった直後から、動作モード0で必要となるデータをキャッシュメモリ39から手に入れることができる。従って、プロセッサ31が動作モードの切り替え後にメインメモリ27にアクセスする必要性は従来技術に比べて減少し、プロセッサ31は必要なデータを短時間で手に入れることができる。
同様に、OS29が、再びユーザーモードのプログラムを実行するため、プロセッサ31に動作モードを3に切り替えるための命令を出すときのことを考える。プロセッサ31の動作モードが3に切り替わると、上記のキャッシュセレクタ37によって、プロセッサ31はキャッシュメモリ41に接続される。このときキャッシュメモリ41にはプロセッサ31が動作モード3で頻繁に用いるデータが格納されたままであるので、プロセッサ31は、動作モードが3に切り替わった直後から、動作モード3で必要となるデータをキャッシュメモリ41から手に入れることができる可能性が増す。
このように、本発明の実施例であるコンピュータシステム1001は、プロセッサの動作モードの切り替え後にプロセッサがメインメモリにアクセスする必要性を、従来技術に比べて減少させることができる。このため、本発明の実施例であるコンピュータシステム1001は、プロセッサがメインメモリからのデータを待つ時間の間に消費する電力や、プロセッサがメインメモリにアクセスするために必要な電力を節約することができる。さらに、プロセッサ31がパイプラインを備えるプロセッサである場合、データ転送遅延に起因するパイプラインハザードの発生を減少させることができ、パイプラインハザード中に費やされる消費電力も節約することができる。カーネルモードとユーザーモードとの切り替えは、アプリケーションによっては1秒間に数百回〜数千回という頻度で行なわれるので、ここで説明した本実施例の節電効果は極めて高いと言える。
本実施例においては、プロセッサ31は動作モードが切り替わったことをレジスタ35に反映させるように構成することの他は、従来のプロセッサと同じように作ることができ、複数の一次命令キャッシュがあることを特に意識して作る必要はない。また、OSも同様であり、複数の一次命令キャッシュがあることを特に意識する必要はない。従って、本発明の実施態様であるCPU101は、製造が困難ではなく、従来のコンピュータシステムとの互換性も高い。
なお、上記の実施例では一次命令キャッシュにのみ、プロセッサの動作モードに対応した専用キャッシュを設けたが、一次データキャッシュ17,19や、二次キャッシュ17にも同様の構成でプロセッサの動作モードに対応した専用キャッシュを設けることも可能である。また、CPU101とメインメモリ27の間に三次キャッシュを設けるコンピュータシステムも存在するが、その場合に三次キャッシュにも上記と同様にプロセッサの動作モードに対応した専用キャッシュを設けることが可能である。
次に、図2を参照して本発明の第2の実施例を説明する。図2は、本発明の第2の実施例に係るコンピュータシステムを説明するためのブロック図である。
本発明の実施例であるコンピュータシステム1002は、第1実施例で説明したコンピュータシステム1001と同様に、CPU102とメインメモリ27を有している。CPU102は、第1実施例のCPU101と同様に、基板25の上に演算や制御のコアとなる部分やキャッシュ、及び外部とのインターフェースなどが集積された1個のLSIチップである。CPU102は、プロセッサ51,一次命令キャッシュコントローラ33,アドレス変換部53,一次命令キャッシュメモリ55,一次データキャッシュコントローラ17,一次データキャッシュメモリ19,二次キャッシュ21,バスインターフェース23を有している。またCPU102は、バスインターフェース23を通じてコンピュータシステム1002のメインメモリであるメインメモリ27に接続される。コンピュータシステム1002の電源が投入されると、メインメモリ27にCPU102を情報処理装置として動作させるためのOS61がロードされる。上記に挙げたコンピュータシステム1002構成要素の中で、従来技術として説明したコンピュータシステム1008や本発明の実施例1として説明したコンピュータシステム1001と同じ構成要素には同じ符号を付し、これ以上の説明を省略する。
CPU102のプロセッサ51は、実施例1に係るプロセッサ31と同様に、動作モード0〜3と呼ばれる特権レベルの異なる動作モードを4つ有しており、プロセッサ31が有する機能を全て備えることができる。即ちプロセッサ51は、その動作モードを変更するとき、レジスタ35にデータを書き込み、レジスタ35の状態がプロセッサ51の動作モードを示すように変更する機能を有する。プロセッサ31と同様に、プロセッサ51における特権レベルの最も高い動作モードは0であり、最も低い動作モードは3であるとする。
本実施例における一次命令キャッシュメモリ55は、単一のSRAMから構成されるが、内部を第1領域57と第2領域59に論理的に分割して用いることができる。そして、第1領域57はプロセッサ51の動作モード0において専用的に用いられる専用キャッシュ領域として用いられ、第2領域59はプロセッサ51の動作モード1から3の全てで用いられる共用キャッシュ領域として用いられる。プロセッサ51が要求するデータのアドレス空間と一次命令キャッシュメモリ55の各領域におけるデータ格納場所との対応関係は、アドレス変換部53によって整合性が取られる。アドレス変換部53は、レジスタ35の状態をチェックし、レジスタ35の状態がCPUの動作モード0を示していれば、プロセッサ51が要求するデータのアドレス空間が、第1領域57のデータ格納構造にマッピングされるように、プロセッサ51から要求するデータのアドレスを変換する。これによって、第1領域57を、プロセッサ51の動作モード0で専用的に用いられる専用キャッシュ領域とすることができる。
またアドレス変換部53は、レジスタ35の状態がCPUの動作モード1から3のいずれかを示していれば、プロセッサ51が要求するデータのアドレス空間が、第2領域59のデータ格納構造にマッピングされるように、プロセッサ51から要求するデータのアドレスを変換する。これによって、第2領域59を、プロセッサ51の動作モード1から3の全てにおいて用いられる共用キャッシュ領域とすることができる。しかし、OS61が第1実施例におけるOS29と同様に、プロセッサ51の動作モードを0と3の2つしか用いないならば、第2領域59は事実上動作モード3の専用キャッシュ領域となるであろう。
図3に示した一次命令キャッシュメモリ55は2つの領域に論理的に区切られているが、もちろんプロセッサ51の動作モード全てに専用キャッシュ領域が割り当てられるように、論理的に4つに区切る実施態様も可能である。その場合アドレス変換部53は、それぞれの専用キャッシュ領域のデータ格納構造と、プロセッサ51が要求するデータのアドレス空間とが正しく対応できるようなアドレス変換処理を行なうように構成されねばならない。
なお、第1領域57や第2領域59のデータ格納構造は、従来のキャッシュメモリにおけるデータ格納構造と同様に、プロセッサ51が要求するデータのアドレスの下位ビット(エントリアドレス)に対応してデータを格納するような構造にすることが好ましい。
一次命令キャッシュメモリ55内の論理的区切りの数や区切られた領域の大きさ(容量)は固定でも良いが、可変であることが望ましい。キャッシュメモリ55の論理的区切りは実質的にアドレス変換部53によるアドレス変換に依存するので、このアドレス変換機能が論理的区切りの数や大きさに対して可変でなくてはならない。連続的に可変とするとアドレス変換部53の論理回路が複雑になるので、特定の区切りの数や大きさだけを実現するように構成してもよい。このようなアドレス変換部53の一例として、論理的区切りの数が2つとするアドレス変換モードと4つになるアドレス変換モードを備える構成が考えられる。また、キャッシュメモリ55の大きさが64KBをとして、論理的区切りの数が2つの場合は各領域に32KBずつ割り当てるアドレス変換モードと、一方の領域に16KB,もう一方の領域に48KBを割り当てるアドレス変換モードを備える構成が考えられる。
アドレス変換部53のアドレス変換モードの切り替えは、直接的にはプロセッサ51の指示によって行なう。プロセッサ51の指示は、プロセッサ51がアドレス変換部53に直接行なう構成としても良いし、レジスタ35がプロセッサ51の指示するアドレス変換モードを示すように拡張し、プロセッサ51がレジスタ35を通じて指示を行なう構成としてもよい。
上記説明したアドレス変換部53のアドレス変換モードの切り替えのタイミングは、プロセッサ51が自律的に判断できることが好ましい。この機能は、プロセッサ51に組み込まれたソフトウエア(ファームウエア)あるいは動的再構成が可能な回路によって実装される。ファームウエアはOSやアプリケーションが使用する動作モードの数や、各動作モードで使用される頻度の高いデータのデータサイズを監視し、プロセッサ51がメインメモリにアクセスする頻度ができるだけ小さくなるようなキャッシュメモリ55の論理的区切りの数や大きさ判断する。即ち、アドレス変換部53の最適なアドレス変換モードを選択する。このような構成とすることで、CPU102は、様々なOSに対応して、動作モード切替時のメインメモリへのアクセス回数を抑制することが可能となる。
キャッシュメモリ55内の論理的区切りの数や区切られた領域の大きさを変更する命令を、OS61に実装することもできる。これは、アドレス変換部53のアドレス変換モードを切り替える命令としても実装することができる。この場合はプロセッサ51が、かかる命令を解釈してアドレス変換部53のアドレス変換モードを制御する機能を備える必要がある。
次にコンピュータシステム1002の動作を説明する。
実施例1に係るコンピュータシステム1001のOS29と同じように、OS61は、カーネルモードのプログラムを実行するときは、プロセッサ51の動作モードを最も特権レベルの高い0に変更し、ユーザーモードのプログラムを実行するときは、プロセッサ51の動作モードを最も特権レベルの低い3に変更する。
OS61がカーネルモードのプログラムを実行しているとき、プロセッサ51は動作モード0で動作しており、レジスタ35の状態はプロセッサ51が動作モード0で動作していることを示している。そこでアドレス変換部53は、プロセッサ51が要求するデータのアドレスを、一次命令キャッシュメモリ55の第1領域57の対応するデータ格納位置に関連付ける。従ってプロセッサ51は、専らキャッシュメモリ55内の第1領域57のみにアクセスしていることとなる。このため動作モード0において、第1領域57にはプロセッサ51が動作モード0で頻繁に用いるデータが格納されていく。必要なデータが第1領域57に格納されていない場合は、プロセッサ51そのデータをメインメモリ27から取ってこなければならない。が、一旦取ってきたデータは第1領域57に格納され、次にプロセッサ51がそのデータを必要とするときは、第1領域57からそのデータを手に入れることができる。
次に、OS61がユーザーモードのプログラムを実行するため、プロセッサ51に動作モードを3に切り替えるための命令を出す。モード切替命令を受け取ったプロセッサ51は、自身の動作モードを3に切り替えると共に、レジスタ35の状態をプロセッサ51がモード3で動作していることを示すように変更する。これを受けてアドレス変換部53は、プロセッサ51が要求するデータのアドレスを、一次命令キャッシュメモリ55の第2領域59の対応するデータ格納位置に関連付ける。従ってプロセッサ51は、専らキャッシュメモリ55内の第2領域59のみにアクセスすることとなり、第1領域57にはアクセスできなくなる。そこで第2領域59には、プロセッサ51が動作モード3で頻繁に用いるデータが格納されていく。
ここで、OS61が、再びカーネルモードのプログラムを実行するため、プロセッサ51の動作モードを0に切り替える。するとアドレス変換部53によって、プロセッサ51は第2領域59から切り離され、第1領域57に接続される。このとき第1領域57にはプロセッサ51が動作モード0で頻繁に用いるデータが格納されたままであるため、プロセッサ51は直ちに動作モード0で頻繁に用いるデータを第1領域57から手に入れることができる。従って、プロセッサ51が動作モードの切り替え後にメインメモリ27にアクセスする必要性は従来技術に比べて減少し、プロセッサ51は必要なデータを短時間で手に入れることができる。
同様に、OS61が、再びユーザーモードのプログラムを実行するため、プロセッサ51に動作モードを3に切り替えるときのことを考える。するとアドレス変換部53によって、プロセッサ51は第2領域59に接続される。このとき第2領域59にはプロセッサ51が動作モード3で頻繁に用いるデータが格納されたままであるため、プロセッサ51は直ちに動作モード3で頻繁に用いるデータを第2領域59から手に入れることができる。
なお、上記の実施例では一次命令キャッシュ55のみ、論理的に分割してプロセッサの動作モードに対応した専用キャッシュ領域を設けたが、一次データキャッシュ17,19や、二次キャッシュ17にも同様な手段で専用キャッシュ領域を設けることが可能である。また、一次キャッシュが命令キャッシュとデータキャッシュに分かれていないアーキテクチャのキャッシュにも上記のような専用キャッシュ領域を設けることも、もちろん可能である。さらに、CPU102とメインメモリ27の間に三次キャッシュを設けるコンピュータシステムも存在するが、その場合に三次キャッシュにも上記と同様の手段によりプロセッサの動作モードに対応した専用キャッシュ領域を設けることが可能である。
以上のように、本発明の第2実施例であるコンピュータシステム1002は、本発明の第1実施例であるコンピュータシステム1001と同様に、プロセッサの動作モードの切り替え後にプロセッサがメインメモリにアクセスする回数が、従来技術に比べて少なくてすむ。このため、本発明の第2実施例であるコンピュータシステム1002も、プロセッサがメインメモリからのデータを待つ時間の間に消費する電力や、プロセッサがメインメモリにアクセスするために必要な電力を節約することができる。さらに、プロセッサ51がパイプラインを備えるプロセッサである場合、データ転送遅延に起因するパイプラインハザードの発生を減少させることができ、パイプラインハザード中に費やされる消費電力も節約することができる。カーネルモードとユーザーモードとの切り替えは、アプリケーションによっては1秒間に数百回〜数千回という頻度で行なわれるので、ここで説明した本実施例の節電効果は極めて高いと言える。
第2実施例に係るコンピュータシステム1002は、第1実施例に係るコンピュータシステム1001よりも、プロセッサのキャッシュアクセスをOSやアプリケーションに合わせて柔軟に最適化することができるという利点を有する。一方、第1実施例に係るコンピュータシステム1001は、第2実施例に係るコンピュータシステム1002よりも、製造が容易だという利点がある。
第1実施例や第2に実施例で用いられたキャッシュメモリ19,21,39,41,55には、高速なSRAMを用いることが好ましい。メインメモリ27は、低速だが安価なDRAMでもよい。第1実施例に係るCPU101や第2実施例に係るCPU102はリードフレームに載せられると共にモールド樹脂などで封入され、製品として販売されることができる。また、本発明の第1実施例に係るコンピュータシステム1001や第2実施例に係るコンピュータシステム1002は、その節電効果のため、携帯電話やPDA、ノートパソコン、携帯テレビ受像器、携帯型音楽/映像再生機、デジタルカメラ、ビデオレコーダーなど、携帯して用いることのできる電子機器用のCPUやDSPに好適に適用されうる。さらに、プロセッサの動作モードが頻繁に切り替わる、ルーターなどのネットワーク機器も好適な適用対象と言える。
以上、本発明の好適な実施例の説明を終えるが、本発明の範囲は上記に説明した構成に限定されるものではなく、本発明の思想を超えない範囲で様々な実施態様を取りうることは言うまでもない。例えば、第2実施例では1つの記憶媒体の一部を論理的に区分して専用記憶領域を設ける実施態様の例を説明したが、このような実施例のみならず、複数の記憶媒体を論理的に1つのボリュームとみなして、その論理ボリュームの一部を区分して専用記憶領域を設ける構成も可能である。
本発明を適用したコンピュータシステムの一例を説明するためのブロック図である。 本発明を適用したコンピュータシステムの別の例を説明するためのブロック図である。 従来技術を説明するための図である。
符号の説明
17 一次データキャッシュコントローラ
19 一次データキャッシュメモリ
21 二次キャッシュ
23 バスインターフェース
25 基板
27 メインメモリ
29 OS
31 プロセッサ
33 一次命令キャッシュコントローラ
37 キャッシュセレクタ
39 1番目の一次命令キャッシュメモリ
41 2番目の一次命令キャッシュメモリ
101 CPU
1001 コンピュータシステム

Claims (20)

  1. 特権レベルが異なる動作モードを複数備えたプロセッサと、
    前記複数の動作モードのうちの特定の動作モードに関連付けられた専用記憶領域と、
    前記動作モードに応じて前記プロセッサと前記専用記憶領域とを接続する接続部と、
    を備えることを特徴とするコンピュータシステム。
  2. 前記専用記憶領域は、物理的に専用の記憶媒体を用いて構成されることを特徴とする、請求項1のコンピュータシステム。
  3. 前記専用記憶領域は、記憶媒体内の記憶領域を論理的に区分して構成されることを特徴とする、請求項1のコンピュータシステム。
  4. 前記接続部は、前記プロセッサがアクセスを要求するデータのアドレスと、前記専用記憶領域におけるデータの格納場所とを対応付けることを特徴とする、請求項3に記載のコンピュータシステム。
  5. 前記専用記憶領域はセットアソシアティブ方式のキャッシュであることを特徴とする、請求項1から4のいずれかに記載のコンピュータシステム。
  6. 前記専用記憶領域の数を変更する手段を有する請求項3又は4に記載のコンピュータシステム。
  7. 前記専用記憶領域の数を自律的に変更する手段を有する請求項6に記載のコンピュータシステム。
  8. 前記コンピュータシステムと協働して動作するプログラムを備え、前記プログラムの指示により前記専用記憶領域の数を変更する、請求項6又は7に記載のコンピュータシステム。
  9. 前記専用記憶領域の大きさを変更する手段を有する請求項1に記載のコンピュータシステム。
  10. 前記専用記憶領域の大きさを自律的に変更する手段を有する請求項9に記載のコンピュータシステム。
  11. 前記コンピュータシステムと協働して動作するプログラムを備え、前記プログラムの指示により前記専用記憶領域の大きさを変更する、請求項9又は10に記載のコンピュータシステム。
  12. 前記専用記憶領域はSRAMを用いて構成される、請求項1から11のいずれかに記載のコンピュータシステム。
  13. 第1の記憶媒体と、前記第1の記憶媒体より高速の第2の記憶媒体とを備え、前記専用記憶領域は前記第2の記憶媒体内に実装されることを特徴とする、請求項1から12のいずれかに記載のコンピュータシステム。
  14. 第1の動作モードと前記第1の動作モードと特権レベルの異なる第2の動作モードとを有するプロセッサと、前記プロセッサが前記第1の動作モードにおいてアクセスする第1の記憶領域と、前記プロセッサが前記第2の動作モードにおいてアクセスする第2の記憶領域と、を備えることを特徴とするコンピュータシステム。
  15. 前記プロセッサが前記第1の動作モードであるときは、外部から取り込むデータを前記第1の記憶領域に格納し、前記プロセッサが前記第2の動作モードであるときは、外部から取り込むデータを前記第2の記憶領域に格納することを特徴とする、請求項14に記載のコンピュータシステム。
  16. 前記第1の記憶領域と前記第2の記憶領域は、それぞれ物理的に異なる記憶媒体上に存在することを特徴とする、請求項14又は15に記載のコンピュータシステム。
  17. 前記第1の記憶領域と前記第2の記憶領域は、同一の記憶媒体上の異なる論理区画に存在することを特徴とする、請求項14又は15に記載のコンピュータシステム。
  18. 1チップのLSIとして集積されていることを特徴とする、請求項1から17のいずれかに記載のコンピュータシステム。
  19. 携帯電子機器であることを特徴とする、請求項1から17のいずれかに記載のコンピュータシステム。
  20. 請求項1から13のいずれかに記載のコンピュータシステムと協働して動作し、前記専用記憶領域の数や大きさの変更を前記プロセッサに指示する命令を備えることを特徴とするプログラム。

JP2005021482A 2005-01-28 2005-01-28 コンピュータシステム Withdrawn JP2006209527A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005021482A JP2006209527A (ja) 2005-01-28 2005-01-28 コンピュータシステム
US11/339,095 US7543127B2 (en) 2005-01-28 2006-01-24 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005021482A JP2006209527A (ja) 2005-01-28 2005-01-28 コンピュータシステム

Publications (1)

Publication Number Publication Date
JP2006209527A true JP2006209527A (ja) 2006-08-10

Family

ID=36758025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005021482A Withdrawn JP2006209527A (ja) 2005-01-28 2005-01-28 コンピュータシステム

Country Status (2)

Country Link
US (1) US7543127B2 (ja)
JP (1) JP2006209527A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6929474B1 (ja) * 2020-05-01 2021-09-01 三菱電機株式会社 プログラム実行装置、プログラム実行方法及びコンピュータプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7734873B2 (en) * 2007-05-29 2010-06-08 Advanced Micro Devices, Inc. Caching of microcode emulation memory
KR101020295B1 (ko) * 2009-03-30 2011-03-07 주식회사 하이닉스반도체 어드레스 변환회로 및 이를 이용한 반도체 메모리 장치
US10884751B2 (en) 2018-07-13 2021-01-05 Advanced Micro Devices, Inc. Method and apparatus for virtualizing the micro-op cache

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63284650A (ja) 1987-05-18 1988-11-21 Matsushita Electric Ind Co Ltd キャッシュメモリ制御装置
US5353424A (en) 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5237616A (en) 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
FI115257B (fi) 2001-08-07 2005-03-31 Nokia Corp Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko
US6952754B2 (en) * 2003-01-03 2005-10-04 Intel Corporation Predecode apparatus, systems, and methods
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6929474B1 (ja) * 2020-05-01 2021-09-01 三菱電機株式会社 プログラム実行装置、プログラム実行方法及びコンピュータプログラム
WO2021220516A1 (ja) * 2020-05-01 2021-11-04 三菱電機株式会社 プログラム実行装置、プログラム実行方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US7543127B2 (en) 2009-06-02
US20060174079A1 (en) 2006-08-03

Similar Documents

Publication Publication Date Title
JP5412504B2 (ja) マルチスレッドプロセッサ及びデジタルテレビシステム
US9928168B2 (en) Non-volatile random access system memory with DRAM program caching
US20160217069A1 (en) Host Controlled Hybrid Storage Device
US20080270707A1 (en) Data processor
WO2010144832A1 (en) Partitioned replacement for cache memory
CN112997161A (zh) 将储存系统用作主存储器的方法和装置
US11921650B2 (en) Dedicated cache-related block transfer in a memory system
KR20170081275A (ko) 재구성가능한 페치 파이프라인
US6772326B2 (en) Interruptible and re-entrant cache clean range instruction
JP2006209527A (ja) コンピュータシステム
JP4364878B2 (ja) 演算処理装置
JP3935873B2 (ja) プリフェッチ・バッファを用いたメモリ電力管理
US10725928B1 (en) Translation lookaside buffer invalidation by range
US8539159B2 (en) Dirty cache line write back policy based on stack size trend information
JP4693843B2 (ja) メモリ制御装置及びメモリ制御方法
JP2006302343A (ja) 情報記録再生装置
US7299340B2 (en) Data processing device having selective data cache architecture and computer system including the same
KR100532417B1 (ko) 디지털 신호 처리장치의 저전력 소비형 캐시 메모리 장치및 이에 대한 제어방법
TW202227978A (zh) 記憶體共享
US8099533B2 (en) Controller and a method for controlling the communication between a processor and external peripheral device
JP6209573B2 (ja) 情報処理装置および情報処理方法
US20040024970A1 (en) Methods and apparatuses for managing memory
JP2008129851A (ja) 演算処理装置
KR101101867B1 (ko) 모바일 스토리지 제어 장치
KR100486252B1 (ko) 캐쉬 장치 및 이에 적합한 캐쉬 제어 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080401