(57)【要約】【課題】少なくとも一時的にあらゆる誤り訂正対策を使用不可にすることによって、処理エラーへの対処による悪影響を軽減する。【解決手段】所与の処理の状況が誤り訂正対策を必要とするか否かを監視し、この種の対策が必要でないとき、あらゆる回復可能な誤り訂正対策を使用不可にすることによって、様々な処理の状況で誤り訂正対策を使用不可にするための方法および装置が提供される。方法および装置は、命令またはデータを実行するときに誤り訂正対策が使用されなければならないか否かを示す属性を、命令またはデータと関連付けることをさらに含む。【選択図】図１
2006178987.tif 000002
【特許請求の範囲】
【請求項１】
命令またはデータを分析して、誤り訂正対策が命令またはデータと関連して使用されなければならないか否かを決定し、
決定に基づいて誤り訂正対策の使用を不可にすることを含む命令およびデータの処理方法。
【請求項２】
前記命令はロード命令またはストア命令であることを特徴とする請求項１に記載の方法。
【請求項３】
前記命令はＤＭＡデータ転送命令であることを特徴とする請求項１または２に記載の方法。
【請求項４】
属性を命令またはデータと関連付けることをさらに含み、前記属性は、命令またはデータを実行するときに誤り訂正対策が使用されなければならないか否かを示すことを特徴とする請求項１ないし３のいずれかに記載の方法。
【請求項５】
誤り訂正対策が使用されるべきでないと決定され、誤り訂正対策が使用不可とされる場合、命令またはデータとともに前記属性を選択された構成要素に伝搬することをさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
誤り訂正対策が使用されなければならないか否かについての前記決定は、命令またはデータによって特定されるアドレスがアドレス範囲内にあるか否かを確認することを含むことを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項７】
前記アドレス範囲は一つまたは複数の以上のレジスタによって指定されることを特徴とする請求項６に記載の方法。
【請求項８】
誤り訂正対策が使用されなければならないか否かについての前記決定は、アドレス変換の実行中に、メモリ管理ユニットにおいて属性テーブルを確認することによって実行されることを特徴とする請求項１ないし５のいずれかに記載の方法。
【請求項９】
前記命令または前記データは、その命令の実行時またはそのデータの処理時に誤り訂正対策が使用されなければならないか否かを示す属性を有し、
前記属性は、命令またはデータを装置に送信するためのトランザクションパケットに含まれることを特徴とする請求項１ないし８のいずれかに記載の方法。
【請求項１０】
誤り訂正対策が使用されなければならないか否かについての前記決定は、複数の誤り訂正対策を識別し、使用不可にする一つまたは複数の誤り訂正対策を選択することを含むことを特徴とする請求項１ないし５または９のいずれかに記載の方法。
【請求項１１】
命令またはデータを分析して、誤り訂正対策が該命令または該データに関連して使用されなければならないか否かを決定する手段と、
決定に基づき誤り訂正対策を使用不可にする手段と、
を備えることを特徴とする命令またはデータを処理するプロセッサ。
【請求項１２】
前記命令はデータ転送動作であることを特徴とする請求項１１に記載のプロセッサ。
【請求項１３】
命令またはデータの実行時に誤り訂正対策が使用されなければならないか否かを示す属性が、該命令または該データと関連付けされていることを特徴とする請求項１１または１２に記載のプロセッサ。
【請求項１４】
誤り訂正対策が使用不可であるときに少なくともその一部が利用されるアドレス範囲を指定する一つまたは複数のレジスタをさらに備えることを特徴とする請求項１１ないし１３のいずれかに記載のプロセッサ。
【請求項１５】
アドレス変換の実行中に、誤り訂正対策が命令またはデータとともに使用されなければならないか否かを決定するための属性テーブルを確認するメモリ管理ユニットをさらに備えることを特徴とする請求項１１ないし１４のいずれかに記載のプロセッサ。
【請求項１６】
（ａ）選択された命令まはた選択されたデータを分析し、該選択された命令または該選択されたデータに関連してあらゆる誤り訂正対策が使用されなければならないか否かを決定する手段、（ｂ）選択された命令または選択されたデータを決定する前記手段がプロセッサによって実行されるべき場合に、決定にしたがって少なくとも一つの誤り訂正対策を使用可能または使用不可にするための手段、（ｃ）選択された命令または選択されたデータを伝搬するための手段、を含むプロセッサと、
前記伝搬手段から選択された命令または選択されたデータを受け取るように動作可能な装置と、
を備えることを特徴とする、命令およびデータに関連した誤り訂正対策を処理可能なシステム。
【請求項１７】
前記装置はキャッシュメモリであることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記装置は記憶バッファであることを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記装置はプロセッサ内部のローカルメモリであることを特徴とする請求項１６に記載のシステム。
【請求項２０】
前記装置は入出力装置であることを特徴とする請求項１６に記載のシステム。
【請求項２１】
一つまたは複数の誤り訂正対策が使用されなければならないか否かを示す属性をさらに含むことを特徴とする請求項１６に記載のシステム。
【請求項２２】
前記伝搬手段は、前記装置に送信される選択された命令または選択されたデータを含むトランザクションパケットに前記属性を添付することを特徴とする請求項１６ないし２１のいずれかに記載のシステム。
【請求項２３】
前記決定手段は、選択された命令または選択されたデータと関連するアドレスがアドレス範囲内にあるか否かを確認することを特徴とする請求項１６ないし２２のいずれかに記載のシステム。
【請求項２４】
前記決定手段は少なくとも一つのレジスタを含むことを特徴とする請求項１６ないし２３のいずれかに記載のシステム。
【請求項２５】
前記決定手段は、アドレス変換の実行中に属性を確認するメモリ管理ユニットを備えることを特徴とする請求項１６ないし２４のいずれかに記載のシステム。
【請求項２６】
プロセッサによって発行された命令に関連付けされたアドレスを取得し、
前記アドレスがメモリ内の予め定められたアドレス範囲内にあるか否かを決定し、
前記アドレスが予め定められた範囲内にあるとき、誤り訂正対策を使用不可にすることを特徴とする命令処理方法。
【請求項２７】
プロセッサにより発行される命令がデータ転送動作を含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記決定ステップは、予め定められた範囲を表すハードウェアレジスタからの情報にアクセスすることを含むことを特徴とする請求項２６または２７に記載の方法。
【請求項２９】
前記情報は、予め定められた範囲の開始アドレス、予め定められた範囲の長さ、および予め定められた範囲の終了アドレスのうち少なくとも一つを含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
プロセッサにより発行されたデータ転送コマンドからアドレスを取得し、
データ転送コマンドのアドレスに関連付けられたメモリ内の物理アドレスを決定するためのアドレス変換テーブルにアクセスし、
データ転送コマンドのアドレスおよび物理アドレスのうち少なくとも一つに関連付けられた誤り訂正属性を取得するための属性テーブルにアクセスし、
関連する属性が使用不可を示すとき、少なくとも一つの誤り訂正対策を使用不可にすることを含む命令処理方法。
【請求項３１】
誤り訂正対策が命令またはデータに関連して使用されなければならないか否かを決定し、
決定に基づいて誤り訂正対策の使用を不可にすることをプロセッサに実行せしめることを特徴とする、プロセッサによって使用されるプログラム。
【請求項３２】
命令を発行し、命令を実行し、または命令を発行かつ実行するよう動作可能な複数の処理装置を備え、第１の処理装置が処理ユニットまたはサブ処理ユニットを備え、
第１の処理装置は、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にするようプログラムされていることを特徴とする、命令を処理するための処理システム。
【請求項３３】
第１の処理装置は、選択された命令を発行し、該選択された命令はデータ転送動作であることを特徴とする請求項３２に記載の処理システム。
【請求項３４】
第１の処理装置は、バスを介して接続される処理ユニットと一つまたは複数のサブ処理ユニットを含む処理要素と一体化されていることを特徴とする請求項３２に記載の処理システム。
【請求項３５】
第１の処理装置は処理要素を備えることを特徴とする請求項３４に記載の処理システム。
【請求項３６】
誤り訂正対策が使用されてはならないか否かを示す属性は、選択された命令に関連付けされており、
前記選択された命令は、サブ処理要素と処理ユニットとの間でバスを介して属性とともに伝搬されることを特徴とする請求項３４に記載の処理システム。
【請求項３７】
前記属性はトランザクションパケットに添付され、該トランザクションパケットは選択された命令を含むことを特徴とする請求項３６に記載の処理システム。
【請求項３８】
第１の処理装置は、選択された命令に関連付けられたアドレスが、選択されたアドレス範囲内にあるか否かを確認することによって、誤り訂正対策が使用されなければならないか否かを決定することを特徴とする請求項３２に記載の処理システム。
【請求項３９】
第１の処理装置に接続されるメモリ管理ユニットをさらに備え、メモリ管理ユニットは属性テーブルを含み、誤り訂正対策が使用されなければならないか否かについての前記決定が、アドレス変換の実行中に属性テーブルを検査することを含むことを特徴とする請求項３２に記載の処理システム。
【請求項４０】
第２の処理装置が処理ユニットを備え、
第１の処理装置が第１のサブ処理ユニットを備え、
少なくとも第３の処理装置が第２のサブ処理ユニットを備え、
第１および第２のサブ処理ユニットはバスによって処理ユニットに接続され、第１のサブ処理ユニットはメモリに接続されることを特徴とする請求項３２ないし３９のいずれかに記載の処理システム。
【請求項４１】
バス、処理ユニット、およびバスによって処理ユニットに接続される複数のサブ処理ユニットを含む処理要素を備え、
当該プロセッサがメモリに接続可能であり、命令を発行し、命令を実行し、または命令を発行および実行するよう動作可能であり、
当該プロセッサは、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にするようプログラムされていることを特徴とする、命令を処理するためのプロセッサ。
【請求項４２】
ユーザ入力装置と、
表示装置を接続するための表示インタフェースと、
一つまたは複数の処理要素を備えるプロセッサであって、処理要素の少なくとも一つは、命令を発行し、命令を実行し、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、該決定に基づき誤り訂正対策の使用を不可にするようにプログラムされた、プロセッサと、
を備えることを特徴とするコンピュータ処理システム。
【請求項４３】
プロセッサタスクを実行するように構成された複数のプロセッサと、
複数のプロセッサ間でのプロセッサタスクの再割り当てを管理する実行ユニットと、
プロセッサタスクのうち選択されたものの属性を検出する検出ユニットと、を備え、
前記実行ユニットは、選択されたプロセッサタスクの属性に応じてプロセッサタスクを再割り当てすることを特徴とするシステム。
【請求項４４】
前記属性はデータ型に基づいて割り当てられることを特徴とする請求項４３に記載のシステム。
【請求項４５】
前記データ型は、データがリアルタイムデータであるか否かを示すことを特徴とする請求項４４に記載のシステム。
【請求項４６】
前記データ型は、データがストリーミングデータであるか否かを示すことを特徴とする請求項４４に記載のシステム。
【請求項４７】
前記データ型は、ユーザによるデータエラーまたは欠陥の知覚が容易か否かを示すことを特徴とする請求項４４に記載のシステム。
【請求項４８】
再割り当ては、複数のプロセッサのいずれかにおける誤りの発生の検出に依存することを特徴とする請求項４３に記載のシステム。
【請求項４９】
前記実行ユニットは、誤り発生の検出の前に、選択されたプロセッサタスクの属性を評価することによってプロセッサタスクを再割り当てすることを特徴とする請求項４８に記載のシステム。
【請求項５０】
プロセッサの各々がローカルメモリを備えることを特徴とする請求項４３に記載のシステム。
【請求項５１】
プロセッサの各々が複数の処理装置を備えることを特徴とする請求項４３に記載のシステム。
【請求項５２】
複数の処理装置には、第１のタイプの処理装置と第２のタイプの処理装置とが含まれることを特徴とする請求項５１に記載のシステム。
【請求項５３】
複数のプロセッサ間でプロセッサタスクの初期割り当てを決定し、
プロセッサタスクのうち選択されたものに関連付けられた属性を検出し、
選択されたプロセッサタスクの属性に基づいてプロセッサタスクを再割り当てすることを含む命令の処理方法。
【請求項５４】
請求項３１に記載されたプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピューティングシステムにおける誤り処理に関し、例えば、処理システムにおいて誤り訂正対策を使用禁止にするための方法および装置に関する。
【背景技術】
【０００２】
リアルタイムかつマルチメディアのアプリケーションは、ますます重要になっている。これらのアプリケーションは、毎秒何千メガビットのデータ処理というような極めて速い処理速度を必要とする。このようなアプリケーションは、高速処理能力のある単一の処理ユニットで実行されてもよいし、一般的にさらに処理速度の高いマルチプロセッサアーキテクチャで実行されてもよい。実際、マルチプロセッサシステムにおいては、複数のサブプロセッサが並列に（または、少なくとも協調して）動作して所望の処理結果を達成することができる。
【０００３】
リアルタイムかつマルチメディアのアプリケーションを実行するために使用できるコンピュータおよびコンピューティングデバイスのタイプは広範である。パーソナルコンピュータ（ＰＣ）およびサーバの他、これらのコンピューティングデバイスには、携帯電話、モバイルコンピュータ、ゲーム機、携帯情報端末（ＰＤＡ）、セットトップボックス、ディジタルテレビおよび他の多数が含まれる。
【０００４】
多くの処理システムにおける設計上の関心事は、処理エラーを管理する方法である。事実、処理エラーは、処理システム全体のパフォーマンスに影響を及ぼし、ユーザのリアルタイム、マルチメディア体験に悪影響を与え得る。所望の結果を得るために、一つのサブ処理ユニットの結果が他のサブ処理ユニットにより使用される場合、このことは、マルチプロセッサシステムにおいて特に当てはまる。
【０００５】
誤り訂正符号（ＥＣＣ）のエラー、パリティエラー、プロセッサのハングアップなどの困難なプロセッサのエラーは、致命的エラーまたは回復可能エラーに特徴づけることができる。致命的エラーは、オペレーティングシステムのエラー、カーネルのエラーなどによって発生し、その一方、回復可能エラーは、一般に、オペレーティングシステムのエラーまたはカーネルのエラーを伴わない。従来の技術によれば、回復可能エラーが発生すると、一例として処理システムの再起動（または、マルチプロセッシングシステム内のサブ処理ユニットの再起動）や、プロセッサタスクを最初から再実行するといった、いくつかの誤り回復技術の形態が使用される、
【０００６】
ある条件下では、誤り訂正プロセスを実行すると、効果よりむしろ害となり得る。例えば、アプリケーションプログラムがマルチメディアの状況でストリーミングビデオの処理を含む場合、誤り訂正プロセスの実行はアプリケーションプログラムの実行を不必要に遅延させうる。実のところ、人間の目は、あるフレームから次のフレームまでのビデオ画像を一体化する傾向があり、ストリーミングビデオクリップの特定のフレームにおけるデータエラーは感知しないことが多い。このように、所与のプロセッサタスクの不必要な再起動および／または再実行を回避し得るため、ストリーミングビデオの状況においてあらゆる誤り訂正対策をも使用不可にすることが有益となり得る。
【０００７】
誤り訂正プロセスを使用不可にすることが望ましい別の状況として、この種の誤り訂正対策が二重化されている場合がある。例えば、特許文献１は、マルチプロセッシングシステム環境におけるハードウェア実装された誤り訂正対策を開示する。システムは、エラーの発生した一つのサブ処理ユニットから、そのタスクを処理可能な別のサブ処理ユニットへのプロセッサタスクの移動を必要とする。ソフトウェアによる対策等の他の対策が適当なとき、処理エラーに対処するこの技術を使用不可にすることが望ましいことがある。
【特許文献１】米国特許出願第１０／８４９，６２３号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、可能であれば、少なくとも一時的にあらゆる誤り訂正対策を使用不可にすることによって、処理エラーへの対処による悪影響を軽減する、効果的なデータ処理を実現する新規な方法および装置が当分野において必要とされている。
【課題を解決するための手段】
【０００９】
本発明の一実施形態によれば、命令およびデータの処理方法が提供される。この方法は、命令またはデータを分析して、誤り訂正対策が命令またはデータと関連して使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にすることを含む。
【００１０】
一実施例では、命令はロード命令またはストア命令である。別の実施例では、命令はＤＭＡデータ転送命令である。
【００１１】
変形例では、本方法は、属性を命令またはデータと関連付けることをさらに含む。ここで、属性は、命令またはデータを実行するときに誤り訂正対策が使用されなければならないか否かを示す。この場合、好適には、本方法は、誤り訂正対策が使用されるべきでないと決定され、誤り訂正対策が使用不可とされる場合、命令またはデータとともに属性を選択された構成要素に伝搬することをさらに含む。
【００１２】
別の変形例では、誤り訂正対策が使用されなければならないか否かについての前記決定は、命令またはデータによって特定されるアドレスがアドレス範囲内にあるか否かを確認することを含む。この場合、アドレス範囲は一つまたは複数の以上のレジスタによって指定される。
【００１３】
別の変形例では、誤り訂正対策が使用されなければならないか否かについての前記決定は、アドレス変換の実行中に、メモリ管理ユニットにおいて属性テーブルを確認することによって実行される。さらに別の変形例では、命令またはデータは、その命令の実行時またはそのデータの処理時に誤り訂正対策が使用されなければならないか否かを示す属性を有する。この場合、属性は、命令またはデータを装置に送信するためのトランザクションパケットに含まれる。別の変形例では、誤り訂正対策が使用されなければならないか否かについての前記決定は、複数の誤り訂正対策を識別し、使用不可にする一つまたは複数の誤り訂正対策を選択することを含む。
【００１４】
本発明の別の実施形態によると、命令またはデータを処理するプロセッサが提供される。このプロセッサは、命令またはデータを分析して、誤り訂正対策が該命令または該データに関連して使用されなければならないか否かを決定する手段と、決定に基づき誤り訂正対策を使用不可にする手段と、を備える。
【００１５】
一変形例では、命令はデータ転送動作である。別の変形例では、属性は命令またはデータと関連付けされているこの場合、属性は、命令またはデータの実行時に誤り訂正対策が使用されなければならないか否かを示す。別の変形例では、プロセッサは、アドレス範囲を指定する一つまたは複数のレジスタをさらに備える。アドレス範囲の少なくとも一部が、誤り訂正対策が使用不可であるときに利用される。さらに別の変形例では、プロセッサは、アドレス変換の実行中に、誤り訂正対策が命令またはデータとともに使用されなければならないか否かを決定するための属性テーブルを確認するメモリ管理ユニットをさらに備える。
【００１６】
本発明の別の実施形態によると、命令およびデータに関連した誤り訂正対策を処理可能なシステムが提供される。システムは、プロセッサと装置から構成されている。プロセッサは、選択された命令まはた選択されたデータを分析し、該選択された命令または該選択されたデータに関連してあらゆる誤り訂正対策が使用されなければならないか否かを決定する手段、選択された命令または選択されたデータを決定する前記手段がプロセッサによって実行されるべき場合に、決定にしたがって少なくとも一つの誤り訂正対策を使用可能または使用不可にするための手段、選択された命令または選択されたデータを伝搬するための手段、を備える。装置は、伝搬手段から選択された命令または選択されたデータを受け取るように動作可能である。
【００１７】
装置の一変形例はキャッシュメモリである。装置の別の変形例は記憶バッファである。装置のさらなる変形例はプロセッサ内部のローカルメモリである。装置のさらなる変形例は入出力装置である。
【００１８】
別の変形例では、システムは、一つまたは複数の誤り訂正対策が使用されなければならないか否かを示す属性をさらに含む。この場合、伝搬手段は、前記装置に送信される選択された命令または選択されたデータを含むトランザクションパケットに属性を添付する。
【００１９】
別の変形例では、決定手段は、選択された命令または選択されたデータと関連するアドレスがアドレス範囲内にあるか否かを確認する。さらに別の変形例では、決定手段は少なくとも一つのレジスタを含む。別の変形例では、決定手段は、アドレス変換の実行中に属性を確認するメモリ管理ユニットを備えることが好ましい。
【００２０】
本発明のさらに別の実施形態によると、命令を処理する方法が提供される。この方法は、プロセッサによって発行された命令に関連付けされたアドレスを取得し、アドレスがメモリ内の予め定められたアドレス範囲内にあるか否かを決定し、アドレスが予め定められた範囲内にあるとき、あらゆる誤り訂正対策を使用不可にすることを含む。
【００２１】
一変形例では、プロセッサにより発行される命令がデータ転送動作を含む。別の変形例では、前記決定ステップは、予め定められた範囲を表すハードウェアレジスタからの情報にアクセスすることを含む。この場合、情報は、予め定められた範囲の開始アドレス、予め定められた範囲の長さ、および予め定められた範囲の終了アドレスのうち少なくとも一つを含むことが好ましい。
【００２２】
本発明の別の実施形態によると、命令の処理方法が提供される。この方法は、プロセッサにより発行されたデータ転送コマンドからアドレスを取得し、データ転送コマンドのアドレスに関連付けられたメモリ内の物理アドレスを決定するためのアドレス変換テーブルにアクセスし、データ転送コマンドのアドレスおよび物理アドレスのうち少なくとも一つに関連付けられた誤り訂正属性を取得するための属性テーブルにアクセスし、関連する属性が使用不可を示すとき、少なくとも一つの誤り訂正対策を使用不可にすることを含む。
【００２３】
別の実施形態によると、プロセッサによって使用されるプログラムを格納する記憶媒体が提供される。このプログラムは、誤り訂正対策が命令またはデータに関連して使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にすることをプロセッサに実行せしめる。
【００２４】
さらに別の実施形態によると、命令を処理するための処理システムが提供される。処理システムは、命令を発行し、命令を実行し、または命令を発行かつ実行するよう動作可能な複数の処理装置を備える。第１の処理装置は処理ユニットまたはサブ処理ユニットを備える。第１の処理装置は、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にするようプログラムされている。
【００２５】
一変形例では、第１の処理装置は、選択された命令を発行し、該選択された命令はデータ転送動作である。別の変形例では、第１の処理装置は、バスを介して接続される処理ユニットと一つまたは複数のサブ処理ユニットを含む処理要素と一体化されている。ここで、第１の処理装置は処理要素を備える。属性は、選択された命令に関連付けされていることが好ましい。属性は、誤り訂正対策が使用されてはならないか否かを示す。選択された命令は、サブ処理要素と処理ユニットとの間でバスを介して属性とともに伝搬される。この場合、属性は選択された命令を含むトランザクションパケットに添付される。
【００２６】
さらなる変形例では、第１の処理装置は、選択された命令に関連付けられたアドレスが、選択されたアドレス範囲内にあるか否かを確認することによって、誤り訂正対策が使用されなければならないか否かを決定する。さらに別の変形例では、システムは第１の処理装置に接続されるメモリ管理ユニットをさらに備える。メモリ管理ユニットは属性テーブルを含む。誤り訂正対策が使用されなければならないか否かについての前記決定が、アドレス変換の実行中に属性テーブルを検査することを含む。
【００２７】
別の変形例では、第２の処理装置が処理ユニットを備え、第１の処理装置が第１のサブ処理ユニットを備え、少なくとも第３の処理装置が第２のサブ処理ユニットを備える。第１および第２のサブ処理ユニットはバスによって処理ユニットに接続される。少なくとも第１のサブ処理ユニットはメモリに接続される。
【００２８】
本発明の別の実施形態によると、命令を処理するためのプロセッサが提供される。御プロセッサは、バス、処理ユニット、およびバスによって処理ユニットに接続される複数のサブ処理ユニットを含む処理要素を備える。プロセッサはメモリに接続可能であり、命令を発行し、命令を実行し、または命令を発行および実行するよう動作可能である。プロセッサは、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、決定に基づいて誤り訂正対策の使用を不可にするようプログラムされている。
【００２９】
さらに別の実施形態によると、コンピュータ処理システムが提供され、これは、ユーザ入力装置と、表示装置を接続するための表示インタフェースと、プロセッサを備える。プロセッサは、一つまたは複数の処理要素を備える。処理要素の少なくとも一つは、命令を発行し、命令を実行し、選択された命令に関連して誤り訂正対策が使用されなければならないか否かを決定し、該決定に基づき誤り訂正対策の使用を不可にするようにプログラムされている。
【００３０】
別の実施形態によると、プロセッサタスクを実行するように構成された複数のプロセッサを備えるシステムが提供される。システムは、複数のプロセッサ間でのプロセッサタスクの再割り当てを管理する実行ユニットと、プロセッサタスクのうち選択されたものの属性を検出する検出ユニットと、を備える。実行ユニットは、選択されたプロセッサタスクの属性に応じてプロセッサタスクを再割り当てする。
【００３１】
一実施例では、属性はデータ型に基づいて割り当てられる。別の実施例では、データ型はデータがリアルタイムデータであるか否かを示す。さらに別の実施例では、データ型はデータがストリーミングデータであるか否かを示す。さらに別の実施例では、データ型はユーザによるデータエラーまたは欠陥の知覚が容易か否かを示す。例えば、ユーザは音声データのストリーム内のデータエラー（例えば、ヒス、ポッピングノイズ、またはスキップ）を聞くことができる。
【００３２】
変形例では、再割り当ては、複数のプロセッサのうちの一つでの誤りの発生の検出に左右される。この場合、実行ユニットは、誤り発生の検出の前に、選択されたプロセッサタスクの属性を評価することによってプロセッサタスクを再割り当てする。別の変形例では、プロセッサの各々がローカルメモリを備える。別の変形例では、プロセッサの各々が複数の処理装置を備える。この場合、複数の処理装置には、第１のタイプの処理装置と第２のタイプの処理装置とが含まれる。
【００３３】
さらに別の実施形態によると、命令の処理方法が提供される。この方法は、複数のプロセッサ間でプロセッサタスクの初期割り当てを決定し、プロセッサタスクのうち選択されたものに関連付けられた属性を検出し、選択されたプロセッサタスクの属性に基づいてプロセッサタスクを再割り当てすることを含む。
【００３４】
本発明の他の態様、特徴および効果は、添付の図面とともに本明細書においてなされる説明から当業者にとって明らかとなる。
【００３５】
説明のために、現在のところ好適である図面に示される形式がある。しかしながら、本発明は図示したものの正確な構成および手段に限定されないことは理解されるであろう。
【発明を実施するための最良の形態】
【００３６】
同一符号が同一要素を表す図面を参照すると、図１は、バス１０３を介して接続されたプロセッサコア１０２とメモリ１０４とを備える処理システム１００のブロック図である。一つまたは複数の入出力装置、例えば入出力装置１０５、１０７も、バス１０３を通してプロセッサコア１０２および／またはメモリ１０４と通信することができる。本発明の一つまたは複数の態様によると、プロセッサコア１０２はスタンドアロン型のプロセッサでもよいし、大規模のマルチプロセッシングシステムの一台のサブプロセッサであってもよい。プロセッサコア１０２は、誤り処理手順を少なくとも部分的に実行可能であることが好ましい。この種の誤り処理手順は、本明細書の背景で説明した、誤り訂正符号（ＥＣＣ）手順、パリティチェック手順、ハードウェア誤り処理手順でもよいし、再起動／再実行手順などであってもよい。
【００３７】
一般に、本発明の様々な態様は、プロセッサコア１０２が動作中の所与の状況が、誤り訂正対策を必要とするか否か、および／または、この種の誤り処理情報をコンピューティングシステムの他の部分に送るか否かについて監視することを目的としている。
例えば、処理システム１００はストリーミングビデオを処理していてもよく、このストリーミングビデオにおいてはあるレベルのエラーは許容されうる。好適には、本発明のこれらの態様は、この種の対策が不要であるとき、あらゆる回復可能な誤り訂正対策を使用不可にすることに振り向けられている。本発明にしたがって、回復可能エラーの訂正対策を使用不可にするために取り得る構成およびメカニズムは多数あり、好適なメカニズムのうち一部の例を以下で示す。
【００３８】
図１および図２を参照して、メモリ１０４は、バイト、ライン、またはデータに組織されていることが好ましく、それらは自身のアドレスによってマッピングされる。特定の実施態様では、メモリ１０４は、別個の外部メモリでなく、プロセッサコア１０２を含むプロセッサチップに組み込まれてもよいし、またはプロセッサチップの一部として一体化されていてもよい。例えば、ＲＡＭ１１２はチップ上の別の場所にあってもよいし、プロセッサコア１０２と一体化されていてもよい。プロセッサコア１０２は、メモリ１０４へのデータのストアおよび／またはメモリ１０４からのデータの引き出しにつながる命令を任意の数発行することができる。例えば、プロセッサコア１０２はロード命令を出してもよく、このロード命令は、後続の処理のためにデータが取り出されるべきメモリ１０４内のアドレスを指定する。代替的に、プロセッサコアはストア命令を出してもよく、このストア命令もまた、メモリ１０４に導かれ格納されるべきデータのアドレスを指定する。代替的に、ダイレクトメモリアクセスシステムにおいて、プロセッサコアはＤＭＡコマンドを出してもよく、このＤＭＡ命令もまた、メモリ１０４から取り出されるべきデータのアドレスを指定する。一実施形態では、ロード命令、ストア命令、および／またはＤＭＡ命令は、プロセッサ固有の命令、オペレーティングシステム固有の命令、またはそれ以外の非標準の命令であってもよい。例えば、多くのプロセッサは、特殊な特徴を有する特殊なロード命令および／またはストア命令を利用できる。プロセッサは、システムのいずれのキャッシュにもデータを保持しないキャッシュ抑制ロード命令／ストア命令を有してもよい。本発明の一態様によると、特殊なデータ転送動作の一タイプは、いずれの誤り回復対策をも作動させない「ＲＡＳディセーブルを伴うロード（またはストア）」であることが好ましい。従来のＲＡＳシステムは、受信側の要素が壊れたデータを管理するための適当なアクションを実行できるように、意図された宛先に命令が到達するまでエラー情報を伝搬する。特殊なデータ転送動作が使用される場合には、エラー伝搬は使用されない。プロセッサが発行した命令は、図２にアクション２００で示す。指定された命令が本発明によって考慮されるが、本発明はロード／ストア命令および／またはＤＭＡコマンドに限定されない。実際には、他の任意のプロセッサの発行した、メモリ１０４または他の記憶装置へのアドレスを含む命令が考慮される。
【００３９】
上記の実施例はメモリ１０４に関して述べたが、本発明の実施形態は、メモリ１０４に加えて、またはメモリ１０４を使用せずに、入出力装置１０５、１０７等の他のタイプの装置との対話を含むことは理解されなければならない。いずれにせよ、物理アドレスであろうと仮想アドレスであろうと、命令（またはコマンド）のアドレス部分が、解析可能であるように命令から取得されるかまたは取り出される（アクション２０２）。特に、アクション２０４において、メモリ１０４内の予め定められたアドレス範囲のような指定された範囲内にアドレスがあるか否かについての判定がなされる。例えば、図１に示すように、メモリ１０４は二つ以上の部分に分割されていてもよく、アドレスの所定範囲内の一部分は、誤り訂正対策が使用不可とされるメモリ１０４の領域を構成する。特に、0ｘ00000000と0x5FFFFFFEの間のアドレス範囲が、誤り訂正対策が使用可能（「ノーマル」）とされるメモリ１０４内の領域と一致してもよい。0x60000000から0x80FFFFFEまでのアドレス範囲が、誤り訂正対策が使用不可（「ＲＡＳディセーブル」）とされるメモリ１０４内の領域を指定してもよい。最後に、0x80FFFFFFから0xFFFFFFFFまでのアドレスの範囲が、誤り訂正対策が使用可能（「ノーマル」）とされるメモリ１０４内の別の領域を指定してもよい。
【００４０】
アクション２０４の判定は、予め定められた範囲を表す一つまたは複数のハードウェアレジスタ（図示せず）からの情報のアクセスを伴ってもよい。例えば、レジスタは、予め定められた範囲の開始アドレスと、該予め定められた範囲の長さとを含んでもよい。代替的に、レジスタまたは複数のレジスタは、予め定められた範囲の開始アドレスと、予め定められた範囲の終了アドレスとを含んでもよい。最後に、レジスタまたは複数のレジスタは、予め定められた範囲の終了アドレスと、予め定められた範囲の長さとを含んでもよい。いずれにせよ、この種の情報は、誤り訂正対策が使用不可とされるメモリ１０４内の予め定められた範囲のアドレスの境界を決定するために必要な情報を提供する。
【００４１】
一例として、アクション２０４の判定の結果が否定、つまりエラー処理対策が用いられるべき場合、好適にはフローはアクション２０６に進み、通常の命令（またはコマンド）の手順が実行される。例えば、アドレスが0x0000FFFFであったとき、このアドレスは0x60000000から0x80FFFFFEまでの所定範囲の外側に当たるので、アクション２０４の判定結果は否定となり、処理はアクション２０６へと続く。他方、アドレスが0x60000FFFであったときは、所定の範囲内にあるので、アクション２０４の判定結果は肯定となり、プロセスフローはアクション２０８に進む。
【００４２】
アクション２０８において、システム１００の誤り訂正対策機能は使用不可とされる。したがって、メモリ１０４内の指定されたアドレスへのデータ転送動作のような命令（またはコマンド）の発行により、システム１００は、このアドレスと関連する誤り訂正対策機能を使用不可にする。これは、誤り訂正対策を確認はするが、実際に実行はしないことを含む。この状況において、命令（またはコマンド）のアドレスは、誤り訂正対策機能が使用可能または使用不可にされるべきかを表す属性を含む。この例では、属性は、メモリ１０４のメモリマップに対する（vis-a-vis）アドレスと関連付けられている。
【００４３】
図２のアクションは、プロセッサのハードウェア制御下で実行されることが好ましい。別の実施形態では、図２で指定された機能を実装するように設計された回路を有する特殊目的のプロセッサまたはＡＳＩＣが実装されてもよい。
【００４４】
本発明のさらなる態様によると、好適には、必要に応じてシステム１００は属性を伝搬することができる（アクション２１０）。例示のみを目的として、属性は、キャッシュメモリ、記憶バッファ、読み取り／書き込みバッファまたは他のメモリに伝搬されることができ、同様に、システム１００の部分であるかまたはシステム１００に接続される、入出力装置等の装置にも伝搬されることができる。伝搬は、プロセッサの内部および／またはプロセッサの外部で実行されてもよい。属性は、命令と関連付けて渡されることが好ましい。外部で処理される場合、属性はバス要求の一部として命令に関連付けて渡されることが好ましい。より好ましくは、この場合、属性は宛先に伝搬されるバストランザクションパケットに添付される。典型的な伝搬経路は、以下の通りである。初めに、プロセッサはデータ転送動作を発行する。続いて、ロード／ストアユニットは自身のキューで要求を受け取る。要求がキャッシュヒットする場合、ロード／ストアユニットはＬ１キャッシュにアクセスする。キャッシュミスの場合、要求はＬ２キャッシュ要求キューに渡される。要求がキャッシュヒットすると、Ｌ２キャッシュがアクセスされる。Ｌ２キャッシュミスの場合、要求はバスに渡されてメインメモリにアクセスする。バスは、Ｌ２キャッシュ要求をバスに取り付けられたメモリへと運ぶ。そして、メモリがアクセスされる。
【００４５】
属性は、処理システムのその他の場所に伝搬されてもよい。例えば、属性が第１のプロセッサから第２のプロセッサまでバストランザクションパケットを介して渡されると仮定する。第２のプロセッサが属性を受け取ると、属性は、命令とともにバッファに内部的に渡されるか、または第２のプロセッサに関連する他のメモリに渡される。本発明の一態様によると、プロセッサは、命令を実行すべきか否かを最初に決定する。プロセッサが命令を実行すべき場合、本発明の一態様によると、プロセッサは、伝搬された属性に基づいて、誤り訂正対策とともにまたは誤り訂正対策なしで、命令を実行する。オペレーティングシステムの介入は、属性を伝搬するためには必要でない。
【００４６】
命令がプロセッサから発行されると、命令は、メインメモリまたは入出力装置などの宛先装置に到達するまで、コンピューティングシステムの多くの部分を通過してもよい。しかしながら、宛先装置へ行く途中に、ロード／ストアデータは破損し得る。破損したデータは、データが壊れたことを示す情報と関連付けられる。例えば、誤り訂正符号（ＥＣＣ）、パリティビットまたは実装に固有の誤り検出ビットによって、これを実現することができる。これによって、宛先装置は、受け取ったデータの完全性に関する情報を取得することができ、また適切なアクションを取ることができる。本発明の態様によると、属性は、コンピューティングシステムを通して宛先装置に伝搬する一つまたは複数のビットから構成される。誤り回復が実行されるべきでないことを示すビットがセットされると、宛先装置はいかなる誤り回復対策も実行しない。
【００４７】
本発明の一態様によると、好適にはプロセッサコア１０２のオペレーティングシステムは、誤り訂正対策機能が使用不可にされなければならないメモリアドレスの予め定められた範囲を設定する。例えば、メモリアドレスの範囲は、ライブラリまたはコンパイラを含む任意のソフトウェアレイヤによって設定されてもよい。範囲はプログラム毎に指定されることが好ましいが、この理由は、誤り不可属性はあるプログラムによって利用できるが別のプログラムによっては利用できないからである。
【００４８】
本発明の一態様によると、誤り訂正を使用しないことが望ましいデータは、メモリの予め定められたアドレス範囲に格納される。したがって、本発明の一態様によると、誤り訂正が使用されるべきでないことを指定するアドレス範囲内のメモリに配置される特定タイプのデータとともには、誤り訂正対策は使用されない。
【００４９】
図３および図４を参照して、本発明の一つまたは複数のさらなる態様によると、誤り訂正対策が使用不可にされるべきか否かを表す属性は、メモリ管理ユニット（ＭＭＵ）１０６を通して導かれてもよい。ＭＭＵ１０６は、包括的な記憶サブシステム１０４Ａの一部であってもよいし、または記憶サブシステム１０４Ａと関連付けられていてもよい。好適には、包括的な記憶サブシステム１０４Ａは、ＭＭＵ１０６、Ｌ２キャッシュ、プロセッサコアへのインタフェース、およびバスインタフェースを含む。代替的に、ＭＭＵ１０６は、プロセッサコア１０２の一部として一体化されてもよい。一般に、ＭＭＵ１０６は仮想アドレスをメモリ１０４の物理アドレスに変換する。
【００５０】
好適には、メモリ管理ユニット１０６は、所与の仮想アドレスに関連するメモリ１０４内の物理アドレスを決定するためにアクセスされることのできるアドレス変換テーブル１０８を含むことが好ましい。仮想アドレスは列１０８（ａ）に示され、物理アドレスは列１０８（ｂ）に示される。例えば、図４を参照して、アクション２５０において、プロセッサコア１０２は、0x3000等の特定の仮想アドレスを指定する、ＤＭＡコマンド、ロードまたはストア命令等のデータ転送動作を発行してもよい。メモリ管理ユニット１０６は、0x3000の仮想アドレスを受け取り、アドレス変換テーブル１０８にアクセスして、メモリ１０４内の関連する物理アドレス、0x13000を取得することができる（アクション２５２）。
【００５１】
一つまたは複数の本発明の態様によると、好適には、アドレス変換テーブル１０８は、例えば誤り訂正対策属性を含む追加の列１０８（ｃ）として描かれる、属性表示テーブルを含む。属性表示テーブルは、それぞれの属性をテーブル１０８の仮想アドレスおよび物理アドレスと関連付ける。したがって、アクション２５２において、メモリ管理ユニット１０６は、属性テーブルにアクセスして、所与の仮想アドレスに関連付けられた誤り訂正属性を取得することもできる。この例では、0x3000の仮想アドレスは、0x3000の仮想アドレスまたは0x13000の物理アドレスによって指定されるメモリ位置に格納されるデータに関して、あらゆる誤り訂正対策が使用不可にされるべきことを示す属性（「ディセーブル」）に関連付けされている。図３に示すように、アドレス変換テーブル１０８は、誤り訂正対策属性テーブル１０８（ｃ）とともに、仮想アドレス列１０８（ａ）および物理アドレス列１０８（ｂ）を含む単一の統合テーブルであることが好ましい。別の例では、二つの別々のテーブルを維持することも可能である。第１のテーブルは、列１０８（ａ）および１０８（ｂ）を含む単純なアドレス変換テーブルである。第２のテーブル、つまり列１０８（ｃ）を含む属性テーブルは、アドレス変換テーブルから物理アドレス出力を取り出し、それと関連付けされた属性を取得する。
【００５２】
アクション２５４において、好適には、属性テーブルから取得された属性が、いかなる誤り訂正対策も使用不可にされる（ディセーブル）べきことを示すか否かに関する判定がなされる。例えば、ＭＭＵ１０６に入力された仮想アドレスが0x2000である場合、アクション２５４の判定の結果は否定となる。この場合、手順フローはアクション２５６へ進むことが好ましく、通常の命令（またはコマンド）手順が実行される。他方、ＭＭＵ１０６に入力された仮想アドレスが0x3000である場合、アクション２５４の判定の結果は肯定となり、手順フローはアクション２５８へ進むことが好ましい。
【００５３】
アクション２５８において、好適には、システムの誤り訂正対策機能が使用不可にされる。したがって、記憶サブシステム１０４Ａ内の指定されたアドレスに対するデータ転送動作の発行されると、システムは、このアドレスと関連付けされた誤り訂正対策機能を使用不可とすることができる。この場合、システムの誤り訂正対策機能が使用可能または使用不可にされなければならないか否かを表す属性は、ＭＭＵ１０６で見つかる。この場合も、図４によって指定されるアクションは、プロセッサのハードウェア制御下で実装されることが好ましい。他の好適な変形例では、図４によって指定されるアクションは、ＡＳＩＣ等を用いて実装されてもよいし、ソフトウェアによる実装であってもよい。
【００５４】
本発明のさらなる態様によると、属性は上述したように必要に応じてシステムによって伝搬されることができてもよい（アクション２６０）。例えば、伝搬はプロセッサ内部および／またはプロセッサ外部で実行されてもよい。内部的に処理される場合、属性は命令と関連して渡されることが好ましい。外部的に処理される場合、属性はバス要求に関連して渡されることが好ましい。より好適には、この場合、属性は宛先に伝搬されるバストランザクションパケットに添付される。宛先において、属性は処理システム内の他の場所に伝搬されることができる。例えば、属性が第１のプロセッサから第２のプロセッサまでバストランザクションパケットを介して渡されると仮定する。第２のプロセッサが属性を受け取ると、属性は、第２のプロセッサに関連するバッファまたは他のメモリに、命令とともに、内部的に渡されてもよい。
【００５５】
次に、図５および図６を参照し、本発明の一つまたは複数のさらなる態様を表す。特に、図５に示す装置および図６に示す手順フローは、処理の状況内で特定のデータに関して、誤り訂正対策を少なくとも一時的に使用不可にするために、属性がシステム内で利用される方法についてのさらなる実施例を示す。特に、図５は、第１のプロセッサ３０２と、第２のプロセッサ３０４と、共有メモリ３０６と、第１の入出力装置３０８と、第２の入出力装置３１０と、第３の入出力装置３１２とを含むマルチプロセッシングシステム３００を示す。第１の入出力装置３０８は、ハードディスクシステムまたは他の任意の周知のバルクメモリ記憶装置等のデータベース３１４に対するインタフェースであってもよいし、それらのコントローラであってもよい。第２の入出力装置３１０は、モニタ３１６へのインタフェースまたはモニタのコントローラであってもよい。第３の入出力装置３１２は、イントラネット、無線ネットワーク、インターネット等のネットワーク３１８への相互接続を提供するネットワークインタフェース装置であってもよい。プロセッサおよび／または入出力装置の数は、本発明にとって重要でないことに注意する。
【００５６】
本発明の一つまたは複数の態様によると、第１のプロセッサ３０２および／または第２のプロセッサ３０４により発行される一つまたは複数の命令に、誤り訂正対策が実行されなければならないか否かを表す誤り訂正属性が付加されて拡張される。このような方法で、システム３００の一つまたは複数の他の要素がいかなる誤り訂正対策も実行しないように、属性がシステム３００によって伝搬されることが好ましい。例えば、アクション３５０（図６）において、プロセッサ３０２が一つまたは複数の命令を発行してもよいし、または、キャッシュリフィル、キャッシュ置換などの、バス要求を必要とする特定のデータ処理を実行してもよい。本発明の様々な態様によると、バス要求が呼び出され、バスまたはネットワークを介して送信されるトランザクションパケットに属性が添付される。したがって、属性はバス要求の後に続く（アクション３５２）。バス要求は、一般にデータ（バスへの書き込みデータ）の送信またはデータ（バスからの読み出しデータ）の要求を含み、これは好適には誤り訂正対策を使用可能または使用不可にすることに関する属性を含む（アクション３５４）。
【００５７】
本発明の一態様によると、好適には、トランザクションパケットは、以下のフィールドのいくつかまたは全てを含む。（１）要求のタイプ（書き込み、読み取り、同期、割り込み、その他）、（２）アドレス、（３）転送サイズ、（４）（ａ）キャッシュが抑制されるか否か、（ｂ）書き込みするか否か、（ｃ）整合性が使用されるか否か、（ｄ）保護さているかいないか、および／または（ｅ）優先度レベル（複数の優先度レベルが使用される場合）を含む転送属性、および（５）ＲＡＳが使用不可であるか否か。
【００５８】
プロセッサ３０２からデータを受け取り、またはプロセッサ３０２からバス要求に伴ってデータ要求を受け取っている一つまたは複数の装置は、誤り訂正対策が実行されるべきか否かを示す属性も受け取る。属性がそのように指示する場合、データまたはデータの要求受け取る装置は、属性にしたがって誤り訂正対策を使用不可にする（アクション３５６）。複数の誤り訂正対策が用いられる場合、誤り訂正対策の一つまたは複数を属性にしたがって使用不可にすることができる。
【００５９】
有利なことに、本発明の態様によると、誤り訂正対策機能が使用可能または使用不可にされなければならないか否かを示す属性を、処理システムのデータと関連付けすることを許可することで、様々な異なるデータが異なる方法で取り扱われるようにすることができる。特に、処理エラーがある程度許容されうるか否かに関して、一部のデータを他のデータよりも高感度としてもよい。したがって、例えば、ストリーミングビデオデータは、あらゆる誤り訂正対策機能を使用不可にできることを示す属性と関連付けされてもよい。しかしながら、他のデータ、つまり、感度が高すぎて発生するエラーの発生を許容できないデータは、あらゆる誤り訂正対策機能が使用可能にされなければならないことを示す属性と関連付けされてもよい。これは、誤り訂正プロセスを実行すると利点よりも害が多くなるという特定の状況の下では、非常に有用なものとなり得る。
【００６０】
加えて、誤り訂正対策が用いられてはならないか否かについて示す特殊な目的の命令が、プロセッサによって発行されてもよい。例えば、データを転送するときに、「load_wo_error_detect」（つまり、処理エラー検出のないロード）および「store_wo_error_detect」（つまり、処理エラー検出のないストア）等の命令が使われてもよい。誤り訂正対策が用いられてはならないか否かを示すために、特殊目的のＤＭＡコマンドが使用されてもよい。このような命令およびコマンドは、いかなる特定のオペレーティングシステムまたはプログラミング言語にも関係していないことを理解されたい。いくつかの実施態様では、無効（override）機能が提供されてもよい。無効機能は、命令が誤り訂正対策とともに使用されるべき（または使用されてはならない）ことを示してもよい。この場合、特殊目的の命令または特殊目的のＤＭＡコマンドが、対策が用いられてはならないことを示す場合であっても、ＭＭＵは誤り訂正対策を使用可能にしてもよい。逆にいえば、特殊目的の命令または特殊目的のＤＭＡコマンドが、対策が用いられなければならないことを示す場合であっても、ＭＭＵは誤り訂正対策を使用不可にしてもよい。一例として、無効機能は、特殊目的の命令または特殊目的のＤＭＡコマンド内のインジケータビットであってもよいし、または、ＭＭＵ自身の中にある無効インジケータであってもよい。
【００６１】
上述したように、本発明の様々な実施形態は、単一のプロセッサシステムに実装されてもよいし、マルチプロセッサシステムに実装されてもよい。例えば、図７を参照して、マルチプロセッシングシステム１１０は、本発明の様々な態様による図１ないし図６に示した実施形態のいかなる組合せも組み込むように適応させることができる。
【００６２】
マルチプロセッシングシステム１１０は、バス１１８を介して、ＤＲＡＭなどの共有メモリ１１６に連結される複数のプロセッサ１１２（任意の数を使用可能である）を含む。共有ＤＲＡＭメモリ１１６が必要でない（したがって、点線で示されている）点に注意する。実際、いくつかの実施態様では、処理ユニット１１２の一つまたは複数が自身のメモリ（図示せず）を使用してもよく、したがって、共有メモリ１１６は必須ではない。他の実施態様では、別個の外部メモリとは対照的に、共有メモリ１１６は、マルチプロセッシングシステム１１０を組み込むプロセッサチップに埋め込まれていても、プロセッサチップの一部として一体化されていてもよい。例えば、共有メモリ１１６は、チップ上の別々の場所にあってもよいし、マルチプロセッシングシステム１１０を構成するプロセッサ１１２のうちの一つまたは複数のプロセッサと一体化されていてもよい。
【００６３】
プロセッサ１１２のうちの一台は、例えば処理ユニット１１２Ａである主処理ユニットであることが好ましい。他の処理ユニット１１２は、処理ユニット１１２Ｂ、１１２Ｃ、１１２Ｄなどサブの処理ユニット（ＳＰＵ）であることが好ましい。処理ユニット１１２は、既知のコンピュータアーキテクチャのうち任意のものを使用して実現可能なものであってよい。処理ユニット１１２の全てが同一のアーキテクチャを使用して実現される必要はなく、実際、それらは異種または同種の構成のいずれであってもよい。動作中に、主処理ユニット１１２Ａは、サブ処理ユニット１１２Ｂ−Ｄが並列にかつ独立してデータおよびアプリケーションの処理を実行するように、サブ処理ユニット１１２Ｂ〜１１２Ｄによるデータおよびアプリケーションの処理をスケジューリングし調整する（orchestrate）ことが好ましい。
【００６４】
主処理ユニット１１２Ａは、サブ処理ユニット１１２Ｂ〜１１２Ｄに対してローカルに、例えば、同一のチップ内、同一のパッケージ内、同一の回路基盤上、同一の製品内に配置されてもよいことに注意する。代替的に、主処理ユニット１１２Ａは、サブ処理ユニット１１２Ｂ〜１１２Ｄに対してリモートに、例えば、バスや通信ネットワーク（例えばインターネット）などを介して接続可能な異なる製品に位置してもよい。同様に、サブ処理ユニット１１２Ｂ〜１１２Ｄは、互いにローカルにまたはリモートに位置してもよい。
【００６５】
図７のマルチプロセッサシステム１１０は、図１〜図２に関して上述した本発明の特徴を組み込むように適応させてもよい。実際、マルチプロセッサシステム１１０のプロセッサ１１２のうちの一つまたは複数が、図１のプロセッサコア１０２の機能を含んでもよい。また、ＤＲＡＭ１１６は、誤り訂正対策機能が使用可能または使用不可にされなければならないか否かを示す属性を採用するために、図１のメモリ１０４のメモリマップ態様を含んでもよい。同様に、マルチプロセッサシステム１１０のプロセッサ１１２のうちの一つまたは複数は、図３のプロセッサコア１０２の機能を含んでもよい。また、ＤＲＡＭ１１６は、誤り訂正対策機能が使用可能または使用不可にされなければならないか否かを示す属性を採用するために、図３のＭＭＵ１０６および記憶サブシステム１０４Ａの機能で置換されるか、またはそれら機能を含んでもよい。さらに、マルチプロセッサシステム１１０は、一つまたは複数のプロセッサ１１２によって発行される一つまたは複数の命令に、誤り訂正対策が実行されなければならないか否かを示す誤り訂正属性が付加されて拡張されるように、図５のマルチプロセッサシステムの機能を含むよう適応されてもよい。
【００６６】
次に、図８は、好適なコンピュータ・アーキテクチャを示す。このコンピュータ・アーキテクチャによると、マルチプロセッシングコンピュータシステムの全てのプロセッサは、共通のコンピューティングモジュール（すなわち、セル）から構成される。この共通のコンピューティングモジュールは均一の構造を備え、好ましくは同一の命令セットアーキテクチャを使用する。マルチプロセッシングコンピュータシステムは、一つまたは複数のクライアント、サーバ、ＰＣ、モバイルコンピュータ、ゲーム機、ＰＤＡ、セットトップボックス、電気器具、ディジタルテレビ、およびコンピュータプロセッサを使用する他の装置から形成されてもよい。
【００６７】
この点に関して、図８は基本的な処理モジュールすなわちプロセッサ要素（ＰＥ）４００のブロック図である。この図に示すように、ＰＥ４００は、Ｉ／Ｏインタフェース４０２と、処理ユニット（ＰＵ）４０４と、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）４０６と、複数のサブ処理ユニット４０８、すなわち、サブ処理ユニット４０８Ａ、サブ処理ユニット４０８Ｂ、サブ処理ユニット４０８Ｃ、サブ処理ユニット４０８Ｄとを含む。ローカル（すなわち、内部）ＰＥバス４１２は、ＰＵ４０４、サブ処理ユニット群４０８、ＤＭＡＣ４０６およびメモリインタフェース４１０の間でデータおよびアプリケーションの伝送を行う。ローカルＰＥバス４１２は、例えば、従来のアーキテクチャを有してもよいし、またはパケットスイッチネットワークとして実装することもできる。パケットスイッチネットワークとしての実装するとより多くのハードウェアが必要になるが、利用可能な帯域が広がる。Ｉ／Ｏインタフェース４０２は、フレームバッファ、ディスクドライブ、またはＩ／Ｏバス４１３を介した他のタイプの装置などの、一つまたは複数の外部入出力装置（図示せず）と接続されてもよい。
【００６８】
ＰＥ４００は、誤り訂正対策機能が使用可能または使用不可にされなければならないか否かを表す属性を使用するために、図１ないし図６に示す実施形態の任意の組合せを組み込むように適応されてもよい。
【００６９】
ＰＥ４００は、ディジタルロジック回路を実装する各種方法を使用して構成できる。しかしながら、ＰＥ４００はシリコン基板上の相補的金属酸化物半導体（ＣＭＯＳ）を用いる単一の集積回路として構築されることが好ましい。基板の他の材料には、ガリウム砒素、ガリウムアルミニウム砒素、および広範な種類の不純物を用いた他のいわゆるＩＩＩ−Ｂ族化合物が含まれる。ＰＥ３００はまた、超伝導材料を用いて高速単一磁束量子（ＲＳＦＱ）ロジック回路等として実装することもできる。
【００７０】
ＰＥ４００は、広帯域メモリ接続４１６を介してダイナミックランダムアクセスメモリ（ＤＲＡＭ）にと密接に関連付けられる。ＤＲＡＭ４１４は、ＰＥ４００のメインメモリとして機能する。ＤＲＡＭ４１４は好適にはダイナミックランダムアクセスメモリだが、スタティックランダムアクセスメモリ（ＳＲＡＭ）、磁気ランダムアクセスメモリ（ＭＲＡＭ）、光学メモリ、ホログラフィックメモリ等の他の手段を使用して実装してもよい。特定の実施態様では、別個の外部メモリとは対照的に、メモリ４１４は、ＰＥ４００を組み込んだプロセッサチップに埋め込まれてもよいし、プロセッサチップの一部として一体化されてもよい。例えば、メモリ４１４はチップ上の別々の場所においてあってもよいし、またはＰＥ４００を構成するプロセッサのうちの一つまたは複数と一体化されてもよい。ＤＭＡＣ４０６およびメモリインタフェース４１０は、ＤＲＡＭ４１４と、サブ処理ユニット群４０８と、ＰＥ４００のＰＵ４０４との間のデータ転送を円滑にする。ＤＭＡＣ４０６および／またはメモリインタフェース４１０は、サブ処理ユニット４０８とＰＵ４０４とから独立して設置されるようにしてもよいし、一体化されるようにしてもよい点に注意する。実際に、図示した別々の構成の代わりに、ＤＭＡＣ４０６の機能および／またはメモリインタフェース４１０の機能は、一つまたは複数（好ましくは、全て）のサブ処理ユニット４０８とＰＵ４０４と一体化できる。したがって、ＤＭＡＣ４０６は点線で示している。
【００７１】
例えば、ＰＵ４０４は、例えばスタンドアロン式のデータおよびアプリケーション処理が可能な標準的なプロセッサでもよい。動作時には、ＰＵ４０４はサブ処理ユニット群によるデータおよびアプリケーションの処理のスケジューリングおよび調整を行う。サブ処理ユニット群は、好適には、一命令複数データ（ＳＩＭＤ）プロセッサである。ＰＵ４０４の制御下で、サブ処理ユニット群はデータおよびアプリケーションの処理を並列に、かつ独立して行う。ＤＭＡＣ４０６は、ＰＵ４０４とサブ処理ユニット群４０８とによる、共有ＤＲＡＭ４１４に格納されたデータおよびアプリケーションへのアクセスを制御する。ＰＵ４０４は、サブ処理ユニット群４０８のうちの一つとして実装されてもよいことに注意する。この場合、このサブ処理ユニット４０８は、メイン処理ユニットによる処理、すなわちサブ処理ユニット群４０８によるデータおよびアプリケーションの処理のスケジューリングと調整を行うものとすればよい。
【００７２】
上記の処理モジュールおよびアーキテクチャは単に例示に過ぎず、本発明の様々な態様が他の構造を採用してもよいことを理解すべきである。他の構造には、２００３年２月２５日に発行された、「Memory Protection System and Method for Computer Architecture for Broadband Networks」と題する米国特許第６，５２６，４９１号、および２００１年３月２２日に出願された、「Computer Architecture and Software Cells for Broadband Networks」と題する米国特許出願第０９／８１６，００４号に開示されたタイプのマルチプロセッサシステムを含むが、これらに限定されない。
【００７３】
図９は、サブ処理ユニット４０８の好適な構造および機能を示す。サブ処理ユニット４０８は、ローカルメモリ４５０、レジスタ４５２、一つまたは複数の浮動小数点演算ユニット４５４、および一つまたは複数の整数演算ユニット４５６を備える。しかしながら、必要な処理能力に応じて、より多数のまたはより少数の浮動小数点演算ユニット４５４および整数演算ユニット４５６を使用してもよい。好ましい実施形態では、ローカルメモリ４５０は４５６キロバイトの記憶領域を有し、レジスタ４５２の容量は１２８×１２８ビットである。好ましくは、浮動小数点演算ユニット４５４は、毎秒３２０億回の浮動小数点演算（３２ＧＦＬＯＰＳ）をする速度で動作し、整数演算ユニット４５６は、好ましくは毎秒３２０億回の演算（３２ＧＯＰＳ）をする速度で動作する。
【００７４】
ローカルメモリ４５０は、キャッシュメモリであってもよいしキャッシュメモリでなくてもよい。好適には、ローカルメモリ４５０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）として構成される。ＰＵ４０４は、ＰＵ４０４により開始されるダイレクトメモリアクセスのために、キャッシュ整合性サポートを必要としてよい。しかしながら、キャッシュ整合性サポートは、サブ処理ユニット群４０８によって開始されるダイレクトメモリアクセス、または外部装置との間でのアクセスについては不要である。
【００７５】
サブ処理ユニット４０８は、サブ処理ユニット４０８との間でアプリケーションおよびデータを送受信するためのバスインタフェース（Ｉ／Ｆ）４５８をさらに含むか、または関連付けられている。好ましい実施形態では、バスＩ／Ｆ４５８はＤＭＡＣ４０６に連結される。ＤＭＡＣ４０６は点線で示されており、図示のサブ処理ユニット４０８内に一体的に配置されてもよいし、または（図８に示すように）外部に配置されてもよいことを表している。一対のバス４６８Ａ、４６８Ｂは、バスＩ／Ｆ４５８とローカルメモリ４５０との間でＤＭＡＣ４０６を相互接続する。バス４６８Ａ、４６８Ｂは、好ましくは２５６ビット長である。
【００７６】
サブ処理ユニット４０８は、内部バス４６０、４６２および４６４をさらに含む。好ましい実施形態では、バス４６０は２５６ビットの幅を有し、ローカルメモリ４５０とレジスタ４５２の間の通信を提供する。バス４６２および４６４は、それぞれ、レジスタ４５２と浮動小数点演算ユニット４５４との間、レジスタ４５２と整数演算ユニット４５６との間の通信を提供する。好ましい実施形態では、レジスタ４５２から浮動小数点演算ユニットまたは整数演算ユニットに向かうバス４６２と４６４のバス幅は３８４ビットであり、浮動小数点演算ユニット４５４または整数演算ユニット４５６からレジスタ４５２に向かうバス４６２および４６４のバス幅は、１２８ビットである。浮動小数点演算ユニット４５４または整数演算ユニット４５６からレジスタ４５２へのバス幅より、レジスタ４５２から両ユニットへのバス幅が大きいため、処理の間、レジスタ４５２からより大きなデータフローを収容する。各計算のために、最大で３ワードが必要である。しかしながら、各計算の結果は、通常１ワードにすぎない。
【００７７】
図８と図１０を参照して、複数のプロセッサ要素４００を結合またはパッケージングして処理能力を強化してもよい。例えば、図１０に示すように、二つ以上の処理要素４００Ａ、４００Ｂを一つまたは複数のチップパッケージ内にパッケージングするか結合させて、一組のマルチプロセッサ装置を形成してもよい。この構成を広帯域エンジン（ＢＥ）と称してもよい。図１０に示すように、広帯域エンジン４８０は二つのプロセッサ要素４００Ａ、４００Ｂを備え、これらは、相互接続されたバス４１２Ａ、４１２Ｂとして示すバス４１２を介して相互接続される。好適には、プロセッサ要素４００Ａ、４００Ｂ（メモリインタフェース４１０Ａ、４１０Ｂを介して）および共有ＤＲＡＭ４１４との間で通信を可能にするために、追加のデータバス４１６を備える。一つまたは複数の入出力（Ｉ／Ｏ）インタフェース４０２Ａ、４０２Ｂおよび外部バス（図示せず）は、広帯域エンジン４８０と任意の外部要素との間の通信を提供する。広帯域エンジン４８０のプロセッサ要素４００Ａ、４００Ｂは、それぞれ並列かつ独立した態様でデータおよびアプリケーションの処理を実行することができる。これは、図８に関して上述した、サブ処理ユニット群４０８により実行されるアプリケーションおよびデータの並列かつ独立した処理に類似する。
【００７８】
図８および／または図１０の複数のシステムは、必要に応じてネットワークのメンバであってもよい。均一のモジュール構造により、マルチプロセッシングコンピュータシステムによるアプリケーションおよびデータの高速処理が可能になる。また、ネットワークが使用されると、ネットワークを介したアプリケーションおよびデータの高速伝送が可能になる。この構造はまた、多様なサイズと処理速度をもつネットワークメンバの構築を容易にし、これらメンバにより処理するためにアプリケーションの準備を容易にする。
【００７９】
図１１を参照する。マルチプロセッシング要素４０８またはＢＥ４８０が複数の製品に分散されて、マルチプロセッシングシステム５００を形成してもよい。コンピュータおよび／またはコンピューティングデバイスとして実装された、システム５００の要素またはメンバは、ネットワーク５０４を介して通信することが好ましい。ネットワーク５０４は、ローカルエリアネットワーク（ＬＡＮ）、インターネット等のグローバルネットワーク、または他の任意のコンピュータネットワークのいずれであってもよい。
【００８０】
ネットワーク５０４に接続されたメンバは、例えば、クライアントコンピュータ５０６Ａと５０６Ｂ、サーバコンピュータ５０８Ａと５０８Ｂ、携帯情報端末（ＰＤＡ）５１０、ディジタルテレビ（ＤＴＶ）５１２、そのほかの有線または無線のコンピュータおよびコンピューティングデバイスを含む。例えば、クライアント５０６Ａは、一つまたは複数のＰＥ４００、または他の適切なマルチプロセッシングシステムから構成されるラップトップコンピュータであってもよい。クライアント５０６Ｂは、一つまたは複数のＰＥ４００、または他の適切なマルチプロセッシングシステムから構成されるデスクトップコンピュータ（またはセットトップボックス）であってもよい。さらに、サーバ５０８Ａはデータベース機能を使用した管理要素（administrative entity）であってもよく、これは好適には一つまたは複数のＰＥ４００から構成される。他も同様である。各コンピュータ／コンピューティングデバイスは、例えば、キーボード５２０およびマウス５２２（および、ペン入力、ジョイスティック、ボタン、タッチスクリーン等の既知の入力装置の様々な別のタイプ）等のユーザ入力装置を有する一つまたは複数のコンピューティングデバイス、ディスプレイ５２６に接続するためのコネクタ、ポート、カード等のディスプレイインタフェース５２４を備える。ディスプレイ５２６は、例えば、ＣＲＴ、ＬＣＤ、プラズマスクリーンモニタ、ＴＶ、プロジェクタなどを含む。各コンピュータ／コンピューティングデバイスは、好適には、コンピュータ処理システム内部に配置される一つまたは複数のメモリと、一つまたは複数のプロセッサなどの装置を持つ。
【００８１】
このモジュール構造によると、特定のコンピュータシステムによって採用されるＰＥ４００の数は、そのシステムにより要求される処理能力に基づいている。例えば、サーバは四つのＰＥ４００を使用し、ワークステーションは二つのＰＥ４００を使用し、ＰＤＡは一つのＰＥ４００を使用してもよい。特定のソフトウェアセルを処理するために割り当てられる、ＰＥ４００４００のサブ処理ユニットの数は、セル内部のプログラムおよびデータの複雑さと規模に応じて決まる。
【００８２】
図１２を参照して、システム５００のサーバ５０８は、クライアント５０６よりも多量のデータおよびアプリケーションの処理を実行する。サーバ５０８は、クライアント５０６よりも多数の計算モジュール（例えば、ＰＥ４００）を有する。他方、この例では、ＰＤＡ５１０は最小量の処理を実行する。したがって、したがって、ＰＤＡ５１０は、最小数のＰＥ４００、例えば一台のＰＥ４００を有する。ＤＴＶ５１２は、実質的にクライアント５０６とサーバ５０８の間の処理レベルを実行する。したがって、ＤＴＶ５１２は、クライアント５０６のプロセッサ要素とサーバ５０８のプロセッサ要素の間の数のプロセッサ要素を有する。
【００８３】
システム５００の均質的な構成は、適応性、処理速度、処理効率を促進する。システム５００の各メンバが同一のコンピューティングモジュール、例えばプロセッサ要素４００の一つまたは複数（またはその一部）を使用して処理を実行するので、データおよびアプリケーションの処理がネットワークメンバで共有されてもよいため、データおよび／またはアプリケーションの処理を実行するコンピュータおよびコンピューティングデバイスの特定は、重要でない。システム５００により処理されるデータおよびアプリケーションを含むソフトウェアセルを固有に識別することによって、処理が発生した場所にかかわらず、その処理を要求するコンピュータまたはコンピューティングデバイスに処理結果を送信することができる。この処理を実行するモジュールが共通の構造を有し、共通の命令セットアーキテクチャを使用するので、プロセッサ間の互換性を得るための追加ソフトウェアレイヤによる計算負荷が省かれる。このアーキテクチャおよびプログラミングモデルは、例えば、リアルタイムかつマルチメディアのアプリケーションを実行するのに必要な処理速度を促進する。
【００８４】
システム５００により促進される処理速度および処理効率のさらなる利点を得るために、このシステムにより処理されるデータおよびアプリケーションは、固有に識別され一様にフォーマット化されたソフトウェアセル５０２にパッケージングされてもよい。各ソフトウェアセル５０２は、アプリケーションおよびデータの両方を含み、または含むことができる。各ソフトウェアセルはまた、ネットワーク５０４およびシステム５００の全体を通じてセルを識別するためのＩＤを持つ。ソフトウェアセルの構造の均質性、およびネットワーク全体を通じたソフトウェアセルの固有の識別により、ネットワーク５０４の任意のコンピュータまたはコンピューティングデバイス上でのアプリケーションおよびデータの処理が容易になる。例えば、クライアント５０６がソフトウェアセル５０２を実行してもよいが、クライアント５０６の処理能力が限られているため、ソフトウェアセル５０２を処理のためにサーバ５０８に送信してもよい。その結果、ソフトウェアセル５０２は、ネットワーク５０４上の処理リソースの利用可能性に基づいて、ネットワーク５０４の全体にわたって移動することができる。
【００８５】
システム５００のプロセッサおよびソフトウェアセル５０２の均質的な構造により、今日の異機種間ネットワークの課題の多くが回避される。例えばＪａｖａ仮想マシン（Ｊａｖａは登録商標）のような仮想マシンである任意の命令セットを使用して、任意のＩＳＡ上でのアプリケーションの処理を可能にしようとする非効率的なプログラムモジュールを避けることができる。したがって、システム５００は、従来のネットワークより効果的にかつ効率的に、ブロードバンド処理を実行することができる。
【００８６】
本発明の様々な態様により、誤り訂正対策機能が使用可能または使用不可にされるべきか否かを示し、データに関連付けされた属性を、マルチプロセッサシステムが採用することが可能になる。この利点により、処理システムは、誤り訂正対策に関する様々なデータを違ったやり方で扱うことができる。
【００８７】
対策を実装するべきか否かを示すために属性を用いることができるし、タスクで使用されるデータ型に属性が関係していてもよい。好ましくは、属性は動的にまたは静的に生成されるか、一つまたは複数のデータ型に基づいて割り当てされてもよい。例えば、データがリアルタイムか非リアルタイムかを示すために属性を使用してもよい。別の例では、データがストリーミングか非ストリーミングかを示すために属性を使用してもよい。さらに別の実施例では、ユーザが欠陥またはエラーに気付きやすいか気付きにくいか（つまり、知覚が容易か否か）を示すために属性を使用してもよい。例えば、データが音声データである場合、音声に誤り訂正を施した結果はユーザに聞き取られやすいため、誤り訂正対策を実行しない方がよい場合もある。
【００８８】
好ましい実施形態では、属性に基づき、マルチプロセッサシステム内の様々なプロセッサの間でタスクを再編成／再割り当てすることが望ましい。例えば、ＰＥ４００（図８）は、ＳＰＵ４０８Ａ〜４０８Ｄと、ＳＰＵ４０８Ａ〜４０８Ｄを管理するＰＵ４０４とを含む。ＳＰＵ４０８Ａ〜４０８Ｄは、関連付けられた属性を有するプロセッサタスクを実行するように構成されてもよい。ＭＭＵ１０６等の検出ユニットがプロセッサタスクの属性を検出してもよい。ＰＵ４０４等の実行ユニットが、ＭＭＵ１０６からの属性情報に基づきプロセッサタスクを再割り当てしてもよい。実行ユニットは、ＳＰＵ４０８Ａ〜４０８Ｄのうちの一つでエラーが発生したか否かを考慮することによって再割り当てを実行することが望ましい。
【００８９】
図１３は、好適な再割り当てプロセスを説明するフローチャートを示す。始めに、ステップ６００でプロセッサタスクを複数のプロセッサ間で再割り当てする方法についての最初の決定がなされる。ＰＵ４０４のような実行ユニットが最初の決定を実行してもよい。次に、ステップ６０２において、プロセッサタスクと関連する属性が、ＭＭＵ１０６等の検出ユニットによって検出される。任意的に、ステップ６０４において、誤りがプロセッサのうちの一つで発生したか否かについての判定をしてもよい。最後に、ステップ６０６において、プロセッサタスクが属性に基づいて再割り当てされてもよい。任意的なステップ６０４が実行される場合、プロセッサの一つにおいて誤りが発生したか否かに基づいて再割り当てがなされてもよい。
【００９０】
本発明の態様による処理、例えば、対策が使用不可にされるべきか否かを検出すること、使用不可属性をメモリに伝搬すること、使用不可属性をバスを介して伝搬すること、属性に基づいてプロセッサタスクを再割り当てすること、などの処理は、様々な方法で実装することができる。一変形例では、対策が使用不可にされるべきアドレス範囲内にアドレスがあるか否かについて判定される。別の変形例では、ＭＭＵ処理の間、属性テーブルが検査される。さらなる変形例では、対策が使用不可にされるべきか否かについて示す特殊なロード命令またはストア命令、または特殊なＤＭＡ命令／動作を提供することができる。様々な処理上の特徴は、上記の変形例のうち一つまたは複数を組み込んで実装することができる。さらに、処理はシングルプロセッサシステムまたはマルチプロセッサシステムにおいて実行することができる。
【００９１】
本明細書において特定の実施形態を参照して本発明を記載したが、これらの実施形態は単に本発明の原理および適用法を例示するにすぎないことを理解すべきである。したがって、例示の実施形態には多数の変形が可能であり、また、前掲の特許請求の範囲で規定される本発明の精神および範囲から逸脱することなく他の構成を考案できることを理解すべきである。
【図面の簡単な説明】
【００９２】
【図１】本発明の一つまたは複数の態様による処理システムの構造を示すブロック図である。
【図２】本発明の一つまたは複数の態様による図１の処理システムによって実行できるプロセスのステップを示すフロー図である。
【図３】本発明の一つまたは複数のさらなる態様による他の処理システムのブロック図である。
【図４】本発明による図３の処理システムによって実行できるさらなるプロセスのステップを示すフロー図である。
【図５】本発明の一つまたは複数のさらなる態様による複数のサブ処理ユニットを備える処理システムの構造を示す図である。
【図６】本発明の一つまたは複数の態様による図５のマルチプロセッシングシステムによって実行できるプロセスのステップを示すフロー図である。
【図７】本発明の一つまたは複数の態様によるマルチプロセッシングシステムの構造を示す図である。
【図８】本発明の態様によるプロセッサ要素の構造を示す図である。
【図９】本発明によるサブ処理ユニット（ＳＰＵ）の構造を示す図である。
【図１０】本発明の一つまたは複数のさらなる態様による複数のプロセッサ要素を備える処理システムの構造を示す図である。
【図１１】本発明の一つまたは複数のさらなる態様によるネットワークを介して相互接続される様々な製品に、複数のマルチプロセッシングユニットが配置される様子を示す図である。
【図１２】本発明の態様とともに使用できるソフトウェアセルアーキテクチャのブロック図である。
【図１３】本発明の一つまたは複数の態様によるマルチプロセッシングシステムによって実行できるプロセスのステップを示すフロー図である。
【符号の説明】
【００９３】
１００  処理システム、１０２  プロセッサコア、１０３  バス、１０４  メモリ、  １０５、１０７  入出力装置。
【図１】
2006178987.tif 000003
【図２】
2006178987.tif 000004
【図３】
2006178987.tif 000005
【図４】
2006178987.tif 000006
【図５】
2006178987.tif 000007
【図６】
2006178987.tif 000008
【図７】
2006178987.tif 000009
【図８】
2006178987.tif 000010
【図９】
2006178987.tif 000011
【図１０】
2006178987.tif 000012
【図１１】
2006178987.tif 000013
【図１２】
2006178987.tif 000014
【図１３】
2006178987.tif 000015