(57)【要約】【課題】  処理の高速化を図るための技術を提供する。【解決手段】  それぞれ個別的にアクセス可能なメモリ毎に設けられた複数のメモリバスとの接続切り換えを可能とするバススイッチ（１４５）と、中央処理装置（１０）又はデータバッファコントローラ（１４２）からのメモリアクセス要求に応じて、上記バススイッチの動作を制御可能なバススイッチコントローラ（１４４）とを設け、それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバス（１５−１〜１５−ｎ）との接続を可能とすることにより、画像メモリ（１６−１〜１６−ｎ）へのアクセスは、対応するメモリバスを介して個別的に行うことができる。それによりメモリアクセスが競合する確率が低減され、画像処理の高速化が達成される。【選択図】        図２
2005222245.tif 000002
【特許請求の範囲】
【請求項１】
システムバスを介して中央処理装置に接続可能なシステムプロセッサインタフェースと、処理対象となるデータのバッファリングを可能とするデータバッファと、上記データバッファの動作を制御可能なデータバッファコントローラと、を含むプロセッサであって、
それぞれ個別的にアクセス可能なメモリ毎に設けられた複数のメモリバスとの接続を切り換えることで、上記中央処理装置と上記メモリとの間のデータ転送経路、及び上記データバッファと上記メモリとの間のデータ転送経路を形成可能なバススイッチと、
上記中央処理装置又は上記データバッファコントローラからのメモリアクセス要求に応じて、上記バススイッチの動作を制御可能なバススイッチコントローラと、を含むプロセッサ。
【請求項２】
上記メモリの論理アドレス空間をプログラマブルに分割設定可能なレジスタを含む請求項１記載のプロセッサ。
【請求項３】
上記バススイッチは、同一データを複数のメモリに対して同時に書き込むためのモードを有する請求項２記載のプロセッサ。
【請求項４】
上記バススイッチは、同一データを複数のメモリに対して同時に書き込むための第１モードと、同一データが書き込まれた上記複数のメモリの記憶データを、上記中央処理装置及び上記データバッファコントローラからのリードアクセスに応じてそれぞれ個別的に読み出し可能な第２モードと、を有する請求項２記載のプロセッサ。
【請求項５】
上記バススイッチコントローラは、上記中央処理装置からのメモリアクセスにかかるアドレスと、上記データバッファコントローラからのメモリアクセスにかかるアドレスとが一致するか否かを判定可能な同一アドレス判定回路を含み、上記両アドレスが一致した場合には、上記同一アドレス判定回路の出力に基づいて、上記データバッファコントローラからのメモリアクセスによって上記メモリから読み出された同一データが上記中央処理装置と上記データバッファとの双方に伝達される請求項２記載のプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ、さらにはそれにおける処理の高速化を図るための技術に関し、例えばカメラからの画像データを処理するための画像処理プロセッサに適用して有効な技術に関する。
【背景技術】
【０００２】
ディジタル画像処理システムは、コンピュータを用いることで、同じ処理であっても処理のパラメータを変えることによって別の結果が得られる融通性と柔軟性に富んだ方法である。特に、処理データ数が多い画像処理において、単一プロセッサでは処理時間がかかるため、複数プロセッサ構成にすることが一般的である。その方法の一つとして、例えば、複数マイクロプロセッサと大容量半導体メモリを同一バスで接続し、各プロセッサが大容量メモリに個別にアクセスして処理する構成が知られている（例えば特許文献１参照）。
【０００３】
【特許文献１】特開平１１−１４４０４５号公報（第０００２段落）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術によれば、複数プロセッサから大容量半導体メモリへのアクセスは時分割となるため、一つのプロセッサのアクセス中は他のプロセッサは待ち状態とされる。この待ち状態は、高速処理を阻害する主たる要因とされる。また、複数プロセッサと大容量半導体メモリは構造が単純で実現しやすいが、処理能力がプロセッサ数に比例しない。これはプロセッサ数が増えた場合、大容量画像メモリへのアクセス競合が増大し、処理時間内の待ち時間が増加するためである。
【０００５】
本発明の目的は、処理の高速化を図るための技術を提供することにある。
【０００６】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００８】
すなわち、システムバスを介して中央処理装置に接続可能なシステムプロセッサインタフェースと、処理対象となるデータのバッファリングを可能とするデータバッファと、上記データバッファの動作を制御可能なデータバッファコントローラとを含んでプロセッサが構成されるとき、それぞれ個別的にアクセス可能なメモリ毎に設けられた複数のメモリバスとの接続を切り換えることで、上記中央処理装置と上記メモリとの間のデータ転送経路、及び上記データバッファと上記メモリとの間のデータ転送経路を形成可能なバススイッチと、上記中央処理装置又は上記データバッファコントローラからのメモリアクセス要求に応じて、上記バススイッチの動作を制御可能なバススイッチコントローラとを設ける。
【０００９】
上記の手段によれば、バススイッチは、それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバスとの接続を可能とすることにより、画像メモリへのアクセスは、対応するメモリバスを介して個別的に行うことができる。このことが、メモリアクセスが競合する確率を低減させ、画像処理の高速化を達成する。
【００１０】
このとき、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避するには、上記メモリの論理アドレス空間をプログラマブルに分割設定可能なレジスタを設けると良い。
【００１１】
メモリアクセス時間の短縮を図るため、上記バススイッチは、同一データを複数のメモリに対して同時に書き込むための第１モードや、同一データが書き込まれた上記複数のメモリの記憶データを、上記中央処理装置及び上記データバッファコントローラからのリードアクセスに応じてそれぞれ個別的に読み出し可能な第２モードを含んで構成することができる。
【００１２】
上記データバッファコントローラと上記中央処理装置とから、それぞれ同一のメモリに対するリードアクセスが生じた場合において、上記データバッファ及び上記中央処理装置の双方が、上記メモリからの読み出しデータを速やかに得られるようにするには、上記バススイッチコントローラは、上記中央処理装置からのメモリアクセスにかかるアドレスと、上記データバッファコントローラからのメモリアクセスにかかるアドレスとが一致するか否かを判定可能な同一アドレス判定回路を設け、上記両アドレスが一致した場合に、上記データバッファコントローラからのメモリアクセスによって上記メモリから読み出された同一データが上記中央処理装置と上記データバッファとの双方に伝達可能に構成すると良い。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１４】
すなわち、それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバスとの接続が可能とされることにより、画像メモリへのアクセスは、対応するメモリバスを介して個別的に行うことができ、それによりメモリアクセスが競合する確率が低減されるので、画像処理の高速化が達成される。
【発明を実施するための最良の形態】
【００１５】
図１には、本発明にかかるプロセッサの一例である画像処理プロセッサが適用された画像処理システムが示される。図１に示される画像処理システム１００は、特に制限されないが、中央処理装置（ＣＰＵ）１０，システムメモリ１３、画像処理プロセッサ１４とがシステムバス１１を介することにより相互に信号のやり取りが可能に接続される。画像処理プロセッサ１４には、上記システムバス１１とは別に設けられた画像メモリバス１５−１，１５−２，１５−３，…，１５−ｎを介して画像メモリ１６−１，１６−２，１６−３，…，１６−ｎが接続される。この画像メモリ１６−１，１６−２，１６−３，…，１６−ｎは、それぞれ対応する画像メモリバス１５−１，１５−２，１５−３，…，１５−ｎを介して個別的にアクセス可能とされるランダム・アクセス・メモリ（ＲＡＭ）とされる。
【００１６】
上記の構成において、ＣＰＵ１０や画像処理プロセッサ１４は、システムバス１１を介してシステムメモリ１３をアクセスすることができる。ＣＰＵ１０によってシステムメモリ１３がアクセスされている期間中は、ＣＰＵ１０によってシステムバス１１が占有されてしまうため、画像処理プロセッサはシステムメモリ１３をアクセスすることはできない。しかし、システムバス１１とは別に画像メモリバス１５−１，１５−２，１５−３，…，１５−ｎが設けられ、それに画像メモリ１６−１，１６−２，１６−３，…，１６−ｎが接続されているため、ＣＰＵ１０によってシステムメモリ１３がアクセスされている期間中であっても、画像処理プロセッサ１４は、画像メモリ１６−１，１６−２，１６−３，…，１６−ｎをアクセスすることができる。
【００１７】
図２には上記画像処理プロセッサ１４の構成例が示される。上記画像処理プロセッサ１４は、特に制限されないが、公知の半導体集積回路製造技術により、単結晶シリコン基板などの一つの半導体基板に形成される。
【００１８】
図２に示されるように、画像処理プロセッサ１４は、特に制限されないが、カメラインタフェース１４１、データバッファコントローラ（ＤＢ−ＣＮＴ）１４２、システムプロセッサインタフェース（ＳＹＳＰ）１４３、バススイッチコントローラ１４４、バススイッチ１４５、データバッファ１４６、画像処理回路１４７、及び表示処理回路１４８を含んで成る。
【００１９】
カメラインタフェース１４１は、図示されない監視カメラなどによって得られた画像データの取り込みを可能とする。このカメラインタフェース１４１を介して取り込まれた画像データはバッファリングのためにデータバッファ１４６に一時的に蓄えられる。このデータバッファ１４６は、カメラインタフェース、画像処理回路、表示処理回路などに対応する複数のバッファＤＢ１〜ＤＢｍを含んで成る。
【００２０】
画像処理回路１４７は、上記データバッファ１４６を介して取り込まれた画像データに対して所定の演算処理を施す機能を有する。画像処理されたデータは再びデータバッファ１４６を介して表示処理回路１４８に伝達され、あるいは必要に応じてバススイッチ１４５を介して画像メモリ１６−１〜１６−ｎに書き込まれる。
【００２１】
表示処理回路１４８は、上記データバッファ１４６を介して取り込まれた画像データを表示装置（図示せず）へ表示するための演算処理を行う。ここでの演算処理結果は表示装置（図示せず）に伝達される。
【００２２】
データバッファコントローラ１４２は、上記データバッファ１４８の動作を制御する。また、このデータバッファコントローラ１４２は、データバッファ１４６と画像メモリ１６−１〜１６−ｎとの間で画像データのやり取りを可能とするために、バススイッチコントローラ１４４に対して画像メモリ１６−１〜１６−ｎのアクセスを要求する。データバッファコントローラ１４２からのメモリアクセスは、特にＤＢアクセスとされ、ＣＰＵ１０からのメモリアクセス（ＳＹＳＰアクセス）と区別される。
【００２３】
システムプロセッサインタフェース（ＳＹＳＰ）１４３は、システムバス１１を介してＣＰＵ１０やシステムメモリ１３に接続され、このＣＰＵ１０やシステムメモリ１３との間での信号のやり取りを可能とする。また、このシステムプロセッサインタフェース１４３は、後に詳述するように論理アドレス空間のエリア分割にかかる設定情報を保持可能なレジスタＲｅｇを含み、メモリの論理アドレス空間がプログラマブルに分割設定可能とされる。
【００２４】
バススイッチ１４５は、メモリ毎に設けられた複数のメモリバス１５−１〜１５−ｎとの接続を切り換えることで、ＣＰＵ１０と画像メモリ１６−１〜１６−ｎとの間のデータ転送経路の形成や、データバッファ１４６と、メモリ１６−１〜１６−ｎとの間のデータ転送経路形成を可能とする。このバススイッチ１４５は、特に制限されないが、図１６に示されるように、メモリバス１５−１〜１５−ｎに対応して設けられたスイッチ１４５−１，１４５−２，…，１４５−ｎを含んで成り、バススイッチコントローラ１４４からのスイッチング制御信号によって動作制御される。システムプロセッサインタフェース（ＳＹＳＰ）１４３、データバッファＤＢ１〜ＤＢｍは、全てのスイッチ１４５−１〜１４５−ｎに接続される。これにより、システムプロセッサインタフェース（ＳＹＳＰ）１４３やデータバッファＤＢ１〜ＤＢｍから伝達されたアドレス信号における下位ビット、ストローブ信号、データなどは、スイッチ１４５−１〜１４５−ｎの何れかを介することにより画像メモリ１６−１〜１６−ｎに伝達することができる。尚、システムプロセッサインタフェース（ＳＹＳＰ）１４３やデータバッファＤＢ１〜ＤＢｍから伝達されたアドレス信号における上位ビットは、スイッチ１４５−１〜１４５−ｎの選択信号の生成に利用される。上記複数のメモリバス１５−１〜１５−ｎとの接続を切り換えることで、ＣＰＵ１０からのメモリアクセス（ＳＹＳＰアクセス）と、データバッファコントローラ１４２からのメモリアクセス（ＤＢアクセス）とを同時に実行することができる。また、ＣＰＵ１０からのメモリに対するリードアクセス（ＳＹＳＰアクセス）と、データバッファコントローラ１４２からのメモリに対するリードアクセス（ＤＢアクセス）とが同一アドレスの場合に、同一データをＣＰＵ１０とデータバッファ１４６とに伝達することができる。
【００２５】
バススイッチコントローラ１４４は、特に制限されないが、図３に示されるように、入力された論理アドレスを物理アドレスに変換するためのアドレス変換部１４４３と、物理アドレスに基づいてアクセスの競合を判定するためのアドレス判定部１４４２と、アドレス競合を調停するためのアービタ部１４４１とを含み、上記バススイッチ１４５の動作を制御する。
【００２６】
次に、論理アドレス空間のエリア分割について説明する。
【００２７】
図示されない監視カメラや、画像処理回路１４７、ＣＰＵ１０などのクライアントは、図３（Ａ）に示される物理アドレスマップに対応する複数本のメモリバスを意識せずに、図３（Ｂ）に示されるような論理アドレスマップに示される仮想的なリニア空間としてメモリをアクセスする。この論理アドレス空間は、図３（Ｃ）に示されるように、所定ワード数毎にｎ個のエリアに分けられる。このエリア１〜ｎは、物理アドレスの上位ビットによって選択される。図３（Ｄ）に示される例では３個のエリアに分割されている。アドレス判定回路１４４２においては、このエリア単位で競合チェックが行われる。エリアの分割サイズは、システムプロセッサインタフェース１４３内のレジスタＲｅｇに記憶されているエリアサイズ情報に基づいて決定される。レジスタＲｅｇのエリアサイズ情報はＣＰＵ１０によって書き換え可能とされる。従って、エリアの分割サイズはプログラマブルに設定することができる。大きな画像を取り扱う場合、その画像のデータサイズがエリアサイズを越える場合が考えられる。かかる場合には、エリアサイズを越える部分については、アドレス判定部１４４２において正しい競合判定を行うことができない。そこで、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避することができる。尚、上記アドレス判定部１４４２では、上記物理アドレスに基づいて、ＳＹＳアクセスにかかるエリアと、ＤＢアクセスにかかるエリアとが一致するか否かが判定される。
【００２８】
次に、バススイッチ１４５による切り換え動作について説明する。
【００２９】
図５に示されるように、ＣＰＵ１０とシステムプロセッサインタフェース１４３との間でやり取りされる信号として、アドレス信号、データ、ストローブ信号、ウェイト信号、バスリクエスト信号、バスアクノリッジ信号などを挙げることができる。また、データバッファコントローラ１４２とバススイッチコントローラ１４４との間でやりとりされる信号としては、アドレス信号、データ、ストローブ信号、リクエスト信号、アクノリッジ信号などを挙げることができる。
【００３０】
ＣＰＵ１０によるメモリアクセス（ＳＹＳＰアクセス）においては、ＣＰＵ１０からシステムプロセッサインタフェース１４３に対してアドレス信号及びデータが供給される。また、データバッファコントローラ１４２によりメモリアクセス（ＤＢアクセス）においては、データバッファコントローラ１４２によってリクエスト信号がイネーブル状態にされ、それに応じてバススイッチコントローラ１４４によってアクノリッジ信号がイネーブル状態にされた後に、データバッファコントローラ１４２からバススイッチコントローラ１４４に対してアドレス信号やストローブ信号が供給される。図６に示される動作タイミングでは、ＳＹＳＰアクセスは４バースト転送、ＤＢアクセスは１２８バイト又は２５６バイトのブロック転送が行われている。ＳＹＳＰアクセスにおけるアドレスと、ＤＢアクセスにおけるアドレスとが競合しない場合、換言すれば、ＳＹＳＰアクセス及びＤＢアクセスが、互いに異なるエリアに対して行われる場合には、図６に示されるように、ＳＹＳＰアクセスとＤＢアクセスとが同時並行して行われる。
【００３１】
次に、図７に示されるように、ＣＰＵ１０によるアクセス中のエリアに対して、データバッファコントローラ１４２がアクセスしようとした場合について説明する。図８にはその場合の動作タイミングが示される。この例ではＳＹＳＰアクセスは４バースト転送、ＤＢアクセスは１２８又は２５６バイトのブロック転送が行われる。
【００３２】
ＣＰＵ１０によるアクセス中のエリアに、データバッファコントローラ１４２がアクセスしようとすると、そのことがアドレス判定部１４４２で判定されることで、バススイッチコントローラ１４４は、システムプロセッサインタフェースを介してＣＰＵ１０に対するバスリクエスト信号をイネーブル状態にする（Ｔ１）。ＣＰＵ１０においてリードストローブ信号がディスエーブル状態にされ、それに応じてバスアクノリッジ信号がイネーブル状態にされ（Ｔ２）、それがデータバッファコントローラ１４２に伝達されることにより（Ｔ３）、データバッファコントローラ１４２はＣＰＵ１０によるメモリアクセスの終了を検知する。その後、バススイッチコントローラ１４４の制御により、バススイッチ１４５での経路切り換えが行われ、ＤＢアクセスが開始される。
【００３３】
次に、図９に示されるように、データバッファコントローラ１４２によるアクセス中のエリアに対してＣＰＵ１０がアクセスしようとした場合について説明する。図１０にはその場合の動作タイミングが示される。この例ではＳＹＳＰアクセスは４バースト転送、ＤＢアクセスは１２８又は２５６バイトのブロック転送が行われる。
【００３４】
データバッファコントローラ１４２によってリクエスト信号がイネーブル状態にされ、それに応じてアクノリッジ信号がイネーブル状態にされることでＤＢアクセスが開始される（Ｔ４）。そして、データバッファコントローラ１４２によるアクセス中のエリアに、ＣＰＵがアクセスしようとすると、そのことがアドレス判定部１４４２で判定されることで、ＣＰＵ１０に対するウェイト信号がイネーブル状態にされる（Ｔ５）。
【００３５】
バススイッチコントローラ１４４は、システムプロセッサインタフェース１４３を経由してＣＰＵ１０に対してウェイト信号をイネーブル状態にすることでウェイトを要求する。そして、データバッファコントローラ１４２によるメモリアクセスが終了すると、バススイッチコントローラ１４４は、ＣＰＵ１０に対するウェイト信号をディセーブル状態にする（Ｔ６）。これを受けてＣＰＵ１０は、メモリアクセスを開始することができる。
【００３６】
次に、複数の画像メモリ１６−１〜１６ｎに対する同時書き込みについて説明する。
【００３７】
バススイッチ１４５による切り換え動作により、ＣＰＵ１０やデータバッファＤＢ１〜ＤＢｍのそれぞれが、複数の画像メモリ１６−１〜１６−ｎに対してデマルチプレックス可能とされる。例えば図１１に示されるように、データバッファＤＢ１がバススイッチ１４５を介して画像メモリ１６−３，１６−４の双方に接続されることによって、データＡについてのライトアクセスを１回実行するだけで、画像メモリ１６−３，１６−４の双方に同一のデータＡを同時に書き込むことができる。この動作モードを「コピーモード」と称する。このコピーモードにおいては、バススイッチ１４５による切り換え動作により、任意の複数の画像メモリ１６−１〜１６ｎに対して同一データの同時書き込みを行うことができ、画像メモリ１６−１〜１６ｎへの画像データの書き込みを、メモリ毎に個別的に行うのに比べてライトアクセス時間の短縮を図ることができる。
【００３８】
そして、図１１に示されるように、画像メモリ１６−３，１６−４の双方に同一のデータＡを同時に書き込まれた場合には、この画像メモリ１６−３，１６−４のデータＡを同時並列的に読み出すことによって演算スループットの向上を図ることができる。例えば図１２に示されるように、バススイッチ１４５を介してデータバッファＤＢ１から画像メモリ１６−３へのアクセス経路と、データバッファＤＢ２から画像メモリ１６−４へのアクセス経路が形成されることによって、データバッファＤＢ１，ＤＢ２は、それぞれ画像メモリ１６−３，１６−４からデータＡを同時に得ることができる。これにより、画像処理回路１４７において、データバッファＤＢ１内のデータＡについての画像処理が行われるのと同時に、表示処理回路１４８において、データバッファＤＢ２内のデータＡについての表示処理を行うことができる。このように同一データについての異なる処理を同時に実行することができるので、演算スループットの向上を図ることができる。
【００３９】
また、図１３に示されるように、バススイッチ１４５を介してＣＰＵ１０から画像メモリ１６−３へのアクセス経路と、データバッファＤＢ２から画像メモリ１６−４へのアクセス経路が形成されることによって、ＣＰＵ１０及びデータバッファＤＢ２は、それぞれ画像メモリ１６−３，１６−４からデータＡを同時に得ることができ、その場合には、ＣＰＵ１０と画像処理プロセッサ１４とにおいて同一データについての異なる処理を同時に実行することができる。
【００４０】
上記例によれば、以下の作用効果を得ることができる。
【００４１】
（１）それぞれ個別的にアクセス可能な画像メモリ毎に設けられた複数のメモリバス１５−１〜１５−ｎを有しているため、画像メモリ１６−１〜１６−ｎへのアクセスは、対応するメモリバスを介して個別的に行うことができるため、メモリアクセスが競合する確率が低減される。それによって画像処理の高速化を図ることができる。
【００４２】
（２）大きな画像を取り扱う場合、その画像のデータサイズがエリアサイズを越える場合が考えられる。かかる場合には、エリアサイズを越える部分については、アドレス判定部１４４２において正しい競合判定を行うことができない。しかし、上記の例によれば、レジスタＲｅｇの書き換えにより、エリアサイズをプログラマブルに設定することができるので、取り扱われる画像のデータサイズに応じてエリアサイズを変更することにより、画像のデータサイズがエリアサイズを越えるのを回避することができる。
【００４３】
（３）バススイッチ１４５はコピーモードを有し、このコピーモードにおいて、任意の複数の画像メモリ１６−１〜１６−ｎに対して同一データの同時書き込みを行うことができるので、画像メモリ１６−１〜１６−ｎへの画像データの書き込みを、メモリ毎に個別的に行うのに比べてライトアクセス時間の短縮を図ることができる。
【００４４】
（４）上記コピーモードにより、任意の複数の画像メモリに対して書き込まれたデータは、同時並列的に読み出して、それぞれ異なる処理を同時に施すことができるので、演算スループットの向上を図ることができる。
【００４５】
（５）ＣＰＵ１０によるシステムメモリ１３のアクセスと、画像処理プロセッサ１４による画像メモリ１６−１〜１６−ｎのアクセスとでバス競合を生じないため、このＣＰＵ１０によるシステムメモリ１３のアクセスと、画像処理プロセッサ１４による画像メモリ１６−１〜１６−ｎのアクセスとを同時並列的に行うことができる。
【００４６】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４７】
例えばバススイッチコントローラ１４４は、図１４に示されるように構成することができる。図１４に示されるバススイッチコントローラ１４４が図５に示されるのと大きく相違するのは、同一アドレス判定部１４４４が設けられた点である。この同一アドレス判定部１４４４は、データバッファコントローラ１４２から伝達されたアドレス信号と、システムプロセッサインタフェース１４３を介してＣＰＵ１０から伝達されたアドレス信号とが一致するか否かを判定する。そして、この同一アドレス判定部１４４４において、データバッファコントローラ１４２から伝達されたアドレス信号と、システムプロセッサインタフェース１４３を介してＣＰＵ１０から伝達されたアドレス信号とが一致すると判定された場合には、当該アドレスに対応するメモリからの読み出しデータがデータバッファ１４６とＣＰＵ１０との双方に伝達される。図１５には、この場合の動作タイミングが示される。データバッファコントローラ１４２とＣＰＵ１０とから、それぞれ同一の画像メモリ１６−１に対するリードアクセスが生じた場合を想定する。この場合、同一エリアに対するアクセス競合はアドレス判定部１４４３において行われ、同一アドレスについてのアクセスであることは同一アドレス判定回路１４４４において判定される。同一エリアに対するアクセスであるため、バススイッチコントローラ１４４によってＣＰＵ１０に対するウェイト信号がイネーブル状態にされることで、ＣＰＵ１０によるアクセスが待たされる。この間、データバッファコントローラ１４２によるメモリアクセスが行われ、画像メモリ１６−１からデータバッファ１４６への１２８バイト又は２５６バイトのブロック転送が行われる。そしてこのブロック転送と同時に、データバッファコントローラ１４２とＣＰＵ１０とから伝達されたアドレスが一致した場合は、ＣＰＵ１０に対しても、同一データが転送される。つまり、データバッファコントローラ１４２とＣＰＵ１０とから、それぞれ同一の画像メモリ１６−１に対するリードアクセスが生じた場合には、ＣＰＵ１０のアクセスが待たされ、その間に画像メモリ１６−１から読み出されたデータがデータバッファ１４６及びＣＰＵ１０の双方に伝達される。これによりＣＰＵ１０は、実際にはウェイト信号がイネーブル状態とされることでメモリアクセスが待たされるにもかかわらず、目的とするデータを速やかに得ることができる。
【００４８】
このように図１４に示される構成によれば、データバッファコントローラ１４２とＣＰＵ１０とから同一の画像メモリに対するリードアクセスが生じた場合でも、データバッファコントローラ１４２とＣＰＵ１０との間のアクセス競合が回避される。また、同様にデータバッファＤＢ１〜ＤＢｍ間においても同一画像メモリに対してアクセスが競合する場合あるが、かかる場合においても、そのようなアクセス競合が回避される。例えば画像メモリ１６−１の記憶データを複数のデータバッファへ転送するために、同一の画像メモリ１６−１に対するリードアクセスが生じた場合には、同一アドレス判定部１４４４において同一アドレスに対するアクセス判定が行われ、それに基づいて、上記画像メモリ１６−１から読み出された同一データが複数のデータバッファへ転送されることで、データバッファＤＢ１〜ＤＢｍ間のアクセス競合が回避される。
【００４９】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野である画像処理プロセッサに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種プロセッサに広く適用することができる。
【００５０】
本発明は、データ処理を行うことを条件に適用することができる。
【図面の簡単な説明】
【００５１】
【図１】本発明にかかるプロセッサの一例である画像処理プロセッサが適用された画像処理システムの構成例ブロック図である。
【図２】上記画像処理プロセッサの構成例ブロック図である。
【図３】上記画像処理プロセッサに含まれるバススイッチコントローラの構成例ブロック図である。
【図４】上記画像処理プロセッサにおいて管理される論理アドレス空間のエリア分割についての説明図である。
【図５】上記画像処理プロセッサにおいてやり取りされる信号についての説明図である。
【図６】上記画像処理プロセッサにおける主要部の動作タイミング図である。
【図７】上記画像処理プロセッサにおけるバススイッチの動作説明図である。
【図８】上記画像処理プロセッサにおける主要部の動作タイミング図である。
【図９】上記画像処理プロセッサにおけるバススイッチの動作説明図である。
【図１０】上記画像処理プロセッサにおける主要部の動作タイミング図である。
【図１１】上記画像処理プロセッサにおけるバススイッチの動作説明図である。
【図１２】上記画像処理プロセッサにおけるバススイッチの動作説明図である。
【図１３】上記画像処理プロセッサにおけるバススイッチの動作説明図である。
【図１４】上記画像処理プロセッサにおけるバススイッチコントローラの別の構成例ブロック図である。
【図１５】上記画像処理プロセッサにおける主要部の動作タイミング図である。
【図１６】上記画像処理プロセッサにおけるバススイッチの構成例ブロック図である。
【符号の説明】
【００５２】
１０  ＣＰＵ
１１  システムバス
１２  ＰＣＩバス
１３  システムメモリ
１４  画像処理プロセッサ
１５−１〜１５−ｎ  メモリバス
１６−１〜１６−ｎ  画像メモリ
１４１  カメラインタフェース
１４２  データバッファコントローラ
１４３  システムプロセッサインタフェース
１４４  バススイッチコントローラ
１４５バススイッチ
１４６  データバッファ
１４７  画像処理回路
１４８  表示処理回路
１４４１  アービタ部
１４４２  アドレス判定部
１４４３  アドレス変換部
１４４４  同一アドレス判定部
Ｒｅｇ  レジスタ
ＤＢ１〜ＤＢｍ  データバッファ
【図１】
2005222245.tif 000003
【図２】
2005222245.tif 000004
【図３】
2005222245.tif 000005
【図４】
2005222245.tif 000006
【図５】
2005222245.tif 000007
【図６】
2005222245.tif 000008
【図７】
2005222245.tif 000009
【図８】
2005222245.tif 000010
【図９】
2005222245.tif 000011
【図１０】
2005222245.tif 000012
【図１１】
2005222245.tif 000013
【図１２】
2005222245.tif 000014
【図１３】
2005222245.tif 000015
【図１４】
2005222245.tif 000016
【図１５】
2005222245.tif 000017
【図１６】
2005222245.tif 000018