JP2007257192A - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
JP2007257192A
JP2007257192A JP2006079403A JP2006079403A JP2007257192A JP 2007257192 A JP2007257192 A JP 2007257192A JP 2006079403 A JP2006079403 A JP 2006079403A JP 2006079403 A JP2006079403 A JP 2006079403A JP 2007257192 A JP2007257192 A JP 2007257192A
Authority
JP
Japan
Prior art keywords
data
cache memory
cache
memory
stored
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
JP2006079403A
Other languages
Japanese (ja)
Inventor
Hirotaka Azuma
裕貴 東
Isao Konuma
功 小沼
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006079403A priority Critical patent/JP2007257192A/en
Publication of JP2007257192A publication Critical patent/JP2007257192A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor preventing data with high priority stored in a primary cache memory from being replaced with data with low priority. <P>SOLUTION: This data processor is provided with the primary cache memory 121, a secondary cache memory 122, an association table 13 storing information about cache attributes showing whether data can be stored in either of the primary and second cache memories 121 and 122, and a data control circuit 11 referring to information about the cache attributes when the data are read from a main memory 2 to store the read data in the cache memory allowing storage between the primary and secondary cache memory 121 and 122. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データ処理装置に係り、特に複数のバッファメモリにアクセスするデータ処理装置に関する。   The present invention relates to a data processing device, and more particularly to a data processing device that accesses a plurality of buffer memories.

メインメモリに格納されたアクセスされる頻度(以下において、「アクセス頻度」という。)の高いデータを、メインメモリより高速に動作するキャッシュメモリに転記することによって、データ処理装置がメインメモリにアクセスする回数を減らせる。その結果、データ処理装置によるデータ処理の高速化が達成される。更に、複数のキャッシュメモリを備え、データ処理速度の向上を図ったデータ処理装置が提案されている(例えば、特許文献1参照。)。   The data processing apparatus accesses the main memory by transferring the data stored in the main memory and accessed frequently (hereinafter referred to as “access frequency”) to the cache memory that operates at a higher speed than the main memory. You can reduce the number of times. As a result, high-speed data processing by the data processing device is achieved. Furthermore, a data processing apparatus that includes a plurality of cache memories and has improved data processing speed has been proposed (see, for example, Patent Document 1).

データ処理装置が、一次キャッシュメモリと、動作速度が一次キャッシュメモリより低速であるがメインメモリより高速な二次キャッシュメモリとを有する場合、データ処理装置は一次キャッシュメモリ、二次キャッシュメモリの順にアクセスする。一次キャッシュメモリにアクセス頻度の高いデータ格納される場合は、データ処理装置のデータ処理が高速化される。   When the data processor has a primary cache memory and a secondary cache memory whose operation speed is slower than the primary cache memory but faster than the main memory, the data processor accesses the primary cache memory and then the secondary cache memory in this order. To do. When data with high access frequency is stored in the primary cache memory, the data processing of the data processing device is speeded up.

要求するデータが一次キャッシュメモリ及び二次キャッシュメモリのいずれにも格納されていない場合、データ処理装置はメインメモリから要求するデータを読み出す。メインメモリから読み出されたデータは、一次キャッシュメモリ及び二次キャッシュメモリにも格納される。そのため、一次キャッシュメモリに格納された優先度の高いデータが、優先度の低いデータで置き換えられる可能性がある。ここで、「優先度の高いデータ」とは、アクセス頻度が高いデータ、或いは処理時間が短いことが要求される処理に使用される、高速にアクセスされる必要があるデータである。「優先度の低いデータ」とは、アクセス頻度が低いデータ、或いは処理時間が長くてもよい処理に使用される、高速にアクセスされる必要のないデータである。優先度の高いデータが優先度の低いデータで置き換えられた場合、優先度の高いデータに関して一次キャッシュメモリのヒット率が低下する。「ヒット率」は、データ処理装置がキャッシュメモリにアクセスした際に、要求するデータがキャッシュメモリに格納されている確率、つまりキャッシュメモリにおいてキャッシュヒットする確率である。一次キャッシュメモリのヒット率が低下する結果、データ処理装置の処理速度が低下する。
特開平5−73415号公報
If the requested data is not stored in either the primary cache memory or the secondary cache memory, the data processing device reads the requested data from the main memory. Data read from the main memory is also stored in the primary cache memory and the secondary cache memory. Therefore, there is a possibility that high priority data stored in the primary cache memory is replaced with low priority data. Here, “high priority data” is data that is frequently accessed or data that is used for processing that requires a short processing time and that needs to be accessed at high speed. “Low-priority data” is data that does not need to be accessed at high speed, which is used for processing with low access frequency or processing that may require a long processing time. When data with high priority is replaced with data with low priority, the hit rate of the primary cache memory decreases with respect to data with high priority. The “hit rate” is the probability that the requested data is stored in the cache memory when the data processing apparatus accesses the cache memory, that is, the probability of a cache hit in the cache memory. As a result of the decrease in the hit rate of the primary cache memory, the processing speed of the data processing apparatus decreases.
JP-A-5-73415

本発明は、一次キャッシュメモリに格納された優先度の高いデータが優先度の低いデータで置き換えられることを防止するデータ処理装置を提供する。   The present invention provides a data processing device that prevents high-priority data stored in a primary cache memory from being replaced with low-priority data.

本発明の一態様によれば、メインメモリに格納されたデータにアクセス可能なデータ処理装置であって、複数のキャッシュメモリと、データが複数のキャッシュメモリのそれぞれに格納可能か否かを示すキャッシュ属性の情報を格納する対応テーブルと、データがメインメモリから読み出された場合に、キャッシュ属性の情報を参照して、読み出されたデータを読み出されたデータを格納可能なキャッシュメモリに格納するデータ制御回路とを備えるデータ処理装置が提供される。   According to one aspect of the present invention, there is provided a data processing apparatus capable of accessing data stored in a main memory, wherein a plurality of cache memories and a cache indicating whether data can be stored in each of the plurality of cache memories. Correspondence table for storing attribute information, and when data is read from main memory, by referring to cache attribute information, the read data is stored in a cache memory that can store the read data There is provided a data processing device including a data control circuit.

本発明によれば、一次キャッシュメモリに格納された優先度の高いデータが優先度の低いデータで置き換えられることを防止するデータ処理装置を提供できる。   According to the present invention, it is possible to provide a data processing device that prevents high priority data stored in a primary cache memory from being replaced with low priority data.

次に、図面を参照して、本発明の第1及び第2の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第1及び第2の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。   Next, first and second embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. Also, the following first and second embodiments exemplify apparatuses and methods for embodying the technical idea of the present invention, and the technical idea of the present invention is the component parts. The structure and arrangement are not specified as follows. The technical idea of the present invention can be variously modified within the scope of the claims.

(第1の実施の形態)
本発明の第1の実施の形態に係るデータ処理装置は、図1に示すように、メインメモリ2に格納されたデータにアクセス可能なデータ処理装置1であって、一次キャッシュメモリ121及び二次キャッシュメモリ122と、データが一次キャッシュメモリ121及び二次キャッシュメモリ122のそれぞれに格納可能か否かを示すキャッシュ属性の情報を格納する対応テーブル13と、データがメインメモリ2から読み出された場合に、キャッシュ属性の情報を参照して、読み出されたデータを一次キャッシュメモリ121及び二次キャッシュメモリ122のうち読み出されたデータを格納可能なキャッシュメモリに格納するデータ制御回路11とを備える。データ処理装置1とメインメモリ2は、データバス3を介して接続される。
(First embodiment)
As shown in FIG. 1, the data processing apparatus according to the first embodiment of the present invention is a data processing apparatus 1 that can access data stored in a main memory 2, and includes a primary cache memory 121 and a secondary cache memory. When the cache memory 122, the correspondence table 13 that stores cache attribute information indicating whether data can be stored in the primary cache memory 121 and the secondary cache memory 122, respectively, and the data is read from the main memory 2 The data control circuit 11 stores the read data in the cache memory that can store the read data out of the primary cache memory 121 and the secondary cache memory 122 with reference to the cache attribute information. . The data processing device 1 and the main memory 2 are connected via a data bus 3.

データ制御回路11は、メインメモリ2等から命令コードを読み出し、図1に示した内部レジスタ14に格納する。データ制御回路11は、内部レジスタ14に格納された命令コードをデコードして実行する。   The data control circuit 11 reads the instruction code from the main memory 2 and stores it in the internal register 14 shown in FIG. The data control circuit 11 decodes and executes the instruction code stored in the internal register 14.

一次キャッシュメモリ121及び二次キャッシュメモリ122は、メインメモリ2より高速に動作する。又、二次キャッシュメモリ122の動作速度は、一次キャッシュメモリ121より低速であるがメインメモリ2より高速である。   The primary cache memory 121 and the secondary cache memory 122 operate faster than the main memory 2. The operation speed of the secondary cache memory 122 is lower than that of the primary cache memory 121 but higher than that of the main memory 2.

対応テーブル13は、キャッシュ属性の情報を格納可能なメモリ装置である。対応テーブル13として、例えばキャッシュ属性の情報のみを格納するバッファを使用してもよいし、キャッシュ属性以外の情報も格納するバッファを対応テーブル13として使用してもよい。例えば、データ処理装置1が管理する仮想アドレスとメインメモリ2の物理アドレスの対応表を含むアドレス情報を格納するアドレス変換バッファ(TLB)を対応テーブル13として使用可能である。TLBは、データ制御回路11が一次キャッシュメモリ121、二次キャッシュメモリ122或いはメインメモリ2にアクセスする際に参照するバッファである。一般にTLBに格納されるアドレス情報は、対応表に記載された各メモリアドレスに対応するデータのキャッシュメモリに関する情報(以下において、「キャッシュメモリ情報」という。)を含む。ここで、「メモリアドレスに対応するデータ」は、メモリアドレスによって定まる記憶領域に記憶されたデータである。TLBに格納されるキャッシュメモリ情報は、データがライトスルーであるかライトバックであるか等の情報である。   The correspondence table 13 is a memory device capable of storing cache attribute information. For example, a buffer that stores only cache attribute information may be used as the correspondence table 13, or a buffer that stores information other than cache attributes may be used as the correspondence table 13. For example, an address translation buffer (TLB) that stores address information including a correspondence table of virtual addresses managed by the data processing device 1 and physical addresses of the main memory 2 can be used as the correspondence table 13. The TLB is a buffer that is referred to when the data control circuit 11 accesses the primary cache memory 121, the secondary cache memory 122, or the main memory 2. In general, the address information stored in the TLB includes information related to the cache memory of data corresponding to each memory address described in the correspondence table (hereinafter referred to as “cache memory information”). Here, “data corresponding to a memory address” is data stored in a storage area determined by the memory address. The cache memory information stored in the TLB is information such as whether the data is write-through or write-back.

TLBを対応テーブル13として使用する場合は、TLBが格納するキャッシュメモリ情報にキャッシュ属性の情報を含ませる。つまり、TLBが、データに対応するメインメモリ2のメモリアドレスに関する情報としてキャッシュ属性の情報を格納する。図2に、アドレス変換バッファに格納されるキャッシュメモリ情報に含まれるキャッシュ属性の情報の例を示す。図2において、「キャッシュ可」のキャッシュ属性を有するメモリアドレスは、一次キャッシュメモリ121及び二次キャッシュメモリ122に格納可能なデータに対応するメモリアドレスであることを示す。「一次キャッシュ不可/二次キャッシュ可」のキャッシュ属性を有するメモリアドレスは、一次キャッシュメモリ121に格納できないが、二次キャッシュメモリ122には格納できるデータに対応するメモリアドレスであることを示す。例えば、属性番号「0」のメモリアドレスに対応するデータは、一次キャッシュメモリ121及び二次キャッシュメモリ122に格納可能である。属性番号「4」のメモリアドレスに対応するデータは、一次キャッシュメモリ121に格納不可、且つ二次キャッシュメモリ122に格納可能である。属性番号「2」のメモリアドレスに対応するデータは、一次キャッシュメモリ121及び二次キャッシュメモリ122の両方に格納不可である。   When the TLB is used as the correspondence table 13, the cache attribute information is included in the cache memory information stored in the TLB. That is, the TLB stores the cache attribute information as information related to the memory address of the main memory 2 corresponding to the data. FIG. 2 shows an example of cache attribute information included in the cache memory information stored in the address translation buffer. In FIG. 2, a memory address having a cache attribute of “cacheable” indicates a memory address corresponding to data that can be stored in the primary cache memory 121 and the secondary cache memory 122. A memory address having a cache attribute of “primary cache disabled / secondary cache enabled” cannot be stored in the primary cache memory 121, but indicates a memory address corresponding to data that can be stored in the secondary cache memory 122. For example, data corresponding to the memory address with the attribute number “0” can be stored in the primary cache memory 121 and the secondary cache memory 122. Data corresponding to the memory address of the attribute number “4” cannot be stored in the primary cache memory 121 and can be stored in the secondary cache memory 122. Data corresponding to the memory address with the attribute number “2” cannot be stored in both the primary cache memory 121 and the secondary cache memory 122.

キャッシュ属性は、TLBに格納されるキャッシュメモリ情報と同様にして設定可能である。例えば、データ処理装置1の開発段階における動作確認作業において優先度の低いデータが抽出され、優先度の低いデータに対応するメモリアドレスのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」に設定される。つまり、データがアクセスされる頻度に応じて、データのキャッシュ属性が設定される。   The cache attribute can be set in the same manner as the cache memory information stored in the TLB. For example, low-priority data is extracted in the operation check operation in the development stage of the data processing apparatus 1, and the cache attribute of the memory address corresponding to the low-priority data is set to “primary cache disabled / secondary cache enabled”. The That is, the data cache attribute is set according to the frequency of data access.

図1に示したデータ処理装置1が、メインメモリ2に格納されたデータを一次キャッシュメモリ121及び二次キャッシュメモリ122に転記する方法の例を、図3に示したフローチャートを参照して説明する。以下では、データ制御回路11がデコードした命令コードが、データの読み出し命令であるとする。又、対応テーブル13が、図2に示したキャッシュメモリ情報を格納するTLBであるとする。   An example of a method for the data processing apparatus 1 shown in FIG. 1 to transfer data stored in the main memory 2 to the primary cache memory 121 and the secondary cache memory 122 will be described with reference to the flowchart shown in FIG. . In the following, it is assumed that the instruction code decoded by the data control circuit 11 is a data read instruction. Also, it is assumed that the correspondence table 13 is a TLB that stores the cache memory information shown in FIG.

(イ)ステップS10において、データ制御回路11がメインメモリ2から読み出した命令コードをデコードする。   (A) In step S10, the data control circuit 11 decodes the instruction code read from the main memory 2.

(ロ)ステップS20において、データ制御回路11が、デコードされた読み出し命令で指定されたアドレスに対応するデータ(以下において、「要求データ」という。)のキャッシュ属性を対応テーブル13から取得する。   (B) In step S20, the data control circuit 11 acquires the cache attribute of data (hereinafter referred to as “request data”) corresponding to the address designated by the decoded read instruction from the correspondence table 13.

(ハ)ステップS30において、データ制御回路11が、要求データのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」であるか否かを判断する。要求データのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」である場合は、ステップS100に進む。要求データのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」ではない場合、ステップS200に進む。   (C) In step S30, the data control circuit 11 determines whether or not the cache attribute of the request data is “primary cache disabled / secondary cache enabled”. When the cache attribute of the request data is “primary cache is not allowed / secondary cache is possible”, the process proceeds to step S100. When the cache attribute of the request data is not “primary cache disabled / secondary cache enabled”, the process proceeds to step S200.

(ホ)ステップS100において、データ制御回路11が二次キャッシュメモリ122にアクセスする。ステップS110において要求データが二次キャッシュメモリ122に格納されているか否か、つまり二次キャッシュメモリ122においてキャッシュヒットしたか否かが判断される。キャッシュヒットした場合は、ステップS120に進む。キャッシュヒットしなかった場合は、ステップS130に進む。   (E) In step S100, the data control circuit 11 accesses the secondary cache memory 122. In step S110, it is determined whether or not the request data is stored in the secondary cache memory 122, that is, whether or not a cache hit has occurred in the secondary cache memory 122. If there is a cache hit, the process proceeds to step S120. If there is no cache hit, the process proceeds to step S130.

(ヘ)ステップS120において、データ制御回路11が要求データを二次キャッシュメモリ122から読み出す。読み出された要求データは、ステップS300において内部レジスタ14に格納される。   (F) In step S120, the data control circuit 11 reads out the requested data from the secondary cache memory 122. The read request data is stored in the internal register 14 in step S300.

(ト)ステップS130において、データ制御回路11が要求データをメインメモリ2から読み出す。読み出された要求データは、ステップS140において二次キャッシュメモリ122に転記される。更に、読み出された要求データは、ステップS300において内部レジスタ14に格納される。   (G) In step S130, the data control circuit 11 reads the requested data from the main memory 2. The read request data is transferred to the secondary cache memory 122 in step S140. Further, the read request data is stored in the internal register 14 in step S300.

(チ)ステップS200において、データ制御回路11が一次キャッシュメモリ121にアクセスする。ステップS210において、一次キャッシュメモリ121においてキャッシュヒットしたか否かが判断され、キャッシュヒットした場合はステップS220に進む。キャッシュヒットしなかった場合は、ステップS230に進む。   (H) In step S200, the data control circuit 11 accesses the primary cache memory 121. In step S210, it is determined whether or not there is a cache hit in the primary cache memory 121. If there is a cache hit, the process proceeds to step S220. If there is no cache hit, the process proceeds to step S230.

(リ)ステップS220において、データ制御回路11が要求データを一次キャッシュメモリ121から読み出す。読み出された要求データは、ステップS300において内部レジスタ14に格納される。   (R) In step S220, the data control circuit 11 reads the requested data from the primary cache memory 121. The read request data is stored in the internal register 14 in step S300.

(ヌ)ステップS230において、データ制御回路11が二次キャッシュメモリ122にアクセスする。ステップS240において、二次キャッシュメモリ122においてキャッシュヒットしたか否かが判断され、キャッシュヒットした場合はステップS250に進む。キャッシュヒットしなかった場合は、ステップS260に進む。   (Nu) In step S230, the data control circuit 11 accesses the secondary cache memory 122. In step S240, it is determined whether or not there is a cache hit in the secondary cache memory 122. If there is a cache hit, the process proceeds to step S250. If there is no cache hit, the process proceeds to step S260.

(ル)ステップS250において、データ制御回路11が要求データを二次キャッシュメモリ122から読み出す。読み出された要求データは、ステップS300において内部レジスタ14に格納される。   (L) In step S250, the data control circuit 11 reads the requested data from the secondary cache memory 122. The read request data is stored in the internal register 14 in step S300.

(ヲ)ステップS260において、データ制御回路11が要求データをメインメモリ2から読み出す。読み出された要求データは、ステップS270において一次キャッシュメモリ121に転記される。更に、読み出された要求データは、ステップS300において内部レジスタ14に格納される。   (W) In step S260, the data control circuit 11 reads the request data from the main memory 2. The read request data is transferred to the primary cache memory 121 in step S270. Further, the read request data is stored in the internal register 14 in step S300.

以上に説明したように、データ制御回路11は、要求データのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」の場合は、二次キャッシュメモリ122のみアクセスする。つまり、要求データが格納されている可能性がない一次キャッシュメモリ121に目的データを読み出すためのアクセスをしない。その結果、データ処理装置1は高速にデータ読み出しを行える。要求データのキャッシュ属性が「一次キャッシュ不可/二次キャッシュ可」でない場合は、データ制御回路11は、優先度が高いデータが格納された順に、例えばアクセス頻度が高いデータ或いは処理速度が速いことが期待されるデータが格納された順に一次キャッシュメモリ121及び二次キャッシュメモリ122にアクセスする。つまりデータ制御回路11は、一次キャッシュメモリ121、二次キャッシュメモリ122の順にアクセスする。   As described above, the data control circuit 11 accesses only the secondary cache memory 122 when the cache attribute of the request data is “primary cache disabled / secondary cache enabled”. That is, no access is made to read the target data to the primary cache memory 121 where there is no possibility that the request data is stored. As a result, the data processing apparatus 1 can read data at high speed. If the cache attribute of the request data is not “primary cache disabled / secondary cache enabled”, the data control circuit 11 may have, for example, data with high access frequency or high processing speed in the order in which data with high priority is stored. The primary cache memory 121 and the secondary cache memory 122 are accessed in the order in which the expected data is stored. That is, the data control circuit 11 accesses the primary cache memory 121 and the secondary cache memory 122 in this order.

上記の説明では、ステップS270において要求データを一次キャッシュメモリ121に転記するが、同時に要求データを二次キャッシュメモリ122に転記してもよい。或いは、要求データを一次キャッシュメモリ121に転記する際に置き換えられるデータを、二次キャッシュメモリ122に格納してもよい。   In the above description, the request data is transferred to the primary cache memory 121 in step S270, but the request data may be transferred to the secondary cache memory 122 at the same time. Alternatively, data that is replaced when request data is transferred to the primary cache memory 121 may be stored in the secondary cache memory 122.

一般に、新たなデータがキャッシュメモリに転記される際に、キャッシュメモリに格納された所定のデータが新たに転記されたデータで置き換えられる。置き換えられるデータは、例えばキャッシュメモリに格納されたデータのうち、アクセスされたのが最も古いデータ等である。通常、置き換えられたデータはメインメモリに書き戻される。メインメモリから読み出された後にキャッシュメモリに格納されたデータが変更されている可能性があるためである。   Generally, when new data is transferred to the cache memory, the predetermined data stored in the cache memory is replaced with the newly transferred data. The data to be replaced is, for example, the oldest data that has been accessed among the data stored in the cache memory. Normally, the replaced data is written back to the main memory. This is because there is a possibility that the data stored in the cache memory after being read from the main memory has been changed.

以上に説明したように、本発明の第1の実施の形態に係るデータ処理装置1では、データの読み出し命令が入力された場合に、要求されたデータが一次キャッシュメモリ121及び二次キャッシュメモリ122それぞれに格納可能か否かを示すキャッシュ属性を参照して、データ制御回路11が一次キャッシュメモリ121及び二次キャッシュメモリ122にアクセスする。そして、データ制御回路11はキャッシュ属性を参照して、キャッシュヒットせずにメインメモリ2から読み出されたデータを一次キャッシュメモリ121或いは二次キャッシュメモリ122に転記する。そのため、一次キャッシュメモリ121に格納された「優先度の高いデータ」が「優先度の低いデータ」で置き換えられない。その結果、優先度の高いデータに関して一次キャッシュメモリ121のヒット率は低下せず、データ処理装置1のデータ処理速度の低下を抑制できる。   As described above, in the data processing apparatus 1 according to the first embodiment of the present invention, when a data read command is input, the requested data is stored in the primary cache memory 121 and the secondary cache memory 122. The data control circuit 11 accesses the primary cache memory 121 and the secondary cache memory 122 with reference to the cache attribute indicating whether each can be stored. Then, the data control circuit 11 refers to the cache attribute and transfers the data read from the main memory 2 without causing a cache hit to the primary cache memory 121 or the secondary cache memory 122. Therefore, “high priority data” stored in the primary cache memory 121 is not replaced with “low priority data”. As a result, the hit rate of the primary cache memory 121 does not decrease for data with high priority, and a decrease in the data processing speed of the data processing device 1 can be suppressed.

(第2の実施の形態)
本発明の第2の実施の形態に係るデータ処理装置1は、図4に示すように、一次キャッシュメモリ121〜n次キャッシュメモリ12nを有する(n:3以上の整数)。キャッシュメモリの数が3以上である点が図1に示したデータ処理装置1と異なる。その他の構成については、第1の実施の形態と同様である。
(Second Embodiment)
As shown in FIG. 4, the data processing apparatus 1 according to the second embodiment of the present invention includes a primary cache memory 121 to an n-th cache memory 12n (n: an integer of 3 or more). The difference from the data processing apparatus 1 shown in FIG. 1 is that the number of cache memories is three or more. Other configurations are the same as those in the first embodiment.

一次キャッシュメモリ121〜n次キャッシュメモリ12nは、データの読み出し命令を実行する際にデータ制御回路11がアクセスする順として優先順位が設定される。具体的には、データ制御回路11は、一次キャッシュメモリ121、一次キャッシュメモリ121、・・・、n次キャッシュメモリ12nの順にアクセスする。   In the primary cache memory 121 to the n-th cache memory 12n, priorities are set as the order in which the data control circuit 11 accesses when executing a data read instruction. Specifically, the data control circuit 11 accesses the primary cache memory 121, the primary cache memory 121,.

対応テーブル13は、メインメモリ2に格納されたデータが、一次キャッシュメモリ121〜n次キャッシュメモリ12nのそれぞれに格納可能か否かを示すキャッシュ属性の情報を格納する。優先度の高いデータほど、優先順位の高いキャッシュメモリに格納可能なキャッシュ属性が付与される。   The correspondence table 13 stores cache attribute information indicating whether data stored in the main memory 2 can be stored in each of the primary cache memory 121 to the n-th cache memory 12n. A higher-priority data is given a cache attribute that can be stored in a higher-priority cache memory.

図4に示したデータ処理装置1では、データの読み出し命令が入力された場合に、データ制御回路11がキャッシュ属性の情報を参照して、一次キャッシュメモリ121〜n次キャッシュメモリ12nのうち要求データが格納されている可能性のあるキャッシュメモリのみにアクセスする。そのため、データ処理装置1は高速にデータ読み出しを実行できる。   In the data processing apparatus 1 shown in FIG. 4, when a data read command is input, the data control circuit 11 refers to the cache attribute information and requests data among the primary cache memory 121 to the n-th cache memory 12n. Access only the cache memory that may contain. Therefore, the data processing apparatus 1 can execute data reading at high speed.

又、図4に示したデータ処理装置1では、キャッシュヒットせずにメインメモリ2から要求データが読み出された場合、データ制御回路11がキャッシュ属性を参照し、一次キャッシュメモリ121〜n次キャッシュメモリ12nのうち要求データを格納可能なキャッシュメモリのみに要求データを転記する。そのため、一次キャッシュメモリ121〜n次キャッシュメモリ12nにおいて、「優先度の低いデータ」による「優先度の高いデータ」の置き換えが発生しない。その結果、優先順位の高いキャッシュメモリのヒット率は低下せず、データ処理装置1のデータ処理速度の低下を抑制できる。他は、第1の実施の形態と実質的に同様であり、重複した記載を省略する。   In the data processing apparatus 1 shown in FIG. 4, when the requested data is read from the main memory 2 without causing a cache hit, the data control circuit 11 refers to the cache attribute, and the primary cache memory 121 to the n-th cache. The requested data is transferred only to the cache memory that can store the requested data in the memory 12n. Therefore, the “high priority data” is not replaced by the “low priority data” in the primary cache memory 121 to the nth cache memory 12n. As a result, the hit rate of the cache memory with high priority does not decrease, and the decrease in the data processing speed of the data processing device 1 can be suppressed. Others are substantially the same as those in the first embodiment, and redundant description is omitted.

(その他の実施の形態)
上記のように、本発明は第1及び第2の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
(Other embodiments)
As described above, the present invention has been described according to the first and second embodiments. However, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.

既に述べた第1及び第2の実施の形態の説明においては、キャッシュメモリがデータ処理装置1に内蔵されている例を示したが、キャッシュメモリがデータ処理装置1の外部に存在してもよい。   In the description of the first and second embodiments already described, an example in which the cache memory is built in the data processing device 1 has been described. However, the cache memory may exist outside the data processing device 1. .

このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

本発明の第1の実施の形態に係るデータ処理装置の構成を示す模式図である。It is a schematic diagram which shows the structure of the data processor which concerns on the 1st Embodiment of this invention. 本発明の第1の実施の形態に係るデータ処理装置が参照するキャリアメモリ情報の例を示す表である。It is a table | surface which shows the example of the carrier memory information which the data processor which concerns on the 1st Embodiment of this invention refers. 本発明の第1の実施の形態に係るデータ処理装置の動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of the data processor which concerns on the 1st Embodiment of this invention. 本発明の第2の実施の形態に係るデータ処理装置の構成を示す模式図である。It is a schematic diagram which shows the structure of the data processor which concerns on the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

1…データ処理装置
2…メインメモリ
3…データバス
11…データ制御回路
121…一次キャッシュメモリ
122…二次キャッシュメモリ
12n…n次キャッシュメモリ
13…対応テーブル
14…内部レジスタ
DESCRIPTION OF SYMBOLS 1 ... Data processor 2 ... Main memory 3 ... Data bus 11 ... Data control circuit 121 ... Primary cache memory 122 ... Secondary cache memory 12n ... n-order cache memory 13 ... Correspondence table 14 ... Internal register

Claims (5)

メインメモリに格納されたデータにアクセス可能なデータ処理装置であって、
複数のキャッシュメモリと、
前記データが前記複数のキャッシュメモリのそれぞれに格納可能か否かを示すキャッシュ属性の情報を格納する対応テーブルと、
前記データが前記メインメモリから読み出された場合に、前記キャッシュ属性の情報を参照して、読み出された前記データを前記データを格納可能なキャッシュメモリに格納するデータ制御回路
とを備えることを特徴とするデータ処理装置。
A data processing device capable of accessing data stored in a main memory,
Multiple cache memories,
A correspondence table storing cache attribute information indicating whether the data can be stored in each of the plurality of cache memories;
A data control circuit that stores the read data in a cache memory capable of storing the data with reference to the cache attribute information when the data is read from the main memory. Characteristic data processing device.
前記対応テーブルが、前記データに対応する前記メインメモリのメモリアドレスに関する情報として前記キャッシュ属性の情報を格納することを特徴とする請求項1に記載のデータ処理装置。   2. The data processing apparatus according to claim 1, wherein the correspondence table stores the cache attribute information as information relating to a memory address of the main memory corresponding to the data. 前記データが優先度の高さに応じて、前記キャッシュ属性が設定されることを特徴とする請求項1又は2に記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the cache attribute is set in accordance with a priority level of the data. 前記データ制御回路が、優先度の高いデータが格納された順に前記複数のキャッシュメモリにアクセスすることを特徴とする請求項3に記載のデータ処理装置。   4. The data processing apparatus according to claim 3, wherein the data control circuit accesses the plurality of cache memories in the order in which high priority data is stored. 前記データ制御回路が、前記キャッシュ属性の情報を参照して、前記データが格納可能なキャッシュメモリのみに前記データを読み出すアクセスをすることを特徴とする請求項1乃至4のいずれか1項に記載のデータ処理装置。   5. The data control circuit according to claim 1, wherein the data control circuit refers to the cache attribute information and accesses only the cache memory in which the data can be stored to read the data. 6. Data processing equipment.
JP2006079403A 2006-03-22 2006-03-22 Data processor Pending JP2007257192A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006079403A JP2007257192A (en) 2006-03-22 2006-03-22 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006079403A JP2007257192A (en) 2006-03-22 2006-03-22 Data processor

Publications (1)

Publication Number Publication Date
JP2007257192A true JP2007257192A (en) 2007-10-04

Family

ID=38631400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006079403A Pending JP2007257192A (en) 2006-03-22 2006-03-22 Data processor

Country Status (1)

Country Link
JP (1) JP2007257192A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123328A (en) * 2012-12-21 2014-07-03 Mega Chips Corp Semiconductor memory device and computer system
WO2015141820A1 (en) * 2014-03-20 2015-09-24 株式会社 東芝 Cache memory system and processor system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123328A (en) * 2012-12-21 2014-07-03 Mega Chips Corp Semiconductor memory device and computer system
WO2015141820A1 (en) * 2014-03-20 2015-09-24 株式会社 東芝 Cache memory system and processor system
JP2015184794A (en) * 2014-03-20 2015-10-22 株式会社東芝 cache memory system and processor system

Similar Documents

Publication Publication Date Title
US7380065B2 (en) Performance of a cache by detecting cache lines that have been reused
US9471532B2 (en) Remote core operations in a multi-core computer
US7461209B2 (en) Transient cache storage with discard function for disposable data
US20080235477A1 (en) Coherent data mover
US20080126737A1 (en) Page Replacement Policy for Systems Having Multiple Page Sizes
JP4417715B2 (en) Method and apparatus for decoupling tag and data access in cache memory
US10642740B2 (en) Methods for performing a memory resource retry
JP3872968B2 (en) System and method for dynamically reallocating memory in a computer system
EP1980945B1 (en) Memory access control apparatus and memory access control method
WO2010024071A1 (en) Cache memory, cache memory system, and method and program for using the cache memory
US6952761B2 (en) Bus interface selection by page table attributes
JP2009237722A (en) Cache controller and information processing apparatus
JP2007257192A (en) Data processor
JP5254710B2 (en) Data transfer device, data transfer method and processor
JP2007272681A (en) Cache memory device, and method for replacing cache line in same
US10169235B2 (en) Methods of overriding a resource retry
KR100900012B1 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
JP4295815B2 (en) Multiprocessor system and method of operating multiprocessor system
JP2007286990A (en) Cache memory device, cache memory control method to be used for the same and program therefor
JP2008152571A (en) Cache memory device and multiprocessor system
US20170357585A1 (en) Setting cache entry age based on hints from another cache level
JP3260566B2 (en) Storage control method and storage control device in information processing system
CN115357525A (en) Snoop filter, processing unit, computing device and related methods
JP2005018441A (en) Memory device
JP2000293437A (en) Cache memory device and cache memory control method