JP2002529810A - 処理構成 - Google Patents
処理構成Info
- Publication number
- JP2002529810A JP2002529810A JP2000580087A JP2000580087A JP2002529810A JP 2002529810 A JP2002529810 A JP 2002529810A JP 2000580087 A JP2000580087 A JP 2000580087A JP 2000580087 A JP2000580087 A JP 2000580087A JP 2002529810 A JP2002529810 A JP 2002529810A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- processor means
- instructions
- shadow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims 2
- 230000004048 modification Effects 0.000 claims 2
- 230000008859 change Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30116—Shadow registers, e.g. coupled registers, not forming part of the register space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
- Control By Computers (AREA)
Abstract
(57)【要約】
第1の命令セットを処理する第1のプロセッサ手段(1)と、第2の命令セットを処理する第2のプロセッサ手段(2)を具備するコンピュータの処理構成であって、第2の命令セットは第1の命令セットのサブセットであり、第2のプロセッサ手段(2)は、制御信号を受信するとともに第1のプロセッサ手段を参照することなくそれらの制御信号に従って命令を処理するよう構成されている。
Description
【0001】 本発明は、コンピュータアーキテクチャの処理構成に関する。
【0002】 (従来技術の説明) コプロセッサと協働する単一のメインプロセッサに基づく従来のコンピュータ
アーキテクチャは多数ある。コプロセッサは、アーキテクチャにおけるメインプ
ロセッサが持っていないかあまり効率的に実行しない機能を付け加える。コプロ
セッサは、一般に、メインプロセッサの命令セットで実行されない命令を使用す
る。したがって、多くのコプロセッサは、非常に特殊なコード条件、例えば浮動
小数点演算や信号処理を処理するのに使用される。ほとんどのアプリケーション
では、これは、コプロセッサの命令セットがそのコプロセッサに特有であること
を意味する。
アーキテクチャは多数ある。コプロセッサは、アーキテクチャにおけるメインプ
ロセッサが持っていないかあまり効率的に実行しない機能を付け加える。コプロ
セッサは、一般に、メインプロセッサの命令セットで実行されない命令を使用す
る。したがって、多くのコプロセッサは、非常に特殊なコード条件、例えば浮動
小数点演算や信号処理を処理するのに使用される。ほとんどのアプリケーション
では、これは、コプロセッサの命令セットがそのコプロセッサに特有であること
を意味する。
【0003】 また、多くのメインプロセッサは、リアルタイム・オペレーティングシステム
を用いて、割込みのような多数のタスクおよび例外処理を実行する。多数のタス
クの実行は、プロセッサで利用可能なかなりの量の処理能力を費やすコンテキス
ト変化をもたらす。プロセッサによって実行されているタスクが変えられると、
コンテキスト変化が生じる。タスクのコンテキストは、そのタスクに対応するコ
ードとプロセッサの内部レジスタの状態とに関連する。また、低電力アプリケー
ションでは、省電力化のために、割込み要求またはサービス要求が生じたときに
プロセッサが再起動されなければならないスリープモードが使用される。プロセ
ッサが再起動され、コンテキストがロードされ、サービスが実行されると、プロ
セッサは非アクティブ状態に戻る。そのようなプロセスは多量の電力を消費する
。
を用いて、割込みのような多数のタスクおよび例外処理を実行する。多数のタス
クの実行は、プロセッサで利用可能なかなりの量の処理能力を費やすコンテキス
ト変化をもたらす。プロセッサによって実行されているタスクが変えられると、
コンテキスト変化が生じる。タスクのコンテキストは、そのタスクに対応するコ
ードとプロセッサの内部レジスタの状態とに関連する。また、低電力アプリケー
ションでは、省電力化のために、割込み要求またはサービス要求が生じたときに
プロセッサが再起動されなければならないスリープモードが使用される。プロセ
ッサが再起動され、コンテキストがロードされ、サービスが実行されると、プロ
セッサは非アクティブ状態に戻る。そのようなプロセスは多量の電力を消費する
。
【0004】 したがって、これらの欠点を克服できるコンピュータアーキテクチャを提供す
ることが望まれる。
ることが望まれる。
【0005】 (発明の概要) 本発明の一態様によれば、 第1の命令セットを処理する第1のプロセッサ手段と、 第2の命令セットを処理する第2のプロセッサ手段と、 を具備し、 第2の命令セットが第1の命令セットのサブセットであり、 第2のプロセッサ手段が、制御信号を受信するとともに第1のプロセッサ手段
を参照することなくそれらの制御信号に従って命令を処理するよう構成されてい
る、 コンピュータの処理構成が提供される。
を参照することなくそれらの制御信号に従って命令を処理するよう構成されてい
る、 コンピュータの処理構成が提供される。
【0006】 (好ましい実施例の詳細説明) 図1は、シャドー(または、第2の)プロセッサ2と接続されたホスト(また
は、第1の)プロセッサ1を示すブロック図である。図の例では、シャドープロ
セッサ2は、プロセッサシステムに接続された周辺装置から受信される割込みを
制御するために使用される。
は、第1の)プロセッサ1を示すブロック図である。図の例では、シャドープロ
セッサ2は、プロセッサシステムに接続された周辺装置から受信される割込みを
制御するために使用される。
【0007】 ホストプロセッサ1は、外部バスインターフェイス4を介して外部バス3と接
続されている。外部バス3は、メインプロセッサおよびメモリ装置(不図示)と
の間でデータを転送するために使用される。ホストプロセッサ1は、メモリ装置
のデータアクセスを制御するメモリコントローラ5も含む。メモリコントローラ
5自体は、メインプロセッサ1の包括制御を行う実行ユニット6によって制御さ
れる。ホストプロセッサ1は、演算論理ユニット(ALU)7と多数のレジスタ
8(図の例では、16個)とをも含む。ホストプロセッサ1の種々のコンポーネ
ントは適当な内部バスを介して互いに通信する。
続されている。外部バス3は、メインプロセッサおよびメモリ装置(不図示)と
の間でデータを転送するために使用される。ホストプロセッサ1は、メモリ装置
のデータアクセスを制御するメモリコントローラ5も含む。メモリコントローラ
5自体は、メインプロセッサ1の包括制御を行う実行ユニット6によって制御さ
れる。ホストプロセッサ1は、演算論理ユニット(ALU)7と多数のレジスタ
8(図の例では、16個)とをも含む。ホストプロセッサ1の種々のコンポーネ
ントは適当な内部バスを介して互いに通信する。
【0008】 ホストプロセッサ1をできるだけ長い間低電力非アクティブモードに維持でき
るように、シャドープロセッサ2がメインプロセッサ1に接続されている。シャ
ドープロセッサ2は、割込み入力12を介して割込み信号を受信する割込みコン
トローラ10を含む。シャドープロセッサは、ホストプロセッサ1のレジスタの
選択されたレジスタに対応するレジスタも含む。割込みコントローラは、図1の
例におけるように、周辺バス11に接続された周辺装置に接続され得る。
るように、シャドープロセッサ2がメインプロセッサ1に接続されている。シャ
ドープロセッサ2は、割込み入力12を介して割込み信号を受信する割込みコン
トローラ10を含む。シャドープロセッサは、ホストプロセッサ1のレジスタの
選択されたレジスタに対応するレジスタも含む。割込みコントローラは、図1の
例におけるように、周辺バス11に接続された周辺装置に接続され得る。
【0009】 シャドープロセッサ2は、実行ユニット14とコードメモリ15とデータメモ
リ16とをも含む。シャドープロセッサ2は、それらからホストプロセッサが動
作する命令の選択されたサブセットを処理するように動作し、これらの命令はコ
ードメモリ15に格納される。シャドープロセッサ2は、ホスト外部バスインタ
ーフェイス4を介して外部バス3とインターフェースするメモリコントローラ1
7を介してホストプロセッサメモリにアクセスする。
リ16とをも含む。シャドープロセッサ2は、それらからホストプロセッサが動
作する命令の選択されたサブセットを処理するように動作し、これらの命令はコ
ードメモリ15に格納される。シャドープロセッサ2は、ホスト外部バスインタ
ーフェイス4を介して外部バス3とインターフェースするメモリコントローラ1
7を介してホストプロセッサメモリにアクセスする。
【0010】 ホストプロセッサ1とシャドープロセッサ2との間のリンクを提供するために
、2つのプロセッサの実行ユニットはホスト割込みコントローラ18を介して接
続され、各プロセッサのレジスタはレジスタブリッジユニット19を介して接続
されている。ホスト割込みコントローラ18は、システムの条件に合わせてタス
ク実行変更とコンテキスト変更とを生じさせるためにホストプロセッサへの割込
みをシャドープロセッサに発行させるモジュールである。それは、ホスト割込み
プロトコルを用いてホストへの割込みを発生し、所要の新規タスクに関するシャ
ドープロセスによってプログラムされたベクトルとして割込みのソースを示す。
、2つのプロセッサの実行ユニットはホスト割込みコントローラ18を介して接
続され、各プロセッサのレジスタはレジスタブリッジユニット19を介して接続
されている。ホスト割込みコントローラ18は、システムの条件に合わせてタス
ク実行変更とコンテキスト変更とを生じさせるためにホストプロセッサへの割込
みをシャドープロセッサに発行させるモジュールである。それは、ホスト割込み
プロトコルを用いてホストへの割込みを発生し、所要の新規タスクに関するシャ
ドープロセスによってプログラムされたベクトルとして割込みのソースを示す。
【0011】 周辺バス11から受信された割込みを処理するのに使用されるプロセスに関す
る以下の説明は、シャドープロセッサ2の動作の一例である。周辺装置(不図示
)は割込み入力線12に割込み要求を出力する。入力コントローラ10は、割込
み要求を翻訳するように動作し、割込み要求がシャドープロセッサ2で処理可能
なタイプのものであれば、シャドープロセッサ2はその割込みを処理する。割込
みの一例は、それが付随されるデータをシリアルポートのような外部装置がシス
テムから受信するときである。そのようなシリアルポートからのデータは、デー
タのソースおよび内容に関する情報を含むメッセージ本体内に含まれているかも
しれない。その後、シャドープロセッサ2は、メッセージを受信したのちそのメ
ッセージからデータを取り除くことによって必要な割込みを処理する。データが
取り除かれてチェックされると、それは、メッセージ内のデータを処理するタス
クに必要なコンテキストを最初にセットアップしたホスト割込みコントローラ1
8を介してメインプロセッサ1に割込みを発行する。メインプロセッサ1はその
データを処理し始め、一方、シャドープロセッサ2は中断されたタスクのコンテ
キストを格納する。
る以下の説明は、シャドープロセッサ2の動作の一例である。周辺装置(不図示
)は割込み入力線12に割込み要求を出力する。入力コントローラ10は、割込
み要求を翻訳するように動作し、割込み要求がシャドープロセッサ2で処理可能
なタイプのものであれば、シャドープロセッサ2はその割込みを処理する。割込
みの一例は、それが付随されるデータをシリアルポートのような外部装置がシス
テムから受信するときである。そのようなシリアルポートからのデータは、デー
タのソースおよび内容に関する情報を含むメッセージ本体内に含まれているかも
しれない。その後、シャドープロセッサ2は、メッセージを受信したのちそのメ
ッセージからデータを取り除くことによって必要な割込みを処理する。データが
取り除かれてチェックされると、それは、メッセージ内のデータを処理するタス
クに必要なコンテキストを最初にセットアップしたホスト割込みコントローラ1
8を介してメインプロセッサ1に割込みを発行する。メインプロセッサ1はその
データを処理し始め、一方、シャドープロセッサ2は中断されたタスクのコンテ
キストを格納する。
【0012】 レジスタブリッジユニット19は、ホストプロセッサおよびシャドープロセッ
サの両方による一組のレジスタへの多重アクセスを可能にする。それは、両プロ
セッサの物理的リソース空間内でのそれらのレジスタのアクセスおよびマッピン
グにおけるコンフリクトを解決しながら、両プロセッサシステムに物理的レジス
タが存在することを可能にする。
サの両方による一組のレジスタへの多重アクセスを可能にする。それは、両プロ
セッサの物理的リソース空間内でのそれらのレジスタのアクセスおよびマッピン
グにおけるコンフリクトを解決しながら、両プロセッサシステムに物理的レジス
タが存在することを可能にする。
【0013】 このユニットは、いずれか一方のプロセッサバスへの二重アクセスを可能にす
るマルチプレクサと、アクセスコンフリクトを回避するためのアービトレーショ
ンロジックと、いずれか一方のプロセッサのアドレスマップにおけるレジスタの
位置を再マッピングできるようにアクセスアドレスを変更させるためのロジック
とを含んでいる。
るマルチプレクサと、アクセスコンフリクトを回避するためのアービトレーショ
ンロジックと、いずれか一方のプロセッサのアドレスマップにおけるレジスタの
位置を再マッピングできるようにアクセスアドレスを変更させるためのロジック
とを含んでいる。
【0014】 例えば、ホストにおける位置4〜7にマッピングされたレジスタは、シャドー
における位置4〜7にも現れるか、シャドーの位置8〜11に再マッピングされ
る。また、レジスタスワッピングの場合には、ホストのレジスタx〜yはシャド
ーの等価レジスタと交換されることがあり、その逆もある。これは、コンテキス
ト変更においてホストとの間でスワップされた新たなコンテキストをシャドーの
レジスタx〜yにロードさせることができる。シャドーにおける交換されたレジ
スタは、古いホストコンテキストを保持し、シャドーによって格納または再格納
され、一方、ホストは新しいコンテキストを処理する。
における位置4〜7にも現れるか、シャドーの位置8〜11に再マッピングされ
る。また、レジスタスワッピングの場合には、ホストのレジスタx〜yはシャド
ーの等価レジスタと交換されることがあり、その逆もある。これは、コンテキス
ト変更においてホストとの間でスワップされた新たなコンテキストをシャドーの
レジスタx〜yにロードさせることができる。シャドーにおける交換されたレジ
スタは、古いホストコンテキストを保持し、シャドーによって格納または再格納
され、一方、ホストは新しいコンテキストを処理する。
【0015】 ホストプロセッサ1がタスク処理中か非アクティブ(「スリ−プ」)モードで
あるとき、シャドープロセッサ2は、条件を決定するために割込みを受け付け、
必要なアクションを決定する。そのアクションがシャドープロセッサ単独で処理
可能であれば、ホストを参照することなく実行されるが、ホストによる何らかの
介在が必要な場合には、シャドープロセッサ2はホスト割込みコントローラ18
を介してホストプロセッサを起動する。
あるとき、シャドープロセッサ2は、条件を決定するために割込みを受け付け、
必要なアクションを決定する。そのアクションがシャドープロセッサ単独で処理
可能であれば、ホストを参照することなく実行されるが、ホストによる何らかの
介在が必要な場合には、シャドープロセッサ2はホスト割込みコントローラ18
を介してホストプロセッサを起動する。
【0016】 図の例では、シャドープロセッサ2は、ホスト介在を必要とせずに周辺装置か
らの通常の要求を処理することができる。処理されるべきデータは、同じデータ
が両プロセッサによって演算処理されるために、レジスタブリッジユニット19
を介してホストプロセッサとシャドープロセッサとの間で共有される。
らの通常の要求を処理することができる。処理されるべきデータは、同じデータ
が両プロセッサによって演算処理されるために、レジスタブリッジユニット19
を介してホストプロセッサとシャドープロセッサとの間で共有される。
【0017】 シャドープロセッサ2は、ホストプロセッサの命令セットのサブセットを使用
することができる。そのようなシャドープロセッサの主な利点は、プロセッサエ
ミュレーションや複雑なコード変換を行う必要なしにホストとシャドーとの間で
命令コードを容易に共有できることである。他の重要な利点は、シャドープロセ
ッサを開発するのに必要な作業がホストプロセッサ開発作業に基づくものであり
得るということである。また、シャドープロセッサ設計は、ホストプロセッサの
制限された範囲の命令の処理に明確に基づいて最適化され得る。そのようなアプ
リケーションのために書かれたコードを分析して最も頻繁に用いられる命令を識
別し、それらの最も頻繁に用いられる命令をシャドープロセッサに割り当てるこ
とができる。その後、シャドープロセッサは、共通命令セットであるが最小限の
レジスタおよびアドレッシング範囲条件とに基づくものであり得る。シャドープ
ロセッサはホストプロセッサによって使用されるすべての関連レジスタおよびメ
モリ領域にアクセスすることができるので、ホストプロセッサとシャドープロセ
ッサはタンデムで動作することができ、ホストプロセッサへの参照に全く依存し
ないように設計されたシャドープロセッサがそのタスクを処理する。複数のシャ
ドープロセッサを単一のホストプロセッサとともに使用してホストプロセッサ自
体に直接参照する必要なしに効率的なデータ処理を提供することがわかる。
することができる。そのようなシャドープロセッサの主な利点は、プロセッサエ
ミュレーションや複雑なコード変換を行う必要なしにホストとシャドーとの間で
命令コードを容易に共有できることである。他の重要な利点は、シャドープロセ
ッサを開発するのに必要な作業がホストプロセッサ開発作業に基づくものであり
得るということである。また、シャドープロセッサ設計は、ホストプロセッサの
制限された範囲の命令の処理に明確に基づいて最適化され得る。そのようなアプ
リケーションのために書かれたコードを分析して最も頻繁に用いられる命令を識
別し、それらの最も頻繁に用いられる命令をシャドープロセッサに割り当てるこ
とができる。その後、シャドープロセッサは、共通命令セットであるが最小限の
レジスタおよびアドレッシング範囲条件とに基づくものであり得る。シャドープ
ロセッサはホストプロセッサによって使用されるすべての関連レジスタおよびメ
モリ領域にアクセスすることができるので、ホストプロセッサとシャドープロセ
ッサはタンデムで動作することができ、ホストプロセッサへの参照に全く依存し
ないように設計されたシャドープロセッサがそのタスクを処理する。複数のシャ
ドープロセッサを単一のホストプロセッサとともに使用してホストプロセッサ自
体に直接参照する必要なしに効率的なデータ処理を提供することがわかる。
【0018】 そのようなシステムの1つの特定の利点は、ホストプロセッサをアクティブ状
態に移す必要なしにシャドープロセッサが割込み要求と他の通常タスクとを処理
することができるということである。これにより、処理システムの総電力消費を
減少させることができる。
態に移す必要なしにシャドープロセッサが割込み要求と他の通常タスクとを処理
することができるということである。これにより、処理システムの総電力消費を
減少させることができる。
【0019】 ホストプロセッサの機能の一部分をそれぞれ専用に受持つ複数のシャドープロ
セッサによって単一のホストプロセッサの全機能を提供することができることが
わかる。このようにすると、ホストプロセッサそのものを使用する必要はないが
特定の機能にそれぞれが最適化されたシャドープロセッサ群を使用することがで
きる処理アーキテクチャを提供することができる。そのようなアーキテクチャは
、プログラムステップの処理が連続性を持つことができるように複数のシャドー
プロセッサがデータとレジスタとを共有するよう構成され得ることを示す図2お
よび図3に示されている。
セッサによって単一のホストプロセッサの全機能を提供することができることが
わかる。このようにすると、ホストプロセッサそのものを使用する必要はないが
特定の機能にそれぞれが最適化されたシャドープロセッサ群を使用することがで
きる処理アーキテクチャを提供することができる。そのようなアーキテクチャは
、プログラムステップの処理が連続性を持つことができるように複数のシャドー
プロセッサがデータとレジスタとを共有するよう構成され得ることを示す図2お
よび図3に示されている。
【0020】 図2は、ホストプロセッサを使用しないシャドープロセッサ概念のアプリケー
ションである。
ションである。
【0021】 多数のシャドープロセッサがシーケンスに構成され、各プロセッサは、前段の
シャドープロセッサから得られるデータに対して特定の処理を実行し、処理され
たデータをシーケンスにおける次段に渡す。シーケンスは、他のシステムコンポ
ーネントとの接続用の終端シャドープロセッサに入出力ポートを備えている。処
理はシャドープロセッサから両方向(すなわち、1から5と、5から1)に発生
する。また、セクション3,4は、メインシーケンスと結合されるべき付加入出
力を備えた2つのシャドープロセッサ(AおよびB)を含む。シャドープロセッ
サ6は、メモリ制御のタスクを実行し、適切なコードが必要に応じて主メモリか
らシャドープロセッサにロードされることを保証する。それは、システム用の主
な共同作用タスクも行う。
シャドープロセッサから得られるデータに対して特定の処理を実行し、処理され
たデータをシーケンスにおける次段に渡す。シーケンスは、他のシステムコンポ
ーネントとの接続用の終端シャドープロセッサに入出力ポートを備えている。処
理はシャドープロセッサから両方向(すなわち、1から5と、5から1)に発生
する。また、セクション3,4は、メインシーケンスと結合されるべき付加入出
力を備えた2つのシャドープロセッサ(AおよびB)を含む。シャドープロセッ
サ6は、メモリ制御のタスクを実行し、適切なコードが必要に応じて主メモリか
らシャドープロセッサにロードされることを保証する。それは、システム用の主
な共同作用タスクも行う。
【0022】 そのような構成の一つのアプリケーションは通信端末である。シャドープロセ
ッサ1の入出力はRFサブシステムに取り付けられ、プロセッサ5の入出力はオ
ーディオサブシステムに取り付けられる。シャドープロセッサ3b/4bのセカ
ンダリI/Oは、データプロセッサと例えばLCDやキーボードであるユーザイ
ンターフェースとに取り付けられる。シャドープロセッサ1〜5はそれぞれ、オ
ーディオコーデックやインターリーブ/デインタリーブなどのような所要の特定
のタスクを実行する。
ッサ1の入出力はRFサブシステムに取り付けられ、プロセッサ5の入出力はオ
ーディオサブシステムに取り付けられる。シャドープロセッサ3b/4bのセカ
ンダリI/Oは、データプロセッサと例えばLCDやキーボードであるユーザイ
ンターフェースとに取り付けられる。シャドープロセッサ1〜5はそれぞれ、オ
ーディオコーデックやインターリーブ/デインタリーブなどのような所要の特定
のタスクを実行する。
【0023】 図3は、仮想プロセッサ概念の一例である。
【0024】 メインプロセッサは、仮想プロセッサとして設けられ、それは、概念的におよ
びシミュレーションとして存在するだけである。この仮想プロセッサから、様々
なアプリケーションが分析され、特定の具体例が得られる。そのような3つの具
体例1〜3がホストの下に描かれている。各具体例は、用途によって必要とされ
るホストの特定のコンポーネントを含んでいる。例えば、シャドープロセッサA
(1)はRISC CPUに特有であり、シャドープロセッサB(2)はロジッ
クプロセッサの一例であり、シャドープロセッサC(3)はメモリ管理プロセッ
サの一例である。
びシミュレーションとして存在するだけである。この仮想プロセッサから、様々
なアプリケーションが分析され、特定の具体例が得られる。そのような3つの具
体例1〜3がホストの下に描かれている。各具体例は、用途によって必要とされ
るホストの特定のコンポーネントを含んでいる。例えば、シャドープロセッサA
(1)はRISC CPUに特有であり、シャドープロセッサB(2)はロジッ
クプロセッサの一例であり、シャドープロセッサC(3)はメモリ管理プロセッ
サの一例である。
【0025】 図3の重要な違いは、ホストが仮想プロセッサであり物理的には存在しないこ
とである。
とである。
【0026】 シャドープロセッサは、チップ上の物理的実装体に合成された仮想プロセッサ
の最適化部分要素である。
の最適化部分要素である。
【図1】 本発明によるコンピュータプロセッサアーキテクチャを示すブロック図である
。
。
【図2】 多数のプロセッサを含むコンピュータアーキテクチャを示す図である。
【図3】 本発明を具現化するプロセッサが所望の仮想プロセッサの機能をどのように実
現できるかを示す図である。
現できるかを示す図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年9月29日(2000.9.29)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【請求項7】 前記第1のプロセッサ手段が、動作のアクティブ状態および
非アクティブ状態を有し、 前記第1のプロセッサ手段が動作の非アクティブ状態であるとき、前記命令が
前記第2のプロセッサ手段を用いて処理される、 請求項6記載の方法。
非アクティブ状態を有し、 前記第1のプロセッサ手段が動作の非アクティブ状態であるとき、前記命令が
前記第2のプロセッサ手段を用いて処理される、 請求項6記載の方法。
【手続補正書】
【提出日】平成13年5月14日(2001.5.14)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW
Claims (8)
- 【請求項1】 コンピュータの処理構成であって、 第1の命令セットを処理する第1のプロセッサ手段と、 第2の命令セットを処理する第2のプロセッサ手段と、 を具備し、 前記第2の命令セットが前記第1の命令セットのサブセットであり、 前記第2のプロセッサ手段が、制御信号を受信するとともに第1のプロセッサ
手段を参照することなくそれらの制御信号に従って命令を処理するよう構成され
ている、 処理構成。 - 【請求項2】 前記第1のプロセッサ手段が複数のレジスタを含み、 前記第2のプロセッサ手段が、前記レジスタの所定の選択にアクセスする、 請求項1記載の処理構成。
- 【請求項3】 前記第1のプロセッサ手段が、動作のアクティブ状態および
非アクティブ状態を有し、 前記第1のプロセッサ手段が非アクティブ状態のとき、前記第2のプロセッサ
手段が命令を処理するよう動作可能である、 請求項1または2記載の処理構成。 - 【請求項4】 受信制御信号が前記第2のプロセッサ手段によって処理され
得ない命令を表すとき、前記第2のプロセッサ手段が、前記第1のプロセッサ手
段を非アクティブ状態からアクティブ状態に変化させるよう動作可能である、請
求項3記載の処理構成。 - 【請求項5】 コンピュータを動作させる方法であって、前記コンピュータ
が、第1の命令セットを処理する第1のプロセッサ手段と、第2の命令セットを
処理する第2のプロセッサ手段とを具備し、前記第2の命令セットが前記第1の
命令セットのサブセットである、方法であって、 前記第2のプロセッサ手段を用いて制御信号を受信するステップと、 前記受信された制御信号が前記第2の命令セットの一部であるとき、前記第1
のプロセッサ手段を参照することなく前記第2のプロセッサ手段を用いて前記受
信された制御信号に従って命令を処理するステップと、 を含む、方法。 - 【請求項6】 前記第1のプロセッサ手段が、動作のアクティブ状態および
非アクティブ状態を有し、 命令が前記第2のセットの一部であるならば、前記第1のプロセッサ手段が非
アクティブ状態であるとき、前記命令が前記第2のプロセッサ手段を用いて処理
される、 請求項5記載の方法。 - 【請求項7】 コンピュータの処理構成であって、 第1および第2のプロセッサを具備し、 前記第2のプロセッサが前記第1のプロセッサとコード互換であり、 命令コードが、前記第1のプロセッサと前記第2のプロセッサとの間で共有さ
れ、変換または変更を必要とせずに前記第1または第2のプロセッサによって実
行され得る、 処理構成。 - 【請求項8】 複数の処理要素を具備するコンピュータの処理構成であって
、 各要素が、所定の機能を割り当てられ、 前記処理要素が、変換または変更することなく命令コードを共有することがで
き、 前記複数の要素が、所定の仮想プロセッサと等価な機能を提供する、 処理構成。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9823819A GB2343269A (en) | 1998-10-30 | 1998-10-30 | Processing arrangements |
GB9823819.9 | 1998-10-30 | ||
PCT/EP1999/008058 WO2000026772A1 (en) | 1998-10-30 | 1999-10-25 | Processing arrangements |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002529810A true JP2002529810A (ja) | 2002-09-10 |
Family
ID=10841599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000580087A Withdrawn JP2002529810A (ja) | 1998-10-30 | 1999-10-25 | 処理構成 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7197627B1 (ja) |
EP (1) | EP1125194B1 (ja) |
JP (1) | JP2002529810A (ja) |
KR (1) | KR20010080349A (ja) |
CN (1) | CN1135469C (ja) |
AU (1) | AU763319B2 (ja) |
BR (1) | BR9914966A (ja) |
EE (1) | EE200100237A (ja) |
GB (1) | GB2343269A (ja) |
MY (1) | MY121811A (ja) |
WO (1) | WO2000026772A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5090591B2 (ja) | 2000-04-12 | 2012-12-05 | ソニー株式会社 | 電子装置の制御方法,電子装置及び電子装置の機能の認識方法 |
GB2382674B (en) | 2001-10-31 | 2005-11-16 | Alphamosaic Ltd | Data access in a processor |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
DE60333089D1 (de) | 2002-04-18 | 2010-08-05 | Nxp Bv | Prozessor mit mehrfachbefehlsausgabe |
US7058829B2 (en) * | 2002-08-14 | 2006-06-06 | Intel Corporation | Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU |
JP4090908B2 (ja) * | 2003-02-21 | 2008-05-28 | シャープ株式会社 | 画像処理装置および画像形成装置 |
US20080256551A1 (en) * | 2005-09-21 | 2008-10-16 | Freescale Semiconductor. Inc. | System and Method For Storing State Information |
KR100663709B1 (ko) | 2005-12-28 | 2007-01-03 | 삼성전자주식회사 | 재구성 아키텍처에서의 예외 처리 방법 및 장치 |
TW200735846A (en) * | 2006-03-31 | 2007-10-01 | Micro Star Intl Co Ltd | Data process electronic device with dual CPU |
US8468009B1 (en) * | 2006-09-28 | 2013-06-18 | Cadence Design Systems, Inc. | Hardware emulation unit having a shadow processor |
JP4720926B2 (ja) * | 2009-03-26 | 2011-07-13 | ブラザー工業株式会社 | 処理装置 |
US7996595B2 (en) * | 2009-04-14 | 2011-08-09 | Lstar Technologies Llc | Interrupt arbitration for multiprocessors |
US8321614B2 (en) * | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US8260996B2 (en) * | 2009-04-24 | 2012-09-04 | Empire Technology Development Llc | Interrupt optimization for multiprocessors |
US8234431B2 (en) * | 2009-10-13 | 2012-07-31 | Empire Technology Development Llc | Interrupt masking for multi-core processors |
CN102360278A (zh) * | 2011-09-07 | 2012-02-22 | 苏州科雷芯电子科技有限公司 | 控制类指令与计算类指令分离式计算机系统 |
US9153295B2 (en) * | 2012-10-04 | 2015-10-06 | Texas Instruments Incorporated | Register bank cross path connection method in a multi core processor system |
US10942748B2 (en) * | 2015-07-16 | 2021-03-09 | Nxp B.V. | Method and system for processing interrupts with shadow units in a microcontroller |
CN105204393B (zh) * | 2015-08-13 | 2017-12-26 | 彭增金 | 基于虚核单片机的单片机生产研发工具及其实现方法 |
TWI716167B (zh) * | 2019-10-29 | 2021-01-11 | 新唐科技股份有限公司 | 儲存裝置及其映射方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2607685C3 (de) * | 1976-02-25 | 1981-01-15 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem |
US4395758A (en) * | 1979-12-10 | 1983-07-26 | Digital Equipment Corporation | Accelerator processor for a data processing system |
US5021991A (en) * | 1983-04-18 | 1991-06-04 | Motorola, Inc. | Coprocessor instruction format |
EP0174231B1 (en) * | 1984-08-02 | 1990-11-14 | Telemecanique | Programmable controller ("pc") with co-processing architecture |
US5226127A (en) * | 1989-04-07 | 1993-07-06 | Intel Corporation | Method and apparatus providing for conditional execution speed-up in a computer system through substitution of a null instruction for a synchronization instruction under predetermined conditions |
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
US5588118A (en) * | 1991-08-21 | 1996-12-24 | Zilog, Inc. | Single chip dual processor |
US5614847A (en) * | 1992-04-14 | 1997-03-25 | Hitachi, Ltd. | Semiconductor integrated circuit device having power reduction mechanism |
US5495588A (en) * | 1993-11-18 | 1996-02-27 | Allen-Bradley Company, Inc. | Programmable controller having joined relay language processor and general purpose processor |
-
1998
- 1998-10-30 GB GB9823819A patent/GB2343269A/en not_active Withdrawn
-
1999
- 1999-10-25 BR BR9914966-4A patent/BR9914966A/pt not_active IP Right Cessation
- 1999-10-25 WO PCT/EP1999/008058 patent/WO2000026772A1/en not_active Application Discontinuation
- 1999-10-25 KR KR1020017005385A patent/KR20010080349A/ko not_active Application Discontinuation
- 1999-10-25 CN CNB99812768XA patent/CN1135469C/zh not_active Expired - Lifetime
- 1999-10-25 EP EP99950777A patent/EP1125194B1/en not_active Expired - Lifetime
- 1999-10-25 AU AU63424/99A patent/AU763319B2/en not_active Ceased
- 1999-10-25 US US09/830,719 patent/US7197627B1/en not_active Expired - Lifetime
- 1999-10-25 EE EEP200100237A patent/EE200100237A/xx unknown
- 1999-10-25 JP JP2000580087A patent/JP2002529810A/ja not_active Withdrawn
- 1999-10-29 MY MYPI99004679A patent/MY121811A/en unknown
Also Published As
Publication number | Publication date |
---|---|
BR9914966A (pt) | 2001-07-10 |
CN1135469C (zh) | 2004-01-21 |
KR20010080349A (ko) | 2001-08-22 |
EE200100237A (et) | 2002-08-15 |
GB2343269A (en) | 2000-05-03 |
US7197627B1 (en) | 2007-03-27 |
EP1125194A1 (en) | 2001-08-22 |
GB9823819D0 (en) | 1998-12-23 |
WO2000026772A1 (en) | 2000-05-11 |
MY121811A (en) | 2006-02-28 |
EP1125194B1 (en) | 2005-12-28 |
AU763319B2 (en) | 2003-07-17 |
AU6342499A (en) | 2000-05-22 |
CN1325511A (zh) | 2001-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002529810A (ja) | 処理構成 | |
US9459874B2 (en) | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource | |
US6223279B1 (en) | Single chip microcomputer having a dedicated address bus and dedicated data bus for transferring register bank data to and from an on-line RAM | |
US7487341B2 (en) | Handling address translations and exceptions of a heterogeneous resource of a processor using another processor resource | |
US7603540B2 (en) | Using field programmable gate array (FPGA) technology with a microprocessor for reconfigurable, instruction level hardware acceleration | |
EP0794492B1 (en) | Distributed execution of mode mismatched commands in multiprocessor computer systems | |
EP1582980B1 (en) | Context switching method, device, program, recording medium, and central processing unit | |
US10545894B2 (en) | Information processor with tightly coupled smart memory unit | |
EP1446717A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
US20050005088A1 (en) | Context switching pipelined microprocessor | |
JP2000293436A (ja) | パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート | |
JP2000298652A (ja) | マルチプロセッサ | |
US6708259B1 (en) | Programmable wake up of memory transfer controllers in a memory transfer engine | |
JP2001167058A (ja) | 情報処理装置 | |
JPH05165641A (ja) | シングルチップマイクロコンピュータ | |
EP0350911A2 (en) | Tightly coupled multiprocessor structure for real-time applications | |
JPH09305424A (ja) | 二重化システム | |
JPS6381558A (ja) | マルチcpu制御方式 | |
JPH06259385A (ja) | マルチプロセッサシステム | |
JPS626329A (ja) | デ−タ転送回路 | |
JPH02184957A (ja) | メモリアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060320 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060328 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070109 |