(57)【要約】【課題】バスの信号変化によって発生する消費電力を低減することができる信号処理装置とその方法を提供する。【解決手段】ＣＰＵは、アドレスバスを介してＲＯＭに格納された命令コードを読み出す際、分岐命令に相当するアドレスデ−タ以外の場合は、アドレスバスに出力するアドレスデ−タを変更しない。アドレス制御回路は、このバス上のアドレスデータを初期値として逐次命令コード長に合わせてアドレスをカウントアップし、ＲＯＭに出力し、ＲＯＭは命令コードをアドレス制御回路を介してデータバスへ出力する。従って、分岐命令の場合以外は、アドレスバスの信号変化が起こらず、消費電力削減が実現される。【選択図】図１
2005018137.tif 000002
【特許請求の範囲】
【請求項１】
バスを介してデータを処理する信号処理装置であって、
複数のデータを処理するデータ処理手段と、
前記バスに接続され、前記データ処理手段から供給される複数のデータの転送を制御するデータ制御手段と
を有し、
前記データ制御手段は、前記バス上の前記複数のデータが所定のデータ以外は変化しないように、前記複数のデータを制御する
信号処理装置。
【請求項２】
前記データ処理手段は、命令コードに従ってプログラムを実行し、
前記データ制御手段は、前記データ処理手段からバスを介して指示される第１のアドレスデータに基づいて、第２のアドレスデータを生成し、
前記第２のアドレスデータに基づいて、前記命令コードをバスへ出力する命令コード記憶手段をさらに有し、
前記データ処理手段から指示される前記第１のアドレスデータは、前記命令コード記憶手段において所定の命令コードに相当する場合以外は、変化させない
請求項１記載の信号処理装置。
【請求項３】
前記データ制御手段において、前記第１のアドレスデータを逐次所定間隔で変化させて前記第２のアドレスデ−タを生成する
請求項２記載の信号処理装置。
【請求項４】
前記バスは、複数のデータのそれぞれに対応する複数の伝搬ラインを含み、前記複数のデータを各データ単位で転送する場合であって、
前記データ制御手段は、セレクト信号に基づいて、前記データ処理手段から供給される複数のデータを制御してバスへ出力し
前記バスへ出力される複数のデータは、前記セレクト信号により選択されたデータ以外は変化させない
請求項１記載の信号処理装置。
【請求項５】
バスを介してデータを処理する信号処理方法であって、
命令コードに従ってプログラムを実行する処理装置からバスを介して指示される第１のアドレスデータに基づいて、第２のアドレスデータを生成し、
前記第２のアドレスデータに基づいて、前記命令コードをバスへ出力し、
前記処理装置が指示する前記第１のアドレスデータは、所定の命令コードに相当する場合以外は、変化させない
信号処理方法。
【請求項６】
前記処理装置が指示する前記第１のアドレスデータを逐次所定間隔で変化させて前記第２のアドレスデ−タを生成する
請求項５記載の信号処理方法。
【請求項７】
複数のデータのそれぞれに対応する複数の伝搬ラインを含むバスを介して、前記複数のデータを各データ単位で転送する信号処理方法であって、
セレクト信号に基づいて、複数のデータを制御してバスへ出力し、
前記バスへ出力される複数のデータは、前記セレクト信号により選択されたデータ以外は変化させない
信号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスを介して信号を処理する信号処理装置とその方法に関する。
【０００２】
【従来の技術】
近年の集積回路（以下、単にＩＣと呼ぶ）の高集積化に伴って、従来の複数のＩＣで構成されていたシステムが単一のＩＣで実現されるようになってきた。例えば、大容量メモリとＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とからなるシステムでは、従来メモリとＣＰＵとがそれぞれ別のＩＣ上に搭載されていたが、近年ではこれらが同一のＩＣ上に搭載される場合が増えている。
【０００３】
図６は、ＣＰＵとメモリがＩＣ上に搭載され配線されている従来の信号処理装置を示すブロック図である。
図６において、ＣＰＵ１ａは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）  ２ａ、周辺ユニット３ａ及び４ａに接続されている。ＣＰＵ１ａで実行される命令コードはＲＯＭ２ａに格納されており、ＣＰＵ１ａがアドレス・バスＡＢにＲＯＭ２ａに割り当てられたシステムアドレスを発行し、データ・バスＤＢ経由で読み出す。ＣＰＵ１ａは読み出した命令コードを実行し、周辺ユニット３ａ及び周辺ユニット４ａを操作する。
ここで、ＲＯＭ２ａ等のメモリとＣＰＵ１ａとを接続するアドレス・バスやデータ・バスなどのバス・ラインは、他の信号線と比べて非常にビット数が多く、またその配線長は長くなる傾向があるため、バス・ラインの信号変化により消費される電力は他の信号線に比べて一般に大きくなる。一方、近年における携帯型電子機器の普及に伴ってＩＣの低消費電力化への要求はますます厳しくなっているので、こうしたバス・ラインで生じる消費電力は無視できなくなりつつあり、その削減が求められている。
【０００４】
ＩＣ上に搭載される信号処理装置におけるバス・ライン上の信号処理の第１の従来例について、図７〜９に関連付けて説明する。
図７は、例えば図６におけるＣＰＵ１ａで処理される命令コードとシステムアドレスとの対応関係を示す図である。
図８（Ａ）〜（Ｃ）は、ぞれぞれ同期信号ＣＬＫ、システムアドレスＳＹＳ＿ＡＤＲ及びシステムデータＳＹＳ＿ＤＡＴのタイミングチャートである。
図７で、ＯＤＲ１〜９はＣＰＵ１ａで実行される命令コードを表している。ＣＰＵ１ａは、上記命令コードを実行するため、所定のクロック周波数に同期してアドレス・バスＡＢに対してシステムアドレスを出力し、そのシステムアドレスに基づいて、ＲＯＭ２ａはシステムアドレスに対応する命令コードをデータ・バスへシステムデータとして出力する。
【０００５】
例えば、図８（Ｂ）において、ＣＰＵ１ａはクロック周波数ＣＬＫの最初の立ち上がりエッジで、アドレス・バスＡＢへシステムアドレスＳＹＳ＿ＡＤＲとして”００”を出力する。ＲＯＭ２ａは、システムアドレスＳＹＳ＿ＡＤＲに”００”が出力されたことを受けて、図７において”００”に対応する命令コードＯＤＲ１をデータ・バスＤＢへ出力する結果、図８（Ｃ）のとおり、システムデ−タＳＹＳ＿ＤＡＴはＯＤＲ１となる。そして、ＣＰＵ１は、このシステムデータＯＤＲ１を取り込みプログラムを実行する。
以下、ＣＰＵ１ａは、図８（Ｂ）のとおり、クロック周波数に同期して順次アドレス・バスＡＢへ”００”→”０４”→…とアドレスデータを出力し、ＲＯＭ２ａはデータ・バスＤＢは上記アドレスデータに対応する命令コードを、図８（Ｃ）のとおり、命令コードＯＤＲ１→ＯＤＲ２→…とデータ・バスＤＢへ出力し、ＣＰＵ１ａはデータ・バスＤＢから順次命令コードを取り出し、上記命令コードを順に実行していく。
【０００６】
次に、データ・バスＤＢが複数の伝搬ラインで構成され、バイト単位で転送するバスを用いた信号処理装置の第２の従来例について、図９に関連付けて説明する。
図９（Ａ）〜（Ｆ）は、データをバイト単位で転送するバスシステムの従来技術を説明するためのタイミングチャートである。
図９（Ａ）〜（Ｆ）は、例えば、図６においてＣＰＵ１ａが周辺ユニット３ａにデータ転送を行うときのタイミングチャートである。データ・バスＤＢは４バイトのデータバス幅を持つバスであり、４本の伝搬ラインであるバイトデータレーンＬＡＮＥ０〜ＬＡＮＥ３で構成され、各ラインは１バイトのデータを転送可能である。
また、ＭＳＢ側からバイトデータレーンＬＡＮＥ３、バイトデータレーンＬＡＮＥ２、バイトデータレーンＬＡＮＥ１、バイトデータレーンＬＡＮＥ０の順に並んだバスである。
【０００７】
このような複数バイトで構成されたデータバス幅を持つバスにおいて、バイト転送時に必要とされるデータは１バイトのみで、残りのバイトは必要とされず、値は何でもよい。
従って、図９（Ｂ）のシステムアドレスＳＹＳ＿ＡＤＲが“０”のときは、図９（Ｆ）に示すＬＡＮＥ０のデータ０−０のみが有効であり、他のＬＡＮＥ１〜３のデータ０−１、０−２、０−３は必要のないデータとなるので、どんな値でも構わない。
また、図９（Ｂ）のシステムアドレスＳＹＳ＿ＡＤＲ“１”のときは、図９（Ｅ）に示すＬＡＮＥ１のデータ１−１のみが有効であり、他のＬＡＮＥ０，２，３のデータ１−０、１−２、１−３は必要のないデータとなるので、どんな値でも構わない。
同様に、図９（Ｂ）のシステムアドレスＳＹＳ＿ＡＤＲ“２”のときは、図９（Ｄ）に示すＬＡＮＥ２のデータ２−２のみが有効であり、他のＬＡＮＥ０，１，３のデータ２−０、２−１、２−３は必要のないデータとなるので、どんな値でも構わない。
同様に、図９（Ｂ）のシステムアドレスＳＹＳ＿ＡＤＲ“３”のときは、図９（Ｃ）に示すＬＡＮＥ３のデータ３−３のみが有効であり、他のＬＡＮＥ０〜２のデータ３−０、３−１、３−２は必要のないデータとなるので、どんな値でも構わない。
システムアドレスＳＹＳ＿ＡＤＲ“０”のときのバイトデータレーンＬＡＮＥ１〜３のような不要なバイトデータレーンには、必要とされるバイトデータレーンのデータ（この場合はバイトデータレーンＬＡＮＥ０のデータ）をミラーしたり、意味のないランダムなデータが出力される場合が多い。
【０００８】
【発明が解決しようとする課題】
以上のとおり、上記第１の従来例においては、ＣＰＵ１ａの命令の実行に伴い、アドレス・バスＡＢ及びデータ・バスＤＢへのアクセスが頻繁に発生し、また、上記第２の従来例においては、転送対象バイトデータレーン以外の有効でないバイトデータレーンに無駄な信号変化が発生する。
従って、いずれの場合もバスに頻繁な信号変化が発生するため、この信号変化によって信号処理装置の消費電力が大きくなってしまうという問題がある。
【０００９】
本発明は上記の事情に鑑みてなされたものであり、その目的は、バスの信号変化によって発生する消費電力を低減することができる信号処理装置とその方法を提供することにある。
【００１０】
【課題を解決するための手段】
上記の目的を達成するため、本発明の第１の観点は、バスを介してデータを処理する信号処理装置であって、複数のデータを処理するデータ処理手段と、前記バスに接続され、前記データ処理手段から供給される複数のデータの転送を制御するデータ制御手段とを有し、前記データ制御手段は、前記バス上の前記複数のデータが所定のデータ以外は変化しないように、前記複数のデータを制御する。
【００１１】
前記データ処理手段は、命令コードに従ってプログラムを実行し、前記データ制御手段は、前記データ処理手段からバスを介して指示される第１のアドレスデータに基づいて、第２のアドレスデータを生成し、前記第２のアドレスデータに基づいて、前記命令コードをバスへ出力する命令コード記憶手段をさらに有し、前記データ処理手段から指示される前記第１のアドレスデータは、前記命令コード記憶手段において所定の命令コードに相当する場合以外は、変化させない。
【００１２】
また、本発明の第２の観点は、バスを介してデータを処理する信号処理方法であって、命令コードに従ってプログラムを実行する処理装置からバスを介して指示される第１のアドレスデータに基づいて、第２のアドレスデータを生成し、前記第２のアドレスデータに基づいて、前記命令コードをバスへ出力し、前記処理装置が指示する前記第１のアドレスデータは、所定の命令コードに相当する場合以外は、変化させない。
【００１３】
本発明の第１の観点に係る信号処理装置によれば、データ処理手段は、バスを介してデータ制御手段にアドレスデータを指示し、データ制御手段はこのアドレスデータに基づいてアドレスデータを制御して、制御したアドレスデータを命令コード記憶手段に出力する。命令コード記憶手段は、受け入れたアドレスデータに対応する命令コードを格納する命令コードから取り出して出力し、この命令コードがデータ制御手段及びバスを介して、データ処理手段に取り込まれ、実行される。
【００１４】
ここで、デ−タ制御手段により制御されたアドレスが命令コード記憶手段に供給されるため、所定の命令コードに相当する場合以外は、データ処理手段から指示されるアドレスデータはアドレスバス上で変化させる必要がなく、従ってアドレスバスの信号変化が起こらず、消費電力削減が実現される。
【００１５】
【発明の実施の形態】
以下に、本発明の信号処理装置の実施の形態について、添付図面を参照して説明する。
【００１６】
〈第１の実施の形態〉
図１は、第１の実施形態に係る信号処理装置の構成図である。
本実施形態における信号処理装置は、ＣＰＵ１と、ＲＯＭ２と、周辺ユニット３と、周辺ユニット４と、ＲＯＭ制御部５とを有しており、図６を用いて説明した従来の技術に係る信号処理装置に対して、ＲＯＭ制御部５をさらに有するところが特徴となっている。
また、ＣＰＵ１、ＲＯＭ制御部５、周辺ユニット３及び４は、アドレス・バスＡＢ及びデータ・バスＤＢに接続されている。
【００１７】
ＣＰＵ１は、本発明のデータ処理手段の一実施形態である。
ＲＯＭ２は、本発明の命令コード記憶手段の一実施形態である。
ＲＯＭ制御部５は、本発明のデータ制御手段の一実施形態である。
なお、周辺ユニット３及び周辺ユニット４は、本実施の形態における信号処理装置のバスの説明の便宜のために載せたものであり、本実施の形態に必ずしも必要ない。
【００１８】
ＣＰＵ１は、ＲＯＭ制御部５に宛てた命令コードのアドレスをアドレス・バスＡＢに出力し、ＲＯＭ制御部５及びデータ・バスＤＢを介してＲＯＭ２に記憶された命令コードを順次読み出す。そして、この読み出した命令コードに応じた所定の処理を実行する。
命令コードに応じた処理として、例えばデータメモリである周辺ユニット３に宛てた読み出しアドレスをアドレス・バスＡＢに出力し、データ・バスＤＢを介して周辺ユニット３に記憶されたデータを読み出す処理や、例えばデータメモリである周辺ユニット４に宛てた書き込みアドレスをアドレス・バスＡＢに出力し、データ・バスＤＢを介して周辺ユニット４にデータを書き込む処理などを実行する。
【００１９】
ＲＯＭ２は、ＣＰＵ１に対する命令コードを記憶しており、その命令コードを読み出すためのアドレスがＲＯＭ制御部５から供給された場合、この供給されたアドレスに対応する記憶領域から命令コードを読み出して、信号Ｓ２５によりＲＯＭ制御部５に出力する。
周辺ユニット３及び周辺ユニット４は、バスを介してＣＰＵ１で実行される命令コードに応じた処理の結果、必要に応じて所定のタスクを行う。例えば、周辺ユニット３がデータメモリであれば、データを読み出すためのアドレスがＣＰＵ１からアドレス・バスＡＢを介して供給された場合、この供給されたアドレスに対応する記憶領域からデータを読み出してデータ・バスＤＢに出力する。
ＲＯＭ制御部５は、アドレスカウンタを含み、命令コードを読み出すためのアドレスがＣＰＵ１から供給されたとき、命令コードが例えば４バイトである場合は、アドレスカウンタにより４バイトずつインクリメントしたアドレスを、信号Ｓ５２によりＲＯＭ２に出力する。
ＣＰＵ１とＲＯＭ制御部５は専用線によって接続され、ＲＯＭ制御部５は、制御信号Ｓ１５によりＣＰＵ１により制御される。すなわち、ＣＰＵ１が例えば所定のアドレスに分岐したい場合には、ＣＰＵ１は制御信号Ｓ１５をアクティブとし、同時に命令コードを読み出すためのアドレスを更新する。ＲＯＭ制御部５は、制御信号Ｓ１５がアクティブである場合には、上記インクリメントを中止して、ＣＰＵ１により更新された上記アドレスを出力し、それ以降は更新されたアドレスを初期値として、４バイト毎インクリメントしたアドレスを順次ＲＯＭ２へ出力する。
【００２０】
次に、本実施の形態における信号処理装置の動作についてタイミングチャートを用いて説明する。
図２（Ａ）〜（Ｆ）は、第１の実施の形態における信号処理装置の動作を説明するためのタイミングチャートである。
図２は、具体的には、従来の技術で説明した図７の一連の命令コードをＣＰＵ１が実行する場合のシステムアドレスやシステムデータ等の信号の流れを示したものである。
図２において、ＣＬＫは本発明に係る信号処理装置が動作する所定の周波数の同期信号であり、ＣＰＵ１はこの同期信号ＣＬＫの立ち上がりエッジのタイミングで、ＲＯＭ制御部５に宛てた命令コードのアドレスをアドレス・バスＡＢに、システムアドレスＳＹＳ＿ＡＤＲとして出力する。
【００２１】
その際、ＣＰＵ１は、命令コードが分岐命令の場合に限り命令コードのシステムアドレスＳＹＳ＿ＡＤＲを更新し、そうでない場合は命令コードのシステムアドレスＳＹＳ＿ＡＤＲを変更しない。また、命令コードが分岐命令の場合、ＣＰＵ１は制御信号Ｓ１５をアクティブ（Ｈレベル）とする。これにより、ＲＯＭ制御部５はインクリメントするアドレスの初期値を更新する。
信号線Ｓ５２は、前述のとおり、ＲＯＭ制御部５からＲＯＭ２へ供給されるアドレスデータである。
信号線Ｓ２５は、前述のとおり、ＲＯＭ制御部５からＲＯＭ２へ供給されるアドレスデータに基づいて、ＲＯＭ２がＲＯＭ制御部５へ出力する命令コードである。
【００２２】
以下、図２の時間軸に沿って、各部の動作を説明する。
まず、ＣＰＵ１は、同期信号ＣＬＫの第１周期目に同期したタイミングで、ＲＯＭ制御部５に宛てた命令コードのアドレス００をアドレス・バスＡＢに出力する。ここで、最初に命令コードのアドレスを出力する場合は、制御信号Ｓ１５をアクティブ（Ｈレベル）とする。
これにより、図２（Ｂ）のとおり、システムアドレスＳＹＳ＿ＡＤＲは００となる。
ＲＯＭ制御部５は、システムアドレスＳＹＳ＿ＡＤＲが００であることを受けて、内部のアドレスカウンタの初期値を００にセットする。アドレスカウンタは、同期信号ＣＬＫに同期してカウントアップすることにより、ＲＯＭ制御部５は、４バイト毎インクリメントしたアドレスを、Ｓ５２としてＲＯＭ２へ出力する。  ＲＯＭ制御部５は、図２（Ｄ）のとおり、まずアドレスの初期値００をＲＯＭ２へ出力する（Ｓ５２）。
ＲＯＭ２では、アドレス００に対応する命令コードを記憶領域から読み出して、命令コードＯＤＲ１を、図２（Ｅ）のとおり、ＲＯＭ制御部５に対して出力する（Ｓ２５）。そして、ＲＯＭ制御部５は、ＲＯＭ２から供給された命令コードＯＤＲ１をデータ・バスＤＢへ出力する結果、システムデータＳＹＳ＿ＤＡＴはＯＤＲ１となる。
【００２３】
同期信号ＣＬＫの第２周期目においては、ＣＰＵ１は命令コードのアドレスをアドレス・バスＡＢへ出力せず、図２（Ｆ）に示すように制御信号Ｓ１５もアクティブでない（Ｌレベル）ので、ＲＯＭ制御部５はアドレスカウンタの初期値を００を４バイト分インクリメントしたアドレス０４をＲＯＭ２へ出力する（Ｓ５２）。
ＲＯＭ２では、アドレス０４に対応する命令コードを記憶領域から読み出して、命令コードＯＤＲ２を、図２（Ｅ）のとおり、ＲＯＭ制御部５に対して出力する（Ｓ２５）。そして、ＲＯＭ制御部５は、ＲＯＭ２から供給された命令コードＯＤＲ２をデータ・バスＤＢへ出力する結果、図２（Ｃ）に見られるように、システムデータＳＹＳ＿ＤＡＴはＯＤＲ２となる。
【００２４】
以降、同期信号ＣＬＫの第５周期目までは、図２（Ｆ）が示すように制御信号Ｓ１５がアクティブでないため、ＲＯＭ制御部５においては、アドレスカウンタの初期値を変えずに０４→０８→０Ｃ→１０とカウントアップし（Ｓ５２）、ＲＯＭ２においては、ＲＯＭ制御部５のアドレスカウンタに対応する命令コードを、ＯＤＲ２→ＯＤＲ３→ＯＤＲ４→ＯＤＲ５のとおり、記憶領域から読み出す（Ｓ２５）。これらの命令コードは、図２（Ｃ）に示すとおり、ＲＯＭ制御部５を介してデータ・バスＤＢへ出力される。
【００２５】
同期信号ＣＬＫの第６周期目は、ＣＰＵ１が命令コードのアドレスを３０に分岐したい場合であり、この場合、図２（Ｂ）に示すとおり、ＣＰＵ１はＲＯＭ制御部５に宛てた命令コードのアドレス３０をアドレス・バスＡＢに出力する。さらに、図２（Ｆ）の制御信号Ｓ１５をアクティブ（Ｈレベル）とする。
制御信号Ｓ１５がアクティブ（Ｈレベル）であるため、ＲＯＭ制御部５はアドレスカウンタの初期値を３０に更新し、アドレス３０をＲＯＭ２へ出力する。ＲＯＭ２は、アドレス３０に対応する命令コードＯＤＲ６を記憶領域から読み出して、ＲＯＭ制御部５を介してデータ・バスＤＢへ出力する。
【００２６】
同期信号ＣＬＫの第７周期目以降は、分岐命令がないため、第２周期目から第５周期目までと同様に、ＲＯＭ制御部５のアドレスカウンタは４バイトずつインクリメントして、図２（Ｄ）に示すとおり、アドレス３４→３８→３Ｃ→…をＲＯＭ２へ出力する。
ＲＯＭ２は、アドレス３４→３８→３Ｃに対応する命令コードＯＤＲ７→ＯＤＲ８→ＯＤＲ９を、図２（Ｃ）のとおり、ＲＯＭ制御部５を介してデータ・バスＤＢへ出力する。
【００２７】
以上の動作について、図２と従来の技術において説明した図８の２つのタイミングチャートを比較して明らかなように、従来技術の信号処理装置では、システムアドレスＳＹＳ＿ＡＤＲが同期信号ＣＬＫ毎に変化しているのに対し、本実施の形態における信号処理装置では、制御信号Ｓ１５がアクティブであるタイミング以外は、システムアドレスＳＹＳ＿ＡＤＲの変化がない。
以上、図２を用いて第１の実施の形態における動作を説明したように、命令コードのデータサイズが通常一定（４バイト）であることに着目し、命令コードが分岐命令の場合以外は、バスとＲＯＭ２の間に設定したＲＯＭ制御部５により命令コードに対応するアドレスを４バイトずつインクリメントしてＲＯＭ２に供給することで、ＣＰＵ１は同期信号ＣＬＫ毎にシステムアドレスＳＹＳ＿ＡＤＲを変化させる必要がないため、アドレス・バスＡＢの低消費電力化が実現できる。
【００２８】
〈第２の実施の形態〉
次に、本発明の第２の実施の形態について説明する。
図３は、本発明の第２の実施の形態における信号処理装置を説明するための構成図である。
本実施形態における信号処理装置は、ＣＰＵ１と、ＲＯＭ２と、周辺ユニット３と、周辺ユニット４と、ＲＯＭ制御部５と、マルチプレクス部６とを有しており、図１を用いて説明した第１の実施形態における信号処理装置に対して、マルチプレクス部６をさらに有するところが特徴となっている。
また、ＣＰＵ１、ＲＯＭ制御部５、マルチプレクス部６、周辺ユニット３及び周辺ユニット４は、図３に示すように、アドレス・バスＡＢ及びデータ・バスＤＢに接続されている。
データ・バスＤＢは、４バイトのデータバス幅を持つバスであり、４本の伝搬ラインであるバイトデータレーンで構成され、各ラインは１バイトのデータを転送可能である。また、ＭＳＢ側からバイトデータレーンＬＡＮＥ３、バイトデータレーンＬＡＮＥ２、バイトデータレーンＬＡＮＥ１、バイトデータレーンＬＡＮＥ０の順に並んでいる。
【００２９】
図４は、マルチプレクス部６の構成を示した図である。
図４において、マルチプレクス部６は、マルチプレクサ６０〜６３および記憶回路７０〜７３から構成される。
図３における信号Ｓ１は、ＣＰＵ１が例えば周辺回路３等に宛てた４バイトのアドレスを、マルチプレクス部６に出力する信号であり、図４における信号Ｓ１０〜Ｓ１３がパラレルに構成されている。
また、図３における信号Ｓ６は、ＣＰＵ１が例えば周辺回路３等に宛てた４バイトのアドレスを、マルチプレクス部６がアドレス・バスＡＢに出力する信号であり、図４における信号Ｓ６０〜６３がパラレルに構成されている。
【００３０】
信号Ｓ６０〜６３は、それぞれデータ・バスＤＢのバイトレーンのデータである。従って、信号Ｓ６０がバイトデータレーンＬＡＮＥ０上の信号であり、信号Ｓ６１がバイトデータレーンＬＡＮＥ１上の信号であり、信号Ｓ６２がバイトデータレーンＬＡＮＥ２上の信号であり、信号Ｓ６３がバイトデータレーンＬＡＮＥ３上の信号となっている。
ＣＰＵ１とマルチプレクス部６は、ＣＰＵ１がアドレスを出力するための信号Ｓ１の信号線とは別に、セレクト信号ＳＥＬのための信号線が接続されている。図３において、ＣＰＵ１からマルチプレクス部６へのセレクト信号ＳＥＬは、図４におけるセレクト信号ＳＥＬ０〜３のための４本の信号がパラレルに構成されている。
【００３１】
図４において、記憶回路７０〜７３は、ＣＰＵ１が例えば周辺回路３等に宛てたＬＳＢ側から４バイト分のデータである信号Ｓ１０〜Ｓ１３をそれぞれ上書きして保持する。従って、各記憶回路７０〜７３の記憶容量は、それぞれ１バイト分あればよい。
図４において、マルチプレクス部６０〜６３は、セレクト信号ＳＥＬ０〜３に基づいて、マルチプレクス部６の出力信号Ｓ６０〜６３を制御する。
すなわち、セレクト信号ＳＥＬ０〜３がアクティブ（Ｈレベル）である場合には、信号Ｓ１０〜１３をそのまま、それぞれ信号Ｓ６０〜６３として出力する。また、セレクト信号ＳＥＬ０〜３がアクティブでない（Ｌレベル）場合には、記憶回路７０〜７３で保持しているデータを、それぞれ信号Ｓ６０〜６３として出力する。
従って、セレクト信号ＳＥＬ０〜３によって、データ・バスＤＢの各バイトデータレーンＬＡＮＥ０〜３のデータが制御できる。
【００３２】
次に、図３に示した第２の実施の形態における信号処理装置の動作について説明する。
例えば、ＣＰＵ１が、データメモリである周辺ユニット３にデータを転送する場合を考える。
この場合、図３における信号処理装置の動作としては、まずＣＰＵ１が、データメモリである周辺ユニット３に宛てた書き込みアドレスを、アドレス・バスＡＢに出力する。さらに、マルチプレクス部６及びデータ・バスＤＢを介して、周辺ユニット３にデータを書き込む処理を実行する。
上記動作において、ＣＰＵ１がマルチプレクス部６及びデータ・バスＤＢを介して、周辺ユニット３に書き込むデータは、例えば４バイトであり、４バイトのバス幅で構成されているデータ・バスＤＢに対して、バイト単位で順次出力する。
【００３３】
図５（Ａ）〜（Ｊ）は、本実施形態における信号処理装置の動作を説明するためのタイミングチャートである。
図５においては、同期信号ＣＬＫに同期して、ＣＰＵ１がアドレス・バスＡＢに４バイトのシステムアドレスＳＹＳ＿ＡＤＲを順次出力し、それに応じて４バイトのデータを、マルチプレクス部６経由で、データ・バスＤＢの各バイトデータレーンにバイト単位で順次出力する動作を図示している。
ここで、既に従来例２における信号処理装置を用いて説明したように、複数バイトで構成されたデータバス幅を持つバスにおいて、バイト転送時に必要とされるデータは１バイトのみで、残りのバイトは必要とされず、値は何でもよい。
【００３４】
従って、図５（Ｂ）に示すシステムアドレスＳＹＳ＿ＡＤＲが“０”のときは、図５（Ｆ）のバイトレーンデータＬＡＮＥ０の０−０のみが有効であり、他のバイトデータレーンＬＡＮＥ１〜３のデータは必要のないデータとなるので、どんな値でも構わない。
また、図５（Ｂ）に示すシステムアドレスＳＹＳ＿ＡＤＲが“１”のときは、図５（Ｆ）のバイトレーンデータＬＡＮＥ１のデータ１−１のみが有効であり、他のバイトデータレーンＬＡＮＥ０，２，３のデータは必要のないデータとなるので、どんな値でも構わない。
同様に、図５（Ｂ）に示すシステムアドレスＳＹＳ＿ＡＤＲが“２”のときは、バイトレーンデータＬＡＮＥ２のデータ２−２のみが有効であり、他のバイトデータレーンＬＡＮＥ０，１，３のデータは必要のないデータとなるので、どんな値でも構わない。
同様に、図５（Ｂ）に示すシステムアドレスＳＹＳ＿ＡＤＲが“３”のときは、バイトレーンデータＬＡＮＥ３のデータ３−３のみが有効であり、他のバイトデータレーンＬＡＮＥ０〜２のデータは必要のないデータとなるので、どんな値でも構わない。
【００３５】
まず、同期信号ＣＬＫの第１周期目の立ち上がりエッジのタイミングで、ＣＰＵ１は、図５（Ｂ）に示すとおり、アドレス・バスＡＢにシステムアドレスＳＹＳ＿ＡＤＲ“０”を出力すると同時に、マルチプレクス部６に対して、図５（Ｊ）に示すセレクト信号ＳＥＬ０をアクティブにする。
セレクト信号ＳＥＬ０を与えられたマルチプレクス部６のマルチプレクサ６０は、信号Ｓ１０上のデータ０−０をそのまま信号Ｓ６０として出力するため、図５（Ｆ）に示すバイトデータレーンＬＡＮＥ０のデータは０−０となる。同時に、データ０−０を記憶回路７０に保持する。
同期信号ＣＬＫの第１周期目においては、図５（Ｇ）〜（Ｉ）に示すとおり、セレクト信号ＳＥＬ１〜３はアクティブでないので、マルチプレクス部６のマルチプレクサ６１〜６３は、その時点で既に記憶回路７１〜７３に保持している各データ０−１，０−２，０−３を、それぞれ信号Ｓ６１〜６３として出力する結果、各バイトデータレーンＬＡＮＥ１〜３のデ−タは、図５（Ｃ）〜（Ｅ）に示すとおり、０−１，０−２，０−３となる。そして、各記憶回路７１〜７３は、データ０−１，０−２，０−３を保持する。
【００３６】
次に、同期信号ＣＬＫの第２周期目においては、図５（Ｂ）及び（Ｉ）に示すとおり、ＣＰＵ１はアドレス・バスＡＢにシステムアドレスＳＹＳ＿ＡＤＲ“１”を出力すると同時に、マルチプレクス部６に対して、セレクト信号ＳＥＬ１をアクティブにする。
アクティブであるセレクト信号ＳＥＬ１を与えられたマルチプレクス部６のマルチプレクス部６１は、信号Ｓ１１上のデータ１−１をそのまま信号Ｓ６０として出力するため、図５（Ｅ）に示すバイトデータレーンＬＡＮＥ０のデータは１−１となる。同時に、データ１−１を記憶回路７０に保持する。
同期信号ＣＬＫの第２周期目においては、図５（Ｇ）〜（Ｊ）に示すとおり、セレクト信号ＳＥＬ０，ＳＥＬ２，ＳＥＬ３はアクティブでないので、マルチプレクス部６のマルチプレクサ６０，６２，６３は、その時点で既に記憶回路７０，７２，７３に保持している各データ０−０，０−２，０−３を、それぞれ信号Ｓ６０，６２，６３として出力する結果、各バイトデータレーンＬＡＮＥ０，２，３のデータは、図５（Ｃ），（Ｄ），（Ｆ）に示すように、０−０，０−２，０−３となる。そして、各記憶回路７１〜７３は、データ０−０，０−２，０−３を保持する。
【００３７】
同期信号ＣＬＫの第３周期目以降も同様に、ＣＰＵ１からマルチプレクス部６へのセレクト信号により、マルチプレクス部６からデータ・バスＤＢへ出力される信号が制御される結果、図５（Ｃ）〜（Ｆ）に示すとおり、データ・バスＤＢの各バイトデータレーンのデータがマルチプレクス部６より出力される。
【００３８】
図５（Ｃ）〜（Ｆ）に図示したとおり、各バイトデータレーンＬＡＮＥ０〜３のデ−タは、４バイトのデータ転送において、それぞれの転送対象バイトが有効であるときに限り、データが変更される。
【００３９】
以上の動作について、図５と従来の技術において説明した図９の２つのタイミングチャートを比較して明らかなように、従来技術の信号処理装置では、データ・バスＤＢ上のバイトデータレーンのデータが同期信号ＣＬＫ毎に変化しているのに対し、本実施の形態における信号処理装置では、セレクト信号ＳＥＬ０〜３がアクティブであるタイミング以外は、データ・バスＤＢ上のバイトデータレーンのデータの変化がない。
以上、図５を用いて第２の実施の形態における動作を説明したように、複数バイトで構成されたデータバス幅を持つデータバスにおいては、バイト転送時に必要とされるデータは１バイトのみで、その他のバイトのデータは何でも構わないことに着目し、ＣＰＵ１がセレクト信号ＳＥＬ０〜３により選択したバイトデータレーン以外のデータについては、マルチプレクス部６の記憶回路７０〜７３に保持しているデータを継続してデータ・バスＤＢに出力するため、データ・バスＤＢ上で無駄な信号変化が発生せず、データ・バスＤＢの低消費電力化が実現できる。
【００４０】
本発明は、上記の実施形態の説明に限定されない。
第１の実施の形態において、命令コードは４バイトサイズであるとしたが、４バイトサイズに限定されず、例えば８バイトサイズでもよい。その場合は、ＲＯＭ制御部５におけるアドレスカウンタを８バイト毎にインクリメントさせることは言うまでもない。
また、第１の実施の形態においては、命令コードのサイズが一定である場合について説明したが、命令コードのサイズが変わるタイミングでＣＰＵ１から制御信号Ｓ１５によって、命令コードのサイズ長を送信すれば、そのサイズ長に従って、ＲＯＭ制御部５はアドレスカウンタのインクリメント間隔を変更するようにＲＯＭ制御部５を構成することも可能である。
制御信号Ｓ１５は、ＣＰＵ１が分岐命令を実行するときに限らず、他の特定の命令コードのときに、アドレス・バスＡＢからシステムアドレスを取り入れるようにするようにＲＯＭ制御部５を構成することもできる。
【００４１】
第２の実施の形態において、データ・バスＤＢは、４バイトのデータバス幅を持つバスであり、４本の伝搬ラインであるバイトデータレーンで構成されるが、４バイトのデータバス幅に限定されず、例えば８バイトのデータバス幅でもよい。その場合は、マルチプレクス部６を８組のマルチプレクサ及び記憶回路から構成し、８本のセレクト信号によりマルチプレクス部６を制御する。
【００４２】
【発明の効果】
本発明によれば、バスの信号変化によって発生する消費電力の低減を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における信号処理装置を示すブロック図である。
【図２】本発明の第１の実施の形態における信号処理装置の動作を説明するためのタイミングチャートである。
【図３】本発明の第２の実施の形態における信号処理装置を示すブロック図である。
【図４】第２の実施の形態におけるマルチプレクス部６の構成図である。
【図５】本発明の第２の実施の形態における信号処理装置の動作を説明するためのタイミングチャートである。
【図６】従来例における信号処理装置を示すブロック図である。
【図７】従来の技術における信号処理装置の動作を説明するための命令コードとアドレスの対応関係を示す図である。
【図８】第１の従来例における信号処理装置の動作を説明するためのタイミングチャートである。
【図９】第２の従来例における信号処理装置の動作を説明するためのタイミングチャートである。
【符号の説明】
１，１ａ…ＣＰＵ、２，２ａ…ＲＯＭ、３，３ａ…周辺ユニット、４，４ａ…周辺ユニット、５…ＲＯＭ制御部、６…マルチプレクス部、６０〜６３…マルチプレクサ、７０〜７３…記憶回路
【図１】
2005018137.tif 000003
【図２】
2005018137.tif 000004
【図３】
2005018137.tif 000005
【図４】
2005018137.tif 000006
【図５】
2005018137.tif 000007
【図６】
2005018137.tif 000008
【図７】
2005018137.tif 000009
【図８】
2005018137.tif 000010
【図９】
2005018137.tif 000011