(57)【要約】  データを処理する複数の処理ユニット（Ｄｖ１〜ＤｖＭ）と、複数の処理ユニット（Ｄｖ１〜ＤｖＭ）からのデータを保存する少なくとも一つのメモリ手段（ＭＭ）と、複数の処理ユニット（Ｄｖ１〜ＤｖＭ）と少なくとも一つのメモリ手段（ＭＭ）とを接続するインターコネクト手段（ＩＭ）とを備えたデータ処理システムが提供される。処理ユニット（Ｄｖ１〜ＤｖＭ）は、少なくとも一つのメモリ手段（ＭＭ）にデータを書き込むためにインターコネクト手段（ＩＭ）を介して少なくとも一つのメモリ手段（ＭＭ）に書き込みアクセスを要求することに適応している。複数の処理ユニット（Ｄｖ１〜ＤｖＭ）から少なくとも一つのメモリ手段（ＭＭ）へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段（ＡＵ）が提供され、複数の処理ユニット（Ｄｖ１〜ＤｖＭ）から少なくとも一つのメモリ手段（ＭＭ）への書き込みアクセスによりもたらされるインターコネクト手段の最低論理レベル変化に基づいてインターコネクト・アービトレーションが行われる。従って、異なる処理ユニットからの二つ以上の書き込み要求が受け付けられる場合、その処理ユニットに対して、インターコネクト・アービトレーション、即ち、インターコネクトへのアクセスが許可され、インターコネクトを介してメモリ手段へ送出されるデータがインターコネクト手段に対して最低論理レベル変化となる。それにより、論理レベルのスイッチングに起因する電力消費が低減される。
2008503823.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する複数の処理ユニットと、
前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、
前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを接続するインターコネクト手段と備え、
前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込むために前記インターコネクト手段を介して前記少なくとも一つのメモリ手段に書き込みアクセスを要求することに適応し、
さらに、前記複数の処理ユニットから前記少なくとも一つのメモリ手段へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段とを備え、
前記複数の処理ユニットから前記少なくとも一つのメモリ手段への書き込みアクセスによりもたらされる前記インターコネクト手段の最低論理レベル変化に基づいて前記インターコネクト・アービトレーションが行われるデータ処理システム。
【請求項２】
前記少なくとも一つのアービター手段は、さらに、最後に送出されたデータと次に送出されるデータとの値の間のハミング距離を検出することにより前記インターコネクト・アービトレーションを行うことに適応している請求項１に記載のデータ処理システム。
【請求項３】
前記アービター手段は、消費電力に対し最適化された前記インターコネクト・アービトレーションを有効/無効とするための有効/無効化ユニットを備える請求項１又は２に記載のデータ処理システム。
【請求項４】
前記インターコネクト・アービトレーションは、必要とされる消費電力を全体的に削減する一連のアクセスを検出するために、最後に送出されたデータと、前記インターコネクトを介して前記メモリ手段に伝送されるデータとを比較することにより行われる請求項１に記載のデータ処理システム。
【請求項５】
データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを結合するインターコネクト手段とを備えたデータ処理システム内でのインターコネクト・アービトレーションのための方法であって、
前記少なくとも一つのメモリ手段にデータを書き込むために、前記インターコネクト手段を介して前記メモリ手段にアクセスを要求し、
前記インターコネクト手段を介して前記メモリ手段にデータを書き込む前記複数の処理ユニットによりもたらされる前記インターコネクトの最低論理レベル変化に基づいてインターコネクト・アービトレーションを行う方法。
【発明の詳細な説明】
【発明の属する技術分野】
【０００１】
本発明はデータ処理システム及びインターコネクト・アービトレーション方法に関する。
【従来の技術】
【０００２】
ＰＤＡ、ノートブック、移動電話、携帯ＭＰ−３再生機等の携帯機器の高まる利用と成功に応じて、今日の集積回路並びにその設計において、これら機器の消費電力が益々重要になってきており、消費電力を削減させるためにそれ相当の研究並びに設計努力がなられてきている。そのような機器に用いられるＩＣのＶＬＳＩ設計はナノメータの世界に移っており、システム・オン・チップ内のインターコネクトにより消費されるエネルギがシステム全体の消費電力のかなりの部分を占めている。さらに、携帯機器の重量及び寸法削減に対する限界要因の一つが、携帯機器の電子回路により消費される電力を供給するのに必要なバッテリ量に関わっている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
インターコネクト即ちバス又はネットワークの消費電力は、電圧変化、配線による遅延、インターコネクトのトポグラフィ等のインターコネクトの物理的特性のみならず、システム・オン・チップ内のデータフロー即ちプロセサ・プロセサ間通信並びにプロセサ・メモリ間通信に基づくものである。この通信は次のようなものに起因する。即ち、キャッシュ及びメモリ・トランザクション（共通メモリからのデータ・フェッチ）、キャッシュ・コヒーレンス動作（共通メモリ内でアップデートされたデータは同期トラフィックとなるすべてのキャッシュ・コピーでアップデートされなければならない）、パケット・セグメンテーション・オーバーヘッド（データフローをパケットにセグメンテーションするとさらなるデータ・オーバーヘッドとなる）、又は、パケット間コンテンション（同時出力時のパケット巡回）である。
【０００４】
従って、本発明の目的は、複数処理ユニットを備えたデータ処理システムの消費電力を削減させることである。
【課題を解決するための手段】
【０００５】
この目的は請求項１によるデータ処理システム、並びに、請求項５によるインターコネクト・アービトレーションにより解決される。
【０００６】
従って、データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを接続するインターコネクト手段とを備えたデータ処理システムが提供される。前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込みために、前記インターコネクト手段を介して前記少なくとも一つのメモリ手段に書き込みアクセスを要求することに適応している。前記複数の処理ユニットから前記少なくとも一つのメモリ手段へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段が設けられ、前記複数の処理ユニットから前記少なくとも一つのメモリ手段への書き込みアクセスによりもたらされる前記インターコネクト手段の最低論理レベル変化に基づいて前記インターコネクト・アービトレーションが行われる。
【０００７】
従って、異なる処理ユニットからの二つ以上の書き込み要求が受け付けられる場合、その処理ユニットに対して、インターコネクト・アービトレーション、即ち、インターコネクトへのアクセスが許可され、インターコネクトを介してメモリ手段へ送出されるデータがインターコネクト手段に対して最低論理レベル変化となる。それにより、論理レベルのスイッチングに起因する電力消費が低減される。
【０００８】
本発明のアスペクトによれば、前記少なくとも一つのアービター手段は、さらに、最後に送出されたデータと次に送出されるデータとの値の間のハミング距離を検出することにより前記インターコネクト・アービトレーションを行うことに適応している。従って、これが、インターコネクト内の最低論理レベル変化を検出する簡便な方法を提供する。
【０００９】
本発明のさらなるアスペクトによれば、前記アービター手段は、消費電力に対し最適化された前記インターコネクト・アービトレーションを有効/無効とするための有効/無効化ユニットを備える。従って、データ処理システムにより時間的制約の有る処理が行われようとすると、電力消費のために最適化されたインターコネクト・アービトレーションが無効とされることができる。
【００１０】
本発明は、さらに、データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを結合するインターコネクト手段とを備えたデータ処理システム内でのインターコネクト・アービトレーションのための方法に関する。前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込むために、前記インターコネクト手段を介して前記メモリ手段にアクセスを要求する。前記インターコネクト手段を介して前記メモリ手段にデータを書き込む前記複数の処理ユニットによりもたらされる前記インターコネクトの最低論理レベル変化に基づいてインターコネクト・アービトレーションが行われる。
【００１１】
本発明のさらなるアスペクトが添付請求の範囲に記載されている。
【００１２】
本発明のこれら並びに他のアスペクトは、以下に記載される実施形態を参照することにより明白であり、且つ、明瞭になる。
【発明を実施するための最良の形態】
【００１３】
システム・オン・チップ、即ち、ある種のインターコネクトを介して互いに通信を行う同一チップ上の複数モジュールに関して、本発明の原理が第一の実施形態において説明される。
【００１４】
第一の実施形態によるシステム・オン・チップのブロック・ダイアグラムが図１に示されている。システム・オン・チップ環境は、複数の処理モジュールＤｖ１、Ｄｖ２、．．．、ＤｖＭ，バス・インターフェース・ユニットＢＩＵ、インターコネクト手段ＩＭ並びにメモリ手段ＭＭを備える。処理モジュールＤｖ１〜ＤｖＭは、バス・インターフェース・ユニットＢＩＵ及びインターコネクト手段ＩＭを介して、データＤ１、Ｄ２、．．．、ＤＭをそれぞれメモリ手段ＭＭに伝送することに適応している。
【００１５】
処理モジュールＤｖ１〜ＤｖＭの一つからバスＩＭを介してメモリ手段ＭＭに既に伝送されたデータをＤ０とする。しかし、処理モジュールＤｖ１〜ＤｖＭは、ここで、インターコネクト手段ＩＭを介して、データＤ１、Ｄ２、．．．、ＤＭをそれぞれメモリ手段ＭＭに伝送する用意ができている。バスＩＭがデータＤ１、Ｄ２、．．．、ＤＭを伝送するのに必要な最低論理レベル変化に応じて、バス・インターフェース・ユニットＢＩＵがこれら処理ユニットの一つを選び、そして、インターコネクト手段ＩＭを介したメモリ手段ＭＭへのアクセスを許可する。これは、これらデータＤ１〜ＤＭの内容とバスＩＭを介して既に伝送されたデータＤ０の内容とを比較して行われる。
【００１６】
特に、バス・インターフェース・ユニットＢＩＵは、バスＩＭ上で最低論理レベル変化が必要となる異なる処理モジュールＤｖ１〜ＤｖＭからのそれらの書き込み要求を選択するためのアービター・ユニットＡＵを備え、対応する処理ユニットに許可を与える。
【００１７】
好ましくは、この比較は、既に送出されたデータＤ０の内容と伝送されるデータの内容との間のハミング距離を検出する機能を用いて行われる。バス・インターフェース・ユニットＢＩＵ内において、すべての書き込み要求と対応データとが保存され、そして、以前のデータと比較される。これは連続的に又は平行に行われてもよい。
【００１８】
ハミング距離は、一つのビット列を他のビット列に変換するために変化されなければならない最低ビット数に相当する。ｘ及びｙを同じ長さのバイナリ・シーケンスとすると、これら二シーケンス間のハミング距離は互いに対応しないシンボル数となる。例えば、ｘ＝１００００１１０、ｙ＝０１１０１０００とすると、ハミング距離はｘからｙへと変化するビット数となる。ここで、この数は６である。
【００１９】
上記例において、Ｍが４であると、図１によれば、システム・オン・チップ内には四つの処理モジュールＤｖ１〜Ｄｖ４が存在することになる。これら四つの処理モジュールはバスへのアクセスのために競うことになり、処理モジュールのためにバスＩＭを用いるための複数の要求が同時に起きると、バス・アービトレーションが四つの処理モジュールから一つを選択しなければならない。データＤ１、Ｄ２、Ｄ３，Ｄ４を伝送するよう四つの要求が四つの処理モジュールから同時に起きた場合、四つの要求のうちのどれに答えるかをバス・アービトレーションが決定することが要求される。既にバス上に乗せられたワードがＤ０であるとすると、バス・アービトレーションが、Ｄ０とＤｉとの間のビット変化が最低であるようなハミング関数ｈ（Ｄ０、Ｄｉ）を用い、ここで、Ｄｉ＝Ｄ１、Ｄ２、．．．、ＤＮである（この例ではＮ＝４）。そして、要求（Ｄｉ）が最低ハミング距離となるデバイスがバス・アクセスの許可を受ける。
【００２０】
例えば、
Ｄ０＝１０１０１０１０、そして、
Ｄ１＝１１１１００００、
Ｄ２＝００００１０１０、
Ｄ３＝０１０１０１０１、
Ｄ４＝００１１００１１
とする。
ここでは、ｈ（Ｄ０、Ｄ１）＝４，ｈ（Ｄ０、Ｄ２）＝２，ｈ（Ｄ０、Ｄ３）＝８，ｈ（Ｄ０、Ｄ４）＝４。従って、バスへのアクセスが処理モジュールＤｖ２に与えられる。
【００２１】
選択的であるが、バス・インターフェース・ユニットＢＩＵ内又はアービター・ユニットＡＵ内にマップ・メモリ入出力ＭＭＩＯレジスタが配置される。このレジスタは、消費電力削減を基とした上記のアービトレーション機能を有効/無効とするのに用いられる。時間的制約の無い計算を伴う処理が行われるとすると、この省電力アービトレーション機能は起動される。ところが、時間的制約の有る計算を伴う処理が行われるとすると、所定時間又は時間的制約の有る処理が行われる間、消費電力削減用アービトレーション機能が無効又はスイッチ・オフとされることができる。その後、電力削減アービトレーション機能は有効又はスイッチ・オンとされてもよい。電力削減アービトレーション機能の状態がＭＭＩＯレジスタに保存されてもよい。このようにして、省電力バス・アービトレーション機能が他の従来のバス・アービトレーション機能と組み合わされることができる。処理の制約度に応じてこのモードはスイッチ・オン/オフとされることができる。この情報はバス・インターフェース・ユニットＢＩＵ内のあるメモリに保存されてもよい。即ち、ある処理タスクグラフに対して、考えられる複数処理タスクグラフのルックアップ・テーブルを基にランタイムで特定のアービトレーション・モ−ドが選択されることができ、これはバス・インターフェース・ユニットＢＩＵに保存されてもよい。
【００２２】
バスの全消費電力は、バスの論理レベルのスイッチングの間の消費電力に占められるので、バス上の論理レベル変化を少なくすると、電子回路全体の消費電力が削減される。クロック・レート、供給電圧、ノード容量、並びに、各クロック周期でノードにおいて０から１又は１から０へと消費電力が変化する平均回数に、論理レベル変化による消費電力が依存する。バスの消費電力に関するさらなる情報については、Ｃｈａｎｄｒａｋａｓａｎらの“Ｍｉｎｉｍｉｚｉｎｇ  ｐｏｗｅｒ  ｃｏｎｓｕｍｐｔｉｏｎ  ｉｎ  ＣＭＯＳ  ｃｉｒｃｕｉｔｓ”ｉｎ  Ｐｒｏｃ．ｏｆ  ｔｈｅ  ＩＥＥＥ，Ｖｏｌ．８３，ｎｏ．４，Ａｐｒｉｌ  １９９５を参照されたい。
【００２３】
バス・アービトレーションにさらに必要となる回路が電力を所定量消費し得るが、この量は、バスライン内でのスイッチングを少なくすることによる省電力に比べると遙かに小さい。特に、上記比較を行うのに必要なそれらのデータは、単に、処理モジュールからバス・インターフェース・ユニットＢＩＵへ伝送されるだけで、インターコネクト即ちバスを介さない。バスラインは長く、そして、チップの主なる部分を占めるので、これらバスラインは動作にかなりの量の電力を必要とする。
【００２４】
別の実施形態では、インターコネクト手段が、バスとしてではなく、ネットワーク・オン・チップとして導入されてもよい。ネットワーク・オン・チップでは、ネットワークと個々の処理モジュールとの間の通信を制御するよう設計されたネットワーク・インターフェースを介して、処理モジュールがネットワークに結合されてもよい。ここで、アービトレーションが分配されるように、ネットワーク・インターフェースにアービターが導入されてもよい。アービトレーションの実際の動作は第一の実施形態で記載されたように行われる。
【００２５】
さらなる実施形態によれば、バスラインの以前の内容が実際のペンディングとなっている書き込み要求と比較され、これは、全体として必要な消費電力を削減する一連のアクセスを検出するために、以前の内容と、インターコネクトからメモリ手段へ伝送される幾つかのデータと比較することにより行われてもよい。
【００２６】
本発明は、携帯又は小型機器の消費電力を最低に留めるためにバス・アービトレーションの手法を提供するという考えに基づいている。異なる機器又はモジュールから発生された、バスを介したデータ伝送の複数要求に対し、結果としてデータが最低論理レベル変化又は最低ハミング距離となるデバイスへのアクセスを許可することによりバス・アービトレーションが行われる。
【図面の簡単な説明】
【００２７】
【図１】第一の実施形態によるシステム・オン・チップの原理的なブロック・ダイアグラムを示す図である。
【図１】
2008503823.tif 000003
【国際調査報告】
2008503823.tif 000004
2008503823.tif 000005