JP3652269B2 - 信号処理装置 - Google Patents
信号処理装置 Download PDFInfo
- Publication number
- JP3652269B2 JP3652269B2 JP2001109560A JP2001109560A JP3652269B2 JP 3652269 B2 JP3652269 B2 JP 3652269B2 JP 2001109560 A JP2001109560 A JP 2001109560A JP 2001109560 A JP2001109560 A JP 2001109560A JP 3652269 B2 JP3652269 B2 JP 3652269B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- cpu
- dsp
- signal
- main
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、CPUやDSPの周辺処理装置として用いられる半導体集積回路に適用して好適な信号処理装置に関するものである。
【0002】
【従来の技術】
近年の半導体集積回路は、プロセスの発達と共に1チップ内に集積されるトランジスタ数、論理素子数も100万をはるかに超える大規模なものへと変わりつつある。同時にCADの発達により、より複雑で大規模な論理設計が短期間で可能になった。これらの事情を受けて大きく発展している分野がASIC(特定用途向け専用LSI)開発である。
【0003】
従来の装置・システムにおいて汎用CPU(中央処理装置)、DSP(ディジタル信号処理装置)では実現しにくい、または実現できない部分がASICで補完されていた。それが現在ではCPU、DSPでさえ1つのコアとなり、ASICを構成する部品となりつつある。さらに、そのCPU、DSPコアも従来あった汎用CPU、DSPをそのままの形ではなく、CPU、DSP内の基幹部分と周辺ブロック部分とに分けて、それぞれ部品化してユーザに供給する形に成りつつある。従って、今後のASIC開発は、必要な処理能力を持ったCPU、DSPの基幹部分+必要な機能を持った周辺ブロック群+特定用途部分(ユーザ独自設計)の形になると考えられる。
【0004】
次に、CPU、DSPの基幹部分と周辺ブロックとの一般的な関係について述べる。
周辺ブロックは、CPU、DSPの基幹部分とアドレスバス、データバスで接続され、その動作を制御される。また、周辺ブロックは、その動作の区切りをCPU、DSPの基幹部分に報知するために、割り込み信号をCPU、DSPの基幹部分に出す。これ以外では通常、周辺ブロックはCPU、DSPの基幹部分とは独立した動作をする。
【0005】
CPU、DSPの基幹部分は、周辺ブロックからの上記報知のための割り込み信号を受けることで、そのブロックが1つの動作を終了したことを知り、次の動作を命令することができる。逆に言えば、周辺ブロックから上記報知のための割り込み信号をもらうまでは、CPU、DSPの基幹部分は周辺ブロックがどのような動作をしているか全くの関知外である。
【0006】
周辺ブロックの動作とCPU、DSPの基幹部分の動作とを分ける理由はいくつかある。第1には、周辺動作の処理時間がCPU、DSPの基幹部分の動作に比べて非常に長い場合である。こういった処理をCPU、DSPの基幹部分に割り当てると待ち状態ばかりとなり、非常に効率が悪くなる。例えば調歩同期などのデータ転送処理がそれに当たる。
【0007】
第2には、CPU、DSPの基幹部分の負荷に影響されてはいけない動作の場合である。CPU、DSPの基幹部分には常に様々な外部要因が入るため、その処理速度は絶えず変化しているが、例えばタイマ動作などは絶対時間で動作しなければならないため、周辺ブロックとして独立させる必要がある。第3には、CPU、DSPの基幹部分では制御できない場合である。例えばアナログ入出力のCPU、DSPの省電力のためのクロック制御や電力制御などがそれに当たる。
【0008】
また、CPU、DSPの基幹部分と周辺ブロックとの関係には別の面もある。周辺ブロックには、上述したように通信制御や時間制御がある。これらの制御の多くは標準的な手法が確立されているので、他システムとの互換性の上からも必ず同じI/Fを用いることが要求される。逆に言えば、周辺ブロックは独自性をあまり必要としない部分である。これに対してCPU、DSPの基幹部分は各ベンダーの独自性が必須である。
【0009】
次に、CPU、DSPの基幹部分が外部等からの割り込み信号を受けてからの動作を割り込み処理と呼ぶ。割り込み処理は、CPU、DSPの基幹部分のプログラムの流れに対して新たな分岐処理を発生する。従って、通常は外部からの割り込み信号には優先度を設定したり、場合によっては割り込み処理対象からはずすマスクを設定したり(例えば特開平4─160650号公報など)することにより、CPU、DSPの基幹部分のプログラムの全体の流れが乱れないように調節している。
【0010】
一方、ASICユーザは、システムの能力を決定するCPU、DSPの基幹部分と周辺ブロックとを、各々独立に選択できる方が便利である。これは、前者を選択すると後者の一部しか使えないライブラリでは、設計のフレキシビリティが下がってしまうからである。また、ライブラリを提供するASICベンダーとしても、CPU、DSPの基幹部分毎に周辺ブロック群を準備しようとすれば、その工数は膨大なものになり、結局、タイムリーな製品のリリースはできなくなる。
【0011】
CPU、DSPの基幹部分と周辺ブロックとは前述したように、アドレスバス、データバス、割り込み信号で接続されるので、I/F上はどのCPU、DSPの基幹部分と共通な周辺ブロックを開発することは可能である。そこで問題となるのは、CPU、DSPの基幹部分が割り込みを認識する条件の違いである。
【0012】
図5に従来の周辺ブロックを示す。この周辺ブロックは、不図示のCPU、DSPの基幹部分と接続されたアドレスバス9及びデータバス10の内容をデコードするアドレスデコーダ8と、機能を担当する機能マクロ4と、アドレスデコーダ8からの命令を、外部からの割り込み信号2により無効とするキャンセル回路5とにより構成される。アドレスデコーダ8は、機能マクロ4へのスタート信号1を生成するものとし、機能マクロ4は、外部からの割り込み信号2が立ち下がると、動作を停止してアイドル状態に戻るものとする。
【0013】
図6に、図5に示した周辺ブロックの動作タイミングチャートを示す。この周辺ブロックに対するCPU、DSPの基幹部分からの命令フロー21のスタート命令の部分は、仮に図8のアセンブラで書かれているものとする。
このアセンブラは、周辺ブロックに対するスタート命令の前方で割り込み無効命令を発行し、後方で割り込み有効命令を発行している。これによりCPU、DSPの基幹部分は、図6のように、スタート命令の前後の期間で、外部からの割り込み無効期間に設定される。これは前述したように、ソフトの流れを乱さないための一般的な手法である。
【0014】
図6の機能マクロ動作状態22において、実行状態に入った周辺ブロックは、割り込み有効命令の後で割り込み信号2が立ち下がることにより、アイドル状態に戻る。尚、通常の割り込み信号2は、CPU、DSPの基幹部分とは全く独立した外部要因によるものが多いので、以下の説明では、割り込み信号2は外部割り込み信号とする。
【0015】
図7は、割り込み信号2がスタート命令の直前で立ち下がった場合を示している。この時点ではCPU、DSPの基幹部分も割り込み無効状態になっているため、この割り込み信号2はスタート命令の発行には影響しない。また、周辺ブロックは、割り込み信号2が立ち下がっているので、キャンセル回路5によりスタート命令は無視される。
【0016】
上記割り込み無効状態での割り込みに対する取り扱いとして、CPU、DSPの基幹部分が、その割り込みを保持するものと、破棄するものとがある。これはCPU、DSPの基幹部分の設計仕様に依存している。
【0017】
【発明が解決しようとする課題】
図5および図7で示した周辺ブロックは、割り込み無効状態での割り込み直後のスタート命令はキャンセル回路5により無視される仕ようになっているが、CPU、DSPの基幹部分が割り込み無効状態での割り込みを保持するタイプの場合には、割り込み有効状態に戻った後に割り込みが有ったことを認識するので、周辺ブロックがスタート命令を無視したことは容易に類推できる。
【0018】
ところが、CPU、DSPの基幹部分が割り込み無効状態での割り込みを破棄するタイプの場合には、周辺ブロックがスタート命令を無視した理由がわからず、システムとして破綻する。従って、このようなCPU、DSPの基幹部分に適した周辺ブロックの動作としては、スタート命令直前に外部からの割り込みが有っても無くても、スタート命令が来たら動作を始めることができるということになる。
【0019】
このためCPU、DSPの基幹部分が割り込み無効状態での割り込みを保持するか破棄するかにそれぞれに適合した機能的には同じ2つの周辺ブロックが必要となる。このことは、従来の技術で述べたライブラリ供給元の開発工数・管理工数が著しく増加したり、あるCPU、DSPの基幹部分には使えない周辺ブロックが発生したりするという問題を生じる。
【0020】
本発明は上記のような問題を解決するためになされたもので、CPU、DSPの命令で動作する周辺ブロックを割り込み無効時に入力された割り込みを保持する、破棄するそれぞれの処理タイプのCPU、DSPに適合させることを目的としている。
【0021】
【課題を解決するための手段】
上記目的を達成するために本発明においては、主処理手段からの所定の命令により動作されると共に、割り込み信号を受けて所定の状態になるようになされた周辺処理手段と、上記割り込み信号に応じて上記所定の命令を無効にする命令無効手段と、選択信号に応じて上記命令無効手段による上記無効にする動作を行わせるか否かを選択する選択手段とを設けている。
【0022】
また、上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を破棄するタイプである場合には、上記選択手段により、上記命令無効手段に上記無効にする動作を行わせないようにしてよく、また、上記処理タイプが、上記割り込み無効状態にあるときに入る上記割り込み信号を保持するタイプである場合には、上記選択手段により上記無効にする動作を行わせるようにしてよい。
【0023】
また、上記主処理手段は、CPUの基幹部分、あるいはDSPの基幹部分であってよい。
さらに、上記主処理手段により上記選択信号が設定される設定手段を設けてもよい。
【0024】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図1は本発明の第1の実施の形態を示すブロック図であり、図5と対応する部分には同一番号が付されている。
図1において、主処理手段としての不図示のCPU、DSPの基幹部分から出される命令は、アドレスバス9及びデータバス10を介してアドレスデコーダ8に送られ、ここで周辺処理手段としての機能マクロ4を動作させるスタート信号1が生成される。キャンセル回路5を通じてスタート信号1を受けた機能マクロ4は動作を開始し、割り込み信号2が発生すると、機能マクロ4は動作を停止してアイドル状態となる。尚、この回路では、外部割り込み発生を割り込み信号2の立ち下がり波形とする。
【0025】
また、上記CPU、DSPの基幹部分から出されるスタート信号1を割り込み信号2でキャンセルする命令無効手段としてのキャンセル回路5と、選択信号3によりキャンセル回路5の有効、無効を選択する選択回路6とが設けられている。この選択回路6は、選択信号が“H”レベルのときキャンセル回路5を無効とするようになされている。
【0026】
次に、CPU、DSPの基幹部分から出されるスタート信号1の直前で割り込みが発生した場合について選択信号3のレベル別に説明する。
図2は、割り込み無効状態時に選択信号3を“H”レベルにした場合のタイミングチャートである。尚、動作の基になるアセンブラは前述した図8で示すコードであるものとする。
【0027】
図1、図2において、選択回路6はキャンセル回路5を無効にしている。また、CPU、DSPの基幹部分から出されるスタート信号1の直前で発生した割り込み信号2による割り込みは、割り込み無効命令により無効になる。従って、スタート命令があれば、機能マクロ4はアイドル状態から動作を開始する。
【0028】
上記動作によれば、選択信号を“H”レベルにしてキャンセル回路5を無効にした場合は、CPU、DSPの基幹部分が、割り込み無効状態で入った割り込み信号2を破棄するタイプのものである場合に、この周辺ブロックの動作は、CPU、DSPの基幹部分の把握する割り込み状態と適合することになる。
【0029】
図3は選択信号3を“L”レベルにした場合のタイミングチャートである。動作の基になるアセンブラは図8で示すコードである。
図1、図3において、キャンセル回路5は有効に動作する。これによってCPU、DSPの基幹部分から出されるスタート命令の直前で発生した割り込みは有効となり、スタート命令が入っても、キャンセル回路5がスタート信号1をキャンセルし、機能マクロ4は動作を開始せず、アイドル状態が続くことになる。
【0030】
上記動作によれば、選択信号を“L”レベルにしてキャンセル回路5を動作させた場合は、CPU、DSPの基幹部分が、割り込み無効状態で入った割り込みを保持するタイプのものである場合に、この周辺ブロックの動作は、CPU、DSPの基幹部分の把握する割り込み状態と適合することになる。
【0031】
このように本実施の形態によれば、タイプの異なるCPU、DSPの基幹部分に対して、共通の機能マクロ4を選択信号3を切り替えるだけで適合させることができる。これによってタイプ毎にほぼ同じ機能を有する周辺ブロックを多数準備する必要がなくなる。
【0032】
図4に本発明の第2の実施の形態を示す。
本実施の形態においては、図1の第1の実施の形態で外部から入力した選択信号3を、アドレスデコーダ8により設定される設定手段としての内部レジスタ11の出力としている。本実施の形態による回路を用いて、図2で示したタイミングチャートと同等の動作をさせるには、割り込み無効・有効命令の後に、アドレスデコーダ8により上記内部レジスタ11を“1”又は“0”に設定すればよい。
【0033】
【発明の効果】
以上説明したように本発明によれば、周辺ブロックとCPU、DSP等の主処理手段からの命令を外部割り込み信号に応じて無効にするように構成すると共に、選択信号により上記無効にする動作を行うか否かを選択できるように構成したことにより、CPU、DSPの基幹部分等が割り込み無効状態で入力された割り込みを破棄するタイプ、保持するタイプの両タイプに対して選択信号を切り替えるだけで適応させることができる。このため上記2つのタイプ毎に割り込みの扱いだけが異なるほぼ同じ機能の周辺ブロックを複数開発する必要がなくなり、ライブラリの開発工数・管理工数が激減するという効果がある。また、開発TATが短縮することにより、ユーザに対して早期にリリースすることができる。また、CPU、DSPの基幹部分のタイプ別に開発する必要がないため、1つ開発するだけでユーザはどのCPU、DSPの基幹部分とも組み合わすことができるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図である。
【図2】第1の実施の形態において選択信号レベル=“H”の場合の動作を示すタイミングチャートである。
【図3】第1の実施の形態において選択信号レベル=“L”の場合の動作を示すタイミングチャートである。
【図4】本発明の第2の実施の形態を示すブロック図である。
【図5】従来の信号処理装置のブロック図である。
【図6】従来の周辺ブロックの動作を示すタイミングチャートである。
【図7】従来の周辺ブロックのスタート信号の直前で割り込みが発生した場合のタイミングチャートである。
【図8】周辺ブロックをスタートさせるアセンブラコードの構成図である。
【符号の説明】
1 スタート信号
2 割り込み信号
3 選択信号
4 機能マクロ
5 キャンセル回路
6 選択回路
7 出力
8 アドレスデコーダ
9 アドレスバス
10 データバス
11 内部レジスタ
21 命令フロー
22 マクロ動作状態
Claims (6)
- 主処理手段からの所定の命令により動作されると共に、割り込み信号を受けて所定の状態になるようになされた周辺処理手段と、
上記割り込み信号に応じて上記所定の命令を無効にする命令無効手段と、
選択信号に応じて上記命令無効手段による上記無効にする動作を行わせるか否かを選択する選択手段とを備えた信号処理装置。 - 上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を破棄するタイプである場合に、上記選択手段は、上記命令無効手段に上記無効にする動作を行わせないことを特徴とする請求項1記載の信号処理装置。
- 上記主処理手段の処理タイプが、この主処理手段が割り込み無効状態にあるときに入る上記割り込み信号を保持するタイプである場合に、上記選択手段は、上記命令無効手段に上記無効にする動作を行わせるようにすることを特徴とする請求項1記載の信号処理装置。
- 上記主処理手段が、CPUの基幹部分であることを特徴とする請求項1記載の信号処理装置。
- 上記主処理手段が、DSPの基幹部分であることを特徴とする請求項1記載の信号処理装置。
- 上記主処理手段により上記選択信号が設定される設定手段を設けたことを特徴とする請求項1記載の信号処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001109560A JP3652269B2 (ja) | 2001-04-09 | 2001-04-09 | 信号処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001109560A JP3652269B2 (ja) | 2001-04-09 | 2001-04-09 | 信号処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27786697A Division JPH11120004A (ja) | 1997-10-13 | 1997-10-13 | 信号処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001350633A JP2001350633A (ja) | 2001-12-21 |
JP3652269B2 true JP3652269B2 (ja) | 2005-05-25 |
Family
ID=18961480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001109560A Expired - Fee Related JP3652269B2 (ja) | 2001-04-09 | 2001-04-09 | 信号処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3652269B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005251105A (ja) * | 2004-03-08 | 2005-09-15 | Fujitsu Component Ltd | 入力装置 |
-
2001
- 2001-04-09 JP JP2001109560A patent/JP3652269B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001350633A (ja) | 2001-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5323828B2 (ja) | 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路 | |
US6081867A (en) | Software configurable technique for prioritizing interrupts in a microprocessor-based system | |
CN100527111C (zh) | 一种片上dma电路及其实现方法 | |
JP2007219678A (ja) | マルチレイヤバス・システム | |
US7376777B2 (en) | Performing an N-bit write access to an M×N-bit-only peripheral | |
JPH07281782A (ja) | クロック制御回路 | |
JP3652269B2 (ja) | 信号処理装置 | |
JP2004530966A (ja) | イベント処理 | |
JP2006268390A (ja) | 直列インタフェース回路 | |
JPH11120004A (ja) | 信号処理装置 | |
JPS60218152A (ja) | マイクロ・プロセツサ | |
KR100240658B1 (ko) | 상위수준 합성을 위한 계층구조의 제어기 및 인터럽트 처리회로 | |
JP3310482B2 (ja) | マイクロコンピュータ | |
JPS6352241A (ja) | マイクロプロセツサ | |
JPH0876876A (ja) | マイクロプロセッサのクロック供給制御回路 | |
JPH08249266A (ja) | データ転送回路 | |
KR100672550B1 (ko) | 멀티플 인터럽트 처리 방법 | |
JP4293086B2 (ja) | マルチプロセッサシステム及びプロセッサの制御方法 | |
JPH04215152A (ja) | メモリライトプロテクト制御装置 | |
JPH11288378A (ja) | マスク不可能インタ―ラプトを保護する機能を備えたデ―タプロセッサ | |
JP2002222161A (ja) | 半導体装置、及びデータ転送方法 | |
JP2007026367A (ja) | システムlsi用マルチタスクos | |
JPS62168258A (ja) | Cpu切換回路 | |
JPH0651979A (ja) | 周辺装置制御用マイクロプロセッサ | |
JPH03263128A (ja) | マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050222 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080304 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |