JPH11203252A - 並列プロセッサおよびメモリ制御方法 - Google Patents

並列プロセッサおよびメモリ制御方法

Info

Publication number
JPH11203252A
JPH11203252A JP10006998A JP699898A JPH11203252A JP H11203252 A JPH11203252 A JP H11203252A JP 10006998 A JP10006998 A JP 10006998A JP 699898 A JP699898 A JP 699898A JP H11203252 A JPH11203252 A JP H11203252A
Authority
JP
Japan
Prior art keywords
memory
subpage
page
bus
sub
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
JP10006998A
Other languages
English (en)
Inventor
Yoshihiko Imamura
義彦 今村
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP10006998A priority Critical patent/JPH11203252A/ja
Publication of JPH11203252A publication Critical patent/JPH11203252A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 高い演算性能を発揮できる並列プロセッサを
提供する。 【解決手段】 コモンバス22に接続されたプロセッサ
エレメントから要求されたサブページが共有メモリ24
のサブバンク41〜44の何れかにも記憶されていない
場合に、当該要求のあったサブページを含む連続したア
ドレスを持つ複数のサブページからなるページを、外部
アクセスバス26を介してメインメモリから読み出し、
例えばサブバンク41〜44のバンク801 に記憶す
る。その後、当該要求があったサブページをコモンバス
22を介して、要求を発したプロセッサエレメントに出
力する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明は、複数のプロセッサ
エレメントおよび共有メモリがコモンバスを介して接続
された並列プロセッサおよびメモリ制御方法に関する。
【0002】
【従来の技術】近年、プログラム中の同時に実行可能な
複数の命令を1チップ内に組み込まれた複数のプロセッ
サエレメント(PE)で並列に実行し、プログラム全体
の実行時間の短縮を図る並列プロセッサの開発が行われ
ている。このような並列プロセッサのアーキテクチャと
して種々のものが提案されているが、それらの一つとし
て、1組のコモンバス(共有バス)に、複数のプロセッ
サエレメントおよび共有メモリを接続したものがある。
【0003】図6は、従来の一般的な並列プロセッサ1
のシステム構成図である。図6に示すように、並列プロ
セッサ1は、1チップ内にコモンバス2、n個のプロセ
ッサエレメント31 〜3n 、共有メモリ4およびバスユ
ニット5が組み込まれており、コモンバス2にプロセッ
サエレメント31 〜3n 、共有メモリ4およびバスユニ
ット5が接続されている。また、バスユニット5は、外
部のチップインタフェース6を介してメインメモリ7に
接続されている。また、共有メモリ4のメモリセル領域
4aには、1個のデータポートI/Oが備えられてい
る。並列プロセッサ1では、プロセッサエレメント31
〜3n が、共有メモリ4に記憶されているデータにアク
セスするときに、コモンバス2およびデータポートI/
Oを介してデータが伝送される。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た並列プロセッサ1では、プロセッサエレメント31
n と共有メモリ4との間のデータ転送および共有メモ
リ4とメインメモリ7との間のデータ転送が共にコモン
バス2を介して行われ、しかも、共有メモリ4のメモリ
セル領域4aが1個のデータポートI/Oしか備えてい
ないため、以下に示すような理由から、プロセッサエレ
メント31 〜3n の待ち時間が長くなる可能性が高いと
いう問題がある。すなわち、共有メモリ4にページフォ
ルトが発生し、共有メモリ4とメインメモリ7との間で
ページの入れ替えを行っている間は、コモンバス2が使
用中であるため、プロセッサエレメント31 〜3n は共
有メモリ4にアクセスできない。従って、プロセッサエ
レメント31 〜3n から共有メモリ4に対してのアクセ
ス要求は、ページ入れ替え処理が終了するまで待たされ
てしまい、並列プロセッサ1の演算性能が低下してしま
う。
【0005】このような問題を解決するために、図7に
示すように、共有メモリ4のメモリセル領域4bに複数
個のデータポートI/O(1)〜I/O(k)を設ける
ことが考えられる。これらのデータポートは、それぞれ
対応するコモンバス10に接続されている。しかしなが
ら、共有メモリ4に複数のデータポートを設けると、メ
モリセル領域4bの面積が大幅に増大し、並列プロセッ
サ1に要求されるチップ面積との関係で、共有メモリ4
のメモリ容量を削減しなければならない。その結果、共
有メモリ4に十分なメモリ容量を持たせることができ
ず、ページフォルトの発生頻度が高くなり、並列プロセ
ッサ1の演算性能を低下させてしまうという問題が生じ
る。
【0006】本発明は上述した従来技術の問題点に鑑み
てなされ、高い演算性能を発揮できる並列プロセッサお
よびメモリ制御方法を提供することを目的とする。
【0007】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
並列プロセッサは、それぞれ単数または複数のサブペー
ジを記憶する内部メモリを備え、当該内部メモリに記憶
されたデータを用いて演算処理を行う複数のプロセッサ
エレメントと、前記複数のプロセッサエレメントと接続
された第1のバスと、外部メモリと接続された第2のバ
スと、前記第1のバスおよび前記第2のバスの双方に接
続された共有メモリとを有し、前記共有メモリは、それ
ぞれサブページを記憶する複数のサブバンクからなる記
憶領域を持つ記憶手段と、前記複数のサブバンクと、前
記第1のバスおよび第2のバスのうち選択した一方とを
接続する選択手段と、前記プロセッサエレメントから要
求があったサブページが前記複数のサブバンクに記憶さ
れている場合に、当該要求があったサブページを前記第
1のバスを介して要求があったプロセッサエレメントに
転送し、前記プロセッサエレメントから要求があったサ
ブページが前記複数のサブバンクに記憶されていない場
合に、前記要求のあったサブページを含む連続したアド
レスを持つ複数のサブページからなるページを、前記第
2のバスを介して前記外部メモリから読み出して前記複
数のサブバンクに記憶する制御手段とを有する。
【0008】本発明の並列プロセッサでは、プロセッサ
エレメントが演算処理を実行中に、必要なデータを含む
サブページが内部メモリに記憶されていないと判断する
と、プロセッサエレメントは当該サブページを共有メモ
リに要求する。共有メモリの制御手段は、当該要求があ
ったサブページが複数のサブバンクの何れかに記憶され
ているか否かを判断し、記憶されていると判断した場合
には、選択手段によって当該サブページが記憶されてい
るサブバンクと第1のバスとを接続し、当該要求があっ
たサブページを前記第1のバスを介して要求があったプ
ロセッサエレメントの内部メモリに転送して記憶する。
その後、プロセッサエレメントは、内部メモリにアクセ
スを行って、要求したサブページのデータを演算処理に
用いる。一方、制御手段は、プロセッサエレメントから
要求があったサブページが前記複数のサブバンクの何れ
にも記憶されていないと判断した場合に、選択手段によ
って前記複数のサブバンクと第2のバスとを接続させ、
前記要求のあったサブページを含む連続したアドレスを
持つ複数のサブページからなるページを、前記外部メモ
リから読み出して前記第2のバスを介して複数のサブバ
ンクに記憶する。その後、制御手段は、選択手段によっ
て、プロセッサエレメントから要求があったサブページ
が記憶されているサブバンクと第1のバスとを接続さ
せ、前記要求があったサブページを第1のバスを介して
要求を出したプロセッサエレメントに転送する。
【0009】また、本発明の並列プロセッサは、好まし
くは、前記共有メモリと前記プロセッサエレメントとの
間で転送されるサブページと、前記共有メモリと前記外
部メモリとの間で転送されるサブページとが異なる場合
に、前記共有メモリと前記プロセッサエレメントとの間
でのサブページの転送処理と、前記共有メモリと前記外
部メモリとの間でのサブページの転送処理とを並行して
行うように制御する。
【0010】また、本発明の並列プロセッサは、好まし
くは、前記制御手段は、、前記プロセッサエレメントか
らのサブページの要求にページフォルトが生じ、当該要
求があったサブページを含むページを前記外部メモリか
ら前記記憶領域に読み出すときに、前記要求があったサ
ブページを最初に前記外部メモリから前記記憶領域に読
み出す。
【0011】さらに、本発明のメモリ制御方法は、それ
ぞれ単数のデータポートを持つ複数のサブバンクからな
る記憶領域を持ち、複数のプロセッサエレメントからア
クセスされる共有メモリの前記サブバンクに単数または
複数のサブページを記憶し、プロセッサエレメントから
アクセス要求があったサブページが前記共有メモリに記
憶されている場合に、当該サブページを前記共有メモリ
から前記アクセス要求を発生したプロセッサエレメント
に第1のバスを介して転送し、前記アクセス要求があっ
たサブページが前記共有メモリに記憶されていない場合
に、前記アクセス要求があったサブページを含む連続し
たアドレスを持つ複数のサブページからなるページを、
前記外部メモリから前記共有メモリに第2のバスを介し
て転送した後に、前記アクセス要求があったサブページ
を、前記要求を発生したプロセッサエレメントに前記共
有メモリから第1のバスを介して転送する。
【0012】
【発明の実施の形態】以下、本発明の実施形態に係わる
並列プロセッサについて詳細に説明する。図1は、本実
施形態の並列プロセッサ21のシステム構成図である。
図1に示すように、並列プロセッサ21は、例えば、第
1のバスとしてのコモンバス22、プロセッサエレメン
ト231 〜23n 、共有メモリ24、バスユニット25
および第2のバスとしての外部アクセスバス26を有す
る。
【0013】並列プロセッサ21では、コモンバス22
に、プロセッサエレメント231 〜23n および共有メ
モリ24が接続されている。また、外部アクセスバス2
6に、共有メモリ24およびバスユニット25が接続さ
れている。
【0014】コモンバス22は128ビットのバス幅を
有し、外部アクセスバス26は32ビットのバス幅を有
している。コモンバス22の転送速度は、外部アクセス
バス26の転送速度の約4倍である。なお、コモンバス
22と外部アクセスバス26とのバス幅を同じにするこ
とも可能である。プロセッサエレメント231 〜23n
は、例えば、並列プロセッサ1がMIMD(Multiple In
struction Multiple Data)型の並列プロセッサの場合に
は、個々にプログラムカウンタを持ち、当該プログラム
カウンタによって指し示される図示しないインストラク
ションメモリのアドレスに記憶された命令に応じた処理
を相互に独立して行う。プロセッサエレメント231
23n としては、例えば、RISC(Reduced Instructi
on Set Computer)型の汎用プロセッサが用いられる。プ
ロセッサエレメント231 〜23n は、例えば、所定の
プログラムに基づいて画像処理を行う。
【0015】プロセッサエレメント231 〜23n は、
それぞれ複数のサブページ、例えば、3個のサブページ
を記憶可能な内部メモリとしてのサブバンク271 ,2
2,273 を備えている。ここで、サブページは、メ
インメモリ7上の連続したアドレスの記憶領域に記憶さ
れた512バイトのデータであり、4個の連続したアド
レスのサブページによって1ページが構成される。な
お、プロセッサエレメント231 〜23n が備えている
サブバンクの数を、相互に異なるようにすることも可能
である。プロセッサエレメント231 〜23n は、後述
するように、共有メモリ24からサブページを読み込ん
でサブバンク271 〜273 に記憶するが、サブバンク
271 〜273 相互間で異なるページのサブページを記
憶することができる。バスユニット25は、並列プロセ
ッサ21の外部に設けられたチップインタフェース6を
介してメインメモリ7に接続されている。
【0016】図2は、図1に示す共有メモリ24の構成
図である。図2に示すように、共有メモリ24は、例え
ば、コモンバス用制御回路31、外部バス用制御回路3
2、制御回路33、メモリ内部バス51,52、選択手
段としてのマルチプレクサ(MUX)53,54,5
5,56、メモリセル領域90およびアドレスデコーダ
57,58,59,60を有する。なお、本実施形態で
は、コモンバス用制御回路31、外部バス用制御回路3
2および制御回路33が制御手段として機能する。制御
回路33は、コモンバス用制御回路31、外部バス用制
御回路32、マルチプレクサ53〜56、アドレスデコ
ーダ57〜60を制御する。また、制御回路33は、プ
ロセッサエレメント231 〜23n からサブページ入れ
替え要求信号を入力した場合に、要求があったサブペー
ジがメモリセル領域90に記憶されているか否か(ペー
ジヒットの有無)をタグデータを参照して判断し、ペー
ジフォルトが発生したと判断した場合には、メモリセル
領域90に記憶されている複数のページのうち、次にペ
ージインするページと入れ替えを行うページを決定す
る。ここで、タグデータは、メモリセル領域90に記憶
されているページの識別番号などを示している。
【0017】コモンバス用制御回路31は、メモリ内部
バス51およびコモンバス22を介したプロセッサエレ
メント231 〜23n とメモリサブバンク41〜44と
の間のサブページの転送を制御する。具体的には、コモ
ンバス用制御回路31は、制御回路33から制御信号に
基づいて、制御信号S31を出力してアドレスデコーダ
57〜60を制御すると共に、マルチプレクサ53〜5
4の切り換え制御を行う。
【0018】外部バス用制御回路32は、メモリ内部バ
ス52および外部アクセスバス26を介したメモリサブ
バンク41〜44とメインメモリ7との間のページの転
送を制御する。具体的には、外部バス用制御回路32
は、制御回路33からの制御信号に基づいて、制御信号
S32を出力してアドレスデコーダ57〜60を制御す
ると共に、マルチプレクサ53〜54の切り換え制御を
行う。
【0019】マルチプレクサ53〜56は、制御信号S
31,S32および制御回路33からの制御信号に基づ
いて、それぞれメモリサブバンク41〜44を、メモリ
内部バス51および52の何れか一方と接続する。
【0020】アドレスデコーダ57〜60は、制御信号
S31,S32をデコードして、それぞれメモリサブバ
ンク41〜44に対してのアクセスを制御する。
【0021】メモリセル領域90は、4個のメモリサブ
バンク41〜44に物理的に等分に分割されている。メ
モリサブバンク41〜44は、それぞれシングルデータ
ポートを備えている。また、メモリセル領域90は、そ
れぞれメモリサブバンク41〜44に対して等分に跨が
るように、m個のバンク800 〜80m-1 によって区切
られている。メモリサブバンク41〜44は、例えば、
それぞれm個のサブページを記憶可能な記憶容量を有す
る。なお、サブページは、画像データを含んでいる。メ
モリサブバンク41〜44は、それぞれマルチプレクサ
53〜56、メモリ内部バス51およびコモンバス22
を介して、プロセッサエレメント231 〜23n との間
で、データの入れ替えをサブページ単位で行う。ここ
で、データを入れ換えるとは、プロセッサエレメント2
1 〜23n からメモリサブバンク41〜44にデータ
を書き込む動作、メモリサブバンク41〜44からプロ
セッサエレメント231 〜23n にデータを読み出す動
作、および、その両方の動作を含む。
【0022】ここで、コモンバス22は128ビットの
バス幅を有し、コモンバス22を介した1回当たりのバ
スオペレーションではサブページがデータ転送の単位と
なるため、512バイトのサブページを転送するには、
32(=512×8/128)回分のバストランザクシ
ョンが最低限必要である。
【0023】また、メモリサブバンク41〜44は、マ
ルチプレクサ53〜56、メモリ内部バス52および外
部アクセスバス26を介して、各バンク800 〜80
m-1 に記憶されるページ単位で、メインメモリ7との間
でデータを入れ替える。ここで、1ページは2Kバイト
であり、4個のサブページからなる。従って、プロセッ
サエレメント231 〜23n がアクセスしようとするサ
ブページの先頭アドレスが、図3に示すA番地、(A+
512)番地、(A+1024)番地あるいは(A+1
536)番地である場合には、メインメモリ7からA番
地から2Kバイトの連続したアドレスに記憶された1ペ
ージ分のデータを共有メモリ24に転送し、この1ペー
ジ分のデータを4個のサブページに分割して、各バンク
800 〜80m に記憶する。本実施形態では、メインメ
モリ7のメモリ空間を、32ビットのアドレスを用いて
指し示している。ここで、この32ビットのアドレスの
うち、31〜11ビット目がページの先頭アドレスを示
し、10〜0ビット目がページ内のアドレスを示してい
る。また、10ビット目および9ビット目がサブバンク
を示している。
【0024】メモリサブバンク41〜44に記憶されて
いるサブページは、全てのプロセッサエレメント231
〜23n で共有できるように、システム全体で、サブペ
ージのデータ量を統一することが望ましい。本実施形態
では、プロセッサエレメント231 〜23n のサブバン
ク271 のメモリ容量を512バイトとし、サブページ
のデータ量も512バイトとしている。ここで、外部ア
クセスバス26は32ビットのバス幅を有し、外部アク
セスバス26を介した1回当たりのバスオペレーション
ではページがデータ転送の単位となるため、2Kバイト
のページを転送するには、512(=2048×8/3
2)回分のバストランザクションが最低限必要である。
【0025】以下、並列プロセッサ21の動作について
説明する。ここでは、プロセッサエレメント231 〜2
n から共有メモリ24にアクセスがあった場合に、共
有メモリ24がページヒットした場合とページミスした
場合との並列プロセッサ21の動作を説明する。ページヒットした場合 例えば、プロセッサエレメント233 で読み出し要求が
発生したアドレスを含むサブページが、プロセッサエレ
メント233 内のサブバンク271 〜273 に記憶され
ていない場合に、プロセッサエレメント233 からコモ
ンバス22を介して要求するアドレスを含むサブページ
のサブページ入れ替え要求信号が共有メモリ24の制御
回路33に出力される。次に、制御回路33において、
サブページ入れ替え要求信号によって要求があったサブ
ページがメモリセル領域90に記憶されているか否かが
タグデータを参照して判断される。そして、例えば、メ
モリサブバンク41に、当該要求があったアドレスを含
むサブページが記憶されている場合には、制御回路33
からコモンバス用制御回路31に制御信号が出力され
る。そして、コモンバス用制御回路31からアドレスデ
コーダ57に制御信号S31が出力され、アドレスデコ
ーダ57の制御によって、マルチプレクサ53がメモリ
内部バス51と接続される。そして、メモリサブバンク
41から、当該要求のあったサブページが、マルチプレ
クサ53、メモリ内部バス51およびコモンバス22を
介してプロセッサエレメント233 に転送される。この
サブページは、プロセッサエレメント233 の例えばサ
ブバンク271 に記憶される。その後、プロセッサエレ
メント233 において、サブバンク271 に記憶された
サブデータから当該読み出し要求が発生したアドレスの
データが読み出される。
【0026】ページフォルトが発生した場合 次に、プロセッサエレメント233 から読み出し要求が
発生したアドレスを含むサブページが、プロセッサエレ
メント233 内のサブバンク271 〜273 に記憶され
ていない場合を考える。先ず、プロセッサエレメント2
3 からコモンバス22を介してサブページ入れ替え要
求信号が共有メモリ24に出力される。次に、制御回路
33において、サブページ入れ替え要求信号によって要
求があったサブページがメモリセル領域90に記憶され
ているか否かがタグデータを参照して判断される。この
場合には、メモリセル領域90には、要求があったサブ
ページが記憶されていない(ページフォルト)と判断さ
れ、メモリセル領域90に記憶されている複数のページ
のうち、次にページインするページと入れ替えを行うペ
ージが決定される。ここで、例えば、バンク801 に記
憶されているページを、次にページインするページと入
れ替えることが決定される。なお、制御回路33におい
て、ページフォルトと判断されたときに、制御回路33
からプロセッサエレメント233 に、アクセスを停止す
ることを示す指示信号が出力される。これにより、プロ
セッサエレメント233 は待ち状態となる。
【0027】次に、制御回路33から外部バス用制御回
路32に、メインメモリ7との間でページ入れ替えを行
うことを示す制御信号が出力される。当該制御信号が外
部バス用制御回路32に入力されると、プロセッサエレ
メント233 が要求しているサブページがメモリサブバ
ンク42に記憶される場合には、先ず、外部バス用制御
回路32からアドレスデコーダ58にサブページの入れ
替えを示す制御信号S32が出力される。
【0028】制御信号S32がアドレスデコーダ58に
入力されると、マルチプレクサ54がメモリ内部バス5
2と接続状態になり、サブページ92に対して以前に書
き込みがあった場合には、図4(A)に示すように、メ
モリサブバンク42のバンク801 に記憶されているサ
ブページ92が、メモリ内部バス52、外部アクセスバ
ス26、バスユニット25およびチップインタフェース
6を介して、メインメモリ7に書き込まれる。一方、サ
ブページ92に対して以前に書き込みがなかった場合に
は、サブページ92にはメインメモリ7には書き込まれ
ない。また、メインメモリ7に記憶されている要求があ
ったサブページ102が、外部アクセスバス26を介し
てメインメモリ7から共有メモリ24に出力され、共有
メモリ24のサブバンク42に記憶される。
【0029】次に、制御回路33からの制御に基づい
て、マルチプレクサ54がメモリ内部バス51と接続状
態になる。そして、コモンバス用制御回路31からアド
レスデコーダ58に制御信号S31が出力され、サブバ
ンク42に記憶されたサブページ102がコモンバス2
2を介してプロセッサエレメント233 に転送され、プ
ロセッサエレメント233 の例えばサブバンク271
記憶される。そして、プロセッサエレメント233 にお
いて、サブバンク271 から当該読み出し要求が発生し
たアドレスのデータが読み出される。その後、サブペー
ジ102に対しては、プロセッサエレメント231 〜2
nの全てからアクセスが可能になる。
【0030】サブページ92とサブページ102との入
れ替え処理に続いて、外部バス用制御回路32からの制
御信号S32に基づいて、アドレスデコーダ59による
制御によって、図4(B)に示すようにメモリサブバン
ク43のサブページ93とメインメモリ7に記憶された
サブページ103とが入れ替えられる。この入れ替え処
理は、上述したプロセッサエレメント233 と共有メモ
リ24との間でのサブページ102の入れ替え処理と並
行して行われる。すなわち、並列プロセッサ21では、
同一のサブページでない限り、プロセッサエレメント2
1 〜23n と共有メモリ24と間でのコモンバス22
を介したサブページの入れ替え処理と、共有メモリ24
とメインメモリ7との間での外部アクセスバス26を介
したページの入れ替え処理とを多重化できる。その後、
サブページ103に対しては、プロセッサエレメント2
1 〜23nの全てからアクセスが可能になる。
【0031】次に、図4(C)に示すようにメモリサブ
バンク44のサブページ94とメインメモリ7に記憶さ
れたサブページ104との入れ替え処理と、図4(D)
に示すようにメモリサブバンク41のサブページ91と
メインメモリ7に記憶されたサブページ101との入れ
替え処理とが順に行われる。これにより、共有メモリ2
4とメインメモリ7との間で、1ページ分のデータ入れ
替え処理が完了する。ここでも、サブページ94とサブ
ページ104との入れ替え処理が完了した後、プロセッ
サエレメント231 〜23n からサブページ104に対
してのアクセスが可能になり、サブページ91とサブペ
ージ101との入れ替え処理が完了した後、プロセッサ
エレメント231 〜23n からサブページ101に対し
てのアクセスが可能になる。
【0032】上述したように、本実施形態では、プロセ
ッサエレメント233 が要求するサブページを最初にメ
インメモリ7から共有メモリ24に読み込むように制御
が行われる。そのため、プロセッサエレメント23
3 が、共有メモリ24にアクセスする際の待ち時間を短
くできる。また、メインメモリ7から共有メモリ24に
読み込みが完了したサブページについては、当該サブペ
ージを含むページ全体が共有メモリ24に読み込まれる
前であっても、プロセッサエレメント231 〜23n
らアクセスが可能である。
【0033】多重アクセス 次に、図4を用いて説明したように、プロセッサエレメ
ント233 からの読み出し要求に応じて、共有メモリ2
4のバンク801 に記憶されたサブページ91〜94と
メインメモリ7に記憶されたサブページ101〜104
とがメモリ内部バス52および外部アクセスバス26を
介して入れ替えられている最中に、プロセッサエレメン
ト233 以外のプロセッサエレメント234 から図5に
示す共有メモリ24のバンク806 に記憶されたサスペ
ージ112に対しての読み出し要求が発生した場合の並
列プロセッサ21の処理について説明する。
【0034】この場合には、サブページ112に対して
の読み出し要求制御信号が、プロセッサエレメント23
4 からコモンバス22を介して共有メモリ24の制御回
路33に出力され、制御回路33によってコモンバス用
制御回路31が制御される。このとき、サブページ11
2はメモリサブバンク42に記憶されているため、コモ
ンバス用制御回路31からアドレスデコーダ58に制御
信号S31が出力され、マルチプレクサ54がメモリ内
部バス51に接続される。これによって、サブページ1
12が、メモリ内部バス51およびコモンバス22を介
して、プロセッサエレメント234 に出力される。
【0035】並列プロセッサ21では、上述したサブペ
ージ112の転送処理と並行して、図4を用いて前述し
た共有メモリ24のバンク801 に記憶されたサブペー
ジ91〜94とメインメモリ7に記憶されたサブページ
101〜104との入れ替え処理が行われる。すなわ
ち、並列プロセッサ21では、プロセッサエレメント2
1 〜23n と共有メモリ24との間でのサブページの
入れ替え処理と、共有メモリ24とメインメモリ7との
間でのページ入れ替え処理とを多重化できる。
【0036】以上説明したように、並列プロセッサ21
では、共有メモリ24にページフォルトが発生した場合
に、当該ページの全てが、メインメモリ7から共有メモ
リ24に読み込まれる前でも、必要なサブページが読み
込まれた時点で、プロセッサエレメント231 〜23n
は当該読み込まれたサブページにアクセスすることがで
きる。そのため、ページフォルトに伴うプロセッサエレ
メント231 〜23nの待ち時間を大幅に短縮でき、高
速処理が実現される。
【0037】また、画像処理などの分野では、同一のペ
ージ内のデータが、プロセッサエレメント231 〜23
n から連続してアクセスされる場合が多いが、並列プロ
セッサ21では、ページフォルトが発生した場合に、要
求が生じたサブページの他に当該サブページと連続した
アドレスを持つ他の3個のサブページもメインメモリ7
から共有メモリ24に読み込むため、次にページフォル
トが発生する可能性を低減できる。すなわち、画像処理
の特性から、要求があったサブページと連続したアドレ
スのサブページについても近い将来、プロセッサエレメ
ント231 〜23n からアクセスが発生する可能性が高
いため、これらのサブページを要求があったサブページ
と共にメインメモリ7から共有メモリ24に読み込むこ
とは、将来のページフォルトの発生率を低下させるのに
有効である。
【0038】また、並列プロセッサ21では、共有メモ
リ24のメモリセル領域90のメモリサブバンク41〜
44としてシングルデータポート構造のものを用いて、
プロセッサエレメント231 〜23n と共有メモリ24
との間でのサブページ入れ替え処理と、共有メモリ24
とメインメモリ7との間でのページ入れ替え処理とを並
行して行うことができるため、小さな回路規模で、高速
処理を実現できる。すなわち、共有メモリ24は、各サ
ブバンクがシングルポートであるが、機能的に、2ポー
トと略同じ性能を実現できる。
【0039】本発明は上述した実施形態には限定されな
い。例えば、上述した実施形態では、共有メモリ24の
メモリセル領域90を4個のメモリサブバンク41〜4
4に分割した場合を例示したが、メモリサブバンクの数
は任意である。従って、例えば、共有メモリ24のメモ
リセル領域90を8個のメモリサブバンクに分割しても
よい。この場合には、1ページは8個のサブページで構
成される。また、上述した実施形態では、単数のサブペ
ージのデータ量を512バイトとしたが、このデータ量
は特に限定されず、256バイトあるいは1024バイ
トなどであってもよい。
【0040】また、図4を用いて説明した共有メモリ2
4とメインメモリ7との間のページ入れ替え処理は、プ
ロセッサエレメント233 から要求のあったサブバンク
42に記憶されたサブページ92についての入れ替え処
理を最初に行えば、その後、サブバンク41,43,4
4に記憶されたサブページ91,93,94をメインメ
モリ7との間でどの順序で入れ替えてもよい。例えば、
上述した実施形態では、要求があったサブページ92の
次にアドレスをインクリメントする方向に、サブページ
93,94,91の順で入れ替えを行ったが、アドレス
をデクリメントする方向に、サブページ92の次にサブ
ページ91,94,93の順で入れ替えてもよい。
【0041】また、本発明は、例えば、プロセッサエレ
メント231 〜23n の動作モードを判断したり、各プ
ロセッサエレメント231 〜23n のデータアクセスパ
ターンがメモリアドレスを増加および減少する方向の何
れであるかを判断する判断回路を設けることも可能であ
る。この場合には、当該判断回路の判断結果に基づい
て、共有メモリ24とメインメモリ7との間でのサブペ
ージの入れ替え順序を、プロセッサエレメント231
23n のアクセス待ち時間が短くなるように、柔軟に設
定するように構成することができる。ここで、共有メモ
リ24におけるサブページの入れ替え順序を制御する手
段として、固定された論理回路の他に、条件に応じえ入
れ替え順序を柔軟に変更できるシーケンサなどのプログ
ラム可能な回路を設けることが望ましい。
【0042】また、上述した並列プロセッサ21では、
図2に示すように、1組のメモリ内部バス51およびコ
モンバス22を用いた場合を例示したが、例えば、メモ
リサブバンクの数以下の複数組のメモリ内部バス51お
よびコモンバス22を設けてもよい。この場合には、当
該組の数に応じて、プロセッサエレメント231 〜23
n から共有メモリ24の異なるサブバンクに同時にアク
セスが可能となり、さらなる高速処理を実現できる。
【0043】
【発明の効果】以上説明したように、本発明の並列プロ
セッサによれば、プロセッサエレメントが共有メモリに
アクセスするときの待ち時間を短縮し、高い演算性能を
実現できる。また、本発明のメモリ制御方法によれば、
プロセッサエレメントが共有メモリにアクセスするとき
の待ち時間を短縮でき、プロセッサエレメントに高い演
算性能を実現させることが可能になる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態の並列プロセッサの
システム構成図である。
【図2】図2は、図1に示す共有メモリの構成図であ
る。
【図3】図3は、図2に示すメモリサブバンクに記憶さ
れるサブページを説明するための図である。
【図4】図4は、図1に示す並列プロセッサにおける共
有メモリとメインメモリとの間でのサブページの入れ替
え処理を説明するための図である。
【図5】図5は、図1に示す並列プロセッサにおける、
プロセッサエレメントと共有メモリとの間でのサブペー
ジの入れ替え処理と、共有メモリとメインメモリとの間
でのページ入れ替え処理とを多重化を説明するための図
である。
【図6】図6は、従来の一般的な並列プロセッサのシス
テム構成図である。
【図7】図7は、従来のその他の並列プロセッサのシス
テム構成図である。
【符号の説明】
6…チップインタフェース、7…メインメモリ、22…
コモンバス、231 〜23n …プロセッサエレメント、
24…共有メモリ、25…バスユニット、26…外部ア
クセスバス、271 〜273 ,41〜44…サブバン
ク、31…コモンバス用制御回路、32…外部バス用制
御回路、33…制御回路、53〜56…マルチプレク
サ、57〜60…アドレスデコーダ

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】それぞれ単数または複数のサブページを記
    憶する内部メモリを備え、当該内部メモリに記憶された
    データを用いて演算処理を行う複数のプロセッサエレメ
    ントと、 前記複数のプロセッサエレメントと接続された第1のバ
    スと、 外部メモリと接続された第2のバスと、 前記第1のバスおよび前記第2のバスの双方に接続され
    た共有メモリとを有し、 前記共有メモリは、 それぞれサブページを記憶する複数のサブバンクからな
    る記憶領域を持つ記憶手段と、 前記複数のサブバンクと、前記第1のバスおよび第2の
    バスのうち選択した一方とを接続する選択手段と、 前記プロセッサエレメントから要求があったサブページ
    が前記複数のサブバンクに記憶されている場合に、当該
    要求があったサブページを前記第1のバスを介して要求
    があったプロセッサエレメントに転送し、前記プロセッ
    サエレメントから要求があったサブページが前記複数の
    サブバンクに記憶されていない場合に、前記要求のあっ
    たサブページを含む連続したアドレスを持つ複数のサブ
    ページからなるページを、前記第2のバスを介して前記
    外部メモリから読み出して前記複数のサブバンクに記憶
    する制御手段とを有する並列プロセッサ。
  2. 【請求項2】前記制御手段は、前記共有メモリと前記プ
    ロセッサエレメントとの間で転送されるサブページと、
    前記共有メモリと前記外部メモリとの間で転送されるサ
    ブページとが異なる場合に、前記共有メモリと前記プロ
    セッサエレメントとの間でのサブページの転送処理と、
    前記共有メモリと前記外部メモリとの間でのサブページ
    の転送処理とを並行して行うように制御する請求項1に
    記載の並列プロセッサ。
  3. 【請求項3】前記第1のバスのデータ転送速度は、前記
    第2のバスのデータ転送速度と同一、または、前記第2
    のバスのデータ転送速度より速い請求項1に記載の並列
    プロセッサ。
  4. 【請求項4】前記記憶手段の記憶領域の各サブバンク
    に、それぞれ単数のデータポートが設けられている請求
    項1に記載の並列プロセッサ。
  5. 【請求項5】前記制御手段は、同一のページを構成する
    複数のサブページを、それぞれ異なる前記サブバンクに
    記憶する請求項1に記載の並列プロセッサ。
  6. 【請求項6】前記制御手段は、前記プロセッサエレメン
    トからのサブページの要求にページフォルトが生じ、当
    該要求があったサブページを含むページを前記外部メモ
    リから前記記憶手段に読み出すときに、前記要求があっ
    たサブページを最初に前記外部メモリから前記記憶手段
    に読み出す請求項1に記載の並列プロセッサ。
  7. 【請求項7】前記記憶手段の複数のサブバンクは、同じ
    記憶容量を有する請求項1に記載の並列プロセッサ。
  8. 【請求項8】前記記憶手段のサブバンクの数と、前記ペ
    ージを構成するサブページの数とは同じである請求項1
    に記載の並列プロセッサ。
  9. 【請求項9】前記記憶手段の記憶領域は、それぞれ複数
    の異なるサブバンクの単数のサブページを記憶する記憶
    領域からなる複数のバンクを有し、 当該バンクに単数のページを記憶する請求項8に記載の
    並列プロセッサ。
  10. 【請求項10】前記プロセッサエレメントは、それぞれ
    単数のサブページを記憶する複数のサブバンクを有する
    請求項1に記載の並列プロセッサ。
  11. 【請求項11】前記ページを構成する複数のサブページ
    は、前記外部メモリのアドレス空間で連続したアドレス
    を持つ請求項1に記載の並列プロセッサ。
  12. 【請求項12】前記サブページおよび前記ページのデー
    タは、画像データであり、 前記複数のプロセッサエレメントは、前記画像データを
    用いて画像処理を行う請求項1に記載の並列プロセッ
    サ。
  13. 【請求項13】それぞれ単数のデータポートを持つ複数
    のサブバンクからなる記憶領域を持ち、複数のプロセッ
    サエレメントからアクセスされる共有メモリの前記サブ
    バンクに単数または複数のサブページを記憶し、 プロセッサエレメントからアクセス要求があったサブペ
    ージが前記共有メモリに記憶されている場合に、当該サ
    ブページを前記共有メモリから前記アクセス要求を発生
    したプロセッサエレメントに第1のバスを介して転送
    し、 前記アクセス要求があったサブページが前記共有メモリ
    に記憶されていない場合に、前記アクセス要求があった
    サブページを含む連続したアドレスを持つ複数のサブペ
    ージからなるページを、前記外部メモリから前記共有メ
    モリに第2のバスを介して転送した後に、前記アクセス
    要求があったサブページを、前記要求を発生したプロセ
    ッサエレメントに前記共有メモリから第1のバスを介し
    て転送するメモリ制御方法。
  14. 【請求項14】前記共有メモリと前記プロセッサエレメ
    ントとの間で転送されるサブページと、前記共有メモリ
    と前記外部メモリとの間で転送されるサブページとが異
    なる場合に、前記共有メモリと前記プロセッサエレメン
    トとの間でのサブページの転送処理と、前記共有メモリ
    と前記外部メモリとの間でのサブページの転送処理とを
    並行して行う請求項13に記載のメモリ制御方法。
  15. 【請求項15】前記第1のバスのデータ転送速度は、前
    記第2のバスのデータ転送速度と同一、または、前記第
    2のバスのデータ転送速度より速い請求項13に記載の
    メモリ制御方法。
  16. 【請求項16】同一のページを構成する複数のサブペー
    ジを、それぞれ異なる前記サブバンクに記憶する請求項
    13に記載のメモリ制御方法。
  17. 【請求項17】前記プロセッサエレメントからのサブペ
    ージの要求にページフォルトが生じ、当該要求があった
    サブページを含むページを前記外部メモリから前記記憶
    領域に読み出すときに、前記要求があったサブページを
    最初に前記外部メモリから前記記憶領域に読み出す請求
    項13に記載のメモリ制御方法。
  18. 【請求項18】前記複数のサブバンクは、同じ記憶容量
    を有する請求項13に記載のメモリ制御方法。
  19. 【請求項19】前記サブバンクの数と、前記ページを構
    成するサブページの数とは同じである請求項13に記載
    のメモリ制御方法。
  20. 【請求項20】前記記憶領域は、それぞれ複数の異なる
    サブバンクの単数のサブページを記憶する記憶領域から
    なる複数のバンクを有し、 当該バンクに単数のページを記憶する請求項19に記載
    のメモリ制御方法。
  21. 【請求項21】前記ページを構成する複数のサブページ
    は、前記外部メモリのアドレス空間で連続したアドレス
    を持つ請求項13に記載のメモリ制御方法。
  22. 【請求項22】前記サブページおよび前記ページのデー
    タは、画像データである請求項13に記載のメモリ制御
    方法。
JP10006998A 1998-01-16 1998-01-16 並列プロセッサおよびメモリ制御方法 Pending JPH11203252A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10006998A JPH11203252A (ja) 1998-01-16 1998-01-16 並列プロセッサおよびメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10006998A JPH11203252A (ja) 1998-01-16 1998-01-16 並列プロセッサおよびメモリ制御方法

Publications (1)

Publication Number Publication Date
JPH11203252A true JPH11203252A (ja) 1999-07-30

Family

ID=11653789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10006998A Pending JPH11203252A (ja) 1998-01-16 1998-01-16 並列プロセッサおよびメモリ制御方法

Country Status (1)

Country Link
JP (1) JPH11203252A (ja)

Similar Documents

Publication Publication Date Title
KR100860956B1 (ko) 메모리 시퀀싱 힌트들을 제공하기 위한 메모리 허브 및방법
CA1226673A (en) Reconfigurable memory system
EP0126976A2 (en) Multiprocessor system with communicating random access shared memory
JP2509766B2 (ja) キャッシュメモリ交換プロトコル
US6381686B1 (en) Parallel processor comprising multiple sub-banks to which access requests are bypassed from a request queue when corresponding page faults are generated
KR19990007287A (ko) 반도체 집적회로, 컴퓨터 시스템, 데이터 처리장치 및 데이터 처리방법
US6041393A (en) Array padding for higher memory throughput in the presence of dirty misses
KR20110059711A (ko) 메모리 모듈 및 메모리 모듈 제어 방법
EP1381957A2 (en) Data processing apparatus and system and method for controlling memory access
EP0803818B1 (en) Single-cycle multi-accessible interleaved cache
US5287480A (en) Cache memory for independent parallel accessing by a plurality of processors
US6094710A (en) Method and system for increasing system memory bandwidth within a symmetric multiprocessor data-processing system
JPH0282330A (ja) ムーブアウト・システム
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
EP0473804A1 (en) Alignment of line elements for memory to cache data transfer
EP0310446A2 (en) Cache memory management method
JP2618223B2 (ja) シングルチツプマイクロコンピユータ
JPH11203252A (ja) 並列プロセッサおよびメモリ制御方法
CA1324679C (en) Method and means for interfacing a system control unit for a multi-processor system with the system main memory
KR100334298B1 (ko) 기억 소자
JPH0421222B2 (ja)
JPH11203200A (ja) 並列プロセッサおよびメモリ制御方法
JPH024020B2 (ja)
JP3299663B2 (ja) 演算装置
JPH06324999A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20050323

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080624