JPH01156849A - Memory access processor - Google Patents

Memory access processor

Info

Publication number
JPH01156849A
JPH01156849A JP62316759A JP31675987A JPH01156849A JP H01156849 A JPH01156849 A JP H01156849A JP 62316759 A JP62316759 A JP 62316759A JP 31675987 A JP31675987 A JP 31675987A JP H01156849 A JPH01156849 A JP H01156849A
Authority
JP
Japan
Prior art keywords
address
array
bit
data array
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62316759A
Other languages
Japanese (ja)
Inventor
Tadashi Hara
忠 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP62316759A priority Critical patent/JPH01156849A/en
Publication of JPH01156849A publication Critical patent/JPH01156849A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To avoid such a case where the processing of a requester is kept waiting when the registration of M-bits and the read of an address array due to the index of an address array of the processing of the requester overlap with each other by keeping the output of an M-bit memory means at a fixed level regardless of the contents of said memory means. CONSTITUTION:An M-bit register address is sent to an address holding means 304 in case the M-bit register overlaps the read of an address array 302 performed with the index of the array 302 due to an access given from a requester. Then the M-bit register is carried out by said register address in parallel with the read of the array 302 performed with said index. In this case, the M-bit value is kept constant by an M-bit changing means 307 regardless of the M-bit output. That is, it is shown that a data array 403 is not rewritten yet if the result of the index obtained by the processing of the requester shows a hit state. While it is shown that the array 403 is already rewritten if the result of said index shows a miss state. Thus the processing of the requester is never kept waiting.

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、スワップ方式のキャッシュメモリを内部に備
えたメモリアクセス処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a memory access processing device internally equipped with a swap type cache memory.

(従来の技術) この種のスワップ方式のキャッシュメモリを内部に備え
たメモリアクセス処理装置においては、メモリアクセス
の処理はすべてキャッシュ内で行なうため、要求元から
の書込み指定にたいしてもキャッシュ内のみに書込みを
行なうだけで主記憶装置に書込みを行なわない。したが
って、通常状態ではキャッシュの内容と主記憶装置の内
容は不一致であるため新たなアクセスによってキャッシ
ュの内容が塗り換えられる時にキャッシュの内容を主記
憶装置へ書戻して一致性を保証している。この時キャッ
シュの内容が書き換えられたかどうかを示す情報、すな
わちMビットを持ち、これが書き換えを示していた時に
のみ主記憶装置への書込みを行なうようにして主記憶装
置と不一致が生じないように制御されている。このため
、要求元からの書込み要求に対して対応するアドレスの
内容がキャッシュに存在した場合にはそのMビットが書
き換えを示しているかどうかを調べ、書き換えを示して
いなかったら新たに書き換えを示すように書込まなけれ
ばならない(このような処理をMビットの登録と呼ぶ)
(Prior art) In a memory access processing device equipped with this type of swap-type cache memory internally, all memory access processing is performed within the cache, so even in response to a write specification from a request source, the write is only performed within the cache. , but does not write to main memory. Therefore, in a normal state, the contents of the cache and the contents of the main storage device do not match, so when the contents of the cache are rewritten by a new access, the contents of the cache are written back to the main storage device to ensure consistency. At this time, there is information indicating whether the contents of the cache have been rewritten, that is, the M bit, and control is performed so that there is no mismatch with the main memory by writing to the main memory only when this indicates rewriting. has been done. Therefore, if the contents of the address corresponding to a write request from the request source exist in the cache, the M bit is checked to see if it indicates rewriting, and if it does not indicate rewriting, a new one is set to indicate rewriting. (Such processing is called M-bit registration)
.

このような処理は入出力装置または演算処理装置からの
連続したメモリアクセスの要求を一連のレジスタで持ち
回り連続的に処理し、その処理が一回のパイプラインの
流れのなかで終了しなかった場合にはパイプラインの始
めに戻って再び同じパイプラインの流れのなかで処理を
行なうような循環的なパイプライン構成のメモリアクセ
ス処理装置においては一連のパイプラインの一回の処理
では不可能であるため、−度バイブラインのはじめに戻
して二回目の処理でMビットの登録を行なっている。こ
のとき従来の装置では、要求元からのアクセス要求があ
ってもMビットの登録の処理を優先させるため要求元か
らのアクセスによるアドレスアレイの索引のためのアド
レスアレイの読出しは待たされるように制御されていた
In this type of processing, consecutive memory access requests from input/output devices or arithmetic processing units are passed through a series of registers and processed continuously, and if the processing is not completed within one pipeline flow, In a memory access processing device with a cyclic pipeline configuration, which returns to the beginning of the pipeline and performs processing again in the same pipeline flow, it is impossible to process a series of pipelines once. Therefore, the M bit is registered in the second process by returning to the beginning of the -degree vibe line. At this time, in conventional devices, even if there is an access request from the request source, the readout of the address array for indexing the address array due to the access from the request source is controlled so as to wait, in order to give priority to the processing of registering the M bit. It had been.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来の方式は、Mビットの登録を優先させてい
たため、Mビットの登録と要求元の処理のアドレスアレ
イの索引によるアドレスアレイの読出しが重なった場合
は要求元の処理を待たせなければならないという欠点が
ある。
The conventional method described above gives priority to M-bit registration, so if M-bit registration and address array reading by the address array index of the request source process overlap, the request source process must be made to wait. The disadvantage is that it does not.

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

本発明は、入出力装置または演算処理装置と主記憶装置
に接続され主記憶装置の内容の一部の写しを保持するデ
ータアレイとデータアレイの内容が主記憶装置上のどの
部分に対応するかを示す情報を保持するアドレスアレイ
を有し、入出力装置または演算処理装置からのメモリア
クセスの要求がデータアレイ内で処理可能な場合にはそ
の要求が書込み読出しにかかわらずデータアレイ内での
み処理するようなスワップ方式のキャッシュを有し、入
出力装置または演算処理装置からの連続したメモリアク
セスの要求を一連のレジスタで持ち回り連続的に処理し
、その処理が一回のパイプラインの流れのなかで終了し
なかった場合にはパイプラインの始めに戻って再び同じ
パイプラインの流れの中で処理を行なうような循環的な
パイプライン処理手段とを有するメモリアクセス処理装
置において、データアレイの内容が書き換えられたかど
うかを示すMビットをアドレスアレイと独立に持つMビ
ット記憶手段と、そのMビット記憶手段のアドレスを保
持するアドレス保持手段と、Mビット記憶手段の出力を
その内容にかわらす一定の値を示すように、即ち要求元
の処理による索引の結果がヒツトであればデータアレイ
が書き換えられていないことを示すように、またミスで
あればデータアレイが書き換えられていたことを示すよ
うにするMビット変更手段とを有している。
The present invention provides a data array that is connected to an input/output device or an arithmetic processing unit and a main memory and holds a copy of a part of the contents of the main memory, and a data array that stores a copy of a part of the contents of the main memory. If a memory access request from an input/output device or an arithmetic processing unit can be processed within the data array, the request is processed only within the data array regardless of whether it is a write or read. It has a swap-type cache that allows continuous memory access requests from input/output devices or arithmetic processing units to be processed sequentially through a series of registers, and the processing is performed in one pipeline flow. In a memory access processing device that has a cyclic pipeline processing means that returns to the beginning of the pipeline and performs processing again in the same pipeline flow if the processing does not end in the same pipeline, the contents of the data array are M-bit storage means that has an M-bit indicating whether or not it has been rewritten, independent of the address array; address holding means that holds the address of the M-bit storage means; In other words, if the index result from the requesting process is a hit, it indicates that the data array has not been rewritten, and if it is a miss, it indicates that the data array has been rewritten. M bit changing means.

〔作用〕[Effect]

要求元からのアクセスによるアドレスアレイの索引によ
るアドレスアレイの読出しとMビットの登録が重なった
時にはMビットの登録アドレスをアドレス保持手段に送
り、そのアドレスでMビットの登録を行なうとともに要
求元からのアクセスによるアドレスアレイの索引による
アドレスアレイの読出しを並行して行ない、そのときの
Mビットの値はMビット変更手段によりMビットの出力
にかかわらずその値を一定の値、即ち要求元の処理によ
る索引の結果がヒツトであればデータアレイが書き換え
られていないことを示すように、またミスであればデー
タアレイが書き換えられていたことを示すようにして要
求元の処理を待たせなりで済む。
When reading the address array by indexing the address array by access from the request source and registering the M bit overlap, the M bit registration address is sent to the address holding means, and the M bit is registered using that address. The address array is read out in parallel by the index of the address array by access, and the value of the M bit at that time is changed to a constant value by the M bit changing means regardless of the output of the M bit, that is, according to the processing of the request source. If the index result is a hit, it indicates that the data array has not been rewritten, and if the index result is a miss, it indicates that the data array has been rewritten, so that the requesting process does not have to wait.

〔実施例〕〔Example〕

次に、本発明の実施例について図面を参照して説明する
Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明のメモリアクセス処理装置の一実施例を
示す図である。
FIG. 1 is a diagram showing an embodiment of a memory access processing device of the present invention.

入出力装置、演算処理装置などの要求元101〜103
からのメモリアクセスの要求がそれぞれの受付回路20
1〜203で受付けられる。受付けられた要求は選択手
段204によりその中の一つが選ばれて処理される。受
付けられた要求元のアドレスはアドレスレジスタ301
に送られその下位のアドレスでアドレスアレイ302の
内容が読出され比較手段303によりアドレスレジスタ
301の上位アドレスと比較され要求元の要求するアド
レスの内容が対応するデータアレイ403の中に存在す
るかどうか調べられる(このような一連の動作をアドレ
スアレイの索引と呼ぶ)にのようなアドレスアレイの索
引の結果データアレイ403のなかに要求データが存在
する場合(この場合をヒツトと呼ぶ)にはアドレスレジ
スタ301の内容をアドレスレジスタ401へ送り、要
求元の要求内容に応じてリードまたはライトの処理をデ
ータアレイ403内で処理する。また、アドレスアレイ
の索引の結果、データアレイ403の中に存在しない場
合(この場合をミスと呼ぶ)は、選択手段404を介し
て主記憶装置601のアクセスを行ない必要な内容を主
記憶装置601から読出し要求がリードであれば要求元
に必要なデータを送り同時にデータアレイ403に書込
み、またライトであれば書込みデータと主記憶装置60
1の読出し、データを合成したあとデータアレイ403
に書込みを行なう。このとき選択手段306によりアド
レスレジスタ301を選択しMビット記憶手段305の
なかの対応するMビットを読出し、これが“1″で対応
するデータアレイ403の内容が書き換えられていたか
どうか調べる。この結果もし書き換えられていることを
示していたならば、アドレスアレイ302の内容が読出
されているスワップアドレスレジスタ402の示す主記
憶装置601のアドレスにデータアレイ403の内容を
、先の主記憶装置読出しの前に書込んでおく(このよう
な処理をスワップアウトと呼ぶ)。
Request sources 101 to 103 such as input/output devices and arithmetic processing units
Each reception circuit 20 receives a memory access request from
1 to 203 are accepted. One of the accepted requests is selected by the selection means 204 and processed. The address of the accepted request source is stored in the address register 301.
The content of the address array 302 is read at the lower address, and compared with the upper address of the address register 301 by the comparison means 303 to determine whether the content of the address requested by the request source exists in the corresponding data array 403. (This series of operations is called an address array index) When the requested data exists in the data array 403 (this case is called a hit), the address The contents of the register 301 are sent to the address register 401, and read or write processing is processed within the data array 403 according to the request contents of the request source. Furthermore, if the index of the address array indicates that the data does not exist in the data array 403 (this case is called a miss), the main memory 601 is accessed via the selection means 404 and the necessary contents are transferred to the main memory 601. If the read request is a read, the necessary data is sent to the request source and written to the data array 403 at the same time, and if the request is a write, the write data and the main memory 60 are sent.
After reading 1 and combining the data, the data array 403
Write to . At this time, the selection means 306 selects the address register 301, reads out the corresponding M bit in the M bit storage means 305, and checks whether this is "1" and the contents of the corresponding data array 403 have been rewritten. If this result indicates that the contents of the address array 302 have been rewritten, the contents of the data array 403 are transferred to the address of the main storage device 601 indicated by the swap address register 402 from which the contents of the address array 302 have been read. Write before reading (this process is called swapout).

次に、Mビット記憶手段305へのMビットの登録時の
処理について詳細に説明する。
Next, the process of registering M bits in M bit storage means 305 will be described in detail.

要求元の要求がライトの場合でアドレスアレイ302を
索引した結果ピットであった場合には同時にMビット記
憶手段305からMビットを読出す。
If the source request is a write and the result of indexing the address array 302 is a pit, M bits are read from the M bit storage means 305 at the same time.

この結果Mビットが”θ″で未だ一度も書き換えられて
いないことを示していたらば、従来の装置では、Mビッ
トはアドレスアレイ302の一部に持たれていたため、
アドレスレジスタ301にある要求元のアドレスをアド
レスレジスタ401、アドレスレジスタ501と持ち回
り、再びアドレスレジスタ301に送り、このアドレス
でMビット= 1@を書込む。このとき要求元からのア
クセスによるアドレスアレイの索引によるアドレスアレ
イ302の読出しが重なフた場合はMビットの登録を優
先させるため要求元の処理を待たせるように処理されて
いる。
As a result, if the M bit is "θ", indicating that it has never been rewritten, then in the conventional device, the M bit was held in a part of the address array 302.
The address of the request source in the address register 301 is rotated between the address register 401 and the address register 501, and sent to the address register 301 again, and M bit = 1@ is written in this address. At this time, if the reading of the address array 302 by indexing the address array due to the access from the request source overlaps, processing is performed such that the process of the request source is made to wait in order to give priority to registration of the M bit.

本実施例ではMビットをアドレスアレイ302とは独立
したMビット記憶手段305に持ち、そのアドレスも独
立してアドレス保持手段304に持たせ、選択手段30
6によりアドレスレジスタ301とアドレス保持手段3
04を切換えられるように構成されている。このように
して要求元からのアクセスによるアドレスアレイ302
の索引によるアドレスアレイの読出しとMビットの登録
が重なった時にはMビットの登録アドレスをアドレス保
持手段304に送り、そのアドレスでMビットの登録を
行なうとともに要求元からのアクセスによるアドレスア
レイの索引によるアドレスアレイ302の読出しをアド
レスレジスタ301のアドレスで並行して行ない、その
ときのMビットの値はMビット変更手段307によりM
ビットの出力にかかわらずその値を一定の値、即ち要求
元の処理による索引の結果がヒツトであればデータアレ
イ403が書き換えられていないことを示すように、ま
たミスであればデータアレイ403が書き換えられてい
たことを示すようにして要求元の処理を待たせないで済
むように制御されている。
In this embodiment, the M bits are stored in the M bit storage means 305 independent of the address array 302, the address is also stored independently in the address holding means 304, and the selection means 30
6, the address register 301 and address holding means 3
04 can be switched. In this way, the address array 302 is accessed from the request source.
When reading the address array using the index and registering the M bits overlaps, the M bit registration address is sent to the address holding means 304, and the M bit is registered using that address. Reading of the address array 302 is performed in parallel using the address of the address register 301, and the value of the M bit at that time is changed by the M bit changing means 307.
Regardless of the bit output, the value is set to a constant value, that is, if the index result by the requesting process is a hit, it indicates that the data array 403 has not been rewritten, and if it is a miss, the data array 403 is It is controlled so that the request source does not have to wait for processing by indicating that it has been rewritten.

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

以上説明したように本発明は、Mビットをアドレスアレ
イとは独立したMビット記憶手段に持ち、そのアドレス
も独立してアドレス保持手段に持たせて、要求元からの
アクセスによるアドレスアレイの索引によるアドレスア
レイの読出しとMビットの登録が重なった時にはそのア
ドレスアレイの索引に伴って読出されるMビットの値を
Mビット変更手段によってMビットの出力にかかわらず
その値を一定の値、即ち要求元の処理による索引の結果
がヒツトであればデータアレイが書き換えられていない
ことを示すように、またミスであればデータアレイが書
き換えられていたことを示すようにすることにより、要
求元の処理がMビットの登録にじゃまされることなく並
行して行なうことができ、性能が向上するという効果が
ある。
As explained above, the present invention stores M bits in the M bit storage means independent of the address array, and stores the addresses independently in the address holding means, so that the address array can be indexed by access from a request source. When the reading of the address array and the registration of the M bit overlap, the value of the M bit read along with the index of the address array is set to a constant value, that is, the value is requested by the M bit changing means, regardless of the output of the M bit. If the index result from the original process is a hit, it indicates that the data array has not been rewritten, and if the index result is a miss, it indicates that the data array has been rewritten. can be performed in parallel without being hindered by M-bit registration, which has the effect of improving performance.

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

第1図は本発明のメモリアクセス処理装置の一実施例を
示す図である。 io1〜103・・・要求元 201〜203・・・受付回路 204・・・・・・・・選択手段 301・・・・・・・・アドレスレジスタ302・・・
・・・・・アドレスアレイ303・・・・・・・・比較
手段 304・・・・・・・・アドレス保持手段305・・・
・・・・・Mビット記憶手段306・・・・・・・・選
択手段 307・・・・・・・・Mビット変更手段401・・・
・・・・・アドレスレジスタ402・・・・・・・・ス
ワップアドレスレジスタ403・・・・・・・・データ
アレイ 404・・・・・・・・選択手段 501・・・・・・・・アドレスレジスタ601・・・
・・・・・主記憶装置
FIG. 1 is a diagram showing an embodiment of a memory access processing device of the present invention. io1 to 103...Request sources 201 to 203...Reception circuit 204...Selection means 301...Address register 302...
... Address array 303 ... Comparison means 304 ... Address holding means 305 ...
...M bit storage means 306...Selection means 307...M bit changing means 401...
...Address register 402...Swap address register 403...Data array 404...Selection means 501... Address register 601...
...Main memory

Claims (1)

【特許請求の範囲】[Claims] 入出力装置または演算処理装置と主記憶装置に接続され
主記憶装置の内容の一部の写しを保持するデータアレイ
とデータアレイの内容が主記憶装置上のどの部分に対応
するかを示す情報を保持するアドレスアレイを有し、入
出力装置または演算処理装置からのメモリアクセスの要
求がデータアレイ内で処理可能な場合にはその要求が書
込み読出しにかかわらずデータアレイ内でのみ処理する
ようなスワップ方式のキャッシュを有し、入出力装置ま
たは演算処理装置からの連続したメモリアクセスの要求
を一連のレジスタで持ち回り連続的に処理し、その処理
が一回のパイプラインの流れのなかで終了しなかった場
合にはパイプラインの始めに戻って再び同じパイプライ
ンの流れの中で処理を行なうような循環的なパイプライ
ン処理手段とを有するメモリアクセス処理装置において
、データアレイの内容が書き換えられたかどうかを示す
Mビットをアドレスアレイと独立に持つMビット記憶手
段と、そのMビット記憶手段のアドレスを保持するアド
レス保持手段と、Mビット記憶手段の出力をその内容に
かわらず一定の値を示すように、即ち要求元の処理によ
る索引の結果がヒットであればデータアレイが書き換え
られていないことを示すように、またミスであればデー
タアレイが書き換えられていたことを示すようにするM
ビット変更手段とを有することを特徴とするメモリアク
セス処理装置。
A data array that is connected to an input/output device or an arithmetic processing unit and a main memory device and holds a copy of a portion of the contents of the main memory device, and information indicating which part of the main memory device the contents of the data array correspond to. A swap that has an address array that maintains memory access, and if a memory access request from an input/output device or arithmetic processing unit can be processed within the data array, the request is processed only within the data array regardless of whether it is a write or read. It has a system cache that processes consecutive memory access requests from input/output devices or arithmetic processing units in a series of registers, and the processing does not finish within a single pipeline flow. In a memory access processing device that has a cyclic pipeline processing means that returns to the beginning of the pipeline and performs processing in the same pipeline flow again if the data array is rewritten. an M-bit storage means that has M bits indicating the address array independently of the address array, an address holding means that holds the address of the M-bit storage means, and an output of the M-bit storage means so as to indicate a constant value regardless of its contents. In other words, if the index result from the requesting process is a hit, it indicates that the data array has not been rewritten, and if it is a miss, it indicates that the data array has been rewritten.
1. A memory access processing device comprising: bit changing means.
JP62316759A 1987-12-14 1987-12-14 Memory access processor Pending JPH01156849A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62316759A JPH01156849A (en) 1987-12-14 1987-12-14 Memory access processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62316759A JPH01156849A (en) 1987-12-14 1987-12-14 Memory access processor

Publications (1)

Publication Number Publication Date
JPH01156849A true JPH01156849A (en) 1989-06-20

Family

ID=18080604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62316759A Pending JPH01156849A (en) 1987-12-14 1987-12-14 Memory access processor

Country Status (1)

Country Link
JP (1) JPH01156849A (en)

Similar Documents

Publication Publication Date Title
US5313602A (en) Multiprocessor system and method of control over order of transfer of data between buffer storages
JPS63201851A (en) Storage control system
JPH0282330A (en) Move out system
JP2580263B2 (en) Buffer storage device
JPH01156849A (en) Memory access processor
JPS6329297B2 (en)
JPH0375850A (en) Memory access processor
JP3074897B2 (en) Memory circuit
JPH01156848A (en) Memory access processor
JPH01156847A (en) Memory access processor
US7840757B2 (en) Method and apparatus for providing high speed memory for a processing unit
JPS62184560A (en) Input/output buffer controller
JPS62274349A (en) Data processing system
JP2636564B2 (en) Move-in control method for cache memory
JPH0612363A (en) Memory controller and multiprocessor system
JPH04160543A (en) Cache device
JPH01269144A (en) Storing buffer control system
JPH02176839A (en) Information processor
JPS58109952A (en) Storage access processor
JPH0526216B2 (en)
JPS6124734B2 (en)
JPH0332821B2 (en)
JPH02234246A (en) Controlling system for cache coincidence process
JPS6222165A (en) Control system for access to main storage device
JPS62154039A (en) Buffer memory control system