(57)【要約】      （修正有）【課題】平行処理の多機能マイクロコントローラーの構造及びタイミング制御方法を提供する。【解決手段】多機能マイクロコントローラーの構造は、多機能マイクロコントローラープログラムの実行状況モジュールを含み、同一のクロック下で、異なるマイクロコントローラープログラムの実行状況モジュールが異なるタイミングで相互に実行され、複数のマイクロコントローラーが同時に並行して独立して操作されるものである。従って本発明は平行処理の多機能マイクロコントローラーの構造及びタイミング制御方法を提供するものであり、ハードウェアの電子回路が増加するにつれコストが上がることを避けられ、かつプログラムを実行する際のタイミングが妨害され、精確にタイミングを制御できなくなるという問題を効果的に解決することができる。【選択図】  図５
2006313529.tif 000002
【特許請求の範囲】
【請求項１】
平行処理の多機能マイクロコントローラーの構造であって、
これらのマイクロコントローラープログラムの実行状況モジュールが少なくとも一つのプログラムを行う少なくとも二つのマイクロコントローラープログラムの実行状況モジュールと、
これらのマイクロコントローラープログラムの実行状況モジュールに接続され、これらのマイクロコントローラープログラムの実行状況モジュールが交差のタイミングでそれぞれのプログラムを行うように制御する多機能マイクロコントローラー制御ロジックと、
これらのマイクロコントローラープログラムの実行状況モジュールに接続され、補佐演算を提供するマイクロコントローラー演算ロジックを具備することを特徴とする平行処理の多機能マイクロコントローラーの構造。
【請求項２】
これらのマイクロコントローラープログラムの実行状況モジュールの一つと前記マイクロコントローラー演算ロジックとがマイクロコントローラーとして一体形成されることを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項３】
これらのマイクロコントローラープログラムの実行状況モジュールの一つが優先的に中断を行うように設定されていることを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項４】
前記マイクロコントローラー演算ロジックがプログラムシーケンサと演算ロジックユニット（ALU）からなり、バスと前記プログラムシーケンサと前記演算ロジックユニットにより信号を伝送することを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項５】
これらのマイクロコントローラープログラムの実行状況モジュールがプログラムカウンターと演算フラッグからなり、バスにより前記プログラムカウンターと演算フラッグが接続され信号を伝送することを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項６】
これらのマイクロコントローラープログラムの実行状況モジュールがハンドシェイクプロトコルを介し制御信号を周辺素子に伝送することを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項７】
前記ハンドシェイクプロトコルがI2C protocol、共同非同期受/送信プロトコル（UART protocol） 、 SPI（シリアル・ペリフェラル・インタフェース）、入力信号のパルス幅測定プログラム、タイマー（Timer）からなる群より一つ選ぶことを特徴とする請求項６に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項８】
更にプログラムメモリを含み、このプログラムメモリが複数のプログラムを収納し、プログラムメモリバスとこれらのマイクロコントローラープログラムの実行状況モジュールを経て接続されることを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項９】
これらのマイクロコントローラープログラムの実行状況モジュールが前記プログラムメモリにおけるプログラム実行演算を読み取ることを特徴とする請求項８に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項１０】
前記プログラムが独立のプログラム、PWM波形発生プログラム、入力信号のパルス幅測定プログラム 、I2C ハンドシェイクプロトコルプログラム、UARTハンドシェイクプロトコルプログラム、SPIハンドシェイクプロトコルプログラム、タイマープログラムからなる群より一つ選ぶことを特徴とする請求項９に記載の平行処理の多機能マイクロコントローラーの構造。
【請求項１１】
更に少なくとも一つのデータメモリを含み、このデータメモリがデータメモリバスとこれらのマイクロコントローラープログラムの実行状況モジュールを経て接続されることを特徴とする請求項１に記載の平行処理の多機能マイクロコントローラー構造。
【請求項１２】
多機能マイクロコントローラーのタイミング制御方法であって、前記多機能マイクロコントローラーがX個のマイクロコントローラーの実行状況モジュールとY個の共用プログラムメモリを含み、X≧２、Y≧１、かつ前記多機能マイクロコントローラーは周波数が1/Tとなるクロックを受ける。前記タイミング制御方法は
前記X個のマイクロコントローラーの実行状況モジュールのそれぞれを、１/Tより小さいクロック周波数となる１/T１、１/T２……１/TXで動作させ、かつ、１/T１、１/T２……１/TXがX個目のマイクロコントローラーの実行状況モジュールのクロック周波数となり、且つ、１/T１＋１/T２＋……＋１/TX≦Y×１/Tとさせることを特徴とする多機能マイクロコントローラーのタイミング制御方法。
【請求項１３】
X個のマイクロコントローラーの実行状況モジュールには少なくとも一つの固定されたマイクロコントローラーの実行状況モジュールが優先的に中断を行うように設定されていることを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１４】
前記Y個のプログラムメモリが多機能のマイクロコントローラーの外部或いは内部に設置されることを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１５】
前記X個のマイクロコントローラーの実行状況モジュールのそれぞれが対応する一つのマイクロコントローラー演算ロジックと一体化し完全なマイクロコントローラーを形成することを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１６】
前記X個のマイクロコントローラーの実行状況モジュールの動きが変動的に同じマイクロコントローラー演算ロジックと一体化し完全なマイクロコントローラーを形成することを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１７】
1/Tｎ（ｎ＝1、２…X）を１/T１、１/T２….１/TXとし、ｎ＝１、２……X−1の時、１/Tｎ＝（１/２ｎ）×Y×（１/T）となり、N＝Xの時、１/Tｎ＝（１/２X−1）×Y×（１/T）となることを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１８】
X個のマイクロコントローラーの実行状況モジュールが平均的に受けるクロック周波数データは１/T１＝１/T２＝……＝１/TXとなることを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項１９】
X個のマイクロコントローラーの実行状況モジュールにx個が機能していないとき、クロック周波数データのみを（X−x）個のマイクロコントローラーの実行状況モジュールに享受し、１/T１＋１/T２＋……＋１/TX−x≦Y ×１/Tとさせることを特徴とする請求項１２に記載の多機能マイクロコントローラーのタイミング制御方法。
【請求項２０】
前記多機能マイクロコントローラーがX個のマイクロコントローラーの実行状況モジュールを含み、その方法は前記X個のマイクロコントローラーの実行状況モジュールには少なくとも一つの固定されたマイクロコントローラーの実行状況モジュールが優先的に中断を行うように設定されていることを特徴とする多機能マイクロコントローラーの中断処理方法。
【請求項２１】
前記X個のマイクロコントローラーの実行状況モジュールのそれぞれが対応するマイクロコントローラー演算ロジックと一体化し完全なマイクロコントローラーを形成することを特徴とする請求項２１に記載の多機能マイクロコントローラーの中断処理方法。
【請求項２２】
前記X個のマイクロコントローラーの実行状況モジュールが変動的に同じマイクロコントローラー演算ロジックと一体化し完全なマイクロコントローラーを形成することを特徴とする請求項２１に記載の多機能マイクロコントローラーの中断処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は多機能マイクロコントローラーの構造とそのタイミング制御方法に関わり、特に平行処理の多機能マイクロコントローラーの構造とそのタイミング制御方法
に関する。  
【背景技術】
【０００２】
マイクロコントローラー/マイクロプロセッサー、略称MCU/MPU、またはシングルチップマイクロコンピューターと呼ばれ、これは他の補助電子回路を必要とせず、独立して演算を行うことが出来る装置で、主に責任システム中に  機能を制御する集積電子回路素子であり、マイクロコントローラーは小型のコンピューターのようなもので、それは完全なコンピューターを含んでいるので様々な機能を提供することができる。
【０００３】
マイクロコントローラーの応用はかなり多方面にわたって、民生エレクトロニクス機器、工業制御、医療機器、車の制御などを含め、異なる領域で制御される周辺素子も異なるところがあり、周辺素子のハンドシェイクプロトコルもいくらか異なり、よく見られるハンドシェイクプロトコルにはI2C protocol、共同非同期受/送信プロトコル（UART protocol）などがあり、マイクロコントローラーは様々なハンドシェイクプロトコルにマッチしている際、異なる周辺素子と伝達しなければならない。ある応用上、マイクロコントローラーはSpecificタイミング或いはFixタイミングを生じさせることで周辺素子や波形測定を制御しなくてはならず、例えばパルス幅変調（PWM）を生じさせることでモーターを制御する。従ってマイクロコントローラーは正確なタイミングを生じさせることで周辺素子を制御し、正確なタイミングを用いて入力信号を測定する必要がある。
【０００４】
一般的なマイクロコントローラーはソフトウェアエミュレーションを利用するか定められたハードウェア回路を増強することでタイミングの問題を解決する。例えば、周辺素子とマイクロコントローラーがI2Cをハンドシェイクプロトコルとした場合、マイクロコントローラーはソフトウェアによりI2Cハンドシェイクプロトコルのエミュレーションを行うかマイクロコントローラー内でI2Cハンドシェイクプロトコルのハードウェア回路を増強する。一般的に言えば、ソフトウェアエミュレーションを利用するとハードウェアのコストを削減できるが、Specificタイミング或いはFixタイミングを精確に生じさせて周辺素子を制御するのは容易ではない。マイクロコントローラー内で定められたハードウェア回路を増強すれば必要とされるタイミングを精確に制御できるが、ハードウェア回路を増強するのでコストは増加する。特に異なる周辺素子が必要とするハンドシェイクプロトコル同じでないかもしれない、マイクロコントローラーはしばしば更に多くのハンドシェイクプロトコルのハードウェア回路を増強する必要があり、マイクロコントローラーに、より多くの周辺素子を制御させることができる。
【０００５】
従来のマイクロコントローラーシステムの構造は図１に示すように、マイクロコントローラー１１がプログラムメモリバスを通してプログラムメモリ１２とデータメモリ１３を読み取り、システムの必要に応じて増加し、マイクロコントローラーはプログラムメモリを直接読み取らなければならないので、データメモリにアクセスし別のデータメモリバスを通し、マイクロコントローラーは常に異なる周辺素子１４と組み合わせることでシステムの規格を完成させなければならず、異なる周辺素子を通してバスを制御し周辺素子に対し制御を行う。全体のマイクロコントローラーシステムの観点から見ると、その欠点は中断された時に、プログラムを実行する順序が予測できず、プログラムの実行時間も予測できなくなるので、正確なFixタイミングを用いて周辺素子を制御しなければならず、ソフトウェアでエミュレーションしても制御の効果が得られず、精確に信号を測定しても容易ではない。
【０００６】
他の従来の多機能マイクロコントローラーの構造は図２に示すように、複数のマイクロコントローラーユニット２５、２６、２７がバスと共同のデータメモリ28と共同の周辺素子２９通していわゆる多機能マイクロコントローラーを形成し、多機能マイクロコントローラーシステムのマイクロコントローラーユニットの数量はシステムの規格の需要に応じて変わる。このシステムにおいて、各マイクロコントローラーユニットがそれぞれのプログラムメモリを持つので、すべてのマイクロコントローラーユニットは独立して操作でき、各マイクロコントローラーがそれぞれのクロックを持つことができる。欠点はプログラムが複雑になりプログラムメモリの共用ができず、また全体のシステムのコストが相当高くなることである。
【０００７】
その上、半導体技術の進歩に従い、メモリにより更に広い帯域幅が得られ、そこでスーパースケーラ/ハイパースレッドのような多機能マイクロコントローラーの構造がうまれ、そのシステム構造は図３に示すように、複数のマイクロコントローラー３１、３２がプログラムメモリ３３を共用し複数のマイクロコントローラーを同じところで動作させ、また各マイクロコントローラー３１、３２とプログラムメモリの間に命令バッファ（instruction buffer）を入れる。各マイクロコントローラーは命令バッファを制御するので、マイクロコントローラーが読み取るプログラムメモリの確率が小さくなり、もちろん妨害される確率も減り、実行されるプログラムは我々の要求に応じて比較的動作させることができるが、明らかに、生じる確率が減るだけで、妨害を一切受けないことにはならず、そのような固定された時間でFixタイミングの周辺素子を作るということは、やはりソフトウェアで精確な制御ができず、また全体のハードウェアのコストが相当高くなる。
【０００８】
以上のことを鑑みると、本発明には上記の問題があり、平行処理の多機能マイクロコントローラーの構造とそのタイミング制御方法を提案することで、製造コストの削減及びマイクロコントローラーが受信妨害の問題を解決することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の主な目的は、平行処理の多機能マイクロコントローラーの構造とそのタイミング制御方法を提供するものであり、それは複数のマイクロコントローラープログラムの実行状況モジュールを用い多くのプログラムを平行して実行させることにより、多くのプログラムに平行処理をさせることができ、マイクロコントローラープログラムを実行する際のタイミングが妨害されるという問題を免れることができる。
【００１０】
本発明の主な目的は、平行処理の多機能マイクロコントローラーの構造とそのタイミング制御方法を提供するものであり、それは多機能マイクロコントローラー制御ロジックを用い複数のマイクロコントローラープログラムの実行状況モジュールの実行する順序を制御することで、ハードウェアの構造を簡単化し、またすべてのシステムの製造コストを下げることができる。
【００１１】
本発明の主な目的は、平行処理の多機能マイクロコントローラーの構造とそのタイミング制御方法を提供するものであり、それはソフトウェアに精確に生じ決められたタイミングで周辺素子を制御させることができる。
【課題を解決するための手段】
【００１２】
本発明によれば、マイクロコントローラープログラムの実行状況モジュールが少なくとも一つのプログラムを行う少なくとも二つのマイクロコントローラープログラムの実行状況モジュールと、マイクロコントローラープログラムの実行状況モジュールに接続され、各マイクロコントローラープログラムの実行状況モジュールが交差のタイミングでそれぞれのプログラムを行うように制御する多機能マイクロコントローラー制御ロジックと、各マイクロコントローラープログラムの実行状況モジュールに接続され、補佐演算を提供するマイクロコントローラー演算ロジックを具備することを特徴とする平行処理の多機能マイクロコントローラーの構造に係る。
【００１３】
本発明の別の重点によれば、システムが供給する基本的なクロック周波数が１/Tで、またプログラムメモリの数がYである時、X個のマイクロコントローラーの実行状況モジュールのそれぞれを、１/Tより小さいクロック周波数となる１/T１、１/T２……１/TXで動作させ、かつ、１/T１、１/T２……１/TXがX個目のマイクロコントローラーの実行状況モジュールのクロック周波数となり、且つ、１/T１＋１/T２＋……＋１/TX≦Y×１/Tとさせ、その時X≧２、Y≧１であることを特徴とする多機能マイクロコントローラーのタイミング制御方法である。
【００１４】
本発明のさらなる重点は、X個のマイクロコントローラーの実行状況モジュール中に、一つのマイクロコントローラーの実行状況モジュールが優先的に中断を行うように設定されていることである。
【００１５】
以下に具体的な実施例を組み合わせた図式と詳しい説明により、本発明の目的、技術内容、特徴及びその達成できた効果がさらに理解し易くなるはずである。    
【発明を実施するための最良の形態】
【００１６】
本発明は多機能マイクロコントローラー（マルチプルMCU、MMCU）の構造を提供するものであり、マイクロコントローラーにプログラムを実行している際、妨害を受けさせないようにすることとソフトウェアに精確に機能させタイミングを制御させることができる。
【００１７】
図４の本発明の構造を示す実施例の概念図に示すように、多機能マイクロコントローラー（MMCU）システムはX個の独立して動作させることのできるマイクロコントローラーMCU_1、MCU_2、MCU_3、MCU_4（本実施例ではX=4として説明する）を含み、MCU_1でメインプログラムを実行し、MCU_2でパルス幅変調（PWM）の波形を生じさせ、MCU_3で信号の入力されたパルス幅を測定し、MCU_4でI2Cハンドシェイクプロトコルを実行する。
【００１８】
図５の本発明の構造を示す実施例のブロック図に示すように、四個のマイクロコントローラーMCU_1、MCU_2、MCU_3、MCU_4がある時、相対する四個のマイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４を有する。マイクロコントローラープログラムの実行状況モジュール５１（プログラムカウンター１、アキュムレータ１、演算フラッグ１）はMCU_1が動作している時に使用され、マイクロコントローラープログラムの実行状況モジュール５２（プログラムカウンター２、アキュムレータ２、演算フラッグ２）はMCU_２が動作している時に使用され、マイクロコントローラープログラムの実行状況モジュール５３（プログラムカウンター３、アキュムレータ３、演算フラッグ３）はMCU_３が動作している時に使用され、
マイクロコントローラープログラムの実行状況モジュール５４（プログラムカウンター４、アキュムレータ４、演算フラッグ４）はMCU_４が動作している時に使用され、多機能マイクロコントローラー制御ロジック５５が異なるタイミングの場合、異なるマイクロコントローラープログラムの実行状況モジュールを選んで演算を行う。
【００１９】
四個のマイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４は各自少なくとも一つのプログラムを実行でき、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４に接続され、マイクロコントローラープログラムの実行状況モジュールに交差のタイミングでそれぞれのプログラムを実行させることができ、且つマイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４に接続され、補佐演算を提供するマイクロコントローラー演算ロジック５０を有する。そのうち、マイクロコントローラー演算ロジック５０がプログラムシーケンサ５１４と演算ロジックユニット５１５からなり、共にバスに接続されることで信号を伝送する。また、マイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４は各自プログラムカウンター、アキュムレータ及び演算フラッグを有する。
【００２０】
以上の構造の中で、マイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４が変動方式によりマイクロコントローラー演算ロジック５０を共有する。マイクロコントローラープログラムの実行状況モジュール５１、５２、５３、５４のうちの一つとマイクロコントローラー演算ロジック５０が組み合わされ動作している際、変動的な従来のコントローラーをつくり上げる。
【００２１】
図６の本発明の別の構造を示す実施例のブロック図に示すように、少なくとも一つのプログラムを実行できるマイクロコントローラー６０を含み、三個のマイクロコントローラープログラムの実行状況モジュール６２、６３、６４が同じ方式で各自少なくとも一つのプログラムを実行でき、多機能マイクロコントローラー制御ロジック６５がマイクロコントローラー６０とマイクロコントローラープログラムの実行状況モジュール６２、６３、６４に接続され、マイクロコントローラー６０とマイクロコントローラープログラムの実行状況モジュール６２、６３、６４に交差のタイミングでそれぞれのプログラムを実行させる。
【００２２】
そのうち、マイクロコントローラー６０はプログラムカウンター１、アキュムレータ１及び演算フラッグ１、プログラムシーケンサ６０１、演算ロジックユニット（ALU）６０２を有する。また、マイクロコントローラープログラムの実行状況モジュール６２、６３、６４も各自プログラムカウンター、アキュムレータ、演算フラッグを有し、マイクロコントローラー６０内のプログラムカウンター１、アキュムレータ１及び演算フラッグ１もまたマイクロコントローラープログラムの実行状況モジュール６１とみなすことができる。
【００２３】
以上より図６の構造は図５の構造と実質上同じであり、目的はＩＣチップの製造の中で説明されるだけで、従来のマイクロコントローラー電気回路をマイクロコントローラー６０としてそのまま置き換えることができ、それに加えその他の電気回路の設計もその他の構造部分にみなすことができ、設計上比較的便利である。
【００２４】
図７の本発明における四個のマイクロコントローラープログラムの実行状況モジュールのクロック動作図の実施例に示すように、CLKの１＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５１を選び動作させ、MCU_1のプログラムを実行し、CLKの２＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５２を選び動作させ、MCU_２のプログラムを実行し、CLKの３＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５１を選び動作させ、MCU_1のプログラムを実行し、CLKの４＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５３を選び動作させ、MCU_３のプログラムを実行し、CLKの５＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５１を選び動作させ、MCU_1のプログラムを実行し、CLKの６＃タイミングの場合、多機能マイクロコントローラー制御ロジック５５がマイクロコントローラープログラムの実行状況モジュール５２を選び動作させ、MCU_２のプログラムを実行する。これに従って類推すると、本発明の構造で、もしシステム機能を増やして更に多くのマイクロコントローラーに同時に動作させたいのであれば、新しいマイクロコントローラープログラムの実行状況モジュールを増やすだけでよい。
【００２５】
全体から見ると、これによって類推すると、多機能マイクロコントローラーのクロックがCLKで、MCU_1の命令実行時間がCLKの１＃、３＃、５＃、７＃、・・・であり、CLKが１＃の場合メインプログラムのN番目の動作を実行し、CLKが３＃の場合メインプログラムのN＋１番目の動作を実行し、CLKが５＃の場合メインプログラムのN＋２番目の動作を実行し、これに従って類推すると、MCU_1の実行されたクロックは多機能マイクロコントローラーのクロックの１/２に相当する。MCU_２の命令実行時間がCLKの２＃、６＃、１０＃、１４＃、・・・であり、CLKが２＃の場合PWM機能のM番目の動作を実行し、CLKが６＃の場合PWM機能のM＋１番目の動作を実行し、CLKが１０＃の場合PWM機能のM＋２番目の動作を実行し、これに従って類推すると、MCU_２の実行されたクロックは多機能マイクロコントローラーのクロックの１/４に相当する。MCU_３の命令実行時間がCLKの４＃、１２＃、・・・であり、CLKが４＃の場合パルス幅変調のU番目の動作を実行し、CLKが１２＃の場合パルス幅変調のU＋１番目の動作を実行し、これに従って類推すると、MCU_３の実行されたクロックは多機能マイクロコントローラーのクロックの１/８に相当する。MCU_４の命令実行時間がCLKの８＃、１６＃、・・・であり、CLKが８＃の場合I2C機能のV番目の動作を実行し、CLKが１６＃の場合I2C機能のV＋１番目の動作を実行し、これに従って類推すると、MCU_４の実行されたクロックは多機能マイクロコントローラーのクロックの１/８に相当する。
【００２６】
さらに、図７に示すようにMCU_1、MCU_2、MCU_3、MCU_4が交差のタイミングでそれぞれ作動し、そこでMCU_1、MCU_2、MCU_3、MCU_4はプログラムメモリを共用することができ、命令バッファを入れて異なるマイクロコントローラーの相互妨害を防ぐ必要もなく、ハードウェアのコストを下げることができ、また多機能マイクロコントローラーに付随するソフトウェアの複雑度は増さない。
【００２７】
以上の説明から考えつくことは、共用するプログラムメモリが一つだけではなくてもよいということで、例えば四個のMCUが二つのプログラムメモリを共有できる。言い換えれば、MCU、プログラムメモリ、クロックの三者間の関係は式（１）となる。
【数１】
2006313529.tif 000003
そのうち、システムが提供する基本的なクロック周波数が１/Tで、X個のMCUのそれぞれを、１/Tより小さいクロック周波数となる１/T１、１/T２……１/TXで動作させ、その１/T１、１/T２……１/TXが１、２……、X番目のMCUのクロック周波数となり、Yはプログラムメモリの数である。
【００２８】
前記図７の例はX＝４、Y＝１の状態で、１/２T、１/４T、１/８T、１/８Tの方式でデータを共有する。もちろんこれが唯一の方式ということではなく、設計者が本発明の概念の下で、たとえば１/４T、１/４T、１/４T、１/４T
のように任意の方式で分配することができる。或いは変動的にあるMCUを用いない場合、一時データを共有せず、データを使用されているMCUだけに分 配すればよく、例えば１/２T、１/４T、１/４T、０などである。
【００２９】
強調するべきことは、以上のクロック周波数のデータ共有に関する概念は本発明の別の重点であり、たとえ図５と図６のハードウェアの構造に合わなくても、例えば図３の従来の構造に応用でき、これも新規の方法といえる。言い換えれば、前記のMCUというのは、図３のような固定された従来のMCU、或いは図５、図６に示すような変動的なMCU（マイクロコントローラープログラムの実行状況モジュール＋マイクロコントローラ−演算ロジック）でよい。
【００３０】
また、いわゆる「システムが提供する基本的なクロック周波数が１/Tである」というのは、広い意味では命令動作の最小単位が１/Tということを指し、狭い意味でのシステムの元が提供するクロック周波数が１/Tであるとは限らない。例を挙げると、もし電気回路が倍の周波数で設計されていると、各クロックの周期の正の半周期と負の半周期でそれぞれ動作し、本発明の１/Tというのは、システムの元が提供するクロック周波数の２倍であり、或いは回路のその他の方式で、その他が提供するMMCUのクロック周波数を生じ、本発明の１/Tというのは、回路方式を通じて生じるクロック周波数のことである。更に詳しく述べると、例えばシステムの元が提供するクロック周波数が１MHｚであれば、システムが回路方式を通じて３MHｚのクロック周波数を生じることと等しく、本発明の「システムが提供する基本的なクロック周波数」というのは３MHｚであり、本発明の１/Tというのはシステムが動作する時に使用される実際のクロックを一般的に指す。
【００３１】
このほか、以上の分担方式によると、中断をさせたい場合、中断プログラムを固定された一つの（或いは幾つかの固定された）MCUに与え処理させ、その他のMCUが完全に中断されないようにすることができる。このような「一つの或いは幾つかのMCUにより中断の処理を固定する」方式は図５、６の構造で適用できるだけでなく、図３の構造でも適用することができる。本発明におけるこのような新規的な中断処理方法は、あらゆるMCUの動作が多く新たに中断の要求が出た場合でも、大部分のMCUのタイミングは精確に制御される。
【００３２】
異なる機能を組み合わせた多機能マイクロコントローラーについて説明しておくと、異なるマイクロコントローラーの実行タイミングは多機能マイクロコントローラー制御ロジック５５を通じて再度設定され、タイミングの設定もシステムの規格と周辺素子の規格に合わせなければならず、例えば、高速のハンドシェイクプロトコルは高い周波数のタイミングに設定される。  
【００３３】
さらに、図８の本発明の構造を示す他の実施例の構造概念図に示すように、六個のマイクロコントローラーを有し、第一マイクロコントローラーMCU_１でメインプログラムを実行し、第二マイクロコントローラーMCU_２でI2C機能を実行し、第三マイクロコントローラーMCU_３でUART機能を実行し、第四マイクロコントローラーMCU_４でPWM機能を実行し、第五マイクロコントローラーMCU_５で特殊波形が生じさせる機能一を実行し、第六マイクロコントローラーMCU_６で特殊波形が生じさせる機能ニを実行し、それぞれマイクロコントローラープログラムの実行状況モジュールに対応し、またX=６となる。
【００３４】
従って、本発明は異なる数のマイクロコントローラーでそれぞれのプログラムを実行させることができ、マイクロコントローラープログラムの実行状況モジュールを増やすだけでよい。或いは各マイクロコントローラーが実行する複数の異なるプログラムを調整し最適な実行効果を達成させ、製造コストと効果のバランスが最も良くすることができる。またソフトウェアにより異なるハンドシェイクプロトコルと様々な周辺素子を完全にマッチさせることができ、正確にFixタイミングを生じさせることで異なる周辺素子を制御し精確に信号幅を測定することができ、前記に挙げた例以外に、SPIハンドシェイクプロトコルプログラム、タイマープログラム、入力信号のパルス幅測定プログラムはみな応用の範疇であり、ハードウェアのコストを大いに下げるだけでなくマイクロコントローラーの使用時の融通性も大いに強化する。
【００３５】
前述のように本発明の利用は複数のマイクロコントローラープログラムの実行状況モジュールを用いてマイクロコントローラーに異なる演算プログラムを実行させ、マイクロコントローラー制御ロジックを通じてクロックによってそれぞれプログラムを実行する。従って、本発明は従来のタイミングが妨害され精確にタイミングを制御することができないという問題を効果的に解決できるだけでなく、平行処理の多機能マイクロコントローラーの構造を提供し、複数のプログラムに平行処理を行わせることで、ハードウェアの構造が簡単になり全体のシステムの製造コストが減らせられる。
【００３６】
以上は実施例による本発明の特徴の説明であり、その目的はこの技術を熟知している者に本発明の内容を理解してもらうための実施であり、本発明の特許請求範囲を制限するものではない。従って、本発明の主旨から外れることなく、手を加えるか変更されているものも、上記の特許請求の範囲内に含まれるべきである。
【図面の簡単な説明】
【００３７】
【図１】従来のマイクロコントローラーシステムの構造を示す実施例である。
【図２】他の従来の多機能マイクロコントローラーシステムの構造を示す実施例である。
【図３】別の従来の多機能マイクロコントローラーシステムの構造を示す実施例である。
【図４】本発明の構造を示す実施例概念図である。
【図５】本発明の構造を示す実施例のブロック図である。
【図６】本発明の別の構造を示す実施例のブロック図である。
【図７】本発明における四個のマイクロコントローラープログラムの実行状況モジュールのクロック動作図の実施例である。
【図８】本発明の構造を示す他の実施例の構造概念図である。
【符号の説明】
【００３８】
１１      マイクロコントローラー
１２      プログラムメモリ
１３      データメモリ
１４      周辺素子
２５      マイクロコントローラーユニット
２６      マイクロコントローラーユニット
２７      マイクロコントローラーユニット
２８      データメモリ
２９      周辺素子
３１      マイクロコントローラー
３２      マイクロコントローラー
３３      プログラムメモリ
５０      マイクロコントローラー演算ロジック
５１      マイクロコントローラープログラムの実行状況モジュール
５２      マイクロコントローラープログラムの実行状況モジュール
５３      マイクロコントローラープログラムの実行状況モジュール
５４      マイクロコントローラープログラムの実行状況モジュール
５５      多機能のマイクロコントローラー制御ロジック
５１４    プログラムシーケンサ
５１５    演算ロジックユニット（ALU）
６０      マイクロコントローラー
６１      マイクロコントローラープログラムの実行状況モジュール
６２      マイクロコントローラープログラムの実行状況モジュール
６３      マイクロコントローラープログラムの実行状況モジュール
６４      マイクロコントローラープログラムの実行状況モジュール
６５      多機能マイクロコントローラー制御ロジック（MMCU control logic）
６０１    プログラムシーケンサ
６０２    演算ロジックユニット（ALU）
【図１】
2006313529.tif 000004
【図２】
2006313529.tif 000005
【図３】
2006313529.tif 000006
【図４】
2006313529.tif 000007
【図５】
2006313529.tif 000008
【図６】
2006313529.tif 000009
【図７】
2006313529.tif 000010
【図８】
2006313529.tif 000011