(57)【要約】【課題】１チップに搭載した複数のＣＰＵにおいて外部信号により使用しないＣＰＵを簡単に切り離すことが可能で、ＬＳＩの開発コストの削減が可能な集積回路装置を提供する。【解決手段】デコーダ１５は、外部より入力されるＣＰＵ選択信号に応じて、動作させるＣＰＵ１１、１２を選択するための内部選択信号を生成してＣＰＵ１１、１２に送出し、選択されたＣＰＵのみバス１３に対して有効なアクセスを行い、周辺モジュール１４−１、１４−２、…、１４−ｎを使用可能にする。【選択図】図１
2008234688.tif 000002
【特許請求の範囲】
【請求項１】
１チップに複数の中央処理装置を直列に接続した集積回路装置において、
外部より入力される外部選択信号に応じて、動作させる前記中央処理装置を選択するための内部選択信号を生成する内部選択信号生成デコーダと、
前段までの複数の前記中央処理装置のうち、いずれかの前記中央処理装置からの出力信号を、前記内部選択信号に応じて選択して後段の前記中央処理装置に出力する信号切替セレクタと、
を有することを特徴とする集積回路装置。
【請求項２】
前記信号切替セレクタは、複数の前記中央処理装置を動作させる際、前記信号切替セレクタに入力される最後段の前記中央処理装置からの出力信号を選択して出力することを特徴とする請求項１記載の集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路装置に関し、特に１チップに複数の中央処理装置を有した集積回路装置に関する。
【背景技術】
【０００２】
汎用のマイコン（マイクロコントローラまたはマイクロコンピュータ）などに搭載される中央処理装置（以下ＣＰＵ（Central Processing Unit）という）には様々な仕様があることが知られている。
【０００３】
例えば、キャッシュサイズ、ＭＭＵ（Memory Management Unit）やＭＰＵ（Memory Protection Unit）の有無、ＪＡＶＡ（登録商標）のアクセラレータの有無、浮動小数点演算ユニットの有無などがある。
【０００４】
このようなＣＰＵの仕様の差異により、動作可能なＯＳ（Operating System）などが変わってくるため、従来、顧客のニーズに応じて、異なる仕様のＣＰＵごとにそれぞれ１チップのＬＳＩ（Large-Scale Integrated circuit）を開発して提供していた。
【０００５】
また、Ｄｕａｌ  ＣＰＵシステムなど、１チップに複数のＣＰＵを搭載した技術もある（例えば、特許文献１参照）。
図７は、従来のＬＳＩラインナップを示す図である。
【０００６】
ＣＰＵ５１ａ、５１ｂは、それぞれ異なる仕様のものであり、バス５２ａ、５２ｂ、５２ｃと接続された周辺回路（以下周辺モジュールと呼ぶ）５３−１、５３−２、５３−３は共通である。周辺モジュールは、タイマーや、割り込みコントローラなどである。
【０００７】
図のように、ＣＰＵの仕様に合わせて、チップＡ、Ｂ、Ｃの３品種のＬＳＩチップを開発する。チップＣは、１チップに２つのＣＰＵ５１ａ、５１ｂを搭載したＤｕａｌ  ＣＰＵシステムである。
【特許文献１】特開昭５８−５８６７２号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、近年、半導体製造プロセスの微細化が進むにつれ、マスク、レチクルなどのＬＳＩ製造費用が膨大になっており、上記のような多品種展開が困難であるという問題がある。
【０００９】
また、特許文献１のような１チップに複数のＣＰＵを搭載した従来技術の場合、顧客によっては、あるＣＰＵの機能は必要であるが、その他のＣＰＵの機能は必要がないという場合がある。そのような場合、複数のＣＰＵを動作させることは意味がないが、従来では複数設けたＣＰＵをすべて動作可能なような状態にしており、使用しないＣＰＵを切り離すことは困難であるという問題があった。すなわち、図７のチップＣのような構成では、チップＡ、チップＢの代用は困難であるという問題があった。
【００１０】
本発明はこのような点に鑑みてなされたものであり、１チップに搭載した複数のＣＰＵにおいて外部信号により使用しないＣＰＵを簡単に切り離すことが可能で、ＬＳＩの開発コストの削減が可能な集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、１チップに複数の中央処理装置を直列に接続した以下のような集積回路装置が提供される。この集積回路装置は、外部より入力される外部選択信号に応じて、動作させる前記中央処理装置を選択するための内部選択信号を生成する内部選択信号生成デコーダと、前段までの複数の前記中央処理装置のうち、いずれかの前記中央処理装置からの出力信号を、前記内部選択信号に応じて選択して後段の前記中央処理装置に出力する信号切替セレクタと、を有する。
【発明の効果】
【００１２】
１チップに複数のＣＰＵをシリアルに接続した集積回路装置において、使用しないＣＰＵを外部信号によって簡単に切り離すことができ、１チップでシングルＣＰＵシステムからマルチＣＰＵシステムまで対応であるので、ＬＳＩの開発コストを削減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本実施の形態を図面を参照して詳細に説明する。
図１は、第１の実施の形態の集積回路装置の構成図である。
第１の実施の形態の集積回路装置１０は、１チップに２つのＣＰＵ１１、１２を有した集積回路装置１０であり、ＣＰＵ１１、１２にバス１３を介して接続された複数の周辺モジュール１４−１、１４−２、…、１４−ｎと、外部より入力される２ビットのＣＰＵ選択信号に応じて、動作させるＣＰＵ１１、１２を選択するための内部選択信号を生成するデコーダ１５と、を有する。
【００１４】
ＣＰＵ１１、１２は、周辺モジュール１４−１、１４−２、…、１４−ｎを制御する。
周辺モジュール１４−１、１４−２、…、１４−ｎは、例えば、割り込みコントローラ、タイマー、クロックコントローラ、メモリコントローラなどである。
【００１５】
デコーダ１５は、図示しない外部端子により入力された２ビットのＣＰＵ選択信号に応じて、動作させるＣＰＵ１１、１２を選択するための内部選択信号を生成する。具体的には、動作させないＣＰＵに対し、ＣＰＵ動作停止指示信号を生成して送出する。
【００１６】
例えば、ＣＰＵ選択信号が“０１”の場合、ＣＰＵ２のみを動作させるために、ＣＰＵ１に対してＣＰＵ動作停止指示信号を送出する。ＣＰＵ選択信号が“１０”の場合、ＣＰＵ１のみを動作させるために、ＣＰＵ２に対してＣＰＵ動作停止指示信号を送出する。また、ＣＰＵ選択信号“１１”の場合、ＣＰＵ１、２両方を動作させるために、ＣＰＵ動作停止指示信号を生成しないようにする。
【００１７】
以下、第１の実施の形態の集積回路装置１０の動作を説明する。
例えば、図示しない外部端子より、ＣＰＵ選択信号が入力されると、その信号はデコーダ１５に入力される。デコーダ１５は、ＣＰＵ選択信号をデコードして、動作させないＣＰＵ１１、１２に対してＣＰＵ動作停止指示信号を生成して送出する。
【００１８】
ＣＰＵ動作停止指示信号を受けたＣＰＵ１１、１２は、バス１３に対して、有効なアクセスを行わないようになる。
このように、第１の実施の形態によれば、デコーダ１５は、外部より入力されるＣＰＵ選択信号に応じて、動作させるＣＰＵ１１、１２を選択するための信号を生成し、選択されたＣＰＵのみバス１３に対して有効なアクセスを行い、周辺モジュール１４−１、１４−２、…、１４−ｎを使用可能にする。ＣＰＵ選択信号を固定することで、１チップでシングルＣＰＵシステムや、マルチＣＰＵシステムとして使用することが可能になり、１チップで、様々な用途に応用可能となる。例えば、評価ボードに搭載したときには、１チップで複数のＣＰＵの評価が可能となる。
【００１９】
なお、上記では、１チップに２つのＣＰＵを有した場合について説明したが、これに限定されず、３つ以上であってもよい。
上記の、第１の実施の形態の集積回路装置１０では、ＣＰＵ動作停止指示信号を受けた場合にＣＰＵ１１、１２が動作停止機能を持っている場合を仮定している。
【００２０】
ＣＰＵによっては、このような動作停止機能を持っていない場合があり、動作停止指示がなされても、バスに対し不定の信号を出力してしまう場合がある。以下この問題を解決可能な集積回路装置を第２の実施の形態として説明する。
【００２１】
図２は、第２の実施の形態の集積回路装置の構成図である。
第２の実施の形態の集積回路装置２０は、１チップに２つのＣＰＵ２１、２２を有した集積回路装置２０であり、バス２３に接続された複数の周辺モジュール２４−１、２４−２、…、２４−ｎと、バス２３へのＣＰＵ２１、２２のアクセスを無効にするためのバス固定器２５、２６と、ＣＰＵ選択信号に応じて、ＣＰＵ２１、２２またはバス固定器２５、２６のいずれかを選択して、バス２３と接続させるバス接続セレクタ２７、２８（以下単にセレクタ２７、２８と表記する）と、を有する。
【００２２】
ＣＰＵ２１、２２は、ＣＰＵ動作停止指示信号による動作停止機能を有していないＣＰＵである。周辺モジュール２４−１、２４−２、…、２４−ｎは、第１の実施の形態の集積回路装置１０と同様であるので説明を省略する。
【００２３】
バス固定器２５、２６は、バス２３に対して不正なアクセスを行わないようにし、バス２３へのアクセスを無効させる回路である。例えば、アドレスバスに対しては０を出力したり、バスアクセスするためのコントロール信号を無効にした信号を出力する。
【００２４】
セレクタ２７、２８は、図示しない外部端子により入力されたＣＰＵ選択信号に応じて、ＣＰＵ２１、２２をバス２３に接続するか、バス固定器２５、２６をバス２３に接続するかを選択する。
【００２５】
以下、第２の実施の形態の集積回路装置２０の動作を説明する。
図示しない外部端子より、２ビットのＣＰＵ選択信号が入力されると、その信号は、セレクタ２７、２８に入力される。例えば、ＣＰＵ選択信号が“０１”の場合、ＣＰＵ２２のみをバス２３に接続して動作させるために、セレクタ２７は、バス固定器２５の出力を選択して、バス２３に接続し、ＣＰＵ２１がバス２３に対して有効なアクセスを行わないようにする。一方、セレクタ２８は、ＣＰＵ２２を選択してバス２３に接続して有効なアクセスを行うようにする。また、ＣＰＵ選択信号が“１０”の場合、ＣＰＵ２１のみをバス２３に接続して動作させるために、セレクタ２８は、バス固定器２６の出力を選択して、バス２３に接続し、ＣＰＵ２２がバス２３に対して有効なアクセスを行わないようにする。一方、セレクタ２７は、ＣＰＵ２１を選択してバス２３に接続して有効なアクセスを行うようにする。また、ＣＰＵ選択信号が“１１”の場合、ＣＰＵ２１、２２の両方を動作させるために、セレクタ２７ではＣＰＵ２１を、セレクタ２８ではＣＰＵ２２を選択してバス２３に接続して有効なアクセスを行うようにする。
【００２６】
このような、第２の実施の形態の集積回路装置２０によれば、ＣＰＵ２１、２２が動作停止機能を持っていない場合でも、外部から入力されるＣＰＵ選択信号に応じて、簡単に使用しないＣＰＵ２１、２２を切り離すことができる。
【００２７】
なお、上記では、１チップに２つのＣＰＵを有した場合について説明したが、これに限定されず、３つ以上であってもよい。その場合、セレクタとバス固定器をＣＰＵの数に合わせて用意すればよい。
【００２８】
以上説明した第１、第２の実施の形態の集積回路装置１０、２０では、ＣＰＵ１１、１２、２１、２２と、周辺モジュール１４−１、１４−２、…、１４−ｎ、２４−１、２４−２、…、２４−ｎ間でバス１３、２３を介さない、クロック停止要求信号や、ＣＰＵ１１、１２、２１、２２への割り込み要求信号などの信号を通信する場合に、以下に示すような信号切替セレクタが必要になる。
【００２９】
図３は、周辺モジュールと通信するＣＰＵを切り替えるための信号切替セレクタを有した集積回路装置の構成図である。
ここでは、図１で示した第１の実施の形態の集積回路装置１０に、信号切替セレクタ１６（以下単にセレクタ１６と表記する）を配置した集積回路装置１０ａについて示している。セレクタ１６は、それぞれの周辺モジュール１４−１、１４−２、…、１４−ｎと通信するＣＰＵ１１、１２を、２ビットのＣＰＵ選択信号に応じて切り替える。
【００３０】
このような構成にすることによって、動作するＣＰＵ１１、１２を選択して、周辺モジュール１４−１、１４−２、…、１４−ｎとの間で割り込み要求信号や、クロック停止要求信号などバス１３を介さない信号の送受信を行うことができる。
【００３１】
なお、ここでは、セレクタ１６を第１の実施の形態の集積回路装置１０に適用した場合について説明したが、第２の実施の形態の集積回路装置２０にも同様に適用できる。
次に、１チップに複数のＣＰＵを搭載した集積回路装置において複数のＣＰＵを動作させるような場合であり、あるＣＰＵでのみ使用したい周辺モジュールが存在する場合について説明する。
【００３２】
図４は、複数のＣＰＵの動作時に、特定のＣＰＵでのみ使用する周辺モジュールを有する集積回路装置の構成図である。
ここで示す集積回路装置１０ｂは、図１で示した第１の実施の形態の集積回路装置１０において、特定のＣＰＵ（以下ＣＰＵ１２として説明する）でのみ使用する周辺モジュール１４−３とバス１３との間に接続部（以下スイッチと呼ぶ）１７を有し、外部から入力されるＣＰＵ選択信号に応じて、２つのＣＰＵ１１、１２を同時に動作させる際のみに、周辺モジュール１４−３と、バス１３とを接続させる旨の信号を接続部１７に送出するバス接続信号生成デコーダ１８（以下単にデコーダ１８と表記する）を有している。
【００３３】
周辺モジュール１４−３は、例えば、割り込みコントローラである。
以下集積回路装置１０ｂの動作を説明する。
図示しない外部端子より、２ビットのＣＰＵ選択信号が入力されると、デコーダ１５はＣＰＵ選択信号をもとに、動作をさせないＣＰＵに対してＣＰＵ動作停止指示信号を生成して送出する。例えば、ＣＰＵ１１を動作させない場合にはＣＰＵ１１に対して、ＣＰＵ１２を動作させない場合にはＣＰＵ１２に対して動作停止指示信号を生成して送出する。このときデコーダ１８は、複数のＣＰＵ、すなわちＣＰＵ１１、１２を同時に動作させる際にはスイッチ１７をオンし、ＣＰＵ１１またはＣＰＵ１２のいずれか一方のみを動作させる際にはスイッチ１７をオフする。
【００３４】
これにより、ＣＰＵ１１、１２のいずれか一方のみが動作しているときには、例えば、周辺モジュール１４−２である割り込みコントローラを使用し、ＣＰＵ１１、１２を同時に動作させる際には、ＣＰＵ１１で周辺モジュール１４−２の割り込みコントローラを使用し、ＣＰＵ１２で周辺モジュール１４−３の割り込みコントローラを使用する。
【００３５】
このように、複数のＣＰＵ１１、１２を同時に使用する際、例えば、ＣＰＵ１２のみで周辺モジュール１４−３を使用可能にできるので便利である。
なお、スイッチ１７の代わりに、セレクタを設け、スイッチオフの場合は、図２で示したようなバス固定器をバス１３に接続するようにしてもよい。
【００３６】
また、ここではスイッチ１７とデコーダ１８とを、第１の実施の形態の集積回路装置１０に適用した場合について説明したが、第２の実施の形態の集積回路装置２０にも同様に適用できる。
【００３７】
また、上記では、１チップに２つのＣＰＵを有した場合について説明したが、これに限定されず、３つ以上であってもよい。
次に、１チップに複数のＣＰＵをシリアルに接続した集積回路装置において、使用しないＣＰＵを外部信号によって切り離すことが可能な集積回路装置を説明する。
【００３８】
複数のＣＰＵをシリアルに接続した集積回路装置には、試験用の回路であるスキャンチェーン回路、ＪＴＡＧチェーン回路が知られている。
図５は、従来のＪＴＡＧチェーン回路の概略図である。
【００３９】
図のように、ＪＴＡＧチェーン回路３０は、外部からのシリアル入力信号を入力端子ＴＤＩで入力し、出力端子ＴＤＯで出力する、ＣＰＵ３１、３２がシリアルに接続された構成である。すなわち、ＣＰＵ３１の出力端子ＴＤＯからの出力が、ＣＰＵ３２の入力端子ＴＤＩに入力され、ＣＰＵ３２の出力端子ＴＤＯからの出力が、ＪＴＡＧチェーン回路３０のシリアル出力信号として取り出される。なお、ＣＰＵ３１、３２には、入力端子ＴＤＩ、出力端子ＴＤＯの他にも、クロック信号を入力する端子などがあるが図示を省略している。
【００４０】
このようなＣＰＵがシリアルに接続した回路において、外部からのＣＰＵ選択信号に応じて、ＣＰＵを切り離すことが可能な本発明の実施の形態の集積回路装置は以下のようになる。
【００４１】
図６は、シリアルに接続したＣＰＵを切り離すことが可能な集積回路装置の構成図である。
集積回路装置４０は、シリアルに接続した２つのＣＰＵ４１、４２を有し、さらに、外部より入力されるＣＰＵ選択信号に応じて、動作させるＣＰＵ４１、４２を選択するための内部選択信号を生成する内部選択信号生成デコーダ４３（以下単にデコーダ４３と表記する）と、信号切替セレクタ４４、４５（以下単にセレクタ４４、４５と表記する）を有する。
【００４２】
ここで、セレクタ４４、４５は、前段までの複数のＣＰＵのうち、いずれかのＣＰＵからの出力信号を、内部選択信号に応じて選択して後段のＣＰＵに出力する機能を有する。図６のように、ＣＰＵ４１、４２と２つの場合には、セレクタ４４は、前段までのＣＰＵ４１からの出力信号と、外部からのシリアル入力信号（ＣＰＵ４１の前段からの出力信号と等価である）のいずれかを選択して後段のＣＰＵ４２に出力する。セレクタ４５は、内部選択信号に応じて前段までのＣＰＵ４１、４２のいずれかの出力信号を選択して後段（外部）にシリアル出力信号として出力する。
【００４３】
以下、集積回路装置４０の動作を説明する。
例えば、図示しない外部端子により、ＣＰＵ４１のみを選択する旨のＣＰＵ選択信号が入力されると、デコーダ４３は、セレクタ４４、４５に対してＣＰＵ４１からの出力信号を選択させる旨の内部選択信号を生成して送出する。セレクタ４４はこれを受け、ＣＰＵ４１からの出力信号を選択して後段のＣＰＵ４２に出力する。また、セレクタ４５は、入力されるＣＰＵ４１、４２の出力信号のうち、ＣＰＵ４１の出力信号を選択して外部にシリアル出力信号として出力する。
【００４４】
一方、ＣＰＵ４２のみを選択する旨のＣＰＵ選択信号が入力されると、デコーダ４３は、セレクタ４４、４５に対してＣＰＵ４２からの出力信号を選択される旨の内部選択信号を生成して送出する。セレクタ４４はこれを受け、ＣＰＵ４１からの出力信号を選択せず、外部からのシリアル入力信号を選択して後段のＣＰＵ４２に出力する。また、セレクタ４５は、入力されるＣＰＵ４１、４２の出力信号のうち、ＣＰＵ４２の出力信号を選択して外部にシリアル出力信号として出力する。
【００４５】
また、ＣＰＵ４１、４２の両方を選択する旨のＣＰＵ選択信号が入力されると、デコーダ４３は、セレクタ４４に対しては、ＣＰＵ４１からの出力信号を選択させる旨の内部選択信号、セレクタ４５に対しては、ＣＰＵ４１、ＣＰＵ４２のうち、最後段のＣＰＵ４２からの出力信号を選択させる旨の内部選択信号をそれぞれ生成して送出する。セレクタ４４はこれを受け、ＣＰＵ４１からの出力信号を選択して後段のＣＰＵ４２に出力する。ＣＰＵ４２は、ＣＰＵ４１からの出力信号を入力して、それによって動作した結果をＣＰＵ４２の出力信号としてセレクタ４５に入力する。セレクタ４５は、デコーダ４３からの内部選択信号を受け、ＣＰＵ４２からの出力信号を選択して外部にシリアル出力信号として出力する。
【００４６】
なお、上記では、１チップに２つのＣＰＵ４１、４２を有した場合について説明したが、これに限定されず、３つ以上であってもよい。例えば３つの場合、セレクタ４５には、シリアル入力信号がさらに入力され、シリアル入力信号か、ＣＰＵ４１またはＣＰＵ４２の出力信号が内部選択信号に応じて選択される、選択された信号が後段のＣＰＵに入力されるようになる。
【００４７】
なお、前述の第１、第２及びその他の実施の形態において、外部から入力されるＣＰＵ選択信号は、図示しない外部の制御回路などによって適宜変更して、動作させるＣＰＵを動的に切り替えるようにしてもよい。
【産業上の利用可能性】
【００４８】
本発明は、例えば、汎用マイコンに内蔵されるＬＳＩに適用される。
【図面の簡単な説明】
【００４９】
【図１】第１の実施の形態の集積回路装置の構成図である。
【図２】第２の実施の形態の集積回路装置の構成図である。
【図３】周辺モジュールと通信するＣＰＵを切り替えるための信号切替セレクタを有した集積回路装置の構成図である。
【図４】複数のＣＰＵの動作時に、特定のＣＰＵでのみ使用する周辺モジュールを有する集積回路装置の構成図である。
【図５】従来のＪＴＡＧチェーン回路の概略図である。
【図６】シリアルに接続したＣＰＵを切り離すことが可能な集積回路装置の構成図である。
【図７】従来のＬＳＩラインナップを示す図である。
【符号の説明】
【００５０】
１０  集積回路装置
１１、１２  ＣＰＵ
１３  バス
１４−１、１４−２、…、１４−ｎ  周辺モジュール
１５  デコーダ
【図１】
2008234688.tif 000003
【図２】
2008234688.tif 000004
【図３】
2008234688.tif 000005
【図４】
2008234688.tif 000006
【図５】
2008234688.tif 000007
【図６】
2008234688.tif 000008
【図７】
2008234688.tif 000009