(57)【特許請求の範囲】
【請求項１】
コードＲＡＭから命令をフェッチするフェッチユニットであって、割込み信号を受け付けるフェッチユニットと、演算ユニットを含み汎用処理を行う実行ユニットとを含む汎用処理ユニットと、
前記汎用処理ユニットと同一チップ内に搭載された他の処理ユニットである専用処理ユニットであって、特定のデータ処理に特化した専用回路を備えた専用処理ユニットとを有するデータ処理装置であって、
前記コードＲＡＭには、前記実行ユニットで実行される汎用命令および前記専用処理ユニットで実行される専用命令を含むプログラムが格納されており、
前記フェッチユニットは、前記コードＲＡＭの指定された命令フェッチ用のアドレスから順番にフェッチし、フェッチした前記専用命令は前記専用処理ユニットに供給し、さらに、
前記フェッチユニットは、前記汎用処理ユニットの外部から供給される第１の割込み信号により遷移する前記命令フェッチ用のアドレスである第１の遷移先アドレスが格納された第１のレジスタと、
前記専用処理ユニットから供給される第２の割込み信号により遷移する前記命令フェッチ用のアドレスである第２の遷移先アドレスが格納された第２のレジスタであって、前記専用処理ユニットと同一チップ内のバスにより接続された第２のレジスタと、
前記第１の割込み信号および前記第２の割込み信号に基づき前記第１のレジスタに格納された前記第１の遷移先アドレスおよび前記第２のレジスタに格納された前記第２の遷移先アドレスを選択して出力する出力手段とを含み、
前記専用処理ユニットは、前記第２のレジスタの前記第２の遷移先アドレスを、前記バスを介して、前記第２の割込み信号の出力に対し予め変更しておく機能と、前記第２の割込み信号を出力し前記第２の遷移先アドレスの前記専用命令を取得する機能とを含む、データ処理装置。
【請求項２】
請求項１において、前記出力手段は前記第２の割込み信号を優先することを特徴とするデータ処理装置。
【請求項３】
請求項１または２において、複数の前記専用処理ユニットを有し、それらから供給される前記第２の割込み信号および前記第２のレジスタに設定される前記第２の遷移先アドレスを選択して前記フェッチユニットに供給する割込み選択手段をさらに有するデータ処理装置。
【請求項４】
コードＲＡＭから命令をフェッチするフェッチユニットであって、割込み信号を受け付けるフェッチユニットと、演算ユニットを含み汎用処理を行う実行ユニットとを含む汎用処理ユニットと、前記汎用処理ユニットと同一チップ内に搭載された他の処理ユニットである専用処理ユニットであって、特定のデータ処理に特化した専用回路を備えた専用処理ユニットとを有するデータ処理装置の制御方法であって、前記コードＲＡＭには、前記実行ユニットで実行される汎用命令および前記専用処理ユニットで実行される専用命令を含むプログラムが格納されており、前記フェッチユニットは、前記コードＲＡＭの指定された命令フェッチ用のアドレスから順番にフェッチし、フェッチした前記専用命令は前記専用処理ユニットに供給し、さらに、前記フェッチユニットは、前記汎用処理ユニットの外部から供給される第１の割込み信号により遷移する前記命令フェッチ用のアドレスである第１の遷移先アドレスが格納された第１のレジスタと、前記専用処理ユニットから供給される第２の割込み信号により遷移する前記命令フェッチ用のアドレスである第２の遷移先アドレスが格納された第２のレジスタであって、前記専用処理ユニットと同一チップ内のバスにより接続された第２のレジスタとを含み、
当該制御方法は、
前記フェッチユニットが外部から前記第１の割込み信号を受信すると前記第１のレジスタに設定された前記第１の遷移先アドレスを出力して第１の割込み処理を実行する工程と、
前記専用処理ユニットが、前記第２のレジスタの前記第２の遷移先アドレスを、前記バスを介して、前記第２の割込み信号の出力に対し予め変更し、前記フェッチユニットが、前記専用処理ユニットから前記第２の割込み信号を受信すると前記第２のレジスタに設定された前記第２の遷移先アドレスを出力して第２の割込み処理を実行し、前記第２の遷移先アドレスの前記専用命令を前記専用処理ユニットに供給する工程とを有する、制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセッサやその機能を補完する周辺回路に関し、特に、割込み処理を実行可能なデータ処理ユニットおよびその制御方法に関するものである。
【０００２】
【従来の技術】
高速ネットワークに関連する処理や、動画に代表される画像処理等に使用されるプロセッサは非常に高いクロック周波数で動作できるようになっており、特定のデータ処理をリアルタイムで実行する能力が備わってきている。一方、半導体テクノロジは３年で集積度を２倍にアップさせるといった速度で技術が向上しており、シリコンチップに搭載できる回路規模も数千万ゲートになりつつある。
【０００３】
【発明が解決しようとする課題】
このため、システム全体がワンチップに搭載されたシステムＬＳＩの開発が盛んに行われており、例えば、画像処理、符号化・復号化などにおける特定のデータ処理を行うプロセッサ（専用データ処理ユニット）と、外部要求に応じた割込要求などを含めた汎用的な処理を行うプロセッサ（データ処理ユニット）をワンチップに搭載したシステムＬＳＩが考えられている。このシステムＬＳＩでは、システム全体の制御はソフトウェアにより行われるが、そのソフトウェアの走行環境は汎用プロセッサ、すなわち、データ処理ユニットによって提供される。したがって、専用データ処理ユニットの動作も含めてソフトウェアで制御することが可能であり、フレキシブルなシステムを構築できるシステムＬＳＩを提供できる。また、実績のある専用データ処理ユニットでは処理が難しい部分は、汎用データ処理ユニットを用いてフレキシブルに対応することが可能であり、実績のある専用データ処理ユニットと汎用データ処理ユニットとを元に開発および設計を進めることができるので、短時間で性能が高く、信頼性の高いシステムＬＳＩを提供できるというメリットもある。
【０００４】
従来のシステムでは、汎用的なプロセッサが単体チップとしてプリント基板などのボード上に搭載され、ボード全体として一つのシステムが構成されている。このような経緯から、従来のプロセッサの機能の延長でシステム全体がワンチップに収納されたデータ処理装置を設計し、従来の汎用プロセッサを単純にシステムＬＳＩに組み込むだけでは、システムＬＳＩの機能を十分に活かしているとはいえない。すなわち、ボードに汎用的なプロセッサを搭載するときには、ボードのプリント配線を介して、ボード上に専用処理用に開発されたチップあるいは専用回路として搭載されている各機能ブロックと汎用プロセッサとを繋ぐ必要があるので、ピン数制限、プリント回路の密度などによりプロセッサに接続できる機能ブロックの数にはおのずと限界がある。これに対し、ワンチップに汎用プロセッサに加えて、各機能ブロックとしての機能を果たす回路を搭載してシステムインテグレーションを図ったシステムＬＳＩにおいては、チップ、すなわち、半導体装置内で機能ブロックと汎用プロセッサとを接続できるのでプリント配線と比較すると遥かに多くの信号線を確保できる。したがって、より多くの機能ブロックをワンチップ上で汎用プロセッサに接続することにより多機能で処理速度の速いシステムＬＳＩを提供することができる。
【０００５】
このような高性能のシステムＬＳＩを実際に実現しようにすると、各機能ブロックから割込み処理の要求が汎用プロセッサに多数入り込んでくることになる。したがって、それらの割込み要求に対し柔軟かつ高速に対処できなければ、機能ブロックを同一のチップ内に収納して集積化した効果はそれほどなく、システムＬＳＩの高速化を図ることは難しい。特に、高速ネットワークのデータ処理や動画データの処理を行う専用データ処理ユニットではリアルタイムのデータ処理が行われるので、このような専用データ処理ユニットをシステムＬＳＩに集積化するために同一のチップに搭載された汎用プロセッサ側にはより頻繁に割込み要求が入ってくることになる。このため、システムＬＳＩ化して専用データ処理ユニット側と汎用プロセッサとの融合を図り、高速処理が可能なシステムＬＳＩを実現する際に、専用データ処理ユニットを用いたリアルタイム応答性を損ねないためには、これらのユニットからの割込み要求を最小限のクロック数で迅速に処理できることが要求される。
【０００６】
しかしながら、プロセッサにおける割込み処理は、割込みレベルに応じたアドレスに遷移先アドレスを格納させておき、割込み要求があるとその予め設定された遷移先アドレスから命令をフェッチして割込み処理を実行する方法が採用されている。たとえば、コードＲＡＭのゼロ番地から７番地までに、割込み要求のレベル０〜７に応じた遷移先アドレスがそれぞれ予め格納される。この方法では、遷移先アドレスを変更しようとする場合には、事前にコードＲＡＭの内容を書き換えておく必要がある。したがって、専用データ処理ユニットなどの他の処理ユニットから様々な割込み要求があったとき、あるいは、複数の他の処理ユニットから異なる割込み要求があったときに予め設定されている遷移先アドレスでは対応できない。また、それらの割込み要求に対応するためにコードＲＡＭを書き換えるなどの処理を行おうとすると、それらの割込み要求に対応するために膨大なクロックを消費することになる。したがって、他の処理ユニットからの割込み要求に応じて柔軟に遷移先を変更することは不可能であり、他の処理ユニットと同一チップ内に収納されることにより集積化されデータの転送処理などは高速化できるが、リアルタイム性が要求される専用データ処理ユニットをワンチップにインテグレートしてクロック単位で処理を進行できる信頼性の高いシステムＬＳＩを提供することができなかった。
【０００７】
汎用プロセッサのハードウェアを専用処理ユニットなどの同一チップ内に搭載される他の処理ユニットの構成に合わせて設計変更することにより、割込み要求に対する処理を少ないクロックで実行できるようにすることも可能であろう。しかしながら、それでは、システムＬＳＩ毎にプロセッサも設計しなおすことになり実績のある汎用プロセッサを用いるメリットがなくなってしまい、すべてがカスタムのシステムＬＳＩを設計するのと同じになってしまう。したがって、システムＬＳＩの開発期間が長くなり、コストが上昇する要因となり、実績のある専用データ処理ユニットと汎用データ処理ユニットとを組み合わせ短期間に性能の良いシステムＬＳＩを提供することが難しくなる。
【０００８】
そこで、本発明においては、汎用性の高い汎用処理が可能なデータ処理ユニットであって、さらに、同一チップ上に搭載される専用データ処理ユニットなどの他の処理ユニットからの多彩な割込み要求に対しても柔軟に、最小限のクロックで対処することができるデータ処理ユニットおよびそれを搭載したシステムＬＳＩであるデータ処理装置を提供することを目的としている。特に、動画処理やネットワーク処理などのリアルタイムのデータ処理が要求されるシステムＬＳＩにおいて、汎用プロセッサと機能ブロックとなる他の処理ユニット間の遷移および割込み制御をより柔軟にクロック単位で制御することができるデータ処理ユニットおよびデータ処理装置を提供することを目的としている。
【０００９】
そして、汎用のデータ処理ユニットと、専用命令に基づくデータ処理を実行可能な専用データ処理ユニットとを搭載したシステムＬＳＩにおいて、リアルタイム処理性能の高いシステムＬＳＩとして提供することも本発明の目的である。
【００１０】
【課題を解決するための手段】
このため、本発明においては、汎用的なプロセッサであるデータ処理ユニットに、データ処理ユニットと同一チップに搭載された他の処理ユニットから遷移先アドレスを設定できる第２の記憶手段を設け、遷移先アドレスを直に設定できるようにすると共に、その遷移先アドレスを他の処理ユニットからの第２の割込み信号により選択できるようにしている。この結果、他の処理ユニットからの割込み要求に基づく遷移先アドレスをフレキシブルに設定することが可能となり、その遷移先アドレスを従来の予め設定されている遷移先アドレスと同様にクロック単位で選択して遷移先アドレスからの処理を実行することができる。
【００１１】
すなわち、本発明の一態様は、コードＲＡＭから命令をフェッチするフェッチユニットであって割込み信号を受け付けるフェッチユニットと、演算ユニットを含み汎用処理を行う実行ユニットとを含む汎用処理ユニットが、前記汎用処理ユニットと同一チップ内に搭載された他の処理ユニットであって、特定のデータ処理に特化した専用回路を備えた専用処理ユニットとを有するデータ処理装置である。前記コードＲＡＭには、前記実行ユニットで実行される汎用命令および前記専用処理ユニットで実行される専用命令を含むプログラムが格納されており、前記フェッチユニットは、前記コードＲＡＭの指定された命令フェッチ用のアドレスから順番にフェッチし、フェッチした前記専用命令は前記専用処理ユニットに供給する。さらに、前記フェッチユニットは、前記汎用処理ユニットの外部から供給される通常の割込み信号である第１の割込み信号により遷移する前記命令フェッチ用のアドレスである第１の遷移先アドレスが格納された第１のレジスタと、前記専用処理ユニットから供給される第２の割込み信号により遷移する前記命令フェッチ用のアドレスである第２の遷移先アドレスが格納された第２のレジスタであって、前記専用処理ユニットと同一チップ内のバスにより接続された第２のレジスタと、第１および第２の割込み信号に基づき第１のレジスタに格納された第１の遷移先アドレスおよび第２のレジスタに格納された第２の遷移先アドレスを選択して出力する出力手段とを含む。専用処理ユニットは、第２のレジスタの第２の遷移先アドレスを、バスを介して、第２の割込み信号の出力に対し予め変更しておく機能と、前記第２の割込み信号を出力し前記第２の遷移先アドレスの前記専用命令を取得する機能とを含む。また、本発明のデータ処理装置の制御方法は、フェッチユニットが外部から第１の割込み信号を受信すると第１のレジスタに設定された第１の遷移先アドレスを出力して第１の割込み処理を実行する工程と、専用処理ユニットが、第２のレジスタの第２の遷移先アドレスを、バスを介して、第２の割込み信号の出力に対し予め変更し、フェッチユニットが専用処理ユニットから第２の割込み信号を受信すると第２のレジスタから第２の遷移先アドレスを出力して第２の割込み処理を実行し、第２の遷移先アドレスの専用命令を専用処理ユニットに供給する工程とを有することを特徴としている。
【００１２】
本発明のデータ処理装置およびその制御方法では、データ処理ユニットの外部から供給される第１の割込み信号により遷移する第１の遷移先アドレスが格納された第１の記憶手段に加え、データ処理ユニットと共に同一チップに搭載される他の処理ユニットから供給される第２の割込み信号により遷移する第２の遷移先アドレスが格納される第２の記憶手段とを備えている。そして、レジスタなどにより構成される第２の記憶手段の第２の遷移先アドレスは、専用データ処理ユニットなどの他の処理ユニットから設定可能にしてある。したがって、他の処理ユニットからの第２の割込み信号に対応して遷移するアドレスは、他の処理ユニットからダイレクトに設定することができ、第２の割込み信号により、その遷移先アドレスからの処理を実行することができる。このため、第１の記憶手段に格納された第１の遷移先アドレスを変更することなく、他の処理ユニットからの割込み要求に柔軟に対処できる。
【００１３】
また、他の処理ユニットからの様々な割込み要求に対処するために、第１の記憶手段に記憶された第１の遷移先アドレスを変更するようなソフトウェア処理は不要であり、また、その様な処理ができるハードウェアも不要である。したがって、汎用プロセッサとして汎用的に用いられる割込み機能あるいはシステムに変更を加えずに、他の処理ユニットからの割込み信号に対し、外部からの従来の割込み信号と同じレベルで、同様の処理速度で、他の処理ユニットで指定された遷移先アドレスからの処理をフレキシブルに実行できる。
【００１４】
さらに、第２の記憶手段の遷移先アドレスは他の処理ユニットから設定することができるので、汎用のデータ処理ユニットの構成あるいはシステムを変更しなくても、それと共に搭載される他の処理ユニットにより、その他の処理ユニットが要求する割込み処理の内容をフレキシブルに遷移先アドレスとして変更あるいは設定することができる。また、他の処理ユニットは、同一チップ内に搭載されているために、プリント基板などに搭載されている場合と異なり、第２の記憶手段を構成するレジスタなどの記録媒体と他の処理ユニットとをバスなどの高速なデータ回線を介して簡単に接続することができる。したがって、第２の記憶手段の遷移先アドレスを変更あるいは設定する処理もクロック単位で行うことができ、第２の割込み信号を出力するタイミングと合わせてクロック単位で遷移先を制御することができる。
【００１５】
第１および第２の割込み信号に基づき第１および第２の遷移先アドレスを選択して出力可能な出力手段においては、外部からの割込み信号（第１の割込み信号）と、他の処理ユニットからの割込み信号（第２の割込み信号）のいずれを優先するようにしても良い。しかしながら、他の処理ユニットが、システムＬＳＩとして要求される特定のデータ処理を行う専用データ処理ユニットであることがほとんどとなるので、これら他の処理ユニットからの割込み信号を優先して選択し、それらの他の処理ユニットが要求する遷移先アドレスからの処理を優先して実行できるようにすることが望ましい。
【００１６】
同一チップに複数の他の処理ユニットを搭載しているデータ処理装置においては、複数の第２の記憶手段を有する汎用のデータ処理ユニットを提供することも可能であるが、汎用性が少なくなるとともに構成が複雑になるのでコストアップの要因である。これに対し、それら複数の他の処理ユニットから供給される第２の割込み信号および第２の記憶手段に設定される第２の遷移先アドレスを選択してデータ処理ユニットに供給する割込み選択手段を設けることにより、第２の記憶手段をそれぞれの他の処理ユニットに対応させなくても、それらの割込み要求に対して柔軟に対応することができる。したがって、複数の専用データ処理ユニットなどの他の処理ユニットと共に汎用性の高いデータ処理ユニットにより、それらの他の処理ユニットの要求に対し柔軟に、リアルタイムで応答できるデータ処理装置を提供できる。
【００１７】
このように、本発明にかかるデータ処理ユニットと他のデータ処理ユニットとを搭載したシステムＬＳＩにおいては、データ処理ユニットの汎用性を維持したまま、他の処理ユニットからの割込み要求に対し柔軟かつ高速に対処することが可能であり、リアルタイムのデータ処理に適したシステムＬＳＩを提供することができる。このため、他の処理ユニットとして、特に、高速ネットワークのデータ処理や動画データの処理を行う専用データ処理ユニットを搭載したリアルタイムのデータ処理に適したデータ処理装置、すなわち、システムＬＳＩを提供することができる。
【００１８】
そして、本発明のデータ処理ユニットは汎用性を維持したまま、他の処理ユニットからの割込み要求に対し柔軟にリアルタイムに高速に対処できるので、本発明のデータ処理ユニットと専用データ処理ユニットとを組み合わせることにより、設計および開発時間を大幅に短縮することが可能であり、短期間で高性能のシステムＬＳＩを開発でき、低コストで提供することができる。
【００１９】
データ処理ユニットに、他の処理ユニットに命令を供給可能なフェッチユニットを設けたデータ処理装置においては、さらに、他の処理ユニットが指定する遷移先アドレスからプログラムにより自由に設定できる。したがって、ハードウェアを変更せずに、他の処理ユニットからの割込み要求に対する処理内容をフレキシブルに変更あるいは修正することが可能であり、遷移先アドレスが柔軟に設定できるメリットと合わせて、非常に柔軟性が高く、さらに、開発が容易なデータ処理ユニットを提供することができる。そして、割込み要求に対する遷移先を柔軟に設定して、その処理をリアルタイムで制御することができるので、ネットワーク処理や動画処理などのリアルタイム性が要求される用途にまさに適したデータ処理装置を実際に提供することが可能となる。
【００２０】
【発明の実施の形態】
以下に図面を参照して本発明の実施の形態を説明する。図１に、本発明に係るデータ処理ユニット（以降では、ＰＵ）２と、所定のデータ処理に特化した専用データ処理ユニット（他の処理ユニットまたは専用回路、以降ではＶＵ）３とを有するデータ処理装置であるシステムＬＳＩ１の概略構成を示してある。本例のＰＵ２は、割込み処理や基本命令などの汎用的な処理を実行する実行部５と、ＶＵ３および実行部５にデコードされた制御信号を提供する命令発行部６を備えている。命令発行部６は、実行形式のマイクロプログラムコード（命令）を内蔵したコードＲＡＭ７と、このコードＲＡＭ７から命令をフェッチするフェッチユニット４とを備えている。
【００２１】
フェッチユニット４では、命令の実行状態、ステータスレジスタ９の状態さらにはシステムＬＳＩ１の外部割込み用のインターフェース１１を介して入力された割込み信号φ１などによって決まる所定のコードＲＡＭ７のアドレスを順次発行し、そのアドレスに記憶された命令をフェッチするフェッチ部１２を備えている。本例のコードＲＡＭ７には、ＰＵ２の実行部５で実行される汎用命令（一般命令）と、ＶＵ３で実行される専用命令とを備えたプログラムが格納されており、フェッチされた専用命令あるいは汎用命令はフェッチユニット４のデコード回路１３によりデコードされ、専用命令をデコードした制御信号φｖあるいは汎用命令をデコードした制御信号φｐとしてＶＵ３およびＰＵ２に供給される。また、ＰＵ２からは実行状態を示すステータス信号φｓが返され、ＰＵ２およびＶＵ３の状態がステートレジスタ９に反映されるようになっている。ＰＵ２の実行部５は、汎用レジスタ、フラグレジスタおよび演算ユニット（ＡＬＵ）などから構成される実行ユニット１４と、この実行ユニット１４で処理を行う際の一時的な記憶領域となるデータＲＡＭ１５とを備えている。
【００２２】
一方、ＶＵ３は命令発行部６が供給する制御信号φｖによって特定のアプリケーションに特化した処理、例えば、高速ネットワーク関連のデータ処理や動画データの伸張／復号処理等をリアルタイムで行うことが可能な専用回路を備えた専用処理ユニットである。このＶＵ３の内部状態やＶＵ３でのデータ処理結果等はＰＵ２の側で把握できるようになっており、ＰＵ２では把握した情報を利用した処理が行える。
【００２３】
図２には、本例のＬＳＩ１に搭載されたＰＵ２の概略の機能構成をフェッチユニット４を中心に示してある。本例のＰＵ２のフェッチユニット４は、システムＬＳＩ１のインターフェース１１を介して入力された、例えば、８ビットの割込み要求信号（第１の割込み信号）φ１、およびＶＵ３から出力された割込み要求信号（第２の割込み信号）φ２が入力され、それらの割込み要求信号φ１およびφ２に基づいて遷移先アドレスを選択して出力する出力部２０を備えている。本例のフェッチユニット４は、この出力部２０により選択される２つの遷移先アドレスを格納した記憶手段であるレジスタ１７および１８を備えている。第１のレジスタ１７は、汎用レジスタであり、たとえば、１６ビットの遷移先アドレスＡ１〜Ａ８が予め格納されており、割込み要求信号φ１に基づき遷移するアドレスが格納されている。第２のレジスタ１８は、外部指定用レジスタであり、たとえば、１６ビットの遷移先アドレスＢ１が格納され、割込み要求信号φ２により遷移するアドレスが格納されている。
【００２４】
このため、本例の出力部２０は、汎用レジスタ１７および外部指定用レジスタ１８のいずれかを選択して、それらに格納された遷移先アドレスを次の命令フェッチ用のアドレスとして出力可能なセレクタ２１と、このセレクタ２１を、割込み要求信号φ１が送られてきたときには汎用レジスタ１７の遷移先アドレスを出力し、割込み要求信号φ２が送られてきたときには外部指定用レジスタ１８の遷移先アドレスが出力される制御する制御信号φ５を出力するプライオリタイズ判定回路２２を備えている。このプライオリタイズ判定回路２２は、ＶＵ３からの割込み要求信号φ２を外部からの割込み要求信号φ１に対し優先するように設定されており、割込み要求信号φ１およびφ２が重なると、セレクタ２１からは外部指定用レジスタ１８に設定された遷移先アドレスＢ１が優先的に出力され、その遷移先アドレスの命令に従った処理が優先して行われる。
【００２５】
汎用レジスタ１７に格納されている遷移先アドレスＡ１〜Ａ８は、それぞれ、コードＲＡＭ７に格納された割込み処理用のマイクロプログラムの開始アドレスを示す遷移先アドレスである。そして、これらの遷移先アドレスＡ１〜Ａ８は、初期設定などにより予め設定されており、割込み要求信号φ１のレベルによって選択できるようになっている。本例のレベルアサイン型の割込み要求信号φ１は８レイヤであり、各レイヤに応じて遷移先アドレスＡ１〜Ａ８が選択される。外部指定用レジスタ１８に格納されている遷移先アドレスＢ１もコードＲＡＭ７に格納された割込み処理用のマイクロプログラムの開始アドレスを示す遷移先アドレスである。そして、この外部指定用レジスタ１８は、バス１９によりＶＵ３からダイレクトに遷移先アドレスＢ１が書き込めるようになっている。このため、ＶＵ３は、外部指定用レジスタ１８に予め所望の遷移先アドレスＢ１を設定し、割込み要求信号φ２を出力することにより、汎用のデータ処理ユニットであるＰＵ２を用いて所望の割り込み処理を自由に開始させることができる。
【００２６】
本例のコードＲＡＭ７には、ＶＵ３の処理を進めるための専用命令ＶおよびＰＵ２で行う処理を規定する汎用命令Ｐを備えたマイクロプログラムが格納されており、フェッチユニット１２から順次出力されるアドレスによってそれらの専用命令Ｖおよび汎用命令Ｐがフェッチされる。そして、フェッチされた命令はデコード回路１３でデコードされ、それぞれＰＵ２の実行部５およびＶＵ３に供給される。このような専用命令Ｖおよび汎用命令Ｐを備えたマイクロプログラムに加えて、本例のコードＲＡＭ７には、割込み処理用のマイクロプログラムも格納されており、上述したように、割込み要求信号φ１あるいはφ２に基づき、汎用レジスタ１７に格納された遷移先アドレスＡ１〜Ａ７、あるいは外部指定用レジスタ１８に格納された遷移先アドレスＢ１が出力されると、その遷移先アドレスの命令をフェッチして、指定された処理が実行される。
【００２７】
図３には本例のシステムＬＳＩ１で行われる割込み処理の一例をフローチャートを用いて示してある。まず、ステップ３１において、割込み要求があると、ステップ３２でその割込み要求がＶＵ３からの割込み要求信号φ２か判断される。ＶＵ３から割込み要求信号φ２であれば、ステップ３３で、予めＶＵ３から外部指定用レジスタ１８に設定された遷移先アドレスＢ１が出力される。その結果、遷移先アドレスＢ１に記憶されているマイクロプログラムが読み出されて実行される。
【００２８】
これに対して、ＶＵ３からではない外部からの割込み、たとえば、システムＬＳＩ１の外部のＩＯ回路、ＡＤ／ＤＡコンバータ、他のＣＰＵ、ＤＳＰプロセッサ、ＡＳＩＣ回路など、さらにはシステムＬＳＩに内蔵されたＩＯ回路などからの通常の従来型のレベル割込みである割込み要求信号φ１に基づく割込み要求である場合には、ステップ３２で判断された後に、ステップ３４でＶＵ３からの割込み要求φ２に基づく処理が行われているかの判断が行われる。このステップ３４において、割込み処理が重ならない場合は、ステップ３５で割込み要求信号φ１のレイヤに応じて汎用レジスタ１７にセットされている遷移先アドレスＡ１〜Ａ８のいずれかが選択され、その遷移先アドレスからの処理が実行される。ＶＵ３からの割込み要求に基づく処理が実行されていれば、本例のシステムＬＳＩにおいてはＶＵ３からの割込み要求信号φ２を優先するので、ステップ３６において、通常の割込み要求信号φ１をマスクし、あるいはその要求信号φ１に対する処理を待機された状態にする。
【００２９】
このように、本例のシステムＬＳＩ１においては、ＶＵ３からの割込み要求信号φ２があると、その割込み要求信号φ２は、従来のレベルアサイン型の割込み要求信号φ１と同様に処理され、通常の割込み要求信号φ１と同じ速度、すなわち、クロック数で割込み要求信号φ２に対応する遷移先アドレスＢ１を出力することができる。そして、遷移先アドレスＢ１は、ＶＵ３からバス１９を介して直に設定されるので、ＶＵ３の条件あるいは割込み要求が発生したときの状況などに応じ、ＶＵ自身が、ＰＵ２の処理を介さずに遷移先を設定できる。したがって、ＶＵ３の状況に応じて割込みが発生したときの遷移先を変更できる。このため、ＶＵ３の割込み要求に対してＰＵ２は非常にフレキシブルに対応することができ、また、通常の割込みと同じレベルあるいは同じ処理速度でリアルタイム性を喪失せずにＶＵ３の割込み処理を実行することができる。
【００３０】
また、ＶＵ３の遷移先はＶＵ自身が設定できる構成となっているので、本例のＰＵ２と、他の専用処理機能を備えたＶＵとを組み合わせたシステムＬＳＩにおいても、ＰＵ２の機能あるいは構成を変更あるいは修正しないで、他の専用処理機能を備えたＶＵに即した割込み処理を行うことができる。そして、そのような割込み処理はマイクロプログラムとしてコードＲＡＭ７に格納することができるので、本例のＶＵ３およびＰＵ２に共通のフェッチユニット４を備えたシステムＬＳＩ（ＶＵＰＵ）の構成は、ＶＵ３の割込み要求による遷移先アドレスがフレキシブルに設定できると共に、その割込み要求による処理内容もマイクロプログラムで設定できる。したがって、専用データ処理に特化した専用データ処理ユニットの専用回路で処理を実行するシステムＬＳＩでありながら、割込み処理を非常に柔軟に、さらに，リアルタイムにクロック単位で実行することができる。
【００３１】
また、本例のＶＵおよびＰＵを搭載したシステムＬＳＩは、ＶＵ３あるいはＰＵ２の基本的なハードウェアおよび機能を変更しないで、様々な機能を備えたＶＵを集積化してＰＵでそれらを制御することができるので、システムＬＳＩの開発期間を大幅に短縮することが可能である。そして、プログラムと遷移先アドレスの修正によって、開発途上あるいはその後の変更および修正には非常に柔軟に対処することができるので、アプリケーションと相性が良く開発のリスクの小さな高性能のシステムＬＳＩを提供することができる。
【００３２】
ＶＵ３は、特殊な加減算や乗除算などを行うデータパス部（専用回路）を備えた専用データ処理ユニットであり、１つのＰＵ２に複数のＶＵ３を装着して並列演算を行わせることも可能である。図４に示すように、複数のＶＵ（ｎ）（ｎは整数）が搭載されたシステムＬＳＩ１の場合、各ＶＵ（ｎ）からの割込み要求信号φ２および遷移先アドレスＢ１を選択的にＰＵ２に入力させるため割込み選択回路２５を設けることが望ましい。この選択回路２５により、複数のＶＵから出力される割込み要求信号φ２と遷移先アドレスＢ１をひとつに集約できるので、ＰＵ２に複数の外部指定用レジスタ１８を設け、セレクタ２１をマルチセレクタにしなくても複数のＶＵからの割込み要求に対応することができる。複数の外部指定用レジスタを設けることも可能であるが、同一のチップに搭載されるＶＵの数は決定できず、また、レジスタの数を増やすとそれに対応して書き換え用のバスを増やしたりなどハードウェアコストが増加するので経済的でない。これに対し、割込み選択回路２５を設けると、ＶＵの数に影響されずに上記にて説明したＰＵ２を搭載し、ＶＵからの割込み要求信号φ２にリアルタイムで対処することができる。割込み選択回路２５では、ＶＵ（ｎ）毎に処理の優先順位を設定しておくことも可能であり、また、ＶＵ（ｎ）から割込み要求が発生した順に随時ＰＵ２に送信するようにしても良い。割込み選択回路２５は先に説明したプライオリティ判定回路２２と同様にいかようにも設計可能であり、特に詳しくは説明しない。
【００３３】
このように、本例のシステムＬＳＩ１は、ＶＵ３の側においてデータ処理を行った結果、プロセッサであるＰＵ２のプログラム遷移を行わせたい場合に、遷移先アドレスをプロセッサの外部ではあるが同一チップ内のＶＵ３から指定することができる。たとえば、通信・ネットワークの分野においては検出されたデータエラーに対する処理が極めて重要であり、サービスの程度に差がつき、システム商品の優劣が決定されてといっても過言ではない。さらに、通信・ネットワークにおけるエラー処理はリアルタイム処理が要求され、瞬時に対応しなければならない。本例のシステムＬＳＩは、データパス実行ユニットであるＶＵ３の側からエラーの検出とその際の対応先のアドレスが直接指定することができるので、この構成をエラー処理に適用することにより、上記の各条件を満足したシステムＬＳＩを提供することが可能である。動画などの他のリアルタイム性が要求されるアプリケーションを処理するシステムＬＳＩにおいても状況は同じであり、本発明にかかるＬＳＩを採用することにより、短期間で開発ができ、クロック単位の制御が可能で、さらに柔軟性を持ったシステムＬＳＩを提供することができる。
【００３４】
なお、上記では、実行部５および命令発行部６を備えたプロセッサをＰＵとして説明しているが、命令発行部６に対してＶＵ３と並列な環境になる実行部５をＰＵと捉えてももちろん良い。さらに、本例ではＬＳＩ外部からの割込み信号φ１を通常の割込み信号として説明しているが、システムＬＳＩ内部のＩＯ回路などからの通常の割込み信号も含まれることは上述した通りである。
【００３５】
また、上記では遷移先アドレスが設定される第１および第２の記憶手段としてレジスタを用いた例を説明しているが、データＲＡＭあるいはその他の記憶手段を用いることも可能である。しかしながら、アクセス速度とクロック単位での制御を考慮するとレジスタを遷移先アドレスの格納あるいは記憶手段として用いることが最も望ましい。さらに、レジスタのビット数など、上記にて参考のために数値を入れて説明している部分は参考に過ぎず、上述した値に限定されるものではない。
【００３６】
さらに、図３に示した割込み処理に加え、システムＬＳＩ内あるいは外で発生した致命的なエラーに対処するためのマスク不能な割込み（最優先）に対する処理を設けることも可能である。すなわち、システムＬＳＩ１のＰＵ２に上記のマスク不能な割込みに対する機能を組み込んで、このマスク不能な割込みをＰＵ２で最優先で処理するようにしても良い。
【００３７】
【発明の効果】
以上説明したように、本発明のデータ処理装置のデータ処理ユニットは、遷移先アドレスを同一チップ上の処理ユニットから指定できる外部指定用レジスタを第２の記憶手段として設けているので、同一チップ上の他の処理ユニットからの割込み要求に柔軟に対応できると共に、クロック単位で割込み要求に応じた処理を実行することができる。さらに、データ処理ユニットの汎用性を維持しながら、同一チップに搭載された他の処理ユニットに応じた遷移先アドレスからの割込み処理が自由に行える。したがって、遷移先アドレスが外部から指定でき、その処理をクロック単位で制御することができるデータ処理装置を提供できる。
【００３８】
このように、本発明によれば、遷移先アドレスを外部から指定できる割込み構造を有する組み込み型のプロセッサをデータ処理ユニットとして提供することができ、従来では、必要であれば、遷移先アドレスをソフトウェアで書き換えながら割込み対応可能としていたものに対し、本発明のデータ処理ユニットにおいては割込み信号と同時に遷移先がダイナミックに変更あるいは指定することが可能となる。したがって、遷移先アドレスを指定できる同一チップ内の他の処理ユニットの要因、すなわち外部要因の状況に応じた遷移が極めて柔軟に行える。この効果は本発明のデータ処理ユニットおよび他の処理ユニットを組み込んだシステムＬＳＩ、たとえば上述した組み込み型セミカスタムプロセッサＶＵＰＵのようなケースで、同一チップ上にプロセッサとデータパスユニットが存在している場合において特に顕著となる。
【図面の簡単な説明】
【図１】本発明にかかるデータ処理ユニット（ＰＵ）を備えたシステムＬＳＩの概略構成を示す図である。
【図２】本例のデータ処理ユニット（ＰＵ）の概略構成を示す図である。
【図３】図１に示すシステムＬＳＩで行われる割込み処理の一例を示すフローチャートである。
【図４】専用データ処理ユニットを複数備えたシステムＬＳＩの例を示す図である。
【符号の説明】
１    システムＬＳＩ（データ処理装置）
２    データ処理ユニット（ＰＵ）
３    専用データ処理ユニット（ＶＵ）
４    フェッチユニット
５    実行部
６    命令発行部
７    コードＲＡＭ
１２    フェッチ部
１３    デコード回路
１７    汎用レジスタ（第１の記憶手段）
１８    外部指定用レジスタ（第２の記憶手段）
２０    出力部
２１    セレクタ
２２    プライオリタイズ判定回路
２５    割込み選択回路
Ａ１〜Ａ８  遷移先アドレス（第１の遷移先アドレス）
Ｂ１    遷移先アドレス（第２の遷移先アドレス）
φ１    割込み要求信号（第１の割込み信号）
φ２    割込み要求信号（第２の割込み信号）
【図１】
0004758538.tif 000002
【図２】
0004758538.tif 000003
【図３】
0004758538.tif 000004
【図４】
0004758538.tif 000005