(57)【特許請求の範囲】
【請求項１】
情報処理装置に搭載されるレジスタにおいて、
グレイコード体系のデータを保持するカウンタと、
入力されたバイナリコード体系のデータをグレイコード体系のデータに変換するコード変換回路と、
前記カウンタに保持されているデータを１ずつインクリメントする加算回路と、
入力される制御信号に従い前記コード変換回路の出力、前記加算回路の出力、又は入力された前記カウンタに保持されているデータのいずれかを選択して前記カウンタへ出力する選択回路と、
を有することを特徴とするレジスタ。
【請求項２】
Ｎ（Ｎ≧２）ビットデータ用の前記加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、
第１ビット目に対応した前記グレイコード用加算器は、インクリメント値である１、前記カウンタに保持されているデータの第１ビット目及び第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
第Ｎビット目に対応した前記グレイコード用加算器は、前記カウンタに保持されているデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記カウンタに保持されているデータの第Ｍビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とすることを特徴とする請求項１記載のレジスタ。
【請求項３】
情報処理装置に搭載されるレジスタにおいて、
グレイコード体系のデータを保持する累算値レジスタと、
入力されたバイナリコード体系のデータをグレイコード体系のデータに変換すると共に、コード変換したデータ値を前記累算値レジスタに保持されている累算値に加算するデータ変換加算回路と、
入力されたバイナリコード体系のデータをグレイコード体系のデータに変換するコード変換回路と、
入力される制御信号に従い前記コード変換回路の出力、前記データ変換加算回路の出力、又は入力された前記累算値レジスタに保持されている累算値のいずれかを選択して前記累算値レジスタへ出力する選択回路と、
を有することを特徴とするレジスタ。
【請求項４】
Ｎ（Ｎ≧２）ビットデータ用の前記データ変換加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、
第１ビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第１ビット目、入力されたバイナリコード体系のデータの第１及び第２ビット目、並びに第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
第Ｎビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｎビット目、入力されたバイナリコード体系のデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｍビット目、入力されたバイナリコード体系のデータの第Ｍ及び第（Ｍ＋１）ビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とすることを特徴とする請求項３記載のレジスタ。
【請求項５】
情報処理装置に搭載されるレジスタにおいて、
グレイコード体系のデータを保持する累算値レジスタと、
入力されたグレイコード体系のデータ値を前記累算値レジスタに保持されている累算値に加算する加算回路と、
入力される制御信号に従い入力されたグレイコード体系のデータ、前記加算回路の出力、又は入力された前記累算値レジスタに保持されている累算値のいずれかを選択して前記累算値レジスタへ出力する選択回路と、
を有することを特徴とするレジスタ。
【請求項６】
Ｎ（Ｎ≧２）ビットデータ用の前記加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、
第１ビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第１ビット目、入力されたグレイコード体系のデータの第１ビット目及び第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
第Ｎビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｎビット目、入力されたグレイコード体系のデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、
Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｍビット目、入力されたグレイコード体系のデータの第Ｍビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とすることを特徴とする請求項５記載のレジスタ。
【請求項７】
搭載した少なくとも１つのレジスタに保持されるデータの一部分のコード体系としてグレイコードを用いることによって、グレイコード体系で表されるデータ部分とバイナリコード体系で表されるデータ部分が混在したコード体系混在データを処理することを特徴とする情報処理装置。
【請求項８】
情報処理装置に搭載されるレジスタにおいて、
グレイコード体系で表されたデータ部分と、バイナリコード体系で表されたデータ部分とが混在して形成されたコード体系混合データを保持するカウンタと、
前記カウンタに保持されているコード体系混合データを１ずつインクリメントする加算回路と、
入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換するコード変換回路と、
入力される制御信号に従い前記コード変換回路の出力、前記加算回路の出力、又は入力された前記カウンタに保持されているコード体系混合データのいずれかを選択して前記カウンタへ出力する選択回路と、
を有し、グレイコード体系とバイナリコード体系とが混在したコード体系混合データを保持することを特徴とするレジスタ。
【請求項９】
前記加算回路は、
処理するコード体系混合データのうち前記グレイコード体系で表されたデータ部分の加算を実行する１乃至複数のグレイコード体系用加算器群と、
処理するコード体系混合データのうち前記バイナリコード体系で表されたデータ部分の加算を実行する１乃至複数のバイナリコード体系用加算器群と、
を有し、前記各加算器群を縦列接続することで形成されることを特徴とする請求項８記載のレジスタ。
【請求項１０】
前記データは、アドレスデータであることを特徴とする請求項１、２、８、９のいずれかに記載のレジスタ。
【請求項１１】
情報処理装置に搭載されるレジスタにおいて、
グレイコード体系で表されたデータ部分と、バイナリコード体系で表されたデータ部分とが混在して形成されたコード体系混合データを保持する累算値カウンタと、
入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換するコード変換回路と、
入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換することによって入力データからコード体系混合データを生成すると共に、生成したコード体系混合データ値を前記累算値カウンタに保持されているコード体系混合データに加算するデータ変換加算回路と、
入力される制御信号に従い前記コード変換回路の出力、前記データ変換加算回路の出力、又は入力された前記累算値カウンタに保持されているコード体系混合データのいずれかを選択して前記累算値カウンタへ出力する選択回路と、
を有し、グレイコード体系とバイナリコード体系とが混在したコード体系混合データを保持することを特徴とするレジスタ。
【請求項１２】
前記データ変換加算回路は、
処理するコード体系混合データのうち前記グレイコード体系で表されたデータ部分の加算を実行する１乃至複数のグレイコード体系用加算器群と、
処理するコード体系混合データのうち前記バイナリコード体系で表されたデータ部分の加算を実行する１乃至複数のバイナリコード体系用加算器群と、
を有し、前記各加算器群を縦列接続することで形成されることを特徴とする請求項１１記載のレジスタ。
【請求項１３】
データを順次インクリメントして出力する指示制御信号が入力されたことに応じて、データのコード体系として保持しているグレイコードを出力するレジスタと、
前記レジスタに保持されているデータがアドレスデータであってそのアドレスデータをアドレスポインタとして使用する場合、バイナリコード体系で表されたアドレス順に並んだデータを、グレイコード体系で表されたアドレス順に並び替えてロードするアドレス変換機構と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、上昇処理装置、特に装置の低消費電力化に関する。
【０００２】
【従来の技術】
携帯端末等のバッテリー駆動の情報処理装置において、電力消費を極力抑えることは重要なことである。情報処理装置を構成するうえで、カウンタや累算器の出力値をきっかけとして動作する回路部分は多い。例えば、プロセッサは、プログラムカウンタと呼ばれるカウンタ（実際はJUMP命令等に対応するため累算器の作りとなる）にセットされた値により命令のフェッチ動作が決められる。命令のフェッチ動作には、キャッシュメモリアクセスやＭＭＵ（Memory Management Unit）アクセスを伴うが、このアクセスの際には多くの回路素子が駆動するため多くの電力を消費する。電力の消費は、関連回路が処理するデータパタンに大きく依存する。例えば、プログラムカウンタであれば入力されるアドレスが変化すると、その変化に応じて回路素子が駆動する。つまり、アドレスの変化の頻度が多くなると、プログラムカウンタにより消費される電力が大きくなる。
【０００３】
特に、Ｃ−ＭＯＳ構成のＬＳＩの場合、データパタンの変化の割合が電力消費に比例する。従って、データパタンの変化の割合を極力抑えてしまえば、カウンタが消費する電力量を少なくすることができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来における情報処理装置は、データ処理の際には一般的にバイナリコードを用いているため、情報処理装置を構成するカウンタは２進カウンタである。バイナリコードにおいては、例えば０から１ずつインクリメントしていくとき、カウンタの最右ビットは０と１を交互に繰り返すように変化し、カウンタの最右ビットから２番目のビットは０と１を２つずつ交互に繰り返すように変化する。このように、ビット変化の多いコード体系であるバイナリコードを用いる従来の情報処理装置では、カウンタにおいて消費される電力量を抑えることはできない。
【０００５】
本発明は以上のような問題を解決するためになされたものであり、その目的は、より一層の低消費電力化を図ることのできる情報処理装置及びレジスタを提供することにある。
【０００７】
【課題を解決するための手段】
以上のような目的を達成するために、本発明に係るレジスタは、情報処理装置に搭載されるレジスタにおいて、グレイコード体系のデータを保持するカウンタと、入力されたバイナリコード体系のデータをグレイコード体系のデータに変換するコード変換回路と、前記カウンタに保持されているデータを１ずつインクリメントする加算回路と、入力される制御信号に従い前記コード変換回路の出力、前記加算回路の出力、又は入力された前記カウンタに保持されているデータのいずれかを選択して前記カウンタへ出力する選択回路とを有するものである。
【０００８】
また、Ｎ（Ｎ≧２）ビットデータ用の前記加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、第１ビット目に対応した前記グレイコード用加算器は、インクリメント値である１、前記カウンタに保持されているデータの第１ビット目及び第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、第Ｎビット目に対応した前記グレイコード用加算器は、前記カウンタに保持されているデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記カウンタに保持されているデータの第Ｍビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とするものである。
【０００９】
また、本発明に係るレジスタは、情報処理装置に搭載されるレジスタにおいて、グレイコード体系のデータを保持する累算値レジスタと、入力されたバイナリコード体系のデータをグレイコード体系のデータに変換すると共に、コード変換したデータ値を前記累算値レジスタに保持されている累算値に加算するデータ変換加算回路と、入力されたバイナリコード体系のデータをグレイコード体系のデータに変換するコード変換回路と、入力される制御信号に従い前記コード変換回路の出力、前記データ変換加算回路の出力、又は入力された前記累算値レジスタに保持されている累算値のいずれかを選択して前記累算値レジスタへ出力する選択回路とを有するものである。
【００１０】
また、Ｎ（Ｎ≧２）ビットデータ用の前記データ変換加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、第１ビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第１ビット目、入力されたバイナリコード体系のデータの第１及び第２ビット目、並びに第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、第Ｎビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｎビット目、入力されたバイナリコード体系のデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｍビット目、入力されたバイナリコード体系のデータの第Ｍ及び第（Ｍ＋１）ビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とするものである。
【００１１】
また、本発明に係るレジスタは、情報処理装置に搭載されるレジスタにおいて、グレイコード体系のデータを保持する累算値レジスタと、入力されたグレイコード体系のデータ値を前記累算値レジスタに保持されている累算値に加算する加算回路と、入力される制御信号に従い入力されたグレイコード体系のデータ、前記加算回路の出力、又は入力された前記累算値レジスタに保持されている累算値のいずれかを選択して前記累算値レジスタへ出力する選択回路とを有するものである。
【００１２】
また、Ｎ（Ｎ≧２）ビットデータ用の前記加算回路は、処理するデータを構成する各ビットに対応させてグレイコード用加算器を配設し、かつＮ個縦列接続することで形成され、第１ビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第１ビット目、入力されたグレイコード体系のデータの第１ビット目及び第２ビット目に対応した前記グレイコード用加算器からの桁下がりデータをそれぞれ入力とし、また、その各入力データに基づき第２ビット目に対応した前記グレイコード用加算器へ桁上がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、第Ｎビット目に対応した前記グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｎビット目、入力されたグレイコード体系のデータの第Ｎビット目及び第（Ｎ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｎ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とし、Ｎ≧３のとき、第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した前記各グレイコード用加算器は、前記累算値レジスタに保持されているデータの第Ｍビット目、入力されたグレイコード体系のデータの第Ｍビット目、第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器からの桁下がりデータ及び第（Ｍ−１）ビット目に対応した前記グレイコード用加算器からの桁上がりデータをそれぞれ入力とし、また、その各入力データに基づき第（Ｍ＋１）ビット目に対応した前記グレイコード用加算器へ桁上がりデータ、第（Ｍ−１）ビット目に対応した前記グレイコード用加算器へ桁下がりデータ及び前記選択回路へ加算結果をそれぞれ出力とするものである。
【００１３】
また、本発明に係る情報処理装置は、搭載した少なくとも１つのレジスタに保持されるデータの一部分のコード体系としてグレイコードを用いることによって、グレイコード体系で表されるデータ部分とバイナリコード体系で表されるデータ部分が混在したコード体系混在データを処理するものである。
【００１４】
また、本発明に係るレジスタは、情報処理装置に搭載されるレジスタにおいて、グレイコード体系で表されたデータ部分と、バイナリコード体系で表されたデータ部分とが混在して形成されたコード体系混合データを保持するカウンタと、前記カウンタに保持されているコード体系混合データを１ずつインクリメントする加算回路と、入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換するコード変換回路と、入力される制御信号に従い前記コード変換回路の出力、前記加算回路の出力、又は入力された前記カウンタに保持されているコード体系混合データのいずれかを選択して前記カウンタへ出力する選択回路とを有し、グレイコード体系とバイナリコード体系とが混在したコード体系混合データを保持するものである。
【００１５】
また、前記加算回路は、処理するコード体系混合データのうち前記グレイコード体系で表されたデータ部分の加算を実行する１乃至複数のグレイコード体系用加算器群と、処理するコード体系混合データのうち前記バイナリコード体系で表されたデータ部分の加算を実行する１乃至複数のバイナリコード体系用加算器群とを有し、前記各加算器群を縦列接続することで形成されるものである。
【００１６】
また、前記データは、アドレスデータであるものとする。
【００１７】
また、本発明に係るレジスタは、情報処理装置に搭載されるレジスタにおいて、グレイコード体系で表されたデータ部分と、バイナリコード体系で表されたデータ部分とが混在して形成されたコード体系混合データを保持する累算値カウンタと、入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換するコード変換回路と、入力されたバイナリコード体系のデータのうち前記グレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換することによって入力データからコード体系混合データを生成すると共に、生成したコード体系混合データ値を前記累算値カウンタに保持されているコード体系混合データに加算するデータ変換加算回路と、入力される制御信号に従い前記コード変換回路の出力、前記データ変換加算回路の出力、又は入力された前記累算値カウンタに保持されているコード体系混合データのいずれかを選択して前記累算値カウンタへ出力する選択回路とを有し、グレイコード体系とバイナリコード体系とが混在したコード体系混合データを保持するものである。
【００１８】
また、前記データ変換加算回路は、処理するコード体系混合データのうち前記グレイコード体系で表されたデータ部分の加算を実行する１乃至複数のグレイコード体系用加算器群と、処理するコード体系混合データのうち前記バイナリコード体系で表されたデータ部分の加算を実行する１乃至複数のバイナリコード体系用加算器群とを有し、前記各加算器群を縦列接続することで形成されるものである。
【００１９】
また、他の発明に係る情報処理装置において、データを順次インクリメントして出力する指示制御信号が入力されたことに応じて、データのコード体系として保持しているグレイコードを出力するレジスタと、前記レジスタに保持されているデータがアドレスデータであってそのアドレスデータをアドレスポインタとして使用する場合、バイナリコード体系で表されたアドレス順に並んだデータを、グレイコード体系で表されたアドレス順に並び替えてロードするアドレス変換機構とを有するものである。
【００２０】
【発明の実施の形態】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００２１】
実施の形態１．
図１は、本発明に係る情報処理装置に搭載されるプログラムカウンタの一実施の形態を示したブロック構成図である。プログラムカウンタは、レジスタの一形態であり、情報処理装置の基本構成の一つである制御装置に搭載される。プログラムカウンタには、次の実行すべき命令の格納場所を特定するアドレスが書き込まれる。プログラムカウンタに保持されている論理アドレスは、ＭＭＵによって読み取られ物理アドレスに変換される。
【００２２】
図１に示したプログラムカウンタ１には、グレイコードカウンタ２、コード変換回路３、加算回路４及び選択回路５が含まれている。グレイコードカウンタ２は、グレイコード体系のデータを保持する。保持するデータというのは、本実施の形態の場合、論理アドレスである。コード変換回路３は、入力されたバイナリコード体系の論理アドレスをグレイコード体系のデータに変換する。加算回路４は、グレイコードカウンタ２に保持されているデータを１ずつインクリメントする。そして、選択回路５は、入力される制御信号に従いコード変換回路３の出力、加算回路４の出力、又は入力されたグレイコードカウンタ２に保持されているデータのいずれかを選択してグレイコードカウンタ２へ出力する。本実施の形態の場合、初期ロード制御信号とインクリメント制御信号が上記入力される制御信号に相当する。
【００２３】
本実施の形態において特徴的なことは、グレイコードカウンタ２に保持させるアドレスデータのコード体系として、グレイコードを利用するようにしたことである。グレイコードは、バイナリコードと比較してビット遷移の少ないコード体系であるため、アドレスの変化に対するグレイコードカウンタ２を構成する回路素子の駆動回数を削減することができる。これにより、低消費電力化を図ることができる。
【００２４】
次に、本実施の形態における動作について説明する。
【００２５】
プログラム実行中において、プロセッサが実行した命令がジャンプ命令のとき、その飛び先のアドレスが初期値としてプログラムカウンタ１のコード変換回路３に入力される。また、これと同時に初期値ロード制御信号が出力される。なお、初期値ロード制御信号とインクリメント制御信号は、正常に動作していれば同時に出力されることはない。このプログラムカウンタ１より前段に位置する回路の構成及び処理は、従来と同じなので、コード変換回路３に入力されるアドレスデータは、バイナリコード体系のデータ（以下、単に「バイナリデータ」とも言う）である。なお、プログラムカウンタ１に初期値が送られてくるのは、ジャンプ命令等プログラムを順番に処理しない命令実行時及びプログラム実行開始時である。
【００２６】
コード変換回路３は、バイナリデータが入力されると、それをグレイコード体系のアドレスデータに変換する。そして、選択回路５は、初期値ロード制御信号が入力されたことに応じてコード変換回路３の出力を選択して出力する。その出力値は、グレイコードカウンタ２に書き込まれる。
【００２７】
また、プログラム実行時において、プログラムされた順番に処理する命令（例えば、ＡＤＤ，ＳＵＢ）が実行されたとき、インクリメント制御信号が出力される。加算回路４は、グレイコードカウンタ２に保持されているデータをインクリメントして出力する。選択回路５は、インクリメント制御信号が入力されたことに応じて加算回路４の出力を選択して出力する。その出力値は、グレイコードカウンタ２に書き込まれる。このように、実行している命令の次に実行すべき命令のアドレスを外部から入力するのではなく内部の加算回路４によりインクリメントして生成する処理は、プログラムカウンタ１特有の回路構成である。
【００２８】
ここで、バイナリコードとグレイコードの相違について図２を用いて確認する。図２には、０から１５までの数字をバイナリコードとグレイコードで表したときのビット構成が示されているが、この図から明らかなように１ずつ値をインクリメントさせたとき、グレイコードの方がビット変化が少ないことがわかる。すなわち、順次インクリメントされるアドレスなどのデータを扱う場合、グレイコードを用いた方がそのデータを保持するレジスタ（本実施の形態のグレイコードカウンタ２）を構成する回路素子の駆動回数を少なくすることができる。このように、本実施の形態においては、グレイコードカウンタ２に保持するデータのコード体系としてグレイコードを用いるようにしたので、プログラムカウンタ１の低消費電力化を図ることができる。
【００２９】
また、初期値ロード制御信号もインクリメント制御信号も出力されていないとき、選択回路５は、グレイコードカウンタ２に保持されているデータを選択して出力する。すなわち、グレイコードカウンタ２に保持されているデータは、同じ値で更新されていることになるので、結果的にそのデータがそのまま保持されている状態にある。
【００３０】
以上のように、本実施の形態によれば、グレイコードカウンタ２に保持するデータのコード体系としてグレイコードを用いるようにしたので、プログラムカウンタ１、ひいては情報処理装置の低消費電力化を図ることができる。すなわち、同じプログラムを従来のバッテリー駆動型の情報処理装置と本実施の形態におけるバッテリー駆動型の情報処理装置で実行させたとき、本実施の形態の方が消費電力が少ないので、装置を長時間利用することができる。なお、バッテリー駆動型の情報処理装置には、モバイルコンピュータのみならずプログラムの実行可能なインターネット機能付きの携帯電話も該当する。
【００３１】
実施の形態２．
本実施の形態では、実施の形態１に示したプログラムカウンタ１搭載の加算回路４の具体的な構成を示す。図３は、加算回路４の回路構成図であり、図４は、加算回路４を構成するグレイコード用加算器（以下、単に「加算器」）６の構成図である。加算回路４は、図３に示したように、処理するグレイコードのデータを構成する各ビットに対応させて設けられた各加算器６−１〜６−３を縦列接続することで形成される。なお、図３は、３ビットデータを扱う加算回路４の例が示されている。扱うビット数を増やすには、最上位ビットを処理する加算器６−１と最下位ビットを処理する加算器６−３の間に挟まれている加算器６−２を、図示した接続構成のまま増やせばよい。
【００３２】
各加算器６−１〜６−３は、全て同じ回路構成で実現できるが、両端の加算器６−１，６−３の一方側には加算器が接続されていないので、後述する入出力信号値の条件が必要になる。加算器６は、図４に示したようにビットデータの入出力を行う。すなわち、加算回路４がＮ（Ｎ≧３）ビットで表されるアドレスデータ用である場合に、この加算回路４を構成する第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した加算器６−２は、グレイコードカウンタに保持されているデータのうち第Ｍビット目のビットデータ（第１の入力）Ａ、上位側に接続された第（Ｍ＋１）ビット目に対応した加算器からの桁下がりデータ（桁下がり入力）ＣＡｉｎ及び下位側に接続された第（Ｍ−１）ビット目に対応した加算器からの桁上がりデータ（桁上がり入力）Ｃｉｎをそれぞれ入力としている。そして、選択回路５へ当該加算器の加算結果Ｓ、第（Ｍ＋１）ビット目対応の加算器へ桁上がりデータ（桁上がり出力）Ｃｏｕｔ及び第（Ｍ−１）ビット目対応の加算器へ桁下がりデータ（桁下がり出力）ＣＡｏｕｔをそれぞれ出力としている。各出力値は、上記各入力値に基づき決定される。この入出力値の関係を図５及び図６に示す。なお、出力値ＣＡｏｕｔは、２入力値Ａ，ＣＡｉｎによって決まるので、３入力値によって決まるＳ，Ｃｏｕｔとは別表にした。
【００３３】
最下位ビット（第１ビット目）に対応する加算器６−３は、第Ｍビット目対応の加算器６−２と基本的には同じ構成であるが、下位側に加算器を接続しないので、下位側へ桁下がりデータＣＡｏｕｔを出力しない。また、加算回路４は、入力されたデータに１ずつインクリメントするための回路なので、インクリメント値である１を、桁上がりデータＣｉｎとして常に固定入力する。一方、最上位ビット（第Ｎビット目）に対応する加算器６−１は、上位側に加算器を接続しないので、上位側からの桁下がりデータＣＡｉｎからは常に０を固定入力する。また、上位側への桁上がりデータＣｏｕｔを出力しない。現実的ではないが、上記最上位用の加算器６−１と最下位用の加算器６−３とを直接接続すれば、Ｎ＝２ビットで表されるデータにも適用することはできる。加算回路は、通常、ビット毎に対応させたフルアダーを並べて形成するが、本実施の形態においても、これと同じ発想でＮビットデータ用の加算回路を形成することができる。
【００３４】
本実施の形態における加算回路４の動作の一例として、３ビットデータ用のプログラムカウンタ１に搭載された場合において、十進数の６を７へインクリメントするときの各加算器６の各入出力ビット値を図７に示す。
【００３５】
ところで、本実施の形態の加算器は、上位側と下位側の双方向への桁上がり／桁下がりを行うために、上位ビット方向への桁上がりのみを行うバイナリーコード対応の加算器より回路規模が大きくなり、また回路構成も複雑になる。このため、加算器個々の消費電力はバイナリコード用加算器より増加する。しかしながら、データを保持する構成（実施の形態１のグレイコードカウンタ２）を形成するメモリ素子の駆動回数が削減するため、プログラムカウンタという記憶装置、あるいは情報処理装置として捉えた場合には、トータルの消費電力は削減することができる。
【００３６】
実施の形態３．
加算回路４における加算結果が最大値（３ビットデータ用のプログラムカウンタでは十進数の７）に達した場合において更に加算を行う場合、ラップアラウンドさせる場合とさせない場合がある。実施の形態２の図５，６に基づき動作する加算器６を搭載した加算回路４は、ラップアラウンドしない。つまり、各加算器６の出力値が全ての１となった場合にはそれ以上はカウントアップされない。
【００３７】
そこで、本実施の形態では、ラップアラウンドすることのできる加算回路４を提供することにする。
【００３８】
図８は、加算回路４を構成する最上位ビット対応の加算器６−１に適用する入出力ビット値の関係を示した図であり、図５に相当する図である。なお、加算器６−１に対する入力ＣＡｉｎは、常に０なので便宜的に図８から削除した。図８と図５を比較するとＡ＝１，Ｃｉｎ＝１のときの加算結果Ｓを１から０に変更していることがわかる。最上位ビット対応の加算器６−１に限り、図８に示した入出力ビットに基づき動作させることにより、ラップアラウンドすることができる。この十進数の７をインクリメントして０に戻すときの各加算器６の各入出力ビット値を図９に示す。
【００３９】
実施の形態４．
上記各実施の形態は、保持するデータがアドレスであるプログラムカウンタをレジスタの一例として説明した。プログラムカウンタは、基本的に１ずつインクリメントしていけばよいので、グレイコードカウンタに保持したデータ値に対して１を加算する加算回路を設けた。本実施の形態では、レジスタの他の形態として、保持している累算値に対して外部から入力された任意の加算値を加算することによって新たに算出した累算値を保持する累算器を、グレイコード体系のデータを扱うレジスタの一例として説明する。
【００４０】
図１０は、本発明に係る情報処理装置に搭載される累算器の一実施の形態を示したブロック構成図である。本実施の形態における累算器７は、累算値レジスタ８、データ変換加算回路９、コード変換回路１０及び選択回路１１を有している。累算値レジスタ８には、グレイコード体系のデータ（累算値）が保持される。データ変換加算回路９は、入力されたバイナリコード体系の加算値をグレイコード体系に変換すると共に、コード変換した加算値を累算値レジスタ８に保持されている累算値に加算することによって累算値を新たに算出する。コード変換回路１０は、入力されたバイナリコード体系の初期値をグレイコード体系のデータに変換する。選択回路１１は、入力される制御信号に従いデータ変換加算回路９の出力、コード変換回路１０の出力、又は入力された累算値レジスタ８に保持されている累算値のいずれかを選択して累算値レジスタ８へ出力する。本実施の形態の場合、初期ロード制御信号と累算制御信号が上記入力される制御信号に相当する。
【００４１】
次に、本実施の形態における動作について説明する。
【００４２】
本実施の形態における累算器７は、入力された加算値を、累算値レジスタ８に保持されている値に対して累算していく装置であるから、プログラム実行開始後、累算を行う前に累算値レジスタ８に初期値を設定しておく必要がある。従って、プロセッサが累算値レジスタ８に初期値を設定する命令を実行すると、これに応じて初期値が累算器７に対して出力され、また、これと同時に初期値ロード制御信号が出力される。なお、初期値ロード制御信号とインクリメント制御信号は、正常に動作していれば同時に出力されることはない。累算器７より前段に位置する回路の構成及び処理は従来と同じなので、累算器７へ入力される初期値及び加算値はバイナリデータである。コード変換回路１０は、入力されたバイナリコード体系の初期値をグレイコード体系のデータに変換する。選択回路１１は、初期値ロード制御信号が入力されたことに応じてコード変換回路１０の出力を選択して出力する。その出力値は、累算値レジスタ８に書き込まれる。
【００４３】
また、プロセッサが累算命令を実行すると、これに応じてバイナリコード体系の加算値が累算器７に対して出力され、また、これと同時に累算制御信号が出力される。データ変換加算回路９は、バイナリデータが入力されると、それをグレイコード体系に変換する。そして、累算値レジスタ８に保持されている累算値と、コード変換した加算値とを加算することにより累算値を新たに計算する。この加算結果はグレイコード体系である。選択回路１１は、累算制御信号が入力されたことに応じてコード変換加算回路９の出力を選択して出力する。その出力値は、累算値レジスタ８に書き込まれる。
【００４４】
また、初期値ロード制御信号も累算制御信号も出力されていないとき、選択回路１１は、累算値レジスタ８に保持されているデータを選択して出力する。すなわち、累算値レジスタ８に保持されているデータは、同じ値で更新されていることになるので、結果的にそのデータがそのまま累算値レジスタ８に保持されている状態にある。
【００４５】
以上のように、本実施の形態によれば、累算値レジスタ８に保持するデータのコード体系としてグレイコードを用いるようにした。累算器７の場合は、プログラムカウンタと異なり、任意の値が加算されることになるのでどのようなビット変化が発生するかは不明であるが、扱うデータをビット遷移の少ないグレイコード体系で扱うようにしたので、バイナリデータを扱う場合と比較して相対的にビット変化が少なくなると考えられる。従って、本実施の形態における累算器７を用いることで累算器７、ひいては情報処理装置の低消費電力化を図ることができるなど、実施の形態１に示したプログラムカウンタ１と同様の効果を奏することができる。
【００４６】
実施の形態５．
本実施の形態では、実施の形態４に示した累算器７搭載のデータ変換加算回路９の具体的な構成を示す。図１１は、データ変換加算回路９の回路構成図であり、図１２は、データ変換加算回路９を構成する加算器１２の構成図である。データ変換加算回路９は、図１１に示したように、処理するグレイコードのデータを構成する各ビットに対応させて設けられた各加算器１２−１〜１２−４を縦列接続することで形成される。なお、図１１は、４ビットデータを扱うデータ変換加算回路９の例が示されている。扱うビット数を増やすには、最上位ビットを処理する加算器１２−１と最下位ビットを処理する加算器１２−４の間に挟まれている加算器１２−２，１２−３を、図示した接続構成のまま増やせばよい。
【００４７】
各加算器１２−１〜１２−４は、全て同じ回路構成で実現できるが、両端の加算器１２−１，１２−４の一方側には加算器が接続されていないので、後述する入出力信号値の条件が必要になる。加算器１２は、図１２に示したようにビットデータの入出力を行う。すなわち、データ変換加算回路９がＮ（Ｎ≧３）ビットで表されるアドレスデータ用である場合に、データ変換加算回路９を構成する第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した加算器１２−２，１２−３は、累算値レジスタ８に保持されているデータの第Ｍビット目のビットデータ（第１の入力）Ａ、入力されたバイナリコード体系のデータの第Ｍビット目のビットデータ（第２の入力）Ｂ、入力されたバイナリコード体系のデータの第（Ｍ＋１）ビット目のビットデータ（第３の入力）ＢＵ、上位側に接続された第（Ｍ＋１）ビット目に対応した加算器からの桁下がりデータ（桁下がり入力）ＣＡｉｎ及び下位側に接続された第（Ｍ−１）ビット目に対応した加算器からの桁上がりデータ（桁上がり入力）Ｃｉｎをそれぞれ入力としている。そして、選択回路５へ当該加算器の加算結果Ｓ、第（Ｍ＋１）ビット目対応の加算器へ桁上がりデータ（桁上がり出力）Ｃｏｕｔ及び第（Ｍ−１）ビット目対応の加算器へ桁下がりデータ（桁下がり出力）ＣＡｏｕｔをそれぞれ出力としている。各出力値は、上記各入力値に基づき決定される。この入出力値の関係を図１３に示す。
【００４８】
最下位ビット（第１ビット目）に対応する加算器１２−４は、第Ｍビット目対応の加算器１２−２，１２−３と基本的には同じ構成であるが、下位側に加算器を接続しないので、下位側へ桁下がりデータＣＡｏｕｔを出力しない。また、下位側に加算器を接続しないので、下位側からの桁上がりデータＣｉｎからは常に０を固定入力する。一方、最上位ビット（第Ｎビット目）に対応する加算器１２−１は、上位側に加算器を接続しないので、上位側からの桁下がりデータＣＡｉｎからは常に０を固定入力する。また、上位側への桁上がりデータＣｏｕｔを出力しない。現実的ではないが、上記最上位用の加算器１２−１と最下位用の加算器１２−４とを直接接続すれば、Ｎ＝２ビットで表されるデータにも適用することはできる。加算回路は、通常、ビット毎に対応させたフルアダーを並べて形成するが、本実施の形態においても、これと同じ発想でＮビットデータ用のデータ変換加算回路９を形成することができる。
【００４９】
本実施の形態におけるデータ変換加算回路９の動作の一例として、４ビットデータ用の累算器７に搭載された場合において、グレイコードである十進数の３に、入力されたバイナリコードである十進数の５を加算するときの各加算器１２の各入出力ビット値を図１４に示す。
【００５０】
本実施の形態における加算器１２もプログラムカウンタに搭載される加算器と同様に入出力するビットデータ数が増えるため、加算器単体としての回路規模は、バイナリコード対応の加算器より大きくなり、消費電力も増える。しかしながら、データを保持する構成（実施の形態４の累算値レジスタ８）を形成するメモリ素子の駆動回数が削減するため、累算器７という記憶装置、あるいは情報処理装置として捉えた場合には、トータルの消費電力は削減することができる。
【００５１】
実施の形態６．
データ変換加算回路９における加算結果が最大値（４ビットデータ用のプログラムカウンタでは十進数の１５）に達した場合において更に加算を行う場合、ラップアラウンドさせる場合とさせない場合がある。実施の形態５の図１３に基づき動作する加算器１２を搭載したデータ変換加算回路９は、ラップアラウンドしない。つまり、各加算器１２の出力値が全ての１となった場合にはそれ以上に加算できない。
【００５２】
そこで、本実施の形態では、ラップアラウンドすることのできるデータ変換加算回路９を提供することにする。
【００５３】
図１５は、データ変換加算回路９を構成する最上位ビット対応の加算器１２−１に適用する入出力ビット値の関係を示した図であり、図１３に相当する図である。なお、加算器１２−１に対する入力ＣＡｉｎ，ＢＵは、常に０なので便宜的に図１５から削除した。最上位ビット対応の加算器１２−１に限り、図１５に示した入出力ビットに基づき動作させることにより、ラップアラウンドさせることができる。グレイコードである十進数の３に、入力されたバイナリコードである十進数の１５を加算するときの各加算器１２の各入出力ビット値を図１６に示す。
【００５４】
実施の形態７．
上記各実施の形態における情報処理装置は、レジスタであるプログラムカウンタ及び累算器へバイナリコード体系のままデータを出力していた。しかし、バイナリコード体系のデータをグレイコード体系に変換する回路をレジスタより上流に別個に搭載していたり、あるいは情報処理装置に入力されるデータそのものがグレイコード体系である可能性も将来的にあり得る。そこで、本実施の形態においては、入力データそのものがグレイコード体系である場合に適用するための累算器を示すことにする。
【００５５】
図１７は、本発明に係る情報処理装置に搭載される累算器の一実施の形態を示したブロック構成図である。本実施の形態における累算器１３は、累算値レジスタ１４、加算回路１５及び選択回路１６を有している。累算値レジスタ１４には、グレイコード体系のデータ（累算値）が保持される。加算回路１５は、入力されたグレイコード体系の加算値を累算値レジスタ１４に保持されている累算値に加算することによって累算値を新たに算出する。選択回路１６は、入力される制御信号に従い入力されたグレイコード体系のデータ、加算回路１５の出力、又は入力された累算値レジスタ１４に保持されている累算値のいずれかを選択して累算値レジスタ１４へ出力する。本実施の形態の場合、初期ロード制御信号と累算制御信号が上記入力される制御信号に相当する。
【００５６】
次に、本実施の形態における動作について説明する。
【００５７】
本実施の形態における累算器１３は、入力された加算値を、累算値レジスタ１４に保持されている値に対して累算していく装置であるから、プログラム実行開始後、累算を行う前に累算値レジスタ１４に初期値を設定しておく必要がある。従って、プロセッサが累算値レジスタ１４に初期値を設定する命令を実行すると、これに応じて初期値が累算器１３に対して出力され、また、これと同時に初期値ロード制御信号が出力される。なお、初期値ロード制御信号とインクリメント制御信号は、正常に動作していれば同時に出力されることはない。選択回路１６は、初期値ロード制御信号が入力されたことに応じて入力されたグレイコード体系のデータを選択して出力する。その出力値は、累算値レジスタ１４に書き込まれる。
【００５８】
また、プロセッサが累算命令を実行すると、これに応じて加算値が累算器１３に対して出力され、また、これと同時に累算制御信号が出力される。加算回路１５は、入力されたグレイコード体系の加算値を、累算値レジスタ１４に保持されている累算値に加算することにより累算値を新たに計算する。選択回路１６は、累算制御信号が入力されたことに応じて加算回路１５の出力を選択して出力する。その出力値は、累算値レジスタ１４に書き込まれる。
【００５９】
また、初期値ロード制御信号も累算制御信号も出力されていないとき、選択回路１６は、累算値レジスタ１４に保持されているデータを選択して出力する。すなわち、累算値レジスタ１４に保持されているデータは、同じ値で更新されていることになるので、結果的にそのデータがそのまま累算値レジスタ１４に保持されている状態にある。
【００６０】
以上のように、本実施の形態における累算器１３は、入力されるデータがグレイコード体系の場合に適用することができ、実施の形態４と同様に、累算値レジスタ１４に保持するデータをグレイコード体系とすることにより累算器１３の低消費電力化を図ることができる。
【００６１】
実施の形態８．
本実施の形態では、実施の形態７に示した累算器１３搭載の加算回路１５の具体的な構成を示す。図１８は、加算回路１５の回路構成図であり、図１９は、加算回路１５を構成する加算器１７の構成図である。加算回路１５は、図１８に示したように、処理するグレイコードのデータを構成する各ビットに対応させて設けられた各加算器１７−１〜１７−４を縦列接続することで形成される。なお、図１８は、４ビットデータを扱う加算回路１５の例が示されている。扱うビット数を増やすには、最上位ビットを処理する加算器１７−１と最下位ビットを処理する加算器１７−４の間に挟まれている加算器１７−２，１７−３を、図示した接続構成のまま増やせばよい。
【００６２】
各加算器１７−１〜１７−４は、全て同じ回路構成で実現できるが、両端の加算器１７−１，１７−４の一方側には加算器が接続されていないので、後述する入出力信号値の条件が必要になる。加算器１７は、図１９に示したようにビットデータの入出力を行う。すなわち、加算回路１５がＮ（Ｎ≧３）ビットで表されるアドレスデータ用である場合に、加算回路１５を構成する第Ｍ（２≦Ｍ≦Ｎ−１）ビット目に対応した加算器１７−２，１７−３は、累算値レジスタ１４に保持されているデータの第Ｍビット目のビットデータ（第１の入力）Ａ、入力されたグレイコード体系のデータの第Ｍビット目のビットデータ（第２の入力）Ｂ、上位側に接続された第（Ｍ＋１）ビット目に対応した加算器からの桁下がりデータとして第１の桁下がり入力ＣＡｉｎと第２の桁下がり入力ＣＢｉｎ、及び下位側に接続された第（Ｍ−１）ビット目に対応した加算器からの桁上がりデータ（桁上がり入力）Ｃｉｎをそれぞれ入力としている。そして、選択回路５へ当該加算器の加算結果Ｓ、第（Ｍ−１）ビット目対応の加算器へ桁下がりデータとして第１の桁下がり出力ＣＡｏｕｔと第２の桁下がり出力ＣＢｏｕｔ、及び第（Ｍ＋１）ビット目対応の加算器へ桁上がりデータ（桁上がり出力）Ｃｏｕｔをそれぞれ出力としている。各出力値は、上記各入力値に基づき決定される。この入出力値の関係を図２０に示す。なお、本実施の形態における加算器１７は、上位側に接続された加算器からの桁下がりデータとして２種類の桁下がり入力ＣＡｉｎ，ＣＢｉｎ、また、下位側に接続された加算器からの桁上がりデータとして２種類の桁上がり出力ＣＡｏｕｔ，ＣＢｏｕｔが存在する。これは、上記各実施の形態における各加算器には、一のグレイコード体系のビットデータのみが入力されていたのに対し、本実施の形態においては、２つの入力データＡ，Ｂが共にグレイコードデータであるためにそれぞれの入力データに対応した桁上げ／桁下げ信号が発生するからである。
【００６３】
最下位ビット（第１ビット目）に対応する加算器１７−４は、第Ｍビット目対応の加算器１７−２，１７−３と基本的には同じ構成であるが、下位側に加算器を接続しないので、下位側へ桁下がりデータＣＡｏｕｔ，ＣＢｏｕｔを出力しない。また、下位側に加算器を接続しないので、下位側からの桁上がりデータＣｉｎからは常に０を固定入力する。一方、最上位ビット（第Ｎビット目）に対応する加算器１７−１は、上位側に加算器を接続しないので、上位側からの桁下がりデータＣＡｉｎ，ＣＢｉｎからは常に０を固定入力する。また、上位側への桁上がりデータＣｏｕｔを出力しない。現実的ではないが、上記最上位用の加算器１７−１と最下位用の加算器１７−４とを直接接続すれば、Ｎ＝２ビットで表されるデータにも適用することはできる。加算回路は、通常、ビット毎に対応させたフルアダーを並べて形成するが、本実施の形態においても、これと同じ発想でＮビットデータ用の加算回路１５を形成することができる。
【００６４】
本実施の形態における加算回路１５の動作の一例として、４ビットデータ用の累算器１３に搭載された場合において、グレイコードである十進数の累算値３に、入力されたグレイコードである十進数の５を加算するときの各加算器１７の各入出力ビット値を図２１に示す。
【００６５】
本実施の形態における加算器１７もプログラムカウンタに搭載される加算器と同様に入出力するビットデータ数が増えるため、加算器単体としての回路規模は、バイナリコード対応の加算器より大きくなり、消費電力も増える。しかしながら、累算値レジスタ１４を形成するメモリ素子の駆動回数が削減するため、累算器１３、あるいは情報処理装置として捉えた場合には、トータルの消費電力は削減することができる。
【００６６】
実施の形態９．
実施の形態８の図２０に基づき動作する加算器１７を搭載した加算回路１５は、ラップアラウンドしないため、本実施の形態では、ラップアラウンドする加算回路１５を示す。
【００６７】
図２２は、加算回路１５を構成する最上位ビット対応の加算器１７−１に適用する入出力ビット値の関係を示した図である。なお、加算器１７−１に対する入力ＣＡｉｎ，ＣＢｉｎは、常に０なので便宜的に図２２から削除した。最上位ビット対応の加算器１７−１に限り、図２２に示した入出力ビットに基づき動作させることにより、ラップアラウンドさせることができる。その他の加算器１７−２〜１７−４は、そのまま図２０に示した入出力ビット値の関係に従い動作する。グレイコードである十進数の３に、入力されたバイナリコードである十進数の１５を加算するときの各加算器１７の各入出力ビット値を図２３に示す。
【００６８】
実施の形態１０．
上記各実施の形態においては、プログラムカウンタ等のレジスタに保持するデータのコード体系をグレイコードとすることで低消費電力化を図るようにしたことを特徴としている。これは、レジスタに保持されたデータの各ビット値の変化する回数を減らすことによってレジスタを構成する回路素子の駆動回数を削減することで達成しようとするものである。しかしながら、前述したように、加算回路を形成する加算器自体は、グレイコード対応の方がバイナリコード対応より電力を消費する。
【００６９】
そこで、本実施の形態においては、それぞれの長所を組み合わせることによって更に低消費電力化が図れるようにした。そのために、本実施の形態においては、レジスタに保持されるデータの一部分のコード体系としてグレイコードを用いることによって、グレイコード体系で表されるデータ部分とバイナリコード体系で表されるデータ部分が混在したコード体系混在データを処理できるようにしたことを特徴としている。
【００７０】
図２４は、本実施の形態における情報処理装置に搭載されるプログラムカウンタに搭載される加算回路の概略的な内部構成を示した図である。なお、プログラムカウンタ自体の構成は、説明しない部分においては図１と同じでよい。
【００７１】
本実施の形態におけるプログラムカウンタが扱うデータは、（Ｐ＋Ｎ＋Ｑ）ビット長からなるアドレスデータであり、上位Ｐビット及び下位Ｑビットをバイナリコード体系のデータ、その間のＮビットをグレイコード体系のデータとしたコード体系混合型のデータである。本実施の形態における加算回路４は、このコード体系混合型データのコード体系の構成にあわせた回路構成となる。すなわち、図２４に示したように、加算回路４は、入力されたコード体系混合データのうち上位Ｐビットのデータ部分の加算を実行するバイナリコード体系データ用のカウンタ（以下「バイナリコード用カウンタ」）１８と、同様に下位Ｑビットのデータ部分の加算を実行するバイナリコード体系データ用のバイナリコード用カウンタ１９と、その間のＮビットのデータ部分の加算を実行するグレイコード体系データ用のカウンタ（以下「グレイコード用カウンタ」）２０とで構成されている。グレイコード用カウンタ２０は、実施の形態２（図３）で示した加算回路とほぼ同様の構成を有しており、処理するＮビット個々に対応させてＮ個のグレイコード用加算器を接続することで形成されるグレイコード体系用加算器群である。グレイコード用カウンタ２０を形成する各加算器は、図４に示した加算器をそのまま利用できる。バイナリコード用カウンタ１８，１９も同様に処理するＰ，Ｑビット個々に対応させてＰ，Ｑ個のバイナリコード体系用の加算器を接続することで形成されるバイナリコード体系用加算器群である。なお、バイナリコード体系用の加算器は、従来からあるものを利用することができる。
【００７２】
本実施の形態において用いるＮビットデータ用の加算回路（グレイコード体系用加算器群）と実施の形態２（図３）において説明した加算回路の異なるところは、以下の点である。まず、実施の形態２において、加算回路４を形成する加算器のうち最上位ビットデータを処理する加算器には、上位側に接続する加算器がないため上位側への桁上がり出力Ｃｏｕｔは出力しなかったが、本実施の形態では、上位側にバイナリコード用カウンタ１８が存在するため桁上がり出力Ｃｏｕｔを出力する。また、最下位ビットデータを処理する加算器には、１ずつインクリメントさせるために桁上がり入力（桁上げ信号）Ｃｉｎとして常に１を入力させていたが、本実施の形態では、下位側にバイナリコード用カウンタ１９が存在するため、バイナリコード用カウンタ１９からの桁上げ信号をＣｉｎとして入力させる。なお、バイナリコードでは、桁下げ信号はないので、実施の形態２と同様に最下位ビット対応の加算器は、桁下がり出力（桁下げ信号）ＣＡｏｕｔを出力しない。また、最上位の加算器は、ラップアラウンド対応の入出力ビットデータ対応表（図８）を用いる。バイナリコード用カウンタ１８，１９も同様にラップアラウンド対応のものとする。
【００７３】
また、図示していないが、本実施の形態におけるバイナリコード用カウンタ１９は、アドレスデータの最下位ビットを処理するため、インクリメント値である１が常に入力される。
【００７４】
本実施の形態におけるプログラムカウンタ自体の構成は、上記の通りほぼ図１と同じでよいが、コード体系混合データを扱うため、コード変換回路は、入力されたバイナリコード体系のデータのうちグレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換する。すなわち、中位Ｎビット部分のデータのみをコード変換する。また、図１においてグレイコードカウンタ２として図示されたカウンタには、コード体系混合データが保持されることになる。
【００７５】
本実施の形態におけるプログラムカウンタの処理の流れは、実施の形態１と同じなので説明を省略する。ここでは、加算回路４内における動作についてのみ説明する。
【００７６】
例えば、バイナリコード用カウンタ１９がＱ＝２ビットデータ用であるとする。レジスタに０が保持されているとき、バイナリコード用カウンタ１９には、“００”が入力されてくるのでインクリメントすることにより“０１”を加算結果として出力する。このとき、桁上げ信号が入力されてこない（正確には０が入力される）。従って、入力されたデータをそのまま出力することになる。バイナリコード用カウンタ１９がインクリメントを２回繰り返して“１１”が入力されてきたとき、バイナリコード用カウンタ１９は、ラップアラウンドすることで“００”を加算結果として出力すると共に、このとき初めて桁上げ信号を出力する。グレイコード用カウンタ２０は、この桁上げ信号により初めてインクリメントを行う。グレイコード用カウンタ２０がＮ＝３ビットデータ用であるとすると、グレイコード用カウンタ２０には“０００”が入力されてくるのでインクリメントすることにより“００１”を加算結果として出力する。グレイコード用カウンタ２０がインクリメントを６回繰り返して“１００”（十進数の７）が入力されてきたとき、グレイコード用カウンタ２０は、ラップアラウンドすることで“０００”を加算結果として出力すると共に、このとき初めて桁上げ信号を出力する。バイナリコード用カウンタ１８は、この桁上げ信号により初めてインクリメントを行う。
【００７７】
本実施の形態においては、加算回路を構成する際、バイナリコード用カウンタとグレイコード用カウンタを混在させること、バイナリコード用カウンタ又はグレイコード用カウンタがそれぞれ複数搭載可能であることを示すために図２４に示すような構成を例示した。ただ、１ずつインクリメントさせるプログラムカウンタでは、下位ビット部分にビット値の変化の回数の少ないグレイコード用カウンタを配設し、頻繁にインクリメントされてこない上位ビット部分にグレイコード用加算器より消費電力の少ないバイナリコード用加算器搭載のバイナリコード用カウンタを配設することで、より効果的な低消費電力化を図ることができる。
【００７８】
実施の形態１１．
本実施の形態は、実施の形態１０と同様に部分的にグレイコード体系のデータを処理できるようにしたことを特徴としているが、実施の形態１０が実施の形態１〜３に対応したプログラムカウンタであるのに対し、本実施の形態では、実施の形態４〜６に対応した累算器に適用した場合である。
【００７９】
図２５は、本実施の形態における情報処理装置に搭載される累算器に搭載されるデータ変換加算回路の概略的な内部構成を示した図である。なお、累算器自体の構成は、説明しない部分においては図１０と同じでよい。
【００８０】
本実施の形態における累算器が扱うデータは、（Ｐ＋Ｎ＋Ｑ）ビット長からなるデータであり、上位Ｐビット及び下位Ｑビットをバイナリコード体系のデータ、その間のＮビットをグレイコード体系のデータとしたコード体系混合型のデータである。本実施の形態におけるデータ変換加算回路９は、このコード体系混合型データのコード体系の構成にあわせた回路構成となる。すなわち、図２５に示したように、データ変換加算回路９は、処理するコード体系混合データのうちバイナリコード体系で表された上位Ｐビットのデータ部分の加算を実行するバイナリコード体系用加算器群（以下「バイナリコード用加算器」）２１と、同様に下位Ｑビットのデータ部分の加算を実行するバイナリコード体系データ用のバイナリコード用加算器２２と、その間のＮビットのデータ部分の加算を実行するグレイコード体系用加算器群（以下「グレイコード用加算器」）２３とで構成されている。グレイコード用加算器２３は、実施の形態５（図１１）で示したのと同様の構成を有しており、内部に有する各加算器は、図１２に示した加算器をそのまま利用できる。バイナリコード用加算器２１，２２も同様に処理するＰ，Ｑビット個々に対応させてＰ，Ｑ個のバイナリコード体系用の加算器を接続することで形成されるバイナリコード体系用加算器群である。なお、バイナリコード体系用の加算器は、従来からあるものを利用することができる。
【００８１】
本実施の形態において用いるＮビットデータ用のグレイコード用加算器２３と実施の形態５（図１１）において説明したデータ変換加算回路の異なるところは、実施の形態１０と同様に、グレイコード用加算器２３内の最上位ビットデータを処理する加算器は、上位側へ桁上がり出力（桁上げ信号）Ｃｏｕｔを出力する。また、最下位ビットデータを処理する加算器は、下位側からの桁上がり入力（桁上げ信号）Ｃｉｎを入力する。なお、バイナリコードでは、桁下げ信号はないので、実施の形態５と同様に最下位ビット対応の加算器は、桁下がり出力（桁下げ信号）ＣＡｏｕｔを出力しない。また、最上位の加算器は、ラップアラウンド対応の入出力ビットデータ対応表（図１５）を用いる。バイナリコード用カウンタ２１，２２も同様にラップアラウンド対応のものとする。
【００８２】
本実施の形態におけるプログラムカウンタ自体の構成は、上記の通りほぼ図１０と同じでよいが、コード体系混合データを扱うため、コード変換回路は、入力されたバイナリコード体系のデータのうちグレイコード体系で表されたデータ部分に対応するデータ部分のみをグレイコード体系に変換する。すなわち、中位Ｎビット部分のデータのみをコード変換する。また、言うまでもないが、グレイコード用加算器２３は、コード変換回路と同様に入力された初期値（又は加算値）のうち中位Ｎビット部分のデータのみをコード変換する。
【００８３】
本実施の形態における累算器の処理の流れは、実施の形態５と同じなので説明を省略する。また、データ変換加算回路９内における動作については、上記実施の形態１０と同じなので省略する。
【００８４】
本実施の形態は、情報処理装置内において扱うデータの特性に応じてデータ変換加算回路９の内部構成を決定すればよい。
【００８５】
例えば、情報処理装置が３２ビットマシンの場合、４バイト刻みで命令が入ってくる。つまり、加算値は４なので、下位アドレスの遷移は、初期値が０のとき１６進数で０，４，８，Ｃである。これを２進数（バイナリコード）で表すと、“００００”，“０１００”，“１０００”、“１１００”であり、下位２ビットは常に“００”である。すなわち、バイナリデータであっても下位２ビットは、何も変化しないので、下位の２ビットをグレイコード用加算器より相対的に消費電力の少ないバイナリコード用加算器を割り当てるのが効果的である。図２５に従うと、バイナリコード用加算器２２をＱ＝２ビットデータ用とすればよい。
【００８６】
このように、データビット値の変化の激しいところのみにグレイコード用加算器を用い、そうでないところにはバイナリコード用加算器を用いることで、より効果的な低消費電力化を図ることができる。なお、本実施の形態におけるデータ変換加算回路９を形成するグレイコード用加算器とバイナリコード用加算器の数や並び順は、図２５に限定されるものではなく実施の形態１０と同様、本実施の形態が適用されるレジスタの種類や実行するプログラムの特質に応じて決めればよい。
【００８７】
実施の形態１２．
実施の形態１乃至３、１０で示したプログラムカウンタに保持されるデータは、実行中のプログラムに含まれている命令の格納位置を指し示すアドレスポインタとして使用されるので、バイナリコード体系で表されたアドレス順に並んだ命令をそのままメモリにロードしても、アドレスポインタは、コード体系の相違からメモリ上において正しい位置を指し示すことができない。
【００８８】
そこで、本実施の形態においては、情報処理装置にバイナリコード体系で表されたアドレス順をプログラムカウンタが指し示す順番に置き換えてメモリにロードするアドレス変換機構を情報処理装置に設けたことを特徴とする。
【００８９】
図２６は、本実施の形態における情報処理装置の概略構成図である。図２６には、前述したコード変換処理機能を有するアドレス変換機構２４、メモリ２５、メモリ２５にロードされるプログラムが格納されたプログラムファイル２６及び上記説明したプログラムカウンタ１が示されている。
【００９０】
アドレス変換機構２４は、プログラムをメモリ２５にロードするとき、図２に示したバイナリコードとグレイコードとの対応表に基づく規則に従い命令のアドレス順を並び替えてロードする。このように、アドレス変換機構２４を設けたことにより、グレイコード体系で表されたアドレスポインタを搭載したときでもプログラムを正常に実行させることができる。
【００９１】
以上のように、情報処理装置に搭載する少なくとも１つのレジスタに、各実施の形態において前述したいずれかのレジスタを採用することで、低消費電力化を図ることができる。
【００９２】
【発明の効果】
本発明によれば、カウンタで保持されるアドレスデータなど順次インクリメントされるデータ、あるいは累算値レジスタで保持されるデータのコード体系としてビット遷移の少ないグレイコードを利用するようにしたので、レジスタを構成するメモリ素子の駆動回数を削減することができ、この結果、低消費電力化を図ることができる。
【００９３】
また、入力されるデータがすでにグレイコード体系の場合にもそのままのコード体系で累算値レジスタに保持することができる。
【００９４】
また、レジスタに保持されるデータの一部分のコード体系としてグレイコードを用いることによって、グレイコード体系で表されるデータ部分とバイナリコード体系で表されるデータ部分が混在したコード体系混在データを処理できるようにした。これにより、バイナリコードではデータビット値の変化が激しくなるデータ部分に、ビット変化が少ないグレイコード体系で処理し、そうでないところにはグレイコード体系の加算器より相対的に消費電力が少なくなるバイナリコード体系の加算器により、すなわちバイナリコード体系で処理することができるので、より効果的な低消費電力化を図ることができる。
【００９５】
また、バイナリコード体系で表されたアドレス順に並んだデータを、グレイコード体系で表されたアドレス順に並び替えてロードするアドレス変換機構を設けたことで、グレイコード体系で表されたアドレスポインタを保持するレジスタを用いた場合でもプログラムの明細を正しい順番で正常に実行させることができる。
【図面の簡単な説明】
【図１】  本発明に係る情報処理装置に搭載されるプログラムカウンタの一実施の形態を示したブロック構成図である。
【図２】  数字をバイナリコードとグレイコードで表したときのビット構成を示した図である。
【図３】  実施の形態２における加算回路の回路構成図である。
【図４】  実施の形態２における加算回路を構成する加算器の構成図である。
【図５】  実施の形態２における加算器の入出力値の関係を示した図である。
【図６】  実施の形態２における加算器の入出力値の関係を示した図である。
【図７】  実施の形態２において加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図８】  実施の形態３におけるラップアラウンド対応の最上位ビット用加算器の入出力値の関係を示した図である。
【図９】  実施の形態３において加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図１０】  実施の形態４の情報処理装置に搭載される累算器を示したブロック構成図である。
【図１１】  実施の形態５におけるデータ変換加算回路の回路構成図である。
【図１２】  実施の形態５におけるデータ変換加算回路を構成する加算器の構成図である。
【図１３】  実施の形態５における加算器の入出力値の関係を示した図である。
【図１４】  実施の形態５においてデータ変換加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図１５】  実施の形態６におけるラップアラウンド対応の最上位ビット用加算器の入出力値の関係を示した図である。
【図１６】  実施の形態６において加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図１７】  実施の形態７の情報処理装置に搭載される累算器を示したブロック構成図である。
【図１８】  実施の形態８における加算回路の回路構成図である。
【図１９】  実施の形態８における加算回路を構成する加算器の構成図である。
【図２０】  実施の形態８における加算器の入出力値の関係を示した図である。
【図２１】  実施の形態８において加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図２２】  実施の形態９におけるラップアラウンド対応の最上位ビット用加算器の入出力値の関係を示した図である。
【図２３】  実施の形態９において加算回路の動作時における各加算器の各入出力ビット値を示した図である。
【図２４】  実施の形態１０においてプログラムカウンタを構成する加算回路の概略的な内部構成を示した図である。
【図２５】  実施の形態１１における情報処理装置に搭載される累算器に搭載されるデータ変換加算回路の概略的な内部構成を示した図である。
【図２６】  実施の形態１２における情報処理装置の概略構成図である。
【符号の説明】
１  プログラムカウンタ、２  グレイコードカウンタ、３，１０  コード変換回路、４，１５  加算回路、５，１１，１６  選択回路、６，６−１〜６−３，１２，１２−１〜１２−４，１７，１７−１〜１７−４  加算器、７，１３  累算器、８，１４  累算値レジスタ、９  データ変換加算回路、１８，１９  バイナリコード用カウンタ、２０  グレイコード用カウンタ、２１，２２  バイナリコード用加算器、２３  グレイコード用加算器、２４  アドレス変換機構、２５メモリ、２６  プログラムファイル。
【図１】
0003640624.tif 000002
【図２】
0003640624.tif 000003
【図３】
0003640624.tif 000004
【図４】
0003640624.tif 000005
【図５】
0003640624.tif 000006
【図６】
0003640624.tif 000007
【図７】
0003640624.tif 000008
【図８】
0003640624.tif 000009
【図９】
0003640624.tif 000010
【図１０】
0003640624.tif 000011
【図１１】
0003640624.tif 000012
【図１２】
0003640624.tif 000013
【図１３】
0003640624.tif 000014
【図１４】
0003640624.tif 000015
【図１５】
0003640624.tif 000016
【図１６】
0003640624.tif 000017
【図１７】
0003640624.tif 000018
【図１８】
0003640624.tif 000019
【図１９】
0003640624.tif 000020
【図２０】
0003640624.tif 000021
【図２１】
0003640624.tif 000022
【図２２】
0003640624.tif 000023
【図２３】
0003640624.tif 000024
【図２４】
0003640624.tif 000025
【図２５】
0003640624.tif 000026
【図２６】
0003640624.tif 000027