JPH08235138A - Computer system - Google Patents

Computer system

Info

Publication number
JPH08235138A
JPH08235138A JP3846695A JP3846695A JPH08235138A JP H08235138 A JPH08235138 A JP H08235138A JP 3846695 A JP3846695 A JP 3846695A JP 3846695 A JP3846695 A JP 3846695A JP H08235138 A JPH08235138 A JP H08235138A
Authority
JP
Japan
Prior art keywords
block
data
communication buffer
copy
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3846695A
Other languages
Japanese (ja)
Inventor
Masaya Hoshino
雅哉 星野
Masao Furukawa
政男 古川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3846695A priority Critical patent/JPH08235138A/en
Publication of JPH08235138A publication Critical patent/JPH08235138A/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

PURPOSE: To improve the throughput of memory access processing from a vector processor and actualize efficient synchronous processing of common data as to the computer system which uses a buffer storage to transfer the common data between processors. CONSTITUTION: The computer system having the communication buffer storage which holds a copy of data including operand data of a specific scalar instruction shared by scalar processors 10 and 11 in block units is so constituted that the communication buffer storage holds even a copy of data including input/ output control information shared by the scalar processors 10 and 11 and an input/output processor 12 in block units. Further, whether or not each block in the communication buffer storage includes a copy of the operand data of the specific scalar instruction is discriminated and a block which does not include the copy is preferentially replaced.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は主記憶共有型マルチプロ
セッサの計算機システムに係り、特に、共有データのや
りとりが記憶制御装置に設けられたバッファ記憶を介し
て行われる計算機システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a main memory shared multiprocessor computer system, and more particularly to a computer system in which shared data is exchanged via a buffer memory provided in a memory controller.

【0002】[0002]

【従来の技術】従来より、複数のプロセッサを有するい
わゆるマルチプロセッサの計算機システムでは、並列処
理(マルチ・タスキング)を行っている各々のプロセッ
サ間で共用される共有データの内容を同期させるための
命令として、次に示すような命令が用いられている。 TS(Test-and-Set)命令 共有データ中の指定されたビットを‘1’にセットする
とともに、セット直前の当該ビットの設定値に基づいて
条件コードの生成を行う。 CS(Compare-and-Swap)命令 およびCDS(Compare
-Double-and-Swap) 命令 共有データを読み出して、その設定値が別のプロセッサ
に更新されたか否かを調べ、更新されていなかった場合
はそのまま更新処理を行う一方で、更新されていた場合
は従前の設定値を保持するためのレジスタに現在の設定
値を移し替える。
2. Description of the Related Art Conventionally, in a so-called multiprocessor computer system having a plurality of processors, an instruction for synchronizing the contents of shared data shared between the processors performing parallel processing (multitasking). As such, the following instruction is used. TS (Test-and-Set) instruction Sets a designated bit in shared data to "1" and generates a condition code based on the set value of the bit immediately before the setting. CS (Compare-and-Swap) command and CDS (Compare
-Double-and-Swap) instruction Read shared data, check whether the set value has been updated by another processor, and if it has not been updated, perform update processing as it is, but if it has been updated Transfers the current set value to the register for holding the previous set value.

【0003】上述した命令は、各々のプロセッサ間で共
用される共有データの内容を更新する場合に用いられ
る。このため、上記命令を実行させる以前に、個々のバ
ッファ記憶中に保持されている共有データの内容がすべ
てのプロセッサ間で互いに一致しているとともに、主記
憶中に保持されている共有データの内容とも一致してい
ること(プロセッサ間で共有データがすべて同期してい
ること)が必要不可欠である。そこで一般的には、上述
した命令を特殊なタイプの命令(以後、“特定スカラ命
令”と記述する)として扱い、特定スカラ命令に伴うア
クセスが強制的に主記憶に対して行われる(すなわち、
バッファ記憶が用いられない)ような処理手順を採用
し、同期制御を実現させる処理の複雑化を回避してい
る。しかしながら一方で、ベクトルプロセッサを有する
計算機システムの場合、ベクトルプロセッサからのメモ
リアクセス処理のスループットを低下させないために、
できる限り主記憶に対するメモリアクセス処理が発生し
ないようにすることが望ましい。そこで、ベクトルプロ
セッサと上記特定スカラ命令を処理する複数のスカラプ
ロセッサとを有する計算機システムにおいて、共有デー
タを保持するための専用のバッファ記憶(コミュニケー
ションバッファ記憶)を設けることによって複数のスカ
ラプロセッサ間の同期処理を効率化するものが提案され
ている(特開平3−228169号公報記載の「計算機
システム」)。
The above-mentioned instructions are used when updating the contents of shared data shared between the processors. Therefore, before executing the above instruction, the contents of the shared data held in the individual buffer storages are the same among all processors, and the contents of the shared data held in the main storage are the same. It is essential that they also match (that is, all shared data is synchronized between processors). Therefore, in general, the above-mentioned instruction is treated as a special type of instruction (hereinafter, referred to as “specific scalar instruction”), and the access accompanying the specific scalar instruction is forcibly performed to the main memory (that is,
A processing procedure such as buffer storage is not used) is adopted to avoid complication of the processing for realizing the synchronous control. However, on the other hand, in the case of a computer system having a vector processor, in order not to reduce the throughput of the memory access processing from the vector processor,
It is desirable to prevent memory access processing to the main memory from occurring as much as possible. Therefore, in a computer system having a vector processor and a plurality of scalar processors for processing the specific scalar instruction, synchronization between a plurality of scalar processors is provided by providing a dedicated buffer memory (communication buffer memory) for holding shared data. There has been proposed one that makes the processing efficient ("Computer system" described in Japanese Patent Laid-Open No. 3-228169).

【0004】[0004]

【発明が解決しようとする課題】上述した特開平3−2
28169号公報記載の「計算機システム」では、コミ
ュニケーションバッファ記憶内に格納すべき対象とする
共有データを特定スカラ命令のオペランドデータのみに
限定していたが、これ以外にも例えば、スカラプロセッ
サと非同期に入出力を行うことを目的としてスカラプロ
セッサおよび入出力プロセッサからアクセスされる入出
力制御情報など、複数のプロセッサ間で共用される共有
データがある。ここでいう入出力制御情報としては、次
に示すようなものがあげられる。 入出力デバイス制御語 入出力デバイスに対する起動/割込み制御情報を保持す
る。 入出力起動キュー・ブロック 起動要求が発行された入出力デバイスに関する入出力デ
バイス制御語をキュー構造で保持するものであり、スカ
ラプロセッサによるエンキュー操作後、入出力プロセッ
サによるデキュー操作が行われる。 入出力割込みキュー・ブロック 割込み要因を保留した入出力デバイスに関する入出力デ
バイス制御語をキュー構造で保持するものであり、入出
力プロセッサによるエンキュー操作後、スカラプロセッ
サによるデキュー操作が行われる。 これらの入出力制御情報はいずれも、システムのパワー
オンリセット時に指定された主記憶上の連続領域(以
後、“特定領域”と記述する)に確保される。そして、
これらの入出力制御情報に対するアクセス処理が行われ
るのは、入出力デバイスに対する起動/割込み要求があ
った場合だけでなく、特に要求がない場合でも、入出力
デバイス起動要求の有無を調べることを目的として所定
の監視時間ごとに入出力プロセッサから入出力起動キュ
ー・ブロックへのアクセス処理が行われる。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
In the "computer system" described in Japanese Patent No. 28169, the shared data to be stored in the communication buffer storage is limited to the operand data of the specific scalar instruction, but other than this, for example, asynchronously with the scalar processor. There is shared data shared by a plurality of processors, such as scalar processor and input / output control information accessed from the input / output processor for the purpose of performing input / output. The input / output control information mentioned here includes the following. I / O device control word Holds start / interrupt control information for I / O device. I / O activation queue block This holds the I / O device control word related to the I / O device for which the activation request is issued in a queue structure. After the enqueue operation by the scalar processor, the dequeue operation by the I / O processor is performed. I / O interrupt queue block Holds I / O device control words related to I / O devices for which interrupt factors are suspended in a queue structure. After the enqueue operation by the I / O processor, the dequeue operation by the scalar processor is performed. All of these input / output control information are secured in a continuous area (hereinafter referred to as "specific area") on the main memory designated at the time of power-on reset of the system. And
The access processing to these I / O control information is performed not only when there is a start / interrupt request to the I / O device, but also when there is no particular request, to check the existence of the I / O device start request. As a result, the access process from the I / O processor to the I / O activation queue block is performed every predetermined monitoring time.

【0005】そこで、ベクトルプロセッサを有する計算
機システムでは、ベクトルプロセッサからのメモリアク
セス処理のスループットを低下させないために、スカラ
プロセッサおよび入出力プロセッサからの入出力制御情
報に対するメモリアクセス要求の発生頻度が抑制され
て、できる限り主記憶に対するメモリアクセス処理が発
生しないように考慮する必要がある。特に、ベクトルプ
ロセッサが必要とするベクトルデータを要素並列式に主
記憶から読み出してすべてのベクトル要素データが揃っ
てからベクトルレジスタへロードする方式を採用してい
る計算機システムでは、上述した入出力制御情報のデー
タの受け渡しによってベクトル要素データの読み出しが
わずか一要素だけ遅れてもベクトルレジスタへのベクト
ルデータのロード時間が増大し、ベクトルプロセッサか
らのメモリアクセス処理のスループットが大幅に低下し
てしまうという問題点があった。
Therefore, in a computer system having a vector processor, the frequency of occurrence of memory access requests for input / output control information from the scalar processor and the input / output processor is suppressed in order not to reduce the throughput of the memory access processing from the vector processor. Therefore, it is necessary to consider so that the memory access processing to the main memory does not occur as much as possible. In particular, in the computer system that employs the method of reading the vector data required by the vector processor in parallel from the main memory and loading all the vector element data into the vector register, the input / output control information described above is used. Even if the reading of the vector element data is delayed by only one element due to the passing of the data, the load time of the vector data to the vector register will increase and the throughput of the memory access processing from the vector processor will drop significantly. was there.

【0006】そこで、入出力制御情報の受け渡しにコミ
ュニケーションバッファ記憶を活用してベクトルプロセ
ッサからのメモリアクセス処理のスループットの向上を
図ることが考えられるが、この場合には次に述べるよう
な新たな問題が発生する。
Therefore, it is possible to improve the throughput of the memory access process from the vector processor by utilizing the communication buffer storage for the transfer of the input / output control information. In this case, however, a new problem as described below will occur. Occurs.

【0007】従来より、コミュニケーションバッファ記
憶内に新たなブロックデータを格納しようとする際に、
格納先候補として選定されたブロックグループ(複数の
ブロックの集まり)中に空きブロックがない場合には、
当該ブロックグループ中から古いブロックをひとつだけ
選び出して、当該ブロックに新たなブロックデータを上
書きする「置き換え」(リプレース処理)が行われてい
る。この場合、共有データとして特定スカラ命令のオペ
ランドデータのコピーを含むブロック(以後、“第1種
ブロック”と略記する)と、特定スカラ命令のオペラン
ドデータのコピーを含まずかつ入出力制御情報のデータ
のコピーを含むブロック(以後、“第2種ブロック”と
略記する)とをリプレース処理の候補として全く同等に
扱うと、すべての第1種ブロックがコミュニケーション
バッファ記憶内から掃き出されて第2種ブロックのみに
占有される可能性が生じ、コミュニケーションバッファ
記憶を設けた本来の目的である複数プロセッサ間におけ
る共有データの効率的な同期処理の実現が困難になって
しまうという問題点があった。
Conventionally, when trying to store new block data in the communication buffer storage,
If there is no free block in the block group (collection of multiple blocks) selected as the storage destination candidate,
Only one old block is selected from the block group, and "replacement" (replacement processing) is performed to overwrite the block with new block data. In this case, a block including a copy of operand data of a specific scalar instruction as shared data (hereinafter abbreviated as “type 1 block”) and a data of input / output control information not including a copy of operand data of a specific scalar instruction If a block including a copy of the first type block (hereinafter abbreviated as “second type block”) is treated as a replacement processing candidate, all the first type blocks are swept out from the communication buffer storage and the second type There is a problem in that it may be occupied only by blocks, making it difficult to realize an efficient purpose of efficiently synchronizing shared data between a plurality of processors provided with a communication buffer storage.

【0008】したがって本発明の目的は、上記の問題点
を解決して、コミュニケーションバッファ記憶をスカラ
プロセッサおよび入出力プロセッサで共用される入出力
制御情報の受け渡しに際しても活用することでベクトル
プロセッサからのメモリアクセス処理のスループットの
向上を図るとともに、コミュニケーションバッファ記憶
がブロックのリプレース処理のために特定スカラ命令の
オペランドデータのコピーを含まずかつ入出力制御情報
のデータのコピーを含むブロックのみに占有されてしま
うことを防止して複数プロセッサ間における共有データ
の効率的な同期処理を実現できる計算機システムを提供
することにある。
Therefore, an object of the present invention is to solve the above-mentioned problems and utilize the communication buffer storage also at the time of passing the input / output control information shared by the scalar processor and the input / output processor. In addition to improving the throughput of the access processing, the communication buffer storage is occupied only by the block that does not include the copy of the operand data of the specific scalar instruction and the copy of the data of the I / O control information due to the block replacement processing. It is to provide a computer system capable of preventing such a situation and realizing efficient synchronous processing of shared data between a plurality of processors.

【0009】[0009]

【課題を解決するための手段】上記の目的を達成するた
め、本発明の計算機システムは、複数のプロセッサ間で
共用される主記憶と、異なるプロセッサ間で共用される
特定命令のオペランドデータを含むデータのコピーをブ
ロック単位で保持するコミュニケーションバッファ記憶
を具備する記憶制御装置とを有する計算機システムにお
いて、複数のプロセッサから共用される入出力制御情報
を含むデータのコピーについても前記コミュニケーショ
ンバッファ記憶がブロック単位で保持するように構成し
たものである。
To achieve the above object, a computer system of the present invention includes main memory shared by a plurality of processors and operand data of a specific instruction shared by different processors. In a computer system having a storage controller having a communication buffer storage for holding a copy of data in block units, the communication buffer storage is also in block units for the copy of data including input / output control information shared by a plurality of processors. It is configured to be held by.

【0010】また、複数のプロセッサは、スカラプロセ
ッサ,入出力プロセッサ,ベクトルプロセッサの各々を
すべて含んでおり、前記記憶制御装置は、ベクトル命令
の実行に際して当該ベクトル命令のオペランドデータを
前記主記憶から直接的にベクトルプロセッサに送出し、
スカラプロセッサにおける特定命令の実行に際して当該
特定命令のオペランドデータを含むデータのコピーをブ
ロック単位で前記コミュニケーションバッファ記憶に格
納し、入出力命令の実行に際してスカラプロセッサおよ
び入出力プロセッサから共用される入出力制御情報を含
むデータのコピーをブロック単位で前記コミュニケーシ
ョンバッファ記憶に格納するように構成したものであ
る。
Further, the plurality of processors include all of a scalar processor, an input / output processor and a vector processor, and the storage controller directly outputs the operand data of the vector instruction from the main memory when executing the vector instruction. To the vector processor,
When executing a specific instruction in the scalar processor, a copy of data including operand data of the specific instruction is stored in the communication buffer storage in block units, and input / output control shared by the scalar processor and the input / output processor when executing the input / output instruction A copy of data containing information is stored in the communication buffer storage in block units.

【0011】また、複数のプロセッサからのメモリリク
エストアドレスで指定される要求データの格納位置が前
記主記憶上の前記特定領域内に含まれているか否かを検
出する要求データ所在判定手段と、前記要求データ所在
判定手段によって前記要求データの格納位置が前記主記
憶上の前記特定領域内に含まれていることが検出された
とき、前記要求データへのアクセス要求を前記コミュニ
ケーションバッファ記憶に対して発行するアクセス制御
手段と、を具備する構成としたものである。
Request data location determining means for detecting whether or not a storage position of request data designated by memory request addresses from a plurality of processors is included in the specific area on the main memory; When the request data location determining unit detects that the storage location of the request data is included in the specific area on the main memory, issues an access request to the request data to the communication buffer storage. And an access control means for performing the operation.

【0012】また、前記コミュニケーションバッファ記
憶内に保持されているブロックの各々について、前記特
定命令のオペランドデータのコピーを含む第1種ブロッ
クであるか否かを示すブロック種別情報を保持するブロ
ック種別情報保持手段と、前記コミュニケーションバッ
ファ記憶内に保持されているブロックのリプレース処理
に際し、前記第1種ブロックよりも前記特定命令のオペ
ランドデータのコピーを含まない第2種ブロックの方が
優先的にリプレース処理の対象となるようにブロックを
選択するリプレースブロック選択手段と、を具備する構
成としたものである。
Further, for each of the blocks held in the communication buffer storage, block type information holding block type information indicating whether or not the block is a type 1 block including a copy of operand data of the specific instruction. In the replacement processing of the holding means and the block held in the communication buffer storage, the second type block which does not include the copy of the operand data of the specific instruction is preferentially replaced with the first type block. The replacement block selecting means for selecting a block so as to be the target of the above.

【0013】[0013]

【作用】上記構成に基づく作用を説明する。The operation based on the above configuration will be described.

【0014】本発明の計算機システムは、複数のプロセ
ッサ間で共用される主記憶と、異なるプロセッサ間で共
用される特定命令のオペランドデータを含むデータのコ
ピーをブロック単位で保持するコミュニケーションバッ
ファ記憶を具備する記憶制御装置とを有する計算機シス
テムにおいて、複数のプロセッサから共用される入出力
制御情報を含むデータのコピーについても前記コミュニ
ケーションバッファ記憶がブロック単位で保持するよう
に構成し、また、複数のプロセッサからのメモリリクエ
ストアドレスで指定される要求データの格納位置が前記
主記憶上の前記特定領域内に含まれているか否かを検出
する要求データ所在判定手段と、前記要求データ所在判
定手段によって前記要求データの格納位置が前記主記憶
上の前記特定領域内に含まれていることが検出されたと
き、前記要求データへのアクセス要求を前記コミュニケ
ーションバッファ記憶に対して発行するアクセス制御手
段と、を具備する構成としている。
The computer system of the present invention comprises a main memory shared by a plurality of processors, and a communication buffer memory for holding a copy of data including operand data of a specific instruction shared by different processors in block units. In a computer system having a storage controller, the communication buffer storage holds the copy of data including input / output control information shared by a plurality of processors in block units. Request data location determining means for detecting whether or not the storage location of the request data designated by the memory request address is included in the specific area on the main memory, and the request data by the request data location determining means. Is stored in the specific area on the main memory When it is detected that is contained in, it has a configuration having a, and access control means for issuing a request for access to the requested data to the communication buffer storage.

【0015】上記の場合、複数のプロセッサは、スカラ
プロセッサ,入出力プロセッサ,ベクトルプロセッサの
各々をすべて含んでおり、前記記憶制御装置は、ベクト
ル命令の実行に際して当該ベクトル命令のオペランドデ
ータを前記主記憶から直接的にベクトルプロセッサに送
出し、スカラプロセッサにおける特定命令の実行に際し
て当該特定命令のオペランドデータを含むデータのコピ
ーをブロック単位で前記コミュニケーションバッファ記
憶に格納し、入出力命令の実行に際してスカラプロセッ
サおよび入出力プロセッサから共用される入出力制御情
報を含むデータのコピーをブロック単位で前記コミュニ
ケーションバッファ記憶に格納する。
In the above case, the plurality of processors include all of the scalar processor, the input / output processor and the vector processor, and the storage control device stores the operand data of the vector instruction in the main memory when executing the vector instruction. Directly to the vector processor, and when executing a specific instruction in the scalar processor, stores a copy of data including operand data of the specific instruction in the communication buffer storage in block units, and when executing an input / output instruction, the scalar processor and A copy of data including input / output control information shared by the input / output processors is stored in the communication buffer storage in block units.

【0016】このため、スカラプロセッサおよび入出力
プロセッサから主記憶上の特定領域内に格納されている
入出力制御情報を要求データとして読み出す際には、特
定命令のオペランドデータを読み出すときと同様、最初
にコミュニケーションバッファ記憶に対してアクセス要
求が発行され、当該入出力制御情報がコミュニケーショ
ンバッファ記憶に保持されていれば主記憶に対するアク
セス要求は行われないので、コミュニケーションバッフ
ァ記憶はスカラプロセッサおよび入出力プロセッサで共
用される入出力制御情報の受け渡しに際しても活用さ
れ、ベクトルプロセッサからのメモリアクセス処理のス
ループットの向上を図ることができる。
Therefore, when the input / output control information stored in the specific area on the main memory is read as request data from the scalar processor and the input / output processor, the first operation is the same as when reading the operand data of the specific instruction. If the access request is issued to the communication buffer memory and the input / output control information is held in the communication buffer memory, the access request to the main memory is not made. This is also utilized when passing shared input / output control information, and the throughput of memory access processing from the vector processor can be improved.

【0017】また、前記コミュニケーションバッファ記
憶内に保持されているブロックの各々について、前記特
定命令のオペランドデータのコピーを含む第1種ブロッ
クであるか否かを示すブロック種別情報を保持するブロ
ック種別情報保持手段と、前記コミュニケーションバッ
ファ記憶内に保持されているブロックのリプレース処理
に際し、前記第1種ブロックよりも前記特定命令のオペ
ランドデータのコピーを含まない第2種ブロックの方が
優先的にリプレース処理の対象となるようにブロックを
選択するリプレースブロック選択手段と、を具備する構
成としている。
Further, for each of the blocks held in the communication buffer storage, block type information holding block type information indicating whether or not the block is a type 1 block including a copy of operand data of the specific instruction. In the replacement processing of the holding means and the block held in the communication buffer storage, the second type block which does not include the copy of the operand data of the specific instruction is preferentially replaced with the first type block. Replacement block selecting means for selecting a block so as to be a target of the above.

【0018】このため、特定命令のオペランドデータの
コピーを含む第1種ブロックは、特定命令のオペランド
データのコピーを含まない第2種ブロックにくらべて常
にリプレース処理の対象となりにくくなるので、ブロッ
ク・グループ中に第2種ブロックが存在する限り、すべ
ての第1種ブロックがコミュニケーションバッファ記憶
から掃き出されてしまうことは起こり得ない。したがっ
て、コミュニケーションバッファ記憶がブロックのリプ
レース処理のために特定命令のオペランドデータのコピ
ーを含まない第2種ブロックのみに占有されてしまうこ
とを防止して、複数プロセッサ間における共有データの
効率的な同期処理を実現できる。
Therefore, the type 1 block including the copy of the operand data of the specific instruction is less likely to be the target of the replacement process than the block of the type 2 that does not include the copy of the operand data of the specific instruction. As long as there are type 2 blocks in the group, it is unlikely that all type 1 blocks will be flushed from the communication buffer store. Therefore, it is possible to prevent the communication buffer storage from being occupied only by the second type block that does not include the copy of the operand data of the specific instruction due to the block replacement process, and efficiently synchronize the shared data between the plurality of processors. Processing can be realized.

【0019】[0019]

【実施例】以下、本発明の計算機システムの一実施例を
図面を用いて詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a computer system of the present invention will be described in detail below with reference to the drawings.

【0020】図1は、本発明の計算機システムの一実施
例の全体構成を示すブロック図である。同図中、10お
よび11はスカラプロセッサ、12は入出力プロセッ
サ、2はベクトルプロセッサ、3は記憶制御装置、4は
スカラプロセッサ10および11,入出力プロセッサ1
2,ベクトルプロセッサ2によって共有される主記憶、
5はコミュニケーションバッファ記憶制御装置、6はコ
ミュニケーションバッファ記憶である。
FIG. 1 is a block diagram showing the overall configuration of an embodiment of a computer system of the present invention. In the figure, 10 and 11 are scalar processors, 12 is an input / output processor, 2 is a vector processor, 3 is a storage controller, 4 is scalar processors 10 and 11, and an input / output processor 1.
2, the main memory shared by the vector processor 2,
Reference numeral 5 is a communication buffer storage control device, and 6 is a communication buffer storage.

【0021】図2は、図1中のコミュニケーションバッ
ファ記憶制御装置の内部構成を示すブロック図である。
同図中、コミュニケーションバッファ記憶制御装置5
は、コミュニケーションバッファ記憶6以外の構成要素
として、コミュニケーションバッファ記憶6をアクセス
するアドレスを保持するコミュニケーションバッファア
ドレスレジスタ51,コミュニケーションバッファ記憶
6に格納されたブロックデータの主記憶上におけるアド
レス(ブロックアドレス)およびコミュニケーションバ
ッファ記憶6に当該ブロックデータが格納されているか
否かを表す有効ビットを保持するアドレスアレイ52,
コミュニケーションバッファ記憶6に格納されている各
々のブロックデータ間の置き換え優先度指示ビットを保
持するリプレースメントアレイ53,コミュニケーショ
ンバッファ記憶6に格納されているブロックが特定スカ
ラ命令(請求項中の“特定命令”に相当する)のオペラ
ンドデータを含んでいるか否かを示すブロック種別情報
を保持するブロック種別情報保持手段54,プロセッサ
からのメモリリクエストアドレスが主記憶上の特定領域
に含まれるアドレスであるか否かを検出するウィンドウ
コンパレータ5B(請求項中の“要求データ所在判定手
段”に相当する)などを有している。
FIG. 2 is a block diagram showing the internal structure of the communication buffer storage control device in FIG.
In the figure, the communication buffer storage controller 5
Is a component other than the communication buffer memory 6, a communication buffer address register 51 that holds an address for accessing the communication buffer memory 6, an address (block address) on the main memory of the block data stored in the communication buffer memory 6, and An address array 52 holding a valid bit indicating whether or not the block data is stored in the communication buffer memory 6,
The replacement array 53 for holding the replacement priority indicating bits between the respective block data stored in the communication buffer memory 6 and the block stored in the communication buffer memory 6 are a specific scalar instruction (“specific instruction” in the claims). (Corresponding to) operand data, block type information holding means 54 for holding block type information indicating whether or not the memory request address from the processor is an address included in a specific area on the main memory. And a window comparator 5B (corresponding to "request data location determining means" in claims) and the like.

【0022】ここで、アドレスアレイ52,リプレース
メントアレイ53,ブロック種別情報保持手段54,コ
ミュニケーションバッファ記憶6については、いずれも
コミュニケーションバッファアドレスレジスタ51中の
カラムアドレスで指定されるブロックグループに関して
のみ、その内容を参照することが可能である。また、ベ
クトルプロセッサ2は、ベクトルデータを保持するため
のベクトルレジスタ21を有しており、ベクトルレジス
タ21と主記憶4との間では大量のデータ転送が高いス
ループットで行われる。このことは、ベクトルレジスタ
21と主記憶4との間に中間バッファのようなものを設
けたとしても、中間バッファと主記憶4との間で定常的
なデータ転送が行われてしまうことを意味するため、一
般的にベクトルプロセッサ2については直接的に主記憶
4をアクセスする方式が採られている。
Here, the contents of the address array 52, the replacement array 53, the block type information holding means 54, and the communication buffer memory 6 are all related only to the block group designated by the column address in the communication buffer address register 51. Can be referred to. Further, the vector processor 2 has a vector register 21 for holding vector data, and a large amount of data is transferred between the vector register 21 and the main memory 4 with high throughput. This means that even if something like an intermediate buffer is provided between the vector register 21 and the main memory 4, steady data transfer is performed between the intermediate buffer and the main memory 4. Therefore, the vector processor 2 generally employs a method of directly accessing the main memory 4.

【0023】最初に、従来から行われている特定スカラ
命令のオペランド読み出し要求に対する処理の内容と、
本実施例で行われる入出力制御情報の読み出し要求に対
する処理の内容について説明する。
First, the contents of the conventional processing for the operand read request of the specific scalar instruction,
The contents of the processing for the read request of the input / output control information performed in this embodiment will be described.

【0024】複数プロセッサ間における共有データの同
期処理を目的としてスカラプロセッサ10が必要な共有
データの読み出しを行う場合、スカラプロセッサ10
は、記憶制御装置3に対して特定スカラ命令(以下、具
体的に想定するのはTS(Test-and-set)命令である)の
オペランドデータ(以後、“同期変数”と略記する)読
み出し要求を発行する。この特定スカラ命令はコミュニ
ケーションバッファ記憶制御装置5に伝達され、同時に
送出された当該特定スカラ命令のデコード信号10cを
契機として、コミュニケーションバッファ記憶アクセス
制御手段58がコミュニケーションバッファ記憶6に対
するアクセスを開始する。
When the scalar processor 10 reads necessary shared data for the purpose of synchronizing the shared data between a plurality of processors, the scalar processor 10
Is a read request for operand data (hereinafter abbreviated as “synchronous variable”) of a specific scalar instruction (hereinafter, concretely assumed to be a TS (Test-and-set) instruction) to the storage controller 3. To issue. This specific scalar instruction is transmitted to the communication buffer storage control device 5, and the communication buffer storage access control means 58 starts access to the communication buffer storage 6 triggered by the decode signal 10c of the specific scalar instruction transmitted at the same time.

【0025】一方、入出力起動要求の有無を調べること
を目的として入出力プロセッサ12が必要な共有データ
の読み出しを行う場合、入出力プロセッサ12は、該当
する入出力制御情報が格納されている主記憶4内の特定
領域における入出力起動キュー・ブロックの読み出し要
求を記憶制御装置3に対して発行する。この読み出し要
求に付加されたアドレス5aaがコミュニケーションバ
ッファ記憶制御装置5に伝達されて、ウィンドウコンパ
レータ5Bによって特定領域に含まれるアドレスである
ことが検出されると、コミュニケーションバッファ記憶
アクセス制御手段58がコミュニケーションバッファ記
憶6に対するアクセスを開始する。
On the other hand, when the input / output processor 12 reads out the necessary shared data for the purpose of checking the presence / absence of the input / output activation request, the input / output processor 12 stores the main input / output control information. A read request for an I / O activation queue block in a specific area in the memory 4 is issued to the storage controller 3. When the address 5aa added to the read request is transmitted to the communication buffer storage controller 5 and the window comparator 5B detects that the address 5aa is included in the specific area, the communication buffer storage access control means 58 causes the communication buffer storage access control means 58 to operate. Access to the memory 6 is started.

【0026】共有データの同期処理および入出力起動要
求のチェックのいずれの場合であっても、コミュニケー
ションバッファ記憶6に対するアクセスが開始される
と、読み出し要求に付加されたアドレス5aaをコミュ
ニケーションバッファアドレスレジスタ51にセットし
た後、その中のカラムアドレスでアドレスアレイ52か
ら読み出した有効ビット込みのブロックアドレスと、コ
ミュニケーションバッファアドレスレジスタ51中のブ
ロックアドレスとをヒット検出手段55へ入力させて、
目的とするオペランドデータまたは入出力制御情報を含
む1ブロックの主記憶4内のデータのコピーがすでにコ
ミュニケーションバッファ記憶6内に格納済であるか否
かを調べる。
In both cases of the shared data synchronization processing and the input / output activation request check, when the access to the communication buffer memory 6 is started, the address 5aa added to the read request is set to the communication buffer address register 51. After that, the block address including the effective bit read from the address array 52 by the column address therein and the block address in the communication buffer address register 51 are input to the hit detection means 55,
It is checked whether or not a copy of the data in the main memory 4 of one block containing the target operand data or the input / output control information has already been stored in the communication buffer memory 6.

【0027】ヒット検出手段55は、コミュニケーショ
ンバッファアドレスレジスタ51中のカラムアドレスに
よって指定されたブロックグループのブロックアドレス
および有効ビットをアドレスアレイ52から読み出し、
有効ビットの設定値が‘1’であるブロックアドレスと
コミュニケーションバッファアドレスレジスタ51から
入力されたブロックアドレスとを比較する。そして、そ
れぞれのブロックアドレスの値が一致したときには、要
求データ(同期変数あるいは入出力起動キュー・ブロッ
ク)を含むブロックデータがすでにコミュニケーション
バッファ記憶6内に格納済であることを、コミュニケー
ションバッファ記憶アクセス制御手段58に対して報告
する。この報告を受けたコミュニケーションバッファ記
憶アクセス制御手段58は、準備されていた主記憶4に
対するアクセス要求の発行を取り止めさせた後、コミュ
ニケーションバッファ記憶6から同期変数または入出力
起動キュー・ブロックを読み出し、読み出し要求発行元
のスカラプロセッサ10または入出力プロセッサ12へ
返送する。
The hit detecting means 55 reads the block address and effective bit of the block group designated by the column address in the communication buffer address register 51 from the address array 52,
The block address in which the setting value of the effective bit is “1” is compared with the block address input from the communication buffer address register 51. Then, when the values of the respective block addresses match, it is confirmed that the block data including the request data (synchronization variable or input / output activation queue block) has already been stored in the communication buffer storage 6 by the communication buffer storage access control. Report to means 58. Upon receiving this report, the communication buffer storage access control means 58 stops issuing the prepared access request to the main memory 4, and then reads and reads the synchronization variable or the input / output activation queue block from the communication buffer memory 6. The request is returned to the scalar processor 10 or the input / output processor 12 that issued the request.

【0028】ところで、ヒット検出手段55からの出力
はリプレースメントアレイ更新手段57に対しても入力
されており、リプレースメントアレイ53が保持してい
る該当するブロックグループの置き換え優先度指示ビッ
トRij(該当するブロックグループ内のブロックiおよ
びブロックjの間における置き換え優先度である)の設
定値が、所定のリプレースメントアルゴリズムにしたが
って更新される。ただし、ブロック種別情報保持手段5
4により、当該ブロックiが同期変数を含むブロックで
あり、当該ブロックjが同期変数を含まないブロックで
あるとして、リプレースメントアレイ更新手段57に対
する指示が行われた場合には、該当する置き換え優先度
指示ビットRijに対して無条件に‘1’(ブロックiよ
りもブロックjの方が置き換え優先度が高い)がセット
されるものとする。
The output from the hit detecting means 55 is also inputted to the replacement array updating means 57, and the replacement priority indicating bit Rij (corresponding block) of the corresponding block group held by the replacement array 53 is held. The setting value of the replacement priority between the block i and the block j in the group) is updated according to a predetermined replacement algorithm. However, the block type information holding means 5
According to 4, it is determined that the block i is a block including the synchronization variable and the block j is a block not including the synchronization variable, and when the replacement array updating unit 57 is instructed, the corresponding replacement priority instruction is performed. It is assumed that the bit Rij is unconditionally set to "1" (the replacement priority of the block j is higher than that of the block i).

【0029】共有データの同期処理の場合、同期変数を
受け取ったスカラプロセッサ10は、同期変数の値から
TS命令の条件コードを生成するとともに、同期変数に
おける指定されたビットを‘1’にセットしてから記憶
制御装置3に対する書き込み要求を発行する。また、入
出力起動要求のチェックの場合、入出力起動キュー・ブ
ロックを受け取った入出力プロセッサ12は、入出力起
動キュー・ブロックに1個以上の入出力デバイス制御語
が保持されていれば、入出力デバイスを起動するために
デキュー操作を行って入出力デバイス制御語を1個取り
出す。そして、更新後の入出力起動キュー・ブロックの
書き込み要求を記憶制御装置3に対して発行する。
In the case of synchronous processing of shared data, the scalar processor 10 that has received the synchronization variable generates the condition code of the TS instruction from the value of the synchronization variable and sets the designated bit in the synchronization variable to "1". Then, the write request to the storage controller 3 is issued. Further, in the case of checking the I / O activation request, the I / O processor 12 that has received the I / O activation queue block enters if the I / O activation queue block holds one or more I / O device control words. A dequeue operation is performed to activate the output device, and one I / O device control word is fetched. Then, the write request for the updated input / output activation queue block is issued to the storage controller 3.

【0030】同期変数または入出力起動キュー・ブロッ
クの書き込み要求については、読み出し要求のときと同
様な処理で、コミュニケーションバッファ記憶アクセス
制御手段58によってコミュニケーションバッファ記憶
6へのアクセスを開始する。このとき、同期変数または
入出力起動キュー・ブロックの書き込みは、コミュニケ
ーションバッファ記憶6に対してだけでなく、主記憶4
に対しても行う。これは、ベクトルプロセッサ2が唯一
参照する主記憶4の内容と、コミュニケーションバッフ
ァ記憶6の内容とを常に一致させる必要があるためであ
る。
For the write request of the synchronization variable or the I / O activation queue block, the communication buffer storage access control means 58 starts the access to the communication buffer storage 6 by the same processing as the read request. At this time, the writing of the synchronization variable or the I / O activation queue block is performed not only to the communication buffer memory 6 but also to the main memory 4
Also to. This is because the contents of the main memory 4 which the vector processor 2 only refers to and the contents of the communication buffer memory 6 need to be always matched.

【0031】次に、コミュニケーションバッファ記憶6
内に同期変数あるいは入出力起動キュー・ブロックが格
納されていなかった場合について説明する。
Next, the communication buffer storage 6
The case where the synchronization variable or the input / output activation queue block is not stored in the inside will be described.

【0032】ヒット検出手段55は、コミュニケーショ
ンバッファアドレスレジスタ51中のカラムアドレスに
よって指定されたブロックグループのブロックアドレス
および有効ビットをアドレスアレイ52から読み出し
て、有効ビットの設定値が‘1’であるブロックアドレ
スとコミュニケーションバッファアドレスレジスタ51
から入力されたブロックアドレスとを比較する。その結
果、ブロックアドレスの値が一致しなかったときには、
要求データ(同期変数あるいは入出力起動キュー・ブロ
ック)を含むブロックデータはコミュニケーションバッ
ファ記憶6内に格納されていないことが検出される。
The hit detecting means 55 reads the block address and the effective bit of the block group designated by the column address in the communication buffer address register 51 from the address array 52, and the effective bit set value is "1". Address and communication buffer address register 51
Compare with the block address input from. As a result, when the block address values do not match,
It is detected that the block data including the request data (synchronization variable or I / O activation queue block) is not stored in the communication buffer memory 6.

【0033】そして、この検出結果をトリガとして、あ
らかじめ主記憶4に対して準備しておいた要求データを
含むブロックデータの読み出し要求が発行され、主記憶
4から目的のブロックデータがコミュニケーションバッ
ファ記憶6へ転送および格納される。このとき、アドレ
スアレイ52に当該ブロックデータのブロックアドレス
が登録されるとともにアドレスアレイ52が保持する有
効ビットに値‘1’がセットされ、ブロック種別情報保
持手段54に対して当該ブロックデータが同期変数を含
むか否かの設定が行われる。当該ブロックデータがすべ
てコミュニケーションバッファ記憶6内に格納され、さ
らに、当該ブロックデータのブロックアドレスがアドレ
スアレイ52に登録された後、当該要求データが当初か
らコミュニケーションバッファ記憶6内に格納されてい
る場合と共通の処理が行われる。
Then, using this detection result as a trigger, a read request of block data including request data prepared in advance to the main memory 4 is issued, and the target block data is sent from the main memory 4 to the communication buffer memory 6 Transferred to and stored in. At this time, the block address of the block data is registered in the address array 52, the value "1" is set in the valid bit held by the address array 52, and the block data is stored in the block type information holding means 54 as a synchronization variable. Whether or not to include is set. When all the block data is stored in the communication buffer storage 6, and after the block address of the block data is registered in the address array 52, the request data is stored in the communication buffer storage 6 from the beginning. Common processing is performed.

【0034】最後に、コミュニケーションバッファ記憶
6内のデータの置き換え(リプレース処理)について説
明する。
Finally, the replacement (replacement processing) of the data in the communication buffer memory 6 will be described.

【0035】ヒット検出手段55がコミュニケーション
バッファ記憶6内に要求データ(同期変数あるいは入出
力起動キュー・ブロック)を含むブロックデータが格納
されていないことを検出し、同時に、コミュニケーショ
ンバッファアドレスレジスタ51中のカラムアドレスで
指定されるブロックグループについてアドレスアレイ5
2内の有効ビットの設定値がすべて‘1’であった場
合、当該ブロックグループに属するすべてのブロックが
使われてしまったことが認識されて、リプレースブロッ
ク選択手段56がリプレースメントアレイ53に基づい
てリプレース処理の対象とするブロックを1つ選択す
る。リプレースメントアレイ53は、ブロック種別情報
保持手段54およびリプレースメントアレイ更新手段5
7によって最新の値が設定されており、「“同期変数を
含むブロックの置き換え優先度”<“同期変数を含まな
いブロックの置き換え優先度”」を常に示している。し
たがって、同期変数を含むブロック(請求項中の“第1
種ブロック”に相当する)が同期変数を含まないブロッ
ク(請求項中の“第2種ブロック”に相当する)に置き
換えられるようにリプレースブロック選択手段56がブ
ロックを選択するケースは、ブロックグループ全体が同
期変数を含むブロックのみに占有されていた場合に限ら
れる。
The hit detecting means 55 detects that the block data including the request data (synchronous variable or input / output activation queue block) is not stored in the communication buffer memory 6, and at the same time, the hit data in the communication buffer address register 51 is detected. Address array 5 for block group specified by column address
When the setting values of the valid bits in 2 are all “1”, it is recognized that all the blocks belonging to the block group have been used, and the replacement block selection unit 56 determines based on the replacement array 53. Select one block to be replaced. The replacement array 53 includes a block type information holding unit 54 and a replacement array updating unit 5.
The latest value is set by 7 and always indicates "" replacement priority of block including synchronization variable "<" replacement priority of block not including synchronization variable "". Therefore, the block containing the synchronization variable (“first” in the claims)
The case where the replacement block selecting means 56 selects a block so that the block corresponding to the “seed block” is replaced with the block not including the synchronization variable (corresponding to the “second kind block” in the claims) is the entire block group. Only when is occupied only by the block containing the synchronization variable.

【0036】[0036]

【発明の効果】以上詳しく説明したように、本発明の計
算機システムによれば、複数のプロセッサ間で共用され
る主記憶と、異なるプロセッサ間で共用される特定命令
のオペランドデータを含むデータのコピーをブロック単
位で保持するコミュニケーションバッファ記憶を具備す
る記憶制御装置とを有する計算機システムにおいて、複
数のプロセッサから共用される入出力制御情報を含むデ
ータのコピーについても前記コミュニケーションバッフ
ァ記憶がブロック単位で保持するように構成し、また、
複数のプロセッサからのメモリリクエストアドレスで指
定される要求データの格納位置が前記主記憶上の前記特
定領域内に含まれているか否かを検出する要求データ所
在判定手段と、前記要求データ所在判定手段によって前
記要求データの格納位置が前記主記憶上の前記特定領域
内に含まれていることが検出されたとき、前記要求デー
タへのアクセス要求を前記コミュニケーションバッファ
記憶に対して発行するアクセス制御手段と、を具備する
構成としている。
As described in detail above, according to the computer system of the present invention, a copy of data including main memory shared by a plurality of processors and operand data of a specific instruction shared by different processors. In a computer system having a storage controller having a communication buffer storage for holding each of the blocks, the communication buffer storage holds the copy of the data including the input / output control information shared by a plurality of processors in the unit of block. Configured as
Request data location determining means for detecting whether a storage location of request data designated by memory request addresses from a plurality of processors is included in the specific area on the main memory, and the request data location determining means Access control means for issuing an access request for the request data to the communication buffer storage when it is detected that the storage location of the request data is included in the specific area on the main memory. , Is provided.

【0037】上記の場合、複数のプロセッサは、スカラ
プロセッサ,入出力プロセッサ,ベクトルプロセッサの
各々をすべて含んでおり、前記記憶制御装置は、ベクト
ル命令の実行に際して当該ベクトル命令のオペランドデ
ータを前記主記憶から直接的にベクトルプロセッサに送
出し、スカラプロセッサにおける特定命令の実行に際し
て当該特定命令のオペランドデータを含むデータのコピ
ーをブロック単位で前記コミュニケーションバッファ記
憶に格納し、入出力命令の実行に際してスカラプロセッ
サおよび入出力プロセッサから共用される入出力制御情
報を含むデータのコピーをブロック単位で前記コミュニ
ケーションバッファ記憶に格納する。
In the above case, the plurality of processors include all of the scalar processor, the input / output processor, and the vector processor, and the storage control device stores the operand data of the vector instruction in the main memory when executing the vector instruction. Directly to the vector processor, and when executing a specific instruction in the scalar processor, stores a copy of data including operand data of the specific instruction in the communication buffer storage in block units, and when executing an input / output instruction, the scalar processor and A copy of data including input / output control information shared by the input / output processors is stored in the communication buffer storage in block units.

【0038】このため、スカラプロセッサおよび入出力
プロセッサから主記憶上の特定領域内に格納されている
入出力制御情報を要求データとして読み出す際には、特
定命令のオペランドデータを読み出すときと同様、最初
にコミュニケーションバッファ記憶に対してアクセス要
求が発行され、当該入出力制御情報がコミュニケーショ
ンバッファ記憶に保持されていれば主記憶に対するアク
セス要求は行われないので、コミュニケーションバッフ
ァ記憶はスカラプロセッサおよび入出力プロセッサで共
用される入出力制御情報の受け渡しに際しても活用さ
れ、ベクトルプロセッサからのメモリアクセス処理のス
ループットの向上を図ることができるという効果が得ら
れる。
Therefore, when the input / output control information stored in the specific area on the main memory is read as request data from the scalar processor and the input / output processor, the first operation is the same as when reading the operand data of the specific instruction. If the access request is issued to the communication buffer memory and the input / output control information is held in the communication buffer memory, the access request to the main memory is not made. This is also utilized when passing shared input / output control information, and the effect that the throughput of memory access processing from the vector processor can be improved is obtained.

【0039】また、前記コミュニケーションバッファ記
憶内に保持されているブロックの各々について、前記特
定命令のオペランドデータのコピーを含む第1種ブロッ
クであるか否かを示すブロック種別情報を保持するブロ
ック種別情報保持手段と、前記コミュニケーションバッ
ファ記憶内に保持されているブロックのリプレース処理
に際し、前記第1種ブロックよりも前記特定命令のオペ
ランドデータのコピーを含まない第2種ブロックの方が
優先的にリプレース処理の対象となるようにブロックを
選択するリプレースブロック選択手段と、を具備する構
成としている。
Further, for each of the blocks held in the communication buffer storage, block type information holding block type information indicating whether or not the block is a type 1 block including a copy of operand data of the specific instruction. In the replacement processing of the holding means and the block held in the communication buffer storage, the second type block which does not include the copy of the operand data of the specific instruction is preferentially replaced with the first type block. Replacement block selecting means for selecting a block so as to be a target of the above.

【0040】このため、特定命令のオペランドデータの
コピーを含む第1種ブロックは、特定命令のオペランド
データのコピーを含まない第2種ブロックにくらべて常
にリプレース処理の対象となりにくくなるので、ブロッ
ク・グループ中に第2種ブロックが存在する限り、すべ
ての第1種ブロックがコミュニケーションバッファ記憶
から掃き出されてしまうことは起こり得ない。したがっ
て、コミュニケーションバッファ記憶がブロックのリプ
レース処理のために特定命令のオペランドデータのコピ
ーを含まない第2種ブロックのみに占有されてしまうこ
とを防止して、複数プロセッサ間における共有データの
効率的な同期処理を実現できるという効果が得られる。
Therefore, the type 1 block containing the copy of the operand data of the specific instruction is less likely to be the target of the replacement process than the block of the type 2 containing no copy of the operand data of the specific instruction. As long as there are type 2 blocks in the group, it is unlikely that all type 1 blocks will be flushed from the communication buffer store. Therefore, it is possible to prevent the communication buffer storage from being occupied only by the second type block that does not include the copy of the operand data of the specific instruction due to the block replacement process, and efficiently synchronize the shared data between the plurality of processors. The effect that the processing can be realized is obtained.

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

【図1】本発明の計算機システムの一実施例の全体構成
を示すブロック図である。
FIG. 1 is a block diagram showing an overall configuration of an embodiment of a computer system of the present invention.

【図2】図1中のコミュニケーションバッファ記憶制御
装置の内部構成を示すブロック図である。
FIG. 2 is a block diagram showing an internal configuration of a communication buffer storage control device in FIG.

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

10,11 スカラプロセッサ 10c,11c 特定スカラ命令のデコード信号 12 入出力プロセッサ 120,121,122 入出力デバイス 2 ベクトルプロセッサ 21 ベクトルレジスタ 3 記憶制御装置 4 主記憶 5 コミュニケーションバッファ記憶制御装置 5a 対プロセッサインタフェース 5aa プロセッサからのアドレス 5b 対主記憶インタフェース 51 コミュニケーションバッファアドレスレジスタ 52 アドレスアレイ 53 リプレースメントアレイ 54 ブロック種別情報保持手段 55 ヒット検出手段 56 リプレースブロック選択手段 57 リプレースメントアレイ更新手段 58 コミュニケーションバッファ記憶アクセス制御手
段 59 主記憶上の特定領域の下限アドレスを保持するレ
ジスタ 5A 主記憶上の特定領域の上限アドレスを保持するレ
ジスタ 5B ウィンドウコンパレータ 6 コミュニケーションバッファ記憶
10, 11 Scalar processor 10c, 11c Decode signal of specific scalar instruction 12 Input / output processor 120, 121, 122 Input / output device 2 Vector processor 21 Vector register 3 Storage controller 4 Main memory 5 Communication buffer Storage controller 5a Versus processor interface 5aa Address from processor 5b Main memory interface 51 Communication buffer address register 52 Address array 53 Replacement array 54 Block type information holding means 55 Hit detection means 56 Replace block selection means 57 Replacement array update means 58 Communication buffer memory access control means 59 Main memory Register that holds the lower limit address of the upper specific area 5A Specific area in main memory Register that holds the upper limit address of 5B Window comparator 6 Communication buffer storage

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサ間で共用される主記憶
と、 異なるプロセッサ間で共用される特定命令のオペランド
データを含むデータのコピーをブロック単位で保持する
コミュニケーションバッファ記憶を具備する記憶制御装
置とを有する計算機システムにおいて、 複数のプロセッサから共用される入出力制御情報を含む
データのコピーについても前記コミュニケーションバッ
ファ記憶がブロック単位で保持するように構成したこと
を特徴とする計算機システム。
1. A storage controller comprising: a main memory shared by a plurality of processors; and a communication buffer memory for holding, in block units, a copy of data including operand data of a specific instruction shared by different processors. In the computer system having the above-mentioned item, the communication buffer memory holds the copy of data including input / output control information shared by a plurality of processors in block units.
【請求項2】 複数のプロセッサは、スカラプロセッ
サ,入出力プロセッサ,ベクトルプロセッサの各々をす
べて含んでおり、 前記記憶制御装置は、 ベクトル命令の実行に際して当該ベクトル命令のオペラ
ンドデータを前記主記憶から直接的にベクトルプロセッ
サに送出し、 スカラプロセッサにおける特定命令の実行に際して当該
特定命令のオペランドデータを含むデータのコピーをブ
ロック単位で前記コミュニケーションバッファ記憶に格
納し、 入出力命令の実行に際してスカラプロセッサおよび入出
力プロセッサから共用される入出力制御情報を含むデー
タのコピーをブロック単位で前記コミュニケーションバ
ッファ記憶に格納するように構成したことを特徴とする
請求項1記載の計算機システム。
2. A plurality of processors include all of a scalar processor, an input / output processor, and a vector processor, and the storage controller directly outputs operand data of the vector instruction from the main memory when executing the vector instruction. To the vector processor, and when executing the specific instruction in the scalar processor, store a copy of the data including the operand data of the specific instruction in the communication buffer storage in block units, and execute the input / output instruction in the scalar processor and the input / output. 2. The computer system according to claim 1, wherein a copy of data including input / output control information shared by processors is stored in the communication buffer storage in block units.
【請求項3】 複数のプロセッサからのメモリリクエス
トアドレスで指定される要求データの格納位置が前記主
記憶上の前記特定領域内に含まれているか否かを検出す
る要求データ所在判定手段と、 前記要求データ所在判定手段によって前記要求データの
格納位置が前記主記憶上の前記特定領域内に含まれてい
ることが検出されたとき、前記要求データへのアクセス
要求を前記コミュニケーションバッファ記憶に対して発
行するアクセス制御手段と、を具備する構成としたこと
を特徴とする請求項1または2記載の計算機システム。
3. Request data location determining means for detecting whether or not a storage position of request data designated by memory request addresses from a plurality of processors is included in the specific area on the main memory, When the request data location determining unit detects that the storage location of the request data is included in the specific area on the main memory, issues an access request to the request data to the communication buffer storage. 3. The computer system according to claim 1, further comprising: an access control unit for controlling the access.
【請求項4】 前記コミュニケーションバッファ記憶内
に保持されているブロックの各々について、前記特定命
令のオペランドデータのコピーを含む第1種ブロックで
あるか否かを示すブロック種別情報を保持するブロック
種別情報保持手段と、 前記コミュニケーションバッファ記憶内に保持されてい
るブロックのリプレース処理に際し、前記第1種ブロッ
クよりも前記特定命令のオペランドデータのコピーを含
まない第2種ブロックの方が優先的にリプレース処理の
対象となるようにブロックを選択するリプレースブロッ
ク選択手段と、を具備する構成としたことを特徴とする
請求項3記載の計算機システム。
4. Block type information holding block type information indicating whether or not each of the blocks held in the communication buffer memory is a type 1 block including a copy of operand data of the specific instruction. In the replacement processing of the holding means and the block held in the communication buffer storage, the second type block that does not include a copy of the operand data of the specific instruction is preferentially replaced with the first type block. 4. The computer system according to claim 3, further comprising replacement block selecting means for selecting a block so as to be a target of.
JP3846695A 1995-02-27 1995-02-27 Computer system Pending JPH08235138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3846695A JPH08235138A (en) 1995-02-27 1995-02-27 Computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3846695A JPH08235138A (en) 1995-02-27 1995-02-27 Computer system

Publications (1)

Publication Number Publication Date
JPH08235138A true JPH08235138A (en) 1996-09-13

Family

ID=12526031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3846695A Pending JPH08235138A (en) 1995-02-27 1995-02-27 Computer system

Country Status (1)

Country Link
JP (1) JPH08235138A (en)

Similar Documents

Publication Publication Date Title
US4530052A (en) Apparatus and method for a data processing unit sharing a plurality of operating systems
US4597044A (en) Apparatus and method for providing a composite descriptor in a data processing system
US4521851A (en) Central processor
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
US6799257B2 (en) Method and apparatus to control memory accesses
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
GB2348306A (en) Batch processing of tasks in data processing systems
KR20040033029A (en) Method and apparatus for decoupling tag and data accesses in a cache memory
JPH02166539A (en) Cash line withdrawal
JPH01503011A (en) General purpose processor unit for digital data processing systems including cash management systems
JPH09138778A (en) Device and method using semaphore buffer for semaphore instruction
JPH02239331A (en) Data processing system and method with heightened operand usability
JPH0567976B2 (en)
TWI469044B (en) Hiding instruction cache miss latency by running tag lookups ahead of the instruction accesses
US5386560A (en) Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
WO2003040948A1 (en) Computer and control method
WO1998014867A1 (en) Method and apparatus for address disambiguation
US7111127B2 (en) System for supporting unlimited consecutive data stores into a cache memory
US7469332B2 (en) Systems and methods for adaptively mapping an instruction cache
US8452920B1 (en) System and method for controlling a dynamic random access memory
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
US4737908A (en) Buffer memory control system
EP0107448A2 (en) Computer with multiple operating systems
CA2240634C (en) Cache device