(57)【特許請求の範囲】
【請求項１】
デジタル処理を行うプロセッサ部と、
２ポートアクセスが可能なキャッシュメモリを有するメインキャッシュメモリ部と、
２ポートアクセスが可能なキャッシュメモリを有するリンクキャッシュメモリ部と、
アクセス競合の調停を行うバス調停部と、
情報を記憶する外部メモリ部と、
他のリンク通信制御部との通信の制御を行うリンク通信制御部とを有する処理システムを複数個備え、
前記バス調停部は、前記リンク通信制御部からのリードアクセスと前記外部メモリ部からのリード・ライトアクセスの調停を行い、
前記メインキャッシュメモリ部は、前記プロセッサ部からリード・ライトが可能であり、前記バス調停部からもリード・ライトが可能であり、
前記リンクキャッシュメモリ部は、前記プロセッサ部からリードが可能でライトは不可能であり、前記リンク通信制御部からはライトが可能でリードは不可能であることを特徴とした情報処理装置。
【請求項２】
前記メインキャッシュメモリ部は、前記リンク通信制御部からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部へデータを要求し、要求データが前記バス調停部を経て前記キャッシュメモリ内に格納された後、前記リンク通信制御部からの前記要求に答えることを特徴とした請求項１記載の情報処理装置。
【請求項３】
前記メインキャッシュメモリ部は、前記リンク通信制御部からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部に存在するデータを、前記キャッシュメモリに格納せずに前記バス調停部にて前記リンク通信制御部へ直接引き渡すことを特徴とした請求項１記載の情報処理装置。
【請求項４】
前記メインキャッシュメモリ部に、前記外部メモリ部のアドレス領域にマッピングされないデータ転送領域を設けることを特徴とした請求項１記載の情報処理装置。
【請求項５】
前記メインキャッシュメモリ部及び前記リンクキャッシュメモリ部は、前記プロセッサ部からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、前記プロセッサ部を動作させることを特徴とした請求項１記載の情報処理装置。
【請求項６】
前記メインキャッシュメモリ部において、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、前記外部メモリ部からデータを読み出さない機能を有することを特徴とした請求項１記載の情報処理装置。
【請求項７】
前記メインキャッシュメモリ部及び前記リンクキャッシュメモリ部において、データのアクセス時に要求するアドレスのデータが存在していた場合、前記キャッシュメモリ内から該当データを無効化する機能を有することを特徴とした請求項１記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロセッサを用いて、各々のプロセッサに役割を分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる情報処理装置に関する。
【０００２】
【従来の技術】
近年、画像、音声、ＣＧ（コンピュータグラフィックス）等の高速なデジタル信号処理能力を必要とするアプリケーションを用いたマルチメディアサービスが実現されつつある。実現方法の１つに、デジタル信号処理専用のプロセッサであるＤＳＰ（Digital Signal Processor）を用いる方法がある。
【０００３】
この方法の利点は、プログラムにより動作するため、同一のＤＳＰにおいてプログラムの変更により、色々なアプリケーションを動作させることができる。反面、ＤＳＰは汎用性を持っているために、ある１つのアプリケーション向けに専用ＬＳＩ（大規模集積回路）を設計した場合に比較して、実行処理能力が低くならざるを得ない。そこで複数のＤＳＰを用いて、各々のＤＳＰに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる手法が試みられている。
【０００４】
図１０は従来例の複数のＤＳＰを用いた情報処理装置の説明図（１）である。図１０において、情報処理装置には、デジタル信号処理専用のプロセッサであるＤＳＰ１１ａ、１１ｂ、アクセス競合の調停をするバス調停回路１４ａ、１４ｂ、外部記憶部である外部メモリ１５ａ、１５ｂ、他のＤＳＰ側との通信の制御を行うリンク通信制御部１６ａ、１６ｂが設けてある。
【０００５】
複数ＤＳＰを用いた場合に問題になるのが、データの共有によるアクセス競合である。図１０のようにＤＳＰと外部メモリが接続されている場合を考える。
ＤＳＰ１１ａとＤＳＰ１１ｂから同時に外部メモリ１５ａに対してアクセスが発生した場合、ＤＳＰ１１ｂの要求はリンク通信制御部１６ｂ、１６ａを通してバス調停回路１４ａに伝わる。ここで、ＤＳＰ１１ａとＤＳＰ１１ｂのアクセス競合が起こり、どちらかのアクセスを待たせる必要がある。
【０００６】
バス調停回路１４ａは、このアクセスの競合を調停する回路で、各ＤＳＰはバス調停回路１４ａに対してバス要求を出し、バスの権利を取得してから初めて外部メモリ１５ａに対してアクセスを開始する。従って、メモリアクセスが頻繁に行われるアプリケーションの場合、ＤＳＰがメモリアクセス競合により待たされることになり、ＤＳＰを２個用いたからといって、２倍の能力を持つ情報処理装置にはならなかった。
【０００７】
また、ＤＳＰの能力を高めるために、外部メモリとの間に高速なアクセスが可能なメモリであるキャッシュメモリを配置する構成が考えられる。この手法により、図１０の情報処理装置よりはＤＳＰ自体の能力は向上するが、アクセス競合の問題は依然残ったままであると共に、複数のキャッシュメモリを利用する際に問題となる、データのコンシステンシ（一貫性）を保つための通信オーバヘッドが発生する。簡単にこの問題を図１１で述べる。
【０００８】
図１１は従来例の複数のＤＳＰを用いた情報処理装置の説明図（２）である。図１１において、情報処理装置には、デジタル信号処理専用のプロセッサであるＤＳＰ１１ａ、１１ｂ、高速なアクセスが可能なメモリであるキャッシュメモリ１２ａ、１２ｂ、アクセス競合の調停をするバス調停回路１４ａ、１４ｂ、外部記憶部である外部メモリ１５ａ、１５ｂ、他のＤＳＰ側との通信の制御を行うリンク通信制御部１６ａ、１６ｂが設けてある。
【０００９】
図１１のキャッシュメモリ１２ａとキャッシュメモリ１２ｂに同じアドレスのデータが存在している場合、ＤＳＰ１１ａがそのデータを書き換えると、ＤＳＰにとって同じアドレスのデータであるにもかかわらず、データの内容がＤＳＰ１１ａ側とＤＳＰ１１ｂ側とでは異なってしまう。
【００１０】
このような状態を回避するために、キャッシュメモリ間において何らかの通信をする必要が生じる。通信をすることで、キャッシュメモリ１２ａの変更データをキャッシュメモリ１２ｂへ送信するか、あるいはキャッシュメモリ１２ｂにある古いデータを消去するような要求を送信することにより、データのコンシステンシは保たれる。
【００１１】
しかし、データの書き換えが発生する度にこのような通信を行わねばならず、また、キャッシュメモリにおいて、通信処理とＤＳＰからの要求とを全く独立に動作させることができないため、通信処理によりＤＳＰの要求が待たされる可能性があり、ＤＳＰの実行能力を低下させることになってしまっていた。
【００１２】
【発明が解決しようとする課題】
しかしながら、前記従来の技術に従っていると、次のような課題があった。
（１）メモリアクセスが頻繁に行われるアプリケーションの場合、ＤＳＰがメモリアクセス競合により待たされることになり、ＤＳＰを２個用いたからといって、２倍の能力を持つ情報処理装置にはならなかった。
【００１３】
（２）キャッシュメモリを配置する場合、１つのキャッシュメモリと別のキャッシュメモリに同じアドレスのデータが存在している場合、１つのキャッシュメモリのデータの書き換えが発生する度に通信を行わねばならず、また、キャッシュメモリにおいて、通信処理とＤＳＰからの要求とを全く独立に動作させることができないため、通信処理によりＤＳＰの要求が待たされる可能性があり、ＤＳＰの実行能力を低下させることになってしまっていた。
【００１４】
本発明は、このような従来の課題を解決し、複数のプロセッサを用いて、各々のプロセッサに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させる情報処理装置において、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行えるようにすることを目的とする。
【００１５】
【課題を解決するための手段】
図１は本発明の原理説明図である。図１中、１はプロセッサ部、２はメインキャッシュメモリ部、３はリンクキャッシュメモリ部、４はバス調停部、５は外部メモリ部、６はリンク通信制御部である。
【００１６】
本発明は前記従来の課題を解決するため次のように構成した。
（１）：デジタル処理を行うプロセッサ部１と、２ポートアクセスが可能なキャッシュメモリを有するメインキャッシュメモリ部２と、２ポートアクセスが可能なキャッシュメモリを有するリンクキャッシュメモリ部３と、アクセス競合の調停を行うバス調停部４と、情報を記憶する外部メモリ部５と、他のリンク通信制御部との通信の制御を行うリンク通信制御部６とを有する処理システムを複数個備え、前記バス調停部４は、前記リンク通信制御部６からのリードアクセスと前記外部メモリ部５からのリード・ライトアクセスの調停を行い、前記メインキャッシュメモリ部２は、前記プロセッサ部１からリード・ライトが可能であり、前記バス調停部４からもリード・ライトが可能であり、前記リンクキャッシュメモリ部３は、前記プロセッサ部１からリードが可能でライトは不可能であり、前記リンク通信制御部６からはライトが可能でリードは不可能とする。
【００１７】
（２）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２は、前記リンク通信制御部６からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部５へデータを要求し、要求データが前記バス調停部４を経て前記キャッシュメモリ内に格納された後、前記リンク通信制御部６からの前記要求に答える。
【００１８】
（３）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２は、前記リンク通信制御部６からのリード要求に対して、前記キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、前記キャッシュメモリ内にデータが存在しない場合は、前記外部メモリ部５に存在するデータを、前記キャッシュメモリに格納せずに前記バス調停部４にて前記リンク通信制御部６へ直接引き渡す。
【００１９】
（４）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２に、前記外部メモリ部５のアドレス領域にマッピングされないデータ転送領域を設ける。
【００２０】
（５）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２及び前記リンクキャッシュメモリ部３は、前記プロセッサ部１からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、前記プロセッサ部１を動作させる。
【００２１】
（６）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、前記外部メモリ部５からデータを読み出さなくする機能を有する。
【００２２】
（７）：前記（１）の情報処理装置において、前記メインキャッシュメモリ部２及び前記リンクキャッシュメモリ部３は、データのアクセス時に要求するアドレスのデータが存在していた場合、前記キャッシュメモリ内から該当データを無効化する機能を有する。
【００２３】
（作用）
前記構成に基づく作用を説明する。
バス調停部４で、リンク通信制御部６からのリードアクセスと外部メモリ部５からのリード・ライトアクセスの調停を行い、メインキャッシュメモリ部２では、直接接続されている外部メモリ部５のアドレス領域を対象とし、プロセッサ部１からリード・ライトが可能であり、バス調停部４からもリード・ライトが可能であり、リンクキャッシュメモリ部３では、他の処理システムにある外部メモリ部のアドレス領域を対象として、プロセッサ部１からリードが可能であり、リンク通信制御部６からはライトが可能である。このため、各々のプロセッサに役割分担させ、かつ、各々が連携することにより、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行える。
【００２４】
また、メインキャッシュメモリ部２で、リンク通信制御部６からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は、外部メモリ部５へデータを要求し、要求データがバス調停部４を経てキャッシュメモリ内に格納された後、リンク通信制御部６からの前記要求に答える。このため、同じデータのアクセスに対してキャッシュメモリから高速で応答が可能となる。
【００２５】
さらに、メインキャッシュメモリ部２で、リンク通信制御部６からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は、即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は、外部メモリ部５に存在するデータを、キャッシュメモリに格納せずにバス調停部４にてリンク通信制御部６へ直接引き渡す。このため、他の処理システムが１度しか使用しないようなデータ等はキャッシュメモリを使用せず、キャッシュメモリの効率的な使用が可能となる。
【００２６】
また、メインキャッシュメモリ部２に、外部メモリ部５のアドレス領域にマッピングされないデータ転送領域を設ける。このため、主に他の処理システムとのデータ通信用のデータ等の再利用されないものは外部メモリ部５とのアクセスを省くことができ、プロセッサの処理能力を向上することができる。
【００２７】
さらに、メインキャッシュメモリ部２及びリンクキャッシュメモリ部３は、プロセッサ部１からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、プロセッサ部１を動作させる。このため、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ部以外へのアクセスでプロセッサが動作していれば、キャッシュメモリの２ポートを利用して、プロセッサの実行能力を低下させることなく動作させることができる。
【００２８】
また、メインキャッシュメモリ部２に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、外部メモリ部５からデータを読み出さなくする。このため、画像データ等の明らかに書き換えられるデータの読み出しを省くことができ、プロセッサの処理能力を向上することができる。
【００２９】
さらに、メインキャッシュメモリ部２及びリンクキャッシュメモリ部３は、データのアクセス時に要求するアドレスのデータが存在していた場合、キャッシュメモリ内から該当データを無効化する。このため、他の処理システムの新しいデータが必要なときにリンク通信制御部６からアクセスすることができる。
【００３０】
【発明の実施の形態】
図２〜図９は本発明の実施の形態を示した図である。以下、図面に基づいて本発明の実施の形態を説明する。
（１）：情報処理装置の説明
図２は装置構成図、図３は２つのキャッシュの説明図、図４はメインキャッシュメモリの説明図、図５はリンクキャッシュメモリの説明図である。以下、図２〜図５に基づいて情報処理装置の説明をする。
【００３１】
▲１▼：装置構成の説明
図２において、情報処理装置には、ＤＳＰ１１ａ、１１ｂ、メインキャッシュメモリ１２ａ、１２ｂ、リンクキャッシュメモリ１３ａ、１３ｂ、バス調停部１４ａ、１４ｂ、外部メモリ１５ａ、１５ｂ、他のＤＳＰとの通信の制御を行うリンク通信制御部１６ａ、１６ｂが設けてある。
【００３２】
ＤＳＰ１１ａ、１１ｂは、デジタル信号処理専用のプロセッサである。メインキャッシュメモリ１２ａ、１２ｂは、２ポートアクセスが可能なキャッシュメモリである。リンクキャッシュメモリ１３ａ、１３ｂは、２ポートアクセスが可能なキャッシュメモリである。バス調停部１４ａ、１４ｂは、アクセス競合の調停をするものである。外部メモリ１５ａ、１５ｂは、外部記憶部である。リンク通信制御部１６ａ、１６ｂは、他のＤＳＰ側との通信の制御を行うものである。
【００３３】
▲２▼：２つのキャッシュメモリの説明
本発明では１つのＤＳＰに対して、用途別に２つのキャッシュメモリであるメインキャッシュメモリとリンクキャッシュメモリを用いる。図２を例に各々のキャッシュメモリの用途を説明する。
【００３４】
メインキャッシュメモリ１２ａは、直下にある外部メモリ１５ａのアドレス領域を対象として、プロセッサ側であるＤＳＰ１１ａ部側からはリード・ライト可能なように、バス調停部１４ａ側からもリード・ライト可能なように、２ポートアクセスが可能なキャッシュメモリとして構成する。
【００３５】
リンクキャッシュメモリ１３ａは、他のデータ処理システム（他のＤＳＰ側）にある外部メモリ部のアドレス領域を対象とし、プロセッサ側であるＤＳＰ１１ａ部側からはリード可能（ライト不可能）なように、リンク通信制御部１６ａからはライト可能（リード不可能）なように、２ポートアクセスが可能なキャッシュメモリとして構成する。
【００３６】
図３は２つのキャッシュメモリの説明図であり、メインキャッシュメモリとリンクキャッシュメモリの違いを示している。
図３において、ＤＳＰ部からのアクセスは、メインキャッシュメモリに対してリード・ライト可能であり、リンクキャッシュメモリに対してリードのみ可能である。
【００３７】
リンク通信制御部からのアクセスは、メインキャッシュメモリに対してバス調停部を経由してリードのみが可能であり、リンクキャッシュメモリに対してライトのみ可能である。
【００３８】
リンク通信制御部へのアクセスは、メインキャッシュメモリからはなしであり、リンクキャッシュメモリからはリード要求である。
外部メモリ部からのアクセスは、メインキャッシュメモリに対してバス調停部を経由してリード・ライトが可能であり、リンクキャッシュメモリに対してはなしである。
【００３９】
外部メモリ部へのアクセスは、メインキャッシュメモリからはリード・ライト要求が可能であり、リンクキャッシュメモリからはなしである。
扱うデータの領域は、メインキャッシュメモリは直下にある外部メモリ内のデータであり、リンクキャッシュメモリは他のＤＳＰ側の外部メモリ内のデータである。
【００４０】
このように、キャッシュメモリを２ポート化することで、メインキャッシュメモリ、リンクキャッシュメモリ部ともに、プロセッサ（ＤＳＰ）部とリンク通信制御部からのアクセスを独立に行えるようになる。
【００４１】
また、データのコンシステンシを保つための通信制御を全く行わないことで、リンク通信制御部間の通信トラフィックを軽減し、本来の目的であるデータ通信のみを行うことができる。
【００４２】
▲３▼：データのコンシステンシを保つための通信制御の説明
データのコンシステンシを保つための通信制御とは、各々のキャッシュメモリに同一のアドレスのデータが存在し、片側のキャッシュメモリ内のデータを変更した場合、もう一方のキャッシュメモリ内のデータも同じように変更したり、無効化するための、通信制御のことである。この機能は、汎用プロセッサを用いたマルチプロセッサシステムにおいて必須のものとされている。
【００４３】
しかし、信号処理に特化して考えてみると、必ずしも即座に古いデータを新しいデータで書き換えてしまってはならないタイミングが存在しうる。例えば、図２のＤＳＰ１１ａの処理結果をＤＳＰ１１ｂで利用する場合、ＤＳＰ１１ａよりＤＳＰ１１ｂが少し処理が遅い場合、ＤＳＰ１１ｂの処理が終了する以前にＤＳＰ１１ａの次の処理結果で前の処理結果が上書きされると、ＤＳＰ１１ｂで正常な処理結果が出力されなくなってしまう。
【００４４】
従って、ＤＳＰ１１ａの処理結果をＤＳＰ１１ｂで利用する場合でＤＳＰ１１ａよりＤＳＰ１１ｂの処理が遅い場合、ＤＳＰ１１ｂが必要とするデータのアドレスが存在していれば、ＤＳＰ１１ａは、ＤＳＰ１１ｂがメインキャッシュメモリ１２ａ内のそのデータをリードしてくれるまで待ち、その後、ＤＳＰ１１ａの次の処理結果をメインキャッシュメモリ１２ａ内に書き込むようにする。
【００４５】
▲４▼：ＤＳＰ１１ａの新しい処理結果をＤＳＰ１１ｂで利用する場合の説明
ＤＳＰ１１ｂがＤＳＰ１１ａの新しい処理結果が欲しい場合は、ＤＳＰ１１ｂがリンクキャッシュメモリ１３ｂ内にある古いデータを無効化する機能を持たせ、新たにデータのリード要求をＤＳＰ１１ａ側に出すことで実現できる。
【００４６】
即ち、データ転送タイミングはアプリケーション特有のものであるため、ＤＳＰ側にデータ転送タイミングの制御を委ね、ＤＳＰ側でキャッシュ制御ができるインタフェースをキャッシュメモリ側に備えるようにする。
【００４７】
▲５▼：アドレス空間に外部メモリにマッピングしないデータ転送空間を備える場合の説明
複数のブロックからなる信号処理アプリケーションの場合、ブロック間のデータ転送用にＦＩＦＯ（First In First Out）メモリや、２バンク構成のバッファを用いる。このデータ転送用のデータは、最終的な処理結果に用いないデータであるため、主記憶等のメモリに記憶しておく必要のないデータである。
【００４８】
このような場合、図２のような本発明に適用すると、メインキャッシュメモリにライトし、他のＤＳＰがリンクキャッシュメモリを介してこのライトしたデータを読みだすことになる。これでも実現可能であるが、通常のキャッシュ動作を考えるとキャッシュメモリ内のデータはいずれ外部メモリに書き戻されることになる。しかし、書き戻しても再利用しないため、書き戻しのためのメモリアクセスは無駄になり、このメモリアクセス最中、他のメモリアクセスは待たされることになる。このため、ＤＳＰの処理能力を低下させてしまう可能性がある。
【００４９】
そこで、メインキャッシュメモリ部に書き戻し不要のデータを扱う構成を付加する。この書き戻し不要ということは、外部メモリにマッピングしていても無駄であるため、アドレス空間に外部メモリにマッピングしないデータ転送空間（データ転送領域）を備える。そして、キャッシュがミスした場合の外部メモリ部からのデータ読み出しも省くようにする。
【００５０】
また、データ転送空間のデータに対して、他のＤＳＰからリード要求があった場合、そのデータを他のＤＳＰに引き渡したのち、メインキャッシュメモリ部において、そのデータを自ら無効化することとする。また、ＤＳＰは、データ転送空間にデータを書き込むとき、データ転送空間にデータかないこと（無効化）を確認して書き込むことにする。これによりＦＩＦＯメモリ的な動作が可能となる。なお、この無効化（クリア）は、データ転送空間にデータがあると新たにライトできないためであり、これは後述するアドレスタグ比較部２４が行う。
【００５１】
例えば、ＤＳＰ１１ａとＤＳＰ１１ｂに処理速度差があり、ＤＳＰ１１ａの処理結果をＤＳＰ１１ｂが処理するようなプログラム構成で、ＤＳＰ１１ｂの処理が早い場合、このデータ転送領域を利用してデータの受け渡しを行えば、ＤＳＰ１１ｂからのデータリード要求に対して、ＤＳＰ１１ａ側のメインキャッシュメモリ１２ａには所望のデータが存在しない場合が生じる。しかし、データ転送領域は外部メモリにマッピングされていないため、外部メモリから読み出すことができず、ＤＳＰ１１ａの処理が終了し出力結果をメインキャッシュメモリ１２ａ（データ転送領域）にライトしてくれるのを待つことになる。これにより、自然と速度調整が行われ、ＤＳＰ１１ａとＤＳＰ１１ｂの間で、セマフォのような特別な通信を行う必要はない。
【００５２】
▲６▼：データのプリフェッチ機能の説明
信号処理用途向けの機能として、データのプリフェッチ機能を付加することができる。これは、ＤＳＰにおいて実際にデータを利用する以前に、キャッシュメモリに対してデータリード要求を出し、前もって外部メモリからデータを読み出しておく機能である。この要求は、直下にある外部メモリ以外もサポートするものである。
【００５３】
▲７▼：外部メモリから古いデータを読み出さない機能の説明
信号処理用途向けの機能として、ＤＳＰは、新たに処理した出力データで古いデータを全て書き換えてしまうアドレス領域が存在した場合に、そのアドレスへのライトアクセス時に、キャッシュメモリ内にそのアドレスのデータが存在しなくても、外部メモリから古いデータを読み出さない機能をサポートする。即ち、キャッシュメモリに直接書き込むようにする。
【００５４】
これは明らかに書き換えられてしまうデータでも、キャッシュメモリ内にそのアドレスのデータが存在しなければ、通常のキャッシュ制御であれば、外部メモリからデータを読み出してしまうためである。
【００５５】
▲８▼：キャッシュメモリ内にデータを格納しない場合の説明
例えば、リンク通信制御部１６ａからのリード要求に対して、メインキャッシュメモリ１２ａ内にデータが存在しない場合は、外部メモリ部１５ａに存在するデータを、メインキャッシュメモリ１２ａに格納せずにバス調停部１４ａにてリンク通信制御部１６ａへ直接引き渡すようにすることができる。
【００５６】
これにより、他のＤＳＰ側（処理システム）が１度しか使用しないようなデータ等はメインキャッシュメモリ１２ａを使用しないようにすることで、ＤＳＰ１１ａが必要とするメインキャッシュメモリ１２ａ内のデータの追い出しを防止でき、キャッシュメモリの効率的な使用が可能となる。
【００５７】
（２）：キャッシュメモリの説明
図４はメインキャッシュメモリの説明図、図５はリンクキャッシュメモリの説明図である。以下、図４、図５に基づいてメインキャッシュメモリとリンクキャッシュメモリの説明をする。
【００５８】
▲１▼：メインキャッシュメモリの説明
図４において、メインキャッシュメモリには、２ポートメモリ（タグ用）２１、２ポートメモリ（データ用）２２、アドレスタグ比較・制御部（Ａポート）２３、アドレスタグ比較部（Ｂポート）２４が設けてある。
【００５９】
２ポートメモリ（タグ用）２１は、タグ、即ちアドレスを記憶した２ポート（ＡポートとＢポート）アクセスが可能なメモリである。２ポートメモリ（データ用）２２は、データを記憶した２ポートアクセスが可能なメモリである。アドレスタグ比較・制御部（Ａポート）２３は、２ポートメモリ（タグ用）２１内に格納されているアドレスのタグと、ＤＳＰ１１部からのアドレスを比較するものである。アドレスタグ比較部（Ｂポート）２４は、２ポートメモリ（タグ用）２１内に格納されているアドレスのタグと、バス調停部１４からのアドレスを比較するものである。
【００６０】
メインキャッシュメモリはＤＳＰ１１部からのアクセスに対して、アドレスタグ比較・制御部２３にて、２ポートメモリ（タグ用）２１内にメモリされている、即ちキャッシュに格納されているアドレスのタグと、ＤＳＰ１１部からのアドレスを比較する。
【００６１】
この比較で一致していれば、ＤＳＰ１１に対してウェイトせずに、リードアクセス時であれば２ポートメモリ（データ用）２２のＡポートからデータをリードし、ライトアクセス時であれば２ポートメモリ（データ用）２２にＡポートからデータを書き込む。
【００６２】
前記比較で一致していない場合、ＤＳＰ１１部に対してウェイト信号をセットし、ミス信号とミスアドレスをバス調停部１４を経由して外部メモリ部へ通知する。外部メモリ部は、ミスしたアドレスのデータを読み出し、バス調停部１４を経由して２ポートメモリ（データ用）２２にＢポートからデータを書き込み、書き込み終了をアドレスタグ比較部（Ｂポート）２４へ通知する。アドレスタグ比較部（Ｂポート）２４では、その通知を受け取った時点で、新しいアドレスタグを２ポートメモリ（データ用）２２にＢポートから書き込む。これにより、アドレスタグ比較・制御部（Ａポート）２３では、タグが一致し、ＤＳＰ１１部へのウェイト信号を解除し、リードアクセス・ライトアクセスを完了させる。リンク通信制御部からのアクセスも、バス調停部１４を経て同様に行われる。
【００６３】
▲２▼：リンクキャッシュメモリの説明
図５において、リンクキャッシュメモリには、２ポートメモリ（タグ用）３１、２ポートメモリ（データ用）３２、アドレスタグ比較部（Ａポート）３３、アドレスタグ制御部（Ｂポート）３４が設けてある。
【００６４】
２ポートメモリ（タグ用）３１は、タグ（アドレス）を記憶した２ポートアクセスが可能なメモリである。２ポートメモリ（データ用）３２は、データを記憶した２ポートアクセスが可能なメモリである。アドレスタグ比較部（Ａポート）３３は、２ポートメモリ（タグ用）３１内に格納されているアドレスのタグと、ＤＳＰ１１部からのアドレスを比較するものである。アドレスタグ制御部（Ｂポート）３４は、２ポートメモリ（タグ用）３１内に格納されているアドレスのタグと、リンク通信制御部１６からのアドレスを比較するものである。
【００６５】
リンクキャッシュメモリはＤＳＰ１１部からのリードアクセスに対して、メインキャッシュメモリと同様に動作し、アドレスタグ比較部３３にて、２ポートメモリ（タグ用）３１内にメモリされているアドレスのタグと、ＤＳＰ１１部からのアドレスを比較する。
【００６６】
この比較で一致していれば、ＤＳＰ１１に対してウェイトせずに、２ポートメモリ（データ用）３２のＡポートからデータをリードする。
前記比較で一致していない場合、ＤＳＰ１１部に対してウェイト信号をセットし、リンク通信制御部１６にミス信号とミスアドレスを通知する。リンク通信制御部１６は他のリンク通信制御部へリード要求を通知する。
【００６７】
このリード要求に対する回答としてリンク通信制御部１６のアクセスが行われる。このアクセスはライトアクセスのみであり、データを２ポートメモリ（データ用）３２に、新しいアドレスタグを２ポートメモリ（タグ用）３１に書き込む。ＤＳＰ１１側のアドレスタグ比較部３３では、リンク通信制御部１６からのデータの書き込みにより、アドレスタグ比較が一致し、ＤＳＰ１１部へのウェイト信号を解除し、該当データのアクセスを完了させる。
【００６８】
▲３▼：データプリフェッチ機能の説明
データプリフェッチ機能は、要求するアドレスのデータがキャッシュメモリ内に存在しなくても、通常のアクセスのようにデータがキャッシュメモリに格納されるまでＤＳＰを待たせることはせず、ＤＳＰからのアクセス自体は正常終了（ウェイト信号をセットしない）させる。
【００６９】
プリフェッチが完了する以前に、プリフェッチ要求を出したキャッシュシステムに要求したデータがそのキャッシュメモリ内に存在しなかった時、初めてＤＳＰにウェイト信号がセットされる。すなわち、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ以外へのアクセスでＤＳＰが動作していれば、ＤＳＰの実行能力を低下させることなく、外部メモリからデータを読み出せる。
【００７０】
（３）：ＤＳＰを２つ接続した場合のデータアクセスの説明
図６はＤＳＰ１１ａが外部メモリ１５ａのアドレス領域をリード／ライトアクセスした場合の処理フローチャート、図７はＤＳＰ１１ａが外部メモリ１５ｂのアドレス領域をリードアクセスした場合の処理フローチャート、図８はＤＳＰ１１ａがデータ転送領域にライトアクセスした場合の処理フローチャート、図９はＤＳＰ１１ａがＤＳＰ１１ｂのデータ転送領域をリードアクセスした場合の処理フローチャートである。以下、図６〜図９に基づいて、キャッシュ動作を考慮して、ＤＳＰを２つ接続した場合のデータアクセス処理を説明する。
【００７１】
▲１▼：ＤＳＰ１１ａが外部メモリ１５ａのアドレス領域をリード／ライトアクセスした場合の説明
ＤＳＰ１１ａが外部メモリ１５ａのアドレス領域をリード／ライトアクセスした場合の処理を図６の処理Ｓ１〜Ｓ１１に従って説明する。
【００７２】
Ｓ１：ＤＳＰ１１ａは、外部メモリ１５ａ領域のリード／ライトアクセス要求をメインキャッシュメモリ１２ａに行い処理Ｓ２に移る。
Ｓ２：メインキャッシュメモリ１２ａは、ＤＳＰ１１ａからアクセス要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理Ｓ３に移り、もしない場合は処理Ｓ６に移る。
【００７３】
Ｓ３：メインキャッシュメモリ１２ａは、ＤＳＰ１１ａからアクセス要求がリードかライトかを判断する。この判断でリード要求の場合は処理Ｓ４に移り、もしライト要求の場合は処理Ｓ５に移る。
【００７４】
Ｓ４：メインキャッシュメモリ１２ａは、ＤＳＰ１１ａにデータを出力しこの処理を終了する。
Ｓ５：前記処理Ｓ３の判断でライト要求の場合は、メインキャッシュメモリ１２ａにデータを書き込みこの処理を終了する。
【００７５】
Ｓ６：前記処理Ｓ２の判断でアクセス要求のあったデータがキャッシュ内にない場合、メインキャッシュメモリ１２ａは、ＤＳＰ１１ａからアクセス要求がリードかライトかを判断する。この判断でリード要求の場合は処理Ｓ７に移り、もしライト要求の場合は処理Ｓ９に移る。
【００７６】
Ｓ７：メインキャッシュメモリ１２ａは、バス調停部１４ａを経て外部メモリ１５ａにデータリード要求を行い、バス調停部１４ａを経て外部メモリ１５ａからメインキャッシュメモリ１２ａ内にデータを格納し処理Ｓ８に移る。
【００７７】
Ｓ８：メインキャッシュメモリ１２ａは、ＤＳＰ１１ａにデータを出力しこの処理を終了する。
Ｓ９：前記処理Ｓ６の判断でライト要求の場合は、メインキャッシュメモリ１２ａは、外部メモリ１５ａからのデータリードを行う指示（ＤＳＰ１１ａから）があるかどうか判断する。この判断でデータリードを行う場合は処理Ｓ１０に移り、もしデータリードを行わない場合は処理Ｓ１１に移る。
【００７８】
Ｓ１０：メインキャッシュメモリ１２ａは、バス調停部１４ａを経て外部メモリ１５ａにデータリード要求を行い、バス調停部１４ａを経て外部メモリ１５ａからメインキャッシュメモリ１２ａ内にデータを格納し処理Ｓ１１に移る。
【００７９】
Ｓ１１：メインキャッシュメモリ１２ａにデータを書き込みこの処理を終了する。
▲２▼：ＤＳＰ１１ａが外部メモリ１５ｂのアドレス領域をリードアクセスした場合の説明
ＤＳＰ１１ａが外部メモリ１５ｂのアドレス領域をリードアクセスした場合の処理を図７の処理Ｓ２１〜Ｓ３３に従って説明する。
【００８０】
Ｓ２１：ＤＳＰ１１ａは、外部メモリ１５ｂ領域のデータのリード要求をリンクキャッシュメモリ１３ａに行い処理Ｓ２２に移る。
Ｓ２２：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理Ｓ２３に移り、もしない場合は処理Ｓ２４に移る。
【００８１】
Ｓ２３：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａにデータを出力しこの処理を終了する。
Ｓ２４：前記処理Ｓ２２の判断でキャッシュ内にデータがない場合、リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａに対してウェイト信号をセットすると共に、リンク通信制御部１６ａへデータリード要求を行い処理Ｓ２５に移る。
【００８２】
Ｓ２５：リンク通信制御部１６ａは、リンク通信制御部１６ｂへデータリード要求を行い処理Ｓ２６に移る。
Ｓ２６：リンク通信制御部１６ｂは、メインキャッシュメモリ１２ｂへバス調停部１４ｂを経由してデータリード要求を行い処理Ｓ２７に移る。
【００８３】
Ｓ２７：メインキャッシュメモリ１２ｂは、リンク通信制御部１６ｂからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理Ｓ３０に移り、もしない場合は処理Ｓ２８に移る。
【００８４】
Ｓ２８：メインキャッシュメモリ１２ｂは、バス調停部１４ｂを経由して外部メモリ１５ｂにデータを要求し処理Ｓ２９に移る。
Ｓ２９：外部メモリ１５ｂは、バス調停部１４ｂを経由してメインキャッシュメモリ１２ｂにデータを格納し処理Ｓ３０に移る。
【００８５】
Ｓ３０：メインキャッシュメモリ１２ｂは、バス調停部１４ｂを経由してリンク通信制御部１６ｂへデータを出力し処理Ｓ３１に移る。
Ｓ３１：リンク通信制御部１６ｂは、データをリンク通信制御部１６ａに転送し処理Ｓ３２に移る。
【００８６】
Ｓ３２：リンク通信制御部１６ａは、リンクキャッシュメモリ１３ａへデータライトを行い処理Ｓ３３に移る。
Ｓ３３：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａへのウェイト信号を解除し、ＤＳＰ１１ａへデータを出力しこの処理を終了する。
【００８７】
▲３▼：ＤＳＰ１１ａがデータ転送領域にライトアクセスした場合の説明
ＤＳＰ１１ａがデータ転送領域にライトアクセスした場合の処理を図８の処理Ｓ４１、Ｓ４２に従って説明する。
【００８８】
Ｓ４１：ＤＳＰ１１ａは、メインキャッシュメモリ１２ａのデータ転送領域にライト要求を行い処理Ｓ４２に移る。
Ｓ４２：メインキャッシュメモリ１２ａは、ＤＳＰ１１ａからライト要求のあったデータをデータ転送領域に書き込みこの処理を終了する。
【００８９】
▲４▼：ＤＳＰ１１ａがＤＳＰ１１ｂのデータ転送領域をリードアクセスした場合の説明
ＤＳＰ１１ａがＤＳＰ１１ｂのデータ転送領域をリードアクセスした場合の処理を図９の処理Ｓ５１〜Ｓ６２に従って説明する。
【００９０】
Ｓ５１：ＤＳＰ１１ａは、ＤＳＰ１１ｂのデータ転送領域のデータのリード要求をリンクキャッシュメモリ１３ａに行い処理Ｓ５２に移る。
Ｓ５２：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理Ｓ５３に移り、もしない場合は処理Ｓ５４に移る。
【００９１】
Ｓ５３：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａにデータを出力しこの処理を終了する。
Ｓ５４：前記処理Ｓ５２の判断でキャッシュ内にデータがない場合、リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａに対してウェイト信号をセットすると共に、リンク通信制御部１６ａへデータリード要求を行い処理Ｓ５５に移る。
【００９２】
Ｓ５５：リンク通信制御部１６ａは、リンク通信制御部１６ｂへデータリード要求を行い処理Ｓ５６に移る。
Ｓ５６：リンク通信制御部１６ｂは、バス調停部１４ｂを経由してメインキャッシュメモリ１２ｂへデータリード要求を行い処理Ｓ５７に移る。
【００９３】
Ｓ５７：メインキャッシュメモリ１２ｂは、リンク通信制御部１６ｂからリード要求のあったデータがキャッシュ内にあるかどうか判断する。この判断でデータがキャッシュ内にある場合は処理Ｓ５９に移り、もしない場合は処理Ｓ５８に移る。
【００９４】
Ｓ５８：メインキャッシュメモリ１２ｂは、ＤＳＰ１１ｂからデータが書き込まれるまでデータ出力をウェイトし処理Ｓ５９に移る。
Ｓ５９：メインキャッシュメモリ１２ｂは、バス調停部１４ｂを経由してリンク通信制御部１６ｂへデータを出力し処理Ｓ６０に移る。なお、このデータの出力後メインキャッシュメモリ１２ｂのデータ転送領域のクリアをアドレスタグ比較部２４が行う。
【００９５】
Ｓ６０：リンク通信制御部１６ｂは、データをリンク通信制御部１６ａに転送し処理Ｓ６１に移る。
Ｓ６１：リンク通信制御部１６ａは、リンクキャッシュメモリ１３ａへデータライトを行い処理Ｓ６２に移る。
【００９６】
Ｓ６２：リンクキャッシュメモリ１３ａは、ＤＳＰ１１ａへのウェイト信号を解除し、ＤＳＰ１１ａへデータを出力しこの処理を終了する。
このように、キャッシュシステムを信号処理用途向けの構成とすることで、複数のＤＳＰを用いて、各々のＤＳＰに役割分担させ、かつ、各々が連携することにより、全体で高速なデジタル信号処理を実現させることができる。
【００９７】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
（１）：バス調停部で、リンク通信制御部からのリードアクセスと外部メモリ部からのリード・ライトアクセスの調停を行い、メインキャッシュメモリ部では、直接接続されている外部メモリ部のアドレス領域を対象とし、プロセッサ部からリード・ライトが可能であり、バス調停部からもリード・ライトが可能であり、リンクキャッシュメモリ部では、他の処理システムにある外部メモリ部のアドレス領域を対象として、プロセッサ部からリードが可能であり、リンク通信制御部からはライトが可能であるため、各々のプロセッサに役割分担させ、かつ、各々が連携して、各々のプロセッサの実行能力を著しく低下させることなく、複数のプロセッサ間でデータの共有化を行える。
【００９８】
（２）：メインキャッシュメモリ部で、リンク通信制御部からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は外部メモリ部へデータを要求し、要求データがバス調停部を経てキャッシュメモリ内に格納された後、リンク通信制御部からの前記要求に答えるため、同じデータのアクセスに対してキャッシュメモリから高速で応答が可能となる。
【００９９】
（３）：メインキャッシュメモリ部で、リンク通信制御部からのリード要求に対して、キャッシュメモリ内にデータが存在する場合は即座にその要求に答え、キャッシュメモリ内にデータが存在しない場合は外部メモリ部に存在するデータを、キャッシュメモリに格納せずにバス調停部にてリンク通信制御部へ直接引き渡すため、他の処理システムが１度しか使用しないようなデータ等はキャッシュメモリを使用せず、キャッシュメモリの効率的な使用が可能となる。
【０１００】
（４）：メインキャッシュメモリ部に、外部メモリ部５のアドレス領域にマッピングされないデータ転送領域を設けるため、主に他の処理システムとのデータ通信用のデータ等の再利用されないものは外部メモリ部とのアクセスを省くことができ、プロセッサの処理能力を向上することができる。
【０１０１】
（５）：メインキャッシュメモリ部及びリンクキャッシュメモリ部は、プロセッサ部からのデータプリフェッチによる要求データをそれぞれのキャッシュメモリへ格納するのを待たずに、プロセッサ部を動作させるため、キャッシュメモリ内にあるデータへのアクセスか、プリフェッチ要求を出したキャッシュメモリ部以外へのアクセスでプロセッサが動作していれば、プロセッサの実行能力を低下させることなく動作させることができる。
【０１０２】
（６）：メインキャッシュメモリ部に、データのライト時にキャッシュメモリ内に要求するアドレスのデータが存在しなくても、外部メモリ部からデータを読み出さなくするため、画像データ等の明らかに書き換えられるデータの読み出しを省くことができ、プロセッサの処理能力を向上することができる。
【０１０３】
（７）：メインキャッシュメモリ部及びリンクキャッシュメモリ部は、データのアクセス時に要求するアドレスのデータが存在していた場合、キャッシュメモリ内から該当データを無効化するため、他の処理システムの新しいデータが必要なときにリンク通信制御部からアクセスすることができる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】実施の形態における装置構成図である。
【図３】実施の形態における２つのキャッシュの説明図である。
【図４】実施の形態におけるメインキャッシュメモリの説明図である。
【図５】実施の形態におけるリンクキャッシュメモリの説明図である。
【図６】実施の形態におけるＤＳＰ１１ａが外部メモリ１５ａのアドレス領域をリード／ライトアクセスした場合の処理フローチャートである。
【図７】実施の形態におけるＤＳＰ１１ａが外部メモリ１５ｂのアドレス領域をリードアクセスした場合の処理フローチャートである。
【図８】実施の形態におけるＤＳＰ１１ａがデータ転送領域にライトアクセスした場合の処理フローチャートである。
【図９】実施の形態におけるＤＳＰ１１ａがＤＳＰ１１ｂのデータ転送領域をリードアクセスした場合の処理フローチャートである。
【図１０】従来例の複数のＤＳＰを用いた情報処理装置の説明図（１）である。
【図１１】従来例の複数のＤＳＰを用いた情報処理装置の説明図（２）である。
【符号の説明】
１  プロセッサ部
２  メインキャッシュメモリ部
３  リンクキャッシュメモリ部
４  バス調停部
５  外部メモリ部
６  リンク通信制御部
【図１】
0003782178.tif 000002
【図２】
0003782178.tif 000003
【図３】
0003782178.tif 000004
【図４】
0003782178.tif 000005
【図５】
0003782178.tif 000006
【図６】
0003782178.tif 000007
【図７】
0003782178.tif 000008
【図８】
0003782178.tif 000009
【図９】
0003782178.tif 000010
【図１０】
0003782178.tif 000011
【図１１】
0003782178.tif 000012