JP2695017B2 - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JP2695017B2
JP2695017B2 JP1290684A JP29068489A JP2695017B2 JP 2695017 B2 JP2695017 B2 JP 2695017B2 JP 1290684 A JP1290684 A JP 1290684A JP 29068489 A JP29068489 A JP 29068489A JP 2695017 B2 JP2695017 B2 JP 2695017B2
Authority
JP
Japan
Prior art keywords
data
port
memory
cache memory
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP1290684A
Other languages
English (en)
Other versions
JPH03150659A (ja
Inventor
俊幸 清水
宏明 石畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1290684A priority Critical patent/JP2695017B2/ja
Priority to AU63735/90A priority patent/AU629986B2/en
Priority to DE69033412T priority patent/DE69033412T2/de
Priority to EP90120014A priority patent/EP0427023B1/en
Publication of JPH03150659A publication Critical patent/JPH03150659A/ja
Priority to US08/852,026 priority patent/US5935204A/en
Application granted granted Critical
Publication of JP2695017B2 publication Critical patent/JP2695017B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 複数個のプロセッサエレメント(PE)をポートを介し
て通信路で接続し、主記憶装置を共有していない並列計
算機システムにおける、プロセッサエレメント(PE)間
のデータ転送方式に関し、 プロセッサエレメント(PE)間での細かなメッセージ
(データ)を効率よく転送することを目的とし、 上記プロセッサエレメント(PE)は、少なくとも、プ
ロセッサ(CPU)と,キャッシュメモリと,主記憶装置
(MM)と,ポートと,それらを制御するキャッシュコン
トローラと、共通バスから構成され、該プロセッサエレ
メント(PE)に、特定のデータを転送命令を設け、且
つ、上記ポートにデータの転送ができることを検出し
て、上記特定のデータ転送命令を実行する構成を上記
キャッシュコントローラに設けて、上記特定のデータ転
送命令で、上記キャッシュメモリ上に存在するデータ
については、該キャッシュメモリから直接、上記共通バ
スを介してポートに転送し、該キャッシュメモリ上にキ
ャッシュされていないデータについては、上記主記憶装
置(MM)から、上記共通バスを介して該ポートに転送す
るように構成する。
〔産業上の利用分野〕
本発明は、複数個のプロセッサエレメント(PE)をポ
ートを介して通信路で接続し、主記憶装置を共有してい
ない並列計算機システムにおいて、プロセッサエレメン
ト(PE)間のデータ転送方式に関する。
近年、計算機システムによるデータ処理の多様化と,
処理量の増大化により、該計算機システムの高速化が要
求されている。
該計算機システムの高速化を行う1つの手段として、
分散メモリ型の並列計算機システム{例えば、複数個の
プロセッサエレメント(PE)を、通信路で格子状等に接
続した並列計算機システム}がある。該分散メモリ型の
計算機システムは、プロセッサエレメント(PE)の台数
を多くすることで、該計算機システムの処理能力を向上
させることができる特徴を持つ。
然し、該プロセッサエレメント(PE)の数が増加する
と、プロセッサエレメント(PE)間の情報交換の頻度が
増すが、逆に、1回の情報交換の為のデータ(メッセー
ジ)の量は小さく(細かく)なるという傾向を持つ。
この為、このような並列計算機システムにおいは、該
細かなメッセージを効率よく、数多く転送できることが
要求される。
又、プロセッサエレメント(PE)単体の性能を向上さ
せる為に、メモリを階層的に構成することがよく行われ
る。この階層化されたメモリ構成においても、プロセッ
サエレメント(PE)間において、効率的にメッセージの
転送ができることが必要とされる。
〔従来の技術と発明が解決しようとする課題〕
第6図は並列計算機システムの構成例を示した図であ
り、第7図は従来のデータ転送方式を説明する図であ
り、(a)はダイレクトメモリアクセス(DMA)による
データ転送時のデータ転送時間を示し、(b)はDMAに
より、細かいデータを送る場合のデータ転送方式を示し
ている。
第6図に示した並列計算機システムは、図示されてい
る如くに、共通バス方式のプロセッサエレメント(PE)
1を、ポート13を介して、例えば、通信路2で格子状に
接続され、相互に、該通信路2でデータ(メッセージ)
を交換しながら、それぞれのプロセッサエレメント(P
E)1で、同じプログラム,或は、互いに異なるプログ
ラムを実行する。
従って、該ポート13を介して、隣接するプロセッサエ
レメント(PE)1にデータを転送する場合、該ポート13
にデータを書き込める状態にあるか否かを知って、該ポ
ート13にデータを転送する必要がある。
従来、該ポート13に対してデータを転送する手法は、
ダイレクトメモリアクセス(以下、DMAという),又
は、ソフトウェアにより実現されていた。
該、DMAによる場合には、該DMA制御部が、上記ポート
13へのデータ転送の可否を検知しながら行うが、ソフト
ウェアによる場合には、ポーリング,或いは、割り込み
により、該ポート13へのデータ転送の可否を認識して、
例えば、公知のムーブ命令を発行することで実現してい
た。
一般に、まとまった大きなデータの固まりを転送する
場合には、上記DMAによるデータ転送方式が有効であ
る。これに対して、ソフトウェアによるポーリング,割
り込み処理によるデータ転送方式では、命令の実行速度
に依存する為、効果的な転送は期待できない。
第7図(a)は、上記DMAによるデータ転送時間を解
析した結果を示したもので、1つのメッセージの長さに
対して、転送を行うのに要する時間を模式的に示したも
のである。
ここでは、プロセッサエレメント(PE)1のプロセッ
サ(CPU)10が、後述するコピーバック方式のキャッシ
ュメモリ(CACHE:以下、略することがある)11を備えて
いる場合を例にしている。
該コピーバック方式のキャッシュメモリ11において
は、ライン(又は、ブロック)単位に、プロセッサ(CP
U)10が、該キャッシュメモリ11の内容を主記憶装置(M
M)12へ書き出す機構を備えていて、プロセッサ(CPU)
10が、プログラムの指示に従って、書き出し命令(フラ
ッシュ命令という)を発行することで、該キャッシュメ
モリ11の内容と、主記憶装置(MM)12の内容の一致を図
るように動作する。
そして、該DMAによるデータ転送は、主記憶装置(M
M)12とデバイス、例えば、上記ポート13との間のデー
タ転送機構である。
従って、該コピーバック方式のキャッシュメモリ11を
備えたプロセッサエレメント(PE)1で、DMA方式でデ
ータ(メッセージ)の転送を行う場合、キャッシュメモ
リ11から主記憶装置(MM)12へのフラッシュに要する時
間(1)と、DMAの為のパラメータ{例えば、送信元の
主記憶装置(MM)12のアドレス,転送データのサイズ
(長さ),送信先のアドレス,転送コマンド,終了ステ
ータスの監視コマンド等}の設定に要する時間(2)
と,主記憶装置(MM)12からデバイス(ポート)13への
データ転送に要する時間(3)の合計となる。このとき
(1),(3)はデータ量に比例し、(2)は一定であ
る。
従って、第7図(a)から明らかなように、メッセー
ジ(データ)量が多いときには、DMA設定のオーバーヘ
ッドは大きくないが、前述のように、プロセッサエレメ
ント(PE)1間のメッセージ転送のように、1回の転送
でのメッセージ(データ)量が少ないときには、該オー
バヘッドが非常に大きくなることが判る。
この為、該細かなメッセージはかたまりでないという
ことから、一度、主記憶装置(MM)12上の特定の領域に
データをバッファリングしておいてから、該DMAによる
データ転送を行うことになる。
その場合のデータ転送シーケンスを示したものが、第
7図(b)である。
本図において、(1)で示したメッセージのバッファ
リング処理等は、プロセッサ(CPU)10の仕事となり、
明らかにオーバヘッドとなる。又、プロセッサエレメン
ト(PE)1間の実行の制御を行う為のコントロールメッ
セージ等においては、該バッファリングを行うと遅延が
生じ、該並列計算機システム全体の処理能力を低下させ
る要因となり否定的である。
然も、該DMA転送の為にバッファリングを行う為に
は、バッファリングの専用領域にデータを書き出すか,
フラッシュしなければならない。このことは、ユーザ領
域を小さくすることにもなり好ましい要件ではない。
このように、従来のデータ転送方式、例えば、DMAに
よるデータ転送では、サイズの小さいメッセージの転送
には、DMAパラメータの設定といったオーバヘッド,キ
ャッシュメモリ11から主記憶装置(MM)12へのフラッシ
ュのオーバヘッドが問題となる。
又、ソフトウェアによってダイナミックループでメッ
セージ転送する場合でも、ステータスチェック(上記、
書き出し可能ステータスのチェック)等にコストがかか
り、その間、プロセッサ(CPU)10は何も他の仕事がで
きなくなる等の問題があった。
本発明は上記従来の欠点に鑑み、複数個のプロセッサ
エレメント(PE)をポートを介して通常路で接続した並
列計算機システムにおいて、プロセッサエレメント(P
E)間での細かなメッセージ(データ)を効率よく転送
することがてきるデータ転送方式を提供することを目的
とするものである。
〔課題を解決するための手段〕 第1図は本発明の原理を説明する図であって、(a)
は本発明の原理を模式的にに示し、(b)は本発明の原
理構成図である。
上記の問題点は下記の如くに構成されたデータ転送方
式によって解決される。
(1) 少なくとも、プロセッサ(CPU)10と,キャッ
シュメモリ11と,主記憶装置(MM)12と,ポート13と,
それらを制御するキャッシュコントローラ14と,共通バ
ス16から構成されるプロセッサエレメント(PE)1を複
数個、該ポート13を介して通信路2で接続し、主記憶装
置を共有していない並列計算機システムにおいて、 上記プロセッサエレメント(PE)1に、上記キャッシ
ュメモリからのデータを上記共通バス16に出力して、上
記ポート13に転送する第1のデータ転送命令を設け、
且つ、上記ポート13にデータの転送ができることを検出
(ε)して、上記特定のデータ転送命令を実行する機
構を上記キャッシュコントローラ14に設けて、 上記特定のデータ転送命令で、上記キャッシュメモ
リ11上に存在するデータについては、該キャッシュメモ
リ11から直接、上記共通バス16を介してポート13に転送
し、 該キャッシュメモリ11上にキャッシュされていないデ
ータについては、上記主記憶装置(MM)12から、共通バ
ス16を介して該ポート13に転送するように構成する。
(2) 少なくとも、プロセッサ(CPU)10と,主記憶
装置(MM)12と,ポート13と,それらを制御するメモリ
コントローラ15と,共通バス16から構成されるプロセッ
サエレメント(PE)1を複数個、該ポート13を介して通
信路2で接続し、主記憶装置を共有していない並列計算
機システムにおいて、 上記プロセッサエレメント(PE)1に、上記主記憶装
置(MM)12からのデータを上記共通バス16に出力して、
上記ポート13に転送する第2のデータ転送命令を設
け、且つ、上記ポート13にデータの転送ができることを
検出(ε)して、上記特定のデータ転送命令を実行す
る機構を上記メモリコントローラ15に設けて、 上記特定のデータ転送命令で、該主記憶装置(MM)
12上のデータを、共通バス16を介して、該ポート13に転
送するように構成する。
〔作用〕
即ち、本発明によれば、複数個のプロセッサエレメン
ト(PE)をポートを介して通信路で接続し、主記憶装置
を共有していない並列計算機システムにおいて、各プロ
セッサエレメント(PE)のプロセッサ(CPU)がコピー
バック方式のキャッシュメモリを備えている場合には、
フラッシュ命令により、キャッシュメモリの内容を、1
ラインを単位として、主記憶装置(MM)にフラッシュす
る機構があることに着目して、該キャッシュされている
データを主記憶装置(MM)にフラッシュするのと同じ操
作で、キャッシュメモリからデバイス{具体的には、プ
ロセッサエレメント(PE)間通信用のポート}に、直
接、メッセージ(データ)を転送する手段を設けること
により、明示的にメッセージ送出のタイミングを指定で
き、且つ、メッセージ転送を起動するときに生じるオー
バヘッドを軽減するようにしたものである。
以下、具体的に、その作用,効果を説明する。
キャッシュメモリの1ラインをフラッシュするのと類
似の操作1つで、該キャッシュメモリ上のメッセージを
ポートに転送する機構を、ここでは、ラインセンドと呼
ぶことにする。
先ず、本発明が適用されるキャッシュメモリの構成を
第5図によって説明する。
前述のように、本発明が適用されるキャッシュメモリ
はコピーバック方式のものである。
この方式では、主記憶装置(MM)とのデータのやりと
りはライン(ブロック)単位に行う。
プロセッサ(CPU)がキャッシュメモリをアクセスし
てキャッシュミスの場合、(a)図に示したように、主
記憶装置(MM)からまとまった量のデータ(例えば、16
バイト)を一括して読み出す(ムーブインという)。
このとき、そのデータが格納されるべきキャッシュメ
モリの領域に、他のアドレスのデータが既に存在し、且
つ、そのデータが更新されている場合には、(b)図に
示したように、主記憶装置(MM)にそのデータを書き出
した(フラッシュした)後、主記憶装置(MM)から、該
ラインをキャッシュメモリに読み込む(リプレースす
る)。
このような読み込みも、書き出しも、まとまった量で
行われるが、この単位をラインと呼んでいる。この操作
を効率良く行う為に、該キャッシュメモリでは、該ライ
ン単位の入出力が小さなコストで可能となるように構成
されている。
このようなコピーバック方式のキャッシュメモリは、
前述のように、キャッシュメモリの内容を主記憶装置
(MM)に書き出す(フラッシュする)機構が備えられて
いるのが一般的であり、この書き出し命令をフラッシュ
命令という。
該キャッシュメモリを制御する装置、キャッシュメモ
リコントローラ(CCTL)には、上記に述べた、キャッシ
ュミスの検出,主記憶装置(MM)からの読み込み(ムー
ブイン),リプレース,フラッシュといった機構が備え
られている。
該フラッシュ動作を起動するには、幾つかの方法が考
えられているが、ここでは、簡単の為に、以下のような
方式を仮定する。
即ち、アドレスAのキャッシュデータをフラッシュす
るには、「A+FLUSH」というアドレスへの書き出し命
令、フラッシュ命令を発行することで、主記憶装置(M
M)のアドレスAに書き出しを行うことができる。同様
にして、アドレスBのキャッシュデータをフラッシュす
るには、「B+FLUSH」というアドレスへの書き出し命
令、フラッシュ命令を発行することで、主記憶装置(M
M)のアドレスBに書き出しを行うことができる。
本発明は、この手法を利用して、「A+SEND」「B+
SEND」というアドレスへの書き出し命令(ラインセンド
命令)を発行することで、主記憶装置のアドレスA,B
のキャッシュメモリの内容を、デバイス、例えば、前述
のポートに書き出すことを実現しようとするものであ
る。
第1図はこの機能を実現する為の原理構成例を示した
図であり、(a)は該機能を模式的に示しており、
(b)は具体的に示してある。
例えば、メッセージデータが置かれる有効アドレス空
間を、24ビットとすると、アドレス空間32ビットのプロ
セッサ(CPU)においては、上記キャッシュメモリのフ
ラッシュや,メッセージデータのポートへの書き出しを
指定するのに、該アドレスの上位8ビットを使用するこ
とができる。
この上位8ビットが、全‘0'のときは、通常のキャッ
シュメモリアクセスで、該上位8ビットが‘1'のとき
は、キャッシュメモリのフラッシュ、該上位8ビットが
‘2'のときは、メッセージデータのデバイス(ポート)
への書き出し(上記、ラインセンド)と決めることで、
以下の動作により、メッセージデータのポートへの書き
出しを実現することができる。
即ち、プロセッサ(CPU)が通常のメモリアクセスを
するときには、上位8ビットは、全‘0'である。このと
き本キャッシュコントローラは通常のキャッシュコント
ローラと同等に動作する。
キャッシュメモリをフラッシュする必要が生じた時、
上位8ビットのアドレスを‘1'として書き出しを行う
と,アドレスバスにはアドレス上位8ビットが‘000000
01'であり、アドレス下位24ビットにはフラッシュすべ
きデータのアドレスが現れる。キャッシュコントローラ
は、これをアドレスデコーダで検出して、キャッシュメ
モリ上にデータが存在する時には、書き出し制御線αを
有効にしてキャッシュメモリから,当該アドレスのデー
タをデータバス上に書き出す。
同時に、書き込み制御線βを有効にして,データバス
(具体的には、共通バス)上に書き出されたデータを、
主記憶装置(MM)に書き込む。この操作によってフラッ
シュが実現される。
上記フラッシュと同様に、メッセージデータをデバイ
ス、例えば、ポートに書き出す時には,上位8ビットの
アドレスを‘2'として書き出しを行うと,アドレスバス
にはアドレス上位8ビットが‘00000010'であり、アド
レス下位24ビットにはデバイス(ポート)に書き出すべ
きメッセージデータの存在するアドレスが現れる。
キャッシュコントローラは、これを検出してキャッシ
ュメモリ上にデータが存在する時には,書き出し線αを
有効にしてキャッシュメモリから、当該データをデータ
バス上に書き出す。同時に書き込み制御線γを有効にし
て、データバス上に書き出されたデータをデバイス(ポ
ート)に書き込む。この操作によって、本発明のライン
センドが実現される。
キャッシュメモリ上にデータが存在しない場合には,
書き出し制御線δを有効にして、主記憶装置(MM)上の
データをデータバスに書き出させる。同時に書き込み制
御線γを有効にして、データバス上に書き出されたデー
タをデバイス、即ち、ポートに書き込む。
従って、本発明によれば、階層化されたメモリシステ
ムを備えたプロセッサエレメント(PE)においても、フ
ラッシュ命令と類似の、「ラインセンド」操作で、オー
バヘッドの少ないデータ転送を実現することができる効
果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明の原理を説明する図であり、第
2図は本発明の一実施例を示した図であって、(a)は
キャッシュメモリに対する書き込み,読み出しの動作図
を示し、(b)は実施例の構成図であり、第3図は本発
明の他の実施例を示した図であって、キャッシュメモリ
11にキャッシュされているデータをフラッシュするのと
類似の操作、即ち、ラインセンド(SEND)命令を発行
して、該キャッシュメモリ11上にメッセージが存在する
場合には、該メッセージ(データ)を、デバイス、例え
ば、ポート13に転送し、該キャッシュメモリ11にメッセ
ージが存在しない場合には、主記憶装置(MM)12から読
み出して、デバイス(ポート)13に転送する手段が本発
明を実施するのに必要な手段である。尚、全図を通して
同じ符号は同じ対象物を示している。
以下、第1図を参照しながら、第2図,第3図によっ
て、本発明のデータ転送方式を説明する。
先ず、第2図(b)において、プロセッサ(以下、CP
Uという)10は、32ビットのアドレスバス(ADRESS BU
S)と,32ビットのデータバス(DATA BUS)をもつマイク
ロプロセッサである。
メモリの読み書きの制御は、第2図(a)に示したよ
うに、CPU10からアドレスストロープ(以下、ASとい
う),ライトコマンド(以下、WRITEという)を送出
し、キャッシュコントローラ(CCTL)14からのデータア
クノリッジ(以下、DTACKという)を受信することで行
う。
該WRITEが‘1'のとき、データを書き込み,‘0'のと
き、データの読み出しを行う。又、ASが‘0'になると、
バスサイクルが開始され、そのときのアドレスが有効に
なる。CPU10からの書き込みの場合,上記ASが‘0'にな
ったときに、データバス上のデータ(DATA)も有効であ
る。
キャッシュメモリ11,主記憶装置(MM)12や,デバイ
ス(ポート)13は、データ書き込みに対してデータを受
け取ると、第2図に示されているように、データを受信
完了を示すDTKM,又は、DTKDを‘0'にして、キャッシュ
コントローラ(CCTL)14に転送し、該キャッシュコント
ローラ(CCTL)14は上記DTACKを‘0'にしてバスサイク
ルの終了をCPU10に知らせる。
又、読み出しの場合、上記ASが‘0'になり、キャッシ
ュメモリ11,主記憶装置(MM)12や,デバイス(ポー
ト)13がデータを用意できた時点で、第2図に示されて
いるように、データの準備完了を示すDTKM,又は、DTKD
を‘0'にして、キャッシュコントローラ(CCTL)14に転
送し、該キャッシュコントローラ(CCTL)14は上記DTAC
Kを‘0'にしてデータが有効であることを知らせる。
キャッシュメモリ(以下、CACHEという)11は、ライ
ンサイズが16バイトのキャッシュメモリであって、連続
した16バイトのデータを保持している。
アドレスデコーダ(以下、DECという)17は、CPU10が
出すアドレス上位8ビットをデコードする回路である。
アドレス上位8ビットが、前述のように‘00000001'の
とき、前述の「FLUSH」という信号が、‘00000010'のと
き「SEND」という信号が、それぞれ、‘1'となる。本発
明においては、CPU10が実行するメモリアクセス命令
に、上記フラッシュ命令と類似の「ラインセンド(SEN
D)命令」を設けている。
タグ(以下、TAGという)18は、CACHE11に保持されて
いるデータの存在するアドレスの上位8ビット(23〜1
6)を保持している機能メモリであって、アドレス線(1
5〜4)によってアドレスされたメモリの内容(タグ)
と、該アドレス線の上位8ビット(23〜16)を比較し、
一致した場合に「MATCH」信号が‘1'となる。このと
き、CACHE11に正しいデータが存在している事がわか
る。
該「MATCH」信号が‘0'のとき、CPU10には、主記憶装
置(MM)12からのデータを読み出し、「MATCH」信号が
‘1'のときには、CACHE11からのデータを読み出す。書
き込みも同様に考える。
上記「FLUSH」が‘1'のときで、上記「MATCH信号が
‘1'ならば、CCTL14は、WTC(ライトキャッシュ)信号
が‘0'、即ち、読み出し(リード)で、ASC(アドレス
ストローブキャッシュ)信号を‘0'、即ち、有効にし
て、CACHE11からデータを読み出し、同時にWTM(ライト
メインメモリ)信号が‘1'、即ち、書き込み(ライト)
で、ASM(アドレスストローブメインメモリ)信号を
‘0'、即ち、有効にして、そのデータを主記憶装置(M
M)12に書き込む。このときFLOAT信号を‘1'、即ち、高
インピーダンスにして、CPU10のデータバスを切り離
す。該「MATCH」信号が‘0'のときは何もしない。
次に、「SEND」が‘1'のとき(即ち、ラインセンド命
令)で、「MATCH」が‘1'ならば、CCTLは、上記WTC信
号を‘0'、即ち、リードとして、ASC信号を‘0'、即
ち、有効にして、CACHE11からデータを共通バス16上に
読み出し、同時にWTD(ライトデバイス)信号を‘1'、
即ち、書き込み(ライト)で、ASD(アドレスストロー
ブデバイス)信号を‘0'、即ち、有効にして、その共通
バス16上のデータをデバイス、即ち、ポート13に書き込
むように機能させる。
このときも、上記FLOAT信号を‘1'にして、CPU10のデ
ータバスを切り離す。該「MATCH」信号が‘0'のときに
は、CCTL14は、上記WTM信号を‘0'、即ち、リードと
し、ASM信号を‘0'、即ち、有効にして、主記憶装置(M
M)12からデータを上記共通バス16上に読み出し、同時
に、上記WTD信号を‘1'、即ち、ライトとし、ASD信号を
‘0'、即ち、有効にして、その主記憶装置(MM)12から
上記共通バス16上に読み出したデータを、デバイス(ポ
ート)13に書き出す。同様に、上記FLOAT信号を‘1'と
して、CPU10のデータバスを切り離す。
上記「SEND」の動作は、第2図,第3図のデバイス
(ポート)13から出力されている“デバイス(ポート)
13にデータを転送できることを示している信号εが“1"
のときの動作であり、該εが“0"で上記動作が行われな
いときには、CPU10に上記「SEND」動作の再実行をさせ
るように構成することで、該デバイス(ポート)13がレ
ディーでないときの動作を保障する。
上記実施例においては、メモリアクセス命令のアドレ
スデータが特定のアドレス、即ち、「A+SEND」である
ことをデコードして、ラインセンド命令の動作を機能
させる例で説明したが、主記憶装置(MM)12のアドレス
空間が大きい場合には、上記のように、アドレスビット
の上位ビットで「フラッシュ」と「センド」を識別する
ことが困難となる。
この場合には、例えば、通常のロード命令で、該デバ
イス(ポート)13に送出するデータが格納されているア
ドレス、例えば、「2000」を、特定のレジスタAにロー
ドしておき、上記「ラインセンド」命令を認識する為の
アドレスとして、該メモリアドレス空間の特定のアドレ
ス、例えば、「FFFb」を使用して、ストア命令「ST A F
FFb」を実行することで、データバス上に現れたレジス
タAの内容、即ち、CACHE11のアドレス「2000」を、ア
ドレスバス上にマルチプレクサで切り換えて取り出し、
該CACHE11をアクセスして、該「2000」番地の内容をデ
バイス(ポート)13に送出するように構成することもで
きる。
又、本発明は、上記実施例で詳細に説明したように、
階層化されたメモリ構成において、性能の向上が顕著で
あるが、階層化されていない場合においても、本発明を
適用できることはいう迄もないことである。
この場合の実施例を第3図に示してあるが、第2図
(b)のCCTL14の代わりに、メインメモリコントローラ
(MCTL)15をもってきて、上記特定のアドレス「A+SE
ND」をアドレスデコーダ(DEC)17で検出したとき、主
記憶装置(MM)12のアドレス「A」の内容をデバイス
(ポート)13に送出するように構成することで、従来方
式のように、ポーリングによってステータスチェックう
行うことなく、上記と同じ、特定の「ラインセンド」命
令のみを実行するだけで、主記憶装置(MM)12から、
上記共通バス16を介して、デバイス(ポート)13にメッ
セージ(データ)を転送することができる。
このように、本発明は、複数個のプロセッサエレメン
ト(PE)をポートを介して通信路で接続し、主記憶装置
を共有していない並列計算機システムにおいて、該ポー
トを介したプロセッサエレメント(PE)間のデータ転送
を行うのに、例えば、キャッシュメモリにキャッシュさ
れているデータをフラッシュするのと類似の操作、即
ち、ラインセンド(SEND)命令を発行して、該キャッ
シュメモリ上にメッセージが存在する場合には、該メッ
セージ(データ)を、デバイス、例えば、ポートに転送
し、該キャッシュメモリにメッセージが存在しない場合
には、主記憶装置(MM)から読み出して、デバイス(ポ
ート)に転送するようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のデータ転送方
式は、複数個のプロセッサエレメント(PE)をポートを
介して通信路で接続し、主記憶装置を共有していない並
列計算機システムにおいて、該プロセッサエレメント
(PE)は、少なくとも、プロセッサ(CPU)と,キャッ
シュメモリと,主記憶装置(MM)と,ポートと,それら
を制御するキャッシュコントローラと,共通バスから構
成され、該プロセッサエレメント(PE)に、上記キャッ
シュメモリからのデータを上記共通バスに出力して、上
記ポートに転送する特定の第1のデータ転送命令を設
け、且つ、上記ポートにデータの転送ができることを検
出して、上記特定の第1のデータ転送命令を実行する
機構を上記キャッシュコントローラに設けて、上記特定
の第1のデータ転送命令で、上記キャッシュメモリ上
に存在するデータについては、該キャッシュメモリから
直接、上記共通バスを介してポートに転送し、該キャッ
シュメモリ上にキャッシュされていないデータについて
は、上記主記憶装置(MM)から、上記共通バスを介して
該ポートに転送するようにしたものであるので、階層化
されたメモリシステムを備えたプロセッサエレメント
(PE)においても、フラッシュ命令と類似の、「ライン
センド」命令で、オーバヘッドの少ないデータ転送を
実現することができる効果がある。
第4図は、ラインセンドの有効性の評価図である。上
記の説明から明らかな如く、フラッシュ動作と、ライン
センド動作は等価であるので、デバイス(ポート)への
データ転送時間は、従来方式に比較して、約1/4に短縮
される。
【図面の簡単な説明】
第1図は本発明の原理を説明する図, 第2図は本発明の一実施例を示した図, 第3図は本発明の他の実施例を示した図, 第4図はラインセンドの有効性の評価図, 第5図はキャッシュメモリの構成例を示した図, 第6図は並列計算機システムの構成例を示した図, 第7図は従来のデータ転送方式を説明する図, である。 図面において、 1はプロセッサエレメント(PE), 2は通信路, 10はプロセッサ(CPU), 11はキャッシュメモリ(CACHE), 12は主記憶装置(MM),13はデバイス(ポート), 14はキャッシュコントローラ(CCTL), 15はメインメモリコントローラ(MCTL), 16は共通バス, 17はアドレスデコーダ(DEC), 18はタグ(TAG), ,は特定の命令,又は、ラインセンド命令,をそれ
ぞれ示す。
フロントページの続き (56)参考文献 特開 昭53−116041(JP,A) 特開 昭57−79541(JP,A) 特開 昭63−155254(JP,A) 特開 昭64−14660(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも、プロセッサと,キャッシュメ
    モリと,主記憶装置と,ポートと,それらを制御するキ
    ャッシュコントローラと,共通バスから構成されるプロ
    セッサエレメントを複数個、該ポートを介して通信路で
    接続し、上記主記憶装置を共有しない並列計算機システ
    ムにおいて、 上記プロセッサエレメントに、上記キャッシュメモリか
    らのデータを上記共通バスに出力して、上記ポートに転
    送する第1のデータ転送命令を設け、且つ、上記ポート
    にデータ転送ができることを検出して、上記第1のデー
    タ転送命令を実行する手段を上記キャッシュコントロー
    ラに設けて、 上記第1のデータ転送命令で、上記キャッシュメモリ上
    に存在するデータについては、該キャッシュメモリから
    直接、上記共通バスを介して上記ポートに転送し、該キ
    ャッシュメモリ上にキャッシュされていないデータにつ
    いては、上記主記憶装置から、上記共通バスを介して、
    上記ポートに転送することを特徴とするデータ転送方
    式。
JP1290684A 1989-11-08 1989-11-08 データ転送方式 Expired - Fee Related JP2695017B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP1290684A JP2695017B2 (ja) 1989-11-08 1989-11-08 データ転送方式
AU63735/90A AU629986B2 (en) 1989-11-08 1990-10-02 Data transmission control apparatus for parallel processing system
DE69033412T DE69033412T2 (de) 1989-11-08 1990-10-18 Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme
EP90120014A EP0427023B1 (en) 1989-11-08 1990-10-18 Data transmission control apparatus for parallel processing system
US08/852,026 US5935204A (en) 1989-11-08 1997-05-06 System for a multi-processor system wherein each processor transfers a data block from cache if a cache hit and from main memory only if cache miss

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1290684A JP2695017B2 (ja) 1989-11-08 1989-11-08 データ転送方式

Publications (2)

Publication Number Publication Date
JPH03150659A JPH03150659A (ja) 1991-06-27
JP2695017B2 true JP2695017B2 (ja) 1997-12-24

Family

ID=17759163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1290684A Expired - Fee Related JP2695017B2 (ja) 1989-11-08 1989-11-08 データ転送方式

Country Status (5)

Country Link
US (1) US5935204A (ja)
EP (1) EP0427023B1 (ja)
JP (1) JP2695017B2 (ja)
AU (1) AU629986B2 (ja)
DE (1) DE69033412T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RO105026B1 (en) * 1991-10-10 1993-09-01 Ion Minca Network structure for parallel processing of calcullation programs
JP3409866B2 (ja) * 1992-09-18 2003-05-26 株式会社日立製作所 並列計算機
US7062610B2 (en) * 2002-09-30 2006-06-13 Advanced Micro Devices, Inc. Method and apparatus for reducing overhead in a data processing system with a cache
US8397224B2 (en) * 2004-09-13 2013-03-12 The Mathworks, Inc. Methods and system for executing a program in multiple execution environments
WO2007110914A1 (ja) * 2006-03-27 2007-10-04 Fujitsu Limited マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
US8122229B2 (en) * 2007-09-12 2012-02-21 Convey Computer Dispatch mechanism for dispatching instructions from a host processor to a co-processor
US9710384B2 (en) * 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US9015399B2 (en) 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US8095735B2 (en) 2008-08-05 2012-01-10 Convey Computer Memory interleave for heterogeneous computing
US8156307B2 (en) * 2007-08-20 2012-04-10 Convey Computer Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
US8561037B2 (en) * 2007-08-29 2013-10-15 Convey Computer Compiler for generating an executable comprising instructions for a plurality of different instruction sets
US8205066B2 (en) * 2008-10-31 2012-06-19 Convey Computer Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor
US20100115233A1 (en) * 2008-10-31 2010-05-06 Convey Computer Dynamically-selectable vector register partitioning
GB0910388D0 (en) * 2009-06-16 2009-07-29 Icera Inc Data transmission
US8423745B1 (en) 2009-11-16 2013-04-16 Convey Computer Systems and methods for mapping a neighborhood of data to general registers of a processing element
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
JP7283191B2 (ja) * 2019-04-05 2023-05-30 富士フイルムビジネスイノベーション株式会社 情報処理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53116041A (en) * 1977-03-18 1978-10-11 Nec Corp System controller
DE3068498D1 (en) * 1979-05-09 1984-08-16 Int Computers Ltd Hierarchical data storage system
JPS5779541A (en) * 1980-11-05 1982-05-18 Nippon Telegr & Teleph Corp <Ntt> Interprocessor communication system
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller
US4635194A (en) * 1983-05-02 1987-01-06 International Business Machines Corporation Instruction buffer bypass apparatus
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
US4713755A (en) * 1985-06-28 1987-12-15 Hewlett-Packard Company Cache memory consistency control with explicit software instructions
US4722050A (en) * 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
JPS63155254A (ja) * 1986-12-18 1988-06-28 Yokogawa Hewlett Packard Ltd 情報処理装置
JPH0668735B2 (ja) * 1987-02-09 1994-08-31 日本電気アイシーマイコンシステム株式会社 キヤツシユメモリ−
US5058001A (en) * 1987-03-05 1991-10-15 International Business Machines Corporation Two-dimensional array of processing elements for emulating a multi-dimensional network

Also Published As

Publication number Publication date
AU6373590A (en) 1991-07-04
DE69033412D1 (de) 2000-02-10
EP0427023B1 (en) 2000-01-05
US5935204A (en) 1999-08-10
DE69033412T2 (de) 2000-08-03
AU629986B2 (en) 1992-10-15
JPH03150659A (ja) 1991-06-27
EP0427023A2 (en) 1991-05-15
EP0427023A3 (en) 1992-11-19

Similar Documents

Publication Publication Date Title
JP2695017B2 (ja) データ転送方式
JP3431626B2 (ja) データ処理装置
US5581727A (en) Hierarchical cache system flushing scheme based on monitoring and decoding processor bus cycles for flush/clear sequence control
JP3289661B2 (ja) キャッシュメモリシステム
US7523260B2 (en) Propagating data using mirrored lock caches
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
JP4097883B2 (ja) データ転送装置および方法
US8719499B2 (en) Cache-line based notification
US6826655B2 (en) Apparatus for imprecisely tracking cache line inclusivity of a higher level cache
JP4965974B2 (ja) 半導体集積回路装置
JP3162459B2 (ja) データ処理装置
JP3052460B2 (ja) 協調処理型情報処理装置
JP2008123333A5 (ja)
JPH05158793A (ja) 並列キャッシュメモリ
JP3299147B2 (ja) キャッシュ制御回路
JPH0415496B2 (ja)
JP2791319B2 (ja) データ処理装置
JPH058459B2 (ja)
JP2696899B2 (ja) マルチプロセッサシステム
JPH01118944A (ja) キャッシュメモリ制御装置
JPH0628303A (ja) 通信処理装置
EP0460852A2 (en) System for maintaining data coherency between main and cache memories
JPH03271859A (ja) 情報処理装置
JPH0376501B2 (ja)
JPS6336536B2 (ja)

Legal Events

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