JPH0628303A - 通信処理装置 - Google Patents

通信処理装置

Info

Publication number
JPH0628303A
JPH0628303A JP4181430A JP18143092A JPH0628303A JP H0628303 A JPH0628303 A JP H0628303A JP 4181430 A JP4181430 A JP 4181430A JP 18143092 A JP18143092 A JP 18143092A JP H0628303 A JPH0628303 A JP H0628303A
Authority
JP
Japan
Prior art keywords
processor
transfer
address
data
area
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
JP4181430A
Other languages
English (en)
Inventor
Hiroaki Ishihata
宏明 石畑
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 JP4181430A priority Critical patent/JPH0628303A/ja
Publication of JPH0628303A publication Critical patent/JPH0628303A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【目的】 本発明は、複数のプロセッサを通信ネットワ
ークで結合した並列計算機システムにおいて、各プロセ
ッサでの処理と並列に、DMA コントローラ, 又は、チャ
ネルプロセッサでプロセッサ間のデータ通信を行う通信
処理装置に関し、データ通信の際のデータのコピーを無
くする。 【構成】 プロセッサが指定したDMA によるデータ転送
の範囲を記憶する手段と, プロセッサがアクセスしたア
ドレスと、上記記憶手段に記憶されている転送範囲とを
比較する手段とを設け、該比較手段で、プロセッサがア
クセスしたアドレスが、上記DMA によるデータ転送範囲
内であったことが検出されたとき、プロセッサに、その
アクセスを遅延させ, 再実行させる指令手段を設ける。
又、プロセッサが備えているアドレス変換バッファに、
メモリ管理単位である領域がデータ転送領域であるか否
かを示すフラグを設けて、該フラグが転送領域を指示し
ていないブロックに対しては、上記比較手段による比較
を行うことなく、直接的にアクセスする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】最近の半導体技術の進歩に伴い、
高性能のマイクロプロセッサが安価に入手できるように
なり、該マイクロプロセッサを利用した並列計算機シス
テムの実現が容易になってきた。
【0002】該並列計算機システムは、複数のプロセッ
サ(CPU) 系と、それを接続する通信ネットワークから構
成される。該並列計算機システムで、効率の良い並列処
理を実現するためには、高性能な通信機能が必須とな
る。
【0003】最近の実装技術や, 半導体技術の進歩によ
り、通信ネットワーク事態のスピードは、高速化される
ようになってきたが、プロセッサ(CPU) が通信したいデ
ータを用意してから、実際に送り出すまでのオーバヘッ
ドや, ネットワークからデータを受信してからプロセッ
サがデータを実際に受け取るまでのオーバヘッドは大き
いままであるのが現状である。
【0004】このような通信処理を高速化するために、
ダイレクトメモリアクセス(DMA) コントローラや, チャ
ネルプロセッサに、該通信処理をオフロードすることが
行われ、通信処理は高速化されているが、該プロセッサ
(CPU) の用意したデータを、該DMA コントローラ等に渡
す際には、該データを、該DMA コントローラに専用の領
域 (システムバッファ) にコピーした後、該DMA コント
ローラ等を起動する必要があり、ユーザプログラムの動
作から見たとき、未だ、オーバヘッドが存在する。従っ
て、より効果的な通信処理装置が要求される。
【0005】
【従来の技術】図6は、従来の通信処理装置の構成を説
明する図である。プロセッサ(CPU) 1と、主記憶装置 3
と、DMA コントローラ(DMAC) 2とからなる複数個の計算
機システムが、通信ポート 6を介して通信ネットワーク
5に接続されており、プロセッサ(CPU) 1 の実行するユ
ーザプログラムが、該主記憶装置 3のユーザ領域 31 に
用意した通信データをシステムバッファ 30 にコピー
し、該DMA コントローラ(DMAC) 2起動すると、該DMA コ
ントローラ(DMAC) 2は自律的に、該用意されている通信
データの転送を行うと共に、プロセッサ(CPU) 1 は、該
DMA コントローラ(DMAC) 2のデータ転送処理とは並列に
他の処理を実行する。
【0006】該DMA コントローラ(DMAC) 2や, チャネル
プロセッサを使用して、データを通信ネットワーク 5に
送り出すためには、上記のように、該プロセッサ(CPU)
1 は、送りたいデータを主記憶装置 3上のユーザ領域 3
1 上でメッセージに組立てた後、システムエリアのシス
テムバッファ 30 にコピーしてから、該DMA コントロー
ラ(DMAC) 2や, チャネルプロセッサを起動する。具体的
には、転送開始アドレス, 転送量等を、該DMA コントロ
ーラ(DMAC) 2に渡してデータ転送を依頼する。
【0007】
【発明が解決しようとする課題】もし、ユーザのデータ
を直接、該DMA コントローラ(DMAC) 2や, チャネルプロ
セッサがアクセスして通信すると、該通信の途中でユー
ザプログラムが、該通信データを書き換える恐れがあ
る。このこめ、従来のアーキテクチャでは、通信データ
のシステムバッファへのコピーを行うことなく、該デー
タ転送と、プロセッサ(CPU) 1 の演算処理の並列動作が
できないという問題があった。
【0008】本発明は上記従来の欠点に鑑み、複数のプ
ロセッサ(CPU) を通信ネットワークで結合した並列計算
機システムにおいて、各プロセッサ(CPU) での処理と並
列に、DMA コントローラ, 又は、チャネルプロセッサで
プロセッサ(CPU) 間のデータ通信を行う際に、通信デー
タのシステムバッファへのコピーを無くすることができ
る通信処理装置を提供することを目的とするものであ
る。
【0009】
【課題を解決するための手段】図1は、本発明の原理構
成図であり、本発明の一実施例を示しており、図2〜図
5は、本発明の他の実施例を示した図であって、図2
は、プロセッサからのアクセスアドレスとデータの転
送領域との比較を1つの比較器で行う場合を示し、図3
は、アドレス変換バッファ(TLB) に設けられている転送
フラグが通信領域であることを指示しいる場合には、例
外割込みを発生させ、プロセッサ(CPU)が実行する例
外処理ルーチンで、プロセッサのアクセスアドレスと
転送領域との比較を行う場合を示し、図4は、ライトス
ルー型のキャッシュメモリを使用している場合を示し、
図5はコピーバック型のキャッシュメモリを使用してい
る場合を示している。上記の問題点は下記の如くに構成
された通信処理装置によって解決される。
【0010】(1) 複数のプロセッサ 1を通信ネットワー
クで結合した並列計算機システムにおいて、各プロセッ
サ 1での処理と並列に、DMA コントローラ, 又は、チャ
ネルプロセッサ 2でプロセッサ間のデータ通信を行う通
信処理装置であって、プロセッサ 1が指定した、例え
ば、DMA コントローラ 2によるデータ転送の範囲を記憶
する記憶手段 10 と, プロセッサがアクセスしたアドレ
スと、上記記憶手段 10 に記憶されている転送範囲と
を比較する比較手段 11 とを設け、該比較手段 11 で、
プロセッサ 1がアクセスしたアドレスが、上記DMA コ
ントローラ 2によるデータ転送範囲内であったことが検
出されたとき、プロセッサ1に、そのアクセスを遅延さ
せ, 再実行させる指令手段を設けるように構成する。
{図1参照} (2) (1) 項に記載の通信処理装置であって、プロセッサ
1からのアクセスアドレスと、プロセッサ 1が指定した
DMA コントローラ 2によるデータ転送の範囲とを比較す
る比較手段 11aを1つだけ設け、該比較手段 11aを時分
割で使用するように構成する。{図2参照} (3) (1) 項に記載の通信処理装置であって、各プロセッ
サ 1が備えているメモリ管理ユニット (アドレス変換バ
ッファ) 12に、メモリ管理単位である領域がデータ転送
領域であるか否かを示す転送フラグ 12aを設けて、該フ
ラグ 12aが転送領域を指示していない領域に対して、該
プロセッサ 1からのアクセスがあったことを検出したと
きには、上記比較手段 11,又は、11a による比較を行う
ことなく、直接的にアクセスするように構成する。{図
1,図2参照} (4) (1) 項に記載の通信処理装置であって、各プロセッ
サ 1が備えているメモリ管理ユニット (アドレス変換バ
ッファ) 12に、メモリ管理単位である領域がデータ転送
領域であるか否かを示す転送フラグ 12aを設けて、該フ
ラグ 12aが転送領域を指示している領域に対して、該プ
ロセッサ 1からのアクセスがあったことを検出したとき
には、データアクセス例外を発生する手段を設けて、
該データアクセス例外が発生したとき、該データアクセ
ス例外の処理ルーチンで、プロセッサ 1のアクセスアド
レスが上記転送領域内にあるか否かのチェックを行う
ように構成する。{図3参照} (5) ライトスルー型のキャッシュメモリ 3と, 主記憶装
置への書き込みデータとそのアドレスを保持する1つ以
上のライトバッファ 13 を備えたプロセッサ 1a を通信
ネットワークで結合した並列計算機システムにおいて、
各プロセッサ 1a での処理と並列に、DMA コントロー
ラ, 又は、チャネルプロセッサ 2でプロセッサ間のデー
タ通信を行う通信処理装置であって、プロセッサ 1が指
定した、例えば、DMA コントローラ 2によるデータ転送
の範囲を記憶する記憶手段 10 と, 上記ライトバッファ
13 中のアクセスアドレスと上記転送範囲とを比較す
る比較手段 11aとを設け、該ライトバッファ 13 中のア
クセスアドレスが、上記データ転送領域内であったと
き、該ライトバッファ 13 から主記憶装置への書き込み
を抑止して、該書き込みアクセスを、そのアクセスアド
レスのデータ転送が終了するまで遅延するように構成
する。{図4参照} (6) (5) 項に記載の通信処理装置であって、主記憶装置
への書き込みデータとそのアドレスを保持するライトバ
ッファ 13 を、転送領域用 130と、非転送領域用 131に
分けて備え、各プロセッサ 1が備えているメモリ管理ユ
ニット (アドレス変換バッファ) 12に、メモリ管理単位
である領域がデータ転送領域であるか否かを示すフラグ
12aを設けて、各プロセッサ 1からのアクセスアドレス
が、上記フラグ 12aにより、データ転送領域でないこ
とを検出したとき、上記非転送領域用のライトバッファ
131を使用し、各プロセッサ 1からのアクセスアドレス
が、上記フラグ 12aにより、データ転送領域であるこ
とを検出したとき、上記転送領域用のライトバッファ 1
30を使用するように構成する。{図4参照} (7) (5) 項に記載の通信処理装置であって、主記憶装置
への書き込みデータとそのアドレスを保持するライトバ
ッファ 13 に、上記プロセッサ 1が備えているメモリ管
理ユニット (アドレス変換バッファ) 12のメモリ管理単
位である領域がデータ転送領域であるか否かを示す転送
フラグ 12aのコピーを記憶する転送コピーフラグ 13aを
設けて、プロセッサ 1からのアクセスが、上記フラグ 1
2aにより、データ通信領域でないことを検出したとき、
該ライトバッファ 13 中において、該転送コピーフラグ
13aが転送領域を指示している領域へのアクセスを追い
越して、主記憶装置へのアクセスを行うように構成す
る。{図4参照} (8) コピーバック型のキャッシュメモリ 4を備えたプロ
セッサ 1を通信ネットワークで結合した並列計算機シス
テムにおいて、各プロセッサ 1での処理と並列に、DMA
コントローラ, 又は、チャネルプロセッサ 2でプロセッ
サ間のデータ通信を行う通信処理装置であって、プロセ
ッサ 1が指定した、例えば、DMA コントローラ 2による
データ転送の範囲を記憶する記憶手段 10 と, 上記プロ
セッサ 1がアクセスしたアドレスと上記転送範囲とを
比較する比較手段 11,又は、11a とを設け、プロセッサ
1からのアクセスで、該キャッシュメモリ 4をアクセス
して、キャッシュミスを検出したとき、上記比較手段 1
1,又は、11a によって、該プロセッサ 1のアクセスアド
レスと、転送範囲のチェックを行うことにより、該プ
ロセッサ 1のアクセスアドレスが、該転送範囲内にあ
ったことが検出されたとき、プロセッサ 1に、そのアク
セスを遅延させ, 再実行させる指令手段を設けるよう
に構成する。
【0011】(9) (8) 項に記載の通信処理装置であっ
て、該コピーバック型キャッシュメモリ 4を管理するタ
グ部 40 に、書き込み可能か不可能かを示すフラグ 40a
を設けておき、プロセッサ 1からのアクセスが読み出し
時のときにのキャッシュミスや, キャッシュヒットのと
きには、その儘、アクセスを許し、書き込みアクセス時
に、該書き込み不可フラグ 40aが立っていると例外割込
みを発生させ、例外処理ルーチン内で、該書き込みア
ドレスと転送領域とのアドレス比較を行い、該領域の
データが転送されると、該書き込み不可フラグ 40aをリ
セットする制御手段を設けるように構成する。
【0012】
【作用】即ち、本発明においては、ユーザのデータを、
直接、DMA コントローラや, チャネルプロセッサが転送
するように構成しておき、プロセッサ(CPU) からの書き
換えアクセスに対しては、該プロセッサ(CPU) が備えて
いるメモリ管理ユニット(アドレス変換バッファ) に設
けられているメモリ保護機能 (フラグ) を拡張して、転
送領域であるか否かを示すフラグとする。
【0013】即ち、プロセッサ(CPU) からのデータ転送
要求に対して、システムは、ユーザデータの送信データ
領域に対応する上記メモリ管理ユニット (アドレス変換
バッファ) の転送フラグを立てる。
【0014】プロセッサ(CPU) からの書き込み命令を監
視して、書き込み命令が実行されたことを検出すると、
上記メモリ管理ユニット (アドレス変換バッファ) の転
送フラグを参照して、該書き込み命令が指示しているア
ドレスに対応する領域の転送フラグが立って (オン)
いるか否かをチェックする。
【0015】若し、送信中の領域でなければ、該書き込
み命令は普通に実行されるが、若し、送信中のフラグが
立っていると、その書き込みアドレスが既に、転送済
みかどうかを、比較手段でチェックし、転送済みである
と普通に書き込みを行い、未だ転送されていない領域で
あることを検出すると、このとき、始めて、システムバ
ッファに転送データをコピーするか、該領域の転送が終
了するまで、プロセッサ(CPU) の動作を待たせるように
制御する。
【0016】この方法により、データのコピーをするこ
となく、データ送信と、処理とを並列に動作させること
ができるようになる。上記の動作は、ライトスルー型の
キャッシュメモリを備えているプロセッサ(CPU) にも適
用することができる。
【0017】即ち、プロセッサ(CPU) からの書き込みデ
ータは、該ライトスルー型のキャッシュメモリでは、必
ず、主記憶装置にも書き込まれる。そして、該書き込み
は、キャッシュメモリコントローラの制御の元に、ライ
トバッファを経由して行われる。
【0018】該ライトバッファには、書き込みデータと
書き込みアドレスとが順次登録され、順次主記憶装置に
書き込まれる。そこで、プロセッサ(CPU) に該ライトス
ルー型のキャッシュメモリを備えられている場合には、
該プロセッサ(CPU) からの書き込みアドレスと、DMA
コントローラによる転送領域とのアドレス比較は、該ラ
イトバッファから主記憶装置へ転送される直前において
行い、該書き込みアドレスが転送領域であると、該ラ
イトバッファの主記憶装置への書き出しを止める。
【0019】又、該キャッシュメモリがコピーバック型
のキャッシュメモリであっても、本発明のデータ転送を
実行することができる。即ち、該コピーバック型のキャ
ッシュメモリを備えたプロセッサ(CPU) では、DMA を起
動する前に、キャッシュメモリに存在しているデータブ
ロックを、主記憶装置に書き戻す (フラッシュ) 。
【0020】従って、次に、プロセッサ(CPU) が書き込
みアクセスを行うときには、必ずキャッシュミスを発生
することに着目し、本発明においては、該コピーバック
型のキャッシュメモリを備えている場合、該キャッシュ
ミスを検出すると、必ず、メモリ管理ユニット (アドレ
ス変換バッファ) 上のフラグを見て、通信領域であるこ
とを検出したとき、該書き込みアクセスを待たせるよう
に制御することで、ユーザデータをコピーすることな
く、DMA 転送を行うことができる。
【0021】
【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1は、本発明の原理構成図であって、一実
施例を示しており、図2〜図5は、本発明の他の実施例
を示している。
【0022】本発明においては、複数のプロセッサを通
信ネットワークで結合した並列計算機システムにおい
て、各プロセッサでの処理と並列に、DMA コントロー
ラ, 又は、チャネルプロセッサでプロセッサ間のデータ
通信を行うのに、プロセッサ(CPU) 1 が指定したDMA に
よるデータ転送の範囲を記憶する手段 10 と, プロセッ
サ(CPU) 1 がアクセスしたアドレスと、上記記憶手段
10 に記憶されている転送範囲とを比較する手段 11,11
a とを設け、該比較手段 11,11a で、プロセッサ8CPU)
1がアクセスしたアドレスが、上記DMA によるデータ
転送範囲内であったことが検出されたとき、プロセッサ
(CPU) 1 に、そのアクセスを遅延させ, 再実行させる指
令手段、又、プロセッサ(CPU) 1 が備えているメモリ
管理ユニット(アドレス変換バッファ) 12に、メモリ管
理単位である、例えば、ページがデータ転送領域である
か否かを示す転送フラグ 12aを設けて、該転送フラグ 1
2aが転送領域を指示していないブロックに対しては、上
記比較手段 11,11a による比較を行うことなく、直接的
にアクセスする手段他が、本発明を実施するのに必要な
手段である。尚、全図を通して同じ符号は同じ対象物を
示している。
【0023】以下、図1〜図5によって、本発明の通信
処理装置の構成と動作を説明する。図1に示したよう
に、通常、DMA コントローラ(DMAC) 2, 又は、チャネル
プロセッサは、送信キューレジスタ 10 を備えている。
プロセッサ(CPU) 1 からの送信要求は、転送開始アドレ
ス(Current),転送終了アドレス(End) の組で、送信キュ
ーレジスタ 10 にキューイングされる。そして、データ
転送中は、該転送開始アドレス(Current) が“+1”さ
れ、転送データを示すポインタとして使用される。
【0024】ここでは、簡単のため、転送するデータは
アドレスの小さい方から大きい方へ連続した領域にある
ものとする。転送が終了{転送開始アドレス(Current)
が転送終了アドレス(End) と同じになることを意味す
る}すると、該転送要求は、該送信キューレジスタ 10
から外される。
【0025】プロセッサ(CPU) 1 は、データ転送要求
時、転送データ領域に、データ転送領域であることを示
す転送フラグ 12aを立てておく。この転送フラグ 12a
は、図1に示されているように、該プロセッサ(CPU) 1
が備えているメモリ管理ユニット中の高速アドレス変換
バッファ(TLB) 12内に設定される。
【0026】該データ転送中に、プロセッサ(CPU) 1 か
らの書き込みアクセスがあると、該書き込みアドレス
が、該アドレス変換バッファ(TLB) 12によってアドレス
変換されると同時に、該転送フラグ 12aがチェックされ
る。
【0027】該転送フラグ 12aが“オン”にセットされ
ていない場合には、該書き込みアドレスは、該DMA コ
ントローラ(DMAC) 2による転送領域内には含まれていな
いと認識し、該書き込み命令は、通常通りに実行され
る。
【0028】然し、該転送フラグ 12aが“オン”にセッ
トされている場合には、該DMA コントローラ(DMAC) 2,
又は、チャネルプロセッサは、プロセッサ(CPU) 1 から
のアドレスと、上記送信キューレジスタ 10 内の全て
の転送開始アドレス(Current) と転送終了アドレス(En
d) と、該送信キューレジスタ 10 の深さ分に対応して
設けられている比較器(CMP) 11で比較される。
【0029】そして、該書き込みアドレスが、該転送
開始アドレス(Current) と転送終了アドレス(End) の間
に存在することが検出されると、該書き込みアドレス
は、これから送信される領域内にあると判断され、プロ
セッサ(CPU) 1 に対してウエイト(Wait)させるか、割込
み(Int) で通知する。
【0030】プロセッサ(CPU) 1 をウエイト(Wait)させ
た場合には、データの転送が進んで、そのアドレスのデ
ータの転送が終了すると、該比較器(CMP) 11での比較の
結果が偽となり、該プロセッサ(CPU) 1 に対するウエイ
ト(Wait)が解除される。
【0031】又、プロセッサ(CPU) 1 へ割込み(Int)
で通知した場合には、プロセッサ(CPU) 1 が実行する割
込み処理ルーチンがプロセスをスイッチして、他のタス
クを実行したり、該DMA を強制的に終了させて、転送途
中のデータを、システムバッファにコピーしてから、該
DMA コントローラ(DMAC) 2を再起動するなどの処理を行
う。{請求項1,4に記載の発明に対応}上記の例で
は、アドレス変換バッファ(TLB) 12上に、転送フラグ 1
2aを設ける例で説明したが、プロセッサ(CPU) 1 からの
書き込みアドレスと送信キューレジスタ 10 との比較
が十分高速に行われるならば、該アドレス変換バッファ
(TLB) 12上に、転送フラグ 12aを設けず、全ての書き込
みアドレスに対して、アドレスチェックを行うように
してもよい。{請求項1に記載の発明に対応} 又、上記の実施例では、送信キューレジスタ 10 の深さ
分の比較器(CMP) 11を設けた例で説明したが、該比較器
(CMP)11 の数を削減するために、図2に示したように、
送信キューレジスタ 10 にキューイングされている各転
送領域アドレスと、該書き込みアドレスとの比較を、
ただ1つの比較器(CMP) 11a で時分割で順次行ってもよ
い。
【0032】この場合、プロセッサ(CPU) 1 は、該比較
を行っている間処理を停止していることになる。従っ
て、図1に示した実施例に比較して、アドレスのチェッ
クに時間がかかるので、アドレス変換バッファ(TLB) 12
に転送フラグ 12aを設け、該書き込みアドレスが、該
転送フラグ 12aが“オフ”である領域であると判断した
場合には、該比較器(CMP) 11a による比較を行わないよ
うに制御することで、該転送フラグ 12aの効果が著しく
なる。{請求項2に記載の発明に対応} 更に、該書き込みアドレスと転送領域とのアドレスチ
ェックを、プロセッサ(CPU) 1 に実行させることによ
り、図3(a) に示したように、比較器(CMP) 11,11aを不
要にすることができる。
【0033】具体的には、アドレス変換バッファ(TLB)
12の転送フラグ 12aが“オン”に立っていると、該書き
込みアドレスが転送領域内にあると判断して、例外割
込みを発生させる。
【0034】プロセッサ(CPU) 1 は、該例外割込みに
より例外処理ルーチンに移り、該例外処理ルーチンの中
で、送信キューレジスタ 10 の内容と、アクセスアドレ
スとの比較を行う。従って、この場合には、該例外処
理ルーチンへの切り換えと、該例外処理ルーチンでの比
較処理が高速であることが必要である。
【0035】図3(b) は、上記例外処理ルーチンの処理
例を流れ図で示したものである。該例外処理ルーチン内
では、DMA 転送中, 及び、転送待ちのキューの数回だ
け、例外を起こした書き込みアドレスと、該DMA コン
トローラ(DMAC) 2内の、転送開始アドレス(Current)
と, 転送終了アドレス(End) の値を比較し、もし転送
中,又は、転送待ちの領域へのアクセスであることが判
断された場合には、前述のように、該DMA の終了を待つ
か、プロセスのスイッチを行う。{請求項4に記載の発
明に対応} 上記の他に、本発明は、キャッシュメモリを持つプロセ
ッサ(CPU) 1 に対しても適用できる。図4は、ライトス
ルー型キャッシュメモリとライトバッファを持つプロセ
ッサ(CPU) での実施例を示し、図5はコピーバック型キ
ャッシュメモリを持つプロセッサ(CPU) での実施例を示
している。
【0036】先ず、図4によって、ライトスルー型キャ
ッシュメモリ 3とライトバッファ 13 を持つプロセッサ
(CPU) 1 での実施例を説明する。前述のように、プロセ
ッサ(CPU) 1 からの書き込みデータは、ライトスルー型
キャッシュメモリ 3では、必ず、図示されていない主記
憶装置に書き込まれる。該主記憶装置への書き込みは、
キャッシュコントローラ(Cache Controler) 3aの制御の
もとで、該ライトバッファ 13 を経由してなされる。
【0037】従って、該ライトバッファ 13 には、書き
込みデータ(Data)と, 書き込みアドレス(Addres)が登録
され、順次、主記憶装置に書き込まれる。該プロセッサ
(CPU) 1 の書き込みアクセスのアドレスとDMA の転送
領域とのアドレス比較は、該ライトバッファ 13 から主
記憶装置へ書き込まれる直前のアドレスで行われ、該
プロセッサ(CPU) 1 の書き込みアドレスが、該DMA に
よる転送領域内にあることが検出されると、上記キャッ
シュコントローラ(Cache Controler) 3aは、該ライトバ
ッファ 13 の内容の主記憶装置への書き出しを抑止す
る。
【0038】該ライトバッファ 13 から主記憶装置への
書き出しが停止されても、プロセッサ(CPU) 1 は、キャ
ッシュメモリ 3をアクセスして処理を続けることができ
る。該書き込みが続いて起き、該ライトバッファ 13 が
一杯(Full)になると、待ち(Wait)信号をプロセッサ(C
PU) 1 に送出し、プロセッサ(CPU) 1 の動作を停止させ
る。該DMA による転送が終了すると、該プロセッサ(CP
U) 1 への待ち(Wait)信号が解除され、該プロセッサ
(CPU) 1 での処理が再開される。{請求項5に記載の発
明に対応} 上記において、該ライトバッファ 13 に対する書き込み
は、そのアドレスのデータが転送されるまで、ライトバ
ッファ 13 に止まるので、すぐに、該ライトバッファ 1
3 が詰まってしまう可能性がある。
【0039】そこで、本発明においては、図4にも示し
たように、該ライトバッファ 13 を転送領域用 130と,
非転送領域用 131に分けて持つようにする。そして、該
プロセッサ(CPU) 1 からの書き込みアクセスのアドレス
が、上記アドレス変換バッファ(TLB) 12の転送フラグ
12aにより、非転送領域であることが認識された場合に
は、該ライトバッファ 13 の非転送領域用 131に書き込
むように制御し、転送領域であることが認識された場合
には、該ライトバッファ 13の転送領域用 130に書き込
むように制御することで、プロセッサ(CPU) 1 からの書
き込みアクセスが非転送領域へのアクセスならば、書き
込みが続いても、主記憶装置への書き込みが、該DMA に
より待たされないように制御することができる。{請求
項6に記載の発明に対応} 更に、該ライトバッファ 13 が、通常の構成の場合にお
いて、該ライトバッファ 13 に、その書き込みアドレス
が転送領域用か、非転送領域用かを示す転送コピーフラ
グ 13aを設けて、上記プロセッサ(CPU) 1 が備えている
アドレス変換バッファ(TLB) 12の転送フラグ 12aをコピ
ーするように構成することで、非転送領域へのアクセス
を、転送領域へのアクセスを追い越して行うように制御
することができる。
【0040】即ち、該ライトバッファ 13 への書き込み
アクセスが非転送領域のものであると、該ライトバッフ
ァ 13 のフラグ 13aが“オフ”となっているので、キャ
ッシュメモリコントローラ(Cache Controler) 3aは、該
フラグ 13aが“オフ”のライトバッファ 13 の内容を優
先的に読み出し、主記憶装置への書き込みを行うように
制御する。例えば、ライトバッファ 13 の読み出しポイ
ンタの更新(“+1”)を、該フラグ 13aが“オン”の
ものを除いて行う(具体的には、該フラグが“オン”で
あることを認識すると、再度更新を行う)ように制御す
ることで実現できる。
【0041】このように制御することで、非転送領域へ
のアクセスがブロックされる頻度を減少させることがで
きる。{請求項7に記載の発明に対応} 次に、該キャッシュメモリがコピーバック型キャッシュ
メモリ 4である場合について、図5を用いて説明する。
【0042】前述のように、コピーバック型キャッシュ
メモリ 4を備えたプロセッサ(CPU)1 では、DMA コント
ローラ(DMAC) 2を起動する前に、該コピーバック型キャ
ッシュメモリ 4上に存在する転送対象ブロックのデータ
を、図示されていない主記憶装置に書き戻して (フラッ
シュ) して、該コピーバック型キャッシュメモリ 4の内
容と、主記憶装置の内容との一致を図ることが行われ
る。
【0043】このように、DMA による転送領域のブロッ
クは、該転送処理に先立って、フラッシュされるため、
次に、その領域に対してプロセッサ(CPU) 1 からアクセ
スがあると、必ず、キャッシュミスとなる。
【0044】さこで、本発明においては、該転送領域へ
のアクセスであることを、前述のアドレス変換バッファ
(TLB) 12の転送フラグ 12aで検出し、キャッシュミスと
なったとき、該書き込みアドレスと転送領域とのアド
レス比較を、前述の比較器 11,又は、11a で行うことに
より、正確なアドレスチェックを行うことができる。
【0045】該書き込みアドレスのチェックで転送領
域内にあることが検出されると、前述の同じようにし
て、プロセッサ(CPU) 1 の動作を待たせるように制御す
る。又、該コピーバック型キャッシュメモリ 4のタグ部
40 に、書き込み可能, 不可能を示すフラグ 40aを付加
しておき、アドレス変換バッファ(TLB) 12を参照して、
上記転送フラグ 12aにより、転送領域へのアクセスであ
ることが検出されたときでも、該アクセスが読み出しア
クセスであると、該コピーバック型キャッシュメモリ 4
へのムーブインを行い、上記書き込み不可フラグ 40aを
セットする。
【0046】この書き込み不可フラグ 40aは、DMA コン
トローラ 2により、そのデータが転送されるとリセット
される。この結果、転送領域であっても、読み出しアク
セスであると、キャッシュヒットとなり、プロセッサ(C
PU) 1 は処理を続けることができる。
【0047】然し、該転送領域へのキャッシュラインに
書き込みアクセスがあったときには、上記書き込み不可
フラグ 40aが立っていると、例外割込みを発生させ、
転送領域とのアドレス比較を行う。該書き込み不可フラ
グ 40aは、該DMA により該領域のデータ転送が行われる
と、該DMA コントローラ(DMAC) 2によりリセットされる
ので、データ転送後は、そのデータに書き込みを行って
も例外を発生することはない。
【0048】このように、該コピーバック型キャッシュ
メモリ 4を管理するタグ部 40 に、書き込み可能か不可
能かを示す書き込みフラグ 40aを設けておき、読み出し
時のキャッシュミスや, キャッシュヒットのときには、
その儘、アクセスを許し、書き込みアクセス時に、該書
き込み不可フラグ 40aが立っていると例外割込みを発
生させ、例外処理ルーチン内で、該書き込みアドレス
と転送領域とのアドレス比較を行い、該領域のデータが
転送されると、該書き込み不可フラグ 40aをリセットす
るように制御することで、データ通信の際のデータのコ
ピーを無くすることができる。
【0049】
【発明の効果】以上、詳細に説明したように、本発明の
通信処理装置は、複数のプロセッサを通信ネットワーク
で結合した並列計算機システムにおいて、各プロセッサ
での処理と並列に、DMA コントローラ, 又は、チャネル
プロセッサでプロセッサ間のデータ通信を行うのに、プ
ロセッサが指定したDMA によるデータ転送の範囲を記憶
する手段と, プロセッサがアクセスしたアドレスと、
上記記憶手段に記憶されている転送範囲とを比較する手
段とを設け、該比較手段で、プロセッサがアクセスした
アドレスが、上記DMA によるデータ転送範囲内であっ
たことが検出されたとき、プロセッサに、そのアクセス
を遅延させ, 再実行させる指令手段を設けるか、又、プ
ロセッサが備えているメモリ管理ユニット (アドレス変
換バッファ) に、メモリ管理単位である領域がデータ転
送領域であるか否かを示す転送フラグを設けて、該転送
フラグが転送領域を指示していないブロックに対して
は、上記比較手段による比較を行うことなく、直接的に
アクセスするようにしたものであるので、プロセッサ間
の通信において、ユーザ領域のデータを、直接、DMA コ
ントローラや, チャネルプロセッサが転送したときで
も、該データ転送の終了を待つことなく、プロセッサが
処理を進める事ができ、プロセッサでの演算処理と通信
処理の並行処理が可能になるという効果がある。
【図面の簡単な説明】
【図1】本発明の原理構成図
【図2】本発明の他の実施例を示した図(その1)
【図3】本発明の他の実施例を示した図(その2)
【図4】本発明の他の実施例を示した図(その3)
【図5】本発明の他の実施例を示した図(その4)
【図6】従来の通信処理装置の構成を説明する図
【符号の説明】
1 プロセッサ(CPU) 10 送信キューレジスタ 11,11a 比較
器 12 アドレス変換バッファ(TLB) 12a 転送フラ
グ 13 ライトバッファ 13a 転送コピ
ーフラグ 130 転送領域用ライトバッファ 131 非転送領
域用ライトバッファ 2 ダイレクトメモリアクセスコントローラ (DMA コ
ントローラ) 3 ライトスルー型キャッシュメモリ 3a キャッシュメモリコントローラ(Cache Controle
r) 4 コピーバック型キャッシュメモリ 40 コピーバック型キャッシュメモリのタグ部 40a コピーバック型キャッシュメモリのタグ部の書き
込み不可フラグ , プロセッサ(CPU) からの書き込みアドレス プロセッサ(CPU) への待ち(Wait), 割込み(Int)
信号 , 例外割込み

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサ(1) を通信ネットワーク
    で結合した並列計算機システムにおいて、各プロセッサ
    (1) での処理と並列に、DMA コントローラ, 又は、チャ
    ネルプロセッサ(2) でプロセッサ間のデータ通信を行う
    通信処理装置であって、 プロセッサ(1) が指定したDMA コントローラ,又は、チ
    ャネルプロセッサ(2)によるデータ転送の範囲を記憶す
    る記憶手段(10)と, プロセッサ(1) がアクセスしたアド
    レス () と、上記記憶手段(10)に記憶されている転送
    範囲とを比較する比較手段(11)とを設け、 該比較手段(11)で、プロセッサ(1) がアクセスしたアド
    レス () が、上記DMA コントローラ, 又は、チャネル
    プロセッサ(2) によるデータ転送範囲内であったことが
    検出されたとき、プロセッサ(1) に、そのアクセスを遅
    延させ, 再実行させる指令手段 () を設けたことを特
    徴とする通信処理装置。
  2. 【請求項2】請求項1に記載の通信処理装置であって、
    プロセッサ(1) からのアクセスアドレス () と、プロ
    セッサ(1) が指定したDMA コントローラ, 又は、チャネ
    ルプロセッサ(2) によるデータ転送の範囲とを比較する
    比較手段(11a) を1つだけ設け、該比較手段(11a) を時
    分割で使用することを特徴とする通信処理装置。
  3. 【請求項3】請求項1に記載の通信処理装置であって、
    各プロセッサ(1) が備えているメモリ管理ユニット (ア
    ドレス変換バッファ)(12) に、メモリ管理単位である領
    域がデータ転送領域であるか否かを示す転送フラグ(12
    a) を設けて、 該フラグ(12a) が転送領域を指示していない領域に対し
    て、該プロセッサ(1)からのアクセスがあったことを検
    出したときには、上記比較手段(11,又は、11a)による比
    較を行うことなく、直接的にアクセスすることを特徴と
    する通信処理装置。
  4. 【請求項4】請求項1に記載の通信処理装置であって、
    各プロセッサ(1) が備えているメモリ管理ユニット (ア
    ドレス変換バッファ)(12) に、メモリ管理単位である領
    域がデータ転送領域であるか否かを示す転送フラグ(12
    a) を設けて、 該フラグ(12a) が転送領域を指示している領域に対し
    て、該プロセッサ(1) からのアクセスがあったことを検
    出したときには、データアクセス例外を発生する手段
    () を設けて、 該データアクセス例外が発生したとき、該データアクセ
    ス例外の処理ルーチンで、プロセッサ(1) のアクセスア
    ドレス () が上記転送領域内にあるか否かのチェック
    を行うことを特徴とする通信処理装置。
  5. 【請求項5】ライトスルー型のキャッシュメモリ(3)
    と, 主記憶装置への書き込みデータとそのアドレスを保
    持する1つ以上のライトバッファ(13)を備えたプロセッ
    サ(1a)を通信ネットワークで結合した並列計算機システ
    ムにおいて、各プロセッサ(1)での処理と並列に、DMA
    コントローラ, 又は、チャネルプロセッサ(2) でプロセ
    ッサ間のデータ通信を行う通信処理装置であって、 プロセッサ(1) が指定したDMA コントローラ, 又は、チ
    ャネルプロセッサ(2)によるデータ転送の範囲を記憶す
    る記憶手段(10)と, 上記ライトバッファ(13)中のアクセ
    スアドレスと上記転送範囲とを比較する比較手段(11a)
    とを設け、 該ライトバッファ(13)中のアクセスアドレス () が、
    上記データ転送領域内であったとき、該ライトバッファ
    (13)から主記憶装置への書き込みを抑止して、該書き込
    みアクセスを、そのアクセスアドレス () のデータ転
    送が終了するまで遅延することを特徴とする通信処理装
    置。
  6. 【請求項6】請求項5に記載の通信処理装置であって、
    主記憶装置への書き込みデータとそのアドレスを保持す
    るライトバッファ(13)を、転送領域用(130) と、非転送
    領域用(131) に分けて備え、 各プロセッサ(1) が備えているメモリ管理ユニット (ア
    ドレス変換バッファ)(12) に、メモリ管理単位である領
    域がデータ転送領域であるか否かを示すフラグ(12a) を
    設けて、 各プロセッサ(1) からのアクセスアドレス () が、上
    記フラグ(12a) により、データ転送領域でないことを検
    出したとき、上記非転送領域用のライトバッファ(131)
    を使用し、各プロセッサ(1) からのアクセスアドレス
    が、上記フラグ(12a) により、データ転送領域であるこ
    とを検出したとき、上記転送領域用のライトバッファ(1
    30) を使用することを特徴とする通信処理装置。
  7. 【請求項7】請求項5に記載の通信処理装置であって、
    主記憶装置への書き込みデータとそのアドレスを保持す
    るライトバッファ(13)に、上記プロセッサ(1) が備えて
    いるメモリ管理ユニット (アドレス変換バッファ)(12)
    のメモリ管理単位である領域がデータ転送領域であるか
    否かを示すフラグ(12a) のコピーを記憶する転送コピー
    フラグ(13a) を設けて、 プロセッサ(1) からのアクセスが、上記転送フラグ(12
    a) により、データ通信領域でないことを検出したと
    き、該ライトバッファ(13)中において、該転送コピーフ
    ラグ(13a) が転送領域を指示している領域へのアクセス
    を追い越して、主記憶装置へのアクセスを行うことを特
    徴とする通信処理装置。
  8. 【請求項8】コピーバック型のキャッシュメモリ(4) を
    備えたプロセッサ(1) を通信ネットワークで結合した並
    列計算機システムにおいて、各プロセッサ(1) での処理
    と並列に、DMA コントローラ, 又は、チャネルプロセッ
    サ(2) でプロセッサ間のデータ通信を行う通信処理装置
    であって、 プロセッサ(1) が指定したDMA コントローラ, 又は、チ
    ャネルプロセッサ(2)によるデータ転送の範囲を記憶す
    る記憶手段(10)と, 上記プロセッサ(1) がアクセスした
    アドレス () と上記転送範囲とを比較する比較手段(1
    1,又は、11a)とを設け、 プロセッサ(1) からのアクセスで、該キャッシュメモリ
    (4) をアクセスして、キャッシュミスを検出したとき、
    上記比較手段(11,又は、11a)によって、該プロセッサ
    (1) のアクセスアドレス () と、転送範囲のチェック
    を行うことにより、該プロセッサ(1) のアクセスアドレ
    ス () が、該転送範囲内にあったことが検出されたと
    き、プロセッサ(1) に、そのアクセスを遅延させ, 再実
    行させる指令手段 () を設けたことを特徴とする通信
    処理装置。
  9. 【請求項9】請求項8に記載の通信処理装置であって、
    該コピーバック型キャッシュメモリ(4) を管理するタグ
    部(40)に、書き込み可能か不可能かを示すフラグ(40a)
    を設けておき、 プロセッサ(1) からのアクセスが読み出し時のときにの
    キャッシュミスや, キャッシュヒットのときには、その
    儘、アクセスを許し、書き込みアクセス時に、該書き込
    み不可フラグ(40a) が立っていると例外割込み () を
    発生させ、例外処理ルーチン内で、該書き込みアドレス
    ()と転送領域とのアドレス比較を行い、該領域のデ
    ータが転送されると、該書き込み不可フラグ(40a) をリ
    セットする制御手段を設けたことを特徴とする通信処理
    装置。
JP4181430A 1992-07-09 1992-07-09 通信処理装置 Withdrawn JPH0628303A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4181430A JPH0628303A (ja) 1992-07-09 1992-07-09 通信処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4181430A JPH0628303A (ja) 1992-07-09 1992-07-09 通信処理装置

Publications (1)

Publication Number Publication Date
JPH0628303A true JPH0628303A (ja) 1994-02-04

Family

ID=16100642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4181430A Withdrawn JPH0628303A (ja) 1992-07-09 1992-07-09 通信処理装置

Country Status (1)

Country Link
JP (1) JPH0628303A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100342769B1 (ko) * 2000-06-26 2002-07-02 박수열 통신용 프로세서의 메모리 액세스 제어 장치
JP2020071689A (ja) * 2018-10-31 2020-05-07 ルネサスエレクトロニクス株式会社 半導体装置およびそれを用いるシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100342769B1 (ko) * 2000-06-26 2002-07-02 박수열 통신용 프로세서의 메모리 액세스 제어 장치
JP2020071689A (ja) * 2018-10-31 2020-05-07 ルネサスエレクトロニクス株式会社 半導体装置およびそれを用いるシステム
CN111124628A (zh) * 2018-10-31 2020-05-08 瑞萨电子株式会社 半导体装置和使用该半导体装置的系统

Similar Documents

Publication Publication Date Title
JP6944983B2 (ja) ハイブリッドメモリ管理
US7783793B2 (en) Handling DMA operations during a page copy
CA1322058C (en) Multi-processor computer systems having shared memory and private cache memories
JP3431626B2 (ja) データ処理装置
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
US6226695B1 (en) Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
US5765022A (en) System for transferring data from a source device to a target device in which the address of data movement engine is determined
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
JPH02166539A (ja) フェッチ方法
JP2695017B2 (ja) データ転送方式
JP3027843B2 (ja) バススヌ−プ方法
JPH06161893A (ja) メモリアクセス方法およびシステム
US5161219A (en) Computer system with input/output cache
JPH0567976B2 (ja)
JP5131269B2 (ja) マルチプロセッシングシステム
JP3814521B2 (ja) データ処理方法および装置
JP4490585B2 (ja) 周辺ステータスについての内部レジスタを有するプロセッサまたはコア論理演算装置
JPH0628303A (ja) 通信処理装置
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
KR100246864B1 (ko) 제2캐시 메모리를 위한 캐시 플러시 방법 및 캐시 메모리를 갖춘 컴퓨터 메모리 시스템
JPH06282528A (ja) データ転送方法及びそのシステム
US5797039A (en) Method of efficiently sending packets onto a network by eliminating an interrupt
JP2015197802A (ja) 情報処理装置、情報処理方法及びプログラム
JPH0784879A (ja) キャッシュメモリ装置

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: 19991005