(57)【要約】【課題】複合機で動作するプロセスにおいてスレッドを利用しつつも、高速なプロセス間通信を実現すること。【解決手段】プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、プロセッサから指定された機能回路のレジスタの入出力アドレスに基づいて、アクセスする機能回路を選択するアドレスデコーダ２００と、アドレスデコーダ２００によって選択された機能回路以外の機能回路に接続された、アドレスバスへのアドレス信号の供給を停止するアドレスマスクユニット４０１と、データバスへのデータ信号の供給を停止するデータマスクユニット４０２と、クロックバスへのレジスタ用クロック信号の供給を停止するクロックマスクユニット４０３とを備えた。【選択図】      図１
2004246808.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、
を備えたことを特徴とする集積回路。
【請求項２】
前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたアドレスバスへの信号を停止することを特徴とする請求項１に記載の集積回路。
【請求項３】
前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたデータバスへの信号の供給を停止することを特徴とする請求項１または２に記載の集積回路。
【請求項４】
前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に対し、前記機能回路内部のレジスタに対する書き込みまたは読み込み動作を実行するためのレジスタ用クロック信号の供給を停止することを特徴とする請求項１〜３のいずれか一つに記載の集積回路。
【請求項５】
ハードディスク装置の制御を行うハードディスクコントローラに組み込まれ、プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、
を備えたことを特徴とする集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プロセッサを搭載し、搭載されたプロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路に関し、特に、集積回路の省電力化の技術に関するものである。
【０００２】
【従来の技術】
従来のハードディスクコントローラ（ＨＤＣ）等のＬＳＩでは、電源投入後はＬＳＩ内部の全ての回路に対して、クロック信号の供給が行われていた。また、ＬＳＩ内部のマイクロプロセッサ（ＭＰＵ）がＬＳＩに内蔵された回路内部のレジスタにアクセスする場合には、アクセス対象のレジスタを含んでいない他の回路に接続されているアドレスバスやデータバスにも信号が供給されていた。
【０００３】
ところで、近年、ノート型ＰＣ等の戸外で使用されることが多い携帯用機器において、バッテリーの稼働時間を長時間とするために、ノート型ＰＣ等に内蔵されるハードディスクコントローラ（ＨＤＣ）や携帯電話等のＬＳＩの消費電力を低減させることが大きな課題となっている。
【０００４】
このような省電力化の技術として、半導体集積回路の中の複数の機能ブロックに対して、ある段階で動作していない回路にはクロックの供給を停止する技術がある（特許文献１参照）。この特許文献１の半導体集積回路では、回路中で使用されていない機能ブロックによって無駄に電力が消費されることが無くなり、低消費電力化が図られている。
【０００５】
また、省電力化の別の技術としては、１つまたは複数の回路ブロックを有し、命令セットを実行する半導体集積回路を、命令単位や命令実行サイクル単位で回路ブロックの動作周波数を変更または停止するものである（特許文献２参照）。この特許文献２の技術では、命令単位や命令実行サイクル単位で回路ブロックの動作周波数を変更または停止可能であるので、消費電力の低減が図られている。
【０００６】
【特許文献１】
特開平８−１８００８号公報
【特許文献２】
特開２００２−１６９７９０号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、このような従来の技術では、不要な回路にクロック信号の供給を停止することができるため、ある程度の消費電力の低減を図ることができるが、上記のような携帯用機器においてバッテリーの稼働時間をさらに長時間とするために、集積回路の消費電力を極力低減することが望ましい。
【０００８】
また、複数の機能回路内で処理が続行して行われている場合には、クロック信号の供給を停止する時間を確保できない場合もあり、結果としてＬＳＩの消費電力の低減の効果を発揮しない場合もある。
【０００９】
一方、ＣＭＯＳ  ＬＳＩは、ＬＳＩ内部の信号が変化し、回路内部のコンデンサに電流が充電および放電される時に電力が消費される。ＨＤＣ等のＬＳＩの内部回路の多数はレジスタを含む回路であり、このレジスタを含む回路は低頻度で実行されるレジスタアクセス時を除けば、レジスタはほとんどの期間は同じ値を保持している。
【００１０】
上記従来の集積回路では、これらのレジスタの値をＬＳＩ内部のＭＰＵからリード／ライトする回路は、このレジスタをリード／ライトする必要がないときでも、アドレスが変化するごとに動作し、この結果、無駄にＬＳＩ内部のバスに供給される信号に変化をきたしている。また、レジスタ値を保持するＤ型フリップフロップもクロック信号が変化することによってフリップフロップ内部の信号に変化を来している。このように、従来のＬＳＩでは、使用しない回路に接続されたアドレスバスやデータバスにも信号が流れていたため、消費電力の低減を図るには不十分であった。
【００１１】
この発明は上記に鑑みてなされたもので、使用しないブロック回路に接続されたアドレスバスやデータバスなどのバスへの信号の供給を停止することにより、消費電力の低減効果に優れた集積回路を得ることを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、プロセッサによって機能回路に対しデータアクセスを行う集積回路において、プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、を備えたことを特徴とする。
【００１３】
この請求項１の発明によれば、選択手段によって、プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択し、信号供給停止手段によって、選択された機能回路以外の機能回路に接続されたバスへの信号を停止するので、動作中に使用しない機能回路に信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができる。
【００１４】
また、この請求項１にかかる発明によれば、クロック信号の供給の停止を行えない場合であっても、バスに対する信号の供給の停止を行えるので、クロック信号の供給を行っている状態で集積回路の消費電力を低減することができる。
【００１５】
また、請求項２にかかる発明は、請求項１に記載の集積回路において、前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたアドレスバスへの信号を停止することを特徴とする。
【００１６】
この請求項２の発明によれば、信号供給停止手段によって、選択された機能回路以外の機能回路に接続されたアドレスバスへの信号を停止するので、動作中に使用しない機能回路に接続されたアドレスバスに信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができる。
【００１７】
また、請求項３にかかる発明は、請求項１または２に記載の集積回路において、前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたデータバスへの信号の供給を停止することを特徴とする。
【００１８】
この請求項３の発明によれば、信号供給停止手段によって、選択された機能回路以外の機能回路に接続されたデータバスへの信号の供給を停止するので、動作中に使用しない機能回路に接続されたデータバスに信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができる。
【００１９】
また、請求項４にかかる発明は、請求項１〜３のいずれか一つに記載の集積回路において、前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に対し、前記機能回路内部のレジスタに対する書き込みまたは読み込み動作を実行するためのレジスタ用クロック信号の供給を停止することを特徴とする。
【００２０】
この請求項４の発明によれば、信号供給停止手段によって、選択された機能回路以外の機能回路に対し、機能回路内部のレジスタに対する書き込みまたは読み込み動作を実行するためのレジスタ用クロック信号の供給を停止するので、機能回路が演算等でレジスタへのアクセスが不要な回路処理を行っている場合に、回路用クロック信号の供給を停止せずにレジスタ用クロック信号の供給を停止することができる。このため、レジスタアクセスの不要な回路処理動作中における無駄な電力消費を回避でき、集積回路の消費電力を低減することができる。
【００２１】
また、請求項５にかかる発明は、ハードディスク装置の制御を行うハードディスクコントローラに組み込まれ、プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、を備えたことを特徴とする。
【００２２】
この請求項５の発明によれば、選択手段によって、プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択し、信号供給停止手段によって、選択された機能回路以外の機能回路に接続されたバスへの信号を停止するので、動作中に使用しない機能回路に信号が流れることによる無駄な電力消費を回避でき、ハードディスクコントローラの消費電力を低減することができる。
【００２３】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる集積回路の好適な実施の形態を詳細に説明する。
【００２４】
（実施の形態１）
図１は、この発明の実施の形態１であるハードディスクコントローラ（ＨＤＣ）の回路構成を示すブロック図である。本実施の形態は、本発明の集積回路を、ホストコンピュータ１４０からの指令によってハードディスク（ＨＤ）１３０に対するデータの書き込み制御、ＨＤ１３０からのデータの読み出し制御を行うハードディスクコントローラ（ＨＤＣ）に適用したものである。本実施の形態のＨＤＣ１００は、図１に示すように、マイクロプロセッサ（ＭＰＵ）１０５と、発振回路１０６と、アドレスデコーダ２００と、アドレスマスクユニット４０１と、データマスクユニット４０２と、クロックマスクユニット４０３と、ホストインタフェース部１０７と、バッファ管理部１０８と、サーボ制御部１０９と、ディスクフォーマッタ部１１１と、誤り訂正部１１０とを備えている。ここで、アドレスデコーダ２００は、本発明における選択手段を構成し、アドレスマスクユニット４０１、データマスクユニット４０２およびクロックマスクユニット４０３は本発明における供給停止手段を構成する。また、ホストインタフェース部１０７、バッファ管理部１０８、サーボ制御部１０９、ディスクフォーマッタ部１１１、誤り訂正部１１０のそれぞれは、本発明における機能回路を構成する。
【００２５】
アドレスデコーダ２００は、ＭＰＵ１０５からアドレスバス１１８によって指定された機能回路のレジスタの入出力アドレスをデコードし、入出力アドレスのレジスタがどの機能回路に含まれるかを判断し、該当する機能回路に対応したアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４に信号「１」を出力して該当する機能回路を選択し、それ以外のアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４に信号「０」を出力するものである。
【００２６】
ここで、アドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４は、それぞれ一本ずつアドレスマスクバス４０１、データマスクユニット４０２、クロックマスクユニット４０３に接続されるように簡略化して示しているが、各バスは実際には機能回路の数に対応する数だけ存在し、アドレスマスクバス４０１、データマスクユニット４０２、クロックマスクユニット４０３に接続されている（図２、図４参照）。
【００２７】
アドレスマスクユニット４０１は、アドレスデコーダ２００からアドレスバス１１８を介して出力されるアクセス対象のレジスタのアドレスを示すアドレス信号と、アドレスデコーダ２００からアドレスマスクバス１１２によって出力される信号（０または１）をＡＮＤ演算してアドレスバス１１５に出力するものである。
【００２８】
データマスクユニット４０２は、ＭＰＵ１０５からデータバス１１９を介して出力されるデータ信号と、アドレスデコーダ２００からデータマスクバス１１３によって出力される信号（０または１）をＡＮＤ演算してデータバス１１６に出力するものである。
【００２９】
クロックマスクユニット４０３は、発振回路１０６からクロックバス１２０を介して出力されるレジスタ用クロック信号と、アドレスデコーダ２００からクロックマスクバス１１４によって出力される信号（０または１）をＡＮＤ演算してデータバス１１６に出力するものである。ここで、レジスタ用クロック信号は、指定された入出力アドレスのレジスタへのデータ書き込み、データ読み出しを行うためのクロック信号であり、これに対し、機能回路に対し、内部レジスタへのデータアクセスを伴わない処理を行わせるためのクロック信号を回路用クロック信号という。
【００３０】
ここで、図１では、アドレスバス１１５、データバス１１６、クロックバス１１７は、それぞれ一本ずつ簡略化して示されているが、各バスは実際には機能回路の数に対応した数が存在し、各機能回路に独立に接続されている（図４参照）。
【００３１】
ホストインタフェース部１０７は、ＭＰＵ１０５からの指令によって、ホストコンピュータ１４０との間で、ＨＤ１３０への書き込みデータ、ＨＤ１３０からの読み出しデータおよびＷｒｉｔｅ命令やＲｅａｄ命令などの各種命令の送受信を制御するものである。
【００３２】
バッファ管理部１０８は、ＭＰＵ１０５からの指令によって、ＳＤＲＡＭ１４０へのデータの書き込み、ＳＤＲＡＭ１４０からのデータの読み出しを制御するものである。
【００３３】
サーボ制御部１０９は、ＨＤ１３０に対するアクセス時に、ＭＰＵ１０５からの指令によって、スピンドルモータや磁気ヘッドの駆動を制御するものである。
【００３４】
ディスクフォーマッタ部１１１は、ＭＰＵ１０５からの指令によって、データをＨＤ１３０に１ビット単位で書き込み、またＨＤ１０３からデータを１ビット単位で読み出すものである。
【００３５】
誤り訂正部１１０は、ＭＰＵ１０５からの指令によって、ディスクフォーマッタ部１１１によってＨＤ１３０へデータを書き込んだ時に誤り訂正用符号を生成し、ＨＤ１３０からデータを読み込んだ時に書き込み時に生成した符号に基づいて誤り検出および誤り訂正を行うものである。
【００３６】
これらの各機能回路には、内部レジスタに割り当てられた入出力アドレスの範囲が予め割り当てられている。
【００３７】
次に、アドレスデコーダ２００の構成について説明する。図２は、アドレスデコーダ２００の回路構成を示すブロック図である。アドレスデコーダ２００は、図２に示すように、比較器２０１と、メモリやレジスタ群などの記憶回路２０２と、マルチプレクサ２０３とから構成される。記憶回路２０２には、各機能回路の含まれるレジスタの入出力アドレスのアドレス範囲が機能回路ごとに設定されたアドレステーブルが保持されている。図３は、機能回路ごとのアドレス範囲を示すアドレステーブルの一例を示す説明図である。図３に示すように、ホストインタフェース部１０７内のレジスタのアドレス範囲、バッファ管理部１０８内のレジスタのアドレス範囲のように、各機能回路ごとにアドレス範囲が定められている。
【００３８】
比較器２０１は、ＭＰＵ１０５からアクセス対象の機能回路内のレジスタの入出力アドレスを取得し、取得した入出力アドレスとアドレステーブルに設定されているアドレスとを比較する。そして、比較の結果、ＭＰＵ１０５から取得した入出力アドレスが当該アドレス範囲内にある場合に、アクセス対象のレジスタが存在する機能回路と判断し、その機能回路に対応した値を出力する。ここで、この比較器からの出力値と夫々５本のアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４が対応づけれている。
【００３９】
マルチプレクサ２０３は、アドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４の各５本の中から比較器からの出力値に対応するバスに信号「１」を出力し、それ以外のバスには信号「０」を出力する。これによって、アドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４から、それぞれ１本ずつ合計３本のバスが選択されて、信号「１」が出力されることになる。
【００４０】
次に、アドレスマスクユニット４０１、データスマスクユニット４０２、クロックマスクユニット４０３について説明する。図４は、アドレスマスクユニット４０１、データスマスクユニット４０２、クロックマスクユニット４０３の回路構成図である。各マスクユニットは、機能回路の数に相当する数（本実施の形態では５個）のＡＮＤ回路から構成される。クロックマスクユニット４０３の各ＡＮＤ回路の入力側は、クロックマスクバス１１４とクロックバス１２０に接続されており、出力側はクロックバスを介して各機能回路に接続されている。このため、クロックマスクバス１１４からの信号（０または１）と発振回路からのレジスタ用クロック信号をＡＮＤ回路によるＡＮＤ演算することによって、アドレスデコーダ２００によって選択された機能回路にレジスタ用クロック信号が供給され、それ以外の機能回路にはレジスタ用クロック信号の供給が停止される。
【００４１】
アドレスマスクユニット４０１の各ＡＮＤ回路の入力側は、アドレスバス１１８とアドレスマスクバス１１２に接続されており、出力側はアドレスバス１１５を介して各機能回路に接続されている。このため、アドレスマスクバス１１２からの信号（０または１）とアドレスデコーダ２００からのアドレス信号をＡＮＤ回路によるＡＮＤ演算することによって、アドレスデコーダ２００によって選択された機能回路にアドレス信号が供給され、それ以外の機能回路にはアドレス信号の供給が停止される。
【００４２】
データマスクユニット４０２の各ＡＮＤ回路の入力側は、データマスクバス１１３とデータバス１１９に接続されており、出力側はデータバス１１６を介して各機能回路に接続されている。このため、データマスクバス１１３からの信号（０または１）とＭＰＵ１０５からのデータ信号をＡＮＤ回路によるＡＮＤ演算することによって、アドレスデコーダ２００によって選択された機能回路にレジスタ用クロック信号が供給され、それ以外の機能回路にはレジスタ用クロック信号の供給が停止されることになる。
【００４３】
次に、機能回路、すなわち、ホストインタフェース部１０７、バッファ管理部１０８、サーボ制御部１０９、ディスクフォーマッタ部１１１、誤り訂正部１１０について説明する。図５は、機能回路の回路構成図である。なお、図５は、各機能回路に共通な部分のみを示している。
【００４４】
機能回路は、レジスタ部５０１と回路部５０２とに分かれている。レジスタ部５０１は、レジスタを備えており、発振回路１０６からのレジスタ用クロック信号によって指定された入出力アドレスのレジスタへのデータ書き込み、データ読み出しを行うものである。
【００４５】
回路部５０２は、レジスタへのデータアクセスを伴わない処理を行う回路であり、図５の例では演算処理を行う例を示している。この回路部５０２は、発振回路１０６からのクロック信号（回路用クロック信号）により動作し、他の機能回路からデータを受け取る。そして、回路部５０２は、マルチプレクサ５０３によって、受け取ったデータ、レジスタ部５０１からの受け取ったデータのいずれかを選択して、選択されたデータとレジスタ部５０１からのデータをＦＩＦＯキュー５０４，５０５に順次格納していき、ＦＩＦＯキュー５０４，５０５に格納されたデータに対して、演算部５０５で加算、乗算などの演算処理を行い、その処理結果のデータを、他の機能回路に受け渡す処理を行う。
【００４６】
図６は、機能回路のレジスタ部５０１の回路構成図である。レジスタ部５０１は、フリップフロップ（Ｄ型ＦＦ）である複数のレジスタ６０２と、このレジスタ６０２にＷｒｉｔｅデータの書き込み動作を行うデータ更新部６０３と、アドレスバスによってＭＰＵからのレジスタの入出力アドレスを解析してアクセス対象のレジスタ６０２を選択するアドレスデコーダ６０１と、レジスタ６０２からのデータ読み出しを行い、ＲｅａｄデータとしてＭＰＵ１０５に送信するマルチプレクサ６０５と、ＭＰＵ１０５からの指令を受けて、レジスタ６０２に対するデータの書き込み動作と読み込み動作を切替制御するＲｅａｄ／Ｗｒｉｔｅ切替制御部６０４から構成されている。
【００４７】
次に、以上のように構成された本実施の形態のＨＤＣ１００の動作を、ホストコンピュータ１４０からＨＤ１３０に対する書き込みデータのＷｒｉｔｅ指令があった場合を例にあげて説明する。図７は、ＨＤ１３０へのデータ書き込み時のデータの流れを示す説明図である。図８は、Ｗｒｉｔｅ命令時のＭＰＵ１０５の処理手順を示すフローチャートである。
【００４８】
ホストコンピュータ１４０から書き込みデータのＷｒｉｔｅ命令があった時には、まずＭＰＵ１０５では、ホストインタフェース部１０７の内部レジスタの入出力アドレスを指定して、書き込みデータのバッファ管理部１０８への転送指令を行う（ステップＳ８０１）。このとき、アドレスデコーダ２００は、指定されたレジスタの入出力アドレスがその機能回路に該当するかを判断して、ホストインタフェース部１０７に対するアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４を「１」に設定し、その他の機能回路に対するアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４を「０」に設定する。このため、アドレスマスクユニット４０１によってアドレス信号がホストインタフェース部１０７にのみ供給され、データマスクユニット４０２によってホストインタフェース部１０７に対するデータバスのみが有効となり、クロックマスクユニット４０３によってレジスタ用クロック信号がホストインタフェース部１０７にのみに供給される。これにより、ホストインタフェース部１０７では、書き込みデータの先頭アドレスやサイズなどの各種データのレジスタ対するＲｅａｄまたはＷｒｉｔｅ処理がレジスタ部５０１において行われ、ホストコンピュータ１４０から受信した書き込みデータがバッファ管理部１０８へ転送される。
【００４９】
書き込みデータがバッファ管理部１０８へ転送されたら、ＭＰＵ１０５は、バッファ管理部１０８の内部レジスタの入出力アドレスを指定して、書き込みデータのＳＤＲＡＭ１５０への書き出し指令を行う（ステップＳ８０２）。このとき、アドレスデコーダ２００は、指定されたレジスタの入出力アドレスがその機能回路に該当するかを判断して、バッファ管理部１０８に対するアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４を「１」に設定し、その他の機能回路に対するアドレスマスクバス１１２、データマスクバス１１３、クロックマスクバス１１４を「０」に設定し、これによって、上述と同様に、各マスクユニットによって、アドレス信号がバッファ管理部１０８にのみ供給され、バッファ管理部１０８に対するデータバスのみが有効となり、レジスタ用クロック信号がバッファ管理部１０８にのみ供給される。これにより、バッファ管理部１０８では、この際、書き込みデータの先頭アドレスやサイズなどの各種データのレジスタ対するＲｅａｄまたはＷｒｉｔｅ処理がレジスタ部５０１において行われ、書き込みデータがＳＤＲＡＭ１５０に書き込まれる。
【００５０】
次に、ＭＰＵ１０５では、ホストコンピュータ１４０から受信したＷｒｉｔｅ命令で指定された書き込みアドレスから書き込みデータのＨＤ１３０上におけるシリンダ番号、トラック番号、セクタ番号などの物理的な書き込み位置を求める（ステップ８０３）。
【００５１】
そして、ＭＰＵ１３０は、サーボ制御部１０９のレジスタの入出力アドレスを指定して、ＨＤ１３０上におけるステップＳ８０３で求めた書き込み位置をサーボ制御部１０９に転送する（ステップ８０４）。このとき、アドレスデコーダ２００、各マスクユニットによって、アドレス信号がサーボ制御部１０９にのみ供給され、サーボ制御部１０９に対するデータバスのみが有効となり、レジスタ用クロック信号がサーボ制御部１０９にのみに供給される。サーボ制御部１０９では、指定された書き込み位置に書き込みデータをＷｒｉｔｅすべく、スピンドルモータの制御、アームの制御などを行う。
【００５２】
ＨＤ１３０への書き込みデータの書き出し準備ができたら、ＭＰＵ１０５は、バッファ管理部１０８のレジスタの入出力アドレスを指定して、ＳＤＲＡＭ１５０からの書き込みデータの読み出し指令を行う（ステップ８０５）。このとき、アドレスデコーダ２００、各マスクユニットによって、アドレス信号がバッファ管理部１０８にのみ供給され、バッファ管理部１０８に対するデータバスのみが有効となり、レジスタ用クロック信号がバッファ管理部１０８にのみに供給される。そして、バッファ管理部１０８では、指定されたアドレスのレジスタを例えば書き込みデータの格納領域先頭アドレスなどを保持するように使用しながら、ＳＤＲＡＭ１５０から書き込みデータの読み出しが行われる。
【００５３】
次に、ＭＰＵ１０５は、バッファ管理部１０８のレジスタの入出力アドレスを指定して、ＳＤＲＡＭ１５０から読み出した書き込みデータのディスクフォーマッタ部１１１への転送指令を行う（ステップ８０６）。このとき、アドレスデコーダ２００、各マスクユニットによって、アドレス信号がバッファ管理部１０８にのみ供給され、バッファ管理部１０８に対するデータバスのみが有効となり、レジスタ用クロック信号がバッファ管理部１０８にのみ供給される。そして、バッファ管理部１０８では、書き込みデータのディスクフォーマッタ部１１１への転送が行われる。
【００５４】
次に、ＭＰＵ１０５は、ディスクフォーマッタ部１１１のレジスタの入出力アドレスを指定して、書き込みデータのＨＤ１３０への書き込み指令を行う（ステップ８０７）。このとき、アドレスデコーダ２００、各マスクユニットによって、アドレス信号がディスクフォーマッタ部１１１にのみ供給され、ディスクフォーマッタ部１１１に対するデータバスのみが有効となり、レジスタ用クロック信号がディスクフォーマッタ部１１１にのみに供給される。そして、ディスクフォーマッタ部１１１は、書き込みデータのＨＤ１３０への書き込みを行う。
【００５５】
そして、ＭＰＵ１０５は、誤り訂正部１１０のレジスタの入出力アドレスを指定して、書き込みデータの符号生成指令を行う（ステップ８０８）。このとき、アドレスデコーダ２００、各マスクユニットによって、アドレス信号が誤り訂正部１１０にのみ供給され、誤り訂正部１１０に対するデータバスのみが有効となり、レジスタ用クロック信号が誤り訂正部１１０にのみに供給される。そして、誤り訂正部１１０は、書き込みデータの誤り訂正用符号の生成を行う。
【００５６】
以上のように、ホストコンピュータ１４０からデータのＷｒｉｔｅ命令があった場合、ＭＰＵ１０５の制御によって、ホストインタフェース部１０７、バッファ管理部１０８、サーボ制御部１０９、ディスクフォーマッタ部１１１、誤り訂正部１１０の各機能回路がアクセスされ、その際に、アドレスデコーダ２００、各マスクユニットによって、アドレス信号が対象の機能回路にのみ供給され、対象の機能回路に対するデータバスのみが有効となり、レジスタ用クロック信号が対象の機能回路にのみに供給される。また、ＭＰＵ１０５が上記各機能回路にアクセスする場合において、レジスタの設定値を書き換える場合には更新命令を発行し、レジスタの設定値を読み出す場合には、読み出し命令を発行する。
【００５７】
次に、各機能回路でレジスタに対するアクセスが行われた場合の機能回路のレジスタ部５０１における動作について説明する。
【００５８】
ＭＰＵ１０５からレジスタの更新命令の制御信号を受けた場合には、この制御信号をＲｅａｄ／Ｗｒｉｔｅ制御部６０４で受ける。そして、図１に示すアドレスデコーダ２００で、当該機能回路が選択される。このとき、アドレスマスクユニット４０１によって、アドレスバスを介してレジスタの入出力アドレスが出力され、データマスクユニット４０２によって、Ｗｒｉｔｅデータがデータバスを介して出力される。また、クロックマスクユニット４０３によって、クロックバスを介してレジスタ用クロック信号が出力される。
【００５９】
そして、レジスタ用クロック信号に同期して機能回路内では以下の処理が行われる。アドレスバスを介して受け取った入出力アドレスは、機能回路内のアドレスデコーダ６０１で解析され、対象のレジスタ６０２が選択される。そして、データバスによってＷｒｉｔｅデータを受信し、Ｒｅａｄ／Ｗｒｉｔｅ制御部６０４の指示によって、アドレスデコーダ６０１で選択されたレジスタ６０２に対応するデータ更新部６０３によって、選択されたレジスタ６０２にＷｒｉｔｅデータが書き込まれる。
【００６０】
ＭＰＵ１０５からレジスタの読み出し命令の制御信号を受けた場合には、この制御信号をＲｅａｄ／Ｗｒｉｔｅ制御部６０４で受ける。そして、図１に示すアドレスデコーダ２００で、当該機能回路が選択される。このとき、アドレスマスクユニット４０１によって、アドレスバスを介してレジスタの入出力アドレスが出力され、クロックマスクユニット４０３によって、クロックバスを介してレジスタ用クロック信号が出力される。
【００６１】
そして、レジスタ用クロック信号に同期して機能回路内では以下の処理が行われる。アドレスバスを介して受け取った入出力アドレスは、機能回路内のアドレスデコーダ６０１で解析され、対象のレジスタ６０２が選択され、選択信号がマルチプレクサ６０５に通知される。そして、その選択信号を受けたマルチプレクサ６０５は、全てのレジスタ６０２の設定値を読み出して、選択信号で指定されたレジスタ６０２の設定値の選択して読み込んだＲｅａｄデータとして、データバスに出力される。このデータバスは、データマスクユニット４０２によって選択されているため、ＲｅａｄデータはＭＰＵ１０５に出力される。
【００６２】
従来のＨＤＣでは、ＭＰＵ１０５からのアクセスの対象でない機能回路に対しても、アドレスバスからのアドレス信号、データバスからのデータ信号、クロックバスからのレジスタ用クロック信号がそれぞれ供給されていたため、機能回路のレジスタ部５０１内のアドレスデコーダ６０１、マルチプレクサ６０５、データ更新部６０３や、内部バスなどが動作していた。
【００６３】
本実施の形態のＨＤＣ１００では、アドレスデコーダ２００と、アドレスマスクユニット４０１、データマスクユニット４０２、クロックマスクユニット４０３によって、ＭＰＵ１０５からのアクセスの対象となった機能回路において、上述の動作が行われ、ＭＰＵ１０５からのアクセスの対象でない機能回路においては、アドレスバスからのアドレス信号、データバスからのデータ信号、クロックバスからのレジスタ用クロック信号は全て停止されるので、機能回路のレジスタ部５０１内のアドレスデコーダ６０１、マルチプレクサ６０５、データ更新部６０３や、内部バスなどが全て動作しないようになっているため、ＨＤＣ１００の消費電力を従来のＨＤＣ１００に比べて大幅に低減することが可能となっている。
【００６４】
また、本実施の形態のＨＤＣ１００では、レジスタ用クロック信号の供給の停止を行っているが、さらに回路用クロック信号の供給を停止することも可能である。
【００６５】
しかし、機能回路内のレジスタ６０２に対するアクセスは低頻度で行われる場合であっても、レジスタ６０２へのアクセスが行われない回路部５０２内の処理、例えば、図５に示すようなＦＩＦＯキュー５０４，５０５に格納されているデータを利用した演算処理が実行されている場合が多い。この場合、回路用クロック信号の供給を実行し続ける必要があり、供給停止のタイミングが少なくなってくるため、消費電力の低減効果が得られない。本実施の形態のＨＤＣ１００では、レジスタ用クロック信号の供給の停止を回路用クロック信号の供給とは別個に行っているているため、回路部５０２の処理で回路用クロック信号の供給停止を行えない場合でも、レジスタに対するアクセスが不要なときは、レジスタ用クロック信号の供給を停止することによって、ＨＤＣ１００の消費電力を従来のＨＤＣ１００に比べて大幅に低減することが可能となる。
【００６６】
図９は、従来のＨＤＣ１００における消費電力の状態を示す説明図であり、図１０は、本実施の形態１のＨＤＣ１００における消費電力の状態を示す説明図である。図１０からわかるように、本実施の形態のＨＤＣ１００では、アクセス対象の機能回路にのみレジスタ用クロック信号、アドレス信号およびデータ信号を供給し、アクセス対象でない機能回路にはこれらの信号の供給を停止しているので、機能回路がアクセスされていない状態における消費電力は、回路用クロック信号による消費電力のみとなり、従来のＨＤＣに比べて消費電力が低減していることがわかる。
【００６７】
（実施の形態２）
実施の形態２のハードウェアコントローラ（ＨＤＣ）は、アドレスデコーダ２００による機能回路の選択を、ソフトウェアで実現したものである。図１１は、実施の形態２のＨＤＣ１１００の回路構成図である。実施の形態２の１１００が実施の形態１のＨＤＣ１００と異なる点は、アドレスデコーダ１１０１がソフトウェアで構成されている点であり、その他の構成は図１に示す実施の形態１のＨＤＣ１００と同様である。
【００６８】
図１２は、アドレスデコーダ１１０１の機能回路の処理手順を示すフローチャートである。アドレスデコーダ２００は、ＭＰＵ１０５からアクセス対象の機能回路内部にレジスタの入出力アドレスを受け取ると（ステップＳ１２０１）、指定されたアドレスと機能回路のレジスタのアドレス範囲とを比較する（ステップＳ１２０２）。ここで、機能回路のレジスタのアドレス範囲は、図２に示すような機能回路ごとのアドレス範囲を示すアドレステーブルをアドレスデコーダ２００の中に保持しており、かかるアドレステーブルを参照して、指定されたアドレスがその機能回路に含まれるかを判断する。そして、アドレスデコーダ１１０１は、ＭＰＵ１０５から指定されたアドレスが含まれる機能回路の選択を行う（ステップＳ１２０３）。
【００６９】
次に、アドレスデコーダ１１０１は、ステップＳ１２０３で選択された機能回路に対するアドレスマスクバス１１２、データマスクバス１１３およびクロックマスクバス１１４にＯＮ信号（「１」）を設定する（ステップＳ１２０４）。
【００７０】
また、アドレスデコーダ１１０１は、選択された機能回路以外の機能回路に対するアドレスマスクバス１１２、データマスクバス１１３およびクロックマスクバス１１４にＯＦＦ信号（「０」）を設定する（ステップＳ１２０５）。
【００７１】
これにより、アドレスマスクユニット４０１、データマスクユニット４０２およびクロックマスクユニット４０３によってアクセス対象の機能回路以外の機能回路へのアドレス信号、データ信号、レジスタ用クロック信号の供給は停止されることになり、従来のＨＤＣと比較して、消費電力の大幅な低減効果を得ることができる。
【００７２】
なお、実施の形態２のＨＤＣ１１００では、アドレスデコーダ１１０１をソフトウェアで構成していたが、さらにアドレスマスクユニット、データマスクユニット、クロックマスクユニットに相当する機能を、ソフトウェアで実現するように構成することもできる。
【００７３】
なお、実施の形態１および２のＨＤＣ１００では、ＨＤＣの集積回路内部のアクセス対象とならない機能回路に対して、アドレス信号、データ信号、レジスタ用クロック信号の供給を停止していたが、ＨＤＣの集積回路と接続された外部の機能回路が、アクセス対象とならない場合に、アドレス信号、データ信号、レジスタ用クロック信号の供給を停止するように構成しても良い。
【００７４】
また、実施の形態１および２のＨＤＣ１００では、アクセスの対象となっていない機能回路のアドレスバスとデータバスとに信号の供給を停止しているが、例えばコントロールバス等、アドレスバスとデータバス以外のバスに信号の供給を停止するように構成してもよい。
【００７５】
さらに、実施の形態１および２では、本発明の集積回路を、ハードディスクコントローラの集積回路に適用しているが、この他、ＣＤ−ＲＯＭ、ＤＶＤなどのコントローラの集積回路に適用することも可能である。また、本発明の集積回路を、このような周辺機器のコントローラに適用する他、携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｃｃｅｓｓ）等のバッテリー駆動時間が長時間要求される携帯機器の集積回路に適用することも可能である。
【００７６】
（付記１）プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、
を備えたことを特徴とする集積回路。
【００７７】
（付記２）前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたアドレスバスへの信号を停止することを特徴とする付記１に記載の集積回路。
【００７８】
（付記３）前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に接続されたデータバスへの信号の供給を停止することを特徴とする付記１または２に記載の集積回路。
【００７９】
（付記４）前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に対するクロック信号の供給を停止することを特徴とする付記１〜３のいずれか１つに記載の集積回路。
【００８０】
（付記５）前記信号供給停止手段は、前記選択手段によって選択された機能回路以外の機能回路に対し、前記機能回路内部のレジスタに対する書き込みまたは読み込み動作を実行するためのレジスタ用クロック信号の供給を停止することを特徴とする付記１〜４のいずれか一つに記載の集積回路。
【００８１】
（付記６）前記選択手段は、機能回路と、機能回路の内部回路の入出力アドレスの範囲とを対応づけたアドレス情報に基づいて、アクセスする機能回路を選択することを特徴とする付記１〜５のいずれか一つに記載の集積回路。
【００８２】
（付記７）ハードディスク装置の制御を行うハードディスク制御装置に組み込まれ、プロセッサからの指令によって所定の動作を行う機能回路に対しアクセスを行う集積回路において、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、
を備えたことを特徴とする集積回路。
【００８３】
（付記８）プロセッサからの指令によって所定の動作を行う機能回路が組み込まれ、ハードディスク装置の制御を行うハードディスク制御装置において、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択手段と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止手段と、
を備えたことを特徴とするハードディスク制御装置。
【００８４】
（付記９）プロセッサからの指令によって所定の動作を行う機能回路に対しデータアクセスを行うアクセス方法であって、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択工程と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止工程と、
を含むことを特徴とするアクセス方法。
【００８５】
（付記１０）プロセッサからの指令によって所定の動作を行う機能回路に対しデータアクセスを行うアクセス方法をコンピュータに実行させるプログラムであって、
プロセッサから指定された機能回路の内部回路の入出力アドレスに基づいて、アクセスする機能回路を選択する選択工程と、
前記選択手段によって選択された機能回路以外の機能回路に接続されたバスへの信号の供給を停止する信号供給停止工程と、
をコンピュータに実行させるプログラム。
【００８６】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、動作中に使用しない機能回路に信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができるという効果を奏する。また、この請求項１にかかる発明によれば、クロック信号の供給の停止を行えない場合であっても、バスに対する信号の供給の停止を行えるので、クロック信号の供給を行っている状態で集積回路の消費電力を低減することができるという効果を奏する。
【００８７】
また、請求項２にかかる発明によれば、動作中に使用しない機能回路に接続されたアドレスバスに信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができるという効果を奏する。
【００８８】
また、請求項３にかかる発明によれば、動作中に使用しない機能回路に接続されたデータバスに信号が流れることによる無駄な電力消費を回避でき、集積回路の消費電力を低減することができるという効果を奏する。
【００８９】
また、請求項４にかかる発明によれば、レジスタアクセスの不要な回路処理動作中における無駄な電力消費を回避でき、集積回路の消費電力を低減することができるという効果を奏する。
【００９０】
また、請求項５にかかる発明によれば、動作中に使用しない機能回路に信号が流れることによる無駄な電力消費を回避でき、ハードディスクコントローラの消費電力を低減することができるという効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１のハードディスクコントローラ（ＨＤＣ）の回路構成を示すブロック図である。
【図２】実施の形態１のハードディスクコントローラ（ＨＤＣ）におけるアドレスデコーダの回路構成を示すブロック図である。
【図３】実施の形態１のハードディスクコントローラ（ＨＤＣ）における機能回路ごとのアドレス範囲を示すアドレステーブルの一例を示す説明図である。
【図４】実施の形態１のハードディスクコントローラ（ＨＤＣ）におけるアドレスマスクユニット、データスマスクユニットおよびクロックマスクユニットの回路構成図である。
【図５】実施の形態１のハードディスクコントローラ（ＨＤＣ）における機能回路の回路構成図である。
【図６】実施の形態１のハードディスクコントローラ（ＨＤＣ）における機能回路のレジスタ部の回路構成図である。
【図７】実施の形態１のハードディスクコントローラ（ＨＤＣ）におけるＨＤへのデータ書き込み時のデータの流れを示す説明図である。
【図８】実施の形態１のハードディスクコントローラ（ＨＤＣ）におけるＷｒｉｔｅ命令時のＭＰＵの処理手順を示すフローチャートである。
【図９】従来のハードディスクコントローラ（ＨＤＣ）における機能回路の消費電力の状態を示す説明図である。
【図１０】実施の形態１のハードディスクコントローラ（ＨＤＣ）における機能回路の消費電力の状態を示す説明図である。
【図１１】実施の形態２のハードディスクコントローラ（ＨＤＣ）の回路構成を示すブロック図である。
【図１２】実施の形態２のハードディスクコントローラ（ＨＤＣ）におけるアドレスデコーダの処理手順を示すフローチャートである。
【符号の説明】
１００  ハードディスクコントローラ
１０５  ＭＰＵ
１０６  発振回路
１０７  ホストインタフェース部
１０８  バッファ管理部
１０９  サーボ制御部
１１０  誤り訂正部
１１１  ディスクフォーマッタ部
１１２  アドレスマスクバス
１１３  データマスクバス
１１４  クロックマスクバス
１１５  アドレスバス
１１６  データバス
１１８  アドレスバス
１１９  データバス
１２０  クロックバス
１４０  ホストコンピュータ
１５０  ＳＤＲＡＭ
２００  アドレスデコーダ
２０１  比較器
２０２  記憶回路
２０３  マルチプレクサ
４０１  アドレスマスクユニット
４０２  データマスクユニット
４０３  クロックマスクユニット
５０１  レジスタ部
５０２  回路部
５０３  マルチプレクサ
５０４，５０５  ＦＩＦＯキュー
５０５  演算部
６０１  アドレスデコーダ
６０２  レジスタ
６０３  データ更新部
６０５  マルチプレクサ
１１０１  アドレスデコーダ
【図１】
2004246808.tif 000003
【図２】
2004246808.tif 000004
【図３】
2004246808.tif 000005
【図４】
2004246808.tif 000006
【図５】
2004246808.tif 000007
【図６】
2004246808.tif 000008
【図７】
2004246808.tif 000009
【図８】
2004246808.tif 000010
【図９】
2004246808.tif 000011
【図１０】
2004246808.tif 000012
【図１１】
2004246808.tif 000013
【図１２】
2004246808.tif 000014