[go: up one dir, main page]

JP2002041358A - プロセッサシステム - Google Patents

プロセッサシステム

Info

Publication number
JP2002041358A
JP2002041358A JP2000222647A JP2000222647A JP2002041358A JP 2002041358 A JP2002041358 A JP 2002041358A JP 2000222647 A JP2000222647 A JP 2000222647A JP 2000222647 A JP2000222647 A JP 2000222647A JP 2002041358 A JP2002041358 A JP 2002041358A
Authority
JP
Japan
Prior art keywords
stream
processor
main memory
data
buffer
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
JP2000222647A
Other languages
English (en)
Inventor
Yonetaro Totsuka
米太郎 戸塚
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 JP2000222647A priority Critical patent/JP2002041358A/ja
Publication of JP2002041358A publication Critical patent/JP2002041358A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 大規模な局所性の少ないストリームデータを
効率的に扱うことができ、ヒット率の向上のためのアソ
シアティビティを増やす必要がなく、低消費電力化の可
能なプロセッサシステムを得る。 【解決手段】 プロセッサ101と、そのプロセッサ1
01が処理するストリームデータを記憶するメインメモ
リ103とを有するプロセッサシステムにおいて、プロ
セッサ101とメインメモリ103との間に、一連のデ
ータをストリームとして格納するストリームバッファ1
02を設けると共に、プロセッサ101のストリーム命
令に基づいて、メインメモリ103及びストリームバッ
ファ102のリード及びライトを制御するストリーム制
御部104を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサと、そ
のプロセッサが処理するストリームデータを記憶するメ
インメモリとを有するプロセッサシステム(プロセッサ
装置)に関する。
【0002】
【従来の技術】マイクロプロセッサやデジタルシグナル
プロセッサ(DSP)等のプロセッサを利用したプロセ
ッサシステムでは、プロセッサが処理するデータをメイ
ンメモリに格納しておき、プロセッサの命令によって、
必要なデータを、そのメインメモリから、一旦レジスタ
にロードしてから、例えば、演算器に供給して演算処理
するか、又は、メインメモリからのデータを直接、例え
ば、演算器に供給して演算処理するを普通としていた。
【0003】ところで、メインメモリのアクセス速度
は、プロセッサの動作速度に較べて非常に遅く、この速
度差は、近年ますます大きくなる傾向にあり、これが、
プロセッサシステムの性能向上の足枷となっていた。
【0004】そこで、プロセッサを利用した多くのシス
テムでは、メインメモリに較べて小容量ではあるが、ア
クセス速度が高速であるキャッシュメモリを、プロセッ
サと、メインメモリとの間に設けることによって、見掛
け上メインメモリのアクセス速度を高くするようにして
いた。
【0005】しかしながら、キャッシュメモリは、空間
的及び時間的に局所性のあるデータに対しては非常に有
効であるが、信号処理等におけるように、大規模で局所
性の少ないストリームデータに対しては、必ずしも、キ
ャッシュメモリが適しているとはいえなかった。即ち、
ストリームデータのデータ量が増えると、キャッシュメ
モリの絶対的な容量不足が問題となり、又、容量は足り
ているが、キャッシュメモリの構成上の問題から、キャ
ッシュミスが発生するという問題があった。
【0006】例えば、セットアソシアティブ(set asso
ciative)方式のキャッシュメモリでは、同一のセットア
ドレスに別のストリームデータや一般の変数が集中する
と、キャッシュメモリのアソシアティビティ(associati
vity) (ウェイ数)が不足し、キャッシュメモリ全体の
容量は足りていても、必要なデータがキャッシュメモリ
から追い出されてしまい、キャッシュミスが発生する。
【0007】
【発明が解決しようとする課題】かかる点に鑑み、本発
明は、プロセッサと、そのプロセッサが処理するストリ
ームデータを記憶するメインメモリとを有するプロセッ
サシステムにおいて、大規模で局所性の少ないストリー
ムデータを効率的に扱うことができ、ヒット率の向上の
ためのアソシアティビティを増やす必要がなく、低消費
電力化の可能なプロセッサシステムを提案しようとする
ものである。
【0008】
【課題を解決するための手段】第1の本発明は、プロセ
ッサと、そのプロセッサが処理するストリームデータを
記憶するメインメモリとを有するプロセッサシステムに
おいて、プロセッサとメインメモリとの間に、一連のデ
ータをストリームとして格納するストリームバッファを
設けると共に、プロセッサのストリーム命令に基づい
て、メインメモリ及びストリームバッファのリード及び
ライトを制御するストリーム制御部を設けたプロセッサ
システムである。
【0009】第1の本発明によれば、メインメモリに、
プロセッサが処理するストリームデータを記憶し、プロ
セッサのストリーム命令に基づいて、ストリーム制御部
が、メインメモリ及びストリームバッファのリード及び
ライトを制御する。
【0010】第2の本発明は、第1の本発明のプロセッ
サシステムにおいて、プロセッサのプリフェッチ命令に
より、メインメモリから読出したストリームデータをス
トリームバッファに順番に格納し、プロセッサのロード
命令によって、ストリームバッファに格納されているス
トリームデータを順番に取り出してプロセッサに渡し、
そのプロセッサのストア命令によって、そのプロセッサ
にストアされているストリームデータをストリームバッ
ファに格納し、プロセッサのライトバック命令によっ
て、ストリームバッファに格納されているストリームデ
ータをメインメモリにライトバックするようにしたプロ
セッサシステムである。
【0011】第3の本発明は、第1の本発明のプロセッ
サシステムにおいて、ストリーム制御部は、複数のスト
リームに、ストリームバッファ内の分割された複数の領
域を割り当てるバウンダリレジスタと、ストリームバッ
ファの複数の領域内における各ストリームデータの存在
範囲を保持するストリームポインタと、各ストリーム毎
にプリフェッチ及びライトバックするメインメモリのア
ドレスを保持するアドレスレジスタと、プリフェッチ及
びライトバック後にアドレス値を更新するための増分値
を保持するステップレジスタと、プリフェッチ及びライ
トバックするストリームデータのワード数を保持するカ
ウンタとを備えるプロセッサシステムである。
【0012】第4の本発明は、複数のプロセッサと、そ
の複数のプロセッサが処理するストリームデータを記憶
するメインメモリとを有するプロセッサシステムにおい
て、複数のプロセッサとメインメモリとの間に、それぞ
れストリームデータを格納する、複数のプロセッサに1
対1に対応する複数のストリームバッファを設けると共
に、複数のストリームバッファに1対1に対応し、複数
のプロセッサのうちの少なくも1個のプロセッサのスト
リーム命令に基づいて、メインメモリ及び対応するスト
リームバッファのリード及びライトを制御するストリー
ム制御部を設けると共に、複数のプロセッサが処理する
全ストリームにそれぞれ対応するアドレスが、各別に割
り当てられてなるプロセッサシステムである。
【0013】
【発明の実施の形態】以下に、図面を参照して、本発明
の実施の形態のプロセッサシステム(プロセッサ装置)
(プロセッサ回路)の例を詳細に説明する。先ず、図1
を参照して、そのプロセッサシステムの全体の構成を説
明する。このプロセッサシステムでは、プロセッサ10
1と、そのプロセッサ101が処理するデータを記憶す
るメインメモリ103とを有し、プロセッサ101と、
メインメモリ103との間にストリームバッファ102
を設ける。そして、メインメモリ103及びストリーム
バッファ102のリード及びライトを制御するストリー
ム制御部104を設ける。尚、プロセッサ101として
は、マイクロプロセッサやデジタルシグナルプロセッサ
(DSP)が可能である。
【0014】プロセッサ101は、プログラムの実行を
行うが、実行する命令には、ストリーム用の命令である
初期化命令、プリフェッチ(prefetch) 命令、ロード(l
oad)命令、ストア(store) 命令及びライトバック(write
back)命令が含まれる。
【0015】プロセッサ101がこれらのストリーム命
令を実行すると、プロセッサ101は、ストリーム制御
部104に対し、ストリームID、アドレス、コマンド
等の制御信号を供給する。ストリーム制御部104が、
これらの制御信号を受け取ると、ストリーム制御部10
4は、ストリームバッファ102及びメインメモリ10
3のリード及びライトを制御する。これによって、スト
リームバッファ102及びメインメモリ103並びにプ
ロセッサ101の間で、ストリームデータの転送が行わ
れる。
【0016】ストリームバッファ102は、SRAM
(スタティックRAM)又はDRAM(ダイナミックR
AM)で構成され、ストリーム制御部104からのリー
ド及びライトコマンドによって制御される。
【0017】次に、図2を参照して、図1におけるスト
リーム制御部104の具体構成例を説明する。ストリー
ム制御部104は、複数n本のストリームの管理を行う
ための、n個のレジスタからなるバウンダリレジスタ2
01、n個のレジスタからなるストリームポインタ20
2、n個レジスタからなるアドレスレジスタ203、n
個のレジスタからなるステップレジスタ204、n個の
カウンタからなるカウンタ205を備えている。
【0018】ストリームバッファ102は、n本のスト
リームに対応したn個の領域に分割されている。バウン
ダリレジスタ201は、レジスタB0 、B1 、‥‥‥
‥、B n-1 から構成され、n本のストリームに対するス
トリームバッファ102の複数n個に分割された領域の
指定を行う。ストリーム0、1、2、‥‥‥、nのうち
の、例えば、ストリーム3に割り当てる領域の開始地点
はレジスタB2 で、終了地点はレジスタB3 で指定す
る。但し、ストリーム0の開始地点はストリームバッフ
ァ102の先頭とする。
【0019】ストリームポインタ202は、n個のスト
リーム毎のV、TOP、TAILの3つのフィールドの
レジスタから構成される。Vは、対応するストリームデ
ータにおけるデータの存在の有無を示し、例えば、V=
0ならストリームデータは空、従って、V=1ならスト
リームデータが存在することをそれぞれ示す。TOP及
びTAILは、ストリームバッファ102のn本のスト
リームにそれぞれ割り当てられた領域内におけるストリ
ームデータの存在する先頭地点及び最後尾の次の地点を
それぞれ示す。
【0020】アドレスレジスタ203は、メインメモリ
103に対しストリームデータをプリフェッチ及びライ
トバックするときのメインメモリ103のアドレスを保
持する。ステップレジスタ204は、メインメモリ10
3に対し複数ワードのストリームデータのプリフェッチ
又はライトバック時のメインメモリ103のアドレスの
増分をワード単位で指定する。例えば、ステップレジス
タ204の値が1のときは、メインメモリ103上の連
続したワードに対して、2のときは1ワード置きにとい
うように、メインメモリ103に対してプリフェッチ又
はライトバックを行う。
【0021】以下に、プロセッサ101が、各ストリー
ム命令を実行した場合のストリーム制御部104の動作
を詳細に説明する。プロセッサ101が、ストリームの
初期化命令を実行すると、命令で指定されたストリーム
IDと、境界地点を示すポインタ値とがプロセッサ10
1からストリーム制御部104に渡される。ストリーム
制御部104は、バウンダリレジスタ201のストリー
ムIDで指定されたレジスタにポインタ値をセットす
る。同時に、ストリーム制御部104は、ストリームポ
インタ202のストリームIDで指定されたVのレジス
タを0にクリアし、TOPのレジスタと、TAILのレ
ジスタを割り当てた領域の先頭地点にセットする。
【0022】プロセッサ101がストリームデータのプ
リフェッチ命令を実行すると、命令で指定されたストリ
ームID、メインメモリ103のプリフェッチ開始アド
レス、ステップ値及びプリフェッチワード数が、プロセ
ッサ101からストリーム制御部104に渡される。ス
トリーム制御部101は、アドレスレジスタ203、ス
テップレジスタ204及びカウンタ205それぞれのス
トリームIDで指定された各レジスタにそれぞれアドレ
ス、ステップ値及びワード数をセットし、メインメモリ
103に対してプリフェッチを開始する。通常、プリフ
ェッチは、メインメモリ103に対してキャッシュメモ
リのブロック(又はライン)と同様にブロック単位で行
う。但し、ステップレジスタ204の値がある一定値以
上でブロック単位のプリフェッチでは、不要なワードの
読み出しのために効率が悪くなる場合は、ワード単位で
プリフェッチを行う。
【0023】メインメモリ103から読み出されたブロ
ックデータは、一旦、ラッチ105に格納され、そのブ
ロックに含まれるワードの中からステップレジスタ20
4で指定するワードのみを選択してラッチ105から読
み出して、ストリームバッファ102に書き込む。
【0024】そして、ストリームポインタ202のVの
レジスタに1をセットし、TAILのレジスタを書き込
んだワード数分インクリメントする。又、アドレスレジ
スタ203をメインメモリ103から読み出したブロッ
クサイズ分インクリメントし、カウンタ205をストリ
ームバッファ102に書き込んだワード数だけデクリメ
ントする。そして、このカウンタ205の計数内容が0
になるまで、上述のプリフェッチ操作を繰り返す。
【0025】ストリームポインタ202のTAILの更
新値がバウンダリレジスタ201の終了地点に一致する
場合は、開始地点に戻って更新を続ける。以下、他の命
令におけるTOPの更新も含めて同様である。
【0026】又、ストリームポインタ202のVのレジ
スタの内容が1で、TAILのレジスタの内容と、TO
Pのレジスタの内容とが一致した場合は、空き領域がで
きるまで、プリフェッチを中断し、ロードの実行等によ
りストリームデータが消費され、空きができた後に、プ
リフェッチを再開する。
【0027】次に、図3を参照して、ステップレジスタ
204の値が2の場合におけるプリフェッチの動作を説
明する。アドレスレジスタ203のレジスタのアドレス
により、メインメモリ103にブロック単位のプリフェ
ッチを掛け(1) 、メインメモリ103より読み出しデー
タをラッチ105にラッチし(2) 、ステップレジスタ2
04のレジスタにおけるアドレスの増分に従ってストリ
ームデータを選択し(3) 、その選択されたストリームデ
ータをストリームバッファ102に書込み(4)、ストリ
ームポインタ202、アドレスレジスタ203及びカウ
ンタ205の各レジスタの内容を更新する(5) 。
【0028】プロセッサ101がストリームデータのロ
ード命令を実行すると、命令で指定されたストリームI
Dが、プロセッサ101からストリーム制御部104に
渡される。ストリーム制御部104は、ストリームポイ
ンタ202のストリームIDで指定されたレジスタをチ
ェックする。ストリームポインタ202のVのレジスタ
の内容が1の場合、TOPのレジスタが指す地点から1
ワード読み出し、プロセッサ101に返送し、TOPの
レジスタを1ワード分インクリメントする。ストリーム
ポインタ202のVのレジスタの内容が0場合、ロード
を破棄し、プロセッサ101にエラーを返す。TOPの
レジスタの内容の更新によって、TAILのレジスタの
内容と一致した場合は、Vのレジスタの内容をを0にす
る。
【0029】プロセッサ101がストリームデータのス
トア命令を実行すると、命令で指定されたストリームI
Dが、プロセッサ101からストリーム制御部104に
渡される。ストリーム制御部104は、ストリームポイ
ンタ202のストリームIDで指定されたレジスタをチ
ェックする。Vのレジスタの内容が1で、TOPのレジ
スタの内容とTAILのレジスタの内容が一致している
場合は、ストアを破棄し、プロセッサ101にエラーを
返す。それ以外の場合は、TAILのレジスタが指すス
トリームバッファ102の地点にストアデータを書込
み、Vのレジスタの内容を1にセットし、TAILのレ
ジスタの内容を1ワード分インクリメントする。
【0030】プロセッサ101がストリームデータのラ
イトバック命令を実行すると、その命令で指定されたス
トリームID、ライトバック開始アドレス、ステップ値
及びライトバックワード数が、プロセッサ101からス
トリーム制御部104に渡される。ストリーム制御部1
04は、アドレスレジスタ203、ステップレジスタ2
04及びカウンタ205のストリームIDで指定された
各レジスタにそれぞれアドレス、ステップ値及びワード
数をセットし、メインメモリ103に対してライトバッ
クを開始する。通常、ライトバックはメインメモリ10
3に対して、プリフェッチと同様にブロック単位で行
い、ストリームポインタ203のTOPのレジスタの指
す場所からブロックを読み出し、メインメモリ103へ
転送する。ストリームポインタ202のTOPのレジス
タ、アドレスレジスタ203及びカウンタ205の各レ
ジスタの内容をそれぞれ更新し、カウンタ205の計数
内容が0になるまで、ライトバック操作を繰り返す。カ
ウンタ205の計数内容が0になる前にストリーム中に
存在する全データをライトバックした場合(ストリーム
ポインタ202のTOPのレジスタの内容とTAILの
レジスタの内容とが一致)、ストリームポインタ202
のVのレジスタの内容を0にし、新たにそのストリーム
にデータがストアされるまで、ライトバック操作を中断
する。
【0031】次に、図4を参照して、本発明の実施の形
態のプロセッサシステムの他の例を説明するも、図1〜
図3を参照したプロセッサシステムの説明を援用し、一
部重複説明は省略する。この図4のプロセッサシステム
の例では、複数のプロセッサ及びその複数のプロセッサ
にそれぞれ対応するストリームバッファが設けられると
共に、その複数のストリームバッファが、複数のプロセ
ッサで共有されるようにした場合である。
【0032】m個のプロセッサ101−1、101−
2、‥‥‥‥、101−mと、それぞれのプロセッサに
対応すると共に、そのm個のプロセッサが共有するスト
リームバッファ102−1、102−2、‥‥‥‥、1
02−mと、それぞれのストリームバッファに対応する
ストリーム制御部104−1、104−2、‥‥‥‥、
104−mとが設けられる。そのm個のストリームバッ
ファ102−1、102−2、‥‥‥‥、102−m
は、共有バス401を介して、メインメモリ103に接
続されている。尚、共有バス401の代わりに、クロス
バススイッチ等の相互結合網を設けることもできる。m
個のストリームバッファ102−1、102−2、‥‥
‥‥、102−mは、図示を省略するも、それぞれラッ
チを介して、共有バス401に接続されている。
【0033】m個のプロセッサ101−1、101−
2、‥‥‥‥、101−mが処理する全ストリームにそ
れぞれ対応するアドレスが、各別に割り当てられてい
る。
【0034】m個のプロセッサ101−1、101−
2、‥‥‥‥、101−mが、それぞれ自己のストリー
ムバッファ102−1、102−2、‥‥‥‥、102
−mにアクセスするときは、上述と同様である。但し、
空のストリームバッファに対するロード命令の実行や、
フルのストリームバッファに対するストア命令の実行に
ついては、ストリーム制御部104は、それぞれのプロ
セッサにエラーを返さずに、実行が可能になるまでその
まま中断する。
【0035】m個のプロセッサ101−1、101−
2、‥‥‥‥、101−mが、他のプロセッサに対応す
るストリームバッファにアクセスするときは、メモリマ
ップによってアクセスを行う。即ち、アクセス対象のス
トリームに割り当てられたアドレスに対して、ロード、
ストア命令を発行する。
【0036】図2のストリーム制御部104の具体構成
の追加部分を示す図6をも参照して説明する。ストリー
ム制御部104−1、104−2、‥‥‥‥‥、104
−mが、それぞれ管理するn本のストリームには、それ
ぞれ予め所定のアドレスが割り当てられ、その各アドレ
スは、その各ストリームベースアドレスレジスタ207
に保持されている。ストリーム制御部104−1、10
4−2、‥‥‥‥‥、104−mは、共有バス401
(又はプロセッサ101−1、101−2、‥‥‥‥、
101−m)からのロード/ストアのアドレスの上位ビ
ットと、ストリームベースアドレスレジスタ207の内
容とを、比較器208で比較し、一致した場合、ストリ
ームへのアクセスと判断する。アドレスの下位ビットを
ストリームIDとして使用して、n本のストリームから
1本のストリームを選択してアクセスする。
【0037】図4において、例えば、プロセッサ101
−2が、例えば、プロセッサ101−1が管理するスト
リームバッファ102−1のアドレスに対して、ロード
を発行し、ストリーム制御部104−1はプロセッサ1
01−1に対応するストリームバッファ102−1から
データを取り出し、プロセッサ101−2に返送する。
又、プロセッサ101−mは、プロセッサ101−2の
管理するストリームバッファ102−2のアドレスに対
してストアを発行し、プロセッサ101−2のストリー
ムバッファ102−2は、ストアデータを受け取り、対
応するストリームバッファ102−2にデータを書き込
む。
【0038】又、図5に示すように、図4と同様な構成
のプロセッサシステムにおいて、ストリームバッファの
プリフェッチ又はライトバックを、ストリームがマップ
されたアドレスに対して行うことにより、異なるプロセ
ッサにそれぞれ対応するストリームバッファ間で、デー
タ転送を行うことができる。
【0039】このプロセッサシステムの例によれば、キ
ャッシュの代わりに、ストリームバッファを使用してい
るので、キャッシュを使用したプロセッサシステムに較
べて、次のような利点がある。
【0040】大規模で局所性の少ないストリームのデー
タを扱う場合に、キャッシュでは、複数のストリームの
データ間やストリームのデータと一般変数のデータとの
競合により、キャッシュミスが発生し、プロセッサシス
テムの性能が低下し易くなる。しかし、ストリームバッ
ファでは競合が発生しないため、ストリームバッファを
使用したプロセッサシステムは、キャッシュを使用した
プロセッサシステムに較べて性能が高くなる。
【0041】キャッシュを利用したプロセッサシステム
において、キャッシュでの競合を減らすためには、アソ
シアティビティ(associativity)を増加させることにな
るが、そうするとキャッシュアクセス時の消費電力が増
加する。ストリームバッファを使用したプロセッサシス
テムでは、ストリームバッファのアクセス時に消費電力
が増加することはないので、キャッシュを使用したプロ
セッサシステムに較べて有利である。
【0042】キャッシュはブロック(ライン)単位でデ
ータを管理するため、演算に不要なデータも一緒にキャ
ッシュに取り込まれることがあり、キャッシュ容量が無
駄に消費される。しかし、ストリームバッファでは、可
能な限り必要なデータのみストリームバッファ内に取り
込むので、バッファ容量を有効に活用できる。
【0043】複数のプロセッサ間でストリームバッファ
を共有することにより、特別な同期処理なしに、プロセ
ッサ間のデータ通信を行える。
【0044】
【発明の効果】第1の本発明によれば、プロセッサと、
そのプロセッサが処理するストリームデータを記憶する
メインメモリとを有するプロセッサシステムにおいて、
プロセッサと、そのプロセッサが処理するストリームデ
ータを記憶するメインメモリとを有するプロセッサシス
テムにおいて、プロセッサとメインメモリとの間に、一
連のデータをストリームとして格納するストリームバッ
ファを設けると共に、プロセッサのストリーム命令に基
づいて、メインメモリ及びストリームバッファのリード
及びライトを制御ストリーム制御部を設けたので、大規
模で局所性の少ないストリームデータを効率的に扱うこ
とができ、ヒット率の向上のためのアソシアティビティ
を増やす必要がなく、低消費電力化の可能なプロセッサ
システムを得ることができる。
【0045】第2の本発明によれば、第1の本発明のプ
ロセッサシステムにおいて、プロセッサのプリフェッチ
命令により、メインメモリから読出したストリームデー
タをストリームバッファに順番に格納し、プロセッサの
ロード命令によって、ストリームバッファに格納されて
いるストリームデータを順番に取り出してプロセッサに
渡し、そのプロセッサのストア命令によって、そのプロ
セッサにストアされているストリームデータをストリー
ムバッファに格納し、プロセッサのライトバック命令に
よって、ストリームバッファに格納されているストリー
ムデータをメインメモリにライトバックするようにした
ので、第1の本発明と同様の効果の得られるプロセッサ
システムを得ることができる。
【0046】第3の本発明によれば、第1の本発明のプ
ロセッサシステムにおいて、ストリーム制御部は、複数
のストリームに、ストリームバッファ内の分割された複
数の領域を割り当てるバウンダリレジスタと、ストリー
ムバッファの複数の領域内における各ストリームデータ
の存在範囲を保持するストリームポインタと、各ストリ
ームにプリフェッチ及びライトバックするメインメモリ
のアドレスを保持するアドレスレジスタと、プリフェッ
チ及びライトバック後にアドレス値を更新するための増
分値を保持するステップレジスタと、プリフェッチ及び
ライトバックするストリームデータのワード数を保持す
るカウンタとを備えるので、第1の本発明と同様の効果
の得られるプロセッサシステムを得ることができる。
【0047】第4の本発明によれば、複数のプロセッサ
と、その複数のプロセッサが処理するストリームデータ
を記憶するメインメモリとを有するプロセッサシステム
において、複数のプロセッサとメインメモリとの間に、
それぞれストリームデータを格納する、複数のプロセッ
サに1対1に対応する複数のストリームバッファを設け
ると共に、複数のストリームバッファに1対1に対応
し、複数のプロセッサのうちの任意のプロセッサのスト
リーム命令に基づいて、メインメモリ及び対応するスト
リームバッファのリード及びライトを制御するストリー
ム制御部を設けてなり、複数のプロセッサが処理する全
ストリームにそれぞれ対応するアドレスが、各別に割り
当てられてなるので、大規模な局所性の少ないストリー
ムデータを効率的に扱うことができ、ヒット率の向上の
ためのアソシアティビティを増やす必要がなく、低消費
電力化の可能なプロセッサシステムを得ることができる
と共に、複数のプロセッサによって、複数のストリーム
バッファを共有することによって、複数のプロセッサ間
のデータ通信を特別な同期処理を行わずに、ストリーム
命令のみで行うことのできるプロセッサシステムを得る
ことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態のプロセッサシステムの例
を示すブロック線図である。
【図2】図1のプロセッサシステムにおけるストリーム
制御部の具体構成例を示すブロック線図である。
【図3】図2のストリーム制御部のプリフェッチの動作
を示すブロック線図である。
【図4】本発明の実施の形態のプロセッサシステムの他
の例を、その一部の動作説明と共に示すブロック線図で
ある。
【図5】本発明の実施の形態のプロセッサシステムの他
の例を、その他の一部の動作説明と共に示す示すブロッ
ク線図である。
【図6】図2のストリーム制御部の具体構成例の追加部
分を示すブロック線図である。
【符号の説明】
101 プロセッサ、102 ストリームバッファ、1
03 メインメモリ、104 ストリーム制御部、10
5 ラッチ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/38 310 G06F 9/38 310A 15/16 645 15/16 645

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサと、該プロセッサが処理する
    ストリームデータを記憶するメインメモリとを有するプ
    ロセッサシステムにおいて、 上記プロセッサと上記メインメモリとの間に、一連のデ
    ータをストリームとして格納するストリームバッファを
    設けると共に、上記プロセッサのストリーム命令に基づ
    いて、上記メインメモリ及び上記ストリームバッファの
    リード及びライトを制御するストリーム制御部を設けた
    ことを特徴とするプロセッサシステム。
  2. 【請求項2】 請求項1に記載のプロセッサシステムに
    おいて、 上記プロセッサのプリフェッチ命令により、上記メイン
    メモリから読出したストリームデータを上記ストリーム
    バッファに順番に格納し、上記プロセッサのロード命令
    によって、上記ストリームバッファに格納されているス
    トリームデータを順番に取り出して上記プロセッサに渡
    し、該プロセッサのストア命令によって、該プロセッサ
    にストアされているストリームデータを上記ストリーム
    バッファに格納し、上記プロセッサのライトバック命令
    によって、上記ストリームバッファに格納されているス
    トリームデータを上記メインメモリにライトバックする
    ようにしたことを特徴とするプロセッサシステム。
  3. 【請求項3】 請求項1に記載のプロセッサシステムに
    おいて、 上記ストリーム制御部は、 複数のストリームに、上記ストリームバッファ内の分割
    された複数の領域を割り当てるバウンダリレジスタと、 上記ストリームバッファの複数の領域内における各スト
    リームデータの存在範囲を保持するストリームポインタ
    と、 各ストリーム毎にプリフェッチ及びライトバックする上
    記メインメモリのアドレスを保持するアドレスレジスタ
    と、 プリフェッチ及びライトバック後にアドレス値を更新す
    るための増分値を保持するステップレジスタと、 プリフェッチ及びライトバックするストリームデータの
    ワード数を保持するカウンタとを備えることを特徴とす
    るプロセッサシステム。
  4. 【請求項4】 複数のプロセッサと、該複数のプロセッ
    サが処理するストリームデータを記憶するメインメモリ
    とを有するプロセッサシステムにおいて、 上記複数のプロセッサと上記メインメモリとの間に、そ
    れぞれストリームデータを格納する、上記複数のプロセ
    ッサに1対1に対応する複数のストリームバッファを設
    けると共に、該複数のストリームバッファに1対1に対
    応し、上記複数のプロセッサのうちの任意のプロセッサ
    のストリーム命令に基づいて、上記メインメモリ及び上
    記対応するストリームバッファのリード及びライトを制
    御するストリーム制御部を設けてなり、 上記複数のプロセッサが処理する全ストリームにそれぞ
    れ対応するアドレスが、各別に割り当てられてなること
    を特徴とするプロセッサシステム。
JP2000222647A 2000-07-24 2000-07-24 プロセッサシステム Pending JP2002041358A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000222647A JP2002041358A (ja) 2000-07-24 2000-07-24 プロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000222647A JP2002041358A (ja) 2000-07-24 2000-07-24 プロセッサシステム

Publications (1)

Publication Number Publication Date
JP2002041358A true JP2002041358A (ja) 2002-02-08

Family

ID=18716863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000222647A Pending JP2002041358A (ja) 2000-07-24 2000-07-24 プロセッサシステム

Country Status (1)

Country Link
JP (1) JP2002041358A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204292A (ja) * 2007-02-21 2008-09-04 Toshiba Corp メモリ管理システム
JP2009134391A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp ストリーム処理装置、ストリーム処理方法及びデータ処理システム
JP2011215805A (ja) * 2010-03-31 2011-10-27 Nec Corp 情報処理装置及びデータアクセス方法
JP2012038262A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd キャッシュメモリおよびデータ処理装置
JP2012038293A (ja) * 2010-08-11 2012-02-23 Primesense Ltd マシンビジョン用マルチプロセッサシステムオンチップ
JPWO2021075019A1 (ja) * 2019-10-17 2021-04-22

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204292A (ja) * 2007-02-21 2008-09-04 Toshiba Corp メモリ管理システム
JP2009134391A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp ストリーム処理装置、ストリーム処理方法及びデータ処理システム
JP2011215805A (ja) * 2010-03-31 2011-10-27 Nec Corp 情報処理装置及びデータアクセス方法
JP2012038262A (ja) * 2010-08-11 2012-02-23 Fujitsu Ltd キャッシュメモリおよびデータ処理装置
JP2012038293A (ja) * 2010-08-11 2012-02-23 Primesense Ltd マシンビジョン用マルチプロセッサシステムオンチップ
US9075764B2 (en) 2010-08-11 2015-07-07 Apple Inc. Multiprocessor system-on-a-chip for machine vision algorithms
KR101753913B1 (ko) * 2010-08-11 2017-07-04 애플 인크. 기계 비전 알고리즘을 위한 멀티프로세서 시스템온칩
JPWO2021075019A1 (ja) * 2019-10-17 2021-04-22
JP7199566B2 (ja) 2019-10-17 2023-01-05 株式会社Fuji 搭載装置、及び作業機

Similar Documents

Publication Publication Date Title
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
JP3512678B2 (ja) キャッシュメモリ制御装置および計算機システム
CN115168248B (zh) 支持simt架构的高速缓冲存储器及相应处理器
JPH07502356A (ja) 主メモリに対するアクセスを減らすことによって電力消費を減少させるキャッシュメモリ階層
JPH10232839A (ja) キャッシュシステムおよびキャッシュメモリの作動方法
JP3236287B2 (ja) マルチプロセッサシステム
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
KR101472967B1 (ko) 라이트 백 동작을 수행하는 캐시 메모리, 이의 동작 방법, 및 이를 포함하는 시스템
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
US6751700B2 (en) Date processor and storage system including a set associative cache with memory aliasing
US6606687B1 (en) Optimized hardware cleaning function for VIVT data cache
US8266379B2 (en) Multithreaded processor with multiple caches
US6976130B2 (en) Cache controller unit architecture and applied method
JP2002041358A (ja) プロセッサシステム
JPH0743671B2 (ja) キャッシュ・メモリ制御方式
US6839806B2 (en) Cache system with a cache tag memory and a cache tag buffer
JPH06202951A (ja) キャッシュ・メモリ・システム
US7865691B2 (en) Virtual address cache and method for sharing data using a unique task identifier
JP3964821B2 (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
JP2010108381A (ja) 集積回路、集積回路の制御方法および半導体デバイス
JPH0421222B2 (ja)
US7840757B2 (en) Method and apparatus for providing high speed memory for a processing unit
JP2005149290A (ja) 情報処理装置およびキャッシュメモリ制御方法
JP2972451B2 (ja) ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式
JPH0793215A (ja) 半導体記憶装置