(57)【要約】【課題】  バス上に異なる性質を持つデータが流れた場合であっても消費電力を小さく抑えることができる電子回路を提供する。【解決手段】  ＣＰＵ１１とデータバス１８との間において、切替制御装置５０で切替器２５，２６を制御して符号化器２１，復号器２３または符号化器２２，復号器２４のうちデータの性質に適した符号化方式を選択する。【選択図】    図１
2006304059.tif 000002
【特許請求の範囲】
【請求項１】
符号化されたデータをバス上に出力し該バス上のデータを受け取って復号化することによりデータの送受を行なう電子回路において、
データに互いに種類が異なる符号化を施す複数種類の符号化部と、
バス上に出力されるデータの性質に応じて、前記複数種類の符号化部のうちのいずれか１つの符号化部を選択し選択した符号化部に該データを符号化させてバス上に出力させる符号化選択部とを備えたことを特徴とする電子回路。
【請求項２】
前記符号化選択部が、バス上に流れるデータをモニタして該データの性質を判定し、該判定の結果に応じていずれか１つの符号化部を選択するものであることを特徴とする請求項１記載の電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化されたデータをバス上に出力しそのバス上のデータを受け取って復号化することによりデータの送受を行なう電子回路に関する。
【背景技術】
【０００２】
近年、半導体集積回路の益々の微細化に伴い、半導体集積回路の動作速度も益々高速化し、このためデータの送受が行なわれるバス配線の容量は相対的に大きくなる傾向にある。また、半導体集積回路には、多くの機能が集積される。従って、このような半導体集積回路が組み込まれた電子回路では、アドレスバスやデータバス等のバス上に流れるデータを構成するビットそれぞれの反転時における消費電力が大きくなるという問題が発生する。この問題を解決するために、バス上に流れるデータを符号化することによりビットの反転の回数を低減して消費電力を小さく抑える技術が提案されている。
【０００３】
例えば、非特許文献１には、Ｂｕｓ−ｉｎｖｅｒｔ符号化の技術が提案されている。この技術では、バス上にデータを送信するにあたり、バス幅のビット数の半分を超えるビットが反転してしまう場合、データをそのまま送信するのではなく全ビットを反転させて送信する。これにより、バス上の反転するビットの数を常にバス幅の半分以下に抑えることができる。尚、受信側での復号化にあたっては、データが反転しているか否かを示す１ビットの信号を送信する信号線をバス配線に追加し、受信側ではこの１ビットの信号を確認しデータが反転されている場合には再度反転して復号化処理する。このような符号化技術は、バス上の反転するビットの数の最大値を、バス幅のビット数の半分以下とするものであるため、どのような性質のデータ流に適用しても消費電力削減の効果がある。
【０００４】
また、非特許文献２には、ＡＬＢＯＲＺ（Ａｄｄｒｅｓｓ  Ｌｅｖｅｌ  Ｂｕｓ  Ｐｏｗｅｒ  Ｏｐｔｉｍｉｚａｔｉｏｎ）符号化の技術が提案されている。一般に、アドレスバスを伝送するアドレス信号は、インクリメント（＋１）される頻度が非常に多く、それ以外の場合でも変位が一定の範囲内（例えば、−１６〜＋１７）である頻度が多い。このような場合、ＡＬＢＯＲＺ符号化技術を採用することにより消費電力を小さく抑えることができる。
【０００５】
図３は、従来の、ＡＬＢＯＲＺ符号化技術を採用した電子回路を示す図である。
【０００６】
図３に示す電子回路１００を構成するレジスタ１０１および減算器１０２には、ソースワードである３２ビットのアドレス信号が入力される。レジスタ１０１には、直前のアドレス値が格納される。減算器１０２は、今回送信しようとするアドレス値とレジスタ１０１に格納された直前のアドレス値との差分値（オフセット値）を求めて、符号化器１０３に出力する。
【０００７】
符号化器１０３は、差分値が一定の範囲（ここでは、−１６〜＋１７）に入らないと判定した場合はアドレスを符号化せずに切替器１０４を経由してそのままアドレスバスに送信する。一方、差分値が一定の範囲に入ると判定した場合は、符号化を行なう。符号化した旨の情報はフリップフロップ１０５に送られ、これによりフリップフロップ１０５からコードオンフラグが出力される。このコードオンフラグは、アドレスバスに追加された１ビットの信号線で送信される。符号化器１０３では、減算器１０２からのアドレスの差分値を、図４に示すコードワードに変換する。
【０００８】
図４は、図３に示す減算器からの差分値と、その差分値に対応して変換されたコードワードとを示す図である。
【０００９】
図４の左側には、減算器１０１からの差分値＋１および＋２，…，＋１７，−１，…，−１６が示されている。また、図４の右側には、これら差分値＋１および＋２，…，＋１７，−１，…，−１６に対応して変換されたコードワードが示されている。これらのコードワードは、それぞれ、３２ビット構成であり、例えば図４に示す差分値＋１７に対応するコードワード“００００８０００ｈ”を３２ビットで表わすと、“００００  ００００  ００００  ００００  １０００  ００００  ００００  ００００”となる。
【００１０】
このように、“１”であるビットが１つ以下の符号を使用し、図３に示すエクスクルーシブオア回路１０６で“１”であるビットのみを反転するように（ＸＯＲ）して、切替器１０４を経由してアドレスバスに送信する。このようにすることにより、アドレスバス上で反転するビットの数はアドレス変位が＋１のときは０ビット、アドレス変位が−１６〜＋１７のときは１ビットとなる。従って、アドレスバス上に流れるアドレス信号の変位に起因する消費電力を小さく抑えることができる。
【非特許文献１】Ｍ．Ｒ．Ｓｔａｎ  ａｎｄ  Ｗ．Ｐ．Ｂｕｒｌｅｓｏｎ，”Ｂｕｓ-ｉｎｖｅｒｔ  ｃｏｄｉｎｇ  ｆｏｒ  ｌｏｗ  ｐｏｗｅｒ  Ｉ／Ｏ，”  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  ＶＬＳＩ  Ｓｙｓｔｅｍｓ，ｖｏｌ．３，ｐｐ．４９-５８，Ｍａｒ．１９９５．
【非特許文献２】Ｙ．Ａｇｈａｇｈｉｒｉ，Ｆ．Ｆａｌｌａｈ，Ｍ．Ｐｅｄｒａｍ，ＡＬＢＯＲＺ：Ａｄｄｒｅｓｓ  Ｌｅｖｅｌ  Ｂｕｓ  Ｐｏｗｅｒ  Ｏｐｔｉｍｉｚａｔｉｏｎ，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｑｕａｌｉｔｙ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ，Ｃａｌｉｆｏｒｎｉａ，Ｍａｒ．２００２．
【発明の開示】
【発明が解決しようとする課題】
【００１１】
用途の定まった半導体集積回路を備えた電子回路においては、その用途に適した符号化技術を採用すると、消費電力削減の効果が高いと考えられる。しかし、近年の高機能化された半導体集積回路においては、バス上に異なる性質を持つデータ（例えば、音声を表わすデータと数値情報からなるデータ）が混在して流れるために、特定の性質を持つデータに対して消費電力削減の効果がある符号化技術を採用すると、別の性質を持つデータに対しては消費電力削減の効果がないかあるいは悪化してしまうという問題がある。
【００１２】
本発明は、上記事情に鑑み、バス上に異なる性質を持つデータが流れた場合であっても消費電力を小さく抑えることができる電子回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成する本発明の電子回路は、符号化されたデータをバス上に出力しそのバス上のデータを受け取って復号化することによりデータの送受を行なう電子回路において、
データに互いに種類が異なる符号化を施す複数種類の符号化部と、
バス上に出力されるデータの性質に応じて、上記複数種類の符号化部のうちのいずれか１つの符号化部を選択し選択した符号化部にそのデータを符号化させてバス上に出力させる符号化選択部とを備えたことを特徴とする。
【００１４】
本発明の電子回路は、バス上に出力されるデータの性質に応じて選択された符号化部で、そのデータを符号化してバス上に出力させるものである。このため、バス上に異なる性質を持つデータが混在して流れる場合であっても、それら異なる性質を持つデータそれぞれに対して消費電力を小さく抑えるような符号化処理を施すことができる。従って、バス上に異なる性質を持つデータが流れた場合であっても消費電力を小さく抑えることができる。
【００１５】
ここで、上記符号化選択部が、バス上に流れるデータをモニタしてそのデータの性質を判定し、その判定の結果に応じていずれか１つの符号化部を選択するものであることが好ましい。
【００１６】
このようにすると、常に固定された符号化方式を用いる場合に比べてバス上に流れるデータに対して消費電力を一層小さく抑えることができる。
【発明の効果】
【００１７】
本発明の電子回路によれば、バス上に異なる性質を持つデータが流れた場合であっても消費電力を小さく抑えることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の実施の形態を説明する。
【００１９】
図１は、本発明の第１実施形態の電子回路を示す図である。
【００２０】
図１に示す電子回路１は、アドレスおよびデータを符号化してアドレスバス１４およびデータバス１８上に出力し、それらアドレスバス１４およびデータバス１８上のアドレスおよびデータを受け取って復号化することにより、アドレスおよびデータの送受を行なう電子回路である。データバス１８上には、異なる性質を持つデータ（例えば、音声を表わすデータと数値情報からなるデータ）が混在して流れる。
【００２１】
この電子回路１には、ＣＰＵ１１と、ＲＡＭ１２と、入出力装置１３とが備えられている。
【００２２】
また、この電子回路１には、ＣＰＵ１１から出力されるアドレスに符号化を施してアドレスバス１４上に出力する符号化器１５と、アドレスバス１４上のアドレスを受け取って復号化してＲＡＭ１２に出力する復号器１６と、アドレスバス１４上のアドレスを受け取って復号化して入出力装置１３に出力する復号器１７とが備えられている。
【００２３】
さらに、この電子回路１には、データバス１８とＣＰＵ１１との間に、データに互いに種類が異なる符号化を施す符号化器２１，２２と、データに互いに種類が異なる復号化を施す復号器２３，２４と、切替器２５，２６とが備えられている。切替器２５，２６は、データバス１８上に出力されるデータの性質に応じて、符号化器２１，２２のうちのいずれか１つの符号化器を選択し、選択した符号化器にデータを符号化させてデータバス１８上に出力させる。また、切替器２５，２６は、データバス１８上から入力されるデータの性質に応じて、復号器２３，２４のうちのいずれか１つの復号器を選択し、選択した復号器にデータを復号化させてＣＰＵ１１に出力させる。
【００２４】
また、この電子回路１には、データバス１８とＲＡＭ１２との間に、データに互いに種類が異なる符号化を施す符号化器３１，３２と、データに互いに種類が異なる復号化を施す復号器３３，３４と、切替器３５，３６とが備えられている。切替器３５，３６は、データバス１８上に出力されるデータの性質に応じて、符号化器３１，３２のうちのいずれか１つの符号化器を選択し、選択した符号化器にデータを符号化させてデータバス１８上に出力させる。また、切替器３５，３６は、データバス１８上から入力されるデータの性質に応じて、復号器３３，３４のうちのいずれか１つの復号器を選択し、選択した復号器にデータを復号化させてＲＡＭ１２に出力させる。
【００２５】
さらに、この電子回路１には、データバス１８と入出力装置１３との間に、データに互いに種類が異なる符号化を施す符号化器４１，４２と、データに互いに種類が異なる復号化を施す復号器４３，４４と、切替器４５，４６とが備えられている。切替器４５，４６は、データバス１８上に出力されるデータの性質に応じて、符号化器４１，４２のうちのいずれか１つの符号化器を選択し、選択した符号化器にデータを符号化させてデータバス１８上に出力させる。また、切替器４５，４６は、データバス１８上から入力されるデータの性質に応じて、復号器４３，４４のうちのいずれか１つの復号器を選択し、選択した復号器にデータを復号化させて入出力装置１３に出力させる。ここで、符号化器２１と復号器２３の組，符号化器３１と復号器３３の組，符号化器４１と復号器４３の組が、ＡＬＢＯＲＺ符号化方式を採用した組である。一方、符号化器２２と復号器２４の組，符号化器３２と復号器３４の組，符号化器４２と復号器４４の組が、Ｂｕｓーｉｎｖｅｒｔ符号化方式を採用した組である。
【００２６】
また、この電子回路１には、上述した切替器２５，２６，３５，３６，４５，４６を、外部からの指示やＣＰＵ１１で実行されるソフトウェアの指示によって切替制御する切替制御装置５０が備えられている。ここで、切替器２５，２６，３５，３６，４５，４６および切替制御装置５０が、本発明にいう符号化選択部の一例に相当する。
【００２７】
このように構成された電子回路１では、ＣＰＵ１１から出力されるアドレスは符号化器１５によって符号化され、復号器１６，１７で復号されてＲＡＭ１２，入出力装置１３に向けて出力される。符号化方式としては、前述したＡＬＢＯＲＺ符号化方式等を使用することができる。
【００２８】
データバス１８上に流れるデータは双方向であるため、例えばＣＰＵ１１とデータバス１８との間であれば、データの方向に応じて符号化器２１と復号器２３（もしくは符号化器２２と復号器２４）が切替え自在に制御される。また、ＣＰＵ１１とデータバス１８との間には、前述したように、符号化器２１と復号器２３の組および符号化器２２と復号器２４の組の２つの組が備えられており、それぞれ異なる符号化方式による符号化と復号化の機能が提供される。符号化方式は切替器２５，２６によって選択される。切替制御装置５０は、前述したように外部からの指示やＣＰＵ１１で実行されるソフトウェアの指示によって切替器２５，２６を制御する。例えば、符号化されていない音声信号データは、時間軸の前後で値の変化が大きくないという特徴があるため、ＡＬＢＯＲＺ符号化方式により、前後の値の差分化に基づく符号化処理を施すことによってデータバス１８における消費電力を削減することができる。それ以外の性質を持つデータであるランダムなデータががデータバス１８上を流れる場合は、Ｂｕｓーｉｎｖｅｒｔ符号化方式によって消費電力を削減することができる。このように、音声データが流れている場合は前者の符号化方式を、それ以外のランダムなデータが流れている場合は後者の符号化方式を採用するように、外部からあるいはソフトウェアで切替制御装置５０に指示を与えるようにする。
【００２９】
このように、本実施形態の電子回路１は、データバス１８上に出力されるデータの性質に応じて選択された符号化器で、そのデータを符号化してデータバス１８上に出力させるものである。このため、データバス１８上に異なる性質を持つデータが混在して流れる場合であっても、異なる性質を持つデータそれぞれに対して消費電力を小さく抑えるような符号化処理を施すことができる。従って、データバス１８上に異なる性質を持つデータが流れた場合であっても消費電力を小さく抑えることができる。
【００３０】
図２は、本発明の第２実施形態の電子回路を示す図である。
【００３１】
尚、図１に示す電子回路１の構成要素と同じ構成要素には同一の符号を付し、異なる点について説明する。
【００３２】
図２に示す電子回路２は、図１に示す電子回路１と比較し、特徴抽出器６１，閾値発生器６２，比較器６３，復号器７１，７２，切替器７３，７４が追加された点が異なっている。ここで、これら特徴抽出器６１，閾値発生器６２，比較器６３，復号器７１，７２および切替器２５，２６，３５，３６，４５，４６，７３，７４，切替制御装置５０が、本発明にいう符号化選択部の他の一例に相当する。
【００３３】
切替器７３，７４は、切替制御装置５０の出力に基づいて、復号器７１，７２のうち現在使用中の符号化方式の復号器を選択する。この結果、データバス１８に流れるデータに符号化を施す前の元データが切替器７３から出力される。
【００３４】
特徴抽出器６１は、切替器７３から出力されるデータをモニタしてそのデータの特徴を抽出し、抽出した特徴に応じた値を出力する。
【００３５】
閾値発生器６２は、所定の値を生成して出力する。
【００３６】
比較器６３は、特徴抽出器６１からの値と閾値発生器６２からの値とを比較し、比較した結果を切替制御装置５０に向けて出力する。
【００３７】
例えば、ＣＰＵ１１とデータバス１８との間において、音声信号データの送受を行なう場合、音声信号データは時間軸の前後で値の変化が大きくないという特徴を有するため、特徴抽出器６１からは比較的小さい値が出力される。比較器６３は、この小さな値と閾値発生器６２からの値とを比較し、比較結果である信号、即ちＡＬＢＯＲＺ符号化方式を採用する旨の信号を切替制御装置５０に向けて出力する。切替制御装置５０では、この信号に基づいて切替器２５，２６で符号化２１，復号器２３の組を選択する。
【００３８】
また、ＣＰＵ１１とデータバス１８との間において、ランダムなデータの送受を行なう場合、特徴抽出器６１からは比較的大きな値が出力される。比較器６３は、この大きな値と閾値発生器６２からの値とを比較し、Ｂｕｓーｉｎｖｅｒｔ符号化方式を採用する旨の信号を切替制御装置５０に向けて出力する。切替制御装置５０では、この信号に基づいて切替器２５，２６で符号化２２，復号器２４の組を選択する。このようにすることにより、データバス１８上に流れるデータに対して消費電力を一層小さく抑えることができる。
【図面の簡単な説明】
【００３９】
【図１】本発明の第１実施形態の電子回路を示す図である。
【図２】本発明の第２実施形態の電子回路を示す図である。
【図３】従来の、ＡＬＢＯＲＺ符号化技術を採用した電子回路を示す図である。
【図４】図３に示す減算器からの差分値と、その差分値に対応して変換されたコードワードとを示す図である。
【符号の説明】
【００４０】
１，２  電子回路
１１  ＣＰＵ
１２  ＲＡＭ
１３  入出力装置
１４  アドレスバス
１５，２１，２２，３１，３２，４１，４２  符号化器
１６，１７，２３，２４，３３，３４，４３，４４，７１，７２  復号器
２５，２６，３５，３６，４５，４６，７３，７４  切替器
５０  切替制御装置
６１  特徴抽出器
６２  閾値発生器
６３  比較器
【図１】
2006304059.tif 000003
【図２】
2006304059.tif 000004
【図３】
2006304059.tif 000005
【図４】
2006304059.tif 000006