(57)【要約】      （修正有）【課題】信頼性を要する二次データの不所望な変化を抑制でき、且つ、記憶装置の著しい容量拡大を抑制する。記憶装置に対する非対称アクセスによってデータ処理を効率化する。【解決手段】誤り訂正機能を有していない第１メモリ部５５と誤り訂正機能を有する第２メモリ部５６とを備え、各メモリ部に対して複数個のアクセスノードＡＮＤ２〜ＡＮＤ４を有する記憶装置を採用し、前記記憶装置の複数個のアクセスノードに複数個のバスを接続し、前記複数個のバスを介して複数個のデータ処理部により前記記憶装置を非対称アクセス可能にする。前記第１メモリ部５５には前記データ処理部によるデータ処理前の一次データを格納し、前記第２メモリ部５６には前記データ処理部によるデータ処理後の二次データを格納する。【選択図】図１
2015169988.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正機能を有していない第１メモリ部と誤り訂正機能を有する第２メモリ部とを備え、前記第１メモリ部及び第２メモリ部に対して複数個のアクセスノードを有する記憶装置と、
前記複数個のアクセスノードに接続される複数個のバスと、
夫々がプログラム処理を行い、前記複数個のバスを介して前記記憶装置を非対称アクセス可能な複数個のデータ処理部と、を有し、
前記第１メモリ部は前記データ処理部によるデータ処理前の一次データが格納される領域とされ、
前記第２メモリ部は前記データ処理部によるデータ処理後の二次データが格納される領域とされる、半導体装置。
【請求項２】
請求項１において、前記記憶装置はアクセスノード毎に個別化された複数のメモリローカルバスを有し、夫々のメモリローカルバスに前記第１メモリ部及び第２メモリ部が接続される、半導体装置。
【請求項３】
請求項２において、前記半導体装置の外部から供給されたデータを、前記複数のメモリローカルバスの内の第１メモリローカルバスを介して前記第１メモリ部に書き込む制御を行うダイレクトメモリ入力回路を有する、半導体装置。
【請求項４】
請求項３において、前記複数個のデータ処理部の内の一つは特定のデータ処理に特化したアクセラレータであり、
前記複数個のバスの内の一つは前記アクセラレータを前記複数のメモリローカルバスの内の第２メモリローカルバスに接続するアクセラレータバスである、半導体装置。
【請求項５】
請求項４において、前記複数個のバスの内の一つは汎用バスであり、
前記複数個のデータ処理部の内の一つは第１データ処理部であり、他の一つは第２データ処理部であり、
前記汎用バスは、一つのバスマスタとして前記第１データ処理部に接続する第１シングルマスタバスと、一つのバスマスタとして前記第２データ処理部に接続する第２シングルマスタバスと、複数個のバスマスタとして前記アクセラレータ及びその他のバスマスタに接続するマルチマスタバスとを含み、
前記マルチマスタバス、前記第１シングルマスタバス、及び前記第２シングルマスタバスの夫々は、前記複数のメモリローカルバスの内の前記第１メモリローカルバス及び前記第２メモリローカルバス以外の第３メモリローカルバス及び第４メモリローカルバスに接続される、半導体装置。
【請求項６】
請求項５において、前記アクセラレータバス及び前記第２メモリローカルバスの夫々は、前記マルチマスタバス、前記第１シングルマスタバス、前記第２シングルマスタバス、前記第１メモリローカルバス、前記第３メモリローカルバス及び前記第４メモリローカルバスの夫々に対して整数倍の並列ビット数を有する、半導体装置。
【請求項７】
請求項４において、前記ダイレクトメモリ入力回路は、外部から供給された第１データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を行う、半導体装置。
【請求項８】
請求項７において、前記ダイレクトメモリ入力回路は更に、外部から供給された第２データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第１ブロックから前記第１データを読込んで第１データ処理可能にされる、半導体装置。
【請求項９】
請求項８において、前記ダイレクトメモリ入力回路は更に、外部から供給された第２データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に前記第１データ処理の処理結果である第１中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第３ブロックに格納する処理を行う、半導体装置。
【請求項１０】
請求項９において、前記ダイレクトメモリ入力回路は更に、外部から供給された第３データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第２ブロックから前記第２データを読込んで第２データ処理可能にされると共に、前記第１データ処理部が、前記第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第３ブロックから前記第１中間結果データを読込んで第３データ処理可能にされる、半導体装置。
【請求項１１】
請求項１０において、前記ダイレクトメモリ入力回路は更に、外部から供給された第３データを前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第２データ処理の処理結果である第２中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第３ブロックに格納する処理を行うと共に、前記第１データ処理部が更に、前記第３データ処理の処理結果である第１最終結果データを第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第４ブロックに格納する処理を行う、半導体装置。
【請求項１２】
請求項１１において、前記ダイレクトメモリ入力回路は更に、外部から供給された第４データを前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第１ブロックから前記第３データを読込んで第４データ処理可能にされると共に、前記第１データ処理部が、前記第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第３ブロックから前記第２中間結果データを読込んで第５データ処理可能にされる、半導体装置。
【請求項１３】
請求項１２において、前記ダイレクトメモリ入力回路は更に、外部から供給される第４データを前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第４データ処理の処理結果である第３中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第４ブロックに格納する処理を行うと共に、前記第１データ処理部が更に、前記第５データ処理の処理結果である第２最終結果データを第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第４ブロックに格納する処理を行う、半導体装置。
【請求項１４】
請求項１３において、前記第１乃至第４データは車載カメラから供給される前方の画像データである、半導体装置。
【請求項１５】
請求項１４において、前記汎用バスに接続する車載ネットワーク端末インタフェースを更に有し、
前記第１データ処理部又は第２データ処理部は前記第２メモリ部の前記第４ブロックに順次格納された第１最終結果データ及び第２最終結果データを前記車載ネットワーク端末インタフェースから順次送出する、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り訂正機能を備えたメモリが搭載されたデータ処理用の半導体装置に関し、例えば画像処理を行うマルチプロセッサシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
宇宙線などによる記憶データの不所望な変化を防止するには誤り訂正符号を用いた誤り訂正機能をメモリに適用すればよい。メモリの誤り訂正機能について例えば特許文献１に記載がある。６４ビットデータについて1ビットの誤り訂正機能を実現するには８ビットの誤り訂正符号を付加しなければならない。したがって、誤り訂正符号を用いる場合は誤り訂正符号の分だけメモリの記憶容量を増やさなければならない。例えば画像認識や音声処理などのように大量のデータを入力して逐次データ処理を繰返していく場合を想定すると、全てのデータ格納領域に誤り訂正機能を適用すると、メモリの記憶容量が増大し過ぎ、また、アクセス速度も遅くなる。逆に全く適用しなければデータ処理の信頼性低下を招く。この点からすれば、特許文献１のようにメモリの一部を誤り訂正機能付き領域、残りを誤り訂正機能無し領域とすればよい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１３９９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者はメモリの一部を誤り訂正機能付き領域、残りを誤り訂正機能無し領域とする場合に、データ処理効率を向上させるように如何に双方の領域を用いるかについて検討した。例えば画像認識や音声処理などのように大量のデータを入力して逐次データ処理を繰返していく場合の利用形態について検討した。これによれば、データ処理効率の点より、逐次供給されるデータの入力から最終演算結果の取得までをマルチプロセッサを用いてパイプライン的に処理することを前提とするとき、そのパイプライン的な処理においてデータの性質に応じて誤り訂正機能付き領域と誤り訂正機能無し領域を使い分けることの有用性を見出した。
【０００５】
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００７】
すなわち、誤り訂正機能を有していない第１メモリ部と誤り訂正機能を有する第２メモリ部とを備え、各メモリ部に対して複数個のアクセスノードを有する記憶装置を採用し、前記記憶装置の複数個のアクセスノードに複数個のバスを接続し、前記複数個のバスを介して複数個のデータ処理部により前記記憶装置を非対称アクセス可能にする。前記第１メモリ部には前記データ処理部によるデータ処理前の一次データを格納し、前記第２メモリ部には前記データ処理部によるデータ処理後の二次データを格納する。
【発明の効果】
【０００８】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【０００９】
すなわち、信頼性を要する二次データの不所望な変化を抑制でき、且つ、記憶装置の著しい容量拡大を抑制することができる。記憶装置に対する非対称アクセスによってデータ処理を効率化することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は一実施の形態に係る半導体装置の一例であるマイクロコンピュータを提示するブロック図である。
【図２】図２は第１メモリ部と第２メモリ部を使い分けたデータ処理形態の一例を示す動作説明図である。
【図３】図３は画像処理を一例とした場合の一次データと二次データに対する具体的な処理を例示する説明図である。
【図４】図４は画像認識による衝突などの車載予防安全処理に着目した場合におけるプロセッサとアクセラレータの処理分担の一例を示す説明図である。
【図５】図５はプロセッサ及びアクセラレータによるＩＤＲＡＭを用いた処理例を示すフローチャートである。
【図６】図６は図５のＳｔｅｐ１に対応するＩＤＲＡＭのアクセス形態を例示する動作説明図である。
【図７】図７は図５のＳｔｅｐ１とＳｔｅｐ２を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【図８】図８は図５のＳｔｅｐ１とＳｔｅｐ３を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【図９】図９は図５のＳｔｅｐ１、Ｓｔｅｐ２，Ｓｔｅｐ４を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【図１０】図１０は図５のＳｔｅｐ１、Ｓｔｅｐ３，Ｓｔｅｐ５を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【図１１】図１１は図５のＳｔｅｐ１、Ｓｔｅｐ２，Ｓｔｅｐ４を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【図１２】図１２は図５のＳｔｅｐ１、Ｓｔｅｐ３，Ｓｔｅｐ５を並列化した場合のＩＤＲＡＭ５０のアクセス形態を例示する動作説明図である。
【発明を実施するための形態】
【００１１】
１．実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１２】
〔１〕＜非対称アクセス可能な記憶装置の一部が誤り訂正機能を有する＞
半導体装置（１）は記憶装置（５０）、複数個のバス（２０〜２４）、及び複数個のデータ処理部（２〜４）を有する。前記記憶装置は、誤り訂正機能を有していない第１メモリ部（５５）と誤り訂正機能を有する第２メモリ部（５６）とを備え、前記第１メモリ部及び第２メモリ部に対して複数個のアクセスノード（ＡＮＤ１〜ＡＮＤ４）を有する。前記複数個のバスは、前記複数個のアクセスノードに接続される。前記複数個のデータ処理部は、夫々がプログラム処理を行い、前記複数個のバスを介して前記記憶装置を非対称アクセス可能である。前記第１メモリ部は前記データ処理部によるデータ処理前の一次データが格納される領域とされ、前記第２メモリ部は前記データ処理部によるデータ処理後の二次データが格納される領域とされる。
【００１３】
これによれば、非対称アクセス可能な記憶装置の誤り訂正機能を有しない領域に一次データを格納し、格納した一次データをデータ処理部で処理した中間データや中間データを用いて処理した最終処理結果データなどの二次データを、誤り訂正機能を有する領域に格納するから、信頼性を要する二次データの不所望な変化を抑制できる。且つ、一部の不所望なデータ変化によってもたらされる影響が少ない一次データの格納には誤り訂正機能を有しない領域が割り当てられるから、記憶装置の著しい容量拡大を抑制することができる。複数個のアクセスノードを介して複数個のデータ処理部が上記記憶装置を非対称アクセスすることができるので、逐次供給されるデータの入力から最終演算結果の取得までを所謂マルチプロセッサを用いたパイプライン的な処理を適用することによってデータ処理の効率化に資することができる。
【００１４】
〔２〕＜アクセスノード毎のローカルバス＞
項１において、前記記憶装置はアクセスノード毎に個別化された複数のメモリローカルバス（５１〜５４）を有し、夫々のメモリローカルバスに前記第１メモリ部及び第２メモリ部が接続される。
【００１５】
これによれば、メモリローカルバス毎に前記第１メモリ部及び第２メモリ部の並列アクセスが可能になる。
【００１６】
〔３〕＜ＤＲＩ＞
項２において、前記半導体装置の外部から供給されたデータを、前記複数のメモリローカルバスの内の第１メモリローカルバス（５１）を介して前記第１メモリ部に書き込む制御を行うダイレクトメモリ入力回路（６０）を有する。
【００１７】
これによれば、ビデオデータや音声データなどを外部機器から直接第１メモリ部に取り込んで蓄積することが可能になる。
【００１８】
〔４〕＜アクセラレータ専用バス＞
項３において、前記複数個のデータ処理部の内の一つは特定のデータ処理に特化したアクセラレータ（４）である。前記複数個のバスの内の一つは前記アクセラレータを前記複数のメモリローカルバスの内の第２メモリローカルバス（２３）に接続するアクセラレータバスである。
【００１９】
これによれば、第２メモリ部に格納した一次データをアクセラレータがアクセラレータバスから取り込んで効率的にデータ処理を行うことが可能になる。
【００２０】
〔５〕＜汎用バス＞
項４において、前記複数個のバスの内の一つは汎用バス（２０〜２２）である。前記複数個のデータ処理部の内の一つは第１データ処理部（２）であり、他の一つは第２データ処理部（３）である。前記汎用バスは、一つのバスマスタとして前記第１データ処理部に接続する第１シングルマスタバス（２１）と、一つのバスマスタとして前記第２データ処理部に接続する第２シングルマスタバス（２２）と、複数個のバスマスタとして前記アクセラレータ及びその他のバスマスタに接続するマルチマスタバス（２０）とを含む。前記マルチマスタバス、前記第１シングルマスタバス、及び前記第２シングルマスタバスの夫々は、前記複数のメモリローカルバスの内の前記第１メモリローカルバス及び前記第２メモリローカルバス以外の第３メモリローカルバス及び第４メモリローカルバスに接続される。
【００２１】
これによれば、前記記憶装置に対して、ダイレクトメモリ入力回路による第１メモリローカルバスを介するアクセスと、アクセラレータによる第１メモリローカルバスを介するアクセスと、第１データ処理部及び第２データ処理部による第３メモリローカルバス及び第４メモリローカルバスを介するアクセスの並列化を容易に実現することができる。
【００２２】
〔６〕＜アクセラレータ用のバス幅を拡張＞
項５において、前記アクセラレータバス及び前記第２メモリローカルバスの夫々は、前記マルチマスタバス、前記第１シングルマスタバス、前記第２シングルマスタバス、前記第１メモリローカルバス、前記第３メモリローカルバス及び前記第４メモリローカルバスの夫々に対して整数倍の並列ビット数を有する。
【００２３】
これによれば、大量の一次データに対するデータ転送の効率化に資することができる。
【００２４】
〔７〕＜ＤＲＩ入力＞
項４において、前記ダイレクトメモリ入力回路は、外部から供給された第１データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を行う。
【００２５】
これによれば、ダイレクトメモリ入力回路を用いて効率的に一次データを取り込み可能になる。
【００２６】
〔８〕＜ＤＲＩ入力とアクセラレータへの出力＞
項７において、前記ダイレクトメモリ入力回路は更に、外部から供給された第２データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第１ブロックから前記第１データを読込んで第１データ処理可能にされる。
【００２７】
これによれば、項７の処理の後、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができる。
【００２８】
〔９〕＜ＤＲＩ入力とアクセラレータからの入力＞
項８において、前記ダイレクトメモリ入力回路は更に、外部から供給された第２データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に前記第１データ処理の処理結果である第１中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第３ブロックに格納する処理を行う、半導体装置。
【００２９】
これによれば、項８の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第２メモリブロックに格納することができる。
【００３０】
〔１０〕＜ＤＲＩ入力とアクセラレータへの出力と汎用プロセッサへの出力＞
項９において、前記ダイレクトメモリ入力回路は更に、外部から供給された第３データを、前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第２ブロックから前記第２データを読込んで第２データ処理可能にされると共に、前記第１データ処理部が、前記第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第３ブロックから前記第１中間結果データを読込んで第３データ処理可能にされる。
【００３１】
これによれば、項９の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができると共に、既に演算された中間結果データを第２メモリ部からデータ処理部に供給することができる。
【００３２】
〔１１〕＜ＤＲＩ入力とアクセラレータからの入力と汎用プロセッサからの入力＞
項１０において、前記ダイレクトメモリ入力回路は更に、外部から供給された第３データを前記第１メモリローカルバスを経由して前記第１メモリ部の第１ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第２データ処理の処理結果である第２中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第３ブロックに格納する処理を行うと共に、前記第１データ処理部が更に、前記第３データ処理の処理結果である第１最終結果データを第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第４ブロックに格納する処理を行う。
【００３３】
これによれば、項１０の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第２メモリ部に格納することができると共に、データ処理部で演算された最終結果データを第２メモリ部に格納することができる。
【００３４】
〔１２〕＜ＤＲＩ入力とアクセラレータへの出力と汎用プロセッサへの出力＞
項１１において、前記ダイレクトメモリ入力回路は更に、外部から供給された第４データを前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を行い、これに並行して、前記アクセラレータが更に、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第１メモリ部の前記第１ブロックから前記第３データを読込んで第４データ処理可能にされると共に、前記第１データ処理部が、前記第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第３ブロックから前記第２中間結果データを読込んで第５データ処理可能にされる。
【００３５】
これによれば、項１１の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータに供給することができると共に、既に演算された中間結果データを第２メモリ部からデータ処理部に供給することができる。
【００３６】
〔１３〕＜ＤＲＩ入力とアクセラレータからの入力と汎用プロセッサからの入力＞
項１２において、前記ダイレクトメモリ入力回路は更に、外部から供給される第４データを前記第１メモリローカルバスを経由して前記第１メモリ部の第２ブロックに格納する処理を継続しながら、前記アクセラレータが更に前記第４データ処理の処理結果である第３中間結果データを、前記アクセラレータバス及び前記第２メモリローカルバスを介して前記第２メモリ部の第４ブロックに格納する処理を行うと共に、前記第１データ処理部が更に、前記第５データ処理の処理結果である第２最終結果データを第３メモリローカルバス及び前記汎用バスを介して前記第２メモリ部の前記第４ブロックに格納する処理を行う。
【００３７】
これによれば、項１２の処理に続けて、一次データの取り込みを継続しながら、アクセラレータで演算処理された中間結果データをアクセラレータから第２メモリブロックに格納することができると共に、データ処理部で演算された最終結果データを第２メモリ部に格納することができる。これ以降、項１０及び項１３の処理を繰返すことによって順次新たな一次データに対して対応する最終結果データを順次取得することができる。
【００３８】
〔１４〕＜車載カメラから供給される前方の画像データ＞
項１３において、前記第１乃至第４データは車載カメラから供給される前方の画像データである。
【００３９】
これによれば、時系列に順次入力される前方画像データに対して衝突回避などの予防安全のために逐次必要な処理を継続していくことができる。
【００４０】
〔１５〕＜車載ネットワーク端末＞
項１４において、前記汎用バスに接続する車載ネットワーク端末インタフェースを更に有し、前記第１データ処理部又は第２データ処理部は前記第２メモリ部の前記第４ブロックに順次格納された第１最終結果データ及び第２最終結果データを前記車載ネットワーク端末インタフェースから順次送出する。
【００４１】
これによれば、時系列に順次入力される前方画像データに対して衝突警報などのために逐次行われた処理結果を、車載ネットワークを介して衝突回避の処理を担当する電子制御装置に与えることができる。
【００４２】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４３】
図１には一実施の形態に係る半導体装置の一例であるマイクロコンピュータ（ＭＣＵ)１が示される。マイクロコンピュータ１は、特に制限されないが、単結晶シリコンのような１個の半導体基板にＣＭＯＳ集積回路製造技術によって形成される。特に制限されないが、このマイクロコンピュータ１は画像認識などによる予防安全のための画像処理に特化した機能を備え、車載ネットワークに接続される予防安全用の一つのＥＣＵ（電子制御装置）に搭載されて利用される。
【００４４】
マイクロコンピュータ１は、データ処理部として２個のプロセッサ（ＰＥ１、ＰＥ２）２，３と１個のアクセラレータ（ＰＥ３）４を有し、記憶装置としてマルチポートの内部データランダムアクセスメモリ（ＩＤＲＡＭ）５０を備え、ＩＤＲＡＭ５０に接続する複数個のバス２０〜２４を有する。マイクロコンピュータ１は、特に制限されないが、その他に、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）５、スタティックランダムアクセスメモリ（ＳＲＡＭ）から成る汎用メモリ（ＧＲＡＭ）８、及び周辺回路４２などを備える。
【００４５】
ＩＤＲＡＭ５０は、誤り訂正機能を有していない第１メモリ部５５と誤り訂正機能を有する第２メモリ部５６とを備え、前記第１メモリ部５５及び第２メモリ部５６に対して複数個のアクセスノードＡＮＤ１，ＡＮＤ２，ＡＮＤ３，ＡＮＤ４を有する。
【００４６】
ＩＤＲＡＭ５０はアクセスノードＡＮＤ１〜ＡＮＤ４毎に個別化された複数のメモリローカルバスとして第１メモリローカルバス５１乃至第４メモリローカルバス５４を有し、夫々のメモリローカルバス５１〜５４には夫々第１メモリ部５５及び第２メモリ部５６が接続される。特に制限されないが、第１メモリ部５５は、夫々並列アクセス可能にされる第１ブロック（ＢＬＫ１）ＢＬＫ１ａ、ＢＬＫ１ｂと第２ブロック（ＢＬＫ２）ＢＬＫ２ａ，ＢＬＫ２ｂから成る。同様に、第２メモリ部５６は夫々並列アクセス可能にされる第３ブロック（ＢＬＫ３）ＢＬＫ３ａ、ＢＬＫ３ｂと第４ブロック（ＢＬＫ４）ＢＬＫ４ａ，ＢＬＫ４ｂにから成る。尚、図１において一つのブロックはサフィックスのａとｂに２分された状態で図示されているが、これはデータの上位と下位側を便宜的に分けて図示したものであり、特別な意味はない。
【００４７】
プロセッサ２，３は、特に制限されないが、命令をフェッチして実行する中央処理装置、浮動小数点演算ユニット、データキャッシュ、命令キャッシュ、及びローカルＲＡＭなどを有し、ＳＩＭＤ（single instruction multiple data）型の命令実行形態を有する。したがって、プロセッサ２，３それ自体で画像等のデータ処理に適した複数のＣＰＵを有するアーキテクチャが採用されている。アクセラレータ４は中央処理装置、データキャッシュ、命令キャッシュ、及びローカルＲＡＭなどを有し、例えばプロセッサ２，３の負担を軽減するために特定の演算処理を効率的に行う。プロセッサ２，３の中央処理装置はマスタポート３１，３２を介して外部アクセスを行い、ローカルメモリなどはスレーブポート３４，３７を介して外部からアクセス可能にされる。アクセラレータ４の中央処理装置はマスタポート３３を介して外部アクセスを行う。
【００４８】
プロセッサ２，３及びアクセラレータ４は、動作プログラムに従ったプログラム処理を行い、その一環として、複数個のバス２０〜２３を介してＩＤＲＡＭ５０を非対称アクセス可能にされる。非対象アクセスとは、アクセス時間（若しくはアクセス速度）が、アクセス元のバスマスタ（プロセッサ２，３、アクセラレータ４、ＤＭＡＣ５）とアクセス先のアクセスノードＡＮＤ１〜ＡＮＤ４の相対関係に依存するメモリアクセスアーキテクチャを意味する。
【００４９】
特に制限されないが、ここでは、アクセラレータ４をアクセスノードＡＮＤ２に接続するバス（アクセラレータバス）２３は転送速度が８０ＭＨｚで並列ビット数を１２８ビットとする。アクセラレータ４は特定のデータ処理に特化して、それを高速に演算する演算処理機能を有し、アクセラレータバス２３はアクセラレータ４に専用化されたバスである。
【００５０】
一方、バス２０〜２３はプロセッサ２，３及びＤＭＡＣ５などに利用される汎用バスであり、転送速度８０がＭＨｚで並列ビット数を６４ビットとする。バス２０は複数のバスマスタとしてアクセラレータ４及びＤＭＡＣ５にマスタポート３３，３０を介して接続されるマルチマスタバスとされる。バス２１は一つのバスマスタとしてプロセッサ２にマスタポート３１を介して接続する第１シングルマスタバスとされる。バス２２は一つのバスマスタとしてプロセッサ３にマスタポート３２を介して接続する第２シングルマスタバスとされる。
【００５１】
バススレーブに関しては、マルチマスタバス２０、第１シングルマスタバス２１及び第２シングルマスタバス２２の夫々は、スレーブポート３４を介してプロセッサ２に接続し、スレーブポート３４を介してＧＲＡＭ８に接続し、スレーブポート３７を介してプロセッサ３に接続し、スレーブポート３８を介して第４メモリローカルバス５４に接続し、スレーブポート３９を介して第３メモリローカルバス５３に接続する。
【００５２】
第２メモリローカルバス５１は、アクセスノードＡＮＤ２を介してアクセラレータバス２３に接続する。
【００５３】
第１メモリローカルバス５１には入力バス２４を介してダイレクトメモリ入力回路（ＤＲＩ）６０に接続する。ダイレクトメモリ入力回路６０は、マイクロコンピュータ１の外部から供給されたデータを、第１メモリローカルバス５１を介して第１メモリ部に書き込む制御を行う。特に制限されないが、入力バス２４は、転送速度８０がＭＨｚで並列ビット数を６４ビットとする。尚、第１メモリローカルバス５１、第３メモリローカルバス５３及び第４メモリローカルバス５４は転送速度８０がＭＨｚで並列ビット数を６４ビットとされる。第２メモリローカルバス５２はアクセラレータバス２３と同様に、転送速度８０がＭＨｚで並列ビット数を１２８ビットとする。
【００５４】
上記プロセッサ２，３及びアクセラレータ４が実行するプログラム（ソフトウェア）は例えば電気的に書き換え可能なコードフラッシュメモリ（ＣＤＦＬＳＨ）６，７に格納されている。プロセッサ２，３及びアクセラレータ４は夫々のプログラム実行シーケンスに従ってコードフラッシュメモリ６，７から命令をフェッチする。その際のアクセス競合に対するアービタ（ＡＲＢＴ）９，１０が行う。アービタ９，１０で調停され、コードフラッシュメモリ６，７からリードされた命令は選択スイッチ１１，１２，１３を介して、命令フェッチの要求元に返される。
【００５５】
上記周辺回路４２は、特に制限されないが、マイクロコンピュータ１の外部にインタフェースされる入出力ポート（ＩＯＰＲＴ）４３、マイクロコンピュータ１の動作基準クロックなどのクロック信号を生成するクロックパルスジェネレータ（ＣＰＧ）４４、車載ネットワーク端末インタフェースとしてのコントローラーエリアネットワークインタフェース（ＣＡＮ）４５、及び割込みコントローラ（ＩＮＴＣ）４６などを有する。特に制限されないが、周辺回路４２は周辺バス４１に接続され、周辺バス４１は、プロセッサ２、プロセッサ３、又はマルチマスタバス２０に接続するスレーブポート３６からアクセス可能にされ、そのアクセス経路は選択スイッチ４０で選択される。周辺バス４１は転送速度８０がＭＨｚで並列ビット数を１２８ビットとし、選択スイッチ４０はバスブリッジとしての機能も備える。
【００５６】
ＧＲＡＭ８はプロセッサ２，３のワーク領域若しくは汎用レジスタ領域などに利用される。特に制限されないが、データ処理の信頼性という点からＧＲＡＭ８は誤り訂正機能を有している。ＧＲＡＭ８の記憶容量はその用途の性質上、２５６ｋＢ（キロバイト）のように比較的小さくチップ面積に対する面積インパクトは小さい。
【００５７】
これに対してＩＤＲＡＭ５０はプロセッサ２，３及びアクセラレータ４のデータ処理対象になるデータや中間データを格納するデータメモリとしての利用を想定するので、その記憶容量はＧＲＡＭ８に比べて格段に大きく、例えば数メガビット以上に及ぶ。この点を考慮して、ＩＤＲＡＭ５０の全記憶領域を誤り訂正機能付きとはせず、一部の第１メモリ部５５には誤り訂正機能を設けず、残りの第２メモリ部５６に誤り訂正機能を設けた。このとき、第１メモリ部５５はプロセッサ２，３やアクセラレータ４によるデータ処理前の一次データを格納する領域とし、前記第２メモリ部はプロセッサ２，３やアクセラレータ４によるデータ処理後の二次データを格納する領域として用いる。
【００５８】
誤り訂正機能として例えばＥＣＣ（Error Checking and Correcting）を用いる。この場合、誤り訂正には、記録するデータ長に応じたハミング符号を用いた誤り訂正符号を用いる。例えば、６４ビットのデータについて８ビットの誤り訂正符号を用いることで、１ビットの誤りを訂正することができる。特に制限されないが、書き込みデータに対する誤り訂正符号の生成論理、及び読出しデータに対する誤り訂正符号を用いた誤り判別と必要な誤り生成の論理は第２メモリ部５６の第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂと第４ブロックＢＬＫ４ａ，ＢＬＫ４ｂに夫々備えられている。
【００５９】
アクセスノードＡＮＤ１〜ＡＮＤ４からブロックＢＬＫ１〜ＢＬＫ４に対するアクセス競合の調停は、特に制限されないが、ローカルバス５１〜５４に接続された図示を省略するバスアービタ若しくはルータが行う。アクセス競合の調停に際しては優先順位の高いバスマスタに対してはウェイト無しでアクセスを許可し、優先順位の低いバスマスタに対してはアクセス許可までに必要なウェイトサイクルを挿入する。
【００６０】
図２には第１メモリ部５５と第２メモリ部５６を使い分けたデータ処理形態の一例が示される。ＤＲＩ６０は入力された一次データＤｒｗを第１メモリ部５５の第１ブロックＢＬＫ１（ＢＬＫ１ａ，ＢＬＫ１ｂ）と第２ブロックＢＬＫ２（ＢＬＫ２ａ，ＢＬＫ２ｂ）に順次格納していく。
【００６１】
格納されたデータが所定の処理単位になると、ＤＲＩ６０は割込み要求ＩＲＱ１を発行し、これに応答してアクセラレータ４が第１メモリ部５５の第１ブロックＢＬＫ１に格納されている一次データＤｒｗをリードして所定の演算処理を行う。アクセラレータ４で演算された二次データＤｍｄ１は第２メモリ部５６の第４ブロックＢＬＫ４に供給され、二次データＤｍｄ１とこれに基づいて生成された誤り訂正符号が当該第４ブロックＢＬＫ４に格納される。また、アクセラレータ４で演算された二次データＤｍｄ２は第２メモリ部５６の第３ブロックＢＬＫ４に供給され、当該二次データＤｍｄ２とこれに基づいて生成された誤り訂正符号が当該第３ブロックＢＬＫ４に格納される。
【００６２】
この後、アクセラレータ４は、プロセッサ２に割込み要求ＩＲＱ３を発行すると共に、プロセッサ３に割込み要求ＩＲＱ４を発行する。割込み要求ＩＲＱ３に応答してプロセッサ２は第４ブロックＢＬＫ４をリードアクセスし、そこに格納されている二次データＤｍｄ１に誤り訂正符号を用いた必要な誤り訂正を行って、二次データＤｍｄ１を再生し、取得した二次データＤｍｄ１に対して所定の演算処理を行って演算結果データＤｒｔ１を得る。
【００６３】
また、割込み要求ＩＲＱ４に応答してプロセッサ３は第３ブロックＢＬＫ３をリードアクセスし、そこに格納されている二次データＤｍｄ２に誤り訂正符号を用いた必要な誤り訂正を行って、二次データＤｍｄ２を取得し、取得した二次データＤｍｄ２に対して所定の演算処理を行って、更新した二次データＤｍｄ２Ｍを取得する。更新した二次データＤｍｄ２Ｍは再び第３ブロックＢＬＫ３に供給され、対応する誤り訂正符号と共に格納され、再びプロセッサ３が第３ブロックＢＬＫ３をリードアクセスし、そこに格納されている二次データＤｍｄ２Ｍに誤り訂正符号を用いた必要な誤り訂正を行って、二次データＤｍｄ２Ｍを取得し、取得した二次データＤｍｄ２Ｍに対して別の所定の演算処理を行って、演算結果データＤｒｔ２を得る。
【００６４】
一方、第２ブロックＢＬＫ２に格納された一次データＤｒｗが所定の処理単位になると、ＤＲＩ６０は割込み要求ＩＲＱ２を発行し、これに応答してプロセッサ２が第１メモリ部５５の第２ブロックＢＬＫ２に格納されている一次データＤｒｗをリードして所定の演算処理を行い、演算結果データＤｒｔ３を得る。
【００６５】
マイクロコンピュータ１によれば、非対称アクセス可能なＩＤＲＡＭ５０の誤り訂正機能を有しない第１メモリ部５５に一次データを格納し、格納した一次データをプロセッサ２，３やアクセラレータ４で処理した中間データＤｍｄ１，Ｄｍｄ２及び中間データをＤｍｄ１，Ｄｍｄ２用いて処理した最終処理結果データＤｒｔ１，Ｄｒｔ２，Ｄｒｔ３などの二次データを、誤り訂正機能を有する第２メモリ部５６に格納するから、信頼性を要する二次データの不所望な変化を抑制できる。且つ、一部の不所望なデータ変化によってもたらされる影響が少ない一次データＤｒｗの格納には誤り訂正機能を有しない第１メモリ部５５が割り当てられるから、ＩＤＲＡＭ５０の著しい容量拡大を抑制することができる。複数個のアクセスノードＡＮＤ１〜ＡＮＤ４を介して複数個のプロセッサ２，３及びアクセラレータ４がＩＤＲＡＭ５０を非対称アクセスすることができる。すなわち、ＩＤＲＡＭ５０に対しては４個のアクセスノードＡＮＤ１〜ＡＮＤ４を介して４系統のバスから並列アクセス可能であり、更にアクセスノードＡＮＤ１〜ＡＮＤ４からは異なる分路億ＢＬＫ１〜ＢＬＫ４に対して同時アクセス可能にされる。したがって、逐次供給されるデータＤｒｗの入力から最終演算結果の取得までを所謂マルチプロセッサを用いたパイプライン的な処理を適用することによってデータ処理の効率化に資することができる。
【００６６】
図３には画像処理を一例とした場合の一次データと二次データに対する具体的な処理が例示される。ＥＣＣ機能無しの第１メモリ部５５に格納された画像データに対しては画像前処理Ｓ１が行われ、その処理結果はＥＣＣ機能有りの第２メモリ部５６に格納される。第２メモリ部５６に格納された前処理済みデータは、識別・特徴量計算、奥行き計算Ｓ２の対象にされる。この計算によって得られた中間データは第２メモリ部５６に一時的に格納され、処理単位のデータが揃ったところで今度は画像認識や意味理解の演算処理Ｓ３が行われる。画像認識などの演算結果は、情報統合判断や表示制御、その他アクチェータの制御などに用いられる（Ｓ４）。
【００６７】
図４には画像認識による衝突などの車載予防安全処理に着目した場合におけるプロセッサ２，３とアクセラレータ４の処理分担の一例が示される。
【００６８】
ここで着目する車載予防安全処理は、自動ハイビーム制御（ＡＨＢ）、標識認識（ＴＳＲ）、車線逸脱警報（ＬＤＷＳ）、前方衝突警報（ＦＣＷ）の各処理とされる。その他に、ＥＣＵの通信処理、ＥＣＵの機能安全処理、及びＥＣＵの車載ＯＳ処理、及びアクセラレータ（ＰＥ３）４に対す演算設定処理などが行われる。それら処理の割り当ては図４に例示される。特にステレオカメラからの画像データに対するＦＣＷの処理は負荷が大きいのでプロセッサ３とアクセラレータ４の双方に処理を負担させる。図４の処理の分担は一例であり、ＦＣＷの処理を行わない期間では他の処理を分担させ、また、”空き”で示されるようにデータ処理能力に余裕がある場合には、そこで他の処理を行ってもよい。プロセッサ２，３とアクセラレータ４にどのような処理を分担させるかは、処理の内容や処理に許容される時間に応じて決定され、その制御はそれらの動作プログラムによって規定される。
【００６９】
図５にはプロセッサ及びアクセラレータによるＩＤＲＡＭ５０を用いた処理例が示される。ここでは図４とは異なる処理分担によってＬＤＷＳの処理を行う場合について説明する。
【００７０】
ＤＲＩ６０は車輌の前方に設けられたカメラで撮影されたビデオデータを入力して、ＩＤＲＡＭ５０の第１メモリ部に形成された第１ブロックＢＬＫ１又は第２ＢＬＫに順次格納する（Ｓｔｅｐ１）。格納するデータはビデオデータの全てであることを要せず、画像フレームの内の車線認識の対象となる下半分だけにしてもよい。この制御はＤＲＩ６０が入力データを間引いて実現可能である。
【００７１】
第１ブロックＢＬＫ１又は第２ＢＬＫに処理単位の画像データ（例えば単数又は複数フレームの画像データ）が蓄積されると、アクセラレータ４がその画像データを読込んでフィルタ処理や白線検知処理を行い（Ｓｔｅｐ２）、最終的に得られた白線情報をＩＤＲＡＭ５０の第２メモリ部５６に形成された第３ブロックＢＬＫ３に格納する（Ｓｔｅｐ３）。
【００７２】
プロセッサ２は第３ブロックＢＬＫ３から白線情報を読込んで白線からのカーブ情報に基づいてハンドルの適正な切角を算出し（Ｓｔｅｐ４）、算出した切角をＩＤＲＡＭ５０の第２メモリ部５６に形成された第４ブロックＢＬＫ４に格納する（Ｓｔｅｐ５）。プロセッサ２又はプロセッサ３はＣＡＮ４５を制御して第４ブロックＢＬＫ４に格納されている切角をハンドルに対する制御用のＥＣＵに伝達する。
【００７３】
上述のように、プロセッサ２，３及びアクセラレータ４はＩＤＲＡＭ５０に対して並列アクセス可能であるから、Ｓｔｅｐ２，Ｓｔｅｐ３，Ｓｔｅｐ４，Ｓｔｅｐ５において後続の画像データを第１ブロックＢＬＫ１と第２ＢＬＫを交互に切替えながら蓄積する処理を並列化することができる。同様に、Ｓｔｅｐ４においてＳｔｅｐ２を並列化し、Ｓｔｅｐ５においてＳｔｅｐ３を並列化することが可能である。すなわちＳｔｅｐ１〜Ｓｔｅｐ５の処理をパイプライン的に実行することができる。
【００７４】
図６乃至図１２には図５で説明したＳｔｅｐ１〜Ｓｔｅｐ５の処理をパイプライン的に実行する場合におけるＩＤＲＡＭ５０に対する非対称アクセス形態が例示される。
【００７５】
図６には図５のＳｔｅｐ１に対応するＩＤＲＡＭ５０のアクセス形態が例示される。ＤＲＩ６０は、外部から供給されたビデオデータのようなイメージデータ（第１データＤｒｗ１）を、第１メモリローカルバス５１を経由して前記第１メモリ部５５の第１ブロックＢＬＫ１ａ，ＢＬＫ１ｂに格納する。これによれば、ＤＲＩ６０を用いて効率的に一次データを取り込み可能になる。
【００７６】
図７には図５のＳｔｅｐ１とＳｔｅｐ２を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００７７】
ＤＲＩ６０は更に、外部から供給されたビデオデータのようなイメージデータ（第２データＤｒｗ２）を、前記第１メモリローカルバス５１を経由して前記第１メモリ部５５の第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納する処理を行う。これに並行して、前記アクセラレータ４が、前記アクセラレータバス２３及び前記第２メモリローカルバス５２を介して前記第１メモリ部５５の前記第１ブロックＢＬＫ１ａ，ＢＬＫ１ｂから前記第１データＤｒｗ１を読込んでフィルタ処理及び白線検知処理のような第１データ処理可能にされる。これによれば、図６の処理の後、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ４に供給することができる。
【００７８】
図８には図５のＳｔｅｐ１とＳｔｅｐ３を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００７９】
ＤＲＩ６０は更に、外部から供給された第２データＤｒｗ２を、前記第１メモリローカルバス５１を経由して前記第１メモリ部５５の第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納する処理を継続しながら、アクセラレータ４が更に前記第１データ処理の処理結果である白線情報等の第１中間結果データＤｍｄ１を、前記アクセラレータバス２３及び前記第２メモリローカルバス５２を介して前記第２メモリ部５６の第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂに格納する処理を行う。これによれば、図７の処理に続けて、一次データを取り込みを継続しながら、アクセラレータ４で演算処理された中間結果データをアクセラレータ４から第２メモリブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納することができる。
【００８０】
図９には図５のＳｔｅｐ１、Ｓｔｅｐ２，Ｓｔｅｐ４を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００８１】
ＤＲＩ６０は更に、外部から供給された第３データＤｒｗ３を、第１メモリローカルバス５１を経由して前記第１メモリ部５５の第１ブロックＢＬＫ１ａ，ＢＬＫ１ｂに格納する処理を行い、これに並行して、アクセラレータ４が更に、アクセラレータバス２３及び前記第２メモリローカルバス５２を介して前記第１メモリ部５５の前記第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂから前記第２データＤｒｗ２を読込んでフィルタ処理及び白線検知処理のような第２データ処理可能にされる。これと共に、プロセッサ２が、第３メモリローカルバス５３及び前記汎用バスの内の第１シングルマスタバス２１を介して第２メモリ部５６の前記第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂから前記第１中間結果データＤｍｄ１を読込んでハンドルの切角を算出するような第３データ処理可能にされる。これによれば、図８の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ４に供給することができると共に、既に演算された中間結果データＤｍｄ１を第２メモリ部５６からプロセッサ２に供給することができる。
【００８２】
図１０には図５のＳｔｅｐ１、Ｓｔｅｐ３，Ｓｔｅｐ５を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００８３】
ＤＲＩ６０は更に、外部から供給される第３データＤｒｗ３を第１メモリローカルバス５１を経由して第１メモリ部５５の第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納する処理を継続しながら、アクセラレータ４が更に前記第２データ処理の処理結果である第２中間結果データＤｍｄ２を、前記アクセラレータバス２３及び前記第２メモリローカルバス５２を介して第２メモリ部５６の第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂに格納する処理を行う。更にこれに並行して、プロセッサ２が、前記第３データ処理の処理結果である切角のような第１最終結果データＤｒｔ１をシングルマスタバス２１及び第３メモリローカルバス５３を介して前記第２メモリ部５６の第４ブロックＢＬＫ４ａに格納する処理を行う。これによれば、図９の処理に続けて、一次データＤｒｗ３の取り込みを継続しながら、アクセラレータ４で演算処理された中間結果データをアクセラレータ４から第２メモリ部５６に格納することができると共に、プロセッサ２で演算された最終結果データＤｒｔ１を第２メモリ部５６に格納することができる。
【００８４】
図１１には図５のＳｔｅｐ１、Ｓｔｅｐ２，Ｓｔｅｐ４を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００８５】
ＤＲＩ６０は更に、外部から供給された第４データＤｒｗ４を、第１メモリローカルバス５１を経由して前記第１メモリ部５５の第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納する処理を行い、これに並行して、アクセラレータ４が更に、アクセラレータバス２３及び前記第２メモリローカルバス５２を介して前記第１メモリ部５５の前記第１ブロックＢＬＫ１ａ，ＢＬＫ１ｂから前記第３データＤｒｗ３を読込んでフィルタ処理及び白線検知処理のような第４データ処理可能にされる。これと共に、プロセッサ２が、第３メモリローカルバス５３及び前記汎用バスの内の第１シングルマスタバス２１を介して第２メモリ部５６の前記第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂから前記第２中間結果データＤｍｄ２を読込んでハンドルの切角を算出するような第５データ処理可能にされる。これによれば、図１０の処理に続けて、別の一次データを取り込みながら、既に取り込み済みの一次データをアクセラレータ４に供給することができると共に、既に演算された中間結果データＤｍｄ２を第２メモリ部５６からプロセッサ２に供給することができる。
【００８６】
図１２には図５のＳｔｅｐ１、Ｓｔｅｐ３，Ｓｔｅｐ５を並列化した場合のＩＤＲＡＭ５０のアクセス形態が例示される。
【００８７】
ＤＲＩ６０は更に、外部から供給される第４データＤｒｗ４を、第１メモリローカルバス５１を経由して第１メモリ部５５の第２ブロックＢＬＫ２ａ，ＢＬＫ２ｂに格納する処理を継続しながら、アクセラレータ４が更に前記第４データ処理の処理結果である第３中間結果データＤｍｄ３を、前記アクセラレータバス２３及び前記第２メモリローカルバス５２を介して第２メモリ部５６の第３ブロックＢＬＫ３ａ，ＢＬＫ３ｂに格納する処理を行う。更にこれに並行して、プロセッサ２が、前記第５データ処理の処理結果である切角のような第２最終結果データＤｒｔ２をシングルマスタバス２１及び第３メモリローカルバス５３を介して前記第２メモリ部５６の第４ブロックＢＬＫ４ａに格納する処理を行う。これによれば、図１１の処理に続けて、一次データＤｒｗ４の取り込みを継続しながら、アクセラレータ４で演算処理された中間結果データをアクセラレータ４から第２メモリ部５６に格納することができると共に、プロセッサ２で演算された最終結果データＤｒｔ２を第２メモリ部５６に格納することができる。
【００８８】
これ以降、図９乃至図１２の処理を繰返すことによって順次新たな一次データに対して対応する最終結果データを順次取得することができる。
【００８９】
図１０及び図１１の処理で取得されて第４ブロックＢＬＫ４に格納された切角のような最終結果データＤｒｔ１、Ｄｒｔ２は、その都度、あるいは定期的に、プロセッサ２又はプロセッサ３がＣＡＮ４５を制御してハンドル制御用のＥＣＵなどに伝達する。
【００９０】
図６乃至図１２の処理により、車載カメラから時系列に順次入力される前方画像データに対して衝突回避などの予防安全のために逐次必要な処理を効率的に継続していくことができる。時系列に順次入力される前方画像データに対して衝突警報などのために逐次行われた処理結果を、車載ネットワークを介して衝突回避の処理などを担当するＥＣＵに与えることができる。
【００９１】
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００９２】
例えば、本発明は車輌の衝突回避などのための予防安全のデータ処理に適用することに限定されない。他用途のための画像認識、特徴抽出であってもよいし、画像データの圧縮伸張処理にも適用可能であり、更に処理対象データは画像データに限定されず、音声データやその他種々のデータに対する処理に適用することができる。データ処理部は２個のプロセッサと１個のアクセラレータに限定されず、その数や構成は適宜変更可能である。
【００９３】
記憶装置において非対称アクセスを可能にするためのローカルバスの数、アクセスポートの数、及びブロックの分割数は上記実施の形態に限定されず、適宜変更可能である。
【符号の説明】
【００９４】
１  マイクロコンピュータ（ＭＣＵ）
２，３  プロセッサ
４  アクセラレータ
５  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
８  汎用メモリ（ＧＲＡＭ）
２０  マルチマスタバス
２１  第１シングルマスタバス
２２  第２シングルマスタバス
３１〜３３  マスタポート
３４〜３９  スレーブポート
４２  周辺回路
４３  入出力ポート（ＩＯＰＲＴ）
４４  クロックパルスジェネレータ（ＣＰＧ）
４５  コントローラーエリアネットワークインタフェース（ＣＡＮ）
４６  割込みコントローラ（ＩＮＴＣ）
５０  内部データランダムアクセスメモリ（ＩＤＲＡＭ）
５１  第１メモリローカルバス
５２  第２メモリローカルバス
５３  第３メモリローカルバス
５４  第４メモリローカルバス
５５  第１メモリ部
５６  第２メモリ部
６０  ダイレクトメモリ入力回路（ＤＲＩ）
ＡＮＤ１，ＡＮＤ２，ＡＮＤ３，ＡＮＤ４  アクセスノード
ＢＬＫ１ａ、ＢＬＫ１ｂ  第１ブロック
ＢＬＫ２ａ，ＢＬＫ２ｂ  第２ブロック
ＢＬＫ３ａ、ＢＬＫ３ｂ  第３ブロック
ＢＬＫ４ａ，ＢＬＫ４ｂ  第４ブロック
【図１】
2015169988.tif 000003
【図２】
2015169988.tif 000004
【図３】
2015169988.tif 000005
【図４】
2015169988.tif 000006
【図５】
2015169988.tif 000007
【図６】
2015169988.tif 000008
【図７】
2015169988.tif 000009
【図８】
2015169988.tif 000010
【図９】
2015169988.tif 000011
【図１０】
2015169988.tif 000012
【図１１】
2015169988.tif 000013
【図１２】
2015169988.tif 000014