(57)【要約】【課題】Ｉ／Ｏデバイスを制御し、Ｉ／Ｏデバイスからのデータを格納し、ＣＰＵからもアクセスすることができる共有メモリを有するカスタムＩＣと、共有メモリと共有メモリの一部のデータを格納するキャッシュメモリを有するＣＰＵを備えた制御装置において、バススヌープ回路なしに共有メモリをキャッシング可能アドレス空間に配置できる高速データ処理装置を提供する。【解決手段】カスタムＩＣ１０３内にある共有メモリ１０７はＩ／Ｏデバイス１１２のデータのみを格納し、共有メモリアドレス空間はＣＰＵ１０１が使用するプログラム、ワークエリアとは別のエリアまたは、別バンクにマッピングし、キャッシュミスするアドレスに変換するアドレス変換回路２０１を備える。【選択図】    図１
2007249314.tif 000002
【特許請求の範囲】
【請求項１】
共有メモリのデータを格納するキャッシュメモリを有するＣＰＵと、
Ｉ／Ｏデバイスを制御し、前記ＣＰＵとの前記共有メモリを内部に備え、キャッシング可能領域にマッピングされたカスタムＩＣと、を備えた高速データ処理装置において、
前記カスタムＩＣは、
前記共有メモリのアドレスを、キャッシュミスされるアドレスへとアドレス変換し、前記共有メモリの共有メモリ空間をキャッシング可能領域で制御するアドレス変換回路を備えたことを特長とする高速データ処理装置。
【請求項２】
前記アドレス変換回路は、キャッシュアクセス単位境界を跨がないようベースアドレスを増加させて次回対象データのアドレス空間とするものであることを特長とする請求項1記載の高速データ処理装置。
【請求項３】
前記カスタムＩＣが有する前記共有メモリは、前記Ｉ／Ｏデバイスのデータのみを格納し、前記共有メモリのアドレス空間は、前記ＣＰＵが使用するプログラム・ワークエリアとは別のエリアまたは別バンクにマッピングしたものであることを特徴とする請求項1記載の高速データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｉ／Ｏデバイスを制御しＣＰＵとの共有メモリを内部に有しキャッシング可能領域にマッピングされたカスタムＩＣと、共有メモリのデータを格納するキャッシュメモリを有するＣＰＵとを備えた高速データ処理装置に関する。
【背景技術】
【０００２】
従来、ＣＰＵとＩ／Ｏデバイス間で、ある一定の周期内にまとまったデータ転送を行うには、デュアルポートＲＡＭ（以降ＤＰＲＡＭと称す）で構成された共有メモリを用いてデータ転送を行っている。
ＣＰＵは、このＤＰＲＡＭのデータを一度システムメモリのシンクロナスＤＲＡＭ（以降ＳＤＲＡＭと称す）へコピーした後、データの処理を行う。これは、ＤＰＲＡＭが、ＳＤＲＡＭが有するクロック同期式バースト高速アクセスを有していない為である。
しかし、ＳＤＲＡＭインターフェースでアクセスできるＤＰＲＡＭを有するカスタムＩＣの場合、ＳＤＲＡＭへのＤＰＲＡＭデータ転送がＳＤＲＡＭバスのみで実現でき、同期式バースト高速アクセスが可能となる為、アクセス速度は大幅に速くなる。
【０００３】
図４は、従来技術を示す高速データ処理装置のブロック図である。
図４において、１０１はＣＰＵ、１０２はシステムメモリのＳＤＲＡＭ、１０３はＩ／Ｏデバイスを制御するカスタムＩＣ、１０４はシステムバスデータ線、１０５はシステムバスアドレス線、１０６はシステムバスコントロール線、１０７は共有メモリであるＤＰＲＡＭで、カスタムＩＣ１０３に内蔵されている。１０８はＳＤＲＡＭインターフェース制御部、１０９はアドレスデコーダ、１１０はＤＰＲＡＭコントローラ、１１１はＩ／Ｏデバイス制御部、１１２はＩ／Ｏデバイスである。また、Ｓ１はデータ更新割り込み信号である。ＳＤＲＡＭインターフェース制御部１０８は、アドレスデコーダ１０９と、ＳＤＲＡＭインターフェースでアクセスできるＤＰＲＡＭを備えている。ＤＰＲＡＭコントローラ１１０は、Ｉ／Ｏデバイス側制御部１１１による共有メモリ１０７へのアクセスと、ＳＤＲＡＭインターフェース制御部１０８による共有メモリ１０７へのアクセスが衝突しないよう管理している。
以下、図４を用いて、従来技術の高速データ処理装置における非キャッシュ領域Ｉ／Ｏデバイスアクセスについて説明する。
ＤＰＲＡＭコントローラ１１０は、Ｉ／Ｏデバイス１１２から共有メモリ１０７に転送されたデータが、ある一定の周期内にあるまとまった量が共有メモリ１０７に格納されると、ＣＰＵ１０１に対しデータ更新割り込み信号Ｓ１を出力する。ＣＰＵ１０１は、データ更新割り込み信号Ｓ１を検出し、共有メモリ１０７へのアクセスを開始する。カスタムＩＣ１０３の共有メモリ空間をキャッシング可能領域にマッピングすれば、ＣＰＵ１０１は共有メモリ１０７のデータをキャッシングできる為、ＣＰＵ１０１は効率よくデータ処理することができる。
しかし、この場合キャッシュメモリのコヒーレンシ（一貫性）を保証しなければならない。このコヒーレンシを保証するとは、ＣＰＵ１０１が必ず更新された最新のデータにアクセスできることを保証することである。例えば、Ｉ／Ｏデバイス１１２のデータが共有メモリ１０７のあるアドレスにライトされたとき、ライト後のデータはＣＰＵ１０１にとってアクセス可能でなければならない。つまり、ＣＰＵ１０１がライトされたアドレスをアクセスしたときキャッシュミスし、ＣＰＵ１０１内のキャッシュメモリでなく最新データが格納されている共有メモリ１０７にアクセスしなければならない。
【０００４】
コヒーレンシを保つ技術としてバススヌープ方式がある。バススヌープ方式とは、共有バス上のコヒーレンシに関連する動作や要求を絶えず監視し、キャッシュメモリと共有メモリの内容のコヒーレンシを保つ技術である。
図５は、従来技術を示すバススヌープ回路を実装した高速データ処理装置のブロック図である。
図５において、１１４はバススヌープ回路であり、Ｓ２はスヌープ要求信号である。なお、図４と同じ説明符号のものは図４と同じ構成要素を示しているものとし、その説明は省略する。
バススヌープ回路１１４は、システムバスアドレス線１０５とコンロール線１０６を絶えず監視している。コヒーレンシに問題が生じた場合は、ＣＰＵ１０１に対しスヌープを促すためにスヌープ要求信号Ｓ２を出力し、ＣＰＵ１０１にキャッシュの無効化を促す（例えば、特許文献１参照）。
【特許文献１】特開平８−３０５１０号公報（第３−６頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１により開示されているバススヌープ回路を実装した高速データ処理装置では、各ＣＰＵに監視回路を設け、さらに、各ＣＰＵのキャッシュの格納エントリ情報を格納するメモリを設け、メモリアクセスがキャッシュ内のエントリを更新、消去する必要があるときだけ、対応キャッシュの更新、消去を行っている。
上述のように従来の高速データ処理装置では、コヒーレンシ維持の為にバススヌープ回路を設ける必要がある、という問題があった。
【０００６】
本発明は、このような問題点に鑑みてなされたものであり、バススヌープ回路を用いることなく、共有メモリをキャッシング可能なアドレス空間に配置し、データ処理の高速化を可能とする高速データ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、請求項１に記載の発明は、共有メモリのデータを格納するキャッシュメモリを有するＣＰＵと、Ｉ／Ｏデバイスを制御し、前記ＣＰＵとの前記共有メモリを内部に備え、キャッシング可能領域にマッピングされたカスタムＩＣと、を備えた高速データ処理装置において、前記カスタムＩＣは、前記共有メモリのアドレスを、キャッシュミスされるアドレスへとアドレス変換し、前記共有メモリの共有メモリ空間をキャッシング可能領域で制御するアドレス変換回路を備えたことを特長としている。
【０００８】
また、請求項２に記載の発明は、請求項1記載の高速データ処理装置において、前記アドレス変換回路は、キャッシュアクセス単位境界を跨がないようベースアドレスを増加させて次回対象データのアドレス空間とするものであることを特長としている。
【０００９】
また、請求項３に記載の発明は、請求項1記載の高速データ処理装置において、前記カスタムＩＣが有する前記共有メモリは、前記Ｉ／Ｏデバイスのデータのみを格納し、前記共有メモリのアドレス空間は、前記ＣＰＵが使用するプログラム・ワークエリアとは別のエリアまたは別バンクにマッピングしたものであることを特徴としている。  
【発明の効果】
【００１０】
請求項１乃至３の発明によると、バススヌープ回路がなくてもＣＰＵは必ず共有メモリに格納された最新Ｉ／Ｏデバイスデータをアクセスすることができ、キャッシュメモリに格納後、キャッシュヒットした場合は大幅にアクセス時間を短縮でき、システム性能の向上につながる高速データ処理装置を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の具体的実施例について、図を参照して説明する。
【実施例１】
【００１２】
図１は、本発明を示す高速データ処理装置のブロック図である。
図１において、１００は高速データ処理装置、２０１はアドレス変換回路である。尚、図５と同じ説明符号のものは、図５と同じ構成要素を示しているものとし、その説明は省略する。
本実施例が、図５で示した従来技術と相違する点は以下のとおりである。
すなわち、従来技術の構成要素であるバススヌープ回路１１４の代わりに、本発明はアドレス変換回路２０１を備えるようにしている点である。
以下、図１を用いて本発明の高速データ処理装置の構成の詳細について説明する。
図１において、カスタムＩＣ１０３内に存在する共有メモリ１０７はあるひとつのエリア全てか若しくは、システムメモリＳＤＲＡＭと異なるバンクにマッピングされる。共有メモリ１０７は、数Ｋバイトオーダの小容量であり、マッピングされたメモリ空間のごく一部しか使用していない。また共有メモリ１０７は、ＳＤＲＡＭＩ／Ｆ制御部１０８でＳＤＲＡＭインターフェースに変換されＣＰＵから同期式バースト高速アクセスすることができる。ＣＰＵのプログラム、ワークエリアはＳＤＲＡＭ１０２を使用し、共有メモリが属するエリア、またはバンクは使用しない。Ｉ／Ｏデバイス１１２から送られたデータはＩ／Ｏデバイス側制御部１１１によって共有メモリ１０７にライトされる。はじめの共有メモリのアドレスマップは、図４に示す共有アドレス空間３０１の共有アドレス（１）３０２に割り当てられている。
【００１３】
図２は、本発明を示すキャッシュミスアドレス変換遷移図である。
図２において、３０１は共有アドレス空間、３０２は共有アドレス（１）、３０３は共有アドレス（２）、３０４は共有アドレス（Ｎ）である。
また、図３は、本発明を示す高速データ処理方法のフローチャートである。
以下、図３を用いて本発明の高速データ処理装置の動作をステップを追って説明する。
先ず、ステップＳＴ１で、Ｉ／Ｏデバイス１１２から共有メモリ１０７に転送されたデータは、ある周期内にある一定量のデータが蓄積されるとＤＰＲＡＭコントローラ１１０からＣＰＵ１０１にデータ更新割り込み信号Ｓ１を出力する。
次に、ステップＳＴ２で、ＣＰＵ１０１はデータ更新割り込み信号Ｓ１を検出し、データ処理を開始する。
このとき共有メモリ空間はキャッシュヒットしていない為、ステップＳＴ３で、ＣＰＵ１０１はデータ更新割り込み信号Ｓ１を検出後、共有メモリ１０７をアクセスする。その後の処理はキャッシュヒットしている場合、共有メモリ１０７へはアクセスせず、ＣＰＵ１０１内にあるキャッシュメモリをアクセスする。
次に、ステップＳＴ４で、Ｉ／Ｏデバイス１１２から送られたデータはＩ／Ｏデバイス側制御部１１１によって共有メモリ１０７にライトされると、
ステップＳＴ５で、共有メモリ１０７のメモリマップは、図２の共有アドレス（１）３０２から共有アドレス（２）３０３へとアドレス変換回路２０１により自動的に、キャッシュアクセス単位境界を跨がないように、ベースアドレスを増加させる。
アドレス変換終了後、ステップＳＴ６で、カスタムＩＣ１０３はＣＰＵ１０１に対し再びデータ更新割り込み信号Ｓ１を出力する。
ステップＳＴ７で、ＣＰＵ１０１も同様にデータ更新割り込み信号Ｓ１を検出後、アドレス変換を行い、共有メモリ１０７へのアクセスを共有アドレス（２）３０３でアクセス開始する。
この場合も同様に、ステップＳＴ８で、共有メモリ空間はキャッシュミスされ、キャッシュメモリでなく共有メモリ１０７へアクセスする。
ステップＳＴ９で、この動作を繰り返し、図２の共有アドレスが、キャッシュメモリが格納できるデータ容量より大きい空間に達する共有アドレス（Ｎ）３０４まで続け、再び共有アドレス（１）３０２に戻る。
【００１４】
以上述べたように、本発明の実施例に係る高速データ処理装置は、共有メモリ１０７のアドレスを、キャッシュアクセス単位境界を跨がないようベースアドレスを増加させて次回対象データのアドレス空間とすることで、キャッシュミスされるアドレスへとアドレス変換し、共有メモリ空間をキャッシング可能領域で制御するアドレス変換回路２０１を備えるようにしているので、データ更新割り込み後のアクセスはアドレス変換回路２０１により、必ずキャッシュミスし、ＣＰＵ１０１は最新データが格納されている共有メモリ１０７へアクセスする為、バススヌープ回路は必要なくなり、キャッシュメモリに格納後、キャッシュヒットした場合は大幅にアクセス時間を短縮でき、システム性能の向上につながる。
【産業上の利用可能性】
【００１５】
本発明の高速データ処理装置によれば、データ処理の高速化が可能となる為、所定の周期以内に高速にデータ処理する必要がある通信システムなどに利用することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を示す高速データ処理装置のブロック図
【図２】本発明を示すキャッシュミスアドレス変換遷移図
【図３】本発明を示す高速データ処理方法のフローチャート
【図４】従来技術を示す高速データ処理装置のブロック図
【図５】従来技術を示すバススヌープ回路を実装した高速データ処理装置のブロック図
【符号の説明】
【００１７】
１００  高速データ処理装置
１０１  ＣＰＵ
１０２  ＳＤＲＡＭ
１０３  カスタムＩＣ
１０４  システムバスデータ線
１０５  システムバスアドレス線
１０６  システムバスコントロール線
１０７  共有メモリ
１０８  ＳＤＲＡＭＩ／Ｆ制御部
１０９  アドレスデコーダ
１１０  ＤＰＲＡＭコントローラ
１１１  Ｉ／Ｏデバイス側制御部
１１２  Ｉ／Ｏデバイス
１１４  スヌープ回路
２０１  アドレス変換回路
３０１  共有アドレス空間
３０２  共有アドレス（１）
３０３  共有アドレス（２）
３０４  共有アドレス（Ｎ）
Ｓ１  データ更新割り込み信号
Ｓ２  スヌープ要求信号
【図１】
2007249314.tif 000003
【図２】
2007249314.tif 000004
【図３】
2007249314.tif 000005
【図４】
2007249314.tif 000006
【図５】
2007249314.tif 000007