JP2003030051A - Data processor and data access method - Google Patents

Data processor and data access method

Info

Publication number
JP2003030051A
JP2003030051A JP2001220336A JP2001220336A JP2003030051A JP 2003030051 A JP2003030051 A JP 2003030051A JP 2001220336 A JP2001220336 A JP 2001220336A JP 2001220336 A JP2001220336 A JP 2001220336A JP 2003030051 A JP2003030051 A JP 2003030051A
Authority
JP
Japan
Prior art keywords
cache
data
processor
cache line
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2001220336A
Other languages
Japanese (ja)
Inventor
Nobutoshi Onoda
亘利 小野田
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001220336A priority Critical patent/JP2003030051A/en
Publication of JP2003030051A publication Critical patent/JP2003030051A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To suppress reduce data processing speed due to erroneous cache by excluding probabilistic elements from behaviors of a cache memory. SOLUTION: A computer 10 is provided with a CPU 11 to carry out a given instruction and main storage memory 16 to be defined as an accessing object of the CPU 11. In addition, the computer 10 is provided with the cache memory 13 to act for write and/or read of data to be performed between the CPU 11 and the main storage memory 16 and a cache memory control part 15 to lock a cache line to write and/or read data by accessing the cache memory 13 by the CPU 11 based on the instruction given to the CPU 11 and to unlock the cache line according to access to an address of the locked cache line by the CPU 11.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、プロセッサと主記
憶メモリとの間で行われるべきデータの書き込み及び/
又は読み出しを代行するキャッシュメモリに保持される
データに対してアクセスするデータ処理装置及びデータ
アクセス方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to writing and / or writing data to be performed between a processor and a main memory.
Also, the present invention relates to a data processing device and a data access method for accessing data held in a cache memory that performs read-out.

【0002】[0002]

【従来の技術】一般的なオペレーティングシステム(op
erating system)においては、データ処理の1つの単位
として、スレッド(thread)やプロセス(process)が
存在する。オペレーティングシステムは、限られた資源
しか有しないワークステーション等の計算機上で複数の
データ処理を同時に行うために、スレッド又はプロセス
をいわゆるコンテキストスイッチング(context switch
ing)動作によって切り替えて処理を行い、マルチタス
クシステムを実現している。
2. Description of the Related Art A general operating system (op
In the erating system, a thread or a process exists as one unit of data processing. An operating system executes a so-called context switch (thread) in order to perform a plurality of data processings simultaneously on a computer such as a workstation having limited resources.
ing) operation is performed by switching to realize a multi-task system.

【0003】コンテキストスイッチング動作において
は、計算機内に設けられた複数のレジスタファイルの内
容を主記憶メモリ上へ退避する処理、及び、主記憶メモ
リ上からレジスタファイルへ復元する処理が行われる。
このため、複数個へのレジスタファイルの内容を退避又
は復元する処理においては、CPU(Central Processi
ng Unit)の動作速度に比べて動作速度の遅い主記憶メ
モリに対するアクセスの頻度が増加し、データ処理のオ
ーバーヘッドを増加させる要因となる。
In the context switching operation, a process of saving the contents of a plurality of register files provided in the computer to the main memory and a process of restoring the contents of the main memory to the register file are performed.
Therefore, in the process of saving or restoring the contents of the register file to a plurality of CPUs, the CPU (Central Processi)
ng Unit), the frequency of access to the main memory, which has a slower operating speed than the operating speed, will increase the overhead of data processing.

【0004】そこで、計算機においては、メモリ階層
(memory hierarchy)上でCPUと主記憶メモリとの間
に介在する緩衝メモリとしてのいわゆるキャッシュメモ
リを設けることが行われている。すなわち、計算機にお
いては、CPUが時間的に直近にアクセスしたデータを
再使用したり、時間的に直近にアクセスしたデータに近
い場所に置かれたデータを参照する特性が存在すること
に着目し、レジスタファイルの内容を退避又は復元する
処理の際に、主記憶メモリ上のデータの一部の写しを動
作速度の速いキャッシュメモリ上に確保し、CPUと主
記憶メモリとの間で行われるべきデータの書き込み及び
/又は読み出しを代行することにより、主記憶メモリに
対するアクセス時間を隠蔽することが行われている。コ
ンテキストスイッチング動作においても、キャッシュメ
モリを用いることにより、データ処理を高速に行うこと
が可能となる。
Therefore, in the computer, a so-called cache memory is provided as a buffer memory interposed between the CPU and the main storage memory on the memory hierarchy. That is, in the computer, paying attention to the fact that the CPU reuses the data most recently accessed in time, or refers to the data placed near the most recently accessed data in time, Data to be saved between the CPU and main memory when a process of saving or restoring the contents of the register file secures a copy of part of the data on the main memory in the cache memory with a high operation speed. By substituting the writing and / or reading of the above, the access time to the main memory is hidden. Even in the context switching operation, the data processing can be performed at high speed by using the cache memory.

【0005】[0005]

【発明が解決しようとする課題】ところで、上述したキ
ャッシュメモリの容量は、主記憶メモリの容量に比べて
ごく僅かなものである。そのため、CPUがキャッシュ
メモリにアクセスした場合に、必要とするデータが存在
しない場合が生じ、いわゆるキャッシュミスと呼ばれる
状況が生じる。この点で、キャッシュメモリの動作は、
確率的なものであるといわざるを得なかった。したがっ
て、計算機においては、発生したコンテキストスイッチ
ング動作の全ての場合において、キャッシュメモリによ
るデータ処理の高速化を図ることは困難であった。
The capacity of the cache memory described above is very small compared to the capacity of the main memory. Therefore, when the CPU accesses the cache memory, the required data may not exist, resulting in a so-called cache miss. At this point, the operation of the cache memory is
I had to say that it was stochastic. Therefore, it is difficult for the computer to speed up the data processing by the cache memory in all cases of the generated context switching operation.

【0006】また、キャッシュメモリは、データ処理の
高速化をもたらす反面、いわゆるキャッシュヒット時と
キャッシュミス時において、データ処理速度の差を生み
出すことになる。そのため、主記憶メモリへのアクセス
を頻繁に行う必要があるコンテキストスイッチング動作
を含むオペレーティングシステムのサービスコールにお
いては、たとえ同じ処理を行う場合であっても、処理時
間に大きなばらつきを生じる。計算機においては、効率
よく資源を利用するシステムの設計上の面からも、最高
速のデータ処理速度を損なうことなく、処理時間のばら
つきを最小限に抑制することが重要となる。
[0006] On the other hand, the cache memory brings about a speeding up of data processing, but on the other hand, it causes a difference in data processing speed at the time of so-called cache hit and cache miss. Therefore, in the service call of the operating system including the context switching operation that requires frequent access to the main memory, even if the same processing is performed, the processing time greatly varies. In a computer, it is important to minimize variations in processing time without impairing the maximum data processing speed from the standpoint of designing a system that efficiently uses resources.

【0007】このようなキャッシュメモリの確率的な動
作を回避するための方策としては、キャッシュロック機
構と呼ばれるものがある。このキャッシュロック機構
は、レジスタファイルの内容をキャッシュメモリ上に固
定するためのキャッシュロック命令によって実現するも
のである。これにより、計算機においては、ロックされ
たキャッシュラインの内容が勝手に変更されることがな
く、このキャッシュラインにアクセスする際には必ずヒ
ットし、キャッシュミスを生じるおそれが回避される。
As a measure for avoiding such a stochastic operation of the cache memory, there is one called a cache lock mechanism. This cache lock mechanism is realized by a cache lock instruction for fixing the contents of the register file in the cache memory. As a result, in the computer, the contents of the locked cache line are not changed without permission, and when accessing this cache line, there is a risk that a hit will always occur and a cache miss will occur.

【0008】しかしながら、計算機においては、不要な
キャッシュロックによって必要なデータをキャッシュメ
モリに保持することができない場合があり、この結果、
主記憶メモリへのアクセス頻度が多くなり、データ処理
速度の低下を招来することがあった。その上、計算機に
おいては、キャッシュロック命令によってロックされた
キャッシュラインをアンロックするには、改めてキャッ
シュアンロック命令を与える必要があった。
However, the computer may not be able to hold the necessary data in the cache memory due to unnecessary cache lock, and as a result,
The frequency of access to the main memory is increased, which may cause a decrease in data processing speed. Moreover, in the computer, in order to unlock the cache line locked by the cache lock instruction, it is necessary to give a cache unlock instruction again.

【0009】コンテキストスイッチング動作の高速化を
目的とする既存の装置としては、計算機内に通常用いら
れるレジスタファイルとは別のレジスタファイルを設け
たものがある。この計算機においては、コンテキストス
イッチング動作が発生した場合、レジスタファイルの内
容を別途用意した他のレジスタファイルに退避する。こ
のように、この計算機は、高速の内部バスで結合された
レジスタファイル間のデータ転送を行うことにより、主
記憶メモリへのアクセス頻度の増加によって発生するオ
ーバーヘッドを抑制するものである。
As an existing device for the purpose of speeding up the context switching operation, there is a device provided with a register file different from the register file normally used in a computer. In this computer, when a context switching operation occurs, the contents of the register file are saved in another separately prepared register file. In this way, this computer suppresses the overhead caused by the increase in the frequency of access to the main memory by performing the data transfer between the register files connected by the high-speed internal bus.

【0010】しかしながら、この計算機は、通常用いら
れるレジスタファイルの他に別途レジスタファイルを設
ける必要があることから、ハードウェアの製造コストが
増加するという問題があった。
However, this computer has a problem that the manufacturing cost of the hardware increases because it is necessary to separately provide a register file in addition to the normally used register file.

【0011】また、コンテキストスイッチング動作の高
速化を目的とする他の既存の装置としては、特開200
0−242505号公報に記載されているように、予め
プログラム実行時にスレッド内にて利用可能なレジスタ
ファイルの数を制限することにより、コンテキストスイ
ッチング動作時において、退避すべきレジスタファイル
の数を削減し、データ処理の時間短縮を図るものがあ
る。
Further, as another existing device for the purpose of speeding up the context switching operation, Japanese Patent Laid-Open No.
As described in Japanese Patent Application Laid-Open No. 0-242505, by limiting the number of register files that can be used in a thread during program execution in advance, the number of register files to be saved can be reduced during context switching operation. , There is one that aims to shorten the data processing time.

【0012】しかしながら、この計算機においては、レ
ジスタファイルの数を制限することにより、データ処理
速度の低下を招来する可能性が存在することになる。ま
た、この計算機は、レジスタファイルの数を制限するた
めに特別なコンパイラを必要とするといった問題があっ
た。さらに、この計算機は、退避すべきレジスタファイ
ルをオペレーティングシステムに通知するための特別な
ハードウェアを設ける必要があった。
However, in this computer, there is a possibility that the data processing speed may be lowered by limiting the number of register files. Further, this computer has a problem that a special compiler is required to limit the number of register files. Furthermore, this computer had to be provided with special hardware for notifying the operating system of the register file to be saved.

【0013】本発明は、このような実情に鑑みてなされ
たものであり、キャッシュアンロック命令を用いること
なくロックされたキャッシュラインをアンロックするこ
とができ、キャッシュメモリの動作挙動から確率的な要
素を排除して、キャッシュミスによるデータ処理速度の
低下を抑制することができるデータ処理装置及びデータ
アクセス方法を提供することを目的とする。
The present invention has been made in view of the above circumstances, and it is possible to unlock a locked cache line without using a cache unlock instruction, and it is probabilistic from the operation behavior of the cache memory. An object of the present invention is to provide a data processing device and a data access method capable of suppressing the decrease in data processing speed due to a cache miss by eliminating elements.

【0014】[0014]

【課題を解決するための手段】上述した目的を達成する
本発明にかかるデータ処理装置は、与えられた命令を実
行するプロセッサと、このプロセッサのアクセス対象と
され、プロセッサから供給されるデータが書き込まれる
及び/又はプロセッサによって格納しているデータが読
み出される主記憶メモリと、プロセッサが主記憶メモリ
に書き込むべきデータ及び/又はプロセッサが主記憶メ
モリから読み出すべきデータを保持してプロセッサと主
記憶メモリとの間で行われるべきデータの書き込み及び
/又は読み出しを代行するキャッシュメモリと、プロセ
ッサに与えられた命令に基づいて、プロセッサがキャッ
シュメモリにアクセスしてデータの書き込み及び/又は
読み出しを行ったキャッシュラインをロックするととも
に、ロックされたキャッシュラインのアドレスにプロセ
ッサがアクセスするのに応じて、キャッシュラインをア
ンロックする制御手段とを備えることを特徴としてい
る。
A data processing apparatus according to the present invention that achieves the above-mentioned object writes a processor that executes a given instruction and data to be accessed by the processor and supplied from the processor. And / or a main memory from which data stored by the processor is read and a processor and a main memory that hold data to be written to the main memory by the processor and / or data to be read from the main memory by the processor Between the cache memory that performs the writing and / or reading of data to be performed between the cache memory and the cache line in which the processor accesses the cache memory and writes and / or reads the data based on the instruction given to the processor. Locked and locked Depending on the processor to access the address of Yasshurain, it is characterized in that a control means for unlocking the cache line.

【0015】このような本発明にかかるデータ処理装置
は、制御手段の制御のもとに、キャッシュラインを一時
的にロックし、以降このキャッシュラインに対応する主
記憶メモリのアドレスに対するプロセッサのアクセスが
あるまで当該キャッシュラインをロックする。
In the data processing apparatus according to the present invention as described above, the cache line is temporarily locked under the control of the control means, and thereafter, the processor access to the address of the main memory corresponding to the cache line is possible. Lock the cache line until a certain time.

【0016】また、上述した目的を達成する本発明にか
かるデータアクセス方法は、与えられた命令を実行する
プロセッサとこのプロセッサのアクセス対象とされる主
記憶メモリとの間で書き込み及び/又は読み出しが行わ
れるデータであってプロセッサが主記憶メモリに書き込
むべきデータ及び/又はプロセッサが主記憶メモリから
読み出すべきデータを保持し、プロセッサと主記憶メモ
リとの間で行われるべきデータの書き込み及び/又は読
み出しを代行するキャッシュメモリに保持されるデータ
に対してアクセスするデータアクセス方法であって、プ
ロセッサに与えられた命令に基づいて、プロセッサがキ
ャッシュメモリにアクセスしてデータの書き込み及び/
又は読み出しを行ったキャッシュラインをロックし、ロ
ックされたキャッシュラインのアドレスにプロセッサが
アクセスするのに応じて、キャッシュラインをアンロッ
クすることを特徴としている。
Further, in the data access method according to the present invention which achieves the above-mentioned object, writing and / or reading can be performed between a processor executing a given instruction and a main memory to be accessed by this processor. Write and / or read of data to be performed between the processor and the main memory, holding data to be written to the main memory by the processor and / or data to be read from the main memory by the processor A data access method for accessing data held in a cache memory on behalf of a processor, wherein the processor accesses the cache memory based on an instruction given to the processor to write and / or write data.
Alternatively, it is characterized in that the read cache line is locked and the cache line is unlocked when the processor accesses the address of the locked cache line.

【0017】このような本発明にかかるデータアクセス
方法は、キャッシュラインを一時的にロックし、以降こ
のキャッシュラインに対応する主記憶メモリのアドレス
に対するプロセッサのアクセスがあるまで当該キャッシ
ュラインをロックする。
In such a data access method according to the present invention, the cache line is temporarily locked, and thereafter, the cache line is locked until the processor accesses the address of the main memory corresponding to the cache line.

【0018】[0018]

【発明の実施の形態】以下、本発明を適用した具体的な
実施の形態について図面を参照しながら詳細に説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Specific embodiments to which the present invention is applied will be described in detail below with reference to the drawings.

【0019】この実施の形態は、図1に示すように、い
わゆるキャッシュメモリ13を備える例えばワークステ
ーション等の計算機10であって、特に、キャッシュア
ンロック命令を用いることなくロックされたキャッシュ
ラインをアンロックすることができる機構を備えるもの
である。すなわち、この計算機10は、いわゆるコンテ
キストスイッチング(context switching)動作時等に
おいて有効なものであり、レジスタファイルの内容をキ
ャッシュメモリ13上に一時的にロックすることによ
り、キャッシュメモリ13の動作挙動から確率的な要素
を排除して、いわゆるキャッシュミスによるデータ処理
速度の低下を抑制することができるものである。より具
体的には、計算機10は、キャッシュラインを一時的に
ロックし、以降このキャッシュラインに対応する主記憶
メモリ16のアドレスに対するアクセス要求によって引
き起こされる所定回数のいわゆるキャッシュヒットがあ
るまでレジスタファイルの内容をキャッシュメモリ13
上にロックする機構を備えるものである。なお、以下で
は、計算機10は、キャッシュラインをロックした後、
最初のキャッシュヒットによって当該キャッシュライン
をアンロックするものとし、この機構をワンタイムキャ
ッシュロック機構と称するものとする。
As shown in FIG. 1, this embodiment is a computer 10 such as a workstation, which is provided with a so-called cache memory 13, and in particular unlocks a cache line locked without using a cache unlock instruction. It is provided with a mechanism that can be locked. That is, the computer 10 is effective during so-called context switching operation, and the contents of the register file are temporarily locked in the cache memory 13 so that the operation behavior of the cache memory 13 can be estimated. It is possible to suppress the reduction of the data processing speed due to a so-called cache miss by eliminating the essential element. More specifically, the computer 10 temporarily locks a cache line, and thereafter, until there is a predetermined number of so-called cache hits caused by an access request to the address of the main memory 16 corresponding to this cache line, the register file of the register file is deleted. Contents of cache memory 13
It is equipped with a mechanism that locks up. In the following, after the computer 10 locks the cache line,
The cache line is unlocked by the first cache hit, and this mechanism is called a one-time cache lock mechanism.

【0020】計算機10は、同図に示すように、当該計
算機10における命令の実行に必要な各種ユニットを有
するCPU(Central Processing Unit)11と、アク
セスすべき主記憶メモリ106の仮想アドレスVADを
物理アドレスPADに変換するアドレス変換部12と、
CPU101と主記憶メモリ106との間に介在する緩
衝メモリとしてのキャッシュメモリ13と、アドレス変
換部12から供給される物理アドレスPADとキャッシ
ュメモリ13から供給されるタグ情報TGとを比較する
比較器14と、キャッシュメモリ13を制御する制御手
段であるキャッシュメモリ制御部15と、CPU11の
アクセス対象である主記憶メモリ16とを備える。
As shown in FIG. 1, the computer 10 physically stores a CPU (Central Processing Unit) 11 having various units necessary for executing instructions in the computer 10 and a virtual address VAD of the main memory 106 to be accessed. An address conversion unit 12 for converting to an address PAD,
A cache memory 13 as a buffer memory interposed between the CPU 101 and the main memory 106, and a comparator 14 for comparing the physical address PAD supplied from the address conversion unit 12 and the tag information TG supplied from the cache memory 13. And a cache memory control unit 15 that is a control unit that controls the cache memory 13, and a main memory 16 that is an access target of the CPU 11.

【0021】CPU11は、命令を読み出すための命令
フェッチ(fetch)ユニット、オペレーティングシステ
ム(operating system)が動作の割り当て等の制御を行
うための命令ディスパッチ(dispatch)ユニット、各種
演算を行うための演算ユニット、及び、命令を実行制御
するための実行制御ユニットといった計算機10におけ
る命令の実行に必要な各種ユニットを有する。CPU1
1は、書き込み命令であるストア(STORE)命令が与え
られると、主記憶メモリ16に対してデータDTの書き
込みを行う。この際、CPU11は、キャッシュメモリ
13に対してもデータDTの書き込みを行う。また、C
PU11は、読み出し命令であるロード(LOAD)命令が
与えられると、主記憶メモリ16からデータDTの読み
出しを行う。この際、CPU11は、キャッシュヒット
時には、主記憶メモリ16に対してアクセスせずに、キ
ャッシュメモリ13から該当するデータDTを読み出
す。CPU11は、アドレス変換部12及びキャッシュ
メモリ13に対して、アクセスすべき主記憶メモリ16
のアドレスを示す仮想アドレスVADを供給する。ここ
で、この仮想アドレスVADは、主記憶メモリ16の物
理アドレスPADのうち、上位の所定ビット数とされ
る。さらに、CPU11は、上述したワンタイムキャッ
シュロック機構を行うための後述するワンタイムキャッ
シュロック付きの命令が与えられると、ワンタイムキャ
ッシュロック機構の動作要求を行うためのワンタイムロ
ックビット要求信号OTLRを生成し、このワンタイム
ロックビット要求信号OTLRをキャッシュメモリ制御
部15に供給する。
The CPU 11 has an instruction fetch unit for reading instructions, an instruction dispatch unit for the operating system to control the allocation of operations, and an arithmetic unit for performing various operations. , And an execution control unit for controlling the execution of the instructions, and various units necessary for executing the instructions in the computer 10. CPU1
When No. 1 is given a store (STORE) command, which is a write command, 1 writes data DT to the main memory 16. At this time, the CPU 11 also writes the data DT to the cache memory 13. Also, C
The PU 11 reads the data DT from the main memory 16 when a load (LOAD) instruction is given. At this time, the CPU 11 reads the corresponding data DT from the cache memory 13 without accessing the main memory 16 at the time of a cache hit. The CPU 11 has a main memory 16 to be accessed with respect to the address conversion unit 12 and the cache memory 13.
Of the virtual address VAD. Here, the virtual address VAD is a predetermined number of higher bits of the physical address PAD of the main memory 16. Further, when the CPU 11 is given a later-described instruction with a one-time cache lock mechanism for performing the one-time cache lock mechanism, the CPU 11 outputs a one-time lock bit request signal OTLR for requesting an operation of the one-time cache lock mechanism. This is generated and the one-time lock bit request signal OTLR is supplied to the cache memory control unit 15.

【0022】アドレス変換部12は、CPU11から供
給されるアクセスすべき主記憶メモリ106の仮想アド
レスVADを物理アドレスPADに変換する。アドレス
変換部12は、変換した物理アドレスPADを比較器1
4及び主記憶メモリ16に供給する。
The address conversion unit 12 converts the virtual address VAD of the main memory 106 to be accessed supplied from the CPU 11 into a physical address PAD. The address conversion unit 12 uses the converted physical address PAD as the comparator 1.
4 and the main storage memory 16.

【0023】キャッシュメモリ13は、図2に示すよう
に、固定長で表現された複数のキャッシュラインC
,CL,CL,CL,・・・を有する。キャ
ッシュラインCL,CL,CL,CL,・・・
は、それぞれ、データを格納するデータフィールドと、
このデータを識別するための物理アドレスで表現された
識別子であるタグを格納するタグフィールドとから構成
される。
As shown in FIG. 2, the cache memory 13 has a plurality of cache lines C represented by a fixed length.
It has L 1 , CL 2 , CL 3 , CL 4 , ... Cash lines CL 1 , CL 2 , CL 3 , CL 4 , ...
Are the data fields that store the data,
It is composed of a tag field that stores a tag that is an identifier expressed by a physical address for identifying this data.

【0024】より詳細には、キャッシュラインCL
CL,CL,CL,・・・におけるタグフィール
ドは、それぞれ、図3に示すように、上述したタグを格
納するタグ部と、キャッシュラインの有効性を示すバリ
ッドビット(valid bit)を格納するバリッドビット部
と、既存のキャッシュロック機構のモードにあるか否か
を示すロックビット(lock bit)を格納するロックビッ
ト部と、ワンタイムキャッシュロック機構のモードにあ
るか否かを示すワンタイムロックビット(onetime lock
bit)を格納するワンタイムロックビット部とを有す
る。
More specifically, the cache lines CL 1 ,
As shown in FIG. 3, the tag fields in CL 2 , CL 3 , CL 4 , ... Each include a tag part for storing the above-mentioned tag and a valid bit indicating the validity of the cache line. A valid bit part to store, a lock bit part to store the lock bit (lock bit) indicating whether the mode is the existing cache lock mechanism, and a one indicating whether the mode is the one-time cache lock mechanism. Time lock bit (onetime lock
bit), and has a one-time lock bit unit.

【0025】バリッドビット部には、キャッシュライン
中のタグフィールドに格納されている情報及びデータフ
ィールドに格納されているデータが両方とも有効である
場合には、有効であることを示すフラグとして“1”が
付与され、タグフィールドに格納されている情報及びデ
ータがどちらかでも無効である場合には、“0”が付与
される。
In the valid bit part, when both the information stored in the tag field and the data stored in the data field in the cache line are valid, "1" is set as a flag indicating that they are valid. When "" is added and any of the information and data stored in the tag field is invalid, "0" is added.

【0026】ロックビット部には、データフィールドに
格納されているデータをロックしていることを示すフラ
グとして“1”が付与され、ロックしていないことを示
す場合には、“0”が付与される。
"1" is added to the lock bit portion as a flag indicating that the data stored in the data field is locked, and "0" is added when it indicates that the data is not locked. To be done.

【0027】ワンタイムロックビット部には、ロックビ
ット部と同様に、データフィールドに格納されているデ
ータをロックしていることを示すフラグとして“1”が
付与され、ロックしていないことを示す場合には、
“0”が付与される。
Like the lock bit part, the one-time lock bit part is provided with "1" as a flag indicating that the data stored in the data field is locked, indicating that it is not locked. in case of,
“0” is added.

【0028】なお、計算機10おいては、キャッシュラ
インCL,CL,CL,CL ,・・・のそれぞ
れにおけるロックビットとワンタイムロックビットとの
両者に“1”が付与されている場合には、通常のキャッ
シュロック機構が優先的に実行されるものとする。
In the computer 10, cashier
In CL1, CLTwo, CLThree, CL FourThat's ...
Between the lock bit and the one-time lock bit
If both are assigned "1", the normal cap
The shrock mechanism shall be executed preferentially.

【0029】また、キャッシュラインCL,CL
CL,CL,・・・におけるデータフィールドは、
それぞれ、複数の情報を1つにまとめて扱うように、デ
ータA,B,C,Dを格納する4つのデータ部からな
り、各データ部に各データが格納される。
Also, the cache lines CL 1 , CL 2 ,
The data fields in CL 3 , CL 4 , ...
Each of them is composed of four data parts for storing data A, B, C, D so that a plurality of pieces of information are handled as one, and each data is stored in each data part.

【0030】このような複数のキャッシュラインC
,CL,CL,CL,・・・を有するキャッ
シュメモリ13においては、キャッシュメモリ制御部1
5から供給されるロックビット制御信号LBCに基づい
て各キャッシュラインCL,CL,CL,C
,・・・におけるロックビット部に付与されるロッ
クビットの値が制御されるとともに、キャッシュメモリ
制御部15から供給されるワンタイムロックビット制御
信号OTLBCに基づいて各キャッシュラインCL
CL,CL,CL,・・・におけるワンタイムロ
ックビット部に付与されるワンタイムロックビットの値
が制御される。キャッシュメモリ13は、CPU11か
ら仮想アドレスVADが供給されると、この仮想アドレ
スVADに関連付けられたキャッシュラインを選択す
る。例えば、キャッシュメモリ13は、図2中斜線部に
示すように、仮想アドレスVADに基づいて、キャッシ
ュラインCL を選択する。この際、キャッシュメモリ
13は、上述したように、タグが物理アドレスで表現さ
れていることから、上述したアドレス変換部12と同様
に、与えられた仮想アドレスVADを当該キャッシュメ
モリ13の内部で物理アドレスPADに相当する物理ア
ドレスに変換する。そして、キャッシュメモリ13は、
選択したキャッシュラインのタグ部に格納されているタ
グをタグ情報TGとして比較器14に供給する。
A plurality of such cache lines C
L1, CLTwo, CLThree, CLFourCaps with ...
In the cache memory 13, the cache memory control unit 1
Based on the lock bit control signal LBC supplied from
Each cache line CL1, CLTwo, CLThree, C
LFourLocks to be added to the lock bit part in
Qubit value is controlled and cache memory
One-time lock bit control supplied from the control unit 15
Each cache line CL based on the signal OTLBC1
CLTwo, CLThree, CLFour, ...
Value of one-time lock bit given to the qubit part
Is controlled. Is the cache memory 13 a CPU 11?
When the virtual address VAD is supplied from the
Select the cache line associated with the VAD
It For example, the cache memory 13 is shown in the shaded area in FIG.
Based on the virtual address VAD, the cache
Line CL ThreeSelect. At this time, cache memory
13, as described above, the tag is expressed by the physical address.
Therefore, it is similar to the address conversion unit 12 described above.
The virtual address VAD provided to
Inside the memory 13, the physical address corresponding to the physical address PAD
Convert to a dress. Then, the cache memory 13
The tag stored in the tag part of the selected cache line
Is supplied to the comparator 14 as tag information TG.

【0031】また、キャッシュメモリ13は、このタグ
情報TGの出力とともに、当該キャッシュメモリ13の
操作を制御させるために必要な信号として、選択したキ
ャッシュラインのバリッドビット部に格納されているバ
リッドビットをバリッドビット信号VBとして、選択し
たキャッシュラインのロックビット部に格納されている
ロックビットをロックビット信号LBとして、選択した
キャッシュラインのワンタイムロックビット部に格納さ
れているワンタイムロックビットをワンタイムロックビ
ット信号OTLBとして、キャッシュメモリ制御部15
に供給する。キャッシュメモリ13は、キャッシュメモ
リ制御部15の制御のもとに、キャッシュヒット時に
は、CPU11が主記憶メモリ16に書き込むべきデー
タDTを保持し、及び/又は、CPU11が主記憶メモ
リ16から読み出すべきデータDTを保持する。
Further, the cache memory 13 outputs the valid bit stored in the valid bit portion of the selected cache line as a signal necessary for controlling the operation of the cache memory 13 together with the output of the tag information TG. As the valid bit signal VB, the lock bit stored in the lock bit portion of the selected cache line is used as the lock bit signal LB, and the one-time lock bit stored in the one-time lock bit portion of the selected cache line is used for one time. As the lock bit signal OTLB, the cache memory control unit 15
Supply to. Under the control of the cache memory control unit 15, the cache memory 13 holds data DT to be written in the main memory 16 by the CPU 11 and / or data to be read from the main memory 16 by the CPU 11 at the time of a cache hit. Hold DT.

【0032】なお、計算機10において、アドレス変換
部12の他に、キャッシュメモリ13の内部でも仮想ア
ドレスVADから物理アドレスPADへの変換を行うの
は、独立した2つの処理を並列に行うことによる高速化
を目的としたものである。
In the computer 10, the conversion of the virtual address VAD to the physical address PAD is performed inside the cache memory 13 in addition to the address conversion unit 12 by performing two independent processes in parallel. It is intended to be

【0033】比較器14は、タグ情報TGを用いてキャ
ッシュメモリ13のキャッシュヒット又はキャッシュミ
スの判定を行うために設けられるものである。すなわ
ち、比較器14は、アドレス変換部12から供給される
物理アドレスPADとキャッシュメモリ13から供給さ
れるタグ情報TGとを比較する。そして、比較器14
は、比較結果をヒット/ミス信号H/Mとして、キャッ
シュメモリ制御部15に供給する。
The comparator 14 is provided to determine a cache hit or a cache miss in the cache memory 13 using the tag information TG. That is, the comparator 14 compares the physical address PAD supplied from the address conversion unit 12 with the tag information TG supplied from the cache memory 13. Then, the comparator 14
Supplies the comparison result as a hit / miss signal H / M to the cache memory control unit 15.

【0034】キャッシュメモリ制御部15は、キャッシ
ュメモリ13を制御するものである。具体的には、キャ
ッシュメモリ制御部15は、キャッシュメモリ13から
供給されるバリッドビット信号VBと、比較器14から
供給されるヒット/ミス信号H/Mとに基づいて、キャ
ッシュメモリ13のキャッシュヒット又はキャッシュミ
スの状態を把握し、CPU11とキャッシュメモリ13
との間のデータDTの書き込み及び/又は読み出しを制
御する。すなわち、キャッシュメモリ制御部15は、デ
ータが有効であることをバリッドビット信号VBが示
し、且つ、アドレスが一致していることをヒット/ミス
信号H/Mが示している場合には、キャッシュヒットで
あると判断する。また、キャッシュメモリ制御部15
は、キャッシュメモリ13から供給されるロックビット
信号LB及びワンタイムロックビット信号OTLBに基
づいて、キャッシュメモリ13のロック状態を把握す
る。
The cache memory control unit 15 controls the cache memory 13. Specifically, the cache memory control unit 15 determines the cache hit of the cache memory 13 based on the valid bit signal VB supplied from the cache memory 13 and the hit / miss signal H / M supplied from the comparator 14. Alternatively, the CPU 11 and the cache memory 13 are grasped by grasping the state of the cache miss.
Controls writing and / or reading of the data DT between and. That is, when the valid bit signal VB indicates that the data is valid and the hit / miss signal H / M indicates that the addresses match, the cache memory control unit 15 determines the cache hit. It is determined that In addition, the cache memory control unit 15
Grasps the lock state of the cache memory 13 based on the lock bit signal LB and the one-time lock bit signal OTLB supplied from the cache memory 13.

【0035】さらに、キャッシュメモリ制御部15は、
CPU11に対してキャッシュロック命令が与えられる
と、キャッシュメモリ13に対してロックビット制御信
号LBCを供給することにより、キャッシュメモリ13
における各キャッシュラインCL,CL,CL
CL,・・・のロックビット部に対する操作を行い、
キャッシュロックを行う。キャッシュメモリ制御部15
は、CPU11に対してキャッシュアンロック命令が与
えられると、キャッシュロックされたキャッシュライン
をアンロックするための図示しない制御信号をキャッシ
ュメモリ13に供給する。さらにまた、キャッシュメモ
リ制御部15は、CPU11に対して後述するワンタイ
ムキャッシュロック付きの命令が与えられると、CPU
11から供給されるワンタイムロックビット要求信号O
TLRに基づいて、キャッシュメモリ13に対してワン
タイムキャッシュロックを行う。すなわち、キャッシュ
メモリ制御部15は、CPU11に対して与えられたワ
ンタイムキャッシュロック付きの命令に基づいて、キャ
ッシュメモリ13に対してワンタイムロックビット制御
信号OTLBCを供給することにより、CPU11がキ
ャッシュメモリ13にアクセスしてデータの書き込み及
び/又は読み出しを行ったキャッシュメモリ13におけ
る各キャッシュラインCL,CL,CL,C
,・・・のワンタイムロックビット部に対する操作
を行い、ワンタイムキャッシュロックを行う。キャッシ
ュメモリ制御部15は、後述するように、ワンタイムキ
ャッシュロックされたキャッシュラインのアドレスに対
してCPU11がアクセスするのに応じて、このキャッ
シュラインをアンロックするための制御信号をキャッシ
ュメモリ13に供給する。
Further, the cache memory control unit 15 is
When the cache lock instruction is given to the CPU 11, the lock bit control signal LBC is supplied to the cache memory 13 so that the cache memory 13
In each cache line CL 1 , CL 2 , CL 3 ,
Operate the lock bit part of CL 4 , ...
Lock the cache. Cache memory control unit 15
When a cache unlock command is given to the CPU 11, the cache memory 13 supplies a control signal (not shown) for unlocking the cache-locked cache line. Furthermore, the cache memory control unit 15 receives a command with a one-time cache lock, which will be described later, from the CPU 11.
One-time lock bit request signal O supplied from 11
One-time cache lock is performed on the cache memory 13 based on the TLR. That is, the cache memory control unit 15 supplies the one-time lock bit control signal OTLBC to the cache memory 13 based on the instruction with the one-time cache lock given to the CPU 11, so that the CPU 11 causes the cache memory to operate. Each cache line CL 1 , CL 2 , CL 3 , C in the cache memory 13 that accessed 13 to write and / or read data
The one-time lock bit portion of L 4 , ... Is operated to perform one-time cache lock. As will be described later, the cache memory control unit 15 sends to the cache memory 13 a control signal for unlocking the cache line in response to the CPU 11 accessing the address of the cache line locked by the one-time cache lock. Supply.

【0036】主記憶メモリ16には、アドレス変換部1
2から供給される物理アドレスPADで表現されるアド
レスに対して、CPU11から供給されるデータDTが
書き込まれる。また、主記憶メモリ16からは、アドレ
ス変換部12から供給される物理アドレスPADで表現
されるアドレスに格納されているデータDTがCPU1
1によって読み出される。
The main memory 16 has an address conversion unit 1
The data DT supplied from the CPU 11 is written to the address represented by the physical address PAD supplied from 2. Further, the data DT stored in the address represented by the physical address PAD supplied from the address conversion unit 12 from the main memory 16 is stored in the CPU 1
Read by 1.

【0037】このような計算機10は、ワンタイムキャ
ッシュロック機構を実現する。具体的には、計算機10
は、キャッシュメモリ13における各キャッシュライン
CL ,CL,CL,CL,・・・に設けられた
ワンタイムロックビット部を制御するために、ワンタイ
ムキャッシュロック機構の動作を行わせる命令を設け
る。計算機10は、この命令として、上述したストア命
令及びロード命令を改良したものを新たに搭載する。具
体的には、計算機10は、この命令として、主記憶メモ
リ16に対するデータDTの書き込みを行う際にキャッ
シュメモリ13に書き込むデータDTをワンタイムキャ
ッシュロックするためのロック付き書き込み命令である
ワンタイムキャッシュロック付きストア(store with o
ne time cache lock)命令“STORE.fmt.otcl”と、主記
憶メモリ16からデータDTの読み出しを行う際にキャ
ッシュメモリ13に書き込むデータDTをワンタイムキ
ャッシュロックするためのロック付き読み出し命令であ
るワンタイムキャッシュロック付きロード(load with
one time cache lock)命令“LOAD.fmt.otcl”とを搭載
する。
Such a computer 10 is a one-time cache.
A shlock mechanism is realized. Specifically, the computer 10
Is each cache line in the cache memory 13.
CL 1, CLTwo, CLThree, CLFour, ...
One-time lock bit to control the bit part
Provided an instruction to operate the cache lock mechanism
It The computer 10 issues the above-mentioned store instruction as this instruction.
A new version of the decree and load instructions will be installed. Ingredient
Physically, the computer 10 uses this command as a main memory memo.
When writing the data DT to the memory 16,
The data DT to be written in the cache memory 13
It is a write command with a lock for shredding.
Store with o one-time cash lock
ne time cache lock) instruction "STORE.fmt.otcl"
When reading the data DT from the storage memory 16,
Data DT to be written in the cache memory 13
It is a read instruction with a lock for cache lock.
Load with one-time cash lock (load with
One time cache lock) instruction "LOAD.fmt.otcl"
To do.

【0038】ワンタイムキャッシュロック付きストア命
令は、CPU11によってデータを主記憶メモリ16に
対して書き込んだ後、アクセスした主記憶メモリ16の
アドレスに関連付けられたキャッシュラインをワンタイ
ムキャッシュロックするものである。このワンタイムキ
ャッシュロック付きストア命令によってロックされたキ
ャッシュラインは、CPU11によるヒットを伴う主記
憶メモリ16に対するアクセスによってアンロックされ
る。一方、ワンタイムキャッシュロック付きロード命令
は、CPU11によって主記憶メモリ16からデータを
読み出した後、アクセスした主記憶メモリ16のアドレ
スに関連付けられたキャッシュラインをワンタイムキャ
ッシュロックするものである。このワンタイムキャッシ
ュロック付きロード命令によってロックされたキャッシ
ュラインも、CPU11によるヒットを伴う主記憶メモ
リ16に対するアクセスによってアンロックされる。な
お、“STORE.fmt.otcl”及び“LOAD.fmt.otcl”におけ
る“fmt”は、フォーマット(format)を略表示したも
のであって、主記憶メモリ16へのアクセスの対象とな
るデータの型を示すフィールドである。また、“STORE.
fmt.otcl”及び“LOAD.fmt.otcl”における“otcl”
は、当該命令がワンタイムキャッシュロック付き命令で
あることをCPU11に対して示すためのフィールドで
ある。
The store instruction with one-time cache lock is a one-time cache lock for the cache line associated with the accessed address of the main memory 16 after the CPU 11 writes the data to the main memory 16. . The cache line locked by the store instruction with the one-time cache lock is unlocked by the access to the main memory 16 by the hit by the CPU 11. On the other hand, the load instruction with one-time cache lock is a one-time cache lock for the cache line associated with the accessed address of the main memory 16 after the CPU 11 reads the data from the main memory 16. The cache line locked by the load instruction with the one-time cache lock is also unlocked by the access to the main memory 16 accompanied by the hit by the CPU 11. Note that “fmt” in “STORE.fmt.otcl” and “LOAD.fmt.otcl” is an abbreviation of the format, and is the type of data that is the target of access to the main memory 16. Is a field indicating. In addition, “STORE.
"otcl" in fmt.otcl "and" LOAD.fmt.otcl "
Is a field for indicating to the CPU 11 that the instruction is an instruction with a one-time cache lock.

【0039】計算機10は、このようなワンタイムキャ
ッシュロック付き命令が発行されると、このワンタイム
キャッシュロック付き命令をCPU11によって解読し
て実行する。計算機10は、CPU11により、主記憶
メモリ16に対するアクセスの対象となる仮想アドレス
VADをアドレス変換部12及びキャッシュメモリ13
に供給するとともに、ワンタイムロックビット要求信号
OTLRをキャッシュメモリ制御部15に供給すること
によって仮想アドレスVADと関連付けられたキャッシ
ュメモリ13におけるキャッシュラインに対するワンタ
イムキャッシュロック要求を行い、対象のキャッシュラ
インにおけるワンタイムロックビット部にフラグを付与
してロックする。そして、計算機10は、それ以降のこ
のキャッシュラインに対応する主記憶メモリ16のアド
レスに対するアクセス要求によって引き起こされる最初
のキャッシュヒットによって当該キャッシュラインをア
ンロックする。これにより、計算機10においては、ワ
ンタイムキャッシュロック付き命令によってキャッシュ
ラインをロックした後、次回の最初のアクセスに限って
キャッシュヒットすることが保証される。
When such an instruction with a one-time cache lock is issued, the computer 10 decodes the instruction with a one-time cache lock by the CPU 11 and executes it. The computer 10 causes the CPU 11 to convert the virtual address VAD to be accessed to the main memory 16 into the address conversion unit 12 and the cache memory 13.
And a one-time lock bit request signal OTLR to the cache memory controller 15 to make a one-time cache lock request for the cache line in the cache memory 13 associated with the virtual address VAD, and The one-time lock bit part is locked by adding a flag. Then, the computer 10 unlocks the cache line by the first cache hit caused by the subsequent access request to the address of the main memory 16 corresponding to this cache line. As a result, in the computer 10, after the cache line is locked by the instruction with the one-time cache lock, it is guaranteed that the cache hit will occur only in the next first access.

【0040】具体的には、計算機10は、ワンタイムキ
ャッシュロック付き命令が発行されると、図4に示すよ
うな一連の工程を経ることにより、キャッシュラインを
ワンタイムキャッシュロックする。
Specifically, when the one-time cache lock instruction is issued, the computer 10 locks the cache line for one time cache through a series of steps shown in FIG.

【0041】まず、計算機10は、同図に示すように、
ステップS1において、CPU11からワンタイムロッ
クビット要求信号OTLRがキャッシュメモリ15に供
給される。
First, the computer 10, as shown in FIG.
In step S1, the CPU 11 supplies the one-time lock bit request signal OTLR to the cache memory 15.

【0042】続いて、計算機10は、ステップS2にお
いて、比較器14からキャッシュメモリ制御部15に供
給されたヒット/ミス信号H/Mに基づいて、キャッシ
ュメモリ制御部15によってキャッシュメモリ13のキ
ャッシュヒット又はキャッシュミスの判定を行い、キャ
ッシュヒットであるか否かを判定する。
Subsequently, in step S2, the computer 10 causes the cache memory control unit 15 to perform a cache hit of the cache memory 13 based on the hit / miss signal H / M supplied from the comparator 14 to the cache memory control unit 15. Alternatively, a cache miss is determined to determine whether or not there is a cache hit.

【0043】ここで、キャッシュヒットであると判定し
た場合には、計算機10は、ステップS3へと処理を移
行し、キャッシュメモリ13からキャッシュメモリ制御
部15に供給されたワンタイムロックビット信号OTL
Bに基づいて、キャッシュメモリ制御部15によって該
当するキャッシュラインのワンタイムロックビットの値
を読み込む。
If it is determined that there is a cache hit, the computer 10 shifts the processing to step S3, and the one-time lock bit signal OTL supplied from the cache memory 13 to the cache memory control unit 15 is executed.
Based on B, the cache memory control unit 15 reads the value of the one-time lock bit of the corresponding cache line.

【0044】続いて、計算機10は、ステップS4にお
いて、読み込んだワンタイムロックビットの値が“0”
であるか否か、すなわち、該当するキャッシュラインが
ワンタイムキャッシュロックされていないものであるか
否かを判別する。
Subsequently, the computer 10 determines in step S4 that the value of the read one-time lock bit is "0".
Or not, that is, whether or not the corresponding cache line is not one-time cache locked.

【0045】ここで、ワンタイムロックビットの値が
“1”であった場合には、該当するキャッシュラインが
既にワンタイムキャッシュロックされていることを示す
ことから、計算機10は、そのまま一連の処理を終了す
る。
Here, if the value of the one-time lock bit is "1", it means that the corresponding cache line is already one-time cache locked. Therefore, the computer 10 directly performs a series of processes. To finish.

【0046】一方、ワンタイムロックビットの値が
“0”であった場合には、該当するキャッシュラインが
ワンタイムキャッシュロックされていないことを示すこ
とから、計算機10は、ステップS7において、ワンタ
イムロックビット制御信号OTLBCをキャッシュメモ
リ13に供給し、当該キャッシュラインにおけるワンタ
イムロックビット部に“1”を付与させ、当該キャッシ
ュラインをワンタイムキャッシュロックし、一連の処理
を終了する。
On the other hand, if the value of the one-time lock bit is "0", it means that the corresponding cache line is not one-time cache-locked. The lock bit control signal OTLBC is supplied to the cache memory 13, "1" is added to the one-time lock bit part in the cache line, the cache line is cache locked for one time, and the series of processes is completed.

【0047】また、計算機10は、ステップS2におい
てキャッシュミスであると判定した場合には、ステップ
S5へと処理を移行し、CPU11によって主記憶メモ
リ16にアクセスする。すなわち、計算機10は、発行
された命令がワンタイムキャッシュロック付きストア命
令であった場合には、CPU11によって主記憶メモリ
16にアクセスし、データDTを書き込む。また、計算
機10は、発行された命令がワンタイムキャッシュロッ
ク付きロード命令であった場合には、CPU11によっ
て主記憶メモリ16にアクセスし、データDTを読み出
す。
If the computer 10 determines that there is a cache miss in step S2, the process proceeds to step S5, and the CPU 11 accesses the main storage memory 16. That is, when the issued instruction is a store instruction with one-time cache lock, the computer 10 causes the CPU 11 to access the main memory 16 and write the data DT. Further, when the issued instruction is a load instruction with one-time cache lock, the computer 10 accesses the main memory 16 by the CPU 11 and reads the data DT.

【0048】さらに、計算機10は、ステップS6にお
いて、CPU11によってキャッシュメモリ13にアク
セスし、主記憶メモリ16に書き込んだデータDT又は
主記憶メモリ16から読み出したデータDTを新たなキ
ャッシュラインに書き込む。
Further, in step S6, the computer 10 accesses the cache memory 13 by the CPU 11 and writes the data DT written in the main memory 16 or the data DT read from the main memory 16 into a new cache line.

【0049】そして、計算機10は、ステップS7にお
いて、上述したように、ワンタイムロックビット制御信
号OTLBCをキャッシュメモリ13に供給し、データ
DTを書き込んだキャッシュラインにおけるワンタイム
ロックビット部に“1”を付与させ、当該キャッシュラ
インをワンタイムキャッシュロックし、一連の処理を終
了する。
Then, in step S7, the computer 10 supplies the one-time lock bit control signal OTLBC to the cache memory 13 and sets the one-time lock bit portion in the cache line in which the data DT is written to "1", as described above. Is added, the cache line is locked for one time, and a series of processing is completed.

【0050】計算機10は、このような一連の工程を経
ることにより、ワンタイムキャッシュロック付き命令が
発行されるのに応じて、キャッシュラインをワンタイム
キャッシュロックすることができる。
By passing through such a series of steps, the computer 10 can lock the cache line for one time in response to the issuance of the instruction with the one-time cache lock.

【0051】一方、計算機10は、図5に示すような一
連の工程を経ることにより、ワンタイムキャッシュロッ
クされたキャッシュラインをアンロックする。この際、
計算機10は、キャッシュが有効である主記憶メモリ1
6へのアクセスを行うための通常のストア命令又はロー
ド命令が発行されることによってキャッシュラインのロ
ックが解除される。すなわち、計算機10は、ワンタイ
ムキャッシュロック付き命令以外の命令が発行されるこ
とによって以下の処理を開始する。
On the other hand, the computer 10 unlocks the one-time cache-locked cache line by going through a series of steps as shown in FIG. On this occasion,
The computer 10 has a main memory 1 with a cache enabled.
The cache line is unlocked by issuing a normal store instruction or load instruction for accessing 6. That is, the computer 10 starts the following processing when an instruction other than the one-time cache lock instruction is issued.

【0052】まず、計算機10は、同図に示すように、
ステップS11において、CPU11によって主記憶メ
モリ16に対するアクセス要求を行う。換言すれば、計
算機10は、CPU11によってアクセスの対象となる
仮想アドレスVADを生成し、アドレス変換部12及び
キャッシュメモリ13に供給し、発行された命令が通常
のストア命令であった場合には、CPU11によって主
記憶メモリ16にアクセスし、新たなデータDTを書き
込もうとする。また、計算機10は、発行された命令が
通常のロード命令であった場合には、CPU11によっ
て主記憶メモリ16にアクセスし、データDTを読み出
そうとする。
First, the computer 10, as shown in FIG.
In step S11, the CPU 11 makes an access request to the main memory 16. In other words, the computer 10 generates the virtual address VAD to be accessed by the CPU 11, supplies it to the address conversion unit 12 and the cache memory 13, and when the issued instruction is a normal store instruction, The CPU 11 accesses the main memory 16 and tries to write new data DT. If the issued instruction is a normal load instruction, the computer 10 tries to access the main memory 16 by the CPU 11 and read the data DT.

【0053】続いて、計算機10は、ステップS12に
おいて、比較器14からキャッシュメモリ制御部15に
供給されたヒット/ミス信号H/Mに基づいて、キャッ
シュメモリ制御部15によってキャッシュメモリ13の
キャッシュヒット又はキャッシュミスの判定を行い、キ
ャッシュヒットであるか否かを判定する。
Subsequently, in step S12, the computer 10 causes the cache memory control unit 15 to cache hit the cache memory 13 based on the hit / miss signal H / M supplied from the comparator 14 to the cache memory control unit 15. Alternatively, a cache miss is determined to determine whether or not there is a cache hit.

【0054】ここで、キャッシュヒットであると判定し
た場合には、計算機10は、ステップS13へと処理を
移行し、キャッシュメモリ13からキャッシュメモリ制
御部15に供給されたワンタイムロックビット信号OT
LBに基づいて、キャッシュメモリ制御部15によって
該当するキャッシュラインのワンタイムロックビットの
値を読み込む。
If it is determined that there is a cache hit, the computer 10 shifts the processing to step S13, and the one-time lock bit signal OT supplied from the cache memory 13 to the cache memory controller 15
Based on the LB, the cache memory control unit 15 reads the value of the one-time lock bit of the corresponding cache line.

【0055】続いて、計算機10は、ステップS14に
おいて、読み込んだワンタイムロックビットの値が
“1”であるか否か、すなわち、該当するキャッシュラ
インがワンタイムキャッシュロックされているものであ
るか否かを判別する。
Subsequently, the computer 10 determines in step S14 whether the value of the read one-time lock bit is "1", that is, whether the corresponding cache line is one-time cache locked. Determine whether or not.

【0056】ここで、ワンタイムロックビットの値が
“0”であった場合には、該当するキャッシュラインが
ワンタイムキャッシュロックされていないことを示すこ
とから、計算機10は、そのまま一連の処理を終了す
る。
Here, if the value of the one-time lock bit is "0", it means that the corresponding cache line is not one-time cache locked. Therefore, the computer 10 directly performs a series of processes. finish.

【0057】一方、ワンタイムロックビットの値が
“1”であった場合には、該当するキャッシュラインが
ワンタイムキャッシュロックされていることを示すこと
から、計算機10は、ステップS15において、ワンタ
イムロックビット制御信号OTLBCをキャッシュメモ
リ13に供給し、当該キャッシュラインにおけるワンタ
イムロックビット部に“0”を付与させ、当該キャッシ
ュラインをアンロックし、一連の処理を終了する。
On the other hand, if the value of the one-time lock bit is "1", it means that the corresponding cache line is one-time cache-locked. The lock bit control signal OTLBC is supplied to the cache memory 13, "0" is added to the one-time lock bit portion in the cache line, the cache line is unlocked, and the series of processes is completed.

【0058】また、計算機10は、ステップS12にお
いてキャッシュミスであると判定した場合には、ステッ
プS16へと処理を移行し、CPU11によって主記憶
メモリ16にアクセスする。すなわち、計算機10は、
発行された命令が通常のストア命令であった場合には、
CPU11によって主記憶メモリ16にアクセスし、デ
ータDTを書き込む。また、計算機10は、発行された
命令が通常のロード命令であった場合には、CPU11
によって主記憶メモリ16にアクセスし、データDTを
読み出す。
If the computer 10 determines that there is a cache miss in step S12, the process proceeds to step S16, and the CPU 11 accesses the main storage memory 16. That is, the computer 10
If the issued instruction is a normal store instruction,
The CPU 11 accesses the main memory 16 and writes the data DT. In addition, the computer 10 executes the CPU 11 when the issued instruction is a normal load instruction.
To access the main memory 16 to read the data DT.

【0059】そして、計算機10は、ステップS17に
おいて、CPU11によってキャッシュメモリ13にア
クセスし、主記憶メモリ16に書き込んだデータDT又
は主記憶メモリ16から読み出したデータDTを、主記
憶メモリ16にアクセスしたアドレスに関連付けられた
該当するキャッシュラインに書き込み、一連の処理を終
了する。
Then, in step S17, the computer 10 accesses the cache memory 13 by the CPU 11 and accesses the data DT written in the main memory 16 or the data DT read from the main memory 16 to the main memory 16. The corresponding cache line associated with the address is written, and the series of processes is completed.

【0060】計算機10は、このような一連の工程を経
ることにより、ワンタイムキャッシュロックされている
キャッシュラインに対応する主記憶メモリ16へのアク
セスを要求する通常の命令が発行されるのに応じて、当
該キャッシュラインをアンロックすることができる。
By going through such a series of steps, the computer 10 responds to the issuance of a normal instruction requesting access to the main memory 16 corresponding to the cache line locked by the one-time cache lock. Then, the cache line can be unlocked.

【0061】以上のように、計算機10は、ワンタイム
キャッシュロック付き命令を用いてキャッシュラインを
ロックすることにより、同一のアドレスに対する次のア
クセス時におけるキャッシュヒットを保証することがで
きる。したがって、計算機10は、例えばコンテキスト
スイッチング動作を行う際に、レジスタファイルの内容
をワンタイムキャッシュロック付き命令によって退避す
ることにより、キャッシュメモリ13の動作の確率的な
要素に影響されることなく、レジスタファイルの内容を
復元することが可能となる。すなわち、ワンタイムキャ
ッシュロック機構は、一時的な主記憶メモリ16への退
避処理又は復元処理を伴うデータ処理等を行う際に効果
的なものである。
As described above, the computer 10 can guarantee the cache hit at the next access to the same address by locking the cache line using the one-time cache lock instruction. Therefore, the computer 10 saves the contents of the register file by the instruction with the one-time cache lock when performing the context switching operation, for example, without affecting the stochastic element of the operation of the cache memory 13. It is possible to restore the contents of the file. That is, the one-time cache lock mechanism is effective when performing data processing or the like accompanied by temporary saving or restoring processing to the main memory 16.

【0062】さて、以下では、このようなワンタイムキ
ャッシュロック機構を利用した具体的なデータ処理の一
例として、コンテキストスイッチング処理に適用した場
合について説明する。
Now, as an example of specific data processing using such a one-time cache lock mechanism, a case of applying to context switching processing will be described below.

【0063】計算機10は、複数のデータ処理を同時に
行うために、割り込みやスケジューリングによってスレ
ッド又はプロセスを切り替えて処理を行うコンテキスト
スイッチング処理を行う。計算機10は、オペレーティ
ングシステムによって図6に示すような一連の工程を行
い、ワンタイムキャッシュロック機構を用いたコンテキ
ストスイッチング処理を行う。
The computer 10 performs a context switching process in which a thread or process is switched by interrupt or scheduling to perform a plurality of data processes at the same time. The computer 10 performs a series of steps as shown in FIG. 6 by the operating system to perform context switching processing using the one-time cache lock mechanism.

【0064】すなわち、計算機10においてオペレーテ
ィングシステムは、同図に示すように、ステップS21
において、第1の処理から他の第2の処理へと移行した
場合等のようにコンテキストスイッチング処理が発生す
ると、ステップS22において、ワンタイムキャッシュ
ロック付きストア命令をCPU11に与え、先に図4に
示した一連の処理を行い、現在行われていた第1の処理
に関するレジスタファイルの内容をデータDTとして主
記憶メモリ16に退避させる。
That is, the operating system in the computer 10 is, as shown in FIG.
In step S22, when a context switching process occurs, such as when the first process is switched to another second process, in step S22, a one-time cache-locked store instruction is given to the CPU 11, and the process shown in FIG. The series of processing shown is performed, and the contents of the register file relating to the first processing that is currently being performed are saved in the main storage memory 16 as data DT.

【0065】続いて、オペレーティングシステムは、ス
テップS23において、詳細は後述するが、ワンタイム
キャッシュロックしたキャッシュラインのアドレスを保
持すべく、少なくとも、退避した処理の処理番号といっ
た退避した処理を識別するためのコンテキスト識別子
と、退避した主記憶メモリ16の先頭アドレスとからな
るコンテキストに関する情報を、当該オペレーティング
システムが管理するキャッシュロックテーブルに登録す
る。また、オペレーティングシステムは、必要に応じ
て、コンテキストに関する情報として、後述するコンテ
キストの優先度をキャッシュロックテーブルに登録する
こともできる。
Then, in step S23, the operating system identifies at least the saved process such as the process number of the saved process in order to hold the address of the cache line locked by the one-time cache lock, as will be described later in detail. The information about the context consisting of the context identifier of the above and the head address of the saved main memory 16 is registered in the cache lock table managed by the operating system. Further, the operating system can also register the priority of the context, which will be described later, in the cache lock table as the information regarding the context, if necessary.

【0066】なお、キャッシュロックテーブルは、図7
に示すように、例えばn個のコンテキスト識別子I
,ID,・・・,IDと、これらのコンテキス
ト識別子ID,ID,・・・,IDのそれぞれに
対応するレジスタファイルの内容が退避されたn個の主
記憶メモリ16の先頭アドレスHAD,HAD,・
・・,HADと、コンテキスト識別子ID,I
,・・・,IDのそれぞれに対応するn個のコン
テキストの優先度PR,PR,・・・,PRとか
ら構成され、図8に概念を示すように、オペレーティン
グシステムが管理する図示しないメモリに保持されるも
のである。実際には、キャッシュロックテーブルは、主
記憶メモリ16に保持される。
The cache lock table is shown in FIG.
, For example, n context identifiers I
D 1, ID 2, ···, ID n and these context identifiers ID 1, ID 2, ···, n -number of main memory 16 the contents of the register file is saved corresponding to each ID n Head address HAD 1 , HAD 2 , ...
.., HAD n and context identifiers ID 1 , I
D 2, · · ·, priority PR 1, PR 2 of n context corresponding to the respective ID n, · · ·, it is composed of a PR n, as shown in the concept in Figure 8, the operating system It is stored in a memory (not shown) that is managed. Actually, the cache lock table is held in the main memory 16.

【0067】続いて、オペレーティングシステムは、ス
テップS24において、通常のロード命令をCPU11
に与え、先に図5に示した一連の処理を行い、切り替え
先のコンテキストである第2の処理に関するレジスタフ
ァイルの内容を復元する。この際、計算機10において
は、ワンタイムキャッシュロックされていた復元したデ
ータが格納されていたキャッシュラインがアンロックさ
れる。
Subsequently, the operating system sends a normal load instruction to the CPU 11 in step S24.
Then, the series of processing shown in FIG. 5 is performed to restore the contents of the register file regarding the second processing which is the context of the switching destination. At this time, in the computer 10, the cache line in which the restored data that had been locked by the one-time cache was stored is unlocked.

【0068】そして、オペレーティングシステムは、ス
テップS25において、キャッシュロックテーブルに登
録されていた切り替え先のコンテキストに関する情報を
削除し、一連の処理を終了する。
Then, in step S25, the operating system deletes the information regarding the context of the switching destination registered in the cache lock table, and ends the series of processes.

【0069】計算機10は、コンテキストスイッチング
処理が発生するたびに、このような処理を行う。ここ
で、上述したキャッシュロックテーブルを用いた趣旨
は、以下の通りである。
The computer 10 performs such processing each time the context switching processing occurs. Here, the purpose of using the cache lock table described above is as follows.

【0070】計算機10においては、多数の処理をコン
テキストスイッチング処理によって切り替えて行う際
に、ワンタイムキャッシュロック機構を用いると、キャ
ッシュメモリ13の領域が全てロックされる事態が生じ
る可能性がある。すなわち、計算機10においては、キ
ャッシュメモリ13が存在しない状態と等価な状態とな
ってしまうおそれがある。計算機10においては、この
ような状態が生じると、主記憶メモリ16に対するアク
セスしか行うことができず、処理効率が低下してオーバ
ーヘッドが増加する。そこで、計算機10においては、
キャッシュロックテーブルを用い、コンテキストスイッ
チング動作を行う処理の数を制限することにより、キャ
ッシュメモリ13上でロックされるキャッシュラインの
数を制限することができる。
In the computer 10, if a one-time cache lock mechanism is used when a large number of processes are switched by the context switching process, there is a possibility that all areas of the cache memory 13 are locked. That is, the computer 10 may be in a state equivalent to a state in which the cache memory 13 does not exist. In the computer 10, when such a state occurs, only the main memory 16 can be accessed, the processing efficiency decreases and the overhead increases. Therefore, in the computer 10,
By using the cache lock table and limiting the number of processes for performing the context switching operation, the number of cache lines locked in the cache memory 13 can be limited.

【0071】このように、計算機10は、キャッシュロ
ックテーブルを用いてコンテキストスイッチング処理を
管理して上述した一連の処理を行うことにより、ワンタ
イムキャッシュロック機構を用いたコンテキストスイッ
チング処理を処理効率の低下を招来することなく行うこ
とができる。
As described above, the computer 10 manages the context switching process using the cache lock table and performs the series of processes described above, thereby reducing the processing efficiency of the context switching process using the one-time cache lock mechanism. Can be done without inviting.

【0072】また、計算機10は、多数の処理をワンタ
イムキャッシュロック機構を用いたコンテキストスイッ
チング処理によって切り替えて行う際に、ロックされて
いないキャッシュラインの数が減少することによるキャ
ッシュメモリ13の性能低下を回避するために、キャッ
シュロックテーブルのエントリに空きがなくなった場
合、既にキャッシュロックテーブルに登録されているコ
ンテキストのレジスタファイルの内容を保持しているキ
ャッシュラインのワンタイムキャッシュロックを自発的
に解除することもできる。この際、計算機10は、キャ
ッシュロックテーブルに登録されているコンテキストの
うち、例えば上述した優先度が最も低いものから、ワン
タイムキャッシュロックの解除対象とする。すなわち、
計算機10は、コンテキストに優先順位を設け、この優
先順位を示す優先度に基づいて、ワンタイムキャッシュ
ロックの解除対象を決定する。具体的には、計算機10
は、オペレーティングシステムによって図9に示すよう
な一連の工程を行い、ワンタイムキャッシュロックを解
除する。
Further, in the computer 10, when a large number of processes are switched by the context switching process using the one-time cache lock mechanism, the performance of the cache memory 13 is deteriorated due to a decrease in the number of unlocked cache lines. To avoid this, when the cache lock table entry becomes full, the one-time cache lock of the cache line that holds the contents of the register file of the context already registered in the cache lock table is released voluntarily. You can also do it. At this time, the computer 10 sets the one-time cache lock to be released, for example, from the context having the lowest priority among the contexts registered in the cache lock table. That is,
The computer 10 sets priorities for the contexts, and determines the target for releasing the one-time cache lock based on the priorities indicating the priorities. Specifically, the computer 10
Performs a series of steps as shown in FIG. 9 by the operating system to release the one-time cache lock.

【0073】まず、計算機10においてオペレーティン
グシステムは、同図に示すように、ステップS31にお
いて、キャッシュロックテーブルを参照し、最も低い優
先度を有するコンテキストを選択する。
First, in the computer 10, the operating system refers to the cache lock table and selects the context having the lowest priority in step S31 as shown in FIG.

【0074】続いて、オペレーティングシステムは、ス
テップS32において、選択したコンテキストが保持さ
れているキャッシュラインをアンロックする。すなわ
ち、オペレーティングシステムは、通常のストア命令又
はロード命令を発行して先に図5に示した一連の処理を
行うことにより、選択したコンテキストに関する主記憶
メモリ16の先頭アドレスから、この先頭アドレスに対
してコンテキストのサイズを加算して得られる主記憶メ
モリ16のアドレスまでに対応するキャッシュラインを
アンロックする。
Subsequently, the operating system unlocks the cache line in which the selected context is held in step S32. That is, the operating system issues a normal store instruction or load instruction to perform the series of processes shown in FIG. 5, and from the top address of the main memory 16 relating to the selected context to this start address. Then, the cache line corresponding to the address of the main memory 16 obtained by adding the size of the context is unlocked.

【0075】そして、オペレーティングシステムは、ス
テップS33において、ワンタイムキャッシュロックを
解除したコンテキストに関する情報をキャッシュロック
テーブルから削除し、一連の処理を終了する。
Then, in step S33, the operating system deletes the information on the context for which the one-time cache lock is released from the cache lock table, and ends the series of processes.

【0076】計算機10は、このような一連の処理を例
えばシステムの空き時間等に行うことにより、優先順位
が低いコンテキストを行うためにワンタイムキャッシュ
ロックされているキャッシュラインを自発的にアンロッ
クすることができ、ロックされていないキャッシュライ
ンの数が減少することによる処理のオーバーヘッドを隠
蔽することができる。
The computer 10 voluntarily unlocks the one-time cache-locked cache line in order to perform a context with a low priority by performing such a series of processing in a system idle time or the like. It is possible to hide the processing overhead due to the reduction in the number of unlocked cache lines.

【0077】以上説明したように、計算機10は、ワン
タイムキャッシュロック機構を備えることにより、キャ
ッシュアンロック命令を用いることなくロックされたキ
ャッシュラインをアンロックすることができ、キャッシ
ュメモリ13の動作の確率的な要素を排除して、キャッ
シュミスによるデータ処理速度の低下を抑制することが
できる。したがって、計算機10は、コンテキストスイ
ッチング動作やといった一時的な主記憶メモリ16への
退避処理又は復元処理を伴うデータ処理を行う際に特に
有効である。
As described above, the computer 10 is provided with the one-time cache lock mechanism, so that the locked cache line can be unlocked without using the cache unlock instruction, and the operation of the cache memory 13 can be prevented. By eliminating the stochastic element, it is possible to suppress a decrease in data processing speed due to a cache miss. Therefore, the computer 10 is particularly effective when performing data processing that involves temporary saving processing or restoring processing to the main memory 16 such as context switching operation.

【0078】また、計算機10は、データ処理プログラ
ム中において、ワンタイムキャッシュロック付き命令を
明示的に記述することにより、主記憶メモリ16を確率
的動作要素が排除されたキャッシュメモリ領域として使
用することも可能となる。これにより、計算機10は、
データ処理を高速に行うことが可能となる。
Further, the computer 10 uses the main memory 16 as a cache memory area in which the stochastic operation element is excluded by explicitly describing the one-time cache lock instruction in the data processing program. Will also be possible. As a result, the computer 10
Data processing can be performed at high speed.

【0079】さらに、計算機10は、キャッシュロック
テーブルを用いてキャッシュメモリ13上でロックされ
るキャッシュラインの数を制限し、また、キャッシュロ
ックテーブルのエントリに空きがなくなった場合、既に
キャッシュロックテーブルに登録されているコンテキス
トのレジスタファイルの内容を保持しているキャッシュ
ラインのワンタイムキャッシュロックを解除することに
より、ロックされていないキャッシュラインの数が減少
することによる処理のオーバーヘッドを低減させること
ができる。
Furthermore, the computer 10 limits the number of cache lines locked in the cache memory 13 by using the cache lock table, and when the cache lock table entry becomes full, the cache lock table is already stored. By releasing the one-time cache lock of the cache line holding the register file contents of the registered context, it is possible to reduce the processing overhead due to the decrease in the number of unlocked cache lines. .

【0080】このように、計算機10は、リアルタイム
なソフトウェア処理を行う上で重要となる処理時間のば
らつきを低減し、リアルタイム・オペレーティングシス
テム等のデータの呼び出し頻度が多い処理に有効なもの
であり、さらに、アプリケーション等でも利用可能であ
り、ユーザに対して高い利便を提供することができる。
As described above, the computer 10 reduces variations in processing time, which is important for performing real-time software processing, and is effective for processing that frequently calls data such as a real-time operating system. Further, it can be used in applications and the like, and it is possible to provide high convenience to the user.

【0081】なお、本発明は、上述した実施の形態に限
定されるものではない。例えば、上述した実施の形態で
は、説明の便宜上、キャッシュラインをワンタイムキャ
ッシュロックした後、最初のキャッシュヒットによって
当該キャッシュラインをアンロックするものとして説明
したが、本発明は、複数のキャッシュヒットによって当
該キャッシュラインをアンロックするものであってもよ
い。
The present invention is not limited to the above embodiment. For example, in the above-described embodiment, for convenience of description, it is described that the cache line is unlocked by the first cache hit after the cache line is locked for a one-time cache, but the present invention uses multiple cache hits. The cache line may be unlocked.

【0082】また、上述した実施の形態では、キャッシ
ュロックテーブルに登録されているコンテキストのう
ち、例えば上述した優先度が最も低いものから、ワンタ
イムキャッシュロックの解除対象とするものとして説明
したが、本発明は、優先度の低い複数のコンテキストを
一度にアンロックするようにしてもよく、また、解除対
象を決定する基準として優先度以外の所定の基準を用い
るようにしてもよい。
Further, in the above-mentioned embodiment, the context registered in the cache lock table has been described as one in which the one-time cache lock is released, for example, from the one having the lowest priority. The present invention may unlock a plurality of low-priority contexts at once, or may use a predetermined criterion other than the priority as a criterion for determining a cancellation target.

【0083】さらに、上述した実施の形態では、キャッ
シュロックテーブルのエントリに空きがなくなった場合
にワンタイムキャッシュロックを解除するものとして説
明したが、本発明は、キャッシュロックテーブルのエン
トリの残数が所定数を越えた場合にワンタイムキャッシ
ュロックを解除するようにしてもよい。すなわち、本発
明は、キャッシュメモリ13における全てのキャッシュ
ラインに対するワンタイムキャッシュロックされている
キャッシュラインの比率が所定値を超過した場合にワン
タイムキャッシュロックを解除するようにしてもよい。
Further, in the above-described embodiment, the one-time cache lock is released when the cache lock table entry becomes full, but in the present invention, the remaining number of entries in the cache lock table is The one-time cache lock may be released when the number exceeds the predetermined number. That is, in the present invention, the one-time cache lock may be released when the ratio of the cache lines locked in the one-time cache to all the cache lines in the cache memory 13 exceeds a predetermined value.

【0084】このように、本発明は、その趣旨を逸脱し
ない範囲で適宜変更が可能であることはいうまでもな
い。
As described above, it goes without saying that the present invention can be appropriately modified without departing from the spirit of the present invention.

【0085】[0085]

【発明の効果】以上詳細に説明したように、本発明にか
かるデータ処理装置は、与えられた命令を実行するプロ
セッサと、このプロセッサのアクセス対象とされ、プロ
セッサから供給されるデータが書き込まれる及び/又は
プロセッサによって格納しているデータが読み出される
主記憶メモリと、プロセッサが主記憶メモリに書き込む
べきデータ及び/又はプロセッサが主記憶メモリから読
み出すべきデータを保持してプロセッサと主記憶メモリ
との間で行われるべきデータの書き込み及び/又は読み
出しを代行するキャッシュメモリと、プロセッサに与え
られた命令に基づいて、プロセッサがキャッシュメモリ
にアクセスしてデータの書き込み及び/又は読み出しを
行ったキャッシュラインをロックするとともに、ロック
されたキャッシュラインのアドレスにプロセッサがアク
セスするのに応じて、キャッシュラインをアンロックす
る制御手段とを備える。
As described in detail above, the data processing apparatus according to the present invention is a processor that executes a given instruction, and an access target of this processor, in which data supplied from the processor is written. Between the processor and the main storage memory, the main storage memory from which the data stored by the processor is read, and the data to be written into the main storage memory by the processor and / or the data to be read from the main storage memory by the processor are held. And a cache line that performs writing and / or reading of data to be performed by the processor, and a cache line in which the processor accesses the cache memory and writes and / or reads data based on an instruction given to the processor. And locked cache Depending on the processor to access the in-address, and a control means for unlocking the cache line.

【0086】したがって、本発明にかかるデータ処理装
置は、制御手段の制御のもとに、キャッシュラインを一
時的にロックし、以降このキャッシュラインに対応する
主記憶メモリのアドレスに対するプロセッサのアクセス
があるまで当該キャッシュラインをロックすることによ
り、キャッシュアンロック命令を用いることなくロック
されたキャッシュラインをアンロックすることができ、
キャッシュメモリの動作の確率的な要素を排除して、キ
ャッシュミスによるデータ処理速度の低下を抑制するこ
とができる。
Therefore, the data processing device according to the present invention temporarily locks the cache line under the control of the control means, and thereafter, the processor accesses the address of the main memory corresponding to this cache line. By locking the cache line up to, it is possible to unlock the locked cache line without using the cache unlock instruction,
By eliminating the stochastic element of the operation of the cache memory, it is possible to suppress a decrease in data processing speed due to a cache miss.

【0087】また、本発明にかかるデータアクセス方法
は、与えられた命令を実行するプロセッサとこのプロセ
ッサのアクセス対象とされる主記憶メモリとの間で書き
込み及び/又は読み出しが行われるデータであってプロ
セッサが主記憶メモリに書き込むべきデータ及び/又は
プロセッサが主記憶メモリから読み出すべきデータを保
持し、プロセッサと主記憶メモリとの間で行われるべき
データの書き込み及び/又は読み出しを代行するキャッ
シュメモリに保持されるデータに対してアクセスするデ
ータアクセス方法であって、プロセッサに与えられた命
令に基づいて、プロセッサがキャッシュメモリにアクセ
スしてデータの書き込み及び/又は読み出しを行ったキ
ャッシュラインをロックし、ロックされたキャッシュラ
インのアドレスにプロセッサがアクセスするのに応じ
て、キャッシュラインをアンロックする。
Further, the data access method according to the present invention is data which is written and / or read between a processor executing a given instruction and a main memory to be accessed by this processor. A cache memory that holds data to be written to the main memory by the processor and / or data to be read from the main memory by the processor, and that writes and / or reads the data to be performed between the processor and the main memory. A data access method for accessing held data, wherein a processor accesses a cache memory and locks a cache line in which data is written and / or read based on an instruction given to the processor, To the address of the locked cache line Processor in response to access, to unlock the cache line.

【0088】したがって、本発明にかかるデータアクセ
ス方法は、キャッシュラインを一時的にロックし、以降
このキャッシュラインに対応する主記憶メモリのアドレ
スに対するプロセッサのアクセスがあるまで当該キャッ
シュラインをロックすることにより、キャッシュアンロ
ック命令を用いることなくロックされたキャッシュライ
ンをアンロックすることが可能となり、キャッシュメモ
リの動作の確率的な要素を排除して、キャッシュミスに
よるデータ処理速度の低下を抑制することが可能とな
る。
Therefore, the data access method according to the present invention temporarily locks the cache line, and thereafter locks the cache line until the processor accesses the address of the main memory corresponding to this cache line. , It becomes possible to unlock the locked cache line without using the cache unlock instruction, eliminate the stochastic element of the operation of the cache memory, and suppress the decrease in data processing speed due to cache miss. It will be possible.

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

【図1】本発明の実施の形態として示す計算機の構成を
説明するブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a computer shown as an embodiment of the present invention.

【図2】同計算機が備えるキャッシュメモリの構成を説
明する図である。
FIG. 2 is a diagram illustrating a configuration of a cache memory included in the computer.

【図3】同キャッシュメモリが有するキャッシュライン
の構成を説明する図である。
FIG. 3 is a diagram illustrating a configuration of a cache line included in the cache memory.

【図4】同計算機においてキャッシュラインをワンタイ
ムキャッシュロックする際の一連の処理を説明するフロ
ーチャートである。
FIG. 4 is a flow chart illustrating a series of processes when a cache line is locked for a one-time cache in the computer.

【図5】同計算機においてワンタイムキャッシュロック
されたキャッシュラインをアンロックする際の一連の処
理を説明するフローチャートである。
FIG. 5 is a flow chart illustrating a series of processing when unlocking a cache line locked by one-time cache lock in the computer.

【図6】同計算機においてワンタイムキャッシュロック
機構を用いたコンテキストスイッチング処理を行う際の
オペレーティングシステムによる一連の処理を説明する
フローチャートである。
FIG. 6 is a flowchart illustrating a series of processes performed by the operating system when a context switching process using the one-time cache lock mechanism is performed in the computer.

【図7】キャッシュロックテーブルの構成を説明する図
である。
FIG. 7 is a diagram illustrating a configuration of a cache lock table.

【図8】キャッシュロックテーブルがオペレーティング
システムによって管理されている様子を概念的に説明す
る図である。
FIG. 8 is a diagram conceptually illustrating how a cache lock table is managed by an operating system.

【図9】同計算機において既にキャッシュロックテーブ
ルに登録されているコンテキストのレジスタファイルの
内容を保持しているキャッシュラインのワンタイムキャ
ッシュロックを解除する際のオペレーティングシステム
による一連の処理を説明するフローチャートである。
FIG. 9 is a flowchart illustrating a series of processing by the operating system when releasing the one-time cache lock of a cache line that holds the contents of the register file of the context already registered in the cache lock table in the computer. is there.

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

10 計算機、 11 CPU、 12 アドレス変換
部、 13 キャッシュメモリ、 14 比較器、 1
5 キャッシュメモリ制御部、 16 主記憶メモリ
10 computer, 11 CPU, 12 address conversion unit, 13 cache memory, 14 comparator, 1
5 cache memory control unit, 16 main memory

Claims (30)

【特許請求の範囲】[Claims] 【請求項1】 与えられた命令を実行するプロセッサ
と、 上記プロセッサのアクセス対象とされ、上記プロセッサ
から供給されるデータが書き込まれる及び/又は上記プ
ロセッサによって格納しているデータが読み出される主
記憶メモリと、 上記プロセッサが上記主記憶メモリに書き込むべきデー
タ及び/又は上記プロセッサが上記主記憶メモリから読
み出すべきデータを保持して上記プロセッサと上記主記
憶メモリとの間で行われるべきデータの書き込み及び/
又は読み出しを代行するキャッシュメモリと、 上記プロセッサに与えられた命令に基づいて、上記プロ
セッサが上記キャッシュメモリにアクセスしてデータの
書き込み及び/又は読み出しを行ったキャッシュライン
をロックするとともに、ロックされた上記キャッシュラ
インのアドレスに上記プロセッサがアクセスするのに応
じて、上記キャッシュラインをアンロックする制御手段
とを備えることを特徴とするデータ処理装置。
1. A processor that executes a given instruction, and a main memory that is an access target of the processor and into which data supplied from the processor is written and / or data stored by the processor is read out. And / or writing and / or writing of data to be performed between the processor and the main memory by holding data to be written in the main memory by the processor and / or data to be read from the main memory by the processor.
Alternatively, based on an instruction given to the processor and a cache memory acting on behalf of the read, the processor accesses the cache memory to lock the cache line in which the data is written and / or read, and is locked. A data processing apparatus, comprising: a control unit that unlocks the cache line in response to the processor accessing the address of the cache line.
【請求項2】 上記制御手段は、上記キャッシュライン
をロックした後、上記キャッシュラインのアドレスに対
する所定回数のキャッシュヒットによって上記キャッシ
ュラインをアンロックすることを特徴とする請求項1記
載のデータ処理装置。
2. The data processing device according to claim 1, wherein the control means unlocks the cache line by locking the cache line and then performing a predetermined number of cache hits to the address of the cache line. .
【請求項3】 上記制御手段は、上記キャッシュライン
をロックした後、上記キャッシュラインのアドレスに対
する最初のキャッシュヒットによって上記キャッシュラ
インをアンロックすることを特徴とする請求項2記載の
データ処理装置。
3. The data processing apparatus according to claim 2, wherein the control means unlocks the cache line by locking the cache line and then by a first cache hit to an address of the cache line.
【請求項4】 上記命令は、上記プロセッサによってデ
ータを上記主記憶メモリに対して書き込んだ後、アクセ
スした上記主記憶メモリのアドレスに関連付けられた上
記キャッシュラインをロックするロック付き書き込み命
令であることを特徴とする請求項1記載のデータ処理装
置。
4. The instruction is a write instruction with lock that locks the cache line associated with the accessed address of the main memory after writing data to the main memory by the processor. The data processing device according to claim 1, wherein
【請求項5】 上記命令は、上記プロセッサによって上
記主記憶メモリからデータを読み出した後、アクセスし
た上記主記憶メモリのアドレスに関連付けられた上記キ
ャッシュラインをロックするロック付き読み出し命令で
あることを特徴とする請求項1記載のデータ処理装置。
5. The instruction is a locked read instruction that locks the cache line associated with an accessed address of the main memory after reading data from the main memory by the processor. The data processing device according to claim 1.
【請求項6】 上記制御手段は、上記主記憶メモリに対
してデータの書き込みを行う書き込み命令が上記プロセ
ッサに与えられると、上記命令によってロックされた上
記キャッシュラインをアンロックすることを特徴とする
請求項1記載のデータ処理装置。
6. The control means, when a write command for writing data to the main memory is given to the processor, unlocks the cache line locked by the command. The data processing device according to claim 1.
【請求項7】 上記制御手段は、上記主記憶メモリから
データの読み出しを行う読み出し命令が上記プロセッサ
に与えられると、上記命令によってロックされた上記キ
ャッシュラインをアンロックすることを特徴とする請求
項1記載のデータ処理装置。
7. The control means unlocks the cache line locked by the instruction when a read instruction for reading data from the main memory is given to the processor. 1. The data processing device according to 1.
【請求項8】 上記プロセッサには、複数の処理の切り
替え処理時にレジスタファイルの内容を上記主記憶メモ
リに退避する際、上記命令が与えられ、 上記制御手段は、上記プロセッサに与えられた命令に基
づいて、上記プロセッサが上記キャッシュメモリにアク
セスしてデータの書き込み及び/又は読み出しを行った
上記キャッシュメモリにおけるキャッシュラインをロッ
クすることを特徴とする請求項1記載のデータ処理装
置。
8. The processor is provided with the instruction when saving the contents of a register file in the main memory during a switching process of a plurality of processes, and the control means is provided with the instruction given to the processor. 2. The data processing device according to claim 1, wherein the processor locks a cache line in the cache memory where the processor accesses the cache memory to write and / or read data on the basis of the cache line.
【請求項9】 上記プロセッサには、スレッド又はプロ
セスの切り替え処理時に上記レジスタファイルの内容を
上記主記憶メモリに退避する際、上記命令が与えられる
ことを特徴とする請求項8記載のデータ処理装置。
9. The data processing apparatus according to claim 8, wherein the processor is given the instruction when the contents of the register file are saved in the main memory during thread or process switching processing. .
【請求項10】 少なくとも、退避した処理を識別する
ための識別子と、上記識別子に対応する上記レジスタフ
ァイルの内容が退避された上記主記憶メモリの先頭アド
レスとからなる情報が登録されるテーブルを保持する記
憶手段を備えることを特徴とする請求項8記載のデータ
処理装置。
10. A table in which information including at least an identifier for identifying the saved processing and a start address of the main memory in which the contents of the register file corresponding to the identifier is saved is stored. 9. The data processing device according to claim 8, further comprising storage means for performing the processing.
【請求項11】 上記記憶手段は、上記主記憶メモリで
あることを特徴とする請求項10記載のデータ処理装
置。
11. The data processing device according to claim 10, wherein the storage means is the main storage memory.
【請求項12】 上記テーブルに登録されていた切り替
え先の処理に関する情報は、上記切り替え先の処理に関
するレジスタファイルの内容が復元されると上記テーブ
ルから削除されることを特徴とする請求項10記載のデ
ータ処理装置。
12. The information on the switching destination process registered in the table is deleted from the table when the contents of the register file relating to the switching destination process are restored. Data processing equipment.
【請求項13】 上記制御手段は、上記キャッシュメモ
リにおける全てのキャッシュラインに対するロックされ
ているキャッシュラインの比率が所定値を超過した場合
に、上記テーブルに登録されている処理のうち、所定の
基準に基づいて選択された処理に関するレジスタファイ
ルの内容を保持しているキャッシュラインをアンロック
することを特徴とする請求項10記載のデータ処理装
置。
13. The control means sets a predetermined criterion among the processes registered in the table when the ratio of locked cache lines to all cache lines in the cache memory exceeds a predetermined value. 11. The data processing device according to claim 10, wherein the cache line holding the contents of the register file relating to the process selected based on is unlocked.
【請求項14】 上記テーブルに登録される情報とし
て、上記識別子に対応する処理の優先順位を示す優先度
を有しており、 上記制御手段は、上記基準として上記優先度が最も低い
処理に関するレジスタファイルの内容を保持しているキ
ャッシュラインをアンロックすることを特徴とする請求
項13記載のデータ処理装置。
14. The information registered in the table has a priority indicating the priority of the process corresponding to the identifier, and the control means is a register related to the process having the lowest priority as the reference. 14. The data processing device according to claim 13, wherein the cache line holding the contents of the file is unlocked.
【請求項15】 上記テーブルに登録されていたアンロ
ックされた処理に関する情報は、上記テーブルから削除
されることを特徴とする請求項13記載のデータ処理装
置。
15. The data processing apparatus according to claim 13, wherein the information related to the unlocked process registered in the table is deleted from the table.
【請求項16】 与えられた命令を実行するプロセッサ
と上記プロセッサのアクセス対象とされる主記憶メモリ
との間で書き込み及び/又は読み出しが行われるデータ
であって上記プロセッサが上記主記憶メモリに書き込む
べきデータ及び/又は上記プロセッサが上記主記憶メモ
リから読み出すべきデータを保持し、上記プロセッサと
上記主記憶メモリとの間で行われるべきデータの書き込
み及び/又は読み出しを代行するキャッシュメモリに保
持されるデータに対してアクセスするデータアクセス方
法であって、 上記プロセッサに与えられた命令に基づいて、上記プロ
セッサが上記キャッシュメモリにアクセスしてデータの
書き込み及び/又は読み出しを行ったキャッシュライン
をロックし、 ロックされた上記キャッシュラインのアドレスに上記プ
ロセッサがアクセスするのに応じて、上記キャッシュラ
インをアンロックすることを特徴とするデータアクセス
方法。
16. Data to be written and / or read between a processor executing a given instruction and a main memory to be accessed by the processor, the data being written in the main memory by the processor. Data and / or data to be read from the main memory by the processor, and is stored in a cache memory acting on behalf of writing and / or reading of data to be performed between the processor and the main memory. A data access method for accessing data, wherein, based on an instruction given to the processor, the processor accesses the cache memory to lock a cache line in which data is written and / or read, Address of the above cache line locked In response to said processor accesses data access method characterized in that unlock the cache line.
【請求項17】 上記キャッシュラインをロックした
後、上記キャッシュラインのアドレスに対する所定回数
のキャッシュヒットによって上記キャッシュラインをア
ンロックすることを特徴とする請求項16記載のデータ
アクセス方法。
17. The data access method according to claim 16, wherein after the cache line is locked, the cache line is unlocked by a predetermined number of cache hits to the address of the cache line.
【請求項18】 上記キャッシュラインをロックした
後、上記キャッシュラインのアドレスに対する最初のキ
ャッシュヒットによって上記キャッシュラインをアンロ
ックすることを特徴とする請求項17記載のデータアク
セス方法。
18. The data access method according to claim 17, wherein after the cache line is locked, the cache line is unlocked by the first cache hit to the address of the cache line.
【請求項19】 上記命令は、上記プロセッサによって
データを上記主記憶メモリに対して書き込んだ後、アク
セスした上記主記憶メモリのアドレスに関連付けられた
上記キャッシュラインをロックするロック付き書き込み
命令であることを特徴とする請求項16記載のデータア
クセス方法。
19. The instruction is a locked write instruction for locking the cache line associated with an accessed address of the main memory after writing data to the main memory by the processor. The data access method according to claim 16, wherein
【請求項20】 上記命令は、上記プロセッサによって
上記主記憶メモリからデータを読み出した後、アクセス
した上記主記憶メモリのアドレスに関連付けられた上記
キャッシュラインをロックするロック付き読み出し命令
であることを特徴とする請求項16記載のデータアクセ
ス方法。
20. The instruction is a locked read instruction that locks the cache line associated with an accessed address of the main memory after reading data from the main memory by the processor. The data access method according to claim 16.
【請求項21】 上記主記憶メモリに対してデータの書
き込みを行う書き込み命令が上記プロセッサに与えられ
ると、上記命令によってロックされた上記キャッシュラ
インをアンロックすることを特徴とする請求項16記載
のデータアクセス方法。
21. When a write command for writing data to the main memory is given to the processor, the cache line locked by the command is unlocked. Data access method.
【請求項22】 上記主記憶メモリからデータの読み出
しを行う読み出し命令が上記プロセッサに与えられる
と、上記命令によってロックされた上記キャッシュライ
ンをアンロックすることを特徴とする請求項16記載の
データアクセス方法。
22. The data access according to claim 16, wherein when a read instruction for reading data from the main memory is given to the processor, the cache line locked by the instruction is unlocked. Method.
【請求項23】 上記プロセッサには、複数の処理の切
り替え処理時にレジスタファイルの内容を上記主記憶メ
モリに退避する際、上記命令が与えられ、 上記プロセッサに与えられた命令に基づいて、上記プロ
セッサが上記キャッシュメモリにアクセスしてデータの
書き込み及び/又は読み出しを行った上記キャッシュメ
モリにおけるキャッシュラインをロックすることを特徴
とする請求項16記載のデータアクセス方法。
23. The processor is provided with the instruction when saving the contents of a register file in the main memory during a switching process of a plurality of processes, and the processor is based on the instruction given to the processor. 18. The data access method according to claim 16, further comprising: locking a cache line in the cache memory that has accessed the cache memory to write and / or read data.
【請求項24】 上記プロセッサには、スレッド又はプ
ロセスの切り替え処理時に上記レジスタファイルの内容
を上記主記憶メモリに退避する際、上記命令が与えられ
ることを特徴とする請求項23記載のデータアクセス方
法。
24. The data access method according to claim 23, wherein the processor is given the instruction when the contents of the register file are saved in the main memory during a thread or process switching process. .
【請求項25】 少なくとも、退避した処理を識別する
ための識別子と、上記識別子に対応する上記レジスタフ
ァイルの内容が退避された上記主記憶メモリの先頭アド
レスとからなる情報が登録されるテーブルを記憶手段に
保持していることを特徴とする請求項23記載のデータ
アクセス方法。
25. A table is stored in which at least information including an identifier for identifying the saved processing and a head address of the main memory in which the contents of the register file corresponding to the identifier is saved is stored. 24. The data access method according to claim 23, characterized in that the data is stored in the means.
【請求項26】 上記記憶手段として、上記主記憶メモ
リが用いられることを特徴とする請求項25記載のデー
タアクセス方法。
26. The data access method according to claim 25, wherein the main storage memory is used as the storage means.
【請求項27】 上記テーブルに登録されていた切り替
え先の処理に関する情報は、上記切り替え先の処理に関
するレジスタファイルの内容が復元されると上記テーブ
ルから削除されることを特徴とする請求項25記載のデ
ータアクセス方法。
27. The information regarding the switching destination process registered in the table is deleted from the table when the contents of the register file regarding the switching destination process are restored. Data access method.
【請求項28】 上記キャッシュメモリにおける全ての
キャッシュラインに対するロックされているキャッシュ
ラインの比率が所定値を超過した場合に、上記テーブル
に登録されている処理のうち、所定の基準に基づいて選
択された処理に関するレジスタファイルの内容を保持し
ているキャッシュラインをアンロックすることを特徴と
する請求項25記載のデータアクセス方法。
28. When the ratio of locked cache lines to all cache lines in the cache memory exceeds a predetermined value, the process registered in the table is selected based on a predetermined criterion. 26. The data access method according to claim 25, wherein the cache line holding the contents of the register file relating to the processing is unlocked.
【請求項29】 上記テーブルに登録される情報とし
て、上記識別子に対応する処理の優先順位を示す優先度
を有しており、 上記基準として上記優先度が最も低い処理に関するレジ
スタファイルの内容を保持しているキャッシュラインを
アンロックすることを特徴とする請求項28記載のデー
タアクセス方法。
29. The information registered in the table has a priority indicating the priority of the process corresponding to the identifier, and holds the contents of the register file regarding the process having the lowest priority as the reference. 29. The data access method according to claim 28, wherein the cache line being locked is unlocked.
【請求項30】 上記テーブルに登録されていたアンロ
ックされた処理に関する情報は、上記テーブルから削除
されることを特徴とする請求項28記載のデータアクセ
ス方法。
30. The data access method according to claim 28, wherein the information about the unlocked process registered in the table is deleted from the table.
JP2001220336A 2001-07-19 2001-07-19 Data processor and data access method Withdrawn JP2003030051A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001220336A JP2003030051A (en) 2001-07-19 2001-07-19 Data processor and data access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001220336A JP2003030051A (en) 2001-07-19 2001-07-19 Data processor and data access method

Publications (1)

Publication Number Publication Date
JP2003030051A true JP2003030051A (en) 2003-01-31

Family

ID=19054170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001220336A Withdrawn JP2003030051A (en) 2001-07-19 2001-07-19 Data processor and data access method

Country Status (1)

Country Link
JP (1) JP2003030051A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833178B1 (en) 2005-08-26 2008-05-28 삼성전자주식회사 System capable of controlling the number of block in a cache memory and method thereof
WO2011078014A1 (en) * 2009-12-21 2011-06-30 ソニー株式会社 Cache memory and cache memory control device
WO2015004571A1 (en) * 2013-07-11 2015-01-15 International Business Machines Corporation Method and system for implementing a bit array in a cache line
WO2015004570A1 (en) * 2013-07-11 2015-01-15 International Business Machines Corporation Method and system for implementing a dynamic array data structure in a cache line

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100833178B1 (en) 2005-08-26 2008-05-28 삼성전자주식회사 System capable of controlling the number of block in a cache memory and method thereof
WO2011078014A1 (en) * 2009-12-21 2011-06-30 ソニー株式会社 Cache memory and cache memory control device
US10102132B2 (en) 2009-12-21 2018-10-16 Sony Corporation Data transfer in a multiprocessor using a shared cache memory
US9535841B2 (en) 2009-12-21 2017-01-03 Sony Corporation Cache memory and cache memory control unit
GB2530234A (en) * 2013-07-11 2016-03-16 Ibm Method and system for implementing a dynamic array data structure in a cache line
CN105378686A (en) * 2013-07-11 2016-03-02 国际商业机器公司 Method and system for implementing a bit array in a cache line
CN105359145A (en) * 2013-07-11 2016-02-24 国际商业机器公司 Method and system for implementing a dynamic array data structure in a cache line
GB2530962A (en) * 2013-07-11 2016-04-06 Ibm Method and system for implementing a bit array in a cache line
JP2016526738A (en) * 2013-07-11 2016-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for implementing dynamic array data structures in cache lines
JP2016526739A (en) * 2013-07-11 2016-09-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for implementing bit arrays in cache lines
WO2015004570A1 (en) * 2013-07-11 2015-01-15 International Business Machines Corporation Method and system for implementing a dynamic array data structure in a cache line
WO2015004571A1 (en) * 2013-07-11 2015-01-15 International Business Machines Corporation Method and system for implementing a bit array in a cache line
GB2530234B (en) * 2013-07-11 2020-04-15 Ibm Method and system for implementing a dynamic array data structure in a cache line
GB2530962B (en) * 2013-07-11 2020-04-22 Ibm Method and system for implementing a bit array in a cache line

Similar Documents

Publication Publication Date Title
US5579505A (en) Memory access system and method for granting or preventing atomic or nonatomic memory access requests to shared memory regions
US5386563A (en) Register substitution during exception processing
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
JP4553936B2 (en) Techniques for setting command order in an out-of-order DMA command queue
US6173392B1 (en) Prefetch controller automatically updating history addresses
US20050240930A1 (en) Parallel processing computer
JP5044387B2 (en) Information processing apparatus and stack pointer updating method thereof
US20070050586A1 (en) Memory access control apparatus
US20040236927A1 (en) Processor system having java accelerator
JPS6150350B2 (en)
US20070294487A1 (en) Unified memory system
JPH0619798A (en) Method and system for avoidance of loading of value of selector
JP2003167737A (en) Stack use method
JPH1185618A (en) Method for controlling virtual memory conversion
JP3607540B2 (en) Program unit memory access attribute management method
JP3304444B2 (en) Vector processing equipment
JP2003030051A (en) Data processor and data access method
JP4559958B2 (en) Multi-core control method in multi-core processor
JPH05173961A (en) Method for controlling transfer of data block
JPH04123234A (en) Process scheduling system and memory control system for multiprocessor
JPH08292932A (en) Multiprocessor system and method for executing task in the same
JPH11184799A (en) Method for transferring memory data and device therefor
JP3008817B2 (en) Buffer control method and buffer control device
JP2000353146A (en) Input/output control device and method for prefetching data
JPH0573417A (en) Data processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007