説明

データ処理システム及びインターコネクト・アービトレーション方法

データを処理する複数の処理ユニット(Dv1〜DvM)と、複数の処理ユニット(Dv1〜DvM)からのデータを保存する少なくとも一つのメモリ手段(MM)と、複数の処理ユニット(Dv1〜DvM)と少なくとも一つのメモリ手段(MM)とを接続するインターコネクト手段(IM)とを備えたデータ処理システムが提供される。処理ユニット(Dv1〜DvM)は、少なくとも一つのメモリ手段(MM)にデータを書き込むためにインターコネクト手段(IM)を介して少なくとも一つのメモリ手段(MM)に書き込みアクセスを要求することに適応している。複数の処理ユニット(Dv1〜DvM)から少なくとも一つのメモリ手段(MM)へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段(AU)が提供され、複数の処理ユニット(Dv1〜DvM)から少なくとも一つのメモリ手段(MM)への書き込みアクセスによりもたらされるインターコネクト手段の最低論理レベル変化に基づいてインターコネクト・アービトレーションが行われる。従って、異なる処理ユニットからの二つ以上の書き込み要求が受け付けられる場合、その処理ユニットに対して、インターコネクト・アービトレーション、即ち、インターコネクトへのアクセスが許可され、インターコネクトを介してメモリ手段へ送出されるデータがインターコネクト手段に対して最低論理レベル変化となる。それにより、論理レベルのスイッチングに起因する電力消費が低減される。

【発明の詳細な説明】
【発明の属する技術分野】
【0001】
本発明はデータ処理システム及びインターコネクト・アービトレーション方法に関する。
【従来の技術】
【0002】
PDA、ノートブック、移動電話、携帯MP−3再生機等の携帯機器の高まる利用と成功に応じて、今日の集積回路並びにその設計において、これら機器の消費電力が益々重要になってきており、消費電力を削減させるためにそれ相当の研究並びに設計努力がなられてきている。そのような機器に用いられるICのVLSI設計はナノメータの世界に移っており、システム・オン・チップ内のインターコネクトにより消費されるエネルギがシステム全体の消費電力のかなりの部分を占めている。さらに、携帯機器の重量及び寸法削減に対する限界要因の一つが、携帯機器の電子回路により消費される電力を供給するのに必要なバッテリ量に関わっている。
【発明の開示】
【発明が解決しようとする課題】
【0003】
インターコネクト即ちバス又はネットワークの消費電力は、電圧変化、配線による遅延、インターコネクトのトポグラフィ等のインターコネクトの物理的特性のみならず、システム・オン・チップ内のデータフロー即ちプロセサ・プロセサ間通信並びにプロセサ・メモリ間通信に基づくものである。この通信は次のようなものに起因する。即ち、キャッシュ及びメモリ・トランザクション(共通メモリからのデータ・フェッチ)、キャッシュ・コヒーレンス動作(共通メモリ内でアップデートされたデータは同期トラフィックとなるすべてのキャッシュ・コピーでアップデートされなければならない)、パケット・セグメンテーション・オーバーヘッド(データフローをパケットにセグメンテーションするとさらなるデータ・オーバーヘッドとなる)、又は、パケット間コンテンション(同時出力時のパケット巡回)である。
【0004】
従って、本発明の目的は、複数処理ユニットを備えたデータ処理システムの消費電力を削減させることである。
【課題を解決するための手段】
【0005】
この目的は請求項1によるデータ処理システム、並びに、請求項5によるインターコネクト・アービトレーションにより解決される。
【0006】
従って、データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを接続するインターコネクト手段とを備えたデータ処理システムが提供される。前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込みために、前記インターコネクト手段を介して前記少なくとも一つのメモリ手段に書き込みアクセスを要求することに適応している。前記複数の処理ユニットから前記少なくとも一つのメモリ手段へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段が設けられ、前記複数の処理ユニットから前記少なくとも一つのメモリ手段への書き込みアクセスによりもたらされる前記インターコネクト手段の最低論理レベル変化に基づいて前記インターコネクト・アービトレーションが行われる。
【0007】
従って、異なる処理ユニットからの二つ以上の書き込み要求が受け付けられる場合、その処理ユニットに対して、インターコネクト・アービトレーション、即ち、インターコネクトへのアクセスが許可され、インターコネクトを介してメモリ手段へ送出されるデータがインターコネクト手段に対して最低論理レベル変化となる。それにより、論理レベルのスイッチングに起因する電力消費が低減される。
【0008】
本発明のアスペクトによれば、前記少なくとも一つのアービター手段は、さらに、最後に送出されたデータと次に送出されるデータとの値の間のハミング距離を検出することにより前記インターコネクト・アービトレーションを行うことに適応している。従って、これが、インターコネクト内の最低論理レベル変化を検出する簡便な方法を提供する。
【0009】
本発明のさらなるアスペクトによれば、前記アービター手段は、消費電力に対し最適化された前記インターコネクト・アービトレーションを有効/無効とするための有効/無効化ユニットを備える。従って、データ処理システムにより時間的制約の有る処理が行われようとすると、電力消費のために最適化されたインターコネクト・アービトレーションが無効とされることができる。
【0010】
本発明は、さらに、データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを結合するインターコネクト手段とを備えたデータ処理システム内でのインターコネクト・アービトレーションのための方法に関する。前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込むために、前記インターコネクト手段を介して前記メモリ手段にアクセスを要求する。前記インターコネクト手段を介して前記メモリ手段にデータを書き込む前記複数の処理ユニットによりもたらされる前記インターコネクトの最低論理レベル変化に基づいてインターコネクト・アービトレーションが行われる。
【0011】
本発明のさらなるアスペクトが添付請求の範囲に記載されている。
【0012】
本発明のこれら並びに他のアスペクトは、以下に記載される実施形態を参照することにより明白であり、且つ、明瞭になる。
【発明を実施するための最良の形態】
【0013】
システム・オン・チップ、即ち、ある種のインターコネクトを介して互いに通信を行う同一チップ上の複数モジュールに関して、本発明の原理が第一の実施形態において説明される。
【0014】
第一の実施形態によるシステム・オン・チップのブロック・ダイアグラムが図1に示されている。システム・オン・チップ環境は、複数の処理モジュールDv1、Dv2、...、DvM,バス・インターフェース・ユニットBIU、インターコネクト手段IM並びにメモリ手段MMを備える。処理モジュールDv1〜DvMは、バス・インターフェース・ユニットBIU及びインターコネクト手段IMを介して、データD1、D2、...、DMをそれぞれメモリ手段MMに伝送することに適応している。
【0015】
処理モジュールDv1〜DvMの一つからバスIMを介してメモリ手段MMに既に伝送されたデータをD0とする。しかし、処理モジュールDv1〜DvMは、ここで、インターコネクト手段IMを介して、データD1、D2、...、DMをそれぞれメモリ手段MMに伝送する用意ができている。バスIMがデータD1、D2、...、DMを伝送するのに必要な最低論理レベル変化に応じて、バス・インターフェース・ユニットBIUがこれら処理ユニットの一つを選び、そして、インターコネクト手段IMを介したメモリ手段MMへのアクセスを許可する。これは、これらデータD1〜DMの内容とバスIMを介して既に伝送されたデータD0の内容とを比較して行われる。
【0016】
特に、バス・インターフェース・ユニットBIUは、バスIM上で最低論理レベル変化が必要となる異なる処理モジュールDv1〜DvMからのそれらの書き込み要求を選択するためのアービター・ユニットAUを備え、対応する処理ユニットに許可を与える。
【0017】
好ましくは、この比較は、既に送出されたデータD0の内容と伝送されるデータの内容との間のハミング距離を検出する機能を用いて行われる。バス・インターフェース・ユニットBIU内において、すべての書き込み要求と対応データとが保存され、そして、以前のデータと比較される。これは連続的に又は平行に行われてもよい。
【0018】
ハミング距離は、一つのビット列を他のビット列に変換するために変化されなければならない最低ビット数に相当する。x及びyを同じ長さのバイナリ・シーケンスとすると、これら二シーケンス間のハミング距離は互いに対応しないシンボル数となる。例えば、x=10000110、y=01101000とすると、ハミング距離はxからyへと変化するビット数となる。ここで、この数は6である。
【0019】
上記例において、Mが4であると、図1によれば、システム・オン・チップ内には四つの処理モジュールDv1〜Dv4が存在することになる。これら四つの処理モジュールはバスへのアクセスのために競うことになり、処理モジュールのためにバスIMを用いるための複数の要求が同時に起きると、バス・アービトレーションが四つの処理モジュールから一つを選択しなければならない。データD1、D2、D3,D4を伝送するよう四つの要求が四つの処理モジュールから同時に起きた場合、四つの要求のうちのどれに答えるかをバス・アービトレーションが決定することが要求される。既にバス上に乗せられたワードがD0であるとすると、バス・アービトレーションが、D0とDとの間のビット変化が最低であるようなハミング関数h(D0、D)を用い、ここで、Di=D1、D2、...、Dである(この例ではN=4)。そして、要求(D)が最低ハミング距離となるデバイスがバス・アクセスの許可を受ける。
【0020】
例えば、
D0=10101010、そして、
D1=11110000、
D2=00001010、
D3=01010101、
D4=00110011
とする。
ここでは、h(D0、D1)=4,h(D0、D2)=2,h(D0、D3)=8,h(D0、D4)=4。従って、バスへのアクセスが処理モジュールDv2に与えられる。
【0021】
選択的であるが、バス・インターフェース・ユニットBIU内又はアービター・ユニットAU内にマップ・メモリ入出力MMIOレジスタが配置される。このレジスタは、消費電力削減を基とした上記のアービトレーション機能を有効/無効とするのに用いられる。時間的制約の無い計算を伴う処理が行われるとすると、この省電力アービトレーション機能は起動される。ところが、時間的制約の有る計算を伴う処理が行われるとすると、所定時間又は時間的制約の有る処理が行われる間、消費電力削減用アービトレーション機能が無効又はスイッチ・オフとされることができる。その後、電力削減アービトレーション機能は有効又はスイッチ・オンとされてもよい。電力削減アービトレーション機能の状態がMMIOレジスタに保存されてもよい。このようにして、省電力バス・アービトレーション機能が他の従来のバス・アービトレーション機能と組み合わされることができる。処理の制約度に応じてこのモードはスイッチ・オン/オフとされることができる。この情報はバス・インターフェース・ユニットBIU内のあるメモリに保存されてもよい。即ち、ある処理タスクグラフに対して、考えられる複数処理タスクグラフのルックアップ・テーブルを基にランタイムで特定のアービトレーション・モ−ドが選択されることができ、これはバス・インターフェース・ユニットBIUに保存されてもよい。
【0022】
バスの全消費電力は、バスの論理レベルのスイッチングの間の消費電力に占められるので、バス上の論理レベル変化を少なくすると、電子回路全体の消費電力が削減される。クロック・レート、供給電圧、ノード容量、並びに、各クロック周期でノードにおいて0から1又は1から0へと消費電力が変化する平均回数に、論理レベル変化による消費電力が依存する。バスの消費電力に関するさらなる情報については、Chandrakasanらの“Minimizing power consumption in CMOS circuits”in Proc.of the IEEE,Vol.83,no.4,April 1995を参照されたい。
【0023】
バス・アービトレーションにさらに必要となる回路が電力を所定量消費し得るが、この量は、バスライン内でのスイッチングを少なくすることによる省電力に比べると遙かに小さい。特に、上記比較を行うのに必要なそれらのデータは、単に、処理モジュールからバス・インターフェース・ユニットBIUへ伝送されるだけで、インターコネクト即ちバスを介さない。バスラインは長く、そして、チップの主なる部分を占めるので、これらバスラインは動作にかなりの量の電力を必要とする。
【0024】
別の実施形態では、インターコネクト手段が、バスとしてではなく、ネットワーク・オン・チップとして導入されてもよい。ネットワーク・オン・チップでは、ネットワークと個々の処理モジュールとの間の通信を制御するよう設計されたネットワーク・インターフェースを介して、処理モジュールがネットワークに結合されてもよい。ここで、アービトレーションが分配されるように、ネットワーク・インターフェースにアービターが導入されてもよい。アービトレーションの実際の動作は第一の実施形態で記載されたように行われる。
【0025】
さらなる実施形態によれば、バスラインの以前の内容が実際のペンディングとなっている書き込み要求と比較され、これは、全体として必要な消費電力を削減する一連のアクセスを検出するために、以前の内容と、インターコネクトからメモリ手段へ伝送される幾つかのデータと比較することにより行われてもよい。
【0026】
本発明は、携帯又は小型機器の消費電力を最低に留めるためにバス・アービトレーションの手法を提供するという考えに基づいている。異なる機器又はモジュールから発生された、バスを介したデータ伝送の複数要求に対し、結果としてデータが最低論理レベル変化又は最低ハミング距離となるデバイスへのアクセスを許可することによりバス・アービトレーションが行われる。
【図面の簡単な説明】
【0027】
【図1】第一の実施形態によるシステム・オン・チップの原理的なブロック・ダイアグラムを示す図である。

【特許請求の範囲】
【請求項1】
データを処理する複数の処理ユニットと、
前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、
前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを接続するインターコネクト手段と備え、
前記複数の処理ユニットは、前記少なくとも一つのメモリ手段にデータを書き込むために前記インターコネクト手段を介して前記少なくとも一つのメモリ手段に書き込みアクセスを要求することに適応し、
さらに、前記複数の処理ユニットから前記少なくとも一つのメモリ手段へのアクセスのためにインターコネクト・アービトレーションを行う少なくとも一つのアービター手段とを備え、
前記複数の処理ユニットから前記少なくとも一つのメモリ手段への書き込みアクセスによりもたらされる前記インターコネクト手段の最低論理レベル変化に基づいて前記インターコネクト・アービトレーションが行われるデータ処理システム。
【請求項2】
前記少なくとも一つのアービター手段は、さらに、最後に送出されたデータと次に送出されるデータとの値の間のハミング距離を検出することにより前記インターコネクト・アービトレーションを行うことに適応している請求項1に記載のデータ処理システム。
【請求項3】
前記アービター手段は、消費電力に対し最適化された前記インターコネクト・アービトレーションを有効/無効とするための有効/無効化ユニットを備える請求項1又は2に記載のデータ処理システム。
【請求項4】
前記インターコネクト・アービトレーションは、必要とされる消費電力を全体的に削減する一連のアクセスを検出するために、最後に送出されたデータと、前記インターコネクトを介して前記メモリ手段に伝送されるデータとを比較することにより行われる請求項1に記載のデータ処理システム。
【請求項5】
データを処理する複数の処理ユニットと、前記複数の処理ユニットからのデータを保存する少なくとも一つのメモリ手段と、前記複数の処理ユニットと前記少なくとも一つのメモリ手段とを結合するインターコネクト手段とを備えたデータ処理システム内でのインターコネクト・アービトレーションのための方法であって、
前記少なくとも一つのメモリ手段にデータを書き込むために、前記インターコネクト手段を介して前記メモリ手段にアクセスを要求し、
前記インターコネクト手段を介して前記メモリ手段にデータを書き込む前記複数の処理ユニットによりもたらされる前記インターコネクトの最低論理レベル変化に基づいてインターコネクト・アービトレーションを行う方法。

【図1】
image rotate


【公表番号】特表2008−503823(P2008−503823A)
【公表日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2007−517589(P2007−517589)
【出願日】平成17年6月14日(2005.6.14)
【国際出願番号】PCT/IB2005/051954
【国際公開番号】WO2006/000944
【国際公開日】平成18年1月5日(2006.1.5)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】