JP2825983B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2825983B2
JP2825983B2 JP3043279A JP4327991A JP2825983B2 JP 2825983 B2 JP2825983 B2 JP 2825983B2 JP 3043279 A JP3043279 A JP 3043279A JP 4327991 A JP4327991 A JP 4327991A JP 2825983 B2 JP2825983 B2 JP 2825983B2
Authority
JP
Japan
Prior art keywords
memory
read
processor
block
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.)
Expired - Fee Related
Application number
JP3043279A
Other languages
Japanese (ja)
Other versions
JPH04280346A (en
Inventor
健二 星
清 須藤
康智 桜井
孝一 小田原
英治 金谷
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3043279A priority Critical patent/JP2825983B2/en
Publication of JPH04280346A publication Critical patent/JPH04280346A/en
Application granted granted Critical
Publication of JP2825983B2 publication Critical patent/JP2825983B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】本発明は、キャッシュを備え、共通バスに
接続されたメモリに前記共通バスを介してアクセスを行
う情報処理装置に関する。
[0001] The present invention relates to an information processing apparatus having a cache and accessing a memory connected to a common bus via the common bus.

【0002】ところでキャッシュのリードミスヒット時
メモリに対して通常複数ワードをブロックリードしてキ
ャッシュに取り込む。一方、チャネル装置もI/Oから
のデータをメモリに転送するために共通バスを使用す
る。したがって、共通バスを効率よく、しかも、論理矛
盾を起こさないように使用することが要望されている。
By the way, when a read miss occurs in a cache, a plurality of words are usually read in blocks from a memory and fetched into the cache. On the other hand, channel devices also use a common bus to transfer data from I / O to memory. Therefore, it is demanded to use the common bus efficiently and without causing a logical inconsistency.

【0003】[0003]

【従来の技術および発明が解決しようとする課題】複数
のプロセッサ間の排他制御の方法の1つにTest a
nd Setがある。これは共有領域のセマフォ領域に
対するリードとセマフォビットのセットを1回のアクセ
スで行うものである。メモリの共有領域の占有権を得る
際、プロセッサ1はTest and Setを行っ
て、リードしたデータのセマフォビットが“0”なら
ば、その共有領域のアクセスを始められる。(この時す
でにセマフォ領域のセマフォビットは“1”になってい
る)この後プロセッサ2がTest and Setを
行ってもリードしたデータは“1”になっているため占
有権を得られずアクセスができない。
2. Description of the Related Art One of the exclusive control methods among a plurality of processors is Testa.
nd Set. In this method, reading from the semaphore area of the shared area and setting of the semaphore bit are performed by one access. When obtaining the occupation right of the shared area of the memory, the processor 1 performs Test and Set, and if the semaphore bit of the read data is “0”, the processor 1 can start accessing the shared area. (At this time, the semaphore bit in the semaphore area has already been set to "1.") After that, even if the processor 2 performs Test and Set, the read data is set to "1", so that the occupation right cannot be obtained and access is not possible. Can not.

【0004】プロセッサ1のアクセスが終了してセマフ
ォビットに“0”をライトした後プロセッサ2のTes
t and Setが行われると、プロセッサ2がリー
ドしたセマフォビットは“0”のため、プロセッサ2は
アクセスを始められる。このようにTest and
Setを用いた排他制御では、プロセッサ1が占有権を
保持している間、プロセッサ2はTest and S
etを繰り返しながら持っていなければならなかった。
After the access of the processor 1 is completed and "0" is written to the semaphore bit, the Tes of the processor 2 is
When the t and Set is performed, the semaphore bit read by the processor 2 is “0”, so that the processor 2 can start accessing. In this way, Test and
In the exclusive control using Set, while the processor 1 holds the occupation right, the processor 2 executes the Test and S
I had to have it while repeating the et.

【0005】しかも、そのTest and Setの
際のメモリリードは、キャッシュを用いることはでき
ず、メモリに対して直接リードしなければならなかっ
た。この場合、最初のTest and Setでセマ
フォビット“1”の場合、2回目以降はメモリバスを占
有するTest and Setを行うかわりに、通常
のリードを行ってセマフォ領域をキャッシュに取り込
み、キャッシュ上のデータリードを繰り返してセマフォ
ビットが“0”になるのを持つ方法が考えられる。
[0005] In addition, for the memory read at the time of Test and Set, the cache cannot be used, and the memory must be read directly. In this case, if the semaphore bit is “1” in the first test and set, the semaphore area is fetched into the cache by performing a normal read instead of performing the test and set occupying the memory bus for the second and subsequent times, and A method is considered in which the semaphore bit becomes “0” by repeating data read.

【0006】すなわち、キャッシュリードを繰り返して
いるうちに、プロセッサ1がセマフォビットに“0”を
書くと、キャッシュがインバリデーションされるため、
プロセッサ2はメモリ上のデータを読み込む制御に移
り、“0”になったセマフォビットを読み出せる。この
後Test and Setを行って、占有権を得れば
よい。この方法は共通バスをTest and Set
の繰り返しでむだ使いをしなくてすむ。
That is, if the processor 1 writes "0" to the semaphore bit while repeating the cache read, the cache is invalidated.
The processor 2 shifts to the control of reading data on the memory, and can read the semaphore bit that has become “0”. Thereafter, Test and Set is performed to obtain the exclusive right. In this method, a common bus is connected to Test and Set.
You don't have to waste time by repeating.

【0007】ところが、この方法は次の場合矛盾が生じ
る。すなわち、プロセッサ2がTest and Se
tを行ってセマフォビットがすでに“1”のため、通常
のメモリリードを行ってミスヒットリードとしてブロッ
クデータを読み込む際、セマフォビットが存在する1ワ
ードめを読み込んだ直後セマフォビットがプロセッサ1
によりクリアされ、メモリ上ではセマフォビットが
“0”になっているにもかかわらず、プロセッサ2はそ
れに気付かず、2ワードめ、3ワードめ、4ワードめの
リードを行ってタグライトを行う。
However, this method has a contradiction in the following case. That is, the processor 2 performs Test and Se
Since the semaphore bit has already been set to "1" and the block data is read as a mishit read by performing a normal memory read, the semaphore bit is read by the processor 1 immediately after reading the first word having the semaphore bit.
And the processor 2 does not notice that the semaphore bit is "0" on the memory, and performs tag writing by reading the second word, the third word, and the fourth word.

【0008】するとメモリ上のセマフォビットは“0”
であるのにもかかわらずキャッシュ上のデータセマフォ
ビットは“1”のままである。この矛盾はキャッシュに
データを取り込んでいる間は、インバリデーションを行
っていないことから生じる。従って従来は、排他制御の
際Test andSetは常にメモリからセマフォビ
ットをリードする方法しかとれなかった。
Then, the semaphore bit on the memory becomes "0".
However, the data semaphore bit on the cache remains "1". This inconsistency arises from the fact that while the data is being cached, no validation is performed. Therefore, conventionally, during exclusive control, Test and Set has always had a method of always reading a semaphore bit from a memory.

【0009】一方、そのような場合、ブロックリードを
行っているプロセッサのメモリアクセス要求の優先順位
を最も高くして、ブロックリード中、他のプロセッサま
たはチャネル装置が割り込んでメモリアクセスすること
を禁止する方法も考えられるが、チャネル装置に接続さ
れているI/Oのオーバラン許容時間が短いと、ブロッ
クリードしているプロセッサにより共通バスを占有され
てメモリがアクセスできずにオーバーランを引起こして
しまう。
On the other hand, in such a case, the priority of the memory access request of the processor performing the block read is set to the highest priority, and the other processor or the channel device interrupts the memory access during the block read. Although a method is conceivable, if the allowable overrun time of the I / O connected to the channel device is short, the common bus is occupied by the block-reading processor, and the memory cannot be accessed, causing an overrun. .

【0010】従って、この方法を用いるシステムにはオ
ーバーランの許容時間が短いI/Oは接続できないとう
問題が生じる。本発明は、このような従来の問題点に鑑
みてなされたものであって、論理矛盾を起こさず共通バ
スを効率よく使用することができ、かつ、オーバーラン
許容時間が短いI/Oも接続することができるブロック
リード制御方式を提供することを目的としている。
Therefore, a problem arises in that a system using this method cannot connect to an I / O having a short permissible overrun time. The present invention has been made in view of such a conventional problem, and can efficiently use a common bus without causing logical inconsistency, and also connect an I / O having a short overrun allowable time. It is an object of the present invention to provide a block read control method capable of performing the read operation.

【0011】[0011]

【課題を解決するための手段】図1は本発明の原理説明
図である。図1において、1,2はキャッシュ3,4を
有する複数のプロセッサ、5はチャネル装置、8は共通
バス7を経由してアクセスされるメモリ、17Aは前記
プロセッサ1,2のメモリリードがミスヒットのときで
メモリ8からのブロックリードの間、他プロセッサ1,
2のアクセスを抑止する抑止手段、17Bはブロックリ
ードの途中に前記チャネル装置5からのメモリアクセス
要求があったときその要求を優先させる優先手段、11
Aはその時のチャネル装置5からのメモリライトアドレ
スがプロセッサ1,2のキャッシュ3,4にヒットした
ときはアドレスセットされたデータを無効にする無効手
段である。
FIG. 1 is a diagram illustrating the principle of the present invention. In FIG. 1, reference numerals 1 and 2 denote a plurality of processors having caches 3 and 4, reference numeral 5 denotes a channel device, reference numeral 8 denotes a memory accessed via a common bus 7, and reference numeral 17A denotes a memory hit of the processor 1 or 2. During the block read from the memory 8 at the time of
And 17B, a priority means for giving priority to a memory access request from the channel device 5 during the block read, and 11B.
A is invalidation means for invalidating the address-set data when the memory write address from the channel device 5 hits the caches 3 and 4 of the processors 1 and 2 at that time.

【0012】[0012]

【作用】本発明においては、プロセッサ1のメモリリー
ドにおけるミスヒットの際、メモリ8からのブロックリ
ードの間、他プロセッサ2のアクセスを抑止する。これ
により、プロセッサ1のブロックリード中、プロセッサ
2のメモリライトによるセマフォビットのクリアは起き
ない。
According to the present invention, in the event of a mishit in the memory read of the processor 1, the access of the other processor 2 is suppressed during the block read from the memory 8. Thus, the semaphore bit is not cleared by the memory write of the processor 2 during the block read of the processor 1.

【0013】したがって、プロセッサ1はセマフォ領域
をブロックリードにもキャッシュ3の内容とメモリ8の
内容の一致性は保証される。ブロックリードの途中にチ
ャネル装置5からのメモリアクセス要求があった場合、
その要求を優先させ、その時のチャネル装置5からのメ
モリライトアドレスがプロセッサ1のキャッシュ3にヒ
ットした場合、アドレスヒットされたデータを無効にす
る。
Accordingly, even when the processor 1 reads the semaphore area in a block, the consistency between the contents of the cache 3 and the contents of the memory 8 is guaranteed. When there is a memory access request from the channel device 5 during the block read,
The request is prioritized. If the memory write address from the channel device 5 at that time hits the cache 3 of the processor 1, the address hit data is invalidated.

【0014】したがって、プロセッサ1は、同じ領域へ
の次のアクセス時、キャッシュ3はミスヒットするた
め、再びメモリ8のデータをリードすることができる。
このように、論理矛盾を起こさずに共通バス7を効率よ
く使用することができ、かつ、オーバーラン許容時間の
少ないI/Oも接続することができる。
Therefore, the processor 1 can read the data in the memory 8 again because the cache 3 makes a mishit at the next access to the same area.
In this manner, the common bus 7 can be used efficiently without causing logical inconsistency, and I / Os with a short overrun allowable time can be connected.

【0015】[0015]

【実施例】以下、本発明の実施例を図面に基づいて説明
する。図2〜図4は本発明の第1実施例を示す図であ
る。図2において、1,2はプロセッサであり、プロセ
ッサ1,2はキャッシュ3,4をそれぞれ内蔵してい
る。5はチャネル装置であり、チャネル装置5には入出
力装置(I/O)6が接続されている。
Embodiments of the present invention will be described below with reference to the drawings. 2 to 4 show a first embodiment of the present invention. In FIG. 2, reference numerals 1 and 2 denote processors, and the processors 1 and 2 have caches 3 and 4, respectively. Reference numeral 5 denotes a channel device, to which an input / output device (I / O) 6 is connected.

【0016】プロセッサ1,2およびチャネル装置5は
共通バス7を経由してメモリ8にアクセスを行う。ここ
で、図2中、REQ1はプロセッサ1のメモリアクセス
要求信号、REQ2はプロセッサ2のメモリアクセス要
求信号、REQCはチャネル装置5のメモリアクセス要
求信号、LOCKは他プロセッサ1,2のメモリアクセ
ス要求を抑止する信号である。
The processors 1 and 2 and the channel device 5 access the memory 8 via the common bus 7. In FIG. 2, REQ1 is a memory access request signal of the processor 1, REQ2 is a memory access request signal of the processor 2, REQC is a memory access request signal of the channel device 5, and LOCK is a memory access request of the other processors 1 and 2. This is the signal to be suppressed.

【0017】プロセッサ1のブロックリード時、REQ
1を連続して出力して、メモリアクセスを行うと同時
に、LOCK信号をプロセッサ2に対して出力する。プ
ロセッサ2はプロセッサ1のブロックリード中メモリア
クセス要求REQ2を出力しても、プロセッサ1からの
LOCK信号が入力されているため、メモリアクセスが
抑止される。
When the processor 1 reads a block, REQ
1 is output continuously, and a LOCK signal is output to the processor 2 at the same time when memory access is performed. Even if the processor 2 outputs the memory access request REQ2 during the block read of the processor 1, the memory access is suppressed because the LOCK signal from the processor 1 is input.

【0018】このため、プロセッサ1のブロックリード
中、プロセッサ2のメモリライトによるセマフォビット
のクリアは起きない。従ってプロセッサ1はセマフォ領
域をブロックリードしてもキャッシュの内容とメモリの
内容の一致性は保証される。一方、LOCK信号はチャ
ネル装置5には入力されていないため、チャネル装置5
からのREQCが出力されると、プロセッサ1がブロッ
クリード中でも、途中でチャネル装置5のメモリアクセ
スが行われる。
Therefore, the semaphore bit is not cleared by the memory write of the processor 2 during the block read of the processor 1. Therefore, even if the processor 1 performs block reading of the semaphore area, consistency between the contents of the cache and the contents of the memory is guaranteed. On the other hand, since the LOCK signal is not input to the channel device 5, the channel device 5
Is output, the memory access of the channel device 5 is performed on the way even while the processor 1 is performing block read.

【0019】このように常にチャネル装置のメモリアク
セス要求が優先されるため、オーバーラン許容時間の短
いI/O6も接続できる。また、チャネル装置5とプロ
セッサ1,2の排他制御は、セマフォ領域を用いないた
めプロセッサ1,2間の排他制御のような問題は生じな
い。すなわち、チャネル装置5がI/O6からメモリ8
にデータ転送するメモリ領域は、常にプロセッサ1,2
の制御プログラム(オペレーティングシステム)が指定
した領域に限られるため、セマフォ領域にライトするこ
とはありえない。
Since the memory access request of the channel device is always given priority, an I / O 6 with a short overrun allowable time can be connected. Further, the exclusive control between the channel device 5 and the processors 1 and 2 does not use a semaphore area, so that there is no problem such as the exclusive control between the processors 1 and 2. That is, the channel device 5 transmits the I / O 6 to the memory 8
Memory area for data transfer to processors 1, 2
Is limited to the area specified by the control program (operating system), and therefore cannot be written to the semaphore area.

【0020】但し、チャネル装置5がライトした領域
が、各プロセッサ1,2のキャッシュ3,4にヒットし
た場合は、当然キャッシュ3,4の無効化を行わなけれ
ばならない。この時の無効化の領域は、当然ブロックリ
ード中の領域は別領域となる。次に、前記プロセッサ
1,2の内部構成を図3に示す。図3おいて、11はメ
インメモリインタフェースコントローラ、12は自己の
キャッシュ3,4のディレクトリに登録されているメイ
ンメモリ領域への他プロセッサ1,2またはDMAによ
るライトを監視する監視ディレクトリ(WatchingDirect
ory)である。
However, when the area written by the channel device 5 hits the caches 3 and 4 of the processors 1 and 2, the caches 3 and 4 must be invalidated. The invalidation area at this time is, of course, a different area from the area during block read. Next, the internal configuration of the processors 1 and 2 is shown in FIG. In FIG. 3, reference numeral 11 denotes a main memory interface controller, and reference numeral 12 denotes a monitoring directory (WatchingDirect) for monitoring a write to a main memory area registered in a directory of its own cache 3 or 4 by another processor 1, 2 or DMA.
ory).

【0021】13はメインメモリインタフェースにおけ
るアドレスバス、14はメインメモリインタフェースに
おけるデータバス、15は自己のキャッシュ3,4のデ
ィレクトリメモリ(タグメモリ)、16はキャッシュ
3,4のバッファメモリ、17はMPU、18はアドレ
スレジスタ、19はデータレジスタ、20はアドレスバ
ス、21はデータバス、22はヒット信号、23はヒッ
ト番号保持用レジスタであり、第1ステージの内容が第
2ステージで保持されるもの、24はバッファメモリア
ドレス保持用レジスタであり、第1ステージの内容が第
2ステージで保持されるものである。
Reference numeral 13 denotes an address bus in the main memory interface, 14 denotes a data bus in the main memory interface, 15 denotes a directory memory (tag memory) of its own cache 3 or 4, 16 denotes a buffer memory of the cache 3 or 4, and 17 denotes an MPU. , 18 are address registers, 19 is a data register, 20 is an address bus, 21 is a data bus, 22 is a hit signal, 23 is a hit number holding register, and the contents of the first stage are held in the second stage. , 24 are buffer memory address holding registers for holding the contents of the first stage in the second stage.

【0022】アドレスレジスタ18のアドレスは、バッ
ファメモリアドレス保持用レジスタ24、タグメモリ1
5およびメインメモリインタフェースコントローラ11
に与えられ、リードヒットした場合には、キャッシュ
3,4のバッファメモリ16からデータがデータレジス
タ19内に格納される。また、ミスヒットした場合に
は、タグメモリ15よりミスヒット信号がメインメモリ
インタフェースコントローラ11に与えられ、その後デ
ータバス14を介してメモリ8からデータがデータレジ
スタ19内に格納される。
The address of the address register 18 is stored in the buffer memory address holding register 24, the tag memory 1
5 and main memory interface controller 11
In the case of a read hit, data is stored in the data register 19 from the buffer memory 16 of the cache 3, 4. In the case of a mishit, a mishit signal is supplied from the tag memory 15 to the main memory interface controller 11, and then data is stored in the data register 19 from the memory 8 via the data bus 14.

【0023】また、チャネル装置5からのメモリライト
アドレスがプロセッサ1,2のキャッシュ3,4にヒッ
トした場合には、メインメモリインタフェースコントロ
ーラ1の監視ディレクトリ12よりタグメモリ15に無
効信号(INVL)が出力され、アドレスセットされた
データが無効にされる。MPU17は、プロセッサ1,
2のメモリリードがミスヒットのときでメモリ8からの
ブロックリードの間、他プロセッサ1,2のアクセスを
抑止する抑止手段17Aおよびブロックリードの途中に
前記チャネル装置5からのメモリアクセス要求があった
ときその要求を優先させる優先手段17Bとしての機能
を有する。
When a memory write address from the channel device 5 hits the caches 3 and 4 of the processors 1 and 2, an invalid signal (INVL) is sent from the monitoring directory 12 of the main memory interface controller 1 to the tag memory 15. The data output and the address set is invalidated. The MPU 17 includes a processor 1
In the case where the memory read of the memory 2 is a mishit, during the block read from the memory 8, there is a memory access request from the channel device 5 in the middle of the block read and the inhibiting means 17 A for inhibiting the access of the other processors 1 and 2. At this time, it has a function as a priority means 17B for giving priority to the request.

【0024】また、メインメモリインタフェースコント
ローラ11は、チャネル装置5からのメモリライトアド
レスがプロセッサ1,2のキャッシュ3,4にヒットし
たときアドレスセットされたデータを無効にする無効手
段11Aとしての機能を有する。次に動作を説明する。
The main memory interface controller 11 has a function as an invalidating means 11A for invalidating the address-set data when the memory write address from the channel device 5 hits the caches 3 and 4 of the processors 1 and 2. Have. Next, the operation will be described.

【0025】図4は動作を説明するためのタイムチャー
トである。図4において、CLKはシステム全体を同期
させる同期クロック、REQ1,2、REQC,LOC
K、INVLは前述した各信号、TAGWはキャッシュ
3,4のタグライトのタイミング信号、MAB、MDB
は前述した各バス、A1−1はプロセッサ1のブロック
リード時の1番めのリードのアドレス、A1−2はプロ
セッサ1のブロックリード時の2番めのリードのアドレ
ス、A1−3はプロセッサ1のブロックリード時の3番
めのリードのアドレス、A1−4はプロセッサ1のブロ
ックリード時の4番めのリードのアドレス、A2はプロ
セッサ2のライトアドレス、ACはチャネル装置5のラ
イトアドレスである。
FIG. 4 is a time chart for explaining the operation. In FIG. 4, CLK is a synchronous clock for synchronizing the entire system, REQ1, REQ2, REQC, and LOC.
K and INVL are the above-described signals, TAGW is a tag write timing signal for caches 3 and 4, MAB and MDB
Are the buses described above, A1-1 is the address of the first read when the processor 1 reads the block, A1-2 is the address of the second read when the processor 1 reads the block, and A1-3 is the address of the processor 1. A4 is the address of the fourth read in the block read of the processor 1, A1-4 is the write address of the processor 2, and AC is the write address of the channel device 5. .

【0026】D1−1はプロセッサ1によるブロックリ
ードの最初のリードデータ、D1−2はプロセッサ1に
よるブロックリードの2番めのリードデータ、D1−3
はプロセッサ1によるブロックリードの3番めのリード
データ、D1−4はプロセッサ1によるブロックリード
の4番めのリードデータ、DCはチャネル装置5のライ
トデータ、D2−1はプロセッサ2のライトデータであ
る。
D1-1 is the first read data of the block read by the processor 1, D1-2 is the second read data of the block read by the processor 1, D1-3
Is the third read data of the block read by the processor 1, D1-4 is the fourth read data of the block read by the processor 1, DC is the write data of the channel device 5, and D2-1 is the write data of the processor 2. is there.

【0027】ここで、プロセッサ1はLOCK信号をτ
2〜τ5の期間プロセッサ2に送出することにより、プ
ロセッサ2が割込んでメモリアクセスすることを抑止し
ている。但し、τ4でチャネル装置5のメモリアクセス
を許すことによりI/O6のオーバーランを防いでい
る。また、τ4ではINVL信号がタグメモリ15に送
出され、アドレスセットされたデータが無効にされる。
したがって、次の同一領域のキャッシュリードではミス
ヒットし、プロセッサ1は再びメモリ8のデータをリー
ドすることができる。
Here, the processor 1 changes the LOCK signal to τ
The transmission to the processor 2 during the period of 2 to τ5 prevents the processor 2 from interrupting and accessing the memory. However, overrun of the I / O 6 is prevented by permitting the memory access of the channel device 5 at τ4. At τ4, the INVL signal is sent to the tag memory 15, and the data whose address is set is invalidated.
Therefore, a miss occurs in the next cache read of the same area, and the processor 1 can read the data of the memory 8 again.

【0028】このように、論理矛盾を起こさずに共通バ
ス7を効率よく使用することができ、かつ、オーバーラ
ン許容時間の少ないI/O6も接続することができる。
次に、図5および図6は本発明の第2実施例を示す図で
ある。図5において、MPU17は、キャッシュ3,4
のタグライトのタイミングをブロックリードの最初のワ
ードのリード時に設定する設定手段17Cおよび前記プ
ロセッサ1,2のメモリリードがミスヒットのときでメ
モリ8からのブロックリードの間、他プロセッサ1,2
または前記チャネル装置5からのメモリアクセス要求が
あったときその要求を優先させる優先手段17Dとして
の機能を有する。
As described above, the common bus 7 can be used efficiently without causing logical inconsistency, and the I / O 6 having a short overrun allowable time can be connected.
Next, FIG. 5 and FIG. 6 are views showing a second embodiment of the present invention. In FIG. 5, the MPU 17 includes caches 3 and 4
Setting means 17C for setting the tag write timing at the time of reading the first word of the block read, and when the memory read of the processors 1 and 2 is a mishit and during the block read from the memory 8, the other processors 1 and 2
Alternatively, it has a function as a priority means 17D for giving priority to a memory access request from the channel device 5 when the memory access request is received.

【0029】また、メインメモリインタフェースコント
ローラ11は、他プロセッサ1,2またはチャネル装置
5からのメモリライトアドレスがブロックリード中のキ
ャッシュ3,4にヒットしたときはアドレスセットされ
たデータを無効にする無効手段11Bとしての機能を有
している。なお、本実施例においてはプロセッサ1,2
内のLOCK信号は使用されない。
The main memory interface controller 11 invalidates the address-set data when the memory write address from the other processor 1, 2 or the channel device 5 hits the cache 3, 4 during block reading. It has a function as means 11B. In this embodiment, the processors 1, 2
Is not used.

【0030】次に、図6に示すタイムチャートにより動
作を説明する。図6中の符号は、前記実施例と同様で意
味をもつ。TAGW信号は、ブロックリードの最初のワ
ーのワードのリード時にオンとなるようにMPU17に
より設定される。ブロックリード時のタグライトのタイ
ミングを一番めのリードのアドレス送出時に行うことに
より、たとえ次のサイクルでプロセッサ2のメモリライ
トによって、ブロックリードしたメモリ領域にライトが
行われても即座に、インバリデーションを行うことによ
り、以降のブロックのリードのデータを無効化にするこ
とができ、次の同一領域のキャッシュリードではミスヒ
ットし、メモリ8の最初のデータすなわちプロセッサ2
がライトしたデータをリードすることができる。
Next, the operation will be described with reference to a time chart shown in FIG. The reference numerals in FIG. 6 have the same meaning as in the above embodiment. The TAGW signal is set by the MPU 17 so as to be turned on when the word of the first word of the block read is read. By performing the tag write timing at the time of sending the first read address at the time of block read, even if data is written to the block-read memory area by the memory write of the processor 2 in the next cycle, the tag write is immediately performed. By performing the validation, it is possible to invalidate the data read from the subsequent block. In the next cache read in the same area, a miss occurs, and the first data in the memory 8, that is, the processor 2
Can read the written data.

【0031】このようにして、キャッシュ3とメモリ8
のデータ不一致を防ぐことができる。すなわち、τ2に
よりタグライトを行うことにより、τ3でプロセッサ2
のメモリライトにより、プロセッサ1のブロックリード
領域がヒットしても、即座にインバリデーション(IN
VL=1)を行うことにより、ブロックリードのキャッ
シュ3を無効化にするので、プロセッサ1は、同じ領域
への次のアクセス時、キャッシュ3はミスヒットするた
め、再びメモリ8のデータをリードすることにより(τ
9〜τ12)、論理矛盾を起こさない。
Thus, the cache 3 and the memory 8
Data mismatch can be prevented. That is, by performing tag writing using τ2, the processor 2
Even if the block read area of the processor 1 is hit by the memory write of (1), the invalidation (IN
By performing (VL = 1), the cache 3 for block reading is invalidated, so that the processor 1 reads the data in the memory 8 again because the cache 3 miss-hits at the next access to the same area. By the (τ
9 to τ12), logical inconsistency does not occur.

【0032】本実施例においても、前記実施例と同様な
効果を得ることができる。次に、図7および図8は本発
明の第3実施例を示す図である。図7において、MPU
17は、前記第2実施例に加えて、アドレスセットされ
たデータを無効にしたときブロックリードの残りのワー
ドのリードを中止する中止手段17Eとしての機能を有
する。
In this embodiment, the same effect as in the above embodiment can be obtained. Next, FIGS. 7 and 8 show a third embodiment of the present invention. In FIG. 7, the MPU
17 has a function as a stopping means 17E for stopping the reading of the remaining words of the block reading when the address-set data is invalidated in addition to the second embodiment.

【0033】次に、図8は本実施例のタイムチャートを
示す。図8中の符号は、前記実施例と同様な意味をも
つ。プロセッサ1のブロックリード中、プロセッサ2の
ライトしたアドレスが、プロセッサ1のブロックリード
中のブロックにヒットした場合、そのブロックに対する
インバリデーションを行うと共に、それ以降のプロセッ
サ1のブロックリードの残りのワードを中止し、次の動
作に移る。
Next, FIG. 8 shows a time chart of this embodiment. The reference numerals in FIG. 8 have the same meaning as in the above embodiment. When the address written by the processor 2 hits the block being read by the processor 1 during the block read of the processor 1, the block is invalidated and the remaining words of the subsequent block read by the processor 1 are deleted. Cancel and move to the next operation.

【0034】ブロックリード領域がセマフォ領域である
場合は最初のリードでセマフォビットが“1”であるた
め、再び同じ領域をリードする動作を行うが、そのため
のアドレス送出を前のブロックリードの中止後、すみや
かにτ5以降で行う。すなわち、τ3でインバリデーシ
ョンが行われたため、τ5以降のブロックリードは中止
され、τ6から再び新たにブロックリードを開始してい
る。
If the block read area is a semaphore area, the semaphore bit is "1" in the first read, so that the same area is read again. , Immediately after τ5. That is, since the invalidation was performed at τ3, block reading after τ5 is stopped, and block reading is newly started again from τ6.

【0035】本実施例においても、前記実施例と同様な
効果が得られる。
In this embodiment, the same effects as in the above embodiment can be obtained.

【0036】[0036]

【発明の効果】以上説明してきたように、本発明によれ
ば、論理矛盾を起こさずに共通バスを効率よく使用する
ことができ、システム性能を向上させることができる。
また、オーバーラン許容時間が少ないI/Oも接続する
ことができ、システム適用性を向上させることができ
る。
As described above, according to the present invention, the common bus can be used efficiently without causing logical inconsistency, and the system performance can be improved.
Also, I / O with a short overrun allowable time can be connected, and system applicability can be improved.

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

【図1】本発明の原理説明図FIG. 1 is a diagram illustrating the principle of the present invention.

【図2】本発明の第1実施例に係る情報処理装置を示す
FIG. 2 is a diagram illustrating an information processing apparatus according to a first embodiment of the present invention.

【図3】プロセッサの内部構成図FIG. 3 is an internal configuration diagram of a processor.

【図4】動作を説明するためのタイムチャートFIG. 4 is a time chart for explaining the operation;

【図5】本発明の第2実施例に係るプロセッサを示す図FIG. 5 is a diagram showing a processor according to a second embodiment of the present invention.

【図6】動作を説明するためのタイムチャートFIG. 6 is a time chart for explaining the operation;

【図7】本発明の第3実施例に係るプロセッサを示す図FIG. 7 is a diagram showing a processor according to a third embodiment of the present invention.

【図8】動作を説明するためのタイムチャートFIG. 8 is a time chart for explaining the operation;

【符号の説明】 1,2:プロセッサ 3,4:キャッシュ 5:チャネル装置 6:入出力装置(I/O) 7:共通バス 8:メモリ 11:メインメモリインタフェースコントローラ 11A,11B:無効手段 12:監視ディレクトリ 13:アドレスバス 14:データバス 15:ディレクトリメモリ(タグメモリ) 16:バッファメモリ 17:MPU 17A:抑止手段 17B,17D:優先手段 17C:設定手段 17E:中止手段 18:アドレスレジスタ 19:データレジスタ 20:アドレスバス 21:データバス 22:ヒット信号 23:ヒット番号保持用レジスタ 24:バッファメモリアドレス保持用レジスタ[Description of Signs] 1, 2: Processor 3, 4: Cache 5: Channel Device 6: Input / Output Device (I / O) 7: Common Bus 8: Memory 11: Main Memory Interface Controller 11A, 11B: Invalidation Unit 12: Monitoring directory 13: Address bus 14: Data bus 15: Directory memory (tag memory) 16: Buffer memory 17: MPU 17A: Suppression means 17B, 17D: Priority means 17C: Setting means 17E: Stop means 18: Address register 19: Data Register 20: Address bus 21: Data bus 22: Hit signal 23: Hit number holding register 24: Buffer memory address holding register

───────────────────────────────────────────────────── フロントページの続き (72)発明者 小田原 孝一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 金谷 英治 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭58−212694(JP,A) 特開 昭62−266634(JP,A) 特開 昭64−7144(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 G06F 15/16 320──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Koichi Odawara 1015 Ueodanaka Nakahara-ku, Kawasaki City, Kanagawa Prefecture Inside Fujitsu Limited (72) Inventor Eiji Kanaya 1015 Kamiodanaka Nakahara-ku Kawasaki-shi Kanagawa Prefecture Fujitsu Limited ( 56) References JP-A-58-212694 (JP, A) JP-A-62-266634 (JP, A) JP-A-64-7144 (JP, A) (58) Fields investigated (Int. Cl. 6 , (DB name) G06F 12/08 G06F 15/16 320

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】キャッシュを有するプロセッサを備え、共
通バスに接続されたメモリに該共通バスを介してアクセ
スを行う情報処理装置であって、 メモリリードのミスヒットにより前記メモリの所定領域
からブロックリードしている間、他のプロセッサのメモ
リアクセスを抑止する抑止手段と、 前記ブロックリード中に入出力装置からの前記所定領域
以外の領域に対するメモリアクセス要求があったとき、
該要求を優先させる優先手段と、 前記入出力装置からの前記メモリアクセス要求のメモリ
ライトアドレスが前記キャッシュにヒットしたときはア
ドレスセットされたデータを無効にする無効手段と、 を有することを特徴とする情報処理装置。
1. An information processing apparatus comprising a processor having a cache and accessing a memory connected to a common bus via the common bus, wherein a predetermined area of the memory is accessed by a memory read mishit. A deterrence means for deterring memory access of another processor during block reading from the memory; and the predetermined area from the input / output device during the block reading.
When there is a memory access request for an area other than
And characterized in that it has a priority means for giving priority to the request, and a disabling means for disabling the address set data when the memory write address of the memory access request from the output device is hit in the cache Information processing device.
【請求項2】キャッシュを有するプロセッサを備え、共
通バスに接続されたメモリに該共通バスを介してアクセ
スを行う情報処理装置であって、 前記キャッシュのタグライトのタイミングを前記メモリ
からのブロックリードの最初のワードのリード時に設定
する設定手段と、 メモリリードのミスヒットにより前記メモリからブロッ
クリードしている間、他のプロセッサまたは入出力装置
からのメモリアクセス要求があったとき、該要求を優先
させる優先手段と、 前記他のプロセッサまたは入出力装置からのメモリアク
セス要求のメモリライトアドレスが前記ブロックリード
中のキャッシュにヒットしたときはアドレスセットされ
たデータを無効にする無効手段と、 を有することを特徴とする情報処理装置。
2. An information processing apparatus comprising a processor having a cache and accessing a memory connected to a common bus via the common bus, wherein a timing of tag writing of the cache is read from the memory by a block read from the memory. Setting means for setting at the time of reading of the first word of a memory, and when a memory access request is received from another processor or an input / output device during block reading from the memory due to a memory read miss, the request is prioritized. Priority means for causing a memory access address of a memory access request from the other processor or the input / output device to hit the cache during the block read, and invalidating means for invalidating the address-set data. An information processing apparatus characterized by the above-mentioned.
【請求項3】前記アドレスセットされたデータを無効に
したときブロックリードの残りのワードのリードを中止
する中止手段を備え、 前記中止手段によるブロックリードの中止後、再び同じ
領域のブロックリードを行うことを特徴とする請求項2
記載の情報処理装置。
3. An apparatus according to claim 1, further comprising: a stop unit for stopping reading of the remaining words of the block read when the address-set data is invalidated. After the stop of the block read by the stop unit, the block read of the same area is performed again. 3. The method according to claim 2, wherein
An information processing apparatus according to claim 1.
JP3043279A 1991-03-08 1991-03-08 Information processing device Expired - Fee Related JP2825983B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3043279A JP2825983B2 (en) 1991-03-08 1991-03-08 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3043279A JP2825983B2 (en) 1991-03-08 1991-03-08 Information processing device

Publications (2)

Publication Number Publication Date
JPH04280346A JPH04280346A (en) 1992-10-06
JP2825983B2 true JP2825983B2 (en) 1998-11-18

Family

ID=12659370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3043279A Expired - Fee Related JP2825983B2 (en) 1991-03-08 1991-03-08 Information processing device

Country Status (1)

Country Link
JP (1) JP2825983B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4649257B2 (en) * 2005-04-04 2011-03-09 キヤノン株式会社 Multi CPU system
JP6398449B2 (en) * 2014-08-11 2018-10-03 大日本印刷株式会社 Electronic information recording medium, processor module operation control method, and processor module operation control program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504902A (en) * 1982-03-25 1985-03-12 At&T Bell Laboratories Cache arrangement for direct memory access block transfer
JPS62266634A (en) * 1986-05-14 1987-11-19 Yokogawa Electric Corp Access control circuit for cache memory
JPS647144A (en) * 1987-06-30 1989-01-11 Toshiba Corp Cache memory control system

Also Published As

Publication number Publication date
JPH04280346A (en) 1992-10-06

Similar Documents

Publication Publication Date Title
US5893153A (en) Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control
US5802576A (en) Speculative cache snoop during DMA line update
US5659709A (en) Write-back and snoop write-back buffer to prevent deadlock and to enhance performance in an in-order protocol multiprocessing bus
JP3180362B2 (en) Information processing device
JP2825983B2 (en) Information processing device
US5745707A (en) Bus control device for computer system having computer and DMA device
JP3013631B2 (en) Cache memory synchronization method
JPH0353657B2 (en)
KR940005769B1 (en) Multi-process system with cache memory
JP2976867B2 (en) I / O buffer device and management method thereof
JPH0695962A (en) Processor having parallel access bus
JP2677706B2 (en) Memory access control circuit
JP2854066B2 (en) Multiprocessor system
JPH06139206A (en) Exclusive control system of multiprocessor system
JP2001229074A (en) Memory controller and information processor and memory control chip
KR100286344B1 (en) Snooping cycle remove apparatus for cache
JP3729832B2 (en) Cache memory device
JPS62226348A (en) Main memory and concurrently main memory control device
JP3761890B2 (en) Cache memory device
JPS6215644A (en) Cache memory control circuit
JPH01196642A (en) Cache invalidation control system
JPH02307123A (en) Computer
JPH0512121A (en) Data processor
JPH11328013A (en) Memory controller
JPH01144151A (en) Information processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980818

LAPS Cancellation because of no payment of annual fees