JPS63317858A - Control system for cache memory - Google Patents
Control system for cache memoryInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002747 voluntary effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
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.
第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.
従来の方式では、ブロックロード期間中、メモリバス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.
この発明においては、中央処理装置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.
バッファレジスタ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.
以上説明してきたように、この発明によれば、フェッチ
リクエストのあったデータの情報を記憶するレジスタと
、キャッシュメモリへのロードが完了したデータの情報
を保持するバッファレジスタと、レジスタの情報とバッ
ファレジスタの情報とを比較するコンパレータと、この
コンパレータの比較結果に基づきバッファレジスタ内の
データを前記中央処理装置に転送する単方向バッファと
を備えて、主記憶からキャッシュメモリへデータのブロ
ックロードによってメモリバスが専有されている状態で
も、中央処理装置が必要とするデータが、部分的にキャ
ッシュメモリに格納されれば、キャッシュメモリと同一
タイミングでデータの格納されたバッファレジスタから
単方向バッファを介して中央処理装置にデータを転送で
きる。このため、ブロックロードの全ての完了を待たず
に中央処理装置の処理続行が可能となり、ブロックロー
ドと命令実行が平行して行われシステムのスループット
が向上するという効果がある。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.
第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.
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)
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 |
-
1987
- 1987-06-22 JP JP62154855A patent/JPS63317858A/en active Pending
Cited By (2)
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 |