JPS63201744A - Memory access controller - Google Patents
Memory access controllerInfo
- Publication number
- JPS63201744A JPS63201744A JP62034808A JP3480887A JPS63201744A JP S63201744 A JPS63201744 A JP S63201744A JP 62034808 A JP62034808 A JP 62034808A JP 3480887 A JP3480887 A JP 3480887A JP S63201744 A JPS63201744 A JP S63201744A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- register
- memory access
- request
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、セットアソシアティヴ方式のキャッシュメモ
リを有し、各処理装置からのメモリアクセス要求を受付
けると、要求アドレス、書込みおよび要求指令はパイプ
ライン制御下に入り、アドレスレジスタに格納されてい
る処理装置からの要求アドレスでキャッシュメモリアド
レス登録部を索引し、キャツシュヒツトまたはミスヒツ
トの判定およびキャツシュヒツトレベルの割出しを行な
い、要求指令に従い、各処理を実行するメモリアクセス
制御装置に関する。Detailed Description of the Invention [Field of Industrial Application] The present invention has a set-associative type cache memory, and when a memory access request is received from each processing device, the request address, write, and request command are transferred to a pipe. It comes under line control, indexes the cache memory address registration section with the request address from the processing device stored in the address register, determines whether it is a catch hit or miss, and determines the catch hit level. The present invention relates to a memory access control device that executes processing.
第3図はこの種のメモリアクセス制御装置の従来例のブ
ロック図である。FIG. 3 is a block diagram of a conventional example of this type of memory access control device.
各処理装置11f(CPU、l0P)からのメモリアク
セス要求がメモリアクセス要求受付部102で受付けら
れ、優先度の高いものが選択されると、その要求アドレ
スがアドレスレジスタ103に格納される。本メモリア
クセス制御装置のキャッシュメモリ(キャッシュデータ
登録部)10Cはセットアソシアティヴ方式であり、そ
のアドレス登録部104をアドレスレジスタ103に格
納されている下位アドレスで索引し、キャッシュメモリ
アドレス登録部104から読出された登録データとアド
レスレジスタ103の上位アドレスとを比較器105で
比較することにより、該メモリアクセス要求がキャツシ
ュヒツトかミスヒツトかが判定される。キャッシュメモ
リは、複数のレベル゛(アクセス単位)から構成されて
おり、キャツシュヒツトのときは、その内のルベルで比
較結果一致、すなわちキャツシュヒツトとなり、他のレ
ベルでは比較結果の一致はない。キャッレユミスヒット
時は、全てのレベルで不一致となる。比較器105での
各レベルの比較結果はキャツシュヒツトレベルレジスタ
106に格納され、同じタイミングでアドレスレジスタ
103の下位アドレスがキャッシュアドレスレジスタ1
0Aに格納される。そして、次のクロックサイクルでは
、キャッシュメモリのデータ登録部10Cをアクセスす
べくキャツシュヒツトレベルレジスタ106に格納され
ていたキャツシュヒツトレベルはキャッシュレベルレジ
スタ107に格納され、下位ア1さレスはキャッシュア
ドレスレジスタ10Bに格納される。メモリアクセス要
求が読出要求であれば、キャッシュレベルレジスタ10
7の指すレベルにおける、キャッシュアドレスレジスタ
10Bの出力の示すアドレスのキャッシュメモリデータ
登録部10Cのデータが読出され、次のサイクルでキャ
ッシュデータレジスタ10Dに格納される。また、メモ
リアクセス要求が書込要求であればキャッシュメモリア
ドレス登録部104の索引と平行してパイプラインに入
り、書込データ受付部120、データレジスタ121.
122を経てキャッシュデータレジスタ123に格納さ
れていた書込データが、読出時と同様に示されたキャッ
シュメエリデータ登録部10Cのキャツシュヒツトレベ
ル内のアドレスに書込まれる。読出データは、データリ
プライ部10Eから、各要求元処理装置へ送出される。Memory access requests from each processing device 11f (CPU, 10P) are accepted by the memory access request receiving unit 102, and when one with a high priority is selected, the request address is stored in the address register 103. The cache memory (cache data registration unit) 10C of this memory access control device is of a set associative type, and the address registration unit 104 is indexed by the lower address stored in the address register 103, and the cache memory address registration unit 104 is indexed by the lower address stored in the address register 103. By comparing the read registration data with the upper address of address register 103 by comparator 105, it is determined whether the memory access request is a cache hit or a miss. The cache memory is made up of a plurality of levels (access units), and in the case of a cache hit, the comparison result is a match at one of the levels, that is, a cache hit, and there is no match at the other levels. When Carre Yumis hits, all levels will be inconsistent. The comparison results of each level in the comparator 105 are stored in the cache level register 106, and at the same timing, the lower address of the address register 103 is stored in the cache address register 1.
Stored in 0A. Then, in the next clock cycle, the cache level stored in the cache level register 106 to access the data registration section 10C of the cache memory is stored in the cache level register 107, and the lower address is stored in the cache level register 107. It is stored in the address register 10B. If the memory access request is a read request, the cache level register 10
The data in the cache memory data register 10C at the address indicated by the output of the cache address register 10B at the level indicated by 7 is read out and stored in the cache data register 10D in the next cycle. If the memory access request is a write request, the memory access request enters the pipeline in parallel with the index of the cache memory address registration unit 104, and the write data reception unit 120, data register 121.
The write data stored in the cache data register 123 via 122 is written to the address within the cash hit level of the indicated cache memory data registration section 10C in the same manner as when reading. The read data is sent from the data reply unit 10E to each request source processing device.
〔発明が解決しようとする問題点〕
上述した従来のメモリアクセス制御l装置は、各処理装
置からのメモリアクセス要求を受付けると、パイプライ
ン制御下で、キャッシュメモリアドレス登録部を索引す
ることにより、メモリアクセス要求のキャツシュヒツト
またはミスヒツトの判定およびヒツト時のヒツトレベル
を割出してキャッシュメモリデータ部をアクセスするが
、後続メモリアクセス要求に対しても同様にパイプライ
ン制御にてキャッシュメモリアドレス登録部を索引し、
キャツシュヒツトまたはミスヒツトおよびヒツトレベル
の判定を行い、キャッシュメモリデータ登録部をアクセ
スしていくが、このとき、各処理装置からの先行するメ
モリアクセス要求がキャツシュヒツトした場合のヒツト
レベルと同一のレベルに対して、後続メモリアクセス要
求がアクセスする場合も、先行メモリアクセス要求と同
様にキャッシュメモリアドレス登録部を索引し、ヒツト
レベル(同一レベル)を割出し、キャッシュメモリデー
タ登録部をアクセスするようになっているので、同等の
動作をくり返し行なうことになる。[Problems to be Solved by the Invention] When the conventional memory access control device described above receives a memory access request from each processing device, it indexes the cache memory address registration section under pipeline control. The cache memory data section is accessed by determining whether a memory access request is a hit or a miss and determining the hit level at the time of a hit, but the cache memory address registration section is similarly indexed using pipeline control for subsequent memory access requests. ,
A hit or miss and a hit level are determined and the cache memory data registration section is accessed. When a memory access request accesses, the cache memory address registration section is indexed, the hit level (same level) is determined, and the cache memory data registration section is accessed, in the same way as the preceding memory access request. You will have to repeat this action repeatedly.
メモリアクセス要求の処理時間をできるだけ短縮するこ
とが望ましいので、各要求ごとに同じ処理をくり返すこ
とはメモリアクセス要求処理の性能を落すことになる。Since it is desirable to shorten the processing time of a memory access request as much as possible, repeating the same process for each request will degrade the performance of memory access request processing.
本発明のメモリアクセス制御装置は、
キャツシュヒツト時のヒツトレベルを保持するレベル保
持レジスタと、
該レベル保持レジスタの格納データと該レベル保持レジ
スタへの入力データとを比較する比較器と、
パイプラインから該キャッシュメモリに供給されるキャ
ッシュアドレスまたは前記アドレスレジスタからの要求
アドレスを選択する第1のセレクタと、
パイプラインから供給されるキャツシュヒツトレベルま
たは該レベル保持レジスタの出力を選択する第2のセレ
クタと、
キャッシュメモリを読出すステージから供給される要求
指令または第1ステージから供給される要求指令を選択
する第3のセレクタと、通常はパイプラインから供給さ
れるキャッシュアドレス、キャツシュヒツトレベルを選
択し、各処理装置から発行されたメモリアクセス要求の
要求指令が格納される、パイプライン中の要求指令レジ
スタから各ステージのメモリアクセス要求の情報を得て
、キャッシュメモリを読出すステージにメモリアクセス
要求が存在せず、かつ該ステージを除くステージのメモ
リアクセス要求が同一の処理装置から発行されたもので
ないときは、前記アドレスレジスタからの要求アドレス
、前記レベル保持レジスタの出力、第1ステージから供
給される要求指令をそれぞれ選択するように第1.第2
、第3のセレクタを制御するタイミング制御部と、
該比較器による比較結果が一致の場合は、前記キャッシ
ュメモリからの読出データを格納するキャッシュ読出デ
ータレジスタに読出データをセットし、前記レベル保持
レジスタをホールドし、不一致の場合は、該キャッシュ
読出データレジスタに読出データをセットせず、該レベ
ル保持レジスタをセットするレジスタ制御手段と、
タイミング制御部よりリプライタイミングの情報を受け
とると、データリプライ部を制御して前−、’)19−
記キャッシュ読出データの要求元へ送出し、要求元へリ
プライ信号を出力するリプライ制御部とを有する。The memory access control device of the present invention includes: a level holding register that holds a hit level at the time of cache hit; a comparator that compares data stored in the level holding register with input data to the level holding register; a first selector that selects a cache address supplied to a memory or a requested address from the address register; a second selector that selects a cache level supplied from a pipeline or an output of the level holding register; a third selector for selecting a request command supplied from the stage for reading the cache memory or a request command supplied from the first stage, and a cache address and cache hit level normally supplied from the pipeline; The memory access request exists in the stage where the memory access request information of each stage is obtained from the request command register in the pipeline where the request command of the memory access request issued from each processing unit is stored, and the cache memory is read. and if the memory access requests of stages other than this stage are not issued by the same processing device, the request address from the address register, the output of the level holding register, the request supplied from the first stage. 1st to select each command. Second
, a timing control unit that controls a third selector, and if the comparison result by the comparator is a match, sets the read data in a cache read data register that stores the read data from the cache memory, and sets the read data in the cache read data register that stores the read data from the cache memory, and sets the read data in the cache read data register that stores the read data from the cache memory, and register control means that holds the level holding register and does not set the read data in the cache read data register in the case of a mismatch, and sets the level holding register; and a reply control section that controls and sends the cache read data to the request source and outputs a reply signal to the request source.
後続のキャツシュヒツトしたメモリアクセス要求が、先
行するメモリアクセス要求とキャッシュの同一のレベル
をアクセスするメモリ読出要求であった場合、該キャッ
シュメモリのアドレス登録部の索引と平行して、該キャ
ッシュメモリのデータ部からの読出が行なわれるのでメ
モリアクセス制御装置内の処理時間が短縮される。If the subsequent cached memory access request is a memory read request that accesses the same level of the cache as the preceding memory access request, the data in the cache memory is read in parallel with the index of the address registration section of the cache memory. Since reading is performed from the section, the processing time within the memory access control device is shortened.
次に、本発明の実施例について図面を参照して説明する
。Next, embodiments of the present invention will be described with reference to the drawings.
第2図はセットアソシアティヴ方式のキャッシュメモリ
を有するコンピュータシステムの例を示すブロック図で
ある。FIG. 2 is a block diagram showing an example of a computer system having a set associative cache memory.
複数の処理装置CPtJ201t 、2012゜10P
2051.2052がキャッシュメモリ204を有する
メモリアクセス制御装置202を介してMMLI203
に接続されている。複数の処理装置CPLI2011.
2012.IOP 2051 。Multiple processing devices CPtJ201t, 2012°10P
2051 and 2052 are connected to the MMLI 203 via the memory access control device 202 having the cache memory 204.
It is connected to the. Multiple processing devices CPLI2011.
2012. IOP 2051.
2052から発行されたメモリアクセス要求をメモリア
クセス制御部@202で選択して、この選択されたメモ
リアクセス要求がキャツシュヒツトした場合は、該メモ
リアクセス要求が読出要求であれば、キャッシュメモリ
204がらの読出データを要求元処理袋@cPLI20
11,2012または1OP205z 、2052に送
出し、書込要求であれば、該書込要求で指示された書込
みデータをキャッシュメモリ204に書込む。また、選
択されたメモリアクセス要求がキャッシュミスヒツトし
た場合には、該メモリアクセス要求をMMU203へ送
出し、読出要求であれば、ブロックデータをメモリアク
セス制御装置203経由で要求元装置に返す。また書込
要求であれば、該当アドレスのブロックデータをまずM
MU203より読出し、メモリアクセス制御81120
2内で書込みデータとマージして、そのマージデータを
メモリアクセスfi11111装置202のキャッシュ
メモリコ−11−
204に書込む。キャッシュミスヒツト時のMMU20
3から読出された最新データはメモリアクセス制御装置
202のキャッシュメモリ204に書込まれる。When a memory access request issued from the cache memory 2052 is selected by the memory access control unit @202 and the selected memory access request is cached, if the memory access request is a read request, the read from the cache memory 204 is performed. Data request source processing bag @cPLI20
11, 2012 or 1OP205z, 2052, and if it is a write request, the write data specified by the write request is written into the cache memory 204. Further, if the selected memory access request causes a cache miss, the memory access request is sent to the MMU 203, and if it is a read request, block data is returned to the requesting device via the memory access control device 203. In addition, if it is a write request, the block data of the corresponding address is first
Read from MU203, memory access control 81120
2 and writes the merged data to the cache memory code 11-204 of the memory access fi1111 device 202. MMU20 at cache miss
The latest data read from No. 3 is written to the cache memory 204 of the memory access control device 202.
第1図はメモリアクセス制御装置202のブロック図で
ある。FIG. 1 is a block diagram of memory access control device 202. As shown in FIG.
このメモリアクセス制御装置202の一般的な動作(選
択されたメモリアクセス要求のキャツシュヒツトまたは
ミスヒツトの判定と、キャッシュメモリ204のデータ
読出し、データ書込み動作)は第3図に示す従来のメモ
リアクセス制御装置と同じである。本実施例は、キャッ
シュメモリ(キャッシュデータ登録部10C>IOCの
読出しのみに着目したもので、書込データ受付部120
、データレジスタ121,122、キャッシュデータレ
ジスタ123は第1図では図示が省略されており、また
第1図の要求指令レジスタ111゜112.113,1
14は第3図の従来のメモリアクセス制御装置にも内蔵
されているが、説明には特に必要ないため第3図では図
示省略されている。The general operation of this memory access control device 202 (determination of whether a selected memory access request is a cache hit or a miss, and data read/write operations of the cache memory 204) is different from the conventional memory access control device shown in FIG. It's the same. This embodiment focuses only on reading the cache memory (cache data registration unit 10C>IOC), and the write data reception unit 120
, data registers 121, 122, and cache data register 123 are not shown in FIG.
14 is also incorporated in the conventional memory access control device shown in FIG. 3, but is not shown in FIG. 3 because it is not particularly necessary for the explanation.
本実施例では、レベル保持レジスタ109.比較器10
8.タイミング制御部10F、リプライ制御部110.
セレクタ115,116,117゜セレクタ制御信号線
118,119.キャッシュデータレジスタ制御信号線
11A、インバータ11Bが第3図の従来例に付加され
ている。In this embodiment, level holding register 109. Comparator 10
8. Timing control section 10F, reply control section 110.
Selectors 115, 116, 117° selector control signal lines 118, 119. A cache data register control signal line 11A and an inverter 11B are added to the conventional example shown in FIG.
本実施例のメモリアクセス制御装置は従来と同様にパイ
プラインの制御下で動作する。このパイプライン制御下
において、次のような処理の条件がある。まず同−CP
uからのメモリアクセス要求は、順序性を守る必要があ
り、後続要求が、先行する要求よりも先に処理されては
いけない。また、l0P205または2052から発行
されたメモリアクセス要求は処理の順序性を守る必要は
ない。各処理装置間においても順序性を守る必要はない
。The memory access control device of this embodiment operates under pipeline control as in the conventional case. Under this pipeline control, the following processing conditions exist. First, same-CP
Memory access requests from u must be ordered, and subsequent requests must not be processed before preceding requests. Furthermore, memory access requests issued from the 10P 205 or 2052 do not need to maintain the order of processing. There is no need to maintain order among each processing device.
次に、本実施例の動作について説明する。Next, the operation of this embodiment will be explained.
メモリアクセス制御装置202において、各処理装置か
らのメモリアクセス要求がメモリアクセス受付部102
で受付けられ、優先度の高いものが選択されると、選択
されたメモリアクセス要求の要求アドレスがアドレスレ
ジスタ103に格納される。そしてキャッシュメモリア
ドレス登録部104をアドレスレジスタ103の下位ア
ドレスで索引し、キャッシュメモリアドレス登録部10
4からの読出データは、アドレスレジスタ103の上位
アドレスと比較器105で比較され、キャツシュヒツト
またはミスヒツトが判定される。In the memory access control device 202, memory access requests from each processing device are received by the memory access reception unit 102.
When a memory access request with a high priority is selected, the request address of the selected memory access request is stored in the address register 103. Then, the cache memory address registration unit 104 is indexed by the lower address of the address register 103, and the cache memory address registration unit 104 is indexed by the lower address of the address register 103.
The read data from No. 4 is compared with the upper address of address register 103 by comparator 105 to determine whether it is a cache hit or a miss.
キャツシュヒツト時は、キャツシュヒツトレベルが示さ
れ、次のクロックサイクルで、該キャツシュヒツトレベ
ルがキャツシュヒツトレベルレジスタ106に格納され
る。また、アドレスレジスタ103の下位アドレスがキ
ャッシュアドレスレジスタ10Aに格納される。これと
同時に、キャツシュヒツトレベルはレベル保持レジスタ
109にも保持される。従来のメモリアクセスの制御装
置(第3図)では、次のクロックタイミングで、キャッ
シュレベルヒツトレジスタ106の出力はキャッシュレ
ベルレジスタ107に、キャッジ1アドレスレジスタ1
0Aの出力はキャッシュアドレスレジスタ10Bに格納
され、キャッシュメモリ10Gのデータを読出す。この
メモリアクセス制御装置の場合、レベル保持レジスタ1
09に前記キャツシュヒツトレベルが格納されたのと同
じサイクル内でアドレスレジスタ103に格納された後
続メモリアクセス要求の要求アドレスにより索引され、
判定された比較器105の出力であるキャツシュヒツト
レベルとレベル保持レジスタ107の出力データが比較
器108で比較される。この比較器108の比較結果が
一致であれば、即ち、先行メモリアクセス要求のキャツ
シュヒツトレベルであるレベル保持レジスタ109の出
力と後続メモリアクセス要求のキャツシュヒツトレベル
である比較器105の出力とが等しければ、キャッシュ
データレジスタ10Dに信号線11Aを介し一致通知信
号を送り、比較器108の出力が不一致であればインバ
ータ11Bを介してレベル保持レジスタ109に不一致
通知信号を送る。ここで、キャッシュメモリデータ登録
部10Gに与えられ二・15−
ているキャッシュアドレスとキャツシュヒツトレベルは
、それぞれセレクタ115とセレクタ116で選択され
る。一般的にはステージ3のキャッシュアドレスレジス
タ10B、キャッシュレベルレジスタ107の出力が選
択されるが、以下の条件下でレベル保持レジスタ109
とアドレスレジスタ103の下位アドレスがタイミング
制御部制御部10Fの制御の下で選択さ・れる。■ステ
ージ3のキャッシュアドレスレジスタ10B、キャッシ
ュレベルレジスタ107.要求指令レジスタ113等に
メモリアクセス要求が存在しない。かつ、■先行するス
テージ2のキャッシュアドレスレジスタ10A、キャツ
シュヒツトレベルレジスタ106.要求指令レジスタ1
12のメモリアクセス要求が、後続のステージ1のアド
レスレジスタ103.要求指令レジスタ111のメモリ
アクセス要求と同一のCPUから発行した要求でないと
き、即ち、この条件下で、レベル保持レジスタ109の
出力とアドレスレジスタ103の下位アドレスがそれぞ
れセレクタ116.セレクタ115で選択され、キャッ
シュメモリ10Gに供給される。比較器108の比較結
果が一致のときは、一致通知信号がキャッシュデータレ
ジスタ10Dに送られ、セレクタ115.セレクタ11
6で選択されたアドレスのキャッシュメモリ10Gから
の読出データが、次のクロックタイミングでキャッシュ
データレジスタ10Dに格納される。比較器108の結
果が不一致のときは、一致通知信号はキャッシュデータ
レジスタ10Dに送られず、キャッシュデータレジスタ
100はセットされない。また、不一致通知信号がレベ
ル保持レジスタ109に送られ、レベル保持レジスタ1
09の格納データが更新される。At the time of a cash hit, the cash hit level is indicated, and the cash hit level is stored in the cash hit level register 106 in the next clock cycle. Furthermore, the lower address of address register 103 is stored in cache address register 10A. At the same time, the cash hit level is also held in the level holding register 109. In the conventional memory access control device (FIG. 3), the output of the cache level hit register 106 is sent to the cache level register 107 and the cache 1 address register 1 is sent to the cache level register 107 at the next clock timing.
The output of 0A is stored in the cache address register 10B, and data from the cache memory 10G is read. In the case of this memory access control device, level holding register 1
indexed by the request address of the subsequent memory access request stored in the address register 103 within the same cycle in which the cash hit level was stored at 09;
A comparator 108 compares the determined cash hit level, which is the output of the comparator 105, with the output data of the level holding register 107. If the comparison result of the comparator 108 matches, that is, the output of the level holding register 109, which is the cash hit level of the preceding memory access request, and the output of the comparator 105, which is the cash hit level of the subsequent memory access request. If they are equal, a match notification signal is sent to the cache data register 10D via the signal line 11A, and if the outputs of the comparator 108 do not match, a mismatch notification signal is sent to the level holding register 109 via the inverter 11B. Here, the cache address and cache hit level given to the cache memory data registration section 10G are selected by the selector 115 and the selector 116, respectively. Generally, the outputs of the stage 3 cache address register 10B and cache level register 107 are selected, but under the following conditions, the level holding register 109
The lower address of the address register 103 is selected under the control of the timing controller controller 10F. ■Stage 3 cache address register 10B, cache level register 107. There is no memory access request in the request command register 113 or the like. and (2) the preceding stage 2 cache address register 10A, cache level register 106. Request command register 1
12 memory access requests are sent to subsequent stage 1 address registers 103 . When the request is not issued by the same CPU as the memory access request of the request command register 111, that is, under this condition, the output of the level holding register 109 and the lower address of the address register 103 are respectively output to the selector 116. It is selected by the selector 115 and supplied to the cache memory 10G. When the comparison result of comparator 108 is a match, a match notification signal is sent to cache data register 10D, and selector 115. Selector 11
The read data from the cache memory 10G at the address selected in step 6 is stored in the cache data register 10D at the next clock timing. When the result of comparator 108 is a mismatch, no match notification signal is sent to cache data register 10D, and cache data register 100 is not set. Further, a mismatch notification signal is sent to the level holding register 109, and the level holding register 1
The stored data of 09 is updated.
以上の動作により、ステージ3にメモリアクセス要求が
存在せず、かつ、ステージ2とステージ1のメモリアク
セス要求が、同−CPUの発行したものでないときに、
先行するメモリアクセス要求のキャツシュヒツトレベル
を保持しているレベル保持レジスタ109の出力とステ
ージ1のメモリアクセス要求のキャツシュヒツトレベル
が等し−11:\−
ければ、ステージ1のメモリアクセス要求はキャッシュ
メモリアドレス登録部104の索引と平行して、同時に
キャッシュメモリ10Gのデータ読出を実行し、次のク
ロックタイミングでキャッシュデータレジスタ10Dに
該読出データを格納する。With the above operation, when there is no memory access request in stage 3 and the memory access requests in stage 2 and stage 1 are not issued by the same CPU,
If the output of the level holding register 109 that holds the cache hit level of the preceding memory access request and the cache hit level of the stage 1 memory access request are equal to -11:\-, then the stage 1 memory access request is In parallel with the indexing of the cache memory address registration unit 104, data is read from the cache memory 10G at the same time, and the read data is stored in the cache data register 10D at the next clock timing.
上記動作中で、セレクタ115.セレクタ116の制御
は、前記の通り、タイミング制御部10Fにより行なわ
れる。タイミング制御部10Fは、各処理装置から発行
されたメモリアクセス要求の要求指令を格納する、パイ
プライン中の要求指令レジスタ111,112,113
から、各ステージのメモリアクセス要求の情報(要求の
有効状態・書込み要求/読出要求・要求元装置)を得て
、セレクタ115.セレクタ116を制御する。例えば
、ステージ3にメモリアクセス要求が存在せず、かつ、
ステージ2とステージ1が同一のCPUから発行された
メモリアクセス要求ではないとき、ステージ1が読出要
求ならば、セレクタ115、セレクタ116でアドレス
レジスタ103の下位アドレスとレベル保持レジスタ1
07の出力が選択され、キャッシュメモリ10Cのデー
タが読出される。また、ステージ2およびステージ3に
メモリアクセス要求が存在せず、ステージ1がキャツシ
ュヒツトの読出要求の時も同様である。ただし、ここで
キャッシュデータレジスタIODにキャッシュメモリ1
0C読出データが格納されるのは、比較器108の比較
結果が一致のときのみである。また、このときセレクタ
117も同時に制御され、要求指令レジスタ111の内
容が選択される。During the above operation, selector 115. As described above, the selector 116 is controlled by the timing control section 10F. The timing control unit 10F includes request command registers 111, 112, and 113 in the pipeline that store request commands for memory access requests issued from each processing device.
Information on the memory access request of each stage (valid state of request, write request/read request, request source device) is obtained from selector 115. Controls selector 116. For example, there is no memory access request in stage 3, and
When stage 2 and stage 1 are not memory access requests issued by the same CPU, and stage 1 is a read request, selector 115 and selector 116 select the lower address of address register 103 and level holding register 1.
The output of 07 is selected and the data in the cache memory 10C is read. The same is true when there is no memory access request in stages 2 and 3, and stage 1 is a cache read request. However, here, the cache data register IOD contains cache memory 1.
The 0C read data is stored only when the comparison result of the comparator 108 is a match. Further, at this time, the selector 117 is also controlled at the same time, and the contents of the request command register 111 are selected.
次に、キャッシュデータレジスタ10Dに読出されたデ
ータは、データリプライ部10Eににり要求元装置に返
されるが、この制御は、リプライ制御部110にて行な
われる。リプライ制御部110はタイミング制御部10
Fよりリプライタイミングの情報を受は取る。実施例に
おけるパイプラインの処理で実行されたメモリアクセス
要求は、一般的な処理に比べ2クロックサイクル分だけ
速くパイプライン処理を終了することになるの−19゛
・。Next, the data read into the cache data register 10D is returned to the requesting device by the data reply unit 10E, and this control is performed by the reply control unit 110. The reply control unit 110 is the timing control unit 10
Receives reply timing information from F. The memory access request executed in the pipeline processing in the embodiment ends the pipeline processing two clock cycles faster than the general processing.
で、このタイミングを考慮して、データの要求元へのリ
プライを実行するように、データリプライ部10Eを制
御する。また、同じタイミングで要求元装置へリプライ
信号を発行する。Then, taking this timing into consideration, the data reply section 10E is controlled to execute a reply to the data request source. Also, a reply signal is issued to the requesting device at the same timing.
以上が本実施例の動作であり、このようにして、メモリ
アクセス制御装置202内の処理時間を短縮することが
できる。なお、キャッシュミスヒツト時および、先行す
るメモリアクセス要求と異なるレベルをアクセスする場
合は、この限りではなく、従来のパイプライン処理を実
行する。The above is the operation of this embodiment, and in this way, the processing time within the memory access control device 202 can be shortened. Note that this is not the case when there is a cache miss or when accessing a level different from that of the preceding memory access request, and conventional pipeline processing is executed.
以上説明したように本発明は、各処理装置から受付けら
れた後続するキャツシュヒツトメモリ読出要求が、先行
するメモリアクセス要求とキャッシュの同一のレベルを
アクセスする場合に、キャッシュメモリのアドレス登録
部の索引と平行してキャッシュメモリのデータ部の該当
レベルのデータを読出せるようにすることにより、各処
理装置から受付けられたメモリアクセス要求の、メモリ
アクセス制御装置内での処理時間を短縮し、性能を上げ
ることができる効果がある。As explained above, in the present invention, when a subsequent cache memory read request received from each processing device accesses the same level of the cache as the preceding memory access request, the address registration section of the cache memory is By making it possible to read data at the corresponding level in the data section of the cache memory in parallel with the index, the processing time within the memory access control device for memory access requests received from each processing device is shortened, improving performance. It has the effect of increasing
第1図は第2図のメモリアクセス制御装置202のブロ
ック図、第2図はメモリアクセ4ス制御装置を含むコン
ピュータシステムの概要を表わす図、第3図はメモリア
クセス制御装置の従来例を示すブロック図である。
102・・・メモリアクセス要求受付部、103・・・
アドレスレジスタ、
104・・・キャッシュメモリアドレス登録部、105
.108・・・比較器、
106・・・キャツシュヒツトレベルレジスタ、107
・・・キャッシュレベルレジスタ、109・・・レベル
保持レジスタ、
10A、10B・・・キャッシュアドレスレジスタ10
G・・・キャッシュメモリデータ登録部、10D・・・
キャッシュデータレジスタ、10E・・・データリプラ
イ部、
10F・・・タイミング制御部、
110・・・リプライ制御部、
−2・1−
111〜114・・・要求指令レジスタ斗、115〜1
17・・・セレクタ、
118.119・・・セレクタ制御信号線、11A・・
・キャッシュデータレジスタ制御信号線、11B・・・
インバータ;
201・・・CPtJ。
202・・・メモリアクセス制御装置、203・・・主
記憶装置(MMU)、
204・・・キャッシュメモリ、
205・・・入出力処理装置(IOP)。
特許出願人 日本電気株式会社
5− 、
” −22−
第2図
第3図FIG. 1 is a block diagram of the memory access control device 202 in FIG. 2, FIG. 2 is a diagram showing an overview of a computer system including the memory access control device, and FIG. 3 shows a conventional example of the memory access control device. It is a block diagram. 102...Memory access request reception unit, 103...
Address register, 104... Cache memory address registration section, 105
.. 108...Comparator, 106...Cash hit level register, 107
... Cache level register, 109... Level holding register, 10A, 10B... Cache address register 10
G...Cache memory data registration section, 10D...
Cache data register, 10E...Data reply unit, 10F...Timing control unit, 110...Reply control unit, -2・1- 111-114...Request command register, 115-1
17...Selector, 118.119...Selector control signal line, 11A...
・Cache data register control signal line, 11B...
Inverter; 201...CPtJ. 202... Memory access control device, 203... Main memory unit (MMU), 204... Cache memory, 205... Input/output processing device (IOP). Patent applicant: NEC Corporation 5-, ”-22- Figure 2 Figure 3
Claims (1)
各処理装置からのメモリアクセス要求を受付けると、要
求アドレス、書込みデータおよび要求指令はパイプライ
ン制御下に入り、アドレスレジスタに格納されている処
理装置からの要求アドレスでキャッシュメモリアドレス
登録部を索引し、キャッシュヒットまたはミスヒットの
判定およびキャッシュヒットレベルの割出しを行ない、
要求指令に従い、各処理を実行するメモリアクセス制御
装置において、 キャッシュヒット時のヒットレベルを保持するレベル保
持レジスタと、 該レベル保持レジスタの格納データと該レベル保持レジ
スタへの入力データとを比較する比較器と、 パイプラインから該キャッシュメモリに供給されるキャ
ッシュアドレスまたは前記アドレスレジスタからの要求
アドレスを選択する第1のセレクタと、 パイプラインから供給されるキャッシュヒットレベルま
たは該レベル保持レジスタの出力を選択する第2のセレ
クタと、 キャッシュメモリを読出すステージから供給される要求
指令または第1ステージから供給される要求指令を選択
する第3のセレクタと、 通常はパイプラインから供給されるキャッシュアドレス
、キャッシュヒットレベルを選択し、各処理装置から発
行されたメモリアクセス要求の要求指令が格納される、
パイプライン中の要求指令レジスタから各ステージのメ
モリアクセス要求の情報を得て、キャッシュメモリを読
出すステージにメモリアクセス要求が存在せず、かつ該
ステージを除くステージのメモリアクセス要求が同一の
処理装置から発行されたものでないときは、前記アドレ
スレジスタからの要求アドレス、前記レベル保持レジス
タの出力、第1ステージから供給される要求指令をそれ
ぞれ選択するように第1、第2、第3のセレクタを制御
するタイミング制御部と、 該比較器による比較結果が一致の場合は、前記キャッシ
ュメモリからの読出データを格納するキャッシュ読出デ
ータレジスタに読出データをセットし、前記レベル保持
レジスタをホールドし、不一致の場合は、該キャッシュ
読出データレジスタに読出データをセットせず、該レベ
ル保持レジスタをセットするレジスタ制御手段と、 タイミング制御部よりリプライタイミングの情報を受け
とると、データリプライ部を制御して前記キャッシュ読
出データの要求元へ送出し、要求元へリプライ信号を出
力するリプライ制御部とを有することを特徴とするメモ
リアクセス制御装置。[Claims] It has a set associative cache memory,
When a memory access request from each processing device is accepted, the request address, write data, and request command are put under pipeline control, and the cache memory address registration section is indexed by the request address from the processing device stored in the address register. , determines cache hit or miss and determines cache hit level;
In a memory access control device that executes each process according to a request command, a level holding register that holds the hit level at the time of a cache hit, and a comparison that compares the data stored in the level holding register and the input data to the level holding register. a first selector that selects a cache address supplied from the pipeline to the cache memory or a requested address from the address register; and a first selector that selects a cache hit level supplied from the pipeline or the output of the level holding register. a second selector that selects a request command supplied from the stage that reads the cache memory or a request command supplied from the first stage, and a cache address that is normally supplied from the pipeline, A request command for memory access requests issued from each processing device is stored by selecting a hit level.
A processing device that obtains memory access request information for each stage from the request command register in the pipeline, that there is no memory access request in the stage that reads the cache memory, and that the memory access requests of the stages other than that stage are the same. If the request command is not issued from the address register, the first, second, and third selectors are configured to select the request address from the address register, the output of the level holding register, and the request command supplied from the first stage, respectively. If the comparison result by the timing control unit to control and the comparator match, the read data is set in the cache read data register that stores the read data from the cache memory, the level holding register is held, and the mismatch is detected. register control means that sets the level holding register without setting the read data in the cache read data register; and upon receiving reply timing information from the timing control section, controls the data reply section to read the cache read data. A memory access control device comprising: a reply control section that sends data to a request source and outputs a reply signal to the request source.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62034808A JPS63201744A (en) | 1987-02-17 | 1987-02-17 | Memory access controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62034808A JPS63201744A (en) | 1987-02-17 | 1987-02-17 | Memory access controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63201744A true JPS63201744A (en) | 1988-08-19 |
Family
ID=12424514
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62034808A Pending JPS63201744A (en) | 1987-02-17 | 1987-02-17 | Memory access controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63201744A (en) |
-
1987
- 1987-02-17 JP JP62034808A patent/JPS63201744A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
| EP0072179B1 (en) | Clearing invalid addresses in cache memory | |
| US5590379A (en) | Method and apparatus for cache memory access with separate fetch and store queues | |
| JPS6118226B2 (en) | ||
| JPS6118222B2 (en) | ||
| US4831622A (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
| JPH04306748A (en) | Information processor | |
| JPH0532775B2 (en) | ||
| US5012410A (en) | Data processor with instruction cache memory | |
| JPS63201744A (en) | Memory access controller | |
| US5510973A (en) | Buffer storage control system | |
| JPH07234819A (en) | Cache memory | |
| JP3130569B2 (en) | Cache memory store method | |
| JP3077141B2 (en) | Image processing device | |
| JPH02259945A (en) | Storing processing system | |
| JPH03116345A (en) | Data processor | |
| JPH04160543A (en) | Cache device | |
| JP2002169724A (en) | Partial invalidation device in cache memory | |
| JPH01300355A (en) | Method and device for control of cache memory | |
| JPH06309282A (en) | Data processor | |
| JPS59195753A (en) | Disk/cache memory control method | |
| JPH01280851A (en) | Cache store control system | |
| JPH02259946A (en) | Separation control system for cache memory | |
| JPH052608A (en) | Data retrieval device | |
| JPH04213133A (en) | Storage key control system |