JPH0353657B2 - - Google Patents
Info
- Publication number
- JPH0353657B2 JPH0353657B2 JP57000648A JP64882A JPH0353657B2 JP H0353657 B2 JPH0353657 B2 JP H0353657B2 JP 57000648 A JP57000648 A JP 57000648A JP 64882 A JP64882 A JP 64882A JP H0353657 B2 JPH0353657 B2 JP H0353657B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- memory
- data
- signal
- central processor
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0857—Overlapped cache accessing, e.g. pipeline by multiple requestors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
本発明はキヤツシユ(cache)を用いたデータ
処理装置の動作におけるメモリアクセス管理の向
上を図つたデータ処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing device that improves memory access management in the operation of the data processing device using a cache.
本発明のデータ処理装置は、中央プロセツサ
(中央演算装置)、メモリ制御装置により制御され
る主メモリ(主記憶装置)及び複数の周辺装置プ
ロセツサ(peripheral processor)(例えば端末
装置、プリンタ、通信装置及びその他類似の装置
の動作を処理するもの)を有する。データ処理装
置にはさらにキヤツシユメモリが設けられる。キ
ヤツシユは中央プロセツサに対してローカルに設
けられる高速メモリであり、主メモリ内容の時間
変化サブセツト(time−varying subset)を包
含する。 The data processing device of the present invention includes a central processor (central processing unit), a main memory (main memory) controlled by a memory control device, and a plurality of peripheral processors (e.g., terminal devices, printers, communication devices, etc.). and other similar devices). The data processing device is further provided with a cache memory. A cache is a high speed memory local to a central processor that contains a time-varying subset of main memory contents.
キヤツシユは中央プロセツサのメモリ動作に関
係する平均メモリアクセス時間を相当に減少させ
ることができ、その理由としては非常に高速度の
メモリ読出が高速キヤツシユを用いることにより
満足されることができるからである。メモリ読出
試行の低下に関し、主メモリから要求したデータ
を中央プロセツサに持つて来るためには中央プロ
セツサの動作を中断することが必要である。ここ
に述べるデータ処理装置においては、キヤツシユ
は中央プロセツサにより直接に読出され、そして
キヤツシユミス(cache miss)又は中央プロセ
ツサの主メモリ書込動作に応答するキヤツシユ書
込回路により書込まれる。周辺装置プロセツサは
メモリ制御装置を通して主メモリから読出す及び
主メモリへ書込むがキヤツシユへの読出又は書込
は行なわず、キヤツシユは中央プロセツサの動作
のために専用される。 A cache can significantly reduce the average memory access time associated with central processor memory operations, since very high speed memory reads can be satisfied by using a high speed cache. . Regarding the reduction in memory read attempts, it is necessary to interrupt the operation of the central processor in order to bring the requested data from main memory to the central processor. In the data processing system described herein, the cache is read directly by the central processor and written to by cache write circuitry that is responsive to cache misses or main memory write operations of the central processor. Peripheral processors read from and write to main memory through the memory controller, but do not read from or write to the cache, which is dedicated to central processor operations.
この形式のデータ処理装置には、とりわけ3つ
の問題点がそのようなキヤツシユの動作状態にお
いて生じ、それらの問題の全てがデータ処理装置
の動作速度を低下させる。 Three problems arise with this type of data processing system, among others, in the operating conditions of such a cache, all of which reduce the operating speed of the data processing system.
第1の問題点としては、周辺装置プロセツサが
キヤツシユへ書込みをしないのにも拘らず周辺装
置のプロセツサが主メモリにおける或るロケーシ
ヨンへ書込むと、該当する主メモリロケーシヨン
の内容がキヤツシユへ移されているかどうか見出
するためにキヤツシユを検査する必要があり、も
しそうであれば、キヤツシユエントリを無効化
(invalidate)する必要がある(「無効(invalid)」
を示す状態に有効(valid)・無効ビツトをセツト
することにより行う)、その理由としては、エン
トリはもはや主メモリ内容に正確に対応しないか
らである。このことは、特定の時間において、キ
ヤツシユ読出試行動作と、或る周辺装置プロセツ
サの主メモリ書込動作(タグ検査)後のキヤツシ
ユの内容検査試行動作との間において競合が存在
し得ることを意味している。 The first problem is that if the peripheral processor does not write to the cache, but the peripheral processor writes to a location in main memory, the contents of that main memory location are moved to the cache. The cache needs to be inspected to find out whether the cache is
(done by setting the valid/invalid bit to a state indicating the entry), because the entry no longer corresponds exactly to the main memory contents. This means that at a particular time there may be a conflict between a cache read attempt and a certain peripheral processor's attempt to check the contents of the cache after a main memory write operation (tag check). are doing.
第2の問題点としては、キヤツシユは同時に書
込み及び読出しができぬので、特定の時間におい
て、キヤツシユを読出すことを試みる中央プロセ
ツサと前回のキヤツシユミス(キヤツシユ更新)
に応答してキヤツシユへの書込みを試みるキヤツ
シユ書込論理回路との間において競合が存在し得
る。前回のタグ検査がタグの一致状態を実証した
後にキヤツシユ書込論理回路が無効ビツトの書込
みを試みる場合にもまた競合が存在し得る。 The second problem is that the cache cannot be written to and read from at the same time, so at a particular time, the central processor tries to read the cache and misses the previous cache (cache update).
There may be contention with the cache write logic attempting to write to the cache in response to. Conflicts may also exist if the cache write logic attempts to write an invalid bit after a previous tag check has demonstrated a tag match condition.
最後の問題点としては、前回の中央プロセツサ
の主メモリへの書込み終了後メモリ制御装置がそ
の書込みを更新するためにキヤツシユへ書込んで
いる間に中央プロセツサがキヤツシユの読出しを
行う場合にも、ある特定の時間において競合が存
在し得る。 A final problem is that if the central processor reads from the cache while the memory controller is writing to the cache to update the previous write to main memory after the central processor has finished writing to main memory, Conflicts may exist at certain times.
従来のデータ処理装置においては、キヤツシユ
は次に列挙するようなやり方において動作する、
(1)オーバーヘツド時間が競合状態を鎮静化するの
に費されねばならぬ、より特定的には第1の問題
点の場合に関して、(2)前回のキヤツシユミス後の
キヤツシユ更新に関し、キヤツシユへ該キヤツシ
ユミス内容を更身するために提供されるキヤツシ
ユサイクルの間、中央プロセツサの動作を停止さ
せた状態を維持することが必要にされている、及
び(3)中央プロセツサの書込動作後にキヤツシユへ
該書込内容を更新するために提供されるメモリサ
イクルの間、中央プロセツサの動作を停止するこ
とが必要にされる。上述の問題点の全てがメモリ
アクセスの遅延を生じさせ、ひいては中央プロセ
ツサ動作を低下させる。 In conventional data processing devices, caches operate in the following manner:
(1) With respect to the first problem more specifically, where overhead time must be spent quelling race conditions; (2) with respect to cache updates after a previous cache miss; (3) it is required to maintain the central processor inactive during the cache cycles provided to refresh the cache contents; It is required that the central processor be stopped during the memory cycles provided to update the write contents. All of the above problems cause memory access delays, which in turn slow down central processor performance.
本発明のデータ処理装置は上述した従来形のデ
ータ処理装置におけるこれらの不利益を全て回避
する。 The data processing device of the present invention avoids all of these disadvantages in conventional data processing devices mentioned above.
キヤツシユは一般に、中央プロセツサのメモリ
動作マイクロ命令サイクルと同じ長さの動作サイ
クルを有する。本発明のデータ処理装置において
は、キヤツシユ動作サイクルは相互に排他的な動
作に用いられる2つのサブサイクル(subcycle)
に分割される。第1のサブサイクルは中央プロセ
ツサのメモリ読出要求をそのアドレスと共に受入
れるために提供される。第2のサブサイクルは他
の種類のキヤツシユ動作の各々の動作に提供され
る。これらの動作はより特定的には、(a)周辺装置
プロセツサが主メモリへ書込んだ後キヤツシユの
内容を検査するため周辺装置プロセツサからのア
ドレスを受入れる動作、又は(b)キヤツシユ検査で
一致状態が得られた後の無効ビツト、又は、キヤ
ツシユミスが存在した、又は中央プロセツサが主
メモリへ書込んだ、後のデータを包含する任意の
ものをキヤツシユへ書込む動作のいずれかであ
る。本発明の上述の手段により、競合状態が消滅
され、それによりオーバーヘツド時間が競合状態
を鎮静化するために費やされる必要がなく、書込
動作が中央プロセツサのキヤツシユ読出動作に対
して「区別(transparent)」される。中央プロセ
ツサから観れば、キヤツシユは常に読出動作が可
能である。中央プロセツサの書込後にキヤツシユ
の内容が「同時的に」検査、無効化又は更新され
ているという事態とは無関係に、中央プロセツサ
は連続的な中央プロセツサのマイクロ命令サイク
ルにおいて割込れることなくキヤツシユ読出しを
継読できる。キヤツシユミス後において中央プロ
セツサがキヤツシユ更新を許可するために停止さ
れねばならないのにも拘らず、中央プロセツサ
は、前述した本発明の分割したキヤツシユサイク
ルが存在しない従来形のデータ処理装置における
場合に可能である動作の再起動よりも早いサイク
ルにおいて動作を再起動できる。 A cache typically has an operating cycle as long as the central processor's memory operating microinstruction cycle. In the data processing device of the present invention, the cache operation cycle is divided into two subcycles used for mutually exclusive operations.
divided into The first subcycle is provided for accepting central processor memory read requests along with their addresses. A second subcycle is provided for each of the other types of cache operations. More specifically, these operations are: (a) accepting an address from a peripheral processor to check the contents of the cache after the peripheral processor has written to main memory; or (b) checking the cache for a match. Either an invalid bit is obtained after the cache is obtained, or a cache miss occurs or the central processor writes anything to the cache containing later data written to main memory. By the above-described means of the present invention, race conditions are eliminated so that overhead time does not have to be spent quelling the race conditions, and write operations are "differentiated" from central processor cache read operations. transparent). From the central processor's perspective, the cache is always available for read operations. Regardless of the fact that the contents of the cache are being examined, invalidated, or updated ``simultaneously'' after the central processor writes, the central processor writes the cache uninterrupted in successive central processor microinstruction cycles. Reading can be continued. Although the central processor must be shut down after a cache miss to allow cache updates, the central processor can be The operation can be restarted in an earlier cycle than the restart of the operation.
さらに本発明によるメモリ管理構造による設備
は特に回路を経済的であり、価格及び大きさ両者
の要求を減少する。 Additionally, the memory management structure according to the invention is particularly circuit economical, reducing both cost and size requirements.
本発明によれば、本発明のデータ処理装置は、
メモリアドレス信号を提供するメモリアドレスレ
ジスタ手段及びデータ信号を受入れかつ提供する
メモリデータレジスタを有する中央プロセツサ、
及び、該中央プロセツサへ接続され、該中央プロ
セツサへのマイクロ命令を表わす制御信号を提供
する制御信号記憶装置(control store)を有す
る。該マイクロ命令のうの特定の或る制御信号が
読出又は書込メモリアクセス動作を表わし、中央
プロセツサがメモリアクセス制御信号に応答して
メモリアドレス信号を発生させかつ該メモリアド
レス信号をメモリアドレスレジスタに配置させ
る。データ処理装置はさらにメモリアドレス信号
によりアドレス指定できデータ信号を記憶するた
めに適合された物理的なメモリを有する。 According to the present invention, the data processing device of the present invention includes:
a central processor having memory address register means for providing memory address signals and a memory data register for accepting and providing data signals;
and a control signal store coupled to the central processor for providing control signals representing microinstructions to the central processor. A particular control signal of the microinstruction represents a read or write memory access operation, and the central processor generates a memory address signal in response to the memory access control signal and stores the memory address signal in a memory address register. have it placed. The data processing device further includes a physical memory addressable by the memory address signals and adapted for storing data signals.
この物理的なメモリは、比較的低速アクセスの
主メモリ及び比較的高速アクセスのキヤツシユメ
モリから成る。該物理的なメモリへメモリアドレ
ス信号を提供するために中央プロセツサのメモリ
アドレスレジスタが物理的なアドレスに接続され
る。中央プロセツサはさらに物理的なメモリに対
するメモリアクセス制御信号を提供する。データ
処理装置はさらに中央プロセツサ及び物理的なメ
モリの各個へ接続されたマスタタイミング発生手
段(master timing means)を有し、該マスタ
タイミング発生手段は中央プロセツサ及び物理的
なメモリに対するタイミングパルスを提供する。
特定のタイミングパルスは中央プロセツサ動作サ
イクルを規定し、該動作サイクルはメモリアクセ
スを包含する動作のための一定長の時間を有す
る。少くとも1つの周辺装置プロセツサが物理的
なメモリに接続され物理的なメモリへの読出及び
書込みアクセスが行なわれ、周辺装置プロセツサ
は物理的なメモリに対しメモリアドレス信号、メ
モリアクセス制御信号及びデータ信号を提供し、
物理的なメモリからデータ信号を受け入れる。 This physical memory consists of relatively slow access main memory and relatively fast access cache memory. A central processor memory address register is connected to the physical address to provide a memory address signal to the physical memory. The central processor also provides memory access control signals to the physical memory. The data processing apparatus further includes master timing generation means connected to each of the central processor and physical memory, the master timing generation means providing timing pulses to the central processor and physical memory. .
The particular timing pulse defines a central processor operating cycle, which has a fixed length of time for operations including memory accesses. At least one peripheral processor is connected to the physical memory for read and write access to the physical memory, and the peripheral processor provides memory address signals, memory access control signals, and data signals to the physical memory. provide,
Accepts data signals from physical memory.
キヤツシユメモリはマスタタイミング発生手段
に応答するメモリタイミング手段を有し、該メモ
リタイミング手段がキヤツシユ動作サイクルを規
定する複数のタイミングパルスを提供する。 The cache memory has memory timing means responsive to the master timing generation means for providing a plurality of timing pulses defining a cache operating cycle.
キヤツシユは、データ信号を記憶するデータ信
号記憶手段、前述の物理的なメモリから受入れた
メモリアドレス信号を提供してデータ信号記憶装
置をアドレス指定するアドレス指定
(addressing)手段、キヤツシユにおける特定デ
ータの有無を表わす出力信号を発生するために印
加したアドレス信号及び記憶したデータ信号に応
答する比較器手段、及び、特定データの有無を表
わす2つの状態の1つを有する状態信号を発生す
るために比較的手段の出力に応答する信号発生手
段、を有する。 The cache includes data signal storage means for storing data signals, addressing means for addressing the data signal storage device by providing a memory address signal received from the aforementioned physical memory, and the presence or absence of specific data in the cache. comparator means responsive to the applied address signal and the stored data signal to generate an output signal indicative of the specified data; and comparator means responsive to the applied address signal and the stored data signal to generate an output signal representative of the data; and signal generating means responsive to the output of the means.
キヤツシユアドレス指定手段はキヤツシユメモ
リタイミング手段に応答して中央プロセツサから
受入れたアドレス信号のみをキヤツシユデータ信
号記憶手段及び比較器手段へ印加するキヤツシユ
動作サイクルの第1の部分を提供し、キヤツシユ
アドレス指定手段はキヤツシユメモリタイミング
手段に応答して周辺装置プロセツサから受入れた
アドレス信号をキヤツシユデータ信号記憶装置及
び比較器手段へ印加する動作を包含する複数の動
作の1つに対するキヤツシユ動作サイクルの第2
の部分を提供する。 The cache addressing means is responsive to the cache memory timing means to provide a first portion of the cache operating cycle for applying only address signals received from the central processor to the cache data signal storage means and comparator means; The cache addressing means is responsive to the cache memory timing means to initiate a cache operation cycle for one of a plurality of operations including applying address signals received from the peripheral processor to the cache data signal storage and comparator means. the second of
provide a portion of
マスタタイミング発生手段はキヤツシユデータ
記憶手段からの特定データの有無を表わす状態信
号のうちの第1の状態に応答して中央プロセツサ
のタイミングパルスを禁止し、それにより中央プ
ロセツサを停止させる。物理的なメモリは中央プ
ロセツサから受入れたメモリアクセス制御信号と
共に状態信号のうちの第1の状態に応答して主メ
モリアクセス動作を実行させ、該主メモリアクセ
ス動作は、特定データをアドレス指定するように
中央プロセツサから受入れたメモリアドレス信号
を主メモリに印加する動作、及びアドレス指定さ
れた特定データを中央プロセツサへ提供する動作
から成る。キヤツシユ信号発生手段は主メモリア
クセス動作の完了に応答して第2の状態を有する
状態信号を発生させ、マスタタイミング発生手段
は状態信号のうちの第2の状態に応答して中央プ
ロセツサのタイミングパルスを可能にし、それに
より中央プロセツサを再起動させる。 The master timing generating means inhibits timing pulses of the central processor in response to a first state of the status signals representing the presence or absence of specific data from the cache data storage means, thereby stopping the central processor. The physical memory is responsive to a first state of the status signals in conjunction with a memory access control signal received from the central processor to cause the physical memory to perform a main memory access operation, the main memory access operation being configured to address particular data. the operations of applying memory address signals received from the central processor to the main memory; and providing specific addressed data to the central processor. The cache signal generating means generates a status signal having a second state in response to completion of a main memory access operation, and the master timing generating means generates a central processor timing pulse in response to the second state of the status signals. , thereby restarting the central processor.
物理的なメモリはさらにキヤツシユ書込手段を
具備する。キヤツシユはさらにデータ記憶手段と
協働する有効性(validity)情報記憶手段を有
し、該有効性情報記憶手段は各個が2つの状態の
うちの1つを有しメモリアドレス信号によりアド
レス指定され得る複数の有効ビツトを具備する。
キヤツシユ書込手段は比較器手段の出力に応答
し、比較器手段の出力は周辺装置プロセツサのメ
モリアドレス信号をキヤツシユデータ記憶手段及
び比較器手段に印加することに応答して発生さ
れ、第1の書込動作を実行させ、該書込動作は、
周辺装置プロセツサのメモリアドレス信号を有効
情報記憶手段におけるロケーシヨンをアドレス指
定するために印加する動作、及び該ロケーシヨン
における有効ビツトを無効を表わす第1の状態に
設定する動作から成る。キヤツシユ書込手段はキ
ヤツシユタイミング手段に応答してキヤツシユ動
作サイクルの継続する第2の部分の間において第
1の書込動作を実行する
キヤツシユ信号発生手段はまた有効ビツトの第
1状態に応答して第1状態を有する状態信号を発
生させる。 The physical memory further comprises cache writing means. The cache further has validity information storage means cooperating with the data storage means, each having one of two states and being addressable by a memory address signal. It has multiple valid bits.
The cache write means is responsive to the output of the comparator means, the output of the comparator means being generated in response to applying a peripheral processor memory address signal to the cache data storage means and the comparator means; A write operation is executed, and the write operation is
The act of applying a memory address signal of the peripheral processor to address a location in the valid information storage means and setting the valid bit at the location to a first state representing invalid. The cache write means is responsive to the cache timing means to perform the first write operation during a second successive portion of the cache operation cycle. The cache signal generation means is also responsive to the first state of the valid bit. to generate a state signal having a first state.
キヤツシユ書込手段は、主メモリアクセス動作
の完了、及び中央プロセツサから受入れたメモリ
アドレス信号及びメモリアクセス制御信号に応答
して第2の書込動作を実行させ、該書込動作は、
キヤツシユデータ記憶手段におけるロケーシヨン
をアドレス指定するためにメモリアドレス信号を
印加する動作、及び得られた特定のデータを該ロ
ケーシヨンに書込む動作から成り、キヤツシユ書
込手段はキヤツシユタイミング手段に応答してキ
ヤツシユ動作サイクルの第2の部分の間において
第2の書込動作を実行させる。 The cache write means is responsive to completion of the main memory access operation and to memory address signals and memory access control signals received from the central processor to perform a second write operation, the write operation comprising:
the cache writing means being responsive to the cache timing means, comprising applying a memory address signal to address a location in the cache data storage means and writing the resulting particular data to the location; and causing a second write operation to be performed during a second portion of the cache operation cycle.
本発明の他の目的、特徴および利益は、添付の
図面に関連づけた下記の好適な実施例の記述によ
り明瞭にされる。 Other objects, features and advantages of the invention will become clearer from the following description of the preferred embodiments taken in conjunction with the accompanying drawings.
図面を参照して以下に本発明について述べる
が、先ず第1図には本発明の実施例としてのデー
タ処理装置に関係する全システムが簡略的な形態
において図示されている。データ処理装置10に
は中央プロセツサ12、制御信号記憶装置14お
よびマスタクロツク装置20が設けられる。デー
タ処理装置にはさらに主メモリ16が設けられて
おり、主メモリはメモリ制御装置18により制御
され、アクセスされる。種々の周辺装置(端末装
置、プリンタ、デイスク記憶装置、磁気テープ記
憶装置、通信機器および上記と類似の装置等)9
a〜9cがデータ処理装置10へ結合されて本発
明のシステムを形成している。 The present invention will be described below with reference to the drawings. First, FIG. 1 shows in a simplified form the entire system related to a data processing apparatus as an embodiment of the present invention. Data processing system 10 is provided with a central processor 12, a control signal storage 14, and a master clock 20. The data processing device is further provided with a main memory 16, which is controlled and accessed by a memory controller 18. Various peripheral devices (terminal devices, printers, disk storage devices, magnetic tape storage devices, communication equipment, and similar devices to those mentioned above, etc.) 9
a to 9c are coupled to the data processing device 10 to form the system of the present invention.
周辺装置の各個は、周辺装置プロセツサと呼ば
れる1つのプロセツサを包含する。複数の周辺装
置プロセツサがバスアダプタ22の1つに接続さ
れ、該バスアダプタはメモリ制御装置18へ接続
される。複数のバスアダプタが存在し得る。バス
アダプタ22の目的は、データ処理装置の内部に
ある64ビツトのデータラインと周辺装置をデータ
処理装置10へ接続する16ビツトのデータとの間
の適合(buffer)処理を行うことにある。メモリ
制御装置18は中央プロセツサおよび周辺装置プ
ロセツサのために主メモリ16へのアクセスを提
供するものであり、また本発明の関心の対象とは
しない方法において中央プロセツサ12から周辺
装置プロセツサへ命令(instruction)を伝達す
ることができる。 Each peripheral device contains one processor, called the peripheral processor. A plurality of peripheral processors are connected to one of the bus adapters 22, which in turn is connected to the memory controller 18. There may be multiple bus adapters. The purpose of bus adapter 22 is to provide a buffer between the 64-bit data lines internal to the data processing system and the 16-bit data lines connecting peripheral devices to data processing system 10. Memory controller 18 provides access to main memory 16 for the central processor and peripheral processors, and also transfers instructions from central processor 12 to peripheral processors in a manner not of interest to the present invention. ) can be transmitted.
中央プロセツサ12は高速ローカルメモリ又は
キヤツシユ24へ接続され、該キヤツシユは主メ
モリに記憶されたデータの時間変化サブセツトを
包含する。キヤツシユ24はまたメモリ制御装置
18へ接続される。好適な実施例における特定の
キヤツシユは直接にマツプされ、そして32Kバイ
トを有する。該キヤツシユはライトスルーストラ
テジー(write−through strategy)として用い
られる、すなわち該キヤツシユは中央プロセツサ
が主メモリにデータを書込むときはいつでも更新
される。 Central processor 12 is connected to a high speed local memory or cache 24 which contains a time varying subset of the data stored in main memory. Cache 24 is also connected to memory controller 18. The particular cache in the preferred embodiment is directly mapped and has 32K bytes. The cache is used as a write-through strategy, ie, the cache is updated whenever the central processor writes data to main memory.
キヤツシユ24、主メモリ16およびメモリ制
御装置18によりデータ処理装置の物理的なメモ
リを形成する。 Cache 24, main memory 16 and memory controller 18 form the physical memory of the data processing system.
本発明のデータ処理装置システムを流通するデ
ータおよびアドレス経路がより特定的に第2図に
示されている。中央プロセツサ12は24ビツトの
アドレスバス26を有し、該アドレスバスは簡略
記号「MA(メモリアドレス用)0−23」として
表示されたアドレスラインをキヤツシユ24へ伝
達する。中央プロセツサ12は32ビツトのデータ
入力バス28を有し、該入力バスは簡略記号
「MM(主メモリ用)0−31」として表示されたデ
ータラインを伝達し、及び該中央プロセツサは32
ビツトのデータ出力バス30を有し、該出力バス
は簡略信号「WD(書込データ用)0−31」とし
て表示されたデータラインを伝達する。 The data and address paths flowing through the data processing apparatus system of the present invention are shown more specifically in FIG. Central processor 12 has a 24-bit address bus 26 which conveys address lines labeled as the mnemonic "MA (for memory addresses) 0-23" to cache 24. The central processor 12 has a 32-bit data input bus 28 which carries data lines labeled as the mnemonic "MM (for main memory) 0-31";
It has a bit data output bus 30 which carries data lines labeled as a simple signal "WD (for write data) 0-31".
キヤツシユ24は中央プロセツサ12からのバ
ス26上のアドレスラインMA0−23を受け入れ、
さらにバス32に接続されており、該バスはバス
アダプタ22から簡略記号「BMA(バスアダプ
タメモリアドレス用)0−23」として表示された
アドレスラインを伝達する。このアドレス情報
は、主メモリ内において対応する情報が周辺装置
プロセツサの1つにより変化されるとき、情報の
更新を維持するのに用いられ、その詳細について
は後述される。 Cache 24 accepts address lines MA0-23 on bus 26 from central processor 12;
It is further connected to a bus 32 which carries address lines from the bus adapter 22 labeled as the abbreviation "BMA (for bus adapter memory addresses) 0-23". This address information is used to keep information updated when corresponding information in main memory is changed by one of the peripheral processors, as will be discussed in more detail below.
キヨツシユ24はアドレス出力バス34へ接続
され、該バスは簡略記号「CMA(キヤツシユメモ
リアドレス用)0−23」として表示されたアドレ
スラインをメモリ制御装置18へ伝達する。キヤ
ツシユ24はさらにバス36へ接続され、該バス
は簡略記号「BMAR 3−20」(バツフアドメモ
リレジスタ用)として表示されたアドレスライン
を主メモリ16へ伝達する。 The cache 24 is connected to an address output bus 34 which conveys address lines labeled as the abbreviation "CMA (for cache memory addresses) 0-23" to the memory controller 18. Cache 24 is further connected to a bus 36 which conveys address lines labeled as the mnemonic "BMAR 3-20" (for buffered memory registers) to main memory 16.
キヤツシユ24は1つのデータ入力バス及び1
つのデータ出力バスを有する、該データ入力バス
38は簡略記号「CAWD(キヤツシユ書込データ
用)0−63」として表示されたメモリ制御装置1
8からのデータラインを伝達する。データ入力バ
ス38は、キヤツシユミス後、キヤツシユへデー
タを書込むためにメモリ制御装置18において用
いられる、又は中央プロセツサの主メモリへの書
込みに応答するが、この詳細につい和ては後述す
る。データ入力バス38はまたここでは関心の対
象としない方法においてバスアダプタ22へデー
タを伝送するために用いられる。データ出力バス
40は、バス28に接続された中央プロセツサ1
2へ入力を与えるために簡略記号MM0−31とし
て表示されたキヤツシユ24からのデータライン
を伝達する。データ出力バス40はキヤツシユヒ
ツト(cache hit)後、中央プロセツサの読出要
求に応答して中央プロセツサ12に対するデータ
を提供するが、その詳細については後述される。 The cache 24 has one data input bus and one
The data input bus 38 has two data output buses, the memory controller 1 designated by the abbreviation "CAWD (for cache write data) 0-63".
transmits the data line from 8. Data input bus 38 is used in memory controller 18 to write data to the cache after a cache miss, or is responsive to central processor writes to main memory, as will be discussed in more detail below. Data input bus 38 is also used to transmit data to bus adapter 22 in a manner not of interest here. Data output bus 40 is connected to central processor 1 connected to bus 28.
The data lines from cache 24, designated as mnemonic symbols MM0-31, are transmitted to provide input to cache 24. After a cache hit, data output bus 40 provides data to central processor 12 in response to a read request from the central processor, as will be discussed in more detail below.
主メモリ16は、図示されず本発明の関心の対
象とはしないメモリモジユール選択信号と共に前
述のバス36上のキヤツシユ24からのアドレス
ラインBMAR3−20を受け入れる。主メモリ16
はメモリ制御装置18へ接続された64ビツトのデ
ータ入力バス42を有し、該データ入力バスは簡
略記号「MMWD(主メモリ書込データ用)0−
63」として表示されたデータラインを伝達する。
主メモリ16へ書込まれた全てのデータはバス4
2上の入力である。主メモリ16はメモリ制御装
置18へ接続された64ビツトのデータ出力バス4
4を有し、該データ出力バスは簡略記号
「MMRD(主メモリ読出データ用)0−63」とし
て表示されたデータラインを伝達する。主メモリ
16から読出された全てのデータはバス44上の
読出出力である。 Main memory 16 accepts address lines BMAR3-20 from cache 24 on bus 36 previously mentioned, along with memory module select signals which are not shown and are not of interest to the present invention. Main memory 16
has a 64-bit data input bus 42 connected to the memory controller 18, designated by the abbreviation MMWD (for main memory write data) 0-
63” transmits the data line displayed as “63”.
All data written to main memory 16 is transferred to bus 4.
This is the input above 2. Main memory 16 is connected to a 64-bit data output bus 4 to memory controller 18.
4, the data output bus carries data lines labeled as the abbreviation "MMRD (for main memory read data) 0-63." All data read from main memory 16 is read out on bus 44.
バスアダプタ22は、周辺装置プロセツサのメ
モリアクセス要求に応答し、本発明の関心の対象
とはしない方法において前述のバス32を通して
キヤツシユ24へアドレスビツトを出力する。バ
スアダプタ22は、簡略記号「BARD(バスアダ
プタ読出データ用)0−63」として表示されたデ
ータラインを伝達する主メモリ制御装置18へ接
続された64ビツトのデータ出力バス46、および
簡略記号「BAWD(バスアダプタ書込データ用)
0−63」として表示されたデータラインを伝達す
るバツフア回路50を通してバス38へ接続され
た64ビツトのデータ入力バス48を有する。「バ
スアダプタ読出データ」が周並装置プロセツサか
ら主メモリ16への読出データに関係し、「バス
アダプタ書込データ」が主メモリ16からの読出
データおよび周辺装置プロセツサへの書込データ
に関係することに留意すべきである。 Bus adapter 22 responds to peripheral processor memory access requests and outputs address bits to cache 24 over bus 32 previously described in a manner not of interest to the present invention. The bus adapter 22 has a 64-bit data output bus 46 connected to the main memory controller 18 carrying data lines labeled as the mnemonic "BARD (Bus Adapter for Read Data) 0-63," and BAWD (for bus adapter write data)
It has a 64-bit data input bus 48 connected to bus 38 through a buffer circuit 50 carrying data lines labeled 0-63. "Bus adapter read data" relates to data read from the peripheral device processor to the main memory 16, and "bus adapter write data" relates to data read from the main memory 16 and data written to the peripheral device processor. It should be noted that
さらにバスアダプタ22はキヤツシユ24へ或
る制御信号を出力する。これらの制御信号は
MRBA(バスアダプタメモリ要求信号)および
BAC(バスアダプタ制御信号)0−2である。該
BAC0−2信号は使用上の便宜を図つてキヤツシ
ユの内部にラツチされ、それらのラツチされた形
態については、それらはBBAC0−2に示され
る。 Additionally, bus adapter 22 outputs certain control signals to cache 24. These control signals are
MRBA (bus adapter memory request signal) and
BAC (bus adapter control signal) 0-2. Applicable
The BAC0-2 signals are latched inside the cache for convenience of use, and in their latched form they are shown as BBAC0-2.
上述の如くメモリ制御装置18はバス44を通
して主メモリ16からデータ、バス46を通して
バスアダプタ22からデータ又はバス30を通し
て中央プロセツサ12からデータを受入れる。主
メモリ制御装置18はバス34上のキヤツシユ2
4からのアドレスデータを受け入れる。主メモリ
制御装置18は、キヤツシユ24およびバスアダ
プタ22へ出力するためデータラツチ回路50へ
のデータをバス38へ出力する。メモリ制御装置
18はさらに、簡略記号「DIRD(診断又は読出
データ用)0−31」として表示されたデータライ
ンを伝達する中央プロセツサ12への(ラツチ回
路54を通して)データをバス52へ出力する。
後でより十分に説明されるように、キヤツシユミ
スに引を続く主メモリの読出しの場合において、
後述する方法におけるキヤツシユミス状態に応答
して導入される「キヤツシユミス拡張「(Miss
Extended)」信号がデータラツチ回路54を通し
てバス52からのデータをバス28に伝送するこ
とを許可し、そうして中央プロセツサに該データ
が伝送される。 As mentioned above, memory controller 18 receives data from main memory 16 on bus 44, data from bus adapter 22 on bus 46, or data from central processor 12 on bus 30. Main memory controller 18 is connected to cache 2 on bus 34.
Accept address data from 4. Main memory controller 18 outputs data to data latch circuit 50 onto bus 38 for output to cache 24 and bus adapter 22. Memory controller 18 also outputs data onto bus 52 (through latch circuit 54) to central processor 12 carrying data lines designated as the mnemonic "DIRD (for diagnostic or read data) 0-31."
As will be explained more fully later, in the case of a main memory read following a cache miss,
A “cache miss extension” is introduced in response to a cache miss condition in the method described below.
Extended) signal allows data from bus 52 to be transmitted to bus 28 through data latch circuit 54, thereby transmitting the data to the central processor.
第3図について述べると、図面には中央プロセ
ツサ12の本発明の関心の対象とする2つの要素
のみが示される。これらの要素は、バス28
(MM0−31)により伝達されるラインを通してデ
ータを受け入れるメモリデータレジスタ56、お
よび(本発明の関心の対象としない方法におい
て)バス26へ出力されるべきアドレスをキヤツ
シユへ装荷するメモリアドレスレジスタ58であ
る。 Referring to FIG. 3, only the two elements of central processor 12 that are of interest to the present invention are shown in the drawing. These elements are connected to the bus 28
(MM0-31), and a memory address register 58 which loads the cache with an address to be output onto bus 26 (in a manner not of interest to the present invention). be.
もし中央プロセツサが停止されていない場合に
は(すなわち、STCP反転信号が「高」であると
き、この信号の導出については後述される)メモ
リアドレスレジスタ58からのアドレス信号が
L0の時点においてキヤツシユ24へ転送される
(L0を包含するタイミング信号については第12
図との関連において述べる)。 If the central processor is not stopped (i.e., when the STCP inverted signal is "high", the derivation of this signal is discussed below), then the address signal from memory address register 58 is
It is transferred to the cache 24 at the time of L0 (for timing signals that include L0, the 12th
(described in relation to the figure).
第4図〜第9図にはデータ処理装置の動作に関
係するデータ及びアドレスの種々の形態のフオー
マツトが図示される。 4-9 illustrate various types of data and address formats that are relevant to the operation of the data processing system.
第4図はデータの1バイトを図解してあり、該
データの1バイトは8ビツトから成る。第5図は
データの1ワードを図解しており、該1ワードは
4バイト又は32ビツトから成る。第6図は1ダブ
ルワードを図解しており、該1ダブルワードは1
つの偶数ワードおよび1つの寄数ワードから成
り、その各個が32ビツトから成る。データはダブ
ルワード単位で主メモリに記憶される。 FIG. 4 illustrates one byte of data, where one byte of data consists of eight bits. FIG. 5 illustrates a word of data, which word consists of 4 bytes or 32 bits. Figure 6 illustrates one double word, and the one double word is one
It consists of three even words and one odd word, each of 32 bits. Data is stored in main memory in doubleword units.
第7図には主メモリにおいて扱われるものとし
ての24ビツトの物理的なアドレスが図示され、該
アドレスは12ビツトのページフレームナンバ(メ
モリが増加される場合2のべき乗ごと拡張可能)
およびページ内部のバイトを位置づける11ビツト
のオフセツトから成る。 Figure 7 shows a 24-bit physical address as handled in main memory, which is a 12-bit page frame number (expandable by powers of 2 as memory is increased).
and an 11-bit offset that positions the byte within the page.
第8図にはキヤツシユにおいて解釈
(interprete)されるものとしての第7図と同じ
24ビツトの物理的なアドレスを示しており、該ア
ドレスは9ビツトのタグ(指標)および12ビツト
のインデツクス(索引)から成る。低い桁の2ビ
ツトは無視される。その理由としては、それらは
1ワードの1バイトを選択するのに用いられるか
らであり、一方キヤツシユは常に1ワードを中央
プロセツサへ伝送し、それから中央プロセツサは
必要とされる特定のバイトを選択する。右から第
3のビツトが1対のダブルワードの偶数ワード又
は奇数ワードであるかを選択する。第9図はキヤ
ツシユに記憶される形態のデータフオーマツトを
図示する。ダブルワードの1対の偶数及び奇数ワ
ードの各個が9ビツトのタグと共に記憶される。
全部で72ビツトのこの組が物理的なアドレスの12
ビツトのインデツクスによりアドレス指定され
る。 Figure 8 is the same as Figure 7 as interpreted in the cache.
It shows a 24-bit physical address, which consists of a 9-bit tag (index) and a 12-bit index. The lower 2 bits are ignored. The reason is that they are used to select one byte of a word, whereas the cache always transmits one word to the central processor, which then selects the particular byte needed. . The third bit from the right selects whether it is an even word or an odd word of a pair of double words. FIG. 9 illustrates the data format as it is stored in the cache. Each pair of even and odd words of a double word is stored with a 9-bit tag.
This set of 72 bits totals 12 of the physical addresses.
Addressed by bit index.
直接マツプ決め式(direct−maped)キヤツシ
ユにアドレス指定するためのインデツクス及びタ
グの使用方法については、データ処理装置の慣用
技術としてこの分野において良く知られる。キヤ
ツシユメモリの管理方法の一般的な形態について
は、例えば、ベル、マツジおよびマクナマラ著の
「Computer Engineering」(Digital Press1978
年)に述べられている。 The use of indexes and tags to address direct-mapped caches is well known in the art in the art of data processing equipment. For general information on how to manage cache memory, see, for example, Computer Engineering by Bell, Matsuji, and McNamara, Digital Press, 1978.
(2013).
第10図には制御信号を包含する制御信号記憶
装置14が図示され、該制御信号は48並列ライ
ンの48個の出力信号を1群ごとまとめてアクスさ
れる。各ライン上の信号は「高(1)」又は「低
(0)」のいずれかであり得り、そして中央プロセ
ツサ12の動作を制御するために該信号が中央プ
ロセツサのハードウエア回路へ直接に印加され
る。 FIG. 10 shows a control signal storage device 14 containing control signals, which are accessed in groups of 48 output signals of 48 parallel lines. The signal on each line can be either "high (1)" or "low (0)," and the signal can be routed directly to central processor hardware circuitry to control the operation of central processor 12. applied.
該ライン上の48個の信号はマイクロ命令から成
り、そのうちの或るもののみが本発明の関心の対
象である。該関心の対象となるものは信号0−6
(「マイクロOPCODE」と呼ぶ)及び信号22〜
29であり、該信号0−16はまとめて解読
(decode)されて実行されるべき動作(例えば、
加算,移動,比較,シフトなど)を指示する信号
の1つナンバを提供し、該信号22〜29はまと
めて解読されてメモリ動作(メモリアドレスレジ
スタ選択、メモリデータレジスタ選択に関する読
出し又は書込み、他のものは本発明には関与せ
ず)を指示する信号の1つのナンバを提供する。
これらの信号は「メモリ制御号」として第2図に
示される。中央プロセツサによりアクセスされる
制御信号の特定のものが、中央プロセツサからキ
ヤツシユ及びメモリ制御装置へ直接接続される
が、その詳細については後述する。データ処理装
置の動作中これらの制御信号(マイクロ命令)の
群ごとのアクセス及び解読方法についてはこの分
野においては慣用技術として良く知られており、
ここでは記述しない。 The 48 signals on the line consist of microinstructions, only some of which are of interest to the present invention. The objects of interest are signals 0-6
(referred to as "micro OPCODE") and signal 22~
29 and the signals 0-16 are decoded together to determine the action to be performed (e.g.
signals 22-29 are decoded together to perform a memory operation (memory address register selection, memory data register selection read or write, etc.). (not relevant to the present invention).
These signals are shown in FIG. 2 as "memory control signals." Certain of the control signals accessed by the central processor are connected directly from the central processor to the cache and memory controllers and will be discussed in more detail below. Methods for accessing and decoding each group of these control signals (microinstructions) during operation of a data processing device are well known in this field as conventional techniques.
It will not be described here.
第11図にはシステムマスタクロツク装置20
の本発明の関心の対象とする部分が示される。デ
ータ処理装置用のマスタクロツク信号は50MHzク
リスタル発振器により駆動され、該クリスタル発
振器の出力はタイミング信号発生回路60の入力
であり、該タイミング信号発生回路は従来から良
く知られた方法において本発明のデータ処理装置
システム用の適切なタイミング信号を発生させ
る。基本的なタイミング信号(CLOCK)は40ナ
ノ秒(nS)の周期かつ20ナノ秒(nS)のパルス
幅を有する。信号TA,TO,T1,T2;LA,
L0,L1,L2;CLOCK:及び反転CLOCKが第1
2図のタイミングチヤートに示される。これらの
パルス信号は中央プロセツサ12への入力であ
る。 FIG. 11 shows the system master clock device 20.
The parts of interest of the present invention are shown. The master clock signal for the data processing device is driven by a 50 MHz crystal oscillator, the output of which is the input to a timing signal generation circuit 60, which performs the data processing of the present invention in a manner well known in the art. Generate appropriate timing signals for equipment systems. The basic timing signal (CLOCK) has a period of 40 nanoseconds (nS) and a pulse width of 20 nanoseconds (nS). Signal TA, TO, T1, T2; LA,
L0, L1, L2; CLOCK: and inverted CLOCK is the first
This is shown in the timing chart in Figure 2. These pulse signals are input to central processor 12.
信号LA,L0,L1及びL2は依存性のないフリ
ーラン信号であるが、信号TA,T0,T1及びT2
は中央プロセツサ及び他の装置における動作状態
に依存する信号である。さらにL及びTパルス信
号が後述の状態のもとで発生され得るが第11図
には図示されず、また本発明の関心の対象とする
ものではない。 Signals LA, L0, L1 and L2 are free-running signals without dependencies, while signals TA, T0, T1 and T2
are signals that depend on the operating state in the central processor and other devices. Additionally, L and T pulse signals may be generated under the conditions described below, but are not shown in FIG. 11 and are not of interest to the present invention.
2つのゲート信号GT1及びGT2が後でより特
定的に記述される方法において発生される。
GT1信号は中央プロセツサのタイミング信号TA
及びT0をゲートし(許可する又は禁止する)、
GT2信号はタイミング信号T1及びT2をゲートす
る。中央プロセツサのサイクルはTAパルス信号
を始点として規定される。それゆえ、中央プロセ
ツサの動作はT0パルス信号の後又はT2パルス信
号の後停止され得る。GT2信号はGT1信号に従
属されるが、後で述べられる方法において(キヤ
ツシユミス」信号が生じた場合にはGT2信号が
禁止され、パルスT1及びT2は発生し得ない、そ
れはたとえパルスTA及びT0が発生していてもで
ある。 Two gating signals GT1 and GT2 are generated in a manner that will be described more specifically later.
The GT1 signal is the central processor timing signal TA.
and gate (allow or disallow) T0,
The GT2 signal gates timing signals T1 and T2. The central processor cycle is defined starting from the TA pulse signal. Therefore, the operation of the central processor can be stopped after the T0 pulse signal or after the T2 pulse signal. The GT2 signal is subordinated to the GT1 signal, but in the manner described later, if a (cache miss) signal occurs, the GT2 signal is inhibited and pulses T1 and T2 cannot occur, even if pulses TA and T0 Even if it occurs.
中央プロセツサのマイクロ命令サイクル長はマ
イクロ命令の性質により変化する。(任意の長さ
の)中央プロセツサのサイクルはパルスTAを始
点として規定される。メモリ動作を包含し本発明
の関心の対象とする殆んどマイクロ命令は実行の
ために160ナノ秒を必要とする。これらのマイク
ロ命令のために、パルス信号TA,T0,T1及び
T2は第12図に図示の如きサイクルを形成する。
他の命令は実行のために160ナノ秒よりも長時間
必要とし、そのような命令のためにさらにTパル
ス信号が発生されねばならなぬ(T5〜T8、図示
せず)。発生されるべきTパルス信号の番号を決
定するために、中央プロセツサ12を制御する現
行マイクロ命令の制御信号0−6(「マイクロ
OPCODE」)が、回路60からのCLOCK信号に
中央プロセツサ12からデコーダ及びカウンタ6
2への入力として存在し、該デコーダにより決定
される動作の性質にもとづいて該カウンタ設定さ
れ、そして適切な時点において信号「COB(サイ
クル終了)」が発生されてマイクロ命令サイクル
の完了を示す。このCOB信号は回路60リセツト
し、TAパルス触号を始点とする次のサイクルを
生じさせる
CLOCK信号はキヤツシユ24及びメモリ制御
装置18への直接入力され、類似のタイミング信
号発生回路が設けられ、L及びTパルス信号に同
期した信号を発生させる。しかしながら、もしゲ
ート信号GT1及びGT2が特定的に示されぬなら
ば、キヤツシユ及びメモリ制御装置内部のTパル
ス信号は中央プロセツサが停止するときも停止し
ない。 The central processor microinstruction cycle length varies depending on the nature of the microinstruction. A central processor cycle (of arbitrary length) is defined starting from pulse TA. Most microinstructions that involve memory operations and are of interest to the present invention require 160 nanoseconds to execute. For these microinstructions, pulse signals TA, T0, T1 and
T2 forms a cycle as shown in FIG.
Other instructions require longer than 160 nanoseconds for execution, and additional T-pulse signals must be generated for such instructions (T5-T8, not shown). To determine the number of T-pulse signals to be generated, the current microinstruction control signals 0-6 (“Micro
OPCODE) is sent from the central processor 12 to the decoder and counter 6 in response to the CLOCK signal from the circuit 60.
2, the counter is set based on the nature of the operation determined by the decoder, and at the appropriate time a signal COB (end of cycle) is generated to indicate completion of a microinstruction cycle. This COB signal resets circuit 60 and causes the next cycle starting at the TA pulse signal. and generates a signal synchronized with the T pulse signal. However, if gate signals GT1 and GT2 are not specifically indicated, the T-pulse signal within the cache and memory controller will not stop when the central processor stops.
キヤツシユサイクルは中央プロセツサの読出又
は書込サイクルと同じ長さ、すなわち160ナノ秒
である。しかしながらキヤツシユサイクルはL1
パルス信号を始点としてパルスL1,L2,LA及び
L0から成るものとして規定され、第12図から
判るように、キヤツシユサイクルが中央プロセツ
ササイクルから60ナノ秒ごとオフセツトされると
いうことを意味する。メモリ制御サイクルは中央
プロセツササイクルから40ナノ秒ごとオフセツト
され、該メモリ制御サイクルはパルスT0,T1,
T2及びTAから成る。 A cache cycle is the same length as a central processor read or write cycle, or 160 nanoseconds. However, the cache cycle is L1
Pulses L1, L2, LA and
L0, which means that the cache cycle is offset every 60 nanoseconds from the central processor cycle, as seen in FIG. The memory control cycle is offset every 40 nanoseconds from the central processor cycle, and the memory control cycle is pulsed T0, T1,
Consists of T2 and TA.
さらに中央プロセツサから或るタイミングパル
ス信号がキヤツシユ24へ直接印加され、特定の
中央プロセツサの事象(events)に同期した事象
を生じさせる。そのようなキヤツシユの事象は、
キヤツシユが停止されない場合であつても、中央
プロセツサが停止される場合には生じることはで
きぬ。 Additionally, certain timing pulse signals are applied directly to cache 24 from the central processor to cause events to occur that are synchronized with particular central processor events. Such a cash event is
This cannot occur if the central processor is stopped even if the cache is not stopped.
第13図,第14図,第15図,第17図,第
18図及び20図について述べると、キヤツシユ
24は一般に、アドレス指定部(第13図)、デ
ータ記憶及びタグ比較回路部(第14図)、及び
種々の制御信号解読回路(第15図,第17図,
第18図及び第20図)から成る。第16図に示
す回路及び第15図に示す回路の或る部分はキヤ
ツシユの内部に物理的に配置されてはいるが、メ
モリ制御装置の概念的な部分である、その理由と
しては、それらの機能は主メモリの管理に関係し
ているからである。 13, 14, 15, 17, 18, and 20, cache 24 generally includes an addressing section (FIG. 13), a data storage and tag comparison circuit section (FIG. 14), and FIG. ), and various control signal decoding circuits (Figures 15, 17,
18 and 20). Although the circuitry shown in FIG. 16 and some portions of the circuitry shown in FIG. 15 are physically located inside the cache, they are conceptually part of the memory controller because they This is because the function is related to main memory management.
先ず第18図について述べると、中央プロセツ
サのアドレスが(この図面には図示せず)、現行
中央プロセツサ動作を制御する48信号群の制御信
号CM22〜29と共にキヤツシユ24へ到達す
る。前述の如く制御信号22〜29は、中央プロ
セツサにより規定されたアドレスにおいて実施さ
れるべきメモリ動作の性質を制御するメモリアク
セス制御信号である。キヤツシユ24において使
用する便宜上、該制御信号の或るものがラツチさ
れる又はバツフアされることにより遅延され、該
遅延された信号は第18図に示すようにそれらの
遅延にもとずいて「CCM」,「BCM」,「LCM」
又は「MCM」として示される。 Referring first to FIG. 18, the address of the central processor (not shown in this figure) arrives at cache 24 along with control signals CM22-29 of the 48 signal group that control current central processor operation. As previously mentioned, control signals 22-29 are memory access control signals that control the nature of memory operations to be performed at addresses defined by the central processor. For convenience in use in the cache 24, some of the control signals are delayed by being latched or buffered, and the delayed signals are designated as "CCM" based on their delay, as shown in FIG. ”, “BCM”, “LCM”
or designated as “MCM”.
第16図について述べると、メモリ制御装置1
8には主メモリアクセス優先決定回路140が設
けられる。この回路は任意のバスアダプタ要求
(周辺装置プロセツサに代わつて)に対する主メ
モリアクセスの優先順位を与えるように設計され
る。バスアダプタのメモリ要求が処理中でないと
きのみ、中央プロセツサ12がキヤツシユミス後
書込みか読出しかのいずれかについて主メモリへ
のアクセスを得る。入力信号LC(ラストサイク
ル)は後述する第15図のメモリ制御装置のタイ
ミング回路から到達するものであり、メモリアク
セス動作の最後の時点で発生される。任意の現行
メモリ動作の完了時点において、バスアダプタメ
モリ要求が処理中でないならば、デフオルト(渋
滞)信号BAが「低」になることにより、待期中
の中央プロセツサのアドレスが主メモリ16へ伝
送される。それゆえ、キヤツシユミス後に主メモ
リが中央プロセツサに対して利用可能になるまで
或るサイクルの遅延が存在し得る。この時間の
間、中央プロセツサは停止状態が継続し、これに
ついては後述する。 Referring to FIG. 16, memory control device 1
8 is provided with a main memory access priority determination circuit 140. This circuit is designed to give main memory access priority to any bus adapter request (on behalf of a peripheral processor). Central processor 12 gains access to main memory for either writes or reads after a cache miss only when a bus adapter memory request is not in progress. The input signal LC (last cycle) arrives from the timing circuit of the memory control device shown in FIG. 15, which will be described later, and is generated at the end of the memory access operation. At the completion of any current memory operation, if no bus adapter memory request is being processed, the default signal BA goes low, causing the address of the pending central processor to be transmitted to main memory 16. Ru. Therefore, there may be a cycle delay after a cache miss until main memory is available to the central processor. During this time, the central processor remains in a stopped state, which will be discussed later.
バスアダプタメモリ要求の有無により条件づけ
られる中央プロセツサとバスアダプタとの間にお
ける主メモリアクセスのためのこの優先順位づけ
は、中央プロセツサのメモリ読出しと他の動作と
の間のキヤツシユサイクルの分割からは明確に区
別されねばならぬが、この詳細については後述す
る。キヤツシユサイクルの分割回路は他の装置か
らの依存性のないフリーラン動作であり、中央プ
ロセツサ又はバスアダプタのいずれかの任意の要
求が処理中であるかどうかが規定されるように動
作する。 This prioritization of main memory accesses between the central processor and the bus adapters, conditioned by the presence or absence of bus adapter memory requests, results from the division of cache cycles between central processor memory reads and other operations. must be clearly distinguished, but this will be discussed in detail later. The cache cycle splitting circuit is a free running operation with no dependencies from other devices and operates in such a way that it is determined whether any request of either the central processor or the bus adapter is being processed.
第17図について述べると、「BAイネーブル」
信号は、メモリ制御回路が準備完了(ready、
R/B)であることを提供する任意のバスアダプ
タメモリ要求(MRBA)に応答してTA時点にお
いてイネーブル回路142の内部のフリツプフロ
ツプにより発生される。BAイネーブル信号は第
13図に示す回路に印加されて、後述するキヤツ
シユの検査又は無効手続(invalidate
proceduve)のためにBAメモリ動作のアドレス
を入力させる。 Regarding Figure 17, "BA enable"
The signal indicates that the memory control circuit is ready.
R/B) is generated by a flip-flop internal to enable circuit 142 at time TA in response to any bus adapter memory request (MRBA). The BA enable signal is applied to the circuit shown in FIG.
input the address of the BA memory operation for (proceduve).
主メモリ16のタイミング信号は主として第1
5図に示す回路により発生され、該回路の主要部
はメモリ制御装置18の機能的な部分である。こ
こに述べた種類のデータ処理装置用主メモリのタ
イミング及び動作方法はこの分野において一般的
に良く理解されており、本発明の特徴部を形成す
るものではない。それゆえタイミング信号の発生
方法については詳細には記述されぬが、本発明に
関係する部分については述べられる。 The timing signal of the main memory 16 is mainly the first
It is generated by the circuit shown in FIG. 5, the main part of which is a functional part of the memory controller 18. The timing and method of operation of main memories for data processing devices of the type described herein are generally well understood in the art and do not form a feature of the present invention. Therefore, the method of generating the timing signal will not be described in detail, but the parts related to the present invention will be described.
第15図について述べると、制御信号CCM2
2−29(第18図から)がデコーダ回路138
において解読され、中央プロセツサのメモリ動作
が書込又は読出のいずれであるかを決定する。も
しメモリ動作が読出しの場合には、解読された制
御信号は「READ」信号を発生させ、該
「READ」信号は中央プロセツサのメモリ動作が
読出しであることを示しており、キヤツシユにお
いて用いられる。この「READ」信号はキヤツ
シユ24の内部において必要とされ、後で説明す
るキヤツシユミス信号を可能にする。 Regarding FIG. 15, the control signal CCM2
2-29 (from FIG. 18) is the decoder circuit 138
to determine whether the central processor's memory operation is a write or a read. If the memory operation is a read, the decoded control signal generates a ``READ'' signal, which indicates that the central processor memory operation is a read, and is used in the cache. This "READ" signal is required internally to cache 24 and enables the cache miss signal to be discussed later.
中央プロセツサのメモリ動作が(主メモリに対
して)書込みであるならば、解読された制御信号
CCM22−29は書込信号WRITE8(即ちビツ
ト)、WRITE32及びWRITE64を提供し、該
書込信号は1バイト、1ワード又は1ダブルワー
ドの書込動作を規定する。(周辺装置プロセツサ
とは相異なり中央プロセツサは半ワードの書込を
しないので書込信号WRITE16は中央プロセツ
サの制御信号として発生されぬ。)バスアダプタ
22からの(メモリアクセス制御信号)BAC 0
−2は動作デコーダ139において前述のものと
同様に解読され回路138への入力としての読出
又は書込信号を導出する。バスアダプタの書込信
号はWRITE8,WRITE16,WRITE32又は
WRITE64であり得る。MRBA(バスアダプタ
メモリ要求)信号はまたバスアダプタ22からの
入力である。 If the central processor's memory operation is a write (to main memory), the decoded control signal
CCMs 22-29 provide write signals WRITE8 (ie, bits), WRITE32, and WRITE64, which define write operations of one byte, one word, or one doubleword. (The write signal WRITE16 is not generated as a control signal for the central processor because, unlike the peripheral processors, the central processor does not write half words.) (Memory access control signal) from bus adapter 22 BAC 0
-2 is decoded in operation decoder 139 in a manner similar to that described above to derive a read or write signal as input to circuit 138. The write signal of the bus adapter is WRITE8, WRITE16, WRITE32 or
It can be WRITE64. The MRBA (Bus Adapter Memory Request) signal is also an input from bus adapter 22.
CP・BA入力信号(第16図から)は主メモリ
アクセス用の優先順位を示す。(中央プロセツサ
が優先順位を有するときCPは「高」であり得り、
周辺装置プロセツサが優先順位を有するときは
BAは「高」であり得る。)キヤツシユミスが主
メモリ動作により満足されており、要求されたデ
ータが中央プロセツサのメモリデータレジスタ
(第3図)に配置されるとき、キヤツシユミスク
リア信号が後述の方法においてキヤツシユ24の
内部において発生される。第15図から判るよう
に、「MOP(メモリ動作)」信号は、バスアダプタ
メモリ動作(BBAC1,BBAC2及びBA優先)
又は中央プロセツサメモリ動作(MCM24およ
び25、及びCP優先)のいずれかを示す。 The CP/BA input signals (from Figure 16) indicate priorities for main memory accesses. (CP can be "high" when the central processor has priority;
When peripheral processors have priority
BA can be "high". ) When a cache miss is satisfied by a main memory operation and the requested data is placed in the central processor's memory data register (FIG. 3), a cache miss clear signal is generated within cache 24 in the manner described below. be done. As can be seen from Figure 15, the "MOP (memory operation)" signal is the bus adapter memory operation (BBAC1, BBAC2 and BA priority).
or central processor memory operations (MCMs 24 and 25, and CP priority).
回路138は前述の入力信号から適切なメモリ
制御及びタイミング信号を発生させる。制御信号
「WRITE8」,「WRITE16」,「WRITE32」
及び「WRITE64」についてはすでに述べた
が、「READ64B」制御信号は1ダブルワード
の読出動作を規定する信号である。R・W
(READ・WRITE:Rが「高」のとき読出し、
Wが「高」のとき書込)信号及びWRITEパルス
信号は主メモリ16に対する従来同様の入力信号
である。メモリタイミング信号はCAS(カラムア
ドレスストローブ)、CEN(カラムイネーブル)
及びRAS(ローアドレスストローブ)を包含して
おり、該これらの信号は全て従来同様の信号であ
り、従来知られた方法において主メモリ16をア
ドレス指定するための主メモリ16に対する入力
信号である。 Circuit 138 generates appropriate memory control and timing signals from the aforementioned input signals. Control signals “WRITE8”, “WRITE16”, “WRITE32”
and "WRITE64" have already been described, but the "READ64B" control signal is a signal that defines the read operation of one double word. R.W.
(READ/WRITE: Read when R is “high”,
The WRITE signal and the WRITE pulse signal are conventional input signals to the main memory 16. Memory timing signals are CAS (column address strobe), CEN (column enable)
and RAS (row address strobe), all of which are conventional signals and are input signals to main memory 16 for addressing main memory 16 in a manner known in the art.
信号C1,C2及びC3はキヤツシユの内部に
おいて内部的に用いられるものであり、主メモリ
動作用に要求された3つの命令サイクル(各個が
160ナノ秒)の順序を維持する。これらの信号の
使用方法については後述される。信号LC(ラスト
サイクル)は160ナノ秒の長さであり、一般にメ
モリ動作の最後のサイクルに同期される。LC信
号はフリツプフロツプ141のリセツト用入力信
号であり、該フリツプフロツプはその使用につい
ては後述するラツチドCP(LCP)信号を提供する
ためにCP優先信号(第16図から)を置延させ
る。フリツプフロツプ137は中央プロセツサの
読出動作中キヤツシユミス信号を遅延させるため
に用いられ、その使用方法についてを後述する
「MISS EXT」(反転)出力信号を提供する。 Signals C1, C2, and C3 are used internally within the cache and are used for the three instruction cycles required for main memory operations (each
160 nanoseconds) to maintain order. How these signals are used will be discussed later. Signal LC (Last Cycle) is 160 nanoseconds long and is typically synchronized to the last cycle of memory operations. The LC signal is the reset input signal for flip-flop 141, which defers the CP priority signal (from FIG. 16) to provide a Latched CP (LCP) signal, the use of which will be described below. Flip-flop 137 is used to delay the cache miss signal during central processor read operations and provides a "MISS EXT" (inverted) output signal, the use of which will be described below.
反転キヤツシユミス信号は通常「高」であり、
通常「高」であるフリツプフロツプ135からの
出力信号であるSTCP(中央プロセツサ停止)反
転信号を維持する。STCP反転信号はマスタクロ
ツク装置(第11図)への入力信号であり、また
中央プロセツサのメモリアドレスレジスタ58
(第3図)への入力信号である。STCP反転信号
が「高」である限りは中央プロセツサは停止され
ず、タイミングパルス信号TA,T0,T1及びT2
が発生され、中央プロセツサのメモリアドレスレ
ジスタ558の出力としてゲートされる。第14
図との関連において述べられる方法においてキヤ
ツシユミス信号が発生されると、キヤツシユミス
反転信号は「低」となり、次のL1タイミングパ
ルス信号において(L0反転信号は「低」)STCP
反転出力信号は「低」になる。この信号は中央プ
ロセツサ用のTパルス信号の発生を停止し、また
メモリアドレスがキヤツシユに対するラツチ外れ
を防止する。 The inverted cache miss signal is normally “high” and
The STCP (Stop Central Processor) signal, which is the output signal from flip-flop 135 which is normally "high", is maintained. The STCP inverted signal is an input signal to the master clock device (Figure 11) and is also an input signal to the central processor's memory address register 58.
(Fig. 3). As long as the STCP inversion signal is "high", the central processor is not stopped and the timing pulse signals TA, T0, T1 and T2
is generated and gated as the output of the central processor's memory address register 558. 14th
When a cache miss signal is generated in the manner described in connection with the figure, the cache miss inversion signal goes "low" and on the next L1 timing pulse signal (the L0 inversion signal is "low") the STCP
The inverted output signal goes "low". This signal stops generating the T-pulse signal for the central processor and also prevents the memory address from unlatching to the cache.
第13図には、キヤツシユ記憶装置のアドレス
指定及び主メモリのアドレス指定に特に関係する
キヤツシユ24の或る部分が示されている。この
回路はキヤツシユサイクルを分割し、分割された
交番状のキヤツシユサブサイクルを特定の機能を
果すように提供する。第1のキヤツシユサブサイ
クルは中央プロセツサの読出アドレスを処理する
のに提供され、第2のキヤツシユサブサイクル
は、キヤツシユの検査を行うためバスアダプタの
読出アドレスを処理するため、又はキヤツシユに
書込むためのいずれかに用いられる。キヤツシユ
への書込みは、キヤツシユ検査が(前のサイクル
において実行される)タグ一致状態が存在するこ
とにおいて決定された後の特定のキヤツシユエン
トリの無効ビツトの書込み、又は、キヤツシユミ
スが主メモリ16について満足されぬ、又は中央
プロセツサの主メモリへの書込の終了後にキヤツ
シユを更新するためにキヤツシユデータストア及
びタグの書込みのいずれかを包含し得る。 FIG. 13 depicts certain portions of cache 24 that are particularly relevant to cache storage addressing and main memory addressing. This circuit divides the cache cycle and provides divided alternating cache subcycles to perform specific functions. A first cache subcycle is provided for processing read addresses of the central processor, and a second cache subcycle is provided for processing read addresses of the bus adapter for checking the cache or for writing to the cache. Used for any of the following: A write to the cache may include writing the invalid bit of a particular cache entry after a cache check (performed in a previous cycle) has determined that a tag match condition exists, or a cache miss may occur with respect to main memory 16. It may involve either writing to the cache data store and tags to update the cache after completion of a write to the central processor's main memory that is not satisfied.
第13図に示した回路は2つのソースからアド
レスを受け入れる。1つのアドレス(MA 0−
23)はメモリ動作(読出又は書込)用に中央プロ
セツサ12から受入れ、他方のアドレス(BMA
0−23)はキヤツシユ検査又は無効化動作用にバ
スアダプタ22から受入れる。第13図に示した
回路は、アドレスを比較されるべき第14図に示
した比較回路へ出力することを決定し、またメモ
リ動作のために主メモリ16へアドレスを出力す
ることを決定する。一般にこの回路は、キヤツシ
ユ記憶装置及び第14図に示した比較回路へ印加
されるべきインデツクス及びタグを選択するため
のマルチプレクサ102及び104、キヤツシユ
ミスの場合に主メモリ16へ印加する中央プロセ
ツサアドレス入力保持するためのラツチ回路11
0及び108、及びメモリ動作のために主メモリ
に送出されるべきアドレスを選択するためのマル
チプレクサ112を包含する。 The circuit shown in Figure 13 accepts addresses from two sources. One address (MA 0-
23) is accepted from the central processor 12 for memory operations (read or write) and the other address (BMA
0-23) are accepted from bus adapter 22 for cache verification or invalidation operations. The circuit shown in FIG. 13 decides to output the address to the comparator circuit shown in FIG. 14 to be compared, and also decides to output the address to main memory 16 for memory operations. Generally, this circuit includes multiplexers 102 and 104 for selecting the index and tag to be applied to the cache storage and the comparator circuit shown in FIG. Latch circuit 11 for holding
0 and 108, and a multiplexer 112 for selecting the address to be sent to main memory for a memory operation.
第13図に示した回路は中央プロセツサのメモ
リ動作が読出し又は書込に係わりなく作動するこ
とに留意すべきである。第15図の回路からの
「READ」信号は第14図の回路への入力信号で
あり、キヤツシユミス信号は読出動作用のみに発
生され得る。中央プロセツサの書込動作のため
に、キヤツシユミス信号が発生するまで全ての動
作が行なわれ、キヤツシユミス信号は発生され
ぬ。その理由としては、本発明によれば、このサ
ブサイクルは中央プロセツサのメモリ動作のアド
レスを処理するために用いられ、このサブサイク
ル実行中には他の動作を実施することができぬか
らであり、それゆえ、これらの「無駄な
(wasted)」動作は時間を浪費しない。 It should be noted that the circuit shown in FIG. 13 operates regardless of whether the central processor's memory operations are read or written. The "READ" signal from the circuit of FIG. 15 is an input signal to the circuit of FIG. 14, and the cache miss signal can be generated only for read operations. For central processor write operations, all operations are performed until a cache miss signal is generated, and no cache miss signal is generated. This is because, according to the present invention, this subcycle is used to process the address of the central processor's memory operations, and no other operations can be performed during the execution of this subcycle. , so these "wasted" operations do not waste time.
引き続き第13図について述べると、バス26
は中央プロセツサ12のメモリアドドレスレジス
タ58(第3図)からのアドレスラインMA0−
23を伝送し、該アドレスラインは中央プロセツサ
が停止されぬとき(STCP反転信号が「高」であ
るとき)を提供する時点L0においてラツチされ
る。バス32はバスアダプタ22からのアドレス
ラインBMA0−23を伝送する。バスアダプタ2
2からのアドレスはラツチ回路100において記
憶され、該ラツチ回路第17図の回路からのBA
イネーブル信号により(時点TAにおいて)ゲー
トされる。 Continuing to discuss Figure 13, bus 26
is the address line MA0- from the memory address register 58 (FIG. 3) of the central processor 12.
23, and the address line is latched at time L0, which provides when the central processor is not stopped (STCP inverted signal is "high"). Bus 32 carries address lines BMA0-23 from bus adapter 22. bus adapter 2
2 is stored in the latch circuit 100, and the address from the latch circuit 100 is stored in the BA from the circuit of FIG.
Gated (at time TA) by an enable signal.
中央プロセツサアドレスバス26に致達する信
号について述べると、ライン9−20(インデツク
スから成る信号を伝送するもの、第8図参照)は
インデツクスマルチプレクサ選択回路102に対
する入力であり、ライン0−8(タグ、第8図参
照)はタグマルチプレクサ選択回路104に対す
る入力である。バスアダプタアドレスバス32に
致達する信号は、バツフア回路106の入力であ
り、バスアダプタ22からの「BA書込」
(BBAC1)信号で有効化され、前述と同様の信
号に分割されるのであり、ライン0−8(タグ)
はタグマルチプレクサ104に対する入力であ
り、ライン9−20はインデツクスマルチプレクサ
102に対する入力信号である。 Regarding the signals arriving at the central processor address bus 26, lines 9-20 (carrying signals consisting of the index, see FIG. 8) are inputs to the index multiplexer selection circuit 102, and lines 0-8 (carrying signals consisting of the index, see FIG. 8) are inputs to the index multiplexer selection circuit 102; The tag (see FIG. 8) is an input to the tag multiplexer selection circuit 104. The signal arriving at the bus adapter address bus 32 is the input of the buffer circuit 106 and is the “BA write” from the bus adapter 22.
(BBAC1) signal and is split into the same signals as above, lines 0-8 (tag)
is the input to tag multiplexer 104 and line 9-20 is the input signal to index multiplexer 102.
インデツクスマルチプレクサ選択回路102へ
の入力信号はタイミング信号T12により選択さ
れ、タグマルチプレクサ選択回路104への入力
信号はT12反転タイミング信号により選択され
る。それゆえマルチプレクサ選択回路102及び
104は同時に切換えられるが反対の状態にあ
り、中央プロセツサのインデツクスはバスアダプ
タタグがマルチプレクサ選択回路104により伝
送されるときマルチプレクサ選択回路102によ
り伝送される。第12図のタイミングチヤートを
参照すると、信号T12は信号T1及びT2が
「高」である期間「高」であることが判り、それ
ゆえ信号T12のパルス時間幅は80ナノ秒であ
る。 The input signal to the index multiplexer selection circuit 102 is selected by the timing signal T12, and the input signal to the tag multiplexer selection circuit 104 is selected by the T12 inverted timing signal. Therefore, multiplexer selection circuits 102 and 104 are switched simultaneously but in opposite states, and the central processor index is transmitted by multiplexer selection circuit 102 when the bus adapter tag is transmitted by multiplexer selection circuit 104. Referring to the timing chart of FIG. 12, it can be seen that signal T12 is "high" during the period that signals T1 and T2 are "high", so the pulse time width of signal T12 is 80 nanoseconds.
それゆえマルチプレクサ選択回路102及び1
04は各個のキヤツシユサイクル(160ナノ秒)
の間2度切換えられる。キヤツシユサイクルの第
1の半サイクルの間、インデツクスマルチプレク
サ選択回路102へのA入力信号(中央プロセツ
サインデツクス)がキヤツシユアドレスラツチ回
路114へ伝送され、第2の半サイクルの間、B
入力信号が伝送される。このB入力信号は、キヤ
ツシユを検査するため(周辺装置プロセツサが主
メモリに書込む間BA優先状態)バツフア回路1
06からのバスアダプタアドレス、(前回のキヤ
ツシユ検査がタグ一致状態になつた後)無効ビツ
ト書込み用の(バツフア回路106に保持され
た)上記と同じバスアダプタアドレス又は(ラツ
チ回路108からの)中央プロセツサの事前アド
レス入力信号のいずれかであり得る。中央プロセ
ツサの事前アドレス入力は或るものはキヤツシユ
ミスを生じるメモリ読出動作用のもの、又は或る
ものは中央プロセツサのメモリ書込動用用のいず
れかであり、いずれの場合においてもこのアドレ
スはキヤツシユ更新書込動作のためのアドレスと
して用いられるべきものである。 Therefore multiplexer selection circuits 102 and 1
04 is each individual cache cycle (160 nanoseconds)
It is switched twice between. During the first half of the cache cycle, the A input signal to index multiplexer select circuit 102 (central processor index) is transmitted to cache address latch circuit 114, and during the second half cycle, B
An input signal is transmitted. This B input signal is used by buffer circuit 1 to check the cache (BA priority state while the peripheral processor writes to main memory).
bus adapter address from 06, the same bus adapter address as above (held in buffer circuit 106) for invalid bit writing (after the previous cache check resulted in a tag match condition), or the center (from latch circuit 108). It can be any of the processor's pre-address input signals. The central processor's pre-address inputs are either for memory read operations that result in cache misses, or for central processor memory write operations; in either case, this address is used for cache updates. It should be used as the address for write operations.
第1のキヤツシユサブサイクルの間、タグマル
チプレクサ選択回路104へのB入力信号がタグ
比較器(第14図)へ入力するタグラツチ回路1
16を選択するように伝送され、第2のキヤツシ
ユサブサイクルの間、マルチプレクサ選択回路1
04へのA入力信号がラツチ回路116へ伝送さ
れる。このタイミングの配置の目的については後
述する。 During the first cache subcycle, the B input signal to the tag multiplexer selection circuit 104 inputs the tag latch circuit 1 to the tag comparator (FIG. 14).
16, and during the second cache subcycle, the multiplexer select circuit 1
The A input signal to 04 is transmitted to latch circuit 116. The purpose of this timing arrangement will be described later.
キヤツシユアドレスラツチ回路114が「アド
レスクロツク(L1 LA)」信号によりラツチさ
れ、タグラツチ選択回路116が、「タグクロツ
ク反転(反転L1 LA)」信号によりラツチされ
る。 The cache address latch circuit 114 is latched by the "Address Clock (L1 LA)" signal, and the tag latch select circuit 116 is latched by the "Tag Clock Inversion (L1 LA)" signal.
主メモリの各個のメモリ動作のために(キヤツ
シユミス後のキヤツシユ更新も包含する)、1つ
のアドレスをメモリ動作用に主メモリ16へ印加
するために選択されねばならぬ。メモリ動作であ
るか又はその他の種類の動作であるかいずれかの
中央プロセツサの各個の動作用に、中央プロセツ
サのアドレス(MA0−23)が、ラツチ回路11
0を通してタイミング信号T2(中央プロセツサ1
2が停止されぬときGT2信号が「高」として提
供される)によりゲートされ、該アドレスは主メ
モリアドレスマルチプレクサ112及びラツチ回
路108へ印加される。もし動作がメモリ動作で
ないならば、又はメモリ読出動作でありかつキヤ
ツシユヒツトが存在するならば、ラツチ回路10
8の内容は決して用いられぬ。もしキヤツシユミ
スが存在すると、信号CP(第16図からの中央プ
ロセツサメモリアクセスサイクル)、T1及びC
1(第15図からのサイクル1、キヤツシユミス
を満足させるメモリ動作の第1のサイクル)は、
ラツチ回路108を通してアドレスをマルチプレ
クサ102へゲートし、メモリサイクル終了後に
書込を更新するためのキヤツシユデータ記憶部1
24内のロケーシヨンを索引(index)する。ア
ドレスのタグ部は後述するキヤツシユ記憶部内に
書込むためTW0−8とする出力である。 For each memory operation in main memory (including cache updates after a cache miss), one address must be selected for application to main memory 16 for the memory operation. For each operation of the central processor, whether a memory operation or other type of operation, the central processor's addresses (MA0-23) are stored in latch circuit 11.
0 through the timing signal T2 (central processor 1
When GT2 is not stopped, the GT2 signal is provided as "high") and the address is applied to main memory address multiplexer 112 and latch circuit 108. If the operation is not a memory operation, or if it is a memory read operation and a cache is present, latch circuit 10
The content of item 8 is never used. If a cache miss exists, signals CP (central processor memory access cycle from Figure 16), T1 and C
1 (cycle 1 from FIG. 15, the first cycle of memory operations that satisfy cache misses) is
Cache data storage 1 for gating addresses through latch circuit 108 to multiplexer 102 and updating writes after completion of memory cycle.
24. The tag part of the address is output as TW0-8 in order to be written into the cache storage section which will be described later.
そのサイクルの間隔タイミング信号T0後に中
央プロセツサがキヤツシユミスに応答して停止さ
れるので、キヤツシユミス信号(後述される)に
より停止される前に、中央プロセツサはメモリ読
出用の他のアドレスをキヤツシユへ予め(信号
TA及びT0の間)送出し得る。このアドレスは消
失され得ぬ、その理由としては、該アドレスはラ
ツチ回路110に保存され得り、該ラツチ回路は
キヤツシユミス信号がクリアされた後の次のT2
タイミング信号が発生するまでゲートされ得ぬか
らである。それゆえ、キヤツシユミスを満足させ
る主メモリの動作中、ラツチ回路110は次のメ
モリ動作用のアドレスを保持し、ラツチ回路10
8はキヤツシユミスが発生されかつ現行動作用に
主メモリへ丁度その時到達するアドレスを保持す
る。メモリ動作が完了しデータがキヤツシユ内に
書込れるべきであるとき、キヤツシユ書込用イン
デツクスがキヤツシユアドレスラツチ回路108
から得られる。タグは前述と同じ時点においてキ
ヤツシユタグ記憶部120へ書込れるべきTW
(タグ書込)0−8とする入力である。 Since the central processor is halted in response to a cache miss after the interval timing signal T0 of that cycle, before being halted by the cache miss signal (described below), the central processor may preload other addresses for memory reads into the cache ( signal
between TA and T0). This address cannot be lost because it can be stored in the latch circuit 110 and the latch circuit cannot be used for the next T2 after the cache miss signal is cleared.
This is because it cannot be gated until the timing signal is generated. Therefore, during a main memory operation that satisfies a cache miss, latch circuit 110 holds the address for the next memory operation;
8 holds the address exactly at which a cache miss occurs and which reaches main memory for the current action. When a memory operation is complete and data is to be written into the cache, the cache write index is activated by the cache address latch circuit 108.
obtained from. The tag should be written to the cache tag storage unit 120 at the same time as described above.
(Tag write) This is an input of 0-8.
主メモリアドレスマルチプレクサ120に対す
る交番入力信号が第16図に示した優先回路から
の信号BA(「高」又は「低」)により選択される。
選択されたアドレス信号は(BMAR3−20、本発
明の関心の対象としないモジユール選択信号を有
する)、主メモリ16(第19図)をアドレス指
定する出力でありメモリ制御装置18(CMA0−
23)への出力である。メモリ制御装置はバス報告
ログ(bus transaction log)を維持するため及
び他の目的のためのアドレス信号を用いるが、こ
れについては本発明の関心の対象ではない。 The alternating input signal to main memory address multiplexer 120 is selected by signal BA ("high" or "low") from the priority circuit shown in FIG.
The selected address signal (BMAR3-20, with module selection signals not of interest to the present invention) is the output that addresses main memory 16 (FIG. 19) and memory controller 18 (CMA0-
23). The memory controller uses address signals to maintain a bus transaction log and for other purposes, but this is not of interest to the present invention.
第14図にはキヤツシユの記憶部が示されてい
る。この図面は簡略的に示したものであり、本発
明の動作に関与しないキヤツシユが実際に偶数部
及び奇数部に分割されていることについては示さ
れていない。キヤツシユ記憶部の効果については
記憶部の一方のみが示される。キヤツシユの偶
数・奇数配列を視認的にするために、フリツプフ
ロツプ130までの第14図の回路がキヤツシユ
の偶数又は奇数部のいずれかを表わすために考慮
されることができ、残りの部分が図示しない他の
類似する構成のものとして表わされることがで
き、該他の類似する構成のものの出力信号はま
た、単一のキヤツシユミス信号を提供するための
1ビツトフリツプフロツプ130への入力信号で
ある。 FIG. 14 shows the storage section of the cache. This drawing is a simplified representation and does not show that the cache, which is not involved in the operation of the present invention, is actually divided into even and odd parts. Regarding the effect of the cache storage section, only one of the storage sections is shown. To make the even/odd arrangement of the cache visible, the circuit of FIG. 14 up to flip-flop 130 can be considered to represent either the even or odd part of the cache, with the remaining parts not shown. The output signal of the other similar structure is also the input signal to the 1-bit flip-flop 130 to provide a single cache miss signal. .
データ記憶部124はキヤツシユエントリを記
憶するランダムアクセスメモリ(RAM)であ
り、タグ記憶部120は協働する9ビツトのタグ
を記憶し、そして無効ビツト記憶部122は協働
する無効ビツトを記憶する。前述の回路要素12
4,122及び120は全てキヤツシユアドレス
ラツチ回路114(第13図)からの12ビツトの
インデツククスによりアドレス指定され、「アド
レスクロツク」タイミング信号(L1,LA)(第
13図)により入力する。キヤツシユエントリの
タグ部はタグラツチ回路134へ読出される。キ
ヤツシユエントリのワード部は上述のものと同時
にデータラツチ回路126へ読出される。 The data storage section 124 is a random access memory (RAM) that stores cache entries, the tag storage section 120 stores cooperating 9-bit tags, and the invalid bit storage section 122 stores cooperative invalid bits. do. The aforementioned circuit element 12
4, 122, and 120 are all addressed by a 12-bit index from cache address latch circuit 114 (FIG. 13) and input by "address clock" timing signals (L1, LA) (FIG. 13). The tag portion of the cache entry is read to tag latch circuit 134. The word portion of the cache entry is read out to data latch circuit 126 at the same time as described above.
タグラツチ回路134は「タグラツチイネーブ
ル」信号(タイミング信号L0+L2、活動してい
るパルスの延びている縁(trailing edge))によ
り制御され、記憶されたタグをタグ比記器132
へ伝送する。マルチプレクサ104において選択
されCWA0−8として表わされるアドレスタグ部
は、比較のために「タグクロツク反転(反転L1
LA)」信号によりラツチ回路116から送出され
るタグ比較器132への入力信号である。もしタ
グが相等しいならば比較器のミス・ヒツト出力信
号は「低」であり、もしタグが相等しくなければ
該出力信号は「高」である。この出力信号は1ビ
ツトフリツプフロツプ130に対する入力信号で
あり、該フリツプフロツプは第15図の回路から
の「READ」信号により制御されるように中央
プロセツサのメモリ読出動作のみのために「ミス
クロツク(反転LA)」信号によりサンプルされ
る。中央プロセツサのメメモリ書込動作又はBA
アドレスサブサイクルにおいてはキヤツシユミス
又はキヤツシユミス反転信号は発生されぬ。フリ
ツプフロツプ130へ入力される前に比較器13
2からのミス・ヒツトビツトは記憶部122から
の記憶された無効ビツトと論理和がとられる。そ
れゆえ中央プロセツサのメモリ読出しのためにタ
グ不一致状態又は無効ビツトのいずれかがキヤツ
シユミス信号(状態信号)において示されたキヤ
ツシユミスを生じさせる。 The tag latch circuit 134 is controlled by the "tag latch enable" signal (timing signal L0+L2, trailing edge of the active pulse) and transfers the stored tag to the tag register 132.
Transmit to. The address tag sections selected in multiplexer 104 and represented as CWA0-8 are used for comparison as "tag clock inversion (inversion L1)".
is the input signal to the tag comparator 132 sent from the latch circuit 116 by the ``LA'' signal. If the tags are equal, the comparator's miss-hit output signal is "low"; if the tags are not equal, the output signal is "high". This output signal is the input signal to a 1-bit flip-flop 130, which is ``misclocked'' for central processor memory read operations only, as controlled by the ``READ'' signal from the circuit of FIG. LA)” signal. Central processor memory write operation or BA
No cache miss or cache miss inversion signal is generated in the address subcycle. Comparator 13 before input to flip-flop 130
The missed bits from 2 are ORed with the stored invalid bits from storage 122. Therefore, for a central processor memory read, either a tag mismatch condition or an invalid bit will cause a cache miss as indicated in the cache miss signal (status signal).
ミス・ヒツト信号は前述の第15図に示したフ
リツプフロツプ137への入力であり、該フリツ
プフロツプは「キヤツシユミス拡張(Miss
Extended)」反転信号を(読出動作中のみ)生じ
させる。 The miss hit signal is an input to the flip-flop 137 shown in FIG.
Extended)” inverted signal (during read operations only).
データ記憶部124からのデータは「データラ
ツチイネーブル」信号(L1 L2)によりデータラ
ツチ回路126からラツチが外されてバツフア回
路128に送出される。もしタグが相等しくかつ
バツフア回路128からのデータエントリが有効
であることを示しているならば、バツフア回路1
28からのデータは、直接にバス40に乗せられ
中央プロセツサ12のメモリアドレスレジスタ1
5(第3図)に送出され、フリツプフロツプ13
7からのキヤツシユミス拡張反転信号はラツチ回
路(第2図)を動作可能としたバツフア回路12
8を動作可能にさせない。 Data from the data storage section 124 is unlatched from the data latch circuit 126 and sent to the buffer circuit 128 by the "data latch enable" signal (L1 L2). If the tags are equal and indicate that the data entry from buffer circuit 128 is valid, buffer circuit 1
Data from 28 is placed directly on bus 40 to memory address register 1 of central processor 12.
5 (FIG. 3), and the flip-flop 13
The cache miss expansion inversion signal from 7 is sent to the buffer circuit 12 which enables the latch circuit (Fig. 2).
8 is not enabled.
タグ比較器132からのミス・ヒツトビツトも
またフリツプフロツプ146をセツトするための
入力信号である。その詳細については第22図と
の関連において記述される引き続くキヤツシユサ
イクルの間、キヤツシユアドレスラツチ回路10
8から記憶部へ現行アドレスが印加される時点に
おいて書込れるべき無効ビツトがキヤツシユの無
効状態記憶部122のデータ入力部へ印加され
る。 The missed hit bit from tag comparator 132 is also an input signal for setting flip-flop 146. During subsequent cache cycles, the details of which will be described in connection with FIG.
The invalid bit to be written at the time the current address is applied to the memory from 8 is applied to the data input of the cache's invalid state memory 122.
第1のキヤツシユ動作サブサイクル間のみデー
タラツチイネーブル信号が「高」であるから、第
2のサブサイクル間において、キヤツシユ検差、
無効書込又はキヤツシユデータ書込動作用にはデ
ータはラツチが外れされて中央プロセツサ12へ
送出され得ぬ。 Since the data latch enable signal is "high" only during the first cache operation subcycle, the cache error,
For invalid writes or write cache data operations, data is unlatched and cannot be sent to central processor 12.
第11図について述べると、前に述べたよう
に、キヤツシユミス信号はタイミング信号T1及
びT2を禁止するGT2反応信号により中央プロ
セツサを停止させる。それゆえ、中央プロセツサ
はタイミングパルス信号T0の後停止される。も
しバスアダプタが主メモリアクセスを要求してい
ないならば第16図に示した優先回路は信号
CP・(反転BA)を発生させる。キヤツシユミス
が即座に満足され得る。 Referring to FIG. 11, as previously stated, the cache miss signal causes the central processor to stall with the GT2 response signal inhibiting timing signals T1 and T2. Therefore, the central processor is stopped after the timing pulse signal T0. If the bus adapter is not requesting main memory access, the priority circuit shown in Figure 16 will signal
Generates CP・(inverted BA). Cash misses can be instantly gratified.
キヤツシユミスに関する中央プロセツサの読出
要求を満足させるために、モジユール選択ビツト
(図示せず)及びアドレス信号BMAR3−20(第1
3図から)が第15図からのタイミング及び制御
信号と共に主メモリ16(第19図)へ送出さ
れ、アドレス指定されたダブルワードを選択す
る。3つの命令サイクルが主メモリアクセスを完
了させるために要求される。該ダブルワードがバ
ス44上にメモリ制御装置18を通して載せら
れ、それからCPデータラツチ回路54(第2図)
へ至るバス52へ送出され、キヤツシユミス拡張
信号がデータをメモリデータレジスタ56(第1
3図)の内部にラツチさせる。 To satisfy central processor read requests for cache misses, module select bits (not shown) and address signals BMAR3-20 (first
3) is sent to main memory 16 (FIG. 19) along with the timing and control signals from FIG. 15 to select the addressed doubleword. Three instruction cycles are required to complete the main memory access. The double word is placed on bus 44 through memory controller 18 and then transferred to CP data latch circuit 54 (FIG. 2).
The cache miss extension signal sends the data to the memory data register 56 (first
(Fig. 3).
キヤツシユミス信号は、中央プロセツサに関係
するメモリ読出動作のために(LC,LCM24及び
LCP:LCM24は第18図の回路からのメモリ制
御信号CM24をラツチしたものであり、それは
読出動作用としては常に「高」である)、第15
図に示したメモリタイミング回路が主メモリ動作
サイクルに要求される2つのサイクルの最後のサ
イクルに致達したことを決定するとき、信号L0
においてクリアされる(第14図)。前述のこれ
らの信号は共に「クリアミス」信号と呼ばれ、該
「クリアミス」信号はまた第15図に示す回路へ
の入力信号であり、それは「READ」信号をク
リアする。 The cache miss signal is used for memory read operations involving the central processor (LC, LCM24, and
LCP: LCM24 is a latched memory control signal CM24 from the circuit of FIG. 18, which is always "high" for read operations),
When the memory timing circuit shown in the figure determines that the last of the two cycles required for the main memory operation cycle has been reached, signal L0
It is cleared in (Figure 14). Both of these signals mentioned above are called the "clear miss" signal, which is also the input signal to the circuit shown in FIG. 15, which clears the "READ" signal.
クリアされたキヤツシユミス信号(キヤツシユ
ミス反転信号が「高」になる)に応答して、
「STCP(中央プロセツサ停止)」信号が時点L0(第
15図、フリツプフロツプ135)において反転
する。第11図を再び参照すると、キヤツシユミ
ス反転信号が「高」になると、GT2信号はパル
スT1及びT2が中央プロセツサへ出力されるべ
きことを許可し、中央プロセツサが中間のサイク
ルにおいて再び動作する。それから信号GT1が
パルスTA及びT0が出力されるべきことを許可
する。そして中央プロセツサは他のキヤツシユミ
スが生じるまで(又は本発明の関心の対象とする
ことではないがメモリ書込動作が生じることを除
いて)動作が継続される。 In response to a cleared cache miss signal (the cache miss inversion signal goes high),
The STCP (stop central processor) signal is inverted at time L0 (FIG. 15, flip-flop 135). Referring again to FIG. 11, when the cache miss inversion signal goes high, the GT2 signal allows pulses T1 and T2 to be output to the central processor and the central processor operates again in the intermediate cycle. Signal GT1 then allows pulses TA and T0 to be output. The central processor then continues to operate until another cache miss occurs (or a memory write operation occurs, which is not of interest to the present invention).
第23図のタイミングチヤートを参照してさら
に詳細に述べると、STCP反転信号は通常は
「高」である。このSTCP反転信号は、ここでは
述べない中央プロセツサが主メモリへ書込む場合
又は第15図に示したようにフリツプフロツプ1
30(第14図)からのキヤツシユミス信号に応
答する場合のいずれかにおいて、「低」になる。
STCP反転信号は時間L1において「低」にな
る。第11図から判るように、STCP反転信号は
GT1信号のクリアをするフリツプフロツプ61
の入力であり、STCP反転信号が「低」になると
GT1反転信号が「低」にさせられ中央プロセツ
サ12に対する信号TA及びT0が出力されるこ
とを禁止し、それから信号GT1が「高」にさせ
られる。 In more detail with reference to the timing chart of FIG. 23, the STCP inversion signal is normally "high". This STCP inversion signal is used when the central processor (not described here) writes to the main memory or when the flip-flop 1, as shown in FIG.
30 (FIG. 14).
The STCP inversion signal goes "low" at time L1. As can be seen from Figure 11, the STCP inversion signal is
Flip-flop 61 to clear GT1 signal
input, and when the STCP inverted signal goes “low”
The GT1 invert signal is forced low to inhibit output of signals TA and T0 to central processor 12, and then signal GT1 is forced high.
キヤツシユミス信号が存在せぬ場合(すなわち
中央プロセツサの主メモリへの書込動作の場合)
においおては、GT1信号はGT2信号を発生させ
るフリツプフロツプ63のD端子の入力であり、
その後次のL0パルスにおいてGT2反転信号が
「低」になり次のT1及びT2パルスが中央プロセ
ツサへ出力されることを禁止する。L1パルスに
おいて(書込動作が起動された後)STCP反転信
号が再び「高」になると、GT1反転信号がL2パ
ルスにおいて「高」になり(タイミングパルス
TA及びT0が出力許可される)、GT2反転信号が
次のL0パルスにおいて「高」になる(タイミン
グパルスT1及びT2が出力許可される)。それ
ゆえ主メモリへの書込動作の場合においては中央
プロセツサ12がタイミングパルスTAにおいて
停止され、該パルスにおいて再起動される。 When the cache miss signal is not present (i.e., in the case of a central processor write operation to main memory)
In this case, the GT1 signal is the input to the D terminal of the flip-flop 63 that generates the GT2 signal,
Then on the next L0 pulse, the GT2 inversion signal goes low, inhibiting the next T1 and T2 pulses from being output to the central processor. When the STCP inverted signal goes high again in the L1 pulse (after the write operation is initiated), the GT1 inverted signal goes high in the L2 pulse (timing pulse
TA and T0 are enabled), the GT2 inversion signal goes high on the next L0 pulse (timing pulses T1 and T2 are enabled). Therefore, in the case of a write operation to the main memory, the central processor 12 is stopped at the timing pulse TA and restarted at this pulse.
キヤツシユミス信号により中央プロセツサが停
止している場合においては、キヤツシユミス信号
はTAパルスへ至る途中の段階のL0パルスが到達
するまで発生されぬ。それゆえこの場合において
は、相異なる停止時間(及び動作回復タイミン
グ)が設けられねばならぬ。この目的のためにキ
ヤツシユミス信号はGT2信号のフリツプフロツ
プ63のD端子への入力信号としてGT1信号と
共に論理積がとられ、キヤツシユミス反転信号は
またフリツプフロツプ63のGT2反転出力と共
に論理積がとられる。それゆえキヤツシユミス反
転信号が「低」になるとゲートされているGT2
信号が「高」にさせられ、パルスT1及びT2の
出力を禁止し、命令サイクルの中途において中央
プロセツサを停止させる。GT1反転信号は引き
続いてSTCP信号により(L1パルスにおいて)
「低」にさせられる。 If the central processor is stopped by the cache miss signal, the cache miss signal will not be generated until the L0 pulse, which is in the middle of the TA pulse, arrives. Therefore, in this case, different stop times (and operational recovery timings) must be provided. For this purpose, the cache miss signal is ANDed with the GT1 signal as the input signal to the D terminal of flip-flop 63 of the GT2 signal, and the cache miss signal is also ANDed with the GT2 inverted output of flip-flop 63. GT2 is therefore gated when the cache miss inversion signal goes "low".
A signal is forced high, inhibiting the output of pulses T1 and T2 and stopping the central processor in the middle of an instruction cycle. The GT1 inversion signal is then followed by the STCP signal (at the L1 pulse)
I am forced to set it to “low”.
最後の主メモリサイクル内の第2キヤツシユサ
ブサイクルの時間TAの間(後述するように)キ
ヤツシユデータ記憶信号が書込れてキヤツシユの
更新が完了した後、フリツプフロツプ130から
のキヤツシユミス信号がクリアされる(第14
図)。キヤツシユミス反転信号はパルスL0にお
いて「高」になり、STCP反転信号はパルスL1
において「高」になる(第15図)。キヤツシユ
ミス信号が変化することによりGT2反転信号が
L0パルスにおいて「低」にさせられてタイミン
グパルスT1及びT2を中央プロセツサ12へ出
力させるべきことを許可し、その後L2パルスに
おいてGT1反転信号が「高」になりパルスTA及
びT0が出力されることを許可する。それゆえ
GT1信号が停止すると中央プロセツサの名令サ
イクルが中間のサイクルにおいて再起動する。 During the time TA of the second cache subcycle in the last main memory cycle (as described below), the cache miss signal from flip-flop 130 is cleared after the cache data storage signal is written and the cache update is complete. (14th
figure). The cache miss inversion signal goes high at pulse L0, and the STCP inversion signal goes high at pulse L1.
It becomes "high" at (Figure 15). The GT2 inversion signal changes due to a change in the cache miss signal.
On the L0 pulse, the GT1 inverted signal is forced "low" to allow timing pulses T1 and T2 to be output to the central processor 12, and then on the L2 pulse, the GT1 inverted signal goes "high" and pulses TA and T0 are output. Allow. therefore
When the GT1 signal stops, the central processor command cycle restarts in an intermediate cycle.
キヤツシユデータストアは、キヤツシユミス後
又は中央プロセツサのメモリ書込動作実行中、キ
ヤツシユ書込動作により更新される。 The cache data store is updated by cache write operations after a cache miss or during a central processor memory write operation.
第20図を参照すると、キヤツシユ書込回路1
50がキヤツシユミス後キヤツシユユユ内容の書
込みを制御し、またBAアドレス比較においてタ
グが一致した後キヤツシユ無効ビツトの書込みを
制御する。(反転)無効ビツト(第14図、フリ
ツプフロツプ146から)は無効ビツトを書込む
ためのキヤツシユ書込回路150に対する入力信
号である。制御信号LCM24及び書込制御信号
WRITE8,WRITE16又はWRITE64(第1
5図から)はキヤツシユデータストア書込用の入
力信号である。 Referring to FIG. 20, cache write circuit 1
50 controls writing of the cache contents after a cache miss, and also controls writing of the cache invalid bit after the tags match in BA address comparison. (INVERTED) INVALID BIT (FIG. 14, from flip-flop 146) is an input signal to cache write circuit 150 for writing an invalid bit. Control signal LCM24 and write control signal
WRITE8, WRITE16 or WRITE64 (first
5) are input signals for writing to the cache data store.
第23図との関連において述べるように、キヤ
ツシユデータストアの書込は主メモリ書込又は読
出動作の相異なる時間に生じる。全ての書込は時
間TA、すなわちキヤツシユ動作サイクルのサブ
サイクルBの間において生じる。主メモリの書込
動作のために書込パルスがメモリサイクルC1及
びC2(第15図)の時間TAにおいて出力とし
て存在し、一方主メモリの読出動作(キヤツシユ
更新)のためにメモリサイクル3(LC、ラスト
サイクル)の時間TAにおいて出力として存在す
る。主メモリサイクルの任意のサイクルの間、無
効ビツトの書込もまた時間TAにおいて生じる。
全ての書込みがキヤツシユ動作サイクルの第2の
サブサイクルの間に生じるので、キヤツシユ書込
動作は第1のキヤツシユサブサイクルの期間中央
プロセツサのメモリ読出要求の受容を干渉でき
ぬ。 As discussed in connection with FIG. 23, cache data store writes occur at different times during main memory write or read operations. All writes occur during time TA, subcycle B of the cache operation cycle. For main memory write operations, a write pulse is present as an output at time TA of memory cycles C1 and C2 (FIG. 15), while for main memory read operations (cache update), a write pulse is present as an output at time TA of memory cycles C1 and C2 (FIG. 15), while for main memory read operations (cache update), memory cycle 3 (LC , last cycle) at time TA. During any main memory cycle, writing of the invalid bit also occurs at time TA.
Because all writes occur during the second subcycle of the cache operation cycle, cache write operations cannot interfere with the central processor's acceptance of memory read requests during the first cache subcycle.
キヤツシユ書込パルスはタグ記憶部120、無
効記憶部122及びデータ記憶部124(第14
図)に対する適切な入力として存在する。 The cache write pulse is sent to the tag storage section 120, the invalid storage section 122, and the data storage section 124 (fourteenth
exists as an appropriate input for Figure).
前述の如く特定の機能に対してキヤツシユサブ
サイクルを提供すること、より特定的には中央プ
ロセツサのメモリ読出し要求を受け入れるだけの
ために第1のサブサイクルを提供することは、メ
モリ読出し動作のための中央プロセツサのアドレ
ス(指定)がそのタグとキヤツシユとの内容とを
比較するために、各キヤツシユサイクルのそれぞ
れにおいて一旦常に受け入れられるという結果を
もたらす。もしキヤツシユヒツトが存在するなら
ば、要求されたデータは次の中央プロセツサのマ
イクロ命令サイクルのTA周期の中で中央プロセ
ツサへ戻される。それゆえ中央プロセツサは中断
することなく処理を進めることができる。 Providing cache subcycles for specific functions as described above, and more specifically providing a first subcycle solely for accepting central processor memory read requests, is useful for memory read operations. The result is that the address of the central processor for is always accepted once in each cache cycle to compare its tag with the contents of the cache. If the cache is present, the requested data is returned to the central processor during the TA period of the next central processor microinstruction cycle. Therefore, the central processor can proceed without interruption.
もしキヤツシユミスが存在するならば、中央プ
ロセツサは停止され、主メモリアクセスが得られ
るまで数サイクル待機することを余儀なくされ得
り、該主メモリアクセスはバスアダプタがアクセ
スのためめ競合がないときのみ生じる。データが
主メモリから得られると、キヤツシユサイクルの
第2サブサイクルの間データは中央プロセツサに
即座に提供され、中央プロセツサがキヤツシユミ
スが「高」に反転したことに応答して再び動作が
開始されると、恰もキヤツシユヒツトが存在する
かのように中央プロセツサは或る動作態様におい
て再起動する。中央プロセツサが動作を再開した
後第2キヤツシユサブサイクルの間キヤツシユデ
ータストアが書込れる。 If a cache miss exists, the central processor may be stalled and forced to wait several cycles until main memory access is obtained, which only occurs when there is no contention for bus adapter access. . Once the data is available from main memory, it is immediately provided to the central processor during the second subcycle of the cache cycle, and the central processor begins operating again in response to the cache miss flipping high. The central processor then restarts in some manner of operation as if the cache were present. The cache data store is written to during the second cache subcycle after the central processor resumes operation.
キヤツシユはキヤツシユ動作サイクルの第2サ
ブサイクルの期間においてのみバスアダプタタグ
一致をみるために検査される。タグ一致状態が存
在すると、フリツプフロツプ146がセツトさ
れ、次の第2サブサイクルで(中央プロセツサメ
モリ読出要求を入れるための機会を得た後)一致
したアドレスにおける無効ビツトがキヤツシユ書
込論理回路150(第20図)により書込れる。
キヤツシユにおけるロケーシヨンを読出すことが
中央プロセツサにより引き続いて試みられるとキ
ヤツシユミス信号を発生させることを生じさせ、
前述のごとくキヤツシユが更新され得る。 The cache is checked for bus adapter tag matches only during the second subcycle of the cache operation cycle. If a tag match condition exists, flip-flop 146 is set and in the next second subcycle (after the central processor has had an opportunity to enter a memory read request) the invalid bit at the matched address is transferred to cache write logic 150. (Figure 20).
causing subsequent attempts by the central processor to read the location in the cache to generate a cache miss signal;
The cache may be updated as described above.
このキヤツシユ動作サブサイクルを提供する結
果として、キヤツシユの書込みが(無効ビツトの
書込み、キヤツシユミスに応答してダブルワード
を更新するため、又は中央プロセツサの主メモリ
への書込みの後キヤツシユを更新するためのいず
れか)、中央プロセツサのメモリ読出動作に対し
て「区別されて」存在する。中央プロセツサはそ
のような書込みが行なわれる間決して待機するこ
とを要しない。特に、キヤツシユメモリを用いる
多くのデータ処理装置の回路配置とは相異なり、
キヤツシユミス後に中央プロセツサが動作を再開
できる前、更新するために従来のデータ処理装置
において要求される「無益な(dedicated)」キヤ
ツシユサイクルは存在しない。さらに中央プロセ
ツサはキヤツシユミス後に更新されたばかりのロ
ケーシヨンを即座に(次のマイクロ命令サイクル
で)読出すことができる。中央プロセツサが主メ
モリ書込動作を行つたばかりのロケーシヨンの読
出しを試みると、変則的なことが起り得るが、こ
の状況は中央プロセツサのマイクロプログラミン
グにおける適切な予防策により容易に回避され
る。 As a result of providing this cache operation subcycle, cache writes (to write an invalid bit, to update a doubleword in response to a cache miss, or to update the cache after writing to the central processor's main memory) either) exists "separately" from the central processor's memory read operations. The central processor is never required to wait while such writes occur. In particular, unlike the circuit layout of many data processing devices that use cache memory,
There are no "dedicated" cache cycles required in conventional data processing systems to update before the central processor can resume operation after a cache miss. Additionally, the central processor can immediately (on the next microinstruction cycle) read the just updated location after a cache miss. Anomalies can occur if the central processor attempts to read a location on which it has just performed a main memory write operation, but this situation is easily avoided by appropriate precautions in the microprogramming of the central processor.
第21図,第22図及び第23図のタイミング
チヤートを参照して以下に本発明のデータ処理装
置の動作について述べる。 The operation of the data processing apparatus of the present invention will be described below with reference to the timing charts of FIGS. 21, 22, and 23.
先ず第21図について述べると、この図面には
中央プロセツサのメモリ読出動作の事象につい示
してある。 Referring first to FIG. 21, this figure illustrates the events of a central processor memory read operation.
中央プロセツサのメモリ読出マイクロ命令は時
間TAに始まり時間T2に至つて終る。LA反転
信号の立上り部(positive edge)において、ア
ドレスがメモリアドレスレジスタ58(第3図)
からキヤツシユ24へ送出されることが可能にさ
れる。T12信号が「低」である間、マルチプレク
サ102(第13図)へのA入力信号が選択され
て中央プロセツサのインデツクスをキヤツシユア
ドレスラツチ回路114へ送出する。「アドレス
クロツク」(L1,LA)信号がL1パルスにおいて
「高」になり、ラツチ回路114からの中央プロ
セツサのインデツクスを伝送してキヤツシユスト
ア(第14図)にアドレス指定する。このことに
応答してデータがデータ記憶部124から出力と
して存在し、信号L1,L2(80ナノ秒)の期間
において該データがデータラツチ回路126から
ラツチが外される。このデータは時間TAにおい
て中央プロセツサのメモリデータレジスタ56
(第3図)にラツチされる。キヤツシユヒツトの
場合においては、中央プロセツサは中断されるこ
となく次のマイクロ命令サイクルへと動作が継続
する。 The central processor memory read microinstruction begins at time TA and ends at time T2. At the positive edge of the LA inversion signal, the address is set to the memory address register 58 (FIG. 3).
and to the cache 24. While the T12 signal is "low", the A input signal to multiplexer 102 (FIG. 13) is selected to send the central processor index to cache address latch circuit 114. The ``Address Clock'' (L1, LA) signal goes ``high'' on the L1 pulse, transmitting the central processor index from latch circuit 114 to address the cache store (FIG. 14). In response, data is present as an output from data storage 124 and is unlatched from data latch circuit 126 during signals L1 and L2 (80 nanoseconds). This data is stored in the central processor's memory data register 56 at time TA.
(Figure 3). In the case of a cache, the central processor continues without interruption to the next microinstruction cycle.
T12信号が「高」になりT12反転信号が「低」
になると、タグ選択マルチプレクサ104へのA
入力信号が(中央プロセツサのタグ)が選択さ
れ、そしてタグ選択ラツチ回路116へ伝送され
る。「タグクロツク反転」(反転L1,反転LA)
信号が比較器132(第14図)へのタグ出力を
ラツチする。ラツチ回路114からの入力インデ
ツクスに応答して、記憶されたタグがデータの記
憶と同時点においてタグ記憶部120からの出力
として存在し、「タグラツチネーブル」(L0,L2)
信号の立ち下がり部が記憶されたタグを比較器1
32へ送出する。比較器132のミスヒツト出力
信号はフリツプフロツプ130への入力信号であ
り、該信号はLA反転(ミスクロツク」)信号によ
りサンプルされる。キヤツシユミスの場合におい
て、フリツプフロツプ135(15図)へ入力信
号であるキヤツシユミス信号がL0反転信号にお
いてSTCP信号を反転させる。 T12 signal becomes “high” and T12 inversion signal becomes “low”
, A to the tag selection multiplexer 104
The input signal (central processor tag) is selected and transmitted to the tag select latch circuit 116. "Tag clock inversion" (inversion L1, inversion LA)
The signal latches the tag output to comparator 132 (FIG. 14). In response to the input index from the latch circuit 114, the stored tag is present as an output from the tag storage section 120 at the same time as the data is stored, and the "tag latch enable" (L0, L2) is activated.
The tag in which the falling edge of the signal is stored is connected to comparator 1.
32. The miss output signal of comparator 132 is the input signal to flip-flop 130, which is sampled by the LA inverted (miss clock) signal. In the case of a cache miss, the cache miss signal, which is the input signal to flip-flop 135 (FIG. 15), inverts the STCP signal at the L0 inversion signal.
第21図から判るように、キヤツシユミス信号
はキヤツシユデーータが中央プロセツサ12のメ
モリデータレジスタへ既に送出された後において
のみ発生される。もしキヤツシユミスが存在しな
いならば、中央プロセツサはそのデータ処理を継
続する。もし、キヤツシユミスが存在するなら
ば、中央プロセツサはT0信号の後停止され得り
(第23図との関連において後述する)、データは
中央プロセツサの動作が再開する前に主メモリ読
出動作により復活され得る。 As can be seen in FIG. 21, the cache miss signal is generated only after cache data has been sent to the memory data registers of central processor 12. If there are no cache misses, the central processor continues processing its data. If a cache miss exists, the central processor can be halted after the T0 signal (described below in connection with Figure 23) and the data restored by a main memory read operation before central processor operation resumes. obtain.
第22図について述べると、この図面にはキヤ
ツシユ検査及び無効動作について図解されてい
る。これらの動作はバスアダプタ(周辺装置プロ
セツサ)が主メモリへ書込むときのみ起動され
る。このような動作のためにバスアダプタは第1
6図及び第17図に示した回路へMRBA信号を
送出し、該回路はBA優先信号及びBAイネーブ
ル信号を発生させる。BAイネーブル信号はTA
信号において「高」になる。主メモリ動作がT0
信号におけるサイクル1(C1)を始点として第1
5図に示した回路により起動される。メモリアク
セス制御信号BAC1が簡略記号BBAC1として
メモリ動作が開始するときラツチされる。T1及
びT2信号が「高」のとき、マルチプレクサ10
2へのB入力(BAインデツクス)信号がラツチ
され、キヤツシユアドレス回路114へ出力され
る。「アドレスクロツク」(L1,LA)信号がBA
インデツクスをキヤツシユストア(第14図)へ
出力する。中央プロセツサへはデータは全く伝送
されぬ。 Referring to FIG. 22, this figure illustrates cache checking and override operations. These operations are only initiated when the bus adapter (peripheral processor) writes to main memory. For this kind of operation, the bus adapter
The MRBA signal is sent to the circuit shown in FIGS. 6 and 17, which generates the BA priority signal and the BA enable signal. BA enable signal is TA
Goes "high" at the signal. Main memory operation is T0
The first cycle starts from cycle 1 (C1) in the signal.
It is activated by the circuit shown in Figure 5. Memory access control signal BAC1 is latched as mnemonic BBAC1 when a memory operation begins. When the T1 and T2 signals are "high", multiplexer 10
The B input (BA index) signal to the cache address circuit 114 is latched and output to the cache address circuit 114. "Address clock" (L1, LA) signal is BA
Output the index to the cache store (Figure 14). No data is transmitted to the central processor.
T1及びT2反転信号が「高」になるとマルチプ
レクサ104へのB入力(BAタグ)信号が選択
され、選択されたBAタグ信号がタグ選択ラツチ
回路116へ伝送される。「タグクロツク反転」
(反転L1,反転LA)信号は比較器132へのタ
グ出力をラツチする。記憶したタグが「タグラツ
チイネーブル」(L0,L2)信号によりタグラツチ
回路134からラツチを外されて比較器134へ
送出される。ミス・ヒツトビツトは無効フリツプ
フロツプ146(第14図)への入力であり、該
ビツトはL2時間における「無効クロツク」信号
によりサンプルされる。タグ一致状態において、
(通常は「高」である)INV反転出力信号が
「低」になる。 When the T1 and T2 inverted signals go high, the B input (BA tag) signal to multiplexer 104 is selected and the selected BA tag signal is transmitted to tag select latch circuit 116. "Tag clock inversion"
The (L1, LA) signal latches the tag output to comparator 132. The stored tag is unlatched from the tag latch circuit 134 and sent to the comparator 134 by the "tag latch enable" (L0, L2) signal. The missed bit is the input to the invalid flip-flop 146 (FIG. 14), which is sampled by the ``invalid clock'' signal at time L2. In tag matching state,
The INV inverted output signal (which is normally ``high'') goes ``low''.
INV反転信号は第20図に示したキヤツシユ
書込回路への入力であり、TA時間において書込
キヤツシユパルスが出力されるようにする。書込
キヤツシユパルスが入力として存在するとき、フ
リツプフロツプ146のINV出力信号が無効ビ
ツト記憶部122(第14図)へのデータ入力と
して存在する。INV信号が書込れる時点のアド
レスはタグ一致状態が見出された時点のアドレス
と同じである、その理由としては、該アドレスが
BA主メモリ書込動作を通じてバツフア回路10
6に維持されるからである(BAアドレスはメモ
リ動作が完了するまではそれ以上は入力され得
ず、複数のキヤツシユ動作サイクルの後入力され
得る)。実際には無効書込動作は主メモリ動作を
通じた各個のキヤツシユサイクルの間反復され得
ることが、このことは問題を生じさせぬ。無効書
込動作を包含する全BA主メモリ動作の間、中央
プロセツサの動作が継続してキヤツシユを読出す
ため各個のキヤツシユサイクルにおいてその機会
を得ることに留意されるべきである。もし或る中
央プロセツサの読出動作がキヤツシユミス状態を
結果として生じさせぬならば、中央プロセツサ
BA主メモリ動作の完了後までに停止されねばな
らず、もし他のBAメモリ動作が処理中でないな
らば、中央プロセツサは第16図に示した回路に
よりメモリ動作の優先順位が与えられ得り、主メ
モリ読出及びキヤツシユ更新が進行できる。 The INV inversion signal is an input to the cache write circuit shown in FIG. 20, and causes a write cache pulse to be output during the TA time. When the write cache pulse is present as an input, the INV output signal of flip-flop 146 is present as a data input to invalid bit store 122 (FIG. 14). The address at the time the INV signal is written is the same as the address at the time the tag match condition was found, because the address is
Buffer circuit 10 through BA main memory write operation
6 (the BA address cannot be entered any further until the memory operation is complete, and may be entered after multiple cache operation cycles). This does not pose a problem since in reality the invalid write operation may be repeated during each individual cache cycle through the main memory operation. It should be noted that during all BA main memory operations, including invalid write operations, central processor operations continue to take the opportunity on each individual cache cycle to read the cache. If a central processor's read operation does not result in a cache miss condition, the central processor
If the BA main memory operation must be stopped after completion and no other BA memory operation is in progress, the central processor can be given priority for the memory operation by the circuit shown in FIG. Main memory reads and cache updates can proceed.
第23図にはキヤツシユミス及び更新について
示されている。キヤツシユミス反転信号は時間
L0(第14図)において「低」になり、STCP反
転信号は時間L1(第15図)において「低」に
なる。中央プロセツサ12は時間T0の後停止さ
れる。主メモリ動作は時間T0におけるサイクル
1(C1)により起動される。主メモリ動作は3
つのサイクルから成り、メモリはサイクル1及び
2の間書込れ、サイクル3の間読出される。キヤ
ツシユミス後のキヤツシユストアを更新するキヤ
ツシユ書込パルスがラストサイクル(C3)の間
において発生されるが、その理由としては、主メ
モリがキヤツシユストアが書込れる前に読出され
ねばならぬからである。最後の主メモリサイクル
の期間キヤツシユミス反転信号は再び時間L0に
おいて「高」になり、STCP反転信号は時間L1に
おいて「高」になる。中央プロセツサがパルスT
1において再起動される。 FIG. 23 shows cache misses and updates. Cash miss inversion signal is time
It goes "low" at time L0 (FIG. 14), and the STCP inversion signal goes "low" at time L1 (FIG. 15). Central processor 12 is stopped after time T0. Main memory operations are initiated by cycle 1 (C1) at time T0. Main memory operation is 3
The memory is written to during cycles one and two and read during cycle three. A cache write pulse that updates the cache store after a cache miss is generated during the last cycle (C3) because main memory must be read before the cache store is written to. It is. During the last main memory cycle, the cache miss signal goes high again at time L0 and the STCP signal goes high at time L1. The central processor pulses T
It is restarted at 1.
中央プロセツサのメモリ書込のためにキヤツシ
ユ書込パルスがサイクル1及び2の期間時間TA
において出力として存在し、中央プロセツサがメ
モリ動作の開始後に再起動される。それゆえ中央
プロセツサ12はサブサイクルAの各個の期間キ
ヤツシユを読出すことができ、一方サブサイクル
Bの期間書込みキヤツシユ動作が継続する。 For central processor memory writes, cache write pulses are used during cycles 1 and 2, time TA.
The central processor is restarted after the start of the memory operation. Central processor 12 can therefore read the cache during each individual subcycle A while write cache operations continue during subcycle B.
第1図は本発明によるデータ処理装置を有する
データ処理装置システムの概略的な回路図、第2
図は第1図のデータ処理装置を通るデータおよび
アドレスの経路を示す図、第3図は第1図に示す
データ処理装置における中央プロセツサの本発明
に関連する部分を示す図、第4図〜第9図は本発
明に関連する種々のデータおよびアドレスのフオ
ーマツトを図解する図、第10図は第1図に示し
た制御信号記憶装置の本発明に関係する部分を示
す図、第11図は本発明のマスタクロツク回路を
示す図、第12図は第11図のマスタクロツク回
路により発生される基本的なシステムタイミング
信号を示す図、第13図は本発明のアドレス指定
機能に関係するキヤツシユメモリの一部分を示す
図、第14図は本発明のデータ記憶に関係するキ
ヤツシユの一部分を示す図、第15図は本発明の
メモリ制御および他の制御機能に関係するキヤツ
シユの一部分を示す図、第16図は本発明のメモ
リアクセス優先に関係する回路の一部分を示す
図、第17図は周辺装置プロセツサのメモリ動作
用制御信号を発生するキヤツシユ回路を示す図、
第18図は本発明のキヤツシユにおいて或る種の
制御記憶信号を用いることに関係したキヤツシユ
回路を示す図、第19図は本発明の一実施例とし
ての主メモリを示す図、第20図は本発明の一実
施例としてのキヤツシユ書込論理回路を示す図、
第21図〜第23図は本発明のデータ処理装置の
動作を部分的に示すタイミングチヤートである。
符号の説明、10…データ処理装置、12…中
央プロセツサ、14…制御信号記憶装置、16…
主メモリ、18…メモリ制御装置、20…マスタ
クロツク装置、22…バスアダプタ、24…キヤ
ツシユ、54…データラツチ回路、56…メモリ
データレジスタ、58…メモリアドレスレジス
タ、60…タイミング発生回路、62…デコーダ
及びカウンタ。
FIG. 1 is a schematic circuit diagram of a data processing device system having a data processing device according to the present invention;
1, FIG. 3 is a diagram showing a portion of the central processor in the data processing device shown in FIG. 1 related to the present invention, and FIGS. FIG. 9 is a diagram illustrating various data and address formats related to the present invention, FIG. 10 is a diagram showing a portion of the control signal storage device shown in FIG. 1 related to the present invention, and FIG. 12 is a diagram showing the basic system timing signals generated by the master clock circuit of FIG. 11, and FIG. 13 is a diagram showing the cache memory address function related to the addressing function of the present invention. 14 shows a portion of the cache related to data storage of the present invention; FIG. 15 shows a portion of the cache related to memory control and other control functions of the present invention; FIG. 16 shows a portion of the cache related to memory control and other control functions of the present invention; 17 is a diagram showing a part of a circuit related to the memory access priority of the present invention, FIG. 17 is a diagram showing a cache circuit that generates a control signal for memory operation of a peripheral device processor,
FIG. 18 is a diagram illustrating cache circuitry related to the use of certain control storage signals in the cache of the present invention; FIG. 19 is a diagram illustrating main memory as an embodiment of the present invention; FIG. A diagram illustrating a cache write logic circuit as an embodiment of the present invention;
FIGS. 21 to 23 are timing charts partially showing the operation of the data processing apparatus of the present invention. Explanation of symbols: 10...Data processing device, 12...Central processor, 14...Control signal storage device, 16...
Main memory, 18... Memory control device, 20... Master clock device, 22... Bus adapter, 24... Cache, 54... Data latch circuit, 56... Memory data register, 58... Memory address register, 60... Timing generation circuit, 62... Decoder and counter.
Claims (1)
を処理するためのプロセツサを含むデータ処理装
置に含まれるキヤツシユメモリであつて、 前記キヤツシユメモリは、 前記主メモリ内に記憶されたデータの一部のコ
ピーを記憶するキヤツシユ記憶手段と、 前記プロセツサからの読取りおよび書込み要求
を受領しかつある要求に対応するアドレスをメモ
リ・コントローラに与えるキヤツシユ制御手段
と、 前記キヤツシユ制御手段の作動に応答して、前
記メモリ・コントローラからのデータを前記キヤ
ツシユ記憶手段に転送するキヤツシユ転送手段
と、を含み、 前記メモリ・コントローラは、前記アドレスに
応答して前記コントローラ、キヤツシユメモリお
よび主メモリの制御動作のための出力を提供する
コントローラ制御手段と、前記主メモリからの読
取りデータをキヤツシユ記憶手段に転送しかつ前
記プロセツサからの書込データを直接に主メモリ
へ転送するコントローラ転送手段とを含み、 前記コントローラ制御手段は、第1のサブサイ
クルと第2のサブサイクルとからなるキヤツシ
ユ・メモリ動作サイクルを規定するタイミング手
段を含み、 前記キヤツシユ制御手段およびコントローラ制
御手段は、前記タイミング手段に応答して、第1
のサブサイクルの間はプロセツサの読取り要求の
みを受け入れて処理し、第2のサブサイクルの間
は他のすべてのキヤツシユおよびメモリの作動要
求の間の競合(conflict)を解決するように作動
する、 ことを特徴とする、キヤツシユメモリ。 2 特許請求の範囲第1項に記載のキヤツシユ・
メモリであつて、前記キヤツシユ制御手段は、第
1のサブサイクルの間に単に受取つたプロセツサ
データ書込み要求に応答して、対応する書込みア
ドレスをコントローラに供給し、これにより、後
続する第2のサブサイクルの間に、プロセツサか
らのプロセツサ・データの前記メモリ・コントロ
ーラを介して主メモリへの直接の書込み動作を開
始させることを特徴とする、キヤツシユ・メモ
リ。 3 特許請求の範囲第1項に記載のキヤツシユ・
メモリであつて、前記キヤツシユ制御手段は、第
1のサブサイクルの間に受取つた、キヤツシユ記
憶手段内にあるコピーに含まれていないデータの
プロセツサの読取り要求に応答して、応答する読
取りアドレスをコントローラに供給し、これによ
り、後続する第2のサブサイクルの間に、主メモ
リから前記メモリ・コントローラを介してキヤツ
シユ記憶手段への対応する読取り動作を開始させ
ることを特徴とする、キヤツシユ・メモリ。 4 特許請求の範囲第3項に記載のキヤツシユ・
メモリであつて、前記メモリ・コントローラ転送
手段は更に、コントローラ制御手段の作動に応答
して前記の対応する読取り動作中に主メモリから
キヤツシユ記憶手段に与えられたデータをプロセ
ツサへも直接に伝達するための手段を含んでいる
ことを特徴とする、キヤツシユ・メモリ。 5 特許請求の範囲第1項に記載のキヤツシユ・
メモリであつて、前記データ処理装置は1つ以上
の周辺プロセツサを更に含み、かつ前記キヤツシ
ユ・メモリは、 前記キヤツシユ制御手段内にあつて、周辺の読
取りおよび書込みアドレスに応答して周辺プロセ
ツサアドレスを前記コントローラに与える手段
と、 前記コントローラ転送手段内にあつて、周辺プ
ロセツサと主メモリとの間でデータを伝達する手
段と、 を更に含み、 また前記コントローラ制御手段は更に周辺プロ
セツサ・アドレスにも応答して周辺プロセツサと
主メモリとの間でデータを対応して伝達するもの
であることを特徴とする、キヤツシユ・メモリ。 6 特許請求の範囲第5項に記載のキヤツシユ・
メモリであつて、前記キヤツシユ制御手段は、前
記キヤツシユ記憶手段内にあるコピーに含まれて
いるデータを参照する周辺アドレスに応答して、
前記主メモリから前記キヤツシユ記憶手段に参照
されたデータの新らしいコピーの読取りを開始さ
せるために、前記コントローラ制御手段に出力を
与えるものであることを特徴とする、キヤツシ
ユ・メモリ。[Scope of Claims] 1. A cache memory included in a data processing device including a main memory for storing data and a processor for processing data, wherein the cache memory includes: cache storage means for storing a copy of a portion of the stored data; cache control means for receiving read and write requests from said processor and providing addresses corresponding to certain requests to a memory controller; and said cache control means. cache transfer means for transferring data from the memory controller to the cache storage means in response to activation of the memory controller; controller control means for providing outputs for control operations of the memory; controller transfer means for transferring read data from said main memory to cache storage means and transferring write data from said processor directly to main memory; The controller control means includes timing means for defining a cache memory operation cycle consisting of a first subcycle and a second subcycle, and the cache control means and the controller control means are configured to control the timing means. In response, the first
accepts and processes only processor read requests during the first subcycle and operates to resolve conflicts between all other cache and memory operation requests during the second subcycle; A cache memory characterized by: 2. The cash register as set forth in claim 1.
In the memory, the cache control means provides a corresponding write address to the controller solely in response to a processor data write request received during a first subcycle, thereby causing a subsequent second A cache memory characterized in that during a subcycle, a write operation of processor data from a processor directly to main memory is initiated through the memory controller. 3. The cash register as set forth in claim 1.
In the memory, the cache control means, in response to a processor read request for data not included in the copy in the cache storage means received during the first subcycle, generates a responsive read address. a cache memory controller, thereby initiating a corresponding read operation from the main memory through said memory controller to the cache storage means during a subsequent second subcycle. . 4. The cash register as set forth in claim 3.
a memory, said memory controller transfer means further communicating directly to the processor data provided from said main memory to said cache storage means during said corresponding read operation in response to actuation of said controller control means; A cache memory comprising means for. 5. The cash register as set forth in claim 1.
a memory, wherein the data processing device further includes one or more peripheral processors, and the cache memory is within the cache control means to read and write peripheral processor addresses in response to peripheral read and write addresses. and means for transmitting data between a peripheral processor and a main memory within the controller transfer means, and the controller control means further includes a means for transmitting data between a peripheral processor and a main memory. A cache memory characterized in that it responsively transfers data between a peripheral processor and a main memory. 6. The cash register as set forth in claim 5.
a memory, said cache control means responsive to a peripheral address referencing data contained in a copy residing within said cache storage means;
A cache memory, characterized in that it provides an output to said controller control means for initiating reading of a new copy of data referenced to said cache storage means from said main memory.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US22315481A | 1981-01-07 | 1981-01-07 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57169990A JPS57169990A (en) | 1982-10-19 |
| JPH0353657B2 true JPH0353657B2 (en) | 1991-08-15 |
Family
ID=22835271
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57000648A Granted JPS57169990A (en) | 1981-01-07 | 1982-01-07 | Processor for data |
Country Status (10)
| Country | Link |
|---|---|
| JP (1) | JPS57169990A (en) |
| BE (1) | BE891723A (en) |
| CA (1) | CA1175581A (en) |
| CH (1) | CH656470A5 (en) |
| DE (1) | DE3200042A1 (en) |
| FR (1) | FR2497596B1 (en) |
| GB (1) | GB2090681B (en) |
| IT (1) | IT1154407B (en) |
| NL (1) | NL8200043A (en) |
| SE (1) | SE445270B (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010095554A1 (en) | 2009-02-20 | 2010-08-26 | 旭硝子株式会社 | Process for manufacturing electret, and electrostatic induction-type conversion element |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS617967A (en) * | 1984-06-15 | 1986-01-14 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | I/o controller |
| AU5634086A (en) * | 1985-05-06 | 1986-11-13 | Wang Laboratories, Inc. | Information processing system with enhanced instruction execution and support control |
| US4814981A (en) * | 1986-09-18 | 1989-03-21 | Digital Equipment Corporation | Cache invalidate protocol for digital data processing system |
| DE3920883A1 (en) * | 1989-06-26 | 1991-01-03 | Siemens Ag | METHOD AND ARRANGEMENT FOR INCREASING THE PROCESSING SPEED OF THE CENTRAL UNIT OF A DATA PROCESSING SYSTEM |
| JPH03189845A (en) * | 1989-12-13 | 1991-08-19 | Internatl Business Mach Corp <Ibm> | Hierarchical memory system and cache memory subsystem |
| JPH0756815A (en) * | 1993-07-28 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | Cache operating method and cache |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3588829A (en) * | 1968-11-14 | 1971-06-28 | Ibm | Integrated memory system with block transfer to a buffer store |
| JPS51148334A (en) * | 1975-06-16 | 1976-12-20 | Hitachi Ltd | Buffer memory control method |
| JPS5441291A (en) * | 1977-09-09 | 1979-04-02 | Sagami Chem Res Center | Cluster fixed substance, production thereof and catalyst |
| US4169284A (en) * | 1978-03-07 | 1979-09-25 | International Business Machines Corporation | Cache control for concurrent access |
| US4208716A (en) * | 1978-12-11 | 1980-06-17 | Honeywell Information Systems Inc. | Cache arrangement for performing simultaneous read/write operations |
| GB2037039B (en) * | 1978-12-11 | 1983-08-17 | Honeywell Inf Systems | Cache memory system |
-
1981
- 1981-12-29 SE SE8107832A patent/SE445270B/en not_active IP Right Cessation
-
1982
- 1982-01-04 DE DE19823200042 patent/DE3200042A1/en active Granted
- 1982-01-05 GB GB8200166A patent/GB2090681B/en not_active Expired
- 1982-01-06 IT IT67010/82A patent/IT1154407B/en active
- 1982-01-07 CA CA000393741A patent/CA1175581A/en not_active Expired
- 1982-01-07 NL NL8200043A patent/NL8200043A/en unknown
- 1982-01-07 JP JP57000648A patent/JPS57169990A/en active Granted
- 1982-01-07 BE BE0/207010A patent/BE891723A/en not_active IP Right Cessation
- 1982-01-07 FR FR828200156A patent/FR2497596B1/en not_active Expired
- 1982-01-07 CH CH78/82A patent/CH656470A5/en not_active IP Right Cessation
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010095554A1 (en) | 2009-02-20 | 2010-08-26 | 旭硝子株式会社 | Process for manufacturing electret, and electrostatic induction-type conversion element |
Also Published As
| Publication number | Publication date |
|---|---|
| CA1175581A (en) | 1984-10-02 |
| GB2090681B (en) | 1985-11-20 |
| JPS57169990A (en) | 1982-10-19 |
| GB2090681A (en) | 1982-07-14 |
| FR2497596A1 (en) | 1982-07-09 |
| IT8267010A0 (en) | 1982-01-06 |
| SE8107832L (en) | 1982-07-08 |
| BE891723A (en) | 1982-04-30 |
| IT1154407B (en) | 1987-01-21 |
| CH656470A5 (en) | 1986-06-30 |
| NL8200043A (en) | 1982-08-02 |
| SE445270B (en) | 1986-06-09 |
| DE3200042C2 (en) | 1991-03-07 |
| DE3200042A1 (en) | 1982-08-19 |
| FR2497596B1 (en) | 1989-03-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4439829A (en) | Data processing machine with improved cache memory management | |
| US4831520A (en) | Bus interface circuit for digital data processor | |
| US5353415A (en) | Method and apparatus for concurrency of bus operations | |
| US5787486A (en) | Bus protocol for locked cycle cache hit | |
| JP3660679B2 (en) | Advanced pipeline bus architecture | |
| US5463753A (en) | Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller | |
| KR100228940B1 (en) | How to keep memory consistent | |
| US4851991A (en) | Central processor unit for digital data processing system including write buffer management mechanism | |
| CA1322058C (en) | Multi-processor computer systems having shared memory and private cache memories | |
| US5774700A (en) | Method and apparatus for determining the timing of snoop windows in a pipelined bus | |
| US4831581A (en) | Central processor unit for digital data processing system including cache management mechanism | |
| US5659709A (en) | Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus | |
| US5895484A (en) | Method and system for speculatively accessing cache memory data within a multiprocessor data-processing system using a cache controller | |
| US5091845A (en) | System for controlling the storage of information in a cache memory | |
| US5119484A (en) | Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction | |
| US5226170A (en) | Interface between processor and special instruction processor in digital data processing system | |
| USRE40921E1 (en) | Mechanism for efficiently processing deferred order-dependent memory access transactions in a pipelined system | |
| WO1997004392A1 (en) | Shared cache memory device | |
| CA1175581A (en) | Data processing machine with improved cache memory management | |
| US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
| AU617514B2 (en) | Multiple processor/cache memory system and data transaction control therefor | |
| EP0302926B1 (en) | Control signal generation circuit for arithmetic and logic unit for digital processor | |
| JPH0816475A (en) | Multiprocessor system | |
| EP0418220B1 (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
| JPH058459B2 (en) |