JPH02280249A - Cache memory controller - Google Patents

Cache memory controller

Info

Publication number
JPH02280249A
JPH02280249A JP1102707A JP10270789A JPH02280249A JP H02280249 A JPH02280249 A JP H02280249A JP 1102707 A JP1102707 A JP 1102707A JP 10270789 A JP10270789 A JP 10270789A JP H02280249 A JPH02280249 A JP H02280249A
Authority
JP
Japan
Prior art keywords
data
cache
cache memory
processor
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.)
Pending
Application number
JP1102707A
Other languages
Japanese (ja)
Inventor
Akio Nishimoto
西元 朗雄
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 JP1102707A priority Critical patent/JPH02280249A/en
Publication of JPH02280249A publication Critical patent/JPH02280249A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To improve an access speed to data except for an instruction code by providing a cache enable deciding circuit. CONSTITUTION:When a code/data identifying signal 2 from a processor 13 is the date except for the instruction code, the following actions are executed. First, in the case of a miss, when a valid bit 4 is meaningful, a cache enable deciding circuit 12 makes a cache enable signal 9 meaningless, the processor 13 directly accesses a main memory 15, and the data are not loaded to a cache memory 14. On the other hand, when the valid bit 4 is meaningless, the cache enable deciding circuit 12 makes the cache enable signal 9 meaningful, the data from the main memory 15 are loaded to the cache memory 14, and simultaneously, they are returned to the processor 13. Thus, the access speed to the data except for the instruction code can be improved.

Description

【発明の詳細な説明】[Detailed description of the invention]

r産業上の利用分野J この発明は、コンピュータシステム等で用いられるキャ
ッシュメモリ制御装置、特にそのヒツト率の向上に関す
る。
r Industrial Application Field J This invention relates to a cache memory control device used in a computer system, etc., and particularly to improving the hit rate thereof.

【従来の技術】[Conventional technology]

一般に、高速プロセッサの動作遅延を防ぐため、低速で
ある主メモリとは別に、小容量の高速ローカルバッファ
であるキャッシュメモリヲ設ケることがある。キャッシ
ュメモリは、主メモリ内の使用頻度の高いデータ、ある
いは最後に使用されたデータ等を格納しておき、プロセ
ッサがメモリアクセスする際に、必要なデータがこのキ
ャッシュメモリ内にあれば、時間のかかる主メモリへの
アクセスが不必要となってシステムの性能が向上する。 第2図はこの関係を示す公知文献、例えば「日経エレク
トロニクスJ & 3869204〜207 (198
6−1−13、日経マグロウヒル社発行)に示された概
念の構成ブロック図、第3図は従来のダイレクトマッデ
ド命令専用キャッシュメモリの構成ブロック図である。 第2図及び第3図において、プロセッサ(13)はアド
レス信号(1)をキャッシュメモリ(14)と主メモリ
(15)に与える一方、キャッシュメモリ(14)には
コード/データ識別信号(2)を送る。これらの応答は
、キャッシュメモリ(14)又は主メモリ(15)から
データ信号(10)としてプロセッサ(13)に伝えら
れる。ここで、キャッシュメモリ(14)は、第3図に
詳細に示されるように、タグメモリ(3)、キャッシュ
メモリ内のデータが有効であることを示すバリッドビッ
ト(4)、データメモリ(5)、タグ比較器(6)プロ
セッサ(13)が要求するデータを選択するデータマル
チプレクサ(7)及びプロセッサ(13)とキャッシュ
メモリ(14)の間でデータ信号(10)の中介をする
データバッファ(11)等の機能部分を備えている。 このような構成において、プロセッサ(13)のリード
サイクル中、アドレス信号(1)のAmからAI++が
タグメモリ(3)とデータメモリ(5)の入力アドレス
となり、タグ比較器(6)はタグメモリ(3)の出力及
びバリッドビット(4)、並びにアドレス信号(1)の
Anから^−+1により、ヒツトしたか否かの判定を行
い、ヒツト/ミス信号を出力する。アドレス信号(1)
の入力アドレスAmからAl+1がメモリ内に格納され
ており、ヒツトした場合は、データメモリ(5)よりの
出力により、データマルチプレクサ(7)でプロセッサ
(13)が要求するデータが選択されて、データバッフ
ァ(11)を介してデータ信号(10)としてプロセッ
サ(13)へ信号が返送される。 一方、ミスした場合は、主メモ!J (15)から入力
アドレスに相当するデータがデータバッファ(11)を
介してデータメモリ(5)に転送され、タグメモリ(3
)の格納内容が更新されると共に、プロセッサ(13)
に要求データが返送される。 ここで、キャッシュメモリ(14)は命令専用であるた
め、プロセッサ(13)からのコード/データ識別信号
(2)が命令コード以外のデータである場合は、キャッ
シュイネーブル信号(9)が無意となり、キャッシュ動
作は行われず、プロセッサ(13)ハ、主メモリ(15
)へ直接アクセスすることになる。 〔発明が解決しようとする課題J 従来のキャッシュメモリ制御装置は、以上のような構処
であったので、命令フェッチ動作に対するヒツト率向上
を図るために命令専用キャッシュとした場合に、命令コ
ード以外のデータに対してキャツシュ1a この発明は、かかる課題を解決することを課題としてな
され九もので、命令フェッチ動作に対するヒツト率が命
令専用キャッシュと同等であり、かつ命令コード以外の
データに対してもキャッシュ動作が行えるキャッシュメ
モリ制御装置を得ることを目的とする。 〔課題を解決するための手段J この発明に係るキャッシュメモリ制御装置は、ヒツト/
ミス信号及びバリッドビット、並びにプロセッサのコー
ド/データ識別信号の三者を入力してキャッシュ動作を
行うか否かを判別するキャッシュイネーブル判定回路と
を有するものである。 〔作用J この発明によるキャッジ・ユイネーブル判定回路は、プ
ロセッサが要求するデータが命令コード以外のデータで
あっても、キャッシュメモリ内に無効データが格納され
ていれば、キャッシュに要求データをロードし、以後、
コードの場合と同様にキャッシュ動作を行うため、命令
以外のデータに対するアクセススピードが向上する。 プロセッサが要求するコマンドが命令コードである場合
は、命令専用キャッシュと同等のヒツト率となる。 【発明の実施例J 以下に,この発明の一実施例を第1図に基づhて説明す
る。図中、第2図及び第3図と同一部分は同一符号をも
って示されている。 第1図に示す通り、この発明ではキャッシュイネーブル
判定回路(12)が設けられる。このキャッシュイネー
ブル判定回路(12)は、プロセッサ(13)の発する
コード/データ識別信号(2)と、キャッシュメモリの
バリッドビット(4)及びコードピット(11)とを入
力して、キャッシュイネーブル信号(9)を出力する。 この様な構成によるキャッシュメモリ制御装置において
は、プロセッサ(13)のリードサイクルにおいて、プ
ロセッサ(13)からのコード/データ識別信号(2)
が命令コードである場合は、従来の命令専用キャッシュ
と同様な動作を行う。 しかしながら、プロセッサ(13)からのコード/デー
タ識別信号(2)が、命令コード以外のデータである場
合は次の動作を行う。 まず、ミスした場合バリッドビット(4)が有意である
と、キャッシュイネ−プル判定回路(12)は、キャッ
シュイネーブル信号(9)を無意とし、プロセッサ(1
3)は主メモリ(15)に直接アクセスし、キャッシュ
メモリ(14)にはデータはロードされない。 一方バリッドビット(4)が無意であれば、キャッシュ
イネーブル判定回路(12)はキャッシュイネーブル信
号(9)を有意とし、主メモリ(15)からのデータが
キャッシュメモリ(14)にロードされると共にプロセ
ッサ(13)に返送される。 次に命令コード以外のデータでヒツトした場合、命令コ
ードの場合と同様にデータメモリ(5)からデータマル
チプレクサ(7)、データバッファ(11)を介してデ
ータ信号(10)が出力され、ヒツトサイクルが完結す
る。 上記の通り、この発明によれば、プロセッサ(13)か
らの要求データが命令コードである場合は従来同様高速
キャッシュ動作を行うと共に、命令コード以外である場
合もキャッシュ動作を行うので、全体としてのヒツト率
が向上し、命令コード以外のデータに対するアクセスス
ピードが向上するものとなる。 なお、上記の実施例では、ダイレクトマツデド方式のキ
ャッシュメモリについて説明したが、フルアソシアティ
ブ・キャッシュ、セットアリシアテイプ・キャッシュ等
、他の方式のキャッシュメモリについても用いることが
できることは勿論である。 〔発明の効果J この発明は、以上説明したとおり、キャッシュイネーブ
ル判定回路を設けた構造としたことにより、ミス時にキ
ャッシュメモリに格納されたデータが無効である場合は
、プロセッサの要求データが命令コードであるか否かに
限らずキャッシュに要求データをロードするように構成
し、従来の命令専用キャッシュを用いた場合に比較して
、命令コード以外のデータに対するアクセススピードが
向上する効果がある。
Generally, in order to prevent delays in the operation of a high-speed processor, a cache memory, which is a small-capacity, high-speed local buffer, is sometimes provided in addition to the low-speed main memory. Cache memory stores frequently used data or last used data in main memory, and when the processor accesses memory, if the necessary data is in this cache memory, it saves time. Access to such main memory is no longer necessary, improving system performance. Figure 2 shows known documents showing this relationship, such as "Nikkei Electronics J & 3869204-207 (198
6-1-13, published by Nikkei McGraw-Hill, Inc.), and FIG. 3 is a block diagram of the structure of a conventional cache memory dedicated to direct mudded instructions. 2 and 3, a processor (13) provides an address signal (1) to a cache memory (14) and a main memory (15), while a code/data identification signal (2) is provided to a cache memory (14). send. These responses are transmitted from the cache memory (14) or main memory (15) to the processor (13) as data signals (10). Here, as shown in detail in FIG. 3, the cache memory (14) includes a tag memory (3), a valid bit (4) indicating that the data in the cache memory is valid, and a data memory (5). , a tag comparator (6), a data multiplexer (7) that selects the data requested by the processor (13), and a data buffer (11) that mediates the data signal (10) between the processor (13) and the cache memory (14). ) and other functional parts. In such a configuration, during a read cycle of the processor (13), the address signals (1) from Am to AI++ become the input addresses of the tag memory (3) and data memory (5), and the tag comparator (6) Based on the output of (3), the valid bit (4), and An to ^-+1 of the address signal (1), it is determined whether there is a hit or not, and a hit/miss signal is output. Address signal (1)
input addresses Am to Al+1 are stored in the memory, and when a hit occurs, the data requested by the processor (13) is selected by the data multiplexer (7) by the output from the data memory (5), and the data is The signal is sent back to the processor (13) as a data signal (10) via a buffer (11). On the other hand, if you make a mistake, take the main note! Data corresponding to the input address is transferred from J (15) to the data memory (5) via the data buffer (11), and is transferred to the tag memory (3).
) is updated, and the processor (13)
The requested data is returned to . Here, since the cache memory (14) is dedicated to instructions, if the code/data identification signal (2) from the processor (13) is data other than the instruction code, the cache enable signal (9) becomes invalid. No cache operation is performed, and the processor (13) and main memory (15)
) will be accessed directly. [Problem to be Solved by the Invention J] Conventional cache memory control devices have the above-mentioned structure, so when an instruction-only cache is used to improve the hit rate for instruction fetch operations, it is difficult to store information other than instruction codes. This invention has been made with the object of solving this problem, and has a cache 1a for data other than instruction codes. An object of the present invention is to obtain a cache memory control device that can perform cache operations. [Means for Solving the Problems J] A cache memory control device according to the present invention provides a
The cache enable determination circuit receives three inputs: a miss signal, a valid bit, and a processor code/data identification signal, and determines whether or not to perform a cache operation. [Operation J] Even if the data requested by the processor is data other than an instruction code, the cache/enable determination circuit according to the present invention loads the requested data into the cache if invalid data is stored in the cache memory. , hereafter,
Since caching is performed in the same way as for code, access speed for data other than instructions is improved. If the command requested by the processor is an instruction code, the hit rate will be equivalent to that of an instruction-only cache. Embodiment J of the Invention An embodiment of the invention will be described below with reference to FIG. In the figure, the same parts as in FIGS. 2 and 3 are designated by the same reference numerals. As shown in FIG. 1, a cache enable determination circuit (12) is provided in the present invention. This cache enable determination circuit (12) inputs the code/data identification signal (2) issued by the processor (13), the valid bit (4) and code pit (11) of the cache memory, and generates a cache enable signal ( 9) is output. In the cache memory control device having such a configuration, in the read cycle of the processor (13), the code/data identification signal (2) from the processor (13) is
If it is an instruction code, it operates in the same way as a conventional instruction-only cache. However, if the code/data identification signal (2) from the processor (13) is data other than an instruction code, the following operation is performed. First, if the valid bit (4) is significant in the case of a miss, the cache enable determination circuit (12) makes the cache enable signal (9) invalid and the processor (1)
3) directly accesses the main memory (15) and no data is loaded into the cache memory (14). On the other hand, if the valid bit (4) is invalid, the cache enable determination circuit (12) makes the cache enable signal (9) significant, and the data from the main memory (15) is loaded into the cache memory (14) and the processor It is returned to (13). Next, when data other than the instruction code is hit, the data signal (10) is output from the data memory (5) via the data multiplexer (7) and the data buffer (11), as in the case of the instruction code, and the hit cycle is is completed. As described above, according to the present invention, when the requested data from the processor (13) is an instruction code, a high-speed cache operation is performed as in the conventional method, and when the requested data is other than an instruction code, the cache operation is also performed, so that the overall The hit rate is improved and the access speed to data other than instruction codes is improved. In the above embodiments, a direct mated type cache memory has been described, but it goes without saying that other types of cache memory, such as a fully associative cache and a set arithmetic cache, can also be used. [Effect of the Invention J] As explained above, this invention has a structure in which a cache enable determination circuit is provided, so that if the data stored in the cache memory at the time of a miss is invalid, the data requested by the processor is changed to an instruction code. The configuration is configured such that requested data is loaded into the cache regardless of whether or not the instruction code is present, and the access speed for data other than instruction codes is improved compared to the case where a conventional instruction-only cache is used.

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

第1図はこの発明の一実施例によるキャッシュメモリ制
御装置の構成ブロック図、第2図は命令キャッシュを用
いたメモリシステムのブロック図、第3図は従来の命令
専用キャッシュメモリ制御装置の構成ブロック図である
。 図において、(1)はアドレス信号、(2)はコード/
データ識別信号、(3)はタグメモ’) 、(4)はバ
リッドビット、(5)はデータメモリ、(7)はデータ
マルチプレクサ、(8)はヒツト/ミス信号、(9)は
キャッシュイネーブル信号、(12)はキャッシュイネ
ーブル判定回路、(13)はプロセッサ、(14)はキ
ャッシュメモリ、(15)は主メモリである。 なお、図中、同一符号は同一、又は相当部分を示す。
FIG. 1 is a block diagram of a cache memory control device according to an embodiment of the present invention, FIG. 2 is a block diagram of a memory system using an instruction cache, and FIG. 3 is a block diagram of a conventional instruction-only cache memory control device. It is a diagram. In the figure, (1) is an address signal, (2) is a code/
data identification signal, (3) is tag memo'), (4) is valid bit, (5) is data memory, (7) is data multiplexer, (8) is hit/miss signal, (9) is cache enable signal, (12) is a cache enable determination circuit, (13) is a processor, (14) is a cache memory, and (15) is a main memory. In addition, in the figures, the same reference numerals indicate the same or equivalent parts.

Claims (1)

【特許請求の範囲】[Claims]  プロセツサの指示によりキャッシュメモリ内の該当デ
ータをプロセツサへ送出し、該当データが前記キャッシ
ュメモリ内に存在しない場合には主メモリより該当デー
タをキヤツシユメモリへロードするキャッシュメモリ制
御装置において、前記キャッシュメモリ内のバリッドビ
ットとヒット/ミス信号並びに前記プロセツサよりの信
号を入力して、前記プロセツサの要求データが命令コー
ド以外のデータであつて、前記キャッシュメモリ内の相
当アドレスのデータが無効である場合に前記キヤツシユ
メモリのロード動作を有効とし、前記キャッシュメモリ
内の相当アドレスのデータが有効でありかつミスした場
合に前記キヤツシユメモリへのロード動作を無効とする
キャッシュイネーブル判定回路を備えたことを特徴とす
るキャッシュメモリ制御装置
In a cache memory control device that sends corresponding data in a cache memory to a processor according to an instruction from a processor, and loads the corresponding data from a main memory to a cache memory when the corresponding data does not exist in the cache memory, the cache memory Valid bits and hit/miss signals in the cache memory as well as signals from the processor are input, and if the data requested by the processor is data other than the instruction code and the data at the corresponding address in the cache memory is invalid. The present invention further includes a cache enable determination circuit which enables a load operation of the cache memory and disables the load operation to the cache memory when data at a corresponding address in the cache memory is valid and a miss occurs. Characteristic cache memory control device
JP1102707A 1989-04-21 1989-04-21 Cache memory controller Pending JPH02280249A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1102707A JPH02280249A (en) 1989-04-21 1989-04-21 Cache memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1102707A JPH02280249A (en) 1989-04-21 1989-04-21 Cache memory controller

Publications (1)

Publication Number Publication Date
JPH02280249A true JPH02280249A (en) 1990-11-16

Family

ID=14334741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1102707A Pending JPH02280249A (en) 1989-04-21 1989-04-21 Cache memory controller

Country Status (1)

Country Link
JP (1) JPH02280249A (en)

Similar Documents

Publication Publication Date Title
US3898624A (en) Data processing system with variable prefetch and replacement algorithms
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
JP3016575B2 (en) Multiple cache memory access methods
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
JPH03225542A (en) Memory of data and processing circuit for bit encode data
CN110291507B (en) Methods and apparatus for providing accelerated access to memory systems
JP2768503B2 (en) Virtual memory address space access control method
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JP4160228B2 (en) Microprocessor
JPS62102344A (en) Buffer memory control system
US7577791B2 (en) Virtualized load buffers
US4737908A (en) Buffer memory control system
JPH02280249A (en) Cache memory controller
JPH07234819A (en) Cache memory
KR20040047398A (en) Method for data access using cache memory
JP2845754B2 (en) Multiprocessor system
JPH1185613A (en) Cache memory
JPH0253152A (en) Cache memory controller
JPH0385636A (en) Instruction advance control device
JPH05257807A (en) Cache memory controller
JPH04340145A (en) Cache memory device
JPS63240651A (en) Cache memory
JPH02259945A (en) Storing processing system
JPH0573415A (en) Hierarchized cache system