Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2844679B2 - Access control method and information processing device - Google Patents
[go: Go Back, main page]

JP2844679B2 - Access control method and information processing device - Google Patents

Access control method and information processing device

Info

Publication number
JP2844679B2
JP2844679B2 JP1154939A JP15493989A JP2844679B2 JP 2844679 B2 JP2844679 B2 JP 2844679B2 JP 1154939 A JP1154939 A JP 1154939A JP 15493989 A JP15493989 A JP 15493989A JP 2844679 B2 JP2844679 B2 JP 2844679B2
Authority
JP
Japan
Prior art keywords
data
central processing
mcu
lock
req
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
JP1154939A
Other languages
Japanese (ja)
Other versions
JPH0319049A (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 JP1154939A priority Critical patent/JP2844679B2/en
Publication of JPH0319049A publication Critical patent/JPH0319049A/en
Application granted granted Critical
Publication of JP2844679B2 publication Critical patent/JP2844679B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 主記憶装置の一部のデータの写しを保持する緩衝記憶
装置を中央処理装置内に具備し、且つ、前記中央処理装
置を複数個有し、自中央処理装置が、他中央処理装置の
主記憶装置のある領域からのデータの取り出し及び格納
を禁止し、自中央処理装置が前記領域のデータにアクセ
スする情報処理装置に関し、 前記ロックアクセスを高速に行うことを目的とし、 自中央処理装置が、主記憶装置を制御する主記憶制御
部に対して、前記領域の他中央処理装置のアクセスを禁
止する指示を行い、前記領域のアドレスが、自中央処理
装置内の緩衝記憶装置に登録されていれば、前記指示を
行う以前の他中央処理装置の主記憶装置への格納により
主記憶装置と自中央処理装置内の緩衝記憶装置の前記領
域の内容の不一致が生じないことを確認できた時に、前
記緩衝記憶装置に前記データのアクセスを行う構成とす
る。
DETAILED DESCRIPTION OF THE INVENTION [Summary] The central processing unit includes a buffer storage device for holding a copy of a part of data in a main storage device, and has a plurality of the central processing devices. A device for prohibiting the retrieval and storage of data from a certain area of a main storage device of another central processing unit, and performing the lock access at high speed with respect to an information processing device in which the own central processing unit accesses data in the area. The own central processing unit issues an instruction to the main storage control unit that controls the main storage device to prohibit access to other central processing units in the area, and the address of the area is set to the own central processing unit. If it is registered in the buffer storage device in the main storage device, the contents of the area in the main storage device and the buffer storage device in the own central processing device do not match due to storage in the main storage device of the other central processing device before the instruction is issued. But When it is confirmed that the data does not occur, the data is accessed to the buffer storage device.

〔産業上の利用分野〕[Industrial applications]

複数の中央処理装置(以下、CPUと称す)を備える情
報処理装置に於いて、自CPUが主記憶装置(以下、MSUと
称す)のある領域の他CPUからの取り出し、又は格納を
ある一定期間禁止し、その間に該領域のデータを自CPU
が取り出す操作は、CPU間の排他制御の為に、しばしば
行われている。この操作をロックアクセスと呼ぶ。本発
明は前記ロックアクセスに関するものである。
In an information processing apparatus including a plurality of central processing units (hereinafter, referred to as CPUs), the own CPU takes a certain area of a main storage device (hereinafter, referred to as MSU) from another CPU or stores it in a certain period of time. Prohibit, meanwhile the data in the area
Is often performed for exclusive control between CPUs. This operation is called lock access. The present invention relates to the lock access.

〔従来の技術〕[Conventional technology]

前記ロックアクセスは、通常「TEST AND SET(テスト
アンドセット)命令」,「COMPARE AND SWAP(コンペア
アンドスワップ)命令」と一般に言われている命令で行
われている。
The lock access is usually performed by an instruction generally called a “TEST AND SET (test and set) instruction” or a “COMPARE AND SWAP (compare and swap) instruction”.

さて、近年のCPUは、殆どのものがMSUのデータを保持
する緩衝記憶装置、所謂キャッシュメモリ,ローカルバ
ッファストレージを保持している。
By the way, most CPUs in recent years have a buffer storage device for holding MSU data, a so-called cache memory, and a local buffer storage.

しかし、ロックアクセスの場合は、必ず最新のMSUの
データが必要とされるため、ロックしたい領域のデータ
がキャッシュにある場合でも、常にMSUからデータをと
っていた。
However, in the case of lock access, since the latest MSU data is always required, data is always taken from the MSU even if the data of the area to be locked is in the cache.

従来のロックアクセスの概略を説明する。 The outline of the conventional lock access will be described.

(1) CPU#0はロックすべきアドレスのデータがキ
ャッシュに有り無しに係わらず、主記憶制御装置(以
下、MCUと称す)に対して、前記アドレスのCPU#0から
の取り出し要求を送出する。
(1) Regardless of whether or not the data of the address to be locked exists in the cache, the CPU # 0 sends a request for fetching the address from the CPU # 0 to a main storage control device (hereinafter referred to as an MCU). .

(2) 前記要求を受け取ったMCUはロックすべきアド
レスがCPU#1によりロック中で無ければ、CPU#1によ
りロックを設定する。ロックすべきアドレスがCPU#1
によりロック中であれば、そのロックが解除されるまで
待たされる。ロックを設定した後、該アドレスのデータ
の取り出しをMSUに要求する。
(2) The MCU that has received the request sets the lock by the CPU # 1 unless the address to be locked is locked by the CPU # 1. The address to be locked is CPU # 1
If it is locked, the process waits until the lock is released. After setting the lock, the MSU is requested to retrieve the data at the address.

(3) 前記要求を受け取ったMSUは、前記アドレスの
データの取り出し、MCU経由でのCPU#0に送る。
(3) The MSU that has received the request extracts the data at the address and sends it to CPU # 0 via the MCU.

(4) 該データを受け取ったCPU#0は、必要の処理
を行った後、ロック解除の要求をMCUに出して、MCUはロ
ック解除を行う。
(4) After receiving the data, the CPU # 0 performs a necessary process, issues a lock release request to the MCU, and the MCU releases the lock.

以下、図面を参照して詳しく説明する。 Hereinafter, this will be described in detail with reference to the drawings.

第14図は、従来のマルチプロセッサシステムで構成さ
れる情報処理装置の構成図で、図中、10はCPU#0、11
はCPU#1、101は命令実行部(以下、IUと称す)、102
は緩衝記憶制御部(以下、SUと称す)、20はMCU、30はM
SUである。CPU#1はCPU#0と同様の構成である。第15
図はSUのIUリクエスト制御部、第16図はSUのプライオリ
ティ制御部、第17図はSUのキャッシュ制御部、第18図は
SUのMCUリクエスト制御部、第19図はMCUポート制御部、
第20図はMCUのリクエスト制御部、第8図はMCUのプライ
オリティ制御部、第10図はMCUムーブイン制御部であ
る。第13図は従来例を説明する為のタイムチャート図で
ある。タイムチャートの図の○で表される数字はτの動
作を示す。以下、,,・・・で1τ毎の動作を示
す。
FIG. 14 is a configuration diagram of an information processing apparatus composed of a conventional multiprocessor system.
Denotes an CPU # 1, 101 denotes an instruction execution unit (hereinafter, referred to as IU), 102
Is a buffer storage control unit (hereinafter referred to as SU), 20 is an MCU, and 30 is M
SU. CPU # 1 has the same configuration as CPU # 0. Fifteenth
The figure shows the IU request control unit of the SU, FIG. 16 shows the priority control unit of the SU, FIG. 17 shows the cache control unit of the SU, and FIG.
SU MCU request controller, Fig. 19 MCU port controller,
FIG. 20 shows a request control unit of the MCU, FIG. 8 shows a priority control unit of the MCU, and FIG. 10 shows an MCU move-in control unit. FIG. 13 is a time chart for explaining a conventional example. The number represented by a circle in the diagram of the time chart indicates the operation of τ. Hereafter, the operation for each 1τ is indicated by.

以下、図面を参照して、動作例を説明する。 Hereinafter, an operation example will be described with reference to the drawings.

ロックアクセス時に、IU101(第14図)は、A−FC
−REQとA−LOCKを同時にオンし、A−FC−ST−ADRSで
アドレスを、SU102に指定する。IU101からSU102への信
号で、A−FC−REQはフェッチ要求,A−ST−REQはストア
要求,A−LOCKはロック獲得要求、A−FC−ST−REQは上
記それぞれの要求のアドレス,A−ST−DATAはストア要求
のストアデータを表す。
At the time of lock access, IU101 (Fig. 14)
-REQ and A-LOCK are turned on at the same time, and the address is designated to SU102 by A-FC-ST-ADRS. A signal from IU 101 to SU 102, A-FC-REQ is a fetch request, A-ST-REQ is a store request, A-LOCK is a lock acquisition request, A-FC-ST-REQ is the address of each of the above requests, A -ST-DATA represents the store data of the store request.

IU101からの各要求をSU102が完了するとSTV信号をIU1
01に送り、該各要求がフェッチであった場合は、同時に
FC−DATAでフェッチデータをIU101に送る。またSU102
は、MCU20においてストア要求が完了していない場合
は、IU101にBUSY信号を送る。IU101は一つの要求をSU10
2に送ると、SUS102からSTV信号が送られてきて、且つBU
SY信号がオフになってからIU101は次の要求をSU102へ送
ることが出来る。
When SU102 completes each request from IU101, it issues an STV signal to IU1.
01, and if each request is a fetch,
The fetch data is sent to the IU 101 by FC-DATA. Also SU102
Sends a BUSY signal to the IU 101 when the store request is not completed in the MCU 20. IU101 makes one request SU10
2, the STV signal is sent from SUS102 and
After the SY signal is turned off, the IU 101 can send the next request to the SU 102.

さて、前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは
それぞれ、SU102のIUリクエスト制御部(第15図)に入
力される。
The A-FC-REQ, A-LOCK, and A-FC-ST-ADRS are each input to the IU request control unit (FIG. 15) of the SU 102.

1τ後、前記SU102のセットリセットラッチ31に前
記A−FC−REQによって、B−FC−REQがセットされる。
前記A−LOCK,A−FC−ST−ADRSも各々セットリセットラ
ッチ34,33にセットされ、B−LOCK,B−FC−ST−ADRSが
出力される。
After 1τ, B-FC-REQ is set in the set / reset latch 31 of the SU 102 by the A-FC-REQ.
The A-LOCK and A-FC-ST-ADRS are also set in the set / reset latches 34 and 33, respectively, and B-LOCK and B-FC-ST-ADRS are output.

前記B−FC−REQは、SU102のプライオリティ制御部
(第16図)に送られ、優先権がとれると、プライオリテ
ィ回路45からB−FC−GO信号が出力される。前記B−FC
−GOによって、SU102のプライオリティ制御部(第16
図)では、セレクタ47によって、B−FC−ST−ADRSが選
択され、B−CACHE−ADRSとして出力される。
The B-FC-REQ is sent to the priority control unit (FIG. 16) of the SU 102, and when the priority is taken, the B-FC-GO signal is output from the priority circuit 45. The B-FC
The GO controls the priority control unit of the SU102 (16th
In the figure, B-FC-ST-ADRS is selected by selector 47 and output as B-CACHE-ADRS.

前記B−FC−REQ,B−LOCK,B−FC−ST−ADRS,B−FC−G
O,B−CACHE−ADRSはそれぞれ、SU102のキャッシュ制御
部(第17図)に入力する。
B-FC-REQ, B-LOCK, B-FC-ST-ADRS, B-FC-G
Each of O, B-CACHE-ADRS is input to the cache control unit (FIG. 17) of the SU 102.

1τ後、B−FG−GOはレジスタ57にセットされ、C
−FCとして出力される。又、B−LOCKはレジスタ59にC
−LOCKとしてセットされる。
After 1τ, B-FG-GO is set in register 57,
Output as -FC. Also, B-LOCK stores C in register 59.
Set as -LOCK.

更に、前記C−FC,C−LOCKは、SU102のMCUリクエスト
制御部(第18図)に送られ、&回路66からC−FC−LOCK
が出力される。又、B−FC−ST−ADRSは、レジスタ63に
セットされ、C−FC−ST−ADRSが出力される。
Further, the C-FC and C-LOCK are sent to the MCU request control section (FIG. 18) of the SU 102, and the C-FC-LOCK is sent from the & circuit 66.
Is output. Also, B-FC-ST-ADRS is set in the register 63, and C-FC-ST-ADRS is output.

MCUリクエスト制御部(第18図)のレジスタ601から
MCU−REQが出力される。前記MCU−REQは、前記C−FC−
LOCKがオア回路68を経て出力される。又、MCU−REQ−CO
DEがレジスタ603が出力される。前記MCU−REQ−CODE
は、前記C−FC−LOCKがエンコーダ69でエンコードされ
て、レジスタ603にMCU20にリクエストする際のコードで
あるMCU−REQ−CODEをセットし、レジスタ603から出力
されるものである。前記MCU−REQ−CODEはロック獲得と
MSU30からのデータの要求を示している。
From register 601 of MCU request control unit (Fig. 18)
MCU-REQ is output. The MCU-REQ is based on the C-FC-
LOCK is output via the OR circuit 68. MCU-REQ-CO
DE is output to the register 603. The MCU-REQ-CODE
Is obtained by encoding the C-FC-LOCK by the encoder 69, setting an MCU-REQ-CODE which is a code for requesting the MCU 20 to the register 603, and outputting the code from the register 603. The MCU-REQ-CODE is used for lock acquisition and
This shows a data request from the MSU 30.

又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSはMCUポート制御部
(第19図)に出力される。
The MCU-REQ-ADRS is output from the register 604.
In the MCU-REQ-ADRS, the C-FC-ST-ADRS is set in the register 604 and output. The MCU-
REQ, MCU-REQ-CODE, and MCU-REQ-ADRS are output to the MCU port control unit (FIG. 19).

CPU#0からロック獲得要求を受けたMCUは、PORT0
−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レジ
スタ73から出力される。前記信号はそれぞれ、MCU−REQ
#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCUポ
ート制御部(第19図)に入力することで行われる。
The MCU receiving the lock acquisition request from CPU # 0 is PORT0
-REQ, PORT0-REQ-CODE is output from the register 71, the register 72, and the register 73. The signals are respectively MCU-REQ
# 0, MCU-REQ-CODE # 0, and MCU-REQ-ADRS # 0 are input to the MCU port control unit (FIG. 19).

前記PORT0−REQ−CODEはデコーダ75でデコードされ、
FC−LOCKをアンド回路77に出力する。
The PORT0-REQ-CODE is decoded by the decoder 75,
The FC-LOCK is output to the AND circuit 77.

MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、&回路83により、
PORT−LOCK−MCH信号が出力され、優先権は得られな
い。優先権は,PORT#1−LOCK−VALがオフになれば、PO
RT0−GOがMCUプライオリティ回路85から出力されること
によって得られる。
In the MCU priority circuit (FIG. 8), when the fetch, store, and lock of the same address as the lock address of CPU # 1 is performed, the comparison circuit 81 and the & circuit 83
The PORT-LOCK-MCH signal is output, and no priority is obtained. The priority is set to PO when PORT # 1-LOCK-VAL is turned off.
RT0-GO is obtained by being output from the MCU priority circuit 85.

前記PORT0−GOがMCUプライオリティ回路(第8図)
からMCUポート制御部(第19図)のアンド回路77に入力
され、レジスタ79から、PORT0−LOCK−VALとPORT0−LOC
K−ADRSがオンになり、PORT0−LOCK−ADRSで示されるア
ドレスがロック中であることが示される。
PORT0-GO is the MCU priority circuit (Fig. 8)
Is input to the AND circuit 77 of the MCU port control unit (FIG. 19), and from the register 79, PORT0-LOCK-VAL and PORT0-LOC
K-ADRS turns on, indicating that the address indicated by PORT0-LOCK-ADRS is locked.

MCUリクエスト制御部(第20図)に、前記PORT0−GO
信号が入力され、レジスタ906から、MSU−REQが出力さ
れ、又、セレクタ92により、PORT0−REQ−ADRSが選択さ
れ、レジスタ913からMSU−REQ−ADRSがセットされ、MSU
にMSU−REQ−ADRSで示されるアドレスにアクセスするこ
とを要求する。
In the MCU request control unit (Fig. 20), the PORT0-GO
A signal is input, MSU-REQ is output from the register 906, PORT0-REQ-ADRS is selected by the selector 92, MSU-REQ-ADRS is set from the register 913, and MSU-REQ is set.
To access the address indicated by MSU-REQ-ADRS.

MSU30は前記アドレスにアクセスし、データを読み
だす。
The MSU 30 accesses the address and reads data.

MSU30は、MCU20のMCUムーブイン制御部(第10図)
に、MCU−MI−REQ,MCU−MI−CPU−NO,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−REQは、ムーブイン
要求を示し、MCU−MI−CPU−NOは、ムーブインするCPU
を表す。ここではオフでCPU#0を、オンでCPU#1を示
す。MCU−MI−ADRSはムーブインするアドレスである。M
CU−MI−DATAはムーブインするデータである。
MSU30 is the MCU move-in control unit of MCU20 (Fig. 10)
MCU-MI-REQ, MCU-MI-CPU-NO, MCU-MI-ADRS, MC
U-MI-DATA is output. MCU-MI-REQ indicates a move-in request, and MCU-MI-CPU-NO indicates a CPU to be moved in.
Represents Here, CPU # 0 is shown when turned off, and CPU # 1 is shown when turned on. MCU-MI-ADRS is an address to move in. M
CU-MI-DATA is data to be moved in.

CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU−MI
−REQ−DATA#0が、レジスタ118,120,122から出力され
る。
CPU-MI-REQ # 0, CPU-MI-REQ-ADRS # 0, CPU-MI
-REQ-DATA # 0 is output from the registers 118, 120, 122.

前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第16図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
CPU-MI-REQ # 0, CPU-MI-REQ-ADRS # 0, CPU
-MI-REQ-DATA # 0 is a register 41, a register 42, and a register 42 of the priority control unit (FIG. 16) of the SU 102, respectively.
43 and output as B-MI-REQ, B-MI-ADRS, B-MI-DATA. When the priority is obtained by the priority circuit 45, B-MI-GO is output. The B-MI-
GO is input to the selector 47, and B-CACHE-ADRS
-MI-ADRS is selected.

又、SU102のキャッシュ制御部(第17図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
The selector 5 of the cache control unit (FIG. 17) of the SU 102
In 3, B-MI-DATA is selected by B-MI-GO.

キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
In the cache 54, B-MI-GO, B-MI-ADRS, B-CACH
E-ADRS is input and data moves in.

レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
B-MI-DATA and B-MI-GO are input to the registers 55 and 56.

前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
From the registers 55 and 56, C-MI-DATA and C-MI are output. According to the C-MI, the C-MI
-DATA is selected and set in the register 502.

C−MIはオア回路504,レジスタ505を経て、STVを出
力する。又、レジスタ502からはMSU30から読み取ったデ
ータである所のFC−DATAをIU101に送り、一連のロック
アクセスが終了する。
The C-MI outputs the STV via the OR circuit 504 and the register 505. Also, FC-DATA, which is the data read from the MSU 30, is sent from the register 502 to the IU 101, and a series of lock accesses is completed.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

以上、説明した様に、ロックアクセスの場合は、ロッ
クすべきデータがキャッシュにある場合でも、必ずMSU
からデータを取り出していた。それは、ロックを制御し
ているのはMCUであり、又、ロックすべきデータがキャ
ッシュにあるかどうかは、アドレスがキャッシュでヒッ
トしたかどうかで判断できるが、MCUがいつロックした
かをCPUが知る手段が無いため、仮に、キャッシュでヒ
ットしても、前記データを読みだすタイミングが判らな
いからである。
As described above, in the case of lock access, even if the data to be locked is in the cache,
Was extracting data from It is the MCU that controls the lock, and whether the data to be locked is in the cache can be determined by whether the address hits in the cache, but the CPU determines when the MCU has locked. This is because there is no means to know, and even if a hit occurs in the cache, the timing for reading the data is not known.

従って、必ずMCUでロックした後に、MSUからデータを
読み取り、CPUに前記データを転送していた。
Therefore, the data is always read from the MSU after being locked by the MCU, and the data is transferred to the CPU.

然し、MSUはキャッシュに比較して、アクセス時間が
かなり遅い。通常の情報処理装置では、数十τかかるた
め、処理速度の低下は否めない。
However, MSUs have significantly slower access times than caches. In an ordinary information processing apparatus, it takes several tens of τ, so that a reduction in processing speed cannot be denied.

よって、本発明の目的とする所は、上記課題を悉く解
決する手段を提供し、情報処理装置のロックアクセス時
の処理速度を低下させないことを目的とする。
Therefore, an object of the present invention is to provide a means for solving the above-mentioned problem altogether, and not to reduce the processing speed at the time of lock access of the information processing apparatus.

〔課題を解決する為の手段〕[Means for solving the problem]

第1図は本発明の原理説明図である。図中、10,11はC
PU,101はIU,54は緩衝記憶装置,所謂キャッシュメモリ,
3はロックアクセスアドレス保持手段、201はCPU10がMCU
20に対してロックアクセスを指示して、他CPU10からのM
SU30のある領域のデータ格納の禁止を行ったら、データ
格納禁止が指示されたことを伝える禁止報告手段であ
る。SUは540はSU制御部である。
FIG. 1 is a diagram illustrating the principle of the present invention. In the figure, 10 and 11 are C
PU, 101 is IU, 54 is buffer storage, so-called cache memory,
3 is a lock access address holding means, 201 is an MCU by the CPU 10
Instruct lock access to 20 and M from other CPU 10
This is a prohibition reporting unit that notifies that data storage prohibition has been instructed when data storage in a certain area of the SU 30 is prohibited. SU 540 is an SU control unit.

複数のCPU10,11がMSU30を共用して使用し且つ、前記C
PU10,11がMSU30の一部のデータの写しを保持し、送出さ
れてきたアドレスにデータ格納又は前記アドレスからデ
ータの読み出しを行う緩衝記憶装置54をCPU10,11内に具
備し、自CPU10が他CPU11のMSU30のある領域からのデー
タの取り出し及び格納を一定期間禁止するロックアクセ
スをMCU20に指示する情報処理装置に関し、CPU10がMCU2
0に対して、ロックアクセスを指示して、他CPU11からの
MSU30のある領域のデータ格納の禁止を行ったら、デー
タ格納禁止が指示されたことを伝える禁止報告手段201
と、自CPU10内に位置し、前記一定期間内に前記領域の
データが、自CPU10内の緩衝記憶装置54に登録されてい
れば、前記ロックアクセスを行うアドレスを保持し、前
記禁止報告手段201により報告があったら、前記保持し
ているアドレスのデータを緩衝記憶装置54に送出するこ
とロックアクセスアドレス保持手段3を有する構成とす
る。
A plurality of CPUs 10 and 11 share and use the MSU 30, and the C
Each of the PUs 10 and 11 has a buffer storage device 54 in the CPUs 10 and 11 for holding a copy of a part of the data of the MSU 30 and storing data at the transmitted address or reading data from the address. Regarding an information processing apparatus that instructs the MCU 20 to perform a lock access for prohibiting the retrieval and storage of data from a certain area of the MSU 30 of the CPU 11 for a certain period, the CPU 10
0, instruct lock access, and
When data storage in a certain area of the MSU 30 is prohibited, the prohibition reporting unit 201 that notifies that data storage prohibition has been instructed.
If the data of the area is located in the own CPU 10 and is registered in the buffer storage device 54 in the own CPU 10 within the certain period, the address for performing the lock access is held, and the prohibition reporting unit 201 The lock access address holding means 3 is configured to send the data of the held address to the buffer storage device 54 when a report is received from the server.

〔作用〕[Action]

ロックアクセスするアドレスのデータが緩衝記憶装置
54にあれば、前記アドレスをロックアドレス保持手段3
に保持する。その後、MCU20で前記アドレスがロックさ
れたら、禁止報告手段201は前記ロックアドレス保持手
段3に報告する。前記ロックアドレス保持手段3は保持
しているアドレスを緩衝記憶装置54に送出し、前記デー
タがあれば、アクセスされる。従って、MSU30から読み
だすより高速に、ロックアクセス時のアクセスが高速に
行える。
The data of the address to be locked is stored in the buffer memory.
54, the address is stored in the lock address holding means 3
To hold. Thereafter, when the address is locked by the MCU 20, the prohibition reporting unit 201 reports to the lock address holding unit 3. The lock address holding means 3 sends the held address to the buffer memory 54, and if there is the data, it is accessed. Accordingly, access at the time of lock access can be performed at a higher speed than reading from the MSU 30.

〔実施例〕〔Example〕

ロックすべきデータは、一般的にロックする命令の以
前の命令により取り出されている場合が多い。又、前記
データは、その近辺で、他CPUに書き換えられている場
合は非常に少ない。この点に注目し、本発明ではロック
すべきデータがキャッシュにある場合に、MCUにロック
要求のみ送出し、キャッシュにある該データをMSUにあ
る前記データに相当するデータ同一であることの確認を
取った後に、キャッシュの該データを使用することによ
り、ロックアクセスの高速化をはかる。第2図は、本発
明の一実施例のブロック図である。番号は、従来例と同
様である。第3図はSUのIUリクエスト制御部、第4図は
SUのプライオリテイ制御部、第5図はSUのキャッシュ制
御部、第6図はSUのMCUリクエスト制御部、第7図はMCU
のポート制御部、第8図はMCUのプライオリテイ制御
部、第9図はMCUのリクエスト制御部、第10図はMCUのム
ーブイン制御部、第11図,第12図,第13図は実施例の動
作を説明するタイムチャート図である。
The data to be locked is often fetched by an instruction before the locking instruction. In addition, the data is very few when it is rewritten by another CPU in the vicinity. Focusing on this point, in the present invention, when the data to be locked is in the cache, only the lock request is sent to the MCU, and it is confirmed that the data in the cache is the same as the data corresponding to the data in the MSU. After taking, the lock access is speeded up by using the data in the cache. FIG. 2 is a block diagram of one embodiment of the present invention. The numbers are the same as in the conventional example. FIG. 3 shows the IU request control unit of the SU, and FIG.
SU priority control unit, FIG. 5 is SU cache control unit, FIG. 6 is SU MCU request control unit, FIG. 7 is MCU
8 is a priority control unit of the MCU, FIG. 9 is a request control unit of the MCU, FIG. 10 is a move-in control unit of the MCU, FIG. 11, FIG. 12, and FIG. FIG. 6 is a time chart illustrating the operation of FIG.

実施例に於けるロックアクセスの概略をまず説明す
る。
The outline of the lock access in the embodiment will be described first.

(1) CPUはロックすべきアクセスでキャッシュを引
き、キャッシュに無い場合は、従来の技術と同じように
動作する。キャッシュにある場合は、MCU20に対して、
前記アドレスのデータを他のCPU#0からアクセスを禁
止するロック要求をMCUに出力する。
(1) The CPU draws the cache for the access to be locked, and if the cache does not exist, it operates in the same manner as the conventional technology. If it is in the cache,
A lock request for prohibiting access of the data at the address from another CPU # 0 is output to the MCU.

(2) 前記要求を受け取ったMCU20は、ロックすべき
アドレスがCPU#1によりロック中でなければ、CPU#0
によるロックを設定する。ロックすべき同じアドレスが
CPU#1によりロック中であれば、そのロックが解除さ
れるまで待たされる。
(2) The MCU 20 that has received the request, if the address to be locked is not locked by the CPU # 1, the CPU # 0
Set lock by. The same address to lock
If it is locked by CPU # 1, it waits until the lock is released.

(3) MCUは、各CPU内のキャッシュとMSUの内容の不
一致を防ぐ為に、ある一つのCPUからのストア要求のプ
ライオリテイを取ったら、前記CPU以外の全てのCPUに、
各CPU内のキャッシュに前記アドレスのデータがあれ
ば、それらを無効化する要求(以下、BI要求と称す)を
送出する。本実施例の場合は、上記動作以外に、前記CP
Uによるロックを設定したら、そのロックを設定する以
前にプライオリテイを取られた他CPUのストア要求のBI
要求の後に、ロックが設定されたという確認信号を、前
記BI要求をCPUに送出するバスを用いて前記CPUに送出す
る。
(3) In order to prevent inconsistency between the cache in each CPU and the contents of the MSU, the MCU gives priority to store requests from one CPU,
If there is the data of the address in the cache in each CPU, a request to invalidate the data (hereinafter, referred to as BI request) is transmitted. In the case of the present embodiment, in addition to the above operation, the CP
After setting the lock by U, BI of store requests of other CPUs that were prioritized before setting the lock
After the request, a confirmation signal that the lock has been set is sent to the CPU using the bus that sends the BI request to the CPU.

(4) CPUは、前述したMCUから送られてくるBI要求を
BI−スタックにスタッキングし、MCUから送られてきた
順番に従い、キャッシュにBI要求のアドレスのデータが
あるかないか調べ、あった場合は無効化を行う。
(4) The CPU sends the BI request sent from the MCU described above.
It stacks on the BI-stack, checks if there is data of the address of the BI request in the cache according to the order sent from the MCU, and if so, invalidates it.

本実施例では、MCUからのロック確認信号以前に送ら
れてきた全てのBI要求を処理した後に、再度、前記ロッ
クアクセスのアドレスでキャッシュを引き、未だキャッ
シュ上に前記アドレスがあれば、そのデータは、MSUの
内容と同じであることが保証される為、そのデータをロ
ックの結果として得られる。
In this embodiment, after processing all the BI requests sent before the lock confirmation signal from the MCU, the cache is retrieved again with the lock access address, and if the address is still on the cache, the data is Is guaranteed to be the same as the contents of the MSU, so the data is obtained as a result of locking.

(5) (4)でキャッシュ上に前記アドレスのデータ
が無い場合は、ロックを設定する前に、他のCPUにより
前記アドレスのデータが書き換えられて、MCUより前記
アドレスのBI要求が送出されて、CPUのキャッシュが無
効化された場合である。この場合は、MCUでロックは獲
得されているので、前記CPUは前記アドレスの取り出し
要求をMCUへ送出し、MCUはMSUへ取り出し要求を伝え、M
SUからのデータがMCUを経由してCPUへ送られ、前記CPU
に於いて前記アドレスのデータが得られる。
(5) If there is no data of the address in the cache in (4), before setting the lock, the data of the address is rewritten by another CPU, and a BI request for the address is sent from the MCU. In this case, the cache of the CPU is invalidated. In this case, since the lock has been acquired by the MCU, the CPU sends a request to fetch the address to the MCU.
Data from the SU is sent to the CPU via the MCU, and the CPU
The data at the address is obtained in the step (1).

(6) 前記データが得られたCPUは必要な処理を行っ
た後、ロック解除の要求をMCUへ送出し、MCUはロックの
解除を行う。
(6) After performing the necessary processing, the CPU that has obtained the data sends a lock release request to the MCU, and the MCU releases the lock.

以上、概略を説明した。以下、図面に従って、本発明
の一実施例を詳細に説明する。
The outline has been described above. Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

第2図で示すように、本実施例のマルチプロセッサシ
ステムはCPU2台、MCU1台、MSU1台から構成される。CPU
#0,CPU#1はIU101とSU102から構成される。
As shown in FIG. 2, the multiprocessor system of the present embodiment includes two CPUs, one MCU, and one MSU. CPU
# 0, CPU # 1 is composed of IU101 and SU102.

IU101は命令の実行に際して、必要な命令フェッチデ
ータ、オペランドデータをSU102に要求する。IU101から
SU102への信号で、A−FC−REQはロック獲得要求、A−
FC−ST−REQは上記夫々の要求のアドレス,A−ST−DATA
はストア要求のストアデータを表す。IU101からの各要
求をSU102が処理が完了するとSTV信号をIU101に送り、
前記要求がフェッチであった場合は、同時にFC−DATAで
フェッチデータをIU101に送る。又SU102はMCU20に於い
て、ストア要求が完了していない場合は、IU101にBUSY
信号を送る。IU101は一つの要求をSU102に送ると、SU10
2からSTV信号が送られてきて、且つBUSY信号がオフにな
ってから、IU101は次の要求をSU102へ送ることが出来
る。
When executing an instruction, the IU 101 requests the SU 102 for necessary instruction fetch data and operand data. From IU101
A-FC-REQ is a lock acquisition request and A-FC-REQ is a signal to SU102.
FC-ST-REQ is the address of each of the above requests, A-ST-DATA
Represents the store data of the store request. When SU102 completes processing each request from IU101, it sends an STV signal to IU101,
If the request is a fetch, the fetch data is sent to the IU 101 by FC-DATA at the same time. If the store request is not completed in the MCU 20, the SU 102 sends the BUSY to the IU 101.
Send a signal. When IU101 sends one request to SU102, SU10
After the STV signal is sent from 2 and the BUSY signal is turned off, the IU 101 can send the next request to the SU 102.

〔1〕ロックすべきデータがキャッシュにあり、ロック
獲得後、無効化されていない場合の動作を説明する。前
記無効化とは、他のBI命令により、ロックする迄に、キ
ャッシュ内のデータが無効化されてしまうことを言う。
[1] The operation when the data to be locked is in the cache and the lock is not invalidated after the lock is acquired will be described. The invalidation means that data in the cache is invalidated by another BI instruction before locking.

(第11図タイムチャート) IU101から、前記A−FC−REQ,A−LOCK(ロック要求で
あることを示す),A−FC−ST−ADRS(アドレスを示す)
がSU102に出力される。
(Figure 11 time chart) From IU101, A-FC-REQ, A-LOCK (indicating lock request), A-FC-ST-ADRS (indicating address)
Is output to SU102.

前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは、SU102
のIUリクエスト制御部(第3図)に出力される。
The A-FC-REQ, A-LOCK, A-FC-ST-ADRS are SU102
Is output to the IU request control unit (FIG. 3).

(第11図タイムチャート) SU101のIUリクエスト制御部のセットリセットラッチ3
1に、オア回路36を通じて、前記A−FC−REQがセットさ
れ、B−FC−REQが出力される。
(Figure 11 time chart) Set reset latch 3 of IU request control unit of SU101
The A-FC-REQ is set to 1 through the OR circuit 36, and the B-FC-REQ is output.

またアンド回路304(第3図のIUリクエスト制御部)
にA−FC−REQ,A−LOCKが入力され、セットリセットラ
ッチ34からB−LOCKが出力される。
And circuit 304 (IU request control unit in FIG. 3)
A-FC-REQ and A-LOCK are input to the, and B-LOCK is output from the set / reset latch 34.

又、セレクタ39を会して、セットリセットラッチ33に
A−FC−ST−ADRSがセットされ、B−FC−ST−ADRSが出
力される。前記セットはA−FC−REQによってなされ
る。
Further, the selector 39 meets the selector 39, A-FC-ST-ADRS is set in the set / reset latch 33, and B-FC-ST-ADRS is output. The set is made by A-FC-REQ.

更に、SU102のプライオリテイ制御部(第4図)のプ
ライオリテイ回路45にB−FC−REQが入力され、プライ
オリテイがとれるとB−FC−GOが出力される。プライオ
リテイ45は、キャッシュに対する複数の要求からある決
められた優先順位に従い1つの要求の処理を許可するも
のてある。
Further, B-FC-REQ is input to the priority circuit 45 of the priority control unit (FIG. 4) of the SU 102, and when priority is obtained, B-FC-GO is output. The priority 45 permits processing of one request according to a predetermined priority from a plurality of requests for the cache.

キャッシュに対する複数の要求は、この例では、キャ
ッシュへのMSUからのデータの書き込み(ムーブイン)
のB−MI−REQ、キャッシュへの無効化要求のB−BI−R
EQ、命令のストアによるキャッシュの書き込みのB−ST
−REQ、キャッシュからの読み出しのB−FC−REQの四つ
の要求がある。
Multiple requests to the cache, in this example, write data from the MSU to the cache (move-in)
B-MI-REQ, B-BI-R of invalidation request to cache
EQ, B-ST of cache write by instruction store
There are four requests: -REQ, B-FC-REQ for reading from the cache.

前記のB−FC−GO信号により、セレクタ47では、B−
CACHE−ADRSとしてB−FC−ST−ADRSが選択される。
又、B−FC−GOにより、SU102のIUリクエスト制御部
(第3図)のセットリセットラッチ31,34にセットされ
ているB−FC−REQ,B−LOCKがリセットされる。
By the B-FC-GO signal, the selector 47 outputs the B-FC-GO signal.
B-FC-ST-ADRS is selected as CACHE-ADRS.
The B-FC-GO resets the B-FC-REQ and B-LOCK set in the set / reset latches 31 and 34 of the IU request control unit (FIG. 3) of the SU 102.

SU102のキャッシュ制御部(第5図)では、B−FC
−GO、B−CACHE−ADRSによりキャッシュをアクセスす
る。
In the cache control unit of SU102 (Fig. 5), B-FC
-GO, B-CACHE-Access the cache by ADRS.

キャッシュがヒットすれば、キャッシュ54からC−CA
CHE−HITが出力される。又、レジスタ57よりB−FC−GO
によりC−FC、レジスタ59よりB−LOCKにより、C−LO
CKが出力される。しかし、C−LOCKがオンである為、キ
ャッシュ制御部(第5図)のレジスタ505からSTVがオン
されることは無い。
If the cache hits, C-CA from cache 54
CHE-HIT is output. In addition, B-FC-GO
C-FC from register 59, B-LOCK from register 59, C-LO
CK is output. However, since the C-LOCK is on, the STV is not turned on from the register 505 of the cache control unit (FIG. 5).

一方、前記C−FC、C−CACHE−HIT、C−LOCKはSU10
2のMSUリクエスト制御部(第6図)に入力し、アンド回
路67からC−GET−LOCKが出力される。
On the other hand, C-FC, C-CACHE-HIT and C-LOCK are SU10
The C-GET-LOCK is output from the AND circuit 67 to the second MSU request control unit (FIG. 6).

前記C−FC−ST−ADRSはSU102のIUリクエスト制御
部(第3図)のレジスタ303に、C−GET−LOCKにより、
A−FC−ST−ADRS2として保持される。又、レジスタ301
により、C−GET−LOCKがA−FC−REQ2としてセットさ
れる。
The C-FC-ST-ADRS is stored in a register 303 of the IU request control unit (FIG. 3) of the SU 102 by C-GET-LOCK.
It is held as A-FC-ST-ADRS2. Also, register 301
As a result, C-GET-LOCK is set as A-FC-REQ2.

SU102のMSUリクエスト制御部(第6図)では、C−GE
T−LOCKがエンコーダ69により、エンコードされ、レジ
スタ603に、その要求種類を表すMCU−REQ−CODEがロッ
ク獲得のみ(GET−LOCK)のコードを示す。又、レジス
タ604のMCU−REQ−ADRSでMCUへの要求アドレスを示す。
In the MSU request control unit of SU102 (Fig. 6), C-GE
The T-LOCK is encoded by the encoder 69, and an MCU-REQ-CODE indicating the request type indicates a code indicating only lock acquisition (GET-LOCK) in the register 603. Also, the MCU-REQ-ADRS of the register 604 indicates a request address to the MCU.

CPU#1からのロック獲得要求MCU−REQ,MCU−REQ−
CODE,MCU−REQ−ADRSは、MCU20のポート制御部(第7
図)に送られ、セットリセットラッチ71,72,73にそれぞ
れPORT0−REQ,PORT0−REQ−CODE(GET−LOCK),PORT0−
REQ−ADRSとしてセットされる。前記PORT0−REQ−CODE
はデコーダ75により、GET−LOCK信号としてデコードさ
れる。前記信号はオア回路76に入力される。
Lock acquisition request MCU-REQ, MCU-REQ- from CPU # 1
CODE, MCU-REQ-ADRS is a port control unit of MCU 20 (7th
PORT0-REQ, PORT0-REQ-CODE (GET-LOCK), PORT0-REQ
Set as REQ-ADRS. The PORT0-REQ-CODE
Is decoded by the decoder 75 as a GET-LOCK signal. The signal is input to the OR circuit 76.

PORT0−GO信号がアンド回路77(第7図)に入力さ
れ、セットリセットラッチ74にPORT0−LOCK−VALがオン
になる。そのアドレスがPORT0−LOCK−ADRS(セットリ
セットラッチ704)に保持される。
The PORT0-GO signal is input to the AND circuit 77 (FIG. 7), and the PORT0-LOCK-VAL is turned on in the set / reset latch 74. The address is held in PORT0-LOCK-ADRS (set / reset latch 704).

この時、MCUプライオリテイ回路85(第8図MCUプライ
オリテイ制御部)CPU#1のロックアドレスと同じアド
レスのフエッチ,ストア,ロックを行おうとすると、比
較器81により、PORT1−LOCK−MCH信号がオンであるので
PORT1−GOはオンに成らない。PORT1−GOはPORT0−LOCK
−VALがオフになる迄待たされる。前記MCUプライオリテ
イ制御部(第8図)の動作は、従来の技術と同様であ
る。
At this time, if an attempt is made to fetch, store, or lock the same address as the lock address of the MCU priority circuit 85 (MCU priority control unit in FIG. 8) CPU # 1, the comparator 81 outputs the PORT1-LOCK-MCH signal. Because it ’s on
PORT1-GO does not turn on. PORT1-GO is PORT0-LOCK
Wait until -VAL turns off. The operation of the MCU priority control section (FIG. 8) is the same as in the prior art.

一方、MCU20のリクエスト制御部(第9図)では、前
記PORT0−REQ−CODE(GET−LOCK)とPORT0−GOによっ
て、セレクタ91とデコーダ94によりGET−LOCK信号か出
力され、CPU−BI−REQ#0,CPU−BI−TAG#0が、レジス
タ910,レジスタ911から夫々出力される。従って、CPU#
0にロックが獲得出来たことが知らせられる。
On the other hand, in the request control unit (FIG. 9) of the MCU 20, the selector 91 and the decoder 94 output the GET-LOCK signal by the PORT0-REQ-CODE (GET-LOCK) and PORT0-GO, and the CPU-BI-REQ # 0 and CPU-BI-TAG # 0 are output from the registers 910 and 911, respectively. Therefore, CPU #
0 is notified that the lock has been acquired.

MCU20からのBI要求は、CPU#1内のBIスタック44
(第4図,SUのプライオリテイ制御部)にスタッキング
されている。
The BI request from the MCU 20 is sent to the BI stack 44 in CPU # 1.
(FIG. 4, priority control unit of SU).

このBIスタック44は、複数のBI要求をスタッキング出
来、1つ以上スタッキングされている時に、キャッシュ
へのBI要求をプライオリテイ回路45に伝えるB−BI−RE
Qをオンにする。更に、スタックされているBI要求の内
一番古い要求のBI−TAGの値とBI−ADRSの値をそれぞれ
B−BI−TAG、B−BI−ADRSに出力する。BIのプライオ
リテイが取れたことを示すB−BI−GOがオンになると、
次のサイクルでは、その次に古いBI要求の値を出力する
様に動作する。ここでは、前記BIスタック44にスタック
されていたBIリクエストの処理を行う。
The BI stack 44 can stack a plurality of BI requests, and when one or more BI requests are stacked, transmits a BI request to the cache to the priority circuit 45.
Turn Q on. Further, it outputs the BI-TAG value and BI-ADRS value of the oldest request among the stacked BI requests to B-BI-TAG and B-BI-ADRS, respectively. When B-BI-GO, which indicates that BI has taken priority, turns on,
In the next cycle, it operates to output the value of the next oldest BI request. Here, the BI request stacked on the BI stack 44 is processed.

BIスタック44にスタッキングされていたロック獲得
前のBI要求を処理した後、B−BI−REQとB−BI−TAGが
同時にオンになり、プライオリテイ回路45に入力され、
プライオリテイ回路45でプライオリテイがとれると(取
れたとする)B−BI−GOがオンになる。
After processing the BI request before lock acquisition stacked in the BI stack 44, B-BI-REQ and B-BI-TAG are turned on at the same time and input to the priority circuit 45,
When the priority is obtained by the priority circuit 45 (assuming that the priority is obtained), the B-BI-GO is turned on.

前記B−BI−GOとB−BI−TAGはレジスタ46,48でC
−BIとC−BI−TAGがオンになる。
The B-BI-GO and B-BI-TAG are stored in registers 46 and 48 at C
-BI and C-BI-TAG are turned on.

前記C−BIとC−BI−TAGはSU102のIUリクエスト制
御部(第3図)のアンド回路302に入力され、セットリ
セットラッチ301に保持されているA−FC−REQ2をアン
ド回路38を介し、オア回路36を通じ、セットリセットラ
ッチ31でB−FC−REQがオンになる。更に、セレクタ39
で、レジスタ303にセットされていたA−FC−ST−ADRS2
が前記アンド回路302により選択されて、レジスタ33に
よって、B−FC−ST−ADRSに再びセットされる。即ち、
でヒットした時のキャッシュアドレスで再びキャッシ
ュを引く。
The C-BI and the C-BI-TAG are input to the AND circuit 302 of the IU request control unit (FIG. 3) of the SU 102, and the A-FC-REQ2 held in the set / reset latch 301 is passed through the AND circuit 38. , B-FC-REQ is turned on by the set / reset latch 31 through the OR circuit 36. Furthermore, selector 39
A-FC-ST-ADRS2 set in the register 303
Is selected by the AND circuit 302, and is set again to B-FC-ST-ADRS by the register 33. That is,
Draw the cache again with the cache address at the time of hit.

一方、SU102のプライオリテイ制御部(第4図)で
は、前記B−FC−REQとB−FC−ST−ADRSが入力し、前
記B−FC−REQは、プライオリテイ回路45に入力され、
B−FC−GOが出力され、B−FC−ST−ADRSが、B−CACH
E−ADRSとして選択される。
On the other hand, in the priority control unit (FIG. 4) of the SU 102, the B-FC-REQ and the B-FC-ST-ADRS are input, and the B-FC-REQ is input to the priority circuit 45,
B-FC-GO is output and B-FC-ST-ADRS outputs B-CACH
Selected as E-ADRS.

前記B−CACHE−ADRSは、SU102キャッシュ制御部
(第5図)のキャッシュ54に入力され、前記B−CACHE
−ADRSで示されるアドレスのデータがあれば、C−CACH
E−HIT信号が出力され、データとしてC−CACHE−DATA
がでる。又、前記B−FC−GO信号が、レジスタ57にセッ
トされ、C−FCとして出力される。
The B-CACHE-ADRS is input to the cache 54 of the SU 102 cache control unit (FIG. 5),
-If there is data at the address indicated by ADRS, C-CACH
An E-HIT signal is output, and C-CACHE-DATA
Comes out. The B-FC-GO signal is set in the register 57 and output as C-FC.

前記C−CACHE−HITとC−FCは、アンド回路503に
入力され、C−LOCKは出力されていないので、レジスタ
505からSTVが出力される。又、前記C−CACHE−DATA
が、セレクタ501により選択されて、レジスタ502からFC
−DATAとして、IU101に送られて、一連のロック・アク
セス処理が完了する。
Since the C-CACHE-HIT and C-FC are input to the AND circuit 503 and C-LOCK is not output,
STV is output from 505. Also, the C-CACHE-DATA
Is selected by the selector 501 and the FC
The data is sent to the IU 101 as -DATA, and a series of lock access processing is completed.

〔2〕次に、ロックすべきデータがキャッシュにあった
もののロック獲得語、BIされていまっていたのでMSU30
からムーブインする場合を説明する。〔1〕とまで動
作は同じである。ロック獲得前のBI要求を処理した後、
ロックアクセスのアドレスでキャッシュに際フェッチし
た時に、キャッシュにヒットせずC−CACHE−HITがオフ
であることから異なる。
[2] Next, although the data to be locked was in the cache, the lock acquisition word was BI-ed, so MSU30
The case where a move-in operation is performed from is described. The operation is the same up to [1]. After processing the BI request before acquiring the lock,
When the cache is fetched at the address of the lock access, the cache is not hit and the C-CACHE-HIT is off.

以下、第12図タイムチャートを用いて説明する。 Hereinafter, description will be made with reference to the time chart of FIG.

前記B−CACHE−ADRSは、SU102キャッシュ制御部
(第5図)のキャッシュ54に入力され、前記B−CACHE
−ADRSで示されるアドレスのデータが無く、C−CACHE
−HITがオフとなる。前記B−FC−GO信号が、レジスタ5
7にセットされ、C−FCとして出力される。SU102のMCU
リクエスト制御部(第9図)では、C−FCがアンド回路
65に入力され、C−CHCHE−HIT、C−LOCKがオフである
ので、C−FC−ONLYがオンとなる。又,SUのIUリクエス
ト制御部(第3図)のレジスタ33にセットされているB
−FC−ST−ADRSが、SU102のMCUリクエスト制御部(第6
図)のレジスタ63にセットされて、C−FC−ST−ADRSが
出力される。
The B-CACHE-ADRS is input to the cache 54 of the SU 102 cache control unit (FIG. 5),
-There is no data at the address indicated by ADRS, and C-CACHE
-HIT is turned off. The B-FC-GO signal is output from the register 5
Set to 7 and output as C-FC. SU102 MCU
In the request controller (Fig. 9), the C-FC
C-CH-HIT and C-LOCK are off, so C-FC-ONLY is on. In addition, B set in the register 33 of the IU request control unit (FIG. 3) of the SU
-FC-ST-ADRS is the MCU request control unit of SU102 (6th
C-FC-ST-ADRS is set in the register 63 of FIG.

MCUリクエスト制御部(第6図)のレジスタ601から、
MCU−REQが出力される。前記MCU−REQは、前記C−FC−
ONLYがオア回路68を経て出力される。又、MCU−REQ−CO
DEがレジスタ603が出力される。前記MCU−REQ−CODE
は、前記C−FC−ONLYがエンコーダ69でエンコードされ
て、レジスタ603にMCU20にリクエストする際のコードで
あるMCU−REQ−CODEをセットし、レジスタ603から出力
されるものである。前記MCU−REQ−CODEはMSU30からの
データの要求を示している。
From the register 601 of the MCU request control unit (Fig. 6),
MCU-REQ is output. The MCU-REQ is based on the C-FC-
ONLY is output via the OR circuit 68. MCU-REQ-CO
DE is output to the register 603. The MCU-REQ-CODE
Is obtained by encoding the C-FC-ONLY by the encoder 69, setting an MCU-REQ-CODE which is a code for requesting the MCU 20 to the register 603, and outputting the code from the register 603. The MCU-REQ-CODE indicates a request for data from the MSU 30.

又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSは、MCUポート制御
部(第7図)に出力される。
The MCU-REQ-ADRS is output from the register 604.
In the MCU-REQ-ADRS, the C-FC-ST-ADRS is set in the register 604 and output. The MCU-
REQ, MCU-REQ-CODE, and MCU-REQ-ADRS are output to the MCU port control unit (FIG. 7).

CPU#0からロック獲得要求を受けたMCU20は、PORT
0−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レ
ジスタ73から出力される。前記信号はそれぞれ、MCU−R
EQ#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCU
ポート制御部(第7図)に入力することで行われる。
MCU 20 receiving the lock acquisition request from CPU # 0
0-REQ and PORT0-REQ-CODE are output from the register 71, the register 72, and the register 73. The signals are respectively MCU-R
EQ # 0, MCU-REQ-CODE # 0, MCU-REQ-ADRS # 0
This is performed by inputting to the port control unit (FIG. 7).

MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、アンド回路83によ
り、PORT0−LOCK−MCH信号が出力され、優先権は得られ
ない。優先権は,PORT#1−LOCK−VALがオフになれば、
PORT0−GOがMCUプライオリティ回路85から出力されるこ
とによって得られる。
In the MCU priority circuit (FIG. 8), when fetching, storing, and locking the same address as the lock address of CPU # 1, the PORT0-LOCK-MCH signal is output by the comparison circuit 81 and the AND circuit 83. There is no priority. The priority is, if PORT # 1-LOCK-VAL is turned off,
PORT0-GO is obtained by being output from the MCU priority circuit 85.

MCUリクエスト制御部(第9図)に、前記PORT0−GOと
PORT0−REQ−CODEが入力されると、レジスタ906から、M
SU−REQが出力され、レジスタ907のMSU−REQ−CODEがオ
フ(オフでフェッチ,オンでストアの意味),レジスタ
908のMSU−REQ−CPU−NOがオフ(オフの時はCPU#0の
要求,オンの時はCPU#1)になる。又、セレクタ92に
より、PORT−REQ−ADRSが選択され、レジスタ913にMSU
−REQ−ADRSがセットされ、MSU40にMSU−REQ−ADRSで示
されるアドレスにアクセスすることを要求する。
The PORT0-GO is added to the MCU request control unit (Fig. 9).
When PORT0-REQ-CODE is input, M
SU-REQ is output, MSU-REQ-CODE in register 907 is off (fetch off when off, store when on), register
The MSU-REQ-CPU-NO at 908 is turned off (a request from the CPU # 0 when it is off, and a CPU # 1 when it is on). Also, PORT-REQ-ADRS is selected by the selector 92, and the MSU is
-REQ-ADRS is set, requesting MSU 40 to access the address indicated by MSU-REQ-ADRS.

要求を受け取ったMSU30は、前記アドレスのデータ
を読み出した後、MCU20のMCUムーブイン制御部(第10
図)に、MCU−MI−REQ,MCU−MI−CPU,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−REQは、ムーブイン
要求を示し、MCU−MI−CPU−NOは、ムーブインするCPU
を表す。ここではオフでCPU#0を、オンでCPU#1を示
す。MCU−MI−ADRSはムーブインするアドレスである。M
CU−MI−DATAはムーブインするデータである。
After receiving the request, the MSU 30 reads out the data at the address, and then moves to the MCU move-in control unit (the tenth
Figure) shows MCU-MI-REQ, MCU-MI-CPU, MCU-MI-ADRS, MC
U-MI-DATA is output. MCU-MI-REQ indicates a move-in request, and MCU-MI-CPU-NO indicates a CPU to be moved in.
Represents Here, CPU # 0 is shown when turned off, and CPU # 1 is shown when turned on. MCU-MI-ADRS is an address to move in. M
CU-MI-DATA is data to be moved in.

CPU−MI−REQ#0,CPU−MI−ADRS#0,CPU−MI−DATA
#0が、レジスタ118,120,122から出力される。
CPU-MI-REQ # 0, CPU-MI-ADRS # 0, CPU-MI-DATA
# 0 is output from the registers 118, 120, and 122.

前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第4図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
CPU-MI-REQ # 0, CPU-MI-REQ-ADRS # 0, CPU
-MI-REQ-DATA # 0 is a register 41, a register 42, and a register 42 of the priority control unit (FIG. 4) of the SU 102, respectively.
43 and output as B-MI-REQ, B-MI-ADRS, B-MI-DATA. When the priority is obtained by the priority circuit 45, B-MI-GO is output. The B-MI-
GO is input to the selector 47, and B-CACHE-ADRS
-MI-ADRS is selected.

又、SU102のキャッシュ制御部(第17図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
The selector 5 of the cache control unit (FIG. 17) of the SU 102
In 3, B-MI-DATA is selected by B-MI-GO.

キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
In the cache 54, B-MI-GO, B-MI-ADRS, B-CACH
E-ADRS is input and data moves in.

レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
B-MI-DATA and B-MI-GO are input to the registers 55 and 56.

前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
From the registers 55 and 56, C-MI-DATA and C-MI are output. According to the C-MI, the C-MI
-DATA is selected and set in the register 502.

C−MIはオア回路504,レジスタ505を経て、STV信号
を出力する。又、レジスタからはMSU30から読み取った
データである所のFC−DATAをIU101に送り、一連のロッ
クアクセスが終了する。
The C-MI outputs an STV signal via an OR circuit 504 and a register 505. The FC-DATA, which is the data read from the MSU 30, is sent from the register to the IU 101, and a series of lock accesses is completed.

〔3〕最後にロックすべきデータがキャッシュに無かっ
た場合の動作を説明する。
[3] The operation when the data to be finally locked does not exist in the cache will be described.

ロックアクセス時に、IU101(第2図)は、A−FC
−REQとA−LOCKを同時にオンし、A−FC−ST−ADRSで
アドレスを、SU102に指定する。IU101からSU102への信
号で、A−FC−REQはフェッチ要求,A−ST−REQはストア
要求,A−LOCKはロック獲得要求、A−FC−ST−REQは上
記それぞれの要求のアドレス,A−ST−DATAはストア要求
のストアデータを表す。
At lock access, IU101 (Fig. 2)
-REQ and A-LOCK are turned on at the same time, and the address is designated to SU102 by A-FC-ST-ADRS. A signal from IU 101 to SU 102, A-FC-REQ is a fetch request, A-ST-REQ is a store request, A-LOCK is a lock acquisition request, A-FC-ST-REQ is the address of each of the above requests, A -ST-DATA represents the store data of the store request.

IU101からの各要求をSU102が完了するとSTV信号をIU1
01に送り、該各要求がフェッチであった場合は、同時に
FC−DATAでフェッチデータをIU101に送る。またSU102
は、MCUにおいてストア要求が完了していない場合は、I
U101にBUSY信号を送る。IU101は一つの要求をSU102に送
ると、SU102からSTV信号が送られてきて、且つBUSY信号
がオフになってからIUは次の要求をSUへ送ることが出来
る。
When SU102 completes each request from IU101, it issues an STV signal to IU1.
01, and if each request is a fetch,
The fetch data is sent to the IU 101 by FC-DATA. Also SU102
If the MCU has not completed a store request,
Send BUSY signal to U101. When the IU 101 sends one request to the SU 102, the IU can send the next request to the SU after the STV signal is sent from the SU 102 and the BUSY signal is turned off.

さて、前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは
それぞれ、SU102のIUリクエスト制御部(第3図)に入
力される。
The A-FC-REQ, A-LOCK, and A-FC-ST-ADRS are each input to the IU request control unit (FIG. 3) of the SU 102.

1τ後、前記SU102のレジスタ31に前記A−FC−REQ
によって、B−FC−REQがセットされる。前記A−LOCK,
A−FC−ST−ADRSも各々レジスタ34,33にセットされ、B
−LOCK,B−FC−ST−ADRSが出力される。
After 1τ, the A-FC-REQ is stored in the register 31 of the SU 102.
Sets B-FC-REQ. The A-LOCK,
A-FC-ST-ADRS is also set in registers 34 and 33, respectively.
-LOCK, B-FC-ST-ADRS are output.

前記B−FC−REQはSU102のプライオリティ制御部(第
4図)に送られ、優先権がとれると、プライオリティ回
路45からB−FC−GO信号が出力される。前記B−FC−GO
によって、プライオリティ制御部(第4図)では、セレ
クタ47によって、B−FC−ST−ADRSが選択され、B−CA
CHE−ADRSとして出力される。
The B-FC-REQ is sent to the priority control unit (FIG. 4) of the SU 102, and when the priority is taken, the B-FC-GO signal is output from the priority circuit 45. The B-FC-GO
Thus, in the priority control unit (FIG. 4), the selector 47 selects B-FC-ST-ADRS, and the B-CA
Output as CHE-ADRS.

前記B−FC−REQ,B−LOCK,B−FC−ST−ADRS,B−FC−G
O,B−CACHE−ADRSはそれぞれ、SU102のキャッシュ制御
部に入力する。
B-FC-REQ, B-LOCK, B-FC-ST-ADRS, B-FC-G
O, B-CACHE-ADRS are input to the cache control unit of the SU 102, respectively.

1τ後、B−FC−GOはレジスタ58にセットされ、C
−FCとして出力される。又、B−LOCKはレジスタ59にC
−LOCKとしてセットされる。
After 1τ, B-FC-GO is set in register 58 and C-
Output as -FC. Also, B-LOCK stores C in register 59.
Set as -LOCK.

更に、前記C−FC,C−LOCKは、SU102のMCUリクエスト
制御部(第6図)に送られ、アンド回路66からC−FC−
LOCKが出力される。又、B−FC−ST−ADRSは、レジスタ
63にセットされ、C−FC−ST−ADRSが出力される。又、
キャッシュにヒットしなかった為C−CACHE−HITはオフ
になる。
Further, the C-FC and C-LOCK are sent to the MCU request control unit (FIG. 6) of the SU 102, and the C-FC-
LOCK is output. B-FC-ST-ADRS is a register
63 is set and C-FC-ST-ADRS is output. or,
C-CACHE-HIT is turned off because there was no hit in the cache.

MCUリクエスト制御部(第6図)のレジスタ601か
ら、MCU−REQが出力される。前記MCU−REQは、前記C−
FC−LOCKがオア回路68を経て出力される。又、MCU−REQ
−CODEがレジスタ603が出力される。前記MCU−REQ−COD
Eは、前記C−FC−LOCKがエンコーダ69でエンコードさ
れて、レジスタ603にMCU20にリクエストする際のコード
であるMCU−REQ−CODEをセットし、レジスタ603から出
力されるものである。前記MCU−REQ−CODEはロック獲得
とMSUからのデータの要求を示している。
MCU-REQ is output from the register 601 of the MCU request control unit (FIG. 6). The MCU-REQ includes the C-
FC-LOCK is output via the OR circuit 68. MCU-REQ
-CODE is output to the register 603. The MCU-REQ-COD
In E, the C-FC-LOCK is encoded by the encoder 69, MCU-REQ-CODE, which is a code for requesting the MCU 20 to the register 20, is output from the register 603. The MCU-REQ-CODE indicates lock acquisition and a request for data from the MSU.

又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSはMCUポート制御部
(第7図)に出力される。
The MCU-REQ-ADRS is output from the register 604.
In the MCU-REQ-ADRS, the C-FC-ST-ADRS is set in the register 604 and output. The MCU-
REQ, MCU-REQ-CODE, and MCU-REQ-ADRS are output to the MCU port control unit (FIG. 7).

CPU#0からロック獲得要求を受けたMCU20は、PORT
0−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レ
ジスタ73から出力される。前記信号はそれぞれ、MCU−R
EQ#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCU
ポート制御部(第7図)に入力することで行われる。
MCU 20 receiving the lock acquisition request from CPU # 0
0-REQ and PORT0-REQ-CODE are output from the register 71, the register 72, and the register 73. The signals are respectively MCU-R
EQ # 0, MCU-REQ-CODE # 0, MCU-REQ-ADRS # 0
This is performed by inputting to the port control unit (FIG. 7).

前記PORT0−REQ−CODEはデコーダ75でデコードされ、
FC−LOCKをアンド回路77に出力する。
The PORT0-REQ-CODE is decoded by the decoder 75,
The FC-LOCK is output to the AND circuit 77.

MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、アンド回路83によ
り、PORPT0−LOCK−MCH信号が出力され、優先権は得ら
れない。優先権は,PORT#1−LOCK−VALがオフになれ
ば、PORT0−GOがMCUプライオリティ回路85から出力され
ることによって得られる。
In the MCU priority circuit (FIG. 8), when trying to fetch, store, and lock the same address as the lock address of CPU # 1, the comparison circuit 81 and the AND circuit 83 output the PORPT0-LOCK-MCH signal. There is no priority. The priority is obtained by outputting PORT0-GO from the MCU priority circuit 85 when PORT # 1-LOCK-VAL is turned off.

前記PORT0−GOがMCUプライオリティ回路(第8図)
からMCUポート制御部(第7図)のアンド回路77に入力
され、レジスタ79から、PORT0−LOCK−VAL(ロック中で
あること)とPORT0−LOCK−ADRS(ロックされるアドレ
ス)がオンになり、PORT0−LOCK−ADRSで示されるアド
レスがロック中であることが示される。
PORT0-GO is the MCU priority circuit (Fig. 8)
Is input to the AND circuit 77 of the MCU port control unit (FIG. 7), and PORT0-LOCK-VAL (during locking) and PORT0-LOCK-ADRS (address to be locked) are turned on from the register 79. , PORT0-LOCK-ADRS are locked.

MCUリクエスト制御部(第9図)に、前記PORT0−GO
信号が入力され、レジスタ906から、MSU−REQが出力さ
れ、又、セレクタ92により、PORT0−REQ−ADRSが選択さ
れ、レジスタ913からMSU−REQ−ADRSがセットされ、MSU
30にMSU−REQ−ADRSで示されるアドレスにアクセスする
ことを要求する。
In the MCU request control unit (Fig. 9), the PORT0-GO
A signal is input, MSU-REQ is output from the register 906, PORT0-REQ-ADRS is selected by the selector 92, MSU-REQ-ADRS is set from the register 913, and MSU-REQ is set.
Request 30 to access the address indicated by MSU-REQ-ADRS.

MSU30は前記アドレスにアクセスし、データを読み
だす。
The MSU 30 accesses the address and reads data.

MSU30は、MCU20のMCUムーブイン制御部(第10図)
に、MCU−MI−REQ,MCU−MI−CPU−NO,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−CPU−NOは、ムーブ
イン要求を示し、MCU−CPU−REQ−NOは、ムーブインす
るCPUを表す。ここではオフでCPU#0を、オンでCPU#
1を示す。MCU−MI−ADRSはムーブインするアドレスで
ある。MCU−MI−DATAはムーブインするデータである。
MSU30 is the MCU move-in control unit of MCU20 (Fig. 10)
MCU-MI-REQ, MCU-MI-CPU-NO, MCU-MI-ADRS, MC
U-MI-DATA is output. MCU-MI-CPU-NO indicates a move-in request, and MCU-CPU-REQ-NO indicates a CPU to be moved in. Here, CPU # 0 is turned off and CPU # is turned on.
1 is shown. MCU-MI-ADRS is an address to move in. MCU-MI-DATA is data to be moved in.

CPU−MI−REQ#0,CPU−MI−ADRS#0,CPU−MI−DATA
#0が、レジスタ118,120,122から出力される。
CPU-MI-REQ # 0, CPU-MI-ADRS # 0, CPU-MI-DATA
# 0 is output from the registers 118, 120, and 122.

前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第4図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
CPU-MI-REQ # 0, CPU-MI-REQ-ADRS # 0, CPU
-MI-REQ-DATA # 0 is a register 41, a register 42, and a register 42 of the priority control unit (FIG. 4) of the SU 102, respectively.
43 and output as B-MI-REQ, B-MI-ADRS, B-MI-DATA. When the priority is obtained by the priority circuit 45, B-MI-GO is output. The B-MI-
GO is input to the selector 47, and B-CACHE-ADRS
-MI-ADRS is selected.

又、SU102のキャッシュ制御部(第5図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
The selector 5 of the cache control unit (FIG. 5) of the SU 102
In 3, B-MI-DATA is selected by B-MI-GO.

キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
In the cache 54, B-MI-GO, B-MI-ADRS, B-CACH
E-ADRS is input and data moves in.

レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
B-MI-DATA and B-MI-GO are input to the registers 55 and 56.

前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
From the registers 55 and 56, C-MI-DATA and C-MI are output. According to the C-MI, the C-MI
-DATA is selected and set in the register 502.

C−MIはオア回路504,レジスタ505を経て、STV信号
を出力する。又、レジスタからはMSU30から読み取った
データである所のFC−DATAをIU101に送り、一連のロッ
クアクセスが終了する。
The C-MI outputs an STV signal via an OR circuit 504 and a register 505. The FC-DATA, which is the data read from the MSU 30, is sent from the register to the IU 101, and a series of lock accesses is completed.

以上,実施例に従って、本発明を説明した。実施例で
は、CPUが2つの場合のマルチプロセッサシステムを説
明したが、CPUは幾つでも良い。本発明は、本発明の要
旨に従って種々の変形が可能であり、本発明はそれらを
排除するものでは無い。
The present invention has been described with reference to the embodiments. In the embodiment, the multiprocessor system having two CPUs has been described. However, any number of CPUs may be used. The present invention can be variously modified according to the gist of the present invention, and the present invention does not exclude them.

〔効果〕〔effect〕

本発明によると、ロックアクセスの時間が著しく短縮
し、マルチプロセッサ方式の情報処理装置の処理能力を
著しく向上させるものである。
ADVANTAGE OF THE INVENTION According to this invention, the time of lock access is shortened remarkably, and the processing capability of the information processor of a multiprocessor system is improved remarkably.

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

第1図は、本発明の原理説明図、第2図〜第10図は実施
例のブロック図、第11図〜第13図は実施例の動作を説明
するタイムチャート、第14図〜第20図は従来の技術の説
明図である。 10,11……CPU 20……MCU 30……MSU 101……IU 102……SU 6……主記憶装置アクセス再要求手段 3……ロックアクセスアドレス保持手段 54……緩衝記憶装置 201……禁止報告手段
FIG. 1 is a view for explaining the principle of the present invention, FIGS. 2 to 10 are block diagrams of the embodiment, FIGS. 11 to 13 are time charts for explaining the operation of the embodiment, and FIGS. FIG. 1 is an explanatory diagram of a conventional technique. 10, 11 CPU 20 MCU 30 MSU 101 IU 102 SU 6 Main storage device access re-request means 3 Lock access address holding means 54 Buffer storage device 201 Prohibited Reporting means

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】主記憶装置(30)の一部のデータの写しを
保持する緩衝記憶装置(54)を中央処理装置(10,11)
内に具備し、且つ、前記中央処理装置(10,11)を複数
個有し、自中央処理装置(10)が、他中央処理装置(1
1)の主記憶装置(30)のある領域からのデータの取り
出し及び格納を禁止し、自中央処理装置(10)が前記領
域のデータにアクセスする情報処理装置に於いて、 自中央処理装置(10)が、主記憶装置(30)を制御する
主記憶制御部(20)に対して、前記領域の他中央処理装
置(11)のアクセスを禁止する指示を行い、 前記領域のアドレスが、自中央処理装置(10)内の緩衝
記憶装置(54)に登録されていれば、 前記指示を行う以前の他中央処理装置(11)の主記憶装
置(30)への格納により主記憶装置(30)と自中央処理
装置(10)内の緩衝記憶装置(54)の前記領域の内容の
不一致が生じないことを確認できた時に、前記緩衝記憶
装置に前記データのアクセスを行うことを特徴とするア
クセス制御方法。
A buffer memory (54) for holding a copy of a part of data in a main memory (30) is provided in a central processing unit (10, 11).
And a plurality of the central processing units (10, 11), and the own central processing unit (10) is
In the information processing apparatus which prohibits the retrieval and storage of data from a certain area of the main storage device (1) of (1), and the own central processing unit (10) accesses data in the area, the own central processing unit (10) 10) instructs the main memory control unit (20) that controls the main memory device (30) to prohibit access to the central processing unit (11) in addition to the area, and the address of the area becomes If it is registered in the buffer memory (54) in the central processing unit (10), it is stored in the main memory (30) of the other central processing unit (11) before the instruction is issued. ) And when it is confirmed that there is no mismatch between the contents of the area of the buffer storage device (54) in the own central processing unit (10), the data is accessed to the buffer storage device. Access control method.
【請求項2】複数の中央処理装置(10,11)が主記憶装
置(30)を共用して使用し、且つ、前記中央処理装置
(10,11)が主記憶装置(30)の一部のデータの写しを
保持し、送出されてきたアドレスにデータ格納又は前記
アドレスからデータの読み出しを行う緩衝記憶装置(5
4)を中央処理装置(10,11)内に具備し、自中央処理装
置(10)が、他中央処理装置(11)の主記憶装置(30)
のある領域からのデータの取り出し及び格納を一定期間
禁止するロックアクセスを主記憶制御部(20)に指示す
る情報処理装置に於いて、 中央処理装置(10)が主記憶制御部(20)に対して、ロ
ックアクセスを指示して、他中央処理装置(11)からの
主記憶装置(30)のある領域のデータ格納の禁止を行っ
たら、データ格納禁止が指示されたことを伝える禁止報
告手段(201)と、 自中央処理装置(10)内に位置し、前記一定期間内に前
記領域のデータが、自中央処理装置(10)内の緩衝記憶
装置(54)に記憶されていれば、前記ロックアクセスを
行う領域のアドレス情報を保持し、前記禁止報告手段
(201)により報告があったら、前記保持しているアド
レスを緩衝記憶装置(54)に送出するロックアクセスア
ドレス保持手段(3)を有することを特徴とする情報処
理装置。
2. A plurality of central processing units (10, 11) share a main storage unit (30), and the central processing units (10, 11) are part of the main storage unit (30). Buffer storage device (5) that holds a copy of the data and stores the data at the transmitted address or reads the data from the address.
4) is provided in the central processing unit (10, 11), and the own central processing unit (10) is replaced with the main storage device (30) of the other central processing unit (11).
In an information processing apparatus that instructs the main memory control unit (20) to perform lock access for prohibiting the retrieval and storage of data from a certain area for a certain period of time, the central processing unit (10) sends the main memory control unit (20) When a lock access is instructed to prohibit data storage in a certain area of the main storage device (30) from the other central processing unit (11), a prohibition reporting means for notifying that the data storage prohibition has been instructed. (201), if it is located in the own central processing unit (10) and the data of the area is stored in the buffer storage device (54) in the own central processing unit (10) within the certain period, Lock access address holding means (3) for holding the address information of the area for performing the lock access and sending the held address to the buffer storage device (54) when a report is issued by the prohibition report means (201). To have Information processing apparatus according to symptoms.
【請求項3】複数の中央処理装置(10,11)が、1台の
主記憶装置(30)を共用して処理を行い、前記中央処理
装置(10,11)は前記主記憶装置(30)のデータの一部
の写しを有する緩衝記憶装置(54)を有し、前記主記憶
装置(30)と緩衝記憶装置(54)のデータの一致をとる
為の前記緩衝記憶装置(54)内のデータの無効化手段を
有し、又、自中央処理装置(10)が他中央処理装置(1
1)の主記憶装置(30)のある領域のデータアクセスを
禁止し、自中央処理装置(10)が前記領域のデータにア
クセスするロックアクセスを行う情報処理装置に於い
て、 前記ロックアクセス時に、ロックアクセスを行うアドレ
スが緩衝記憶装置(54)に登録されていれば、 未処理の前記アドレスの緩衝記憶装置(54)の無効化処
理が無いことを確認した後に、 前記緩衝記憶装置(54)に前記アドレスのデータにアク
セスすることを特徴とするアクセス制御方法。
3. A plurality of central processing units (10, 11) perform processing by sharing one main storage unit (30), and the central processing units (10, 11) execute processing by using the main storage unit (30). A) a buffer memory (54) having a copy of a part of the data of the buffer memory (54) for matching the data of the main memory (30) and the buffer memory (54). Means for invalidating the data of another central processing unit (1).
In the information processing apparatus for prohibiting data access to a certain area of the main storage device (30) of 1) and performing lock access for accessing the data of the area by the central processing unit (10), If the address for performing the lock access is registered in the buffer storage device (54), after confirming that there is no invalidation processing of the buffer storage device (54) of the unprocessed address, the buffer storage device (54) Accessing the data at the address.
JP1154939A 1989-06-16 1989-06-16 Access control method and information processing device Expired - Fee Related JP2844679B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1154939A JP2844679B2 (en) 1989-06-16 1989-06-16 Access control method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1154939A JP2844679B2 (en) 1989-06-16 1989-06-16 Access control method and information processing device

Publications (2)

Publication Number Publication Date
JPH0319049A JPH0319049A (en) 1991-01-28
JP2844679B2 true JP2844679B2 (en) 1999-01-06

Family

ID=15595239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1154939A Expired - Fee Related JP2844679B2 (en) 1989-06-16 1989-06-16 Access control method and information processing device

Country Status (1)

Country Link
JP (1) JP2844679B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2845394B2 (en) * 1993-12-22 1999-01-13 住友重機械プラスチックマシナリー株式会社 Injection mold
JP6115455B2 (en) * 2013-11-29 2017-04-19 富士通株式会社 Parallel computer system, parallel computer system control method, information processing apparatus, arithmetic processing apparatus, and communication control apparatus

Also Published As

Publication number Publication date
JPH0319049A (en) 1991-01-28

Similar Documents

Publication Publication Date Title
US4481573A (en) Shared virtual address translation unit for a multiprocessor system
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US4142234A (en) Bias filter memory for filtering out unnecessary interrogations of cache directories in a multiprocessor system
US4891749A (en) Multiprocessor storage serialization apparatus
KR100204741B1 (en) How to use the first and second cache memory
US5339397A (en) Hardware primary directory lock
US6970963B2 (en) Apparatus and method for synchronizing multiple accesses to common resources
JPH0532775B2 (en)
US5623626A (en) Logical cache memory for multi-processor system
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
EP0364226A2 (en) A system for performing a serializing control of a reference to a main storage
EP0220990B1 (en) Buffer storage control system
JP3814521B2 (en) Data processing method and apparatus
JP2844679B2 (en) Access control method and information processing device
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
JP2776759B2 (en) Lock request control device
CA1264200A (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5276853A (en) Cache system
JP2637320B2 (en) Buffer storage control method
US5426749A (en) Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated
JP2501353B2 (en) Prefetch control method
JPH01280858A (en) Lock control system for main storage device
JPH04296951A (en) Cache memory

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees