(57)【要約】ＳＩＭＤ／ＭＩＭＤデュアルモードのアーキテクチャプロセッサは、共通制御される第１のプロセッシングエレメント（ＰＥ）群と、自律制御される第２のプロセッシングエレメント群と、前記第１、第２のＰＥ群を順次接続するパイプラインネットワークと、を備える。アクセスコントローラは、前記第１、第２のＰＥ群の各ＰＥにそれぞれ接続されたアクセス制御線を有し、前記各ＰＥと前記パイプラインネットワークとの間のデータアクセスタイミングを制御する。各ＰＥは、ＳＩＭＤ／ＭＩＭＤデュアルモードのアーキテクチャプロセッサのように自律制御または共通制御することが可能である。配線エリア要件を緩和する。
2010520519.tif 000002
【特許請求の範囲】
【請求項１】
共通コントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、
他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、
前記第１、第２のプロセッシングエレメント群を順次接続するパイプラインネットワークと、
を備えるプロセッサ。
【請求項２】
請求項１のプロセッサにおいて、
更に、前記第１、第２のプロセッシングエレメント群の各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有し、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラを備えるプロセッサ。
【請求項３】
請求項２のプロセッサにおいて、
前記第１のプロセッシングエレメント群からのデータアクセスタイミングと前記第２のプロセッシングエレメント群からのデータアクセスタイミングとの関係が異なっているプロセッサ。
【請求項４】
請求項２または３のプロセッサにおいて、
前記第１のプロセッシングエレメント群へのデータアクセスは、前記各第１のプロセッシングエレメント群が前記ネットワークに同一のタイミングスロットでアクセスする並列アクセスであり、
前記第２のプロセッシングエレメント群へのデータアクセスは、前記各第２のプロセッシングエレメント群が前記ネットワークに独立してアクセスするスタンドアロン型アクセスであるプロセッサ。
【請求項５】
請求項２乃至４いずれか一のプロセッサにおいて、
前記アクセスコントローラは、前記ネットワークの利用効率の向上を達成できるよう前記ネットワークを制御するプロセッサ。
【請求項６】
請求項２乃至５いずれか一のプロセッサにおいて、
前記アクセスコントローラは、一のプロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御するプロセッサ。
【請求項７】
請求項４から６いずれか一のプロセッサにおいて、
前記アクセスコントローラは、前記並列アクセスまたは各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、一のスタンドアロン型アクセスに高い優先度を割り当てるプロセッサ。
【請求項８】
請求項４から６いずれか一のプロセッサにおいて、
前記アクセスコントローラは、各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、並列アクセスに高い優先度を割り当てるプロセッサ。
【請求項９】
請求項５のプロセッサにおいて、
前記アクセスコントローラは、各プロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御するプロセッサ。
【請求項１０】
請求項５のプロセッサにおいて、
前記アクセスコントローラは、要求されたデータの送信に要する時間を最小化するよう各プロセッシングエレメントへのデータアクセスタイミングを決定するプロセッサ。
【請求項１１】
請求項５から１０いずれか一のプロセッサにおいて、
前記各プロセッシングエレメントは、前記第１のプロセッシングエレメントまたは前記第２のプロセッシングエレメントのいずれかに設定可能であり、
前記アクセスコントローラは、前記第１のプロセッシングエレメントとして利用されているプロセッシングエレメントと、前記第２のプロセッシングエレメントとして利用されているプロセッシングエレメントと、を判定するプロセッサ。
【請求項１２】
請求項１から１１いずれか一のプロセッサにおいて、
前記第１、第２のプロセッシングエレメントからのデータ転送要求を調停するアービトレーションユニットを備えるプロセッサ。
【請求項１３】
請求項１から１２いずれか一のプロセッサにおいて、
前記第１のプロセッシングエレメントは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであり、
前記第２のプロセッシングエレメントは、ＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであるプロセッサ。
【請求項１４】
請求項１から１３いずれか一のプロセッサにおいて、
前記パイプラインネットワークは、パイプラインリングネットワークであるプロセッサ。
【請求項１５】
各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有するアクセスコントローラであって、
前記各プロセッシングエレメントは、
前記アクセスコントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、
他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、を備え、
前記第１、第２のプロセッシングエレメント群はパイプラインネットワークを介して順次接続されており、
前記アクセスコントローラは、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラ。
【請求項１６】
請求項１５のアクセスコントローラにおいて、
前記第１のプロセッシングエレメント群からのデータアクセスタイミングと前記第２のプロセッシングエレメント群からのデータアクセスタイミングとの関係が異なっているアクセスコントローラ。
【請求項１７】
請求項１６のアクセスコントローラにおいて、
前記第１のプロセッシングエレメント群へのデータアクセスは、前記各第１のプロセッシングエレメント群が前記ネットワークに同一のタイミングスロットでアクセスする並列アクセスであり、
前記第２のプロセッシングエレメント群へのデータアクセスは、前記各第２のプロセッシングエレメント群が前記ネットワークに独立してアクセスするスタンドアロン型アクセスであるアクセスコントローラ。
【請求項１８】
請求項１７のアクセスコントローラにおいて、
前記アクセスコントローラは、前記ネットワークの利用効率の向上を達成できるよう前記ネットワークを制御するアクセスコントローラ。
【請求項１９】
請求項１７のアクセスコントローラにおいて、
前記各プロセッシングエレメントは、前記第１のプロセッシングエレメントまたは前記第２のプロセッシングエレメントのいずれかに設定可能であり、
前記アクセスコントローラは、前記第１のプロセッシングエレメントとして利用されているプロセッシングエレメントと、前記第２のプロセッシングエレメントとして利用されているプロセッシングエレメントと、を判別するプロセッサ。
【請求項２０】
請求項１９のアクセスコントローラにおいて、さらに、
前記第１、第２のプロセッシングエレメント群へのデータ転送要求を調停するアービトレーション部を備えるアクセスコントローラ。
【請求項２１】
請求項２０のアクセスコントローラにおいて、
前記第１のプロセッシングエレメントは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであり、
前記第２のプロセッシングエレメントは、ＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであるアクセスコントローラ。
【請求項２２】
請求項１５から２１いずれか一のアクセスコントローラにおいて、
前記パイプラインネットワークは、パイプラインリングネットワークであるアクセスコントローラ。
【請求項２３】
第１のプロセッシングエレメント群により、共通コントローラの同一プログラムを実行するステップと、
第２のプロセッシングエレメント群により、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行するステップと、
前記第１、第２のプロセッシングエレメント群をパイプラインネットワークで順次接続するステップと、
を含むプロセッシング方法。
【請求項２４】
アクセス制御線を有するアクセスコントローラの制御方法であって、
各プロセッシングエレメントにそれぞれアクセス制御線を用意することを含み、さらに、
第１のプロセッシングエレメント群により、前記アクセスコントローラの同一プログラムを実行するステップと、
第２のプロセッシングエレメント群により、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行するステップと、
前記第１、第２のプロセッシングエレメント群をパイプラインネットワークで順次接続するステップと、
前記アクセスコントローラにより、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するステップと、
を含むことにより、前記各プロセッシングエレメントを制御する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送帯域コスト低減のためのアーキテクチャデザインに関し、特に、配線領域の削減方法、最大限のデュアルモードプロセッサの適用性を提供するとともに、面積要件に関し最適化されたデザインに到達するために自律制御または共通制御されるプロセッシングエレメント（ＰＥ）を有するアーキテクチャの制御方法に関する。
【背景技術】
【０００２】
現在まで、１回の命令で多重データストリームを操作する（ＳＩＭＤ）方式や複数の命令ストリームで多重データストリームを操作する（ＭＩＭＤ）方式の数多くのプロセッサが提案されてきている。前者の方式のプロセッサのアーキテクチャは特許文献１に開示されている。前者のタイプのプロセッサの多くは、規則的なデータと制御フローを伴う独立したデータの低レベルのタスクの処理や、規則的なデータアクセスであるが不規則なデータと制御フローを伴う中レベルのタスクの処理といった計算上高コストな処理に用いられている。後者のタイプのプロセッサのアーキテクチャは特許文献２に開示されている。後者のタイプのプロセッサは、不規則なデータと制御フローを伴う不規則な入力データの処理に向いている。これは、ＭＩＭＤプロセッサが規則的な入力データを伴うタスク実行中には、本来なら共通化可能な回路でも複数存在することになってしまう一方で、ＳＩＭＤプロセッサ（複数）が不規則な入力データを伴うタスクを実行する場合には、稼動されない回路（プロセッシングエレメント）が多数発生してしまうという問題に帰着する。
【０００３】
Ｈ．２６４のように多くの近年提案されているアルゴリズムは、前記部分的にＳＩＭＤ制御方式とＭＩＭＤ制御方式に従うサブアルゴリズムによって構成されている。そこで、新しいデュアルモードのＳＩＭＤ／ＭＩＭＤアーキテクチャがいくつか提案されている。これらアーキテクチャの多くは、ＭＩＭＤアプローチを起点とし、ＳＩＭＤ機能を有効化するための追加のクロスバを追加している。特許文献３から６は、その例である。他のいくつかのアプローチとしては、特許文献７のように、ＳＩＭＤユニットと、ＭＩＭＤユニットをそれぞれ所定数加えていくことによりＳＩＭＤとＭＩＭＤの処理能力を固定した割合を持つものがある。また特許文献８のように、メモリ管理機能を持たないプロセッシングエレメントのアレイにメモリ管理機能を持った所謂ユーザコンピュータの数を加算していくことによるアプローチも提案されている。
【０００４】
下記は、特許文献のリストである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第３５３７０７４号明細書
【特許文献２】米国特許第４８３７６７６号明細書
【特許文献３】米国特許第５２１２７７７号明細書
【特許文献４】米国特許第５２３９６５４号明細書
【特許文献５】米国特許第５５２２０８３号明細書
【特許文献６】米国特許第５９０３７７１号明細書
【特許文献７】米国特許第５３５５５０８号明細書
【特許文献８】米国特許第６４８７６５１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なお、上記特許文献１−８の全開示内容はその引用をもって本書に組み入れられ、また、必要に応じ参照される。
本発明に基づく分析によれば、上記した各アプローチは、共通して、外部メモリと内部メモリを持つプロセッシングエレメント間のデータ転送のために複雑なクロスバを必要としている。これは、例えば、デュアルモードＳＩＭＤ／ＭＩＭＤアーキテクチャのように、自律制御も共通制御も可能なプロセッシングエレメントを持つアーキテクチャのため、データバス上の大きな配線面積要件となる。このように、本技術には多くの解決課題がある。
【０００７】
従って、本発明の目的は、複数のプロセッシングエレメント（以下、「ＰＥ」と称する。）を持つプロセッサおよびプロセッシングシステムであって、各ＰＥ間を接続するための配線面積を削減できる新規なプロセッサおよびプロセッシングシステムを提供することにある。
【０００８】
本発明の別の目的は、それぞれ自律または共通制御されるＰＥのアレイを持つプロセッサおよびプロセッシングシステムのための新規なソリューションを提供することにある。
【０００９】
本発明のさらなる目的は、データバス用の配線面積要件に関して、前記自律または共通制御されるＰＥのアレイを持つプロセッサおよびプロセッシングシステムを改良することにある。
【００１０】
本発明のその他の目的は本明細書の全開示内容によって明らかにされる。
【課題を解決するための手段】
【００１１】
本発明によれば、総じて、望ましくはリング状にすべてのプロセッシングエレメントとグローバルなデータ転送制御部を順次接続するパイプラインバスシステムを用いることによって、前記削減が達成される。
【００１２】
より具体的には、本発明は種々の視点を提供する。
【００１３】
本発明の第１の視点によれば、共通コントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、前記第１、第２のプロセッシングエレメント群を順次接続するパイプラインネットワークと、を備えるプロセッサが提供される。
【００１４】
本発明の第２の視点によれば、前記プロセッサは、さらに、前記第１、第２のプロセッシングエレメント群の各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有し、前記各プロセッシングエレメントと前記ネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラを備えている。
【００１５】
本発明の第３の視点によれば、前記第１のプロセッシングエレメント群からのデータアクセスタイミングと前記第２のプロセッシングエレメント群からのデータアクセスタイミングとの関係が異なっている。
【００１６】
本発明の第４の視点によれば、前記第１のプロセッシングエレメント群へのデータアクセスは、前記各第１のプロセッシングエレメント群が前記ネットワークに同一のタイミングスロットでアクセスする並列アクセスであり、前記第２のプロセッシングエレメント群へのデータアクセスは、前記各第２のプロセッシングエレメント群が前記ネットワークに独立してアクセスするスタンドアロン型アクセスである。
【００１７】
本発明の第５の視点によれば、前記アクセスコントローラは、前記ネットワークの利用効率の増大（向上）を達成できるよう前記ネットワークを制御する。
【００１８】
本発明の第６の視点によれば、前記アクセスコントローラは、一のプロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御する。
【００１９】
本発明の第７の視点によれば、前記アクセスコントローラは、前記並列アクセスまたは各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、一のスタンドアロン型アクセスに高い優先度を割り当てる。
【００２０】
本発明の第８の視点によれば、前記アクセスコントローラは、各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、並列アクセスに高い優先度を割り当てる。
【００２１】
本発明の第９の視点によれば、前記アクセスコントローラは、各プロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御する。
【００２２】
本発明の第１０の視点によれば、前記アクセスコントローラは、要求されたデータの送信に要する時間を最小化するよう各プロセッシングエレメントへのデータアクセスタイミングを決定する。
【００２３】
本発明の第１１の視点によれば、前記各プロセッシングエレメントは、前記第１のプロセッシングエレメントまたは前記第２のプロセッシングエレメントのいずれかに設定可能であり、前記アクセスコントローラは、前記第１のプロセッシングエレメントとして利用されているプロセッシングエレメントと、前記第２のプロセッシングエレメントとして利用されているプロセッシングエレメントと、を判別する。
【００２４】
本発明の第１２の視点によれば、前記プロセッサは、前記第１、第２のプロセッシングエレメント群へのデータ転送要求を調停するアービトレーション部を備える。
【００２５】
本発明の第１３の視点によれば、前記第１のプロセッシングエレメントは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであり、前記第２のプロセッシングエレメントは、ＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントである。
【００２６】
本発明の第１４の視点によれば、前記パイプラインネットワークは、パイプラインリングネットワークである。
【００２７】
本発明の第１５の視点によれば、各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有するアクセスコントローラであって、前記各プロセッシングエレメントは、前記アクセスコントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、を備え、前記第１、第２のプロセッシングエレメント群はパイプラインネットワークを介して順次接続されており、前記アクセスコントローラは、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラが提供される。
【００２８】
本発明の更なる視点において、前記アクセスコントローラは、前記各視点において述べられたプロセッサのいずれか一つと連携する構成を採ることができる。
【００２９】
更なる視点において、第１のプロセッシングエレメント群により、共通コントローラの同一プログラムを実行するステップと、第２のプロセッシングエレメント群により、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行するステップと、前記第１、第２のプロセッシングエレメント群をパイプラインネットワークで順次接続するステップと、を含むプロセッシング方法が提供される。
【００３０】
更なる視点において、アクセス制御線を有するアクセスコントローラの制御方法が提供される。このアクセスコントローラの制御方法は、各プロセッシングエレメントにそれぞれアクセス制御線を用意することを含み、さらに、第１のプロセッシングエレメント群により、前記アクセスコントローラの同一プログラムを実行するステップと、第２のプロセッシングエレメント群により、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行するステップと、前記第１、第２のプロセッシングエレメント群をパイプラインネットワークで順次接続するステップと、前記アクセスコントローラにより、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するステップとを含むことにより、前記各プロセッシングエレメントを制御する。
【発明の効果】
【００３１】
本発明の効果は次のように要約される。
【００３２】
まず、チップエリア要件において２つの効果が達成される。その一つは、グローバルデータ転送制御部とすべてのデータ信号の接続数が、プロセッシングエレメントの数の逆数まで削減され、グローバルデータ転送部の周囲の配線エリアを小さくできることである。さらに、クリティカルパス長の問題を防止するのに必要とされることがある特別な駆動セルも不要となるため、これらデータ信号の配線長を削減することができる。
【図面の簡単な説明】
【００３３】
【図１】図１は、各ＰＥが自律制御または共通制御され、ＧＣＵ（グローバル制御部）に接続されたパイプラインデータ転送ネットワークを持つ、８ＰＥアーキテクチャの模式図である。
【図２】図２は、外部メモリアクセスのためのアービタの例を表した模式図である。
【図３】図３は、ＰＥ内部メモリユニットへの制御されたアクセスのための信号選択ロジックの用法を表した模式図である。
【図４】図４は、デュアルモードＳＩＭＤ／ＭＩＭＤアーキテクチャの例におけるデータおよび制御信号転送ネットワークを表した模式図である。
【図５】図５は、アービタからＭＩＭＤモードで動作するプロセッシングエレメント（ＰＥ２）へのデータ転送のタイミングチャートである。
【図６】図６は、アービタからＳＩＭＤモードで動作するすべてのＰＥへのデータ転送のタイミングチャートである。
【発明を実施するための形態】
【００３４】
図１は、グローバル制御部（ＧＣＵ）１０１と、自律制御型１０２または共通制御型のいずれにもなりうる８つのプロセッシングエレメント（ＰＥ）のアレイと、前記ＧＣＵとすべてのＰＥを順次接続するデータ転送ネットワークとしてのパイプラインバス１０４と、を備えるアーキテクチャ形態の一例を示している。それぞれのＰＥの動作モードは、モード決定部にて自由に選択可能であるが、本形態では、奇数番のＰＥが共通制御に設定され、偶数番のＰＥが自律制御に設定されているものとする。
【００３５】
上記のようなアーキテクチャにおける各ＰＥから外部メモリへのデータ転送のため、外部メモリアービタ２０１が追加される。このアービタにおいて前記共通制御のためのＧＣＵからのリクエスト（複数）と、自律制御型ＰＥからのリクエスト（複数）は、図２に示すように処理される。この処理は、いくつかの異なる方法により行うことが可能である。まず第１に、共通制御されているＰＥ群が継続して急いで処理すべきいくつかのタスクに取り掛かっているとき、グローバルコントローラリクエストにプライオリティが付与される。または第２に、ある一つの自律制御型ＰＥが継続して急いで処理すべきタスクに取り掛かっているとき、当該自律制御型ＰＥにプライオリティが付与される。その他、データを送信するために必要な期間を最小化し、または、本形態で用いているように、同一のプライオリティのリクエストの送信元には、アクセス待ち時間が最も長いユニットにアクセスを与えるように、プライオリティを付与する方法を採りうる。
【００３６】
本形態の全体において、４つの異なるリクエストのタイプが、主アービトレーション部２０２にて調停される。そのうちの３つは、ＧＣＵ２０５からの共通制御されるＰＥ群のための、命令キャッシュとデータキャッシュとＰＥ  ＩＭＥＭ（Ｉｎｔｅｒｎａｌ  ＭＥＭｏｒｙ）データ転送制御である。残る一つは、自律制御型ＰＥ群からのＰＥのＩＭＥＭリクエストである。最後のリクエストは、各自律制御型ＰＥから到着しうるので、まず、本形態の如くプライオリティを持つ自律制御型ＰＥ群のために次のことを行う。即ち、リクエスト選択ロジックとパラメータ決定ロジックとからなる事前アービトレーションロジック２０３にて次に受理されるアクティブな自律制御型ＰＥの選択が行われる。前記リクエスト選択ロジックは、第１段階において、葉ノードの情報と子の親ノードの情報を受け取る「ＯＲ」操作からなるＰＥリクエストを用いて、葉ノードからルートに到るリクエスト・ツリーを生成する。第２段階において、前記リクエスト・ツリーの親ノードの「最後の子ノード（Ｌａｓｔ  Ｃｈｉｌｄ  ｔａｋｅｎ）」の情報を更新しながら、ルートから葉ノードをたどっていき、最も長い間使われておらず、かつ、現在リクエストを行っているＰＥが探索される。その後、パラメータ決定ロジックへのリクエストによって、アクティブなＰＥからのパラメータが取得され、アービタ（ユニット）内の主アービトレーション部に渡される。前記本形態の如くパラメータ決定ロジックは、現にアクティブとなっているＰＥに関する情報がすべてのＰＥに送信され、現に非アクティブとなっているＰＥがそれぞれゼロベクトルを送信することによってそれぞれのリクエストパラメータを無効化（ｄｉｓａｂｌｅ）にするとの前提の下では、本形態の如く簡単な「ＯＲ」ゲートで構成することができる。ＰＥが自律制御モードで動作しているか、共通制御モードで動作しているかの判定は、アービタのアクセスコントローラ２０４内で行われる。この割り当て（配置）は、ネットワークの高い効率を達成するためにラインタイム中、変更されうる。
【００３７】
セレクタ（ユニット）３０１を介したモードに応じて、アービタ内のＰＥ  ＩＭＥＭ部ユニット３０２への正しい制御線３０３を選択することによって、自律制御および共通制御ＰＥ群のための異なるアクセス方式が実行される（図３参照）。自律制御型ＰＥへのデータ転送の場合、一度には唯一つのＩＭＥＭがアクセスされる。一方、共通制御型ＰＥへのデータ転送に際しては、すべての共通制御型ＰＥ  ＩＭＥＭユニットは同時にアクセスされる。
【００３８】
図４に、デュアルモードＳＩＭＤ／ＭＩＭＤアーキテクチャの例を示す。同図に示されたように、このアーキテクチャは、ＩＭＥＭおよびリングバスレジスタＲを含み、ＭＩＭＤ型の処理を実行可能となって自律制御またはＳＩＭＤ型の処理を実行可能となって共通制御のいずれかで動作可能なＰＥ群４０１と、外部メモリアービタ４０２を有するＧＣＵとを備えている。ここで、前記コンセプトに捉われることなく、ＭＩＭＤ制御されるＰＥ群に代えて、ＭＩＳＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｉｎｇｌｅ  Ｄａｔａ）制御されるＰＥ群を選択することもできる。本実施例のアーキテクチャにおける転送ネットワークは、前記ＰＥ群と、外部メモリアービタを備えたＧＣＵ間のアドレス及び制御信号のための制御線４０３が非パイプラインとなり、信号と直接接続されるようになっている。一方、データ信号は、一方向性のパイプラインリングバスシステム４０４上を転送させる。このパイプラインリングバスシステム４０４により、第１に配線面積の削減が実現され、第２にクリティカルパス長の低減が実現されている。さらに、このようなバスシステムは、双方向ネットワークの問題を生じさせることなく、前記アービタからＰＥ  ＩＭＥＭへのデータ転送のみならず、ＰＥ  ＩＭＥＭからアービタへのデータ転送を可能としている。
【００３９】
［実施例］
図４に示したシステムにおいて、異なるＰＥ制御方式についてそれぞれ異なる転送方法が提供される。図５は、アービタから自律制御型のプロセッシングエレメントＰＥ２への３バイトのＤ０、Ｄ１、Ｄ２のリード転送の例のタイミングブロック図である。図５に示したように、アービタ内部での現にアクティブなＰＥの選択後、ＭＩＭＤモードで動作するＰＥからのリクエストＲＥＱが行われると、アービタによってデータ転送が開始・制御される。ＰＥ選択（ＳＥＬ）、ＰＥ番号（ＮＯ）、レジスタシフト（ＳＦＴ）、データロード（ＬＤ）、データストア（ＳＴ）といった信号をアービタ内部で正確に設定し、適宜設定されたパスを設定するためにこれら信号を各ＰＥに直接転送することによって、前記データは、パイプラインリングバスのレジスタＰＥｎＲ上を転送され、指定されたＰＥにストアされる、
【００４０】
ＭＩＭＤモードで動作するＰＥからのリードリクエストデータのためのデータ転送リクエストは、一つのＰＥ  ＩＭＥＭに一度に送信される。これに対し、ＳＩＭＤモードでは、ＳＩＭＤモード（アクティブ）で動作するすべてのＰＥからＩＭＥＭは同時に満たされる。それゆえ、Ｄ０からＤ７までの第１のデータは、前記アービタからパイプラインリングバスのすべてのレジスタＰＥｎＲに転送される。そして、図６のタイミングチャートに示すように、現にアクティブなＰＥのため前記データは前記レジスタからメモリモジュールにロードされる。８つのＰＥを持つ図１のアーキテクチャにおけるリードリクエストのため、すべての奇数番のＰＥ群がＳＩＭＤモードにてアクティブであり、これらアクティブなＰＥのためのデータロード制御信号（ＬＤＰＥｎ）が転送終了のクロックサイクルでセットされる。その他のデータロード制御信号およびすべてのデータストア信号（ＳＴＰＥｎ）は変更されず、ゼロ値を保持する。
【００４１】
アービタ内における現在ＩＭＥＭに転送している種類についての情報はリクエスト元によって供給される。ＭＩＭＤモードにおいては自律制御型のＰＥであり、ＳＩＭＤモードでは、ＧＣＵである。一方、ＰＥが自律制御モードであるかまたは共通制御モードであるかといった決定は、アービタ内のアクセスコントローラによって行われる。
【００４２】
次の実施例は、本発明のより望ましい変形例を提供するものである。
【００４３】
デュアルモードＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）／ＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのデータは、外部メモリと、内部メモリを持つプロセッシングエレメントとの間を転送させる必要がある。これは、多数のＰＥを有するアーキテクチャの場合に、データバスのため配線エリア要件が厳しくなるという問題の原因となっている。
【００４４】
この問題は、ＰＥ毎に自律制御または共通制御のいずれかに設定できるＰＥ群を備えた今回新しく提案する構成のアーキテクチャによって解決される。このデュアルモードＳＩＭＤ／ＭＩＭＤアーキテクチャは、データ転送ネットワークとして、すべてのＰＥと、外部メモリアービタを備えるグローバル制御部とを順次接続する、パイプラインバスシステム（望ましくはリング型）を用いることによって、前記配線エリア要件を緩和することができる。上記のようなネットワークを介したデータ転送は、ＭＩＭＤモードにおいて単一のＰＥに対して一度に行われる。例えば、当該ＩＭＥＭへのパスを開くとともにその他すべてのＰＥ  ＩＭＥＭユニットへのパスを閉じ、アービタからパイプライン（リング）バスを介して目的のＰＥにデータを遷移させることによってＰＥ  ＩＭＥＭにデータを転送することで、一度にデータ転送が行われる。反対に、ＳＩＭＤモードでは、アービタからバスへの正確な数のデータワードを解放し、データワードがパイプラインバス上の目的のレジスタに到達するまで前記パイプライン（リング）バスを介して前記データを遷移させることで、データはすべての共通制御されるＰＥに同時に送信される。その後、前記共通制御されるＰＥ群のためのＩＭＥＭユニットへのオープン・パスを設定することによって、データはすべての共通制御されるＰＥ群からそのＩＭＥＭユニットに同時にストアされる。
【産業上の利用可能性】
【００４５】
本発明は、エンベデッドシステム用のハイパフォーマンスプロセッサデザインを達成するために用いることができる。
本発明のその他目的、特徴および側面は、全開示（請求の範囲を含む）に表されていることに留意されたい。また、添付した請求の範囲に記載された範囲に捉われることなく、開示した実施形態の枠内において、変更・調整が可能である。
また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４６】
１０１：命令キャッシュとデータキャッシュを含み、共通制御されるプロセッシングエレメントのための共通コントローラとして動作するグローバル制御部（ＧＣＵ）
１０２：自律制御型ＰＥ、ＰＥは自身の制御部を用いる
１０３：共通制御型ＰＥ，ＰＥはＧＣＵ内の共通の制御部を用いる
１０４：データ信号転送用レジスタ（Ｒ）を持つパイプラインリングバス
２０１：アービタ、主アービトレーション部と、事前アービトレーション部と、アクセスコントローラとから構成される
２０２：アービタ内の主アービトレーション部
２０３：リクエスト選択ロジックおよびリクエストパラメータ決定ロジックからなる自律制御型ＰＥのリクエストための事前アービトレーション部
２０４：ＰＥ群とネットワーク間のアクセスタイミングを制御するアクセスコントローラ
２０５：ＧＣＵ、共通制御型ＰＥ群のための命令キャッシュ、データキャッシュよびＰＥのＩＭＥＭデータ転送制御部を含む
３０１：自律制御型および共通制御型ＰＥ群に転送される制御信号の制御のためのセレクタ
３０２：ＰＥ ＩＭＥＭ
３０３：制御線
４０１：ＩＭＥＭとリングバスレジスタ（Ｒ）を持つＰＥ
４０２：データ信号転送制御用の外部メモリアービタを持つＧＣＵ
４０３：ＰＥとネットワーク間のアクセスタイミング制御用のアクセス制御線
４０４：データ信号転送用の一方向性パイプラインリングバス
【図１】
2010520519.tif 000003
【図２】
2010520519.tif 000004
【図３】
2010520519.tif 000005
【図４】
2010520519.tif 000006
【図５】
2010520519.tif 000007
【図６】
2010520519.tif 000008
【手続補正書】
【提出日】平成20年1月4日(2008.1.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
共通コントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、
他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、
前記第１、第２のプロセッシングエレメント群を順次接続するパイプラインネットワークと、
前記第１、第２のプロセッシングエレメント群の各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有し、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラと、
を備えるプロセッサ。
【請求項２】
請求項１のプロセッサにおいて、
前記第１のプロセッシングエレメント群からのデータアクセスタイミングと前記第２のプロセッシングエレメント群からのデータアクセスタイミングとの関係が異なっているプロセッサ。
【請求項３】
請求項１または２のプロセッサにおいて、
前記第１のプロセッシングエレメント群へのデータアクセスは、前記各第１のプロセッシングエレメント群が前記ネットワークに同一のタイミングスロットでアクセスする並列アクセスであり、
前記第２のプロセッシングエレメント群へのデータアクセスは、前記各第２のプロセッシングエレメント群が前記ネットワークに独立してアクセスするスタンドアロン型アクセスであるプロセッサ。
【請求項４】
請求項１、２、３いずれか一のプロセッサにおいて、
前記アクセスコントローラは、前記ネットワークの利用効率の向上を達成できるよう前記ネットワークを制御するプロセッサ。
【請求項５】
請求項１、２から４いずれか一のプロセッサにおいて、
前記アクセスコントローラは、一のプロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御するプロセッサ。
【請求項６】
請求項３から５いずれか一のプロセッサにおいて、
前記アクセスコントローラは、前記並列アクセスまたは各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、一のスタンドアロン型アクセスに高い優先度を割り当てるプロセッサ。
【請求項７】
請求項３から５いずれか一のプロセッサにおいて、
前記アクセスコントローラは、各プロセッシングエレメントへのデータアクセスタイミングが割り当てられている場合のスタンドアロン型アクセスよりも、並列アクセスに高い優先度を割り当てるプロセッサ。
【請求項８】
請求項４のプロセッサにおいて、
前記アクセスコントローラは、各プロセッシングエレメントに対する所定のバスアクセス待ち時間を保持するよう前記ネットワークを制御するプロセッサ。
【請求項９】
請求項４のプロセッサにおいて、
前記アクセスコントローラは、要求されたデータの送信に要する時間を最小化するよう各プロセッシングエレメントへのデータアクセスタイミングを決定するプロセッサ。
【請求項１０】
請求項４から９いずれか一のプロセッサにおいて、
前記各プロセッシングエレメントは、前記第１のプロセッシングエレメントまたは前記第２のプロセッシングエレメントのいずれかに設定可能であり、
前記アクセスコントローラは、前記第１のプロセッシングエレメントとして利用されているプロセッシングエレメントと、前記第２のプロセッシングエレメントとして利用されているプロセッシングエレメントと、を判定するプロセッサ。
【請求項１１】
各プロセッシングエレメントにそれぞれ接続されたアクセス制御線を有するアクセスコントローラであって、
前記各プロセッシングエレメントは、
前記アクセスコントローラの同一プログラムを実行する第１のプロセッシングエレメント群と、
他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行する第２のプロセッシングエレメント群と、を備え、
前記第１、第２のプロセッシングエレメント群はパイプラインネットワークを介して順次接続されており、
前記アクセスコントローラは、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するアクセスコントローラ。
【請求項１２】
請求項１１のアクセスコントローラにおいて、
前記第１のプロセッシングエレメント群からのデータアクセスタイミングと前記第２のプロセッシングエレメント群からのデータアクセスタイミングとの関係が異なっているアクセスコントローラ。
【請求項１３】
請求項１２のアクセスコントローラにおいて、
前記第１のプロセッシングエレメント群へのデータアクセスは、前記各第１のプロセッシングエレメント群が前記ネットワークに同一のタイミングスロットでアクセスする並列アクセスであり、
前記第２のプロセッシングエレメント群へのデータアクセスは、前記各第２のプロセッシングエレメント群が前記ネットワークに独立してアクセスするスタンドアロン型アクセスであるアクセスコントローラ。
【請求項１４】
請求項１３のアクセスコントローラにおいて、
前記アクセスコントローラは、前記ネットワークの利用効率の向上を達成できるよう前記ネットワークを制御するアクセスコントローラ。
【請求項１５】
請求項１３のアクセスコントローラにおいて、
前記各プロセッシングエレメントは、前記第１のプロセッシングエレメントまたは前記第２のプロセッシングエレメントのいずれかに設定可能であり、
前記アクセスコントローラは、前記第１のプロセッシングエレメントとして利用されているプロセッシングエレメントと、前記第２のプロセッシングエレメントとして利用されているプロセッシングエレメントと、を判別するプロセッサ。
【請求項１６】
請求項１５のアクセスコントローラにおいて、さらに、
前記第１、第２のプロセッシングエレメント群へのデータ転送要求を調停するアービトレーション部を備えるアクセスコントローラ。
【請求項１７】
請求項１６のアクセスコントローラにおいて、
前記第１のプロセッシングエレメントは、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであり、
前記第２のプロセッシングエレメントは、ＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）アーキテクチャのプロセッシングエレメントであるアクセスコントローラ。
【請求項１８】
請求項１１から１７いずれか一のアクセスコントローラにおいて、
前記パイプラインネットワークは、パイプラインリングネットワークであるアクセスコントローラ。
【請求項１９】
アクセス制御線を有するアクセスコントローラの制御方法であって、
各プロセッシングエレメントにそれぞれアクセス制御線を用意することを含み、さらに、
第１のプロセッシングエレメント群により、前記アクセスコントローラの同一プログラムを実行するステップと、
第２のプロセッシングエレメント群により、他のプロセッシングエレメントのプログラムとは独立してそれぞれ固有のプログラムを実行するステップと、
前記第１、第２のプロセッシングエレメント群をパイプラインネットワークで順次接続するステップと、
前記アクセスコントローラにより、前記各プロセッシングエレメントと前記パイプラインネットワークとの間のデータアクセスタイミングを制御するステップと、
を含むことにより、前記各プロセッシングエレメントを制御する制御方法。
【国際調査報告】
2010520519.tif 000009
2010520519.tif 000010
2010520519.tif 000011