JP4498705B2 - Cash system - Google Patents
Cash system Download PDFInfo
- Publication number
- JP4498705B2 JP4498705B2 JP2003312617A JP2003312617A JP4498705B2 JP 4498705 B2 JP4498705 B2 JP 4498705B2 JP 2003312617 A JP2003312617 A JP 2003312617A JP 2003312617 A JP2003312617 A JP 2003312617A JP 4498705 B2 JP4498705 B2 JP 4498705B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- access
- control unit
- cache memory
- mode
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、キャッシュメモリを備えるキャッシュシステムに関し、特に、低速かつ低消費電力でキャッシュメモリを動作させるアクセスモードと、高速かつ高消費電力でキャッシュメモリを動作させるアクセスモードとを有するキャッシュシステムに関する。 The present invention relates to a cache system including a cache memory, and more particularly to a cache system having an access mode for operating a cache memory at low speed and low power consumption and an access mode for operating a cache memory at high speed and high power consumption.
二つのアクセスモードを有するキャッシュシステムの第1の例が、下記特許文献1に開示されている。第1のアクセスモード(全部アクセスモード)では、アドレスメモリに関するヒット/ミス判定動作に並行して、全てのウェイに対するインデックス動作が行われる。これにより、キャッシュメモリから外部へのデータ出力の高速化が図られる。一方、第2のアクセスモード(唯一アクセスモード)では、インデックス動作に先立ってアドレスメモリに関するヒット/ミス判定動作が行われ、当該判定動作により得られたウェイ選択信号によって選択されたウェイに対してのみ、インデックス動作が行われる。これにより、必要最小限のデータメモリ領域のみが動作することとなり、消費電力の低減が図られる。
A first example of a cache system having two access modes is disclosed in
また、二つのアクセスモードを有するキャッシュシステムの第2の例が、下記特許文献2に開示されている。キャッシュシステムはCPUとキャッシュメモリとを備えており、CPUはプロセッサコアとプリフェッチ装置とを有している。プリフェッチ装置は、命令バッファ、バッファ占有度検出器、及び分岐命令予測器を含んでいる。第1のアクセスモード(並列アクセスモード)では、アドレスメモリに関するヒット/ミス判定動作に並行して、全てのデータRAMユニットに対するインデックス動作が行われる。一方、第2のアクセスモード(直列アクセスモード)では、インデックス動作に先立ってタグRAMに関するヒット/ミス判定動作が行われ、当該判定動作により得られた一致信号によって選択された一つのデータRAMユニットに対してのみ、インデックス動作が行われる。
A second example of a cache system having two access modes is disclosed in
しかしながら、上記特許文献1,2に開示された従来のキャッシュシステムには、以下のような問題がある。
However, the conventional cache systems disclosed in
上記特許文献1において、全部アクセスモードと唯一アクセスモードとの選択が行われる例として記載されているのは、連続読み出しのようなバーストアクセスの場合のみである。すなわち上記特許文献1には、バーストアクセスの場合において、第1回目のアクセスでは全部アクセスモードでキャッシュメモリを動作させ、第2回目以降のアクセスでは唯一アクセスモードで動作させることが記載されている。
In the above-mentioned
しかしながら、二つのアクセスモードの選択が必要となるのは、バーストアクセスにおける第1回目のアクセスと第2回目以降のアクセスとに限らない。 However, the selection of the two access modes is not limited to the first access and the second and subsequent accesses in burst access.
例えば、複数のキャッシュシステムが搭載されている半導体装置において、一のキャッシュシステムが消費電力優先のアクセスモード(上記第2のアクセスモード)で動作している状況で、他のキャッシュシステムから高速な処理を要するアクセス要求があった場合は、高速動作優先のアクセスモード(上記第1のアクセスモード)に切り替えて、他のキャッシュシステムからのアクセス要求に対する処理を早急に開始することが望ましい。 For example, in a semiconductor device equipped with a plurality of cache systems, high-speed processing from other cache systems in a situation where one cache system is operating in the power consumption priority access mode (second access mode). If there is an access request that requires a high-speed operation, it is desirable to switch to the access mode prioritizing high-speed operation (the first access mode) and to immediately start processing for access requests from other cache systems.
また、スヌープ処理やライトバック処理等に起因して、キャッシュシステムが新たなアクセス要求を受け付けることができない状態になった場合は、パイプライン処理の後段の処理が詰まるために複数の命令間にレジスタ依存性が生じやすくなり、その結果、性能の低下を引き起こす可能性が高くなる。従って、このような状態になった場合には、高速動作優先のアクセスモードでキャッシュメモリを動作させることが望ましい。 Also, if the cache system becomes unable to accept a new access request due to snoop processing, write back processing, etc., the processing at the later stage of pipeline processing is clogged, so that the register between multiple instructions Dependencies are likely to occur, and as a result, there is a high possibility of causing a decrease in performance. Therefore, in such a state, it is desirable to operate the cache memory in an access mode that prioritizes high-speed operation.
また、キャッシュシステムが複数のアクセス要求を同時に受けた場合、優先度の高いアクセス要求に対する処理が終了するまで、優先度の低いアクセス要求に対する処理の実行開始が待たされることとなるため、性能の低下を引き起こす。従って、複数のアクセス要求を同時に受けた場合には、高速動作優先のアクセスモードでキャッシュメモリを動作させることが望ましい。 In addition, when the cache system receives a plurality of access requests at the same time, the processing start for the low priority access request is waited until the processing for the high priority access request is completed. cause. Therefore, when a plurality of access requests are received at the same time, it is desirable to operate the cache memory in an access mode giving priority to high-speed operation.
また、分岐命令が実行された際、分岐後の処理に高速動作が求められる場合もある。例えば、組み込み用途における割り込み処理は、実時間内で応答が求められることが多い。従って、分岐先アドレスに割り込みルーチンが指定されている場合には、高速動作優先のアクセスモードでキャッシュメモリを動作させることが望ましい。 In addition, when a branch instruction is executed, high-speed operation may be required for processing after branching. For example, an interrupt process in an embedded application often requires a response within real time. Therefore, when an interrupt routine is specified for the branch destination address, it is desirable to operate the cache memory in an access mode that prioritizes high-speed operation.
また、上記特許文献1,2においては、発行される命令の種類によってアクセスモードを切り替えることができない。しかも上記特許文献2においては、プリフェッチ装置を有しない装置には対応できず、また、分岐命令予測器が必要であるために回路規模が増大する。
In
また、プロセッサが必要とするデータがキャッシュメモリ内に格納されていない場合には、外部メモリとのデータのやりとりが生じるため、性能低下を引き起こす。しかも、パイプライン処理の後段の処理が詰まるために複数の命令間にレジスタ依存性が生じやすくなり、その結果、さらに性能の低下を引き起こす可能性が高くなる。従って、このような場合には、高速動作優先のアクセスモードでキャッシュメモリを動作させることが望ましい。 In addition, when data required by the processor is not stored in the cache memory, data exchange with the external memory occurs, resulting in performance degradation. In addition, since the subsequent processing of the pipeline processing is clogged, register dependency is likely to occur between a plurality of instructions, and as a result, there is a high possibility that the performance will be further deteriorated. Therefore, in such a case, it is desirable to operate the cache memory in an access mode that prioritizes high-speed operation.
また、詳細は後述するが、消費電力優先のアクセスモードから高速動作優先のアクセスモードに切り替える際に、場合によっては、高速動作を実現できないうえに消費電力の低減も図れないという、不適切な状況が発生し得る。 In addition, as will be described in detail later, when switching from an access mode that prioritizes power consumption to an access mode that prioritizes high-speed operation, in some cases it is not possible to achieve high-speed operation and reduce power consumption. Can occur.
本発明はこれらの問題を解決するために成されたものであり、プロセッサがシステム全体の内部状況を判断することにより、キャッシュシステムが搭載されている半導体装置全体の処理速度を低下させず、しかも可能な限り低消費電力で動作するように、アクセスモードを適切に選択することが可能なキャッシュシステムを得ることを目的とする。 The present invention has been made to solve these problems, and the processor determines the internal state of the entire system so that the processing speed of the entire semiconductor device on which the cache system is mounted is not reduced. An object of the present invention is to obtain a cache system capable of appropriately selecting an access mode so as to operate with as low power consumption as possible.
また、本発明は、プロセッサが実行する命令コードの種類に応じてアクセスモードを適切に選択することが可能なキャッシュシステムを得ることを目的とする。 It is another object of the present invention to provide a cache system that can appropriately select an access mode according to the type of instruction code executed by a processor.
第1の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。キャッシュメモリには、プロセッサとは異なる機能ブロックからも、キャッシュ制御部を介してアクセス可能であり、プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、機能ブロックからキャッシュメモリへのアクセスの状況に応じて、第1のモードと第2のモードとを切り替える。 According to the first invention, the cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. The cache memory can be accessed from a functional block different from the processor via the cache control unit, and the cache control unit can switch between each other at a first speed with respect to the access to the cache memory from the processor, and A first mode for accessing at a first power consumption, and a second mode for accessing at a second speed higher than the first speed and at a second power consumption higher than the first power consumption. The cache control unit switches between the first mode and the second mode according to the state of access from the functional block to the cache memory.
第2の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、プロセッサからキャッシュメモリへのアクセス要求を受け付けることができるか否かに応じて、第1のモードと第2のモードとを切り替える。 According to the second invention, the cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. Regarding the access from the processor to the cache memory, the cache control unit can switch between the first mode and the first mode for accessing at the first power consumption and the second speed that is faster than the first speed. And whether or not the cache control unit can accept an access request to the cache memory from the processor, and has a second mode of accessing with a second power consumption higher than the first power consumption. The first mode and the second mode are switched according to the above.
第3の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。キャッシュメモリには、プロセッサとは異なる機能ブロックからも、キャッシュ制御部を介してアクセス可能であり、プロセッサ及び機能ブロックからキャッシュメモリへの各アクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、プロセッサからキャッシュメモリへのアクセス要求と、機能ブロックからキャッシュメモリへのアクセス要求とを重複して受けた場合、プロセッサ及び機能ブロックからキャッシュメモリへの各アクセスを、いずれも第2のモードで実行する。 According to the third invention, the cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. The cache memory can be accessed from a functional block different from the processor via the cache control unit, and each access to the cache memory from the processor and the functional block can be switched to each other. A first mode that is accessed at a first speed and a second power consumption that is higher than the first speed and a second power that is higher than the first power consumption. When the cache control unit receives an access request from the processor to the cache memory and an access request from the functional block to the cache memory in duplicate, the cache control unit transfers the cache memory from the processor and the functional block to the cache memory. Each access is executed in the second mode.
第4の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、分岐命令の実行に基づくプロセッサからキャッシュメモリへのアクセスが、キャッシュメモリからの特定の分岐先データの読み出しである場合、プロセッサからキャッシュメモリへのアクセスを第2のモードで実行する。 According to the fourth invention, a cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. Regarding the access from the processor to the cache memory, the cache control unit can switch between the first mode and the first mode for accessing at the first power consumption and the second speed that is faster than the first speed. And a second mode for accessing with a second power consumption higher than the first power consumption, and the cache control unit is configured to allow the processor to access the cache memory based on the execution of the branch instruction. In the case of reading specific branch destination data from the memory, the processor accesses the cache memory in the second mode.
第5の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、プロセッサによってフェッチされた命令コード又は該命令コードのデコード結果を判定することにより、プロセッサからキャッシュメモリへのアクセスを第1のモード又は第2のモードで実行する。 According to the fifth invention, the cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. Regarding the access from the processor to the cache memory, the cache control unit can switch between the first mode and the first mode for accessing at the first power consumption and the second speed that is faster than the first speed. And a second mode for accessing with a second power consumption higher than the first power consumption, and the cache control unit determines an instruction code fetched by the processor or a decoding result of the instruction code As a result, the processor accesses the cache memory in the first mode or the second mode.
第6の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、プロセッサからキャッシュメモリへアクセスされたが、プロセッサが必要とするデータがキャッシュメモリ内に格納されていない場合、プロセッサからキャッシュメモリへの次回のアクセスを第2のモードで実行する。 According to the sixth invention, a cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. Regarding the access from the processor to the cache memory, the cache control unit can switch between the first mode and the first mode for accessing at the first power consumption and the second speed that is faster than the first speed. And the second mode for accessing with a second power consumption higher than the first power consumption, and the cache control unit accesses the cache memory from the processor, but the data required by the processor Is not stored in the cache memory, the next access from the processor to the cache memory is executed in the second mode.
第7の発明によれば、キャッシュシステムは、キャッシュメモリと、キャッシュメモリを制御するキャッシュ制御部と、キャッシュ制御部を介してキャッシュメモリにアクセス可能なプロセッサとを備える。プロセッサからキャッシュメモリへのアクセスに関して、キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、キャッシュ制御部は、第1のモードでのアクセス要求に連続して第2のモードでのアクセス要求が発生したことに起因して、第1のモードでアクセスする第1のアクセス期間の一部に第2のモードでアクセスする第2のアクセス期間が重複することとなる場合、第2のアクセス期間におけるアクセスを第1のモードに変更する。 According to the seventh invention, a cache system includes a cache memory, a cache control unit that controls the cache memory, and a processor that can access the cache memory via the cache control unit. Regarding the access from the processor to the cache memory, the cache control unit can switch between the first mode and the first mode for accessing at the first power consumption and the second speed that is faster than the first speed. And a second mode for accessing with a second power consumption higher than the first power consumption, and the cache control unit continues to the second mode following the access request in the first mode. If the second access period accessed in the second mode overlaps with a part of the first access period accessed in the first mode due to the occurrence of the access request in The access in the second access period is changed to the first mode.
第1〜第7の発明によれば、キャッシュシステムが搭載されている半導体装置全体の処理速度を低下させず、しかも可能な限り低消費電力でキャッシュメモリを動作させることが可能となる。 According to the first to seventh inventions, the cache memory can be operated with as low power consumption as possible without reducing the processing speed of the entire semiconductor device on which the cache system is mounted.
特に第5の発明によれば、プロセッサが実行する命令コードの種類に応じてアクセスモードを適切に選択することが可能となる。 In particular, according to the fifth aspect, the access mode can be appropriately selected according to the type of instruction code executed by the processor.
実施の形態1.
図1は、本発明の実施の形態1に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図1に示すように、半導体装置は、CPU(プロセッサ)1と、CPU1とは異なる機能ブロック(本実施の形態1の例ではCPU80)と、キャッシュ部100と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部100は、キャッシュ制御部2と、キャッシュメモリ50とを有している。キャッシュ制御部2は、キャッシュメモリ50の動作を制御する。CPU1は、キャッシュ制御部2を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部2を介してアクセス可能である。
FIG. 1 is a block diagram showing a configuration of a semiconductor device in which a cache system according to
CPU1には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部2から入力される。また、CPU1には、例えば32ビットの出力データD2が、キャッシュメモリ50から入力される。CPU1は、キャッシュアクセス要求信号S4、及び、例えば27ビットのキャッシュアドレスA2を出力する。
The
キャッシュ制御部2には、キャッシュアクセス要求信号S4及びキャッシュアドレスA2が、CPU1から入力される。また、キャッシュ制御部2には、スヌープ要求信号S1、及び、例えば27ビットのスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部2には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部2には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部2は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、例えば128ビットのライトバックデータD1、タグイネーブル信号S9、例えば27ビットのアクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
A cache access request signal S4 and a cache address A2 are input from the
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部2から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部2から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
バス調停回路60には、バスアクセス要求信号S7が、キャッシュ制御部2から入力される。バス調停回路60は、バスアクセス受付信号S8を出力する。
A bus access request signal S 7 is input from the
外部メモリ70には、ライトバックデータD1が、キャッシュ制御部2から外部バス3を介して入力される。
Write-back data D1 is input from the
CPU1は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部2に入力される。
When reading data stored in the
キャッシュ制御部2は、同一のサイクル期間内にキャッシュメモリ50への複数のアクセス要求があった場合、それらを調停する機能を有する。かかる調停機能は周知であるため、詳細な説明は省略する。
When there are a plurality of access requests to the
キャッシュ制御部2は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU1に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部2に入力される。
When reading data stored in the
キャッシュ制御部2は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU1及びCPU80からキャッシュメモリ50への各アクセスに関して、キャッシュ制御部2は、第1の速度、かつ第1の消費電力でアクセスするモード(以下「2サイクルアクセスモード」と称する)と、第1の速度よりも早い第2の速度、かつ第1の消費電力よりも高い第2の消費電力でアクセスするモード(本明細書において「1サイクルアクセスモード」)とを有している。
For each access from the
キャッシュ制御部2は、CPU80からキャッシュメモリ50へのアクセスの状況に応じて、2サイクルアクセスモードと1サイクルアクセスモードとを切り替える。具体的に、キャッシュ制御部2は、スヌープ要求信号S1がアサートされている「H(High)」期間、「H」レベルのキャッシュアクセスモード切替信号S10を出力し、それ以外の期間では、「L(Low)」レベルのキャッシュアクセスモード切替信号S10を出力する。キャッシュアクセスモード切替信号S10は、キャッシュメモリ50に入力される。キャッシュアクセスモード切替信号S10が「H」レベルの場合は1サイクルアクセスモードであり、キャッシュアクセスモード切替信号S10が「L」レベルの場合は2サイクルアクセスモードである。
The
あるいは、キャッシュ制御部2は、スヌープ要求信号S1に基づくキャッシュアクセスの場合は、「H」レベルのキャッシュアクセスモード切替信号S10を出力し、一方、キャッシュアクセス要求信号S4に基づくキャッシュアクセスの場合は、「L」レベルのキャッシュアクセスモード切替信号S10を出力してもよい。
Alternatively, the
キャッシュメモリ50は、タグイネーブル信号S9を受け付けると、アクセスアドレスA3及びキャッシュアクセスモード切替信号S10に基づいて、データの読み出し処理を開始し、Miss信号S11及び出力データD2を出力する。
When the
キャッシュアクセス要求信号S4に基づくキャッシュアクセスである場合、キャッシュ制御部2は、CPU1が必要とするデータがキャッシュメモリ50内に格納されていることをMiss信号S11に基づいて判別すると、出力データD2の出力タイミングに同期してキャッシュデータレディ信号S6を出力する。キャッシュデータレディ信号S6は、CPU1に入力される。
When the cache access is based on the cache access request signal S4, the
スヌープ要求信号S1に基づくキャッシュアクセスである場合、キャッシュ制御部2は、CPU80が必要とするデータがキャッシュメモリ50内に格納されていることをMiss信号S11に基づいて判別すると、出力データD2の出力タイミングに同期してスヌープデータレディ信号S3を出力する。スヌープデータレディ信号S3は、CPU80に入力される。
When the cache access is based on the snoop request signal S1, the
キャッシュメモリ50から読み出した出力データD2を外部メモリ70に書き戻す場合、キャッシュ制御部2は、バスアクセス要求信号S7を出力する。バスアクセス要求信号S7は、バス調停回路60に入力される。バス調停回路60は、外部メモリ70に接続されている外部バス3が使用可能である場合は、バスアクセス受付信号S8を出力する。バスアクセス受付信号S8は、キャッシュ制御部2に入力される。キャッシュ制御部2は、バスアクセス受付信号S8を受け付けると、ライトバックデータD1を出力する。ライトバックデータD1は、外部バス3を介して外部メモリ70に入力される。
When the output data D2 read from the
図2,3は、キャッシュ制御部2の構成の一部をそれぞれ示すブロック図である。図2を参照して、キャッシュ制御部2は、切替信号生成回路2aを有している。切替信号生成回路2aは、スヌープ要求信号S1を、キャッシュアクセスモード切替信号S10として出力する。
2 and 3 are block diagrams respectively showing a part of the configuration of the
あるいは、図3に示すように、キャッシュ制御部2は、切替信号生成回路2bを有している。切替信号生成回路2bは、スヌープ要求受付信号S2を、キャッシュアクセスモード切替信号S10として出力する。
Alternatively, as shown in FIG. 3, the
図4は、キャッシュメモリ50の具体的な構成を示すブロック図である。キャッシュメモリ50は、2ウェイ・セット・アソシアティブ方式の構成を有している。キャッシュメモリ50は、タグメモリ101と、ラッチ回路106と、比較器92a,92bと、ミス判定装置103と、キャッシュアクセスモード切替装置109と、データメモリ104と、セレクタ105,111と、フリップフロップ110とを有している。
FIG. 4 is a block diagram showing a specific configuration of the
タグメモリ101は、アドレスメモリであって、いずれもアドレスアレイであるタグWay0とタグWay1とを含んでいる。タグWay0及びタグWay1は、それぞれインデックスアドレスに対応させてタグアドレスを記憶している。
The
タグWay0及びタグWay1には、図1に示したアクセスアドレスA3の下位部であるインデックスアドレスA3b(例えば8ビット)がそれぞれ入力される。タグWay0及びタグWay1は、入力されたインデックスアドレスA3bに対応するタグアドレス(例えば17ビット)をそれぞれ出力する。 An index address A3b (for example, 8 bits) which is a lower part of the access address A3 shown in FIG. 1 is input to the tag Way0 and the tag Way1. The tag Way0 and the tag Way1 each output a tag address (for example, 17 bits) corresponding to the input index address A3b.
インデックスアドレスA3bによって特定されるタグWay0のタグアドレスは、同一のインデックスアドレスA3bによって特定されるデータWay0(後述)のデータに関するアドレスである。同様に、インデックスアドレスA3bによって特定されるタグWay1のタグアドレスは、同一のインデックスアドレスA3bによって特定されるデータWay1(後述)のデータに関するアドレスである。 The tag address of the tag Way0 specified by the index address A3b is an address related to data of data Way0 (described later) specified by the same index address A3b. Similarly, the tag address of the tag Way1 specified by the index address A3b is an address related to data of data Way1 (described later) specified by the same index address A3b.
タグWay0及びタグWay1には、タグイネーブル信号S9がそれぞれ入力される。タグWay0及びタグWay1は、タグイネーブル信号S9が「H」レベルの場合には動作し、タグイネーブル信号S9が「L」レベルの場合には動作しない。 A tag enable signal S9 is input to each of the tag Way0 and the tag Way1. The tag Way0 and the tag Way1 operate when the tag enable signal S9 is at “H” level, and do not operate when the tag enable signal S9 is at “L” level.
比較器92a,92bには、図1に示したアクセスアドレスA3の上位部であるタグアドレスA3a(例えば17ビット)が、ラッチ回路106を介してそれぞれ入力される。ラッチ回路106は、入力されたタグアドレスA3aを1/2サイクル期間遅延させて出力する。
A tag address A3a (for example, 17 bits), which is the upper part of the access address A3 shown in FIG. 1, is input to the
比較器92aは、タグWay0から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較する。そして、比較器92aは、両者が一致している場合、つまり、指定されたアドレスのデータがデータWay0に存在している場合(即ちヒットの場合)には、「H」レベルのTag hit Way0信号S20を出力する。一方、両者が一致していない場合、つまり、指定されたアドレスのデータがデータWay0に存在していない場合(即ちミスヒットの場合)には、「L」レベルのTag hit Way0信号S20を出力する。Tag hit Way0信号S20は、ミス判定装置103及びキャッシュアクセスモード切替装置109に入力される。
The comparator 92a compares the tag address input from the tag Way0 with the tag address A3a input from the
比較器92bは、タグWay1から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較する。そして、比較器92bは、両者が一致している場合、つまり、指定されたアドレスのデータがデータWay1に存在している場合(即ちヒットの場合)には、「H」レベルのTag hit Way1信号S21を出力する。一方、両者が一致していない場合、つまり、指定されたアドレスのデータがデータWay1に存在していない場合(即ちミスヒットの場合)には、「L」レベルのTag hit Way1信号S21を出力する。Tag hit Way1信号S21は、ミス判定装置103及びキャッシュアクセスモード切替装置109に入力される。
The
ミス判定装置103は、Tag hit Way0信号S20及びTag hit Way1信号S21がいずれも「L」レベルである場合は、指定されたアドレスのデータがデータWay0内にもデータWay1内にも存在していないことを示す内容のMiss信号S11を出力する。
When both the tag hit way 0 signal S20 and the tag hit
データメモリ104は、いずれもデータアレイであるデータWay0とデータWay1とを含んでいる。データWay0及びデータWay1は、それぞれインデックスアドレスに対応させてデータを記憶している。なお、本明細書において、「データ」という用語には、命令コード及びオペランドデータの双方が含まれるものとする。
The
データWay0内に記憶されているデータは、インデックスアドレスA3bを下位アドレスとし、同一のインデックスアドレスA3bに対応させてタグWay0内に記憶されているタグアドレスを上位アドレスとするデータである。同様に、データWay1内に記憶されているデータは、インデックスアドレスA3bを下位アドレスとし、同一のインデックスアドレスA3bに対応させてタグWay1内に記憶されているタグアドレスを上位アドレスとするデータである。 The data stored in the data Way0 is data having the index address A3b as a lower address and the tag address stored in the tag Way0 as an upper address corresponding to the same index address A3b. Similarly, the data stored in the data Way1 is data having the index address A3b as the lower address and the tag address stored in the tag Way1 corresponding to the same index address A3b as the upper address.
フリップフロップ110は、入力されたインデックスアドレスA3bを、1サイクル期間遅延させて出力する。フリップフロップ110の出力は、セレクタ111の第1の入力端子に入力される。
The flip-
セレクタ111の第2の入力端子には、インデックスアドレスA3bが入力される。
The index address A3b is input to the second input terminal of the
セレクタ111には、図1に示したキャッシュ制御部2からキャッシュアクセスモード切替信号S10が入力される。セレクタ111は、キャッシュアクセスモード切替信号S10が「L」レベルの場合には第1の入力端子を選択し、「H」レベルの場合には第2の入力端子を選択する。
The
データWay0及びデータWay1には、セレクタ111の出力がそれぞれ入力されるとともに、キャッシュアクセスモード切替装置109からWay0 enable信号S22及びWay1 enable信号S23がそれぞれ入力される。
The output of the
Way0 enable信号S22が「H」レベルの場合には、データWay0は、セレクタ111の出力に対応するデータを出力する。データWay0から出力されたデータは、セレクタ105の第1の入力端子に入力される。Way0 enable信号S22が「L」レベルの場合には、データWay0は動作しない。
When the Way 0 enable
Way1 enable信号S23が「H」レベルの場合には、データWay1は、セレクタ111の出力に対応するデータを出力する。データWay1から出力されたデータは、セレクタ105の第2の入力端子に入力される。Way1 enable信号S23が「L」レベルの場合には、データWay1は動作しない。
When the
セレクタ105には、キャッシュアクセスモード切替装置109からWay select信号S24が入力される。セレクタ105は、Way select信号S24が「L」レベルの場合には第1の入力端子を選択し、「H」レベルの場合には第2の入力端子を選択する。
The
キャッシュアクセスモード切替装置109には、図1に示したキャッシュ制御部2からキャッシュアクセスモード切替信号S10が入力される。キャッシュアクセスモード切替装置109による切替制御によって、キャッシュアクセスモード切替信号S10が「H」レベルの場合にはキャッシュメモリ50は1サイクルアクセスモードで動作し、キャッシュアクセスモード切替信号S10が「L」レベルの場合にはキャッシュメモリ50は2サイクルアクセスモードで動作する。
The cache access
図5は、キャッシュアクセスモード切替装置109の具体的な構成を示すブロック図である。キャッシュアクセスモード切替装置109は、ラッチ回路910,911,920,921と、セレクタ930,931,94とを有している。
FIG. 5 is a block diagram showing a specific configuration of the cache access
ラッチ回路910には、図4に示した比較器92aからTag hit Way0信号S20が入力される。ラッチ回路910は、入力されたTag hit Way0信号S20を、1/2サイクル期間遅延させて出力する。ラッチ回路910から出力されたTag hit Way0信号S20は、セレクタ930の第1の入力端子に入力される。
To the
ラッチ回路911には、図4に示した比較器92bからTag hit Way1信号S21が入力される。ラッチ回路911は、入力されたTag hit Way1信号S21を、1/2サイクル期間遅延させて出力する。ラッチ回路911から出力されたTag hit Way1信号S21は、セレクタ931の第1の入力端子に入力される。
To the
セレクタ930,931の各第2の入力端子には、「H」レベルを与える電源電位がそれぞれ入力されている。また、セレクタ930,931には、図1に示したキャッシュ制御部2からキャッシュアクセスモード切替信号S10が入力される。
A power supply potential giving an “H” level is input to each of the second input terminals of the
キャッシュアクセスモード切替信号S10が「H」レベルの場合、セレクタ930は、Way0 enable信号S22として、「H」レベルの信号を出力する。従って、1サイクルアクセスモード時には、1サイクル期間を使ってキャッシュメモリ50からデータが出力される。
When the cache access mode switching signal S10 is at “H” level, the
一方、キャッシュアクセスモード切替信号S10が「L」レベルの場合、セレクタ930は、Way0 enable信号S22として、ラッチ回路910から入力されたTag hit Way0信号S20を出力する。セレクタ930に入力されるTag hit Way0信号S20は、図4に示した比較器92aから出力されたTag hit Way0信号S20よりも、ラッチ回路910によって1/2サイクル期間遅延されている。従って、データWay0が動作するサイクル期間は、タグWay0が動作するサイクル期間よりも1サイクル期間後となる。従って、2サイクルアクセスモード時には、2サイクル期間を使ってキャッシュメモリ50からデータが出力される。
On the other hand, when the cache access mode switching signal S10 is at "L" level, the
キャッシュアクセスモード切替信号S10が「H」レベルの場合、セレクタ931は、Way1 enable信号S23として、「H」レベルの信号を出力する。従って、1サイクルアクセスモード時には、1サイクル期間を使ってキャッシュメモリ50からデータが出力される。
When the cache access mode switching signal S10 is at “H” level, the
一方、キャッシュアクセスモード切替信号S10が「L」レベルの場合、セレクタ931は、Way1 enable信号S23として、ラッチ回路911から入力されたTag hit Way1信号S21を出力する。セレクタ931に入力されるTag hit Way1信号S21は、図4に示した比較器92bから出力されたTag hit Way1信号S21よりも、ラッチ回路911によって1/2サイクル期間遅延されている。従って、データWay1が動作するサイクル期間は、タグWay1が動作するサイクル期間よりも1サイクル期間後となる。従って、2サイクルアクセスモード時には、2サイクル期間を使ってキャッシュメモリ50からデータが出力される。
On the other hand, when the cache access mode switching signal S10 is at “L” level, the
ラッチ回路920は、図1に示したキャッシュ制御部2から入力されたキャッシュアクセスモード切替信号S10を、1/2サイクル期間遅延させて出力する。ラッチ回路920から出力されたキャッシュアクセスモード切替信号S10は、セレクタ94に入力される。
The
ラッチ回路921は、セレクタ931から入力されたWay1 enable信号S23を、1/2サイクル期間遅延させて出力する。ラッチ回路921から出力されたWay1 enable信号S23は、セレクタ94の第1の入力端子に入力される。セレクタ94の第2の入力端子には、図4に示した比較器92bから、Tag hit Way1信号S21が入力される。
The
ラッチ回路920から入力されたキャッシュアクセスモード切替信号S10が「L」レベルの場合には、セレクタ94は、ラッチ回路921から入力されたWay1 enable信号S23を、Way select信号S24として出力する。なぜなら、キャッシュアクセスモード切替信号S10が「L」レベルの場合にデータWay1が選択されるときには、Way1 enable信号S23は、タグメモリ101がアクセスされるサイクル期間の1/2サイクル期間後、つまり、データメモリ104がアクセスされるサイクル期間の1/2サイクル期間前に、「H」レベルとなるからである。
When the cache access mode switching signal S10 input from the
一方、ラッチ回路920から入力されたキャッシュアクセスモード切替信号S10が「H」レベルの場合には、セレクタ94は、Tag hit Way1信号S21を、Way select信号S24として出力する。なぜなら、キャッシュアクセスモード切替信号S10が「H」レベルの場合にデータWay1が選択されるときには、Tag hit Way1信号S21は、タグメモリ101がアクセスされるサイクル期間と同一であるデータメモリ104がアクセスされるサイクル期間に、「H」レベルとなるからである。
On the other hand, when the cache access mode switching signal S10 input from the
図4を参照して、Way select信号S24は、セレクタ105に入力される。Way select信号S24が「L」レベルの場合には、セレクタ105は、データWay0から入力されたデータを選択して、図1に示した出力データD2として出力する。一方、Way select信号S24が「H」レベルの場合には、セレクタ105は、データWay1から入力されたデータを選択して、図1に示した出力データD2として出力する。
With reference to FIG. 4, the Way select signal S <b> 24 is input to the
図6は、2サイクルアクセスモードで動作している場合のキャッシュメモリ50の各部の波形を示したタイミングチャートである。以下、図4,6を参照して、2サイクルアクセスモード時におけるキャッシュメモリ50の動作について詳細に説明する。図6を参照して、2サイクルアクセスモードでは、タグアクセスサイクル及びデータアクセスサイクルの2サイクル期間を使って、キャッシュメモリ50からデータが出力される。
FIG. 6 is a timing chart showing waveforms of respective parts of the
図4,6を参照して、まず、タグアクセスサイクルの前半で、タグメモリ101へのアクセスが実行され、タグWay0及びタグWay1からタグアドレスがそれぞれ出力される。
4 and 6, first, in the first half of the tag access cycle, access to the
次に、比較器92aは、タグWay0から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較し、両者が一致している場合には「H」レベルのTag hit Way0信号S20を出力し、両者が一致していない場合には「L」レベルのTag hit Way0信号S20を出力する。比較器92bは、タグWay1から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較し、両者が一致している場合には「H」レベルのTag hit Way1信号S21を出力し、両者が一致していない場合には「L」レベルのTag hit Way1信号S21を出力する。従って、指定されたアドレスのデータがキャッシュメモリ50内に存在している場合には、Tag hit Way0信号S20及びTag hit Way1信号S21のいずれかが「H」レベルに設定され、一方、指定されたアドレスのデータがキャッシュメモリ50内に存在していない場合には、Tag hit Way0信号S20及びTag hit Way1信号S21の双方が「L」レベルに設定される。
Next, the comparator 92a compares the tag address input from the tag Way0 with the tag address A3a input from the
次に、タグアクセスサイクルの後半で、Tag hit Way0信号S20が「H」レベルであればWay0 enable信号S22が「H」レベルに設定され、Tag hit Way1信号S21が「H」レベルであればWay1 enable信号S23が「H」レベルに設定される。
Next, in the latter half of the tag access cycle, if the Tag hit Way 0 signal S20 is at “H” level, the Way 0 enable signal S22 is set to “H” level, and if the Tag hit
次に、データアクセスサイクルの前半で、Way0 enable信号S22が「H」レベルであればデータWay0へのアクセスが実行されてデータが出力され、Way1 enable信号S23が「H」レベルであればデータWay1へのアクセスが実行されてデータが出力される。 Next, in the first half of the data access cycle, if the Way0 enable signal S22 is “H” level, access to the data Way0 is executed and data is output, and if the Way1 enable signal S23 is “H” level, the data Way1 Is accessed and data is output.
このように2サイクルアクセスモードでは、タグアクセスサイクルでタグメモリ101へのアクセスが行われ、続くデータアクセスサイクルでデータメモリ104へのアクセスが行われる。データアクセスサイクルにおいては、データWay0及びデータWay1のいずれか一方のみが動作し、他方は動作しないので、データWay0及びデータWay1の双方が動作する場合(1サイクルアクセスモード)と比較すると消費電力が小さい。
As described above, in the two-cycle access mode, the
図7は、1サイクルアクセスモードで動作している場合のキャッシュメモリ50の各部の波形を示したタイミングチャートである。以下、図4,7を参照して、1サイクルアクセスモード時におけるキャッシュメモリ50の動作について詳細に説明する。図7を参照して、1サイクルアクセスモードでは、1サイクル期間であるタグ及びデータアクセスサイクルを使って、キャッシュメモリ50からデータが出力される。
FIG. 7 is a timing chart showing waveforms at various parts of the
図4,7を参照して、まず、タグ及びデータアクセスサイクルの前半で、タグメモリ101へのアクセスが実行され、タグWay0及びタグWay1からタグアドレスがそれぞれ出力される。
4 and 7, first, in the first half of the tag and data access cycle, access to the
次に、比較器92aは、タグWay0から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較し、両者が一致している場合には「H」レベルのTag hit Way0信号S20を出力し、両者が一致していない場合には「L」レベルのTag hit Way0信号S20を出力する。比較器92bは、タグWay1から入力されたタグアドレスと、ラッチ回路106から入力されたタグアドレスA3aとを比較し、両者が一致している場合には「H」レベルのTag hit Way1信号S21を出力し、両者が一致していない場合には「L」レベルのTag hit Way1信号S21を出力する。従って、指定されたアドレスのデータがキャッシュメモリ50内に存在している場合には、Tag hit Way0信号S20及びTag hit Way1信号S21のいずれかが「H」レベルに設定され、一方、指定されたアドレスのデータがキャッシュメモリ50内に存在していない場合には、Tag hit Way0信号S20及びTag hit Way1信号S21の双方が「L」レベルに設定される。
Next, the comparator 92a compares the tag address input from the tag Way0 with the tag address A3a input from the
比較器92a,92bによる上記の処理と並行して、同一のサイクル期間において、Way0 enable信号S22及びWay1 enable信号S23がいずれも「H」レベルに設定される。
In parallel with the above-described processing by the
次に、タグ及びデータアクセスサイクルの後半で、データWay0及びデータWay1への各アクセスが実行されて、データWay0及びデータWay1からデータがそれぞれ出力される。 Next, in the second half of the tag and data access cycle, each access to the data Way0 and the data Way1 is executed, and data is output from the data Way0 and the data Way1, respectively.
そして、セレクタ105は、Way select信号S24に基づいて、データWay0及びデータWay1からそれぞれ出力されたデータの一方を選択して出力する。
Then, the
このように1サイクルアクセスモードでは、1サイクル期間の間にタグメモリ101へのアクセスとデータメモリ104へのアクセスとが実行される。従って、タグメモリ101へのアクセスの後にデータメモリ104へのアクセスが行われる場合(2サイクルアクセスモード)と比較すると、キャッシュメモリ50から早期にデータを出力することができる。
As described above, in the one-cycle access mode, access to the
このように本実施の形態1に係るキャッシュシステムによれば、キャッシュ制御部2は、スヌープ要求信号S1がアサートされている「H」期間では「H」レベルのキャッシュアクセスモード切替信号S10を出力することにより、1サイクルアクセスモードに設定する。2サイクルアクセスモードでCPU1がキャッシュメモリ50へアクセスしている状態で、CPU80からキャッシュメモリ50へのアクセス要求が発生した場合、CPU1からのアクセス要求の優先度が高いと、CPU1からのアクセス要求に基づく残りの処理が終了するまで、CPU80からのアクセス要求に基づく処理の開始は待たされることになる。しかしながら、本実施の形態1に係るキャッシュシステムによると、このような場合には、CPU1からキャッシュメモリ50へのアクセスが2サイクルアクセスモードから1サイクルアクセスモードに切り替えられるため、CPU1からのアクセス要求に基づく残りの処理を高速に実行することができる。従って、CPU80からのアクセス要求に基づく処理を早期に開始することができ、結果として、CPU80の性能が低下することを抑制することができる。特に、CPU80が高速動作を優先させている場合に有効となる。
Thus, according to the cache system according to the first embodiment, the
なお、以上の説明では、CPU1のほかにキャッシュ部100にアクセス可能な素子として、スヌープ処理を実行するCPU80を挙げたが、CPU80以外のCPUであってもよい。また、CPU1のほかにキャッシュ部100にアクセス可能な素子は、CPU80又はCPU80以外のCPUに限らず、どのような機能ブロックであってもよい。後述する全ての実施の形態についても同様である。
In the above description, the
実施の形態2.
図8は、本発明の実施の形態2に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図8に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。
FIG. 8 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the second embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 8, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図8に示すように、半導体装置は、CPU201と、CPU80と、キャッシュ部200と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部200は、キャッシュ制御部202と、キャッシュメモリ50とを有している。キャッシュ制御部202は、キャッシュメモリ50の動作を制御する。CPU201は、キャッシュ制御部202を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部202を介してアクセス可能である。
As shown in FIG. 8, the semiconductor device includes a
CPU201には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部202から入力される。また、CPU201には、出力データD2が、キャッュメモリ50から入力される。CPU201は、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。
The
キャッシュ制御部202には、キャッシュアクセス要求信号S4及びキャッシュアドレスA2が、CPU201から入力される。また、キャッシュ制御部202には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部202には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部202には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部202は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
A cache access request signal S4 and a cache address A2 are input from the
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部202から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部202から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU201は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部202に入力される。
When reading data stored in the
キャッシュ制御部202は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU201に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部202に入力される。
When reading data stored in the
キャッシュ制御部202は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU201及びCPU80からキャッシュメモリ50への各アクセスに関して、キャッシュ制御部202は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
For each access from the
キャッシュ制御部202は、CPU201からキャッシュメモリ50へのアクセス要求を受け付けることができるか否かに応じて、2サイクルアクセスモードと1サイクルアクセスモードとを切り替える。
The
具体的に、キャッシュ制御部202は、2サイクルアクセスモードでCPU201がキャッシュメモリ50へアクセスしている状態において、キャッシュミス又はライトバック処理中等の理由により、CPU201からキャッシュメモリ50への新たなアクセス要求を受け付けることができない場合、次回のアクセス又は次回以降のアクセスにおいて、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、2サイクルアクセスモードを1サイクルアクセスモードに切り替える。
Specifically, when the
あるいは、キャッシュ制御部202は、2サイクルアクセスモードでCPU80がキャッシュメモリ50へアクセスしている状態において、スヌープ処理中等の理由により、CPU201からキャッシュメモリへのアクセス要求を受け付けることができない場合、次回のアクセス又は次回以降のアクセスにおいて、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、2サイクルアクセスモードを1サイクルアクセスモードに切り替える。
Alternatively, when the
図9は、キャッシュ制御部202の構成の一部を示すブロック図である。キャッシュ制御部202は、状態監視回路10及び切替信号生成回路11を有している。切替信号生成回路11はクリア回路12を有しており、クリア回路12は複数のカウンタ13を含んでいる。
FIG. 9 is a block diagram illustrating a part of the configuration of the
状態監視回路10は、キャッシュメモリ50へのアクセス要求を検出すると、アクセス発生信号S30を出力する。また、状態監視回路10は、キャッシュメモリ50への新たなアクセス要求を受け付けることができない状態になると、キャッシュビジー信号S31を出力する。アクセス発生信号S30及びキャッシュビジー信号S31は、切替信号生成回路11に入力される。
When the
切替信号生成回路11は、キャッシュビジー信号S31が入力されると、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。これにより、キャッシュメモリ50の動作が1サイクルアクセスモードに設定される。
When the cache busy signal S31 is input, the switching
上記の通り、切替信号生成回路11はクリア回路12を有しており、クリア回路12は複数のカウンタ13を含んでいる。従って、切替信号生成回路11は、キャッシュアクセスモード切替信号S10が「H」レベルに設定されてからのサイクル期間及びアクセス回数を、アクセス発生信号S30及びキャッシュビジー信号S31に基づいて把握することができる。クリア回路12には、上記の次回のアクセスが完了したこと、キャッシュアクセスモード切替信号S10が「H」レベルに設定されてから所定数のサイクル期間が経過したこと、上記の次回以降のアクセスにおいてキャッシュメモリ50へのアクセスが途切れたこと等が、クリア条件として設定されている。クリア回路12は、クリア条件が満たされると、キャッシュアクセスモード切替信号S10を「L」レベルに切り替える。
As described above, the switching
このように本実施の形態2に係るキャッシュシステムによれば、キャッシュ制御部202は、キャッシュメモリ50への新たなアクセス要求を受け付けることができない場合、「H」レベルのキャッシュアクセスモード切替信号S10を出力することにより、1サイクルアクセスモードに設定する。例えば、2サイクルアクセスモードでCPU201がキャッシュメモリ50へアクセスしている状態で、CPU201からキャッシュメモリ50への新たなアクセス要求が発生し、キャッシュメモリ50がアクセス禁止の状態になった場合、パイプライン処理の後段の処理が詰まるために複数の命令間にレジスタ依存性が生じやすくなり、その結果、性能低下を引き起こす可能性が高くなる。しかしながら、本実施の形態2に係るキャッシュシステムによると、このような場合には、CPU201からキャッシュメモリ50へのアクセスが2サイクルアクセスモードから1サイクルアクセスモードに切り替えられるため、性能低下のペナルティを最小限に抑制することが可能となる。
As described above, according to the cache system according to the second embodiment, when the
実施の形態3.
図10は、本発明の実施の形態3に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図10に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。
Embodiment 3 FIG.
FIG. 10 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the third embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 10, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図10に示すように、半導体装置は、CPU301と、CPU80と、キャッシュ部300と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部300は、キャッシュ制御部302と、キャッシュメモリ50とを有している。キャッシュ制御部302は、キャッシュメモリ50の動作を制御する。CPU301は、キャッシュ制御部302を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部302を介してアクセス可能である。
As shown in FIG. 10, the semiconductor device includes a
CPU301には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部302から入力される。また、CPU301には、出力データD2が、キャッュメモリ50から入力される。CPU301は、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。
The
キャッシュ制御部302には、キャッシュアクセス要求信号S4及びキャッシュアドレスA2が、CPU301から入力される。また、キャッシュ制御部302には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部302には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部302には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部302は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
A cache access request signal S4 and a cache address A2 are input from the
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部302から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部302から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU301は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部302に入力される。
When reading data stored in the
キャッシュ制御部302は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU301に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部302に入力される。
When reading data stored in the
キャッシュ制御部302は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU301及びCPU80からキャッシュメモリ50への各アクセスに関して、キャッシュ制御部302は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
For each access from the
キャッシュ制御部302は、CPU301からキャッシュメモリ50へのアクセス要求と、CPU80からキャッシュメモリ50へのアクセス要求とを重複して受けた場合、CPU301及びCPU80からキャッシュメモリ50への各アクセスに関して、いずれも「H」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、CPU301及びCPU80からキャッシュメモリ50への各アクセスを、いずれも1サイクルアクセスモードで実行する。
When the
図11は、キャッシュ制御部302の構成の一部を示すブロック図である。キャッシュ制御部302は、調停回路15及び切替信号生成回路16を有している。
FIG. 11 is a block diagram illustrating a part of the configuration of the
調停回路15は、CPU301からキャッシュメモリ50へのアクセス要求と、CPU80からキャッシュメモリ50へのアクセス要求とを同一のサイクル期間内に受けたことを検出すると、アクセス要求同時発生信号S40を出力する。アクセス要求同時発生信号S40は、切替信号生成回路16に入力される。
When the arbitration circuit 15 detects that an access request from the
切替信号生成回路16は、アクセス要求同時発生信号S40が入力されると、アクセス要求同時発生信号S40が入力されたサイクル期間、及びそのサイクル期間に続く1サイクル期間において、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。これにより、キャッシュアクセス要求信号S4に基づくアクセス期間、及びスヌープ要求信号S1に基づくアクセス期間の双方において、キャッシュメモリ50の動作が1サイクルアクセスモードに設定される。
When the access request simultaneous generation signal S40 is input, the switching
このように本実施の形態3に係るキャッシュシステムによれば、キャッシュ制御部302は、CPU301からキャッシュメモリ50へのアクセス要求と、CPU80からキャッシュメモリ50へのアクセス要求とを重複して受けた場合、CPU301及びCPU80からキャッシュメモリ50への各アクセスをいずれも1サイクルアクセスモードで実行する。キャッシュシステムが複数のアクセス要求を同時に受けた場合、優先度の低いアクセス要求に対する処理の開始は、優先度の高いアクセス要求に対する処理が完了するのを待つこととなり、その結果、性能の低下を引き起こす。しかしながら、本実施の形態3に係るキャッシュシステムによると、このような場合には、CPU301及びCPU80からキャッシュメモリ50への各アクセスがいずれも1サイクルアクセスモードに切り替えられるため、性能低下のペナルティを最小限に抑制することが可能となる。
As described above, according to the cache system according to the third embodiment, the
実施の形態4.
図12は、本発明の実施の形態4に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図12に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。
Embodiment 4 FIG.
FIG. 12 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the fourth embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 12, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図12に示すように、半導体装置は、CPU401と、CPU80と、キャッシュ部400と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部400は、キャッシュ制御部402と、キャッシュメモリ50とを有している。キャッシュ制御部402は、キャッシュメモリ50の動作を制御する。CPU401は、キャッシュ制御部402を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部402を介してアクセス可能である。但し、本実施の形態4に関しては、必ずしもCPU80が設けられている必要はない。
As illustrated in FIG. 12, the semiconductor device includes a
CPU401には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部402から入力される。また、CPU401には、出力データD2が、キャッュメモリ50から入力される。CPU401は、キャッシュアクセス要求信号S4、キャッシュアドレスA2、分岐要求信号S50、及び、例えば27ビットの分岐先アドレスA50を出力する。
The
キャッシュ制御部402には、キャッシュアクセス要求信号S4、キャッシュアドレスA2、分岐要求信号S50、及び、分岐先アドレスA50が、CPU401から入力される。また、キャッシュ制御部402には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部402には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部402には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部402は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
A cache access request signal S4, a cache address A2, a branch request signal S50, and a branch destination address A50 are input from the
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部402から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部402から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU401は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部402に入力される。
When reading data stored in the
キャッシュ制御部402は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU401に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部402に入力される。
When reading data stored in the
キャッシュ制御部402は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU401からキャッシュメモリ50へのアクセスに関して、キャッシュ制御部402は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
Regarding the access from the
キャッシュ制御部402は、分岐命令の実行に基づくCPU401からキャッシュメモリ50へのアクセスが、キャッシュメモリ50からの特定の分岐先データの読み出しである場合、CPU401からキャッシュメモリ50へのアクセスに関して、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、CPU401からキャッシュメモリ50へのアクセスを、1サイクルアクセスモードで実行する。
When the access from the
具体的に、CPU401は、分岐命令を実行する際、分岐要求信号S50及び分岐先アドレスA50を、キャッシュ制御部402に入力する。キャッシュ制御部402は、分岐要求信号S50及び分岐先アドレスA50が入力されると、分岐先アドレスA50が、予め設定されている特定のアドレス(複数)のいずれかに一致するか否かを判別する。そして、キャッシュ制御部402は、分岐先アドレスA50が上記特定のアドレスのいずれかに一致する場合は、「H」レベルのキャッシュアクセスモード切替信号S10を出力し、一方、分岐先アドレスA50が上記特定のアドレスのいずれにも一致しない場合は、「L」レベルのキャッシュアクセスモード切替信号S10を出力する。
Specifically, the
なお、上記特定のアドレスは、システムの設計者によって、ハードウェア構成としてキャッシュ部400内に予め設定されている。あるいは、上記特定のアドレスは、システムのユーザが、キャッシュ部400内の図示しない記憶素子に、プログラムによって設定してもよい。また、上記特定のアドレスは、一つのみ設定されていてもよい。
The specific address is preset in the
図13は、キャッシュ制御部402の構成の一部を示すブロック図である。キャッシュ制御部402は、切替信号生成回路20を有している。切替信号生成回路20は、複数の比較器211〜21n(nは2以上の自然数)と、OR回路22と、セレクタ23と、ラッチ回路24,25とを有している。
FIG. 13 is a block diagram illustrating a part of the configuration of the
比較器211〜21nの各第1の入力端子には、上記特定のアドレスが、設定値K1〜Knとしてそれぞれ入力されている。比較器211〜21nの各第2の入力端子には、分岐先アドレスA50がそれぞれ入力されている。比較器211〜21nの各出力端子は、OR回路22の複数の入力端子にそれぞれ接続されている。OR回路22の出力端子は、セレクタ23の第1の入力端子に接続されている。セレクタ23の出力端子はラッチ回路24の入力端子に接続されており、ラッチ回路24の出力端子はラッチ回路25の入力端子に接続されている。ラッチ回路24からは、キャッシュアクセスモード切替信号S10が出力されている。ラッチ回路25の出力端子は、セレクタ23の第2の入力端子に接続されている。セレクタ23には、分岐要求信号S50が入力されている。
The specific addresses are input as set values K 1 to K n to the first input terminals of the comparators 21 1 to 21 n , respectively. The branch destination address A50 is input to each of the second input terminals of the comparators 21 1 to 21 n . Each output terminal of the comparators 21 1 to 21 n is connected to a plurality of input terminals of the
セレクタ23は、分岐要求信号S50が入力されている期間は第1の入力端子を選択し、それ以外の期間は第2の入力端子を選択する。図12に示したCPU401からキャッシュ制御部402に分岐要求信号S50及び分岐先アドレスA50が入力された場合、分岐先アドレスA50が設定値K1〜Knのいずれかに一致すると、セレクタ23の第1の入力端子には「H」レベルの信号が入力される。この「H」レベルの信号は、セレクタ23から出力され、ラッチ回路24に入力される。従って、ラッチ回路24からは、「H」レベルのキャッシュアクセスモード切替信号S10が出力される。これにより、図12に示したキャッシュメモリ50の動作が、1サイクルアクセスモードに設定される。
The
このように本実施の形態4に係るキャッシュシステムによれば、キャッシュ制御部402は、分岐命令の実行に基づくCPU401からキャッシュメモリ50へのアクセスが、キャッシュメモリ50からの特定の分岐先データの読み出しである場合、CPU401からキャッシュメモリ50へのアクセスを1サイクルアクセスモードで実行する。従って、例えば分岐先アドレスに割り込みルーチンが指定されている場合に、1サイクルアクセスモードでキャッシュメモリ50を動作させることができる。組み込み用途における割り込み処理は、実時間内で応答が求められることが多い。本実施の形態4に係るキャッシュシステムによれば、キャッシュメモリ50の動作を1サイクルアクセスモードに切り替えることによって、実時間内で割り込み処理が完了する可能性を高くすることが可能となる。
As described above, according to the cache system according to the fourth embodiment, the
なお、実行される分岐命令は、分岐条件が確定してから実行される分岐命令のみならず、分岐が発生することを見越して(分岐予測)、予め実行が開始されるような分岐命令を含む。 Note that the branch instruction to be executed includes not only a branch instruction that is executed after the branch condition is determined but also a branch instruction that is executed in advance in anticipation of the occurrence of a branch (branch prediction). .
実施の形態5.
図14は、本発明の実施の形態5に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図15に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。
Embodiment 5 FIG.
FIG. 14 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the fifth embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 15, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図14に示すように、半導体装置は、CPU501と、CPU80と、キャッシュ部500と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部500は、キャッシュ制御部502と、キャッシュメモリ50とを有している。キャッシュ制御部502は、キャッシュメモリ50の動作を制御する。CPU501は、キャッシュ制御部502を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部502を介してアクセス可能である。但し、本実施の形態5に関しては、必ずしもCPU80が設けられている必要はない。
As illustrated in FIG. 14, the semiconductor device includes a
CPU501には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部502から入力される。また、CPU501には、出力データD2が、キャッュメモリ50から入力される。CPU501は、キャッシュアクセス要求信号S4、キャッシュアドレスA2、及び、例えば32ビットの命令コードC1を出力する。
A cache access acceptance signal S5 and a cache data ready signal S6 are input from the
キャッシュ制御部502には、キャッシュアクセス要求信号S4、キャッシュアドレスA2、及び、命令コードC1が、CPU501から入力される。また、キャッシュ制御部502には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部502には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部502には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部502は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
A cache access request signal S4, a cache address A2, and an instruction code C1 are input from the
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部502から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部502から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU501は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部502に入力される。
When reading data stored in the
キャッシュ制御部502は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU501に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部502に入力される。
When reading data stored in the
キャッシュ制御部502は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU501からキャッシュメモリ50へのアクセスに関して、キャッシュ制御部502は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
Regarding the access from the
キャッシュ制御部502は、CPU501によってフェッチされた命令コードC1又は該命令コードC1のデコード結果を判定することにより、CPU501からキャッシュメモリ50へのアクセスに関して、「H」レベル又は「L」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、CPU501からキャッシュメモリ50へのアクセスを、キャッシュアクセスモード切替信号S10が「H」レベルの場合は1サイクルアクセスモードで実行し、キャッシュアクセスモード切替信号S10が「L」レベルの場合は2サイクルアクセスモードで実行する。
The
具体的に、CPU501は、フェッチした命令コードC1を、キャッシュ制御部502に入力する。キャッシュ制御部502は、入力された命令コードC1が、命令コードの種類に応じて予め設定されている特定の値(複数)のいずれに一致するか、又はいずれにも一致しないかを判定する。そして、キャッシュ制御部502は、その判定の結果に応じて、1サイクルアクセスモードに設定するか、2サイクルアクセスモードに設定するか、前状態のアクセスモードを保持するかを決定し、対応するキャッシュアクセスモード切替信号S10を出力する。
Specifically, the
なお、上記特定の値は、システムの設計者によって、ハードウェア構成としてキャッシュ部500内に予め設定されている。あるいは、上記特定の値は、システムのユーザが、キャッシュ部500内の図示しないレジスタに、プログラムによって設定してもよい。
The specific value is preset in the
図15〜17は、本実施の形態5に係るキャッシュシステムの構成の一部をそれぞれ示すブロック図である。図14に示したキャッシュ部500は、図15〜17に示した判定装置31,33及びデコード回路30,32,34をそれぞれ有している。
15 to 17 are block diagrams respectively showing a part of the configuration of the cache system according to the fifth embodiment. The
図15を参照して、図14に示したCPU501によってフェッチされた命令コードC1は、デコード回路30に入力される。デコード回路30は、命令コードC1をデコードし、デコード結果D10を出力する。判定装置31には、命令コードC1(又はその一部)が入力される。判定装置31は、入力された命令コードC1が、上記特定の値のいずれに一致するか、又はいずれにも一致しないかを判定する。そして、その判定の結果に応じて、対応するキャッシュアクセスモード切替信号S10を出力する。
Referring to FIG. 15, instruction code C <b> 1 fetched by
図16を参照して、図14に示したCPU501によってフェッチされた命令コードC1は、デコード回路32に入力される。デコード回路32は、命令コードC1をデコードし、デコード結果D10を出力する。判定装置33には、デコード結果D10の一部が入力される。判定装置33は、入力されたデコード結果D10に基づいて、命令コードC1が、上記特定の値のいずれに一致するか、又はいずれにも一致しないかを判定する。そして、その判定の結果に応じて、対応するキャッシュアクセスモード切替信号S10を出力する。
Referring to FIG. 16, instruction code C <b> 1 fetched by
図17を参照して、図14に示したCPU501によってフェッチされた命令コードC1は、デコード回路34に入力される。デコード回路34は、命令コードC1をデコードし、デコード結果D10を出力する。また、デコード回路34は、図15,16にそれぞれ示した判定装置31,33と同様の判定機能を有しており、入力された命令コードC1が、上記特定の値のいずれに一致するか、又はいずれにも一致しないかを判定する。そして、その判定の結果に応じて、デコード結果D10の一部として、対応するキャッシュアクセスモード切替信号S10を出力する。
Referring to FIG. 17, instruction code C <b> 1 fetched by
図18は、図14に示したキャッシュ制御部502の構成の一部を示すブロック図である。図18に示した例では、キャッシュ制御部502は、図15に示した判定装置31を有している。判定装置31は、複数の比較器351〜354と、OR回路36〜38と、セレクタ39と、ラッチ回路40,41とを有している。
FIG. 18 is a block diagram showing a part of the configuration of the
比較器351〜354の各第1の入力端子には、上記特定の値が、設定値L1〜L4としてそれぞれ入力されている。比較器351〜354の各第2の入力端子には、命令コードC1(又はその一部)がそれぞれ入力されている。比較器351,352の各出力端子はOR回路36の2つの入力端子にそれぞれ接続されており、比較器353,354の各出力端子はOR回路37の2つの入力端子にそれぞれ接続されている。OR回路36,37の各出力端子は、OR回路38の2つの入力端子にそれぞれ接続されている。OR回路37の出力端子は、セレクタ39の第1の入力端子にも接続されている。セレクタ39には、OR回路38から出力された信号が入力されている。
The specific values are input as set values L 1 to L 4 to the first input terminals of the comparators 35 1 to 35 4 , respectively. The comparator 35 1-35 4 each second input terminal of the instruction code C1 (or portions thereof) are input, respectively. Each output terminal of the comparators 35 1 and 35 2 is connected to two input terminals of the
セレクタ39の出力端子はラッチ回路40の入力端子に接続されており、ラッチ回路40の出力端子はラッチ回路41の入力端子に接続されている。ラッチ回路40からは、キャッシュアクセスモード切替信号S10が出力されている。ラッチ回路41の出力端子は、セレクタ39の第2の入力端子に接続されている。
The output terminal of the
セレクタ39は、OR回路38から「H」レベルの信号が入力されている場合は第1の入力端子を、「L」レベルの信号が入力されている場合は第2の入力端子を、それぞれ選択する。
The
図14に示したCPU501からキャッシュ制御部502に入力された命令コードC1が、設定値L3,L4のいずれかに一致した場合は、セレクタ39の第1の入力端子には「H」レベルの信号が入力される。この「H」レベルの信号は、セレクタ39から出力され、ラッチ回路40に入力される。従って、ラッチ回路40からは、「H」レベルのキャッシュアクセスモード切替信号S10が出力される。これにより、図14に示したキャッシュメモリ50の動作が、1サイクルアクセスモードに設定される。
When the instruction code C1 input from the
図14に示したCPU501からキャッシュ制御部502に入力された命令コードC1が、設定値L1,L2のいずれかに一致した場合は、セレクタ39の第1の入力端子には「L」レベルの信号が入力される。この「L」レベルの信号は、セレクタ39から出力され、ラッチ回路40に入力される。従って、ラッチ回路40からは、「L」レベルのキャッシュアクセスモード切替信号S10が出力される。これにより、図14に示したキャッシュメモリ50の動作が、2サイクルアクセスモードに設定される。
When the instruction code C1 input from the
図14に示したCPU501からキャッシュ制御部502に入力された命令コードC1が、設定値L1〜L4のいずれにも一致しない場合は、OR回路38からは「L」レベルの信号が出力されるため、セレクタ39の第2の入力端子が選択される。セレクタ39の第2の入力端子には、前状態のアクセスモードを決定するキャッシュアクセスモード切替信号S10が、ラッチ回路41から入力されている。このキャッシュアクセスモード切替信号S10が、セレクタ39を介してラッチ回路40から出力される。これにより、図14に示したキャッシュメモリ50の動作は、前状態のアクセスモードと同一に設定される。
When the instruction code C1 input from the
なお、図16に示した判定装置33は、比較器351〜354の各第2の入力端子へ入力される信号が、命令コードC1ではなくデコード結果D10の一部となるだけで、その他の回路構成は、図18に示した判定装置31の構成と同様である。
The
このように本実施の形態5に係るキャッシュシステムによれば、キャッシュ制御部502は、CPU501によって実行される命令の種類に応じて、1サイクルアクセスモードと2サイクルアクセスモードとを切り替える。従って、ソフトウェアのコンパイルオプションを切り替えることによってアクセスモードを選択するといった使い方ができるようになる。また、1サイクルアクセスモード主体の高速道作用の命令セットと、2サイクルアクセスモード主体の低消費電力用の命令セットとを用意し、使用する命令セットに応じてアクセスモードを選択するといった使い方ができるようにもなる。
As described above, according to the cache system according to the fifth embodiment, the
しかも、キャッシュ制御部502は、CPU501によってフェッチされた命令コードC1又は該命令コードC1のデコード結果D10を判定することによって、アクセスモードを選択する。従って、上記特許文献2に開示されたキャッシュシステムとは異なり、本実施の形態5に係るキャッシュシステムは、プリフェッチ装置を有しない装置にも対応でき、また、分岐命令予測器が不要であるために回路規模が増大することもない。
Moreover, the
さらに、図16,17に示した例では、デコード回路の全部又は一部がアクセスモードの判定装置としても使用されているため、図15に示した例と比較すると、回路規模の増大を抑制することができる。 Further, in the example shown in FIGS. 16 and 17, since all or part of the decoding circuit is also used as an access mode determination device, an increase in circuit scale is suppressed as compared with the example shown in FIG. be able to.
実施の形態6.
図19は、本発明の実施の形態6に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図19に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。
Embodiment 6 FIG.
FIG. 19 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the sixth embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 19, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図19に示すように、半導体装置は、CPU601と、CPU80と、キャッシュ部600と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部600は、キャッシュ制御部602と、キャッシュメモリ50とを有している。キャッシュ制御部602は、キャッシュメモリ50の動作を制御する。CPU601は、キャッシュ制御部602を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部602を介してアクセス可能である。但し、本実施の形態6に関しては、必ずしもCPU80が設けられている必要はない。
As shown in FIG. 19, the semiconductor device includes a
CPU601には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部602から入力される。また、CPU601には、出力データD2が、キャッュメモリ50から入力される。CPU601は、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。
The
キャッシュ制御部602には、キャッシュアクセス要求信号S4及びキャッシュアドレスA2が、CPU601から入力される。また、キャッシュ制御部602には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部602には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部602には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部602は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
The
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部602から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部602から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU201は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部602に入力される。
When reading data stored in the
キャッシュ制御部602は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU601に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部602に入力される。
When reading data stored in the
キャッシュ制御部602は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU601からキャッシュメモリ50へのアクセスに関して、キャッシュ制御部602は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
Regarding the access from the
キャッシュ制御部602は、CPU601からキャッシュメモリ50へアクセスされたが、CPU601が必要とするデータがキャッシュメモリ50内に格納されていない場合に、CPU601からキャッシュメモリ50への次回のアクセス又は次回以降のアクセスにおいて、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。即ち、キャッシュメモリ50の動作を1サイクルアクセスモードに設定する。
The
図20は、キャッシュ制御部602の構成の一部を示すブロック図である。キャッシュ制御部602は、状態監視回路51及び切替信号生成回路52を有している。切替信号生成回路52はクリア回路53を有しており、クリア回路53は複数のカウンタ54を含んでいる。
FIG. 20 is a block diagram illustrating a part of the configuration of the
状態監視回路51は、キャッシュメモリ50へのアクセス要求を検出すると、アクセス発生信号S51を出力する。アクセス発生信号S51は、切替信号生成回路52に入力される。また、Miss信号S11が、図19に示したキャッシュメモリ50から切替信号生成回路52に入力される。
When the
切替信号生成回路11は、指定されたデータがキャッシュメモリ50内に格納されていないことを示す内容のMiss信号S11が入力されると、「H」レベルのキャッシュアクセスモード切替信号S10を出力する。これにより、キャッシュメモリ50の動作が1サイクルアクセスモードに設定される。
When the Miss signal S11 indicating that the designated data is not stored in the
上記の通り、切替信号生成回路52はクリア回路53を有しており、クリア回路53は複数のカウンタ54を含んでいる。従って、切替信号生成回路52は、キャッシュアクセスモード切替信号S10が「H」レベルに設定されてからのサイクル期間及びアクセス回数を、アクセス発生信号S51及びMiss信号S11に基づいて把握することができる。クリア回路53には、上記の次回のアクセスが完了したこと、キャッシュアクセスモード切替信号S10が「H」レベルに設定されてから所定数のサイクル期間が経過したこと、上記の次回以降のアクセスにおいてキャッシュメモリ50へのアクセスが途切れたこと等が、クリア条件として設定されている。クリア回路53は、クリア条件が満たされると、キャッシュアクセスモード切替信号S10を「L」レベルに切り替える。
As described above, the switching
このように本実施の形態6に係るキャッシュシステムによれば、キャッシュ制御部602は、キャッシュメモリ50が2サイクルアクセスモードで動作している場合であっても、CPU601が必要とするデータがキャッシュメモリ50内に格納されていない場合には、「H」レベルのキャッシュアクセスモード切替信号S10を出力することにより、1サイクルアクセスモードに設定する。必要とするデータがキャッシュメモリ50内に格納されていない場合は、外部メモリ70からデータを読み出す必要があるため、性能の低下を引き起こす可能性がある。しかも、パイプライン処理の後段の処理が詰まるために複数の命令間にレジスタ依存性が生じやすくなり、その結果、性能低下を引き起こす可能性がさらに高くなる。しかしながら、本実施の形態6に係るキャッシュシステムによると、このような場合には、CPU601からキャッシュメモリ50へのアクセスが1サイクルアクセスモードに設定されるため、性能低下のペナルティを最小限に抑制することが可能となる。
As described above, according to the cache system according to the sixth embodiment, the
実施の形態7.
図21,22は、上記実施の形態1〜6に係るキャッシュシステムに関して、アクセスモードが切り替わる状況をそれぞれ示すタイミングチャートである。図21に示した例では、サイクル期間P1において2サイクルアクセスモードによるアクセス要求(アクセスAC1)が発生し、サイクル期間P2においてはアクセス要求が発生せず、サイクル期間P3において1サイクルアクセスモードによるアクセス要求(アクセスAC3)が発生している。アクセスAC1のデータメモリアクセスは、サイクル期間P3の前半で完了している。従って、アクセスAC3のタグ及びデータメモリアクセスはサイクル期間P3の後半から開始され、アクセスAC3に関して高速動作が実現されている。
Embodiment 7 FIG.
FIGS. 21 and 22 are timing charts respectively showing the situation in which the access mode is switched in the cache systems according to the first to sixth embodiments. In the example shown in FIG. 21, an access request (access AC1) in the 2-cycle access mode is generated in the cycle period P1, an access request is not generated in the cycle period P2, and an access request in the 1-cycle access mode in the cycle period P3. (Access AC3) has occurred. The data memory access of access AC1 is completed in the first half of the cycle period P3. Therefore, access AC3 tag and data memory access is started from the latter half of the cycle period P3, and high-speed operation is realized for access AC3.
図22に示した例では、サイクル期間P1において2サイクルアクセスモードによるアクセス要求(アクセスAC1)が発生し、サイクル期間P2においても2サイクルアクセスモードによるアクセス要求(アクセスAC2)が発生し、サイクル期間P3において1サイクルアクセスモードによるアクセス要求(アクセスAC3)が発生している。この場合、サイクル期間P3の後半からアクセスAC3のタグ及びデータメモリアクセスを開始しようとしても、その時点では、アクセスAC2のデータメモリアクセスがまだ完了していない。そのため、アクセスAC3のタグ及びデータメモリアクセスの開始は、サイクル期間P4の後半まで待たなければならない。その結果、アクセスAC3に関しては、アクセスAC1,AC2と比較して消費電力が高いうえに、高速動作も実現されていない。かかる状況は、上記実施の形態1〜6に係るキャッシュシステムに限らず、低速及び高速の二つのアクセスモードを有する任意のキャッシュシステム(上記特許文献1,2に開示されたキャッシュシステムを含む)において発生する。
In the example shown in FIG. 22, an access request (access AC1) in the 2-cycle access mode is generated in the cycle period P1, and an access request (access AC2) in the 2-cycle access mode is also generated in the cycle period P2. , An access request (access AC3) is generated in the 1-cycle access mode. In this case, even if it is attempted to start the access AC3 tag and data memory access from the latter half of the cycle period P3, the access AC2 data memory access is not yet completed. Therefore, the start of access AC3 tag and data memory access must wait until the second half of the cycle period P4. As a result, the access AC3 has higher power consumption than the access AC1 and AC2, and a high-speed operation is not realized. Such a situation is not limited to the cache systems according to
本実施の形態7では、かかる状況が発生することを回避し得るキャッシュシステムについて説明する。 In the seventh embodiment, a cache system that can avoid such a situation will be described.
図23は、本発明の実施の形態7に係るキャッシュシステムが搭載されている半導体装置の構成を示すブロック図である。図23に示した複数の構成要素のうち、上記実施の形態1と同一の構成要素については、図1と同一の参照符号を付している。以下、上記実施の形態1との相違点を中心に説明する。 FIG. 23 is a block diagram showing a configuration of a semiconductor device in which the cache system according to the seventh embodiment of the present invention is mounted. Of the plurality of components shown in FIG. 23, the same components as those in the first embodiment are given the same reference numerals as those in FIG. Hereinafter, the difference from the first embodiment will be mainly described.
図23に示すように、半導体装置は、CPU701と、CPU80と、キャッシュ部700と、バス調停回路60と、外部バス3と、外部メモリ70とを備えている。キャッシュ部700は、キャッシュ制御部702と、キャッシュメモリ50とを有している。キャッシュ制御部702は、キャッシュメモリ50の動作を制御する。CPU701は、キャッシュ制御部702を介してキャッシュメモリ50にアクセス可能である。キャッシュメモリ50には、CPU80からも、キャッシュ制御部702を介してアクセス可能である。
As shown in FIG. 23, the semiconductor device includes a
CPU701には、キャッシュアクセス受付信号S5及びキャッシュデータレディ信号S6が、キャッシュ制御部702から入力される。また、CPU701には、出力データD2が、キャッュメモリ50から入力される。CPU701は、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。
The
キャッシュ制御部702には、キャッシュアクセス要求信号S4及びキャッシュアドレスA2が、CPU701から入力される。また、キャッシュ制御部702には、スヌープ要求信号S1及びスヌープアドレスA1が、CPU80から入力される。また、キャッシュ制御部702には、出力データD2及びMiss信号S11が、キャッシュメモリ50から入力される。また、キャッシュ制御部702には、バスアクセス受付信号S8が、バス調停回路60から入力される。キャッシュ制御部702は、キャッシュアクセス受付信号S5、キャッシュデータレディ信号S6、スヌープ要求受付信号S2、スヌープデータレディ信号S3、バスアクセス要求信号S7、ライトバックデータD1、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10を出力する。
The
CPU80には、スヌープ要求受付信号S2及びスヌープデータレディ信号S3が、キャッシュ制御部702から入力される。また、CPU80には、出力データD2が、キャッシュメモリ50から入力される。CPU80は、スヌープ要求信号S1及びスヌープアドレスA1を出力する。
The
キャッシュメモリ50には、タグイネーブル信号S9、アクセスアドレスA3、及び、キャッシュアクセスモード切替信号S10が、キャッシュ制御部702から入力される。キャッシュメモリ50は、Miss信号S11及び出力データD2を出力する。
A tag enable signal S9, an access address A3, and a cache access mode switching signal S10 are input from the
CPU701は、キャッシュメモリ50内に格納されているデータを読み出す場合、キャッシュアクセス要求信号S4及びキャッシュアドレスA2を出力する。キャッシュアクセス要求信号S4及びキャッシュアドレスA2は、キャッシュ制御部702に入力される。
When reading data stored in the
キャッシュ制御部702は、キャッシュアクセス要求信号S4を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、キャッシュアクセス受付信号S5と、タグイネーブル信号S9と、キャッシュアドレスA2に基づきアクセスアドレスA3とを出力する。キャッシュアクセス受付信号S5は、CPU701に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU80は、キャッシュメモリ50内に格納されているデータを読み出す場合、スヌープ要求信号S1及びスヌープアドレスA1を出力する。スヌープ要求信号S1及びスヌープアドレスA1は、キャッシュ制御部702に入力される。
When reading data stored in the
キャッシュ制御部702は、スヌープ要求信号S1を受け付けると、キャッシュメモリ50がアクセス可能な状態であれば、スヌープ要求受付信号S2と、タグイネーブル信号S9と、スヌープアドレスA1に基づきアクセスアドレスA3とを出力する。スヌープ要求受付信号S2は、CPU80に入力される。タグイネーブル信号S9及びアクセスアドレスA3は、キャッシュメモリ50に入力される。
When the
CPU701及びCPU80からキャッシュメモリ50への各アクセスに関して、キャッシュ制御部702は、上記実施の形態1と同様の2サイクルアクセスモード及び1サイクルアクセスモードを有している。
With respect to each access from the
キャッシュ制御部702は、2サイクルアクセスモードでのアクセス要求に連続して1サイクルアクセスモードでのアクセス要求が発生したことに起因して、2サイクルアクセスモードでアクセスする期間(第1のアクセス期間)の一部に1サイクルアクセスモードでアクセスする期間(第2のアクセス期間)が重複することとなる場合、上記第2のアクセス期間におけるアクセスを2サイクルアクセスモードに変更する。例えば図22に示した例を参照すると、2サイクルアクセスモードでアクセスする第1のアクセス期間(サイクル期間P2の後半からサイクル期間P4の前半)の後半部分に、1サイクルアクセスモードでアクセスする第2のアクセス期間(サイクル期間P3の後半からサイクル期間P4の前半)が重複している。従って、キャッシュ制御部702は、上記第2のアクセス期間におけるアクセスAC3を、1サイクルアクセスモードから2サイクルアクセスモードに変更する。
The
図24は、本実施の形態7に係るキャッシュシステムに関して、アクセスモードが切り替わる状況を示すタイミングチャートである。図22に示した例と同様に、サイクル期間P1においては、2サイクルアクセスモードの判定条件を満たしたことにより、2サイクルアクセスモードによるアクセス要求(アクセスAC1)が発生している。また、サイクル期間P1に連続するサイクル期間P2においても、2サイクルアクセスモードの判定条件を満たしたことにより、2サイクルアクセスモードによるアクセス要求(アクセスAC2)が発生している。また、サイクル期間P2に連続するサイクル期間P3においては、1サイクルアクセスモードの判定条件を満たしたことにより、1サイクルアクセスモードによるアクセス要求(アクセスAC3)が発生している。 FIG. 24 is a timing chart illustrating a situation where the access mode is switched in the cache system according to the seventh embodiment. Similar to the example shown in FIG. 22, in the cycle period P1, an access request (access AC1) in the 2-cycle access mode is generated because the determination condition for the 2-cycle access mode is satisfied. Also, in the cycle period P2 that is continuous with the cycle period P1, the access request (access AC2) in the 2-cycle access mode is generated because the determination condition for the 2-cycle access mode is satisfied. Further, in the cycle period P3 continuous to the cycle period P2, the access request (access AC3) in the one-cycle access mode is generated because the determination condition for the one-cycle access mode is satisfied.
キャッシュ制御部702は、1サイクルアクセスモードでのアクセスAC3が2サイクルアクセスモードでのアクセスAC2に連続していることを判別すると、アクセスAC3に対応するキャッシュアクセスモード切替信号S10を、「H」レベルから「L」レベルに変更する。これにより、アクセスAC3のアクセスモードが、1サイクルアクセスモードから2サイクルアクセスモードに変更される。
When the
なお、2サイクルアクセスモードでのアクセスの後に1サイクルアクセスモードでのアクセスが実行される場合であっても、1サイクルアクセスモードでのアクセスが2サイクルアクセスモードでのアクセスに連続していない場合には、図21と同様の動作が行われる。 In addition, even when the access in the 1 cycle access mode is executed after the access in the 2 cycle access mode, the access in the 1 cycle access mode is not continuous with the access in the 2 cycle access mode. The same operation as in FIG. 21 is performed.
図25は、キャッシュ制御部702の構成の一部を示すブロック図である。キャッシュ制御部702は、切替信号生成回路60を有している。切替信号生成回路60は、アクセスサイクル判定回路61、AND回路62,63,65、及び、フリップフロップ64を有している。アクセスサイクル判定回路61の出力端子は、AND回路63,65の各第1の入力端子に接続されている。AND回路63の出力端子は、フリップフロップ64の入力端子に接続されている。フリップフロップ64の出力端子は、AND回路62の第1の入力端子と、AND回路65の第2の入力端子とに接続されている。AND回路65からは、キャッシュアクセスモード切替信号S10が出力される。AND回路62の第2の入力端子には、タグイネーブル信号S9が入力される。AND回路62の出力端子は、AND回路63の第2の入力端子に接続されている。
FIG. 25 is a block diagram illustrating a part of the configuration of the
アクセスサイクル判定回路61は、通常は「H」レベルの信号を出力し、2サイクルアクセスモードでキャッシュメモリ50へのアクセスを行う場合には、1サイクル期間だけ「L」レベルの信号を出力する。
The access
アクセスサイクル判定回路61が1サイクル期間だけ「L」レベルの信号を出力すると、この1サイクル期間と、この1サイクル期間に続く次の1サイクル期間とにおいて、「L」レベルのキャッシュアクセスモード切替信号S10が出力される。
When the access
一方、アクセスサイクル判定回路61が「H」レベルの信号を出力すると、同一のサイクル期間内にタグメモリへのアクセスがあり、かつ、2サイクルアクセスモードでのデータメモリへのアクセスがある場合には、「L」レベルの信号がフリップフロップ64へ入力される。また、それ以外の場合には、「H」レベルの信号がフリップフロップ64へ入力される。AND回路65は、フリップフロップ64から入力される信号と、アクセスサイクル判定回路61から入力される信号との論理積をとり、キャッシュアクセスモード切替信号S10として出力する。
On the other hand, when the access
なお、本実施の形態7に係るキャッシュシステムにおいて、1サイクルアクセスモード及び2サイクルアクセスモードの各判定条件は、上記実施の形態1〜6で説明した判定条件に限定されるものではなく、どのようなものであってもよい。 In the cache system according to the seventh embodiment, the determination conditions for the one-cycle access mode and the two-cycle access mode are not limited to the determination conditions described in the first to sixth embodiments. It may be anything.
このように本実施の形態7に係るキャッシュシステムによれば、キャッシュ制御部702は、1サイクルアクセスモードでのアクセスAC3が2サイクルアクセスモードでのアクセスAC2に連続していることを判別すると、アクセスAC3のアクセスモードを、1サイクルアクセスモードから2サイクルアクセスモードに変更する。従って、1サイクルアクセスモードに切り替えても高速動作が実現できない場合に2サイクルアクセスモードが維持されることによって、消費電力を抑制することが可能となる。
As described above, according to the cache system according to the seventh embodiment, when the
1,80,201,301,401,501,601,701 CPU、2,202,302,402,502,602,702 キャッシュ制御部、50 キャッシュメモリ。
1, 80, 201, 301, 401, 501, 601, 701 CPU, 2, 202, 302, 402, 502, 602, 702 Cache control unit, 50 cache memory.
Claims (10)
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記キャッシュメモリには、前記プロセッサとは異なる機能ブロックからも、前記キャッシュ制御部を介してアクセス可能であり、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記機能ブロックから前記キャッシュメモリへのアクセスの状況に応じて、前記第1のモードと前記第2のモードとを切り替える、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
The cache memory can be accessed from the functional block different from the processor via the cache control unit,
Regarding the access to the cache memory from the processor, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
The cache control unit, wherein the cache control unit switches between the first mode and the second mode according to a state of access from the functional block to the cache memory.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記プロセッサから前記キャッシュメモリへのアクセス要求を受け付けることができるか否かに応じて、前記第1のモードと前記第2のモードとを切り替える、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
Regarding the access from the processor to the cache memory, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
The cache system, wherein the cache control unit switches between the first mode and the second mode depending on whether or not an access request to the cache memory can be received from the processor.
When the processor is accessing the cache memory in the first mode and the cache control unit cannot accept a new access request to the cache memory from the processor, The cache system according to claim 3, wherein the cache system is switched to the second mode.
前記機能ブロックから前記キャッシュメモリへのアクセスに関しても、前記キャッシュ制御部は、互いに切替可能な、前記第1のモードと前記第2のモードとを有しており、
前記キャッシュ制御部は、前記第1のモードで前記機能ブロックが前記キャッシュメモリへアクセスしている状態において、前記プロセッサから前記キャッシュメモリへのアクセス要求を受け付けることができない場合、前記第1のモードを前記第2のモードに切り替える、請求項3に記載のキャッシュシステム。 The cache memory can be accessed from the functional block different from the processor via the cache control unit,
Regarding the access from the functional block to the cache memory, the cache control unit has the first mode and the second mode that can be switched to each other,
In the state where the functional block is accessing the cache memory in the first mode, the cache control unit is configured to change the first mode when the processor cannot accept an access request to the cache memory. The cache system according to claim 3, wherein the cache system is switched to the second mode.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記キャッシュメモリには、前記プロセッサとは異なる機能ブロックからも、前記キャッシュ制御部を介してアクセス可能であり、
前記プロセッサ及び前記機能ブロックから前記キャッシュメモリへの各アクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記プロセッサから前記キャッシュメモリへのアクセス要求と、前記機能ブロックから前記キャッシュメモリへのアクセス要求とを重複して受けた場合、前記プロセッサ及び前記機能ブロックから前記キャッシュメモリへの各アクセスを、いずれも前記第2のモードで実行する、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
The cache memory can be accessed from the functional block different from the processor via the cache control unit,
With respect to each access from the processor and the functional block to the cache memory, the cache control unit can switch between each other at a first speed and at a first power consumption, and the first mode. And a second mode for accessing at a second speed higher than the first power consumption and at a second power consumption higher than the first power consumption,
When the cache control unit receives an access request from the processor to the cache memory and an access request from the functional block to the cache memory, the cache control unit transfers the cache memory from the processor and the functional block to the cache memory. A cache system that executes each access in the second mode.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、分岐命令の実行に基づく前記プロセッサから前記キャッシュメモリへのアクセスが、前記キャッシュメモリからの特定の分岐先データの読み出しである場合、前記プロセッサから前記キャッシュメモリへのアクセスを前記第2のモードで実行する、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
Regarding the access from the processor to the cache memory, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
When the access from the processor to the cache memory based on execution of a branch instruction is a read of specific branch destination data from the cache memory, the cache control unit controls the access from the processor to the cache memory. A cache system that executes in the second mode.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記プロセッサによってフェッチされた命令コード又は該命令コードのデコード結果を判定することにより、前記プロセッサから前記キャッシュメモリへのアクセスを、前記第1のモード又は前記第2のモードで実行する、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
Regarding the access to the cache memory from the processor, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
The cache control unit determines access to the cache memory from the processor in the first mode or the second mode by determining an instruction code fetched by the processor or a decoding result of the instruction code. The cache system to execute.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記プロセッサから前記キャッシュメモリへアクセスされたが、前記プロセッサが必要とするデータが前記キャッシュメモリ内に格納されていない場合、前記プロセッサから前記キャッシュメモリへの次回のアクセスを前記第2のモードで実行する、キャッシュシステム。 Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
Regarding the access from the processor to the cache memory, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
When the cache control unit is accessed from the processor to the cache memory, but the data required by the processor is not stored in the cache memory, the cache control unit performs the next access from the processor to the cache memory. A cache system that executes in the second mode.
前記キャッシュメモリを制御するキャッシュ制御部と、
前記キャッシュ制御部を介して前記キャッシュメモリにアクセス可能なプロセッサと
を備え、
前記プロセッサから前記キャッシュメモリへのアクセスに関して、前記キャッシュ制御部は、互いに切替可能な、第1の速度、かつ第1の消費電力でアクセスする第1のモードと、前記第1の速度よりも早い第2の速度、かつ前記第1の消費電力よりも高い第2の消費電力でアクセスする第2のモードとを有しており、
前記キャッシュ制御部は、前記第1のモードでのアクセス要求に連続して前記第2のモードでのアクセス要求が発生したことに起因して、前記第1のモードでアクセスする第1のアクセス期間の一部に前記第2のモードでアクセスする第2のアクセス期間が重複することとなる場合、前記第2のアクセス期間におけるアクセスを前記第1のモードに変更する、キャッシュシステム。
Cache memory,
A cache control unit for controlling the cache memory;
A processor accessible to the cache memory via the cache control unit,
Regarding the access from the processor to the cache memory, the cache control unit can switch to each other at a first speed and a first mode that is accessed at a first power consumption, and is faster than the first speed. And a second mode for accessing at a second speed and a second power consumption higher than the first power consumption,
The cache control unit has a first access period in which access is made in the first mode because an access request in the second mode is generated following an access request in the first mode. A cache system that changes access in the second access period to the first mode when a second access period for accessing a part of the second access period overlaps in part in the second mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003312617A JP4498705B2 (en) | 2003-09-04 | 2003-09-04 | Cash system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003312617A JP4498705B2 (en) | 2003-09-04 | 2003-09-04 | Cash system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005084712A JP2005084712A (en) | 2005-03-31 |
JP4498705B2 true JP4498705B2 (en) | 2010-07-07 |
Family
ID=34413821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003312617A Expired - Fee Related JP4498705B2 (en) | 2003-09-04 | 2003-09-04 | Cash system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4498705B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011257800A (en) * | 2010-06-04 | 2011-12-22 | Panasonic Corp | Cache memory device, program conversion device, cache memory control method, and program conversion method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000200217A (en) * | 1999-01-06 | 2000-07-18 | Toshiba Corp | Instruction cache memory |
JP2002169790A (en) * | 2000-12-01 | 2002-06-14 | Sharp Corp | Semiconductor integrated circuit |
JP2003150446A (en) * | 2001-11-16 | 2003-05-23 | Matsushita Electric Ind Co Ltd | Cache memory |
JP2003519836A (en) * | 1999-12-31 | 2003-06-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | A method for managing a set associative cache using parallel and serial reads initiated while a processor is in a wait state |
JP2003242029A (en) * | 2002-02-15 | 2003-08-29 | Hitachi Ltd | Semi-conductor integrated circuit |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01154261A (en) * | 1987-12-11 | 1989-06-16 | Toshiba Corp | Information processor |
JPH01260690A (en) * | 1988-04-08 | 1989-10-17 | Fujitsu Ltd | Memory access control system |
JPH01292416A (en) * | 1988-05-19 | 1989-11-24 | Fuji Facom Corp | System for reducing power consumption of processor |
JPH08263370A (en) * | 1995-03-27 | 1996-10-11 | Toshiba Microelectron Corp | Cache memory system |
JPH0950403A (en) * | 1995-06-01 | 1997-02-18 | Hitachi Ltd | Cache memory and microprocessor using the same |
JPH09223068A (en) * | 1996-02-15 | 1997-08-26 | Toshiba Microelectron Corp | Cache memory |
-
2003
- 2003-09-04 JP JP2003312617A patent/JP4498705B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000200217A (en) * | 1999-01-06 | 2000-07-18 | Toshiba Corp | Instruction cache memory |
JP2003519836A (en) * | 1999-12-31 | 2003-06-24 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | A method for managing a set associative cache using parallel and serial reads initiated while a processor is in a wait state |
JP2002169790A (en) * | 2000-12-01 | 2002-06-14 | Sharp Corp | Semiconductor integrated circuit |
JP2003150446A (en) * | 2001-11-16 | 2003-05-23 | Matsushita Electric Ind Co Ltd | Cache memory |
JP2003242029A (en) * | 2002-02-15 | 2003-08-29 | Hitachi Ltd | Semi-conductor integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
JP2005084712A (en) | 2005-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6105051A (en) | Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor | |
EP1029269B1 (en) | Method and apparatus for selecting thread switch events in a multithreaded processor | |
US6076157A (en) | Method and apparatus to force a thread switch in a multithreaded processor | |
JP4119945B2 (en) | Task processing device | |
US6963962B2 (en) | Memory system for supporting multiple parallel accesses at very high frequencies | |
JP4127848B2 (en) | Task processing device | |
JPH03129433A (en) | Device and method for parallel processing | |
JP2004171177A (en) | Cache system and cache memory controller | |
JPH04343151A (en) | Memory access device | |
US5465344A (en) | Microprocessor with dual-port cache memory for reducing penalty of consecutive memory address accesses | |
JP2007133456A (en) | Semiconductor device | |
JP2001092662A (en) | Processor core and processor using the same | |
US7636812B2 (en) | Cache memory control method and cache memory control device | |
JPH08292918A (en) | Validation device of system resource | |
US7376777B2 (en) | Performing an N-bit write access to an M×N-bit-only peripheral | |
JP3790626B2 (en) | Method and apparatus for fetching and issuing dual word or multiple instructions | |
JP4173858B2 (en) | Instruction cache and method for reducing memory contention | |
US20030196072A1 (en) | Digital signal processor architecture for high computation speed | |
JP4498705B2 (en) | Cash system | |
KR100457478B1 (en) | Memory access method and data processing system | |
US7606991B2 (en) | Dynamic clock switch mechanism for memories to improve performance | |
JP3520372B2 (en) | Elimination of critical path in operation of memory control unit and input / output control unit | |
JP2004094807A (en) | Instruction cache, microprocessor, and design method for same | |
JP3956698B2 (en) | Memory control device | |
JPH07210463A (en) | Cache memory system and data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060821 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100324 |
|
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: 20100413 |
|
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: 20100414 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |