JP2000284973A - 二重割込みベクトル・マッピング装置とその操作方法 - Google Patents
二重割込みベクトル・マッピング装置とその操作方法Info
- Publication number
- JP2000284973A JP2000284973A JP2000062576A JP2000062576A JP2000284973A JP 2000284973 A JP2000284973 A JP 2000284973A JP 2000062576 A JP2000062576 A JP 2000062576A JP 2000062576 A JP2000062576 A JP 2000062576A JP 2000284973 A JP2000284973 A JP 2000284973A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- memory circuit
- dsp
- vector
- unit
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 title claims description 18
- 238000013507 mapping Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 abstract description 20
- 230000008859 change Effects 0.000 abstract description 10
- 230000009977 dual effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 3
- 101150115300 MAC1 gene Proteins 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000012535 impurity Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000003607 modifier Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 2
- 102100039558 Galectin-3 Human genes 0.000 description 2
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 2
- 101150051246 MAC2 gene Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101150115013 DSP1 gene Proteins 0.000 description 1
- 101000619805 Homo sapiens Peroxiredoxin-5, mitochondrial Proteins 0.000 description 1
- 102100022078 Peroxiredoxin-5, mitochondrial Human genes 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000011810 insulating material Substances 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 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
- 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
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 プログラミングが容易で、電力消費を低めア
ルゴリズムの実行効率を高めたディジタル信号プロセッ
サ(DSP)を提供する。 【解決手段】 可変長命令を用い、コード密度が高く、
構造と命令集合を最適化するDSP100は、割込みベ
クトルの2つの集合を維持し、割込みソースの1つの集
合820、821、822が発した割込みに係わる割込
みベクトルを専用内部プログラム・メモリ回路801内
に置いたDSP割込みベクトル・テーブル850に記憶
し、他方、ホスト・プロセッサ810が起動した割込み
に係わる割込みベクトルを二重ポート形通信メモリ回路
802内に置いたホスト割込みベクトル・テーブル85
1に記憶して、割込みの全てにサービスする割込みサー
ビス・ルーチンを実行するが、ホスト・プロセッサ81
0は、通信メモリ回路802を用いてホスト起動割込み
ベクトルを変化させることができる。
ルゴリズムの実行効率を高めたディジタル信号プロセッ
サ(DSP)を提供する。 【解決手段】 可変長命令を用い、コード密度が高く、
構造と命令集合を最適化するDSP100は、割込みベ
クトルの2つの集合を維持し、割込みソースの1つの集
合820、821、822が発した割込みに係わる割込
みベクトルを専用内部プログラム・メモリ回路801内
に置いたDSP割込みベクトル・テーブル850に記憶
し、他方、ホスト・プロセッサ810が起動した割込み
に係わる割込みベクトルを二重ポート形通信メモリ回路
802内に置いたホスト割込みベクトル・テーブル85
1に記憶して、割込みの全てにサービスする割込みサー
ビス・ルーチンを実行するが、ホスト・プロセッサ81
0は、通信メモリ回路802を用いてホスト起動割込み
ベクトルを変化させることができる。
Description
【0001】
【発明の属する技術分野】本発明は、ディジタル・マイ
クロプロセッサ、特にディジタル・マイクロプロセッサ
用割込み機構に関する。
クロプロセッサ、特にディジタル・マイクロプロセッサ
用割込み機構に関する。
【0002】
【従来の技術】マイクロプロセッサは、汎用プロセッサ
であって、それの上でソフトウェアを実行するために命
令処理量が大きいことがを必要であり、使用する特定ソ
フトウェア・アップリケーションに従って広範囲の処理
を行うことができる。マイクロプロセッサ内の割込み応
答機構は、一般に、割込みサービス・ルーチンの場所を
識別する割込みベクトル・テーブルを含む。
であって、それの上でソフトウェアを実行するために命
令処理量が大きいことがを必要であり、使用する特定ソ
フトウェア・アップリケーションに従って広範囲の処理
を行うことができる。マイクロプロセッサ内の割込み応
答機構は、一般に、割込みサービス・ルーチンの場所を
識別する割込みベクトル・テーブルを含む。
【0003】
【発明が解決しようとする課題】プロセッサには多くの
異なる種類のがあり、マイクロプロセッサはその1例に
過ぎない。例えば、ディジタル信号プロセッサ(DP
S)は、広く移動体処理アップリケーションなどの特定
のアップリケーションに用いられている。一般に、DS
Pは、関係するアップリケーションの性能を最適にする
ように構成(アーキテクチャ)されており、このために
専用の実行ユニットと命令集合を用いる。特に移動体電
気通信などのアップリケーションでは、これらに限定さ
れるわけではないが、DSPの性能を常に向上させてし
かも電力消費をできるだけ小さくすることが望まれる。
異なる種類のがあり、マイクロプロセッサはその1例に
過ぎない。例えば、ディジタル信号プロセッサ(DP
S)は、広く移動体処理アップリケーションなどの特定
のアップリケーションに用いられている。一般に、DS
Pは、関係するアップリケーションの性能を最適にする
ように構成(アーキテクチャ)されており、このために
専用の実行ユニットと命令集合を用いる。特に移動体電
気通信などのアップリケーションでは、これらに限定さ
れるわけではないが、DSPの性能を常に向上させてし
かも電力消費をできるだけ小さくすることが望まれる。
【0004】
【課題を解決するために手段】本発明の特定の好ましい
態様が添付の独立および従属クレームに示されている。
従属クレームの機能の組合せを独立クレームの機能に適
宜組み合わせてあり、必ずしもクレームに明示的に示さ
れているわけでない。本発明は、プロセッサ、例えば、
ディジタル信号プロセッサの性能を向上させるためのも
のであるが、これに限定されるわけはない。
態様が添付の独立および従属クレームに示されている。
従属クレームの機能の組合せを独立クレームの機能に適
宜組み合わせてあり、必ずしもクレームに明示的に示さ
れているわけでない。本発明は、プロセッサ、例えば、
ディジタル信号プロセッサの性能を向上させるためのも
のであるが、これに限定されるわけはない。
【0005】本発明の第1の態様では、高いコード密度
とプログラミングの容易さを兼ね備えたマイクロプロセ
ッサ、すなわち、プログラマブル・ディシタル信号プロ
セッサ(DSP)を提供する。構造と命令集合が、電力
消費を低くし、また無線電話や専用の制御タスクのため
のDSPアルゴリズムの実行効率を高めるよう、最適化
されている。マイクロプロセッサは、複数のソースから
の割込みリクエストに応答して動作する。マイクロプロ
セッサは、複数のソースから複数の割込みリクストを受
ける手段、複数のソースから選択された第1のソースの
中からの第1の割込みリクエストに応答して第1のメモ
リ回路から第1の割込みベクトルを検索する手段を有す
る。マイクロプロセッサはまた、複数のソースから選択
された第2のソースの中からの第2の割込みリクエスト
に応答して第2のメモリ回路から第2の割込みベクトル
を検索する手段を有し、第2のメモリ回路は第1のメモ
リ回路とは別個である。マイクロプロセッサは、第1の
割込みベクトルに応答して複数の割込みサービス・ルー
チンの中から第1の割込みサービス・ルーチンを実行し
かつ第2の割込みベクトルに応答して複数の割込みサー
ビス・ルーチンの中から第2の割込みサービス・ルーチ
ンを実行する手段を有する。
とプログラミングの容易さを兼ね備えたマイクロプロセ
ッサ、すなわち、プログラマブル・ディシタル信号プロ
セッサ(DSP)を提供する。構造と命令集合が、電力
消費を低くし、また無線電話や専用の制御タスクのため
のDSPアルゴリズムの実行効率を高めるよう、最適化
されている。マイクロプロセッサは、複数のソースから
の割込みリクエストに応答して動作する。マイクロプロ
セッサは、複数のソースから複数の割込みリクストを受
ける手段、複数のソースから選択された第1のソースの
中からの第1の割込みリクエストに応答して第1のメモ
リ回路から第1の割込みベクトルを検索する手段を有す
る。マイクロプロセッサはまた、複数のソースから選択
された第2のソースの中からの第2の割込みリクエスト
に応答して第2のメモリ回路から第2の割込みベクトル
を検索する手段を有し、第2のメモリ回路は第1のメモ
リ回路とは別個である。マイクロプロセッサは、第1の
割込みベクトルに応答して複数の割込みサービス・ルー
チンの中から第1の割込みサービス・ルーチンを実行し
かつ第2の割込みベクトルに応答して複数の割込みサー
ビス・ルーチンの中から第2の割込みサービス・ルーチ
ンを実行する手段を有する。
【0006】本発明の別の態様では、第1のメモリ回路
がマイクロプロセッサに接続して、第1の割込みベクト
ルに対する値を記憶するように動作し、第2のメモリ回
路がマイクロプロセッサに接続して、第2の割込みベク
トルに対する値を記憶するように動作し、およびホスト
・プロセッサ・インターフェースが第2のメモリ回路に
接続し、ホスト・プロセッサ・インターフェースは第2
の割込みリクエストを供給するように動作する。
がマイクロプロセッサに接続して、第1の割込みベクト
ルに対する値を記憶するように動作し、第2のメモリ回
路がマイクロプロセッサに接続して、第2の割込みベク
トルに対する値を記憶するように動作し、およびホスト
・プロセッサ・インターフェースが第2のメモリ回路に
接続し、ホスト・プロセッサ・インターフェースは第2
の割込みリクエストを供給するように動作する。
【0007】本発明の別の態様では、ホスト・プロセッ
サがホスト・プロセッサ・インターフェースに接続する
ので、ホスト・プロセッサ・インターフェースはホスト
・プロセッサに応答して異なった値を第2の割込みベク
トルに対して第2のメモリに記憶させるように動作し、
およびホスト・プロセッサ・インターフェースがホスト
・プロセッサに応答して第2の割込みリクエストを供給
するように動作する。
サがホスト・プロセッサ・インターフェースに接続する
ので、ホスト・プロセッサ・インターフェースはホスト
・プロセッサに応答して異なった値を第2の割込みベク
トルに対して第2のメモリに記憶させるように動作し、
およびホスト・プロセッサ・インターフェースがホスト
・プロセッサに応答して第2の割込みリクエストを供給
するように動作する。
【0008】本発明の別の態様では、ディジタル装置を
操作する方法が提供される。マイクロプロセッサは、次
のステップを遂行することによって複数のソースからの
割込みリクエストに応答するように動作する。すなわ
ち、複数のソースから複数の割込みリクエストを受ける
ステップ、複数の割込みリクエストの中の最高優先順位
割込みリクエストの割込み番号を決定するステップ、複
数のソースの中から選択された第1のソースからの第1
の割込みリクエストに応答して第1のメモリ回路から第
1の割込みベクトルを検索するステップ、第1の割込み
ベクトルに応答して複数の割込みサービス・ルーチンの
中から第1の割込みサービス・ルーチンを実行するステ
ップ、複数のソースの中から選択された第2のソースか
らの第2の割込みリクエストに応答して第2のメモリ回
路から第2の割込みベクトルを検索するステップ、ただ
し第2のメモリ回路は第1のメモリ回路とは別個であ
る、および第2の割込みベクトルに応答して複数の割込
みサービス・ルーチンの中から第2の割込みサービス・
ルーチンを実行するステップ。
操作する方法が提供される。マイクロプロセッサは、次
のステップを遂行することによって複数のソースからの
割込みリクエストに応答するように動作する。すなわ
ち、複数のソースから複数の割込みリクエストを受ける
ステップ、複数の割込みリクエストの中の最高優先順位
割込みリクエストの割込み番号を決定するステップ、複
数のソースの中から選択された第1のソースからの第1
の割込みリクエストに応答して第1のメモリ回路から第
1の割込みベクトルを検索するステップ、第1の割込み
ベクトルに応答して複数の割込みサービス・ルーチンの
中から第1の割込みサービス・ルーチンを実行するステ
ップ、複数のソースの中から選択された第2のソースか
らの第2の割込みリクエストに応答して第2のメモリ回
路から第2の割込みベクトルを検索するステップ、ただ
し第2のメモリ回路は第1のメモリ回路とは別個であ
る、および第2の割込みベクトルに応答して複数の割込
みサービス・ルーチンの中から第2の割込みサービス・
ルーチンを実行するステップ。
【0009】本発明の別の態様では、もし割込み番号の
値が第1の範囲内にあるならば第1のメモリ回路内の第
1の割込みベクトルのアドレスが第1のポインタ・レジ
スタ内に記憶された値と割込み番号を組み合わせること
によって形成され、もし割込み番号の値が第2の範囲内
にあるならば第2のメモリ回路内の第2の割込みベクト
ルのアドレスが第2のポインタ・レジスタ内に記憶され
た値と割込み番号を組み合わせることによって形成され
る。本発明による特定の実施の形態を、単なる例とし
て、かつ添付の図面を参照して説明する。同じ符号は同
じ部品を指示し、別に指定のない限り、各図面は図1の
プロセッサに関係する。
値が第1の範囲内にあるならば第1のメモリ回路内の第
1の割込みベクトルのアドレスが第1のポインタ・レジ
スタ内に記憶された値と割込み番号を組み合わせること
によって形成され、もし割込み番号の値が第2の範囲内
にあるならば第2のメモリ回路内の第2の割込みベクト
ルのアドレスが第2のポインタ・レジスタ内に記憶され
た値と割込み番号を組み合わせることによって形成され
る。本発明による特定の実施の形態を、単なる例とし
て、かつ添付の図面を参照して説明する。同じ符号は同
じ部品を指示し、別に指定のない限り、各図面は図1の
プロセッサに関係する。
【0010】本発明による特定の実施の形態について、
単なる例として添付の図面を参照して説明する。同じ参
照符号は同じ部品を指し、別に指定のない限り、各図面
は図1のプロセッサに関係する。
単なる例として添付の図面を参照して説明する。同じ参
照符号は同じ部品を指し、別に指定のない限り、各図面
は図1のプロセッサに関係する。
【0011】
【発明の実施の形態】本発明は、例えば特殊用途向け集
積回路(ASIC)内に実現されるディジタル信号プロ
セッサ(DSP)に特に用いられるが、他の種類のプロ
セッサにも用いられる。本発明によるプロセッサの一例
の基本的構成について以下に説明する。プロセッサ10
0は、可変命令長(8ビットから48ビット)のプログ
ラマブル固定小数点DSPコアであって、コード密度が
高くプログラミングが容易である。構成および命令集合
は、電力消費を低くし、かつ、無線電話や専用の制御タ
スク用のようなDSPアルゴリズムの実行の効率を高め
るように、最適化されている。プロセッサ100は、エ
ミュレーションおよびコード・デバッグの機能を含む。
積回路(ASIC)内に実現されるディジタル信号プロ
セッサ(DSP)に特に用いられるが、他の種類のプロ
セッサにも用いられる。本発明によるプロセッサの一例
の基本的構成について以下に説明する。プロセッサ10
0は、可変命令長(8ビットから48ビット)のプログ
ラマブル固定小数点DSPコアであって、コード密度が
高くプログラミングが容易である。構成および命令集合
は、電力消費を低くし、かつ、無線電話や専用の制御タ
スク用のようなDSPアルゴリズムの実行の効率を高め
るように、最適化されている。プロセッサ100は、エ
ミュレーションおよびコード・デバッグの機能を含む。
【0012】図1は、本発明の一実施の形態によるディ
ジタル装置10の概略図である。ディジタル装置は、プ
ロセッサ100とプロセッサ・バックプレーン20とを
含む。本発明の特定の例では、ディジタル装置は、特殊
用途向け集積回路(ASIC)で実現されたディジタル
信号プロセッサ装置10である。簡単のために、図1
は、本発明の実施の形態を理解するのに必要なマイクロ
プロセッサ100のそれらの部分だけを示す。DSPの
一般的な構造の詳細は良く知られているので、別の文献
を参照していただきたい。例えば、Frederick Boutaud
らに発行された米国特許第5,072,418号はDS
Pについて詳細に説明しているので、ここに援用する。
Gary Swoboda らに発行された米国特許第5,329,
471号はDSPを試験しエミュレートする方法につい
て詳細に説明しているので、ここに援用する。マイクロ
プロセッサ技術の当業者が本発明を製作し使用すること
ができるように、本発明の一実施の形態に関するマイク
ロプロセッサ100の一部の詳細について以下に説明す
る。
ジタル装置10の概略図である。ディジタル装置は、プ
ロセッサ100とプロセッサ・バックプレーン20とを
含む。本発明の特定の例では、ディジタル装置は、特殊
用途向け集積回路(ASIC)で実現されたディジタル
信号プロセッサ装置10である。簡単のために、図1
は、本発明の実施の形態を理解するのに必要なマイクロ
プロセッサ100のそれらの部分だけを示す。DSPの
一般的な構造の詳細は良く知られているので、別の文献
を参照していただきたい。例えば、Frederick Boutaud
らに発行された米国特許第5,072,418号はDS
Pについて詳細に説明しているので、ここに援用する。
Gary Swoboda らに発行された米国特許第5,329,
471号はDSPを試験しエミュレートする方法につい
て詳細に説明しているので、ここに援用する。マイクロ
プロセッサ技術の当業者が本発明を製作し使用すること
ができるように、本発明の一実施の形態に関するマイク
ロプロセッサ100の一部の詳細について以下に説明す
る。
【0013】本発明の態様の恩恵を被ることのできるい
くつかの例示の装置は、ここに援用した米国特許第5,
072,418号に、特に米国特許第5,072,41
8号の図2から図18を参照して述べられている。性能
を向上させコストを削減する本発明の態様を組み込んだ
マイクロプロセッサを用いれば、米国特許第5,07
2,418号に述べられた装置を更に改善することがで
きる。かかる装置は、これらに限定されるわけではない
が、工業的プロセス制御,自動車システム,モータ制
御,ロボット制御装置,衛星通信システム,エコー消去
装置,モデム,ビデオ映像装置,音声認識装置,暗号化
されたボコーダ・モデム装置などを含む。図1のマイク
ロプロセッサの種々の構造の特徴の説明および命令の完
全な集合の説明は、本出願人に譲渡された出願番号第0
9/410,977号(TI−28433)に述べられ
ているので、これをここに援用する。
くつかの例示の装置は、ここに援用した米国特許第5,
072,418号に、特に米国特許第5,072,41
8号の図2から図18を参照して述べられている。性能
を向上させコストを削減する本発明の態様を組み込んだ
マイクロプロセッサを用いれば、米国特許第5,07
2,418号に述べられた装置を更に改善することがで
きる。かかる装置は、これらに限定されるわけではない
が、工業的プロセス制御,自動車システム,モータ制
御,ロボット制御装置,衛星通信システム,エコー消去
装置,モデム,ビデオ映像装置,音声認識装置,暗号化
されたボコーダ・モデム装置などを含む。図1のマイク
ロプロセッサの種々の構造の特徴の説明および命令の完
全な集合の説明は、本出願人に譲渡された出願番号第0
9/410,977号(TI−28433)に述べられ
ているので、これをここに援用する。
【0014】図1に示すように、プロセッサ100は、
プロセッサ・コア102と、プロセッサ・コア102を
プロセッサ・コア102の外部にあるメモリ・ユニット
とインターフェースするメモリ・インターフェース・ユ
ニット104とを有する中央処理装置(CPU)を形成
する。プロセッサ・バックプレーン20は、プロセッサ
のメモリ管理ユニット104が接続されたバックプレー
ン・バス22を含む。バックプレーン・バス22には、
命令メモリ24,周辺装置26および外部インターフェ
ース28も接続されている。理解されるように、他の例
では、異なる構成および/または異なる技術を用いて本
発明を実現することができる。例えば、プロセッサ10
0は、プロセッサ・バックプレーン20をそこから分離
して、第1の集積回路を形成してもよい。例えば、プロ
セッサ100は、バックプレーン・バス22と周辺およ
び外部インターフェースとを支援するバックプレーン2
0から離してその上に取り付けたDSPであってもよ
い。例えば、プロセッサ100は、DSPではなくマイ
クロプロセッサでもよいし、また、ASIC技術以外の
技術で実現してもよい。このプロセッサまたはこのプロ
セッサを含むプロセッサを1つ以上の集積回路に実現し
てもよい。
プロセッサ・コア102と、プロセッサ・コア102を
プロセッサ・コア102の外部にあるメモリ・ユニット
とインターフェースするメモリ・インターフェース・ユ
ニット104とを有する中央処理装置(CPU)を形成
する。プロセッサ・バックプレーン20は、プロセッサ
のメモリ管理ユニット104が接続されたバックプレー
ン・バス22を含む。バックプレーン・バス22には、
命令メモリ24,周辺装置26および外部インターフェ
ース28も接続されている。理解されるように、他の例
では、異なる構成および/または異なる技術を用いて本
発明を実現することができる。例えば、プロセッサ10
0は、プロセッサ・バックプレーン20をそこから分離
して、第1の集積回路を形成してもよい。例えば、プロ
セッサ100は、バックプレーン・バス22と周辺およ
び外部インターフェースとを支援するバックプレーン2
0から離してその上に取り付けたDSPであってもよ
い。例えば、プロセッサ100は、DSPではなくマイ
クロプロセッサでもよいし、また、ASIC技術以外の
技術で実現してもよい。このプロセッサまたはこのプロ
セッサを含むプロセッサを1つ以上の集積回路に実現し
てもよい。
【0015】図2は、プロセッサ・コア102の一実施
の形態の基本構造を示す。図示するように、プロセッサ
・コア102のこの実施の形態は、4つの要素、すなわ
ち、命令バッファ・ユニット(Iユニット)106と3
つの実行ユニットとを含む。実行ユニットは、プログラ
ム・フロー・ユニット(Pユニット)108と、アドレ
ス・データ・フロー・ユニット(Aユニット)110
と、命令バッファ・ユニット(Iユニット)106から
復号された命令を実行するとともにプログラム・フロー
を制御し監視するデータ計算ユニット(Dユニット)1
12とである。
の形態の基本構造を示す。図示するように、プロセッサ
・コア102のこの実施の形態は、4つの要素、すなわ
ち、命令バッファ・ユニット(Iユニット)106と3
つの実行ユニットとを含む。実行ユニットは、プログラ
ム・フロー・ユニット(Pユニット)108と、アドレ
ス・データ・フロー・ユニット(Aユニット)110
と、命令バッファ・ユニット(Iユニット)106から
復号された命令を実行するとともにプログラム・フロー
を制御し監視するデータ計算ユニット(Dユニット)1
12とである。
【0016】図3は、プロセッサ・コア102のPユニ
ット108,Aユニット110およびDユニット112
をもっと詳細に示す図であり、また、プロセッサ・コア
102の種々の要素を接続するバス構造を示す。Pユニ
ット108は、例えば、ループ制御回路と、GoTo/
分岐制御回路と、反復カウンタ・レジスタや割込みマス
ク,フラグまたはベクトル・レジスタのようなプログラ
ム・フローを制御し監視する種々のレジスタとを含む。
Pユニット108は、汎用データ書込みバス(EB,F
B)130,132と、データ読取りバス(CB,D
B)134,136と、アドレス定数バス(KAB)1
42とに結合されている。また、Pユニット108は、
CSR,ACBおよびRGDとラベルされた種々のバス
を介してAユニット110およびDユニット112内の
サブユニットに結合されている。
ット108,Aユニット110およびDユニット112
をもっと詳細に示す図であり、また、プロセッサ・コア
102の種々の要素を接続するバス構造を示す。Pユニ
ット108は、例えば、ループ制御回路と、GoTo/
分岐制御回路と、反復カウンタ・レジスタや割込みマス
ク,フラグまたはベクトル・レジスタのようなプログラ
ム・フローを制御し監視する種々のレジスタとを含む。
Pユニット108は、汎用データ書込みバス(EB,F
B)130,132と、データ読取りバス(CB,D
B)134,136と、アドレス定数バス(KAB)1
42とに結合されている。また、Pユニット108は、
CSR,ACBおよびRGDとラベルされた種々のバス
を介してAユニット110およびDユニット112内の
サブユニットに結合されている。
【0017】図3に示すように、この実施の形態では、
Aユニット110はレジスタ・ファイル30とデータ・
アドレス生成サブユニット(DAGEN)32と算術・
論理演算ユニット(ALU)34とを含む。Aユニット
・レジスタ・ファイル30は種々のレジスタを含む。例
えば、16ビット・ポインタ・レジスタ(AR0〜AR
7)と、データ・フローおよびアドレス生成にも用いら
れるデータ・レジスタ(DR0〜DR3)とである。ま
た、レジスタ・ファイルは、16ビット循環バッファ・
レジスタと7ビットのデータ・ページ・レジスタとを含
む。汎用バス(EB,FB,CB,DB)130,13
2,134,136の他に、データ定数バス140およ
びアドレス定数バス142もAユニット・レジスタ・フ
ァイル30に結合されている。Aユニット・レジスタ・
ファイル30は、それぞれ逆方向に動作する一方向バス
144,146を介してAユニットDAGENユニット
32に結合されている。DAGENユニット32は、例
えば処理エンジン100内のアドレス生成を制御し監視
する16ビット・X/Yレジスタと係数/スタック・ポ
インタ・レジスタとを含む。
Aユニット110はレジスタ・ファイル30とデータ・
アドレス生成サブユニット(DAGEN)32と算術・
論理演算ユニット(ALU)34とを含む。Aユニット
・レジスタ・ファイル30は種々のレジスタを含む。例
えば、16ビット・ポインタ・レジスタ(AR0〜AR
7)と、データ・フローおよびアドレス生成にも用いら
れるデータ・レジスタ(DR0〜DR3)とである。ま
た、レジスタ・ファイルは、16ビット循環バッファ・
レジスタと7ビットのデータ・ページ・レジスタとを含
む。汎用バス(EB,FB,CB,DB)130,13
2,134,136の他に、データ定数バス140およ
びアドレス定数バス142もAユニット・レジスタ・フ
ァイル30に結合されている。Aユニット・レジスタ・
ファイル30は、それぞれ逆方向に動作する一方向バス
144,146を介してAユニットDAGENユニット
32に結合されている。DAGENユニット32は、例
えば処理エンジン100内のアドレス生成を制御し監視
する16ビット・X/Yレジスタと係数/スタック・ポ
インタ・レジスタとを含む。
【0018】Aユニット110は、加算,減算およびA
ND,OR,XOR論理演算子のようなALUに一般に
関連する機能とともにシフタ機能を含むALU34も含
む。ALU34は、汎用バス(EB,DB)130,1
36および命令定数データ・バス(KDB)140にも
結合されている。AユニットALUは、PDAバスを介
してPユニット108に結合されて、Pユニット108
レジスタ・ファイルからレジスタ定数を受ける。ALU
34は、バスRGA,RGBを介してAユニット・レジ
スタ・ファイル30にも結合されて、アドレスおよびデ
ータ・レジスタの内容を受けるとともに、バスRGDを
介してレジスタ・ファイル30のアドレスおよびデータ
・レジスタの内容を転送する。
ND,OR,XOR論理演算子のようなALUに一般に
関連する機能とともにシフタ機能を含むALU34も含
む。ALU34は、汎用バス(EB,DB)130,1
36および命令定数データ・バス(KDB)140にも
結合されている。AユニットALUは、PDAバスを介
してPユニット108に結合されて、Pユニット108
レジスタ・ファイルからレジスタ定数を受ける。ALU
34は、バスRGA,RGBを介してAユニット・レジ
スタ・ファイル30にも結合されて、アドレスおよびデ
ータ・レジスタの内容を受けるとともに、バスRGDを
介してレジスタ・ファイル30のアドレスおよびデータ
・レジスタの内容を転送する。
【0019】本発明の例示の実施の形態によれば、Dユ
ニット112は、Dユニット・レジスタ・ファイル36
と、DユニットALU38と、Dユニット・シフタ40
と、2つの乗算および累算ユニット(MAC1,MAC
2)42,44とを含む。Dユニット・レジスタ・ファ
イル36とDユニットALU38とDユニット・シフタ
40とはバス(EB,FB,CB,DB,KDB)13
0,132,134,136,140に結合され、ま
た、MACユニット42,44はバス(CB,DB,K
DB)134,136,140とデータ読取りバス(B
B)144とに結合されている。Dユニット・レジスタ
・ファイル36は、40ビット累算器(AC0〜AC
3)と16ビット遷移レジスタとを含む。Dユニット1
12は、40ビット累算器の他に、発信元レジスタまた
は宛先レジスタとしてAユニット110の16ビット・
ポインタおよびデータ・レジスタも用いる。Dユニット
・レジスタ・ファイル36は、累積器書込みバス(AC
W0,ACW1)146,148を介してDユニットA
LU38とMAC1 42とMAC2 44とからデー
タを受け、また、累積器書込みバス(ACW1)148
を介してDユニット・シフタ40からデータを受ける。
データは、Dユニット・レジスタ・ファイル累積器から
累積器読取りバス(ACR0,ACR1)150,15
2を介してDユニットALU38,Dユニット・シフタ
40,MAC1 42およびMAC2 44に読み取ら
れる。DユニットALU38およびDユニット・シフタ
40は、EFC,DRB,DR2およびACBとラベル
された種々のバスを介してAユニット108のサブユニ
ットにも結合されている。
ニット112は、Dユニット・レジスタ・ファイル36
と、DユニットALU38と、Dユニット・シフタ40
と、2つの乗算および累算ユニット(MAC1,MAC
2)42,44とを含む。Dユニット・レジスタ・ファ
イル36とDユニットALU38とDユニット・シフタ
40とはバス(EB,FB,CB,DB,KDB)13
0,132,134,136,140に結合され、ま
た、MACユニット42,44はバス(CB,DB,K
DB)134,136,140とデータ読取りバス(B
B)144とに結合されている。Dユニット・レジスタ
・ファイル36は、40ビット累算器(AC0〜AC
3)と16ビット遷移レジスタとを含む。Dユニット1
12は、40ビット累算器の他に、発信元レジスタまた
は宛先レジスタとしてAユニット110の16ビット・
ポインタおよびデータ・レジスタも用いる。Dユニット
・レジスタ・ファイル36は、累積器書込みバス(AC
W0,ACW1)146,148を介してDユニットA
LU38とMAC1 42とMAC2 44とからデー
タを受け、また、累積器書込みバス(ACW1)148
を介してDユニット・シフタ40からデータを受ける。
データは、Dユニット・レジスタ・ファイル累積器から
累積器読取りバス(ACR0,ACR1)150,15
2を介してDユニットALU38,Dユニット・シフタ
40,MAC1 42およびMAC2 44に読み取ら
れる。DユニットALU38およびDユニット・シフタ
40は、EFC,DRB,DR2およびACBとラベル
された種々のバスを介してAユニット108のサブユニ
ットにも結合されている。
【0020】図4を参照すると、32語の命令バッファ
待ち行列(IBQ)502を含む本発明による命令バッ
ファ・ユニット106が示されている。IBQ502
は、8ビット・バイト506に論理的に分割された32
×16ビットのレジスタ504を含む。命令は、32ビ
ットのプログラム・バス(PB)122を介してIBQ
502に到着する。命令は、ローカル書込みプログラム
・カウンタ(LWPC)532によって指し示される位
置に32ビット・サイクルで取り出される。LWPC5
32は、Pユニット108にあるレジスタに含まれてい
る。Pユニット108も、ローカル読取りプログラム・
カウンタ(LRPC)536レジスタと、書込みプログ
ラム・カウンタ(WPC)530レジスタと、読取りプ
ログラム・カウンタ(RPC)534レジスタとを含
む。LRPC536は、命令デコーダ512,514に
ロードされるべき次の命令のIBQ502内の位置を指
し示す。すなわち、LRPC536は、デコーダ51
2,514に現在ディスパッチされている命令のIBQ
502内の位置を指し示す。WPCは、プログラム・メ
モリにおけるパイプライン用の次の4バイトの命令コー
ドの開始アドレスを指し示す。IBQに取り出す度に、
プログラム・メモリからの次の4バイトが命令境界に関
わらず取り出される。RPC534は、デコーダ512
/514に現在ディスパッチされている命令のプログラ
ム・メモリのアドレスを指し示す。
待ち行列(IBQ)502を含む本発明による命令バッ
ファ・ユニット106が示されている。IBQ502
は、8ビット・バイト506に論理的に分割された32
×16ビットのレジスタ504を含む。命令は、32ビ
ットのプログラム・バス(PB)122を介してIBQ
502に到着する。命令は、ローカル書込みプログラム
・カウンタ(LWPC)532によって指し示される位
置に32ビット・サイクルで取り出される。LWPC5
32は、Pユニット108にあるレジスタに含まれてい
る。Pユニット108も、ローカル読取りプログラム・
カウンタ(LRPC)536レジスタと、書込みプログ
ラム・カウンタ(WPC)530レジスタと、読取りプ
ログラム・カウンタ(RPC)534レジスタとを含
む。LRPC536は、命令デコーダ512,514に
ロードされるべき次の命令のIBQ502内の位置を指
し示す。すなわち、LRPC536は、デコーダ51
2,514に現在ディスパッチされている命令のIBQ
502内の位置を指し示す。WPCは、プログラム・メ
モリにおけるパイプライン用の次の4バイトの命令コー
ドの開始アドレスを指し示す。IBQに取り出す度に、
プログラム・メモリからの次の4バイトが命令境界に関
わらず取り出される。RPC534は、デコーダ512
/514に現在ディスパッチされている命令のプログラ
ム・メモリのアドレスを指し示す。
【0021】この実施の形態では、命令は、48ビット
語で形成され、マルチプレクサ520,521を介して
48ビットのバス516により命令デコーダ512,5
14にロードされる。当業者には明らかなように、命令
は48ビット以外で構成された語に形成されてもよく、
本発明は上述した特定の実施の形態に限定されるもので
はない。
語で形成され、マルチプレクサ520,521を介して
48ビットのバス516により命令デコーダ512,5
14にロードされる。当業者には明らかなように、命令
は48ビット以外で構成された語に形成されてもよく、
本発明は上述した特定の実施の形態に限定されるもので
はない。
【0022】現在好ましいとされる48ビット語サイズ
に対して、バス516は、並列に実行される任意の1命
令サイクル中に最大2命令(デコーダ当たり1命令)を
ロードすることができる。命令の組合せは、48ビット
のバスに適合する任意の書式(8,16,24,32,
40および48ビット)の組合せでよい。1サイクル中
に1命令だけをロードする場合は、デコーダ2 514
よりデコーダ1 512の方を優先してロードする。次
に、各命令が、それらを実行するとともに、命令または
操作が実行されるべきデータをアクセスするために、各
機能ユニットに送られる。命令デコーダに渡される前
に、命令はバイト境界上で整列される。整列は、その復
号中に前の命令に対して得られた書式に基づいて行われ
る。バイト境界との命令の整列に関連する多重化はマル
チプレクサ520,521で行われる。
に対して、バス516は、並列に実行される任意の1命
令サイクル中に最大2命令(デコーダ当たり1命令)を
ロードすることができる。命令の組合せは、48ビット
のバスに適合する任意の書式(8,16,24,32,
40および48ビット)の組合せでよい。1サイクル中
に1命令だけをロードする場合は、デコーダ2 514
よりデコーダ1 512の方を優先してロードする。次
に、各命令が、それらを実行するとともに、命令または
操作が実行されるべきデータをアクセスするために、各
機能ユニットに送られる。命令デコーダに渡される前
に、命令はバイト境界上で整列される。整列は、その復
号中に前の命令に対して得られた書式に基づいて行われ
る。バイト境界との命令の整列に関連する多重化はマル
チプレクサ520,521で行われる。
【0023】2つの命令の一方が並列イネーブル・ビッ
トを持つ場合は、2つの命令を並列に入れることができ
る。かかる種類の並列方式を支援するハードウエアを並
列イネーブル機構と呼ぶ。同様に、2つの命令が両方と
も間接モードで単一データ・メモリ・アクセス(Sme
mまたはdbl(lmem))を行う場合は、2つの命
令を並列に入れることができる。かかる種類の並列方式
を支援するハードウエアをソフト二重機構と呼ぶ。
トを持つ場合は、2つの命令を並列に入れることができ
る。かかる種類の並列方式を支援するハードウエアを並
列イネーブル機構と呼ぶ。同様に、2つの命令が両方と
も間接モードで単一データ・メモリ・アクセス(Sme
mまたはdbl(lmem))を行う場合は、2つの命
令を並列に入れることができる。かかる種類の並列方式
を支援するハードウエアをソフト二重機構と呼ぶ。
【0024】プロセッサ・コア102は7段階のパイプ
ラインにより命令を実行する。その各段階について、表
1と図5を参照して以下に説明する。どこ(Aユニット
かDユニット)で実行するかに関わらず、7段階のパイ
プラインによりプロセッサ命令を実行する。本発明の一
態様によれば、プログラム・コード・サイズを小さくす
るために、CコンパイラはAユニットでの実行のために
できるだけ多くの命令をディスパッチするので、Dユニ
ットは、電力を節約するために電源を切られてもよい。
このため、Aユニットは、メモリ・オペランドで実行さ
れる基本的動作を支援する必要がある。
ラインにより命令を実行する。その各段階について、表
1と図5を参照して以下に説明する。どこ(Aユニット
かDユニット)で実行するかに関わらず、7段階のパイ
プラインによりプロセッサ命令を実行する。本発明の一
態様によれば、プログラム・コード・サイズを小さくす
るために、CコンパイラはAユニットでの実行のために
できるだけ多くの命令をディスパッチするので、Dユニ
ットは、電力を節約するために電源を切られてもよい。
このため、Aユニットは、メモリ・オペランドで実行さ
れる基本的動作を支援する必要がある。
【0025】
【表1】
【0026】パイプラインの第1段階は、事前取出し
(P0)段階202であり、この段階中では、メモリ・
インターフェース104のアドレス・バス(PAB)1
18上にアドレスを表明することによって、次のプログ
ラム・メモリ位置がアドレスされる。次の段階の取出し
(P1)段階204では、プログラム・メモリが読み取
られ、メモリ・インターフェース・ユニット104から
PBバス122を介してIユニット106が満たされ
る。事前取出しおよび取出し段階は、他のパイプライン
段階から切り離されており、事前取出しおよび取出し段
階中はパイプラインに割り込んで、連続したプログラム
・フローを中断するとともに、プログラム・メモリ内の
別の命令(例えば、分岐命令)を指し示すことができ
る。
(P0)段階202であり、この段階中では、メモリ・
インターフェース104のアドレス・バス(PAB)1
18上にアドレスを表明することによって、次のプログ
ラム・メモリ位置がアドレスされる。次の段階の取出し
(P1)段階204では、プログラム・メモリが読み取
られ、メモリ・インターフェース・ユニット104から
PBバス122を介してIユニット106が満たされ
る。事前取出しおよび取出し段階は、他のパイプライン
段階から切り離されており、事前取出しおよび取出し段
階中はパイプラインに割り込んで、連続したプログラム
・フローを中断するとともに、プログラム・メモリ内の
別の命令(例えば、分岐命令)を指し示すことができ
る。
【0027】次に、第3段階の復号(P2)段階206
では、命令バッファ内の次の命令がデコーダ512/5
14にディスパッチされ、命令が復号されるとともにそ
の命令を実行する実行ユニット(例えば、Pユニット1
08,Aユニット110またはDユニット112)にデ
ィスパッチされる。復号段階206は、命令の種類を示
す第1の部分と命令の書式を示す第2の部分と命令用の
アドレス指定モードを示す第3の部分とを含む命令の少
なくとも一部を復号することを含む。次の段階はアドレ
ス(P3)段階208であり、そこでは、命令で用いら
れるべきデータのアドレスが計算されるか、命令がプロ
グラムの分岐またはジャンプを必要とする場合は新しい
プログラム・アドレスが計算される。各計算はAユニッ
ト110またはPユニット108でそれぞれ行う。
では、命令バッファ内の次の命令がデコーダ512/5
14にディスパッチされ、命令が復号されるとともにそ
の命令を実行する実行ユニット(例えば、Pユニット1
08,Aユニット110またはDユニット112)にデ
ィスパッチされる。復号段階206は、命令の種類を示
す第1の部分と命令の書式を示す第2の部分と命令用の
アドレス指定モードを示す第3の部分とを含む命令の少
なくとも一部を復号することを含む。次の段階はアドレ
ス(P3)段階208であり、そこでは、命令で用いら
れるべきデータのアドレスが計算されるか、命令がプロ
グラムの分岐またはジャンプを必要とする場合は新しい
プログラム・アドレスが計算される。各計算はAユニッ
ト110またはPユニット108でそれぞれ行う。
【0028】アクセス(P4)段階210では、読取り
オペランドのアドレスが生成され、また、そのアドレス
がYmem間接アドレス指定モードでDAGEN Yオ
ペレータで生成されているメモリ・オペランドが、間接
的にアドレスされたYメモリ(Ymem)から読み取ら
れる。パイプラインの次の段階は、そのアドレスがXm
em間接アドレス指定モードでDAGEN X内でまた
は係数アドレス・モードでDAGEN Cオペレータで
生成されているメモリ・オペランドが読み取られる読取
り(P5)段階212である。命令の結果が書き込まれ
るべきメモリ位置のアドレスが生成される。
オペランドのアドレスが生成され、また、そのアドレス
がYmem間接アドレス指定モードでDAGEN Yオ
ペレータで生成されているメモリ・オペランドが、間接
的にアドレスされたYメモリ(Ymem)から読み取ら
れる。パイプラインの次の段階は、そのアドレスがXm
em間接アドレス指定モードでDAGEN X内でまた
は係数アドレス・モードでDAGEN Cオペレータで
生成されているメモリ・オペランドが読み取られる読取
り(P5)段階212である。命令の結果が書き込まれ
るべきメモリ位置のアドレスが生成される。
【0029】最後は、Aユニット110またはDユニッ
ト112のいずれかで命令が実行される実行(P6)段
階214である。次に、その結果がデータ・レジスタす
なわち累算器に記憶されるか、読取り/変更/書込み命
令用のメモリに書き込まれる。更に、シフト操作が、実
行段階中に累算器でデータについて行われる。プロセッ
サ100のパイプラインは保護されている。これによ
り、NOP命令が待ち時間の要求を満たすために挿入さ
れる必要がなくなるので、Cコンパイラ性能が大幅に向
上する。また、これにより、前の生成プロセッサから後
の生成プロセッサへのコード変換が非常に容易になる。
ト112のいずれかで命令が実行される実行(P6)段
階214である。次に、その結果がデータ・レジスタす
なわち累算器に記憶されるか、読取り/変更/書込み命
令用のメモリに書き込まれる。更に、シフト操作が、実
行段階中に累算器でデータについて行われる。プロセッ
サ100のパイプラインは保護されている。これによ
り、NOP命令が待ち時間の要求を満たすために挿入さ
れる必要がなくなるので、Cコンパイラ性能が大幅に向
上する。また、これにより、前の生成プロセッサから後
の生成プロセッサへのコード変換が非常に容易になる。
【0030】プロセッサ100で用いられるパイプライ
ン保護の基本的規則は、次の通りである。実行中の読取
りアクセスが終了する前に書込みアクセスが開始され、
かつ、両方のアクセスが同じ資源を共用する場合は、追
加のサイクルが挿入されて、書込みを完了させ、更新さ
れたオペランドで次の命令を実行することができるよう
にするが、エミュレーションについては、単一ステップ
・コード実行がフリーランニング・コード実行と全く同
様に行われなければならない。
ン保護の基本的規則は、次の通りである。実行中の読取
りアクセスが終了する前に書込みアクセスが開始され、
かつ、両方のアクセスが同じ資源を共用する場合は、追
加のサイクルが挿入されて、書込みを完了させ、更新さ
れたオペランドで次の命令を実行することができるよう
にするが、エミュレーションについては、単一ステップ
・コード実行がフリーランニング・コード実行と全く同
様に行われなければならない。
【0031】パイプライン・プロセッサの動作の基本的
原理について、図5を参照して以下に説明する。図5か
ら分かるように、第1の命令302では、連続するパイ
プライン段階が時間T1〜T7の間に実行される。各時間
は、プロセッサ・マシン・クロックの1クロック・サイ
クルである。第2の命令304は、時間T2にパイプラ
インに入ることができる。なぜなら、前の命令はすでに
次のパイプライン段階に移っているからである。命令3
(306)では、事前取出し段階202が時間T3に起
こる。図5から分かるように、第7段階のパイプライン
では、7命令全部を同時に処理することができる。7つ
の命令302〜314全部に対して、図5は、時間T7
で処理中であるそれらすべてを示す。このような構造
は、命令の処理に並列形式を付加する。
原理について、図5を参照して以下に説明する。図5か
ら分かるように、第1の命令302では、連続するパイ
プライン段階が時間T1〜T7の間に実行される。各時間
は、プロセッサ・マシン・クロックの1クロック・サイ
クルである。第2の命令304は、時間T2にパイプラ
インに入ることができる。なぜなら、前の命令はすでに
次のパイプライン段階に移っているからである。命令3
(306)では、事前取出し段階202が時間T3に起
こる。図5から分かるように、第7段階のパイプライン
では、7命令全部を同時に処理することができる。7つ
の命令302〜314全部に対して、図5は、時間T7
で処理中であるそれらすべてを示す。このような構造
は、命令の処理に並列形式を付加する。
【0032】図6に示すように、本発明のこの実施の形
態は、24ビットのアドレス・バス118および32ビ
ットの双方向データ・バス120を介して外部プログラ
ム記憶ユニット150に結合されているメモリ・インタ
ーフェース・ユニット104を含む。また、メモリ・イ
ンターフェース・ユニット104は、24ビットのアド
レス・バス114および双方向の16ビットのデータ・
バス116を介してデータ記憶ユニット151に結合さ
れている。メモリ・インターフェース・ユニット104
は、32ビットのプログラム読取りバス(PB)122
を介してマシン・プロセッサ・コア102のIユニット
106にも結合されている。Pユニット108,Aユニ
ット110およびDユニット112は、データ読取りお
よびデータ書込みバスとこれに対応するアドレスバスと
を介してメモリ・インターフェース・ユニット104に
結合されている。Pユニット108はプログラム・アド
レス・バス128に更に結合されている。
態は、24ビットのアドレス・バス118および32ビ
ットの双方向データ・バス120を介して外部プログラ
ム記憶ユニット150に結合されているメモリ・インタ
ーフェース・ユニット104を含む。また、メモリ・イ
ンターフェース・ユニット104は、24ビットのアド
レス・バス114および双方向の16ビットのデータ・
バス116を介してデータ記憶ユニット151に結合さ
れている。メモリ・インターフェース・ユニット104
は、32ビットのプログラム読取りバス(PB)122
を介してマシン・プロセッサ・コア102のIユニット
106にも結合されている。Pユニット108,Aユニ
ット110およびDユニット112は、データ読取りお
よびデータ書込みバスとこれに対応するアドレスバスと
を介してメモリ・インターフェース・ユニット104に
結合されている。Pユニット108はプログラム・アド
レス・バス128に更に結合されている。
【0033】より詳しく述べると、Pユニット108
は、24ビットのプログラム・アドレス・バス128と
2つの16ビットのデータ書込みバス(EB,FB)1
30,132と2つの16ビットのデータ読取りバス
(CB,DB)134,136とを介してメモリ・イン
ターフェース・ユニット104に結合されている。Aユ
ニット110は、2つの24ビットのデータ書込みアド
レス・バス(EAB,FAB)160,162と2つの
16ビットのデータ書込みバス(EB,FB)130,
132と3つのデータ読取りアドレス・バス(BAB,
CAB,DAB)164,166,168と2つの16
ビットのデータ読取りバス(CB,DB)134,13
6とを介してメモリ・インターフェース・ユニット10
4に結合されている。Dユニット112は、2つのデー
タ書込みバス(EB,FB)130,132と3つのデ
ータ読取りバス(BB,CB,DB)144,134,
136とを介してメモリ・インターフェース・ユニット
104に結合されている。
は、24ビットのプログラム・アドレス・バス128と
2つの16ビットのデータ書込みバス(EB,FB)1
30,132と2つの16ビットのデータ読取りバス
(CB,DB)134,136とを介してメモリ・イン
ターフェース・ユニット104に結合されている。Aユ
ニット110は、2つの24ビットのデータ書込みアド
レス・バス(EAB,FAB)160,162と2つの
16ビットのデータ書込みバス(EB,FB)130,
132と3つのデータ読取りアドレス・バス(BAB,
CAB,DAB)164,166,168と2つの16
ビットのデータ読取りバス(CB,DB)134,13
6とを介してメモリ・インターフェース・ユニット10
4に結合されている。Dユニット112は、2つのデー
タ書込みバス(EB,FB)130,132と3つのデ
ータ読取りバス(BB,CB,DB)144,134,
136とを介してメモリ・インターフェース・ユニット
104に結合されている。
【0034】図6は、124でIユニット106からP
ユニット108への命令の受け渡し、例えば分岐命令を
送ることを表す。また、図6は、126および128で
Iユニット106からAユニット110およびDユニッ
ト112へのデータの受け渡しを表す。
ユニット108への命令の受け渡し、例えば分岐命令を
送ることを表す。また、図6は、126および128で
Iユニット106からAユニット110およびDユニッ
ト112へのデータの受け渡しを表す。
【0035】図7に示すように、プロセッサ100は統
一プログラム/データ空間の周りに組織化されている。
プログラム・ポインタは、内部では24ビットであっ
て、バイトアドレス指定機能を持つが、プログラムの取
出しが常に32ビット境界で行われるので22ビットの
アドレスだけがメモリに送られる。しかし、例えばソフ
トウエア開発のためのエミュレーション中は、ハードウ
エア区切り点を実現するために全24ビットのアドレス
が与えられる。データ・ポインタは7ビットの主データ
・ページで拡張された16ビットであり、語アドレス指
定機能を有する。
一プログラム/データ空間の周りに組織化されている。
プログラム・ポインタは、内部では24ビットであっ
て、バイトアドレス指定機能を持つが、プログラムの取
出しが常に32ビット境界で行われるので22ビットの
アドレスだけがメモリに送られる。しかし、例えばソフ
トウエア開発のためのエミュレーション中は、ハードウ
エア区切り点を実現するために全24ビットのアドレス
が与えられる。データ・ポインタは7ビットの主データ
・ページで拡張された16ビットであり、語アドレス指
定機能を有する。
【0036】ソフトウエアは最大3主データ・ページを
次のように定義する。 ・MDP 直接アクセス 間接アクセス CDP ・MDP05 − 間接アクセス AR[0〜5] ・MDP67 − 間接アクセス AR[6〜7] スタックは、維持されて、主データ・ページ0に常駐す
る。CPUメモリ・マップ・レジスタは全てのページか
ら見える。プロセッサ100の種々の態様を表2に要約
する。
次のように定義する。 ・MDP 直接アクセス 間接アクセス CDP ・MDP05 − 間接アクセス AR[0〜5] ・MDP67 − 間接アクセス AR[6〜7] スタックは、維持されて、主データ・ページ0に常駐す
る。CPUメモリ・マップ・レジスタは全てのページか
ら見える。プロセッサ100の種々の態様を表2に要約
する。
【0037】
【表2】
【0038】図8は、本発明の態様による、DSP10
0を備えるディジタル装置の或る他の実施の形態を示す
ブロック図である。ディジタル装置800は、前に説明
したようなDSP100、およびホスト・プロセッサと
称する第2のプロセッサ810を含む。DSPコア10
2がディジタル信号処理に関係するタスクを遂行するの
に対して、ホスト・プロセッサ810は他のアップリケ
ーション・タスクを遂行する。DSP100は、バス8
30を介して内部プログラム・メモリ回路(以下、内部
メモリ回路)801と二重ポート形(dual por
ted)通信メモリ回路(以下、通信メモリ回路)80
2に接続する。ブリッジ803は、バス830にまた接
続しかつバス831を介して周辺820と821へアク
セスを行う。アクセスはバス831を介して専用ハード
ウェア822へまた行われ、専用ハードウェア822は
タイマ、電力制御、デバッグ、エミュレーション回路な
ど、種々のデバイスと回路を含む。割込みリクエスト信
号840がデバイス820−822からDSP100へ
の割込みリクエストを供給する。
0を備えるディジタル装置の或る他の実施の形態を示す
ブロック図である。ディジタル装置800は、前に説明
したようなDSP100、およびホスト・プロセッサと
称する第2のプロセッサ810を含む。DSPコア10
2がディジタル信号処理に関係するタスクを遂行するの
に対して、ホスト・プロセッサ810は他のアップリケ
ーション・タスクを遂行する。DSP100は、バス8
30を介して内部プログラム・メモリ回路(以下、内部
メモリ回路)801と二重ポート形(dual por
ted)通信メモリ回路(以下、通信メモリ回路)80
2に接続する。ブリッジ803は、バス830にまた接
続しかつバス831を介して周辺820と821へアク
セスを行う。アクセスはバス831を介して専用ハード
ウェア822へまた行われ、専用ハードウェア822は
タイマ、電力制御、デバッグ、エミュレーション回路な
ど、種々のデバイスと回路を含む。割込みリクエスト信
号840がデバイス820−822からDSP100へ
の割込みリクエストを供給する。
【0039】ホスト・プロセッサ810は、バス833
を介してホスト・プロセッサ・インターフェース回路
(HPI)811に接続する。HPI881はバッファ
リングとタイミングコントロールを提供し、ホストプロ
セッサ810がバス832を介して通信メモリ回路80
2へアクセスするのを可能とする。このようにして、ホ
スト・プロセッサ810はデータ値を通信メモリ回路8
02に記憶しかつこれらのデータ値にアクセスすること
ができ、これらの値をDSP100が記憶しかつアクセ
スすることがまたできる。バス832はバス830とは
分離しており、かつ通信メモリ回路802は、ホスト・
プロセッサ810が内部メモリ回路801の動作と衝突
しないようにして通信メモリ回路802内のデータ値に
アクセスすることができるというように、配置される。
割込みリクエスト信号841は、ホスト・プロセッサ8
10からDSP100へ割込みリクエストを供給する。
を介してホスト・プロセッサ・インターフェース回路
(HPI)811に接続する。HPI881はバッファ
リングとタイミングコントロールを提供し、ホストプロ
セッサ810がバス832を介して通信メモリ回路80
2へアクセスするのを可能とする。このようにして、ホ
スト・プロセッサ810はデータ値を通信メモリ回路8
02に記憶しかつこれらのデータ値にアクセスすること
ができ、これらの値をDSP100が記憶しかつアクセ
スすることがまたできる。バス832はバス830とは
分離しており、かつ通信メモリ回路802は、ホスト・
プロセッサ810が内部メモリ回路801の動作と衝突
しないようにして通信メモリ回路802内のデータ値に
アクセスすることができるというように、配置される。
割込みリクエスト信号841は、ホスト・プロセッサ8
10からDSP100へ割込みリクエストを供給する。
【0040】HPI811は、2つのレジスタ、すなわ
ち、割込みリクエスト表明用割込みレジスタ812とH
PI動作モード用状態レジスタ813を有する。両レジ
スタは、バス833を介してホスト・プロセッサ810
によってアクセス可能である。割込みレジスタ812
は、ホスト・プロセッサ810からの書込みトランザク
ションに応答してDSP100にホスト割込みリクエス
トを表明するように動作する。本実施の形態では、8ビ
ットが8ホスト割込みリクエスト信号を供給するために
選択される。ホスト・プロセッサが「1」を割込みレジ
スタ812内の各ホスト割込みリクエストと関連したビ
ット内へ書き込む各度に割込みリクエスト・パルスが8
ホスト・リクエスト信号841の中の1つ以上の上に形
成されることになる。別の実施の形態は、ホスト・プロ
セッサと関連したもっと少ない数のまたはもっと多い数
の割込みリクエスト信号を有することがある。
ち、割込みリクエスト表明用割込みレジスタ812とH
PI動作モード用状態レジスタ813を有する。両レジ
スタは、バス833を介してホスト・プロセッサ810
によってアクセス可能である。割込みレジスタ812
は、ホスト・プロセッサ810からの書込みトランザク
ションに応答してDSP100にホスト割込みリクエス
トを表明するように動作する。本実施の形態では、8ビ
ットが8ホスト割込みリクエスト信号を供給するために
選択される。ホスト・プロセッサが「1」を割込みレジ
スタ812内の各ホスト割込みリクエストと関連したビ
ット内へ書き込む各度に割込みリクエスト・パルスが8
ホスト・リクエスト信号841の中の1つ以上の上に形
成されることになる。別の実施の形態は、ホスト・プロ
セッサと関連したもっと少ない数のまたはもっと多い数
の割込みリクエスト信号を有することがある。
【0041】DSP割込みベクトル・テーブル(IVT
D)850が内部メモリ回路801内に維持される。I
VTD850は、割込みリクエスト信号840の各々に
対して一対の項目を含む。項目の各対は、DSP100
によって遂行される割込みサービス・ルーチンの絶対ア
ドレスおよびその割込みサービス・ルーチンの第1の命
令として実行されることになる命令を含む。これは後で
更に詳細に説明する。
D)850が内部メモリ回路801内に維持される。I
VTD850は、割込みリクエスト信号840の各々に
対して一対の項目を含む。項目の各対は、DSP100
によって遂行される割込みサービス・ルーチンの絶対ア
ドレスおよびその割込みサービス・ルーチンの第1の命
令として実行されることになる命令を含む。これは後で
更に詳細に説明する。
【0042】本発明の或る態様では、ホスト割込みベク
トル・テーブル(IVTH)851が通信メモリ回路8
02内に維持される。IVTH851は、割込みリクエ
スト信号841の各々に対して一対の項目を含む。項目
の各対は、DSP100によって遂行される割込みサー
ビス・ルーチンの絶対アドレスおよびその割込みサービ
ス・ルーチンの第1の命令として実行されることになる
命令を含む。
トル・テーブル(IVTH)851が通信メモリ回路8
02内に維持される。IVTH851は、割込みリクエ
スト信号841の各々に対して一対の項目を含む。項目
の各対は、DSP100によって遂行される割込みサー
ビス・ルーチンの絶対アドレスおよびその割込みサービ
ス・ルーチンの第1の命令として実行されることになる
命令を含む。
【0043】DSP100は、IVTD850の開始に
ついての内部メモリ回路801内のアドレスの一部を保
持するメモリ・マップ・レジスタ(memorymap
ped register; MMR)であるIVPD
860およびIVTH851についてのメモリ回路80
2内のアドレスの一部を保持するメモリ・マップ・レジ
スタIVPH861を有する。
ついての内部メモリ回路801内のアドレスの一部を保
持するメモリ・マップ・レジスタ(memorymap
ped register; MMR)であるIVPD
860およびIVTH851についてのメモリ回路80
2内のアドレスの一部を保持するメモリ・マップ・レジ
スタIVPH861を有する。
【0044】表3は、本発明のこの実施の形態を理解す
るのに適したレジスタであるいくつかのメモリ・マップ
・レジスタをリストしている。これらのレジスタの各々
については、次の節で詳細に説明する。DSP100は
また、種々の制御、状態、操作タスクに用いられる多数
の他のメモリ・マップ・レジスタを有する。
るのに適したレジスタであるいくつかのメモリ・マップ
・レジスタをリストしている。これらのレジスタの各々
については、次の節で詳細に説明する。DSP100は
また、種々の制御、状態、操作タスクに用いられる多数
の他のメモリ・マップ・レジスタを有する。
【0045】
【表3】
【0046】割込みは、ハードウェア・デバイスまたは
ソフトウェア命令によってリクエストされる。割込みリ
クエストが割込みリクエスト信号840または841上
に起こると、相当するIFGxxフラグが割込みフラグ
・レジスタIFR0またはIFR1内で活性化される。
このフラグは、その割込みがDSPによって後に肯定応
答されてもされなくても活性化される。フラグの相当す
る割込みが行われるとき、そのフラグは自動的にクリア
される。
ソフトウェア命令によってリクエストされる。割込みリ
クエストが割込みリクエスト信号840または841上
に起こると、相当するIFGxxフラグが割込みフラグ
・レジスタIFR0またはIFR1内で活性化される。
このフラグは、その割込みがDSPによって後に肯定応
答されてもされなくても活性化される。フラグの相当す
る割込みが行われるとき、そのフラグは自動的にクリア
される。
【0047】DSPコア102の境界上では、デバイス
・ピンから発生したハードウェア・リクエスト、標準周
辺内部リクエスト、ASICドメイン論理リクエスト、
ホスト・プロセッサ・リクエストまたは装置誤りのよう
な内部リクエストの間に差はない。バス誤りまたはエミ
ュレーションのような内部割込みソースは、それら自体
の内部チャンネルを有する。DSP境界には、関連リク
エスト・ピンはない。内部割込みの優先順位は固定され
ている。
・ピンから発生したハードウェア・リクエスト、標準周
辺内部リクエスト、ASICドメイン論理リクエスト、
ホスト・プロセッサ・リクエストまたは装置誤りのよう
な内部リクエストの間に差はない。バス誤りまたはエミ
ュレーションのような内部割込みソースは、それら自体
の内部チャンネルを有する。DSP境界には、関連リク
エスト・ピンはない。内部割込みの優先順位は固定され
ている。
【0048】DSP100は、合計24の割込みリクエ
スト線を支援し、これらの線は、通常、DSPに専用さ
れる16線からなる第1の集合840と、二重ポート形
プロセッサ装置内のDSPまたはホスト・プロセッサの
どちらかに割り当てることができる8線からなる第2の
集合841に分割される。割込みのこれら2つの集合の
ベクトル・リマッピングは、独立である。この方式で
は、ホスト・プロセッサ810が通信メモリ回路802
内の割込みベクトルを更新することによってそのリクエ
ストに関連したタスク番号を定めることが許される。
スト線を支援し、これらの線は、通常、DSPに専用さ
れる16線からなる第1の集合840と、二重ポート形
プロセッサ装置内のDSPまたはホスト・プロセッサの
どちらかに割り当てることができる8線からなる第2の
集合841に分割される。割込みのこれら2つの集合の
ベクトル・リマッピングは、独立である。この方式で
は、ホスト・プロセッサ810が通信メモリ回路802
内の割込みベクトルを更新することによってそのリクエ
ストに関連したタスク番号を定めることが許される。
【0049】2つの内部割込みリクエスト(DLOG、
RTOS)がデータ・ロギング用実時間エミュレーショ
ンと実時間動作装置支援に割り当てられる。
RTOS)がデータ・ロギング用実時間エミュレーショ
ンと実時間動作装置支援に割り当てられる。
【0050】1完全サイクルが、ソース(ユーザ・ゲー
ト、周辺、同期外部事象、ホスト・プロセッサ・インタ
ーフェース)からの割込みリクエストをDPS内の割込
みフラグへ伝搬させるために許される。
ト、周辺、同期外部事象、ホスト・プロセッサ・インタ
ーフェース)からの割込みリクエストをDPS内の割込
みフラグへ伝搬させるために許される。
【0051】DSP100割込みリクエスト入力の全て
が装置クロックと同期していると仮定する。割込みリク
エスト・ピンがエッジに敏感性である。IFGxx割込
みフラグが高から低へのピン遷移の際にセットされる。
が装置クロックと同期していると仮定する。割込みリク
エスト・ピンがエッジに敏感性である。IFGxx割込
みフラグが高から低へのピン遷移の際にセットされる。
【0052】「intr(k5)」命令がどの割込みザ
ービス・ルーチンの実行をも起動するようにソフトウェ
ア・トリガを行う。命令オペランドk5がどの割込みベ
クトル場所へDSPが分岐するかを表示する。ソフトウ
ェア割込みが肯定応答されるとき、大域割込みマスクI
NTMがセットされてマスク可能割込みを使用禁止(デ
ィスエーブル)にする。
ービス・ルーチンの実行をも起動するようにソフトウェ
ア・トリガを行う。命令オペランドk5がどの割込みベ
クトル場所へDSPが分岐するかを表示する。ソフトウ
ェア割込みが肯定応答されるとき、大域割込みマスクI
NTMがセットされてマスク可能割込みを使用禁止(デ
ィスエーブル)にする。
【0053】「trap(k5)]命令がintr(k
5)命令と同じ機能を遂行するが、ただし、INTMビ
ットをセットすることを伴わない。
5)命令と同じ機能を遂行するが、ただし、INTMビ
ットをセットすることを伴わない。
【0054】「リセット」命令がDSPを既知状態に置
くためにいつでも用いることができるマスク不能ソフト
ウェア・リセットを遂行する。リセット命令は、ST
0、ST1、ST2、IFR0、IFR1レジスタに影
響するが、ST3レジスタまたは割込みベクトル・ポイ
ンタ・レジスタIVPD、IVPHには影響しない。リ
セット命令が肯定応答されるとき、大域割込みマスクI
NTMが「1」にセットされてマスク可能割込みを使用
禁止する。IFR0、IFR1レジスタ内の全ての保留
命令がクリアされる。装置制御レジスタ、割込みベクト
ル・ポインタ・レジスタ、周辺レジスタの初期化は、ハ
ードウェア・リセットによって行われる初期化とは異な
る。
くためにいつでも用いることができるマスク不能ソフト
ウェア・リセットを遂行する。リセット命令は、ST
0、ST1、ST2、IFR0、IFR1レジスタに影
響するが、ST3レジスタまたは割込みベクトル・ポイ
ンタ・レジスタIVPD、IVPHには影響しない。リ
セット命令が肯定応答されるとき、大域割込みマスクI
NTMが「1」にセットされてマスク可能割込みを使用
禁止する。IFR0、IFR1レジスタ内の全ての保留
命令がクリアされる。装置制御レジスタ、割込みベクト
ル・ポインタ・レジスタ、周辺レジスタの初期化は、ハ
ードウェア・リセットによって行われる初期化とは異な
る。
【0055】割込みがハードウェアまたはソフトウェア
によってリクエストされた後、DSP100は、そのリ
クエストに肯定応答するかどうか決定しなければなら
い。ソフトウェア割込みとマスク不能割込みは、直ちに
肯定応答される。マスク可能ハードウェア割込みは、そ
の優先順位が最高でありST1レジスタ内の大域割込み
マスクINTMがクリアされかつIMR0またはIMR
1レジスタ内の関連割込みイネーブル・ビットIENx
xがセットされる場合に限り、肯定応答される。マスク
可能割込みの各々は、それ自体のイネーブル・ビットを
有する。優先順位裁定回路870は、割込みリクエスト
がIFR0およびIFR1レジスタに記憶された後、信
号840と841に応答してそれらの割込みリクエスト
を受けるように接続する。優先順位裁定回路870は、
最高順位マスク不能割込みリクエストを表す割込み番号
をマイクロプロセッサへ供給するように動作する。
によってリクエストされた後、DSP100は、そのリ
クエストに肯定応答するかどうか決定しなければなら
い。ソフトウェア割込みとマスク不能割込みは、直ちに
肯定応答される。マスク可能ハードウェア割込みは、そ
の優先順位が最高でありST1レジスタ内の大域割込み
マスクINTMがクリアされかつIMR0またはIMR
1レジスタ内の関連割込みイネーブル・ビットIENx
xがセットされる場合に限り、肯定応答される。マスク
可能割込みの各々は、それ自体のイネーブル・ビットを
有する。優先順位裁定回路870は、割込みリクエスト
がIFR0およびIFR1レジスタに記憶された後、信
号840と841に応答してそれらの割込みリクエスト
を受けるように接続する。優先順位裁定回路870は、
最高順位マスク不能割込みリクエストを表す割込み番号
をマイクロプロセッサへ供給するように動作する。
【0056】もしDSPがマスク可能ハードウェア割込
みに肯定応答するならば、プログラム・カウンタ(P
C)が適当なアドレスをロードされかつソフトウェア・
ベクトルを取り出す。ベクトル取出しサイクル中、DS
Pは肯定応答信号IACKを発生し、この信号が適当な
割込みフラグ・ビットをクリアする。ベクトル取出しサ
イクルは、IACK信号によって修飾され、かつベクト
ル・テーブルが内部メモリ回路801内に在駐するとき
割込みに外部可視性を与えるように用いられることがあ
る。
みに肯定応答するならば、プログラム・カウンタ(P
C)が適当なアドレスをロードされかつソフトウェア・
ベクトルを取り出す。ベクトル取出しサイクル中、DS
Pは肯定応答信号IACKを発生し、この信号が適当な
割込みフラグ・ビットをクリアする。ベクトル取出しサ
イクルは、IACK信号によって修飾され、かつベクト
ル・テーブルが内部メモリ回路801内に在駐するとき
割込みに外部可視性を与えるように用いられることがあ
る。
【0057】割込み裁定は、最新主プログラム命令デコ
ード・パイプライン・サイクルのトップで行われる。
ード・パイプライン・サイクルのトップで行われる。
【0058】図9は、割込み中のプログラム実行の流れ
を示す流れ図である。例示のプログラムは、第1の部分
900に命令のシーケンス、遅延スロット901に1つ
以上の命令、第2の部分902に命令のシーケンスを含
む。命令A、B、Cは、部分900内のシーケンスを表
す。割込みサービス・ルーチン(ISR)905が命令
メモリの異なる部分に置かれている。命令910の実行
中に起こる割込み920が、906で示したように、プ
ログラムの流れのISR905への転送を生じる。命令
DとEが遅延スロット901中に実行される。
を示す流れ図である。例示のプログラムは、第1の部分
900に命令のシーケンス、遅延スロット901に1つ
以上の命令、第2の部分902に命令のシーケンスを含
む。命令A、B、Cは、部分900内のシーケンスを表
す。割込みサービス・ルーチン(ISR)905が命令
メモリの異なる部分に置かれている。命令910の実行
中に起こる割込み920が、906で示したように、プ
ログラムの流れのISR905への転送を生じる。命令
DとEが遅延スロット901中に実行される。
【0059】割込みに肯定応答した後、DSP100
は、復帰アドレスである24ビット・プログラム・カウ
ンタを、命令バッファおよびプログラムの流れを管理す
るために要求された内部変数のバイトと並列にデータ・
メモリ内のスタックのトップに記憶する。次いで、DS
Pは、PCに割込みベクトル930のアドレスをロード
する。このアドレスの計算は、後で説明する。潜在dg
oto/dcall命令の24ビット・ターゲット・ア
ドレスがST0状態レジスタの7つの最上位ビット(A
COV3、…、ACOV0、C、TC2、TC1)およ
び単一ビット遅延スロット番号と並列に記憶される。エ
ミュレーション・モジュール(図示せず)内に物理的に
実現されるデバッグ状態レジスタDBGSTATが状態
レジスタST1と並列に記憶される。これは、エミュレ
ーション要件に従ってDBGM、EALLOW、INT
Mビットを含む。
は、復帰アドレスである24ビット・プログラム・カウ
ンタを、命令バッファおよびプログラムの流れを管理す
るために要求された内部変数のバイトと並列にデータ・
メモリ内のスタックのトップに記憶する。次いで、DS
Pは、PCに割込みベクトル930のアドレスをロード
する。このアドレスの計算は、後で説明する。潜在dg
oto/dcall命令の24ビット・ターゲット・ア
ドレスがST0状態レジスタの7つの最上位ビット(A
COV3、…、ACOV0、C、TC2、TC1)およ
び単一ビット遅延スロット番号と並列に記憶される。エ
ミュレーション・モジュール(図示せず)内に物理的に
実現されるデバッグ状態レジスタDBGSTATが状態
レジスタST1と並列に記憶される。これは、エミュレ
ーション要件に従ってDBGM、EALLOW、INT
Mビットを含む。
【0060】次に、DSPは、ISR905の開始の2
4ビット絶対アドレスを割込みベクトル930から取り
出し、かつ割込みサブルーチンへ分岐する。割込みベク
トルの後に直ちに記憶された命令931がISR905
への分岐の遅延スロット中に実行される。この実施の形
態による命令931の最大許容書式は、32ビットであ
る。もしISRへの直接分岐が要求されるならば、「N
OP」命令が割込みベクトル930の後に挿入される。
4ビット絶対アドレスを割込みベクトル930から取り
出し、かつ割込みサブルーチンへ分岐する。割込みベク
トルの後に直ちに記憶された命令931がISR905
への分岐の遅延スロット中に実行される。この実施の形
態による命令931の最大許容書式は、32ビットであ
る。もしISRへの直接分岐が要求されるならば、「N
OP」命令が割込みベクトル930の後に挿入される。
【0061】DSP100は、「復帰」命令940に出
会うまでISR905を実行する。DSP100は、ス
タックのトップから復帰アドレスをポップしかつこのア
ドレスをPC取出しレジスタWPC530(図4参照)
内に記憶する。命令バッファ502は、取出し進行にか
かわらず復帰アドレスで満たされかつPC実行レジスタ
534をWPC530と整列させる。次いで、DSP1
00は、主プログラム部分902の実行を続ける。
会うまでISR905を実行する。DSP100は、ス
タックのトップから復帰アドレスをポップしかつこのア
ドレスをPC取出しレジスタWPC530(図4参照)
内に記憶する。命令バッファ502は、取出し進行にか
かわらず復帰アドレスで満たされかつPC実行レジスタ
534をWPC530と整列させる。次いで、DSP1
00は、主プログラム部分902の実行を続ける。
【0062】割込みベクトルをプログラム・メモリ内の
どの256バイト・ページの開始へもリマップすること
ができる。本発明の或る態様では、割込みベクトルを2
つの群に分割して、ホスト・プロセッサへのリクエスト
に関連したタスクを定める能力を備えかつDSP100
に割込みベクトルを非共用形の内部メモリ回路801に
維持させるようにする。割込みの範囲が選択され、ホス
ト・プロセッサ810へ割り当てられ、かつIVPD8
60によって識別される。割込みの第2の範囲が選択さ
れ、ホスト・プロセッサ810に割り当てられ、かつI
VPH861によって識別される。本実施の形態では、
第1の範囲が割込み1−15を含むのに対して、第2の
範囲は割込み16−23を含む。しかしながら、範囲の
この選択は、別の実施の形態では変更されることもあ
る。例えば、ビット・セッチングに基づいてこれらの範
囲を定めるのに、レジスタ又はレジスタの集合を用いて
よい。これに代えて、それらの範囲を定めるために、内
部メモリ回路801のようなメモリにテーブルを設けて
よい。
どの256バイト・ページの開始へもリマップすること
ができる。本発明の或る態様では、割込みベクトルを2
つの群に分割して、ホスト・プロセッサへのリクエスト
に関連したタスクを定める能力を備えかつDSP100
に割込みベクトルを非共用形の内部メモリ回路801に
維持させるようにする。割込みの範囲が選択され、ホス
ト・プロセッサ810へ割り当てられ、かつIVPD8
60によって識別される。割込みの第2の範囲が選択さ
れ、ホスト・プロセッサ810に割り当てられ、かつI
VPH861によって識別される。本実施の形態では、
第1の範囲が割込み1−15を含むのに対して、第2の
範囲は割込み16−23を含む。しかしながら、範囲の
この選択は、別の実施の形態では変更されることもあ
る。例えば、ビット・セッチングに基づいてこれらの範
囲を定めるのに、レジスタ又はレジスタの集合を用いて
よい。これに代えて、それらの範囲を定めるために、内
部メモリ回路801のようなメモリにテーブルを設けて
よい。
【0063】ベクトルの各群は、IVPD860または
IVPH861に記憶された値を変化させかつそれらの
ベクトルをそれぞれの割込みベクトル・テーブルに再書
込みすることによって、簡単に独立にリマップされる。
DSP100とホスト810の割込み優先順位は、表4
に示した様なデュアルプロセッサシステムにより柔軟性
を与える様に、交互配置される。
IVPH861に記憶された値を変化させかつそれらの
ベクトルをそれぞれの割込みベクトル・テーブルに再書
込みすることによって、簡単に独立にリマップされる。
DSP100とホスト810の割込み優先順位は、表4
に示した様なデュアルプロセッサシステムにより柔軟性
を与える様に、交互配置される。
【0064】
【表4】
【0065】割込みベクトル・アドレスは、表5に説明
されている3つのフィールドを連結することによって形
成される。
されている3つのフィールドを連結することによって形
成される。
【0066】
【表5】
【0067】エミュレーション割込みベクトル(INT
26−INT24)は、ホスト・プロセッサ・ベクトル
から独立に維持される。これは、ホスト・プロセッサが
エミュレーション・ホストまたはデバッガ・プログラム
用割込みベクトルを変化させる危険がデバッグ中ないこ
とを保証する。というのはこれらのエミュレーション・
ベクトルが通信メモリ回路802内へマップされないか
らである。
26−INT24)は、ホスト・プロセッサ・ベクトル
から独立に維持される。これは、ホスト・プロセッサが
エミュレーション・ホストまたはデバッガ・プログラム
用割込みベクトルを変化させる危険がデバッグ中ないこ
とを保証する。というのはこれらのエミュレーション・
ベクトルが通信メモリ回路802内へマップされないか
らである。
【0068】リセットで全てのIVPxビットが「1」
にセットされる。したがって、ハードウェア・リセット
用リセット・ベクトルは、場所FFFF00hに常駐す
る。
にセットされる。したがって、ハードウェア・リセット
用リセット・ベクトルは、場所FFFF00hに常駐す
る。
【0069】表6は、DSP割込みIVPD860用割
込みベクトル・ポインタに対するビット割当てを示す。
IVPD[23−08]フィールドは、DSP割込みI
VTD850が在駐する256バイト・プログラム・ペ
ージを指す。
込みベクトル・ポインタに対するビット割当てを示す。
IVPD[23−08]フィールドは、DSP割込みI
VTD850が在駐する256バイト・プログラム・ペ
ージを指す。
【0070】
【表6】
【0071】表7は、ホスト割込みIVPH861用割
込みベクトル・ポインタに対するビット割当てを示す。
IVPH[23−08]フィールドは、ホスト割込みI
VTH851が在駐する256バイト・プログラム・ペ
ージを指す。これらのベクトルは、通常、通信メモリ回
路802にリマップされる。それで、ホスト・プロセッ
サ810は、そのリクエストに関連したタスク番号を定
める能力を有する。DSPベクトルを分離して維持する
ことが装置の完全性を改善し、かつ通信メモリ回路裁定
に原因する余剰サイクル待ち時間を回避することもでき
る。
込みベクトル・ポインタに対するビット割当てを示す。
IVPH[23−08]フィールドは、ホスト割込みI
VTH851が在駐する256バイト・プログラム・ペ
ージを指す。これらのベクトルは、通常、通信メモリ回
路802にリマップされる。それで、ホスト・プロセッ
サ810は、そのリクエストに関連したタスク番号を定
める能力を有する。DSPベクトルを分離して維持する
ことが装置の完全性を改善し、かつ通信メモリ回路裁定
に原因する余剰サイクル待ち時間を回避することもでき
る。
【0072】
【表7】
【0073】表8は、割込み/トラップ番号、優先順
位、割込みベクトル・テーブル内のベクトルの場所を示
す。この実施の形態では、各割込みベクトルは、それが
どの割込みテーブルに置かれているかにかかわらず表8
に表示された相対アドレスに記憶される。或る別の実施
の形態は、各割込みベクトル・テーブル内にベクトル・
アドレスを配分する異なった方式を用いることもでき
る。
位、割込みベクトル・テーブル内のベクトルの場所を示
す。この実施の形態では、各割込みベクトルは、それが
どの割込みテーブルに置かれているかにかかわらず表8
に表示された相対アドレスに記憶される。或る別の実施
の形態は、各割込みベクトル・テーブル内にベクトル・
アドレスを配分する異なった方式を用いることもでき
る。
【0074】
【表8】
【0075】表9は状態/制御レジスタST3のビット
割当てをまとめたものであり、他方、表10は状態/制
御レジスタST3内の種々のビットを説明している。
割当てをまとめたものであり、他方、表10は状態/制
御レジスタST3内の種々のビットを説明している。
【0076】
【表9】
【0077】
【表10】
【表11】
【表12】
【0078】図10は、本発明の態様による、二重割込
みベクトル・テーブルを設けるステップを示す流れ図で
ある。ステップ1000で、割込みベクトルが内部メモ
リ回路801内の割込みベクトル・テーブルIVTD8
50に記憶される。割込みベクトルにすぐ続くメモリ場
所に、命令がまた記憶される。このベクトルは、上に説
明したように、それが関係する割込みと一致するアドレ
スでIVTD850に記憶される。このステップは、追
加割込みベクトルに必要なだけ繰り返される。IVPD
レジスタ860に記憶された値がIVTD850の第1
のアドレスを指す。同様に、ステップ1002で、割込
みベクトルと命令が通信メモリ回路802内のIVTH
851に記憶される。このベクトルは、上に説明したよ
うに、それが関係する割込みと一致するアドレスでIV
TH851に記憶される。このステップは、追加割込み
ベクトルに必要なだけ繰り返される。IVPHレジスタ
861に記憶された値がIVTH851の第1のアドレ
スを指す。本発明の或る態様では、IVTH851に記
憶された割込みベクトルは、DSP100またはホスト
・プロセッサ810のどちらかが記憶することができ
る。ステップ1004で、種々の割込みリクエストが割
込みリクエスト信号840と841を介して種々のソー
スから受けられる。
みベクトル・テーブルを設けるステップを示す流れ図で
ある。ステップ1000で、割込みベクトルが内部メモ
リ回路801内の割込みベクトル・テーブルIVTD8
50に記憶される。割込みベクトルにすぐ続くメモリ場
所に、命令がまた記憶される。このベクトルは、上に説
明したように、それが関係する割込みと一致するアドレ
スでIVTD850に記憶される。このステップは、追
加割込みベクトルに必要なだけ繰り返される。IVPD
レジスタ860に記憶された値がIVTD850の第1
のアドレスを指す。同様に、ステップ1002で、割込
みベクトルと命令が通信メモリ回路802内のIVTH
851に記憶される。このベクトルは、上に説明したよ
うに、それが関係する割込みと一致するアドレスでIV
TH851に記憶される。このステップは、追加割込み
ベクトルに必要なだけ繰り返される。IVPHレジスタ
861に記憶された値がIVTH851の第1のアドレ
スを指す。本発明の或る態様では、IVTH851に記
憶された割込みベクトルは、DSP100またはホスト
・プロセッサ810のどちらかが記憶することができ
る。ステップ1004で、種々の割込みリクエストが割
込みリクエスト信号840と841を介して種々のソー
スから受けられる。
【0079】ステップ1006で、前に説明したよう
に、最高優先順位マスク不能割込みの割込み番号が決定
される。ステップ1007で、最高優先順位割込みの割
込み番号がDSP割込みまたはホスト割込みのどちらか
として分類される。もし割込みがDSP100に割り当
てられた割込み番号の範囲内にあるならば、その割込み
がDSP割込みとして分類される。これに代わり、もし
割込み番号がホスト・プロセッサ810に割り当てられ
た割込みの範囲内にあるならば、その割込みがホスト割
込みとして分類される。ステップ1008で、先に論じ
たかつステップ1007で決定されたように、もし最高
順位割込みの割込み番号がDSP割込みであるならば、
DSP100はIVTD850から割込みベクトルを検
索する。内部メモリ回路801をアクセスするためのア
ドレスがポインタ・レジスタ860に記憶された値と割
込み番号との連結によって形成される。ステップ101
0で、DSP100は、ステップ1008で検索された
割込みベクトルによって指された割込みサービス・ルー
チンへ分岐する。DSP100が割込みサービス・ルー
チンへ分岐する間に割込みベクトル直後に置かれた命令
がDSP100内で遅延スロット中に実行されることに
なる。割込みサービス・ルーチン(ISR)が完了する
と、ステップ1016で、DSP100は、割込みがそ
こからされた命令の流れへ復帰する。
に、最高優先順位マスク不能割込みの割込み番号が決定
される。ステップ1007で、最高優先順位割込みの割
込み番号がDSP割込みまたはホスト割込みのどちらか
として分類される。もし割込みがDSP100に割り当
てられた割込み番号の範囲内にあるならば、その割込み
がDSP割込みとして分類される。これに代わり、もし
割込み番号がホスト・プロセッサ810に割り当てられ
た割込みの範囲内にあるならば、その割込みがホスト割
込みとして分類される。ステップ1008で、先に論じ
たかつステップ1007で決定されたように、もし最高
順位割込みの割込み番号がDSP割込みであるならば、
DSP100はIVTD850から割込みベクトルを検
索する。内部メモリ回路801をアクセスするためのア
ドレスがポインタ・レジスタ860に記憶された値と割
込み番号との連結によって形成される。ステップ101
0で、DSP100は、ステップ1008で検索された
割込みベクトルによって指された割込みサービス・ルー
チンへ分岐する。DSP100が割込みサービス・ルー
チンへ分岐する間に割込みベクトル直後に置かれた命令
がDSP100内で遅延スロット中に実行されることに
なる。割込みサービス・ルーチン(ISR)が完了する
と、ステップ1016で、DSP100は、割込みがそ
こからされた命令の流れへ復帰する。
【0080】もしステップ1007で最高優先順位割込
みがホスト割込みであるならば、ステップ1020で、
DSP100はIVTH851から割込みベクトルを検
索する。そうでなければ、ステップ1018でデバッガ
割込みがハンドルされる。通信メモリ回路802をアク
セスするためのアドレスがポインタ・レジスタ861に
記憶された値と割込み番号との連結によって形成され
る。ステップ1014で、DSP100は、ステップ1
012で検索された割込みベクトルによって指された割
込みサービス・ルーチンへ分岐する。先に論じたよう
に、DSP100が割込みサービス・ルーチンへ分岐す
る間に割込みベクトル直後に置かれた命令がDSP10
0内で遅延スロット中に実行されることになる。割込み
サービス・ルーチンが完了すると、ステップ1016
で、DSP100は、割込みがそこからされた命令の流
れへ復帰する。
みがホスト割込みであるならば、ステップ1020で、
DSP100はIVTH851から割込みベクトルを検
索する。そうでなければ、ステップ1018でデバッガ
割込みがハンドルされる。通信メモリ回路802をアク
セスするためのアドレスがポインタ・レジスタ861に
記憶された値と割込み番号との連結によって形成され
る。ステップ1014で、DSP100は、ステップ1
012で検索された割込みベクトルによって指された割
込みサービス・ルーチンへ分岐する。先に論じたよう
に、DSP100が割込みサービス・ルーチンへ分岐す
る間に割込みベクトル直後に置かれた命令がDSP10
0内で遅延スロット中に実行されることになる。割込み
サービス・ルーチンが完了すると、ステップ1016
で、DSP100は、割込みがそこからされた命令の流
れへ復帰する。
【0081】ステップ1008−1010または101
2−1014が各割込みリクエストに応答して繰り返さ
れる。本発明の態様では、ホスト・プロセッサ810
は、DSP100の動作に影響することなく、所与の割
込みリクエストに対して異なった割込みサービス・ルー
チンを選択するために、IVTH851内の割込みベク
トルを変化させるまたは更新することができる。という
のは、ホスト・プロセッサ810は、内部メモリ回路8
01の動作と衝突しにないように通信メモリ回路802
をアクセスすることができるからである。
2−1014が各割込みリクエストに応答して繰り返さ
れる。本発明の態様では、ホスト・プロセッサ810
は、DSP100の動作に影響することなく、所与の割
込みリクエストに対して異なった割込みサービス・ルー
チンを選択するために、IVTH851内の割込みベク
トルを変化させるまたは更新することができる。という
のは、ホスト・プロセッサ810は、内部メモリ回路8
01の動作と衝突しにないように通信メモリ回路802
をアクセスすることができるからである。
【0082】図11は、DSP100内のアドレス発生
を示すブロック図である。レジスタ30は、IVPD8
60とIVPH861を含む、DSP100用の種々の
レジスタを保持する。ポインタ事後変更(pointe
r post modificaton)回路1102
がバス1110を介してレジスタ・ファイルに接続しか
つ選択されたレジスタを選択された量だけ増分または減
分するように動作する。変更されたレジスタ値がバス1
111を介してオペランド・アドレス計算回路1104
に供給される。オペランド・アドレス計算回路1104
は、前に論じたように、実行中の命令のアドレス指定モ
ードに応答して、選択されたレジスタの値を変更するよ
うに動作し、その場合、例えば、スタック・ポインタに
スタック・ポインタ相対アドレスを追加することによっ
て変更する。次いで、適当に変更されたアドレス値がア
ドレス・レジスタ回路1106に記憶され、かつメモリ
をアクセスするためにアドレス・バス1108に印加さ
れる。アドレス・バス1108は、図6のアドレス・バ
ス160、162、164、166、168のどれかを
表す。Aユニットが16ビット動作と8ビット・ロード
/記憶を支援する。ほとんどのアドレス計算は、強力な
変更子のゆえにDAGENによって遂行される。全ての
ポインタ・レジスタと関連オフセット・レジスタが16
ビット・レジスタとして実現される。次いで、16ビッ
ト・アドレスが主データ・ページに連結されて、24ビ
ット・メモリ・アドレスを作り上げる。
を示すブロック図である。レジスタ30は、IVPD8
60とIVPH861を含む、DSP100用の種々の
レジスタを保持する。ポインタ事後変更(pointe
r post modificaton)回路1102
がバス1110を介してレジスタ・ファイルに接続しか
つ選択されたレジスタを選択された量だけ増分または減
分するように動作する。変更されたレジスタ値がバス1
111を介してオペランド・アドレス計算回路1104
に供給される。オペランド・アドレス計算回路1104
は、前に論じたように、実行中の命令のアドレス指定モ
ードに応答して、選択されたレジスタの値を変更するよ
うに動作し、その場合、例えば、スタック・ポインタに
スタック・ポインタ相対アドレスを追加することによっ
て変更する。次いで、適当に変更されたアドレス値がア
ドレス・レジスタ回路1106に記憶され、かつメモリ
をアクセスするためにアドレス・バス1108に印加さ
れる。アドレス・バス1108は、図6のアドレス・バ
ス160、162、164、166、168のどれかを
表す。Aユニットが16ビット動作と8ビット・ロード
/記憶を支援する。ほとんどのアドレス計算は、強力な
変更子のゆえにDAGENによって遂行される。全ての
ポインタ・レジスタと関連オフセット・レジスタが16
ビット・レジスタとして実現される。次いで、16ビッ
ト・アドレスが主データ・ページに連結されて、24ビ
ット・メモリ・アドレスを作り上げる。
【0083】図12は、図11のアドレス回路の部分の
より詳細なブロック図である。アドレス発生は、マスキ
ング、逆桁上げ伝搬(reverse carry p
ropagation)を伴うまたは伴わない加算と減
算を用いる論理演算と算術演算を計算することによって
なされる。オペランドの選択は、レジスタ・ファイル内
で行われる。アドレス発生は2段階で遂行される。すな
わち、レジスタ変更が変更回路1102で遂行され、お
よびオフセット計算が計算回路1104で遂行される。
直接および絶対アドレス指定は、レジスタ変更を用いな
い(これらの場合には、レジスタ変更結果が無視され
る)。IVTD850とIVTH851内の割込みベク
トルのアドレスは、それぞれの割込みベクトル・ポイン
タ・レジスタ(860、861)に記憶された値と最高
順位割込みの割込み番号との連結によって形成された絶
対アドレスである。
より詳細なブロック図である。アドレス発生は、マスキ
ング、逆桁上げ伝搬(reverse carry p
ropagation)を伴うまたは伴わない加算と減
算を用いる論理演算と算術演算を計算することによって
なされる。オペランドの選択は、レジスタ・ファイル内
で行われる。アドレス発生は2段階で遂行される。すな
わち、レジスタ変更が変更回路1102で遂行され、お
よびオフセット計算が計算回路1104で遂行される。
直接および絶対アドレス指定は、レジスタ変更を用いな
い(これらの場合には、レジスタ変更結果が無視され
る)。IVTD850とIVTH851内の割込みベク
トルのアドレスは、それぞれの割込みベクトル・ポイン
タ・レジスタ(860、861)に記憶された値と最高
順位割込みの割込み番号との連結によって形成された絶
対アドレスである。
【0084】レジスタ変更は表11に説明された信号に
よって制御され、他方、オフセット変更は表12に説明
された信号によって制御される。
よって制御され、他方、オフセット変更は表12に説明
された信号によって制御される。
【0085】
【表13】
【0086】
【表14】
【0087】X経路、Y経路、係数経路は、非常に似て
いる。しかしながら、係数経路は遥かに簡単である。と
いうのは、この経路が変更子の制限された集合を用いる
間接アドレス指定を支援するだけ(非事前変更)である
からである。
いる。しかしながら、係数経路は遥かに簡単である。と
いうのは、この経路が変更子の制限された集合を用いる
間接アドレス指定を支援するだけ(非事前変更)である
からである。
【0088】図12で、なお、オペランド・アドレス計
算回路1104はレジスタ値を事前増分/減分する加算
/減算ユニット1200を含む。マルチプレクサ120
2がバス1111を介して加算/減算ユニット1200
の第1の入力に変更レジスタ値を供給することができ
る。マルチプレクサ1202は、加算/減算ユニット1
200の第1の入力へ命令からのオフセット値をまた供
給することができる。マスカ回路1204が加算/減算
ユニット1200の第2の入力に接続し、かつレジスタ
・ファイルからレジスタの1つを選択することができ
る。計算されたアドレスは、それが検出回路1206内
のMMRを指すかどうか決定するために検査され、次い
でバス1112を介してアドレス・レジスタへ送られ
る。
算回路1104はレジスタ値を事前増分/減分する加算
/減算ユニット1200を含む。マルチプレクサ120
2がバス1111を介して加算/減算ユニット1200
の第1の入力に変更レジスタ値を供給することができ
る。マルチプレクサ1202は、加算/減算ユニット1
200の第1の入力へ命令からのオフセット値をまた供
給することができる。マスカ回路1204が加算/減算
ユニット1200の第2の入力に接続し、かつレジスタ
・ファイルからレジスタの1つを選択することができ
る。計算されたアドレスは、それが検出回路1206内
のMMRを指すかどうか決定するために検査され、次い
でバス1112を介してアドレス・レジスタへ送られ
る。
【0089】図12で、なお、変更回路1102は、バ
ス1110を介してレジスタ・ファイル30からレジス
タ値を受ける。このレジスタ値を、加算/減算ユニット
1210が増分/減分することができ又はマスカ回路1
214がマスクすることができ、次いで、加算/減算ユ
ニット1214が増分/減分することができる。マルチ
プレクサ1216と1218が変更値をバス1111へ
回送して、レジスタ・ファイル30を更新しかつこの更
新値をアドレス計算回路1104へ送る。
ス1110を介してレジスタ・ファイル30からレジス
タ値を受ける。このレジスタ値を、加算/減算ユニット
1210が増分/減分することができ又はマスカ回路1
214がマスクすることができ、次いで、加算/減算ユ
ニット1214が増分/減分することができる。マルチ
プレクサ1216と1218が変更値をバス1111へ
回送して、レジスタ・ファイル30を更新しかつこの更
新値をアドレス計算回路1104へ送る。
【0090】図13は、DSP100を内蔵する集積回
路の概要を示す。図のように、集積回路は表面取付け用
の複数の接点を含む。しかし集積回路は、他の形状でも
よい。例えば、ゼロ・インサーション・フォース・ソケ
ット(zero insertion force s
oket)に取り付けるために回路の下面に複数のピン
を備えるものや、任意の他の適当な形状でよい。
路の概要を示す。図のように、集積回路は表面取付け用
の複数の接点を含む。しかし集積回路は、他の形状でも
よい。例えば、ゼロ・インサーション・フォース・ソケ
ット(zero insertion force s
oket)に取り付けるために回路の下面に複数のピン
を備えるものや、任意の他の適当な形状でよい。
【0091】図14は、かかる集積回路を統合キーボー
ド12とディスプレイ14を備える移動体電話などの移
動通信装置内で実現する例を示す。図14に示すよう
に、DSP100を備えるディジタル装置10を、必要
に応じてキーボード・アダプタ(図示せず)を介してキ
ーボード12や、必要に応じてディスプレイ・アダプタ
(図示せず)を介してディスプレイ14や、無線周波数
(RF)回路16に接続する。RF回路16は、アンテ
ナ18に接続する。
ド12とディスプレイ14を備える移動体電話などの移
動通信装置内で実現する例を示す。図14に示すよう
に、DSP100を備えるディジタル装置10を、必要
に応じてキーボード・アダプタ(図示せず)を介してキ
ーボード12や、必要に応じてディスプレイ・アダプタ
(図示せず)を介してディスプレイ14や、無線周波数
(RF)回路16に接続する。RF回路16は、アンテ
ナ18に接続する。
【0092】データ処理デバイスであるDSP100の
製造は多重ステップであって、種々の量の不純物を半導
体基板内へ注入し、不純物を基板内に選択された深さに
拡散させてトランジスタ・デバイスを形成する。不純物
の位置を制御するためにマスクを形成し、導体材料と絶
縁材料の多数の層を堆積され、エッチングして種々のデ
バイスを相互に接続する。これらのステップをクリーン
・ルーム環境で行う。
製造は多重ステップであって、種々の量の不純物を半導
体基板内へ注入し、不純物を基板内に選択された深さに
拡散させてトランジスタ・デバイスを形成する。不純物
の位置を制御するためにマスクを形成し、導体材料と絶
縁材料の多数の層を堆積され、エッチングして種々のデ
バイスを相互に接続する。これらのステップをクリーン
・ルーム環境で行う。
【0093】データ処理デバイスの製作コストのかなり
の部分は試験関係である。ウェーハ状態で、個々のデバ
イスを或る動作状態へバイアスしてかつ基本的な動作機
能性を試験する。次に、ウェーハを個々のダイに分割し
て、ダイのままで、又はパッケージ化して販売する。パ
ッケーシ化した後、完成品を動作状態までバイアスし
て、動作性能を試験する。
の部分は試験関係である。ウェーハ状態で、個々のデバ
イスを或る動作状態へバイアスしてかつ基本的な動作機
能性を試験する。次に、ウェーハを個々のダイに分割し
て、ダイのままで、又はパッケージ化して販売する。パ
ッケーシ化した後、完成品を動作状態までバイアスし
て、動作性能を試験する。
【0094】本発明の新規な態様の或る別の実施の形態
はここに開示した回路を組み合わせた別の回路を含み、
機能を組み合わせることによってゲートの総数を削減す
る。ゲートを最小化する技術は当業者に既知であるの
で、かかる実施の形態についてはここに説明しない。
はここに開示した回路を組み合わせた別の回路を含み、
機能を組み合わせることによってゲートの総数を削減す
る。ゲートを最小化する技術は当業者に既知であるの
で、かかる実施の形態についてはここに説明しない。
【0095】このように、コード密度が高く及びプログ
ラミングが容易であるプログラマブル・ディジタル信号
プロセッサ(DSP)であるプロセッサが説明された。
構造と命令集合は、電力消費を低くしまた無線電話や専
用の制御タスクのためのDSPアルゴリズムの実行の効
率を高めるように最適化されている。このプロセッサ
は、命令バッファ・ユニット、および命令バッファ・ユ
ニットが復号した命令を実行するデータ実行ユニットを
含む。命令は、絶対並列性に応答してまたはユーザ定義
並列性に応答してのどちらかで、並列に実行することが
できる。割込みベクトルを2つの群(ホストとDSP)
に分割し、かつDSP割込みベクトルとホスト割込みベ
クトルを独立にリマップする能力が備わる。ホスト割込
みベクトルは、ホスト・プロセッサからロードされるた
めに二重ポート形通信メモリ回路(ホストRAM)に記
憶される。DSP割込みベクトルは、内部単一アクセス
・メモリ回路(DSP RAM)内に在駐する。割込み
管理に柔軟性を持たせるために、ホスト割込みチャンネ
ルとDSP割込みチャンネルがインタリーブされる。こ
うすると、例えば、DSP割込みチャンネルより高い優
先順位の特定ホスト割込みチャンネルがある一方、DS
P割込みチャンネルより低い優先順位のホスト割込みチ
ャンネルの集合がなおあることが許される。
ラミングが容易であるプログラマブル・ディジタル信号
プロセッサ(DSP)であるプロセッサが説明された。
構造と命令集合は、電力消費を低くしまた無線電話や専
用の制御タスクのためのDSPアルゴリズムの実行の効
率を高めるように最適化されている。このプロセッサ
は、命令バッファ・ユニット、および命令バッファ・ユ
ニットが復号した命令を実行するデータ実行ユニットを
含む。命令は、絶対並列性に応答してまたはユーザ定義
並列性に応答してのどちらかで、並列に実行することが
できる。割込みベクトルを2つの群(ホストとDSP)
に分割し、かつDSP割込みベクトルとホスト割込みベ
クトルを独立にリマップする能力が備わる。ホスト割込
みベクトルは、ホスト・プロセッサからロードされるた
めに二重ポート形通信メモリ回路(ホストRAM)に記
憶される。DSP割込みベクトルは、内部単一アクセス
・メモリ回路(DSP RAM)内に在駐する。割込み
管理に柔軟性を持たせるために、ホスト割込みチャンネ
ルとDSP割込みチャンネルがインタリーブされる。こ
うすると、例えば、DSP割込みチャンネルより高い優
先順位の特定ホスト割込みチャンネルがある一方、DS
P割込みチャンネルより低い優先順位のホスト割込みチ
ャンネルの集合がなおあることが許される。
【0096】有利なことに、ホストがDSPの動作に影
響することなく割込みベクトルをマニピュレートするこ
とができるから、装置の完全性を改善する。ホスト割込
み動作とDSP割込み動作とを分離することがソフトウ
ェア・デバッギングを簡単にする。DSP割込みベクト
ルを非共用メモリ回路に記憶することが許され、非共用
メモリはホスト・プロセッサと共用のメモリ回路より敏
速にアクセスすることができるから、割込み待ち時間を
短縮する。ホスト割込みベクトル・テーブルを通信メモ
リ回路802内に置くことが、このメモリ回路の利用を
高める。
響することなく割込みベクトルをマニピュレートするこ
とができるから、装置の完全性を改善する。ホスト割込
み動作とDSP割込み動作とを分離することがソフトウ
ェア・デバッギングを簡単にする。DSP割込みベクト
ルを非共用メモリ回路に記憶することが許され、非共用
メモリはホスト・プロセッサと共用のメモリ回路より敏
速にアクセスすることができるから、割込み待ち時間を
短縮する。ホスト割込みベクトル・テーブルを通信メモ
リ回路802内に置くことが、このメモリ回路の利用を
高める。
【0097】本発明の別の実施の形態は、3つ以上の割
込みベクトル・テーブルを有してよい。異なった割込み
ベクトル・テーブルを同一のメモリ回路の異なったまた
は隣接するアドレス空間に、または異なったメモリ回路
に置くことができる。割込み優先順位を異なった順序で
割り当ててよい。
込みベクトル・テーブルを有してよい。異なった割込み
ベクトル・テーブルを同一のメモリ回路の異なったまた
は隣接するアドレス空間に、または異なったメモリ回路
に置くことができる。割込み優先順位を異なった順序で
割り当ててよい。
【0098】ここに用いた「印加する」・「接続する」
・「接続」という用語は電気的に接続することを意味
し、別の要素が電気接続経路内にあってよい。
・「接続」という用語は電気的に接続することを意味
し、別の要素が電気接続経路内にあってよい。
【0099】本発明について例示の実施例の形態を参照
して説明したが、この説明を限定的に解釈してはならな
い。この説明を参照すれば、本発明の他の種々の実施の
形態は当業者に明らかである。したがって添付の特許請
求の範囲はここに述べた実施の形態に任意の変更を、本
発明の範囲と精神に含まれるものとしてカバーする。
して説明したが、この説明を限定的に解釈してはならな
い。この説明を参照すれば、本発明の他の種々の実施の
形態は当業者に明らかである。したがって添付の特許請
求の範囲はここに述べた実施の形態に任意の変更を、本
発明の範囲と精神に含まれるものとしてカバーする。
【0100】以上の説明に関して更に以下の項を開示す
る。
る。
【0101】(1) 複数のソースからの割込みリクエ
ストに応答して動作するマイクロプロセッサを含むディ
ジタル装置であって、前記マイクロプロセッサが前記複
数のソースからの複数の割込みリクエストを受ける手段
と、前記複数のソースの中から選択された第1のソース
からの第1の割込みリクエストに応答して第1のメモリ
回路から第1の割込みベクトルを選択する手段と、前記
複数のソースの中から選択された第2のソースからの第
2の割込みリクエストに応答して第2のメモリ回路から
第2の割込みベクトルを選択する手段であって、前記第
2のメモリ回路が前記第1のメモリ回路とは別個である
前記第2の割込みベクトルを選択する前記手段と、前記
第1の割込みベクトルに応答して複数の割込みルーチン
・サービスの中から第1の割込みサービス・ルーチンを
実行しかつ前記第2の割込みベクトルに応答して前記複
数の割込みルーチン・サービスの中から第2の割込みサ
ービス・ルーチンを実行する手段とを含むディジタル装
置。
ストに応答して動作するマイクロプロセッサを含むディ
ジタル装置であって、前記マイクロプロセッサが前記複
数のソースからの複数の割込みリクエストを受ける手段
と、前記複数のソースの中から選択された第1のソース
からの第1の割込みリクエストに応答して第1のメモリ
回路から第1の割込みベクトルを選択する手段と、前記
複数のソースの中から選択された第2のソースからの第
2の割込みリクエストに応答して第2のメモリ回路から
第2の割込みベクトルを選択する手段であって、前記第
2のメモリ回路が前記第1のメモリ回路とは別個である
前記第2の割込みベクトルを選択する前記手段と、前記
第1の割込みベクトルに応答して複数の割込みルーチン
・サービスの中から第1の割込みサービス・ルーチンを
実行しかつ前記第2の割込みベクトルに応答して前記複
数の割込みルーチン・サービスの中から第2の割込みサ
ービス・ルーチンを実行する手段とを含むディジタル装
置。
【0102】(2) 第1項記載のディジタル装置であ
って、前記マイクプロセッサに接続し、前記第1の割込
みベクトルに対する値を記憶するように動作する第1の
メモリ回路と、前記マイクプロセッサに接続し、前記第
2の割込みベクトルに対する値を記憶するように動作す
る第2のメモリ回路と、前記第2のメモリ回路に接続
し、前記第2の割込みリクエストを供給するように動作
するホスト・プロセッサ・インターフェースとを更に含
むディジタル装置。
って、前記マイクプロセッサに接続し、前記第1の割込
みベクトルに対する値を記憶するように動作する第1の
メモリ回路と、前記マイクプロセッサに接続し、前記第
2の割込みベクトルに対する値を記憶するように動作す
る第2のメモリ回路と、前記第2のメモリ回路に接続
し、前記第2の割込みリクエストを供給するように動作
するホスト・プロセッサ・インターフェースとを更に含
むディジタル装置。
【0103】(3) 第2項記載のディジタル装置であ
って、前記ホスト・プロセッサ・インターフェースに接
続するホスト・プロセッサを更に含み、前記ホスト・プ
ロセッサ・インターフェースが前記ホスト・プロセッサ
からの第1の信号に応答して前記第2のメモリに前記第
2の割込みベクトルに対して異なった値を記憶させるよ
うに動作し、前記ホスト・プロセッサ・インターフェー
スが前記ホスト・プロセッサからの第2の信号に応答し
て前記第2の割込みリクエストを供給するように動作す
るディジタル装置。
って、前記ホスト・プロセッサ・インターフェースに接
続するホスト・プロセッサを更に含み、前記ホスト・プ
ロセッサ・インターフェースが前記ホスト・プロセッサ
からの第1の信号に応答して前記第2のメモリに前記第
2の割込みベクトルに対して異なった値を記憶させるよ
うに動作し、前記ホスト・プロセッサ・インターフェー
スが前記ホスト・プロセッサからの第2の信号に応答し
て前記第2の割込みリクエストを供給するように動作す
るディジタル装置。
【0104】(4) 第1項記載のディジタル装置にお
いて、複数の割込みリクエストを受ける前記手段が前記
複数の割込みリクエストを受けるように接続する優先順
位裁定回路を含み、前記優先順位裁定回路が前記マイク
ロプロセッサへ前記複数の割込みリクエストのうちの最
高順位割込みリクエストを表す割込み番号を供給するよ
うに動作し、第1の割込みベクトルを選択する前記手段
が前記マイクロプロセッサに接続する第1のポインタ・
レジスタを含み、前記第1のポインタ・レジスタが前記
第1の割込みベクトルのアドレスの一部を保持するよう
に動作し、第2の割込みベクトルを選択する前記手段が
前記マイクロプロセッサに接続する第2のポインタ・レ
ジスタを含み、前記第2のポインタ・レジスタが前記第
2の割込みベクトルのアドレスの一部を保持するように
動作し、第1の割込みサービス・ルーチンを実行しかつ
第2の割込みサービス・ルーチンを実行する前記手段が
前記第1のポインタ・レジスタと、前記第2のポインタ
・レジスタと、前記優先順位裁定回路とに接続するアド
レス回路を含み、前記アドレス回路がもし前記割込み番
号の値が第1の範囲内にあるならば前記第1のポインタ
・レジスタに記憶された値と前記割込み番号とを組み合
わせることによって前記第1のメモリ回路にアクセスす
るためのアドレスを形成するように動作し、前記アドレ
ス回路がもし前記割込み番号の値が第2の範囲内にある
ならば前記第2のポインタ・レジスタに記憶された値と
前記割込み番号とを組み合わせることによって前記第2
のメモリ回路にアクセスするためのアドレスを形成する
ように動作するディジタル装置。
いて、複数の割込みリクエストを受ける前記手段が前記
複数の割込みリクエストを受けるように接続する優先順
位裁定回路を含み、前記優先順位裁定回路が前記マイク
ロプロセッサへ前記複数の割込みリクエストのうちの最
高順位割込みリクエストを表す割込み番号を供給するよ
うに動作し、第1の割込みベクトルを選択する前記手段
が前記マイクロプロセッサに接続する第1のポインタ・
レジスタを含み、前記第1のポインタ・レジスタが前記
第1の割込みベクトルのアドレスの一部を保持するよう
に動作し、第2の割込みベクトルを選択する前記手段が
前記マイクロプロセッサに接続する第2のポインタ・レ
ジスタを含み、前記第2のポインタ・レジスタが前記第
2の割込みベクトルのアドレスの一部を保持するように
動作し、第1の割込みサービス・ルーチンを実行しかつ
第2の割込みサービス・ルーチンを実行する前記手段が
前記第1のポインタ・レジスタと、前記第2のポインタ
・レジスタと、前記優先順位裁定回路とに接続するアド
レス回路を含み、前記アドレス回路がもし前記割込み番
号の値が第1の範囲内にあるならば前記第1のポインタ
・レジスタに記憶された値と前記割込み番号とを組み合
わせることによって前記第1のメモリ回路にアクセスす
るためのアドレスを形成するように動作し、前記アドレ
ス回路がもし前記割込み番号の値が第2の範囲内にある
ならば前記第2のポインタ・レジスタに記憶された値と
前記割込み番号とを組み合わせることによって前記第2
のメモリ回路にアクセスするためのアドレスを形成する
ように動作するディジタル装置。
【0105】(5) セルラ電話である第1項記載のデ
ィジタル装置であって、キーボード・アダプタを介して
前記マイクロプロセッサに接続する統合キーボードと、
ディスプレイ・アダプタを介して前記マイクロプロセッ
サに接続するディスプレイと、前記マイクロプロセッサ
に接続する無線周波数(RF)回路と、前記RF回路に
接続するアンテナとを含むディジタル装置。
ィジタル装置であって、キーボード・アダプタを介して
前記マイクロプロセッサに接続する統合キーボードと、
ディスプレイ・アダプタを介して前記マイクロプロセッ
サに接続するディスプレイと、前記マイクロプロセッサ
に接続する無線周波数(RF)回路と、前記RF回路に
接続するアンテナとを含むディジタル装置。
【0106】(6) 複数のソースからの割込みリクエ
ストに応答して動作するマイクロプロセッサを含むディ
ジタル装置を操作する方法であって、第1のメモリ回路
に第1の割込みベクトルを記憶するステップと、第2の
メモリ回路に第2の割込みベクトルを記憶するステップ
と、前記複数のソースから複数の割込みリクエストを受
けるステップと、前記複数の割込みリクエストの中の最
高優先順位割込みリクエストの割込み番号を決定するス
テップと、前記第1の割込みリクエストが前記最高優先
順位リクエストであるとき前記複数のソースの中から選
択された第1のソースからの第1の割込みリクエストに
応答して前記第1のメモリ回路から前記第1の割込みベ
クトルを検索するステップと、前記第1の割込みベクト
ルに応答して複数の割込みサービス・ルーチンの中から
第1の割込みサービス・ルーチンを実行するステップ
と、前記第2の割込みリクエストが前記最高優先順位リ
クエストであるとき前記複数のソースの中から選択され
た第2のソースからの第2の割込みリクエストに応答し
て前記第2のメモリ回路から前記第2の割込みベクトル
を検索するステップであって、前記第2のメモリ回路が
前記第1のメモリ回路とは別個である前記第2の割込み
ベクトルを前記検索するステップと、前記第2の割込み
ベクトルに応答して前記複数の割込みサービス・ルーチ
ンの中から第2の割込みサービス・ルーチンを実行する
ステップとを含む方法。
ストに応答して動作するマイクロプロセッサを含むディ
ジタル装置を操作する方法であって、第1のメモリ回路
に第1の割込みベクトルを記憶するステップと、第2の
メモリ回路に第2の割込みベクトルを記憶するステップ
と、前記複数のソースから複数の割込みリクエストを受
けるステップと、前記複数の割込みリクエストの中の最
高優先順位割込みリクエストの割込み番号を決定するス
テップと、前記第1の割込みリクエストが前記最高優先
順位リクエストであるとき前記複数のソースの中から選
択された第1のソースからの第1の割込みリクエストに
応答して前記第1のメモリ回路から前記第1の割込みベ
クトルを検索するステップと、前記第1の割込みベクト
ルに応答して複数の割込みサービス・ルーチンの中から
第1の割込みサービス・ルーチンを実行するステップ
と、前記第2の割込みリクエストが前記最高優先順位リ
クエストであるとき前記複数のソースの中から選択され
た第2のソースからの第2の割込みリクエストに応答し
て前記第2のメモリ回路から前記第2の割込みベクトル
を検索するステップであって、前記第2のメモリ回路が
前記第1のメモリ回路とは別個である前記第2の割込み
ベクトルを前記検索するステップと、前記第2の割込み
ベクトルに応答して前記複数の割込みサービス・ルーチ
ンの中から第2の割込みサービス・ルーチンを実行する
ステップとを含む方法。
【0107】(7) 第6項記載の方法において、前記
第1の割込みベクトルを検索する前記ステップがもし前
記割込み番号の値が第1の範囲内にあるならば第1のポ
インタ・レジスタ内に記憶された値と前記割込み番号と
を組み合わせることによって前記第1のメモリ回路にア
クセスするためのアドレスを形成するステップを含み、
前記第2の割込みベクトルを検索する前記ステップがも
し前記割込み番号の値が第2の範囲内にあるならば第2
のポインタ・レジスタ内に記憶された値と前記割込み番
号とを組み合わせることによって前記第2のメモリ回路
にアクセスするためのアドレスを形成するステップを含
む方法。
第1の割込みベクトルを検索する前記ステップがもし前
記割込み番号の値が第1の範囲内にあるならば第1のポ
インタ・レジスタ内に記憶された値と前記割込み番号と
を組み合わせることによって前記第1のメモリ回路にア
クセスするためのアドレスを形成するステップを含み、
前記第2の割込みベクトルを検索する前記ステップがも
し前記割込み番号の値が第2の範囲内にあるならば第2
のポインタ・レジスタ内に記憶された値と前記割込み番
号とを組み合わせることによって前記第2のメモリ回路
にアクセスするためのアドレスを形成するステップを含
む方法。
【0108】(8) 第6項記載の方法において、前記
第1の範囲と前記第2の範囲とが第3のメモリ回路に記
憶された範囲テーブルをアクセスすることによって決定
される方法。
第1の範囲と前記第2の範囲とが第3のメモリ回路に記
憶された範囲テーブルをアクセスすることによって決定
される方法。
【0109】(9) 第6項記載の方法において、前記
第2のソースがホスト・プロセッサであり、前記第2の
割込みベクトルを検索する前記ステップが前記ホスト・
プロセッサによって起動されたメモリ・トランザクショ
ンに応答して前記第2のメモリ回路に前記第2の割込み
ベクトルを記憶するステップを含む方法。
第2のソースがホスト・プロセッサであり、前記第2の
割込みベクトルを検索する前記ステップが前記ホスト・
プロセッサによって起動されたメモリ・トランザクショ
ンに応答して前記第2のメモリ回路に前記第2の割込み
ベクトルを記憶するステップを含む方法。
【0110】(10) 第9項記載の方法において、前
記第2の割込みベクトルを記憶する前記ステップが前記
第1のメモリ回路の動作と衝突しないように前記第2の
メモリ回路に前記第2の割込みベクトルを記憶するステ
ップを更に含む方法。
記第2の割込みベクトルを記憶する前記ステップが前記
第1のメモリ回路の動作と衝突しないように前記第2の
メモリ回路に前記第2の割込みベクトルを記憶するステ
ップを更に含む方法。
【0111】(11) 第7項記載の方法において、前
記第1の範囲と前記第2の範囲とが前記第3のメモリ回
路に記憶された範囲テーブルをアクセスすることによっ
て決定され、前記第2のソースがホスト・プロセッサで
あり、前記第2の割込みベクトルを記憶する前記ステッ
プが前記ホスト・プロセッサによって起動されたメモリ
・トランザクションに応答して前記第2のメモリ回路に
前記第2の割込みベクトルを記憶するステップを含む方
法。
記第1の範囲と前記第2の範囲とが前記第3のメモリ回
路に記憶された範囲テーブルをアクセスすることによっ
て決定され、前記第2のソースがホスト・プロセッサで
あり、前記第2の割込みベクトルを記憶する前記ステッ
プが前記ホスト・プロセッサによって起動されたメモリ
・トランザクションに応答して前記第2のメモリ回路に
前記第2の割込みベクトルを記憶するステップを含む方
法。
【0112】(12) 第11項記載の方法において、
前記第2の割込みベクトルを記憶する前記ステップが前
記第1のメモリ回路の動作と衝突しないように前記第2
のメモリ回路に前記第2の割込みベクトルを記憶するス
テップを更に含む方法。
前記第2の割込みベクトルを記憶する前記ステップが前
記第1のメモリ回路の動作と衝突しないように前記第2
のメモリ回路に前記第2の割込みベクトルを記憶するス
テップを更に含む方法。
【0113】(13) 可変長命令を用い、コード密度
が高く、かつプログラミングが容易なプログラマブル・
ディジタル信号プロセッサ(DSP)100を提供す
る。構造と命令集合は、無線電話や制御専用のDSPア
ルゴリズムを低い電力消費と高い効率で実行するように
最適化される。割込みベクトルの2つの集合を維持し、
割込みソースの1つの集合820、821、822が発
した割込みに係わる割込みベクトルをDSPに専用であ
るメモリ回路801内に置いたDSP割込みベクトル・
テーブル850に記憶する。ホスト・プロセッサ810
が発した割込みに係わる割込みベクトルを二重ポート形
通信メモリ回路802内に置いたホスト割込みベクトル
・テーブル851に記憶する。DSPは、割込みの全て
にサービスする割込みサービス・ルーチンを実行する
が、ホスト・プロセッサはホスト起動割込み用割込みベ
クトルを変化させることができる。
が高く、かつプログラミングが容易なプログラマブル・
ディジタル信号プロセッサ(DSP)100を提供す
る。構造と命令集合は、無線電話や制御専用のDSPア
ルゴリズムを低い電力消費と高い効率で実行するように
最適化される。割込みベクトルの2つの集合を維持し、
割込みソースの1つの集合820、821、822が発
した割込みに係わる割込みベクトルをDSPに専用であ
るメモリ回路801内に置いたDSP割込みベクトル・
テーブル850に記憶する。ホスト・プロセッサ810
が発した割込みに係わる割込みベクトルを二重ポート形
通信メモリ回路802内に置いたホスト割込みベクトル
・テーブル851に記憶する。DSPは、割込みの全て
にサービスする割込みサービス・ルーチンを実行する
が、ホスト・プロセッサはホスト起動割込み用割込みベ
クトルを変化させることができる。
【0114】本願は、1999年3月8日欧州で出願し
たS.N.99400550.2(TI−27764E
U)および1998年10月6日欧州で出願したS.
N.98402455.4(TI−28433EU)に
基づいて優先権を主張する。
たS.N.99400550.2(TI−27764E
U)および1998年10月6日欧州で出願したS.
N.98402455.4(TI−28433EU)に
基づいて優先権を主張する。
【図1】本発明の或る実施の形態による、マイクロプロ
セッサを含むディジタル装置の略ブロック図。
セッサを含むディジタル装置の略ブロック図。
【図2】図1のプロセッサ・コアの略図。
【図3】プロセッサ・コアの種々の実行ユニットの詳細
な略ブロック図。
な略ブロック図。
【図4】プロセッサの命令バッファ待ち行列および命令
デコーダの略図。
デコーダの略図。
【図5】プロセッサのパイプラインの動作を説明するた
めのプロセッサ・コアの表現。
めのプロセッサ・コアの表現。
【図6】メモリ管理ユニットを相互接続したメモリを示
すプロセッサのブロック図。
すプロセッサのブロック図。
【図7】プロセッサのプログラム・メモリ空間とデータ
・メモリ空間の統一構造。
・メモリ空間の統一構造。
【図8】本発明の種々の態様による、図1のプロセッサ
を備えたディジタル装置の或る別の実施の形態を示すブ
ロック図。
を備えたディジタル装置の或る別の実施の形態を示すブ
ロック図。
【図9】図8のディジタル装置内でのサーブルーチン呼
出し中のプログラム実行を示す流れ図。
出し中のプログラム実行を示す流れ図。
【図10】本発明の種々の態様による、二重割込みベク
トル・0ーブルを設けるステップを示す流れ図。
トル・0ーブルを設けるステップを示す流れ図。
【図11】図8のディジタル装置のマイクロプロセッサ
内のアドレス発生回路を示すブロック図。
内のアドレス発生回路を示すブロック図。
【図12】図11にアドレス発生回路の部分のより詳細
なブロック図。
なブロック図。
【図13】プロセッサを組み込んだ集積回路の略図。
【図14】図1のプロセッサを組み込んだ電気通信装置
の略図。
の略図。
100 ディジタル信号プロセッサ(DSP) 102 DSPコア 800 ディジタル装置 801 内部プログラム・メモリ回路 802 二重ポート形通信メモリ回路 803 ブリッジ 810 ホスト・プロセッサ 811 ホスト・プロセッサ・インターフェース回路
(HPI) 820 周辺 821 周辺 822 専用ハードウェア 850 DSP割込みベクトル・テーブル(IVTD) 851 ホスト割込みベクトル・テーブル(IVTH) 860 (メモリ回路801用)メモリ・マップ・レジ
スタ(IVTD) 861 (メモリ回路802用)メモリ・マップ・レジ
スタ(IVTD) 870 優先順位裁定回路
(HPI) 820 周辺 821 周辺 822 専用ハードウェア 850 DSP割込みベクトル・テーブル(IVTD) 851 ホスト割込みベクトル・テーブル(IVTH) 860 (メモリ回路801用)メモリ・マップ・レジ
スタ(IVTD) 861 (メモリ回路802用)メモリ・マップ・レジ
スタ(IVTD) 870 優先順位裁定回路
Claims (2)
- 【請求項1】 複数のソースからの割込みリクエストに
応答して動作するマイクロプロセッサを含むディジタル
装置であって、前記マイクロプロセッサが前記複数のソ
ースからの複数の割込みリクエストを受ける手段と、 前記複数のソースの中から選択された第1のソースから
の第1の割込みリクエストに応答して第1のメモリ回路
から第1の割込みベクトルを選択する手段と、 前記複数のソースの中から選択された第2のソースから
の第2の割込みリクエストに応答して第2のメモリ回路
から第2の割込みベクトルを選択する手段であって、前
記第2のメモリ回路が前記第1のメモリ回路とは別個で
ある前記第2の割込みベクトルを選択する前記手段と、 前記第1の割込みベクトルに応答して複数の割込みルー
チン・サービスの中から第1の割込みサービス・ルーチ
ンを実行しかつ前記第2の割込みベクトルに応答して前
記複数の割込みルーチン・サービスの中から第2の割込
みサービス・ルーチンを実行する手段とを含むディジタ
ル装置。 - 【請求項2】 複数のソースからの割込みリクエストに
応答して動作するマイクロプロセッサを含むディジタル
装置を操作する方法であって、 第1のメモリ回路に第1の割込みベクトルを記憶するス
テップと、 第2のメモリ回路に第2の割込みベクトルを記憶するス
テップと、 前記複数のソースから複数の割込みリクエストを受ける
ステップと、 前記複数の割込みリクエストの中の最高優先順位割込み
リクエストの割込み番号を決定するステップと、 前記第1の割込みリクエストが前記最高優先順位リクエ
ストであるとき前記複数のソースの中から選択された第
1のソースからの第1の割込みリクエストに応答して前
記第1のメモリ回路から前記第1の割込みベクトルを検
索するステップと、 前記第1の割込みベクトルに応答して複数の割込みサー
ビス・ルーチンの中から第1の割込みサービス・ルーチ
ンを実行するステップと、 前記第2の割込みリクエストが前記最高優先順位リクエ
ストであるとき前記複数のソースの中から選択された第
2のソースからの第2の割込みリクエストに応答して前
記第2のメモリ回路から前記第2の割込みベクトルを検
索するステップであって、前記第2のメモリ回路が前記
第1のメモリ回路とは別個である前記第2の割込みベク
トルを前記検索するステップと、 前記第2の割込みベクトルに応答して前記複数の割込み
サービス・ルーチンの中から第2の割込みサービス・ル
ーチンを実行するステップとを含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99400550A EP0992902A3 (en) | 1998-10-06 | 1999-03-08 | Dual interrupt vector mapping |
EP99400550.2 | 1999-03-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000284973A true JP2000284973A (ja) | 2000-10-13 |
Family
ID=8241902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000062576A Pending JP2000284973A (ja) | 1999-03-08 | 2000-03-07 | 二重割込みベクトル・マッピング装置とその操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6502152B1 (ja) |
JP (1) | JP2000284973A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681319B1 (en) * | 1998-10-06 | 2004-01-20 | Texas Instruments Incorporated | Dual access instruction and compound memory access instruction with compatible address fields |
US6721295B1 (en) * | 2000-08-25 | 2004-04-13 | Texas Instruments Incorporated | Triple data system for high data rate communication systems |
US6917608B1 (en) * | 2000-12-22 | 2005-07-12 | National Semiconductor Corporation | Microsequencer microcode bank switched architecture |
US6963554B1 (en) * | 2000-12-27 | 2005-11-08 | National Semiconductor Corporation | Microwire dynamic sequencer pipeline stall |
US7042909B2 (en) * | 2001-06-27 | 2006-05-09 | Freescale Semiconductor, Inc. | Method and apparatus for controlling the timing of a communication device |
JP2004157730A (ja) * | 2002-11-06 | 2004-06-03 | Renesas Technology Corp | マイクロコンピュータ |
KR100528476B1 (ko) * | 2003-07-22 | 2005-11-15 | 삼성전자주식회사 | 컴퓨터 시스템의 인터럽트 처리 장치 |
US7363407B2 (en) * | 2003-09-29 | 2008-04-22 | Microsoft Corporation | Concurrent arbitration of multidimensional requests for interrupt resources |
KR100619898B1 (ko) * | 2004-08-24 | 2006-09-19 | 엘지전자 주식회사 | 외부장치 감지 기능을 갖는 이동통신 단말기 및 그 방법 |
US7480755B2 (en) * | 2004-12-08 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | Trap mode register |
US8145819B2 (en) * | 2007-06-04 | 2012-03-27 | International Business Machines Corporation | Method and system for stealing interrupt vectors |
US8291393B2 (en) * | 2007-08-20 | 2012-10-16 | International Business Machines Corporation | Just-in-time compiler support for interruptible code |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5394544A (en) * | 1989-08-07 | 1995-02-28 | Ricoh Co., Ltd. | Software system debugger with distinct interrupt vector maps for debugging and application programs |
US5283880A (en) * | 1991-01-02 | 1994-02-01 | Compaq Computer Corp. | Method of fast buffer copying by utilizing a cache memory to accept a page of source buffer contents and then supplying these contents to a target buffer without causing unnecessary wait states |
US5812760A (en) * | 1996-06-25 | 1998-09-22 | Lsi Logic Corporation | Programmable byte wise MPEG systems layer parser |
EP0992902A3 (en) * | 1998-10-06 | 2003-10-22 | Texas Instruments Inc. | Dual interrupt vector mapping |
-
1999
- 1999-10-01 US US09/410,743 patent/US6502152B1/en not_active Expired - Lifetime
-
2000
- 2000-03-07 JP JP2000062576A patent/JP2000284973A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US6502152B1 (en) | 2002-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6507921B1 (en) | Trace fifo management | |
US6539467B1 (en) | Microprocessor with non-aligned memory access | |
US6658578B1 (en) | Microprocessors | |
US7853776B2 (en) | Handover between software and hardware accelerator | |
US6810475B1 (en) | Processor with pipeline conflict resolution using distributed arbitration and shadow registers | |
US6516408B1 (en) | Various length software breakpoint in a delay slot | |
KR19980018072A (ko) | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리 | |
US6990570B2 (en) | Processor with a computer repeat instruction | |
US5809327A (en) | Eight-bit microcontroller having a risc architecture | |
JP2001202245A (ja) | 改良式命令セットアーキテクチャを有するマイクロプロセッサ | |
US6574724B1 (en) | Microprocessor with non-aligned scaled and unscaled addressing | |
US6826679B1 (en) | Processor with pointer tracking to eliminate redundant memory fetches | |
KR100465388B1 (ko) | Risc 구조의 8비트 마이크로 제어기 | |
JP2000284973A (ja) | 二重割込みベクトル・マッピング装置とその操作方法 | |
US6986028B2 (en) | Repeat block with zero cycle overhead nesting | |
JP2000259408A (ja) | 遅延スロットにおけるソフトウェアブレークポイント | |
KR19980018065A (ko) | 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리 | |
US6598151B1 (en) | Stack Pointer Management | |
US20210089305A1 (en) | Instruction executing method and apparatus | |
KR19980018071A (ko) | 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리 | |
US6499098B1 (en) | Processor with instruction qualifiers to control MMU operation | |
EP0992889A1 (en) | Interrupt processing during iterative instruction execution | |
EP0992902A2 (en) | Dual interrupt vector mapping | |
JPH04104350A (ja) | マイクロプロセッサ | |
JP2000200212A (ja) | 巡回バッファ管理 |