(57)【特許請求の範囲】
【請求項１】
主処理手段からの所定の命令により動作されると共に、割り込み信号を受けて所定の状態になるようになされた周辺処理手段と、
上記割り込み信号に応じて上記所定の命令を無効にする命令無効手段と、
選択信号に応じて上記命令無効手段による上記無効にする動作を行わせるか否かを選択する選択手段とを備えた信号処理装置。
【請求項２】
上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を破棄するタイプである場合に、上記選択手段は、上記命令無効手段に上記無効にする動作を行わせないことを特徴とする請求項１記載の信号処理装置。
【請求項３】
上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を保持するタイプである場合に、上記選択手段は、上記命令無効手段に上記無効にする動作を行わせるようにすることを特徴とする請求項１記載の信号処理装置。
【請求項４】
上記主処理手段が、ＣＰＵの基幹部分であることを特徴とする請求項１記載の信号処理装置。
【請求項５】
上記主処理手段が、ＤＳＰの基幹部分であることを特徴とする請求項１記載の信号処理装置。
【請求項６】
上記主処理手段により上記選択信号が設定される設定手段を設けたことを特徴とする請求項１記載の信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵやＤＳＰの周辺処理装置として用いられる半導体集積回路に適用して好適な信号処理装置に関するものである。
【０００２】
【従来の技術】
近年の半導体集積回路は、プロセスの発達と共に１チップ内に集積されるトランジスタ数、論理素子数も１００万をはるかに超える大規模なものへと変わりつつある。同時にＣＡＤの発達により、より複雑で大規模な論理設計が短期間で可能になった。これらの事情を受けて大きく発展している分野がＡＳＩＣ（特定用途向け専用ＬＳＩ）開発である。
【０００３】
従来の装置・システムにおいて汎用ＣＰＵ（中央処理装置）、ＤＳＰ（ディジタル信号処理装置）では実現しにくい、または実現できない部分がＡＳＩＣで補完されていた。それが現在ではＣＰＵ、ＤＳＰでさえ１つのコアとなり、ＡＳＩＣを構成する部品となりつつある。さらに、そのＣＰＵ、ＤＳＰコアも従来あった汎用ＣＰＵ、ＤＳＰをそのままの形ではなく、ＣＰＵ、ＤＳＰ内の基幹部分と周辺ブロック部分とに分けて、それぞれ部品化してユーザに供給する形に成りつつある。従って、今後のＡＳＩＣ開発は、必要な処理能力を持ったＣＰＵ、ＤＳＰの基幹部分＋必要な機能を持った周辺ブロック群＋特定用途部分（ユーザ独自設計）の形になると考えられる。
【０００４】
次に、ＣＰＵ、ＤＳＰの基幹部分と周辺ブロックとの一般的な関係について述べる。
周辺ブロックは、ＣＰＵ、ＤＳＰの基幹部分とアドレスバス、データバスで接続され、その動作を制御される。また、周辺ブロックは、その動作の区切りをＣＰＵ、ＤＳＰの基幹部分に報知するために、割り込み信号をＣＰＵ、ＤＳＰの基幹部分に出す。これ以外では通常、周辺ブロックはＣＰＵ、ＤＳＰの基幹部分とは独立した動作をする。
【０００５】
ＣＰＵ、ＤＳＰの基幹部分は、周辺ブロックからの上記報知のための割り込み信号を受けることで、そのブロックが１つの動作を終了したことを知り、次の動作を命令することができる。逆に言えば、周辺ブロックから上記報知のための割り込み信号をもらうまでは、ＣＰＵ、ＤＳＰの基幹部分は周辺ブロックがどのような動作をしているか全くの関知外である。
【０００６】
周辺ブロックの動作とＣＰＵ、ＤＳＰの基幹部分の動作とを分ける理由はいくつかある。第１には、周辺動作の処理時間がＣＰＵ、ＤＳＰの基幹部分の動作に比べて非常に長い場合である。こういった処理をＣＰＵ、ＤＳＰの基幹部分に割り当てると待ち状態ばかりとなり、非常に効率が悪くなる。例えば調歩同期などのデータ転送処理がそれに当たる。
【０００７】
第２には、ＣＰＵ、ＤＳＰの基幹部分の負荷に影響されてはいけない動作の場合である。ＣＰＵ、ＤＳＰの基幹部分には常に様々な外部要因が入るため、その処理速度は絶えず変化しているが、例えばタイマ動作などは絶対時間で動作しなければならないため、周辺ブロックとして独立させる必要がある。第３には、ＣＰＵ、ＤＳＰの基幹部分では制御できない場合である。例えばアナログ入出力のＣＰＵ、ＤＳＰの省電力のためのクロック制御や電力制御などがそれに当たる。
【０００８】
また、ＣＰＵ、ＤＳＰの基幹部分と周辺ブロックとの関係には別の面もある。周辺ブロックには、上述したように通信制御や時間制御がある。これらの制御の多くは標準的な手法が確立されているので、他システムとの互換性の上からも必ず同じＩ／Ｆを用いることが要求される。逆に言えば、周辺ブロックは独自性をあまり必要としない部分である。これに対してＣＰＵ、ＤＳＰの基幹部分は各ベンダーの独自性が必須である。
【０００９】
次に、ＣＰＵ、ＤＳＰの基幹部分が外部等からの割り込み信号を受けてからの動作を割り込み処理と呼ぶ。割り込み処理は、ＣＰＵ、ＤＳＰの基幹部分のプログラムの流れに対して新たな分岐処理を発生する。従って、通常は外部からの割り込み信号には優先度を設定したり、場合によっては割り込み処理対象からはずすマスクを設定したり（例えば特開平４─１６０６５０号公報など）することにより、ＣＰＵ、ＤＳＰの基幹部分のプログラムの全体の流れが乱れないように調節している。
【００１０】
一方、ＡＳＩＣユーザは、システムの能力を決定するＣＰＵ、ＤＳＰの基幹部分と周辺ブロックとを、各々独立に選択できる方が便利である。これは、前者を選択すると後者の一部しか使えないライブラリでは、設計のフレキシビリティが下がってしまうからである。また、ライブラリを提供するＡＳＩＣベンダーとしても、ＣＰＵ、ＤＳＰの基幹部分毎に周辺ブロック群を準備しようとすれば、その工数は膨大なものになり、結局、タイムリーな製品のリリースはできなくなる。
【００１１】
ＣＰＵ、ＤＳＰの基幹部分と周辺ブロックとは前述したように、アドレスバス、データバス、割り込み信号で接続されるので、Ｉ／Ｆ上はどのＣＰＵ、ＤＳＰの基幹部分と共通な周辺ブロックを開発することは可能である。そこで問題となるのは、ＣＰＵ、ＤＳＰの基幹部分が割り込みを認識する条件の違いである。
【００１２】
図５に従来の周辺ブロックを示す。この周辺ブロックは、不図示のＣＰＵ、ＤＳＰの基幹部分と接続されたアドレスバス９及びデータバス１０の内容をデコードするアドレスデコーダ８と、機能を担当する機能マクロ４と、アドレスデコーダ８からの命令を、外部からの割り込み信号２により無効とするキャンセル回路５とにより構成される。アドレスデコーダ８は、機能マクロ４へのスタート信号１を生成するものとし、機能マクロ４は、外部からの割り込み信号２が立ち下がると、動作を停止してアイドル状態に戻るものとする。
【００１３】
図６に、図５に示した周辺ブロックの動作タイミングチャートを示す。この周辺ブロックに対するＣＰＵ、ＤＳＰの基幹部分からの命令フロー２１のスタート命令の部分は、仮に図８のアセンブラで書かれているものとする。
このアセンブラは、周辺ブロックに対するスタート命令の前方で割り込み無効命令を発行し、後方で割り込み有効命令を発行している。これによりＣＰＵ、ＤＳＰの基幹部分は、図６のように、スタート命令の前後の期間で、外部からの割り込み無効期間に設定される。これは前述したように、ソフトの流れを乱さないための一般的な手法である。
【００１４】
図６の機能マクロ動作状態２２において、実行状態に入った周辺ブロックは、割り込み有効命令の後で割り込み信号２が立ち下がることにより、アイドル状態に戻る。尚、通常の割り込み信号２は、ＣＰＵ、ＤＳＰの基幹部分とは全く独立した外部要因によるものが多いので、以下の説明では、割り込み信号２は外部割り込み信号とする。
【００１５】
図７は、割り込み信号２がスタート命令の直前で立ち下がった場合を示している。この時点ではＣＰＵ、ＤＳＰの基幹部分も割り込み無効状態になっているため、この割り込み信号２はスタート命令の発行には影響しない。また、周辺ブロックは、割り込み信号２が立ち下がっているので、キャンセル回路５によりスタート命令は無視される。
【００１６】
上記割り込み無効状態での割り込みに対する取り扱いとして、ＣＰＵ、ＤＳＰの基幹部分が、その割り込みを保持するものと、破棄するものとがある。これはＣＰＵ、ＤＳＰの基幹部分の設計仕様に依存している。
【００１７】
【発明が解決しようとする課題】
図５および図７で示した周辺ブロックは、割り込み無効状態での割り込み直後のスタート命令はキャンセル回路５により無視される仕ようになっているが、ＣＰＵ、ＤＳＰの基幹部分が割り込み無効状態での割り込みを保持するタイプの場合には、割り込み有効状態に戻った後に割り込みが有ったことを認識するので、周辺ブロックがスタート命令を無視したことは容易に類推できる。
【００１８】
ところが、ＣＰＵ、ＤＳＰの基幹部分が割り込み無効状態での割り込みを破棄するタイプの場合には、周辺ブロックがスタート命令を無視した理由がわからず、システムとして破綻する。従って、このようなＣＰＵ、ＤＳＰの基幹部分に適した周辺ブロックの動作としては、スタート命令直前に外部からの割り込みが有っても無くても、スタート命令が来たら動作を始めることができるということになる。
【００１９】
このためＣＰＵ、ＤＳＰの基幹部分が割り込み無効状態での割り込みを保持するか破棄するかにそれぞれに適合した機能的には同じ２つの周辺ブロックが必要となる。このことは、従来の技術で述べたライブラリ供給元の開発工数・管理工数が著しく増加したり、あるＣＰＵ、ＤＳＰの基幹部分には使えない周辺ブロックが発生したりするという問題を生じる。
【００２０】
本発明は上記のような問題を解決するためになされたもので、ＣＰＵ、ＤＳＰの命令で動作する周辺ブロックを割り込み無効時に入力された割り込みを保持する、破棄するそれぞれの処理タイプのＣＰＵ、ＤＳＰに適合させることを目的としている。
【００２１】
【課題を解決するための手段】
上記目的を達成するために本発明においては、主処理手段からの所定の命令により動作されると共に、割り込み信号を受けて所定の状態になるようになされた周辺処理手段と、上記割り込み信号に応じて上記所定の命令を無効にする命令無効手段と、選択信号に応じて上記命令無効手段による上記無効にする動作を行わせるか否かを選択する選択手段とを設けている。
【００２２】
また、上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を破棄するタイプである場合には、上記選択手段により、上記命令無効手段に上記無効にする動作を行わせないようにしてよく、また、上記処理タイプが、上記割り込み無効状態にあるときに入る上記割り込み信号を保持するタイプである場合には、上記選択手段により上記無効にする動作を行わせるようにしてよい。
【００２３】
また、上記主処理手段は、ＣＰＵの基幹部分、あるいはＤＳＰの基幹部分であってよい。
さらに、上記主処理手段により上記選択信号が設定される設定手段を設けてもよい。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図１は本発明の第１の実施の形態を示すブロック図であり、図５と対応する部分には同一番号が付されている。
図１において、主処理手段としての不図示のＣＰＵ、ＤＳＰの基幹部分から出される命令は、アドレスバス９及びデータバス１０を介してアドレスデコーダ８に送られ、ここで周辺処理手段としての機能マクロ４を動作させるスタート信号１が生成される。キャンセル回路５を通じてスタート信号１を受けた機能マクロ４は動作を開始し、割り込み信号２が発生すると、機能マクロ４は動作を停止してアイドル状態となる。尚、この回路では、外部割り込み発生を割り込み信号２の立ち下がり波形とする。
【００２５】
また、上記ＣＰＵ、ＤＳＰの基幹部分から出されるスタート信号１を割り込み信号２でキャンセルする命令無効手段としてのキャンセル回路５と、選択信号３によりキャンセル回路５の有効、無効を選択する選択回路６とが設けられている。この選択回路６は、選択信号が“Ｈ”レベルのときキャンセル回路５を無効とするようになされている。
【００２６】
次に、ＣＰＵ、ＤＳＰの基幹部分から出されるスタート信号１の直前で割り込みが発生した場合について選択信号３のレベル別に説明する。
図２は、割り込み無効状態時に選択信号３を“Ｈ”レベルにした場合のタイミングチャートである。尚、動作の基になるアセンブラは前述した図８で示すコードであるものとする。
【００２７】
図１、図２において、選択回路６はキャンセル回路５を無効にしている。また、ＣＰＵ、ＤＳＰの基幹部分から出されるスタート信号１の直前で発生した割り込み信号２による割り込みは、割り込み無効命令により無効になる。従って、スタート命令があれば、機能マクロ４はアイドル状態から動作を開始する。
【００２８】
上記動作によれば、選択信号を“Ｈ”レベルにしてキャンセル回路５を無効にした場合は、ＣＰＵ、ＤＳＰの基幹部分が、割り込み無効状態で入った割り込み信号２を破棄するタイプのものである場合に、この周辺ブロックの動作は、ＣＰＵ、ＤＳＰの基幹部分の把握する割り込み状態と適合することになる。
【００２９】
図３は選択信号３を“Ｌ”レベルにした場合のタイミングチャートである。動作の基になるアセンブラは図８で示すコードである。
図１、図３において、キャンセル回路５は有効に動作する。これによってＣＰＵ、ＤＳＰの基幹部分から出されるスタート命令の直前で発生した割り込みは有効となり、スタート命令が入っても、キャンセル回路５がスタート信号１をキャンセルし、機能マクロ４は動作を開始せず、アイドル状態が続くことになる。
【００３０】
上記動作によれば、選択信号を“Ｌ”レベルにしてキャンセル回路５を動作させた場合は、ＣＰＵ、ＤＳＰの基幹部分が、割り込み無効状態で入った割り込みを保持するタイプのものである場合に、この周辺ブロックの動作は、ＣＰＵ、ＤＳＰの基幹部分の把握する割り込み状態と適合することになる。
【００３１】
このように本実施の形態によれば、タイプの異なるＣＰＵ、ＤＳＰの基幹部分に対して、共通の機能マクロ４を選択信号３を切り替えるだけで適合させることができる。これによってタイプ毎にほぼ同じ機能を有する周辺ブロックを多数準備する必要がなくなる。
【００３２】
図４に本発明の第２の実施の形態を示す。
本実施の形態においては、図１の第１の実施の形態で外部から入力した選択信号３を、アドレスデコーダ８により設定される設定手段としての内部レジスタ１１の出力としている。本実施の形態による回路を用いて、図２で示したタイミングチャートと同等の動作をさせるには、割り込み無効・有効命令の後に、アドレスデコーダ８により上記内部レジスタ１１を“１”又は“０”に設定すればよい。
【００３３】
【発明の効果】
以上説明したように本発明によれば、周辺ブロックとＣＰＵ、ＤＳＰ等の主処理手段からの命令を外部割り込み信号に応じて無効にするように構成すると共に、選択信号により上記無効にする動作を行うか否かを選択できるように構成したことにより、ＣＰＵ、ＤＳＰの基幹部分等が割り込み無効状態で入力された割り込みを破棄するタイプ、保持するタイプの両タイプに対して選択信号を切り替えるだけで適応させることができる。このため上記２つのタイプ毎に割り込みの扱いだけが異なるほぼ同じ機能の周辺ブロックを複数開発する必要がなくなり、ライブラリの開発工数・管理工数が激減するという効果がある。また、開発ＴＡＴが短縮することにより、ユーザに対して早期にリリースすることができる。また、ＣＰＵ、ＤＳＰの基幹部分のタイプ別に開発する必要がないため、１つ開発するだけでユーザはどのＣＰＵ、ＤＳＰの基幹部分とも組み合わすことができるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態を示すブロック図である。
【図２】第１の実施の形態において選択信号レベル＝“Ｈ”の場合の動作を示すタイミングチャートである。
【図３】第１の実施の形態において選択信号レベル＝“Ｌ”の場合の動作を示すタイミングチャートである。
【図４】本発明の第２の実施の形態を示すブロック図である。
【図５】従来の信号処理装置のブロック図である。
【図６】従来の周辺ブロックの動作を示すタイミングチャートである。
【図７】従来の周辺ブロックのスタート信号の直前で割り込みが発生した場合のタイミングチャートである。
【図８】周辺ブロックをスタートさせるアセンブラコードの構成図である。
【符号の説明】
１  スタート信号
２  割り込み信号
３  選択信号
４  機能マクロ
５  キャンセル回路
６  選択回路
７  出力
８  アドレスデコーダ
９  アドレスバス
１０  データバス
１１  内部レジスタ
２１  命令フロー
２２  マクロ動作状態
【図１】
0003652269.tif 000002
【図２】
0003652269.tif 000003
【図３】
0003652269.tif 000004
【図４】
0003652269.tif 000005
【図５】
0003652269.tif 000006
【図６】
0003652269.tif 000007
【図７】
0003652269.tif 000008
【図８】
0003652269.tif 000009