JPH07175666A - データプロセッサおよびその割込み要求処理方法 - Google Patents

データプロセッサおよびその割込み要求処理方法

Info

Publication number
JPH07175666A
JPH07175666A JP6226959A JP22695994A JPH07175666A JP H07175666 A JPH07175666 A JP H07175666A JP 6226959 A JP6226959 A JP 6226959A JP 22695994 A JP22695994 A JP 22695994A JP H07175666 A JPH07175666 A JP H07175666A
Authority
JP
Japan
Prior art keywords
condition code
signal
register
mode
interrupt
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
Application number
JP6226959A
Other languages
English (en)
Inventor
Atsushi Kiuchi
淳 木内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH07175666A publication Critical patent/JPH07175666A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 任意の割込み要求の前後において任意のデー
タプロセッサの動作モードを維持する。 【構成】 割込みコントローラ2600と、条件コードレジ
スタ、条件コードレジスタコントローラ、条件コードス
タックレジスタ、スタック領域を備えたデータメモリ19
00と、データ処理ユニット、割込み要求デコーダとを備
え、割込みコントローラ2600は、一つの中断割込み要求
信号と複数の標準割込み要求信号を含む割込み要求信号
を受け付け、条件コードレジスタは、データプロセッサ
モード制御値を含む条件コード値を記憶し、データ処理
ユニットは、データ処理動作を行なう。このデータ処理
動作は、データプロセッサモード制御値が、既定のスリ
ープモード値またはソフトウェア待機モード値に設定さ
れている時には、中断され、データプロセッサモード制
御値が既定の実行モードに設定されている時には、再開
される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタル信号処理プロ
セッサ(DPS)やマイクロプロセッサ等のデータプロ
セッサおよびその割込み要求処理技術に関し、特に、中
断及び標準割込み要求の処理中に、当該処理が行なわれ
る直前のデータプロセッサの動作モードを保存する制御
論理を備えたデータプロセッサに関する。
【0002】
【従来の技術】ディジタル信号処理プロセッサ(DS
P)やマイクロプロセッサ等の従来のデータプロセッサ
の多くは、数種の動作モードを有する。例えば、実行モ
ードや省電力モードがこれに含まれる。
【0003】また、従来のデータプロセッサのなかに
は、エミュレーション機能を行なうための特別な構成を
備えたものがある。このエミュレーション機能とは、デ
ータプロセッサと、データプロセッサをプログラムする
ためのソフトウェアの開発、並びにデータプロセッサと
共に使用されるハードウェアの開発に用いられるインサ
ーキットエミュレータ(ICE)システムとの連携使用
を可能にするものである。エミュレーション機能はイン
サーキットエミュレータシステムが中断割込み命令を出
した時に、起動状態または初期化状態にされる。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のデータプロセッサは、中断または標準割込み
要求を処理する直前の自身の動作モードを格納する論理
を備えていない。この結果、データプロセッサが、中断
割込み要求を受ける直前に、省電力モードにあった場合
には、該割込み要求の処理完了後直ちに元の省電力モー
ドに直接復帰できないと言う欠点がある。
【0005】本発明の目的は、任意の割込み要求の前後
において任意の動作モードを維持することが可能なデー
タプロセッサを提供することにある。
【0006】本発明の他の目的は、インサーキットエミ
ュレータによるシステム開発を容易に行うことが可能な
データプロセッサを提供することにある。
【0007】本発明のさらに他の目的は、任意の割込み
要求の前後においてデータプロセッサの任意の動作モー
ドの保存および復元が可能な割込み要求処理技術を提供
することにある。
【0008】本発明のさらに他の目的は、インサーキッ
トエミュレータによるシステム開発を容易に行うことが
可能なデータプロセッサの割込み要求処理技術を提供す
るこにある。
【0009】本発明の他の目的及び特徴は、添付の図面
並びに表と共に以下に詳述する説明と特許請求の範囲か
ら容易に理解することができる。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
以下のとおりである。
【0011】本願発明に係るデータプロセッサは、以下
の構成要素を含む。すなわち、本データプロセッサは、
割込みコントローラ、条件コードレジスタ、条件コード
レジスタコントローラ、条件コードスタックレジスタ、
スタック領域を備えたデータメモリ、データ処理ユニッ
ト、割込み要求デコーダとを備えている。このうち、割
込みコントローラは、一つの中断割込み要求信号と複数
の標準割込み要求信号を含む割込み要求信号を受け付け
る。条件コードレジスタは、データプロセッサモード制
御値を含む条件コード値を記憶する。データ処理ユニッ
トは、データ処理動作を行なう。このデータ処理動作
は、データプロセッサモード制御値が、既定のスリープ
モード値またはソフトウェア待機モード値に設定されて
いる時には、中断され、データプロセッサモード制御値
が既定の実行モードに設定されている時には、再開され
る。
【0012】
【作用】割込みデコーダは、中断割込み要求信号に応答
して、(A)先ず、条件コードレジスタ内に格納されて
いるモード制御値を条件コードスタックレジスタにコピ
ーするための条件コードレジスタ制御信号を生成し、
(B)次に、モード制御値を前記所定の実行モード値に
設定するための条件コードレジスタ制御信号を生成す
る。条件コードレジスタ内に記憶されているモード制御
値は、条件コードレジスタ制御信号に応じて条件コード
スタックレジスタにコピーされる。そして、条件コード
コントローラは、データプロセッサモード制御値を実行
モード値に設定する。
【0013】次に、割込みデコーダは、標準割込み要求
信号に応答して、(A)先ず、モード制御値を所定の実
行モード値に設定するための条件コードレジスタ制御信
号を生成し、(B)次に、条件コードレジスタ内に格納
されているモード制御値をデータスタック領域にコピー
するための条件コードレジスタ制御信号を生成する。
【0014】条件コードコントローラは、データプロセ
ッサモード制御値を、実行モード値またはスリープモー
ド値のいずれかに設定し、モード制御値を、条件コード
レジスタ制御信号に応じて条件コードスタックレジスタ
か前記のデータスタック領域のいずれか一つにコピーす
る。
【0015】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
【0016】(実施例1)図1〜図12は、ここに開示
した本発明を説明するものである。全図面中の同様の構
成要素に関しては、同一の参照番号を付して説明する。
【0017】先ず、図1は、データ処理システム100
0を図示している。このデータ処理システム1000
は、ディジタル信号処理プロセッサ(DSP)1100
と、ホストマイクロプロセッサ1200と、発振器50
00と、インサーキットエミュレーション(ICE)シ
ステム2800と、各外部周辺機器2300と、外部メ
モリ2500とを備えている。DSP1100は、Xデ
ータバス1102とYデータバス1104から分離され
たPC命令バス1114を含むハーバードアーキテクチ
ャを備えている。
【0018】[命令セット]図2は、DSP1100の
命令セットに含まれる各命令のクラスとタイプを列挙し
ている。これらの命令は、参照番号1130と1132
のラベルを付与されたクラスと参照番号1134−11
70のラベルを付与された命令タイプに分割されてい
る。さらに、図3(a)〜(i)は、前記の命令タイプ
1134−1170が特定命令にさらに細分される様子
を示している。同様に、図2は、異なるタイプの命令に
含まれているフィールドの各種類を示している。
【0019】命令セットは、各DSPクラス命令113
0を含む。図2の命令タイプ欄からわかるように、この
DSPクラス命令1130は、(a)並列データ転送動
作と並列して並列データ処理動作を定義する命令タイプ
1134、1135と、(b)並列データ転送動作と並
列して単純データ処理動作を定義する命令タイプ113
6、1137、1140および1141と、(c)単純
データ転送動作と並列して並列データ処理動作を定義す
る命令タイプ1138、1139と、(d)単純データ
転送動作と並列して単純データ処理動作を定義する命令
タイプ1142−1145とを含む。
【0020】加えて、命令セットは、各RISCクラス
命令1132を含む。このRISCクラス命令1132
は、(a)プログラム制御動作を定義する命令タイプ1
152−1154、1162、1163、1167−1
169と、(b)単純データ処理動作を排他的、すなわ
ちデータ処理動作と非並列的に定義する命令タイプ11
49、1151、1157、1159および1161
と、(c)並列データ処理動作を排他的、すなわちデー
タ処理動作と非並列的に、定義する命令タイプ1146
と、(d)単純データ転送動作を排他的、すなわちデー
タ転送動作と非並列的に、定義する命令タイプ114
8、1150、1155、1157、1160、116
5、1166と、(e)並列データ転送動作を排他的、
すなわちデータ転送動作と非並列的に、定義する命令タ
イプ1147と、(f)倍長語命令の第2語を定義する
命令タイプ1158と、(g)特殊動作を定義する特殊
命令タイプ1164と、(h)無動作(NOP)を示す
命令タイプ1170とを含む。
【0021】図3(h)に図示されているように、前記
の特殊命令タイプ1164で、特殊命令を定義するよう
にしてもよい。これらの特殊命令は、(a)モードまた
はフラグセット命令(set)と、(b)中断割込み命
令(break)と、(c)トラップ割込み命令(tr
ap)と、(d)サブルーチン復帰命令(retur
n)と、(e)通常割込み復帰命令(ireturn)
と、(f)中断割込み復帰命令(breturn)とを
含む。
【0022】前記のDSPクラス命令1130とRIS
Cクラス命令1132の各々は、固定ビット長を持って
いる。本実施例においては、これら命令の固定ビット長
は、24ビット長となっている。しかしながら、他の実
施例においては、異なる固定ビット長、例えば16ビッ
ト長や32ビット長でも良い。
【0023】[ディジタル信号処理プロセッサの動作モ
ード]通常、DSP1100は、4つの主動作モードで
動作する。これらは、実行モードと、スリープモード
と、ソフトウェア待機モードと、中断モードの4つのモ
ードである。ただし、中断モードは、実行モード、スリ
ープモード、ソフトウェア待機モードのいずれにおいて
も使用可能である。また、スリープモードとソフトウェ
ア待機モードは、省電力モードなので、DSP1100
は、必要外の電力を消費しないようになっている。
【0024】[実行モード]図7を参照して説明を行な
う。後の説明において詳述するように、実行モードは、
条件コードレジスタ(ccr)1674のビットレジス
タ1674−8、1674−9に格納されている動作モ
ード状態ビットOPM1、OPM0の各々が実行モード
を示すように、これらビットOPM1、OPM0を設定
する(a)命令、または(b)ホストコマンド、または
(c)割込みによって起動される。例えば、本実施例で
は、ビットレジスタ1674−1、1674−2に格納
されている第1および第2の動作モード状態ビットOP
M1、OPM0をLOWに設定することにより、実行モ
ードを指定している。
【0025】条件コードレジスタ(ccr)1674の
ビットレジスタ1674−8、1674−9は、それぞ
れが記憶している動作モード状態ビットOPM1、OP
M0を共通デコーダユニット1600の最終信号ジェネ
レータ1615に出力する(図6(b)、(c)参
照)。これに呼応して(図6(a)参照)、最終信号ジ
ェネレータ1615は、命令デコードブロック1612
あるいは複数サイクル状態機械1614からの制御信号
を変更しないようになる。これに関しては、後に詳しく
説明する。
【0026】実行モードにおいては、DSP1100の
動作には、図3(a)〜(i)に示されている命令のフ
ェッチ(取り出し)と、デコードと、実行とを行なうた
めの3段パイプラインが含まれている。すなわち、命令
フェッチステージ、デコードステージ、実行ステージの
3段である。
【0027】図4のDSP1100は、DSP1100
の動作基本タイミングを司るタイミングユニット130
0を備えている。図2に示されているように、このタイ
ミングユニット1300は、クロックパルスジェネレー
タ1302とクロックコントローラ1304を備えてい
る。詳細は後述するが、実行モードでは、クロックコン
トローラ1304は、クロックパルスジェネレータ13
02の動作停止を禁止するフローレベルCLKSTP信
号を受け取る。その結果、クロックコントローラ130
4は、制御信号をクロックパルスジェネレータ1302
に出力するので、クロックパルスジェネレータ1302
は、クロック信号CK0、CK1を連続して出力する。
これらのクロック信号は、3段パイプラインを実現する
ために、クロック信号線1120を経由してDSP11
00の他の構成要素に与えられる(図1参照)。
【0028】次に図5を参照して説明する。プログラム
制御ユニット(PCU)1500は、第1プログラム制
御レジスタ1502(pc0)と、バッファ1512
と、ローカルプログラム制御(PCU)コントローラ1
550とを含んでいる。実行モード中には、ローカルP
CUコントローラ1550は、タイミングユニット13
00からクロック信号CK0、CK1を受け取る。これ
に呼応して、ローカルPCUコントローラ1550は、
バッファ1512を制御するための制御信号を生成し
て、第1プログラム制御レジスタ1502(pc0)に
格納されているアドレス(A17−A0)をPCアドレ
スバス1116上に出力する。このアドレス値は、図1
の命令メモリ1400、または外部メモリ2500、ま
たは第11図に示されているインサーキットエミュレー
ション(ICE)システム2800の仮想命令メモリ2
804に位置させておくことも可能である。この仮想命
令メモリ2804は、物理的にチップの外部に配置され
ており、DSP1100のオンチップのデータメモリ1
900を仮想的に拡大している。
【0029】再度、図5を参照して、説明を続ける。前
記のローカルPCUコントローラ1550は、(a)第
2プログラム制御レジスタ1503(pc1)をイネー
ブルにして、最終のマシンサイクルで出力され、かつ第
1プログラム制御レジスタ1502(pc0)にも格納
されたアドレスを記憶させるための、また(b)第3プ
ログラム制御レジスタ1504(pc2)をイネーブル
にして、最終のマシンサイクルで出力され、かつ第2プ
ログラム制御レジスタ1503(pc1)にも格納され
たアドレスを記憶させるための、また(c)第4プログ
ラム制御レジスタ1505(pc3)をイネーブルにし
て、最終のマシンサイクルで出力され、かつ第3プログ
ラム制御レジスタ1504(pc2)にも格納されたア
ドレスを記憶させるための各制御信号を生成する。後の
説明から明かになるように、上記の信号生成は、後続の
プログラム分岐のためのアドレス情報を保存するために
行なわれる。
【0030】図1と図5を参照する。プログラム制御ユ
ニット1500の第1プログラム制御レジスタ1502
(pc0)により出力されたアドレスは、PCアドレス
バス1116を経由して並列アービタ2100に入力さ
れる。この並列アービタ2100は、同時にDMACア
ドレスバス1112からのアドレスも受け取るようにし
てもよい。並列アービタ2100は、入力アドレスをデ
コードし、命令メモリ1400に対するアクセスの競合
を解決して、所定の優先順位体系に従って命令メモリ1
400、または外部メモリ2500、または仮想命令メ
モリ2804をアクセスする。前記の優先順位体系は、
以下のとおりである。(1)前のアービトレーションか
ら持ち越されたDMACアドレスバス1112上のアド
レスに最も高い優先順位が与えられる。(2)Xアドレ
スバス1108上のアドレスには、2番目に高い優先順
位が与えられる。(3)Yアドレスバス1110上のア
ドレスには、3番目に高い優先順位が与えられる。
(4)PCアドレスバス1116上のアドレスには、4
番目に高い優先順位が与えられる。(5)前のアービト
レーションから持ち越されないDMACアドレスバス1
112上のアドレスに対しては、最も低い優先順位が与
えられる。
【0031】上記の結果、並列アービタ2100は、最
終的に、選択された信号線をインタフェース2400、
4000、2700の何れか一つに与えて、適時にPC
アドレスバス1116を選択し、命令をフェッチするた
めに命令メモリ1400、または外部メモリ2500、
またはインサーキットエミュレーション(ICE)シス
テム2800にアクセスする。これに呼応して、命令メ
モリ1400、または外部メモリ2500、または仮想
命令メモリ2804が、(プログラム制御)PC命令バ
ス1114上に命令を出力する。共通デコーダユニット
1600は、PC命令バス1114から前記の命令を受
け取る。
【0032】次に、図6(a)〜(c)を参照する。共
通デコーダユニット1600の命令フェッチブロック1
602は、PC命令バス1114から命令を受け取って
当該命令を格納する。そして、命令デコードブロック1
612は、受け取った命令をデコードして、多数の制御
信号を生成する。
【0033】図6(a)と図8を参照する。ALU/B
PUOP信号は、算術論理演算ユニット(ALU)17
12とビット処理ユニット(BPU)1714を図3
(a)〜(i)において定義されているALU演算とB
PU演算とをそれぞれ実行させるように、制御するため
の信号である。ALUSHFT信号は、ALU/BPU
OP信号により定義された演算に必要なシフト機能を実
行させるように算術論理演算ユニット(ALU)171
2を制御するための信号である。また、ADDWC信号
は、桁上げと借りを伴うALU/BPUOP信号により
定義された加算あるいは減算を行なうように算術論理演
算ユニット(ALU)1712を制御するための信号で
ある。IMMDE信号は、オペランドソースとして、即
値データデコーダ1630により出力された即値デー
タ、またはALUソースおよびデスティネーションデコ
ーダ1634により出力される後述のALUSRCB信
号により指定されたレジスタが格納しているデータを使
用するように、算術論理演算ユニット(ALU)171
2を制御するための信号である。INTEG信号は、A
LU/BPUOP信号により定義されたALU演算のた
めに整数または小数演算を用いるように、算術論理演算
ユニット(ALU)1712を制御するための信号であ
る。DSTE信号は、算術論理演算ユニット(ALU)
1712が演算のために生成した結果を格納することに
より、ALUDST信号によって指定されたデスティネ
ーションレジスタをイネーブルまたはディスエーブルに
するための信号である。ALUSRCA信号、ALUS
RCB信号、ALUDST信号の各々は、ALU/BP
UOP信号により定義されたALU演算についてのソー
スまたはデスティネーションとして機能するように、実
行ユニット(EXU)1700のデータレジスタセット
1702−1710を制御するための信号である。
【0034】MUOP信号は、図3(a)〜(i)にお
いて定義されているMU演算を実行するように乗算ユニ
ット(MU)1716を制御するための信号である。M
U/BPUSRCA信号、MU/BPUSRCB信号、
MU/BPUDST信号は、MU演算またはBPU演算
のソースまたはデスティネーションとして機能するよう
に、実行ユニット(EXU)1700のデータレジスタ
セット1702−1710の内の選択されたデータレジ
スタセットを制御するための信号である。
【0035】図6(a)と図9を参照する。先ず、XA
UOP信号は、図3(a)〜(i)において定義されて
いるアドレス更新動作を行なうように、Xアドレスユニ
ット(XAU)1812を制御するための信号である。
また、YAUOP信号は、図3(a)〜(i)において
定義されているアドレス更新動作を行なうように、Yア
ドレスユニット(YAU)1814を制御するための信
号である。XAUIS信号は、XAUOP信号により定
義され、Xアドレスユニット(XAU)1812により
行なわれる種々のアドレス更新に用いられる指標付けオ
ペランドのソースを選択するための信号である。YAU
IS信号は、XAUOP信号により定義され、Yアドレ
スユニット(YAU)1814により行なわれる種々の
アドレス更新に用いられる指標付けオペランドのソース
を選択するための信号である。XABUSE信号とYA
BUSE信号は、並列アービタ2100によって使用さ
れ、データメモリユニット1900、外部メモリ250
0、周辺機器インタフェース2200、インサーキット
エミュレーション(ICE)システム2800へのアク
セスを制御するための信号である。DBLDT信号は、
アドレスユニット(AU)1800に対して、デコード
された命令がデータメモリユニット1900へのアクセ
スを必要とする一つあるいは二つのデータ転送を伴うか
どうかを指示するための信号である。
【0036】図6(a)および図5を参照する。PCU
OP信号は、図3(a)〜(i)によって定義されるプ
ログラム制御動作を行なうためにプログラム制御ユニッ
ト(PCU)1500を制御するための信号である。R
ELB信号は、PCUOP信号によって定義され相対分
岐を伴うプログラム制御動作を行なうためにプログラム
制御ユニット(PCU)を制御する信号である。PCB
USE信号は、命令メモリ1400、または外部メモリ
2500、またはインサーキットエミュレーション(I
CE)システム2800にアクセスする時の競合を解消
するための信号である。
【0037】図6(a)、図6(b)、図5、図8、図
9を参照して説明する。XDBUSOP信号は、Xデー
タバス1102上のデータ転送を制御するための信号で
ある。また、YDBUSOP信号は、Yデータバス11
04上のデータ転送を制御するための信号である。XR
SEL信号は、レジスタ間のデータ転送(すなわち、デ
ータ移動)を含むXデータバス1102を用いた全ての
データ転送のための信号である。YRSEL信号は、Y
データバス1104を用いたメモリアクセスデータ転送
と、Xデータバスを用いたレジスタ間のデータ転送(す
なわち、データ移動)のための信号である。
【0038】図6(a)〜(c)、図5、図8、図9を
参照する。CC信号は、デコードされた命令から抽出さ
れた条件コードフィールド(CC)を示す信号である。
そして、UNCOND信号は、デコードされた命令が条
件コードフィールド(CC)を有するか否かを指示する
ための信号である。これらの信号は、デコードされた命
令によって定義され、プログラム制御ユニット(PC
U)1500、または実行ユニット(EXU)170
0、またはアドレスユニット(AU)1800によって
行なわれる動作を実行段階でキャンセルするかあるいは
キャンセルしないかを示すために、CNCL信号を生成
する条件コードチェックブロック1616によって使用
される。CNCL信号は、条件コードフィールド(C
C)によって定義される条件が満たされない場合には動
作をキャンセルするように指示し、この条件が満たされ
る場合には動作を継続するように指示する。
【0039】さらに、図7と図8を参照して説明する。
CC信号とUNCOND信号は、現実行段階で実行ユニ
ット(EXU)1700から受け取ったCフラグ、Vフ
ラグ、Zフラグ、Nフラグ、VRフラグ、CGフラグの
いずれかによって条件コードレジスタ1674(cc
r)が更新されるどうかを決定するために、レジスタブ
ロック1618によって使用される信号である。条件コ
ードレジスタ1674(ccr)は、条件コードフィー
ルド(CC)を持たない命令によって行なわれる動作の
後か、あるいは該レジスタを更新するように指示する条
件コードフィールド(CC)を持つ命令によって行なわ
れる動作の後に、更新される。しかし、条件コードレジ
スタ1674(ccr)は、該レジスタの更新の禁止を
指示する条件コードフィールドを持つ命令によって行な
われる動作の後には、更新されることはない。
【0040】再度、図6(a)を参照する。即値データ
ライン1698およびXデータバス1102は、一つの
命令の即値データフィールド($Address、$D
isp、Step Number M、Repeat
Count N、$DATA、$Data、$D、$
A、$Address/$Data)によって与えられ
る即値データを含んでいてもよい。
【0041】BRKO信号は、中断命令がデコードされ
たことを指示する。一方、TRAP0信号とTRAP1
信号は、TRAP0命令またはTRAP1命令が実行さ
れたことを指示する。これらの信号および関連する命令
に関しては後に詳述する。
【0042】図6(a)を参照する。DBLW信号、R
EPEAT信号、LOOP信号、BRANCH信号、B
REAKOUT信号、CALL信号、RETURN信
号、IRETURN信号、BRETURN信号は、それ
ぞれ、倍長語命令、繰り返し命令、標準ループ命令、標
準分岐命令、ブレークアウト命令、呼び出し命令、呼び
出し(サブルーチン)復帰命令、通常割込み復帰命令、
中断割込み復帰命令が命令デコードブロック1612に
よってデコードされる時に、生成される。上記の信号と
関連する命令は、複数のサイクルが実行されることを必
要とするため、複数サイクル状態機械1614は、PC
UOP信号、ALU/BPUOP信号、MUOP信号、
XBUSOP信号、YBUSOP信号、XAUSRC信
号、XAUOP信号、YAUOP信号、PCBUSE信
号、XABUSE信号、YABUSE信号、XRSEL
信号、YRSEL信号、SET信号をも受け取ることと
なり、その結果、これらの信号はDBLW信号、REP
EAT信号、LOOP信号、BRANCH信号、BRE
AKOUT信号、CALL信号、RETURN信号、I
RETURN信号、BRETURN信号の内、入力した
信号に従って、変更することが可能となる。
【0043】最終信号ジェネレータ1615は、PCU
OP信号、ALU/BPUOP信号、MUOP信号、X
BUSOP信号、YBUSOP信号、XAUSRC信
号、XAUOP信号、YAUOP信号、PCBUSE信
号、XABUSE信号、YABUSE信号、XRSEL
信号、YRSEL信号、SET信号を複数サイクル状態
機械1614から受け取り、命令デコードブロック16
12からはIMMDATA信号を受け取る。さらに、最
終信号ジェネレータ1615は、ホストコマンドデコー
ダ1611からはSET信号、XRSEL信号、ホスト
コマンド要求(HCOMRQ)信号を受け取り、割込み
デコーダ1613からは、XBUSOP信号、XAUS
RC信号、XAUOP信号、XABUSE信号、XRS
EL信号、YRSEL信号および割込み要求(IRQ)
信号を受け取る。そして、最終信号ジェネレータ161
5は、所定の優先順位体系に基づき、最終のPCUOP
信号、ALU/BPUOP信号、MUOP信号、XBU
SOP信号、YBUSOP信号、XAUSRC信号、X
AUOP信号、YAUOP信号、PCBUSE信号、X
ABUSE信号、YABUSE信号、XRSEL信号、
YRSEL信号、SET信号、IMMDATA信号を出
力する。上記優先順位体系は以下の通りのものとする。
(1)リセットホストコマンド(すなわち、ホストコマ
ンド(HCOM)信号はリセットコマンドを示してい
る)、またはリセット(RST)割込み要求には、最も
高い優先順位が与えられる。(2)アービトレーション
のための機能停止(STALL)信号に二番目に高い優
先順位が与えられる。(3)割込み要求に三番目に高い
優先順位が与えられる。(4)リセットコマンド以外の
ホストコマンドに四番目に高い優先順位が与えられる。
(5)命令には最も低い優先順位が与えられる。
【0044】図5、図8、図9を参照する。ローカルプ
ログラム制御ユニット(PCU)コントローラ155
0、ローカル実行ユニット(EXU)コントローラ17
50、ローカルアドレスユニット(AU)コントローラ
1850は、共通デコーダユニット1600により生成
される種々の信号を入力する。信号を入力すると、これ
に呼応して、上記の各コントローラはそれぞれ、プログ
ラム制御ユニット(PCU)1500、実行ユニット
(EXU)1700、およびアドレスユニット(AU)
1800を制御する制御信号を発生させ、共通デコーダ
ユニット1600から受け取った信号によって指示され
る種々の動作を、実行ステージの間行なう。
【0045】さらに、図1を参照すると、実行ステージ
の間、アドレスユニット(AU)1800は、データメ
モリ1900、外部メモリ2500、周辺機器インタフ
ェース2200、図11に示されている仮想データメモ
リ2808をアクセスするためのアドレスを、Xアドレ
スバス1108上とYアドレスバス1110上に出力す
る。仮想命令メモリ2804と同様に、仮想データメモ
リ2808は物理的にチップの外部に配置されており、
DSP1100のオンチップのデータメモリ1900を
仮想的に拡大している。
【0046】図1を参照する。アドレスユニット(A
U)1800によって出力される一つのアドレスまたは
複数のアドレスは、Xアドレスバス1108、Yアドレ
スバス1110を介して並列アービタ2100に入力さ
れる。同時に、並列アービタ2100は、DMACアド
レスバス1112からも、アドレスを受け取ることがで
きる。並列アービタ2100は、所定の優先順位体系に
従って、データメモリ1900、または外部メモリ25
00、または周辺機器インタフェース2200、または
仮想データメモリ2808をアクセスするために、入力
されたアドレスをデコードし、データメモリ1900へ
のアクセスの競合を解決する。この優先順位体系は以下
の通りである。(1)前のアービトレーションから持ち
越されたDMACアドレスバス1112上のアドレスに
最も高い優先順位が与えられる。(2)Xアドレスバス
1108上のアドレスには、2番目に高い優先順位が与
えられる。(3)Yアドレスバス1110上のアドレス
には、3番目に高い優先順位が与えられる。(4)前の
アービトレーションから持ち越されないDMACアドレ
スバス1112上のアドレスに対しては、最も低い優先
順位が与えられる。
【0047】その結果、並列アービタ2100は、最終
的に、選択された信号線をインタフェース2000、4
000、2200、2700の何れかに与えて、適時に
Xアドレスバス1108とYアドレスバス1110を選
択し、データメモリ1900、外部メモリ2500、周
辺機器インタフェース2200、インサーキットエミュ
レーション(ICE)システム2800の何れかに適宜
アクセスする。これに呼応して、これらのメモリは、X
データバス1102とYデータバス1104にデータを
出力する。
【0048】図7および図10を参照する。ビットレジ
スタ1674−8および1674−9は、また、動作モ
ード状態ビットOPM1、OPM0をDMAC3000
に出力する。動作モード状態ビットOPM1、OPM0
が実行モードを指示している時(すなわち、OPM1=
0、かつ、OPM0=0の時)、DMAC3000の動
作モード論理は、DMAC3000がデータ転送動作を
行なえるようにする。
【0049】図6(c)および図4を参照する。実行モ
ードでは、動作モード状態ビットOPM1、OPM0の
両方がLOWに設定されているため(すなわち、OPM
1=0、かつ、OPM0=0)、CLKSTP信号は、
実行モードでは、ANDゲート1699によってアサー
ト(HIGHに)されない。したがって、クロックコン
トローラ1304は制御信号をクロックパルスジェネレ
ータ1302に送り続け、クロック信号CK0、CK1
がクロック信号線1120に出力される。図1を参照す
ると、DMAC3000、DSPコア3500、並列I
/Oインタフェース4000、インサーキットエミュレ
ーション(ICE)システムインタフェース2700、
周辺機器インタフェース2200は全て、実行モードの
間、通常通り動作する。
【0050】スリープモードでは、実行モードの説明の
ところで記述した3段パイプラインは停止されている。
図7を参照すると、後で詳述するように、スリープモー
ドは命令またはホストコマンドによって起動されて、条
件コードレジスタ1674(ccr)のビットレジスタ
1674−8、1674−9に格納されている動作モー
ド状態ビットOPM1、OPM0がスリープモードを指
示するように設定される。本実施例においては、ビット
レジスタ1674−8に格納されている第1の動作モー
ド状態ビットOPM1をLOWに設定し、ビットレジス
タ1674−9に格納されている第2の動作モード状態
ビットOPM0をHIGHに設定することによって、ス
リープモードを指定する。
【0051】ビットレジスタ1674−8、1674−
9は、図6(b)、(c)に示されているように、動作
モード状態ビットOPM1、OPM0を共通デコーダユ
ニット1600の最終信号ジェネレータ1615に出力
する。これに呼応して、最終信号ジェネレータ1615
は、ホストコマンド(HCOM)信号もしくは割込み要
求(ITRQ)が入力されない場合には、PCUOP信
号、ALU/BPUOP信号、MUOP信号、XABU
SE信号、YABUSE信号、PCBUSE信号、XA
UOP信号、YAUOP信号、XABUSOP信号、Y
ABUSOP信号に無動作値(NOP)を挿入する。次
に、図5、図8、図9を参照する。上記信号に無動作値
(NOP)が挿入されたことによって、実行ユニット
(EXU)1700、アドレスユニット(AU)180
0、プログラム制御ユニット(PCU)1500の動作
は中断される。これによって、上述した3段パイプライ
ンが停止される。
【0052】図7、10を参照する。ビットレジスタ1
674−8、1674−2は、動作モード状態ビットO
PM1、OPM0をDMAC3000に出力する。しか
し、動作モード状態ビットOPM1、OPM0がスリー
プモードを指示する時(すなわち、OPM1=0、か
つ、OPM0=1)、これに応じてDMAC3000の
動作モード論理は、DMAC3000の動作を中断する
ことはない。このように操作されるので、DMAC30
00はスリープモードの間もデータ転送動作を行なうこ
とができる。
【0053】さらに図6(c)、4を参照する。スリー
プモードでは、第1の動作モード状態ビットOPM1が
LOWに設定され(すなわち、OPM1=0)、第2の
動作モード状態ビットOPM0がHIGHに設定される
ため(すなわち、OPM0=1)、CLKSTP信号
は、スリープモードではANDゲート1699によって
アサートされない。したがって、後に詳述するように、
クロックコントローラ1304は、クロックパルスジェ
ネレータ1302に制御信号を送り続け、クロック信号
CK0、CK1がクロック信号線1120上に出力され
る。図1を参照する。このように操作される結果、DM
AC3000、周辺機器インタフェース2200、並列
I/Oインタフェース4000、インサーキットエミュ
レーション(ICE)システムインタフェース2700
はスリープモードで動作を続けることができる。さらに
図6(b)を参照すると、このように操作される結果、
共通デコーダユニット1600のホストコマンドデコー
ダ1611、割込みデコーダ1613は、スリープモー
ドで動作し続け、後で詳述するように、ホストコマンド
(HCOM)信号および割込み要求ベクトル(ITRQ
V)信号をそれぞれ入力して処理する。
【0054】[ソフトウェア待機モード]ソフトウェア
待機モードでは、3段(命令フェッチ、デコード、実
行)パイプライン及びDMAC3000の動作は両方と
も停止される。図7を参照すると、スリープモードの場
合と同様に、ソフトウェア待機モードは、ビットレジス
タ1674−8、1674−9に格納されている動作モ
ード状態ビットOPM1、OPM0がソフトウェア待機
モードを指示するように設定する命令またはホストコマ
ンドによって起動される。本実施例では、動作モード状
態ビットOPM1をHIGH、OPM0をLOWに設定
することによって(すなわち、OPM1=1、かつ、O
PM0=0)ソフトウェア待機モードを指定している。
【0055】図6(b)を参照する。スリープモードの
場合と同様に、ビットレジスタ1674−8、1674
−9によって出力される動作モード状態ビットOPM
1、OPM0がソフトウェア待機モードを指示している
時、最終信号ジェネレータ1615は、これに呼応し
て、PCUOP信号、ALU/BPUOP信号、MUO
P信号、XABUSE信号、YABUSE信号、PCB
USE信号、XAUOP信号、YAUOP信号、XAB
USOP信号、YABUSOP信号に無動作値(NO
P)を挿入する。再度、図5、図8、図9を参照する
と、上記信号に無動作値(NOP)が挿入されたことに
よって、実行ユニット(EXU)1700、アドレスユ
ニット(AU)1800、プログラム制御ユニット(P
CU)1500の動作は中断される。これによって、上
述した3段パイプラインが停止される。
【0056】次に、図7、図10を参照する。動作モー
ド状態ビットOPM1、OPM0がソフトウェア待機モ
ードを指示している場合には、スリープモードの場合と
は異なって、DMAC3000の動作は中断される。さ
らに、図6(c)、図4を参照すると、ソフトウェア待
機モードでは、動作モード状態ビットOPM1がHIG
Hに設定され(OPM1=1)、動作モード状態ビット
OPM0がLOWに設定されるため(OPM0=0)、
CLKSTP信号はANDゲート1699によってアサ
ート(HIGHに)される。これに呼応して、クロック
コントローラ1304は制御信号を送りクロックパルス
ジェネレータ1302の動作を停止させ、その結果、ク
ロックパルスジェネレータ1302はクロック信号CK
0、CK1をクロック信号線1120上に出力するのを
やめる。こうして、図1を参照すると、DMAC300
0、周辺機器インタフェース2200、並列I/Oイン
タフェース4000、インサーキットエミュレーション
(ICE)システムインタフェース2700の動作は、
ソフトウェア待機モードでは中断される。さらに、図6
(b)を参照すると、共通デコーダユニット1600の
ホストコマンドデコーダ1611、割込みデコーダ16
13の動作もまた中断される。
【0057】[中断モード」図1の外部インサーキット
エミュレーション(ICE)システム2800は、DS
P1100に使用されるソフトウェアおよびハードウェ
アを開発するためのシステムである。図11を参照する
と、上述したように、インサーキットエミュレーション
(ICE)システム2800のコントローラ2802
は、コントローラ2802、オンチップの仮想命令メモ
リ2804、エミュレーション外部メモリ2806、オ
ンチップの仮想データメモリ2808を備えている。
【0058】図11に示されているように、インサーキ
ットエミュレーション(ICE)システム2800は、
DSP1100の動作を監視するための種々の信号を入
力する。この種々の信号とは、(a)DSP1100が
他のモード(実行モード、スリープモード、ソフトウェ
ア待機モード)の内、どのモードに入っているかを監視
するための動作モード状態ビットOPM1、OPM0
と、(b)並列アービタ2100の動作を監視するため
の監視(ARBMON)信号である。
【0059】ARBMON信号が所定の条件と一致して
いる場合、インサーキットエミュレーション(ICE)
システム2800のコントローラ2802は、中断モー
ドに移動させるための中断割込み(BRK1)要求を出
力してもよい。DSP1100もまた、図3(h)に示
されている中断命令を実行し、命令の条件コードフィー
ルド(CC)内の所定の条件が満たされた場合には、中
断モードに移動させるソフトウェアBRKO中断割込み
要求を生成することができる。
【0060】後述するように、DSP1100が中断モ
ードにある時、共通デコーダユニット1600は、中断
割込みが受け取られたことを示す中断応答(BRKA
K)信号をコントローラ2802に出力する。BRKA
K信号が並列アービタ2100にも入力される場合、並
列アービタ2100は、メモリ選択信号線1118上に
ライン選択信号を生成してインサーキットエミュレーシ
ョン(ICE)システムインタフェース2700に供給
し、その結果、データメモリ1900、周辺機器インタ
フェース2200、仮想データメモリ2808にマップ
してあるアドレスを除いた、Xアドレスバス1108、
Yアドレスバス1110、PCアドレスバス1116、
DMACアドレスバス1112上の全てのアドレスをエ
ミュレーション外部メモリ2806内にマップする。こ
のようにして、インサーキットエミュレーション(IC
E)システム2800は、命令メモリ1400および外
部メモリ2500(図1参照)を乱すことなく、DSP
コア3500を使用して、DSP1100の性能を評価
しまたはエミュレートするために、エミュレーション外
部メモリ2806に格納されている評価/エミュレーシ
ョンプログラムをDSPコア3500に実装することが
できる。
【0061】コントローラ2802は、並列アービタ2
100にインサーキットエミュレーションシステムユー
ザ選択(ICESEL)信号を出力して、命令メモリ1
400と、データメモリ1900と、外部メモリ250
0と、仮想データメモリ2808と、仮想命令メモリ2
804とに通常アクセスするために、インサーキットエ
ミュレーション(ICE)システムインタフェース27
00に選択信号を出力するよう並列アービタ2100に
指示することができる。この指示によって、中断モード
の間、DMAC3000によって行なわれるデータ転送
のための上記メモリにDMAC3000がアクセスする
ことができ、これにより、インサーキットエミュレーシ
ョン(ICE)システム2800が、評価を行なう目的
で、これらのメモリにアクセスすることができる。
【0062】[設定動作モード]図7を参照すると、条
件コードレジスタ1674のビットレジスタ1674−
8、1674−9によって格納されている動作モード状
態ビットOPM1、OPM0は、三通りの方法で設定す
ることができる。先ず第1番目は、命令メモリ1400
または外部メモリ2500からフェッチされるデータ転
送命令タイプ1148、1150、1155、115
6、1160、1165の内の一つを実行することによ
り設定する方法である(図2参照)。第2番目は、図3
(h)に示されている特殊命令タイプ1164の設定命
令を実行することにより設定する方法である。第3番目
は、ホストマイクロプロセッサ1200から受け取った
ホストコマンドを実行することにより設定する方法であ
る(図1参照)。
【0063】[データ転送命令を用いた設定モード]図
2を再度参照する。命令タイプ1148、1150、1
155、1156、1160、1165の何れかを、実
行モードの間、データを条件コードレジスタ1674
(ccr)内に移動させることによって(したがって、
データをビットレジスタ1674−8、1674−9に
移動させることによって)、動作モード状態ビットOP
M1、OPM0を間接的に設定するために用いることが
できる。この設定は、転送デスティネーションフィール
ド(Rn)内で、条件コードレジスタ1674(cc
r)に対して、適切なレジスタコードを特定することに
よって行なわれる。
【0064】図6(a)、(b)を参照する。命令デコ
ードブロック1612が、デスティネーションを条件コ
ードレジスタ1674(ccr)と特定して、命令タイ
プ1148、1150、1155、1156、116
0、1165の一つをデコードする場合、命令デコード
ブロック1612は、(a)条件コードレジスタ167
4(ccr)を識別するXRSEL信号、またはYRS
EL信号(移動命令タイプ1148の場合のみYRSE
L信号)と、(b)データを、Xデータバス1102か
らXRSEL信号、またはYRSEL信号によって特定
されるレジスタ内へロードすることを指示するXBUS
OP信号を生成する。これらの信号は、先に述べた優先
順位体系に基づいて、最終信号ジェネレータ1615に
よって出力され、条件コードレジスタ(CCR)コント
ローラ1685に与えられる。
【0065】図7を参照する。これに呼応して、条件コ
ードレジスタ(CCR)コントローラ1685は、セレ
クタ1686を制御するための制御信号を生成し、条件
コードレジスタ1674(ccr)にXデータバス11
02上のデータを供給する。条件コードレジスタ(CC
R)コントローラ1685はまた、10ビッットのUP
DATA信号を出力して、条件コードレジスタ(cc
r)1674のビットレジスタ1674−0、1674
−9の各々がデータを入力できるようにする。
【0066】図5、図8、図9を参照する。レジスタ間
(すなわち、移動)命令タイプ1148の場合、DSP
1100のレジスタの内の一つからデータを受け取る。
ここでのレジスタとは、(a)アドレスレジスタ180
2−1810(xaO−ya3)およびアドレスユニッ
ト(AU)1800の指標レジスタ1818、1820
(i0、i1)と、(b)実行ユニット(EXU)17
00の個々のデータレジスタ1702(a)−1710
(c)(xdOg−m1I)およびシフト制御レジスタ
1720、1722(sha、shb)と、(c)プロ
グラム制御ユニット(PCU)1500内の、プログラ
ム制御レジスタ1502、1505(pc0、pc3)
およびリピート制御レジスタ1508−1510(r
c、rs、re)およびループ制御レジスタ1511
(Ic)である。図1を参照する。命令タイプ115
5、1156、1160、1165の場合は、データメ
モリ1900、または外部メモリ2500、または外部
周辺機器2300からデータを受け取る。再度、図6
(a)を参照すると、命令タイプ1150の場合は、デ
ータは即値データフィールド($DATA)から抽出さ
れた即値データで、Xデータバス1102上に直接与え
られる。
【0067】しかし、スリープモードまたはソフトウェ
ア待機モードの間、上記の動作を行なうことはできな
い。その理由は、先にも述べたように、スリープモード
とソフトウェア待機モードの間は、3段パイプラインが
停止され、したがって上記タイプの命令をフェッチした
り、デコードしたり、実行することができなくなるため
である。
【0068】[設定命令を用いた設定モード]図2、7
を参照する。実行モードの間、特殊命令タイプ1164
は、動作モード状態ビットOMP1、OMP0を直接設
定するために使用することができる。
【0069】この設定は、図3(h)に示されている設
定命令を用いて、モード定義領域内に適切なモードを特
定することにより行なわれる。
【0070】図6(a)、6(b)を参照する。命令デ
コードブロック1612が特殊命令タイプ1164をデ
コードする時、命令デコードブロック1612は、
(a)ビットレジスタ1674−8および1674−9
に格納されている動作モード状態ビットOPM1、OP
M0を設定するためのSET信号と、(b)動作モード
状態ビットOPM1、OPM0を設定する方法を識別す
るXRSEL信号を生成する。これらの信号は、先に述
べた優先順位体系に基づいて、最終信号ジェネレータ1
615により出力され、条件コードレジスタ(CCR)
コントローラ1685に与えられる。
【0071】図7を参照する。XRSEL信号により識
別された動作モードを考慮して、コントローラ1685
は、セレクタ1686に与えられる制御信号を生成し、
セレクタ1686は、論理値“1”または“0”を適宜
選択してビットレジスタ1674−8および1674−
9に供給し、動作モード状態ビットOPM1、OPM0
をこれらの値に設定する。また、コントローラ1685
は、UPDATA信号を生成して、ビットレジスタ16
74−8および1674−9に、セレクタ1686によ
り供給された論理値“1”または“0”を、動作モード
状態ビットOPM1、OPM0として格納させる。
【0072】しかし、スリープモードまたはソフトウェ
ア待機モードの間、設定命令を使用することができな
い。その理由は、先にも述べたように、スリープモード
とソフトウェア待機モードの間は、3段パイプラインが
停止され、したがってこのタイプの命令をフェッチした
り、デコードしたり、実行することができないためであ
る。
【0073】[ホストコマンドを用いた設定モード]図
10を参照する。DMAC3000は、ホストマイクロ
プロセッサ1200とDSP1100を連絡させるホス
トインタフェース機能を備えている。したがって、ホス
トマイクロプロセッサは、ホスト制御(HCNTRL)
信号をDMAC3000に出力して、条件コードレジス
タ1674(ccr)の動作モード状態ビットOPM
1、OPM0が実行モード、スリープモード、ソフトウ
ェア待機モードの何れかを示すようにDSP1100に
指示する。これに呼応して、DMAC3000は、ビッ
トレジスタ1674−8と1674−9に格納されてい
る動作モード状態ビットOPM1、OPM0をどのモー
ドに設定するかを識別する4ビットのホストコマンドま
たは命令(HCOM)信号を出力する。
【0074】図6(b)に示されているように、HCO
M信号はホストコマンドデコーダ1611によって受け
取られる。これに呼応して、ホストコマンドデコーダ1
611は、(a)ビットレジスタ1674−8および1
674−9に格納されている動作モード状態ビットOP
M1、OPM0を設定するSET信号と、(b)動作モ
ード状態ビットOPM1、OPM0を設定する方法を識
別するXRSEL信号と、(c)ホストコマンドが入力
されたことを示すホストコマンド応答(HCOMAK)
信号を生成する。これらSET信号、XRSEL信号、
HCOMAK信号は、先に述べた優先順位体系に基づい
て、最終信号ジェネレータ1615によって最終的に出
力され、条件コードレジスタ(CCR)コントローラ1
685に与えられる。
【0075】図7を参照する。XRSEL信号によって
識別される動作モードを考慮して、条件コードレジスタ
(CCR)コントローラ1685は、セレクタ1686
に与えられる制御信号を生成し、セレクタ1686は、
論理値“1”または“0”を適宜選択してビットレジス
タ1674−8および1674−9に供給し、動作モー
ド状態ビットOPM1、OPM0をこれらの値に設定す
る。また、コントローラ1685は、UPDATA信号
を生成して、ビットレジスタ1674−8および167
4−9に、セレクタ1686により供給された論理値
“1”または“0”を動作モード状態ビットOPM1、
OPM0として格納させる。
【0076】動作モード状態ビットOPM1、OPM0
を設定するために使用した設定命令やデータ転送命令の
場合とは異なって、実行モードおよびスリープモードの
間、HCOM信号はDMAC3000によって出力さ
れ、ホストコマンドデコーダ1611によってデコード
することができる。しかし、ソフトウェア待機モードの
間は、DMAC3000は操作可能ではなく、したがっ
て、このモードの間は、HCOM信号を生成することが
できない。
【0077】[割込み処理]DSP1100は、多くの
異なったタイプの割込み要求を処理することができる。
図3(h)を参照すると、上記割込み要求は、中断割込
み命令、トラップ割込み命令に呼応してこれら命令を実
行するために生成されるソフトウェア割込み要求を含ん
でいる。また、図10、図11を参照して述べると、上
記割込み要求は、ホストマイクロプロセッサ1200ま
たはインサーキットエミュレーション(ICE)システ
ム2800から受け取る割込みコマンドに呼応して生成
される外部割込み要求を含んでいる。さらに、上記割込
み要求は、DMAC3000または周辺機器インタフェ
ース2202−2206および2210によって生成さ
れる周辺割込みを含んでいる。図5、図8、図9を参照
して述べると、上記割込み要求は、さらにプログラム制
御ユニット1500、または実行ユニット1700、ま
たはアドレスユニット1800によって生成されるエラ
ー状況割込み要求を含んでいる。
【0078】[ソフトウェア割込み]図2を再度参照す
る。特殊命令タイプ1164は、ソフトウェア割込み要
求を生成するために用いられる。図3(h)に示されて
いるように、このソフトウェア割込み要求の生成は、中
断割込み命令、またはトラップ割込み命令を実行するこ
とにより行なわれる。中断割込み命令は、条件コードフ
ィールド(CC)内の特定された条件が満たされる場
合、実行モードから前述した動作中断モードにDSP1
100の動作を移行させるために用いられる。トラップ
割込み命令は、条件コードフィールド(CC)内の特定
された条件が満たされる場合、一つの命令の実行モード
にソフトウェア生成割込みを割り込ませることができ
る。
【0079】図6(a)を参照する。命令デコードブロ
ック1612が中断命令をデコードする時、命令デコー
ドブロック1612は、中断割込みを要求するために、
1ビットのソフトウェア中断(BRKO)割込み要求を
生成する。デコードされた命令が、二つのトラップ命令
の内の一つである場合には、命令デコードブロック16
12は、2ビットのトラップ(TRAP0、TRAP
1)割込み要求を生成して、二つのトラップ割込み命令
の内デコードされた命令を要求する。その後、TRAP
0、TRAP1、BRK0信号が、共通デコーダユニッ
ト1600によって出力され、図12に示されている割
込みコントローラ1609に与えられる。
【0080】図6(c)を参照する。条件コードフィー
ルド(CC)内の特定された条件が満たされない場合
は、命令デコードブロック1612は、割込み動作をキ
ャンセルするように指示するCNCL信号を生成する。
そうでない場合は、CNCL信号は条件が満たされたこ
とを指示する。CNCL信号は、図5に示されているロ
ーカルPCUコントローラ1550に入力され、このロ
ーカルPCUコントローラ1550は、制御信号を出力
して、中断割込み要求またはトラップ割込み要求を処理
するためのルーチンに分岐するのをキャンセルしたり、
あるいは継続したりする。
【0081】しかし、スリープモードまたはソフトウェ
ア待機モードの間は、ソフトウェア中断割込み要求やト
ラップ割込み要求を生成することはできない。その理由
は、スリープモードとソフトウェア待機モードの間は、
3段パイプラインが停止され、したがって中断割込み命
令やトラップ割込み命令をフェッチしたり、デコードし
たり、実行することができないためである。
【0082】[外部割込み、周辺割込み、エラー状況割
込み]図10を参照する。ホストマイクロプロセッサ1
200は、いくつかの外部割込みを出力することができ
る。これら割込みは、(a)DSP1100をリセット
するためのリセット(RST)割込み要求と、(b)マ
スク不能(NMI)割込み要求と、(c)二つのユーザ
定義(IRQ1、IRQ0)割込み要求を含んでいる。
【0083】第1シリアルI/Oインタフェース(Se
rialI/O0)2202、第2シリアルI/Oイン
タフェース(SerialI/O1)2204、シリア
ルコミュニケーションインタフェース(SCI)220
6は、それぞれ三つの周辺割込み要求を出力することが
できる。これらの割込み要求とは、(a)データオーバ
ランが生じた場合にこれを指示するオーバラン(ERI
0、ERI1、ERI2)割込み要求と、(b)データ
入力動作が完了して、該入力データに係わるDSPコア
3500によるデータ転送動作が現在要求されているこ
とを示すエンドデータ入力(RXI0、RXI1、RX
I2)割込み要求と、(c)データ転送動作が完了し
て、転送されるデータを周辺インタフェースに供給する
ためのDSPコア3500による新たなデータ転送動作
が現在要求されていることを示すエンドデータ転送(T
XI0、TXI1、TXI2)割込み要求である。
【0084】イベントタイマインタフェース(Time
r)2210は、二つの周辺割込み要求を出力すること
ができる。これら割込み要求とは、(a)イベントタイ
ム獲得、または入力パルス周波数および入力パルス幅測
定、または入力カウンタオーバーフローあるいはレジス
タオーバーフローに対するタイマ入力(TM1)割込み
要求と、(b)出力パルス測定、または出力カウンタオ
ーバーフローに対するタイマ出力(TM0)割込み要求
である。
【0085】DMAC3000は五つの周辺割込み要求
を出力することができる。これら割込み要求とは、
(a)ローカルDMACデータ転送動作が完了して、D
SPコア3500によるデータ転送動作が現在要求され
ていることを示すDMACエンドデータ転送(DMA
E)割込み要求と、(b)DMAC3000のホスト入
力データレジスタが満杯になり、このデータを転送する
ためのDSPコア3500によるデータ転送動作が現在
要求されていることを示すホスト入力データレジスタ満
杯(HIF)割込み要求と、(c)DMAC3000の
ホスト出力データレジスタが空になり、このレジスタに
新しいデータを供給するためのDSPコア3500によ
るデータ転送動作が現在要求されていることを示すホス
ト出力データレジスタエンプティ(HOE)割込み要求
と、(d)周辺機器インタフェース2202−2210
の何れか一つによる第1動作が完了して、DSPコア3
500によるデータ転送動作が現在要求されていること
を示す第1周辺インタフェース動作終了(PTE0)割
込み要求と、(e)周辺機器インタフェース2202−
2210の何れか一つによる第2動作が完了して、DS
Pコア3500によるデータ転送動作が現在要求されて
いることを示す第2周辺インタフェース動作終了(PT
E1)割込み要求である。しかし、DMAC3000
は、ソフトウェア待機モードの間は動作できないため、
実行モードとスリープモード間のみ上記割込み要求を出
力することができる。
【0086】図1を参照する。インサーキットエミュレ
ーション(ICE)システムは、割込み(BRK1)要
求を出力することができる。BRK0割込み要求とは異
なって、BRK1割込み要求は、実行モード、またはス
リープモード、またはソフトウェア待機モードから中断
モードへ移行するための割込み要求である。
【0087】図4を参照する。タイミングユニット13
00のクロックコントローラ1304は、NMI割込み
要求、RST割込み要求、およびBRK1割込み要求を
受け取る。クロックコントローラ1304により入力さ
れた動作モード状態ビットOPM1、OPM0が、実行
モードもしくはスリープモードを指示する場合は、クロ
ックコントローラ1304は直ちに、入力した割込み要
求を入力参照クロックCLK信号に同期させる。しか
し、先にも述べたように、動作モード状態ビットOPM
1、OPM0がソフトウェア待機モードを指示する場合
は、クロックパルスジェネレータは動作停止状態にあ
る。したがって、NMI割込み要求、RST割込み要
求、BRK1割込み要求の何れかを入力する時、クロッ
クコントローラ1304は最初にクロックパルスジェネ
レータ1302を起動(ウェイクアップ)させる制御信
号を生成する。その後、入力された割込み要求をCLK
信号と同期させるために、ウェイクアップカウンタ13
06で指定された時間待機する。この動作が行なわれる
結果、同期されたNMI割込み要求、またはRST割込
み要求、またはBRK1割込み要求が割込みコントロー
ラ2600に受け取られる前に、割込みコントローラ2
600によって入力されたクロック信号CK0、CK1
を安定化させることができる。
【0088】[エラー状況割込み要求]図5を参照す
る。プログラム制御ユニット1500の加算器1506
は、プログラムアドレスオーバーフローエラー(PCV
R)信号を生成する。この生成動作は、加算器1506
によって演算されるプログラムアドレスが許容可能なビ
ット数(本実施例においては18)を超えてオーバーフ
ローした場合、もしくは加算器1506によって禁止ア
ドレスが演算されて第1プログラム制御レジスタ150
2(pc0)に格納された場合に行なわれる。
【0089】図8を参照する。実行ユニット(EXU)
1700のALU1712またはビット処理ユニット
(BPU)1714は、オーバーレンジエラー(VR)
信号を生成することができる。この生成動作は、ALU
1712またはビット処理ユニット(BPU)1714
により演算されたデータが、ビットの許容数(本実施例
では56)を超えてオーバーフローした場合に行なわれ
る。
【0090】図9を参照する。アドレスユニット(A
U)1800のXアドレスユニット1812とYアドレ
スユニット1814は、メモリアドレスオーバーフロー
エラー(XAUVR、VAUVR)信号を生成すること
ができる。この生成は、Xアドレスユニット1812ま
たはYアドレスユニット1814により生成されるアド
レスが、ビットの許容数(本実施例では18)を超えて
オーバーフローした場合、もしくはこれらのアドレスユ
ニットの一つによって禁止アドレスが演算された場合に
行なわれる。
【0091】後述するように、PCVRエラー信号、V
Rエラー信号、XAUVRエラー信号、YAUVRエラ
ー信号の何れかが入力されると、割込みコントローラ2
600は、一つのエラー状況割込み要求のみを生成し、
出力する。
【0092】[割込みコントローラ]図12を参照す
る。前述したように、割込みコントローラ2600は、
実行モード、スリープモード、ソフトウェア待機モード
の何れのモードにおいても、NMI割込み、RST割込
み、BRK1割込みを入力し、処理することができる。
その理由は、(a)ホストマイクロプロセッサ1200
とインサーキットエミュレーション(ICE)システム
が、クロックパルスジェネレータ1302および動作モ
ード状態ビットOPM1、OPM0に依存することな
く、動作するからであり、また(b)CK0クロック信
号、CK1クロック信号は、実行モードおよびスリープ
モードにおいて割込みコントローラ2600にいつも入
力されるからであり、さらに(c)前述したように、タ
イミングユニット1300は、外部NMI割込み要求、
または外部RST割込み要求、または外部BRK1割込
み要求を入力して、これに応答し、ソフトウェア待機モ
ードで、CK0クロック信号、CK1クロック信号を出
力するからである。
【0093】ただし、割込みコントローラ2600は、
実行モードにおいてのみ、TRAP0割込み要求、TR
AP1割込み要求、BRK0割込み要求を入力し、処理
する。これは、スリープモードおよびソフトウェア待機
モードの間は、3段(命令フェッチ、デコード、実行)
パイプラインが停止されている理由による。
【0094】さらに、割込みコントローラ2600は、
実行モードまたはスリープモードの場合にのみ、IRQ
1、IRQ0、ERI0、ERI1、ERI2、RXI
0、RXI1、RXI2、TXI0、TXI1、TXI
2、TM1、TM0の外部割込みや周辺割込み要求を処
理することができる。その理由は、NMI割込み要求や
RST割込み要求の場合とは違って、IRQ1割込み要
求とIRQ0割込み要求は割込みコントローラ2600
に直接に供給され、したがって、ソフトウェア待機モー
ドにおいては、図4に示したクロックパルスジェネレー
タ1302を起動することができないためである。
【0095】加えて、DMAE、HIF、HOE、PT
E0、PTE1の割込み要求は、実行モードまたはスリ
ープモードの場合のみ、入力され処理される。これは、
DMAC3000がソフトウェア待機モードの場合は操
作可能でないためである。
【0096】また、PCVR、VR、XAUVR、YA
UVR、IOPEの割込み要求は、実行モードの場合の
み、入力され処理される。これは、3段(命令フェッ
チ、デコード、実行)パイプラインが、スリープモード
およびソフトウェア待機モード間は停止されているため
である。
【0097】割込みコントローラ2600がマスキング
されていない割込み要求を入力し、処理する時、割込み
コントローラ2600は、どの割込み要求を入力したか
識別する5ビットの割込み要求コードベクトル(ITR
QV)信号を生成する。しかし、割込みコントローラ2
600がPCVR、VR、XAUVR、YAUVRのエ
ラー信号のいずれかを入力した場合は、ITRQV信号
は、エラー状況割込みが要求されたことだけを指示す
る。割込みコントローラ2600はまた、割込みが要求
されたことを示す割込み要求(ITRQ)信号をも生成
する。
【0098】[割込みデコーダ、最終信号ジェネレー
タ、実行]図6(b)を参照する。割込みデコーダ16
13は、ITRQV信号、ITRQ信号を入力する。I
TRQ信号が入力される時、割込みデコーダ1613
は、三つのマシンサイクルで、ITRQV信号によって
識別される各割込み要求をデコードし、処理(ハンド
ル)する。したがって、割込みデコーダ1613は、各
要求を三つのマシンサイクルで処理するための状態機械
を備えている。
【0099】しかし、本実施例においては、割込みデコ
ーダ1613とその状態機械は、前述した他の標準タイ
プの割込み要求の場合とは若干異なり、ITRQV信号
によって識別されるBRK0割込み要求およびBRK1
割込み要求を処理し、デコードする。割込み要求をデコ
ードし、処理するのに、三つのマシンサイクルが必要と
なるため、割込み要求を実行するのにも三つのマシンサ
イクルが要求される。
【0100】[中断割込み要求]入力されたITRQV
信号が、中断モードに移行させるためにBRK1割込み
かあるいはBR0割込みが要求されているのを識別する
場合、割込みデコーダ1613の状態機械は、中断割込
み要求/ハンドリング処理の第1マシンサイクルにおい
て次の信号を出力する。(a)即値データライン169
8上にあるアドレスへの分岐を指示するPCUOP信
号。(b)即値データライン1698上に与えられる割
込みベクトルアドレスを表すIMMMDATA信号。
(c)Xデータバス1102を介して移動するために、
図7に示されている条件コードレジスタ1674(cc
r)の内容を選択するXRSEL信号。(d)Xデータ
バス1102上のデータを入力するための条件コードス
タックレジスタ1697(ccrstck)を選択する
ためのYRSEL信号。(e)レジスタ間(すなわち、
移動)動作を行なうことを指示するXBUSOP信号。
(f)中断割込み要求が入力されたことを示す中断割込
み要求応答(BRKAK)信号。
【0101】割込みデコーダ1613はまた、割込み要
求応答ITRQAK信号を最終信号ジェネレータ161
5に出力するため、割込みデコーダ1613の状態機械
によって生成されたPCUOP信号、IMMDATA信
号、XRSEL信号、YRSEL信号、XBUSOP信
号は(前述した優先順位体系に基づいて)優先順位を与
えられ、BRKAK信号とITRQAK信号と共に、最
終信号ジェネレータ1615によって出力される。図1
2を参照する。ITRQAK信号に呼応して、割込みコ
ントローラ2600はITRQ信号をアサートするのを
停止させ、したがって、ITRQV信号は入力した割込
み要求を識別することをやめる。この動作によって、割
込みコントローラ2600は入力された次の割込み要求
を出力することができる。さらに図11を参照する。前
述したように、BRKAK信号に呼応して、並列アービ
タは中断モードで選択信号を生成してメモリ選択信号線
1118上のインサーキットエミュレーション(IC
E)システムインタフェース2700に供給し、その結
果、データメモリ1900およびオンチップの仮想デー
タメモリ2808にマップされるアドレスを除いたXア
ドレスバス1108、Yアドレスバス1110、PCア
ドレスバス1116、DMACアドレスバス1112上
の全てのアドレスがエミュレーション外部メモリ280
6にマップされる。
【0102】図5を参照する。中断割込み実行処理の第
1マシンサイクルにおいて、ローカルプログラム制御ユ
ニット(PCU)コントローラ1550は、PCUOP
信号に呼応して、セレクタ1518、加算器1506、
セレクタ1516および第1プログラム制御レジスタ1
502に制御信号を出力して、即値データライン169
8によって供給された割込みベクトルアドレスを第1プ
ログラム制御レジスタ1502(pc0)内に格納す
る。図11を参照すると、このアドレスは、エミュレー
ション外部メモリ2806内で、BRK1またはBRK
0割込み処理ルーチンのための第1命令が位置するアド
レス、あるいは該処理ルーチンの第1命令に分岐するた
めの倍長語分岐命令(すなわち、図2における命令タイ
プ1162)が位置するアドレスを特定している。
【0103】図7を参照すると、条件コードレジスタコ
ントローラ1685はまた、XRSEL信号、YRSE
L信号、XDBUSOP信号に呼応して、条件コードレ
ジスタ1674(ccr)、セレクタ1687および条
件コードスタックレジスタ1697(ccrstck)
に制御信号を出力して、条件コードレジスタ1674
(ccr)の内容を条件コードスタックレジスタ169
7(ccrstck)内に移動/プッシュする。したが
って、ビットレジスタ1674−8、1674−9に格
納されている現在の動作モード状態ビットOPM1、O
PM0は、条件コードスタックレジスタ1697(cc
rstck)のビットレジスタ1697−8、1697
−9に格納されて、中断モードになる前のDSP110
0の動作モード(実行モード、またはスリープモード、
またはソフトウェア待機モード)を示すことになる。
【0104】中断割込みデコーディング/ハンドリング
処理の第2マシンサイクルでは、割込みデコーダ161
3の状態機械は、(a)図7に示されているビットレジ
スタ1674−8、1674−9の動作モード状態ビッ
トOPM1、OPM0を実行モードを指示するように設
定するためのXRSEL信号と、(b)これらのビット
を設定するためのSET信号を生成する。IRQ信号が
最終信号ジェネレータ1615に入力されるため、上記
信号は、最終信号ジェネレータ1615によって優先順
位を与えられる。
【0105】中断割込み実行処理の第2マシンサイクル
では、条件コードレジスタコントローラ1685は、X
RSEL信号、SET信号に呼応して、セレクタ168
6に供給する制御信号と、ビットレジスタ1674−
8、1674−9に格納されている動作モード状態ビッ
トOPM1、OPM0が実行モードを示すよう設定する
ために、条件コードレジスタ1674に与えられるUP
DATA信号とを生成する。
【0106】中断割込みデコーディング/ハンドリング
過程の最終の第3マシンサイクルでは、割込みデコーダ
1613の状態機械は、(a)Xデータバス1102上
に移動させるために、第4プログラム制御レジスタ15
05(pc3)(図5参照)の内容を選択するためのX
RSEL信号と、(b)Xデータバス1102上のデー
タを入力するためのプログラム制御スタックレジスタ1
513(pcstck)(図5参照)を選択するための
YRSEL信号と、(c)レジスタ間(すなわち、移
動)動作を行なうことを指示するXBUSOP信号を生
成する。前述と同様に、IRQ信号が最終信号ジェネレ
ータ1615に入力されたため、上記信号は、最終信号
ジェネレータ1615によって優先順位を与えられる。
【0107】図5を参照する。中断割込み実行処理の第
3マシンサイクルのために、ローカルプログラム制御ユ
ニット(PCU)コントローラ1550は、XRSEL
信号、YRSEL信号、XDBUSOP信号に呼応し
て、制御信号をバッファ1530とプログラム制御スタ
ックレジスタ1513(pcstck)に出力し、第4
プログラム制御レジスタ1505(pc3)によって格
納されているアドレスを、プログラム制御スタックレジ
スタ1513(pcstck)に移動/プッシュする。
このアドレスは、DSP1100が中断モードから戻る
場合の復帰プログラムアドレスで、かつ、中断(BRK
0割込み要求)命令、もしくはBRK1割込み要求が最
初に入力された時にフェッチされている命令のアドレス
の直後に続く命令のアドレスである。
【0108】DSP1100が実行モードでもあって、
割込みハンドリングルーチンの中断復帰命令(図3
(h)のbreturn)が前述した3段パイプライン
内でフェッチされ、デコードされ、実行されると、DS
P1100は中断モードから抜け出る。図6(a)を参
照すると、中断割込み復帰処理の第1マシンサイクルで
は、命令デコードブロック1612は該中断復帰命令を
デコードし、(a)中断復帰命令がデコードされたこと
を指示するBRETURN信号と、(b)Xデータバス
1102上に移動させるために、プログラム制御スタッ
クレジスタ1513(pcstck)(図5参照)の内
容を選択するためのXRSEL信号と、(c)Xデータ
バス1102上のデータを入力するための第1プログラ
ム制御レジスタ1502(pc0)を選択するYRSE
L信号と、(d)レジスタ間(すなわち、移動)動作を
行なうことを指示するXBUSOP信号を生成する。
【0109】その後、XRSEL信号、YRSEL信
号、XBUSOP信号は、複数サイクル状態機械161
4に供給され、この複数サイクル状態機械1614によ
って最終信号ジェネレータ1615に送られる。最終信
号ジェネレータ1615は、これらの信号を前述した優
先順位体系に基づいて出力する。
【0110】図5を参照すると、その結果、ローカルプ
ログラム制御ユニット(PCU)コントローラ1550
は、XRSEL信号、YRSEL信号、XDBUSOP
信号に呼応して、制御信号を生成してバッファ153
3、セレクタ1516、第1プログラム制御レジスタ1
502(pc0)に送り、プログラム制御スタックレジ
スタ1513(pcstck)内のアドレスを第1プロ
グラム制御レジスタ1502(pc0)内に移動/プッ
シュする。前述したように、このアドレスは、DSP1
100が中断モードから抜け出る時の中断復帰プログラ
ムアドレスである。
【0111】さらに、複数サイクル状態機械1614
は、BRETURN信号も入力する。この信号に呼応し
て、複数サイクル状態機械1614は、中断割込み要求
復帰処理の次のマシンサイクルのために、(a)Xデー
タバス1102上に移動させるために、条件コードスタ
ックレジスタ1697(ccrstck)(図7参照)
の内容を選択するためのXRSEL信号と、(b)Xデ
ータバス1102上のデータを入力するための条件コー
ドレジスタ1674(ccr)を選択するYRSEL信
号と、(c)レジスタ間(すなわち、移動)動作を行な
うことを指示するXBUSOP信号と、(d)PCUO
P、ALU/BPUOP、MUOP、YBUSOP、X
AUSRC、XAUOP、YAUOP、PCBUSE、
XABUSE、YABUSE、SETの各信号のための
NOP値を出力する。
【0112】その後、XRSEL信号、YRSEL信
号、XBUSOP信号は、複数サイクル状態機械161
4に与えられ、この複数サイクル状態機械1614によ
って最終信号ジェネレータ1615に送られる。最終信
号ジェネレータ1615は、これらの信号を前述した優
先順位体系に基づいて出力する。
【0113】図7を参照すると、その結果、条件コード
レジスタコントローラ1685は、XRSEL信号、Y
RSEL信号、XDBUSOP信号に呼応して、制御信
号を生成してバッファ1697A、条件コードレジスタ
1674(ccr)に送り、条件コードスタックレジス
タ1697(ccrstck)の内容を条件コードレジ
スタ1674(ccr)内に移動/プッシュする。した
がって、以前にはビットレジスタ1697−8、169
7−9に格納されていて、現在は条件コードレジスタ1
674のビットレジスタ1674−8、1674−9に
ロードされた動作モード状態ビットOPM1、OPM0
は、中断モードになる前のDSP1100の動作モード
(実行、スリープ、ソフトウェア待機)を指示してい
る。言い換えれば、標準割込みを処理するためのルーチ
ンから復帰した時、DSP1100は中断モードになる
前の前記動作モードに入る。
【0114】[標準割込み要求]前述したBRK0割込
み要求およびBRK1割込み要求の処理は、残りの標準
割込み要求の処理と同様であるが、いくつかの重要な相
異点がある。
【0115】入力したITRQV信号が、他の標準タイ
プの割込みの一つが要求されていることを認識している
場合、割込みデコーダ1613の状態機械は、標準割込
み要求/ハンドリング処理の第1マシンサイクルにおい
て、(a)割込みハンドリングルーチンに分岐するため
のPCUOP信号およびIMMMDATA信号と、
(b)図7に示されているビットレジスタ1674−
8、1674−9に格納されている動作モード状態ビッ
トOPM1、OPM0が実行モードを指示するように設
定するためのXRSEL信号と、(c)これらのビット
を設定するためのSET信号を出力する。
【0116】割込みデコーダ1613はまた、割込み要
求応答ITRQAK信号を最終信号ジェネレータ161
5に出力するため、割込みデコーダ1613の状態機械
によって生成されたPCUOP信号、IMMDATA信
号、XRSEL信号は、(前述した優先順位体系に基づ
いて)優先順位を与えられ、ITRQAK信号と共に最
終信号ジェネレータ1615によって出力される。図1
2を参照すると、ITRQAK信号に呼応して、割込み
コントローラ2600はITRQ信号をアサートするの
を停止し、したがってITRQV信号はもはや入力され
た割込み要求を識別しなくなり、その結果、割込みコン
トローラ2600は次に入力される割込み要求を発行す
ることができる。
【0117】標準割込み実行処理の第1マシンサイクル
では、BRK0割込み要求およびBRK1割込み要求の
場合と同様に、第1プログラム制御レジスタ1502
は、図5に示されている即値データライン1698によ
って与えられた割込みベクトルアドレスを格納する。同
時に、条件コードレジスタコントローラ1685は、X
RSEL信号およびSET信号に呼応して、セレクタ1
686に供給する制御信号と条件コードレジスタ167
4(ccr)に供給するUPDATE信号を生成し、ビ
ットレジスタ1674−8、1674−9に格納されて
いる動作モード状態ビットOPM1、OPM0を実行モ
ードに設定する。
【0118】標準割込みデコーディング処理の第2マシ
ンサイクルでは、割込みデコーダ1613の状態機械
は、(a)Xアドレスバス1108上に、データメモリ
1900、または外部メモリ2500、またはインサー
キットエミュレーション(ICE)システム2800の
スタックアドレスを出力させる第1スタックポインタレ
ジスタ1816(sp)(図9参照)を選択するための
XAUOP信号およびXAUSRC信号と、(b)Xデ
ータバス1102上に移動させるために、条件コードレ
ジスタ1674(ccr)(図7参照)の内容を選択す
るためのXRSEL信号と、(c)記憶装置とメモリ間
のデータ転送動作を行なうことを指示するXBUSOP
信号を生成する。
【0119】図7を参照する。標準割込み実行処理の第
2マシンサイクルの間、条件コードレジスタ(CCR)
コントローラ1685は、XRSEL信号およびXDB
USOP信号に呼応して、制御信号を生成してセレクタ
1687に出力し、条件コードレジスタ1674(cc
r)の内容をXデータバス1102上にプッシュする。
図9を参照すると、コントローラ1850は、XAUO
P信号およびXAUSRC信号に呼応して、制御信号を
生成し、Xアドレスバス1108上にスタックアドレス
を出力するための第1スタックポインタレジスタ181
6(sp)(図9参照)を選択する。その結果、Xデー
タバス1102上に出力された条件コードレジスタ16
74(ccr)の内容が、データメモリ1900、また
は外部メモリ2500、または仮想データメモリ280
8のスタック領域内に格納される。
【0120】さらに、コントローラ1850は、第1ス
タックポインタレジスタ1816(sp)のアドレス内
容をポスト(事後)デクリメントして、第1スタックポ
インタレジスタ1816が次のプッシュ動作のためのス
タックアドレスを含むようにするために、Xアドレスユ
ニット(XAU)1812を制御するための制御信号を
生成する。同時に、第2スタックポインタレジスタ18
17(sp+1)のアドレス内容をデクリメントし、そ
の結果、第2スタックポインタレジスタ1817が格納
する新しいアドレスが第1スタックポインタレジスタ1
816(sp)内の1だけインクリメントされたアドレ
スとなる。言い換えれば、第2スタックポインタレジス
タ内のアドレスは、条件コードレジスタ1674(cc
r)の内容が配置されているアドレスである。
【0121】上記の処理は、BRK0割込み要求および
BRK1割込み要求の場合と次の点で異なっている。す
なわち、動作モード状態ビットOPM1、OPM0と条
件コードレジスタ1674(ccr)の他の内容は、ス
タックレジスタではなくスタックメモリ領域内に格納さ
れる。さらに、スタック領域内に格納されている動作モ
ード状態ビットOPM1、OPM0は、割込み実行処理
の第1マシンサイクルにおいて実行モードに設定されて
いたため、格納されているこれらのビットは、BRK0
割込み要求およびBRK1割込み要求の場合のように、
割込み要求を入力する直前のDSP1100の動作モー
ド(実行モード、スリープモード、叉はソフトウェア待
機モード)を指示していない。
【0122】標準割込みデコーディング処理の第3マシ
ンサイクルでは、割込みデコーダ1613の状態機械
は、(a)図9に示されている第1スタックポインタレ
ジスタ1816(sp)を再度選択して、データメモリ
1900、または外部メモリ2500、またはインサー
キットエミュレーション(ICE)システム2800の
スタックアドレスをXアドレスバス1108上に出力す
るためのXAUOP信号およびXAUSRC信号と、
(b)Xデータバス1102上に移動させるために、図
5に示されている第4プログラム制御レジスタ1505
(pc3)の内容を選択するためのXRSEL信号と、
(c)ロードからメモリのデータ転送動作を行なうこと
を指示するXBUSOP信号を生成する。
【0123】図5を再び参照する。標準割込み実行処理
の第3マシンサイクルでは、ローカルプログラム制御ユ
ニット(PCU)コントローラ1550は、XRSEL
信号およびXDBUSOP信号に呼応して、バッファ1
530に制御信号を送り、第4プログラム制御レジスタ
1505(pc3)の内容をXデータバス1102上に
プッシュする。図9を参照すると、コントローラ185
0は、XAUOP信号およびXAUSRC信号に呼応し
て、図9に示されている第1スタックポインタレジスタ
1816(sp)を選択するための制御信号を生成し、
次のスタックアドレスをXアドレスバス1108上に出
力する。その結果、第4プログラム制御レジスタ150
5によってXデータバス1102上に出力された復帰ア
ドレスは、データメモリ1900、または外部メモリ2
500、または仮想データメモリ2808のスタック領
域内に格納される。上記の処理は、復帰プログラムアド
レスがスタックレジスタではなくスタック領域に格納さ
れるという点においてのみ、BRK0割込み要求および
BRK1割込み要求の場合と異なっている。
【0124】さらに、前述した場合と同様に、コントロ
ーラ1850は、Xアドレスユニット(XAU)181
2を制御する制御信号を生成して、第1スタックポイン
タレジスタ1816(sp)のアドレスをポストデクリ
メントする。そして同時に、第2スタックポインタレジ
スタ1817(sp+1)のアドレス内容がデクリメン
トされ、その結果、第2スタックポインタレジスタ18
17の新しいアドレスは、第1スタックポインタレジス
タ1816(sp)内の1だけインクリメントされたア
ドレスとなる。したがって、このアドレスは、割込み復
帰アドレスが配置されているスタック領域内でのアドレ
スを示すことになる。
【0125】割込みハンドリングルーチンの標準割込み
復帰命令(図3(h)におけるireturn)が、前
述した3段パイプラインでフェッチされ、デコードさ
れ、実行される時、DSP1100は、実行モードとな
ってこれらの割込みから抜け出る。図6(a)を参照す
ると、標準割込み復帰処理の第1マシンサイクルでは、
命令デコードブロック1612は、この命令をデコード
し、(a)割込み復帰命令がデコードされたことを指示
するIRETURN信号と、(b)データメモリ190
0、または外部メモリ2500、または復帰プログラム
アドレスを格納するインサーキットエミュレーション
(ICE)システム2800のスタックアドレスをXア
ドレスバス1108上に出力するために、図9に示され
ている第1スタックポインタレジスタ1816(sp)
を選択するためのXAUOP信号およびXAUSRC信
号と、(c)Xデータバス1102上のアドレスを入力
するための、図5に示されている第1プログラム制御レ
ジスタ1502(pc0)を選択するXRSEL信号
と、(d)メモリからロードへのデータ転送動作を行な
うことを指示するXBUSOP信号を生成する。
【0126】その後、XAUOP信号、XAUSRC信
号およびXRSEL信号は、複数サイクル状態機械16
14に供給され、この状態機械1614は、これら信号
を最終信号ジェネレータ1615に送る。最終信号ジェ
ネレータ1615は、前述の優先順位体系に基づいて、
これらの信号を出力する。
【0127】図9を参照する。ローカルアドレスユニッ
ト(AU)コントローラ1850は、XAUOP信号お
よびXAUSRC信号に呼応して、第1スタックポイン
タレジスタ1816(sp)を制御する制御信号を出力
して、スタックアドレスをXアドレスバス1108上に
出力する。同時に、プログラム制御ユニット(PCU)
コントローラ1550は、XRSEL信号およびXBU
SOP信号に呼応して、バッファ1520、セレクタ1
516、および第1プログラム制御レジスタ1502
(pc0)に送る制御信号を生成して、Xデータバス1
102上の復帰アドレスを第1プログラム制御レジスタ
1502(pc0)内にロードする。
【0128】さらに、コントローラ1850は、Xアド
レスユニット(XAU)1812を制御する制御信号を
生成して、第1スタックポインタレジスタ1816(s
p)をポストインクリメントする。その結果、第1スタ
ックポインタレジスタ1816は、次のプッシュ動作の
スタックアドレスを含むようになる。そして同時に、第
2スタックポインタレジスタ1817(sp+1)のア
ドレス内容がインクリメントされ、その結果、第2スタ
ックポインタレジスタ1817が格納する新しいアドレ
スは、第1スタックポインタレジスタ1816(sp)
内の1だけインクリメントされたアドレスと同様とな
る。言い換えれば、第2スタックポイントレジスタ内の
アドレスは、条件コードレジスタ1674(ccr)の
内容が配置されているアドレスとなる。
【0129】さらに、複数サイクル状態機械1614
は、IRETURN信号をも入力する。この信号に呼応
して、複数サイクル状態機械1614は、標準割込み復
帰処理の次のマシンサイクルのために、(a)データメ
モリ1900、または外部メモリ2500、または条件
コードレジスタ1674(ccr)の前のスタック内容
を格納するインサーキットエミュレーション(ICE)
システム2800のスタックアドレスをXアドレスバス
1108上に出力するために、図9に示されている第1
スタックポインタレジスタ1816(sp)を選択する
ためのXAUOP信号およびXAUSRC信号と、
(b)Xデータバス1102上のデータを入力するため
の図7に示されている条件コードレジスタ1674(c
cr)を選択するXRSEL信号と、(c)メモリデー
タ転送動作からのロードを行なうことを指示するXBU
SOP信号と、(d)PCUOP信号、ALU/BPU
OP信号、MUOP信号、YBUSOP信号、XAUS
RC信号、XAUOP信号、YAUOP信号、PCBU
SE信号、XABUSE信号、YABUSE信号および
SET信号のNOP値とを生成する。
【0130】その後、XAUSRC信号、XAUOP信
号およびXRSEL信号は、複数サイクル状態機械16
14に供給され、この状態機械1614は、これら信号
を最終信号ジェネレータ1615に送る。最終信号ジェ
ネレータ1615は、前述の優先順位体系に基づいて、
これらの信号を出力する。
【0131】図9を参照する。ローカルアドレスユニッ
ト(AU)コントローラ1850は、XAUOP信号お
よびXAUSRC信号に呼応して、第2スタックポイン
タレジスタ1817(sp+1)を制御する制御信号を
出力して、条件コードレジスタ1674(ccr)の内
容が格納されているスタック領域のアドレスをXアドレ
スバス1108上に出力する。同時に、条件コードレジ
スタ(CCR)コントローラ1685は、XRSEL信
号およびXBUSOP信号に呼応して、セレクタ168
6および条件コードレジスタ1674(ccr)に制御
信号を出力し、前回のスタック内容を条件コードレジス
タ1674(ccr)内にロードする。以前にはスタッ
ク領域に格納され、現在は条件コードレジスタ1674
のビットレジスタ1674−8、1674−9内へロー
ドされている動作モード状態ビットOPM1、OPM0
は、動作の実行モードを指示する。したがって、標準割
込みハンドリングルーチンから復帰すると、DSP11
00は実行モードに入る。
【0132】さらに、前述した場合と同様に、コントロ
ーラ1850は、Xアドレスユニット(XAU)181
2を制御する制御信号を生成して、第1スタックポイン
タレジスタ1816(sp)のアドレスをポストインク
リメントする。そして同時に、第2スタックポインタレ
ジスタ1817(sp+1)のアドレス内容がインリメ
ントされ、その結果、第2スタックポインタレジスタ1
817が格納する新しいアドレスは、スタックポインタ
レジスタ1816(sp)内の1だけインクリメントさ
れたアドレスとなる。したがって、このアドレスは、ポ
ップ操作のための新しいアドレスを示すことになる。
【0133】(実施例2)上記実施例では、中断モード
の間、第4プログラム制御レジスタ1505(pc3)
と条件コードレジスタ1674(ccr)の内容をスタ
ックするために、プログラム制御スタックレジスタ15
13(pcstck)と条件コードスタックレジスタ1
697(ccrstck)を中断割込み要求のために使
用した。それに対して、他の標準割込み要求に対して
は、アドレスユニット(AU)1800のスタックポイ
ンタ1816(sp)とスタックポインタ1817(s
p+1)を使用して、割込み要求を処理している間、こ
れらのレジスタの内容をスタックさせた。このように構
成した理由は、中断割込み(BRK1およびBRK0)
が現在のユーザプログラムに対して透過的でなければな
らないからである。したがって、別々のプログラム制御
スタックレジスタ1513と条件コードスタックレジス
タ1697を備えることによって、スタック領域の一部
が中断割込み要求の間、消費されないことが望ましい。
【0134】しかし、第4プログラム制御レジスタ15
05(pc3)および条件コードレジスタ1674(c
cr)の内容をスタックするために、中断割込み要求に
対しても、スタックポインタ1816(sp)および
(sp+1)をプログラム制御スタックレジスタ151
3、条件コードスタックレジスタ1697の代わりに使
用できることは、当業者にとって明かである。また、ス
タックポインタレジスタ1816(sp)と1817
(sp+1)を条件コードスタックレジスタ1697
(ccrstck)と共に使用して、第4プログラム制
御レジスタ1505(pc3)の内容をスタックポイン
タレジスタ1816(sp)と1817(sp+1)と
によりスタックさせ、条件コードレジスタ1674(c
cr)の内容を条件コードスタックレジスタ1697
(ccrstck)によりスタックさせることも可能で
ある。さらに、スタックポインタレジスタ1816(s
p)と1817(sp+1)をプログラム制御スタック
レジスタ1513(pcstck)と共に用い、条件コ
ードレジスタ1674(ccr)の内容をスタックポイ
ンタレジスタ1816(sp)と1817(sp+1)
によりスタックさせ、第4プログラム制御レジスタ15
05(pc3)の内容をプログラム制御スタックレジス
タ1513(pcstck)によりスタックさせること
も可能である。
【0135】前記実施例においては、条件コードレジス
タ1674(ccr)のビットレジスタ1674−8、
1674−9により格納される動作モード状態ビットO
PM1、OPM0は、中断割込みを受け取った時点のD
SP1100の動作モード(実行、スリープ、ソフトウ
ェア待機)を表すように、スタック(すなわち、格納)
された。このようにスタックすることによって、中断モ
ードが完了した時に、DSP1100が格納されたモー
ドに復帰することが可能となる。
【0136】しかしながら、他の標準割込み要求の場合
には、動作モード状態ビットOPM1、OPM0は、初
め実行モードに設定され、その後にスタックされる。こ
のようにスタックされる理由は、DSPコア3500を
スリープモードから起動させ実行モードにするために、
これらの標準割込みを使用することが可能であるからで
ある。しかし、全ての標準割込み要求もしくはある標準
割込み要求対しては、割込み要求が受け取られた時のD
SP1100の動作モードを示すように、動作モード状
態ビットをスタックできることは当業者にとって明かで
ある。
【0137】本発明を、いくつかの特定の実施例を挙げ
て説明してきたが、この説明は本発明を説明するために
なされたものであって、本発明を限定するものではな
い。ここに記載されている実施例は、ディジタル信号処
理プロセッサに関連して説明されたものであるが、マイ
クロプロセッサ等の他のデータ処理装置にも同様に適用
することが可能である。さらに、特許請求の範囲によっ
て定義される本発明の要旨および範囲から逸脱すること
なく、様々な修正例が可能であることは当業者にとって
明かである。
【0138】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0139】すなわち、本発明のデータプロセッサによ
れば、任意の割込み要求の前後において任意の動作モー
ドを維持することができる、という効果が得られる。
【0140】また、本発明のデータプロセッサによれ
ば、インサーキットエミュレータによるシステム開発を
容易に行うことができる、という効果が得られる。
【0141】本発明のデータプロセッサの割込み要求処
理方法によれば、任意の割込み要求の前後においてデー
タプロセッサの任意の動作モードの保存および復元がで
きる、という効果が得られる。
【0142】また、本発明のデータプロセッサの割込み
要求処理方法によれば、インサーキットエミュレータに
よるシステム開発を容易に行うことができる、という効
果が得られる。
【図面の簡単な説明】
【図1】本発明に係るディジタル信号プロセッサと、ホ
ストマイクロプロセッサと、インサーキットエミュレー
ション(ICE)システムから成るデータ処理システム
のブロック図である。
【図2】本発明に係るDSPの命令セットのための命令
クラスと命令タイプのリストである。
【図3(a)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(b)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(c)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(d)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(e)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(f)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(g)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(h)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図3(i)】本発明に特有のDSPの命令セット中の
命令群のリストである。
【図4】本発明に係るDSPのタイミングユニットとク
ロックパルス発生器のブロック図である。
【図5】本発明に係るDSPのプログラム制御ユニット
のブロック図である。
【図6(a)】本発明に係るDSPの共通デコーダユニ
ットのブロック図である。
【図6(b)】本発明に係るDSPの共通デコーダユニ
ットのブロック図である。
【図6(c)】本発明に係るDSPの共通デコーダユニ
ットのブロック図である。
【図7】共通デコーダユニットのレジスタブロックのブ
ロック図である。
【図8】本発明に係るDSPの実行ユニットのブロック
図である。
【図9】本発明に係るDSPのアドレスユニットのブロ
ック図である。
【図10】ダイレクトメモリアクセスコントローラと、
ディジタル信号プロセッサ/ホストマイクロプロセッサ
間の周辺インタフェースのブロック図である。
【図11】データ処理システムにおけるインサーキット
エミュレーション(ICE)システムのブロック図であ
る。
【図12】ディジタル信号処理プロセッサの割込みコン
トローラのブロック図である。
【符号の説明】
1000 データ処理システム 1102 Xデータバス 1104 Yデータバス 1108 Xアドレスバス 1110 Yアドレスバス 1112 DMACアドレスバス 1114 PC命令バス 1116 PCアドレスバス 1118 メモリ選択信号線 1120 クロック信号線 1130 DSPクラス命令 1132 RISCクラス命令 1200 ホストマイクロプロセッサ 1300 タイミングユニット 1400 命令メモリ 1500 プログラム制御ユニット 1550 ローカルPCUコントローラ 1600 共通デコーダユニット 1700 実行ユニット 1750 ローカル実行ユニット(EXU)コントロー
ラ 1800 アドレスユニット 1850 ローカルアドレスユニット(AU)コントロ
ーラ 1900 データメモリ 2000 インタフェース 2100 並列アービタ 2200 周辺機器インタフェース 2300 外部周辺機器 2400 インタフェース 2500 外部メモリ 2600 割込みコントローラ 2700 ICEシステムインタフェース 2800 ICEシステム 3500 DSPコア 4000 並列I/Oインタフェース 5000 発振器

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データ処理動作を行なうためのデータ処
    理コアユニットと、特定データ値を格納するためのデー
    タスタック領域を備えたデータメモリとから構成されて
    いるデータプロセッサであって、 前記データ処理コアユニットは、 (1)中断割込み要求信号と複数の標準割込み要求信号
    とを含む割込み信号を受け取るための割込みコントロー
    ラと、 (2)データプロセッサモード制御値を含む条件コード
    値を格納するための条件コードレジスタと、 (3)前記条件コードレジスタから前記条件コード値を
    受け取って格納するための条件コードスタックレジスタ
    と、 (4)前記条件コードレジスタと連結し、前記データプ
    ロセッサモード制御値が既定のスリープモード値に設定
    されている場合は、前記データ処理コアユニットによる
    データ処理動作を中断させ、一方、前記データプロセッ
    サモード制御値が既定の実行モードに設定されている場
    合は、前記データ処理コアユニットによるデータ処理動
    作をイネーブルにするモード制御手段と、 (5)前記割込みコントローラと連結し、条件コードレ
    ジスタ制御信号を生成して、受け取った各々の割込み要
    求信号に応じて、前記データプロセッサモード制御値に
    対して演算処理動作を行なう割込みデコーダとを備え、 前記割込みデコーダは、受信した前記中断割込み要求信
    号に対しては、最初に前記条件コードレジスタに保持さ
    れている前記モード制御値を前記条件コードスタックレ
    ジスタにコピーするように、条件コードレジスタ制御信
    号を生成し、次に前記モード制御値を前記既定の実行モ
    ード値に設定するように、条件コードレジスタ制御信号
    を生成して応答する状態機械を備え、 前記割込みデコーダの前記状態機械は、標準割込み要求
    信号に対しては、最初に前記モード制御値を前記既定の
    実行モード値に設定するように前記条件コードレジスタ
    制御信号を生成し、次に前記条件コードレジスタに保持
    されている前記モード制御値を前記データスタック領域
    にコピーするように、条件コードレジスタ制御信号を生
    成して応答し、 前記データ処理コアユニットは、更に、前記モード制御
    値を実行モード値またはスリープモード値の何れか一つ
    に設定し、かつ前記条件コードレジスタ制御信号に応じ
    て、前記モード制御値を前記条件コードスタックレジス
    タまたは前記データスタック領域の何れか一つにコピー
    するための条件コードコントローラを備えていることを
    特徴とするデータプロセッサ。
  2. 【請求項2】 前記データ処理ユニットは、第1の既定
    モード設定命令に対しては、前記モード制御値を前記既
    定の実行モード値に設定するように条件コードレジスタ
    制御信号を生成して応答し、また、第2の既定モード設
    定命令に対しては、前記モード制御値を前記既定のスリ
    ープモード値に設定するように条件コードレジスタ制御
    信号を生成して応答し、また、第3の既定モード設定命
    令に対しては、前記モード制御値を前記既定のソフトウ
    ェア待機モード値に設定するように条件コードレジスタ
    制御信号を生成して応答するデコーダ回路を備え、 前記データプロセッサは、データ転送動作を行なうため
    のダイレクトメモリアクセスコントローラを更に備え、
    前記ダイレクトメモリアクセスコントローラは、前記モ
    ード制御値が前記既定のソフトウェア待機モード値に設
    定されている場合には、前記ダイレクトメモリアクセス
    コントローラの動作を中断し、かつ前記データプロセッ
    サモード制御値が既定の実行モードに設定されている場
    合や既定のスリープモードに設定されている場合には、
    前記ダイレクトメモリアクセスコントローラのデータ転
    送動作をイネーブルにする手段を備えていることを特徴
    とする請求項1記載のデータプロセッサ。
  3. 【請求項3】 前記割込みデコーダは、受信した中断割
    込み要求信号に対しては、第1のプログラム分岐信号を
    生成すると同時に、条件コードレジスタに保持されてい
    る前記モード制御値を前記条件コードスタックレジスタ
    にコピーするように前記条件コードレジスタ制御信号を
    生成して応答し、 前記データ処理ユニットは、前記第1のプログラム分岐
    信号に呼応して既定の中断割込みサービスルーチンを実
    行するための手段を備えていることを特徴とする請求項
    1記載のデータプロセッサ。
  4. 【請求項4】 第1の命令アドレスを格納するための第
    1のプログラムカウンタレジスタと、 前記第1のプログラムカウンタレジスタからの命令アド
    レスを格納するためのプログラムスタックレジスタと、 第2の命令アドレスを格納するための第2のプログラム
    カウンタレジスタとを備え、 前記割込みデコーダの前記状態機械は、 (1)受信した各中断割込み要求信号に対しては、前記
    第2のプログラムカウンタレジスタからの前記第1の命
    令アドレスを前記プログラムスタックレジスタにコピー
    するように制御信号を生成して応答し、 (2)既定の中断復帰命令に対しては、前記プログラム
    スタックレジスタからの前記第1の命令アドレスを前記
    第1のプログラムカウンタレジスタにコピーするように
    制御信号を生成し、かつ前記条件コードスタックレジス
    タに格納されている前記モード制御値を前記条件コード
    レジスタにコピーするように条件コードレジスタ制御信
    号を生成して応答し、 (3)受信した各標準割込み要求信号に対しては、前記
    第2のプログラムカウンタレジスタからの前記第1の命
    令アドレスを前記データスタック領域にコピーするよう
    に制御信号を生成して応答し、 (4)既定の標準割込み復帰命令に対しては、前記デー
    タスタック領域からの前記第1の命令アドレスを前記第
    1のプログラムカウンタレジスタにコピーするように制
    御信号を生成し、かつ前記データスタック領域に格納さ
    れている前記モード制御値を前記条件コードレジスタに
    コピーするように条件コードレジスタ制御信号を生成し
    て応答することを特徴とする請求項1記載のデータプロ
    セッサ。
  5. 【請求項5】 データ処理動作を行なうためのデータ処
    理コアユニットと、 特定データ値を格納するためのスタック記憶手段とから
    構成されているデータプロセッサであって、 前記データ処理コアユニットは、 (1)中断割込み要求信号と複数の標準割込み要求信号
    とを含む割込み信号を受け取るための割込みコントロー
    ラと、 (2)データプロセッサモード制御値を含む条件コード
    値を格納するための条件コードレジスタと、 (3)前記条件コードレジスタに接続され、前記データ
    プロセッサモード制御値が既定のスリープモード値に設
    定されている場合は、前記データ処理コアユニットによ
    るデータ処理動作を中段させ、一方、前記データプロセ
    ッサモード制御値が既定の実行モード値に設定されてい
    る場合は、前記データ処理コアユニットによるデータ処
    理動作をイネーブルにするモード制御手段と、 (4)前記割込みコントローラに接続され、かつ条件コ
    ードレジスタ制御信号を生成して、受け取った各々の割
    込み要求信号に応じて、前記データプロセッサモード制
    御値に対して演算処理動作を行なう割込みデコーダとを
    備え、 前記割込みデコーダは、受信した中断割込み要求信号に
    対しては、最初に前記条件コードレジスタに保持されて
    いる前記モード制御値を前記スタック記憶手段にコピー
    するように、条件コードレジスタ制御信号を生成し、次
    に前記モード制御値を前記既定の実行モード値に設定す
    るように、条件コードレジスタ制御信号を生成して応答
    する状態機械を備え、 前記割込みデコーダの前記状態機械は、標準割込み要求
    信号に対しては、最初に前記モード制御値を前記既定の
    実行モード値に設定するように条件コードレジスタ制御
    信号を生成し、次に前記条件コードレジスタに保持され
    ている前記モード制御値を前記スタック記憶手段にコピ
    ーするように、条件コードレジスタ制御信号を生成して
    応答し、 前記データ処理コアユニットは、更に、前記モード制御
    値を実行モード値またはスリープモード値の何れか一つ
    に設定し、かつ前記条件コードレジスタ制御信号に応じ
    て、前記モード制御値を前記スタック記憶手段にコピー
    するための条件コードコントローラを備えていることを
    特徴とするデータプロセッサ。
  6. 【請求項6】 中断割込み要求信号と複数の標準割込み
    要求信号とを含む割込み信号を受け取るステップと、 データプロセッサモード制御値を含む条件コード値を条
    件コードレジスタに格納するステップと、 前記データプロセッサモード制御値が既定のスリープモ
    ード値に設定されている場合には、前記データプロセッ
    サによる前記データ処理動作を中断するステップと、 前記データプロセッサモード制御値が既定の実行モード
    値に設定されている場合には、前記データプロセッサに
    よる前記データ処理動作をイネーブルにするステップ
    と、 前記中断割込み要求信号に対しては、最初に前記条件コ
    ードレジスタに保持されている前記モード制御値を条件
    コードスタックレジスタにコピーするように、条件コー
    ドレジスタ制御信号を生成し、次に前記モード制御値を
    前記既定の実行モード値に設定するように、条件コード
    レジスタ制御信号を生成して応答するステップと、 前記標準割込み要求信号に対しては、最初に前記モード
    制御値を前記既定の実行モード値に設定するように条件
    コードレジスタ制御信号を生成し、次に前記条件コード
    レジスタに保持されている前記モード制御値をデータス
    タック領域を含むデータメモリにコピーするように、条
    件コードレジスタ制御信号を生成して応答するステップ
    と、 前記データプロセッサモード制御値を実行モード値また
    はスリープモード値の何れか一つに設定して、前記モー
    ド制御値を、前記条件コードレジスタ制御信号に応じ
    て、前記条件コードスタックレジスタまたは前記データ
    スタック領域の何れか一つにコピーするステップと、か
    らなることを特徴とするデータプロセッサの割込み要求
    処理方法。
  7. 【請求項7】 第1の既定モード設定命令に対しては、
    前記モード制御値を前記既定の実行モード値に設定する
    ように条件コードレジスタ制御信号を生成して応答し、
    また、第2の既定モード設定命令に対しては、前記モー
    ド制御値を前記既定のスリープモード値に設定するよう
    に条件コードレジスタ制御信号を生成して応答し、ま
    た、第3の既定モード設定命令に対しては、前記モード
    制御値を前記既定のソフトウェア待機モード値に設定す
    るように条件コードレジスタ制御信号を生成して応答す
    るステップと、 前記モード制御値が前記既定のソフトウェア待機モード
    値に設定されている場合には、ダイレクトメモリアクセ
    スコントローラによるデータ転送動作を中断し、かつ前
    記データプロセッサモード制御値が既定の実行モードに
    設定されている場合や既定のスリープモードに設定され
    ている場合には、前記ダイレクトメモリアクセスコント
    ローラのデータ転送動作をイネーブルにするステップ
    と、をさらに備えていることを特徴とする請求項6記載
    のデータプロセッサの割込み要求処理方法。
  8. 【請求項8】 受信した中断割込み要求信号に対して
    は、第1のプログラム分岐信号を生成すると同時に、条
    件コードレジスタに保持されている前記モード制御値を
    前記条件コードスタックレジスタにコピーするように前
    記条件コードレジスタ制御信号を生成して応答するステ
    ップと、 前記第1のプログラム分岐信号に応答し既定の中断割込
    みサービスルーチンを実行するためのステップと、をさ
    らに備えていることを特徴とする請求項6記載のデータ
    プロセッサの割込み要求処理方法。
  9. 【請求項9】 第1の命令アドレスを第1のプログラム
    カウンタレジスタに格納するためのステップと、 受信した各中断割込み要求信号に対しては、 前記第1のプログラムカウンタレジスタからの前記第1
    の命令アドレスをプログラムスタックレジスタにコピー
    するように制御信号を生成して応答するステップと、 既定の中断復帰命令に対しては、前記プログラムスタッ
    クレジスタからの前記第1の命令アドレスを第2のプロ
    グラムカウンタレジスタにコピーするように制御信号を
    生成し、かつ前記条件コードスタックレジスタに格納さ
    れている前記モード制御値を前記条件コードレジスタに
    コピーするように条件コードレジスタ制御信号を生成し
    て応答するステップと、 受信した各標準割込み要求信号に対しては、前記第1の
    プログラムカウンタレジスタからの前記第1の命令アド
    レスを前記データスタック領域にコピーするように制御
    信号を生成して応答するステップと、 既定の標準割込み復帰命令に対しては、前記データスタ
    ック領域からの前記第1の命令アドレスを前記第2のプ
    ログラムカウンタレジスタにコピーするように制御信号
    を生成し、かつ前記データスタック領域に格納されてい
    る前記モード制御値を前記条件コードレジスタにコピー
    するように条件コードレジスタ制御信号を生成して応答
    するステップと、をさらに備えていることを特徴とする
    請求項6記載のデータプロセッサの割込み要求処理方
    法。
  10. 【請求項10】 中断割込み要求信号と複数の標準割込
    み要求信号とを含む割込み信号を受け取るステップと、 データプロセッサモード制御値を含む条件コード値を条
    件コードレジスタ内に格納するステップと、 前記データプロセッサモード制御値が既定のスリープモ
    ード値に設定されている場合には、前記データ処理ユニ
    ットによるデータ処理動作を中断するステップと、 前記データプロセッサモード制御値が既定の実行モード
    値に設定されている場合には、前記データ処理ユニット
    によるデータ処理動作をイネーブルにするステップと、 受信した中断割込み要求信号に対しては、最初に前記条
    件コードレジスタに保持されている前記モード制御値を
    スタック記憶手段にコピーするように、条件コードレジ
    スタ制御信号を生成し、次に前記モード制御値を前記既
    定の実行モード値に設定するように、条件コードレジス
    タ制御信号を生成して応答するステップと、 標準割込み要求信号に対しては、最初に前記モード制御
    値を前記既定の実行モード値に設定するように条件コー
    ドレジスタ制御信号を生成し、次に前記条件コードレジ
    スタに保持されている前記モード制御値を前記スタック
    記憶手段にコピーするように、条件コードレジスタ制御
    信号を生成して応答するステップと、 前記データプロセッサモード制御値を実行モード値また
    はスリープモード値の何れか一つに設定して、前記モー
    ド制御値を、前記条件コードレジスタ制御信号に応じ
    て、前記スタック記憶手段にコピーするステップと、か
    らなることを特徴とするデータプロセッサの割込み要求
    処理方法。
JP6226959A 1993-09-27 1994-09-21 データプロセッサおよびその割込み要求処理方法 Pending JPH07175666A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/127,679 1993-09-27
US08/127,679 US5440747A (en) 1993-09-27 1993-09-27 Data processor with control logic for storing operation mode status and associated method

Publications (1)

Publication Number Publication Date
JPH07175666A true JPH07175666A (ja) 1995-07-14

Family

ID=22431357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6226959A Pending JPH07175666A (ja) 1993-09-27 1994-09-21 データプロセッサおよびその割込み要求処理方法

Country Status (2)

Country Link
US (1) US5440747A (ja)
JP (1) JPH07175666A (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960003526B1 (ko) * 1992-10-02 1996-03-14 삼성전자주식회사 반도체 메모리장치
JP3172214B2 (ja) * 1991-09-30 2001-06-04 富士通株式会社 状態モード設定方式
US6279116B1 (en) 1992-10-02 2001-08-21 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory devices that utilize clock masking signals to control internal clock signal generation
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
US5809532A (en) * 1993-12-06 1998-09-15 Motorola Inc. Data processor with cache and method of operation
JPH07334372A (ja) * 1993-12-24 1995-12-22 Seiko Epson Corp エミュレートシステム及びエミュレート方法
US5630102A (en) * 1994-12-19 1997-05-13 Intel Corporation In-circuit-emulation event management system
DE69633166T2 (de) * 1995-05-26 2005-08-18 National Semiconductor Corp., Santa Clara Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
US5872995A (en) * 1995-07-26 1999-02-16 Compaq Computer Corporation System for causing system management interrupt to execute second program before use of a scancode by first program if said scancode comprises a hotkey
FR2740239B1 (fr) * 1995-10-19 1997-12-05 Sgs Thomson Microelectronics Circuit integre perfectionne d'acces direct en memoire
US5761524A (en) * 1996-03-15 1998-06-02 Renditon, Inc. Method and apparatus for performing and operation multiple times in response to a single instruction
US5954819A (en) * 1996-05-17 1999-09-21 National Semiconductor Corporation Power conservation method and apparatus activated by detecting programmable signals indicative of system inactivity and excluding prefetched signals
US5887179A (en) * 1996-06-11 1999-03-23 Motorola, Inc. System power saving means and method
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
US5889978A (en) * 1997-04-18 1999-03-30 Intel Corporation Emulation of interrupt control mechanism in a multiprocessor system
EP0926589A1 (en) * 1997-12-24 1999-06-30 STMicroelectronics S.r.l. Processor having internal control instructions
US6681280B1 (en) * 1998-10-29 2004-01-20 Fujitsu Limited Interrupt control apparatus and method separately holding respective operation information of a processor preceding a normal or a break interrupt
US7133951B1 (en) * 2000-02-29 2006-11-07 Bourekas Philip A Alternate set of registers to service critical interrupts and operating system traps
JP2003044184A (ja) * 2001-08-01 2003-02-14 Canon Inc データ処理装置及び電力制御方法
US6715038B1 (en) * 2001-11-05 2004-03-30 Lsi Logic Corporation Efficient memory management mechanism for digital signal processor and method of operation thereof
JP2004206389A (ja) * 2002-12-25 2004-07-22 Denso Corp Risc型cpu,コンパイラ,マイクロコンピュータ及び補助演算装置
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置
US7099978B2 (en) * 2003-09-15 2006-08-29 Hewlett-Packard Development Company, Lp. Method and system of completing pending I/O device reads in a multiple-processor computer system
US7725759B2 (en) * 2005-06-29 2010-05-25 Sigmatel, Inc. System and method of managing clock speed in an electronic device
JP4918866B2 (ja) * 2006-03-13 2012-04-18 ミツミ電機株式会社 通信装置、半導体集積回路装置及び通信システム
US20160179538A1 (en) * 2014-12-19 2016-06-23 Intel Corporation Method and apparatus for implementing and maintaining a stack of predicate values with stack synchronization instructions in an out of order hardware software co-designed processor
US10067892B2 (en) * 2015-03-06 2018-09-04 Microchip Technology Incorporated Microcontroller or microprocessor with dual mode interrupt
CN105373430A (zh) * 2015-10-13 2016-03-02 惠州Tcl移动通信有限公司 一种动态分配编译机的***及其方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503500A (en) * 1982-02-11 1985-03-05 Texas Instruments Incorporated Microcomputer with bus interchange module
US4498135A (en) * 1982-02-22 1985-02-05 Texas Instruments Incorporated Microcomputer with accumulator addressing
US4935867A (en) * 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
US5241660A (en) * 1986-10-30 1993-08-31 National Semiconductor Corporation Buffered asynchronous communications element with receive/transmit control and status reporting
US5329471A (en) * 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
US5185878A (en) * 1988-01-20 1993-02-09 Advanced Micro Device, Inc. Programmable cache memory as well as system incorporating same and method of operating programmable cache memory
US4980836A (en) * 1988-10-14 1990-12-25 Compaq Computer Corporation Apparatus for reducing computer system power consumption
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US5203000A (en) * 1988-12-09 1993-04-13 Dallas Semiconductor Corp. Power-up reset conditioned on direction of voltage change
US5241680A (en) * 1989-06-12 1993-08-31 Grid Systems Corporation Low-power, standby mode computer
US5313618A (en) * 1992-09-03 1994-05-17 Metalink Corp. Shared bus in-circuit emulator system and method
US5325359A (en) * 1992-11-04 1994-06-28 United Technologies Corporation MIL-STD-1553 interface device having concurrent remote terminal and monitor terminal operation

Also Published As

Publication number Publication date
US5440747A (en) 1995-08-08

Similar Documents

Publication Publication Date Title
JPH07175666A (ja) データプロセッサおよびその割込み要求処理方法
US9158547B2 (en) Methods and apparatus for scalable array processor interrupt detection and response
US8181000B2 (en) Method and apparatus for binding shadow registers to vectored interrupts
EP0455345B1 (en) Programmable controller
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
US5734927A (en) System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates
US5068821A (en) Bit processor with powers flow register switches control a function block processor for execution of the current command
US7051146B2 (en) Data processing systems including high performance buses and interfaces, and associated communication methods
US20060168428A1 (en) Method of providing microcontroller context management
US7562207B2 (en) Deterministic microcontroller with context manager
US20090063881A1 (en) Low-overhead/power-saving processor synchronization mechanism, and applications thereof
US5761492A (en) Method and apparatus for uniform and efficient handling of multiple precise events in a processor by including event commands in the instruction set
US6988121B1 (en) Efficient implementation of multiprecision arithmetic
KR19980018071A (ko) 멀티미디어 신호 프로세서의 단일 명령 다중 데이터 처리
JPH0384632A (ja) データ処理装置
US5987559A (en) Data processor with protected non-maskable interrupt
EP1235139A2 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JP2005353105A (ja) データ処理装置及びマイクロコンピュータ
Marzal et al. A N-best sentence hypotheses enumeration algorithm with duration constraints based on the two level algorithm
US20130159682A1 (en) Decimal floating-point processor
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
JPS61208133A (ja) 仮想計算機システムにおける状態レジスタ制御装置
US20060168421A1 (en) Method of providing microcontroller cache memory