JPH08185358A - Microprocessor - Google Patents
MicroprocessorInfo
- Publication number
- JPH08185358A JPH08185358A JP6329139A JP32913994A JPH08185358A JP H08185358 A JPH08185358 A JP H08185358A JP 6329139 A JP6329139 A JP 6329139A JP 32913994 A JP32913994 A JP 32913994A JP H08185358 A JPH08185358 A JP H08185358A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- microprocessor
- signal
- flag
- valid
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、キャッシュを内蔵した
マイクロプロセッサに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor including a cache.
【0002】[0002]
【従来の技術】携帯型電子機器や制御機器に用いられる
マイクロプロセッサでは、電池駆動や熱対策のために低
消費電力化が要求され、不要期間においてマイクロプロ
セッサの動作を停止させている。この種のマイクロプロ
セッサのうち、高速動作が可能なキャッシュ内蔵型のも
のを、バスマスタ及び外部メモリとバスを介して接続し
た装置において、マイクロプロセッサの動作停止中にバ
スマスタが外部メモリに対しデータの書き込みを行う
と、キャッシュ内のデータとの間に相違が生ずる。2. Description of the Related Art Microprocessors used in portable electronic devices and control devices are required to have low power consumption for battery driving and heat countermeasures, and the operation of the microprocessor is stopped during an unnecessary period. In this type of microprocessor, a cache built-in type microprocessor capable of high-speed operation is connected to a bus master and an external memory via a bus, and the bus master writes data to the external memory while the microprocessor is not operating. Will cause a difference with the data in the cache.
【0003】これを防止するために、外部メモリへの書
き込みを監視し、その書き込みをキャッシュにも反映さ
せるというバススヌープ機能をマイクロプロセッサに持
たせたものがある。しかし、マイクロプロセッサの動作
停止中においてもキャッシュを動作させなければならな
いので、消費電力の低減効果が小さくなる。バススヌー
プ機能を有しないマイクロプロセッサでは、上記データ
の相違を防止するために、ソフトウェアにより図6に示
すような処理が行われている。以下、括弧内の数値は図
中のステップ識別番号を表す。In order to prevent this, some microprocessors have a bus snoop function of monitoring a write to an external memory and reflecting the write in a cache. However, since the cache must be operated even while the microprocessor is not operating, the effect of reducing power consumption becomes small. In a microprocessor having no bus snoop function, a process shown in FIG. 6 is performed by software in order to prevent the above data difference. Hereinafter, the numerical value in the parenthesis represents the step identification number in the figure.
【0004】(1、2)通常動作中に、マイクロプロセ
ッサ停止命令が実行され又はマイクロプロセッサに対し
停止割り込み要求があると、以下の処理が行われる。 (3)キャッシュメモリ内のデータを無効にするため
に、まず、キャッシュをオフにする。また、インデック
スアドレスIXをゼロクリアする。 (4)インデックスアドレスIXで指定される有効フラ
グVに‘0’を書き込んで、インデックスアドレスIX
で指定されるキャッシュメモリ内のデータを無効にす
る。(1, 2) When a microprocessor stop instruction is executed or a stop interrupt request is issued to the microprocessor during normal operation, the following processing is performed. (3) To invalidate the data in the cache memory, first turn off the cache. Also, the index address IX is cleared to zero. (4) Write "0" in the valid flag V designated by the index address IX to obtain the index address IX.
Invalidates the data in the cache memory specified by.
【0005】(6)インデックスアドレスIXが最終値
nに等しくなければ、インデックスアドレスIXをイン
クリメントしてステップ4へ戻る。 (7)IX=nになると、マイクロプロセッサ内部のク
ロックをオフにしてマイクロプロセッサの動作を停止さ
せる。 (8)マイクロプロセッサに対し停止解除要求がある
と、マイクロプロセッサ内のクロックをオンにする。(6) If the index address IX is not equal to the final value n, the index address IX is incremented and the process returns to step 4. (7) When IX = n, the clock inside the microprocessor is turned off to stop the operation of the microprocessor. (8) When the stop release request is issued to the microprocessor, the clock in the microprocessor is turned on.
【0006】(9)キャッシュをオンにし、上記ステッ
プ1の通常動作に戻る。(9) The cache is turned on, and the normal operation of step 1 is returned to.
【0007】[0007]
【発明が解決しようとする課題】上記処理は、次の理由
により、マイクロプロセッサ停止要求からマイクロプロ
セッサ動作停止までに要する時間が長くなる。 (1)キャッシュをオフにして外部メモリ内の命令をマ
イクロプロセッサ内に取り込む必要があるのでメモリウ
ェイトが生ずる。The above processing takes a long time from the microprocessor stop request to the microprocessor operation stop for the following reason. (1) Since it is necessary to turn off the cache and fetch the instruction in the external memory into the microprocessor, a memory wait occurs.
【0008】(2)ステップ4〜6の動作を全てのイン
デックスアドレスIXについて繰り返し行う必要があ
る。 また、図6の処理を行うための余分なプログラムを作成
し、かつ、そのプログラム領域を外部メモリ内に確保す
る必要がある。本発明の目的は、このような問題点に鑑
み、マイクロプロセッサ停止要求からマイクロプロセッ
サ動作停止までの時間を短縮することができ、かつ、有
効フラグを操作するためのプログラムが不要なマイクロ
プロセッサを提供することにある。(2) It is necessary to repeat the operations of steps 4 to 6 for all index addresses IX. Further, it is necessary to create an extra program for performing the processing of FIG. 6 and secure the program area in the external memory. In view of the above problems, an object of the present invention is to provide a microprocessor that can shorten the time from the microprocessor stop request to the microprocessor operation stop and that does not require a program for operating the valid flag. To do.
【0009】[0009]
【課題を解決するための手段及びその作用】第1発明で
は、キャッシュメモリと該キャッシュメモリの各アドレ
スについて記憶内容の有効/無効を示す2値を保持する
有効フラグとを有するキャッシュを内蔵したマイクロプ
ロセッサにおいて、該有効フラグは、その保持値を強制
的に該無効を示す値にするための初期化入力端を有し、
外部から供給されるスリープ信号がアクティブになった
後にキャッシュフラッシュ信号を生成し該初期化入力端
に供給するキャッシュフラッシュ回路を有する。According to the first aspect of the present invention, a micro computer having a cache having a cache memory and a valid flag holding a binary value indicating valid / invalid of stored contents for each address of the cache memory. In the processor, the valid flag has an initialization input for forcing its held value to a value indicating the invalidity,
It has a cache flash circuit which generates a cache flash signal after the sleep signal supplied from the outside becomes active and supplies it to the initialization input terminal.
【0010】この第1発明によれば、キャッシュフラッ
シュ信号により有効フラグが無効を示す値になるので、
マイクロプロセッサ停止要求からマイクロプロセッサ動
作停止までの時間を短縮することができ、かつ、有効フ
ラグを操作するためのプログラムが不要となる。第1発
明の第1態様では、上記キャッシュフラッシュ回路は、
上記スリープ信号がアクティブになった後、該スリープ
信号がインアクティブになってから、キャッシュフラッ
シュ信号を生成し該初期化入力端に供給する。According to the first aspect of the invention, the cache flush signal causes the valid flag to have a value indicating invalidity.
The time from the microprocessor stop request to the stop of the microprocessor operation can be shortened, and the program for operating the valid flag becomes unnecessary. In the first aspect of the first invention, the cache flush circuit is
After the sleep signal becomes active, the sleep signal becomes inactive, and then a cache flush signal is generated and supplied to the initialization input terminal.
【0011】第1発明の第2態様では、上記キャッシュ
は、上記有効フラグの各々についてロックフラグを有
し、該有効フラグの上記初期化入力端と上記キャッシュ
フラッシュ回路の出力端との間に接続され、該有効フラ
グに対応した該ロックフラグの内容が書き替え許可を示
す値のときに開かれるゲートを有する。この第2態様に
よれば、ロックフラグの値で、キャッシュフラッシュ信
号により有効フラグが無効を示す値になるのを禁止/許
可することができる。In a second aspect of the first invention, the cache has a lock flag for each of the valid flags, and is connected between the initialization input end of the valid flag and the output end of the cache flush circuit. The gate is opened when the content of the lock flag corresponding to the valid flag is a value indicating permission for rewriting. According to the second aspect, it is possible to inhibit / permit the lock flag value from changing the valid flag to a value indicating invalid by the cache flush signal.
【0012】第2発明では、キャッシュメモリと該キャ
ッシュメモリの各アドレスについて記憶内容の有効/無
効を記憶する有効フラグと該キャッシュメモリ及び該有
効フラグをアドレス指定するデコーダとを有するキャッ
シュを内蔵したマイクロプロセッサにおいて、外部から
供給されるスリープ信号がアクティブになった後にキャ
ッシュフラッシュ信号を生成するキャッシュフラッシュ
回路と、該デコーダの各出力端について、該出力端と該
出力端に対応した該有効フラグのゲート制御入力端との
間に接続され、該デコーダの出力又は該キャッシュフラ
ッシュ信号を該ゲート制御入力端に供給させる論理ゲー
トと、を有する。According to the second aspect of the present invention, a micro having a cache memory and a cache having a valid flag for storing valid / invalid of stored contents for each address of the cache memory, the cache memory and a decoder for addressing the valid flag are incorporated. In a processor, a cache flash circuit that generates a cache flash signal after an externally supplied sleep signal is activated, and for each output end of the decoder, the output end and the gate of the valid flag corresponding to the output end A logic gate connected to the control input and supplying the output of the decoder or the cache flush signal to the gate control input.
【0013】この第2発明によっても、キャッシュフラ
ッシュ信号により有効フラグが無効を示す値になるの
で、マイクロプロセッサ停止要求からマイクロプロセッ
サ動作停止までの時間を短縮することができ、かつ、有
効フラグを操作するためのプログラムが不要となる。第
1発明又は第2発明の第2態様では、上記キャッシュ
は、上記有効フラグの各々についてロックフラグを有
し、上記論理ゲートと該論理ゲートに対応した上記有効
フラグの上記ゲート制御入力端との間に接続され、該有
効フラグに対応した該ロックフラグの内容が書き替え許
可を示す値のときに開かれるゲートを有する。Also according to the second aspect of the present invention, since the valid flag becomes a value indicating invalid by the cache flush signal, the time from the microprocessor stop request to the microprocessor stop can be shortened and the valid flag can be operated. A program for doing this is unnecessary. In the second aspect of the first invention or the second invention, the cache has a lock flag for each of the valid flags, and the cache includes the logic gate and the gate control input terminal of the valid flag corresponding to the logic gate. It has a gate connected between them and opened when the content of the lock flag corresponding to the valid flag is a value indicating permission of rewriting.
【0014】この第2態様によっても、ロックフラグの
値で、キャッシュフラッシュ信号により有効フラグが無
効を示す値になるのを禁止/許可することができる。第
1又は第2発明の第3態様では、上記キャッシュフラッ
シュ回路は、上記キャッシュフラッシュ信号の生成を許
可/禁止するためのフラグを有する。この第3態様によ
れば、マイクロプロセッサにバスマスタが接続されてい
ない場合や、バスマスタが接続されていてもマイクロプ
ロセッサ停止中にメモリに対する書き込みが行われない
場合に、該フラグに禁止を示す値を設定することによ
り、マイクロプロセッサ停止解除後の動作を高速にする
ことができ、また、キャッシュフラッシュ機能有/無の
マイクロプロセッサを用途毎に選択する必要がない。Also according to the second aspect, it is possible to prohibit / permit the lock flag value from changing the valid flag to a value indicating invalid by the cache flush signal. In the third aspect of the first or second invention, the cache flash circuit has a flag for permitting / prohibiting the generation of the cache flush signal. According to the third aspect, when the bus master is not connected to the microprocessor, or when the bus master is connected and the memory is not written to while the microprocessor is stopped, a value indicating prohibition is set in the flag. By setting it, the operation after the microprocessor is released can be speeded up, and it is not necessary to select the microprocessor with or without the cache flush function for each application.
【0015】第1又は第2発明の第4態様では、上記キ
ャッシュフラッシュ回路は、マイクロプロセッサ停止命
令又はキャッシュフラッシュ命令を実行した場合にも上
記キャッシュフラッシュ信号を生成する。この第4態様
によれば、マイクロプロセッサ停止命令又はキャッシュ
フラッシュ命令を実行しても上記第1又は第2発明の効
果が得られるので、命令の効率がよい。In the fourth aspect of the first or second invention, the cache flush circuit generates the cache flush signal even when a microprocessor stop instruction or a cache flush instruction is executed. According to the fourth aspect, the effect of the first or second invention can be obtained even if the microprocessor stop instruction or the cache flush instruction is executed, so that the instruction efficiency is high.
【0016】第1又は第2発明の第5態様では、上記キ
ャッシュフラッシュ回路は、バス権を解放した場合にも
上記キャッシュフラッシュ信号を生成する。この第5態
様によれば、マイクロプロセッサがそのバス権を解放し
た場合にも上記第1又は第2発明の効果が得られるの
で、効率がよい。上記キャッシュフラッシュ回路は、縦
続接続された複数段のDフリップフロップと、最終段の
該Dフリップフロップのデータ入力端とデータ出力端と
の値に応じて上記キャッシュフラッシュ信号を生成する
論理ゲートと、を有し、初段の該Dフリップフロップの
データ入力端に上記スリープ信号が供給され、各段の該
Dフリップフロップのゲート制御入力端に外部からのク
ロックが供給される。この構成によれば、複数段のDフ
リップフロップと簡単な論理ゲートとにより、スリープ
信号の変化に応じた適当なキャッシュフラッシュ信号が
生成され、キャッシュフラッシュ回路の構成が簡単にな
る。In the fifth aspect of the first or second invention, the cache flush circuit generates the cache flush signal even when the bus right is released. According to the fifth aspect, the effect of the first or second invention can be obtained even when the microprocessor releases the bus right, which is efficient. The cache flash circuit includes a plurality of cascaded D flip-flops, and a logic gate that generates the cache flash signal according to the values of a data input terminal and a data output terminal of the final D flip-flop. The sleep signal is supplied to the data input terminal of the D flip-flop in the first stage, and the clock from the outside is supplied to the gate control input terminal of the D flip-flop in each stage. According to this structure, a plurality of stages of D flip-flops and a simple logic gate generate an appropriate cache flash signal according to the change of the sleep signal, and the structure of the cache flash circuit is simplified.
【0017】[0017]
【実施例】以下、図面に基づいて本発明の実施例を説明
する。 [第1実施例]図1(A)は、携帯型電子機器や制御機
器等に用いられる低消費電力型の、マイクロプロセッサ
を含むシステム、例えばマイクロコンピュータの構成を
示す。Embodiments of the present invention will be described below with reference to the drawings. [First Embodiment] FIG. 1A shows the configuration of a low power consumption type system including a microprocessor, such as a microcomputer, which is used in portable electronic devices and control devices.
【0018】キャッシュ内蔵型のマイクロプロセッサ1
0は、バスマスタ11、メモリ12、システムマネージ
メントユニット13及びI/Oインターフェース14
と、バス15を介し接続されている。バスマスタ11
は、他のマイクロプロセッサやDMAコントローラ等で
あり、メモリ12に対しアクセス可能である。メモリ1
2は、RAMのみ又はこれにROMを含む。Microprocessor 1 with a built-in cache
0 is a bus master 11, a memory 12, a system management unit 13 and an I / O interface 14.
Are connected via the bus 15. Bus master 11
Is another microprocessor, a DMA controller, or the like, and can access the memory 12. Memory 1
2 includes only RAM or ROM in this.
【0019】システムマネージメントユニット13は、
I/Oインターフェース14からのマイクロプロセッサ
停止要求信号がアクティブになると、スリープ信号*S
LPをアクティブにしてマイクロプロセッサ10に供給
する。図1(B)は、マイクロプロセッサ10の内部構
成を示す。マイクロプロセッサ10は、マイクロプロセ
ッサコア20と命令キャッシュ21とバス制御回路22
との間が命令バス23で接続され、マイクロプロセッサ
コア20とデータキャッシュ24とバス制御回路22と
の間がデータバス25で接続されている。命令バス23
及びデータバス25は、バス制御回路22を介してバス
15と接続されている。マイクロプロセッサコア20及
びキャッシュフラッシュ回路26には、外部からクロッ
クCLK0及びスリープ信号*SLPが供給される。マ
イクロプロセッサコア20は、命令キャッシュ21、バ
ス制御回路22及びデータキャッシュ24を必要に応じ
動作させるために、これらにクロックCLK1を供給す
る。The system management unit 13 is
When the microprocessor stop request signal from the I / O interface 14 becomes active, the sleep signal * S
LP is activated and supplied to the microprocessor 10. FIG. 1B shows an internal configuration of the microprocessor 10. The microprocessor 10 includes a microprocessor core 20, an instruction cache 21, and a bus control circuit 22.
Is connected by an instruction bus 23, and the microprocessor core 20, the data cache 24, and the bus control circuit 22 are connected by a data bus 25. Instruction bus 23
The data bus 25 is connected to the bus 15 via the bus control circuit 22. The clock CLK0 and the sleep signal * SLP are externally supplied to the microprocessor core 20 and the cache flash circuit 26. The microprocessor core 20 supplies a clock CLK1 to the instruction cache 21, the bus control circuit 22, and the data cache 24 in order to operate them as necessary.
【0020】キャッシュフラッシュ回路26は、外部か
らのスリープ信号*SLPがアクティブになり又はマイ
クロプロセッサコア20からのキャッシュフラッシュ信
号FLS2がアクティブになると、後述のタイミングで
キャッシュフラッシュ信号FLSを命令キャッシュ21
及びデータキャッシュ24に供給する。キャッシュフラ
ッシュ信号FLS2は、マイクロプロセッサコア20が
マイクロプロセッサ停止命令又はキャッシュフラッシュ
命令を実行することによりアクティブになる。When the sleep signal * SLP from the outside becomes active or the cache flush signal FLS2 from the microprocessor core 20 becomes active, the cache flush circuit 26 outputs the cache flush signal FLS to the instruction cache 21 at the timing described later.
And the data cache 24. The cache flush signal FLS2 becomes active when the microprocessor core 20 executes a microprocessor stop instruction or a cache flush instruction.
【0021】データキャッシュ24の概略構成を図3に
示す。記憶部30は、タグTAGi、i=1〜nを有す
るタグテーブル30Tと、各タグTAGiに対応した有
効フラグ(有効/無効フラグ)Viを有する有効フラグ
列30Vと、各タグTAGiに対応したロックフラグL
i(書き替え禁止/許可フラグ)を有するロックフラグ
列30Lと、各タグTAGiに対応したワードWi1及
びWi2を有するキャッシュメモリ30Wとからなる。A schematic structure of the data cache 24 is shown in FIG. The storage unit 30 includes a tag table 30T having tags TAGi and i = 1 to n, a valid flag column 30V having a valid flag (valid / invalid flag) Vi corresponding to each tag TAGi, and a lock corresponding to each tag TAGi. Flag L
A lock flag string 30L having i (rewrite prohibition / permission flag) and a cache memory 30W having words Wi1 and Wi2 corresponding to each tag TAGi.
【0022】アドレスAは、タグアドレスTAGとイン
デックスアドレスIXとワードセレクトビットWとに分
けられる。インデックスアドレスIXは、デコーダ31
でデコードされて記憶部30のi番目のエントリーポイ
ントが指定され、タグTAGi、有効フラグVi及びロ
ックフラグLiの内容が読み出され、また、ワードセレ
クトビットWでワードWi1とワードWi2の一方が選
択されてその内容が読み出される。The address A is divided into a tag address TAG, an index address IX and a word select bit W. The index address IX is the decoder 31
Is decoded and the i-th entry point of the storage unit 30 is designated, the contents of the tag TAGi, the valid flag Vi and the lock flag Li are read, and one of the word Wi1 and the word Wi2 is selected by the word select bit W. The contents are read out.
【0023】タグTAGiの内容とタグアドレスTAG
とがコンパレータ32で比較され、両者が一致すると、
コンパレータ32の出力が高レベルになる。他方、有効
フラグViの内容が転送ゲート33の制御入力端に供給
される。有効フラグViの内容が‘1’のとき、転送ゲ
ート33が開かれて、コンパレータ32からの一致検出
信号(キャッシュヒット)が転送ゲート34の制御入力
端に供給され、転送ゲート34が開かれて、選択された
ワードWi1又はワードWi2の内容が取り出される。
コンパレータ32が不一致を検出し、又は、一致を検出
しても有効フラグViの内容が‘0’(無効)の場合に
は、ロックフラグLiの内容が‘0’のとき、タグアド
レスTAGがタグTAGiに書き込まれ、有効フラグV
iの内容が‘1’にされ、メモリ12から読み出された
データ(命令コード)が、ワードセレクトビットWで選
択されたワードWi1又はワードWi2に書き込まれ
る。Contents of tag TAGi and tag address TAG
And are compared by the comparator 32, and if they match,
The output of the comparator 32 goes high. On the other hand, the content of the valid flag Vi is supplied to the control input terminal of the transfer gate 33. When the content of the valid flag Vi is '1', the transfer gate 33 is opened, the coincidence detection signal (cache hit) from the comparator 32 is supplied to the control input terminal of the transfer gate 34, and the transfer gate 34 is opened. , The content of the selected word Wi1 or word Wi2 is retrieved.
When the comparator 32 detects a mismatch, or the content of the valid flag Vi is “0” (invalid) even if a match is detected, when the content of the lock flag Li is “0”, the tag address TAG is the tag. Written to TAGi, valid flag V
The content of i is set to "1", and the data (instruction code) read from the memory 12 is written in the word Wi1 or the word Wi2 selected by the word select bit W.
【0024】データキャッシュ24についても命令キャ
ッシュ21と同様であり、その説明を省略する。有効フ
ラグ列30Vの構成例を、図4に示す。デコーダ31の
n個の出力はそれぞれ、直列接続された転送ゲート41
〜4n及び51〜5nを介して有効フラグV1〜Vnの
クロック入力端CKに供給される。有効フラグV1〜V
nは、ラッチ回路であり、クロック入力端CKが高レベ
ルのときラッチモード、クロック入力端CKが低レベル
のときスルーモードとなる。有効フラグV1〜Vnのデ
ータ入力端Dには、有効フラグ書き込みデータが供給さ
れる。有効フラグVi〜Vnのクリア入力端CLRに
は、キャッシュフラッシュ信号FLSがそれぞれ転送ゲ
ート61〜6nを介して供給される。転送ゲート41〜
4nの制御入力端にはリードライト信号R/Wが供給さ
れ、転送ゲート5i及び6i(i=1〜n)の制御入力
端にはロックフラグLiの内容LiDが供給される。有
効フラグV1〜Vnの非反転出力端Qから取り出された
データはセレクタ60に供給され、デコーダ31の出力
で選択されたものがセレクタ60から読み出される。The data cache 24 is similar to the instruction cache 21 and its explanation is omitted. FIG. 4 shows a configuration example of the valid flag column 30V. Each of the n outputs of the decoder 31 has a transfer gate 41 connected in series.
4n and 51-5n are supplied to the clock input terminals CK of the valid flags V1 to Vn. Valid flags V1 to V
Reference numeral n is a latch circuit, which is in a latch mode when the clock input terminal CK is at a high level and is in a through mode when the clock input terminal CK is at a low level. The valid flag write data is supplied to the data input terminal D of the valid flags V1 to Vn. The cache flush signal FLS is supplied to the clear input terminals CLR of the valid flags Vi to Vn via the transfer gates 61 to 6n, respectively. Transfer gate 41 to
The read / write signal R / W is supplied to the control input terminal of 4n, and the content LiD of the lock flag Li is supplied to the control input terminals of the transfer gates 5i and 6i (i = 1 to n). The data taken out from the non-inverting output terminal Q of the valid flags V1 to Vn is supplied to the selector 60, and the data selected by the output of the decoder 31 is read from the selector 60.
【0025】読み出しの場合には、リードライト信号R
/Wが高レベルにされて転送ゲート41〜4nが閉じら
れ、有効フラグViの出力がセレクタ60で選択されて
読み出される。書き込みの場合には、リードライト信号
R/Wが低レベルにされて転送ゲート41〜4nが開か
れ、ロックフラグLiの内容LiDが‘0’(書き替え
許可)のとき、デコーダ31のi番目の出力が有効フラ
グViのクロック入力端CKに供給され、有効フラグV
iのデータ入力端Dへのデータが有効フラグViに書き
込まれる。In the case of reading, the read / write signal R
/ W is set to a high level, the transfer gates 41 to 4n are closed, and the output of the valid flag Vi is selected by the selector 60 and read. In the case of writing, when the read / write signal R / W is set to the low level, the transfer gates 41 to 4n are opened, and the content LiD of the lock flag Li is '0' (rewrite permission), the i-th decoder 31 Is supplied to the clock input terminal CK of the valid flag Vi, and the valid flag V
The data to the data input terminal D of i is written in the valid flag Vi.
【0026】キャッシュフラッシュの場合には、ロック
フラグLiの内容LiDが‘0’の全てのiについて、
転送ゲート6iが開かれ、有効フラグViのクリア入力
端CLRに正パルスのキャッシュフラッシュ信号FLS
が供給されて、有効フラグViの内容がゼロクリア(無
効)にされる。したがって、図1に示すプログラムが不
要となり、かつ、1個の正パルスFLSで図6のステッ
プ4〜6の繰り返し処理が同時に達成される。この効果
は、マイクロプロセッサ停止命令又はキャッシュフラッ
シュ命令を実行しても得られるので、命令の効率がよ
い。In the case of cache flush, the contents LiD of the lock flag Li are all "i" of "0".
The transfer gate 6i is opened, and a positive pulse cache flash signal FLS is applied to the clear input terminal CLR of the valid flag Vi.
Is supplied, and the content of the valid flag Vi is cleared to zero (invalid). Therefore, the program shown in FIG. 1 is unnecessary, and the iterative process of steps 4 to 6 of FIG. 6 is simultaneously achieved by one positive pulse FLS. Since this effect can be obtained even by executing the microprocessor stop instruction or the cache flush instruction, the instruction efficiency is high.
【0027】図2(A)は、キャッシュフラッシュ回路
26の構成例を示す。キャッシュフラッシュ回路26
は、Dフリップフロップ71〜73が縦続接続され、D
フリップフロップ73のデータ入力端D及び非反転出力
端Qの信号並びにフラグ74の出力がアンドゲート75
に供給され、アンドゲート75の出力FLS1と、図1
のマイクロプロセッサコア20からのキャッシュフラッ
シュ信号FLS2とが、オアゲート76に供給され、オ
アゲート76からキャッシュフラッシュ信号FLSが取
り出される。FIG. 2A shows a configuration example of the cache flush circuit 26. Cache flash circuit 26
Are connected in cascade with the D flip-flops 71 to 73, and
The signal at the data input terminal D and the non-inverting output terminal Q of the flip-flop 73 and the output of the flag 74 are AND gates 75.
1 and the output FLS1 of the AND gate 75,
The cache flush signal FLS2 from the microprocessor core 20 is supplied to the OR gate 76, and the cache flush signal FLS is taken out from the OR gate 76.
【0028】次に、上記の如く構成された第1実施例の
動作を、図2(B)に示すタイミングチャートに基づい
て説明する。最初、スリープ信号*SLPは高レベルで
あり、クロックCLK0によりDフリップフロップ71
〜73の出力は高レベル、キャッシュフラッシュ信号F
LS1は低レベルとなっている。Next, the operation of the first embodiment constructed as described above will be explained based on the timing chart shown in FIG. Initially, the sleep signal * SLP is at a high level, and the D flip-flop 71 is driven by the clock CLK0.
Output of ~ 73 is high level, cache flush signal F
LS1 is at a low level.
【0029】スリープ信号*SLPが低レベルに遷移す
ると、マイクロプロセッサコア20により、命令キャッ
シュ21及びデータキャッシュ24がオフにされ、次い
でクロックCLK1が停止され、バス15が解放され
る。スリープ信号*SLPが低レベルに遷移しても、D
フリップフロップ73は、データ入力端Dが低レベルか
つ非反転出力端Qが高レベルになることがないので、キ
ャッシュフラッシュ信号FLS1は低レベルのままであ
る。クロックCLK0によりDフリップフロップ71〜
73は、これらの非反転出力端Qが低レベルの状態で安
定する。When the sleep signal * SLP changes to the low level, the microprocessor core 20 turns off the instruction cache 21 and the data cache 24, then stops the clock CLK1 and releases the bus 15. Even if the sleep signal * SLP goes low, D
In the flip-flop 73, the data input terminal D never goes low and the non-inverted output terminal Q never goes high, so the cache flush signal FLS1 remains low. D flip-flops 71 to 71 depending on the clock CLK0
73 is stable when these non-inverting output terminals Q are at a low level.
【0030】図1(A)において、マイクロプロセッサ
停止要求信号がインアクティブ(マイクロプロセッサ停
止解除信号がアクティブ)になると、スリープ信号*S
LPが高レベルに遷移する。クロックCLK0の立ち上
がりでDフリップフロップ71の非反転出力端Qが高レ
ベルに遷移し、クロックCLK0の次の立ち上がりでD
フリップフロップ72の非反転出力端Qが高レベルに遷
移する。このとき、フラグ74に‘1’が設定されてそ
の出力が高レベルであれば、キャッシュフラッシュ信号
FLS1及びFLSが高レベルとなり、図4において上
述のキャッシュフラッシュが行われる。次いでマイクロ
プロセッサコア20により、必要に応じ(プログラムに
より)キャッシュがオンにされ、クロックCLK1の動
作が再開される。In FIG. 1A, when the microprocessor stop request signal becomes inactive (the microprocessor stop release signal becomes active), the sleep signal * S
LP transitions to high level. The non-inverting output terminal Q of the D flip-flop 71 transitions to a high level at the rising edge of the clock CLK0, and D at the next rising edge of the clock CLK0.
The non-inverting output terminal Q of the flip-flop 72 transits to the high level. At this time, if the flag 74 is set to "1" and its output is at a high level, the cache flush signals FLS1 and FLS are at a high level, and the cache flush described above in FIG. 4 is performed. Then, the microprocessor core 20 turns on the cache as needed (by the program) and restarts the operation of the clock CLK1.
【0031】このキャッシュフラッシュにより、マイク
ロプロセッサ10の動作停止中にバスマスタ11でメモ
リ12の内容が書き替えられることによる誤動作が防止
される。図1に示すバスマスタ11が接続されていない
場合や、バスマスタ11が接続されていてもマイクロプ
ロセッサ停止中にメモリ12に対する書き込みが行われ
ない場合には、フラグ74に‘0’を設定する。これに
より、キャッシュフラッシュが行われないので、マイク
ロプロセッサ停止解除後の動作が高速になる。This cache flush prevents malfunctions due to the contents of the memory 12 being rewritten by the bus master 11 while the operation of the microprocessor 10 is stopped. When the bus master 11 shown in FIG. 1 is not connected, or when the bus master 11 is connected but writing to the memory 12 is not performed while the microprocessor is stopped, the flag 74 is set to "0". As a result, since the cache flush is not performed, the operation after the microprocessor is released is speeded up.
【0032】[第2実施例]図5は、図4に対応した第
2実施例の構成を示す。この有効フラグ列30VAは、
図4の転送ゲート61〜6nの代わりに、デコーダ31
の出力端と転送ゲート41〜4nの入力端との間にそれ
ぞれオアゲート81〜8nが接続され、オアゲート81
〜8nの一方の入力端が共通に接続されてこれにキャッ
シュフラッシュ信号FLSが供給される。他の点は、上
記第1実施例と同一である。[Second Embodiment] FIG. 5 shows a structure of a second embodiment corresponding to FIG. This valid flag string 30VA is
Instead of the transfer gates 61 to 6n shown in FIG.
OR gates 81 to 8n are connected between the output ends of the OR gates and the input ends of the transfer gates 41 to 4n, respectively.
One of the input ends of ~ 8n is commonly connected and the cache flush signal FLS is supplied to it. The other points are the same as in the first embodiment.
【0033】読み出し及び書き込みの場合は、上記第1
実施例と同一である。キャッシュフラッシュの場合に
は、有効フラグ書き込みデータが‘0’にされ、リード
ライト信号R/Wが低レベルにされて転送ゲート41〜
4nが開かれ、ロックフラグLiの内容LiDが‘0’
の全てのiについて、転送ゲート6iが開かれ、有効フ
ラグViのクロック入力端CKにキャッシュフラッシュ
信号FLSが供給されて、有効フラグViに‘0’が書
き込まれる。In the case of reading and writing, the above first
Same as the embodiment. In the case of cache flush, the valid flag write data is set to "0", the read / write signal R / W is set to low level, and the transfer gates 41 to 41 are transferred.
4n is opened and the content LiD of the lock flag Li is "0".
For all i, the transfer gate 6i is opened, the cache flush signal FLS is supplied to the clock input terminal CK of the valid flag Vi, and "0" is written in the valid flag Vi.
【0034】なお、本発明には外にも種々の変形例が含
まれる。例えば、図2(A)中のDフリップフロップ
は、2段以上であればよい。また、キャッシュフラッシ
ュ回路は、スリープ信号がアクティブの期間内にキャッ
シュフラッシュ信号を生成する構成であってもよい。図
4及び5中の有効フラグは、ラッチ回路の替わりにDフ
リップフロップで構成してもよい。また、図3〜5中の
転送ゲートの替わりに論理ゲートを用いてもよい。さら
に、図2(A)中のフラグ74が無い構成または図3中
のロックフラグLiが無い構成であってもよい。The present invention includes various modifications other than the above. For example, the D flip-flop in FIG. 2A may have two or more stages. Further, the cache flush circuit may be configured to generate the cache flush signal during the period when the sleep signal is active. The valid flag in FIGS. 4 and 5 may be configured by a D flip-flop instead of the latch circuit. A logic gate may be used instead of the transfer gate in FIGS. Further, the configuration without the flag 74 in FIG. 2A or the configuration without the lock flag Li in FIG. 3 may be used.
【0035】[0035]
【発明の効果】以上説明した如く、第1及び第2の発明
のいずれによっても、キャッシュフラッシュ信号により
有効フラグが無効を示す値になるので、マイクロプロセ
ッサ停止要求からマイクロプロセッサ動作停止までの時
間を短縮することができ、かつ、有効フラグを操作する
ためのプログラムが不要となるという効果を奏する。As described above, in both of the first and second aspects of the invention, the valid flag becomes a value indicating invalidity by the cache flush signal, so that the time from the microprocessor stop request to the microprocessor operation stop can be reduced. There is an effect that it can be shortened and a program for operating the valid flag becomes unnecessary.
【0036】第1又は第2発明の第2態様によれば、ロ
ックフラグの値で、キャッシュフラッシュ信号により有
効フラグが無効を示す値になるのを禁止/許可すること
ができるという効果を奏する。第1又は第2発明の第3
態様によれば、マイクロプロセッサにバスマスタが接続
されていない場合や、バスマスタが接続されていてもマ
イクロプロセッサ停止中にメモリに対する書き込みが行
われない場合に、該フラグに禁止を示す値を設定するこ
とにより、マイクロプロセッサ停止解除後の動作を高速
にすることができ、また、キャッシュフラッシュ機能有
/無のマイクロプロセッサを用途毎に選択する必要がな
いという効果を奏する。According to the second aspect of the first or second aspect of the invention, it is possible to inhibit / permit the value of the lock flag from changing the valid flag to the value indicating invalidity by the cache flush signal. Third aspect of the first or second invention
According to the aspect, when the bus master is not connected to the microprocessor, or when the bus master is connected and the memory is not written to while the microprocessor is stopped, a value indicating prohibition is set in the flag. As a result, it is possible to speed up the operation after the microprocessor is released and it is not necessary to select a microprocessor with or without a cache flush function for each application.
【0037】第1又は第2発明の第4態様によれば、マ
イクロプロセッサ停止命令又はキャッシュフラッシュ命
令を実行しても上記第1又は第2発明の効果が得られる
ので、命令の効率がよいという効果を奏する。第1又は
第2発明の第5態様によれば、マイクロプロセッサがそ
のバス権を解放した場合にも上記第1又は第2発明の効
果が得られるので、効率がよいという効果を奏する。According to the fourth aspect of the first or second invention, the effect of the first or second invention can be obtained even if a microprocessor stop instruction or a cache flush instruction is executed, so that the instruction efficiency is high. Produce an effect. According to the fifth aspect of the first or second aspect of the invention, the effect of the first or second aspect of the invention can be obtained even when the microprocessor releases the bus right, so that there is an effect of being efficient.
【図1】(A)はマイクロプロセッサを含むシステムの
ブロック図であり、(B)は(A)のマイクロプロセッ
サの内部構成を示すブロック図である。FIG. 1A is a block diagram of a system including a microprocessor, and FIG. 1B is a block diagram showing an internal configuration of the microprocessor of FIG.
【図2】(A)は図1(B)中のキャッシュフラッシュ
回路の構成例を示す図であり、(B)は第1実施例の動
作を示すタイミングチャートである。2A is a diagram showing a configuration example of a cache flash circuit in FIG. 1B, and FIG. 2B is a timing chart showing an operation of the first embodiment.
【図3】キャッシュの概略構成図である。FIG. 3 is a schematic configuration diagram of a cache.
【図4】有効フラグ列の構成例を示す図である。FIG. 4 is a diagram showing a configuration example of a valid flag string.
【図5】第2実施例の有効フラグ列の構成例を示す図で
ある。FIG. 5 is a diagram showing a configuration example of a valid flag string of the second embodiment.
【図6】従来のマイクロプロセッサの動作停止の際の処
理を示すフローチャートである。FIG. 6 is a flowchart showing processing when stopping the operation of a conventional microprocessor.
10 マイクロプロセッサ 11 バスマスタ 12 メモリ 20 マイクロプロセッサコア 21 命令キャッシュ 24 データキャッシュ 26 キャッシュフラッシュ回路 30 記憶部 30T タグテーブル 30V、30VA 有効フラグ列 30L ロックフラグ列 30W キャッシュメモリ 31 デコーダ 32 コンパレータ 33、34、41〜4n、51〜5n、61〜6n 転
送ゲート 71〜73 Dフリップフロップ 74 フラグ10 Microprocessor 11 Bus Master 12 Memory 20 Microprocessor Core 21 Instruction Cache 24 Data Cache 26 Cache Flash Circuit 30 Storage Unit 30T Tag Table 30V, 30VA Effective Flag Sequence 30L Lock Flag Sequence 30W Cache Memory 31 Decoder 32 Comparator 33, 34, 41- 4n, 51-5n, 61-6n Transfer gate 71-73 D flip-flop 74 flag
───────────────────────────────────────────────────── フロントページの続き (72)発明者 戸祭 英明 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 藤山 博之 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hideaki Hideaki 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Hiroyuki Fujiyama 1015, Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited
Claims (8)
の各アドレスについて記憶内容の有効/無効を示す2値
を保持する有効フラグとを有するキャッシュを内蔵した
マイクロプロセッサにおいて、 該有効フラグは、その保持値を強制的に該無効を示す値
にするための初期化入力端を有し、 外部から供給されるスリープ信号がアクティブになった
後にキャッシュフラッシュ信号を生成し該初期化入力端
に供給するキャッシュフラッシュ回路、 を有することを特徴とするマイクロプロセッサ。1. A microprocessor including a cache having a cache memory and a valid flag holding a binary value indicating valid / invalid of a stored content for each address of the cache memory, wherein the valid flag holds the held value. A cache flash circuit having an initialization input terminal for forcibly setting the value indicating the invalidity and generating a cache flash signal after the sleep signal supplied from the outside becomes active and supplying the cache flash signal to the initialization input terminal. , A microprocessor having:
スリープ信号がアクティブになった後、該スリープ信号
がインアクティブになってから、キャッシュフラッシュ
信号を生成し該初期化入力端に供給する、 ことを特徴とする請求項1記載のマイクロプロセッサ。2. The cache flush circuit generates a cache flush signal and supplies it to the initialization input terminal after the sleep signal becomes inactive after the sleep signal becomes active. The microprocessor according to claim 1, wherein
々についてロックフラグを有し、 該有効フラグの前記初期化入力端と前記キャッシュフラ
ッシュ回路の出力端との間に接続され、該有効フラグに
対応した該ロックフラグの内容が書き替え許可を示す値
のときに開かれるゲート、 を有することを特徴とする請求項1又は2記載のマイク
ロプロセッサ。3. The cache has a lock flag for each of the valid flags, is connected between the initialization input end of the valid flag and the output end of the cache flush circuit, and corresponds to the valid flag. 3. The microprocessor according to claim 1, further comprising: a gate opened when the content of the lock flag is a value indicating permission of rewriting.
の各アドレスについて記憶内容の有効/無効を記憶する
有効フラグと該キャッシュメモリ及び該有効フラグをア
ドレス指定するデコーダとを有するキャッシュを内蔵し
たマイクロプロセッサにおいて、 外部から供給されるスリープ信号がアクティブになった
後にキャッシュフラッシュ信号を生成するキャッシュフ
ラッシュ回路と、 該デコーダの各出力端について、該出力端と該出力端に
対応した該有効フラグのゲート制御入力端との間に接続
され、該デコーダの出力又は該キャッシュフラッシュ信
号を該ゲート制御入力端に供給させる論理ゲートと、 を有することを特徴とするマイクロプロセッサ。4. A microprocessor incorporating a cache having a cache memory, a valid flag for storing valid / invalid of stored contents for each address of the cache memory, a cache memory and a decoder for addressing the valid flag, A cache flash circuit that generates a cache flash signal after an externally supplied sleep signal is activated, and for each output end of the decoder, the output end and the gate control input end of the valid flag corresponding to the output end. And a logic gate connected between the gate control input terminal and the output of the decoder or the cache flush signal.
々についてロックフラグを有し、 前記論理ゲートと該論理ゲートに対応した前記有効フラ
グの前記ゲート制御入力端との間に接続され、該有効フ
ラグに対応した該ロックフラグの内容が書き替え許可を
示す値のときに開かれるゲート、 を有することを特徴とする請求項4記載のマイクロプロ
セッサ。5. The cache has a lock flag for each of the valid flags and is connected between the logic gate and the gate control input terminal of the valid flag corresponding to the logic gate. 5. The microprocessor according to claim 4, further comprising: a gate opened when the content of the lock flag corresponding to is a value indicating permission of rewriting.
キャッシュフラッシュ信号の生成を許可/禁止するため
のフラグを有することを特徴とする請求項1乃至5のい
ずれか1つに記載のマイクロプロセッサ。6. The microprocessor according to claim 1, wherein the cache flush circuit has a flag for permitting / prohibiting generation of the cache flush signal.
クロプロセッサ停止命令又はキャッシュフラッシュ命令
を実行した場合にも前記キャッシュフラッシュ信号を生
成することを特徴とする請求項1乃至6のいずれか1つ
に記載のマイクロプロセッサ。7. The cache flush circuit according to claim 1, wherein the cache flush circuit generates the cache flush signal even when a microprocessor stop instruction or a cache flush instruction is executed. Microprocessor.
権を解放した場合にも前記キャッシュフラッシュ信号を
生成することを特徴とする請求項1乃至6のいずれか1
つに記載のマイクロプロセッサ。8. The cache flush circuit generates the cache flush signal even when the bus right is released, according to any one of claims 1 to 6.
Microprocessor described in one.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329139A JPH08185358A (en) | 1994-12-28 | 1994-12-28 | Microprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6329139A JPH08185358A (en) | 1994-12-28 | 1994-12-28 | Microprocessor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08185358A true JPH08185358A (en) | 1996-07-16 |
Family
ID=18218075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6329139A Withdrawn JPH08185358A (en) | 1994-12-28 | 1994-12-28 | Microprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH08185358A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305246A (en) * | 2007-06-08 | 2008-12-18 | Freescale Semiconductor Inc | Information processor, cache flush control method and information processing controller |
JP2009282920A (en) * | 2008-05-26 | 2009-12-03 | Toshiba Corp | Cache memory device |
-
1994
- 1994-12-28 JP JP6329139A patent/JPH08185358A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008305246A (en) * | 2007-06-08 | 2008-12-18 | Freescale Semiconductor Inc | Information processor, cache flush control method and information processing controller |
JP2009282920A (en) * | 2008-05-26 | 2009-12-03 | Toshiba Corp | Cache memory device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5987560A (en) | Integrated programmable logic circuit for conditioning received input signals, detecting transitions of conditioned signals, and generating an associated interrupt respectively | |
JP3520102B2 (en) | Microcomputer | |
JPS6122828B2 (en) | ||
JP4689087B2 (en) | Information processing apparatus and power saving transition control method | |
JPH08328860A (en) | Reset circuit for pipelined signal processor | |
JPH08124380A (en) | Semiconductor memory and accessing method for semiconductor memory | |
JP2002358237A (en) | Protection circuit for preventing access without privilege to memory device of processor | |
JPH1063581A (en) | Memory write control circuit | |
JPH08185358A (en) | Microprocessor | |
US5978245A (en) | Associative memory device having circuitry for storing a coincidence line output | |
EP0256134B1 (en) | Central processing unit | |
JP2004078772A (en) | Microcomputer device processing method during standby, and microcomputer device | |
JP2586112B2 (en) | Address conversion table access control method | |
US5386576A (en) | Method and apparatus for associating the reception of reset pulses by a microprocessor with access to different subprograms | |
CN111459560A (en) | RISC-V architecture based multi-core processor wake-up system | |
KR20040007343A (en) | Cache memory and control method thereof | |
JPH1020959A (en) | Low power consumption micro processor | |
JPH0212358A (en) | Data transfer system | |
US5687311A (en) | Microcomputer with detection of predetermined data for enabling execution of instructions for stopping supply of clock | |
JPH11259356A (en) | Initializing device | |
JPH0782462B2 (en) | Multi-byte data protection system in standby RAM | |
US6473864B1 (en) | Method and system for providing power management to a processing system | |
JP2697772B2 (en) | Information processing device | |
US20020080655A1 (en) | Integrated circuit having synchronized pipelining and method therefor | |
JPH08305564A (en) | Microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20020305 |