JPS63317858A - Control system for cache memory - Google Patents

Control system for cache memory

Info

Publication number
JPS63317858A
JPS63317858A JP62154855A JP15485587A JPS63317858A JP S63317858 A JPS63317858 A JP S63317858A JP 62154855 A JP62154855 A JP 62154855A JP 15485587 A JP15485587 A JP 15485587A JP S63317858 A JPS63317858 A JP S63317858A
Authority
JP
Japan
Prior art keywords
data
cache memory
memory
register
processing unit
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
JP62154855A
Other languages
Japanese (ja)
Inventor
Junzo Shinano
科野 順蔵
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP62154855A priority Critical patent/JPS63317858A/en
Publication of JPS63317858A publication Critical patent/JPS63317858A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To perform the instruction executing processes of a CPU within a block transfer period by providing a means which transfers the unit data which is under block transfer to a cache memory from a main memory to the CPU. CONSTITUTION:In case a data fetch request is received from a CPU 1 and no request data is stored in a cache memory 2, the data on a request address is stored in a register 7 and the block transfer is started to the memory 2 from a main memory 3 via a memory has 5. The unit data on the bus 5 which is under the block transfer is stored in a buffer register 8 along with the address of said data. A comparator 9 compares the address of the register 7a with the contents of the register 8 by a signal 11 received from the memory 2 and showing a block transfer state every time the unit data is transferred. When the coincidence is obtained from aid comparison, the data is sent to the CPU 1 via a unidirectional buffer 10. The CPU 1 continues its processing with the received data. Thus the block loading and instruction executing jobs are carried out in parallel with each other and therefore the throughput is improved.

Description

【発明の詳細な説明】 〔産業上の利用分野] この発明は小容量高速なキャッシュメモリの制御方式に
関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a control method for a small-capacity, high-speed cache memory.

〔従来の技術〕[Conventional technology]

第2図は従来の計算機のキャッシュメモリを中心とした
全体構成を示している。同図にお゛いて、■は中央処理
装置、2は小容量高速なキャッシュメモリ、3は大容量
の主記憶、4はメモリバス制御装置、5はメモリバスで
ある。
FIG. 2 shows the overall configuration of a conventional computer centered on the cache memory. In the figure, 2 is a central processing unit, 2 is a small-capacity high-speed cache memory, 3 is a large-capacity main memory, 4 is a memory bus control device, and 5 is a memory bus.

以下データとある場合特別に記述してない限りそれは命
令とオペランドデータの両方を意味する。
Unless otherwise specified, the term "data" below means both instruction and operand data.

次に動作について説明する。中央処理装置1から命令実
行のためにデータフェッチリクエストが発生すると、ま
ずキャッシュメモリ2内に対して必要なデータの有無が
チェックされる。そのデータが存在した場合はキャッシ
ュメモリ2内のデータがメモリバス5を経由して中央処
理装置1に転送されて、主記憶3からメモリバス5を介
してデータが転送される事はない。
Next, the operation will be explained. When a data fetch request is issued from the central processing unit 1 to execute an instruction, the presence or absence of necessary data in the cache memory 2 is first checked. If the data exists, the data in the cache memory 2 is transferred to the central processing unit 1 via the memory bus 5, and no data is transferred from the main memory 3 via the memory bus 5.

しかしキャッシュメモリ2内に必要とするデータが無か
った場合は、予め予想しておいた必要とするデータの前
後数バイトのデータが、まず主記憶3からメモリバス5
を経由してキャッシュメモリ2に転送される。この動作
をブロックロードという。この数バイトブロックからな
るデータの転送には所定の時間が必要とされる。主記憶
3のアクセスよりキャッシュメモリ2のアクセスが高速
のため、中央処理装置1の命令実行にはキャッシュメモ
リ2が直接利用される。
However, if there is no required data in the cache memory 2, the several bytes of data before and after the required data are first transferred from the main memory 3 to the memory bus 5.
The data is transferred to the cache memory 2 via. This operation is called block loading. A predetermined amount of time is required to transfer this data consisting of blocks of several bytes. Since access to the cache memory 2 is faster than access to the main memory 3, the cache memory 2 is directly used for the execution of instructions by the central processing unit 1.

〔従来技術の問題点〕[Problems with conventional technology]

従来の方式では、ブロックロード期間中、メモリバス5
はキャッシュメモリ2と主記憶3の間でのデータ転送に
専有されるため、中央処理装置1からデータフェッチリ
クエストが発生してもブロックロードが完了するまで、
中央処理装置1はデータの受取りを待たなければならな
かった。そしてこの様なケースはS/Wの極所性という
性質から実際に多発し、結果としてシステムの処理能力
が低下するという問題があった。
In the conventional method, during the block loading period, the memory bus 5
is exclusively used for data transfer between the cache memory 2 and the main memory 3, so even if a data fetch request is issued from the central processing unit 1, it will not be processed until the block load is completed.
The central processing unit 1 had to wait for data to be received. Such cases actually occur frequently due to the local nature of S/W, resulting in a problem that the processing capacity of the system is reduced.

この発明は、上記の様なブロックロード期間中の中央処
理装置の待ち時間によるシステムスループットの低下を
改・善するためになされたもので、ブロックロード期間
中でも中央処理装置はデータを参照し、命令実行処理が
続行できるキャッシュメモリの制御方式を提供すること
を目的としている。
This invention was made in order to improve the decrease in system throughput due to the waiting time of the central processing unit during the block loading period as described above. The purpose is to provide a cache memory control method that allows execution processing to continue.

〔問題点を解決するための手段〕[Means for solving problems]

この発明においては、中央処理装置1からフェッチリク
エストのあったデータがキャッシュメモリ2内に存在し
なかった場合には、主記憶3からキャッシュメモリ2に
対してブロックロードが行なわれるキャッシュメモリ制
御方式において、フェッチリクエストのあったデータの
情報を記憶するレジスタ7と、キャッシュメモリ2への
ロードが完了したデータの情報を保持するバッファレジ
スタ8と、レジスタ7の情報とバッファレジスタ8の情
報とを比較するコンパレータ9と、このコンパレータ9
の比較結果に基づきバッファレジスタ8内のデータを中
央処理装置1に転送する単方向バッファ10とを備えた
In this invention, in the cache memory control method, when the data requested to be fetched from the central processing unit 1 does not exist in the cache memory 2, a block load is performed from the main memory 3 to the cache memory 2. , compares the information in register 7 and the information in buffer register 8 with register 7 that stores information on data for which a fetch request has been made, and buffer register 8 that holds information on data that has been loaded into cache memory 2. Comparator 9 and this comparator 9
A unidirectional buffer 10 is provided for transferring data in the buffer register 8 to the central processing unit 1 based on the comparison result.

〔作用〕[Effect]

バッファレジスタ8はブロックロード発生時にイニシャ
ライズされ、ブロックロード期間中に、主記憶1からキ
ャッシュメモリ2へのデータ転送の完了したデータとそ
のアドレスを保持する。そしてブロックロード期間中に
中央処理装置1から主記憶3へのデータフェッチリクエ
ストが起きると、コンパレータ9はレジスタ7の内容と
バッファレジスタ8の内容とを比較し、ブロックロード
が完了するまでくり返しバッファレジスタ8内を参照し
、必要なデータをサーチする。必要とするデータが存在
した場合には、単方向バッファ10を経由して、中央処
理装置1に該データを転送し、中央処理装置1の処理を
続行させる。
The buffer register 8 is initialized when a block load occurs, and holds the data and its address for which the data transfer from the main memory 1 to the cache memory 2 has been completed during the block load period. When a data fetch request occurs from the central processing unit 1 to the main memory 3 during the block load period, the comparator 9 compares the contents of the register 7 and the contents of the buffer register 8, and repeatedly fetches the data from the buffer register until the block load is completed. 8 and search for the necessary data. If necessary data exists, the data is transferred to the central processing unit 1 via the unidirectional buffer 10, and the processing of the central processing unit 1 is continued.

以下、この発明の一実施例を第1図について説明する。An embodiment of the present invention will be described below with reference to FIG.

第1図において、1は中央処理装置、2はキャッシュメ
モリ、3は主記憶、4はメモリバス制御装置、5はメモ
リバス、6はメモリバスと中央処理装置lとを切り離す
双方向バッファである。7はブロックロード中に中央処
理装置1からフェッチリクエストのあったアドレスを保
持するレジスタ、8は主記憶からキャッシュメモリへ転
送されたデータに関する情報(データとそのアドレス)
を保持するバッファレジスタ、9は中央処理装置が必要
としているデータの有無を判定するコンパレータである
。10はコンパレータ9にてバッファレジスタ8内に要
求されたデータが有と判定された場合に、中央処理装置
1にバッファレジスタ8からデータをドライブする単方
向バッファ、11はブロックロード中である事を示す制
御線である。双方向バッファ6は通常は中央処理装置1
からデータをメモリバス5に対して出力したり、逆にメ
モリバス5から中央処理装置1に対してデータを出力す
る。
In FIG. 1, 1 is a central processing unit, 2 is a cache memory, 3 is a main memory, 4 is a memory bus control device, 5 is a memory bus, and 6 is a bidirectional buffer that separates the memory bus from the central processing unit l. . 7 is a register that holds the address for which a fetch request was made from the central processing unit 1 during block loading, and 8 is information regarding data transferred from main memory to cache memory (data and its address).
A buffer register 9 is a comparator that determines the presence or absence of data required by the central processing unit. 10 is a unidirectional buffer that drives data from the buffer register 8 to the central processing unit 1 when the comparator 9 determines that the requested data exists in the buffer register 8; 11 indicates that a block is being loaded; This is the control line shown. The bidirectional buffer 6 is normally connected to the central processing unit 1
It outputs data from the memory bus 5 to the memory bus 5, and conversely outputs data from the memory bus 5 to the central processing unit 1.

以下、第1図を使用して動作を説明する。The operation will be explained below using FIG.

本発明の動作は、中央処理装置1からデータフェッチリ
クエストがあり、要求データがキャッシュメモリ2内に
存在せずヒツトしなかったために、ブロックロードが始
まった時点から始まる。ブロックロードが始まると、バ
ッファ6は両方向某所となり、中央処理装置1はメモリ
バス5から切り離され、バッファメモリ8は書込みのた
めイニシャライズされる。ブロックロード期間中は、主
記憶3からキャソシュメモリ2に対して数パイトル数十
バイトのブロックデータがバーストモードにて中云送さ
れ、これと並行して転送される各単位データとそのアド
レスがバッファメモリ8にも転送される。
The operation of the present invention starts from the time when there is a data fetch request from the central processing unit 1, but the requested data does not exist in the cache memory 2 and is not hit, so block loading starts. When a block load begins, the buffer 6 is placed in both directions, the central processing unit 1 is disconnected from the memory bus 5, and the buffer memory 8 is initialized for writing. During the block load period, block data of several pytres and tens of bytes is transferred from the main memory 3 to the cache memory 2 in burst mode, and each unit of data and its address transferred in parallel is buffered. It is also transferred to memory 8.

一方・中央処理装置1はメモリバス5とは独立して動作
しており、自己の処理を続行するために引続きデータの
フェッチをリクエストしているが、ブロックロード中は
メモリバス5がキャッシュメモリ2用に専有されていて
、そのリクエストはベンディングされる。
On the other hand, the central processing unit 1 operates independently of the memory bus 5 and continues to request fetching of data in order to continue its own processing, but during block loading, the memory bus 5 The request will be bended.

一方、中央処理装置1が必要としているデータのアドレ
スはレジスタ7に格納され、コンパレータ9にてバッフ
ァレジスタ8の内容と比較してデータの有無をチェック
する。データのチェックは、ブロックロード中断しい単
位データがキャッシュメモリ2に転送される毎にブロッ
クロードが完了するまで行われる バッファレジスタ8内に必要なデータの存在が確認され
ると、単方向バッファ10を開いてそのデータを中央処
理装置1に送り、ベンディングしていた当該データフェ
ッチリクエストはクリアされる。中央処理装置1は必要
なデータを受けとると次の処理に移る。こうしてブロッ
クロード中でメモリバス5が使用できないという状態に
おいても中央処理装置1は処理を続行する事ができる。
On the other hand, the address of the data required by the central processing unit 1 is stored in the register 7, and compared with the contents of the buffer register 8 by the comparator 9 to check the presence or absence of the data. Data checking is performed until the block load is completed every time a new unit of data is transferred to the cache memory 2. When the presence of necessary data in the buffer register 8 is confirmed, the unidirectional buffer 10 is checked. It opens and sends the data to the central processing unit 1, and the data fetch request that was being bent is cleared. When the central processing unit 1 receives the necessary data, it moves on to the next process. In this way, the central processing unit 1 can continue processing even when the memory bus 5 is unavailable during block loading.

その間にキャッシュメモリ2へのブロックロードは完了
するので、双方向バッファ6によって切り離されていた
メモリバス5と中央処理装置1とは再び接続される。そ
の後中央処理装置1はキャッシュメモリ2から必要なデ
ータを引続き高速で受は取り処理を続行する。
During this time, the block loading to the cache memory 2 is completed, so that the memory bus 5 and the central processing unit 1, which had been separated by the bidirectional buffer 6, are reconnected. Thereafter, the central processing unit 1 continues to receive and process the necessary data from the cache memory 2 at high speed.

なお、上記実施例では、データの処理装置として中央処
理装置の場合について説明したが、高速な入出力処理装
置であっても良く、上記実施例の様な効果が期待できる
In the above embodiment, a central processing unit is used as the data processing device, but a high-speed input/output processing device may be used, and the same effects as in the above embodiment can be expected.

〔発明の効果〕〔Effect of the invention〕

以上説明してきたように、この発明によれば、フェッチ
リクエストのあったデータの情報を記憶するレジスタと
、キャッシュメモリへのロードが完了したデータの情報
を保持するバッファレジスタと、レジスタの情報とバッ
ファレジスタの情報とを比較するコンパレータと、この
コンパレータの比較結果に基づきバッファレジスタ内の
データを前記中央処理装置に転送する単方向バッファと
を備えて、主記憶からキャッシュメモリへデータのブロ
ックロードによってメモリバスが専有されている状態で
も、中央処理装置が必要とするデータが、部分的にキャ
ッシュメモリに格納されれば、キャッシュメモリと同一
タイミングでデータの格納されたバッファレジスタから
単方向バッファを介して中央処理装置にデータを転送で
きる。このため、ブロックロードの全ての完了を待たず
に中央処理装置の処理続行が可能となり、ブロックロー
ドと命令実行が平行して行われシステムのスループット
が向上するという効果がある。
As described above, according to the present invention, there are a register that stores information on data for which a fetch request has been made, a buffer register that stores information on data that has been loaded into the cache memory, and a register that stores information on data that has been loaded into the cache memory. A comparator that compares the information in the register with the information in the register, and a unidirectional buffer that transfers the data in the buffer register to the central processing unit based on the comparison result of the comparator, Even when the bus is occupied, if the data required by the central processing unit is partially stored in the cache memory, it can be transferred from the buffer register containing the data at the same timing as the cache memory via the unidirectional buffer. Data can be transferred to the central processing unit. Therefore, it is possible for the central processing unit to continue processing without waiting for all block loads to be completed, and block loads and instruction execution are performed in parallel, resulting in improved system throughput.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の一実施例を示すキャッシュメモリを
中心としたシステム構成図、第2図は従来の方法を示す
構成図。 ■・・・中央処理装置、2・・・キャッシュメモリ、3
・・・主記憶、4・・・メモリバス制御装置、5・・・
メモリバス、6.10・・・バッファ、7・・・レジス
タ、8・・・バッファレジスタ、9・・・コンパレータ
、11・・・ブロックロードラ示す信号線。 代理人  大  岩  増  雄(はが2名)手続補正
書(自発) 昭和  年  月  日 2、発明の名称 キャッシュメモリの市”Ft訪式 3、補正をする者 名 称  (601)三菱電機株式会社代表者志岐守哉 4、代理人 住 所     東京都千代田区丸の内二丁目2番3号
5、補正の対象 特許請求の範囲、発明の詳細な説明、図面の欄。 6、補正の内容 (11特許請求の範囲を別紙のとおり補正する。 (2)明細書第3頁第3行目乃至第8行目「この動作を
一一−−−・・利用される。」とあるのを削除する。 (3)同書第4頁第20行目乃至第5頁第1行目「主記
憶1から」とあるのを「主記憶3から」と補正する。 (4)図面、第1図を別紙のとおり補正する。 以上 2、特許請求の範囲 土至豊員対支ヱ中央処理装置からフェッチリクエストの
あったデータがキャッシュメモリ内に存在しなかった場
合には、主記憶からキャッシュメモリに対してブロック
ロードが行なわれるキャッシュメモリ制御方式において
、 前記フェッチリクエストのあったデータの情報を記憶す
るレジスタと、前記キャッシュメモリへのロードが完了
したデータの情報を保持するバッファレジスタと、前記
レジスタの情報と前記バッファレジスタの情報とを比較
するコンパレータと、このコンパレータの比較結果に基
づき前記バッファレジスタ内のデータを前記中央処理装
置に転送する単方向バッファとを備えたことを特徴とす
るキャッシュメモリの制御方式。
FIG. 1 is a system configuration diagram centered on a cache memory showing an embodiment of the present invention, and FIG. 2 is a configuration diagram showing a conventional method. ■...Central processing unit, 2...Cache memory, 3
...Main memory, 4...Memory bus control device, 5...
Memory bus, 6.10... Buffer, 7... Register, 8... Buffer register, 9... Comparator, 11... Signal line indicating block loader. Agent: Masuo Oiwa (2 persons) Procedural amendment (voluntary), Showa year, month, day 2, name of invention: Cache memory city” Ft visit ceremony 3, name of person making the amendment (601) Mitsubishi Electric Corporation Representative Moriya Shiki 4, agent address 2-2-3-5 Marunouchi, Chiyoda-ku, Tokyo, scope of patent claims subject to amendment, detailed description of the invention, drawings section. 6. Contents of amendment (11 patents) The scope of the claims is amended as shown in the attached sheet. (2) The phrase ``This operation will be utilized'' in the third to eighth lines of page 3 of the specification is deleted. (3) From page 4, line 20 to page 5, line 1 of the same book, "from main memory 1" is corrected to "from main memory 3." (4) The drawings and Figure 1 are attached to The above is amended as follows. 2. Claims: Toshi Toyoto vs. Support If the data requested to be fetched from the central processing unit does not exist in the cache memory, the data is blocked from the main memory to the cache memory. In a cache memory control method in which loading is performed, a register that stores information on the data for which the fetch request has been made, a buffer register that holds information on the data that has been completely loaded into the cache memory, and a register that stores information on the data that has been loaded into the cache memory; A cache memory control method comprising: a comparator that compares information in a buffer register; and a unidirectional buffer that transfers data in the buffer register to the central processing unit based on the comparison result of the comparator.

Claims (1)

【特許請求の範囲】 中央処理装置からフェッチリクエストのあったデータが
キャッシュメモリ内に存在しなかった場合には、主記憶
からキャッシュメモリに対してブロックロードが行なわ
れるキャッシュメモリ制御方式において、 前記フェッチリクエストのあったデータの情報を記憶す
るレジスタと、前記キャッシュメモリへのロードが完了
したデータの情報を保持するバッファレジスタと、前記
レジスタの情報と前記バッファレジスタの情報とを比較
するコンパレータと、このコンパレータの比較結果に基
づき前記バッファレジスタ内のデータを前記中央処理装
置に転送する単方向バッファとを備えたことを特徴とす
るキャッシュメモリの制御方式。
[Claims] In a cache memory control method in which a block load is performed from main memory to cache memory when data requested to be fetched from a central processing unit does not exist in the cache memory, the fetch a register that stores information on requested data; a buffer register that holds information on data that has been loaded into the cache memory; a comparator that compares information in the register with information in the buffer register; A cache memory control system comprising: a unidirectional buffer that transfers data in the buffer register to the central processing unit based on a comparison result of a comparator.
JP62154855A 1987-06-22 1987-06-22 Control system for cache memory Pending JPS63317858A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62154855A JPS63317858A (en) 1987-06-22 1987-06-22 Control system for cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62154855A JPS63317858A (en) 1987-06-22 1987-06-22 Control system for cache memory

Publications (1)

Publication Number Publication Date
JPS63317858A true JPS63317858A (en) 1988-12-26

Family

ID=15593380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62154855A Pending JPS63317858A (en) 1987-06-22 1987-06-22 Control system for cache memory

Country Status (1)

Country Link
JP (1) JPS63317858A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03226850A (en) * 1990-01-31 1991-10-07 Nec Corp External auxiliary storage controller
JPH03255562A (en) * 1990-03-06 1991-11-14 Nec Corp Memory access controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03226850A (en) * 1990-01-31 1991-10-07 Nec Corp External auxiliary storage controller
JPH03255562A (en) * 1990-03-06 1991-11-14 Nec Corp Memory access controller

Similar Documents

Publication Publication Date Title
EP0542417B1 (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
EP0690371A1 (en) Fetch and store buffer for supporting out of order execution in a data processing system
EP0464615A2 (en) Microcomputer equipped with DMA controller
CA2007737C (en) Data transfer operations between two asynchronous buses
US6668287B1 (en) Software direct memory access
JP4585647B2 (en) Support for multiple outstanding requests to multiple targets in a pipelined memory system
US6038631A (en) Data processing system and method using virtual storage system
JPH0410102B2 (en)
JPS63317858A (en) Control system for cache memory
JP2001513933A (en) Additional registers to minimize CPU idle cycles during cache refill
WO1999032976A1 (en) Risc processor with concurrent snooping and instruction execution
US6134642A (en) Direct memory access (DMA) data transfer requiring no processor DMA support
JPH1063574A (en) Processor with cache memory
JP2001184259A (en) Arithmetic processor and data transferring method in the device
JP3200183B2 (en) Data processing device
JPH05257903A (en) Multiprocessor system
JP2004062449A (en) Microprocessor and its processing method
JP3161422B2 (en) Microcomputer
JPS61169949A (en) Buffer memory control system
JPH0528115A (en) Cooperative processing type information processor
JPH0685154B2 (en) Intermediate buffer control method
JPH04344531A (en) Instruction fetching control system
JPH06139186A (en) Bus control system
JPH058459B2 (en)
JPH01284941A (en) Information processor