JP2000339217A - Cache memory system - Google Patents

Cache memory system

Info

Publication number
JP2000339217A
JP2000339217A JP11146339A JP14633999A JP2000339217A JP 2000339217 A JP2000339217 A JP 2000339217A JP 11146339 A JP11146339 A JP 11146339A JP 14633999 A JP14633999 A JP 14633999A JP 2000339217 A JP2000339217 A JP 2000339217A
Authority
JP
Japan
Prior art keywords
data
cache memory
line buffer
execution
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11146339A
Other languages
Japanese (ja)
Inventor
Tetsuya Yonemura
鉄也 米村
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP11146339A priority Critical patent/JP2000339217A/en
Publication of JP2000339217A publication Critical patent/JP2000339217A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To cope with a program part with high locality of data reference and to simultaneously save power consumption of a cache memory when it is not used. SOLUTION: A virtual address of data is transmitted to a judging part 13 when the data to be requested by an instruction in a program is fetched in an executing part 15 by a control part 11. The data is judged whether it exist either in a line buffer 2 or in the cache memory 3 based on the virtual address, when the data exists either in the line buffer 2 or the cache memory 3, the data is taken out from the memory in which the data exists, when the data exists neither in the line buffer 2 nor the cache memory 3, the data is taken out from an external storage means, stored in the cache memory 3 and transmitted to the executing part 15 as well by the judging part 13.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュメモリ
システムに関し、特に、CPUコアとキャッシュメモリ
間に高速のラインバッファを設置することにより、デー
タ参照の局所性が高いプログラム部分に対処すると共
に、キャッシュメモリ不使用時の無駄な消費電力を節約
することを可能にした節電型のキャッシュメモリシステ
ムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cache memory system, and more particularly to a cache memory system which is provided with a high-speed line buffer between a CPU core and a cache memory so as to cope with a program portion having high locality of data reference. The present invention relates to a power-saving cache memory system capable of saving unnecessary power consumption when a memory is not used.

【0002】[0002]

【従来の技術】従来、コンピュータで代表される情報処
理装置では、物理的には限度のあるコア・メモリ空間を
補佐する手段として大記憶装置を使用し、これにより大
きな仮想アドレス空間を得て、論理的にメモリ空間の拡
張を行っている。
2. Description of the Related Art Conventionally, an information processing apparatus represented by a computer uses a large storage device as a means for assisting a physically limited core memory space, thereby obtaining a large virtual address space. Logically expands the memory space.

【0003】上記拡張されたメモリ空間には、それを構
成するメモリ装置の容量やアクセス速度といった指標か
ら、通常は記憶の階層構造が構築されている。
[0003] In the above-mentioned expanded memory space, a hierarchical structure of storage is usually constructed from indices such as the capacity and access speed of a memory device constituting the expanded memory space.

【0004】上記階層構造の最上位には、CPUコア内
に設置されるレジスタ類があるが、キャッシュメモリシ
ステムは、該レジスタ類とコアメモリとの速度差を緩和
するシステムとして一般的に採用されている。
At the top of the hierarchical structure, there are registers installed in the CPU core. A cache memory system is generally adopted as a system for reducing a speed difference between the registers and the core memory. ing.

【0005】キャッシュメモリとは限らず、多くの階層
記憶システムの動作原理は、データ参照の統計的な局所
性である。これは、厳密に言えば、データ参照の時間的
局所性であり、経験則として知られている原理である。
一方、記憶装置側には、容量やアクセス速度といった指
標があり、これにより、通常は、階層的な記憶空間が構
築されている。そこで、キャッシュメモリシステムの役
割は、上記したデータ参照の時間的局所性を、上記した
階層的な記憶空間における一部階層のデータ配置に合理
的に反映させることであると言える。
[0005] The operating principle of many hierarchical storage systems, not limited to cache memories, is the statistical locality of data references. This is, strictly speaking, the temporal locality of the data reference, a principle known as a rule of thumb.
On the other hand, the storage device has indices such as capacity and access speed, and thus, a hierarchical storage space is usually constructed. Therefore, it can be said that the role of the cache memory system is to rationally reflect the temporal locality of the data reference described above on the data arrangement of a partial hierarchy in the hierarchical storage space.

【0006】図3は、従来のダイレクトマップ方式キャ
ッシュメモリシステムの要部を示したブロック図であ
る。
FIG. 3 is a block diagram showing a main part of a conventional direct mapped cache memory system.

【0007】図3に示すキャッシュメモリシステムは、
CPUコア31とキャッシュメモリ33を備え、上記キ
ャッシュメモリシステムを含むプロセッサがデコードし
終えた命令或いはデコード途上の命令を実行する時、制
御部311は、該命令の遂行に必要なデータにアクセス
するためのキャッシュ内アドレスをアドレスバス(AB
31)に送出する。
The cache memory system shown in FIG.
When the processor including the CPU core 31 and the cache memory 33 executes an instruction which has been decoded or is in the process of being decoded by the processor including the cache memory system, the control unit 311 accesses the data necessary for executing the instruction. Address in the address bus (AB)
31).

【0008】上記送出されたキャッシュ内アドレスを使
用してキャッシュメモリ33内をアクセスした結果、キ
ャッシュメモリ33内に、上記命令の遂行に必要なデー
タが存在していた場合(HIT時)は、上記データを、
データバス(DB31)を経由して実行部315に送出
する。
As a result of accessing the cache memory 33 using the transmitted address in the cache, if the cache memory 33 contains data necessary for the execution of the instruction (at the time of HIT), Data
The data is sent to the execution unit 315 via the data bus (DB31).

【0009】実行部315は、上記送出されたデータを
使用して、上記命令のオペレーションを実行する。(な
お、制御部311と実行部315との接続線は図示を省
略)しかしながら、キャッシュメモリ33内に、上記命
令の遂行に必要なデータが存在していなかった場合(ミ
スHIT時)には、外部主記憶装置(図示は省略)から
上記データを取り込み、これによりキャッシュメモリも
更新する。
The execution unit 315 executes the operation of the instruction using the transmitted data. (Note that the connection line between the control unit 311 and the execution unit 315 is not shown.) However, if there is no data required to execute the above instruction in the cache memory 33 (at the time of a miss HIT), The data is fetched from an external main storage device (not shown), and the cache memory is updated accordingly.

【0010】一般的なキャッシュメモリシステムにおい
て、仮想アドレスからキャッシュメモリのエントリを選
択する手段として、TLB(高速変換緩衝機構)と呼ば
れる高速のアドレス変換手段が用いられることも多い。
さらに、上記の仮想アドレスから最終的な物理アドレス
への変換に際しては、上記のTLBをカバーする他のア
ドレス変換手段が設置されることもある。
In a general cache memory system, a high-speed address translation unit called a TLB (high-speed translation buffering mechanism) is often used as a unit for selecting an entry of a cache memory from a virtual address.
Further, when converting the above-mentioned virtual address to the final physical address, other address conversion means covering the above-mentioned TLB may be installed.

【0011】TLBは、通常、キャッシュメモリよりも
高速のメモリ或いはレジスタで構成され、上記の仮想ア
ドレスから物理アドレスへの変換手段をテーブルルック
アップ手段により達成している。ちなみに、従来のTL
Bには、通常、仮想アドレスから物理アドレスへの変換
対だけが置かれて、対応するデータまでは格納されてい
ない。
The TLB is usually composed of a memory or a register faster than a cache memory, and achieves the above-mentioned means for converting a virtual address into a physical address by means of a table lookup means. By the way, conventional TL
In B, usually, only a translation pair from a virtual address to a physical address is placed, and the corresponding data is not stored.

【0012】特開平4−338848号公報には、上記
したTLB関係の技術が開示されている。
Japanese Patent Application Laid-Open No. 4-338848 discloses the above TLB-related technology.

【0013】なお、従来のキャッシュメモリシステムに
関する出願の多くは、特開平6−348595号公報や
特開平7−28706号公報に見られるように、いわゆ
るキャッシュメモリの置換アルゴリズムに集約されてい
たと指摘できよう。
Incidentally, it can be pointed out that many of the applications related to the conventional cache memory system were summarized in a so-called cache memory replacement algorithm as disclosed in Japanese Patent Application Laid-Open Nos. 6-348595 and 7-28706. Like.

【0014】[0014]

【発明が解決しようとする課題】ところで、従来のキャ
ッシュメモリシステムにおける問題点は、命令実行時点
において、当面するプログラムの実行には不必要なキャ
ッシュメモリ中のデータ領域に対しても、常時、電源を
供給していたことにある。
The problem with the conventional cache memory system is that, at the time of instruction execution, even if the data area in the cache memory is unnecessary for the execution of the program at hand, the power supply is always on. Had been supplied.

【0015】より具体的に言えば、多くのプログラム
は、上記したデータ参照の局所性が非常に高い部分を少
なからず含んでおり、このような傾向に対処するには、
僅かな容量(上記した従来のTLBレベル)の高速バッ
ファを設置して、これをデータバッファとして使用する
だけの方法が本来は有力であり、従って、従来の大規模
なキャッシュメモリの使用は、必ずしも必要とは限らな
い場合がある。
More specifically, many programs include at least a portion where the locality of data reference is extremely high. To cope with such a tendency,
A method in which a high-speed buffer having a small capacity (the conventional TLB level described above) is installed and used as a data buffer is originally effective, and therefore, the use of the conventional large-scale cache memory is not necessarily required. May not be necessary.

【0016】そこで、本発明の考案に際しては、プログ
ラムにおいてデータ参照の局所性が高い部分の実行につ
いては、従来のキャッシュメモリの使用に代えて、僅か
な容量の高速バッファを使用し、この間の、キャッシュ
メモリのデータ領域のメモリセルは、非アクティブ状態
で待機させることにより、プロセッサの電力消費量の節
約と、発熱の抑制を図るべきことが検討された。
Therefore, in devising the present invention, a high-speed buffer having a small capacity is used instead of the conventional cache memory for executing a portion having high locality of data reference in a program. It has been considered that the memory cells in the data area of the cache memory should be kept in an inactive state to save power consumption of the processor and to suppress heat generation.

【0017】本発明は、以上のような従来のキャッシュ
メモリシステムにおける問題点に鑑みてなされたもので
あり、データ参照の局所性が高いプログラム部分に対処
すると共に、キャッシュメモリ不使用時のキャッシュメ
モリ消費電力を節約することを可能にした節電型のキャ
ッシュメモリシステムを提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems in the conventional cache memory system, and addresses a program portion having high locality of data reference. It is an object of the present invention to provide a power-saving cache memory system capable of saving power consumption.

【0018】[0018]

【課題を解決するための手段】上記の課題を解決するた
めに、本発明の態様に依れば、情報処理装置が実行すべ
きプログラム中の各命令を順次に解析して該解析結果に
応じた処理を実施するCPUコアと、仮想アドレス空間
の一構成要素をなし、前記各命令の実行に伴って必要と
なるデータ群の一部のデータを格納する待機機能付きの
キャッシュメモリと、前記CPUコアと前記キャッシュ
メモリとの間に設置されて前記キャッシュメモリが格納
するデータ群の一部のデータを格納するラインバッファ
と、外部記憶手段を有するキャッシュメモリシステムに
おいて、前記プログラム中の命令が要求するデータを前
記CPUコア内の実行手段が処理するに際し、前記デー
タの仮想アドレスを基にして、前記データが前記ライン
バッファと前記キャッシュメモリとのいずれに存在する
か、或いは、いずれにも存在しないかを判断し、前記デ
ータが前記ラインバッファと前記キャッシュメモリとの
いずれかに存在する場合には、当該データが存在する方
のメモリから該当するデータを取り出し、前記ラインバ
ッファと前記キャッシュメモリとのいずれにも存在しな
い場合には、前記外部記憶手段から該当するデータを取
り出して、該取り出されたデータを前記実行手段に送出
することを特徴とするキャッシュメモリシステムが提供
される。
According to an aspect of the present invention, to solve the above-mentioned problems, each instruction in a program to be executed by an information processing apparatus is sequentially analyzed, and each instruction is analyzed according to the analysis result. A cache memory having a standby function for forming a component of a virtual address space, storing a part of data of a data group necessary for execution of each instruction, In a cache memory system having a line buffer provided between a core and the cache memory for storing a part of data of a data group stored in the cache memory and an external storage unit, an instruction in the program requires When the data is processed by the execution means in the CPU core, the data is transferred to the line buffer and the key based on the virtual address of the data. And if the data exists in either the line buffer or the cache memory, the memory in which the data exists is determined. Fetching the corresponding data from the external buffer, and fetching the corresponding data from the external storage means if the data does not exist in any of the line buffer and the cache memory, and sending the fetched data to the execution means. A cache memory system is provided.

【0019】ここで、前記CPUコア内に、前記プログ
ラム中の命令の解析結果に応じて他の構成要素に対して
前記命令の実行に必要な指令を指示すると共に、前記実
行命令が要求するデータの仮想アドレスを送出する制御
手段と、前記送出された仮想アドレスを基にして前記デ
ータが前記ラインバッファ内に存在するか否かを判断
し、前記データが前記ラインバッファ内に存在すると判
断した場合には、前記仮想アドレスを基にラインバッフ
ァ内アドレスを構成し、該構成されたラインバッファ内
アドレスに該当するデータを前記ラインバッファから取
り出して実行手段に送出すると共に、待機指示信号を発
信して前記キャッシュメモリを待機状態にし、しかしな
がら、前記データが前記ラインバッファ内に存在しない
と判断した場合には前記待機指示信号を解除すると共
に、前記ラインバッファ内の全データ又は更新されたデ
ータを前記キャッシュメモリに戻し、その後、前記仮想
アドレスを基に構成されたキャッシュメモリ内アドレス
に該当するデータが前記キャッシュメモリから取り出し
可能であれば、該データ又は該データに加えて該データ
の近くに格納されているデータを取り出し、該取り出さ
れたデータを前記ラインバッファに送出すると共に、前
記取り出されたデータと同一のデータを前記実行手段に
も送出し、しかしながら、前記データが前記キャッシュ
メモリに存在しない場合には、前記外部記憶装置から前
記データを取り込み、該取り込まれたデータを前記キャ
ッシュメモリに格納すると共に、該格納されたデータ又
は該データに加えて該データの近くに格納されているデ
ータを前記ラインバッファに送出し、さらに、前記キャ
ッシュメモリに格納されたデータと同一のデータを前記
出力手段にも送出する判断手段を備えることが可能であ
る。
Here, in the CPU core, an instruction necessary for execution of the instruction is instructed to other components according to a result of analysis of the instruction in the program, and data required by the execution instruction is provided. Control means for sending out the virtual address of, and whether or not the data is present in the line buffer is determined based on the sent virtual address, and it is determined that the data is present in the line buffer. The address in the line buffer is configured based on the virtual address, data corresponding to the configured address in the line buffer is extracted from the line buffer and sent to the execution unit, and a standby instruction signal is transmitted. Placing the cache memory in a standby state, however, if it is determined that the data is not in the line buffer, The standby instruction signal is released, and all data or updated data in the line buffer is returned to the cache memory. Thereafter, data corresponding to an address in the cache memory configured based on the virtual address is stored in the cache memory. If the data can be retrieved from the memory, the data or the data stored in the vicinity of the data in addition to the data is retrieved, the retrieved data is sent to the line buffer, and the same as the retrieved data is transmitted. Is also sent to the execution means, however, when the data does not exist in the cache memory, the data is fetched from the external storage device, and the fetched data is stored in the cache memory, A case near the stored data or the data in addition to the data The data being sent to the line buffer, furthermore, it is possible to include a determination unit also sends the same data as the data stored in the cache memory to the output means.

【0020】さらに、前記キャッシュメモリは、複数の
ウェイに分割された構成を持つキャッシュメモリ(nウ
ェイセットアソシアティブキャッシュメモリ)であるこ
とが可能である。
Further, the cache memory can be a cache memory (n-way set associative cache memory) having a configuration divided into a plurality of ways.

【0021】[0021]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0022】図1は、本発明の実施の形態に係るキャッ
シュメモリシステムの全体構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing an overall configuration of a cache memory system according to an embodiment of the present invention.

【0023】プロセッサ(図示は省略)内に含まれるC
PUコア1は、実行命令のデコード結果に応じて各部に
指令を出すと共に、前記実行命令に含まれる仮想アドレ
スをアドレスバス(AB1)を経由して判断部13に送
出する制御部11と、上記仮想アドレスを解析すること
により上記仮想アドレスに対応するデータが存在する場
所を判断して該データを読み込むと共に、場合によって
はキャッシュメモリを待機状態にする判断部13と、上
記読み込まれたデータを上記実行命令の指示通りに処理
する実行部15を備えている。
C included in a processor (not shown)
The PU core 1 issues a command to each unit in accordance with the decoding result of the execution instruction, and sends a virtual address included in the execution instruction to the determination unit 13 via the address bus (AB1). By analyzing the virtual address to determine the location where the data corresponding to the virtual address exists, read the data, and if necessary, put the cache memory in a standby state; An execution unit 15 that performs processing as instructed by the execution instruction is provided.

【0024】(なお、上記構成で、制御部11と実行部
15との接続線の図示と両者の関係の説明は、本発明の
要部ではないので省略する) ラインバッファ2は、小容量で高速のメモリで構成さ
れ、局所性の高いプログラム部分が参照するデータを一
時的に保存格納している。
(In the above configuration, the illustration of the connection lines between the control unit 11 and the execution unit 15 and the description of the relationship between them are omitted because they are not essential to the present invention.) The line buffer 2 has a small capacity. It is composed of a high-speed memory, and temporarily stores data to be referred to by a program part having high locality.

【0025】キャッシュメモリ3は、待機機能(スタン
バイ機能)付きのダイレクトマップ方式キャッシュメモ
リであり、参照頻度の高いデータを、ラインバッファ2
が保持しているデータも含めて保存格納している。
The cache memory 3 is a direct-mapped cache memory with a standby function (standby function), and stores frequently referenced data in the line buffer 2.
Is stored including the data held by.

【0026】判断部13は、上記データがラインバッフ
ァ2内に存在すると判断した場合には、上記仮想アドレ
スを基に構成されたラインバッファ2内アドレスをアド
レスバス(AB2)に送出し、該ラインバッファ内アド
レスを使用してラインバッファ2内の上記データを取り
出し、該取り出したデータをデータバス(DB1)を経
由して、該データを実行部15に送出すると共に、スタ
ンバイコントロール信号(SCS)を使用してキャッシ
ュメモリ3を待機状態にする。
When the judging section 13 judges that the data exists in the line buffer 2, it sends an address in the line buffer 2 constructed based on the virtual address to the address bus (AB2), and The data in the line buffer 2 is fetched using the address in the buffer, the fetched data is sent to the execution unit 15 via the data bus (DB1), and the standby control signal (SCS) is sent to the execution unit 15. To put the cache memory 3 in a standby state.

【0027】しかしながら、判断部13は、上記データ
がラインバッファ2内に存在しないと判断した場合は、
スタンバイコントロール信号(SCS)を解除すると共
に、ラインバッファ内の全データ又は更新されたデータ
のみをデータバス(DB3)を経由してキャッシュメモ
リ3に戻し(これにより該キャッシュメモリとの内容の
一致が保証される)、その後、上記仮想アドレスを基に
構成されたキャッシュメモリ3内アドレスをアドレスバ
ス(AB3)に送出し、上記キャッシュメモリ3内アド
レスを使用してキャッシュメモリ3から該当するデータ
を取り出し、該取り出したデータをデータバス(DB
2)を経由してラインバッファに送出すると共に、上記
送出したデータと同一データをデータバス(DB1)を
経由して実行部15に送出する。
However, when the determination unit 13 determines that the data does not exist in the line buffer 2,
The standby control signal (SCS) is released, and all data or only updated data in the line buffer is returned to the cache memory 3 via the data bus (DB3). After that, the address in the cache memory 3 configured based on the virtual address is transmitted to the address bus (AB3), and the corresponding data is extracted from the cache memory 3 using the address in the cache memory 3. , The extracted data is transferred to a data bus (DB
The data is transmitted to the line buffer via 2), and the same data as the transmitted data is transmitted to the execution unit 15 via the data bus (DB1).

【0028】しかしながら、キャッシュメモリ3内に上
記データが存在しない時には、外部記憶装置(図示は省
略)から該データを取り込み、キャッシュメモリ3とラ
インバッファ2と実行部15とに該データを格納する。
However, when the data does not exist in the cache memory 3, the data is fetched from an external storage device (not shown) and stored in the cache memory 3, the line buffer 2, and the execution unit 15.

【0029】なお、ラインバッファ2がミスHITした
時には、該ミスHITとなったデータのみをラインバッ
ファ2内に取り込む方式も可能であるし、キャッシュメ
モリ3内の該ミスHITとなったデータの近傍に位置す
るデータをラインバッファ2の容量分を限度として取り
込む方式も可能である。
When the line buffer 2 has missed HIT, it is also possible to take in only the missed HIT data into the line buffer 2 or to store data in the cache memory 3 near the missed HIT data. It is also possible to take in data located in the line buffer 2 up to the capacity of the line buffer 2.

【0030】図2は、本発明の実施の形態に係るキャッ
シュメモリシステムの動作を説明するためのフローチャ
ートである。
FIG. 2 is a flowchart for explaining the operation of the cache memory system according to the embodiment of the present invention.

【0031】以下、図1を参照しつつ、図2に示すフロ
ーチャートを用いて本実施の形態に係るキャッシュメモ
リシステムの動作を説明する。
Hereinafter, the operation of the cache memory system according to this embodiment will be described with reference to FIG. 1 and the flowchart shown in FIG.

【0032】まず、ステップS1では、判断部13が、
ラインバッファ2内に制御部11から引き渡された仮想
アドレスに対応するデータが存在するか否かを判断す
る。
First, in step S1, the judgment unit 13
It is determined whether or not data corresponding to the virtual address passed from the control unit 11 exists in the line buffer 2.

【0033】上記データがラインバッファ2内に存在す
ると判断された場合は、ステップS2で、判断部13
が、スタンバイコントロール信号(SCS)を発し、キ
ャッシュメモリ3を待機状態にする。
If it is determined that the data exists in the line buffer 2, the process proceeds to step S2 where
Issues a standby control signal (SCS) to put the cache memory 3 in a standby state.

【0034】次に、ステップS3で、判断部13が、該
データのアドレスをラインバッファ2に送出し、ライン
バッファ2から該当するデータを取り込んで実行部15
に送出する。
Next, in step S3, the determination unit 13 sends the address of the data to the line buffer 2, fetches the corresponding data from the line buffer 2, and
To send to.

【0035】最後に、ステップS4で、実行部15が上
記送出されたデータに基づき、命令を実行する。
Finally, in step S4, the execution unit 15 executes an instruction based on the transmitted data.

【0036】上記のステップS1で、上記データがライ
ンバッファ2内に存在しないと判断された場合には、ス
テップS5で、制御部13が、キャッシュメモリ3の待
機状態を解除する。
If it is determined in step S1 that the data does not exist in the line buffer 2, the control unit 13 cancels the standby state of the cache memory 3 in step S5.

【0037】次に、ステップS6では、制御部13が、
ラインバッファ2の内容の一部又は全部をキャッシュメ
モリ3に書き戻す。
Next, at step S6, the control unit 13
A part or all of the contents of the line buffer 2 is written back to the cache memory 3.

【0038】次に、ステップS7では、キャッシュメモ
リ3から該データ又は該データを含む該データ近傍のラ
インバッファ2容量分のデータをラインバッファ2に取
り込んだ後、制御の流れをステップS4に移す。
Next, at step S7, after the data or the data corresponding to the capacity of the line buffer 2 near the data including the data is taken into the line buffer 2 from the cache memory 3, the flow of control is shifted to step S4.

【0039】なお、上記動作フローでは、制御部11の
動作と、キャッシュメモリ3がミスHITの時の動作
と、ラインバッファ2にデータが取り込まれた後で実行
部15へ該データを送出する際の動作とは、説明を省略
している。
In the above operation flow, the operation of the control unit 11, the operation when the cache memory 3 has missed HIT, and the transmission of the data to the execution unit 15 after the data is fetched into the line buffer 2 are described. The description of the operation is omitted.

【0040】上記実施の形態では、キャッシュメモリ3
を、複数のウェイに分割された構成となっているような
キャッシュメモリ(nウェイセットアソシアティブキャ
ッシュメモリ)とすることにより、一層の効果が発揮さ
れる。
In the above embodiment, the cache memory 3
Is further divided by a cache memory (n-way set associative cache memory) having a configuration divided into a plurality of ways.

【0041】[0041]

【発明の効果】以上に説明したとおり、本発明に係るキ
ャッシュメモリシステムに依れば、データ参照の局所性
が高いプログラム部分に対処すべく、キャッシュメモリ
よりも上位のメモリ階層に小容量かつ高速のラインバッ
ファを設置したことにより、命令実行に必要なデータの
アクセス速度を従来システムよりも一層向上させること
が可能となった。
As described above, according to the cache memory system of the present invention, a small-capacity and high-speed storage is provided in a memory hierarchy higher than the cache memory in order to deal with a program portion having high locality of data reference. By installing the line buffer, it is possible to further improve the data access speed required for the instruction execution as compared with the conventional system.

【0042】また、ラインバッファ内でのデータのヒッ
トが続いている間のキャッシュメモリの使用電力を待機
電力のみとすることにより、不必要な電力消費を抑制す
ることが可能となった。理論的には、キャッシュ容量8
Kバイトでラインバッファ容量が1Kバイトの条件下
で、約30%の電力が節約されることになる。
Further, unnecessary power consumption can be suppressed by using only the standby power as the power consumption of the cache memory while the data hit in the line buffer continues. Theoretically, cache capacity 8
Under the condition of K bytes and a line buffer capacity of 1 Kbyte, about 30% of power is saved.

【0043】さらに、複数のウェイに分割された構成と
なっているようなキャッシュメモリ(nウェイセットア
ソシアティブキャッシュメモリ)に適用すると一層の効
果が期待される。
Further effects are expected when applied to a cache memory (n-way set associative cache memory) having a configuration divided into a plurality of ways.

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

【図1】本発明の実施の形態に係るキャッシュメモリシ
ステムの全体構成を示すブロック図である。
FIG. 1 is a block diagram showing an overall configuration of a cache memory system according to an embodiment of the present invention.

【図2】本発明の実施の形態に係るキャッシュメモリシ
ステムの動作を説明するためのフローチャートである。
FIG. 2 is a flowchart for explaining an operation of the cache memory system according to the embodiment of the present invention;

【図3】従来のダイレクトマップ方式キャッシュメモリ
システムの要部を示したブロック図である。
FIG. 3 is a block diagram showing a main part of a conventional direct mapped cache memory system.

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

1 CPUコア 2 ラインバッファ 3 キャッシュメモリ 11 制御部 13 判断部 15 実行部 AB1,AB2,AB3 アドレスバス DB1,DB2,DB3 データバス SCS スタンバイコントロール信号 DESCRIPTION OF SYMBOLS 1 CPU core 2 Line buffer 3 Cache memory 11 Control part 13 Judgment part 15 Execution part AB1, AB2, AB3 Address bus DB1, DB2, DB3 Data bus SCS Standby control signal

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 情報処理装置が実行すべきプログラム中
の各命令を順次に解析して該解析結果に応じた処理を実
施するCPUコアと、仮想アドレス空間の一構成要素を
成し前記各命令の実行に伴って必要となるデータ群の一
部のデータを格納する待機機能付きのキャッシュメモリ
と、前記CPUコアと前記キャッシュメモリとの間に設
置され前記キャッシュメモリが格納するデータ群の一部
のデータを格納するラインバッファと、外部記憶手段を
有するキャッシュメモリシステムにおいて、 前記プログラム中の命令が要求するデータを前記CPU
コア内の実行手段が処理するに際し、前記データの仮想
アドレスを基にして、前記データが前記ラインバッファ
と前記キャッシュメモリとのいずれに存在するか、或い
は、いずれにも存在しないかを判断し、前記データが前
記ラインバッファと前記キャッシュメモリとのいずれか
に存在する場合には、当該データが存在する方のメモリ
から該当するデータを取り出し、前記ラインバッファと
前記キャッシュメモリとのいずれにも存在しない場合に
は、前記外部記憶手段から該当するデータを取り出し
て、該取り出されたデータを前記実行手段に送出するこ
と、 を特徴とするキャッシュメモリシステム。
1. A CPU core for sequentially analyzing each instruction in a program to be executed by an information processing apparatus and performing a process according to the analysis result, and the CPU core constituting one element of a virtual address space. And a cache memory with a standby function for storing a part of data of a data group necessary for execution of, and a part of a data group which is installed between the CPU core and the cache memory and stored by the cache memory A cache memory system having a line buffer for storing the data of
Upon execution by the execution means in the core, based on the virtual address of the data, determines whether the data exists in the line buffer or the cache memory, or does not exist in any, If the data is present in either the line buffer or the cache memory, retrieve the relevant data from the memory in which the data is present, and do not exist in either the line buffer or the cache memory. In such a case, the cache memory system retrieves the relevant data from the external storage unit and sends the retrieved data to the execution unit.
【請求項2】 前記CPUコア内に、 前記プログラム中の命令の解析結果に応じて他の構成要
素に対して前記命令の実行に必要な指令を指示すると共
に、前記実行命令が要求するデータの仮想アドレスを送
出する制御手段と、 前記送出された仮想アドレスを基にして前記データが前
記ラインバッファ内に存在するか否かを判断し、前記デ
ータが前記ラインバッファ内に存在すると判断した場合
には、前記仮想アドレスを基にラインバッファ内アドレ
スを構成し、該構成されたラインバッファ内アドレスに
該当するデータを前記ラインバッファから取り出して実
行手段に送出すると共に、待機指示信号を発信して前記
キャッシュメモリを待機状態にし、しかしながら、前記
データが前記ラインバッファ内に存在しないと判断した
場合には前記待機指示信号を解除すると共に、前記ライ
ンバッファ内の全データ又は更新されたデータを前記キ
ャッシュメモリに戻し、その後、前記仮想アドレスを基
に構成されたキャッシュメモリ内アドレスに該当するデ
ータが前記キャッシュメモリから取り出し可能であれ
ば、該データ又は該データに加えて該データの近くに格
納されているデータを取り出し、該取り出されたデータ
を前記ラインバッファに送出すると共に、前記取り出さ
れたデータと同一のデータを前記実行手段にも送出し、
しかしながら、前記データが前記キャッシュメモリに存
在しない場合には、前記外部記憶装置から前記データを
取り込み、 該取り込まれたデータを前記キャッシュメモリに格納す
ると共に、該格納されたデータ又は該データに加えて該
データの近くに格納されているデータを前記ラインバッ
ファに送出し、さらに、前記キャッシュメモリに格納さ
れたデータと同一のデータを前記出力手段にも送出する
判断手段を備えたこと、 を特徴とする請求項1記載のキャッシュメモリシステ
ム。
2. In the CPU core, an instruction necessary for execution of the instruction is instructed to other components according to an analysis result of the instruction in the program, and data of the data requested by the execution instruction is provided. Control means for transmitting a virtual address; determining whether or not the data is present in the line buffer based on the transmitted virtual address; and determining that the data is present in the line buffer. Constructs an address in the line buffer based on the virtual address, retrieves data corresponding to the constructed address in the line buffer from the line buffer and sends it to the execution means, and transmits a standby instruction signal to transmit the standby instruction signal. Put the cache memory in a standby state; however, if it is determined that the data does not exist in the line buffer, While releasing the instruction signal, all data or updated data in the line buffer is returned to the cache memory, and then data corresponding to an address in the cache memory configured based on the virtual address is transferred from the cache memory. If the data can be extracted, the data or the data stored in the vicinity of the data in addition to the data is extracted, the extracted data is sent to the line buffer, and the same data as the extracted data is sent out. Is also sent to the execution means,
However, when the data does not exist in the cache memory, the data is fetched from the external storage device, the fetched data is stored in the cache memory, and the stored data or the data is additionally stored. And determining means for transmitting data stored near the data to the line buffer and transmitting the same data as the data stored in the cache memory to the output means. The cache memory system according to claim 1, wherein
【請求項3】 前記キャッシュメモリは、複数のウェイ
に分割された構成を持つキャッシュメモリ(nウェイセ
ットアソシアティブキャッシュメモリ)であること、 を特徴とする請求項1又は請求項2記載のキャッシュメ
モリシステム。
3. The cache memory system according to claim 1, wherein the cache memory is a cache memory (n-way set associative cache memory) having a configuration divided into a plurality of ways. .
JP11146339A 1999-05-26 1999-05-26 Cache memory system Withdrawn JP2000339217A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11146339A JP2000339217A (en) 1999-05-26 1999-05-26 Cache memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11146339A JP2000339217A (en) 1999-05-26 1999-05-26 Cache memory system

Publications (1)

Publication Number Publication Date
JP2000339217A true JP2000339217A (en) 2000-12-08

Family

ID=15405471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11146339A Withdrawn JP2000339217A (en) 1999-05-26 1999-05-26 Cache memory system

Country Status (1)

Country Link
JP (1) JP2000339217A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395756B1 (en) * 2001-06-16 2003-08-21 삼성전자주식회사 Cache memory and microprocessor using this cache memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395756B1 (en) * 2001-06-16 2003-08-21 삼성전자주식회사 Cache memory and microprocessor using this cache memory

Similar Documents

Publication Publication Date Title
US6138208A (en) Multiple level cache memory with overlapped L1 and L2 memory access
US9513904B2 (en) Computer processor employing cache memory with per-byte valid bits
EP1622007B1 (en) Information processing apparatus and software pre-fetch control method
JP3352598B2 (en) Microprocessor
JPH1074166A (en) Multilevel dynamic set predicting method and its device
JP4218820B2 (en) Cache system including direct mapped cache and full associative buffer, its control method and recording medium
JPH0559455B2 (en)
US6711651B1 (en) Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching
EP1869557A2 (en) Global modified indicator to reduce power consumption on cache miss
KR20060102565A (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches
KR100710922B1 (en) Set-associative cache-management method using parallel reads and serial reads initiated while processor is waited
US5926841A (en) Segment descriptor cache for a processor
JP3431878B2 (en) Instruction cache for multithreaded processors
US20060026363A1 (en) Memory control device, move-in buffer control method
US6976130B2 (en) Cache controller unit architecture and applied method
WO1997034229A9 (en) Segment descriptor cache for a processor
JP2002032264A (en) Cache memory device and central processing unit using the same
JP2001249846A (en) Cache memory device and data processing system
US8255592B2 (en) Managing data movement in a cell broadband engine processor
JPH1055276A (en) Multi-level branching prediction method and device
US20030182539A1 (en) Storing execution results of mispredicted paths in a superscalar computer processor
JP2000339217A (en) Cache memory system
KR20040047398A (en) Method for data access using cache memory
US20100306478A1 (en) Data cache with modified bit array
JP2000047942A (en) Device and method for controlling cache memory

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