JPH04313134A - Computer system - Google Patents

Computer system

Info

Publication number
JPH04313134A
JPH04313134A JP281691A JP281691A JPH04313134A JP H04313134 A JPH04313134 A JP H04313134A JP 281691 A JP281691 A JP 281691A JP 281691 A JP281691 A JP 281691A JP H04313134 A JPH04313134 A JP H04313134A
Authority
JP
Japan
Prior art keywords
data
dma
memory
shared memory
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP281691A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Uchida
内田 義幸
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.)
Toshiba Corp
Sord Computer Corp
Original Assignee
Toshiba Corp
Sord Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Sord Computer Corp filed Critical Toshiba Corp
Priority to JP281691A priority Critical patent/JPH04313134A/en
Publication of JPH04313134A publication Critical patent/JPH04313134A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To improve the data processing efficiency in a multiprocessor system by shortening the time when the DMA transfer request data are written in a shared memory and then actually used by a processor. CONSTITUTION:In a processor unit 1a that requests a DMA, a DMA number is set to a DMA request register 14a and a cache control circuit 12a writes the data equal to the data written in a shared memory 3 into a cache memory 11a when the data are transferred and written into the memory 3 from an I/O device 5. In a processor unit 1b where no DMA number is set to a DMA request register 14b, a cache control circuit 12b invalidates the data stored in a cache memory 11b provided in an address equal to that of the memory 3 which is updated with the DMA transfer.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、マルチプロセッサシス
テムにおいて、各プロセッサ毎にキャッシュ・メモリが
設けられたコンピュータシステムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system in which a cache memory is provided for each processor in a multiprocessor system.

【0002】0002

【従来の技術】従来、マルチプロセッサシステムでは、
各プロセッサが共通にメインメモリとして使用する共有
メモリが設けられている。各プロセッサは、それぞれキ
ャッシュ・メモリを備えており、共有メモリに格納され
たデータの一部をキャッシュ・メモリに格納する。これ
により、各プロセッサは、それぞれのデータ処理の内容
に応じて、使用頻度の高いデータを高速にアクセスする
ことができる。
[Prior Art] Conventionally, in a multiprocessor system,
A shared memory is provided that is commonly used by each processor as a main memory. Each processor is provided with a cache memory, and stores part of the data stored in the shared memory in the cache memory. This allows each processor to access frequently used data at high speed, depending on the content of its respective data processing.

【0003】ここで、システムに接続された入出力装置
と共有メモリ間で、DMA(ダイレクト・メモリ・アク
セス)方式によるデータ転送を行なう場合に、各プロセ
ッサは共有メモリに対するデータの書込み状況を監視す
る必要がある。これは、入出力装置から転送されたデー
タが共有メモリに書込まれた場合に、キャッシュ・メモ
リとの一致性を確保するためである。
[0003] When data is transferred between an input/output device connected to the system and a shared memory using a DMA (direct memory access) method, each processor monitors the state of writing data to the shared memory. There is a need. This is to ensure consistency with the cache memory when data transferred from the input/output device is written to the shared memory.

【0004】各プロセッサは、データが書込まれた共有
メモリのアドレスと同一アドレスのキャッシュ・メモリ
のデータ(ヒットしたデータ)を無効にする。この後、
各プロセッサは必要に応じて、共有メモリの更新データ
をキャッシュ・メモリに格納する。
Each processor invalidates cache memory data (hit data) at the same address as the shared memory address where the data was written. After this,
Each processor stores updated data from the shared memory in the cache memory as needed.

【0005】[0005]

【発明が解決しようとする課題】DMA方式により入出
力装置から転送されたデータが共有メモリに書込まれた
場合に、各プロセッサは、ヒットしたキャッシュ・メモ
リのデータを無効にする必要がある。ところで、各プロ
セッサは、DMA方式によるデータ転送が終了した後に
、共有バス(システムバス)の使用権を獲得してから、
共有メモリから書込みデータを読出すことになる。
[Problems to be Solved by the Invention] When data transferred from an input/output device using the DMA method is written to a shared memory, each processor needs to invalidate the hit data in the cache memory. By the way, each processor acquires the right to use the shared bus (system bus) after completing data transfer using the DMA method.
The write data will be read from the shared memory.

【0006】このため、各プロセッサは、DMA転送要
求を出力した後に、共有メモリに書込まれたデータをキ
ャッシュ・メモリに格納し、各種データ処理に使用する
までには、相当の時間を要することになる。このため、
各プロセッサは、入出力装置からのデータを実際に使用
するまでに多大な時間を要するため、データ処理効率の
低下を招く問題がある。
[0006] Therefore, after each processor outputs a DMA transfer request, it takes a considerable amount of time for the data written to the shared memory to be stored in the cache memory and used for various data processing. become. For this reason,
Each processor requires a large amount of time to actually use the data from the input/output device, resulting in a problem of reduced data processing efficiency.

【0007】本発明の目的は、マルチプロセッサシステ
ムにおいて、DMA転送要求したデータが共有メモリに
書込まれた後に、プロセッサがそのデータを実際に使用
するまでの時間を短縮化し、結果的にデータ処理効率の
向上を図ることができるコンピュータシステムを提供す
ることにある。
An object of the present invention is to shorten the time it takes for a processor to actually use the data after DMA transfer requested data is written in a shared memory in a multiprocessor system, and as a result, the data processing speed is reduced. An object of the present invention is to provide a computer system that can improve efficiency.

【0008】[0008]

【課題を解決するための手段】本発明は、各プロセッサ
ユニットがそれぞれプロセッサとキャッシュ・メモリを
有し、入出力手段と共有メモリ手段間のデータ転送を制
御するDMA制御手段を有するシステムである。各プロ
セッサユニットは、DMA転送要求したデータが共有メ
モリに転送されたときに、キャッシュ・メモリに書込み
データと同一のデータを書込むキャッシュ・メモリ制御
手段を有する。
SUMMARY OF THE INVENTION The present invention is a system in which each processor unit has a processor and a cache memory, and has DMA control means for controlling data transfer between input/output means and shared memory means. Each processor unit has cache memory control means for writing the same data as the write data into the cache memory when the data requested for DMA transfer is transferred to the shared memory.

【0009】[0009]

【作用】本発明では、プロセッサからのDMA要求によ
り、DMA制御手段が入出力手段から共有メモリ手段に
書込みデータの転送を実行する。このデータ転送実行時
に、DMA要求をしたプロセッサは、転送された書込み
データと同一のデータをキャッシュ・メモリに書込む。 これにより、DMA転送要求したデータが共有メモリに
書込まれた後に、プロセッサはキャッシュ・メモリをア
クセスして、直ちに使用することができる。
According to the present invention, the DMA control means transfers write data from the input/output means to the shared memory means in response to a DMA request from the processor. When executing this data transfer, the processor that made the DMA request writes the same data as the transferred write data into the cache memory. This allows the processor to access and use the cache memory immediately after the data requested for DMA transfer is written to the shared memory.

【0010】0010

【実施例】以下図面を参照して本発明の実施例を説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below with reference to the drawings.

【0011】図1は同実施例に係わるマルチプロセッサ
方式のシステムを示すブロック図である。本システムは
、複数のプロセッサユニット1a,1b、共有メモリ3
、DMA制御回路4及び入出力(I/O)装置5がそれ
ぞれ共通バス(データバス2a及びアドレスバス2b)
を通じて接続されてなる。
FIG. 1 is a block diagram showing a multiprocessor system according to the same embodiment. This system includes multiple processor units 1a, 1b, a shared memory 3
, the DMA control circuit 4 and the input/output (I/O) device 5 each share a common bus (data bus 2a and address bus 2b).
connected through.

【0012】各プロセッサユニット1a,1bは、プロ
セッサ(CPU)10a,10b、キャッシュ・メモリ
11a,11b、キャッシュ制御回路12a,12b、
データバッファ13a,13bおよびDMA要求レジス
タ14a,14bを有する。キャッシュ・メモリ11a
,11bは、メインメモリとして使用される共有メモリ
3において、CPU10a,10bが必要とする同一デ
ータを格納する高速バッファメモリである。キャッシュ
制御回路12a,12bは、キャッシュ・メモリ11a
,11bのアクセス制御を行なう。
Each processor unit 1a, 1b includes a processor (CPU) 10a, 10b, a cache memory 11a, 11b, a cache control circuit 12a, 12b,
It has data buffers 13a, 13b and DMA request registers 14a, 14b. Cache memory 11a
, 11b is a high-speed buffer memory that stores the same data required by the CPUs 10a and 10b in the shared memory 3 used as the main memory. Cache control circuits 12a and 12b are cache memory 11a.
, 11b.

【0013】データバッファ13a,13bは、各CP
U10a,10bがデータバス2aを通じて入出力する
データを一時的に格納するバッファメモリである。DM
A要求レジスタ14a,14bは、各CPU10a,1
0bがDMA制御回路4をアクセスして、I/O装置5
と共有メモリ3間のデータ転送要求するためのDMA要
求番号(I/O装置5のI/O番号に相当する番号)を
格納するレジスタである。次に、同実施例の動作を説明
する。
[0013] The data buffers 13a and 13b are connected to each CP.
U10a and 10b are buffer memories that temporarily store data input and output through the data bus 2a. DM
The A request registers 14a, 14b are for each CPU 10a, 1
0b accesses the DMA control circuit 4 and the I/O device 5
This register stores a DMA request number (a number corresponding to the I/O number of the I/O device 5) for requesting data transfer between the shared memory 3 and the shared memory 3. Next, the operation of this embodiment will be explained.

【0014】CPU10aが共有メモリ3をアクセスす
ると、キャッシュ制御回路12aはアクセス対象のアド
レスがヒットするか否かを判定し、ヒットしたデータを
キャッシュ・メモリ11aからアクセスする。CPU1
0aは、キャッシュ・メモリ11aから高速にアクセス
したデータを処理し、データバッファ13aに格納する
。データバッファ13aに格納されたデータは、データ
バス2aを通じて例えば他のプロセッサユニット1bま
たはI/O装置5に転送される。このとき、データ転送
に伴うCPU10aからのアドレスは、アドレスバス2
bを通じて転送される。CPU10bが共有メモリ3を
アクセスした場合も、前記と同様の動作となる。
When the CPU 10a accesses the shared memory 3, the cache control circuit 12a determines whether or not the address to be accessed is hit, and accesses the hit data from the cache memory 11a. CPU1
0a processes data accessed at high speed from the cache memory 11a and stores it in the data buffer 13a. The data stored in the data buffer 13a is transferred to, for example, another processor unit 1b or I/O device 5 via the data bus 2a. At this time, the address from the CPU 10a accompanying the data transfer is transferred to the address bus 2.
transferred through b. When the CPU 10b accesses the shared memory 3, the same operation as described above occurs.

【0015】ここで、例えばCPU10aがI/O装置
5からのデータの読込みが必要となり、DMA制御回路
4に対してDMA要求を行なう(図2のステップS1)
。DMA制御回路4は、他のCPU10bと競合してい
るか否かを判定し、競合している場合には他のCPU1
0bのDMA要求が終了するまで待機状態となる(ステ
ップS2)。
Here, for example, the CPU 10a needs to read data from the I/O device 5, and makes a DMA request to the DMA control circuit 4 (step S1 in FIG. 2).
. The DMA control circuit 4 determines whether or not there is competition with another CPU 10b, and if there is competition, the other CPU 1
It is in a standby state until the DMA request of 0b is completed (step S2).

【0016】競合が解除されると(ステップS2のNO
)、CPU10aはDMA要求レジスタ14aにDMA
要求番号をセットする(ステップS3)。DMA制御回
路4は、要求されたI/O番号のI/O装置5と共有メ
モリ3間のデータ転送を実行する(ステップS4)。 即ち、I/O装置5から読出されたデータが、データバ
ス2aを通じて共有メモリ3に転送されて、要求された
アドレスに書込まれる(ステップS5)。
[0016] When the conflict is canceled (NO in step S2)
), the CPU 10a sends the DMA request register 14a to the DMA request register 14a.
A request number is set (step S3). The DMA control circuit 4 executes data transfer between the I/O device 5 having the requested I/O number and the shared memory 3 (step S4). That is, data read from the I/O device 5 is transferred to the shared memory 3 via the data bus 2a and written to the requested address (step S5).

【0017】このDMA転送時に、DMA要求したプロ
セッサユニット1aのキャッシュ制御回路12aは、共
有メモリ3に書込まれたデータをキャッシュ・メモリ1
1aに書込む制御を実行する(ステップS7)。DMA
転送が終了すると(ステップS9のYES)、CPU1
0aはDMA要求レジスタ14aを初期化する(ステッ
プS10)。
During this DMA transfer, the cache control circuit 12a of the processor unit 1a that requested the DMA transfers the data written to the shared memory 3 to the cache memory 1.
1a is executed (step S7). D.M.A.
When the transfer is completed (YES in step S9), CPU1
0a initializes the DMA request register 14a (step S10).

【0018】一方、DMA要求レジスタ14bにセット
していない他のプロセッサユニット1bでは、キャッシ
ュ制御回路12bは、更新データ(転送データ)が書込
まれた共有メモリ3のアドレスでヒットした場合に、キ
ャッシュ・メモリ11bのデータを無効にする制御を行
なう(ステップS8)。即ち、キャッシュ・メモリ11
bに、更新される前の共有メモリ3のアドレスのデータ
が格納されている場合に、そのデータを無効にする。こ
れにより、キャッシュ・メモリ11bと共有メモリ3と
の一致性を確保することができる。
On the other hand, in other processor units 1b that have not been set in the DMA request register 14b, the cache control circuit 12b controls the cache control circuit 12b when a hit occurs at the address of the shared memory 3 where update data (transfer data) is written. - Control is performed to invalidate the data in the memory 11b (step S8). That is, cache memory 11
If data at the address of the shared memory 3 before being updated is stored in b, that data is invalidated. Thereby, consistency between the cache memory 11b and the shared memory 3 can be ensured.

【0019】キャッシュ制御回路12bはデータを無効
にした後に、CPU10bの必要に応じて共有メモリ3
から更新データを読出し、キャッシュ・メモリ11bに
書込むことになる。
After invalidating the data, the cache control circuit 12b uses the shared memory 3 as required by the CPU 10b.
The updated data is read from the cache memory 11b and written to the cache memory 11b.

【0020】このようにして、DMA要求したプロセッ
サユニット1aでは、I/O装置5から共有メモリ3に
転送されて書込まれたときに、その書込みデータと同一
データがキャッシュ・メモリ11aに書込まれる。言い
換えれば、DMA転送により共有メモリ3の記録データ
が更新されると同時に、キャッシュ・メモリ11aのデ
ータも更新される。したがって、DMA要求したCPU
10aは、DMA転送後に、共通バスの使用権を確保し
て共有メモリ3から更新データをアクセスすることなく
、キャッシュ・メモリ11aから高速にアクセスできる
ことになる。
In this way, in the processor unit 1a that made the DMA request, when the data is transferred from the I/O device 5 to the shared memory 3 and written, the same data as the written data is written to the cache memory 11a. It will be done. In other words, when the recorded data in the shared memory 3 is updated by DMA transfer, the data in the cache memory 11a is also updated. Therefore, the CPU that requested the DMA
10a can access update data from the cache memory 11a at high speed without securing the right to use the common bus and accessing update data from the shared memory 3 after the DMA transfer.

【0021】また、DMA要求しないプロセッサユニッ
ト1bでは、DMA転送により更新された共有メモリ3
のアドレスと同一アドレスのキャッシュ・メモリ11b
のデータは無効される。したがって、共有メモリ3とキ
ャッシュ・メモリ11bとの一致性を常に確保すること
ができる。
Furthermore, in the processor unit 1b that does not request DMA, the shared memory 3 updated by DMA transfer is
Cache memory 11b at the same address as
data will be invalidated. Therefore, consistency between the shared memory 3 and the cache memory 11b can always be ensured.

【0022】[0022]

【発明の効果】以上詳述したように本発明によれば、第
1に、マルチプロセッサシステムにおいて、DMA転送
要求したデータが共有メモリに書込まれた場合に、キャ
ッシュ・メモリにも書込まれるため、DMA転送後にキ
ャッシュ・メモリから転送データを直ちにアクセスする
ことができる。したがって、DMA転送要求したデータ
が共有メモリに書込まれた後に、プロセッサがそのデー
タを実際に使用するまでの時間を短縮化し、結果的にデ
ータ処理効率の向上を図ることができる。
As detailed above, according to the present invention, firstly, in a multiprocessor system, when data requested for DMA transfer is written to the shared memory, it is also written to the cache memory. Therefore, the transferred data can be accessed immediately from the cache memory after the DMA transfer. Therefore, after the data requested for DMA transfer is written in the shared memory, the time required for the processor to actually use the data can be shortened, and as a result, data processing efficiency can be improved.

【0023】第2に、DMA転送要求しないユニットの
キャッシュ・メモリのデータは無効となるため、共有メ
モリとキャッシュ・メモリとの一致性を常に確保するこ
とができる。
Second, since data in the cache memory of a unit that does not request DMA transfer is invalidated, consistency between the shared memory and the cache memory can always be ensured.

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

【図1】本発明の実施例に係わるコンピュータシステム
の構成を示すブロック図。
FIG. 1 is a block diagram showing the configuration of a computer system according to an embodiment of the present invention.

【図2】同実施例の動作を説明するためのフローチャー
ト。
FIG. 2 is a flowchart for explaining the operation of the embodiment.

【符号の説明】[Explanation of symbols]

1a,1b…プロセッサユニット、3…共有メモリ、4
…DMA制御回路、5…I/O装置、10a,10b…
プロセッサ、11a,11b…キャッシュ・メモリ、1
2a,12b…キャッシュ制御回路、14a,14b…
DMA要求レジスタ。
1a, 1b...processor unit, 3...shared memory, 4
...DMA control circuit, 5...I/O device, 10a, 10b...
Processor, 11a, 11b...cache memory, 1
2a, 12b...cache control circuit, 14a, 14b...
DMA request register.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  プロセッサとキャッシュ・メモリを有
する複数のプロセッサユニットがバスを通じて接続され
てなるコンピュータシステムにおいて、前記バスに接続
された入出力手段と、前記バスに接続されて、前記各プ
ロセッサユニットの共通メインメモリとして機能する共
有メモリ手段と、前記バスを通じて前記入出力手段と前
記共有メモリ手段間のデータ転送を制御するDMA制御
手段と、前記DMA制御手段に対するDMA要求により
、前記入出力手段から前記共有メモリ手段に書込みデー
タの転送が実行されたときに、前記各プロセッサユニッ
トの中でDMA要求を実行したプロセッサユニットの前
記キャッシュ・メモリに前記書込みデータと同一のデー
タを書込むキャッシュ・メモリ制御手段とを具備したこ
とを特徴とするコンピュータシステム。
1. A computer system in which a plurality of processor units each having a processor and a cache memory are connected through a bus, and an input/output means connected to the bus; shared memory means functioning as a common main memory; DMA control means for controlling data transfer between the input/output means and the shared memory means through the bus; cache memory control means for writing data identical to the write data into the cache memory of the processor unit that executed the DMA request among the processor units when the write data is transferred to the shared memory means; A computer system comprising:
【請求項2】  プロセッサとキャッシュ・メモリを有
する複数のプロセッサユニットがバスを通じて接続され
てなるコンピュータシステムにおいて、前記バスに接続
された入出力手段と、前記バスに接続されて、前記各プ
ロセッサユニットの共通メインメモリとして機能する共
有メモリ手段と、前記バスを通じて前記入出力手段と前
記共有メモリ手段間のデータ転送を制御するDMA制御
手段と、前記DMA制御手段に対するDMA要求により
、前記入出力手段から前記共有メモリ手段に書込みデー
タの転送が実行されたときに、前記各プロセッサユニッ
トの中でDMA要求を実行したプロセッサユニットの前
記キャッシュ・メモリに前記書込みデータと同一のデー
タを書込み、かつ他のプロセッサユニットの前記キャッ
シュ・メモリにおいて前記書込みデータが書込まれる前
記共有メモリ手段のアドレスと同一アドレスのデータを
無効にするキャッシュ・メモリ制御手段とを具備したこ
とを特徴とするコンピュータシステム。
2. A computer system in which a plurality of processor units each having a processor and a cache memory are connected through a bus; shared memory means functioning as a common main memory; DMA control means for controlling data transfer between the input/output means and the shared memory means through the bus; When the write data is transferred to the shared memory means, the same data as the write data is written in the cache memory of the processor unit that executed the DMA request among the processor units, and the other processor units A computer system comprising: cache memory control means for invalidating data at the same address as the address of the shared memory means to which the write data is written in the cache memory.
JP281691A 1991-01-14 1991-01-14 Computer system Withdrawn JPH04313134A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP281691A JPH04313134A (en) 1991-01-14 1991-01-14 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP281691A JPH04313134A (en) 1991-01-14 1991-01-14 Computer system

Publications (1)

Publication Number Publication Date
JPH04313134A true JPH04313134A (en) 1992-11-05

Family

ID=11539934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP281691A Withdrawn JPH04313134A (en) 1991-01-14 1991-01-14 Computer system

Country Status (1)

Country Link
JP (1) JPH04313134A (en)

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
US6651115B2 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JP3431626B2 (en) Data processing device
US7228389B2 (en) System and method for maintaining cache coherency in a shared memory system
JP3289661B2 (en) Cache memory system
US5802576A (en) Speculative cache snoop during DMA line update
US5561783A (en) Dynamic cache coherency method and apparatus using both write-back and write-through operations
EP0743601A2 (en) A system and method for improving cache performance in a multiprocessing system
US5918069A (en) System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty
US6412047B2 (en) Coherency protocol
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
JP4266629B2 (en) Bus interface selection by page table attribute
JPH04102948A (en) Data processing system and method
US5553270A (en) Apparatus for providing improved memory access in page mode access systems with pipelined cache access and main memory address replay
US6021466A (en) Transferring data between caches in a multiple processor environment
JP3251903B2 (en) Method and computer system for burst transfer of processor data
KR960007833B1 (en) Method and apparatus for fast page mode selection
JP2580263B2 (en) Buffer storage device
JPH04313134A (en) Computer system
JPH06309231A (en) Cache memory control method
JP3782178B2 (en) Information processing device
JPH0612363A (en) Memory controller and multiprocessor system
JP3081635B2 (en) Cache memory invalidation processing apparatus and invalidation control method
JPH0553912A (en) Control method for cache memory
JPH06274415A (en) Shared memory system

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514