複数の仮想プロセッサとして動作するよう構成された処理装置であって、1以上の非リアルタイムアプリケーションをサポート可能な非リアルタイムオペレーティングシステムを実行するためのコードを含む第1プログラム実行メモリを有する第1仮想プログラム空間と、1以上のリアルタイム処理を実行するためのコードを含む第2プログラム実行メモリを有する第2仮想プログラム空間と、第1オペレーティングモード及び第2オペレーティングモードで動作する中央処理演算装置CPUであって、前記第2仮想プログラム空間を使用することなく、及び、前記第2オペレーティングモードで実行される1以上の前記リアルタイム処理に大きな影響を与えることなく、前記第1オペレーティングモードのための前記第1仮想プログラム空間を使用してオペレーティングシステム及びアプリケーションアクティビティを実行するCPUとを備える処理装置。前記第2仮想プログラム空間は更に、第2記憶メモリを有する請求項1に記載の処理装置。前記オペレーティングシステム及び前記第1オペレーティングモードの任意のアプリケーションのうちの少なくとも1つが、前記第2記憶メモリを変更することを防ぐアクセス回路を更に備える請求項2に記載の処理装置。前記第2仮想プログラム空間は更に、第2入出力回路のセットを有する請求項1に記載の処理装置。前記オペレーティングシステム及び前記第1オペレーティングモードの任意のアプリケーションのうちの少なくとも1つが、前記第2入出力回路のセットを変更することを防ぐアクセス回路を更に備える請求項4に記載の処理装置。前記CPUに、前記第1オペレーティングモードから前記第2オペレーティングモードへの切り替えを行わせるマスク不可能な優先度の高い割り込みを生成する割り込み制御回路を更に備える請求項1に記載の処理装置。前記CPUが前記第2オペレーティングモードで動作している間に、前記第1オペレーティングモードのCPU動作状態が保存されるように、優先度の高い割り込みが起動された場合には前記CPUの動作状態を格納する第1状態記憶メモリを更に備える請求項6に記載の処理装置。前記CPUが前記第1オペレーティングモードで動作している間に、前記第2オペレーティングモードのCPU動作状態を格納する第2状態記憶メモリを更に備える請求項6に記載の処理装置。前記第2オペレーティングモードの間に、前記CPUがボイスオーバーインターネットプロトコルVoIPメディア処理をサポートするようにプログラムされている請求項6に記載の処理装置。前記第2仮想プログラム空間は更に、メディアパケットを受信すると、優先度の高い割り込みをトリガする第2入出力回路のセットを有する請求項1に記載の処理装置。前記優先度の高い割り込みを周期的にトリガするタイマ回路を更に備え、前記タイマ回路は、前記処理装置がメディアパケットを受信する間隔よりも短い間隔で前記優先度の高い割り込みを周期的にトリガし、前記第1仮想プログラム空間において実行される少なくとも1つのアプリケーションのレイテンシを低減させるような態様で、前記1以上のリアルタイム処理は、複数のタイムスロットにわたってメディアパケットを処理する請求項10に記載の処理装置。前記複数のタイムスロットの期間の長さ及び周期のうちの少なくとも一方が、前記メディアパケットのサービス品質QoS要求を考慮して動的に調整可能である請求項11に記載の処理装置。1つの中央演算処理装置CPUで複数の仮想プロセッサを実行する方法であって、1以上の非リアルタイムアプリケーションをサポート可能な非リアルタイムオペレーティングシステムを実行する第1プログラム実行メモリを有する第1仮想プログラム空間を規定する段階と、1以上のリアルタイム処理を実行するための第2プログラム実行メモリを有する第2仮想プログラム空間を規定する段階と、第1オペレーティングモードと第2オペレーティングモードとの間で前記CPUの切り替えを行う段階とを備え、前記切り替える段階によって、前記第1オペレーティングモードの間に発生する任意のオペレーティングアクティビティが前記第2オペレーティングモードの間に実行されるリアルタイム処理に大きな影響を与えることなく、前記第1オペレーティングモードの間に前記CPUが前記第1仮想プログラム空間から動作を行う方法。前記第2仮想プログラム空間を規定する段階は、前記第2仮想プログラム空間の一部として第2記憶メモリを規定する段階を有し、前記オペレーティングシステム及び前記第1オペレーティングモードの全てのアプリケーションは、前記第2記憶メモリを変更することができない請求項13に記載の方法。前記第2仮想プログラム空間を規定する段階は、前記第2仮想プログラム空間の一部として第2入出力回路のセットを規定する段階を有し、前記オペレーティングシステム及び前記第1オペレーティングモードの全てのアプリケーションは、前記第2入出力回路のセットを変更することができない請求項14に記載の方法。前記CPUを前記第2オペレーティングモードへと切り替えるために、前記第1オペレーティングモードで動作している間に、マスク不可能な優先度の高い割り込みのストリームを生成する段階を更に備える請求項15に記載の方法。優先度の高い割り込みを生成する段階は、前記CPUが前記第2オペレーティングモードで動作している間に前記第1オぺレーティングモードのCPU動作状態が保存されているように、前記CPUの動作状態を格納する段階を有する請求項16に記載の方法。前記第2オペレーティングモードの間に、ボイスオーバーインターネットプロトコルVoIPメディアを処理するように前記CPUを動作させる段階を更に備える請求項16に記載の方法。メディアパケットのストリームを受信したことに応答して、マスク不可能な優先度の高い割り込みのストリームを生成する段階を更に備える請求項15に記載の方法。前記マスク不可能な優先度の高い割り込みのストリームを生成する段階は、前記第1仮想プログラム空間において実行される少なくとも1つのアプリケーションのレイテンシを低減させるような態様で、前記第2仮想プログラム空間の前記1以上のリアルタイム処理が、複数のタイムスロットにわたってメディアパケットを処理するように、メディアパケットの受信間隔よりも短い間隔で割り込みを生成することを含む請求項19に記載の方法。具体的な例及び/又は具体的な実施形態と共に、以下に開示される方法及びシステムを概略的に説明されている。例えば、詳細な例及び/又は実施形態を参照する場合、この背後にある原理は1つの実施形態に限定されず、当業者であれば理解できるように、そうでないと明示されない限り、その他の方法及びシステムに拡張して使用されてもよい。以下、2つの別個の仮想プロセッサとして動作するよう構成される1つの中央演算処理装置CPUを有する処理システムについて説明される。一実施形態において、1つの仮想プロセッサは、オペレーティングシステムを使用して汎用アプリケーションを実行するように構成され、もう1つの仮想プロセッサは、信頼性の高い態様でリアルタイム処理を実行するように構成される。以下に説明する方法及びシステムの利点のうちの1つは、周知のオペレーティングシステムの明確なマルチプロセッシング例えば、1つのソフトウェア層における異なるアプリケーションを実行する異なる複数のウインドウとは異なり、以下に説明される仮想プロセッサの実施形態は、異なる複数のハードウェアスレッドを使用するように設計されているため、一方の仮想プロセッサに問題が生じたとしても、もう一方の仮想プロセッサがタイムクリティカルなオペレーションを実行することができる。したがって、一実施形態において、1つのCPUが使用されるが、一方の仮想プロセッサにおいて再起動を必要とするようなクラッシュ状態が発生していたとしても、中断することなくもう一方の仮想プロセッサにより、様々なリアルタイムクリティカルな処理オペレーションを信頼性高く実行することができる。図1には、一実施形態に係る、2つの別個の仮想プロセッサとして機能するように構成される処理装置100が示されている。図1に示すように、処理装置100は、CPU110、メモリ管理ユニットMMU112、割り込み制御回路114、タイマ回路116、第1仮想プログラム空間120及び第2仮想プログラム空間130を備える。第1仮想プログラム空間120及び第2仮想プログラム空間130は、CPU110で利用可能な全メモリ空間111内に画定される別個の空間である。一実施形態において、第1仮想プログラム空間120は、第1プログラム実行メモリ122、第1記憶メモリ124、及び、キーパッド、ディスプレイ、スピーカ等任意の数の様々な周辺機器と接続される第1入出力回路126の1セットを有する。第1プログラム実行メモリ122は、厳密な応答時間を要求しないヒューマンインタラクティブアプリケーション例えば、キーパッド入力及び表示のような複数のアプリケーションをサポート可能な非リアルタイムオペレーティングシステムOSを実行するコードを含む。第1記憶メモリ124は、第1プログラム実行メモリ122に存在するアプリケーション及びOSをサポートするべく、揮発性及び不揮発性ランダムアクセスメモリRAMのような、書き込み及び読み出しが可能な任意の種類及び任意の数のメモリを含む。一実施形態において、第2仮想プログラム空間130は、第2プログラム実行メモリ132、第2記憶メモリ134、及び、時分割多重TDM態様で無線媒体ベースのパケットを送受信するポート、T1/E1データインターフェース、イーサーネットインターフェース等の任意の数の様々な通信/媒体周辺機器と接続される第2入出力回路136のセットを有する。第2プログラム実行メモリ132には、入力される及び出力される媒体をタイムリーに処理可能な、複数のリアルタイム処理を実行するよう構成されるコードが書き込まれている。例えば、一実施形態において、第2プログラム実行メモリ132は、ボイスオーバーインターネットプロトコルVoIP処理のためのコード、及び/又は、任意の数のボイスコーデック、DTMFリレーサポート、パケットロス隠蔽、エコー除去、音声アクティビティ検出、コンフォートノイズ生成、ユニバーサルマルチトーン生成及び/又は検出、セルラーID生成及び/又は検出、音声ミキシング、ファックス生成及びデコードのためのコードを含む。第1記憶メモリ124と同様に、第2記憶メモリ134は、リアルタイム処理をサポートするべく、読み出し及び書き込み可能な任意の数及び任意の種類のメモリを含む。本開示の目的から、メモリ122、124、132及び134は、論理的に異なるエンティティとして描かれているが、ある実施形態では、これらは物理的に1つのメモリユニットに統合されていてもよい。特定の実施形態では、例えば、第1記憶メモリ124及び第2記憶メモリ134は、1つのRAMの2つの別個の部分として存在し、第1プログラム実行メモリ122及び第2プログラム実行メモリ132は、リードオンリーメモリROMのような別の1つのメモリデバイスの異なる部分として存在する。これに替えて、別の実施形態では、4つのメモリ122、124、132及び134の全てが、1つのメモリデバイスの異なる部分として、又は、1つの集積回路に組み込まれる異なるメモリセグメントとして存在する。一般的に、第1オペレーティング空間のOS及びアプリケーションが、第2オペレーティング空間130のリアルタイム処理の性能に明確な悪影響を与えない限りにおいて、第1オペレーティング空間120と第2オペレーティング空間130との間のリソースの重複が可能である。例えば、第1プログラム実行メモリ122及び第2プログラム実行メモリ132は、第2オペレーティング空間130のリアルタイム処理の性能に明確な悪影響を与えない限り、コードの重複を防ぐべく、例えば、ROMに埋め込まれたベーシック入出力システムBIOSのような、共通コードセグメントを共有することができる。また、本開示のコンテキストにおいて、第2オペレーティング空間130のリアルタイム処理の性能への明確な悪影響について考えることなく、コード実行にトランスパレント性能向上を除くなキャッシュメモリのような特定のメモリリソースを、オペレーティング空間120及び130の間で共有することができる。動作時には、処理装置100は、全てのデバイス110~136が、所定の状態又は初期状態に設定されるように、電力投入リブートのようなハードウェア初期化プロセスを実行する。動作時には、CPU110は、割り込み制御回路114、タイマ回路116及び第2仮想プログラム空間130の第2入出力回路136のセットを初期化する。割り込み制御回路114及びタイマ回路116の一部又は全体を、第2仮想プログラム空間130の一部として考える。様々な実施形態において、MMU112、割り込み制御回路114、タイマ回路116、及び、場合によっては第2入出力回路136のセットの一部は、プログラミングされない固定デバイスであり、その振る舞いに対してCPUが非常に限定された影響を与える又は全く影響を与えない。このような実施形態において、第2仮想プログラム空間120の初期化は、例えば、回路バッファをゼロにする、又は、第2記憶メモリ134のポインタをゼロにするといったように、非常に限定されたタスクである。MMU112は、CPU110が要求するメモリ及び周辺デバイスへのアクセスを扱う役割をするハードウェア構成要素である。その機能には、仮想アドレスの物理アドレスへの変換すなわち、仮想メモリ管理、メモリ保護、キャッシュ制御及びバス調停が含まれる。このMMU112は、メモリ保護が破られた時に、割り込み又はフラグを生成するように構成されている。割り込み制御回路114は、1以上のCPUアクセス可能ラインに、複数の割り込みソースを組み合わせて、割り込み出力に優先順位レベルを割り当てるのに使用されるデバイスである。この割り込み制御回路114は、TDMフレーム境界を示す割り込みのような、マスク不可能な優先順位の高い割り込みをCPU110に示す能力、及び、複数の優先順位の低い割り込みを示す能力を有する。タイマ回路116は、優先順位の高い、マスク不可能及び/又は優先順位の低い割り込みを、周期的に生成するために使用されるカウンタである。一実施形態において、CPU110は更に、第1仮想プログラム空間120の第1入出力回路126のセットを初期化し、その後に、OSの初期化を行い、サービスアプリケーションを更新するよう指示されたアプリケーション等の、第1プログラム実行メモリの特に指定されたアプリケーションを初期化する。図1の実施形態において、割り込み制御回路114は、CPU110が通常は直接又は間接的にマスクできない優先度の高い割り込みを含む。したがって、初期化の後は、CPU110は、このようなマスク不可能な優先度の高い割り込みによって、第1仮想プログラム空間120のリソースを使用する第1非リアルタイムオペレーティングモードから、第2仮想プログラム空間130のリソースを使用する第2リアルタイムオペレーティングモードへの切り替えを余儀なくされる。第2オペレーティングモードから第1オペレーティングモードへと戻る切り替えは、適切な割り込みリターンコマンドを使用して行われる。このように、2つの仮想プロセッサが維持される。マスク不可能であり優先順位の高い割り込みの例としては、インテル登録商標8086ベースのプロセッサで知られているマスク不可割り込みnonmaskableinterrupt:NMIライン、及び、ARMプロセッサで知られている高速割り込みfastinterrupt:FIQラインが含まれる。様々な実施形態において、1つの仮想プロセッサ内で発生する障害のような任意のアクティビティは、他の仮想プロセッサにほぼ干渉しないようにするのが望ましい。このようにするために、MMU112は、第1オペレーティング空間120から動作するソフトウェアが、第2オペレーティング空間130のメモリ及び任意のデバイスに、弊害をもたらすような態様で影響を与えることがないようにしている。例えば、MMU112を使用して、CPU110が、第1仮想プログラム空間120のOS及び/又は任意のアプリケーションからのコードを実行している時、すなわち、第1オペレーティングモードにある時には、CPU110は、第2記憶メモリ134又は第2入出力回路136にアクセスしない、又は、これらメモリ及び回路にアクセスしないように指示される。同様に、一実施形態において、MMU112を使用して、CPU110が第2オペレーティングモードにある時には、CPU110が第1記憶メモリ124又は第1入出力回路126にアクセスしない、又は、これらメモリ及び回路を変更しないようにするのが有用である。第1仮想プログラム空間120と第2仮想プログラム空間130との間でのリソースの排他性を確かにする、又は、少なくとも不干渉性を保証することにより、一方のオペレーティングモードで発生し他のオペレーティングモードに明確に影響を与える可能性のある障害等のアクティビティを、有効に防ぐことができる。1つの仮想プロセッサが、別の仮想プロセッサのオペレーションに明確に干渉しないことを確かにするために、一実施形態では、CPUが第2オペレーティングモードで動作している間に、第1オペレーティングモードのCPUオペレーティング状態が保存されるような高い優先度の割り込みが起動された場合には、CPU110のオペレーティング状態が格納される。このようなオペレーティング状態は、第2記憶メモリに位置するソフトウェアスタックへとオペレーティング状態をプッシュpushingすることにより保存され、ソフトウェアスタックから格納されたデータを適切なCPUレジスタへと引き出すpullingことにより回復することができる。これに替えて、このオペレーティング状態を、CPU110内に構築された特別な記憶メモリに格納してもよい。図2には、本開示の一実施形態に係る、図1のCPU100の一部が示されており、ステータスフラグレジスタ210、データレジスタのセット212、アドレスポインタのセット214及びプログラムカウンタ216が含まれている。図2に示されているレジスタは、ARMラインのプロセッサを含むCPUの大方の種類に典型的に存在するレジスタ210-216として描かれているが、図2に示されたレジスタ/オペレーティング状態210-216は、割り込み設定に格納及び読み出しを行うのに有用な種類及びオペレーティング状態の数を包括的に示しているわけではない。図2に示されるように、CPU110が、高レベル割り込みをトリガするある信号を受信すると、様々なレジスタ210-216の値が、専用記憶装置220-226に格納される。また、図2に示されるように、高レベル割り込みから戻る際には、対応する専用記憶装置220-226により、様々なレジスタ210-216の値を回復させることができる。したがって、CPUが優先度の高い割り込みを提供し、優先度の高い割り込みから戻るときに、クリティカルなオペレーティング状態が保存される。第1オペレーティングモードのオペレーティング状態を保存することと同様に、一実施形態において、第1オペレーティングモードから遷移する時には、次の高レベル割り込みがCPUで受信される時にオペレーティング状態が迅速に回復されるように、CPUは、第2オペレーティングモードの様々なオペレーティング状態を格納する。割り込み駆動型のシステムの場合、割り込み又は割り込みのストリームをトリガするのに、複数の有用なスキームが存在する。例えば、規則的な間隔又は不規則な間隔でメディアパケットのストリームが受信される実施形態では、第2入出力回路136のセットを残すFLAG信号のようなある形式のセマフォを使用して、割り込み制御信号114における優先度の高い割り込みをトリガする。このような割り込みスキームにより、メディアパケットを、必要に応じて適切にリアルタイム処理することが可能となる。別の実施形態では、図1のタイマ回路116のようなタイミング回路を使用して、優先度の高い割り込みを周期的にトリガする。タイマ回路116の周期性が十分であると仮定すると、優先度の高い割り込みが提供される場合にはこの期間に、メディアパケットが障害なく適切に処理される。一実施形態において、タイマ回路116は、処理装置100が送受信するメディアパケットの間隔よりも短い間隔で、優先度の高い割り込みを周期的にトリガする。一実施形態において、第2仮想プログラム空間130のリアルタイム処理が、複数のタイムスロットにわたってメディアパケットを処理するように適切に設定される場合、第1仮想プログラム空間120において実行されるアプリケーションは、大幅に短縮されたレイテンシで実行される。図3には、図1の処理装置100が、第1オペレーティングモードと第2オペレーティングモードとの間の切り替えを行う好適な割り込みスキームのタイミング図300が示されている。図3に示す例では、メディアパケット図示せずは、10ミリ秒/パケットのレートで時分割多重TDM方式で送受信される。しかしながら、第2オペレーティングモードのタイムスロットの正確な期間及び周波数は、メディアパケットのサービス要求QoSを考慮して動的に変更可能であることから、割り込みは、2ミリ秒毎に発生するように設定される。このように、図1のCPU110のようなCPUの処理帯域幅は、第1非リアルタイムオペレーティングモードOMの第1フレーム/タイムスロット310のセット、及び、第2リアルタイムオペレーティングモードの第2フレーム/タイムスロット320のセットへと分割される。このように処理帯域幅を配置することにより、第1仮想プロセッサ及び第2仮想プロセッサを確立できるだけでなく、第1オペレーティングモードの間に実行されるアプリケーションのレイテンシを低減することができる。例えば、タイミング解像度が8ミリ秒から2ミリ秒へと上がる場合、第1オペレーティングモードの間に実行されるオンラインゲームをサポートするホームゲートウェイアプリケーションは、本来の性能を向上させることができると考えられる。図4には、本開示の一実施形態に係る、1つのCPUを使用した複数の仮想プロセッサのオペレーションを示したフローチャートが示されている。すなわち、図4のフローチャートは、マルチプロセッサ又は1つのプロセッサ上でのソフトウェアマルチタスクを使用したマルチスレッドと比較した、1つのプロセッサ上のマルチスレッドのハードウェア仮想化の方法を示している。以下に説明する段階は、説明を容易にするために特定のシーケンスで発生するように説明されているが、様々なオペレーションの順番は、実施形態によって異なってもよい。また、様々なオペレーションは、同時に発生してもよいし、重複するような態様で発生してもよい。プロセスは段階S402から開始し、1つのCPU及び2つの別個のオペレーティング空間、すなわち、第1リアルタイムオペレーティング空間及び第2非リアルタイムオペレーティング空間を有する処理装置のハードウェアリセットが実行される。次に、段階S404において、リアルタイム処理に使用される第2オペレーティング空間が初期化される。上記したように、初期化は、記憶メモリ、入出力回路、タイミング回路及び割り込み制御回路の初期化を伴ってもよい。入出力回路、タイミング回路及び割り込み制御回路がCPUによってプログラム可能である場合、タイミング及び/又は割り込み回路は、メディアパケットの受信に応答して、又は、受信されたメディアパケットの間隔よりも場合によっては短い間隔で割り込みが生成されるある周期に従って、マスク不可能な優先度の高い割り込みを生成するように構成される。しかしながら、入出力回路、タイミング回路及び割り込み制御回路が変更できないような別の実施形態では、CPUがこのようなデバイスの初期化を行うことは不可能であり、優先度の高い割り込みの生成は、ハードウェアアーキテクチャの機能となる。制御は、段階S406に移る。段階S406において、非リアルタイムプログラム空間のためのオペレーティング空間が初期化される。上記したように、一実施形態において、この初期化には、メモリ及び/又は入出力回路のようなハードウェアの初期化、及び、オペレーティングシステム及びオペレーティングシステム上で実行される様々なアプリケーションの初期化が含まれる。制御は、段階S410に移る。段階S410において、優先度の高い割り込みが生成されたかの判断がなされる。上記したように、このような優先度の高い割り込みを使用して、オペレーティングシステム及び段階S406のアプリケーションを実行する第1オペレーティングモードと、段階S404のリアルタイム処理が実行される第2オペレーティングモードとの間の切り替えをCPUが行うことが可能とされる。優先度の高い割り込みが生成されている場合には、制御が段階S412に移り、生成されていなかった場合には、制御が段階S422に移る。段階S412において、優先度の高い割り込みに応答して、段階S404のリアルタイム処理が実行されると同時に、この処理は、オペレーティングシステムによる影響から保護される、又は、任意の非リアルタイムアプリケーシは別の段階で実行される。様々な実施形態において、上記したように、段階S406において初期化される少なくとも1つのアプリケーションのレイテンシを短縮するような態様で、リアルタイム処理は、複数のタイムスロットにわたるストリーミングメディアパケットを処理する。次に、段階S414において、第2オペレーティングモードから第1オペレーティングモードへのリターンが実行される。そして、制御が段階S410に戻り、そこで更なる割り込みが受信され、各割り込みについて、受信された割り込みが優先度の高い割り込みであるか否かの判断がなされる。段階S422において、受信された割り込みが優先度の高い割り込みではないと判断された場合には、段階406において初期化された非リアルタイムアプリケーションが、サポーティングOS機能と共に実行される。上記したように、例えば、何かの事情でリアルタイム処理によって使用されているメモリ又は入出力回路を変更してしまったことにより、OS及び/又は非リアルタイムアプリケーションが段階S412のリアルタイム処理と干渉してしまうのを防ぐために、図1のMMU112のようなある種のハードウェア保護を組み込むことは有用である。次に、段階S430において、オペレーティングシステム又は複数のアプリケーションのうちの1つにおいて、障害が発生したか否かの判断が行われる。障害の例として、例えば、無効なメモリロケーション又はリソースへのアクセスが試みられた、又は、無限ソフトウェアループが使用された及び無限ソフトウェアループがウォッチドッグタイマの使用により特定されたことを示す情報がMMUから送信されたことが含まれる。障害が発生した場合には、制御がS432に移り、発生していない場合には、制御が段階S410に戻る。段階S432において、段階S406と関連付けられているハードウェアにおいてソフトウェアリブートオペレーションが実行され、制御が段階S406に戻り、オペレーティングシステム及びアプリケーションが、再初期化される。ソフトウェアリブートオペレーションは、優先度の高い割り込みの使用を必要としないことから、第1オペレーティングモードの間にCPUが通常アクセス可能なデバイス及びメモリ空間にのみ、影響を与える。したがって、第2オペレーティングモードのリアルタイム処理は、影響を受けないままである。本発明が、例として提示された特定の実施形態に関連して説明されたが、当業者であれば、数多くの代替、改良及び変形が思いつくことは明らかである。したがって、本明細書に記載された本発明の実施形態は、例示に過ぎず、限定することを意図していない。本発明の範囲内において、変更を行うことが可能である。