(57)【要約】  本発明はマイクロプロセッサのパイプライン３００において電力を保存するシステムおよび方法である。このシステムは、レジスタファイル読み出し制御装置３０５を含んでおり、この読み出し制御装置３０５は、パイプライン３００の制御／解読装置２０５からの１以上の出力を監視し、かつパイプラインの１以上の他のステージからの書き込みアドレスを監視するように構成されている。またこのシステムは、各々が入力、出力、およびイネーブル端子を有する１以上の読み出し禁止装置３０１、３０３をも含んでおり、前記１以上の読み出し禁止装置３０１、３０３の各々の出力が、パイプライン３００中のレジスタファイル１０９の固有のレジスタポートに接続されている。１以上の読み出し禁止装置３０１、３０３の各々の入力は、前記制御／解読装置２０５に接続されており、１以上の読み出し禁止装置３０１、３０３の各々のイネーブル端子は、読み出し制御装置３０５の固有の出力に接続されている。
2008542949.tif 000002
【特許請求の範囲】
【請求項１】
マイクロプロセッサのパイプラインにおける節電用電子装置であって、
前記パイプラインの制御／解読装置からの１以上の出力を監視するように構成され、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するように構成されているレジスタファイル読み出し制御装置と、
各々が入力、出力、およびイネーブル端子を有し、各々の前記出力が前記パイプライン中のレジスタファイルの固有のレジスタポートに接続されており、各々の前記入力が前記制御／解読装置に接続されており、各々の前記イネーブル端子が前記読み出し制御装置の固有の出力に接続されている、１以上の読み出し禁止装置とを備える、節電用電子装置。
【請求項２】
前記読み出し制御装置は、演算結果がフォワードされる予定のものであれば、命令解読およびレジスタファイル読み出しステージにある命令が前記レジスタファイルを読み出さないように、信号を前記１以上の読み出し禁止装置に送るようにさらに構成されている、請求項１に記載の装置。
【請求項３】
前記１以上の読み出し禁止装置の各々は、レベルトリガ型のラッチを備える、請求項１に記載の装置。
【請求項４】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項３に記載の装置。
【請求項５】
前記１以上の読み出し禁止装置の各々は、エッジトリガ型のラッチを備えている、請求項１に記載の装置。
【請求項６】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項５に記載の装置。
【請求項７】
前記１以上の読み出し禁止装置の各々は、前記レジスタファイルに統合されている、請求項１に記載の装置。
【請求項８】
マイクロプロセッサのパイプラインにおける節電用電子装置であって、
前記パイプラインの制御／解読装置からの１以上の出力を監視するように構成され、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するように構成されているレジスタファイル読み出し制御装置と、
各々が入力、出力、およびイネーブル端子を有し、各々の前記出力が前記パイプライン中のレジスタファイルの固有のレジスタポートに接続されており、各々の前記入力が前記制御／解読装置に接続されており、各々の前記イネーブル端子が前記読み出し制御装置の固有の出力に接続されている、１以上の読み出し禁止装置と、
各々が前記パイプラインの固有のステージに接続され、各々が前記パイプラインの前記固有のステージの各々に、中間段階で得られる演算結果を付与するように構成され、少なくとも１つが前記パイプラインの書き戻しステージに接続されている、１以上のフォワード制御装置とを備える、節電用電子装置。
【請求項９】
前記読み出し制御装置は、演算結果がフォワードされる予定のものであれば、命令解読およびレジスタファイル読み出しステージにある命令が前記レジスタファイルを読み出さ
ないように、信号を前記１以上の読み出し禁止装置に送るようにさらに構成されている、請求項８に記載の装置。
【請求項１０】
前記１以上の読み出し禁止装置の各々は、レベルトリガ型のラッチを備える、請求項８に記載の装置。
【請求項１１】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項１０に記載の装置。
【請求項１２】
前記１以上の読み出し禁止装置の各々は、エッジトリガ型のラッチを備えている、請求項８に記載の装置。
【請求項１３】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項１２に記載の装置。
【請求項１４】
前記１以上のフォワード制御装置のうちの第１の装置は、前記パイプラインの実行ステージ中の複数のマルチプレクサの出力を選択するように電気的に接続されており、前記複数のマルチプレクサの各々の出力は、算術論理演算装置の入力に接続されている、請求項８に記載の装置。
【請求項１５】
前記１以上の読み出し禁止装置の各々は、前記レジスタファイルに統合されている、請求項８に記載の装置。
【請求項１６】
マイクロプロセッサのパイプライン型アーキテクチャにおける電力保存方法であって、
前記パイプライン型アーキテクチャに含まれるレジスタファイル中の少なくとも１つのファイルの内容を読み出すように接続された読み出し禁止装置を準備するステップと、
前記読み出し禁止装置に制御信号を付与するレジスタファイル読み出し制御装置を準備するステップと、
前記制御信号に基づいて、レジスタファイル読み出し動作をすべきか否かを判断するステップと、
前記レジスタファイル中の前記少なくとも１つのファイルの前記内容を読み出すように判断がなされた場合に、前記読み出し制御装置から前記読み出し禁止装置にイネーブル信号を付与するステップと、
前記レジスタファイル中の前記少なくとも１つのファイルの前記内容を読み出すステップとを含む、電力保存方法。
【請求項１７】
前記読み出し禁止装置が、前記読み出し制御装置から前記イネーブル信号を受け取ると、前記レジスタファイルの読み出しアドレスを付与するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
マイクロプロセッサのパイプラインにおける節電用電子装置であって、
前記パイプラインの制御／解読装置からの１以上の出力を監視し、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するレジスタファイル読み出し制御手段と、
前記レジスタファイル読み出し制御手段から読み出しイネーブル信号を受信することにより、前記パイプライン中のレジスタファイルの読み出しを許可する読み出し禁止手段と
を備える、節電用電子装置。
【請求項１９】
第１入力と、第２入力と、マルチプレクサ出力とを有し、前記第１入力が前記レジスタファイルの出力に接続されており、前記第２入力が前記パイプラインの書き戻しステージからの出力に接続されており、前記マルチプレクサ出力が前記パイプライン中の算術論理演算装置の入力に接続されている、フォワード用マルチプレクサと、
前記パイプラインの１以上の固有のステージに中間段階の演算結果を付与するフォワード制御手段とをさらに備える、請求項１８に記載の装置。
【請求項２０】
前記フォワード制御手段は、前記パイプラインの書き戻しステージからの信号を付与する、請求項１９に記載の装置。
【請求項２１】
前記読み出し禁止手段が前記読み出し制御手段からイネーブル信号を受け取ると、前記レジスタファイルの読み出しアドレスを付与する読み出しアドレス手段をさらに備える、請求項１８に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、読出−書込型アーキテクチャ（すなわち、ＲＩＳＣ系マシン）とメモリ指向型アーキテクチャ（すなわち、ＣＩＳＣ系マシン）の双方のマイクロプロセッサの消費電力の節減に関するものである。より特定的には、本発明は、レジスタファイルからの不必要な読み出し動作を回避し、それによりマイクロプロセッサからの電力の散逸を低減する技術および方法を提供するものである。
【背景技術】
【０００２】
現代のコンピュータシステムの多くは、命令スループットを高めるために、パイプライン型アーキテクチャを有するプロセッサを用いている。理論的には、パイプライン型プロセッサは、良好に順序付けられた逐次的な命令ストリームを実行しているときには、マシンサイクル毎に１命令を実行することができる。パイプライン型プロセッサは、命令の実行を幾つかのステージに分割して動作し、各ステージは、実行完了に１マシンサイクルを要するものである。代表的なシステムでは、命令が実行を完了するのに数多くのマシンサイクル（例えば、フェッチ、解読、ＡＬＵ動作等）を要する。しかし、パイプライン型プロセッサでは、最初の命令の実行が現実に完了する前に、次の命令の処理を開始することにより、待ち時間が短縮される。従って、所与の時刻において、多数の命令が様々な処理ステージにあり得る。したがって、システムにおける命令全体の実行待ち時間（これは、一連の命令の実行開始から実行完了までの遅延時間と見ることができる）が、著しく短縮され得る。
【０００３】
最新のマイクロプロセッサは、パイプラインデータパスを用いており、それにより高いクロック周波数に対応するとともに、パイプラインストールを回避するか、あるいはストールの数を低減している。上述したように、パイプライン処理の背後にある原理は、１つの命令を幾つかの小さな処理に分割し、後続するクロックサイクル毎に基板動作専用のハードウェアで各処理を実行するものである。このようなシステムは、命令が複数のハードウェア装置を通過して流れる線型パイプラインとしてモデル化することができる。代表的なパイプラインは、以下の処理を実行する。各処理は、専用のハードウェアによって実行される。
【０００４】
１．命令フェッチ、
２．命令解読、および下流のパイプラインステージに送られる制御信号の発生、
３．レジスタファイルからのオペランドの読み出し、
４．命令実行（「加算」のような算術演算の結果が、ここで生成される）、
５．メモリ読み出し（メモリからのデータ読み出しが、ここで可能となる）、および
６．レジスタファイルへの演算結果の書き戻し。
これらの処理の各々は、ハードウェアによって実行され、ステージ間を流れる全ての信号は、クロック同期式レジスタを経由する。
【０００５】
図１は、上述した処理を実行可能な従来技術によるパイプラインの代表例を示している。このようなパイプライン型マイクロプロセッサの各区域は、当技術分野の技能を有する者には周知であるので、図１では、データパスの全てを詳細に表すことなく、様式化して示している。図１は、プログラムカウンタ（ＰＣ）１０１、命令メモリ（ＩＭ）１０３、レジスタファイル１０９、算術論理演算装置（ＡＬＵ）１１３、およびマルチプレクサ１１９を含んでいる。従来技術によるパイプラインの複数の区域は、命令フェッチステージ１０５、命令解読およびレジスタファイル読み出しステージ１０７、実行ステージ１１１、メモリアクセス・ステージ１１５、および書き戻しステージ１１７を含んでいる。全て
のパイプラインステージ（１０５、１０７、１１１、１１５、および１１７）が、複数のクロック同期式レジスタの１つによって分離されているので、パイプライン中に６つの異なる命令が同時に存在し得る。例えば、実行ステージ１１１にある命令が、メモリアクセス・ステージ１１５または書き戻しステージ１１７にある命令によって書き込まれたレジスタの値を読み出す必要があった場合には、実行ステージ１１１は、その値がレジスタファイル１０９に書き込まれるまで待たなければならない。さもなければ、誤った（すなわち、それより前に書き込まれた）値を読み出すことになるからである。
【０００６】
その上さらにパイプラインでは、命令がパイプライン中の書き戻しステージ１１７に達するよりはるか以前に、演算結果が得られる場合がある。パイプライン中の実行速度を高めるための１つの方法は、フォワード技術を取り入れることによるものである。図２のフォワード型パイプライン２００は、フォワード技術を取り入れており、命令解読およびレジスタファイル読み出しステージ１０７と実行ステージ１１１との中に、ＩＤフォワード制御装置（ＩＤ  ｆｗｄ  ｃｔｒｌ）２０１Ａと、ＥＸフォワード制御装置（ＥＸ  ｆｗｄ  ｃｔｒｌ）２０１Ｂと、２つのフォワード用マルチプレクサ２０３を含んでいる。フォワード型パイプライン２００では、中間段階で得られる演算結果を利用できないという不都合を回避することにより、実行速度を高めている。例えば、算術演算の結果は、実行ステージ１１１で得られる場合がある。実行ステージ１１１、メモリアクセス・ステージ１１５、または書き戻しステージ１１７で得られる演算結果であって、それよりも早い（すなわち、上流側の）ステージで命令が必要としている演算結果は、データを必要としている早いステージへ直接にフォワードすることができる。それゆえ、命令解読ステージ１０７にある命令は、上記演算結果がレジスタファイル１０９へ書き戻されるまでストールすることを要しない。
【０００７】
ＩＤフォワード制御装置２０１Ａは、レジスタファイル１０９から読み出されるレジスタが、書き戻しステージ１１７によって書き込まれようとしているレジスタと同一である場合には、書き戻しステージ１１７によってレジスタファイル１０９に書き込まれるデータを、レジスタファイル１０９の出力にフォワードする。ＥＸフォワード制御装置２０１Ｂは、実行ステージ１１１にある命令が、メモリアクセス・ステージ１１５または書き戻しステージ１１７にある命令によって書き込まれているレジスタを読み出すのか否かを判断するために、命令解読およびレジスタファイル読み出しステージ１０７のパイプラインレジスタからのｒｅａｄｒｅｇａ信号およびｒｅａｄｒｅｇｂ信号を待ち、メモリアクセス・ステージ１１５または書き戻しステージ１１７からのｗｒｉｔｅ＿ａｄｄｒ信号を待つ。もしも、判断の結果が肯定的であれば、メモリアクセス・ステージ１１５または書き戻しステージ１１７にある命令から得られる演算結果が、ＡＬＵ１１３に入力される。ＥＸフォワード制御装置２０１Ｂは、ｆｗｄａ信号とｆｗｄｂ信号とを制御することにより、レジスタファイル１０９から読み出された値を使用すべきか、あるいはメモリアクセス・ステージ１１５または書き戻しステージ１１７からフォワードされた値を使用すべきかを選択する。これらｆｗｄａ信号およびｆｗｄｂ信号は、２つのフォワード用マルチプレクサ２０３に対するマルチプレクサ選択信号である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
フォワード型パイプラインにおいて、パイプラインが深くなるほど、多くの命令が、フォワード技術によってオペランドを取得するようになり、レジスタファイルからオペランドを読み出す必要がなくなる。このようにフォワードされたオペランドを受け取ることができるのは、命令がその直後に続く命令によって使用されるデータを生成するという順次的な性質を、ほとんどのプログラムが有していることに由来する。上記の代表的な従来技術によるデータフォワードの枠組みでは、命令解読サイクル毎に、その一部として、オペランドがレジスタファイルから読み出される。このレジスタ読み出しは、データフォワー
ドが可能であるか否かとは無関係に、さらにはフォワードされるデータが必要であったとしても発生する。それゆえ、不必要なレジスタファイル読み出しを回避し、不必要なレジスタファイル読み出しに付随する電力の増加を解消しつつ、オペランドがフォワードされることによる利益を享受するための方法が求められている。
【課題を解決するための手段】
【０００９】
発明の概要
本発明の例示的な実施形態は、消費電力を節減するレジスタファイルのアクセス方法を含んでいる。例示的な実施形態によれば、レジスタファイルから読み出すべき１以上のレジスタが、パイプライン中のさらに下流に位置する命令によって書き込まれるときには、フォワード可能なレジスタのレジスタファイル読み出しは起動されない。それに代えて、フォワードされるレジスタ値が直接に用いられる。
【００１０】
それゆえ、本発明はマイクロプロセッサのパイプラインにおいて電力を保存するシステムおよび方法である。前記システムは、レジスタファイル読み出し制御装置を含んでおり、前記読み出し制御装置は、前記パイプラインの制御／解読装置からの１以上の出力を監視し、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するように構成されている。また前記システムは、各々が入力、出力、およびイネーブル端子を有する１以上の読み出し禁止装置も含んでおり、前記１以上の読み出し禁止装置の各々の前記出力が、前記パイプライン中のレジスタファイルの固有のレジスタポートに接続されている。前記１以上の読み出し禁止装置の各々の前記入力は、前記制御／解読装置に接続されており、前記１以上の読み出し禁止装置の各々の前記イネーブル端子は、前記読み出し制御装置の固有の出力に接続されている。
【００１１】
前記方法は、読み出し禁止装置と読み出し制御装置とを準備することを含んでおり、前記読み出し禁止装置は、前記パイプライン型アーキテクチャに含まれるレジスタファイル中の少なくとも１つのファイルの内容を読み出すように接続されている。前記読み出し制御装置は、前記読み出し禁止装置に制御信号を付与する。前記制御信号に基づいて、レジスタファイル読み出し動作をすべきか否かについて、判断がなされる。前記レジスタファイル中の前記少なくとも１つのファイルの前記内容を読み出すように判断がなされた場合に、前記読み出し制御装置から前記読み出し禁止装置にイネーブル信号が送られる。そして、前記イネーブル信号が受け取られると、前記レジスタファイル中の前記少なくとも１つのファイルの前記内容が読み出される。
【発明を実施するための最良の形態】
【００１２】
発明の詳細な説明
クロック周期毎にレジスタファイルのアクセスを要しない図３の例示的な実施形態のパイプライン３００は、レジスタファイル読み出し制御装置（ＲＣＵ）３０５と、２つのレジスタファイル禁止装置である読み出し禁止装置Ａ（ｒｉａ）３０１および読み出し禁止装置Ｂ（ｒｉｂ）３０３と、を実装している。ＲＣＵ３０５は、制御／解読装置２０５からのｒｅａｄｒｅｇａ出力およびｒｅａｄｒｅｇｂ出力を継続的に監視する。またＲＣＵ３０５は、実行ステージ１１１、メモリアクセス・ステージ１１５、および書き戻しステージ１１７の書き込みアドレスをも監視する。実行ステージ１１１、メモリアクセス・ステージ１１５または書き戻しステージ１１７によって書き込まれるレジスタが、命令解読およびレジスタファイル読み出しステージ１０７にある命令によって、読み込まれるべく予定されていることを、ｒｅａｄｒｅｇａまたはｒｅａｄｒｅｇｂが示している場合には、演算結果がフォワードされるので、ＲＣＵ３０５は、対応するレジスタファイル読み出し禁止装置（ｒｉａ３０１またはｒｉｂ３０３）にレジスタファイル１０９を読み出さないように命令する。レジスタファイル読み出し禁止装置（ｒｉａ３０１およびｒｉｂ３０３）は、レジスタファイル１０９が、ｒｅｄｒｅｇａおよび／またはｒｅｄｒｅｇｂによ
ってアドレス指定されたレジスタを読み出さないようにする。読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３は、この処理を、レジスタファイルの読み出しポートが電力消費を招かないような仕方で行う（後述の通り）。
【００１３】
最新の中央演算処理装置（ＣＰＵ）は、ＣＭＯＳ論理回路を用いて実装されている。ＣＭＯＳ論理回路中で散逸する電力のほとんどは、ＣＭＯＳ論理の値が反転するとき（すなわち、「１」から「０」へ、または「０」から「１」へ転じるとき）に発生する。従って、読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３の主要な機能の１つは、読み出しが必要でない場合には、レジスタファイル１０９内の論理回路が反転するのを妨げ、それにより、レジスタファイル１０９の電力が最小量となるようにすることにある。レジスタファイル１０９の内部論理回路（図示略）が反転するのを防ぐために、読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３には、状態保持素子が含まれている（図４を参照しつつ後に詳述する）。状態保持素子は、例えば、レベル追従型のラッチまたはフリップフロップであっても良い。状態保持素子は、レジスタファイルの全ての読み出しポート入力に接続されており、それにより、フォワードがあるために読み出しポートへのアクセスを要しない場合に、レジスタファイル読み出しポート入力が反転することを妨げる。状態保持素子は、ＲＣＵ３０５によって制御される。
【００１４】
読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３は、レジスタファイル１０９がどのように実装されるかに部分的に依存する幾つかの方法の１つによって実装しても良い。レジスタファイルの実装の中には、状態保持素子がレジスタファイルマクロに組み込まれたものがある。このようなレジスタファイルマクロの場合には、ＲＣＵ３０５がレジスタファイルマクロ中の状態保持素子を直接に制御することが可能であり、付加的な読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３を要しない。
【００１５】
図４は、レジスタファイル４０１にアクセスする種類の状態保持素子の例示的な実施形態を例示している。レジスタファイル４０１は、複数のレジスタ（すなわち、レジスタ１、レジスタ２、・・・、レジスタｎ）を有している。各レジスタは、「ｍ」ビットのデータ幅を有している。レジスタファイル４０１の出力は、レジスタファイル４０１中のアドレス指定されたレジスタの内容を、組合せ論理に従って出力する。例えば、入力されたアドレスが「ｒｅａｄｒｅｇｉ」であれば、第ｉ番目のレジスタのデータ内容が読み出される。読み出し禁止装置（ＲＩＵ）４０３中の状態保持素子は、レベル追従型ラッチ４０５を備えている。レベル追従型ラッチ４０５は、ラッチイネーブル（ＬＥ）入力がハイレベルであるときに、データを通過させる。ＬＥは、次の数式によって制御される。
【００１６】
【数１】
2008542949.tif 000003
【００１７】
「ｒｉｘ」信号は、ＲＣＵ３０５（図３）から出力されるものであり、命令解読およびレジスタファイル読み出しステージ１０７（図３）にある命令によって読み出されるべきレジスタが、別のパイプラインステージからフォワード可能なのであれば、「ハイ」レベルとなる。「ｒｉｘ」信号が安定化するまでレベル追従型ラッチ４０５の「Ｑ」出力が反転しないようにするために、「ｒｉｘ」は、反転クロックと論理的に乗算される。他の全ての順序素子が、立ち上がりエッジでトリガされるようにクロック同期するものであれば、半クロック周期が付加されることとなり、「ｒｉｘ」が安定化するための時間が与えられる。「ｒｉｘ」を実現するための論理式は、次の通りであって良い。
【００１８】
【数２】
2008542949.tif 000004
【００１９】
ここで、ｉ∈｛ａ，ｂ｝、およびｉｄ＿ｅｘ＿ｗａｄｒ、ｅｘ＿ｍｅｍ＿ｗａｄｒ、およびｍｅｍ＿ｗｂ＿ａｄｒは、それぞれ実行ステージ１１１、メモリアクセス・ステージ１１５、および書き戻しステージ１１７にある命令によって書き込まれるべきレジスタファイルのレジスタのアドレスである。
【００２０】
「ｃｌｋ」に代えて、伝搬遅延時間が様々である１以上の遅延素子を付加することにより、より長いもの、より短いものの何れであれ、別の遅延時間を採用し得ることは、当業者が認めるところであろう。その結果、読み出しアドレス「ｒｅａｄｒｅｇｉ」は、「ｒｉｘ」がハイレベルであって、かつクロック周期の後半期においてのみ、レジスタファイル４０１のポートへ伝搬する。「ｒｉｘ」がローレベルであるときには、レベル追従型ラッチ４０５はロックされ（すなわち、有効ではなく）、レジスタファイル４０１の入力は、静的に保持される。レジスタファイル４０５読み出しポートは、この場合には反転しないので、電力消費が最小となる。例示的な特定の実施形態では、レジスタファイル読み出しポート毎に、１つのＲＩＵ４０３が備わっている。図３のレジスタファイルは、２つの読み出しポートを有している。それゆえ、２つのＲＩＵ、すなわち読み出し禁止装置ｒｉａ３０１、ｒｉｂ３０３が備わっている。
【００２１】
別の例示的な実施形態（図示略）では、ラッチはレジスタファイル読み出しポートに組み込まれる。この場合には、ＲＩＵ４０３中にラッチは無用である。そして、ＲＣＵ３０５は、レジスタファイル４０１の読み出しポート中のラッチ４０５を直接に制御する。
【００２２】
以上の明細書では、本発明を、その特定の実施形態を参照しつつ説明した。しかし、添付の特許請求の範囲に記載するように、本発明の広範な精神および範囲から逸脱することなく、様々な改変や変更が可能であるということは、当業者には明らかであろう。特定のアーキテクチャを参照して本発明の方法を提示したが、記載された明細書の範囲内になお留まるような様々な方法によって、同様の効果を達成し得ることは、当業者が認めるところであろう。例えば、レベル追従型ラッチよりも、エッジトリガ型フリップフロップを用いる方が望ましいような別の実施形態（図示略）を、当業者は認めることであろう。上述したＲＣＵ３０５も、適切な接続を行い、適切な遅延を付与することによって、なお使用可能である。現実のマイクロプロセッサのパイプラインは複雑なものであるから、明細書および図面は、制限的に解すべきではなく、例示とみなすべきものである。
【図面の簡単な説明】
【００２３】
【図１】従来技術による代表的なハードウェア実装パイプラインのブロック図である。
【図２】フォワード技術を組み込んだ従来技術によるハードウェア実装パイプラインのブロック図である。
【図３】クロック周期毎にレジスタファイルへのアクセスを要しないフォワード技術を組み込んだパイプラインの実施形態の例示的なブロック図である。
【図４】レジスタファイルにアクセスするあるタイプの状態保持装置の例示的な実施形態である。
【図１】
2008542949.tif 000005
【図２】
2008542949.tif 000006
【図３】
2008542949.tif 000007
【図４】
2008542949.tif 000008
【手続補正書】
【提出日】平成20年2月7日(2008.2.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マイクロプロセッサのパイプラインにおける節電用電子装置であって、
前記パイプラインの制御／解読装置からの１以上の出力を監視するように構成され、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するように構成されているレジスタファイル読み出し制御装置と、
各々が入力、出力、およびイネーブル端子を有し、各々の前記出力が前記パイプライン中のレジスタファイルの固有のレジスタポートに接続されており、各々の前記入力が前記制御／解読装置に接続されており、各々の前記イネーブル端子が前記読み出し制御装置の固有の出力に接続されている、１以上の読み出し禁止装置とを備える、節電用電子装置。
【請求項２】
前記読み出し制御装置は、演算結果がフォワードされる予定のものであれば、命令解読およびレジスタファイル読み出しステージにある命令が前記レジスタファイルを読み出さないように、信号を前記１以上の読み出し禁止装置に送るようにさらに構成されている、請求項１に記載の装置。
【請求項３】
前記１以上の読み出し禁止装置の各々は、レベルトリガ型のラッチを備える、請求項１に記載の装置。
【請求項４】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項３に記載の装置。
【請求項５】
前記１以上の読み出し禁止装置の各々は、エッジトリガ型のラッチを備えている、請求項１に記載の装置。
【請求項６】
前記１以上の読み出し禁止装置の各々は、組み合わせ論理回路をさらに備えており、前記組み合わせ論理回路は、読み出し指示信号が前記読み出し制御装置から送られる時に限って、前記レジスタファイルの読み出しを許可するように構成されている、請求項５に記
載の装置。
【請求項７】
前記１以上の読み出し禁止装置の各々は、前記レジスタファイルに統合されている、請求項１に記載の装置。
【請求項８】
マイクロプロセッサのパイプライン型アーキテクチャにおける電力保存方法であって、
前記パイプライン型アーキテクチャに含まれるレジスタファイル中の少なくとも１つのファイルの内容を読み出すように接続された読み出し禁止装置を準備するステップと、
前記読み出し禁止装置に制御信号を付与するレジスタファイル読み出し制御装置を準備するステップと、
前記制御信号に基づいて、レジスタファイル読み出し動作をすべきか否かを判断するステップと、
前記レジスタファイル中の前記少なくとも１つのファイルの前記内容を読み出すように判断がなされた場合に、前記読み出し制御装置から前記読み出し禁止装置にイネーブル信号を付与するステップと、
前記レジスタファイル中の前記少なくとも１つのファイルの前記内容を読み出すステップとを含む、電力保存方法。
【請求項９】
前記読み出し禁止装置が、前記読み出し制御装置から前記イネーブル信号を受け取ると、前記レジスタファイルの読み出しアドレスを付与するステップをさらに含む、請求項８に記載の方法。
【請求項１０】
マイクロプロセッサのパイプラインにおける節電用電子装置であって、
前記パイプラインの制御／解読装置からの１以上の出力を監視し、かつ前記パイプラインの１以上の他のステージからの書き込みアドレスを監視するレジスタファイル読み出し制御手段と、
前記レジスタファイル読み出し制御手段から読み出しイネーブル信号を受信することにより、前記パイプライン中のレジスタファイルの読み出しを許可する読み出し禁止手段とを備える、節電用電子装置。
【請求項１１】
第１入力と、第２入力と、マルチプレクサ出力とを有し、前記第１入力が前記レジスタファイルの出力に接続されており、前記第２入力が前記パイプラインの書き戻しステージからの出力に接続されており、前記マルチプレクサ出力が前記パイプライン中の算術論理演算装置の入力に接続されている、フォワード用マルチプレクサと、
前記パイプラインの１以上の固有のステージに中間段階の演算結果を付与するフォワード制御手段とをさらに備える、請求項１０に記載の装置。
【請求項１２】
前記フォワード制御手段は、前記パイプラインの書き戻しステージからの信号を付与する、請求項１１に記載の装置。
【請求項１３】
前記読み出し禁止手段が前記読み出し制御手段からイネーブル信号を受け取ると、前記レジスタファイルの読み出しアドレスを付与する読み出しアドレス手段をさらに備える、請求項１０に記載の装置。
【国際調査報告】
2008542949.tif 000009