(57)【要約】【課題】  データの転送処理の負荷が低減されたデータ処理装置及びデータ処理方法を提供する。【解決手段】  データ処理装置は、データをそれぞれ記憶する複数の記憶部と、前記データを順次に処理する複数のデータ処理部と、前記複数の記憶部と前記複数のデータ処理部とを接続し、前記複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択するスイッチ部とを有する。【選択図】図５
2014093048.tif 000002
【特許請求の範囲】
【請求項１】
データをそれぞれ記憶する複数の記憶部と、
前記データを順次に処理する複数のデータ処理部と、
前記複数の記憶部と前記複数のデータ処理部とを接続し、前記複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択するスイッチ部とを有することを特徴とするデータ処理装置。
【請求項２】
前記スイッチ部は、伝送方向が互いに異なる２つの環状伝送路を有し、
前記２つの環状伝送路は、それぞれ、前記複数の記憶部と前記複数のデータ処理部とに接続されていることを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記複数の記憶部と前記複数のデータ処理部は、前記２つの環状伝送路における、前記データの処理順序に応じた位置に接続されていることを特徴とする請求項２に記載されたデータ処理装置。
【請求項４】
前記スイッチ部は、前記複数のデータ処理部が、それぞれ、前記複数の記憶部の何れにもアクセスできるように、前記複数の記憶部と前記複数のデータ処理部とを接続することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記スイッチ部は、前記複数のデータ処理部の各々について、前記複数の記憶部のうち、アクセス対象となる記憶部を示す設定に従って、前記複数の記憶部から記憶部を選択することを特徴とする請求項２乃至４の何れかに記載のデータ処理装置。
【請求項６】
前記スイッチ部は、前記複数のデータ処理部が、それぞれ、前記複数の記憶部のうち、前記データの処理順序に応じたアクセス対象となる記憶部にアクセスできるように、前記複数の記憶部と前記複数のデータ処理部とを接続することを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記複数の記憶部は、それぞれ、２つの領域を含み、
前記２つの領域は、時間間隔をおいて交互に、一方に前記データが書き込まれ、他方から前記データが読み出されることを特徴とする請求項１乃至６の何れかに記載のデータ処理装置。
【請求項８】
前記複数のデータ処理部の少なくとも１つは、プロセッサであり、
前記複数の記憶部の少なくとも１つは、記憶領域が、前記プロセッサのアドレス空間に割り当てられていることを特徴とする請求項１乃至７の何れかに記載のデータ処理装置。
【請求項９】
複数の記憶部に記憶されたデータを順次に処理する複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択することを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、データ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
組み込み装置などに用いられ、複数の演算装置が協働してデータを処理するデータ処理装置が知られている。例えば、特許文献１には、クロスバースイッチにより接続された複数の演算装置の間において、データの受け渡しを、データバッファを介して行うか否かの選択が可能なデータ処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１８５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理対象となるデータを記憶するため、複数の演算装置の各々が専用メモリなどを備えている場合、専用メモリの間におけるデータの転送処理が問題となる。例えば、転送処理の時間及び回数は、データ処理装置の処理能力及び消費電力に影響する。
【０００５】
このデータ転送処理に、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラなどの転送手段を用いると、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサと比較して、転送処理の時間は短縮される。しかし、ＤＭＡコントローラの転送処理は、プロセッサからの指示により実行され、また、転送処理の完了後、ＤＭＡコントローラからプロセッサに割り込み入力がなされるから、転送処理の回数が多いほど、プロセッサの負荷が増加する。
【０００６】
そこで本件は上記の課題に鑑みてなされたものであり、データの転送処理の負荷が低減されたデータ処理装置及びデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本明細書に記載のデータ処理装置は、データをそれぞれ記憶する複数の記憶部と、前記データを順次に処理する複数のデータ処理部と、前記複数の記憶部と前記複数のデータ処理部とを接続し、前記複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択するスイッチ部とを有する。
【０００８】
本明細書に記載のデータ処理方法は、複数の記憶部に記憶されたデータを順次に処理する複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択する。
【発明の効果】
【０００９】
本明細書に記載のデータ処理装置及びデータ処理方法は、データの転送処理の負荷が低減されるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】比較例に係るデータ処理装置の構成を示す構成図である。
【図２】第１〜第３のデータ処理回路及びプロセッサ間におけるデータの受け渡しの流れ（期間Ｔｉ）を示す図である。
【図３】第１〜第３データ処理回路及びプロセッサ間におけるデータの受け渡しの流れを示す図（期間Ｔｊ）である。
【図４】データの処理及び受け渡しを示すタイムチャートである。
【図５】実施例に係るデータ処理装置の構成を示す構成図である。
【図６】データの処理順序が異なるデータ処理装置の構成を示す構成図である。
【図７】他の実施例に係るデータ処理装置の構成を示す構成図である。
【図８】比較例におけるプロセッサのアドレス空間の構成を示す構成図である。
【図９】他の実施例におけるプロセッサのアドレス空間の構成を示す構成図である。
【図１０】データの処理及び受け渡しを示すタイムチャートである。
【図１１】データの処理順序が異なるデータ処理装置の構成を示す構成図である。
【図１２】比較例におけるデータ処理のフローを示すフローチャートである。
【図１３】実施例におけるデータ処理のフローを示すフローチャートである。
【図１４】クロスバースイッチの内部の接続構成の一例を示す構成図である。
【図１５】クロスバースイッチの内部の接続構成の他例を示す構成図である。
【図１６】リングスイッチの内部の接続構成の一例を示す構成図である。
【図１７】リングスイッチの内部の接続構成の他例を示す構成図である。
【図１８】スイッチ内の接続設定レジスタを示す図である。
【図１９】各メモリの識別番号を示す表である。
【図２０】接続設定レジスタの設定例を示す表である。
【図２１】実施例に係るデータ処理方法を示すフローチャートである。
【図２２】画像認識装置の構成を示す構成図である。
【図２３】無線通信装置の構成を示す構成図である。
【発明を実施するための形態】
【００１１】
図１は、比較例に係るデータ処理装置の構成を示す構成図である。データ処理装置は、入力側バッファ９００と、出力側バッファ９０１と、ハードウェアアクセラレータ９１と、第１〜第３メモリ９２１〜９２３とを有する。データ処理装置は、さらに、プログラム格納メモリ９３と、プロセッサ９４と、第４メモリ９５と、ＤＭＡコントローラ９６と、バス９７とを有する。
【００１２】
ハードウェアアクセラレータ９１は、ソフトウェアを用いずに動作する論理回路であり、個別のデータ処理機能を備えた第１〜第３データ処理回路９１１〜９１３を含む。第１〜第３データ処理回路９１１〜９１３は、個々のデータ処理機能に適したハードワイヤードロジックにより構成される。第１〜第３データ処理回路９１１〜９１３は、専用の第１〜第３メモリ９２１〜９２３と、それぞれ個別に接続されている。第１〜第３データ処理回路９１１〜９１３及び第１〜第３メモリ９２１〜９２３は、個別の接続ラインを介してバス９７と接続されている。
【００１３】
プロセッサ９４は、ソフトウェア、つまりプログラムに従って動作する演算処理回路であり、例えばＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。プロセッサ９４を動作させるプログラムは、プロセッサ９４に接続されたプログラム格納メモリ９３に格納されている。
【００１４】
プログラム格納メモリ９３は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。プロセッサ９４は、電源投入時またはリセット時、データ処理装置の内部または外部に設けられたブートＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）からプログラムを読み出して、プログラム格納メモリ９３に格納する。
【００１５】
プロセッサ９４は、ワーキングメモリとして機能する第４メモリ９５と接続されている。プロセッサ９４及び第４メモリ９５は、両者間の接続ラインを介して、バス９７と接続されている。第１〜４メモリ９２１〜９２３，９５としては、例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）が挙げられるが、これに限定されず、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）やデータを記憶する他の記憶手段（例えばメモリカードやハードディスク）であってもよい。
【００１６】
入力側バッファ９００は、入力端子Ｔｉｎから入力されたデータを蓄積し、蓄積されたデータはバス９７に出力される。第１〜４メモリ９２１〜９２３，９５は、データを記憶する個別の記憶領域が設けられている。第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４は、第１〜４メモリ９２１〜９２３，９５にそれぞれ個別にアクセスすることにより、データの読み込み及び書き込みを行う。
【００１７】
第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４は、協働し、データを順次に処理する。本例において、データは、第１データ処理回路９１１、第２データ処理回路９１２、第３データ処理回路９１３、プロセッサ９４の順序に従って処理されるものとする。なお、この処理順序は、データの処理内容に応じて変更されてもよい。
【００１８】
全ての処理が完了したデータは、バス９７から出力側バッファ９０１に入力され、蓄積される。出力側バッファ９０１に蓄積されたデータは、出力端子Ｔｏｕｔを介して外部に出力される。
【００１９】
このように、全てをプロセッサ９４が処理するのではなく、一部の処理をハードウェアアクセラレータ９１が分担することによって、処理が高速化されるだけでなく、消費電力が低減される。
【００２０】
また、ハードウェアアクセラレータ９１は、プロセッサ９４を複数個用いて実現する処理機能を集約でき、必要とするプロセッサ９４の個数を削減できるから、データ処理装置を１チップのデバイスとして製造する場合において、該チップ面積が低減される。さらに、プロセッサ９４を動作させるプログラムを更新することにより、機能変更が可能であるから、将来的なバージョンアップなどに柔軟に対応できる。なお、データ処理装置の適用例としては、後述するように、画像認識装置や無線通信装置などが挙げられる。
【００２１】
上述したように、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４は、個別の第１〜４メモリ９２１〜９２３，９５をそれぞれ有しているため、自己の専用のメモリ９２１〜９２３，９５にしかアクセスできない。例えば、第１データ処理回路９１１は、第１メモリ９２１にはアクセスできるが、他の第２〜４メモリ９２２，９２３，９５にはアクセスできない。つまり、比較例に係るデータ処理装置は、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４から第１〜４メモリ９２１〜９２３，９５に対するアクセスに一定の制限がある。
【００２２】
このため、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４は、メモリ９２１〜９２３，９５間におけるデータ転送によって、データを順次に受け渡す。ＤＭＡコントローラ９６は、プロセッサ９４からのフロー制御に従って、メモリ９２１〜９２３，９５間において、バス９７を介しデータ転送を行う。
【００２３】
図２及び図３は、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４間におけるデータの受け渡しの流れを示す。図２及び図３は、交互に到来する期間Ｔｉ，Ｔｊにおけるデータの受け渡しの流れをそれぞれ示しており、また、符号ＴＬ１〜ＴＬ５は、ＤＭＡコントローラ９６によるデータの転送処理を示す。
【００２４】
本例において、第１〜４メモリ９２１〜９２３，９５は、それぞれ、２つの入力領域（０），（１）及び２つの出力領域（０），（１）が設けられている。なお、第５メモリ９５には、プロセッサ９４のワーク領域も設けられている。
【００２５】
２つの入力領域（０），（１）は、それぞれ、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４の処理待ち（未処理）のデータを記憶する。一方、２つの出力領域（０），（１）は、それぞれ、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４の処理済みのデータを記憶する。なお、２つの入力領域（０），（１）と２つの出力領域（０），（１）は、互いに容量が同一であっても、異なっていてもよい。
【００２６】
２つの入力領域（０），（１）及び２つの出力領域（０），（１）は、それぞれ、ダブルバッファなどと称される２面構成の記憶領域として機能する。つまり、２つの領域は、期間Ｔｉ，Ｔｊごとに交互に、一方にデータが書き込まれ、他方からデータが読み出される。これにより、データの書き込みと読み出しが衝突して、データに誤りが生ずることが防止される。
【００２７】
期間Ｔｉ（図２参照）において、入力端子Ｔｉｎから入力側バッファ９００に入力されたデータは、転送処理ＴＬ１により第１メモリ９２１の入力領域（０）に書き込まれる。一方、直前の期間（期間Ｔｊ）において、第１メモリ９２１の入力領域（１）に既に記憶されている処理待ちのデータは、第１データ処理回路９１１により読み出されて処理され、処理済みのデータは、第１メモリ９２１の出力領域（１）に書き込まれる。なお、第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４の処理待ちのデータと処理済みのデータは、互いにサイズ（データ量）が同一であっても、異なっていてもよい。
【００２８】
直前の期間（期間Ｔｊ）において、第１メモリ９２１の出力領域（０）に既に記憶されている処理済みのデータは、転送処理ＴＬ２により第２メモリ９２２の入力領域（０）に書き込まれる。一方、直前の期間（期間Ｔｊ）において、第２メモリ９２２の入力領域（１）に既に記憶されている処理待ちのデータは、第２データ処理回路９１２により読み出されて処理され、処理済みのデータは、第２メモリ９２２の出力領域（１）に書き込まれる。
【００２９】
直前の期間（期間Ｔｊ）において、第２メモリ９２２の出力領域（０）に既に記憶されている処理済みのデータは、転送処理ＴＬ３により第３メモリ９２３の入力領域（０）に書き込まれる。一方、直前の期間（期間Ｔｊ）において、第３メモリ９２３の入力領域（１）に既に記憶されている処理待ちのデータは、第３データ処理回路９１３により読み出されて処理され、処理済みのデータは、第３メモリ９２３の出力領域（１）に書き込まれる。
【００３０】
直前の期間（期間Ｔｊ）において、第３メモリ９２３の出力領域（０）に既に記憶されている処理済みのデータは、転送処理ＴＬ４により第４メモリ９５の入力領域（０）に書き込まれる。一方、直前の期間（期間Ｔｊ）において、第４メモリ９５の入力領域（１）に既に記憶されている処理待ちのデータは、プロセッサ９４により読み出されて処理され、処理済みのデータは、第４メモリ９５の出力領域（１）に書き込まれる。
【００３１】
直前の期間（期間Ｔｊ）において、第４メモリ９５の出力領域（０）に既に記憶されている処理済みのデータは、転送処理ＴＬ５により出力側バッファ９０１に書き込まれ、出力端子Ｔｏｕｔを介して外部に出力される。また、期間Ｔｊ（図３）においては、上記の説明において、入力領域（０），（１）を互いに入れ替え、また、出力領域（０），（１）を互いに入れ替えた動作が行われる。このように、データは、データ処理装置に入力されて出力されるまでの間に、５回の転送処理ＴＬ１〜ＴＬ５を経る。
【００３２】
図４は、データの処理及び受け渡しを示すタイムチャートである。図４において、「ｄａｔａ（ｘ）」（ｘは自然数）は、期間Ｔｘにおいて、外部からデータ処理装置に入力されたデータを表す。期間Ｔｘは、データ処理装置内のクロック信号に同期して、Ｔｎ，Ｔｎ+1，Ｔｎ+2・・・と変化する。ここで、期間Ｔｎ，Ｔｎ+2・・・は、上記の期間Ｔｉに相当し、期間Ｔｎ+1，Ｔｎ+3・・・は、上記の期間Ｔｊに相当する。
【００３３】
「第１データ処理回路」〜「第３データ処理回路」の欄は、期間Ｔｘにおいて、第１〜第３データ処理回路９１１〜９１３がそれぞれ処理するデータを示し、「プロセッサ」の欄は、期間Ｔｘにおいて、プロセッサ９４が処理するデータを示す。「第１メモリ」〜「第４メモリ」の「入力領域（０），（１）」及び「出力領域（０），（１）」の欄は、期間Ｔｘにおいて、第１〜４メモリ９２１〜９２３，９５の当該領域に保持されているデータを示す。「ＤＭＡ転送」の欄は、転送するデータを示す。また、データ間を結ぶ矢印は、データの移動を示す。
【００３４】
第１〜第３データ処理回路９１１〜９１３及びプロセッサ９４は、期間Ｔｘごとに入力されるデータｄａｔａ（ｘ）を、第１〜４メモリ９２１〜９２３，９５間における転送処理ＴＬ１〜ＴＬ５により順次に受け渡して、処理する。この転送処理ＴＬ１〜ＴＬ５の回数は、データ処理装置の処理能力及び消費電力に影響する。
【００３５】
また、プロセッサ９４は、転送処理ＴＬ１〜ＴＬ５ごとに、ＤＭＡコントローラ９６に指示を出力し、ＤＭＡコントローラ９６から、転送完了を示す割り込み入力がなされる。このため、転送処理ＴＬ１〜ＴＬ５の回数は、プロセッサ９４のフロー制御の複雑さを決定し、プロセッサ９４の負荷にも影響する。
【００３６】
さらに、第１〜４メモリ９２１〜９２３，９５の各々について、入力領域（０），（１）及び出力領域（０），（１）は、同一の期間Ｔｘの転送処理ＴＬ１〜ＴＬ５の前後において、同一のデータｄａｔａ（ｘ）を記憶する。したがって、転送処理ＴＬ１〜ＴＬ５の回数は、メモリ９１１〜９１３，９４の記憶領域の全体の容量にも影響する。
【００３７】
実施例に係るデータ処理装置において、データ処理回路９１１〜９１３からメモリへのアクセスの制限が緩和されることにより、データ転送の回数が低減される。図５は、実施例に係るデータ処理装置の構成を示す。
【００３８】
データ処理装置は、入力側バッファ１００と、出力側バッファ１０１と、第１〜第３データ処理回路（データ処理部）１１１〜１１３と、第１〜第４メモリ（記憶部）１２１〜１２４と、プログラム格納メモリ１３とを有する。データ処理装置は、さらに、プロセッサ１４と、第１スイッチ回路（スイッチ部）１５と、第２スイッチ回路１６と、第５メモリ１７とを有する。
【００３９】
第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４は、比較例と同様に、互いに協働し、データを順次に処理する。処理順序は、第１データ処理回路１１１、第２データ処理回路１１２、第３データ処理回路１１３、プロセッサ１４の順とする。第１〜第３データ処理回路１１１〜１１３は、上記の第１〜第３データ処理回路９１１〜９１３と同様のハードウェアアクセラレータである。
【００４０】
第１〜４メモリ１２１〜１２４は、データを記憶する個別の記憶領域が設けられている。記憶領域は、上述したダブルバッファとして機能する２つの領域（０），（１）を含む。つまり、２つの領域（０），（１）は、時間間隔をおいて交互に、一方にデータが書き込まれ、他方からデータが読み出される。これにより、データの書き込みと読み出しが衝突して、データに誤りが生ずることが防止される。
【００４１】
第１スイッチ回路１５は、第１〜４メモリ１２１〜１２４と第１〜第３データ処理回路１１１〜１１３とを接続し、第１〜４メモリ１２１〜１２４から、第１〜第３データ処理回路１１１〜１１３の各々のアクセス対象となるメモリを選択する。これにより、第１〜第３データ処理回路１１１〜１１３は、比較例とは異なり、アクセス対象が特定のメモリに限定されず、複数のメモリにアクセスすることができる。なお、第１スイッチ回路１５の構成については、後述する。
【００４２】
また、プログラム格納メモリ１３は、上記のプログラム格納メモリ９３と同様に、プロセッサ９４を動作させるプログラムを格納する。第２スイッチ回路１６は、第１スイッチ回路１５と同様の機能を有し、プロセッサ９４と第５メモリ１７とを接続する。第５メモリ１７は、上記の第４メモリ９５と同様に、２つの入力領域（０），（１）と、２つの出力領域（０），（１）と、ワーク領域とが設けられている。
【００４３】
また、図５中の点線の矢印は、交互に到来する期間（上記のＴｉ，Ｔｊに相当）の一方におけるデータの流れを示す。なお、転送処理ＴＬ１，ＴＬ４，ＴＬ５は、比較例における転送処理ＴＬ１，ＴＬ４，ＴＬ５にそれぞれ対応する。
【００４４】
入力側バッファ１００は、入力端子Ｔｉｎから入力されたデータを蓄積する。蓄積されたデータは、ＤＭＡコントローラによる転送処理ＴＬ１により第１メモリ１２１の領域（０）に書き込まれる。なお、ＤＭＡコントローラは、例えば、データ処理装置の外部、またはスイッチ回路１５の内部に設けられてもよい。
【００４５】
直前の期間（交互に到来する期間の他方）において第１メモリ１２１の入力領域（１）に既に記憶されている処理待ちのデータは、第１スイッチ回路１５を介し、第１データ処理回路１１１により読み出されて処理される。処理済みのデータは、第１スイッチ回路１５を介し、第１データ処理回路９１１により第２メモリ１２２の領域（１）に書き込まれる。
【００４６】
直前の期間において第２メモリ１２１の領域（０）に既に記憶されている処理待ちのデータは、第１スイッチ回路１５を介し、第２データ処理回路１１２により読み出されて処理される。処理済みのデータは、第１スイッチ回路１５を介し、第２データ処理回路１１２により第３メモリ１２３の領域（０）に書き込まれる。
【００４７】
直前の期間において第３メモリ１２３の領域（１）に既に記憶されているデータは、第１スイッチ回路１５を介し、第３データ処理回路１１３により読み出されて処理される。処理済みのデータは、第１スイッチ回路１５を介し、第３データ処理回路１１３により第４メモリ１２４の領域（１）に書き込まれる。
【００４８】
直前の期間において第４メモリ１２４の領域（０）に既に記憶されているデータは、ＤＭＡコントローラによる転送処理ＴＬ４により、第１及び第２スイッチ回路１５，１６を介し、第５メモリ１７の入力領域（０）に書き込まれる。一方、直前の期間において第５メモリ１７の入力領域（１）に既に記憶されているデータは、第２スイッチ回路１６を介して、プロセッサ９４により読み出されて処理され、処理済みのデータは、第５メモリ１７の出力領域（１）に書き込まれる。
【００４９】
直前の期間において第５メモリ１７の出力領域（０）に既に記憶されているデータは、ＤＭＡコントローラによる転送処理ＴＬ５により、第２スイッチ回路１６を介し、出力側バッファ１０１に入力され、蓄積される。出力側バッファ１０１に蓄積されたデータは、出力端子Ｔｏｕｔを介して外部に出力される。なお、他方の期間においては、上記の説明において、第１〜第４メモリ１２１〜１２４の領域（０），（１）を互いに入れ替え、また、第５メモリ１７の入力領域（０），（１）、出力領域（０），（１）も互いに入れ替えた動作が行われる。
【００５０】
上記動作において、スイッチ回路１５は、データの処理順序が連続する２つのデータ処理回路１１１〜１１３の一方がデータを書き込むとき、及び、他方がデータを読み出すとき、アクセス対象として、複数のメモリ１２１〜１２４から共通のメモリを選択する。したがって、第１〜第３データ処理回路１１１〜１１３は、第１スイッチ回路１５を介して、共通のメモリ１２２，１２３にアクセスし、その記憶領域を介してデータを順次に受け渡すことができる。
【００５１】
例えば、第１データ処理回路１１１は、第２メモリ１２２にアクセスして、処理済みのデータを書き込み、第２データ処理回路１１２も、第２メモリ１２２にアクセスして、処理待ちのデータを読み込む。また、第２データ処理回路１１２は、第３メモリ１２３にアクセスして、処理済みのデータを書き込み、第３データ処理回路１１３も、第３メモリ１２２にアクセスして、処理待ちのデータを読み込む。
【００５２】
このため、本実施例によれば、第１〜４メモリ１２１〜１２４に、比較例のような入力領域及び出力領域を別々に設けることなく、共通の記憶領域（領域（０），（１））を介してデータの受け渡しを可能とする。したがって、全体の記憶領域の容量が削減され、さらに第１〜４メモリ１２１〜１２４間におけるデータ転送処理の回数が低減される。比較例と比較すると、図２に示されたデータの転送処理ＴＬ１〜ＴＬ５のうち、２つの転送処理ＴＬ２，ＴＬ３が削減される。これにより、本実施例によれば、消費電力も低減される。
【００５３】
上述したように、第１〜第３データ処理回路１１１〜１１３は、第１スイッチ回路１５を介して、第１〜４メモリ１２１〜１２４と接続されることにより、複数のメモリにアクセスすることができる。したがって、本実施例によれば、第１〜第３データ処理回路１１１〜１１３のアクセス対象となるメモリを変更することによって、データの処理順序を柔軟に変更することができる。
【００５４】
図６は、データの処理順序が異なるデータ処理装置の構成を示す。本例において、データ処理装置は、第１及び第３データ処理回路１１１，１１３及びプロセッサ１４のみによってデータを処理する。このため、第１及び第３データ処理回路１１１，１１３間のデータの受け渡しは、第２メモリ１２２を介して行われ、第３メモリ１２３は使用されない。
【００５５】
第１及び第３データ処理回路１１１，１１３のアクセス対象となるメモリの設定は、例えば、後述するように接続設定レジスタを用いて行うことができる。このため、本例において、第２メモリ１２２に代え、第３メモリ１２３を介してデータの受け渡しを行うことも可能である。このように、スイッチ回路１５を用いることにより、メモリ１２１〜１２４へのアクセスの制限を緩和し、第１〜第３データ処理回路１１１〜１１３間において第１〜４メモリ１２１〜１２４を共有化することができる。
【００５６】
本実施例において、第５メモリ１７は、第１〜第４メモリ１２１〜１２４が接続された第１スイッチ回路１５とは異なる第２スイッチ回路１６を介して、プロセッサ１４と接続されている。このため、第４メモリ１２４から第５メモリ１７へのデータの転送処理ＴＬ４が行われる。
【００５７】
この転送処理ＴＬ４を削除するため、プロセッサ１４及び第５メモリ１７をスイッチ回路１５に接続し、第５メモリ１７を共有化してもよい。図７は、他の実施例に係るデータ処理装置の構成を示す構成図である。図７において、図５に示された実施例と共通する構成については、同一の符号を付し、その説明を省略する。
【００５８】
本実施例において、スイッチ回路１５は、第１〜第３データ処理回路１１１〜１１３及びプロセッサ（データ処理部）１４と、第１〜第５メモリ１２１〜１２４，１７とを接続する。スイッチ回路１５は、第１〜第５メモリ１２１〜１２４，１７から、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４のアクセス対象となるメモリを選択する。
【００５９】
プロセッサ１４は、第１〜第３データ処理回路１１１〜１１３とは異なり、ブートＲＯＭの設定内容により決定されるアドレス空間を有している。したがって、プロセッサ１４は、アドレス空間の変更により、第１〜第４メモリ１２１〜１２４へのアクセスが可能となる。
【００６０】
図８は、比較例におけるプロセッサ９４のアドレス空間の構成を示す構成図である。アドレス空間は、プロセッサ９４が例えば３２（ｂｉｔ）のＣＰＵである場合、０ｘ００００００００番地から０ｘＦＦＦＦＦＦＦＦ番地まで存在する。アドレス空間は、例えば、命令メモリ空間２０と、データメモリ空間２１と、ＩＯ（Ｉｎｐｕｔ  ａｎｄ  Ｏｕｔｐｕｔ）空間２３とを含む。
【００６１】
命令メモリ空間２０は、プログラム格納メモリ９３に割り当てられた空間である。データメモリ空間２１は、ワーク領域を含む第４メモリ９５に割り当てられた空間である。また、ＩＯ空間２３は、ＤＭＡコントローラなどの外部の入出力機器に割り当てられた空間である。
【００６２】
一方、図９は、本実施例におけるプロセッサ１４のアドレス空間の構成を示す構成図である。アドレス空間は、上述した命令メモリ空間２０、データメモリ空間２１、及びＩＯ空間２３に加え、第１〜第４メモリ１２１〜１２４に割り当てられたメモリ空間２４を含む。このように、第１〜第４メモリ１２１〜１２４の各記憶領域をプロセッサ１４のアドレス空間に割り当てることによって、プロセッサ１４は、第１〜第４メモリ１２１〜１２４にアクセスすることができる。
【００６３】
したがって、プロセッサ１４は、第４メモリ１２４から直接的にデータを読み出すことができる。また、第５メモリ（記憶部）１７は、先の実施例とは異なり、入力領域はなく、２つの出力領域（０），（１）及びワーク領域のみが設けられている。
【００６４】
図７中の点線の矢印は、交互に到来する期間（上記のＴｉ，Ｔｊに相当）の一方におけるデータの流れを示す。なお、データが入力側バッファ１００に入力され、第３データ処理回路１１３が、処理済みのデータを第４メモリ１２４の領域（１）に書き込むまでの流れは、図５を参照して述べたとおりである。
【００６５】
直前の期間（交互に到来する期間の他方）において第４メモリ１２４の領域（０）に既に記憶されている処理待ちのデータは、スイッチ回路１５を介し、プロセッサ１４により読み出されて処理される。処理済みのデータは、スイッチ回路１５を介し、プロセッサ１４により第５メモリ１７の出力領域（０）に書き込まれる。このとき、プロセッサ１４は、データの読み出し、処理、及び書き込みを並行して行う。
【００６６】
直前の期間において第５メモリ１７の出力領域（１）に既に記憶されている処理済みのデータは、ＤＭＡコントローラによる転送処理ＴＬ５により、スイッチ回路１５を介し、出力側バッファ１０１に入力され、蓄積される。出力側バッファ１０１に蓄積されたデータは、出力端子Ｔｏｕｔを介して外部に出力される。このように、本実施例によれば、転送処理ＴＬ４も削除することができる。なお、他方の期間においては、上記の説明において、領域（０），（１）を互いに入れ替え、また、出力領域（０），（１）を互いに入れ替えた動作が行われる。
【００６７】
図１０は、本実施例におけるデータの処理及び受け渡しを示すタイムチャートである。なお、図１０内の各表記については、先に示された図４と同一である。図１０を図４と比較すると理解されるように、本実施例では、データが第１メモリに書き込まれてからプロセッサ１４により処理されて第１メモリに書き込まれるまでの間、ＤＭＡコントローラによるデータ転送処理が一度も行われない。したがって、本実施例によると、図５に示された実施例より多くのデータ転送を削減することができる。
【００６８】
また、本実施例についても、データの処理順序は、限定されない。図１１は、データの処理順序が異なるデータ処理装置の構成を示す構成図である。図１１において、点線の矢印は、データの流れを示す。本例において、データは、プロセッサ１４、第１データ処理回路１１１、第２データ処理回路１１２、第３データ処理回路１１３の順序に従って処理される。このように、スイッチ回路１５により、データ処理順序の変更に対する柔軟な対応が可能となる。
【００６９】
次に、本実施例におけるプロセッサ１４の負荷について説明する。図１２は、比較例におけるデータ処理のフローを示すフローチャートである。図１２の紙面左側には、フロー内の各ステップにおけるプロセッサ９４に対する入出力処理が示されている。
【００７０】
まず、データが、データ処理装置の外部から入力側バッファ９００に入力される（ステップＳｔ１）。次に、ＤＭＡコントローラ９６は、プロセッサ９４からの起動指示に従って第１メモリ９２１にデータを転送し、転送完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ２）。次に、第１データ処理回路９１１は、プロセッサ９４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ３）。
【００７１】
次に、ＤＭＡコントローラ９６は、プロセッサ９４からの起動指示に従って第２メモリ９２２にデータを転送し、転送完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ４）。次に、第２データ処理回路９１２は、プロセッサ９４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ５）。
【００７２】
次に、ＤＭＡコントローラ９６は、プロセッサ９４からの起動指示に従って第３メモリ９２３にデータを転送し、転送完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ６）。次に、第３データ処理回路９１３は、プロセッサ９４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ７）。
【００７３】
次に、ＤＭＡコントローラ９６は、プロセッサ９４からの起動指示に従って第４メモリ９５にデータを転送し、転送完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ８）。次に、プロセッサ９４は、データを処理する（ステップＳｔ９）。次に、ＤＭＡコントローラ９６は、プロセッサ９４からの起動指示に従って出力側バッファ９０１にデータを転送し、転送完了後に完了割り込みをプロセッサ９４に出力する（ステップＳｔ１０）。全ての処理が完了したデータは、出力端子Ｔｏｕｔを介してデータ処理装置の外部に出力される（ステップＳｔ１１）。
【００７４】
このように、プロセッサ９４は、ＤＭＡコントローラ９６に対して５回の起動指示を行い、ＤＭＡコントローラ９６から５回の完了割り込みが入力される。また、プロセッサ９４は、データ処理回路９１１〜９１２に対して３回の起動指示を行い、データ処理回路９１１〜９１２から３回の完了割り込みが入力される。したがって、プロセッサ９４は、合計１６回のフロー制御を行う。
【００７５】
一方、図１３は、図７に示された実施例におけるデータ処理のフローを示すフローチャートである。まず、データが、データ処理装置の外部から入力側バッファ１００に入力される（ステップＳｔ２１）。次に、ＤＭＡコントローラは、プロセッサ１４からの起動指示に従って第１メモリ１２１にデータを転送し、転送完了後に完了割り込みをプロセッサ１４に出力する（ステップＳｔ２２）。
【００７６】
次に、第１データ処理回路１１１は、プロセッサ１４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ１４に出力する（ステップＳｔ２３）。次に、第２データ処理回路１１２は、プロセッサ１４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ１４に出力する（ステップＳｔ２４）。次に、第３データ処理回路１１３は、プロセッサ１４からの起動指示に従ってデータを処理し、処理完了後に完了割り込みをプロセッサ１４に出力する（ステップＳｔ２５）。
【００７７】
次に、プロセッサ１４は、データを処理する（ステップＳｔ２６）。次に、ＤＭＡコントローラは、プロセッサ１４からの起動指示に従って出力側バッファ１０１にデータを転送し、転送完了後に完了割り込みをプロセッサ１４に出力する（ステップＳｔ２７）。全ての処理が完了したデータは、出力端子Ｔｏｕｔを介してデータ処理装置の外部に出力される（ステップＳｔ２８）。
【００７８】
このように、プロセッサ１４は、ＤＭＡコントローラに対して２回の起動指示を行い、ＤＭＡコントローラから２回の完了割り込みが入力される。また、プロセッサ１４は、データ処理回路１１１〜１１２に対して３回の起動指示を行い、データ処理回路１１１〜１１２から３回の完了割り込みが入力される。したがって、プロセッサ１４は、合計１０回のフロー制御を行う。
【００７９】
図１２と図１３とを比較すれば理解されるように、本実施例に係るデータ処理装置は、比較例よりデータ転送処理が少ないため、プロセッサ１４によるフロー制御の実行回数も少ない。このため、プロセッサ１４は、フロー制御の負荷が軽減され、この軽減により余った処理能力を、他処理に振り分けることができるという利点が得られる。
【００８０】
とりわけ、完了割り込みは、プロセッサ１４の処理とは非同期に発生するから、プロセッサ１４は、完了割り込みによって、実行中の処理を、その処理状態とは無関係に中断される。したがって、プロセッサ１４は、完了割り込みの実行回数の削減によって、より多くの処理能力を確保できる。
【００８１】
これまで述べたように、第１〜第５メモリ１２１〜１２４，１７は、データをそれぞれ記憶し、データ処理回路１１１〜１１３及びプロセッサ１４は、データを順次に処理する。
【００８２】
スイッチ回路１５は、第１〜第５メモリ１２１〜１２４，１７と第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４とを接続する。スイッチ回路１５は、データ処理回路１１１〜１１３及びプロセッサ１４のうち、データ処理順序が連続する２つの一方がデータを書き込むとき及び他方がデータを読み出すとき、アクセス対象として複数のメモリ１２１〜１２４，１７から共通のメモリを選択する。
【００８３】
したがって、実施例に係るデータ処理装置によると、データ処理回路１１１〜１１３及びプロセッサ１４は、第１〜第５メモリ１２１〜１２４，１７間において、ＤＭＡコントローラによるデータ転送処理を行わずに、データを順次に受け渡すことができる。よって、実施例に係るデータ処理装置によると、データの転送処理の負荷が低減される。
【００８４】
次に、データ処理装置に用いられるスイッチ回路１５の形態について、クロスバースイッチ及びリングスイッチの例を挙げて説明する。図１４は、クロスバースイッチの内部の接続構成の一例を示す構成図である。
【００８５】
スイッチ回路１５は、複数の接続線１５０と、複数の第１入力ポート１５１と、複数の第１出力ポート１５２と、複数の第２出力ポート１５３と、複数の第２入力ポート１５４と、第３入力ポート１５６と、第３出力ポート１５５とを含む。第３入力ポート１５６及び第３出力ポート１５５は、入力側バッファ１００及び出力側バッファ１０１にそれぞれ接続されている。
【００８６】
複数の第１入力ポート１５１及び複数の第１出力ポート１５２は、それぞれ、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４と接続されている。複数の第１入力ポート１５１は、それぞれ、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４から、メモリ１２１〜１２４，１７のアドレス及びデータの一方または両方が入力される。複数の第１出力ポート１５２は、それぞれ、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４にデータを出力する。
【００８７】
また、複数の第２入力ポート１５４及び複数の第２出力ポート１５３は、それぞれ、第１〜第５メモリ１２１〜１２４，１７と接続される。複数の第２入力ポート１５４は、それぞれ、第１〜第５メモリ１２１〜１２４，１７からデータが入力される。複数の第２出力ポート１５３は、それぞれ、第１〜第５メモリ１２１〜１２４，１７に、アドレス及びデータの一方または両方を出力する。
【００８８】
複数の接続線１５０は、スイッチ回路１５内部において、各ポート１５１〜１５６間を接続する。本例では、複数の接続線１５０により、複数の第１入力ポート１５１は、それぞれ、全ての第２出力ポート１５３と接続され、複数の第１出力ポート１５２は、それぞれ、全ての第２入力ポート１５４と接続されている。また、複数の接続線１５０により、第３入力ポート１５６は、全ての第２出力ポート１５３と接続され、第３出力ポート１５７は、全ての第２入力ポート１５４と接続されている。このように、スイッチ回路１５は、各ポート間１５１〜１５６を結ぶネットワークを有している。
【００８９】
第１〜第３データ処理回路１１１〜１１３は、プロセッサ１４とは異なり、第１〜第４メモリ１２１〜１２４の領域（０），（１）に、一様なアドレスを割り当てる。つまり、第１〜第３データ処理回路１１１〜１１３から見た第１〜第４メモリ１２１〜１２４の各領域（０），（１）のアドレスは、全て同一である。このため、データ処理順序が変更された場合であっても、第１〜第３データ処理回路１１１〜１１３は、それぞれ、データを読み出すアドレス及びデータを書き込むアドレスが変更されないから、該変更に対して柔軟に対応できる。
【００９０】
このため、第１〜第３データ処理回路１１１〜１１３と接続された第１入力ポート１５１及び第１出力ポート１５２は、アドレスではなく、個別の接続設定に従って、複数の第２出力ポート１５３及び第２入力ポート１５４から、通信対象となるポートを選択する。
【００９１】
例えば、データを読み出す場合、選択された第２入力ポート１５４から第１出力ポート１５２にデータが出力され、他方、データを書き込む場合、第１入力ポート１５１から、選択した第２出力ポート１５３にアドレス及びデータが出力される。これにより、第１〜第３データ処理回路１１１〜１１３は、それぞれ、第１〜第４メモリ１２１〜１２４のうち、データ処理順序に応じて選択されたメモリにアクセスできる。なお、第１入力ポート１５１の個別の接続設定については、後述する。
【００９２】
一方、プロセッサ１４は、図９に示されるように、第１〜第４メモリ１２１〜１２４に異なるアドレスを割り当てる。したがって、プロセッサ１４に接続された第１入力ポート１５１は、アドレスに基づいて、宛先となる第２出力ポート１５３を選択する。なお、第３入力ポート１５６における宛先ポートの判断は、接続設定及びアドレスの何れに基づいて行われてもよい。
【００９３】
このように、本例のスイッチ回路１５は、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４が、それぞれ、第１〜第５メモリ１２１〜１２４，１７の何れにもアクセスできるように、両者を接続する。このため、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４と第１〜第５メモリ１２１〜１２４，１７との間の接続の自由度が高く、データの処理順序の変更に対して柔軟に対応することが可能である。
【００９４】
本例のスイッチ回路１５において、複数の接続線１５０は、それぞれ、各ポート１５１〜１５６間を個別に結ぶ。したがって、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４は、他のアクセスによって互いに邪魔されることなく、第１〜第５メモリ１２１〜１２４，１７の各々にアクセスすることができる。このため、本例のスイッチ回路１５は、アクセスのための待機時間を低減して、アクセスに要する時間を短縮できる。
【００９５】
本例のスイッチ回路１５は、多数の接続線１５０を有しているが、この接続線１５０の数を低減してもよい。図１５には、クロスバースイッチの内部の接続構成の他例が示されている。
【００９６】
本例のスイッチ回路１５は、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４が、それぞれ、第１〜第５メモリ１２１〜１２４，１７のうち、データの処理順序に応じたアクセス対象となるメモリにアクセスできるように、両者を接続する。より具体的には、本例の接続構成は、第１データ処理回路１１１、第２データ処理回路１１２、第３データ処理回路１１３、プロセッサ１４のデータ処理順序に基づいている。なお、この処理順序は、以降の例についても同様とする。
【００９７】
例えば、第１データ処理回路１１１の入力ポート１５１は、接続線１５０を介して、第２メモリ１２１の出力ポート１５３のみと接続され、また、出力ポート１５２は、他の接続線１５０を介して、第１メモリ１２１の入力ポート１５４のみと接続されている。このため、第１データ処理回路１１１は、処理待ちのデータを読み出すときに第１メモリ１２１にアクセスし、処理済みのデータを書き込むときに第２メモリ１２２にアクセスできる。
【００９８】
第２及び第３データ処理回路１１２，１１３も、処理待ちのデータを読み出すときに第２及び第３メモリ１２２，１２３にそれぞれアクセスし、処理済みのデータを書き込むときに第３及び第４メモリ１２３，１２４にそれぞれアクセスできるように接続されている。このように、宛先の出力ポートが限定された入力ポートは、上記の接続設定を用いることなく、通信対象のポートが決定される。
【００９９】
また、一定の接続の自由度を確保するため、プロセッサ１４の入力ポート１５１は、第１〜第５メモリ１２１〜１２４，１７の各入力ポート１５４と接続されているが、接続対象は、第４メモリ１２４のポート１５４に限定されてもよい。また、同様の目的のため、第３入力ポート１５６は、第１〜第５メモリ１２１〜１２４，１７の各出力ポート１５３と接続されているが、接続対象は、第１メモリ１２１のポート１５３に限定されてもよい。
【０１００】
本例のスイッチ回路１５によれば、図１４に示されたスイッチ回路１５と比較すると、接続線１５０の数が少ないため、低消費電力化され、スイッチ回路１５またはデータ処理装置をチップ化した場合における実装面積が低減される。
【０１０１】
低消費電力化や実装面積の低減を実現し得るスイッチ回路１５の形態は、図１５に示された構成に限定されない。図１６には、リングスイッチの内部の接続構成の一例が示されている。
【０１０２】
本例のスイッチ回路１５は、伝送方向が一方向だけの環状伝送路１５９と、環状伝送路１５９に沿って設けられた複数の入出力ポート１５８とを含む。複数の入出力ポート１５８は、それぞれ、入力側バッファ１００、出力側バッファ１０１、第１〜第３データ処理回路１１１〜１１３、プロセッサ１４、第１〜第４メモリ１２１〜１２４と接続されている。
【０１０３】
第１〜第３データ処理回路１１１〜１１３と接続された入出力ポート１５８は、図１４の例と同様に、個別の接続設定に従った宛先ポートを選択する。送信側の入出力ポート１５８は、接続対象から入力されたアドレス及びデータの一方または両方を含むパケットに、個別の接続設定に従った通信対象のポート情報を付与して、環状伝送路１５９に送信する。そして、受信側の入出力ポート１５８は、環状伝送路１５９を介して受信したパケットのポート情報を参照し、ポート情報が自己を示す場合、自己の接続対象に対してアドレス及びデータの一方または両方を出力する。一方、ポート情報が他ポートを示す場合、入出力ポート１５８は、パケットを、環状伝送路１５９を介して隣の入出力ポート１５８に送信する。
【０１０４】
これにより、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４は、それぞれ、データを読み込むとき、または書き込むとき、入出力ポート１５８及び環状伝送路１５９を介して、第１〜第４メモリ１２１〜１２４にアクセスする。
【０１０５】
このように、本例のスイッチ回路１５は、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４が、それぞれ、第１〜第４メモリ１２１〜１２４の何れにもアクセスできるように、両者を接続する。したがって、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４と第１〜第４メモリ１２１〜１２４との間の接続の自由度が高く、データの処理順序の変更に対して柔軟に対応することが可能である。
【０１０６】
また、本例のスイッチ回路１５は、図１４及び図１５の例と比較すると、配線数が少なく、必要なスイッチゲート数も少ないから、低消費電力化及びチップ化した場合の実装面積の低減の利点も得られる。
【０１０７】
一方、第１〜第４メモリ１２１〜１２４へのアクセス時間の観点から見ると、図１４及び図１５に示されたスイッチ回路１５の方が、本例のスイッチ回路１５より優れている。以下に、その理由を述べる。
【０１０８】
本例のスイッチ回路１５は、データを、ある入出力ポート１５８から隣の入出力ポート１５８までの距離、つまり１ホップだけ伝送するために一定の時間を要する。また、環状伝送路１５９は、パケットを一方向のみに伝送し、反対方向には伝送することができない。これは、パケットを両方向に伝送した場合、パケット同士が衝突してエラーを生ずるためである。
【０１０９】
したがって、アクセス時間は、送信元の入出力ポート１５８から宛先の入出力ポート１５８までのホップ数に依存する。例えば、入力側バッファ１００から第１メモリ１２１へデータを転送するとき、９ホップに相当するアクセス時間を要する。また、第１データ処理回路１１１が第２メモリ１２２にデータを書き込むとき、７ホップに相当するアクセス時間を要する。
【０１１０】
仮に、データの処理順序を考慮して、入力側バッファ１００、出力側バッファ１０１、第１〜第３データ処理回路１１１〜１１３、プロセッサ１４、及び第１〜第４メモリ１２１〜１２４を環状伝送路１５９に接続しても、ホップ数の低減は難しい。これは、環状伝送路１５９の伝送方向が一方向であるため、データの読み出し処理において、アドレスの送信処理及びデータの受信処理の一方のホップ数は低減されても、他方のホップ数は増加するからである。
【０１１１】
例えば、第１データ処理回路１１１が第１メモリ１２１からデータを読み出すとき、第１メモリ１２１にアドレスを送信するための８ホップと、第１メモリ１２１からデータを受信するための２ホップの合計１０ホップに相当するアクセス時間を要する。仮に、第１データ処理回路１１１及び第１メモリ１２１を、隣同士の入出力ポート１５８に接続した場合、アドレスの送信処理及びデータの受信処理の一方のホップ数は、１ホップとなるが、他方のホップ数は９ホップとなる。このように、データの読み出し処理では、環状伝送路１５９上の接続位置、つまり接続する入出力ポート１５８に関わらず、環状伝送路１５９の総ホップ数と同じホップ数（本例では１０ホップ）に相当するアクセス時間を要することとなる。
【０１１２】
さらに、ホップ数は、環状伝送路１５９上におけるパケット同士の衝突を回避するための待機時間にも影響する。つまり、環状伝送路１５９において、あるパケットが伝送されている伝送区間内の入出力ポート１５８に、他の伝送対象のパケットが存在すると、当該パケットは、待機させられる。なお、第５メモリ１７は、この待機時間を回避して、プログラムを問題なく動作させるため、スイッチ回路１５を介さずに、プロセッサ１４と直接的に接続されている。このため、第５メモリ１７から出力側バッファ１０１へのデータ転送は、プロセッサ１４を介して行われる。
【０１１３】
図１７には、リングスイッチの内部の接続構成の他例が示されている。本例のスイッチ回路１５は、伝送方向が互いに異なる２つの環状伝送路１５９ａ，１５９ｂと、２つの環状伝送路１５９ａ，１５９ｂに沿ってそれぞれ設けられた複数の入出力ポート１５８ａ，１５８ｂとを有している。
【０１１４】
２つの環状伝送路１５９ａ，１５９ｂは、複数の入出力ポート１５８ａ，１５８ｂをそれぞれ介して、バッファ１００，１０１、第１〜第３データ処理回路１１１〜１１３、プロセッサ１４、及び第１〜第４メモリ１２１〜１２に接続されている。第１〜第３データ処理回路１１１〜１１３と接続された入出力ポート１５８ａ，１５８ｂは、それぞれ、上記の入出力ポート１５８と同様に、宛先ポートを選択する。
【０１１５】
一方の環状伝送路１５９ａは、図１７の紙面で右回りにパケットを伝送し、他方の環状伝送路１５９ｂは、図１７の紙面で左回りにパケットを伝送する。したがって、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４は、データの読み出し処理において、一方の環状伝送路１５９ｂを介してアドレスの送信を行い、他方の環状伝送路１５９ａを介してデータを受信することができる。これにより、データの読み出し処理におけるホップ数が低減される。
【０１１６】
また、図１７に示されるように、バッファ１００，１０１、第１〜第３データ処理回路１１１〜１１３、プロセッサ１４、及び第１〜第４メモリ１２１〜１２４は、２つの環状伝送路１５９ａ，１５９ｂにおける、データの処理順序に応じた位置に接続されている。例えば、第１データ処理回路１１１と第１及び第２メモリ１２１，１２２は、互いに隣り合う入出力ポート１５８ａにそれぞれ接続されている。このため、第１データ処理回路１１１は、データの読み出し処理において、一方の環状伝送路１５９ｂを介して１ホップでアドレスを送信し、他方の環状伝送路１５９ａを介して１ホップでデータを受信することができる。なお、他の第２及び第３データ処理回路１１２，１１３及びプロセッサ１４のホップ数も同様である。
【０１１７】
また、データの書き込み処理においても、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４は、環状伝送路１５９ａを介して１ホップでアドレス及びデータを送信することができる。さらに、入力側バッファ１００と第１メモリ１１１の間及び出力側バッファ１０１と第５メモリ１７の間のデータ転送も、環状伝送路１５９ａを介して、同様に１ホップで行われる。このように、本例では、データの処理順序を考慮した接続により、ホップ数を、さらに低減することができる。
【０１１８】
次に、ポートごとの接続設定の方法について説明する。図１８には、スイッチ内の接続設定レジスタが示されている。なお、図１８は、図１４に示されたスイッチ回路１５を例として示す。
【０１１９】
スイッチ回路１５は、接続設定レジスタＲＥＧ１ｗ〜ＲＥＧ３ｗ，ＲＥＧ１ｒ〜ＲＥＧ３ｒを記憶する内部メモリＭを有する。接続設定レジスタＲＥＧ１ｗ〜ＲＥＧ３ｗは、第１〜第４メモリ１２１〜１２４のうち、第１〜第３データ処理回路１１１〜１１３が、入力ポート１５１を介してデータを書き込むときのアクセス対象となるメモリの出力ポート１５３をそれぞれ示す。一方、接続設定レジスタＲＥＧ１ｒ〜ＲＥＧ３ｒは、第１〜第４メモリ１２１〜１２４のうち、第１〜第３データ処理回路１１１〜１１３が、出力ポート１５２を介してデータを読み込むときのアクセス対象となるメモリの入力ポート１５４をそれぞれ示す。なお、接続設定レジスタＲＥＧ１ｗ〜ＲＥＧ３ｗ，ＲＥＧ１ｒ〜ＲＥＧ３ｒは、スイッチ回路１５の外部のメモリに記憶されてもよい。
【０１２０】
接続設定には、各メモリ１２１〜１２４の出力ポート１５３及び入力ポート１５４を識別するための識別番号が用いられる。図１９には、各メモリ１２１〜１２４の出力ポート１５３及び入力ポート１５４の識別番号が示されている。図１９の表中、「メモリ」は、第１〜第４メモリ１２１〜１２４を示す。「リードポート」は、データを読み込むときのアクセス対象となる各メモリ１２１〜１２４が接続された、入力ポート１５４の識別番号を示す。「ライトポート」は、データを書き込むときのアクセス対象となる各メモリ１２１〜１２４が接続された、出力ポート１５３の識別番号を示す。なお、識別番号は、図１９において２進数で表されている。
【０１２１】
接続設定レジスタＲＥＧ１ｗ，ＲＥＧ１ｒ，ＲＥＧ２ｗ，ＲＥＧ２ｒ，ＲＥＧ３ｗ，ＲＥＧ３ｒの内容は、プロセッサ１４により、その接続ポート１５１を介して設定される。図２０には、接続設定レジスタＲＥＧ１ｗ，ＲＥＧ１ｒ，ＲＥＧ２ｗ，ＲＥＧ２ｒ，ＲＥＧ３ｗ，ＲＥＧ３ｒの設定例が示されている。この設定例は、図５の例におけるデータ処理順序に対応する。
【０１２２】
例えば、第１データ処理回路１１１は、データを書き込むときのアクセス対象が第２メモリ１２２であるから、接続設定レジスタＲＥＧ１ｗには、第２メモリ１２２の出力ポート１５３の識別番号「１０１」が設定される。また、第１データ処理回路１１１は、データを読み込むときのアクセス対象が第１メモリ１２１であるから、接続設定レジスタＲＥＧ１ｒには、第１メモリ１２１の入力ポート１５４の識別番号「０００」が設定される。
【０１２３】
このように、スイッチ回路１５は、第１〜第３データ処理回路１１１〜１１３の各々について、第１〜第４メモリ１２１〜１２４のうち、アクセス対象となるメモリを示す設定に従って、第１〜第４メモリ１２１〜１２４からメモリを選択する。したがって、本例のスイッチ回路１５によると、設定を変更することにより、データの処理順序の変更に対して柔軟に対応することができる。
【０１２４】
次に、実施例に係るデータ処理方法について説明する。図２１は、実施例に係るデータ処理方法を示すフローチャートである。このデータ処理方法は、上述したデータ処理装置が用いられる。
【０１２５】
まず、データ処理装置は、外部または内部からリセット入力があったか否かを判定する（ステップＳｔ３０）。リセット入力がない場合（ステップＳｔ３０のＮＯ）、データ処理装置は、再びステップＳｔ３０の判定処理を行う。
【０１２６】
一方、リセット入力があった場合（ステップＳｔ３０のＹＥＳ）、データ処理装置は、第１〜第３データ処理回路１１１〜１１３の各々をリセットする（ステップＳｔ３１）。これにより、第１〜第３データ処理回路１１１〜１１３は、各種の設定が初期化される。
【０１２７】
次に、データ処理装置は、スイッチ回路１５をリセットする（ステップＳｔ３２）。これにより、スイッチ回路１５は、上記の接続設定レジスタＲＥＧ１ｗ〜ＲＥＧ３ｗ，ＲＥＧ１ｒ〜ＲＥＧ３ｒを含む各種の設定が初期化される。
【０１２８】
次に、データ処理装置は、プロセッサ１４をリセットする（ステップＳｔ３３）。これにより、プロセッサ１４は、ブートＲＯＭに格納されたブートシーケンスを開始する（ステップＳｔ３４）。
【０１２９】
ブートシーケンスが開始されると、プロセッサ１４は、まず、メモリマップを設定する（ステップＳｔ３５）。これにより、プロセッサ１内に、図９に示されたアドレス空間が形成される。
【０１３０】
次に、プロセッサ１４は、ブートＲＯＭからプログラムをロードする（ステップＳｔ３６）。これにより、上記のプログラム格納メモリ１３にプログラムが格納される。そして、プロセッサ１４は、プログラム動作を開始する（ステップＳｔ３７）。
【０１３１】
プログラム動作が開始されると、プロセッサ１４は、処理ルーチン（１）を実行するための設定を開始する（ステップＳｔ３８）。処理ルーチン（１）〜（ｎ）（ｎは自然数）は、それぞれ、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４による一連のデータ処理であり、個別の設定及びデータの処理順序を有する。プロセッサ１４は、スイッチ回路１５の設定を行い（ステップＳｔ３９）、次に、第１〜第３データ処理回路１１１〜１１３の設定を行う（ステップＳｔ４０）。これにより、第１〜第３データ処理回路１１１〜１１３は、所定の設定がなされ、また、スイッチ回路１５は、上記の接続設定レジスタＲＥＧ１ｗ〜ＲＥＧ３ｗ，ＲＥＧ１ｒ〜ＲＥＧ３ｒ（図２０参照）などの所定の設定がなされる。
【０１３２】
設定が完了すると、プロセッサ１４は、処理ルーチン（１）の実行を開始する（ステップＳｔ４１）。なお、処理ルーチン（１）におけるデータ処理順序は、第１データ処理回路１１１、第２データ処理回路１１２、第３データ処理回路１１３、プロセッサ１４の順であるとする。
【０１３３】
処理ルーチン（１）が開始されると、ＤＭＡコントローラにより、入力側バッファ１００から第１メモリ１２１にデータが転送される（ステップＳｔ４２）。次に、第１データ処理回路１１１は、第１メモリ１２１から処理待ちのデータを読み出す（ステップＳｔ４３）。そして、第１データ処理回路１１１は、データを処理して（ステップＳｔ４４）、処理済みのデータを第２メモリ１２２に書き込む（ステップＳｔ４５）。
【０１３４】
次に、第２データ処理回路１１２は、第２メモリ１２２から処理待ちのデータを読み出す（ステップＳｔ４６）。そして、第２データ処理回路１１２は、データを処理して（ステップＳｔ４７）、処理済みのデータを第３メモリ１２３に書き込む（ステップＳｔ４８）。
【０１３５】
次に、第３データ処理回路１１３は、第３メモリ１２３から処理待ちのデータを読み出す（ステップＳｔ４９）。そして、第３データ処理回路１１３は、データを処理して（ステップＳｔ５０）、処理済みのデータを第４メモリ１２４に書き込む（ステップＳｔ５１）。
【０１３６】
次に、プロセッサ１４は、第４メモリ１２４から処理待ちのデータを読み出す（ステップＳｔ５２）。そして、プロセッサ１４は、データを処理して（ステップＳｔ５３）、処理済みのデータを第５メモリ１７に書き込む（ステップＳｔ５４）。なお、このデータ処理の手順は、図７及び図１０を参照して述べたとおりである。
【０１３７】
次に、全ての処理が完了したデータを、ＤＭＡコントローラにより第５メモリ１７から出力側バッファ１０１に転送して外部に出力する（ステップＳｔ５５）。次に、プロセッサ１４は、処理ルーチン（１）が終了したか否かを判定する（ステップＳｔ５６）。終了の判定は、例えば、データ処理におけるエラーの有無などを参照して行われる。
【０１３８】
処理ルーチン（１）が終了していない場合（ステップＳｔ５６のＮＯ）、再びステップ４２から処理が行われる。他方、処理ルーチン（１）が終了している場合（ステップＳｔ５６のＹＥＳ）、プロセッサ１４は、処理ルーチン（２）を実行するための設定を開始する（ステップＳｔ５７）。以降の処理は、処理ルーチンごとのデータ処理順序に従って、ステップ３８からステップＳｔ５６までの処理と同様の処理が繰り返され、全ての処理ルーチンが終了すると、プログラム動作は終了する。このようにして、データ処理は行われる。
【０１３９】
このように、実施例に係るデータ処理方法は、第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４により、複数のメモリ１２１〜１２４，１７に記憶されたデータを順次に処理する。そして、複第１〜第３データ処理回路１１１〜１１３及びプロセッサ１４のうち、データの処理順序が連続する２つの一方がデータを書き込むとき及び他方がデータを読み出すとき、アクセス対象として、メモリ１２１〜１２４，１７から共通のメモリを選択する。
【０１４０】
したがって、実施例に係るデータ処理方法によると、上記のデータ処理装置と同様に、ＤＭＡコントローラによるデータの転送処理を低減することができる。なお、本実施例では、図７に示されたデータ処理装置を用いたデータ処理方法を例示したが、例えば図５に示されたデータ処理装置を用いたデータ処理方法も、同様の作用効果を奏する。
【０１４１】
上述したデータ処理装置及びデータ処理方法は、例えば画像認識装置に用いられる。図２２は、画像認識装置の構成を示す構成図である。
【０１４２】
画像認識装置は、ノイズ除去フィルタ回路３１１と、特徴点抽出フィルタ回路３１２と、アフィン変換回路３１３と、画像マッチング処理回路３１４とを有する。画像認識装置は、さらに、プロセッサ３２と、プログラム格納メモリ３３と、スイッチ回路３４と、入力側バッファ３００と、出力側バッファ３０１と、複数のメモリ３５とを有する。
【０１４３】
ノイズ除去フィルタ回路３１１、特徴点抽出フィルタ回路３１２、アフィン変換回路３１３、及び画像マッチング処理回路３１４は、それぞれ、上記のデータ処理回路１１１〜１１３に対応する。プロセッサ３２、プログラム格納メモリ３３、及びスイッチ回路３４は、上記のプロセッサ１４、プログラム格納メモリ１３、及びスイッチ回路１５にそれぞれ対応する。入力側バッファ３００、出力側バッファ３０１、及び複数のメモリ３５は、入力側バッファ１００、出力側バッファ１０１、及び第１〜第５メモリ１２１〜１２４，１７にそれぞれ対応する。
【０１４４】
本例において、処理対象となるデータは、ＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）サイズ（６４０×４８０（ピクセル））の画像データであり、そのフレームレートは、例えば１０〜３０（ｆｐｓ）である。
【０１４５】
画像データは、入力端子Ｔｉｎから入力側バッファ３００に入力され、複数のメモリ３５を介して、各機能部３１１〜３１４及びプロセッサ３２間において順次に受け渡される。このとき、各機能部３１１〜３１４及びプロセッサ３２は、データを読み込むとき、または書き込むとき、スイッチ回路３４を介して、複数のメモリ３５の１つにアクセスする。全ての処理が完了した画像認識結果は、スイッチ回路３４を介して出力側バッファ３０１に入力され、出力端子Ｔｏｕｔから装置の外部へ出力される。
【０１４６】
ノイズ除去フィルタ回路３１１は、例えばメディアンフィルタ処理を実行することにより、画像データからノイズを除去して、当該画像を平滑化する。次に、特徴点抽出フィルタ回路３１２は、ノイズ除去後の画像データに対して、例えば３×３、５×５、または７×７のフィルタ行列演算を行うことによって、例えば、当該画像のエッジ部分を検出して、エッジ画像を生成する。これにより、後段のプロセッサ３２及び画像マッチング処理回路３１４により実行される画像認識アルゴリズムにおいて用いられる、画像の特徴点が抽出される。
【０１４７】
次に、アフィン変換回路３１３は、特徴点が抽出された画像データの画像に対して、例えば、拡大処理、縮小処理、及び回転処理の少なくとも１つを施すことによって、上記の画像認識アルゴリズムに適した形状の画像に変換する。なお、この変換処理は、必要に応じて、実行の可否が決定されてもよい。
【０１４８】
次に、プロセッサ３２及び画像マッチング処理回路３１４は、拡大処理などが施された画像データに対して、画像認識アルゴリズムを実行する。この画像認識アルゴリズムは、その目的に従って、例えば、画像に含まれる人や顔、または車両を検出する処理である。
【０１４９】
画像マッチング処理回路３１４は、画像認識アルゴリズムのうち、比較的に高い処理速度が必要となる処理を実行する。プロセッサ３２は、画像認識アルゴリズムの実行中に、随時、画像マッチング処理回路３１４を起動して処理を行う。そして、画像認識処理が完了した画像認識結果は、出力端子Ｔｏｕｔを介して外部に出力される。
【０１５０】
なお、画像データの処理単位となる大きさは、機能部３１１〜３１４ごとに異なる。例えば、ノイズ除去フィルタ回路３１１及び特徴点抽出フィルタ回路３１２は、画像データを、特徴点抽出フィルタ回路３１２が用いるフィルタ行列の大きさに応じたライン数（ＶＧＡサイズの場合、１ラインは６４０（ピクセル））ごとに処理する。例えば、フィルタ行列の大きさが３×３の場合、ライン数は３となる。また、アフィン変換回路３１３は、１画面分の画像データごとに処理を行う。
【０１５１】
次に、上述したデータ処理装置及びデータ処理方法を無線通信装置に用いた例について説明する。図２３は、無線通信装置の構成を示す構成図である。より詳しくは、図２３は、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）技術を採用した無線通信装置の受信部の構成を示す。
【０１５２】
無線通信装置は、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ（有限インパルス応答））フィルタ回路４１１と、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ（高速フーリエ変換））回路４１２とを有する。無線通信装置は、また、デスクランブル／デインターリーブ回路４１３と、ターボデコーダ回路４１４と、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（巡回冗長検査））回路４１５とを有する。無線通信装置は、さらに、ＤＳＰ４２と、プログラム格納メモリ４３と、スイッチ回路４４と、入力側バッファ４００と、出力側バッファ４０１と、複数のメモリ４５とを有する。
【０１５３】
ＦＩＲフィルタ回路４１１、ＦＦＴ回路４１２、デスクランブル／デインターリーブ回路４１３、ターボデコーダ回路４１４、及びＣＲＣ回路４１５は、それぞれ、上記のデータ処理回路１１１〜１１３に対応する。ＤＳＰ４２、プログラム格納メモリ４３、及びスイッチ回路４４は、上記のプロセッサ１４、プログラム格納メモリ１３、及びスイッチ回路１５にそれぞれ対応する。入力側バッファ４００、出力側バッファ４０１、及び複数のメモリ４５は、入力側バッファ１００、出力側バッファ１０１、及び第１〜第５メモリ１２１〜１２４，１７にそれぞれ対応する。
【０１５４】
本例において、処理対象となるデータは、直交周波数分割多重方式（ＯＦＤＭ：Ｏｒｔｈｏｇｏｎａｌ  Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）により変調された信号の通信データである。無線通信装置は、この通信データの復調処理を行う。
【０１５５】
通信データは、入力端子Ｔｉｎから入力側バッファ４００に入力され、複数のメモリ４５を介して、各機能部４１１〜４１５及びＤＳＰ４２間において順次に受け渡される。このとき、各機能部４１１〜４１５及びＤＳＰ４２は、データを読み込むとき、または書き込むとき、スイッチ回路４４を介して、複数のメモリ４５の１つにアクセスする。全ての処理が完了した通信データは、スイッチ回路４４を介して出力側バッファ４０１に入力され、出力端子Ｔｏｕｔから装置の外部へ出力される。
【０１５６】
ＦＩＲフィルタ回路４１１は、通信データをＦＩＲフィルタによりフィルタリング処理し、有効帯域の信号成分を抽出する。次に、ＦＦＴ回路４１２は、抽出された有効帯域の信号成分をＦＦＴ処理する。
【０１５７】
次に、ＤＳＰ４２は、ＦＦＴ処理が完了した信号の復調処理を行う。なお、復調処理は、受信した信号にマッピングされた基準信号に基づいてチャネル推定を行い、これにより得られた値を用いて行われる。
【０１５８】
次に、デスクランブル／デインターリーブ回路４１３は、復調された信号に対し、送信側において施されたスクランブル及びインターリーブを解除する。次に、ターボデコーダ回路４１４は、スクランブル及びインターリーブが解除された信号に対して、ターボ符号化が施された部分の復号化処理を行う。次に、ＣＲＣ回路４１５は、復号化された信号のデータを、ＣＲＣ方式に従って検査する。検査の結果、通信データに誤りがない場合、通信データは、出力端子Ｔｏｕｔを介して装置外部に出力される。一方、通信データに誤りがある場合、無線通信装置は、例えば、通信データを廃棄して、送信側の装置に対して信号の再送要求を行う。このように、実施例に係るデータ処理回路は、各種の装置に適用される。
【０１５９】
以上、好ましい実施例を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば、種々の変形態様を採り得ることは自明である。
【０１６０】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  データをそれぞれ記憶する複数の記憶部と、
前記データを順次に処理する複数のデータ処理部と、
前記複数の記憶部と前記複数のデータ処理部とを接続し、前記複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択するスイッチ部とを有することを特徴とするデータ処理装置。
(付記２)  前記スイッチ部は、伝送方向が互いに異なる２つの環状伝送路を有し、
前記２つの環状伝送路は、それぞれ、前記複数の記憶部と前記複数のデータ処理部とに接続されていることを特徴とする付記１に記載のデータ処理装置。
（付記３）  前記複数の記憶部と前記複数のデータ処理部は、前記２つの環状伝送路における、前記データの処理順序に応じた位置に接続されていることを特徴とする付記２に記載されたデータ処理装置。
（付記４）  前記スイッチ部は、前記複数のデータ処理部が、それぞれ、前記複数の記憶部の何れにもアクセスできるように、前記複数の記憶部と前記複数のデータ処理部とを接続することを特徴とする付記１に記載のデータ処理装置。
（付記５）  前記スイッチ部は、前記複数のデータ処理部の各々について、前記複数の記憶部のうち、アクセス対象となる記憶部を示す設定に従って、前記複数の記憶部から記憶部を選択することを特徴とする付記２乃至４の何れかに記載のデータ処理装置。
（付記６）  前記スイッチ部は、前記複数のデータ処理部が、それぞれ、前記複数の記憶部のうち、前記データの処理順序に応じたアクセス対象となる記憶部にアクセスできるように、前記複数の記憶部と前記複数のデータ処理部とを接続することを特徴とする付記１に記載のデータ処理装置。
（付記７）  前記複数の記憶部は、それぞれ、２つの領域を含み、
前記２つの領域は、時間間隔をおいて交互に、一方に前記データが書き込まれ、他方から前記データが読み出されることを特徴とする付記１乃至６の何れかに記載のデータ処理装置。
（付記８）  前記複数のデータ処理部の少なくとも１つは、プロセッサであり、
前記複数の記憶部の少なくとも１つは、記憶領域が、前記プロセッサのアドレス空間に割り当てられていることを特徴とする付記１乃至７の何れかに記載のデータ処理装置。
（付記９）  複数の記憶部に記憶されたデータを順次に処理する複数のデータ処理部のうち、前記データの処理順序が連続する２つのデータ処理部の一方が前記データを書き込むとき、及び、前記２つのデータ処理部の他方が前記データを読み出すとき、アクセス対象として、前記複数の記憶部から共通の記憶部を選択することを特徴とするデータ処理方法。
（付記１０）  前記複数の記憶部は、それぞれ、２つの領域を含み、
前記２つの領域は、時間間隔をおいて交互に、一方に前記データが書き込まれ、他方から前記データが読み出されることを特徴とする付記８に記載のデータ処理方法。
（付記１１）  前記複数のデータ処理部の少なくとも１つは、プロセッサであり、
前記複数の記憶部の少なくとも１つは、記憶領域が、前記プロセッサのアドレス空間に割り当てられていることを特徴とする付記９または１０に記載のデータ処理方法。
【符号の説明】
【０１６１】
１１１〜１１３                    第１〜第３データ処理回路（データ処理部）
１４                              プロセッサ（データ処理部）
１２１〜１２４                    第１〜第４メモリ（記憶部）
１７                              第５メモリ（記憶部）
１５                              スイッチ回路（スイッチ部）
１５９ａ，１５９ｂ                環状伝送路
【図１】
2014093048.tif 000003
【図２】
2014093048.tif 000004
【図３】
2014093048.tif 000005
【図４】
2014093048.tif 000006
【図５】
2014093048.tif 000007
【図６】
2014093048.tif 000008
【図７】
2014093048.tif 000009
【図８】
2014093048.tif 000010
【図９】
2014093048.tif 000011
【図１０】
2014093048.tif 000012
【図１１】
2014093048.tif 000013
【図１２】
2014093048.tif 000014
【図１３】
2014093048.tif 000015
【図１４】
2014093048.tif 000016
【図１５】
2014093048.tif 000017
【図１６】
2014093048.tif 000018
【図１７】
2014093048.tif 000019
【図１８】
2014093048.tif 000020
【図１９】
2014093048.tif 000021
【図２０】
2014093048.tif 000022
【図２１】
2014093048.tif 000023
【図２２】
2014093048.tif 000024
【図２３】
2014093048.tif 000025