JP3782178B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3782178B2 JP3782178B2 JP31441596A JP31441596A JP3782178B2 JP 3782178 B2 JP3782178 B2 JP 3782178B2 JP 31441596 A JP31441596 A JP 31441596A JP 31441596 A JP31441596 A JP 31441596A JP 3782178 B2 JP3782178 B2 JP 3782178B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache memory
- unit
- dsp
- link
- 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 - Lifetime
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、複数のプロセッサを用いて、各々のプロセッサに役割を分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる情報処理装置に関する。
【0002】
【従来の技術】
近年、画像、音声、CG(コンピュータグラフィックス)等の高速なデジタル信号処理能力を必要とするアプリケーションを用いたマルチメディアサービスが実現されつつある。実現方法の1つに、デジタル信号処理専用のプロセッサであるDSP(Digital Signal Processor)を用いる方法がある。
【0003】
この方法の利点は、プログラムにより動作するため、同一のDSPにおいてプログラムの変更により、色々なアプリケーションを動作させることができる。反面、DSPは汎用性を持っているために、ある1つのアプリケーション向けに専用LSI(大規模集積回路)を設計した場合に比較して、実行処理能力が低くならざるを得ない。そこで複数のDSPを用いて、各々のDSPに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる手法が試みられている。
【0004】
図10は従来例の複数のDSPを用いた情報処理装置の説明図(1)である。図10において、情報処理装置には、デジタル信号処理専用のプロセッサであるDSP11a、11b、アクセス競合の調停をするバス調停回路14a、14b、外部記憶部である外部メモリ15a、15b、他のDSP側との通信の制御を行うリンク通信制御部16a、16bが設けてある。
【0005】
複数DSPを用いた場合に問題になるのが、データの共有によるアクセス競合である。図10のようにDSPと外部メモリが接続されている場合を考える。
DSP11aとDSP11bから同時に外部メモリ15aに対してアクセスが発生した場合、DSP11bの要求はリンク通信制御部16b、16aを通してバス調停回路14aに伝わる。ここで、DSP11aとDSP11bのアクセス競合が起こり、どちらかのアクセスを待たせる必要がある。
【0006】
バス調停回路14aは、このアクセスの競合を調停する回路で、各DSPはバス調停回路14aに対してバス要求を出し、バスの権利を取得してから初めて外部メモリ15aに対してアクセスを開始する。従って、メモリアクセスが頻繁に行われるアプリケーションの場合、DSPがメモリアクセス競合により待たされることになり、DSPを2個用いたからといって、2倍の能力を持つ情報処理装置にはならなかった。
【0007】
また、DSPの能力を高めるために、外部メモリとの間に高速なアクセスが可能なメモリであるキャッシュメモリを配置する構成が考えられる。この手法により、図10の情報処理装置よりはDSP自体の能力は向上するが、アクセス競合の問題は依然残ったままであると共に、複数のキャッシュメモリを利用する際に問題となる、データのコンシステンシ(一貫性)を保つための通信オーバヘッドが発生する。簡単にこの問題を図11で述べる。
【0008】
図11は従来例の複数のDSPを用いた情報処理装置の説明図(2)である。図11において、情報処理装置には、デジタル信号処理専用のプロセッサであるDSP11a、11b、高速なアクセスが可能なメモリであるキャッシュメモリ12a、12b、アクセス競合の調停をするバス調停回路14a、14b、外部記憶部である外部メモリ15a、15b、他のDSP側との通信の制御を行うリンク通信制御部16a、16bが設けてある。
【0009】
図11のキャッシュメモリ12aとキャッシュメモリ12bに同じアドレスのデータが存在している場合、DSP11aがそのデータを書き換えると、DSPにとって同じアドレスのデータであるにもかかわらず、データの内容がDSP11a側とDSP11b側とでは異なってしまう。
【0010】
このような状態を回避するために、キャッシュメモリ間において何らかの通信をする必要が生じる。通信をすることで、キャッシュメモリ12aの変更データをキャッシュメモリ12bへ送信するか、あるいはキャッシュメモリ12bにある古いデータを消去するような要求を送信することにより、データのコンシステンシは保たれる。
【0011】
しかし、データの書き換えが発生する度にこのような通信を行わねばならず、また、キャッシュメモリにおいて、通信処理とDSPからの要求とを全く独立に動作させることができないため、通信処理によりDSPの要求が待たされる可能性があり、DSPの実行能力を低下させることになってしまっていた。
【0012】
【発明が解決しようとする課題】
しかしながら、前記従来の技術に従っていると、次のような課題があった。
(1)メモリアクセスが頻繁に行われるアプリケーションの場合、DSPがメモリアクセス競合により待たされることになり、DSPを2個用いたからといって、2倍の能力を持つ情報処理装置にはならなかった。
【0013】
(2)キャッシュメモリを配置する場合、1つのキャッシュメモリと別のキャッシュメモリに同じアドレスのデータが存在している場合、1つのキャッシュメモリのデータの書き換えが発生する度に通信を行わねばならず、また、キャッシュメモリにおいて、通信処理とDSPからの要求とを全く独立に動作させることができないため、通信処理によりDSPの要求が待たされる可能性があり、DSPの実行能力を低下させることになってしまっていた。
【0014】
本発明は、このような従来の課題を解決し、複数のプロセッサを用いて、各々のプロセッサに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる情報処理装置において、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行えるようにすることを目的とする。
【0015】
【課題を解決するための手段】
図1は本発明の原理説明図である。図1中、1はプロセッサ部、2はメインキャッシュメモリ部、3はリンクキャッシュメモリ部、4はバス調停部、5は外部メモリ部、6はリンク通信制御部である。
【0016】
本発明は前記従来の課題を解決するため次のように構成した。
(1):デジタル処理を行うプロセッサ部1と、2ポートアクセスが可能なキャッシュメモリを有するメインキャッシュメモリ部2と、2ポートアクセスが可能なキャッシュメモリを有するリンクキャッシュメモリ部3と、アクセス競合の調停を行うバス調停部4と、情報を記憶する外部メモリ部5と、他のリンク通信制御部との通信の制御を行うリンク通信制御部6とを有する処理システムを複数個備え、前記バス調停部4は、前記リンク通信制御部6からのリードアクセスと前記外部メモリ部5からのリード・ライトアクセスの調停を行い、前記メインキャッシュメモリ部2は、前記プロセッサ部1からリード・ライトが可能であり、前記バス調停部4からもリード・ライトが可能であり、前記リンクキャッシュメモリ部3は、前記プロセッサ部1からリードが可能でライトは不可能であり、前記リンク通信制御部6からはライトが可能でリードは不可能とする。
【0017】
(2):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2は、前記リンク通信制御部6からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部5へデータを要求し、要求データが前記バス調停部4を経て前記キャッシュメモリ内に格納された後、前記リンク通信制御部6からの前記要求に答える。
【0018】
(3):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2は、前記リンク通信制御部6からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部5に存在するデータを、前記キャッシュメモリに格納せずに前記バス調停部4にて前記リンク通信制御部6へ直接引き渡す。
【0019】
(4):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2に、前記外部メモリ部5のアドレス領域にマッピングされないデータ転送領域を設ける。
【0020】
(5):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2及び前記リンクキャッシュメモリ部3は、前記プロセッサ部1からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、前記プロセッサ部1を動作させる。
【0021】
(6):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、前記外部メモリ部5からデータを読み出さなくする機能を有する。
【0022】
(7):前記(1)の情報処理装置において、前記メインキャッシュメモリ部2及び前記リンクキャッシュメモリ部3は、データのアクセス時に要求するアドレスのデータが存在していた場合、前記キャッシュメモリ内から該当データを無効化する機能を有する。
【0023】
(作用)
前記構成に基づく作用を説明する。
バス調停部4で、リンク通信制御部6からのリードアクセスと外部メモリ部5からのリード・ライトアクセスの調停を行い、メインキャッシュメモリ部2では、直接接続されている外部メモリ部5のアドレス領域を対象とし、プロセッサ部1からリード・ライトが可能であり、バス調停部4からもリード・ライトが可能であり、リンクキャッシュメモリ部3では、他の処理システムにある外部メモリ部のアドレス領域を対象として、プロセッサ部1からリードが可能であり、リンク通信制御部6からはライトが可能である。このため、各々のプロセッサに役割分担させ、かつ、各々が連携することにより、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行える。
【0024】
また、メインキャッシュメモリ部2で、リンク通信制御部6からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は、外部メモリ部5へデータを要求し、要求データがバス調停部4を経てキャッシュメモリ内に格納された後、リンク通信制御部6からの前記要求に答える。このため、同じデータのアクセスに対してキャッシュメモリから高速で応答が可能となる。
【0025】
さらに、メインキャッシュメモリ部2で、リンク通信制御部6からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は、外部メモリ部5に存在するデータを、キャッシュメモリに格納せずにバス調停部4にてリンク通信制御部6へ直接引き渡す。このため、他の処理システムが1度しか使用しないようなデータ等はキャッシュメモリを使用せず、キャッシュメモリの効率的な使用が可能となる。
【0026】
また、メインキャッシュメモリ部2に、外部メモリ部5のアドレス領域にマッピングされないデータ転送領域を設ける。このため、主に他の処理システムとのデータ通信用のデータ等の再利用されないものは外部メモリ部5とのアクセスを省くことができ、プロセッサの処理能力を向上することができる。
【0027】
さらに、メインキャッシュメモリ部2及びリンクキャッシュメモリ部3は、プロセッサ部1からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、プロセッサ部1を動作させる。このため、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ部以外へのアクセスでプロセッサが動作していれば、キャッシュメモリの2ポートを利用して、プロセッサの実行能力を低下させることなく動作させることができる。
【0028】
また、メインキャッシュメモリ部2に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、外部メモリ部5からデータを読み出さなくする。このため、画像データ等の明らかに書き換えられるデータの読み出しを省くことができ、プロセッサの処理能力を向上することができる。
【0029】
さらに、メインキャッシュメモリ部2及びリンクキャッシュメモリ部3は、データのアクセス時に要求するアドレスのデータが存在していた場合、キャッシュメモリ内から該当データを無効化する。このため、他の処理システムの新しいデータが必要なときにリンク通信制御部6からアクセスすることができる。
【0030】
【発明の実施の形態】
図2〜図9は本発明の実施の形態を示した図である。以下、図面に基づいて本発明の実施の形態を説明する。
(1):情報処理装置の説明
図2は装置構成図、図3は2つのキャッシュの説明図、図4はメインキャッシュメモリの説明図、図5はリンクキャッシュメモリの説明図である。以下、図2〜図5に基づいて情報処理装置の説明をする。
【0031】
▲1▼:装置構成の説明
図2において、情報処理装置には、DSP11a、11b、メインキャッシュメモリ12a、12b、リンクキャッシュメモリ13a、13b、バス調停部14a、14b、外部メモリ15a、15b、他のDSPとの通信の制御を行うリンク通信制御部16a、16bが設けてある。
【0032】
DSP11a、11bは、デジタル信号処理専用のプロセッサである。メインキャッシュメモリ12a、12bは、2ポートアクセスが可能なキャッシュメモリである。リンクキャッシュメモリ13a、13bは、2ポートアクセスが可能なキャッシュメモリである。バス調停部14a、14bは、アクセス競合の調停をするものである。外部メモリ15a、15bは、外部記憶部である。リンク通信制御部16a、16bは、他のDSP側との通信の制御を行うものである。
【0033】
▲2▼:2つのキャッシュメモリの説明
本発明では1つのDSPに対して、用途別に2つのキャッシュメモリであるメインキャッシュメモリとリンクキャッシュメモリを用いる。図2を例に各々のキャッシュメモリの用途を説明する。
【0034】
メインキャッシュメモリ12aは、直下にある外部メモリ15aのアドレス領域を対象として、プロセッサ側であるDSP11a部側からはリード・ライト可能なように、バス調停部14a側からもリード・ライト可能なように、2ポートアクセスが可能なキャッシュメモリとして構成する。
【0035】
リンクキャッシュメモリ13aは、他のデータ処理システム(他のDSP側)にある外部メモリ部のアドレス領域を対象とし、プロセッサ側であるDSP11a部側からはリード可能(ライト不可能)なように、リンク通信制御部16aからはライト可能(リード不可能)なように、2ポートアクセスが可能なキャッシュメモリとして構成する。
【0036】
図3は2つのキャッシュメモリの説明図であり、メインキャッシュメモリとリンクキャッシュメモリの違いを示している。
図3において、DSP部からのアクセスは、メインキャッシュメモリに対してリード・ライト可能であり、リンクキャッシュメモリに対してリードのみ可能である。
【0037】
リンク通信制御部からのアクセスは、メインキャッシュメモリに対してバス調停部を経由してリードのみが可能であり、リンクキャッシュメモリに対してライトのみ可能である。
【0038】
リンク通信制御部へのアクセスは、メインキャッシュメモリからはなしであり、リンクキャッシュメモリからはリード要求である。
外部メモリ部からのアクセスは、メインキャッシュメモリに対してバス調停部を経由してリード・ライトが可能であり、リンクキャッシュメモリに対してはなしである。
【0039】
外部メモリ部へのアクセスは、メインキャッシュメモリからはリード・ライト要求が可能であり、リンクキャッシュメモリからはなしである。
扱うデータの領域は、メインキャッシュメモリは直下にある外部メモリ内のデータであり、リンクキャッシュメモリは他のDSP側の外部メモリ内のデータである。
【0040】
このように、キャッシュメモリを2ポート化することで、メインキャッシュメモリ、リンクキャッシュメモリ部ともに、プロセッサ(DSP)部とリンク通信制御部からのアクセスを独立に行えるようになる。
【0041】
また、データのコンシステンシを保つための通信制御を全く行わないことで、リンク通信制御部間の通信トラフィックを軽減し、本来の目的であるデータ通信のみを行うことができる。
【0042】
▲3▼:データのコンシステンシを保つための通信制御の説明
データのコンシステンシを保つための通信制御とは、各々のキャッシュメモリに同一のアドレスのデータが存在し、片側のキャッシュメモリ内のデータを変更した場合、もう一方のキャッシュメモリ内のデータも同じように変更したり、無効化するための、通信制御のことである。この機能は、汎用プロセッサを用いたマルチプロセッサシステムにおいて必須のものとされている。
【0043】
しかし、信号処理に特化して考えてみると、必ずしも即座に古いデータを新しいデータで書き換えてしまってはならないタイミングが存在しうる。例えば、図2のDSP11aの処理結果をDSP11bで利用する場合、DSP11aよりDSP11bが少し処理が遅い場合、DSP11bの処理が終了する以前にDSP11aの次の処理結果で前の処理結果が上書きされると、DSP11bで正常な処理結果が出力されなくなってしまう。
【0044】
従って、DSP11aの処理結果をDSP11bで利用する場合でDSP11aよりDSP11bの処理が遅い場合、DSP11bが必要とするデータのアドレスが存在していれば、DSP11aは、DSP11bがメインキャッシュメモリ12a内のそのデータをリードしてくれるまで待ち、その後、DSP11aの次の処理結果をメインキャッシュメモリ12a内に書き込むようにする。
【0045】
▲4▼:DSP11aの新しい処理結果をDSP11bで利用する場合の説明
DSP11bがDSP11aの新しい処理結果が欲しい場合は、DSP11bがリンクキャッシュメモリ13b内にある古いデータを無効化する機能を持たせ、新たにデータのリード要求をDSP11a側に出すことで実現できる。
【0046】
即ち、データ転送タイミングはアプリケーション特有のものであるため、DSP側にデータ転送タイミングの制御を委ね、DSP側でキャッシュ制御ができるインタフェースをキャッシュメモリ側に備えるようにする。
【0047】
▲5▼:アドレス空間に外部メモリにマッピングしないデータ転送空間を備える場合の説明
複数のブロックからなる信号処理アプリケーションの場合、ブロック間のデータ転送用にFIFO(First In First Out)メモリや、2バンク構成のバッファを用いる。このデータ転送用のデータは、最終的な処理結果に用いないデータであるため、主記憶等のメモリに記憶しておく必要のないデータである。
【0048】
このような場合、図2のような本発明に適用すると、メインキャッシュメモリにライトし、他のDSPがリンクキャッシュメモリを介してこのライトしたデータを読みだすことになる。これでも実現可能であるが、通常のキャッシュ動作を考えるとキャッシュメモリ内のデータはいずれ外部メモリに書き戻されることになる。しかし、書き戻しても再利用しないため、書き戻しのためのメモリアクセスは無駄になり、このメモリアクセス最中、他のメモリアクセスは待たされることになる。このため、DSPの処理能力を低下させてしまう可能性がある。
【0049】
そこで、メインキャッシュメモリ部に書き戻し不要のデータを扱う構成を付加する。この書き戻し不要ということは、外部メモリにマッピングしていても無駄であるため、アドレス空間に外部メモリにマッピングしないデータ転送空間(データ転送領域)を備える。そして、キャッシュがミスした場合の外部メモリ部からのデータ読み出しも省くようにする。
【0050】
また、データ転送空間のデータに対して、他のDSPからリード要求があった場合、そのデータを他のDSPに引き渡したのち、メインキャッシュメモリ部において、そのデータを自ら無効化することとする。また、DSPは、データ転送空間にデータを書き込むとき、データ転送空間にデータかないこと(無効化)を確認して書き込むことにする。これによりFIFOメモリ的な動作が可能となる。なお、この無効化(クリア)は、データ転送空間にデータがあると新たにライトできないためであり、これは後述するアドレスタグ比較部24が行う。
【0051】
例えば、DSP11aとDSP11bに処理速度差があり、DSP11aの処理結果をDSP11bが処理するようなプログラム構成で、DSP11bの処理が早い場合、このデータ転送領域を利用してデータの受け渡しを行えば、DSP11bからのデータリード要求に対して、DSP11a側のメインキャッシュメモリ12aには所望のデータが存在しない場合が生じる。しかし、データ転送領域は外部メモリにマッピングされていないため、外部メモリから読み出すことができず、DSP11aの処理が終了し出力結果をメインキャッシュメモリ12a(データ転送領域)にライトしてくれるのを待つことになる。これにより、自然と速度調整が行われ、DSP11aとDSP11bの間で、セマフォのような特別な通信を行う必要はない。
【0052】
▲6▼:データのプリフェッチ機能の説明
信号処理用途向けの機能として、データのプリフェッチ機能を付加することができる。これは、DSPにおいて実際にデータを利用する以前に、キャッシュメモリに対してデータリード要求を出し、前もって外部メモリからデータを読み出しておく機能である。この要求は、直下にある外部メモリ以外もサポートするものである。
【0053】
▲7▼:外部メモリから古いデータを読み出さない機能の説明
信号処理用途向けの機能として、DSPは、新たに処理した出力データで古いデータを全て書き換えてしまうアドレス領域が存在した場合に、そのアドレスへのライトアクセス時に、キャッシュメモリ内にそのアドレスのデータが存在しなくても、外部メモリから古いデータを読み出さない機能をサポートする。即ち、キャッシュメモリに直接書き込むようにする。
【0054】
これは明らかに書き換えられてしまうデータでも、キャッシュメモリ内にそのアドレスのデータが存在しなければ、通常のキャッシュ制御であれば、外部メモリからデータを読み出してしまうためである。
【0055】
▲8▼:キャッシュメモリ内にデータを格納しない場合の説明
例えば、リンク通信制御部16aからのリード要求に対して、メインキャッシュメモリ12a内にデータが存在しない場合は、外部メモリ部15aに存在するデータを、メインキャッシュメモリ12aに格納せずにバス調停部14aにてリンク通信制御部16aへ直接引き渡すようにすることができる。
【0056】
これにより、他のDSP側(処理システム)が1度しか使用しないようなデータ等はメインキャッシュメモリ12aを使用しないようにすることで、DSP11aが必要とするメインキャッシュメモリ12a内のデータの追い出しを防止でき、キャッシュメモリの効率的な使用が可能となる。
【0057】
(2):キャッシュメモリの説明
図4はメインキャッシュメモリの説明図、図5はリンクキャッシュメモリの説明図である。以下、図4、図5に基づいてメインキャッシュメモリとリンクキャッシュメモリの説明をする。
【0058】
▲1▼:メインキャッシュメモリの説明
図4において、メインキャッシュメモリには、2ポートメモリ(タグ用)21、2ポートメモリ(データ用)22、アドレスタグ比較・制御部(Aポート)23、アドレスタグ比較部(Bポート)24が設けてある。
【0059】
2ポートメモリ(タグ用)21は、タグ、即ちアドレスを記憶した2ポート(AポートとBポート)アクセスが可能なメモリである。2ポートメモリ(データ用)22は、データを記憶した2ポートアクセスが可能なメモリである。アドレスタグ比較・制御部(Aポート)23は、2ポートメモリ(タグ用)21内に格納されているアドレスのタグと、DSP11部からのアドレスを比較するものである。アドレスタグ比較部(Bポート)24は、2ポートメモリ(タグ用)21内に格納されているアドレスのタグと、バス調停部14からのアドレスを比較するものである。
【0060】
メインキャッシュメモリはDSP11部からのアクセスに対して、アドレスタグ比較・制御部23にて、2ポートメモリ(タグ用)21内にメモリされている、即ちキャッシュに格納されているアドレスのタグと、DSP11部からのアドレスを比較する。
【0061】
この比較で一致していれば、DSP11に対してウェイトせずに、リードアクセス時であれば2ポートメモリ(データ用)22のAポートからデータをリードし、ライトアクセス時であれば2ポートメモリ(データ用)22にAポートからデータを書き込む。
【0062】
前記比較で一致していない場合、DSP11部に対してウェイト信号をセットし、ミス信号とミスアドレスをバス調停部14を経由して外部メモリ部へ通知する。外部メモリ部は、ミスしたアドレスのデータを読み出し、バス調停部14を経由して2ポートメモリ(データ用)22にBポートからデータを書き込み、書き込み終了をアドレスタグ比較部(Bポート)24へ通知する。アドレスタグ比較部(Bポート)24では、その通知を受け取った時点で、新しいアドレスタグを2ポートメモリ(データ用)22にBポートから書き込む。これにより、アドレスタグ比較・制御部(Aポート)23では、タグが一致し、DSP11部へのウェイト信号を解除し、リードアクセス・ライトアクセスを完了させる。リンク通信制御部からのアクセスも、バス調停部14を経て同様に行われる。
【0063】
▲2▼:リンクキャッシュメモリの説明
図5において、リンクキャッシュメモリには、2ポートメモリ(タグ用)31、2ポートメモリ(データ用)32、アドレスタグ比較部(Aポート)33、アドレスタグ制御部(Bポート)34が設けてある。
【0064】
2ポートメモリ(タグ用)31は、タグ(アドレス)を記憶した2ポートアクセスが可能なメモリである。2ポートメモリ(データ用)32は、データを記憶した2ポートアクセスが可能なメモリである。アドレスタグ比較部(Aポート)33は、2ポートメモリ(タグ用)31内に格納されているアドレスのタグと、DSP11部からのアドレスを比較するものである。アドレスタグ制御部(Bポート)34は、2ポートメモリ(タグ用)31内に格納されているアドレスのタグと、リンク通信制御部16からのアドレスを比較するものである。
【0065】
リンクキャッシュメモリはDSP11部からのリードアクセスに対して、メインキャッシュメモリと同様に動作し、アドレスタグ比較部33にて、2ポートメモリ(タグ用)31内にメモリされているアドレスのタグと、DSP11部からのアドレスを比較する。
【0066】
この比較で一致していれば、DSP11に対してウェイトせずに、2ポートメモリ(データ用)32のAポートからデータをリードする。
前記比較で一致していない場合、DSP11部に対してウェイト信号をセットし、リンク通信制御部16にミス信号とミスアドレスを通知する。リンク通信制御部16は他のリンク通信制御部へリード要求を通知する。
【0067】
このリード要求に対する回答としてリンク通信制御部16のアクセスが行われる。このアクセスはライトアクセスのみであり、データを2ポートメモリ(データ用)32に、新しいアドレスタグを2ポートメモリ(タグ用)31に書き込む。DSP11側のアドレスタグ比較部33では、リンク通信制御部16からのデータの書き込みにより、アドレスタグ比較が一致し、DSP11部へのウェイト信号を解除し、該当データのアクセスを完了させる。
【0068】
▲3▼:データプリフェッチ機能の説明
データプリフェッチ機能は、要求するアドレスのデータがキャッシュメモリ内に存在しなくても、通常のアクセスのようにデータがキャッシュメモリに格納されるまでDSPを待たせることはせず、DSPからのアクセス自体は正常終了(ウェイト信号をセットしない)させる。
【0069】
プリフェッチが完了する以前に、プリフェッチ要求を出したキャッシュシステムに要求したデータがそのキャッシュメモリ内に存在しなかった時、初めてDSPにウェイト信号がセットされる。すなわち、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ以外へのアクセスでDSPが動作していれば、DSPの実行能力を低下させることなく、外部メモリからデータを読み出せる。
【0070】
(3):DSPを2つ接続した場合のデータアクセスの説明
図6はDSP11aが外部メモリ15aのアドレス領域をリード/ライトアクセスした場合の処理フローチャート、図7はDSP11aが外部メモリ15bのアドレス領域をリードアクセスした場合の処理フローチャート、図8はDSP11aがデータ転送領域にライトアクセスした場合の処理フローチャート、図9はDSP11aがDSP11bのデータ転送領域をリードアクセスした場合の処理フローチャートである。以下、図6〜図9に基づいて、キャッシュ動作を考慮して、DSPを2つ接続した場合のデータアクセス処理を説明する。
【0071】
▲1▼:DSP11aが外部メモリ15aのアドレス領域をリード/ライトアクセスした場合の説明
DSP11aが外部メモリ15aのアドレス領域をリード/ライトアクセスした場合の処理を図6の処理S1〜S11に従って説明する。
【0072】
S1:DSP11aは、外部メモリ15a領域のリード/ライトアクセス要求をメインキャッシュメモリ12aに行い処理S2に移る。
S2:メインキャッシュメモリ12aは、DSP11aからアクセス要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理S3に移り、もしない場合は処理S6に移る。
【0073】
S3:メインキャッシュメモリ12aは、DSP11aからアクセス要求がリードかライトかを判断する。この判断でリード要求の場合は処理S4に移り、もしライト要求の場合は処理S5に移る。
【0074】
S4:メインキャッシュメモリ12aは、DSP11aにデータを出力しこの処理を終了する。
S5:前記処理S3の判断でライト要求の場合は、メインキャッシュメモリ12aにデータを書き込みこの処理を終了する。
【0075】
S6:前記処理S2の判断でアクセス要求のあったデータがキャッシュ内にない場合、メインキャッシュメモリ12aは、DSP11aからアクセス要求がリードかライトかを判断する。この判断でリード要求の場合は処理S7に移り、もしライト要求の場合は処理S9に移る。
【0076】
S7:メインキャッシュメモリ12aは、バス調停部14aを経て外部メモリ15aにデータリード要求を行い、バス調停部14aを経て外部メモリ15aからメインキャッシュメモリ12a内にデータを格納し処理S8に移る。
【0077】
S8:メインキャッシュメモリ12aは、DSP11aにデータを出力しこの処理を終了する。
S9:前記処理S6の判断でライト要求の場合は、メインキャッシュメモリ12aは、外部メモリ15aからのデータリードを行う指示(DSP11aから)があるかどうか判断する。この判断でデータリードを行う場合は処理S10に移り、もしデータリードを行わない場合は処理S11に移る。
【0078】
S10:メインキャッシュメモリ12aは、バス調停部14aを経て外部メモリ15aにデータリード要求を行い、バス調停部14aを経て外部メモリ15aからメインキャッシュメモリ12a内にデータを格納し処理S11に移る。
【0079】
S11:メインキャッシュメモリ12aにデータを書き込みこの処理を終了する。
▲2▼:DSP11aが外部メモリ15bのアドレス領域をリードアクセスした場合の説明
DSP11aが外部メモリ15bのアドレス領域をリードアクセスした場合の処理を図7の処理S21〜S33に従って説明する。
【0080】
S21:DSP11aは、外部メモリ15b領域のデータのリード要求をリンクキャッシュメモリ13aに行い処理S22に移る。
S22:リンクキャッシュメモリ13aは、DSP11aからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理S23に移り、もしない場合は処理S24に移る。
【0081】
S23:リンクキャッシュメモリ13aは、DSP11aにデータを出力しこの処理を終了する。
S24:前記処理S22の判断でキャッシュ内にデータがない場合、リンクキャッシュメモリ13aは、DSP11aに対してウェイト信号をセットすると共に、リンク通信制御部16aへデータリード要求を行い処理S25に移る。
【0082】
S25:リンク通信制御部16aは、リンク通信制御部16bへデータリード要求を行い処理S26に移る。
S26:リンク通信制御部16bは、メインキャッシュメモリ12bへバス調停部14bを経由してデータリード要求を行い処理S27に移る。
【0083】
S27:メインキャッシュメモリ12bは、リンク通信制御部16bからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理S30に移り、もしない場合は処理S28に移る。
【0084】
S28:メインキャッシュメモリ12bは、バス調停部14bを経由して外部メモリ15bにデータを要求し処理S29に移る。
S29:外部メモリ15bは、バス調停部14bを経由してメインキャッシュメモリ12bにデータを格納し処理S30に移る。
【0085】
S30:メインキャッシュメモリ12bは、バス調停部14bを経由してリンク通信制御部16bへデータを出力し処理S31に移る。
S31:リンク通信制御部16bは、データをリンク通信制御部16aに転送し処理S32に移る。
【0086】
S32:リンク通信制御部16aは、リンクキャッシュメモリ13aへデータライトを行い処理S33に移る。
S33:リンクキャッシュメモリ13aは、DSP11aへのウェイト信号を解除し、DSP11aへデータを出力しこの処理を終了する。
【0087】
▲3▼:DSP11aがデータ転送領域にライトアクセスした場合の説明
DSP11aがデータ転送領域にライトアクセスした場合の処理を図8の処理S41、S42に従って説明する。
【0088】
S41:DSP11aは、メインキャッシュメモリ12aのデータ転送領域にライト要求を行い処理S42に移る。
S42:メインキャッシュメモリ12aは、DSP11aからライト要求のあったデータをデータ転送領域に書き込みこの処理を終了する。
【0089】
▲4▼:DSP11aがDSP11bのデータ転送領域をリードアクセスした場合の説明
DSP11aがDSP11bのデータ転送領域をリードアクセスした場合の処理を図9の処理S51〜S62に従って説明する。
【0090】
S51:DSP11aは、DSP11bのデータ転送領域のデータのリード要求をリンクキャッシュメモリ13aに行い処理S52に移る。
S52:リンクキャッシュメモリ13aは、DSP11aからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理S53に移り、もしない場合は処理S54に移る。
【0091】
S53:リンクキャッシュメモリ13aは、DSP11aにデータを出力しこの処理を終了する。
S54:前記処理S52の判断でキャッシュ内にデータがない場合、リンクキャッシュメモリ13aは、DSP11aに対してウェイト信号をセットすると共に、リンク通信制御部16aへデータリード要求を行い処理S55に移る。
【0092】
S55:リンク通信制御部16aは、リンク通信制御部16bへデータリード要求を行い処理S56に移る。
S56:リンク通信制御部16bは、バス調停部14bを経由してメインキャッシュメモリ12bへデータリード要求を行い処理S57に移る。
【0093】
S57:メインキャッシュメモリ12bは、リンク通信制御部16bからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理S59に移り、もしない場合は処理S58に移る。
【0094】
S58:メインキャッシュメモリ12bは、DSP11bからデータが書き込まれるまでデータ出力をウェイトし処理S59に移る。
S59:メインキャッシュメモリ12bは、バス調停部14bを経由してリンク通信制御部16bへデータを出力し処理S60に移る。なお、このデータの出力後メインキャッシュメモリ12bのデータ転送領域のクリアをアドレスタグ比較部24が行う。
【0095】
S60:リンク通信制御部16bは、データをリンク通信制御部16aに転送し処理S61に移る。
S61:リンク通信制御部16aは、リンクキャッシュメモリ13aへデータライトを行い処理S62に移る。
【0096】
S62:リンクキャッシュメモリ13aは、DSP11aへのウェイト信号を解除し、DSP11aへデータを出力しこの処理を終了する。
このように、キャッシュシステムを信号処理用途向けの構成とすることで、複数のDSPを用いて、各々のDSPに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させることができる。
【0097】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
(1):バス調停部で、リンク通信制御部からのリードアクセスと外部メモリ部からのリード・ライトアクセスの調停を行い、メインキャッシュメモリ部では、直接接続されている外部メモリ部のアドレス領域を対象とし、プロセッサ部からリード・ライトが可能であり、バス調停部からもリード・ライトが可能であり、リンクキャッシュメモリ部では、他の処理システムにある外部メモリ部のアドレス領域を対象として、プロセッサ部からリードが可能であり、リンク通信制御部からはライトが可能であるため、各々のプロセッサに役割分担させ、かつ、各々が連携して、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行える。
【0098】
(2):メインキャッシュメモリ部で、リンク通信制御部からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は外部メモリ部へデータを要求し、要求データがバス調停部を経てキャッシュメモリ内に格納された後、リンク通信制御部からの前記要求に答えるため、同じデータのアクセスに対してキャッシュメモリから高速で応答が可能となる。
【0099】
(3):メインキャッシュメモリ部で、リンク通信制御部からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は外部メモリ部に存在するデータを、キャッシュメモリに格納せずにバス調停部にてリンク通信制御部へ直接引き渡すため、他の処理システムが1度しか使用しないようなデータ等はキャッシュメモリを使用せず、キャッシュメモリの効率的な使用が可能となる。
【0100】
(4):メインキャッシュメモリ部に、外部メモリ部5のアドレス領域にマッピングされないデータ転送領域を設けるため、主に他の処理システムとのデータ通信用のデータ等の再利用されないものは外部メモリ部とのアクセスを省くことができ、プロセッサの処理能力を向上することができる。
【0101】
(5):メインキャッシュメモリ部及びリンクキャッシュメモリ部は、プロセッサ部からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、プロセッサ部を動作させるため、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ部以外へのアクセスでプロセッサが動作していれば、プロセッサの実行能力を低下させることなく動作させることができる。
【0102】
(6):メインキャッシュメモリ部に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、外部メモリ部からデータを読み出さなくするため、画像データ等の明らかに書き換えられるデータの読み出しを省くことができ、プロセッサの処理能力を向上することができる。
【0103】
(7):メインキャッシュメモリ部及びリンクキャッシュメモリ部は、データのアクセス時に要求するアドレスのデータが存在していた場合、キャッシュメモリ内から該当データを無効化するため、他の処理システムの新しいデータが必要なときにリンク通信制御部からアクセスすることができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】実施の形態における装置構成図である。
【図3】実施の形態における2つのキャッシュの説明図である。
【図4】実施の形態におけるメインキャッシュメモリの説明図である。
【図5】実施の形態におけるリンクキャッシュメモリの説明図である。
【図6】実施の形態におけるDSP11aが外部メモリ15aのアドレス領域をリード/ライトアクセスした場合の処理フローチャートである。
【図7】実施の形態におけるDSP11aが外部メモリ15bのアドレス領域をリードアクセスした場合の処理フローチャートである。
【図8】実施の形態におけるDSP11aがデータ転送領域にライトアクセスした場合の処理フローチャートである。
【図9】実施の形態におけるDSP11aがDSP11bのデータ転送領域をリードアクセスした場合の処理フローチャートである。
【図10】従来例の複数のDSPを用いた情報処理装置の説明図(1)である。
【図11】従来例の複数のDSPを用いた情報処理装置の説明図(2)である。
【符号の説明】
1 プロセッサ部
2 メインキャッシュメモリ部
3 リンクキャッシュメモリ部
4 バス調停部
5 外部メモリ部
6 リンク通信制御部
Claims (7)
- デジタル処理を行うプロセッサ部と、
2ポートアクセスが可能なキャッシュメモリを有するメインキャッシュメモリ部と、
2ポートアクセスが可能なキャッシュメモリを有するリンクキャッシュメモリ部と、
アクセス競合の調停を行うバス調停部と、
情報を記憶する外部メモリ部と、
他のリンク通信制御部との通信の制御を行うリンク通信制御部とを有する処理システムを複数個備え、
前記バス調停部は、前記リンク通信制御部からのリードアクセスと前記外部メモリ部からのリード・ライトアクセスの調停を行い、
前記メインキャッシュメモリ部は、前記プロセッサ部からリード・ライトが可能であり、前記バス調停部からもリード・ライトが可能であり、
前記リンクキャッシュメモリ部は、前記プロセッサ部からリードが可能でライトは不可能であり、前記リンク通信制御部からはライトが可能でリードは不可能であることを特徴とした情報処理装置。 - 前記メインキャッシュメモリ部は、前記リンク通信制御部からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部へデータを要求し、要求データが前記バス調停部を経て前記キャッシュメモリ内に格納された後、前記リンク通信制御部からの前記要求に答えることを特徴とした請求項1記載の情報処理装置。
- 前記メインキャッシュメモリ部は、前記リンク通信制御部からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部に存在するデータを、前記キャッシュメモリに格納せずに前記バス調停部にて前記リンク通信制御部へ直接引き渡すことを特徴とした請求項1記載の情報処理装置。
- 前記メインキャッシュメモリ部に、前記外部メモリ部のアドレス領域にマッピングされないデータ転送領域を設けることを特徴とした請求項1記載の情報処理装置。
- 前記メインキャッシュメモリ部及び前記リンクキャッシュメモリ部は、前記プロセッサ部からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、前記プロセッサ部を動作させることを特徴とした請求項1記載の情報処理装置。
- 前記メインキャッシュメモリ部において、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、前記外部メモリ部からデータを読み出さない機能を有することを特徴とした請求項1記載の情報処理装置。
- 前記メインキャッシュメモリ部及び前記リンクキャッシュメモリ部において、データのアクセス時に要求するアドレスのデータが存在していた場合、前記キャッシュメモリ内から該当データを無効化する機能を有することを特徴とした請求項1記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31441596A JP3782178B2 (ja) | 1996-11-26 | 1996-11-26 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31441596A JP3782178B2 (ja) | 1996-11-26 | 1996-11-26 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10154099A JPH10154099A (ja) | 1998-06-09 |
JP3782178B2 true JP3782178B2 (ja) | 2006-06-07 |
Family
ID=18053078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31441596A Expired - Lifetime JP3782178B2 (ja) | 1996-11-26 | 1996-11-26 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3782178B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155572B2 (en) * | 2003-01-27 | 2006-12-26 | Advanced Micro Devices, Inc. | Method and apparatus for injecting write data into a cache |
-
1996
- 1996-11-26 JP JP31441596A patent/JP3782178B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH10154099A (ja) | 1998-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5537575A (en) | System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information | |
EP0735480B1 (en) | Cache coherent computer system that minimizes invalidation and copyback operations | |
US5398325A (en) | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems | |
US6615319B2 (en) | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture | |
US7827354B2 (en) | Victim cache using direct intervention | |
US6088769A (en) | Multiprocessor cache coherence directed by combined local and global tables | |
US20060184743A1 (en) | Cache memory direct intervention | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
JPH03217963A (ja) | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 | |
JP2012181860A (ja) | アクセラレータ用低コストのキャッシュ一貫性を維持するシステム | |
JP2006277762A (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
JPH1031625A (ja) | マルチ・プロセッサ・システムにおける改良されたコピーバック性能のためのライトバック・バッファ | |
US6345320B1 (en) | DMA address buffer and cache-memory control system | |
US20040098561A1 (en) | Multi-processor system and method of accessing data therein | |
JP3782178B2 (ja) | 情報処理装置 | |
US6021466A (en) | Transferring data between caches in a multiple processor environment | |
JPH06309231A (ja) | キャッシュメモリ制御方法 | |
JPH06243037A (ja) | データ先読み装置 | |
GB2233480A (en) | Multiprocessor data processing system | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
KR960005394B1 (ko) | 멀티 프로세서 시스템 | |
JP2001043204A (ja) | キャッシュ・メモリ制御装置 | |
JPH0553912A (ja) | キヤツシユメモリの制御方法 | |
JPH0612363A (ja) | メモリ制御装置およびマルチプロセッサシステム | |
JP2000090008A (ja) | メモリ共有型マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060213 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060309 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |