JPH07129464A - Information processor - Google Patents

Information processor

Info

Publication number
JPH07129464A
JPH07129464A JP5276721A JP27672193A JPH07129464A JP H07129464 A JPH07129464 A JP H07129464A JP 5276721 A JP5276721 A JP 5276721A JP 27672193 A JP27672193 A JP 27672193A JP H07129464 A JPH07129464 A JP H07129464A
Authority
JP
Japan
Prior art keywords
information
cache memory
data
control information
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.)
Pending
Application number
JP5276721A
Other languages
Japanese (ja)
Inventor
Kotaro Shimamura
光太郎 島村
Takahiro Uchimura
貴宏 内村
Takashi Hotta
多加志 堀田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5276721A priority Critical patent/JPH07129464A/en
Publication of JPH07129464A publication Critical patent/JPH07129464A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve use efficiency for a cache memory by changing cache memory control information corresponding to the character of an application program to be executed. CONSTITUTION:This device is provided with a main memory 608 for storing information related to an instruction to be executed and data to be processed, instruction processing unit 502 for processing the information according to the information stored in the main memory 608, cache memory 300 for storing a part of information stored in the main memory 608, method register 100 for storing optimum cache memory control information according to the contents of the application program, and memory control unit 400 for controlling the transfer of information between the main memory 608 and the cache memory 300 according to the cache memory control information stored in the method register 100.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、情報処理装置に係り、
特に、主記憶装置とキャッシュメモリ間における情報の
転送を制御するに好適な情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing device,
In particular, the present invention relates to an information processing apparatus suitable for controlling transfer of information between a main storage device and a cache memory.

【0002】[0002]

【従来の技術】従来の情報処理装置においては、大容量
ではあるが低速な主記憶装置へのアクセスによる性能低
下を防止するために、小容量ではあるが高速なキャッシ
ュメモリを使用して性能を高める方法が採用されてい
る。従来のこの種の情報処理装置においては、主記憶装
置とメモリ制御ユニットとをバスラインで接続するとと
もにメモリ制御ユニットと命令処理処理ユニットとをバ
スラインで接続し、さらにメモリ制御ユニットとキャッ
シュメモリとをバスラインで接続する構成が採用されて
いる。そしてこの種の装置において命令及びデータ伝送
をするに際しては、ストアスルー方式、コピーバック方
式などが採用されている。
2. Description of the Related Art In a conventional information processing apparatus, in order to prevent performance degradation due to access to a large capacity but slow main memory, performance is improved by using a small capacity but high speed cache memory. The method of raising is adopted. In a conventional information processing apparatus of this type, a main memory device and a memory control unit are connected by a bus line, a memory control unit and an instruction processing unit are connected by a bus line, and a memory control unit and a cache memory are further connected. Is adopted to connect with a bus line. When transmitting commands and data in this type of apparatus, a store-through method, a copy-back method, etc. are adopted.

【0003】ストアスルー方式は、データの書き込み時
に、キャッシュメモリにデータを書き込んだ後、主記憶
装置にもデータを書き込むようになっている。一方、コ
ピーバック方式は、データ書き込み時に、キャッシュメ
モリに書き込んだデータがキャッシュメモリに残ってい
る間は、主記憶装置へのデータの書き込みは実行しない
ようになっている。
In the store-through method, when writing data, after writing the data in the cache memory, the data is also written in the main storage device. On the other hand, in the copy-back method, at the time of writing data, while the data written in the cache memory remains in the cache memory, the writing of data to the main storage device is not executed.

【0004】又、命令又はデータの読み出し時に、必要
な命令又はデータがキャッシュメモリに無い場合には、
主記憶装置から必要な命令又はデータを読み出し、これ
をキャッシュメモリに書き込む方式が採用されている。
この場合、キャッシュメモリの書き込み領域にまだ主記
憶装置に書き込まれていないデータがあった場合にはそ
のデータを主記憶装置に書き込むようになっている。そ
してキャッシュメモリと主記憶装置との間のデータ転送
を効率よく行うために、隣接した数個の命令又はデータ
から構成される情報をブロック単位で転送することが行
われている。なお、データの書き込み時には、フェッチ
オンライト方式やライトアラウンド方式が用いられてい
る。
Further, when necessary instructions or data are not present in the cache memory when reading the instructions or data,
A method is adopted in which necessary instructions or data are read from the main storage device and written in the cache memory.
In this case, if there is data that has not been written in the main storage device in the write area of the cache memory, the data is written in the main storage device. In order to efficiently transfer data between the cache memory and the main storage device, information composed of several adjacent instructions or data is transferred in block units. Note that the fetch-on-write method and the write-around method are used when writing data.

【0005】一方、命令処理ユニットとメモリ制御ユニ
ット及びキャッシュメモリを有するプロセッサを複数個
有し、各プロセッサが単一の主記憶装置を共有する情報
処理装置においては、ブロックのサイズが最適でないと
きに、キャッシュメモリの使用効率が低下するのを防止
するために、ブロックのサイズを動的に調節する方法が
採用されている。即ち各プロセッサのキャッシュメモリ
にそれぞれ各ブロックのサイズを格納するサイズレジス
タと、各ブロックに対するアクセスの履歴情報を格納す
る履歴レジスタを設け、各プロセッサのメモリ制御ユニ
ットが命令処理ユニットからの要求に応答してキャッシ
ュメモリにアクセスする際に、そのアクセスが、該当す
るブロックの前半部分へのアクセスか後半部分へのアク
セスかを履歴レジスタに記録する。また、デ−タの書き
込みを行う場合には、そのアドレスのデ−タを、キャッ
シュメモリが所有している全てのプロセッサの履歴レジ
スタを調べ、そのブロックの前半と後半両方にアクセス
したプロセッサがあればそのブロックに対応するカウン
タを−1し、前半か後半の片方のみにアクセスしたプロ
セッサがあればカウンタを+1して履歴レジスタに記録
する。そしてカウンタの値がある値より大きくなったと
きにはブロックのサイズが大きすぎると判断し、キャッ
シュメモリとキャッシュメモリ間のデ−タ転送を行う際
にそのブロックを分割し、サイズレジスタの値を更新す
る。一方、カウンタの値がある値より小さくなったとき
には、ブロックのサイズが小さすぎると判断し、キャッ
シュメモリとキャッシュメモリ間のデ−タ転送を行う際
に、そのブロックを隣接するブロックとつなぎあわせ、
サイズレジスタの値を更新する。このように、キャッシ
ュメモリに対するアクセスの履歴情報を用いて、各ブロ
ックのサイズを最適な値に調整することが行われてい
る。
On the other hand, in an information processing apparatus having a plurality of processors each having an instruction processing unit, a memory control unit and a cache memory, and each processor sharing a single main memory device, when the block size is not optimal. In order to prevent the cache memory usage efficiency from decreasing, a method of dynamically adjusting the block size is adopted. That is, a size register for storing the size of each block and a history register for storing history information of access to each block are provided in the cache memory of each processor, and the memory control unit of each processor responds to a request from the instruction processing unit. When the cache memory is accessed by the cache memory, whether the access is to the first half or the second half of the corresponding block is recorded in the history register. When writing data, check the history registers of all the processors owned by the cache memory for the data at that address, and find the processor that accessed both the first half and the second half of the block. For example, the counter corresponding to the block is decremented by -1, and if there is a processor that has accessed only the first half or the second half, the counter is incremented by -1 and recorded in the history register. When the counter value exceeds a certain value, it is determined that the block size is too large, and when the data transfer between the cache memory is performed, the block is divided and the value of the size register is updated. . On the other hand, when the value of the counter becomes smaller than a certain value, it is determined that the size of the block is too small, and when the data transfer between the cache memory and the cache memory is performed, the block is connected to the adjacent block,
Update the size register value. In this way, the size of each block is adjusted to an optimum value using the history information of access to the cache memory.

【0006】なお、この種の情報処理装置に関連するも
のとしては、特開昭62−197842号公報、特開平
4−336340号公報が挙げられる。
[0006] Examples of the information processing apparatus of this type include JP-A-62-197842 and JP-A-4-336340.

【0007】[0007]

【発明が解決しようとする課題】従来の情報処理装置で
は、命令又はデータの量が多い場合に、必要な命令また
はデータがキャッシュメモリに入りきらず、主記憶装置
とキャッシュメモリとの間で命令またはデータの転送が
頻繁に発生する。特に、科学技術計算などで巨大な配列
データを処理する場合には、配列の前半部分を処理する
ときにはキャッシュメモリには配列の後半部分が入って
おり、配列の後半部分を処理するときにはキャッシュメ
モリには配列の前半部分が入っているという事態がしば
しば発生する。このような場合、いづれの処理において
も必要なデータはキャッシュメモリには存在せず、従っ
て、常に主記憶装置との間でデータの転送を行う必要が
あるため、キャッシュメモリの使用効率が極端に低下す
る。
In the conventional information processing apparatus, when the amount of instruction or data is large, the required instruction or data cannot be stored in the cache memory, and the instruction or data is stored between the main storage device and the cache memory. Frequent data transfers. In particular, when processing huge array data for scientific and technological calculations, when processing the first half of the array, the cache memory contains the latter half of the array, and when processing the latter half of the array, the cache memory contains It often happens that the first half of the array is included. In such a case, the data required for any processing does not exist in the cache memory, and therefore, it is necessary to always transfer the data to and from the main storage device, so that the usage efficiency of the cache memory is extremely high. descend.

【0008】また従来の装置では、アプリケーションプ
ログラムを実行する際に、キャッシュメモリを使用する
か否かについて十分考慮することが行われていない。即
ち、一般にどのアプリケーションプログラムを実行する
場合にも、使用頻度の高い命令又はデータと、使用頻度
の低い命令またはデータとが存在する。このような場
合、使用頻度の低い命令又はデータを無条件にキャッシ
ュメモリに書き込むと、使用頻度の高い命令またはデー
タがキャッシュメモリから追い出され、キャッシュメモ
リの使用効率が低下することがある。さらに、主記憶装
置とキャッシュメモリとの間でデータ転送を行うとき
に、転送の単位となるブロックのサイズが実行するアプ
リケーションプログラムにとって最適でない場合もあ
る。即ち、一般に、一度に大量のデータを転送した方が
効率の良い転送ができるため、ブロックのサイズを大き
くした方が性能は向上する。しかし、独立した変数が並
んでいて隣接したデータを連続して使用する可能性が低
い場合は、ブロックのサイズが大きいと近い将来使用す
る可能性が低いデータを一緒に転送することとなり、か
えって性能が低下する。このことは命令を転送する場合
も同様である。例えば、分岐命令の出現頻度の低いアプ
リケーションプログラムを実行するときには、アドレス
の連続した命令を実行する可能性が高いため、ブロック
のサイズを大きくした方が良く、逆に、分岐命令の出現
頻度が高い場合はブロックのサイズを小さくした方が良
い。このように、主記憶装置とキャッシュメモリ間で命
令またはデータを転送するときに、ブロックのサイズを
最適な状態に調整しなければ、キャッシュメモリの使用
効率が低下することになる。
Further, in the conventional apparatus, when executing the application program, sufficient consideration is not given to whether or not the cache memory is used. That is, generally, when executing any application program, there are instructions or data that are frequently used and instructions or data that are not frequently used. In such a case, if an infrequently used instruction or data is unconditionally written in the cache memory, an infrequently used instruction or data may be expelled from the cache memory, which may reduce the efficiency of use of the cache memory. Furthermore, when data transfer is performed between the main storage device and the cache memory, the size of the block serving as the transfer unit may not be optimum for the application program to be executed. That is, in general, efficient transfer can be achieved by transferring a large amount of data at a time, and therefore performance is improved by increasing the block size. However, if independent variables are lined up and it is unlikely that adjacent data will be used consecutively, then if the block size is large, data that is unlikely to be used in the near future will be transferred together, and performance will be rather increased. Is reduced. This is also the case when transferring instructions. For example, when executing an application program in which branch instructions occur less frequently, there is a high possibility that instructions with consecutive addresses will be executed. Therefore, it is better to increase the block size. Conversely, the frequency of occurrence of branch instructions is high. In this case, it is better to reduce the block size. As described above, when an instruction or data is transferred between the main memory device and the cache memory, unless the block size is adjusted to the optimum state, the use efficiency of the cache memory is reduced.

【0009】また、ブロックのサイズを調整する際に、
各ブロックのサイズ及び履歴情報を記憶する方法では、
ハードウエアの物理量が増加し、且つメモリ制御ユニッ
トの処理が複雑となって処理速度が低下するという問題
点もある。
When adjusting the block size,
In the method of storing the size and history information of each block,
There is also a problem that the physical quantity of hardware increases, the processing of the memory control unit becomes complicated, and the processing speed decreases.

【0010】本発明の目的は、実行するアプリケーショ
ンプログラムの内容に応じてキャッシュメモリの制御方
法を変えることにより、キャッシュメモリの使用効率を
高めることができる情報処理装置を提供することにあ
る。
An object of the present invention is to provide an information processing apparatus capable of improving the efficiency of use of the cache memory by changing the control method of the cache memory according to the contents of the application program to be executed.

【0011】[0011]

【課題を解決するための手段】前記目的を達成するため
に、本発明は、第1の装置として、実行すべき命令及び
処理すべきデータに関する情報を格納する主記憶手段
と、前記主記憶手段に格納された命令に従って、前記主
記憶手段に格納されたデータを処理する命令処理手段
と、前記主記憶手段に格納された情報の一部を格納する
キャッシュメモリと、アプリケーションプログラムに応
じたキャッシュメモリ制御情報を格納する制御情報記憶
手段と、前記制御情報記憶手段に格納されたキャッシュ
メモリ制御情報に従って前記主記憶手段と前記キャッシ
ュメモリ間における情報の転送を制御するメモリ制御手
段とを備えている情報処理装置を構成したものである。
In order to achieve the above object, the present invention provides, as a first device, a main storage means for storing information on an instruction to be executed and data to be processed, and the main storage means. Command processing means for processing the data stored in the main storage means, a cache memory for storing a part of the information stored in the main storage means, and a cache memory according to an application program. Information including control information storage means for storing control information, and memory control means for controlling transfer of information between the main storage means and the cache memory according to cache memory control information stored in the control information storage means The processing device is configured.

【0012】また第2の装置として、実行すべき命令及
び処理すべきデータに関する情報を格納する主記憶手段
と、前記主記憶手段に格納された命令に従って、前記主
記憶手段に格納されたデータを処理する命令処理手段
と、前記主記憶手段に格納された情報の一部を格納する
キャッシュメモリと、アプリケーションプログラムに応
じた複数のキャッシュメモリ制御情報を格納する制御情
報記憶手段と、前記制御情報記憶手段に格納されたキャ
ッシュメモリ制御情報群のうち指定のキャッシュメモリ
制御情報に従って前記主記憶手段と前記キャッシュメモ
リ間における情報の転送を制御するメモリ制御手段とを
備えている情報処理装置を構成したものである。
As a second device, a main storage means for storing an instruction to be executed and information on data to be processed, and data stored in the main storage means in accordance with the instruction stored in the main storage means. Command processing means for processing, cache memory for storing a part of the information stored in the main storage means, control information storage means for storing a plurality of cache memory control information according to an application program, and the control information storage Configuring an information processing apparatus including memory control means for controlling transfer of information between the main storage means and the cache memory according to designated cache memory control information of the cache memory control information group stored in the means Is.

【0013】前記各装置において、キャッシュメモリ
は、情報の転送単位を示すブロックサイズに応じた複数
のメモリ領域と、情報をブロックサイズに応じて指定の
メモリ領域に格納する書き込み制御手段とを有し、制御
情報記憶手段に格納されたキャッシュメモリ制御情報
は、情報の転送単位を示すブロックサイズとして転送に
適するブロックサイズに関する情報を含むもので構成す
ることができる。
In each of the above devices, the cache memory has a plurality of memory areas corresponding to a block size indicating a transfer unit of information, and write control means for storing the information in a designated memory area according to the block size. The cache memory control information stored in the control information storage means can be configured to include information regarding a block size suitable for transfer as a block size indicating a transfer unit of information.

【0014】メモリ制御手段は、将来必要とする情報の
アドレスを予測し、この予測結果に従って情報の転送を
制御するプリフェッチ制御手段を有し、制御情報記憶手
段に格納されたキャッシュメモリ制御情報は、前記プリ
フェッチ制御手段が一度に転送すべき情報の転送量を指
定する情報を含むもので構成することができる。
The memory control means has a prefetch control means for predicting an address of information required in the future and controlling transfer of information according to the prediction result. The cache memory control information stored in the control information storage means is: The prefetch control means may include information specifying the transfer amount of information to be transferred at one time.

【0015】読み出し要求に応答するメモリ制御手段と
して、メモリ制御手段は、命令処理手段から情報の読み
出し要求を受けたときに、キャッシュメモリと情報の授
受を行ってキャッシュメモリに指定の情報が存在するか
否かを判定する判定手段と、前記判定手段の判定結果と
制御情報記憶手段に格納されたキャッシュメモリ制御情
報に従って情報の転送を制御する転送制御手段とを有
し、制御情報記憶手段に格納されたキャッシュメモリ制
御情報は、キャッシュメモリに指定の情報が存在しない
ときに、指定の情報を主記憶手段からキャッシュメモリ
に転送すべきか否かを示す情報を含むもので構成するこ
とができる。
As the memory control means that responds to the read request, the memory control means exchanges information with the cache memory when the information read request is received from the instruction processing means, and the specified information exists in the cache memory. And a transfer control unit that controls transfer of information according to the determination result of the determination unit and the cache memory control information stored in the control information storage unit, and is stored in the control information storage unit. The generated cache memory control information can be configured to include information indicating whether or not the designated information should be transferred from the main storage means to the cache memory when the designated information does not exist in the cache memory.

【0016】書き込み要求に応答するメモリ制御手段と
して、メモリ制御手段は、命令処理手段から情報の書き
込み要求を受けたときに、キャッシュメモリと情報の授
受を行ってキャッシュメモリに指定の情報が存在するか
否かを判定する判定手段と、前記判定手段の判定結果と
制御情報記憶手段に格納されたキャッシュメモリ制御情
報に従って情報の転送を制御する転送制御手段とを有
し、制御情報記憶手段に格納されたキャッシュメモリ制
御情報は、キャッシュメモリに指定の情報が存在しない
ときに、指定の情報を主記憶手段からキャッシュメモリ
に転送すべきか否かを示す情報を含むもので構成するこ
とができる。さらに、メモリ制御手段は、命令処理手段
から情報の書き込み要求を受けたときに、キャッシュメ
モリに指定の情報を転送する情報転送手段と、制御情報
記憶手段に格納されたキャッシュメモリ制御情報に従っ
て情報の転送を制御する転送制御手段とを有し、制御情
報記憶手段に格納されたキャッシュメモリ制御情報は、
キャッシュメモリに格納すべき指定の情報を主記憶手段
にも書き込むべきかそれともキュッシュメモリに格納さ
れた指定の情報が有効である間は指定の情報を主記憶手
段へ書き込むことを禁止するかを示す情報を含むもので
構成することができる。
As memory control means for responding to a write request, the memory control means exchanges information with the cache memory when the information write request is received from the instruction processing means, and the specified information exists in the cache memory. And a transfer control unit that controls transfer of information according to the determination result of the determination unit and the cache memory control information stored in the control information storage unit, and is stored in the control information storage unit. The generated cache memory control information can be configured to include information indicating whether or not the designated information should be transferred from the main storage means to the cache memory when the designated information does not exist in the cache memory. Further, the memory control means, when receiving the information write request from the instruction processing means, transfers the specified information to the cache memory, and stores the information according to the cache memory control information stored in the control information storage means. And a cache control information stored in the control information storage means, which has a transfer control means for controlling transfer.
Indicates whether the specified information to be stored in the cache memory should be written to the main memory, or whether the specified information stored in the cache memory is prohibited from being written to the main memory. It can be configured to include information.

【0017】また制御情報記憶手段は、複数の部分に分
割されたキャッシュメモリ制御情報をそれぞれ格納する
記憶領域群を有し、分岐命令の頻度の高低に応じて分割
された命令が前記記憶領域群の中のいずれかの記憶領域
に分散して格納され、使用頻度の高低に応じて分割され
たデータが前記記憶領域群のうち命令とは異なる記憶領
域に分散して格納されているもので構成することができ
る。さらに、制御情報記憶手段は、相異なるキャッシュ
メモリ制御情報をそれぞれ格納する複数の記憶領域と、
命令処理手段からアドレスを受けこのアドレスが各記憶
領域に対応して設定されたアドレスの範囲内にあるか否
かを判定する複数のアドレス範囲判定手段と、指定のア
ドレス範囲判定手段から肯定の判定結果が得られ他のア
ドレス範囲判定手段からは否定の判定結果が得られたこ
とを条件に指定の記憶領域からキャッシュメモリ制御情
報を選択して出力する複数の情報出力手段とを有するも
ので構成することができる。
Further, the control information storage means has a storage area group for respectively storing the cache memory control information divided into a plurality of parts, and the instructions divided according to the frequency of branch instructions are stored in the storage area group. Data is stored in any of the storage areas of the above, and the data divided according to the frequency of use is stored in the storage area different from the instruction in the storage area group. can do. Further, the control information storage means has a plurality of storage areas for respectively storing different cache memory control information,
A plurality of address range determining means for receiving an address from the instruction processing means for determining whether or not the address is within the range of addresses set corresponding to each storage area, and an affirmative determination from the designated address range determining means. And a plurality of information output means for selecting and outputting cache memory control information from a designated storage area on condition that a result is obtained and a negative determination result is obtained from other address range determining means. can do.

【0018】また第1又は第2の装置において、キャッ
シュメモリは応答速度の相異なる複数のメモリで構成さ
れ、メモリ制御手段は、主記憶手段と一方のキャッシュ
メモリ間における情報の転送を制御すると共に各キャッ
シュメモリ間における情報の転送を制御してなるもので
構成することができる。さらに、キャッシュメモリは命
令用キャッシュメモリとデータ用キャッシュメモリとか
ら構成され、制御情報記憶手段はキャッシュメモリ制御
情報のうち命令用制御情報を格納する命令用制御情報記
憶手段とキャッシュメモリ制御情報のうちデータ用制御
情報を格納するデータ用制御情報記憶手段とから構成さ
れ、メモリ制御手段は、命令用キャッシュメモリと主記
憶手段間における情報の転送を制御すると共にデータ用
キャッシュメモリと主記憶手段間における情報の転送を
制御してなるもので構成することができる。
In the first or second device, the cache memory is composed of a plurality of memories having different response speeds, and the memory control means controls transfer of information between the main storage means and one of the cache memories. It can be configured by controlling transfer of information between each cache memory. Further, the cache memory is composed of an instruction cache memory and a data cache memory, and the control information storage means includes an instruction control information storage means for storing instruction control information among the cache memory control information and a cache memory control information. The memory control means controls transfer of information between the instruction cache memory and the main storage means, and the data control information storage means for storing the data control information. It may be configured by controlling transfer of information.

【0019】[0019]

【作用】前記した手段によれば、アプリケーションプロ
グラムに応じて最適なキャッシュメモリ制御情報が制御
情報記憶手段に記憶されると、制御情報記憶手段に格納
されたキャッシュメモリ制御情報に従って主記憶手段と
キャッシュメモリ間における情報の転送が制御される。
このためメモリ制御手段は実行するアプリケーションプ
ログラムに応じて最適な情報転送制御を行うことが可能
となる。
According to the above-mentioned means, when the optimum cache memory control information is stored in the control information storage means according to the application program, the main storage means and the cache are stored in accordance with the cache memory control information stored in the control information storage means. The transfer of information between memories is controlled.
Therefore, the memory control means can perform optimum information transfer control according to the application program to be executed.

【0020】また主記憶手段とキャッシュメモリ間にお
ける情報の転送を制御するに際して、制御情報記憶手段
に複数のキャッシュメモリ制御情報が格納されていると
きには、各アプリケーションプログラムに応じて最適な
キャッシュメモリ制御情報を選択し、選択したキャッシ
ュメモリ制御情報に従って主記憶手段とキャッシュメモ
リ間における情報の転送を制御することができる。
Further, when controlling the transfer of information between the main storage means and the cache memory, when a plurality of cache memory control information is stored in the control information storage means, the optimum cache memory control information according to each application program is obtained. And the transfer of information between the main storage means and the cache memory can be controlled according to the selected cache memory control information.

【0021】そして最適なキャッシュメモリ制御情報を
格納するに際しては、アプリケーションプログラムのア
クセスの傾向やハードウエアの各種パラメータを考慮し
て格納することができる。そしてこの場合、キャッシュ
メモリ制御情報として、情報の転送単位を示すブロック
サイズとして、転送に適するブロックサイズに関する情
報や、プリフェッチ制御手段が一度に転送すべき情報の
転送量を指定する情報、あるいはキャッシュメモリに指
定の情報が存在しないときに、指定の情報を主記憶手段
からキャッシュメモリに転送すべきか否かを示す情報、
さらに情報を書き込むときに、キャッシュメモリに格納
すべき指定の情報を主記憶手段にも書き込むべきかキャ
ッシュメモリに格納された指定の情報が有効である間は
指定の情報を主記憶手段へ書き込むことを禁止するかを
示す情報を格納することができる。
When storing the optimum cache memory control information, it is possible to store it in consideration of the access tendency of the application program and various parameters of the hardware. In this case, as the cache memory control information, the block size indicating the transfer unit of information, the information about the block size suitable for the transfer, the information specifying the transfer amount of the information to be transferred at one time by the prefetch control unit, or the cache memory Information indicating whether or not the designated information should be transferred from the main storage means to the cache memory when the designated information does not exist in the
Further, when writing information, should the designated information to be stored in the cache memory also written to the main storage means, or write the designated information to the main storage means while the designated information stored in the cache memory is valid. It is possible to store information indicating whether to prohibit.

【0022】これらの情報を基に最適なキャッシュメモ
リ制御情報を設定すると、アプリケーションプログラム
を効率良く実行することができる。
By setting the optimum cache memory control information based on these pieces of information, the application program can be efficiently executed.

【0023】例えば、分岐命令の多いプログラムや離散
的な変数をランダムにアクセスするプログラムを実行す
るときには、ブロックサイズやプリフェッチ数を小さく
する。 一方、分岐命令の少ないプログラムや配列を連
続的にアクセスするプログラムを実行する時には、ブロ
ックサイズ、プリフェッチ数を大きくする。
For example, when executing a program with many branch instructions or a program that randomly accesses discrete variables, the block size and the number of prefetches are reduced. On the other hand, when executing a program with a small number of branch instructions or a program that continuously accesses an array, the block size and the number of prefetches are increased.

【0024】又キャッシュメモリの容量が小さく、主記
憶手段からキャシュメモリへの情報を転送するのに必要
な時間が短い場合にはブロックサイズやプリフェッチ数
を小さくする。逆に、キャッシュメモリの容量が大き
く、主記憶手段からキャッシユメモリへの情報を転送す
るのに必要な時間が長い場合には、ブッロクサイズ、プ
リフェッチ数を大きくする。
If the capacity of the cache memory is small and the time required to transfer information from the main storage means to the cache memory is short, the block size and the number of prefetches are reduced. On the other hand, if the cache memory has a large capacity and the time required to transfer information from the main storage unit to the cache memory is long, the block size and the number of prefetches are increased.

【0025】最適条件に従ってキャシュメモリ制御情報
を設定すると、最適な量のデータ転送が可能となる為、
不必要なデータの転送による性能の低下を防止できる。
When the cache memory control information is set according to the optimum condition, the optimum amount of data can be transferred,
It is possible to prevent performance deterioration due to unnecessary data transfer.

【0026】又、使用頻度の低い命令又はデータがキャ
シュメモリに書き込まれるのを防止することができ、使
用頻度の高い命令又はデータがキャシュメモリから追い
出されるのを防止することが可能となり、キャッシュメ
モリの使用効率が向上する。
Further, it is possible to prevent an infrequently used instruction or data from being written in the cache memory, and prevent an infrequently used instruction or data from being expelled from the cache memory. The usage efficiency of is improved.

【0027】[0027]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0028】図1は本発明の第1実施例を示すブロック
構成図である。図1において、情報処理装置は、命令処
理ユニット502、メモリ制御ユニット400、キャッ
シュメモリ300、方法レジスタ100、主記憶装置6
08を備えて構成されている。主記憶装置(以下、主記
憶と称する)608は、実行すべき命令及び処理すべき
データに関する情報を格納する主記憶手段として構成さ
れており、制御用バス816、データバス818を介し
てメモリ制御ユニット400に接続されている。キャッ
シュメモリ300は主記憶608に格納された命令及び
データの一部を格納するように構成されており、制御用
バス810、データバス812、814を介してメモリ
制御ユニット400に接続されている。命令処理ユニッ
ト502は主記憶608に格納されたデータを処理する
命令処理手段として構成されており、制御用バス80
2、804を介して方法レジスタ100に接続されてい
ると共に制御用バス804、データバス806を介して
メモリ制御ユニット400に接続されている。方法レジ
スタ100はアプリケーションプログラムに応じたキャ
ッシュメモリ制御情報を格納する制御情報記憶手段とし
て構成されており、制御用バス808を介してメモリ制
御ユニット400と接続されている。メモリ制御ユニッ
ト400は方法レジスタ100に格納されたキャッシュ
メモリ制御情報に従って主記憶608とキャッシュメモ
リ300間における情報の転送を制御するメモリ制御手
段として構成されている。
FIG. 1 is a block diagram showing the first embodiment of the present invention. In FIG. 1, the information processing apparatus includes an instruction processing unit 502, a memory control unit 400, a cache memory 300, a method register 100, and a main storage device 6.
08 is configured. A main memory device (hereinafter, referred to as main memory) 608 is configured as a main memory unit that stores information regarding instructions to be executed and data to be processed, and memory control is performed via a control bus 816 and a data bus 818. It is connected to the unit 400. The cache memory 300 is configured to store a part of the instructions and data stored in the main memory 608, and is connected to the memory control unit 400 via the control bus 810 and the data buses 812 and 814. The instruction processing unit 502 is configured as an instruction processing unit that processes the data stored in the main memory 608, and has a control bus 80.
2, 804 to the method register 100, and the control bus 804 and the data bus 806 to the memory control unit 400. The method register 100 is configured as a control information storage unit that stores cache memory control information according to an application program, and is connected to the memory control unit 400 via a control bus 808. The memory control unit 400 is configured as a memory control unit that controls transfer of information between the main memory 608 and the cache memory 300 according to the cache memory control information stored in the method register 100.

【0029】命令処理ユニット502は、制御用バス8
04及びデータバス806を介してメモリ制御ユニット
400から命令を受け、この命令に従った処理を実行す
る。このとき実行した命令が主記憶608に対するデー
タの読み出し又は書き込みを必要とする命令であった場
合には、制御用バス804を介してメモリ制御ユニット
400に対してデータの読み出し又は書き込みを要求
し、データバス806を介して必要なデータを転送す
る。一方、実行した命令が方法レジスタ100に対する
書き込みを指令する命令であった時には、制御用バス8
02を介して方法レジスタ100に指定のデータを書き
込む。方法レジスタ100は、制御用バス804を介し
て命令処理ユニット502がメモリ制御ユニット400
に対して要求した命令又はデータのアドレスを受け取
り、そのアドレスに対応したキャッシュメモリ制御情報
を制御用バス808を介してメモリ制御ユニット400
に転送する。このとき、メモリ制御ユニット400は、
制御用バス808を介して受け取ったキャシュメモリ制
御情報に従って、命令処理ユニット502、キャッシュ
メモリ300及び主記憶608間における命令又はデー
タの転送を制御する。すなわち、キャッシュメモリ30
0は、制御用バス810を介してメモリ制御ユニット4
00からアドレスを受け取り、対応する命令またはデー
タをデータバス814に出力する。また、制御用バス8
10を介して書き込みを指示されたときには、データバ
ス812を介して受け取った命令またはデータを指定さ
れた場所に書き込む。また主記憶608は、制御用バス
816を介して命令またはデータの読み出し又は書き込
み要求を受け取る。そして命令またはデータの読み出し
要求を受け取ったときには、必要な命令またはデータを
データバス818に出力する。一方、データの書き込み
要求を受け取ったときには、必要なデータをデータバス
818を介して受け取り、このデータを指定の場所に書
き込む。
The instruction processing unit 502 includes a control bus 8
04 and the data bus 806, it receives an instruction from the memory control unit 400 and executes a process according to the instruction. If the instruction executed at this time is an instruction that requires reading or writing of data with respect to the main memory 608, a request for reading or writing of data is issued to the memory control unit 400 via the control bus 804, Required data is transferred via the data bus 806. On the other hand, when the executed instruction is an instruction to write to the method register 100, the control bus 8
The designated data is written to the method register 100 via 02. In the method register 100, the instruction processing unit 502 is arranged in the memory control unit 400 via the control bus 804.
The address of the command or data requested to the memory control unit 400 is received via the control bus 808 and the cache memory control information corresponding to the address is received.
Transfer to. At this time, the memory control unit 400
According to the cache memory control information received via the control bus 808, the transfer of instructions or data between the instruction processing unit 502, the cache memory 300 and the main memory 608 is controlled. That is, the cache memory 30
0 indicates the memory control unit 4 via the control bus 810.
00 to output the corresponding instruction or data to the data bus 814. In addition, the control bus 8
When a write instruction is given via 10, the instruction or data received via the data bus 812 is written to the designated location. Further, the main memory 608 receives a read or write request of an instruction or data via the control bus 816. When a command or data read request is received, the necessary command or data is output to the data bus 818. On the other hand, when a data write request is received, necessary data is received via the data bus 818, and this data is written in a designated location.

【0030】図2は方法レジスタ100の第1実施例を
示す図である。図2において、方法レジスタ100は最
適なキャッシュメモリ制御情報を格納するためにレジス
タ112を備えており、このレジスタ112の記憶領域
が複数の領域に分割されている。即ち、レジスタ112
の記憶領域には、ブロックサイズ(BKS)102、プ
リフェッチ数(NPF)104、キャッシング選択(C
/N)106、コピーバック選択(C/S)108、フ
ェッチオンライト選択(F/W)110に関する情報が
格納されるようになっている。ブロックサイズ102
は、主記憶608とキャッシュメモリ300との間で命
令又はデータを転送する際の転送単位を示すブロックサ
イズを指定するようになっている。プリフェッチ数10
4は、ハードウエアプリフェッチを行う際に、プリフェ
ッチする命令又はデータのブロック数を指定するように
なっている。キャッシング選択106は、命令またはデ
ータの読み出しで必要な命令又はデータがキャッシュメ
モリ300に無かった場合に、そのブロックをキャッシ
ュメモリ300に転送するか否かを指定するようになっ
ている。コピーバック選択108は、データの書き込み
の際に、コピーバック方式とストアスルー方式のどちら
を選択するかを指定するようになっている。フェッチオ
ンライト選択110はデータの書き込みで必要なデータ
がキャッシュメモリ300に無かった場合に、フェッチ
オンライト方式とライトアラウンド方式のどちらを選択
するかを指定するようになっている。
FIG. 2 is a diagram showing a first embodiment of the method register 100. In FIG. 2, the method register 100 is provided with a register 112 for storing optimum cache memory control information, and the storage area of this register 112 is divided into a plurality of areas. That is, the register 112
Storage area of the block size (BKS) 102, number of prefetches (NPF) 104, and caching selection (C
/ N) 106, copy back selection (C / S) 108, and fetch-on-write selection (F / W) 110 are stored. Block size 102
Specifies a block size indicating a transfer unit when transferring an instruction or data between the main memory 608 and the cache memory 300. Prefetch number 10
The number 4 designates the number of blocks of instructions or data to be prefetched when performing hardware prefetching. The caching selection 106 specifies whether or not to transfer the block to the cache memory 300 when the instruction or data necessary for reading the instruction or data is not present in the cache memory 300. The copy-back selection 108 is designed to specify which of the copy-back method and the store-through method is selected when writing data. The fetch-on-write selection 110 specifies whether to select the fetch-on-write method or the write-around method when the cache memory 300 does not have the necessary data for writing the data.

【0031】上記構成における方法レジスタ100は、
命令処理ユニット502から書き込み要求824を受け
たときに、レジスタ112に書き込みデータ822を書
き込むようになっている。そしてレジスタ112に書き
込まれたデータは、制御用バス808を介してメモリ制
御ユニット400に転送される。この場合、この実施例
では、方法レジスタ100に格納できるキャッシュメモ
リ制御情報は一通りしかないため、制御用バス804を
介して受け取ったアドレスの値によらず、同一のキャッ
シュメモリ制御情報が制御用バス808に出力されるこ
とになる。
The method register 100 in the above configuration is
When the write request 824 is received from the instruction processing unit 502, the write data 822 is written in the register 112. Then, the data written in the register 112 is transferred to the memory control unit 400 via the control bus 808. In this case, in this embodiment, since only one cache memory control information can be stored in the method register 100, the same cache memory control information is used for control regardless of the value of the address received via the control bus 804. It will be output to the bus 808.

【0032】図3はキャッシュメモリ300の第1実施
例を示す図である。図3において、キャッシュメモリ3
00は、情報の転送単位を示すブロックサイズに応じた
複数のメモリ領域として、相異なるブロックサイズに対
応する3つのメモリ311〜313を備えているととも
に、各メモリにブロクサイズに応じて指定のデータを格
納するための書き込み制御手段として制御回路302が
設けられている。さらにメモリ312、313から指定
のデータを選択するための選択回路304、306が設
けられている。
FIG. 3 is a diagram showing a first embodiment of the cache memory 300. In FIG. 3, the cache memory 3
00 has three memories 311 to 313 corresponding to different block sizes as a plurality of memory areas corresponding to the block size indicating the transfer unit of information, and data specified in each memory according to the block size. A control circuit 302 is provided as a write control means for storing the. Further, selection circuits 304 and 306 for selecting designated data from the memories 312 and 313 are provided.

【0033】メモリ311〜313はそれぞれ複数のブ
ロックの情報を格納するための領域を有し、各ブロック
はタグ領域321〜323およびデータ領域331、3
41〜342、351〜354から構成されている。タ
グ領域には、そのブロックに対応するアドレスの上位ビ
ットが格納され、データ領域には、そのブロックに対応
する命令又はデータが格納される。そして、メモリ31
1〜313は、制御用バス810を介して受け取ったア
ドレス834の下位ビット846〜848に従って各メ
モリに含まれる複数のブロックの内から一つのブロック
を選択し、そのブロックのタグ情報861〜863およ
び命令またはデータ866〜868をデータバス814
に出力する。このとき、メモリ312は、各ブロックに
2個の命令またはデータを含むため、選択回路304に
よってアドレス834に対応する命令またはデータを選
択して出力することになる。同様に、メモリ313は各
ブロックに4個の命令又はデータを含むため、選択回路
306によってアドレス834に対応する命令又はデー
タを選択して出力するようになっている。そして、メモ
リ311〜313が出力したタグ情報861〜863の
値が、アドレス834の上位ビットと一致した場合に
は、要求された命令又はデータが対応するメモリ311
〜313に存在することを示し、一致しないときには存
在しないことを示す。なおこの判定は後述するように、
メモリ制御ユニット400によって行われる。
The memories 311 to 313 each have an area for storing information of a plurality of blocks, and each block has a tag area 321 to 323 and a data area 331, 3 respectively.
It is composed of 41 to 342 and 351 to 354. The tag area stores the upper bits of the address corresponding to the block, and the data area stores the instruction or data corresponding to the block. And the memory 31
1 to 313 select one block from a plurality of blocks included in each memory according to the lower bits 846 to 848 of the address 834 received via the control bus 810, and tag information 861 to 863 of the block and Command or data 866-868 is transferred to the data bus 814
Output to. At this time, since the memory 312 includes two instructions or data in each block, the selection circuit 304 selects and outputs the instruction or data corresponding to the address 834. Similarly, since the memory 313 includes four instructions or data in each block, the selection circuit 306 selects and outputs the instruction or data corresponding to the address 834. Then, when the values of the tag information 861 to 863 output from the memories 311 to 313 match the upper bits of the address 834, the requested instruction or data corresponds to the memory 311.
˜313 exists, and when they do not match, it does not exist. In addition, this determination, as described later,
This is performed by the memory control unit 400.

【0034】一方制御回路302は、書き込み要求83
2を取り込み、メモリ311〜313に対する書き込み
制御信号841〜843を出力する。そして書き込み制
御信号841〜843を取り込んだときには、メモリ3
11〜313は、タグ情報851〜853及び命令又は
データ856〜858をデータバス812から取り込
み、アドレス834の下位ビット846〜848で指定
されたブロックに格納することになる。
On the other hand, the control circuit 302 controls the write request 83.
2 is fetched, and write control signals 841 to 843 for the memories 311 to 313 are output. When the write control signals 841 to 843 are fetched, the memory 3
11 to 313 fetch the tag information 851 to 853 and the instruction or data 856 to 858 from the data bus 812, and store them in the block designated by the lower bits 846 to 848 of the address 834.

【0035】図4はメモリ制御ユニット400のブロッ
ク図である。図4において、メモリ制御ユニット400
は転送制御回路402、プリフェッチ制御回路404、
選択回路406、アドレス変換回路408、キャッシュ
メモリインターフェース410、ヒット判定回路41
2、データバッファ414、主記憶インターフェース4
16を備えて構成されている。選択回路406は、命令
処理ユニット502から出力されたアドレス874とプ
リフェッチ制御回路404から出力されたアドレス87
8の内いづれか一方のアドレスを選択するようになって
いる。そして命令処理ユニット502の要求に従って命
令又はデータを転送するときには、アドレス874を選
択する。一方、命令処理ユニット502が将来必要とす
る命令又はデータを予測して予め転送しておくプリフェ
ッチ処理を行うときには、アドレス878を選択する。
選択回路406によって選択されたアドレスはアドレス
880としてアドレス変換回路408に転送される。こ
のアドレス変換回路408はアドレス880に対してア
ドレス変換を行って、変換後のアドレス886を出力す
るようになっている。このときのアドレス880は、命
令処理ユニット502が命令又はデータをアクセスする
ときに用いるアドレスであり、通常(論理アドレス)と
よばれる。一方、アドレス変換後のアドレス886は、
主記憶608にアクセスするときに用いるアドレスであ
り、通常(物理アドレス)とよばれる。
FIG. 4 is a block diagram of the memory control unit 400. In FIG. 4, a memory control unit 400
Is a transfer control circuit 402, a prefetch control circuit 404,
Selection circuit 406, address conversion circuit 408, cache memory interface 410, hit determination circuit 41
2, data buffer 414, main memory interface 4
16 is provided. The selection circuit 406 outputs the address 874 output from the instruction processing unit 502 and the address 87 output from the prefetch control circuit 404.
Either one of the eight addresses is selected. Then, when the instruction or data is transferred according to the request of the instruction processing unit 502, the address 874 is selected. On the other hand, when performing the prefetch process in which the instruction processing unit 502 predicts an instruction or data required in the future and transfers it in advance, the address 878 is selected.
The address selected by the selection circuit 406 is transferred to the address conversion circuit 408 as the address 880. The address conversion circuit 408 performs address conversion on the address 880 and outputs the converted address 886. The address 880 at this time is an address used when the instruction processing unit 502 accesses an instruction or data, and is called a normal (logical address). On the other hand, the address 886 after the address conversion is
It is an address used when accessing the main memory 608 and is usually called (physical address).

【0036】アドレス変換回路408から出力されたア
ドレス886はキャッシュメモリインターフェース41
0と主記憶インターフェース416へ転送される。キャ
ッシュメモリインターフェース410には転送制御回路
402からの制御情報882が入力されている。この転
送制御回路402は、命令処理ユニット502からの要
求872を受け取ると、キャッシュメモリインターフェ
ース410又は主記憶インターフェース416を制御し
て必要な命令又はデータの転送を行うようになってい
る。またヒット判定回路412は、データバス814を
介してキャッシュメモリ300から受け取ったタグ情報
861〜863とアドレスの上位ビットとを比較し、必
要な命令又はデータがキャッシュメモリ300に存在す
るか否かを判定するようになっている。プリフェッチ制
御回路404は、命令処理ユニット502からアドレス
874を受け取り、将来必要となる命令又はデータのア
ドレスを予測するようになっている。そしてその結果、
主記憶608からキャッシュメモリ300へ命令又はデ
ータを転送する必要があると判断したときには、転送制
御回路402へ転送要求876を出力し、それと同時に
転送すべき命令又はデータのアドレス878を出力する
ようになっている。なお、データバッファ414は、命
令又はデータを転送するときに、転送中の命令又はデー
タを一時的に格納するレジスタとして構成されている。
The address 886 output from the address conversion circuit 408 is the cache memory interface 41.
0 and transferred to the main memory interface 416. The control information 882 from the transfer control circuit 402 is input to the cache memory interface 410. Upon receiving the request 872 from the instruction processing unit 502, the transfer control circuit 402 controls the cache memory interface 410 or the main memory interface 416 to transfer necessary instructions or data. The hit determination circuit 412 also compares the tag information 861 to 863 received from the cache memory 300 via the data bus 814 with the upper bits of the address to determine whether the required instruction or data exists in the cache memory 300. It is designed to judge. The prefetch control circuit 404 receives the address 874 from the instruction processing unit 502 and predicts the address of an instruction or data that will be needed in the future. And as a result,
When it is determined that the instruction or data needs to be transferred from the main memory 608 to the cache memory 300, the transfer request 876 is output to the transfer control circuit 402, and at the same time, the address 878 of the instruction or data to be transferred is output. Has become. The data buffer 414 is configured as a register that temporarily stores the instruction or data being transferred when the instruction or data is transferred.

【0037】ここで、プリフェッチ制御回路404にお
いて、将来必要となる命令又はデータのアドレスを予測
する方法としては、多くの方法が考えられる。例えば一
つの方法は、命令処理ユニット502から要求のあった
命令又はデータの次のブロックがキャッシュメモリ30
0に存在するか否かを調べ、もしないときにはそのブロ
ックを予めキャッシュメモリ300に転送するという方
法である。この場合、通常、アクセスのあった命令又は
データの次のアドレスに対しては、近い将来アクセスす
る確率が高いため、このような簡単な方法でもある程度
の効果を期待することができる。しかし、この方法で
は、命令処理ユニット502からの要求のすべてに対し
て、次のブロックがキャッシュメモリ300にあるか否
かを調べる必要があり、キャッシュメモリ300に対す
るアクセスが必要以上に増える可能性がある。そこで、
このような問題点を解決する方法として、命令処理ユニ
ット502からの要求の内必要な命令又はデータがキャ
ッシュメモリになかった場合に限って次のブロックがキ
ャッシュメモリ300にあるか否かを調べるという方法
を用いることもできる。この場合、キャッシュメモリ3
00にない命令又はデータの次のブロックはキャッシュ
メモリ300にない確率が高いため、この方法を用いれ
ば効率よくプリフェッチを行うことができる。
Here, in the prefetch control circuit 404, many methods are conceivable as a method of predicting an address of an instruction or data which will be needed in the future. For example, one method is that the next block of the instruction or data requested by the instruction processing unit 502 is the cache memory 30.
It is a method of checking whether it exists in 0, and if not, transferring the block to the cache memory 300 in advance. In this case, usually, there is a high probability that the next address of the accessed instruction or data will be accessed in the near future. Therefore, even with such a simple method, some effect can be expected. However, in this method, it is necessary to check whether or not the next block exists in the cache memory 300 for all the requests from the instruction processing unit 502, and the number of accesses to the cache memory 300 may increase more than necessary. is there. Therefore,
As a method for solving such a problem, it is necessary to check whether or not the next block exists in the cache memory 300 only when the necessary instruction or data in the request from the instruction processing unit 502 does not exist in the cache memory. Methods can also be used. In this case, the cache memory 3
Since there is a high probability that the next block of an instruction or data that is not in 00 is not in the cache memory 300, prefetching can be efficiently performed using this method.

【0038】しかし、上記二つの方法では、配列データ
などで一定間隔をおいて分布しているデータにアクセス
するような場合には必ずしも有効ではない。このような
場合でも有効にプリフェッチを行う方法として、複数の
アクセスの間のアドレスの差を記憶しておき、これに基
づいて次にアクセスするアドレスを予測する方法を用い
ることができる。この方法を用いれば、複雑な予測回路
が必要となるが、より精度の高い予測を行うことが可能
となる。
However, the above two methods are not necessarily effective in the case of accessing data distributed at regular intervals such as array data. Even in such a case, as a method of effectively performing prefetch, a method of storing an address difference between a plurality of accesses and predicting an address to be accessed next based on the difference can be used. If this method is used, a complicated prediction circuit is required, but more accurate prediction can be performed.

【0039】次に、メモリ制御ユニット400が命令処
理ユニット502から命令又はデータの読み出し要求を
受け取ったときの動作を図5に従って説明する。
Next, the operation when the memory control unit 400 receives a command or data read request from the command processing unit 502 will be described with reference to FIG.

【0040】まず、メモリ制御ユニット400が命令又
はデータの読み出し要求を受け取ると、必要な命令又は
データがキャッシュメモリ300にあるか否かのヒット
判定が行われる(ステップ702)。ヒット判定によっ
て、必要な命令又はデータがキャッシュメモリ300に
存在すると判定した場合には、データバス814を介し
て、タグ情報がアドレスの上位ビットと一致したメモリ
から出力された命令又はデータを受け取り、このデータ
を命令処理ユニット502に転送する(ステップ70
6)。これがキャッシュ読み出しである。
First, when the memory control unit 400 receives a command or data read request, it is determined whether or not the necessary command or data is in the cache memory 300 (step 702). When it is determined by the hit determination that the necessary instruction or data exists in the cache memory 300, the instruction or data output from the memory whose tag information matches the upper bit of the address is received via the data bus 814, This data is transferred to the instruction processing unit 502 (step 70).
6). This is cache read.

【0041】一方、ステップ702でヒット判定を行っ
た結果、必要な命令又はデータがキャッシュメモリ30
0にないと判定した場合には、方法レジスタ100から
受け取ったキャッシュメモリ制御情報の中のキャッシン
グ選択(C/N)106の値を調べる。そしてキャッシ
ング選択106の値が1であったときには、主記憶60
8からブロックサイズ(BKS)102で指定された命
令又はデータを読み出し、このデータを、メモリ311
〜313の内ブロックサイズ102で指定された値に対
応するメモリに書き込む。このとき同時に、命令処理ユ
ニット502の要求したアドレスに対する命令又はデー
タを、命令処理ユニット502に転送する(ステップ7
08)。これがブロック転送である。
On the other hand, as a result of hit determination in step 702, the necessary instruction or data is found in the cache memory 30.
When it is determined that the value is not 0, the value of the caching selection (C / N) 106 in the cache memory control information received from the method register 100 is checked. When the value of the caching selection 106 is 1, the main memory 60
The instruction or data specified by the block size (BKS) 102 is read from the memory 8 and this data is stored in the memory 311.
Write to the memory corresponding to the value designated by the inner block size 102 of 313 to 313. At this time, at the same time, the instruction or data for the address requested by the instruction processing unit 502 is transferred to the instruction processing unit 502 (step 7).
08). This is block transfer.

【0042】ここで、ブロック転送708を行う際に、
主記憶608から読み出す命令又はデータのサイズが大
きい場合には注意が必要である。例えば、読みだすサイ
ズがメモリ313の1ブロックの大きさであった場合に
は、その命令又はデータはメモリ311の4ブロックに
相当するが、ヒット判定はその内の1ブロックのみしか
行っていない。従って、主記憶608からメモリ313
に命令又はデータを転送すると、メモリ311とメモリ
313に同一アドレスの命令又はデータが含まれる可能
性がある。ここでコピーバック方式を採用していたとす
ると、コピーバック方式では、主記憶608に格納され
ている値は最新の値でない可能性があるため、メモリ3
13に転送した値も最新の値ではない場合がある。そこ
でキャッシュメモリ300との間でデータの転送を行う
場合には、このようなことを考慮に入れ、複数のメモリ
に同一アドレスのデータが含まれている場合には、ブロ
ックサイズの小さいメモリとの間でデータを転送する必
要がある。
Here, when performing the block transfer 708,
Care must be taken when the size of the instruction or data read from the main memory 608 is large. For example, when the size to be read is the size of one block in the memory 313, the instruction or data corresponds to four blocks in the memory 311, but the hit determination is made only for one of the blocks. Therefore, from the main memory 608 to the memory 313
When the instruction or data is transferred to the memory, the memory 311 and the memory 313 may include the instruction or data of the same address. If the copy-back method is adopted here, the value stored in the main memory 608 may not be the latest value in the copy-back method.
The value transferred to 13 may not be the latest value. Therefore, when transferring data to and from the cache memory 300, such a case is taken into consideration, and when a plurality of memories include data of the same address, a memory having a smaller block size is used. You need to transfer data between.

【0043】一方、命令の転送を行う場合には、複数の
メモリに同一アドレスの命令が含まれている場合でも、
両者に格納されている値は同一であるため、どちらのメ
モリから命令を読み出してもよい。また、複数のメモリ
に同一アドレスの命令又はデータが含まれないようにす
る方法もある。この方法では、主記憶608からメモリ
312又は313に命令又はデータを転送するときに、
同一アドレスの命令又はデータがブロックサイズのより
小さいメモリにないかどうかを調べる必要がある。該当
する命令又はデータがあったときには、ブロックサイズ
の小さい方のメモリの命令又はデータを無効とし、無効
にされたデータのなかに主記憶608に書き込まれてい
ないデータがあった場合には、そのデータをブロックサ
イズの大きい方のメモリに転送する。このような処理を
することによって、2つのメモリに同一アドレスの命令
又はデータが含まれないようにすることができる。
On the other hand, when transferring instructions, even if a plurality of memories include an instruction of the same address,
Since the values stored in both are the same, the instruction may be read from either memory. There is also a method of preventing instructions or data having the same address from being included in a plurality of memories. According to this method, when an instruction or data is transferred from the main memory 608 to the memory 312 or 313,
It is necessary to check whether there is an instruction or data having the same address in a memory having a smaller block size. If there is a corresponding instruction or data, the instruction or data in the memory with the smaller block size is invalidated, and if any of the invalidated data is not written in the main memory 608, Transfer the data to the memory with the larger block size. By performing such processing, it is possible to prevent the two memories from containing instructions or data having the same address.

【0044】ステップ704でキャッシング選択106
の値が0であると判定されたときには、命令処理ユニッ
ト502の要求したアドレスに対応する命令又はデータ
のみを主記憶608から読み出し、これを命令処理ユニ
ット502に転送する(ステップ710)。これがワー
ド転送である。
In step 704, the caching selection 106
When it is determined that the value of is 0, only the instruction or data corresponding to the requested address of the instruction processing unit 502 is read from the main memory 608 and transferred to the instruction processing unit 502 (step 710). This is word transfer.

【0045】ステップ706のキャッシュ読み出しとス
テップ708のブロック転送が終了すると、プリフェッ
チ数(NPF)104を調べる処理が行われる(ステッ
プ712)。このときプリフェッチ数104が0より大
きい場合には、プリフェッチ制御回路404においてプ
リフェッチの処理を開始する(ステップ714)。これ
がプリフェッチ起動である。プリフェッチのときに転送
する命令又はデータの量は、ブロックサイズ102とプ
リフェッチ数104に基づいて決定される。そしてプリ
フェッチ制御回路404がプリフェッチの処理を開始す
ると、転送制御回路402は命令処理ユニット502か
ら次の要求を受け付け可能となるため、プリフェッチ制
御回路404の処理と命令処理ユニット502の処理を
並列に行うことができる。
When the cache read in step 706 and the block transfer in step 708 are completed, a process for checking the prefetch number (NPF) 104 is performed (step 712). At this time, if the prefetch number 104 is larger than 0, the prefetch control circuit 404 starts the prefetch process (step 714). This is the prefetch activation. The amount of instruction or data to be transferred at the time of prefetch is determined based on the block size 102 and the number of prefetches 104. When the prefetch control circuit 404 starts the prefetch processing, the transfer control circuit 402 can accept the next request from the instruction processing unit 502, and therefore the processing of the prefetch control circuit 404 and the processing of the instruction processing unit 502 are performed in parallel. be able to.

【0046】次に、メモリ制御ユニット400が命令処
理ユニット502からデータの書き込み要求を受け取っ
た時の動作を図6に従って説明する。
Next, the operation when the memory control unit 400 receives a data write request from the instruction processing unit 502 will be described with reference to FIG.

【0047】まず、メモリ制御ユニット400がデータ
の書き込み要求を受け取ると、読み出しのときと同様
に、ヒット判定処理を実行する(スッテプ702)。こ
のヒット判定を行った結果、書き込みを行うべきアドレ
スのデータがキャッシュメモリ300にあると判定した
場合には、タグ情報がアドレスの上位ビットと一致した
メモリへデータを書き込む(ステップ726)。これが
キャッシュ書き込みである。
First, when the memory control unit 400 receives a data write request, the hit determination process is executed as in the read (step 702). As a result of this hit determination, when it is determined that the data of the address to be written exists in the cache memory 300, the data is written to the memory whose tag information matches the upper bits of the address (step 726). This is cache writing.

【0048】一方、ステップ702でヒット判定を行っ
た結果、書き込みを行うべきアドレスのデータがキャッ
シュメモリ300にないと判定した場合には、方法レジ
スタ100から受け取ったキャッシュメモリ制御情報の
なかのフェッチオンライト選択(F/W)110の値を
調べる。フェッチオンライト選択110の値が1であっ
た場合には、主記憶608からブロックサイズ(BK
S)102で指定されたブロックサイズのデータを読み
出し、命令処理ユニット502の要求したアドレスのデ
ータをデータバス806から受け取ったデータと入れ替
える。この後メモリ311〜313のうちブロックサイ
ズ102で指定された値に対応するメモリに指定のデー
タを書き込む(スッテプ728)。これがブロック転送
である。
On the other hand, as a result of the hit determination in step 702, when it is determined that the data of the address to be written is not in the cache memory 300, the fetch-on in the cache memory control information received from the method register 100 is turned on. Check the value of the write selection (F / W) 110. If the value of the fetch-on-write selection 110 is 1, the block size (BK
S) The data of the block size designated by 102 is read, and the data of the address requested by the instruction processing unit 502 is replaced with the data received from the data bus 806. After that, the designated data is written in the memory corresponding to the value designated by the block size 102 among the memories 311 to 313 (step 728). This is block transfer.

【0049】フェッチオンライト選択110の値が0で
あった場合には、命令処理ユニット502の要求したデ
ータを主記憶608に直接書き込み、処理を終了する
(ステップ736)。これが主記憶書き込みである。
When the value of the fetch-on-write selection 110 is 0, the data requested by the instruction processing unit 502 is directly written in the main memory 608, and the processing is terminated (step 736). This is main memory writing.

【0050】キャッシュ書き込み又はブロック転送の処
理が終了すると、プリフェッチ数(NPF)104を調
べ(ステップ712)、必要ならばプリフェッチ起動
(ステップ714)を行う。そしてプリフェッチ起動が
終了すると、コピーバック選択(C/S)108の値を
調べる。そしてコピーバック選択108の値が1のとき
にはそのまま処理を終了し、0のときには主記憶書き込
みを行った後このルーチンでの処理を終了する。
When the cache write or block transfer processing is completed, the prefetch number (NPF) 104 is checked (step 712), and if necessary, prefetch activation (step 714) is performed. Then, when the prefetch activation is completed, the value of the copyback selection (C / S) 108 is checked. When the value of the copy-back selection 108 is 1, the processing is ended as it is, and when it is 0, the main memory is written and then the processing in this routine is ended.

【0051】上記構成による情報処理装置において、ア
プリケーションプログラムを効率よく実行するために
は、そのプログラムに最適なキャッシュメモリ制御情報
を方法レジスタ100に書き込む必要がある。この場
合、一般に、最適なキャッシュメモリ制御情報として
は、アプリケーションプログラムのアクセスの傾向とハ
ードウエアの各種パラメータの両方に依存するところか
ら、これらを考慮して最適なキャッシュメモリ制御情報
を方法レジスタ100に書き込む必要がある。
In the information processing apparatus having the above configuration, in order to efficiently execute the application program, it is necessary to write the optimum cache memory control information for the program into the method register 100. In this case, in general, the optimum cache memory control information depends on both the access tendency of the application program and various parameters of the hardware. Therefore, the optimum cache memory control information is set in the method register 100 in consideration of these. Need to write.

【0052】例えば、分岐命令の多いプログラムや離散
的な変数をランダムにアクセスするプログラムを実行す
る場合には、ブロックサイズ102およびプリフェッチ
数104を小さくした方がよい。逆に、分岐命令の少な
いプログラムや配列を連続的にアクセスするようなプロ
グラムを実行する場合には、ブロックサイズ102およ
びプリフェッチ数104を大きくした方がよい。
For example, when executing a program having many branch instructions or a program randomly accessing discrete variables, it is better to reduce the block size 102 and the prefetch number 104. On the other hand, when executing a program with a small number of branch instructions or a program that continuously accesses an array, it is better to increase the block size 102 and the prefetch number 104.

【0053】また、キャッシュメモリの容量が小さい場
合や、主記憶608からキャッシュメモリ300へ命令
又はデータを転送するために必要な時間が短い場合に
は、ブロックサイズ102及びプリフェッチ数104を
小さくした方がよい。逆に、キャッシュメモリ300の
容量が大きい場合や、主記憶608からキャッシュメモ
リ300へ命令又はデータを転送するために必要な時間
が長い場合には、ブロッックサイズ102及びプリフェ
ッチ数104を大きくした方がよい。このため、アプリ
ケーションプログラムを開始する際に、これらの緒条件
を考慮に入れて最適なキャッシュメモリ制御情報を決定
し、この決定に従った情報を方法レジスタ100に書き
込むことにより、効率よくアプリケーションプログラム
を実行することができる。
If the capacity of the cache memory is small, or if the time required to transfer an instruction or data from the main memory 608 to the cache memory 300 is short, the block size 102 and the prefetch number 104 should be reduced. Is good. On the contrary, if the capacity of the cache memory 300 is large, or if the time required to transfer an instruction or data from the main memory 608 to the cache memory 300 is long, it is better to increase the block size 102 and the prefetch number 104. . Therefore, when starting the application program, the optimum cache memory control information is determined in consideration of these conditions, and the information according to this determination is written in the method register 100 to efficiently execute the application program. Can be executed.

【0054】また、時分割で複数のアプリケーションプ
ログラムを並行して処理する場合には、あるプログラム
の処理を中断して別のプログラムの処理を再開するとき
には、方法レジスタ100に、再開する方のプログラム
に最適なキャッシュメモリ制御情報を書き込むことによ
り、どのプログラムを実行しているときにも最適な制御
を行うことが可能となる。
When a plurality of application programs are processed in parallel in a time division manner, when the processing of one program is interrupted and the processing of another program is restarted, the method register 100 stores the restarted program. By writing the optimum cache memory control information to, it becomes possible to perform the optimum control while executing any program.

【0055】次に、本発明の他の実施例について説明す
る。
Next, another embodiment of the present invention will be described.

【0056】図7は方法レジスタ100の第2実施例を
示す図である。図7において、方法レジスタ100は、
複数のキャッシュメモリ制御情報を格納するレジスタ1
31〜13nを備えて構成されている。そして各レジス
タに指定の制御情報を格納するために制御回路112が
設けられており、各レジスタから指定の制御情報を選択
するためにデコーダ124、選択回路126が設けられ
ている。即ち、制御回路112は、命令処理ユニット5
02からの書き込み要求902を受け取り、指定のレジ
スタへ書き込み制御信号906を出力するようになって
いる。そして書き込み制御信号906によって書き込み
を指定されたレジスタに書き込みデータ904が記憶さ
れる。
FIG. 7 is a diagram showing a second embodiment of the method register 100. In FIG. 7, the method register 100 is
Register 1 for storing a plurality of cache memory control information
31 to 13n. A control circuit 112 is provided to store designated control information in each register, and a decoder 124 and a selection circuit 126 are provided to select designated control information from each register. That is, the control circuit 112 controls the instruction processing unit 5
02, the write request 902 is received, and the write control signal 906 is output to the designated register. Then, the write data 904 is stored in the register designated to be written by the write control signal 906.

【0057】一方、デコーダ124は、制御用バス80
4を介して、命令処理ユニット502から受け取ったア
ドレスのうち予め定められたビットを用いて選択信号9
08を生成する。選択回路126は、デコーダ124か
らの選択信号908に従ってレジスタ131〜13nに
格納されたキャッシュメモリ制御情報の中から1つの制
御情報を選択し、この情報を制御用バス808に出力す
る。
On the other hand, the decoder 124 uses the control bus 80.
Select signal 9 using a predetermined bit of the address received from instruction processing unit 502 via
08 is generated. The selection circuit 126 selects one control information from the cache memory control information stored in the registers 131 to 13n according to the selection signal 908 from the decoder 124, and outputs this information to the control bus 808.

【0058】図8は、図7の方法レジスタ100を用い
たときのアドレスとキャッシュメモリ制御情報の対応及
び方法レジスタ100の使用方法を説明するための図で
ある。
FIG. 8 is a diagram for explaining correspondence between an address and cache memory control information when the method register 100 of FIG. 7 is used and a method of using the method register 100.

【0059】図8において、キャッシュメモリ制御情報
を方法レジスタ100に記憶するに際しては、アドレス
32ビットを上位から9ビット、3ビット、20ビット
の3つの部分に分ける。そしてこのアドレスのうちAの
部分の3ビットを用いてデコーダ124が選択信号90
8を生成する。この場合、全アドレス空間は、8Mバイ
トの大きさの512個の空間に分けられ、各空間はAの
値が0、1、2〜3、4〜7に対応する4つの領域に分
割される。各領域の大きさは、1Mバイト、2Mバイ
ト、及び4Mバイトである。各空間及び各領域の大きさ
及び配置は、デコーダ124の構成によって決定される
ようになっている。そして、方法レジスタ100は、4
つの領域それぞれに対して別々のキャッシュメモリ制御
情報を指定するために、4つのレジスタを備えている。
In FIG. 8, when the cache memory control information is stored in the method register 100, the address 32 bits are divided into three parts of 9 bits, 3 bits and 20 bits from the higher order. Then, the decoder 124 uses the 3 bits of the A portion of this address to select the selection signal 90.
Generate 8. In this case, the entire address space is divided into 512 spaces each having a size of 8 Mbytes, and each space is divided into four areas corresponding to A values of 0, 1, 2 to 3 and 4 to 7. . The size of each area is 1 Mbyte, 2 Mbyte, and 4 Mbyte. The size and arrangement of each space and each area are determined by the configuration of the decoder 124. And the method register 100 is 4
Four registers are provided to specify different cache memory control information for each of the two areas.

【0060】次に、図7に示す方法レジスタ100を有
する情報処理装置によってアプリケーションプログラム
を実行する方法について説明する。
Next, a method of executing an application program by the information processing apparatus having the method register 100 shown in FIG. 7 will be described.

【0061】まず、方法レジスタ100にキャッシュメ
モリ制御方法を書き込むタイミングは2通りの方法が考
えられる。1つは、図2の方法レジスタ100を用いた
場合と同様に、各アプリケーションプログラムの実行を
開始又は再開するときに、そのプログラムに最適なキャ
ッシュメモリ制御情報を書き込む方法である。この場合
には、アプリケーションプログラムの命令及びデータを
複数の部分に分け、各部分を図8における別々の領域に
割り当てることにより、それぞれに対して別々のキャッ
シュメモリ制御情報を指定することができる。
First, there are two possible methods for writing the cache memory control method to the method register 100. One is a method of writing the optimum cache memory control information for each application program when starting or resuming the execution of the application program, as in the case of using the method register 100 of FIG. In this case, by dividing the instruction and data of the application program into a plurality of parts and allocating each part to a different area in FIG. 8, different cache memory control information can be specified for each.

【0062】即ち、通常、同一なアプリケーションプロ
グラムに含まれる命令又はデータであっても、アドレス
によってアクセスの傾向が異なる。従って、異なった性
質の命令又はデータを別々の領域に割り当て、それぞれ
に対応した最適なキャシュメモリ制御情報を指定するこ
とにより、プログラム全体で同一のキャッシュメモリ制
御情報を指定する場合に比べ、より効率良く制御を行う
ことができる。
That is, usually, even for instructions or data included in the same application program, the access tendency differs depending on the address. Therefore, by allocating instructions or data of different characteristics to different areas and specifying the optimum cache memory control information corresponding to each area, it is more efficient than when the same cache memory control information is specified for the entire program. You have good control.

【0063】2つ目の方法は、複数のアプリケーション
プログラムで同一のキャッシュメモリ制御情報を用いる
方法である。この方法においては、予め、将来実行する
可能性のあるアプリケーションプログラムを想定し、そ
れらのプログラムに最適であると思われる複数のキャッ
シュメモリ制御情報をハードウエアの各種パラメータを
考慮した上で決定し、これを方法レジスタ100に書き
込んでおく。この場合、方法レジスタ100に設定する
値の例を次の表1に示す。
The second method is to use the same cache memory control information in a plurality of application programs. In this method, in advance, assuming application programs that may be executed in the future, determine a plurality of cache memory control information that is considered to be optimal for those programs after considering various parameters of the hardware, This is written in the method register 100. In this case, Table 1 below shows examples of values set in the method register 100.

【0064】[0064]

【表1】 [Table 1]

【0065】表1の例では、領域1と2はブロックサイ
ズ(BKS)が小さいため、連続するアドレスへのアク
セスが少ない命令又はデータを割り当てると、不必要な
命令又はデータの転送が減り、性能が向上する。更に、
領域2はキャッシング選択(C/N)、及びフェッチオ
ンライト選択(F/W)が0であるため、アクセス頻度
の低い命令又はデータを割り当てると、その命令又はデ
ータにアクセスしたときに、アクセス頻度の高い命令又
はデータをキャッシュメモリから追い出すことがなくな
り、性能が向上する。更に、領域3及び4は、ブロック
サイズ(BSK)やプリフェッチ数(NPF)が大きい
ため、連続するアドレスへのアクセスが多い命令又はデ
ータを割り当てると、将来必要となる命令又はデータを
予めキャッシュメモリに転送しておくことが可能とな
り、性能が向上する。
In the example of Table 1, since the areas 1 and 2 have a small block size (BKS), allocating an instruction or data with a small number of accesses to consecutive addresses reduces unnecessary instruction or data transfer, resulting in poor performance. Is improved. Furthermore,
Since the cache selection (C / N) and the fetch-on-write selection (F / W) in area 2 are 0, if an instruction or data with a low access frequency is assigned, the access frequency will be increased when the instruction or data is accessed. Highly efficient instructions or data are not pushed out of the cache memory, and the performance is improved. Further, since the areas 3 and 4 have a large block size (BSK) and the number of prefetches (NPF), if an instruction or data that frequently accesses consecutive addresses is allocated, the instruction or data that will be needed in the future is stored in the cache memory in advance. It is possible to transfer it, and the performance is improved.

【0066】また、データベースのように、一定の大き
さの単位データが多数連続する場合には、ブロックサイ
ズの値が単位データの大きさに等しい領域に割り当てる
と良い場合もある。また、一般的に、大きな配列データ
は連続するアドレスへのアクセスが多く、小さな配列デ
ータ及び配列以外のデータは連続するアドレスへのアク
セスが少ない傾向があるため、サイズの大きい領域に大
きいブロックサイズを設定したほうが有利である。
In the case where a large number of unit data of a fixed size are continuous, as in a database, it may be desirable to allocate the block size value to an area equal to the size of the unit data. In general, large array data tend to access many consecutive addresses, and small array data and non-array data tend to access few consecutive addresses. It is advantageous to set it.

【0067】又、表1の値は、比較的キャッシュメモリ
300の容量が小さい情報処理装置のための設定値であ
り、ブロックサイズが小さい値に設定されている。も
し、キャシュメモリの容量が大きい情報処理装置で値を
設定するのであれば、ブロックサイズをより大きくした
ほうが性能が向上する。
The values in Table 1 are set values for an information processing apparatus having a relatively small capacity of the cache memory 300, and are set to small block sizes. If the value is set in an information processing device having a large cache memory capacity, a larger block size improves the performance.

【0068】一方、各アプリケーションプログラムを開
始するときには、そのプログラムの命令又はデータの各
部分に対して、最適なキャッシュメモリ制御情報を求
め、それに最も近い制御情報が書き込まれている領域に
その命令又はデータを割り当てる。このときの、命令又
はデータの具体的な割り当て例を図8に示す。
On the other hand, when each application program is started, the optimum cache memory control information is obtained for each part of the instruction or data of the program, and the instruction or data is written in the area where the control information closest to the cache memory control information is written. Allocate data. FIG. 8 shows a specific example of instruction or data allocation at this time.

【0069】図8において、プログラム1では、分岐命
令の頻度が高い命令(命令1)を領域1に、分岐命令の
頻度が中程度の命令(命令2)を領域3に割り当ててい
る。又使用頻度の低いデータ(データ1)を領域2に、
連続するアドレスへのアクセスの可能性が高い配列デー
タ(データ2)を領域4に割り当てている。
In FIG. 8, in program 1, an instruction having a high frequency of branch instructions (instruction 1) is assigned to area 1, and an instruction having a medium frequency of branch instructions (instruction 2) is assigned to area 3. In addition, data (data 1) that is used less frequently is stored in area 2.
Array data (data 2) having a high possibility of access to consecutive addresses is assigned to the area 4.

【0070】一方プログラム2では、アドレスによらず
分岐命令の頻度が高いため、命令全てを領域1に割り当
てている。又サイズの小さい配列データ(データ1)を
領域3に、サイズが大きく連続するアドレスへのアクセ
スが多いデータ(データ2)を領域4に割り当ててい
る。このように、アプリケーショプログラムによって、
命令及びデータの割当て方を変えることにより、性質の
異なる複数のアプリケーションプログラムを実行する場
合でも、方法レジスタ100の設定値を変えずに最適な
制御を行うことが可能である。従って、このような方法
を用いれば、例えば、プロプラム1の実行を中断し、プ
ログラム2の実行を再開するような場合に、方法レジス
タ100の値を書き替える必要がないため、複数のプロ
グラムを時分割で並行に処理する場合に、プログラムの
切り替えを高速に行うことができる。
On the other hand, in the program 2, since the frequency of branch instructions is high regardless of the address, all the instructions are assigned to the area 1. Also, array data of small size (data 1) is assigned to area 3, and data of large size (data 2) that frequently accesses consecutive addresses is assigned to area 4. In this way, the application program
By changing the allocation of instructions and data, it is possible to perform optimum control without changing the set value of the method register 100 even when executing a plurality of application programs having different properties. Therefore, when such a method is used, it is not necessary to rewrite the value of the method register 100 when, for example, the execution of the program 1 is interrupted and the execution of the program 2 is restarted. When dividing and processing in parallel, the programs can be switched at high speed.

【0071】図9は方法レジスタ100の第3実施例を
示す図である。本実施例における方法レジスタ100
は、相異なるキャッシュメモリ制御情報をそれぞれ格納
するために複数の記憶領域を有し、各記憶領域に格納さ
れたキャッシュメモリ制御情報を選択するために、アド
レスが各記憶領域に対応して設定されたアドレスの範囲
内にあるか否かを判定し、この判定結果に従って指定の
キャッシュメモリ制御情報を指定の記憶領域から選択
し、選択したキャッシュメモリ制御情報を出力するよう
になっている。即ち、方法レジスタ100は制御回路2
02を備えていると共に複数の記憶回路(例えばレジス
タなど)211〜21nを備えて構成されている。そし
て各記憶回路211〜21nにはキャッシュメモリ制御
情報を格納するレジスタ241〜24nが設けられてい
ると共に下限アドレスを格納するレジスタ221〜22
mと上限アドレスを格納するレジスタ231〜23mが
設けられている。そして、制御回路202は、制御用バ
ス802を介して書き込み要求912を受け取ったとき
に、指定の記憶回路にデータを書き込むために、書き込
み制御信号916を出力する。そして、レジスタ221
〜22m、レジスタ231〜23m、レジスタ241〜
24nは書き込み制御信号916によって書き込みを指
示されると、書き込みデータ914を取り込みこれを記
憶する。
FIG. 9 is a diagram showing a third embodiment of the method register 100. Method register 100 in this embodiment
Has a plurality of storage areas for respectively storing different cache memory control information, and an address is set corresponding to each storage area in order to select the cache memory control information stored in each storage area. It is determined whether or not it is within the range of the specified address, the designated cache memory control information is selected from the designated storage area according to the determination result, and the selected cache memory control information is output. That is, the method register 100 is the control circuit 2
02 and a plurality of storage circuits (for example, registers) 211 to 21n. The storage circuits 211 to 21n are provided with registers 241 to 24n for storing cache memory control information and registers 221 to 22 for storing a lower limit address.
Registers 231 to 23m for storing m and the upper limit address are provided. Then, when the control circuit 202 receives the write request 912 via the control bus 802, the control circuit 202 outputs the write control signal 916 in order to write the data in the designated storage circuit. And the register 221
-22m, registers 231-23m, registers 241-
The 24n, when instructed to write by the write control signal 916, takes in the write data 914 and stores it.

【0072】一方、記憶回路211〜21mは、それぞ
れ指定のアドレスの範囲に対応したキャッシュメモリ制
御情報を格納する。また、記憶回路21nはアドレスが
記憶回路211〜21mによって指定された範囲になか
った場合のキャッシュメモリ制御情報を格納する。即
ち、記憶回路21nのレジスタ24nには他の記憶回路
のアドレスでは指定されなかった範囲のアドレスに対応
したキャッシュメモリ制御情報が格納される。
On the other hand, each of the memory circuits 211 to 21m stores cache memory control information corresponding to a designated address range. The memory circuit 21n also stores cache memory control information when the address is not within the range specified by the memory circuits 211 to 21m. That is, the register 24n of the memory circuit 21n stores cache memory control information corresponding to an address in a range not designated by the address of another memory circuit.

【0073】次に、この方法レジスタの動作として、ま
ず最初に記憶回路211の動作を説明する。記憶回路2
11の比較器251は、制御用バス804を介して受け
取ったアドレスの予め定められたビットとレジスタ22
1に格納された下限アドレスとを比較し、下限アドレス
以上だったときには、比較結果921を1にし、そうで
ない場合には0にする。一方、比較器261は、アドレ
スの予め定められたビットとレジスタ231に格納され
た上限アドレスとを比較し、上限アドレスより小さい場
合は比較結果931を1にし、そうでない場合には0に
する。各比較器251、261の比較結果は論理積回路
271に入力される。そして、論理積回路271は、比
較結果921と比較結果931が共に1であった場合
に、アドレス一致信号941を1にし、そうでない場合
には0する。即ち、アドレスが指定の範囲内に入ってい
たときにはアドレス一致信号941を出力する。そし
て、この信号が出力バッファ281に入力される。出力
バッファ281は、アドレス一致信号941が1のとき
にレジスタ241に格納されているキャッシュメモリ制
御情報を制御用バス808に出力し、0の場合には何も
出力しない。
Next, as the operation of this method register, the operation of the memory circuit 211 will be described first. Memory circuit 2
The comparator 251 of 11 includes a register 22 and a predetermined bit of an address received via the control bus 804.
The lower limit address stored in 1 is compared, and if it is equal to or higher than the lower limit address, the comparison result 921 is set to 1, and if not, it is set to 0. On the other hand, the comparator 261 compares a predetermined bit of the address with the upper limit address stored in the register 231, and when the address is smaller than the upper limit address, sets the comparison result 931 to 1, and otherwise sets it to 0. The comparison result of each comparator 251 and 261 is input to the logical product circuit 271. Then, the AND circuit 271 sets the address coincidence signal 941 to 1 when both the comparison result 921 and the comparison result 931 are 1, and otherwise sets it to 0. That is, when the address is within the specified range, the address match signal 941 is output. Then, this signal is input to the output buffer 281. The output buffer 281 outputs the cache memory control information stored in the register 241 to the control bus 808 when the address match signal 941 is 1, and outputs nothing when the address match signal 941 is 0.

【0074】次に、記憶回路212〜21mの動作を説
明する。記憶回路211と記憶回路212〜21mとの
違いは、優先判定用の論理積回路292〜29mを有す
ることである。論理積回路292はアドレス一致信号9
41が0で且つアドレス一致信号942が1のときには
出力許可信号952を1にし、そうでないときには0に
する。これによって、アドレス一致信号941とアドレ
ス一致信号942が共に1であった場合に出力バッファ
281と出力バッファ282の両方が同時に制御用バス
808にキャッシュメモリ制御情報を出力するのを防止
することができる。同様に、論理積回路29mは、アド
レス一致信号941〜94mのうち94mのみが1で残
りが全て0のときに出力許可信号95mを1にし、そう
でないときには0にする。これによって、二つの出力バ
ッファが同時に制御用バス808にキャッシュメモリ制
御情報を出力するの防止することができる。
Next, the operation of the memory circuits 212 to 21m will be described. The difference between the memory circuit 211 and the memory circuits 212 to 21m is that there are AND circuits 292 to 29m for priority determination. The AND circuit 292 outputs the address match signal 9
The output permission signal 952 is set to 1 when 41 is 0 and the address coincidence signal 942 is 1, and is set to 0 otherwise. This prevents both the output buffer 281 and the output buffer 282 from simultaneously outputting the cache memory control information to the control bus 808 when the address match signal 941 and the address match signal 942 are both 1. . Similarly, the logical product circuit 29m sets the output permission signal 95m to 1 when only 94m of the address coincidence signals 941 to 94m are 1 and the rest are all 0, and otherwise 0. This prevents the two output buffers from outputting the cache memory control information to the control bus 808 at the same time.

【0075】記憶回路21nは、アドレスが記憶回路2
11〜21mに指定された値の範囲になかった場合に、
キャッシュメモリ制御情報を出力するための回路であ
る。即ち、優先判定用の論理積回路29nは、アドレス
一致信号941〜94mが全て0であったときには出力
許可信号95nを1とし、そうでないときには0とす
る。この場合、優先判定用の論理積回路292〜29n
を設けたことにより、下限アドレス用レジスタ221〜
22m及び上限アドレス用レジスタ231〜23mにど
のような値が設定されていても、制御用バス808上で
2つ以上の出力バッファの出力が衝突することはなく、
常に、1つのキャッシュメモリ制御情報が制御用バス8
08上に出力される。従って、上限アドレス及び下限ア
ドレスを設定する際の自由度が増すことになる。
The memory circuit 21n has an address of the memory circuit 2
If the value is not within the range specified by 11-21m,
It is a circuit for outputting cache memory control information. That is, the AND circuit 29n for priority determination sets the output permission signal 95n to 1 when the address coincidence signals 941 to 94m are all 0, and sets it to 0 otherwise. In this case, AND circuits 292 to 29n for priority determination
Since the lower limit address registers 221 to
No matter what value is set in the register 22m and the upper limit address registers 231 to 23m, the outputs of two or more output buffers do not collide on the control bus 808.
One cache memory control information is always the control bus 8
08 is output. Therefore, the degree of freedom in setting the upper limit address and the lower limit address increases.

【0076】また、別の例として、図9から優先判定用
の論理積回路292〜29m及び記憶回路21nを取り
除いたものを構成することもできる。この場合には、常
に、出力バッファ281〜28mのいずれか1つのみが
制御情報を出力するように、上限アドレス及び下限アド
レスを設定する必要があり、設定の自由度は減るが、ハ
ードウエアの物理量が減り、且つ記憶回路211〜21
mの処理が高速化されるという利点がある。
Further, as another example, it is also possible to configure one in which the AND circuits 292 to 29m for priority determination and the memory circuit 21n are removed from FIG. In this case, it is necessary to set the upper limit address and the lower limit address so that only any one of the output buffers 281 to 28m outputs the control information at all times. The physical quantity is reduced and the storage circuits 211 to 21
There is an advantage that the processing of m is speeded up.

【0077】また、図9の方法レジスタ100を用いた
場合にも、図7の方法レジスタ100を用いた場合と同
様に、全アドレスを複数の空間に分割し、更に、各空間
を複数の領域に分割し、各領域毎にキャッシュメモリ制
御情報を指定することもできる。更に、これに加えて、
各領域の大きさ及び配置が上限アドレス及び下限アドレ
スを書き替えることにより変更できるため、図7の方法
レジスタ100を用いた場合に比べて、キャッシュメモ
リ制御情報を設定する際の自由度が向上する。
Also, when the method register 100 of FIG. 9 is used, all addresses are divided into a plurality of spaces and each space is divided into a plurality of areas, as in the case of using the method register 100 of FIG. Alternatively, the cache memory control information can be designated for each area. In addition to this,
Since the size and arrangement of each area can be changed by rewriting the upper limit address and the lower limit address, the degree of freedom in setting the cache memory control information is improved as compared with the case where the method register 100 of FIG. 7 is used. .

【0078】図10は方法レジスタ100の第4実施例
を示す図である。本実施例における方法レジスタ100
は、論理アドレスから物理アドレスへの変換を行うため
の回路の一部を含んでいることを特徴としており、制御
回路142、記憶回路144、比較器146を備えて構
成されている。
FIG. 10 is a diagram showing a fourth embodiment of the method register 100. Method register 100 in this embodiment
Is characterized by including a part of a circuit for converting a logical address to a physical address, and is configured by including a control circuit 142, a memory circuit 144, and a comparator 146.

【0079】記憶回路144はn個のエントリ151〜
15nを備えており、各エントリはタグ、物理アドレス
及びキャッシュメモリ制御情報を格納するようになって
いる。論理アドレスから物理アドレスへの変換は、ペー
ジと呼ばれる一定の大きさの領域を単位として行われ、
各エントリは1つのページに対応して設定されている。
記憶回路144は、制御用バス804を介して受け取っ
たアドレスのうち予め定められたビットを用いて、エン
トリ151〜15nの中の1つを選択し、選択したエン
トリに格納されているタグ、物理アドレス、及びキャッ
シュメモリ制御情報を出力するようになっている。この
場合、エントリの選択に用いるアドレスのビット数をp
とすると、2のp乗とエントリの数nが等しいという関
係がある。又比較器146は、アドレスの上位ビットと
記憶回路144の出力したタグとを比較し、両者が一致
した時にはアドレス一致信号968を1とし、それ以外
の時には0とする。制御回路142は、制御用バス80
2を介して書き込み要求962を受け取り、この要求に
従った書き込み制御信号966を出力する。記憶回路1
44は書き込み制御信号966を受け取ると、指定され
たエントリに書き込みデータ964を記憶する。
The memory circuit 144 has n entries 151 to 151.
Each entry stores a tag, a physical address, and cache memory control information. Conversion from a logical address to a physical address is performed in units of a certain size area called a page,
Each entry is set corresponding to one page.
The memory circuit 144 selects one of the entries 151 to 15n by using a predetermined bit of the address received via the control bus 804, and selects the tag and the physical value stored in the selected entry. The address and cache memory control information are output. In this case, the number of bits of the address used for selecting the entry is p
Then, there is a relation that the power of 2 is equal to the number n of entries. Further, the comparator 146 compares the high-order bit of the address with the tag output from the storage circuit 144, and sets the address match signal 968 to 1 when both match and sets to 0 otherwise. The control circuit 142 uses the control bus 80.
2 to receive the write request 962 and output the write control signal 966 according to this request. Memory circuit 1
Upon receiving the write control signal 966, the 44 stores the write data 964 in the designated entry.

【0080】つぎに、図10の方法レジスタ100を有
する情報処理装置でアプリケーションプログラムを実行
する方法を説明する。
Next, a method of executing an application program in the information processing apparatus having the method register 100 shown in FIG. 10 will be described.

【0081】まず、アプリケーションプログラムの実行
を開始する前に、つぎのような処理を行う。
First, the following processing is performed before the execution of the application program is started.

【0082】(1)そのプログラムの命令及びデータの
全てに論理アドレスを割り当てる。 (2)論理アドレスの各ページ毎に最適なキャッシュメ
モリ制御情報を求め、論理アドレスと物理アドレス及び
キャッシュメモリ制御情報を対応づけたアドレス対応表
を作成する。 (3)近い将来使用されると予想されるページを選び、
それらのページを方法レジスタ100に書き込む。 以上の処理が終了した後アプリケーションプログラムの
実行を開始する。この場合、必要な命令又はデータが方
法レジスタ100に登録されている場合には、アドレス
一致信号968は1となり、登録されていない場合には
0になる。そしてアドレス一致信号968が1の時に
は、方法レジスタ100から読み出した物理アドレス及
びキャッシュメモリ制御情報が有効であるため、そのま
ま処理を続行する。
(1) Allocate logical addresses to all instructions and data of the program. (2) The optimum cache memory control information is obtained for each page of the logical address, and an address correspondence table that associates the logical address with the physical address and the cache memory control information is created. (3) Select a page that is expected to be used in the near future,
Write those pages to the method register 100. After the above processing is completed, execution of the application program is started. In this case, the address match signal 968 becomes 1 when the necessary instruction or data is registered in the method register 100, and becomes 0 when it is not registered. When the address match signal 968 is 1, the physical address and the cache memory control information read from the method register 100 are valid, and therefore the processing is continued.

【0083】一方、アドレス一致信号968が0の時に
は、上述したアドレス対応表から物理アドレスとキャッ
シュメモリ制御情報を読み出し、これを方法レジスタ1
00に書き込んだあと処理を続行する。このとき、図1
0に示す方法レジスタ100を用いると、ページという
比較的小さい領域を単位としてキャッシュメモリ制御情
報を指定できるため、図7又は図9の方法レジスタ10
0のように、比較的大きい領域を単位として指定する場
合に比べ、キャッシュメモリの使用効率が向上する。ま
た、アドレス変換用の記憶回路にキャッシュメモリ制御
情報を記憶する領域を付加するだけでよいため、ハード
ウエアの物量の増加を少なくすることができる。さら
に、キャッシュメモリ制御情報を書き替える処理を行う
ときでも、アドレス変換のための処理と一緒に行うこと
ができるため、処理時間の増加を抑制することができ
る。
On the other hand, when the address match signal 968 is 0, the physical address and the cache memory control information are read from the above-mentioned address correspondence table, and this is read by the method register 1
After writing to 00, the processing is continued. At this time,
When the method register 100 shown in FIG. 0 is used, the cache memory control information can be designated in a unit of a relatively small area such as a page.
As compared with the case where a relatively large area is designated as a unit such as 0, the use efficiency of the cache memory is improved. Further, since it is only necessary to add the area for storing the cache memory control information to the memory circuit for address conversion, it is possible to reduce the increase in the amount of hardware. Further, even when the process of rewriting the cache memory control information is performed, the process can be performed together with the process for address conversion, so that an increase in processing time can be suppressed.

【0084】図11は、キャッシュメモリ300の第2
実施例を示す図である。本実施例におけるキャッシュメ
モリ300は、相異なるブロックサイズを記憶するため
の複数の記憶領域を設けたことを特徴とする。即ち、メ
モリ364にはn個の基本ブロック371〜37nが設
けられており、各基本ブロックにはタグ、データ及びサ
イズを記憶する領域が設けられている。そして、サイズ
領域に設定されている値がデータ領域の容量と同じある
場合は、1つの基本ブロックが1つのブロックを構成す
ることを示し、データ領域の容量より大きいときは隣接
する複数の基本ブロックが1つのブロックを構成するこ
とを示している。そして、メモリ364は、アドレス9
74の予め定められたビットを用いて基本ブロック37
1〜37nの中から1つのブロックを選択し、選択した
基本ブロックに格納されているタグ、データ及びサイズ
を出力するようになっている。この場合、基本ブロック
の選択に用いるアドレスのビット数をpとすると、2の
p乗が基本ブロックの個数nに等しいという関係があ
る。また、制御回路362は、制御用バス810から書
き込み要求972を受け取り、この要求に従って書き込
み制御信号976をメモリ364ヘ出力する。メモリ3
64が書き込み制御信号976を受け取ると、メモリ3
64は、指定された基本ブロックに、データバス812
を介して入力された書き込みデータを書き込む。
FIG. 11 shows a second cache memory 300.
It is a figure which shows an Example. The cache memory 300 according to the present embodiment is characterized by having a plurality of storage areas for storing different block sizes. That is, the memory 364 is provided with n basic blocks 371 to 37n, and each basic block is provided with an area for storing a tag, data and size. If the value set in the size area is the same as the capacity of the data area, one basic block constitutes one block, and if it is larger than the capacity of the data area, a plurality of adjacent basic blocks Indicates that they form one block. Then, the memory 364 has the address 9
Basic block 37 using 74 predetermined bits
One block is selected from 1 to 37n, and the tag, data and size stored in the selected basic block are output. In this case, assuming that the number of bits of the address used for selecting the basic block is p, there is a relation that the power of 2 is equal to the number n of basic blocks. The control circuit 362 also receives a write request 972 from the control bus 810 and outputs a write control signal 976 to the memory 364 in accordance with this request. Memory 3
64 receives the write control signal 976, the memory 3
64 indicates a data bus 812 in the designated basic block.
Write the write data input via.

【0085】次に、図11の方法レジスタ100を有す
る情報処理装置において、主記憶608からキャッシュ
メモリ300に命令またはデータを転送する方法につい
て説明する。この場合、基本ブロックのデータ領域の容
量は、2の累乗(1バイト、2バイト、4バイト、8バ
イト、……)ならなんでもよいが、ここでは、4バイト
とする。また、ブロックサイズは、基本ブロックの大き
さの2の累乗倍(1倍、2倍、4倍、8倍、……)であ
る。
Next, a method of transferring an instruction or data from the main memory 608 to the cache memory 300 in the information processing apparatus having the method register 100 of FIG. 11 will be described. In this case, the capacity of the data area of the basic block may be any power of 2 (1 byte, 2 bytes, 4 bytes, 8 bytes, ...), but here it is 4 bytes. The block size is a power of 2 times the size of the basic block (1 time, 2 times, 4 times, 8 times, ...).

【0086】ブロックサイズが4バイトのときには、1
つの基本ブロックが1つのブロックとなる。ブロックサ
イズが8バイトのときには、隣接する2つの基本ブロッ
クが1つのブロックであり、先頭の基本ブロックのアド
レスが8バイト境界になるように、2つの基本ブロック
を選択する。ブロックサイズが16バイト以上のときも
同様であり、ブロックの先頭アドレスがブロックサイズ
境界となるように隣接する基本ブロックを選択する。同
じブロックに属する基本ブロックにはタグ領域及びサイ
ズ領域に同じ値が格納されている。
1 if the block size is 4 bytes
One basic block becomes one block. When the block size is 8 bytes, two adjacent basic blocks are one block, and two basic blocks are selected so that the address of the leading basic block is on an 8-byte boundary. The same applies when the block size is 16 bytes or more, and adjacent basic blocks are selected so that the block start address becomes the block size boundary. Basic blocks belonging to the same block have the same value stored in the tag area and the size area.

【0087】一方、キャッシュメモリに命令またはデー
タを転送するときには、まず最初に方法レジスタ100
から読み出したブロックサイズ(BKS)の値を調べ、
ブロックサイズに対応した数の基本ブロックを選択す
る。このとき、選択した基本ブロックの中に、主記憶6
08に転送すべきデータがあった場合には必要なデータ
を転送する。その際、転送の必要のある基本ブロックの
サイズ領域の値を調べ、隣接する基本ブロックが同一ブ
ロックのデータを格納しているときにはまとめて主記憶
608に転送する。このような処理を行うと、各基本ブ
ロックを別々に転送する場合に比べて転送効率が向上す
る。
On the other hand, when transferring an instruction or data to the cache memory, first of all, the method register 100
Check the value of block size (BKS) read from
Select the number of basic blocks that corresponds to the block size. At this time, in the selected basic block, the main memory 6
If there is data to be transferred in 08, the necessary data is transferred. At this time, the value of the size area of the basic block that needs to be transferred is checked, and when adjacent basic blocks store the same block of data, they are collectively transferred to the main memory 608. By performing such processing, the transfer efficiency is improved as compared with the case where each basic block is transferred separately.

【0088】そして主記憶608へのデータ転送が終了
したときには、選択した基本ブロックに主記憶608か
ら必要な命令又はデータを転送する。その際、方法レジ
スタ100から読み出したブロックサイズの値を各基本
ブロックのサイズ領域に書き込む。
When the data transfer to the main memory 608 is completed, necessary instructions or data are transferred from the main memory 608 to the selected basic block. At that time, the block size value read from the method register 100 is written in the size area of each basic block.

【0089】次に、本発明の第2実施例を図12に従っ
て説明する。
Next, a second embodiment of the present invention will be described with reference to FIG.

【0090】本実施例は、応答速度の相異なる2種類の
キャッシュメモリを設け、このメモリに対応して2個の
方法レジスタを設けたことを特徴としている。
This embodiment is characterized in that two types of cache memories having different response speeds are provided and two method registers are provided corresponding to the memories.

【0091】即ち、キャッシュメモリとして、一次キャ
ッシュメモリ520、二次キャッシュメモリ522が設
けられており、方法レジスタとして方法レジスタ51
4、516が設けられている。一次キャッシュメモリ5
20は、図1のキャッシュメモリ300に相当し、命令
処理ユニット512の要求に即座に応答できる高速なメ
モリではあるが、容量は小さい。一方、二次キャッシュ
メモリ522は、命令処理ユニット512の要求に即座
に対応することはできないが、主記憶608よりは高速
であり、容量は一次キャッシュメモリ520より大き
い。方法レジスタ514は、一次キャッシュメモリ52
0と二次キャッシュメモリ522との間で命令またはデ
ータを転送するときの制御情報を格納し、方法レジスタ
516は、二次キャッシュメモリ522と主記憶608
との間で命令またはデータを転送するときの制御情報を
格納するようになっている。
That is, the primary cache memory 520 and the secondary cache memory 522 are provided as the cache memory, and the method register 51 is used as the method register.
4, 516 are provided. Primary cache memory 5
20 is a high-speed memory that corresponds to the cache memory 300 of FIG. 1 and can immediately respond to a request from the instruction processing unit 512, but has a small capacity. On the other hand, the secondary cache memory 522 cannot immediately respond to the request of the instruction processing unit 512, but is faster than the main memory 608 and has a capacity larger than that of the primary cache memory 520. The method register 514 is used by the primary cache memory 52.
0 and the secondary cache memory 522 store control information when transferring an instruction or data, and the method register 516 stores the secondary cache memory 522 and the main memory 608.
It stores the control information when transferring instructions or data to and from.

【0092】本実施例においては、容量の大きい二次キ
ャッシュメモリ522を付加したことにより、一次キャ
ッシュメモリ520に必要な命令またはデータがなかっ
た場合でも、二次キャッシュメモリ522にデータがあ
るときには、そこからデータを転送できるため、主記憶
608から転送する場合よりも高速にデータ転送を行う
ことが可能となり、性能の向上を図る事ができる。
In the present embodiment, since the secondary cache memory 522 having a large capacity is added, even when there is no necessary instruction or data in the primary cache memory 520, when there is data in the secondary cache memory 522, Since the data can be transferred from there, the data can be transferred at a higher speed than in the case of transferring from the main memory 608, and the performance can be improved.

【0093】図13は、本発明の第3実施例を示す構成
図である。本実施例は、キャッシュメモリとして命令用
とデータ用の2つのキャッシュメモリを設けると共に、
各キャッシュメモリに対応して2つの方法レジスタを設
けたことを特徴としている。即ちキャッシュメモリとし
て、命令用キャッシュメモリ540、データ用キャッシ
ュメモリ542を設けると共に、方法レジスタ534、
536を設けている。
FIG. 13 is a block diagram showing the third embodiment of the present invention. In this embodiment, two cache memories for instructions and data are provided as cache memories, and
It is characterized in that two method registers are provided corresponding to each cache memory. That is, as the cache memory, the instruction cache memory 540 and the data cache memory 542 are provided, and the method register 534,
536 is provided.

【0094】命令用キャッシュメモリ540は命令のみ
を格納し、データ用キャッシュメモリ542はデータの
みを格納するようになっている。この場合、命令は読み
出ししかないため、命令用キャッシュメモリ540から
主記憶608へは命令を転送する必要はないこととな
る。そして、制御用バス982とデータバス984は命
令を転送するときに使用し、制御用バス986とデータ
バス988はデータを転送するときに使用することにな
る。一方、方法レジスタ534は、主記憶608から命
令用キャッシュメモリ540へ命令を転送するときの制
御情報を格納し、方法レジスタ536はデータ用キャッ
シュメモリ542と主記憶608との間でデータを転送
するときの制御情報を格納するようになっている。
The instruction cache memory 540 stores only instructions, and the data cache memory 542 stores only data. In this case, it is not necessary to transfer the instruction from the instruction cache memory 540 to the main memory 608 because the instruction is only read. The control bus 982 and the data bus 984 are used when transferring an instruction, and the control bus 986 and the data bus 988 are used when transferring data. On the other hand, the method register 534 stores control information when transferring an instruction from the main memory 608 to the instruction cache memory 540, and the method register 536 transfers data between the data cache memory 542 and the main memory 608. It stores the control information at the time.

【0095】本実施例においては、命令用キャッシュメ
モリ540とデータ用キャッシュメモリ542は同時に
アクセスすることが可能であるため、命令処理ユニット
532からの命令の読み出し要求とデータの読み出し又
は書き込み要求を並列に処理することが可能となり、命
令とデータで同一のキャッシュメモリを使用する場合に
比べて性能が向上する。
In this embodiment, since the instruction cache memory 540 and the data cache memory 542 can be accessed simultaneously, the instruction read request and the data read or write request from the instruction processing unit 532 are executed in parallel. Therefore, the performance is improved as compared with the case where the same cache memory is used for the instruction and the data.

【0096】[0096]

【発明の効果】以上説明したように、本発明によれば、
アプリケーションプログラムの性質とハードウエアの各
種パラメータを考慮して求めた最適なキャッシュメモリ
制御情報に従ってキャッシュメモリと主記憶手段との間
の情報の転送を制御するようにしたため、キャッシュメ
モリの使用効率を向上させることができ、情報処理装置
の処理性能の向上に寄与することができる。
As described above, according to the present invention,
The transfer efficiency of the cache memory is improved because the transfer of information between the cache memory and the main memory is controlled according to the optimum cache memory control information obtained by considering the properties of the application program and various hardware parameters. Therefore, the processing performance of the information processing apparatus can be improved.

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

【図1】本発明の第1実施例を示すブロック構成図であ
る。
FIG. 1 is a block diagram showing the first embodiment of the present invention.

【図2】方法レジスタの第1実施例を示すブロック構成
図である。
FIG. 2 is a block diagram showing a first embodiment of a method register.

【図3】キャッシュメモリの第1実施例を示すブロック
構成図である。
FIG. 3 is a block configuration diagram showing a first embodiment of a cache memory.

【図4】メモリ制御ユニットのブロック構成図である。FIG. 4 is a block diagram of a memory control unit.

【図5】メモリ制御ユニットの命令またはデータの読み
出し時の処理を説明するためのフロチャートである。
FIG. 5 is a flow chart for explaining a process at the time of reading an instruction or data of a memory control unit.

【図6】メモリ制御ユニットのデータの書き込み時の処
理を説明するためのフロチャートである。
FIG. 6 is a flowchart for explaining a process of writing data in the memory control unit.

【図7】方法レジスタの第2実施例を示すブロック構成
図である。
FIG. 7 is a block diagram showing a second embodiment of a method register.

【図8】図7の方法レジスタを使用したときのアドレス
とキャッシュメモリ制御情報の対応及びその使用方法を
説明するための図である。
8 is a diagram for explaining correspondence between an address and cache memory control information when the method register of FIG. 7 is used and a method of using the same.

【図9】方法レジスタの第3実施例を示すブロック構成
図である。
FIG. 9 is a block diagram showing a third embodiment of a method register.

【図10】方法レジスタの第4実施例を示すブロック構
成図である。
FIG. 10 is a block diagram showing a fourth embodiment of a method register.

【図11】キャッシュメモリの第2実施例を示すブロッ
ク構成図である。
FIG. 11 is a block diagram showing a second embodiment of the cache memory.

【図12】本発明の第2実施例を示すブロック構成図で
ある。
FIG. 12 is a block diagram showing a second embodiment of the present invention.

【図13】本発明の第3実施例を示すブロック構成図で
ある。
FIG. 13 is a block diagram showing a third embodiment of the present invention.

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

100 方法レジスタ 102 ブロックサイズ(BKS) 104 プリフェッチ数(NPF) 106 キャッシング選択(C/N) 108 コピーバック選択(C/S) 110 フェッチオンライト選択(F/W) 112 レジスタ 300 キャッシュメモリ 400 メモリ制御ユニット 404 プリフェッチ制御回路 502 命令処理ユニット 608 主記憶 100 Method Register 102 Block Size (BKS) 104 Prefetch Number (NPF) 106 Caching Selection (C / N) 108 Copyback Selection (C / S) 110 Fetch On Write Selection (F / W) 112 Register 300 Cache Memory 400 Memory Control Unit 404 Prefetch control circuit 502 Instruction processing unit 608 Main memory

Claims (12)

【特許請求の範囲】[Claims] 【請求項1】 実行すべき命令及び処理すべきデータに
関する情報を格納する主記憶手段と、前記主記憶手段に
格納された命令に従って、前記主記憶手段に格納された
データを処理する命令処理手段と、前記主記憶手段に格
納された情報の一部を格納するキャッシュメモリと、ア
プリケーションプログラムに応じたキャッシュメモリ制
御情報を格納する制御情報記憶手段と、前記制御情報記
憶手段に格納されたキャッシュメモリ制御情報に従って
前記主記憶手段と前記キャッシュメモリ間における情報
の転送を制御するメモリ制御手段とを備えている情報処
理装置。
1. A main storage means for storing an instruction to be executed and information about data to be processed, and an instruction processing means for processing the data stored in the main storage means in accordance with the instruction stored in the main storage means. A cache memory for storing a part of the information stored in the main storage means, a control information storage means for storing cache memory control information according to an application program, and a cache memory stored in the control information storage means An information processing apparatus comprising: a memory control unit that controls transfer of information between the main storage unit and the cache memory according to control information.
【請求項2】 実行すべき命令及び処理すべきデータに
関する情報を格納する主記憶手段と、前記主記憶手段に
格納された命令に従って、前記主記憶手段に格納された
データを処理する命令処理手段と、前記主記憶手段に格
納された情報の一部を格納するキャッシュメモリと、ア
プリケーションプログラムに応じた複数のキャッシュメ
モリ制御情報を格納する制御情報記憶手段と、前記制御
情報記憶手段に格納されたキャッシュメモリ制御情報群
のうち指定のキャッシュメモリ制御情報に従って前記主
記憶手段と前記キャッシュメモリ間における情報の転送
を制御するメモリ制御手段とを備えている情報処理装
置。
2. Main memory means for storing information on an instruction to be executed and data to be processed, and instruction processing means for processing the data stored in the main memory means in accordance with the instruction stored in the main memory means. A cache memory for storing a part of the information stored in the main storage means, a control information storage means for storing a plurality of cache memory control information according to an application program, and a control information storage means An information processing apparatus comprising: a memory control unit that controls transfer of information between the main storage unit and the cache memory according to designated cache memory control information of a cache memory control information group.
【請求項3】 キャッシュメモリは、情報の転送単位を
示すブロックサイズに応じた複数のメモリ領域と、情報
をブロックサイズに応じて指定のメモリ領域に格納する
書き込み制御手段とを有し、制御情報記憶手段に格納さ
れたキャッシュメモリ制御情報は、情報の転送単位を示
すブロックサイズとして転送に適するブロックサイズに
関する情報を含む請求項1または2記載の情報処理装
置。
3. The cache memory has a plurality of memory areas according to a block size indicating a transfer unit of information, and a write control means for storing the information in a designated memory area according to the block size. 3. The information processing apparatus according to claim 1, wherein the cache memory control information stored in the storage means includes information regarding a block size suitable for transfer as a block size indicating a transfer unit of information.
【請求項4】 メモリ制御手段は、将来必要とする情報
のアドレスを予測し、この予測結果に従って情報の転送
を制御するプリフェッチ制御手段を有し、制御情報記憶
手段に格納されたキャッシュメモリ制御情報は、前記プ
リフェッチ制御手段が一度に転送すべき情報の転送量を
指定する情報を含む請求項1または2記載の情報処理装
置。
4. The memory control means has prefetch control means for predicting an address of information required in the future and controlling transfer of information according to the prediction result, and cache memory control information stored in the control information storage means. 3. The information processing apparatus according to claim 1, wherein the prefetch control unit includes information designating a transfer amount of information to be transferred at one time.
【請求項5】 キャッシュメモリは、情報の転送単位を
示すブロックサイズに応じた複数のメモリ領域と、情報
をブロックサイズに応じて指定のメモリ領域に格納する
書き込み制御手段とを有し、制御情報記憶手段に格納さ
れたキャッシュメモリ制御情報は情報の転送単位を示す
ブロックサイズとして転送に適するブロックサイズに関
する情報を含み、メモリ制御手段は、将来必要とする情
報のアドレスを予測し、この予測結果に従って情報の転
送を制御するプリフェッチ制御手段を有し、制御情報記
憶手段に格納されたキャッシュメモリ制御情報は、前記
プリフェッチ制御手段が一度に転送すべき情報の転送量
を指定する情報を含む請求項1または2記載の情報処理
装置。
5. The cache memory has a plurality of memory areas corresponding to a block size indicating a transfer unit of information, and write control means for storing the information in a designated memory area according to the block size. The cache memory control information stored in the storage means includes information on a block size suitable for transfer as a block size indicating a transfer unit of information, and the memory control means predicts an address of information required in the future, and according to this prediction result. The cache memory control information stored in the control information storage means includes prefetch control means for controlling information transfer, and the cache memory control information includes information designating a transfer amount of information to be transferred at one time by the prefetch control means. Or the information processing device according to 2.
【請求項6】 メモリ制御手段は、命令処理手段から情
報の読み出し要求を受けたときに、キャッシュメモリと
情報の授受を行ってキャッシュメモリに指定の情報が存
在するか否かを判定する判定手段と、前記判定手段の判
定結果と制御情報記憶手段に格納されたキャッシュメモ
リ制御情報に従って情報の転送を制御する転送制御手段
とを有し、制御情報記憶手段に格納されたキャッシュメ
モリ制御情報は、キャッシュメモリに読み出し要求を受
けた情報が存在しないときに、指定の情報を主記憶手段
からキャッシュメモリに転送すべきか否かを示す情報を
含む請求項1、2、3、4または5記載の情報処理装
置。
6. The memory control means, when receiving the information read request from the instruction processing means, exchanges information with the cache memory and determines whether or not the specified information exists in the cache memory. And a transfer control unit that controls transfer of information according to the determination result of the determination unit and the cache memory control information stored in the control information storage unit, and the cache memory control information stored in the control information storage unit is 6. The information according to claim 1, 2, 3, 4 or 5, including information indicating whether or not designated information should be transferred from the main storage means to the cache memory when there is no information requested to be read in the cache memory. Processing equipment.
【請求項7】 メモリ制御手段は、命令処理手段から情
報の書き込み要求を受けたときに、キャッシュメモリと
情報の授受を行ってキャッシュメモリに指定の情報が存
在するか否かを判定する判定手段と、前記判定手段の判
定結果と制御情報記憶手段に格納されたキャッシュメモ
リ制御情報に従って情報の転送を制御する転送制御手段
とを有し、制御情報記憶手段に格納されたキャッシュメ
モリ制御情報は、キャッシュメモリに書き込み要求を受
けた情報が存在しないときに、指定の情報を主記憶手段
からキャッシュメモリに転送すべきか否かを示す情報を
含む請求項1、2、3、4または5記載の情報処理装
置。
7. The memory control means, when receiving a request for writing information from the instruction processing means, exchanges information with the cache memory and determines whether or not the specified information exists in the cache memory. And a transfer control unit that controls transfer of information according to the determination result of the determination unit and the cache memory control information stored in the control information storage unit, and the cache memory control information stored in the control information storage unit is 6. The information according to claim 1, 2, 3, 4 or 5, including information indicating whether or not designated information should be transferred from the main storage means to the cache memory when there is no information requested to be written in the cache memory. Processing equipment.
【請求項8】 メモリ制御手段は、命令処理手段から情
報の書き込み要求を受けたときに、キャッシュメモリに
指定の情報を転送する情報転送手段と、制御情報記憶手
段に格納されたキャッシュメモリ制御情報に従って情報
の転送を制御する転送制御手段とを有し、制御情報記憶
手段に格納されたキャッシュメモリ制御情報は、キャッ
シュメモリに格納すべき指定の情報を主記憶手段にも書
き込むべきかそれともキュッシュメモリに格納された指
定の情報が有効である間は指定の情報を主記憶手段へ書
き込むことを禁止するかを示す情報を含む請求項1、
2、3、4または5記載の情報処理装置。
8. The memory control means, when receiving a request for writing information from the instruction processing means, information transfer means for transferring designated information to the cache memory, and cache memory control information stored in the control information storage means. The cache memory control information stored in the control information storage means, should the specified information to be stored in the cache memory also be written in the main storage means or the cache memory. 2. The information including information indicating whether to prohibit writing of the designated information in the main storage means while the designated information stored in is valid.
The information processing device described in 2, 3, 4 or 5.
【請求項9】 制御情報記憶手段は、複数の部分に分割
されたキャッシュメモリ制御情報をそれぞれ格納する記
憶領域群を有し、分岐命令の頻度の高低に応じて分割さ
れた命令が前記記憶領域群の中のいずれかの記憶領域に
分散して格納され、使用頻度の高低に応じて分割された
データが前記記憶領域群のうち命令とは異なる記憶領域
に分散して格納されている請求項1または2記載の情報
処理装置。
9. The control information storage means has a storage area group for respectively storing cache memory control information divided into a plurality of parts, and instructions divided according to the frequency of branch instructions are stored in the storage area. Data stored in any of the storage areas of the group in a distributed manner and divided according to the frequency of use are stored in the storage area of the storage area group different from the instruction. The information processing device according to 1 or 2.
【請求項10】 制御情報記憶手段は、相異なるキャッ
シュメモリ制御情報をそれぞれ格納する複数の記憶領域
と、命令処理手段からアドレスを受けこのアドレスが各
記憶領域に対応して設定されたアドレスの範囲内にある
か否かを判定する複数のアドレス範囲判定手段と、指定
のアドレス範囲判定手段から肯定の判定結果が得られ他
のアドレス範囲判定手段からは否定の判定結果が得られ
たことを条件に指定の記憶領域からキャッシュメモリ制
御情報を選択して出力する複数の情報出力手段とを有す
る請求項1または2記載の情報処理装置。
10. The control information storage means has a plurality of storage areas for respectively storing different cache memory control information, and an address range in which the addresses are received from the instruction processing means and the addresses are set corresponding to the respective storage areas. A plurality of address range determining means for determining whether or not they are within the range, and the condition that a positive determination result is obtained from the designated address range determining means and a negative determination result is obtained from the other address range determining means. 3. An information processing apparatus according to claim 1, further comprising a plurality of information output means for selecting and outputting cache memory control information from a designated storage area.
【請求項11】 キャッシュメモリは応答速度の相異な
る複数のメモリで構成され、メモリ制御手段は、主記憶
手段と一方のキャッシュメモリ間における情報の転送を
制御すると共に各キャッシュメモリ間における情報の転
送を制御してなる請求項1または2記載の情報処理装
置。
11. The cache memory is composed of a plurality of memories having different response speeds, and the memory control means controls the transfer of information between the main storage means and one of the cache memories, and transfers the information between the cache memories. The information processing apparatus according to claim 1, wherein the information processing apparatus controls the information processing apparatus.
【請求項12】 キャッシュメモリは命令用キャッシュ
メモリとデータ用キャッシュメモリとから構成され、制
御情報記憶手段はキャッシュメモリ制御情報のうち命令
用制御情報を格納する命令用制御情報記憶手段とキャッ
シュメモリ制御情報のうちデータ用制御情報を格納する
データ用制御情報記憶手段とから構成され、メモリ制御
手段は、命令用キャッシュメモリと主記憶手段間におけ
る情報の転送を制御すると共にデータ用キャッシュメモ
リと主記憶手段間における情報の転送を制御してなる請
求項1または2記載の情報処理装置。
12. The cache memory comprises an instruction cache memory and a data cache memory, and the control information storage means stores an instruction control information storage means for storing instruction control information of the cache memory control information and a cache memory control. The memory control means controls transfer of information between the instruction cache memory and the main memory means, and the data cache memory and the main memory. The information processing apparatus according to claim 1, wherein transfer of information between means is controlled.
JP5276721A 1993-11-05 1993-11-05 Information processor Pending JPH07129464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5276721A JPH07129464A (en) 1993-11-05 1993-11-05 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5276721A JPH07129464A (en) 1993-11-05 1993-11-05 Information processor

Publications (1)

Publication Number Publication Date
JPH07129464A true JPH07129464A (en) 1995-05-19

Family

ID=17573414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5276721A Pending JPH07129464A (en) 1993-11-05 1993-11-05 Information processor

Country Status (1)

Country Link
JP (1) JPH07129464A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005149290A (en) * 2003-11-18 2005-06-09 Seiko Epson Corp Information processing device and cache memory control method
JP2005524171A (en) * 2002-05-01 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Memory region based prefetching
JP2007500402A (en) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド Data processing system with peripheral device access protection
JPWO2007099598A1 (en) * 2006-02-28 2009-07-16 富士通株式会社 Processor having prefetch function
JP2010176692A (en) * 2010-03-15 2010-08-12 Fujitsu Ltd Arithmetic processing device, information processing apparatus, and control method
JP2011509475A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for operating a computer
JP2012068740A (en) * 2010-09-21 2012-04-05 Mitsubishi Electric Corp Information processing system
JP2014016812A (en) * 2012-07-09 2014-01-30 Fujitsu Ltd Memory device, arithmetic processing unit and control method of cache memory
US9280480B2 (en) 2008-01-11 2016-03-08 International Business Machines Corporation Extract target cache attribute facility and instruction therefor

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005524171A (en) * 2002-05-01 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Memory region based prefetching
JP2007500402A (en) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド Data processing system with peripheral device access protection
JP2005149290A (en) * 2003-11-18 2005-06-09 Seiko Epson Corp Information processing device and cache memory control method
JPWO2007099598A1 (en) * 2006-02-28 2009-07-16 富士通株式会社 Processor having prefetch function
US8074029B2 (en) 2006-02-28 2011-12-06 Fujitsu Limited Processor equipped with a pre-fetch function and pre-fetch control method
JP4574712B2 (en) * 2006-02-28 2010-11-04 富士通株式会社 Arithmetic processing apparatus, information processing apparatus and control method
JP2011509475A (en) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Method and system for operating a computer
US9280480B2 (en) 2008-01-11 2016-03-08 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US9996472B2 (en) 2008-01-11 2018-06-12 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US10387323B2 (en) 2008-01-11 2019-08-20 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US10963391B2 (en) 2008-01-11 2021-03-30 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
JP2010176692A (en) * 2010-03-15 2010-08-12 Fujitsu Ltd Arithmetic processing device, information processing apparatus, and control method
JP2012068740A (en) * 2010-09-21 2012-04-05 Mitsubishi Electric Corp Information processing system
JP2014016812A (en) * 2012-07-09 2014-01-30 Fujitsu Ltd Memory device, arithmetic processing unit and control method of cache memory

Similar Documents

Publication Publication Date Title
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US5581736A (en) Method and system for dynamically sharing RAM between virtual memory and disk cache
JP2554449B2 (en) Data processing system having cache memory
KR100562906B1 (en) Flash memory controling apparatus for xip in serial flash memory considering page priority and method using thereof and flash memory chip thereof
US5809563A (en) Method and apparatus utilizing a region based page table walk bit
US5829025A (en) Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
US7676632B2 (en) Partial cache way locking
JP4006436B2 (en) Multi-level cache with overlapping sets of associative sets at different cache levels
JP7340326B2 (en) Perform maintenance operations
US6157980A (en) Cache directory addressing scheme for variable cache sizes
US20080301371A1 (en) Memory Cache Control Arrangement and a Method of Performing a Coherency Operation Therefor
US6122708A (en) Data cache for use with streaming data
US6408368B1 (en) Operating system page placement to maximize cache data reuse
JP4888839B2 (en) Vector computer system having cache memory and method of operating the same
CN115168247A (en) Method for dynamically sharing memory space in parallel processor and corresponding processor
US5983313A (en) EDRAM having a dynamically-sized cache memory and associated method
JPH07129464A (en) Information processor
JPH06202951A (en) Cash memory system
EP1103898A2 (en) Microprocessor and memory
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
WO2002027498A2 (en) System and method for identifying and managing streaming-data
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
US5933856A (en) System and method for processing of memory data and communication system comprising such system
US20090164732A1 (en) Cache memory system and cache memory control method