JP2001222467A - Cache device - Google Patents

Cache device

Info

Publication number
JP2001222467A
JP2001222467A JP2000029340A JP2000029340A JP2001222467A JP 2001222467 A JP2001222467 A JP 2001222467A JP 2000029340 A JP2000029340 A JP 2000029340A JP 2000029340 A JP2000029340 A JP 2000029340A JP 2001222467 A JP2001222467 A JP 2001222467A
Authority
JP
Japan
Prior art keywords
cache
memory
microprocessor
registers
cache memory
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.)
Pending
Application number
JP2000029340A
Other languages
Japanese (ja)
Inventor
Masayoshi Kodama
将義 小玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000029340A priority Critical patent/JP2001222467A/en
Publication of JP2001222467A publication Critical patent/JP2001222467A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • G06F12/127Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0886Variable-length word access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce the quantity of data transfer between a main memory and a cache memory and to reduce overhead due to the use of an external bus when registers are continuously retreated/restored to/from a stack area in a microprocessor loaded with a cache mechanism. SOLUTION: When the registers are continuously retreated to the stack, a memory control device writes data from a processor core to the cache memory without executing refilling processing from the main memory to the cache memory. When the registers are continuously restored from the stack, the memory control device forcibly clears a dirty bit on a hit cache entry simultaneously with the reading of data from the cache memory by the processor core. Consequently, the retreating/restoring processing of registers to/from the stack area can be accelerated.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は一般にキャッシュ機
構を伴うマイクロプロセッサに関し、特にスタック領域
へのメモリアクセスにおいて好適なメモリ制御方法を実
現するキャッシュ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention generally relates to a microprocessor having a cache mechanism, and more particularly to a cache device for implementing a memory control method suitable for accessing a memory in a stack area.

【0002】[0002]

【従来の技術】通常、プロセッサが実行すべき命令は主
メモリに保存され、プロセッサ上でプログラムを走らせ
たり又は実行すると、その命令が主メモリから呼び出さ
れてプロセッサへ送り出され、ここで実行される。この
過程は貴重な時間を消費する。
2. Description of the Related Art Usually, instructions to be executed by a processor are stored in a main memory, and when a program is run or executed on the processor, the instructions are called from the main memory, sent to the processor, and executed there. . This process consumes valuable time.

【0003】プロセッサにそのプロセッサで使用するた
めのキャッシュメモリを提供することが、プロセッサの
命令実行速度を効率的に加速する1つの方法であること
は公知である。このようなキャッシュメモリは主メモリ
の大きさと比較すると比較的小さなメモリである。しか
し、主メモリに比べてアクセス時間が大幅に高速のメモ
リをキャッシュメモリに用いることにより、最も頻繁に
使用される命令及びデータへの相対的に迅速なアクセス
を実現することができる。典型的なマイクロプロセッサ
などでは、主メモリを安価だが比較的低速なDRAM
で、キャッシュメモリを高価だが高速なSRAMで構成
している。
It is known that providing a processor with cache memory for use in the processor is one way to efficiently increase the instruction execution speed of the processor. Such a cache memory is a relatively small memory as compared with the size of the main memory. However, by using a memory whose access time is much faster than that of the main memory as the cache memory, relatively quick access to the most frequently used instructions and data can be realized. In a typical microprocessor, the main memory is inexpensive but relatively slow DRAM
Thus, the cache memory is formed of an expensive but high-speed SRAM.

【0004】キャッシュの主な動作原理は、マイクロプ
ロセッサが実行のために主メモリから命令及びデータを
呼出すと、これらはキャッシュメモリ内にも格納され
る。こうすればマイクロプロセッサは比較的最近参照し
た命令及びデータを必要とする場合、2度目以降のアク
セスでは低速の主メモリから情報を取り出すのではな
く、高速のキャッシュメモリからその情報を迅速に取り
出すことができる。
[0004] The main principle of operation of the cache is that when the microprocessor calls instructions and data from main memory for execution, they are also stored in the cache memory. This allows the microprocessor to quickly retrieve the information from the fast cache memory instead of retrieving the information from the slower main memory for subsequent accesses if the microprocessor needs relatively recently referenced instructions and data. Can be.

【0005】キャッシュメモリ内には、格納されている
データが主メモリ上のどこのデータをキャッシングした
ものかを記憶するための情報として、タグアドレス領域
がある。タグアドレスはキャッシュのエントリ毎に存在
する。マイクロプロセッサはアドレスの形態で命令又は
データを要求し、キャッシュ回路はマイクロプロセッサ
が要求したアドレス値と、キャッシュメモリ内の全タグ
アドレス値とを比較することで、キャッシュヒット又は
キャッシュミスの判定を行う。
[0005] In the cache memory, there is a tag address area as information for storing which data in the main memory is cached data stored therein. A tag address exists for each cache entry. The microprocessor requests an instruction or data in the form of an address, and the cache circuit determines a cache hit or a cache miss by comparing the address value requested by the microprocessor with all tag address values in the cache memory. .

【0006】キャッシュがヒットした場合、マイクロプ
ロセッサはキャッシュメモリから情報を直接取り出すこ
とができる。一方、キャッシュミスが発生した場合は、
キャッシュ回路は主メモリへのメモリサイクルを生成し
て必要なデータ情報を取得しなければならない。この主
メモリへのメモリサイクルの間、マイクロプロセッサは
待たされる状態となり、貴重な時間を消費する。更にキ
ャッシュミスが発生した場合は、現在キャッシュメモリ
内に格納されているデータを主メモリへ書き戻し、次に
キャッシュされる情報のために領域を明け渡さなければ
ならない。この処理においても、主メモリへのメモリサ
イクルの間は貴重な時間を消費する。
If a cache hit occurs, the microprocessor can retrieve information directly from the cache memory. On the other hand, if a cache miss occurs,
The cache circuit must generate a memory cycle to the main memory to obtain the necessary data information. During this memory cycle to the main memory, the microprocessor is in a wait state, consuming valuable time. Further, if a cache miss occurs, the data currently stored in the cache memory must be written back to the main memory and the area must be vacated for the next information to be cached. This process also consumes valuable time between memory cycles to the main memory.

【0007】[0007]

【発明が解決しようとする課題】以上のようなキャッシ
ュ機構を実装したマイクロプロセッサにおいて、スタッ
ク領域に複数のレジスタを連続的にプッシュする場合を
考える。仮にマイクロプロセッサのレジスタ長を32ビッ
ト(4バイト分)、キャッシュのラインサイズを16バイ
ト、スタックへプッシュすべきレジスタをR0〜R3
(16バイト分)の4個とする。この条件で4つのレジス
タを全てスタックへプッシュする場合を考える。
Consider a case in which a plurality of registers are successively pushed to a stack area in a microprocessor equipped with the above-described cache mechanism. Assume that the register length of the microprocessor is 32 bits (for 4 bytes), the line size of the cache is 16 bytes, and the registers to be pushed onto the stack are R0 to R3.
(16 bytes). Consider the case where all four registers are pushed onto the stack under this condition.

【0008】まずマイクロプロセッサはメモリのスタッ
ク領域に対して、1つ目のレジスタR0の値を書き込む
要求を生成する。ここでキャッシュミスが発生した場
合、リフィル対象となるタグエントリを特定し、既にそ
こにあるキャッシュ情報をダーティビットの状態に従っ
て主メモリへと書き戻す。次に主メモリ上のスタック領
域のうち、キャッシュのラインサイズ分16バイトに相当
する量をキャッシュメモリ上に転送する(リフィル)。
その後、R0レジスタの値をキャッシュメモリ上に書き
込む。
First, the microprocessor generates a request to write the value of the first register R0 to the stack area of the memory. If a cache miss occurs here, the tag entry to be refilled is specified, and the cache information already there is written back to the main memory according to the state of the dirty bit. Next, of the stack area on the main memory, an amount corresponding to the cache line size of 16 bytes is transferred to the cache memory (refill).
After that, the value of the R0 register is written in the cache memory.

【0009】次にマイクロプロセッサは続くR1〜R3
レジスタを順にメモリに書き込む要求を生成する。ここ
では先ほどのリフィル動作によってキャッシュは必ずヒ
ットするため、主メモリをアクセスすることなくR1〜
R3レジスタの値は順にキャッシュ上に書き込まれるこ
とになる。
Next, the microprocessor follows R1 to R3.
Generate a request to sequentially write registers to memory. Here, since the cache always hits by the refill operation described above, R1 to R1 can be accessed without accessing the main memory.
The value of the R3 register is sequentially written on the cache.

【0010】以上の処理によってR0〜R3のレジスタ
の値は全てキャッシュメモリ上に書き込まれ、16バイト
分の書き込み作業を行ったことになる。しかし、最初の
R0レジスタの書込み時に発生していたリフィル動作に
よって、取得した主メモリの情報16バイトは全て上書き
されたことになる。従ってリファイル時に無駄なメモリ
アクセス時間を消費していたこととなる。
By the above processing, the values of the registers R0 to R3 are all written in the cache memory, and the writing operation for 16 bytes has been performed. However, the acquired 16-byte information of the main memory has been completely overwritten by the refill operation that has occurred when the first R0 register is written. Therefore, useless memory access time is consumed at the time of refile.

【0011】又、スタック領域から複数のレジスタに値
を連続してポップする場合も同様である。ここでキャッ
シュがヒットした場合には、マイクロプロセッサが容易
にR0〜R3のレジスタ値をポップすることが可能であ
る。しかし、プッシュ時に書込み動作を行っているた
め、キャッシュヒットしたタグのダーティビットはセッ
トされている可能性がある。もし、このダーティビット
がセットされたままだと、将来このキャッシュ情報がパ
ージされる時には主メモリへのライトバック動作が行わ
れてしまう。しかし、すでにポップしたスタック上の情
報は既に未使用データであるため、ライトバックの必要
はない。このデータ情報をライトバックすることによっ
て無駄な時間を消費していたことになる。
The same applies to the case where values are successively popped from the stack area to a plurality of registers. Here, if the cache hits, the microprocessor can easily pop the register values of R0 to R3. However, since the write operation is performed at the time of the push, the dirty bit of the tag that has hit the cache may be set. If the dirty bit remains set, a write-back operation to the main memory will be performed when the cache information is purged in the future. However, the information on the already popped stack is already unused data, so there is no need to write back. By writing back this data information, wasteful time is consumed.

【0012】よって、本発明の1つの目的はキャッシュ
機構を実装したマイクロプロセッサにおいて、スタック
領域に対する複数レジスタの連続的なプッシュ作業を高
速に行うためのメモリ制御手段を備えたキャッシュ装置
を提案することである。又同様に、スタック領域から複
数レジスタの連続的なポップ作業を高速に行うためのメ
モリ制御手段を備えたキャッシュ装置を提案することで
ある。
Accordingly, one object of the present invention is to propose a cache device having a memory control means for performing a continuous high-speed push operation of a plurality of registers to a stack area in a microprocessor having a cache mechanism. It is. Another object of the present invention is to provide a cache device having a memory control means for performing a continuous pop operation of a plurality of registers from a stack area at a high speed.

【0013】[0013]

【課題を解決するための手段】本願の請求項1の発明
は、マイクロプロセッサと、前記マイクロプロセッサに
結合したキャッシュメモリと、前記マイクロプロセッサ
に結合したメモリ制御装置と、前記マイクロプロセッサ
に結合した外部メモリとを含み、前記メモリ制御装置
は、前記マイクロプロセッサから前記外部メモリへの書
込み要求が発生し、且つその時にキャッシュの不適合が
起こった場合でも、前記外部メモリから前記キャッシュ
メモリへのリフィル動作を行うことなく、前記マイクロ
プロセッサから前記キャッシュメモリへの書込み動作を
実現する制御手段を含むことを特徴とするものである。
The invention of claim 1 of the present application is directed to a microprocessor, a cache memory coupled to the microprocessor, a memory control device coupled to the microprocessor, and an external controller coupled to the microprocessor. Memory, the memory control device performs a refill operation from the external memory to the cache memory even when a write request from the microprocessor to the external memory occurs and a cache mismatch occurs at that time. A control means for realizing a write operation from the microprocessor to the cache memory without performing the operation is provided.

【0014】本願の請求項2の発明は、マイクロプロセ
ッサと、前記マイクロプロセッサに結合したキャッシュ
メモリと、前記マイクロプロセッサに結合したメモリ制
御装置と、前記マイクロプロセッサに結合した外部メモ
リとを含み、前記メモリ制御装置は、前記マイクロプロ
セッサが前記外部メモリからの読込み要求を発生し、且
つその時にキャッシュが適合した場合に、前記キャッシ
ュメモリから前記マイクロプロセッサに読込み動作を行
うと同時に、適合したキャッシュエントリ上にあるダー
ティビットを強制的にリセットする制御手段を含むこと
を特徴とするものである。
[0014] The invention of claim 2 of the present application includes a microprocessor, a cache memory coupled to the microprocessor, a memory control device coupled to the microprocessor, and an external memory coupled to the microprocessor. When the microprocessor issues a read request from the external memory and the cache is adapted at that time, the memory controller performs a read operation from the cache memory to the microprocessor, and simultaneously executes a read operation on the adapted cache entry. And a control means for forcibly resetting the dirty bit in the above.

【0015】本願の請求項3の発明は、請求項1のキャ
ッシュ装置において、前記マイクロプロセッサは、スタ
ック領域に対して複数のレジスタを連続的にプッシュす
る場合に、前記メモリ制御装置に対してリフィル動作を
行わないようにする制御信号を出力することで、複数レ
ジスタのプッシュ処理を高速に行うことを特徴とするも
のである。
According to a third aspect of the present invention, in the cache device of the first aspect, the microprocessor refills the memory control device when a plurality of registers are continuously pushed to a stack area. By outputting a control signal for preventing operation, push processing of a plurality of registers is performed at high speed.

【0016】本願の請求項4の発明は、請求項3のキャ
ッシュ装置において、前記マイクロプロセッサは、スタ
ック領域に対して複数のレジスタを連続的にプッシュす
る場合に、現在のスタックポインタの値が前記キャッシ
ュメモリのラインサイズ境界に合っていない場合にスタ
ックポインタを適度な量だけ底上げすることで、スタッ
クポインタの値を自動的にラインサイズ境界に合わせる
ことを特徴とするものである。
According to a fourth aspect of the present invention, in the cache device according to the third aspect, when the microprocessor continuously pushes a plurality of registers to a stack area, the current value of the stack pointer is set to the value of the current stack pointer. When the value does not match the line size boundary of the cache memory, by raising the stack pointer by an appropriate amount, the value of the stack pointer is automatically adjusted to the line size boundary.

【0017】本願の請求項5の発明は、請求項4のキャ
ッシュ装置において、前記マイクロプロセッサは、スタ
ック領域に対して複数のレジスタを連続的にプッシュす
る場合に、前記キャッシュメモリのラインサイズ境界に
合わせる前のスタックポインタの値を、他のレジスタと
共にスタック領域にプッシュすることを特徴とするもの
である。
According to a fifth aspect of the present invention, in the cache device according to the fourth aspect, when the microprocessor continuously pushes a plurality of registers to the stack area, the microprocessor is arranged at a line size boundary of the cache memory. The value of the stack pointer before matching is pushed to the stack area together with other registers.

【0018】本願の請求項6の発明は、請求項2のキャ
ッシュ装置において、前記マイクロプロセッサは、スタ
ック領域から複数のレジスタを連続的にポップする場合
に、前記キャッシュメモリからデータを読込むと同時
に、前記メモリ制御装置に対して適合したキャッシュエ
ントリのダーティビットを強制的にリセットするための
制御信号を出力することで、将来的に発生する可能性の
あった前記キャッシュメモリから前記外部メモリへのラ
イトバック動作を行わないようにすることを特徴とする
ものである。
According to a sixth aspect of the present invention, in the cache device according to the second aspect, when the microprocessor successively pops a plurality of registers from a stack area, the microprocessor reads data from the cache memory, By outputting a control signal for forcibly resetting a dirty bit of an appropriate cache entry to the memory control device, writing from the cache memory to the external memory which may occur in the future may be performed. The back operation is not performed.

【0019】本願の請求項7の発明は、請求項6のキャ
ッシュ装置において、前記マイクロプロセッサは、スタ
ック領域から複数のレジスタを連続的にポップする場合
に、プッシュするときに保存した値を持つスタックポイ
ンタ値を他のレジスタと共にポップすることで、前記キ
ャッシュメモリのラインサイズ境界に合わせる前のスタ
ックポインタ値を復元することを特徴とするものであ
る。
According to a seventh aspect of the present invention, in the cache device of the sixth aspect, when the plurality of registers are successively popped from a stack area, the microprocessor has a stack having a value stored when the register is pushed. By popping the pointer value together with another register, the stack pointer value before being aligned with the line size boundary of the cache memory is restored.

【0020】[0020]

【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。図1は本発明の実施の形態
であるキャッシュ装置の構成を示している。キャッシュ
装置はマイクロプロセッサのプロセッサコア101、キ
ャッシュ回路102、バス制御ユニット103、主メモ
リ104からなる。プロセッサコア101はアドレスバ
ス及びデータバスを介してキャッシュ回路102、バス
制御ユニット103と接続されている。更にプロセッサ
コア101はNORFLとCLRDTの2つの制御信号
を出力し、キャッシュ回路102に入力されている。前
者のNORFL信号は、キャッシュミスが発生しても主
メモリ104からキャッシュメモリへのリフィル処理を
行わないようするための制御信号である。後者のCLR
DT信号は、プロセッサコア101がキャッシュ回路1
02からデータを取得した際に該当するキャッシュエン
トリ上のダーティビット(図3参照)をリセットするた
めの制御信号である。バス制御ユニット103は、プロ
セッサコア101又はキャッシュ回路102からの要求
に従って主メモリ104をアクセスし、主メモリ104
から得た情報をプロセッサコア101又はキャッシュ回
路102に提供する。尚、プロセッサコア101はレジ
スタアレイ105を内蔵しており、レジスタアレイ10
5は汎用レジスタR0、R1、R2、R3、プロセッサ
ステータスワードPSW、スタックポインタSP、プロ
グラムカウンタPC、テンポラリレジスタtmpから構
成される。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 shows a configuration of a cache device according to an embodiment of the present invention. The cache device includes a processor core 101 of a microprocessor, a cache circuit 102, a bus control unit 103, and a main memory 104. The processor core 101 is connected to a cache circuit 102 and a bus control unit 103 via an address bus and a data bus. Further, the processor core 101 outputs two control signals, NORFL and CLRDT, which are input to the cache circuit 102. The former NORFL signal is a control signal for preventing refilling from the main memory 104 to the cache memory even if a cache miss occurs. The latter CLR
The DT signal is transmitted from the processor core 101 to the cache circuit 1.
02 is a control signal for resetting a dirty bit (refer to FIG. 3) on a corresponding cache entry when data is acquired from 02. The bus control unit 103 accesses the main memory 104 according to a request from the processor core 101 or the cache circuit 102, and
Is provided to the processor core 101 or the cache circuit 102. The processor core 101 has a built-in register array 105, and the register array 10
Reference numeral 5 includes general-purpose registers R0, R1, R2, and R3, a processor status word PSW, a stack pointer SP, a program counter PC, and a temporary register tmp.

【0021】キャッシュ回路102はキャッシュメモリ
及びメモリ制御装置から成り立っており、図2にその内
部構成を示す。アドレスバス上に乗っているアドレス値
はアドレスフィールド201で示すようにビット単位で
その役割が決められている。下位ビットはワードセレク
ト信号として、中位ビットはインデックスセレクト信号
としてキャッシュメモリアレイ202に接続される。上
位ビットはタグアドレス比較器203に入力され、キャ
ッシュメモリアレイ202から出力されるキャッシュメ
モリ内のアドレスタグ値と比較され、キャッシュがヒッ
トしたかミスしたかが判定される。ここでキャッシュが
ヒットした場合は、タグアドレス比較器203のうち最
低1つがアサートし、その信号はデータセレクタ205
に入力され、同時にキャッシュメモリアレイ202から
入力されるキャッシュデータを選別して、ヒットしたキ
ャッシュの情報をデータバスに乗せる。一方、キャッシ
ュがミスした場合は、タグアドレス比較器203の出力
は全てインアクティブとなり、この出力はキャッシュ制
御ユニット204で受理される。キャッシュミスを受理
したキャッシュ制御ユニット204は、主メモリ104
から必要なデータを取得し、取得したデータをキャッシ
ュメモリアレイ202に登録する。次に登録されたデー
タをデータセレクタ205を経由してデータバスに乗せ
る。
The cache circuit 102 comprises a cache memory and a memory control device, and FIG. 2 shows the internal configuration thereof. The role of the address value on the address bus is determined in bit units as shown by the address field 201. The lower bit is connected to the cache memory array 202 as a word select signal, and the middle bit is connected as an index select signal. The upper bits are input to the tag address comparator 203 and compared with the address tag value in the cache memory output from the cache memory array 202 to determine whether the cache has hit or missed. If the cache hits here, at least one of the tag address comparators 203 asserts, and its signal is output to the data selector 205.
, And at the same time, the cache data input from the cache memory array 202 is selected, and the information of the hit cache is placed on the data bus. On the other hand, if the cache misses, all the outputs of the tag address comparator 203 become inactive, and this output is accepted by the cache control unit 204. When the cache control unit 204 receives the cache miss, the cache control unit 204
, And registers the obtained data in the cache memory array 202. Next, the registered data is put on the data bus via the data selector 205.

【0022】図3はキャッシュメモリアレイ202の内
部構成を示している。図は4Kバイトの容量を持つ4ウ
ェイセットアソシアティブ方式のキャッシュ構成であ
る。タグメモリ301は64のエントリを持ち、各エント
リはデータアドレスの31〜10ビット(22ビット)を格納
するタグアドレスフィールドADDR−TAG、有効な
エントリであるかどうかを示すバリッドビット(V)、
エントリに書込みがあったことを示すダーティビット
(D)からなる。データメモリは16バイト単位でデータ
を保持し、1ウェイ(way)当たりのデータメモリは
1Kバイトで合計4Kバイトである。データメモリのラ
インサイズは16バイトであり、エントリ数は64である。
主メモリ104からキャッシュメモリアレイ202への
データ転送は16バイト(128 ビット)単位で行われ、キ
ャッシュメモリアレイ202からプロセッサコア101
へのデータ転送は32ビット単位で行われる。ライトバッ
クバッファは、タグライトバックバッファ303とデー
タライトバックバッファ304とからなり、キャッシュ
メモリアレイ202上のデータを主メモリ104にライ
トバックする際に、そのデータを一時的に保持するため
に用いられる。
FIG. 3 shows the internal configuration of the cache memory array 202. The figure shows a 4-way set associative cache configuration having a capacity of 4 Kbytes. The tag memory 301 has 64 entries, each entry being a tag address field ADDR-TAG storing 31 to 10 bits (22 bits) of a data address, a valid bit (V) indicating whether or not the entry is valid,
It consists of a dirty bit (D) indicating that the entry has been written. The data memory holds data in units of 16 bytes, and the data memory per way is 1 Kbyte, that is, 4 Kbytes in total. The line size of the data memory is 16 bytes, and the number of entries is 64.
Data transfer from the main memory 104 to the cache memory array 202 is performed in units of 16 bytes (128 bits).
Is transferred in 32-bit units. The write-back buffer includes a tag write-back buffer 303 and a data write-back buffer 304, and is used to temporarily hold the data in the cache memory array 202 when the data is written back to the main memory 104. .

【0023】次に実施の形態によるマイクロプロセッサ
の動作を、図4を用いて説明する。まず、スタックメモ
リイメージは401に示した状態であり、スタックポイ
ンタSPは0x2818を指している。この状態でマイクロプ
ロセッサが全レジスタを連続的に待避する命令を実行す
る。以下はレジスタR0、R1、R2、R3、PSWを
SPが示す領域に順に格納していくアセンブラ命令であ
る。 push [r0,r1,r2,r3,psw] 本実施の形態のマイクロプロセッサはこのとき 1)SPレジスタの値をtmpレジスタに保存する。 2)SP値をキャッシュ回路のラインサイズ(16バイ
ト)境界まで底上げする。 3)NORFL制御信号をアクティブにする。 4)tmpレジスタの値をSPが指す領域へ格納し、S
P←SP−4を実行する。 5)続いてR0、R1、R2、R3、PSWレジスタの
順でSPが指す領域へ格納する。このとき、1レジスタ
を格納する毎にSP←SP−4を実行する。 6)3)でアクティブにしたNORFL制御信号をイン
アクティブな状態に戻すというシーケンスで上記プッシ
ュ命令を実行する。
Next, the operation of the microprocessor according to the embodiment will be described with reference to FIG. First, the stack memory image is in the state shown at 401, and the stack pointer SP points to 0x2818. In this state, the microprocessor executes an instruction to continuously save all registers. The following is an assembler instruction for sequentially storing the registers R0, R1, R2, R3, and PSW in the area indicated by the SP. push [r0, r1, r2, r3, psw] At this time, the microprocessor according to the present embodiment 1) Stores the value of the SP register in the tmp register. 2) Raise the SP value to the boundary of the cache circuit line size (16 bytes). 3) Activate the NORFL control signal. 4) Store the value of the tmp register in the area pointed to by the SP,
Execute P ← SP-4. 5) Subsequently, the data is stored in the area indicated by the SP in the order of R0, R1, R2, R3, and PSW registers. At this time, SP ← SP-4 is executed every time one register is stored. 6) The push command is executed in a sequence of returning the NORFL control signal activated in 3) to an inactive state.

【0024】1)はプロセッサコア内部でSPレジスタ
からtmpレジスタにデータを転送するのみである。
2)はSP値をキャッシュ回路のラインサイズまで底上
げすることでレジスタ待避をキャッシュエントリの端
(データメモリ302に示した図の中のW3の位置)か
らデータの書込みを実施するためである。具体的にはS
P=0x2818の状態からSP=0x2810まで底上げする。
3)は本プッシュ命令実行中は主メモリ104からキャ
ッシュメモリ202へのリフィル処理を行わないように
するためにNORFL制御信号をアサートする。4)で
はtmp=0x2818の値をスタックに待避することにな
る。このとき、キャッシュ回路102の内部ではキャッ
シュの判定が行われる。
1) only transfers data from the SP register to the tmp register inside the processor core.
The reason 2) is to write the data from the end of the cache entry (the position of W3 in the diagram shown in the data memory 302) by elevating the SP value to the line size of the cache circuit. Specifically, S
The level is raised from the state of P = 0x2818 to SP = 0x2810.
3) asserts the NORFL control signal so as not to perform the refill process from the main memory 104 to the cache memory 202 during execution of the push instruction. In 4), the value of tmp = 0x2818 is saved on the stack. At this time, the cache is determined inside the cache circuit 102.

【0025】ここでキャッシュミスが発生した場合はL
RU論理によってパージされるべきキャッシュのエント
リ番号が決定され、該当エントリのアドレスタグ情報及
びデータ情報がライトバックバッファ303及び304
に一時的に格納される。次にNORFL信号は既にアサ
ートされているのでリフィル処理は行われず、先ほどパ
ージされたエントリのデータメモリにtmpレジスタの
値0x2818が上書きされる。このときアドレスタグ領域も
新規に上書きされる。
Here, if a cache miss occurs, L
The entry number of the cache to be purged is determined by the RU logic, and the address tag information and data information of the entry are written in the write-back buffers 303 and 304.
Is stored temporarily. Next, since the NORFL signal has already been asserted, the refill processing is not performed, and the value 0x2818 of the tmp register is overwritten in the data memory of the entry purged earlier. At this time, the address tag area is newly overwritten.

【0026】一方、同4)でキャッシュがヒットした場
合は、ヒットしたキャッシュエントリのデータメモリ上
に直接、レジスタの値tmp=0x2818が上書きされる。
5)では4)に引続き、残りのレジスタの値を順に格納
していく。この途中に4)で記述したようなキャッシュ
ミスが発生した場合でも、4)同様リフィル処理は行わ
れない。最後に6)では3)でアクティブにしたNOR
FL制御信号をインアクティブな状態に戻す。尚、4)
及び5)でレジスタの値をキャッシュメモリ上に上書き
している最中は、外部バスが開放されているため、キャ
ッシュ制御ユニット204はデータライトバックバッフ
ァ304上のデータを、タグライトバックバッファ30
3が示す主メモリ上のアドレス位置へライトバック処理
を行うようにバス制御ユニット103に要求する。こう
すると、主メモリ104からキャッシュメモリ202に
リフィルする処理を省略することができ、当プッシュ命
令にかかる実行サイクルが削減され、高速なレジスタ待
避が可能となる。最終的にレジスタが待避された後のス
タックフレームのメモリイメージを402に示す。
On the other hand, if the cache hits in 4), the register value tmp = 0x2818 is directly overwritten on the data memory of the cache entry hit.
In 5), following 4), the values of the remaining registers are sequentially stored. Even if a cache miss described in 4) occurs during this process, the refill processing is not performed in the same manner as in 4). Finally, in 6), NOR activated in 3)
The FL control signal is returned to the inactive state. 4)
Since the external bus is open while the register value is overwritten on the cache memory in (5) and (5), the cache control unit 204 transfers the data in the data write back buffer 304 to the tag write back buffer 30.
A request is made to the bus control unit 103 to perform a write-back process to the address position on the main memory indicated by No.3. In this way, the process of refilling the cache memory 202 from the main memory 104 can be omitted, the execution cycle of the push instruction is reduced, and the register can be saved at high speed. A memory image 402 of the stack frame after the registers are finally saved is shown in 402.

【0027】次にスタックから複数のレジスタを連続的
にポップする場合について示す。まずスタックフレーム
のメモリイメージは402に示した状態にある。このと
きスタックポインタSPは0x27F8を指している。この状
態でマイクロプロセッサが全レジスタを連続的に復帰す
る命令を実行する。以下はレジスタPSW、R3、R
2、R1、R0、SPを現在のSPが示す領域から順に
取出すアセンブラ命令である。 pop [r0,r1,r2,r3,psw] 本実施の形態のマイクロプロセッサはこのとき、 1)CLRDT制御信号をアクティブにする。 2)PSWレジスタの値をSPが示す領域から読出し、
SP←SP+4を実行する。 3)続いてR3、R2、R1、R0、SPレジスタの順
でSPが示す領域から読出す。このとき、1レジスタを
読出す度にSP←SP+4を実行する。 4)1)でアクティブにしたCLRDT制御信号をイン
アクティブな状態に戻す。 というシーケンスで上記ポップ命令を実行する。1)は
本ポップ命令を実行後にキャッシュのタグメモリ301
上にある該当エントリのダーティビットDをリセットす
るためである。2)はスタックに積まれているPSWの
値を読出し、プロセッサコア内のPSWレジスタ105
に格納する。このときキャッシュ回路102の内部では
キャッシュの判定が行われる。ここでキャッシュミスが
発生した場合はLRU論理によってパージされるべきキ
ャッシュエントリ番号が決定され、該当エントリのアド
レスタグ情報及びデータ情報がライトバックバッファ3
03及び304に一時的に格納される。次にNORFL
信号は特にアサートされていないので主メモリ104か
らキャッシュメモリ202に必要な情報が取り込まれる
(リフィル処理)。
Next, a case where a plurality of registers are successively popped from the stack will be described. First, the memory image of the stack frame is in the state shown at 402. At this time, the stack pointer SP points to 0x27F8. In this state, the microprocessor executes an instruction to continuously restore all registers. Below are the registers PSW, R3, R
2, an assembler instruction for sequentially extracting R1, R0, and SP from the area indicated by the current SP. pop [r0, r1, r2, r3, psw] At this time, the microprocessor of the present embodiment: 1) Activates the CLRDT control signal. 2) reading the value of the PSW register from the area indicated by SP,
Execute SP ← SP + 4. 3) Then, read from the area indicated by SP in the order of R3, R2, R1, R0, and SP register. At this time, SP ← SP + 4 is executed each time one register is read. 4) Return the CLRDT control signal activated in 1) to the inactive state. The above-mentioned pop instruction is executed in the sequence. 1) The tag memory 301 of the cache after executing this pop instruction
This is for resetting the dirty bit D of the corresponding entry above. 2) reads out the value of the PSW stacked on the stack and reads out the PSW register 105 in the processor core
To be stored. At this time, the cache is determined inside the cache circuit 102. Here, when a cache miss occurs, the cache entry number to be purged is determined by the LRU logic, and the address tag information and data information of the entry are stored in the write-back buffer 3.
03 and 304 are temporarily stored. Next, NORFL
Since the signal is not particularly asserted, necessary information is fetched from the main memory 104 to the cache memory 202 (refill processing).

【0028】一方、キャッシュがヒットした場合、もし
くは先のリフィル処理終了後は、キャッシュメモリ20
2内に存在するPSWの内容がデータセレクタ205を
経由してデータバスに乗り、プロセッサコア101にP
SWの内容が渡される。3)では2)に引続き、残りの
レジスタR3、R2、R1、R0、SPの値を順にキャ
ッシュメモリ202から取出す。この途中でキャッシュ
ミスが発生した場合も2)の時と同様に主メモリ104
からキャッシュメモリ202へのリフィル処理が行われ
る。尚、2)及び3)でキャッシュメモリ202からプ
ロセッサコア101にデータを取出していく際に、その
取出したデータ情報がキャッシュのデータメモリ302
のW3に該当するワードデータであった場合は、そのキ
ャッシュエントリ上にあるレジスタ情報は既にプロセッ
サコア101内のレジスタアレイ105に取り込まれた
ことになる。このときCLRDT信号がアサートされて
いるので、該当キャッシュエントリのアドレスタグフィ
ールド上にあるダーティビットDをクリアする。こうす
ることで、将来該キャッシュエントリがパージされると
きにライトバックが発生しなくなる。本ポップ命令で言
えばR3及びSPレジスタをキャッシュメモリ202か
ら読出す時にダーティビットDのクリア処理が行われ
る。最後に4)では1)でアクティブにしたCLRDT
制御信号をインアクティブな状態に戻す。
On the other hand, when the cache hits or after the previous refill processing is completed, the cache memory 20
2 is loaded on the data bus via the data selector 205 and transmitted to the processor core 101 by the PSW.
The contents of the SW are passed. In 3), following 2), the values of the remaining registers R3, R2, R1, R0, and SP are sequentially fetched from the cache memory 202. In the case where a cache miss occurs during this process, the main memory 104 is used in the same manner as in 2).
From the cache memory 202 is performed. When data is extracted from the cache memory 202 to the processor core 101 in 2) and 3), the extracted data information is stored in the data memory 302 of the cache.
In the case of the word data corresponding to W3, the register information on the cache entry has already been taken into the register array 105 in the processor core 101. At this time, since the CLRDT signal is asserted, the dirty bit D on the address tag field of the corresponding cache entry is cleared. This prevents write-back from occurring when the cache entry is purged in the future. Speaking of this pop instruction, when the R3 and SP registers are read from the cache memory 202, the dirty bit D is cleared. Finally, in 4), CLRDT activated in 1)
Return control signal to inactive state.

【0029】以上のようなポップ処理を行うことによ
り、キャッシュメモリ202から主メモリ104にライ
トバックする処理を極力削減することができ、当ポップ
命令にかかる実行サイクルが削減され、高速なレジスタ
復帰が可能となる。最終的にレジスタが復帰された後の
スタックフレームのメモリイメージは401に示す通り
である。
By performing the above-described pop processing, the processing of writing back from the cache memory 202 to the main memory 104 can be reduced as much as possible, the execution cycle of the pop instruction can be reduced, and high-speed register return can be performed. It becomes possible. The memory image of the stack frame after the register is finally restored is as shown at 401.

【0030】以上、本発明のいくつかの好適な特徴だけ
を図示したが、多くの変更及び変化が行われてもよい。
よって本発明の請求の範囲は、本発明の主旨に含まれる
全てのこのような変更及び変化を包括するものである。
While only certain preferred features of the invention have been illustrated, many modifications and changes may be made.
It is therefore intended that the appended claims cover all such modifications and changes as fall within the true spirit of the invention.

【0031】例えば、上記でプッシュ命令の詳細な動作
シーケンスを示したが、スタックポインタSPの加減算
処理はレジスタの待避ごとに行うのではなく、予めレジ
スタ待避に必要なスタックフレームを確保した後に、S
P相対でレジスタを待避するような処理を行ってもよ
い。又ポップ命令においても、プッシュ命令と同様に予
め必要なレジスタ復帰を全て行ってから、最後にまとめ
てスタックフレームの削除を行ってもよい。更に、CL
RDT制御信号についても上記のポップ命令の例では、
ポップ命令実行中は常にCLRDT信号がアサートされ
ている状態であり、実際にキャッシュエントリのダーテ
ィビットをクリアするかどうかはキャッシュ回路102
の内部で判定をしている。しかし、この判定をプロセッ
サコア101内部で行い、ダーティビットのクリアが必
要な時だけCLRDT信号をアサートするようにし、キ
ャッシュ回路102ではCLRDT信号がアクティブな
ら常にダーティビットをクリアするような構成になって
いても本発明の請求の範囲に該当するキャッシュ装置で
あることを意味する。
For example, although the detailed operation sequence of the push instruction has been described above, the addition and subtraction processing of the stack pointer SP is not performed every time the register is saved, but after the stack frame necessary for saving the register is secured in advance, the S
Processing for saving the register relative to P may be performed. Also in the case of the pop instruction, all necessary register restoration may be performed in advance similarly to the push instruction, and then the stack frame may be deleted at the end. Furthermore, CL
Regarding the RDT control signal, in the above example of the pop instruction,
During the execution of the pop instruction, the CLRDT signal is always asserted, and whether or not the dirty bit of the cache entry is actually cleared is determined by the cache circuit 102.
Is judged inside. However, this determination is made inside the processor core 101, and the CLRDT signal is asserted only when the dirty bit needs to be cleared. The cache circuit 102 is configured to always clear the dirty bit if the CLRDT signal is active. This also means that the cache device falls under the claims of the present invention.

【0032】[0032]

【発明の効果】本願の請求項1,3,4,5の発明は、
キャッシュ機構を実装しているマイクロプロセッサシス
テムにおいて、スタック領域に対して複数レジスタの値
を連続的に待避させる際に、キャッシュメモリと主メモ
リとの間のデータ転送を削減し、より高速にレジスタの
待避処理を実現するメモリ制御装置を備えたキャッシュ
装置とすることができるという効果が得られる。
The invention of claims 1, 3, 4 and 5 of the present application is
In a microprocessor system equipped with a cache mechanism, when continuously saving the values of a plurality of registers in the stack area, the data transfer between the cache memory and the main memory is reduced, and the registers are stored at a higher speed. The effect is obtained that the cache device can be provided with a memory control device that realizes the save processing.

【0033】本願の請求項2,6,7の発明は、キャッ
シュ機構を実装しているマイクロプロセッサシステムに
おいて、スタック領域から複数レジスタの値を連続的に
復帰する際に、キャッシュメモリと主メモリとの間のデ
ータ転送を削減し、より高速にレジスタの復帰処理を実
現するメモリ制御装置を備えたキャッシュ装置とするこ
とができるという効果が得られる。
According to the second, sixth, and seventh aspects of the present invention, in a microprocessor system equipped with a cache mechanism, when the values of a plurality of registers are successively returned from a stack area, the cache memory and the main memory are used. In this case, it is possible to obtain a cache device having a memory control device that can reduce the data transfer during the period and realize the register restoration process at a higher speed.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態であるキャッシュ装置を示
すブロック図である。
FIG. 1 is a block diagram showing a cache device according to an embodiment of the present invention.

【図2】実施の形態におけるキャッシュ回路の内部構成
を示すブロック図である。
FIG. 2 is a block diagram illustrating an internal configuration of a cache circuit according to the embodiment;

【図3】実施の形態におけるキャッシュメモリアレイの
内部構成を示すブロック図である。
FIG. 3 is a block diagram showing an internal configuration of a cache memory array according to the embodiment.

【図4】実施の形態におけるスタック領域のメモリイメ
ージ図である。
FIG. 4 is a memory image diagram of a stack area in the embodiment.

【符号の説明】[Explanation of symbols]

101 プロセッサコア 102 キャッシュ回路 103 バス制御ユニット 104 主メモリ 105 レジスタアレイ 201 アドレスフィールド 202 キャッシュメモリアレイ 203 タグアドレス比較器 204 キャッシュ制御ユニット 205 データセレクタ 301 タグメモリ 302 データメモリ 303 タグライトバックバッファ 304 データライトバックバッファ 401 レジスタ待避前のスタック領域メモリイメージ 402 レジスタ待避後のスタック領域メモリイメージ R0〜R3 汎用レジスタ PSW プロセッサステータスワード PC プログラムカウンタ SP スタックポインタ tmp テンポラリレジスタ NORFL リフィル処理抑制制御信号 CLRDT ディーティビットクリア制御信号 TAG アドレスタグフィールド INDEX アドレスインデックスフィールド WS ワードセレクトフィールド D ダーティビット V バリッドビット 101 processor core 102 cache circuit 103 bus control unit 104 main memory 105 register array 201 address field 202 cache memory array 203 tag address comparator 204 cache control unit 205 data selector 301 tag memory 302 data memory 303 tag write back buffer 304 data write back Buffer 401 Stack area memory image before saving registers 402 Stack area memory image after saving registers R0 to R3 General purpose registers PSW Processor status word PC Program counter SP Stack pointer tmp Temporary register NORFL Refill processing suppression control signal CLRDT Dirty bit clear control signal TAG address tag field NDEX address index field WS word select field D dirty bit V valid bit

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 マイクロプロセッサと、 前記マイクロプロセッサに結合したキャッシュメモリ
と、 前記マイクロプロセッサに結合したメモリ制御装置と、 前記マイクロプロセッサに結合した外部メモリとを含
み、 前記メモリ制御装置は、 前記マイクロプロセッサから前記外部メモリへの書込み
要求が発生し、且つその時にキャッシュの不適合が起こ
った場合でも、前記外部メモリから前記キャッシュメモ
リへのリフィル動作を行うことなく、前記マイクロプロ
セッサから前記キャッシュメモリへの書込み動作を実現
する制御手段を含むことを特徴とするキャッシュ装置。
A microprocessor; a cache memory coupled to the microprocessor; a memory controller coupled to the microprocessor; and an external memory coupled to the microprocessor. Even if a write request from the processor to the external memory occurs and a cache mismatch occurs at that time, the microprocessor does not perform a refill operation from the external memory to the cache memory. A cache device including control means for realizing a write operation.
【請求項2】 マイクロプロセッサと、 前記マイクロプロセッサに結合したキャッシュメモリ
と、 前記マイクロプロセッサに結合したメモリ制御装置と、 前記マイクロプロセッサに結合した外部メモリとを含
み、 前記メモリ制御装置は、 前記マイクロプロセッサが前記外部メモリからの読込み
要求を発生し、且つその時にキャッシュが適合した場合
に、前記キャッシュメモリから前記マイクロプロセッサ
に読込み動作を行うと同時に、適合したキャッシュエン
トリ上にあるダーティビットを強制的にリセットする制
御手段を含むことを特徴とするキャッシュ装置。
2. A microprocessor, comprising: a microprocessor; a cache memory coupled to the microprocessor; a memory controller coupled to the microprocessor; and an external memory coupled to the microprocessor. If the processor issues a read request from the external memory and the cache is matched at that time, the processor performs a read operation from the cache memory to the microprocessor and simultaneously forcibly removes the dirty bit on the matched cache entry. And a control unit for resetting the cache.
【請求項3】 前記マイクロプロセッサは、 スタック領域に対して複数のレジスタを連続的にプッシ
ュする場合に、前記メモリ制御装置に対してリフィル動
作を行わないようにする制御信号を出力することで、複
数レジスタのプッシュ処理を高速に行うことを特徴とす
る請求項1記載のキャッシュ装置。
3. The microprocessor outputs a control signal for preventing a refill operation from being performed to the memory control device when a plurality of registers are continuously pushed to a stack area. 2. The cache device according to claim 1, wherein a plurality of registers are pushed at a high speed.
【請求項4】 前記マイクロプロセッサは、 スタック領域に対して複数のレジスタを連続的にプッシ
ュする場合に、現在のスタックポインタの値が前記キャ
ッシュメモリのラインサイズ境界に合っていない場合に
スタックポインタを適度な量だけ底上げすることで、ス
タックポインタの値を自動的にラインサイズ境界に合わ
せることを特徴とする請求項3記載のキャッシュ装置。
4. The microprocessor according to claim 1, wherein the plurality of registers are successively pushed to a stack area, and when a current value of the stack pointer does not match a line size boundary of the cache memory, the stack pointer is updated. 4. The cache device according to claim 3, wherein the value of the stack pointer is automatically adjusted to the line size boundary by raising the level by an appropriate amount.
【請求項5】 前記マイクロプロセッサは、 スタック領域に対して複数のレジスタを連続的にプッシ
ュする場合に、前記キャッシュメモリのラインサイズ境
界に合わせる前のスタックポインタの値を、他のレジス
タと共にスタック領域にプッシュすることを特徴とする
請求項4記載のキャッシュ装置。
5. The microprocessor according to claim 1, wherein, when a plurality of registers are continuously pushed to a stack area, a value of a stack pointer before being aligned with a line size boundary of the cache memory is stored in the stack area together with other registers. 5. The cache device according to claim 4, wherein said data is pushed to said cache device.
【請求項6】 前記マイクロプロセッサは、 スタック領域から複数のレジスタを連続的にポップする
場合に、前記キャッシュメモリからデータを読込むと同
時に、前記メモリ制御装置に対して適合したキャッシュ
エントリのダーティビットを強制的にリセットするため
の制御信号を出力することで、将来的に発生する可能性
のあった前記キャッシュメモリから前記外部メモリへの
ライトバック動作を行わないようにすることを特徴とす
る請求項2記載のキャッシュ装置。
6. The microprocessor reads data from the cache memory and pops a dirty bit of a cache entry suitable for the memory controller when populating a plurality of registers from a stack area continuously. A control signal for forcibly resetting the cache memory to prevent a write-back operation from the cache memory to the external memory which may occur in the future. 2. The cache device according to 2.
【請求項7】 前記マイクロプロセッサは、 スタック領域から複数のレジスタを連続的にポップする
場合に、プッシュするときに保存した値を持つスタック
ポインタ値を他のレジスタと共にポップすることで、前
記キャッシュメモリのラインサイズ境界に合わせる前の
スタックポインタ値を復元することを特徴とする請求項
6記載のキャッシュ装置。
7. The cache memory according to claim 1, wherein, when successively popping a plurality of registers from a stack area, the microprocessor pops a stack pointer value having a value stored at the time of pushing together with other registers, to thereby execute the cache memory. 7. The cache device according to claim 6, wherein the stack pointer value before the line size boundary is restored is restored.
JP2000029340A 2000-02-07 2000-02-07 Cache device Pending JP2001222467A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000029340A JP2001222467A (en) 2000-02-07 2000-02-07 Cache device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000029340A JP2001222467A (en) 2000-02-07 2000-02-07 Cache device

Publications (1)

Publication Number Publication Date
JP2001222467A true JP2001222467A (en) 2001-08-17

Family

ID=18554614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029340A Pending JP2001222467A (en) 2000-02-07 2000-02-07 Cache device

Country Status (1)

Country Link
JP (1) JP2001222467A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303232A (en) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd Data memory cache device and data memory cache system
WO2005066796A1 (en) * 2003-12-22 2005-07-21 Matsushita Electric Industrial Co., Ltd. Cache memory and its controlling method
WO2005101035A1 (en) * 2004-04-02 2005-10-27 Murata Manufacturing Co.,Ltd. Method and instrument for measuring high-frequency electric characteristic of electronic component, and method for calibrating high-frequency electrical characteristic measuring instrument
US7203798B2 (en) 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
US10108568B2 (en) 2015-03-30 2018-10-23 Samsung Electronics Co., Ltd. Master capable of communicating with slave and system including the master

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004303232A (en) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd Data memory cache device and data memory cache system
US7203798B2 (en) 2003-03-20 2007-04-10 Matsushita Electric Industrial Co., Ltd. Data memory cache unit and data memory cache system
CN100382050C (en) * 2003-03-20 2008-04-16 松下电器产业株式会社 Data sotrage cache memory and data storage cache system
WO2005066796A1 (en) * 2003-12-22 2005-07-21 Matsushita Electric Industrial Co., Ltd. Cache memory and its controlling method
EP1698978A1 (en) * 2003-12-22 2006-09-06 Matsushita Electric Industries Co., Ltd. Cache memory and its controlling method
EP1698978A4 (en) * 2003-12-22 2008-11-05 Matsushita Electric Ind Co Ltd Cache memory and its controlling method
US7454575B2 (en) 2003-12-22 2008-11-18 Matsushita Electric Industrial Co., Ltd. Cache memory and its controlling method
WO2005101035A1 (en) * 2004-04-02 2005-10-27 Murata Manufacturing Co.,Ltd. Method and instrument for measuring high-frequency electric characteristic of electronic component, and method for calibrating high-frequency electrical characteristic measuring instrument
US10108568B2 (en) 2015-03-30 2018-10-23 Samsung Electronics Co., Ltd. Master capable of communicating with slave and system including the master

Similar Documents

Publication Publication Date Title
US5530941A (en) System and method for prefetching data from a main computer memory into a cache memory
US10019369B2 (en) Apparatuses and methods for pre-fetching and write-back for a segmented cache memory
JP4486750B2 (en) Shared cache structure for temporary and non-temporary instructions
JP3016575B2 (en) Multiple cache memory access methods
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
US6021471A (en) Multiple level cache control system with address and data pipelines
JPH07253926A (en) Method for reduction of time penalty due to cache mistake
US7594100B2 (en) Efficient store queue architecture
JP2010191638A (en) Cache device
JPS61156346A (en) Apparatus for forestalling memory hierarchy
JPH07200399A (en) Microprocessor and method for access to memory in microprocessor
JP2003504757A (en) Buffering system bus for external memory access
JPH06243039A (en) Method for operating order in cache memory system and microprocessor unit
JP3798049B2 (en) Data memory and operation method thereof
US7657667B2 (en) Method to provide cache management commands for a DMA controller
JP3262519B2 (en) Method and system for enhancing processor memory performance by removing old lines in second level cache
US5420994A (en) Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US6766431B1 (en) Data processing system and method for a sector cache
US5287512A (en) Computer memory system and method for cleaning data elements
US6240487B1 (en) Integrated cache buffers
US6976130B2 (en) Cache controller unit architecture and applied method
US5835945A (en) Memory system with write buffer, prefetch and internal caches
JP2001222467A (en) Cache device
JP2001249846A (en) Cache memory device and data processing system
US5953740A (en) Computer memory system having programmable operational characteristics based on characteristics of a central processor