(57)【要約】【解決手段】レジスターファイルが開示される。レジスターファイルは、複数のレジスターと、デコーダーとを含んでいる。デコーダーは、レジスターのうちの任意の１つのアドレスを受け取り、アドレスされたレジスター内のデータが無効である場合には、アドレスされたレジスターへの読取動作をディセーブルするように構成される。【選択図】      図２
2009505236.tif 000002
【特許請求の範囲】
【請求項１】
複数のレジスターと、
前記レジスターのうちの何れか１つのアドレスを受け取り、アドレスされたレジスター内のデータが無効であれば、前記アドレスされたレジスターに対する読取動作をディセーブルするように構成されたデコーダーと
を備えるレジスターファイル。
【請求項２】
前記レジスターの各々は、そのデータが無効であるかどうかを示すレディー信号を格納するように構成された請求項１に記載のレジスターファイル。
【請求項３】
前記レジスターの各々は、複数のセルを含み、前記セルのうちの１つは、前記レディー信号を格納するように構成された請求項２に記載のレジスターファイル。
【請求項４】
前記デコーダーは更に、前記受け取ったアドレスに応じてレジスターイネーブル信号を生成し、前記アドレスされたレジスターからのレディー信号を用いて、前記レジスターイネーブル信号をゲート制御するように構成されており、
前記ゲート制御されたレジスターイネーブル信号は、前記アドレスされたレジスター内のデータが有効であれば、前記アドレスされたレジスターにおける読取動作をイネーブルするために使用される請求項３に記載のレジスターファイル。
【請求項５】
前記デコーダーは更に、前記レディー信号を用いて前記レジスターイネーブル信号をゲート制御するためにＡＮＤ機能を用いるように構成された請求項４に記載のレジスターファイル。
【請求項６】
前記レジスターファイルは更に、前記ゲート制御されたレジスターイネーブル信号が、前記アドレスされたレジスター内のデータが有効であることを示すのであれば、前記ゲート制御されたレジスターイネーブル信号に応じて、前記アドレスされたレジスターのセルから、前記レジスターファイルの出力へと前記データを提供するように構成された請求項４に記載のレジスターファイル。
【請求項７】
前記レジスターのうちの何れか１つのアドレス及び制御信号を受け取り、前記制御信号に基づいて、前記レジスターのうちの何れか１つのレディー信号を変更するように構成された第２のデコーダーを更に備える請求項２に記載のレジスターファイル。
【請求項８】
複数のレジスターと、
前記レジスターのうちの何れか１つのアドレスを受け取る手段と、
アドレスされたレジスター内のデータが無効であれば、前記アドレスされたレジスターに対する読取動作をディセーブルする手段と
を備えるレジスターファイル。
【請求項９】
前記レジスターの各々は、そのデータが無効であるかどうかを示すレディー信号を格納するように構成された請求項８に記載のレジスターファイル。
【請求項１０】
前記レジスターの各々は、複数のセルを含み、前記セルのうちの１つは、前記レディー信号を格納するように構成された請求項９に記載のレジスターファイル。
【請求項１１】
前記アドレスされたレジスターに対する読取動作をディセーブルする手段は更に、前記受け取ったアドレスに応じてレジスターイネーブル信号を生成し、前記アドレスされたレジスターからのレディー信号を用いて、前記レジスターイネーブル信号をゲート制御するように構成されており、前記ゲート制御されたレジスターイネーブル信号は、前記アドレスされたレジスター内のデータが有効であれば、前記アドレスされたレジスターにおける読取動作をイネーブルするために使用される請求項１０に記載のレジスターファイル。
【請求項１２】
前記レジスターのうちの何れか１つのアドレス及び制御信号を受け取り、前記制御信号に基づいて、前記レジスターのうちの何れか１つのレディー信号を変更する手段を更に備える請求項９に記載のレジスターファイル。
【請求項１３】
複数のレジスターを有するレジスターファイルにアクセスする方法であって、
前記レジスターのうちの何れか１つのアドレスを受け取ることと、
アドレスされたレジスター内のデータが無効であることに応じて、前記アドレスされたレジスターに対する読取動作をディセーブルすることと
を備える方法。
【請求項１４】
前記レジスターの各々は、そのデータが無効であるかどうかを示すレディー信号を格納するように構成され、前記アドレスされたレジスター内のレディー信号に応じて、前記アドレスされたレジスターに対する読取動作がディセーブルされる請求項１３に記載の方法。
【請求項１５】
前記レジスターの各々は、複数のセルを含み、前記セルのうちの１つは、前記レディー信号を格納するように構成された請求項１４に記載の方法。
【請求項１６】
前記アドレスされたレジスターに対する読取動作は、前記アドレスされたレジスターからのレディー信号とともに受け取られたアドレスから復号されたレジスターイネーブル信号をゲートオフすることによって拒否される請求項１５に記載の方法。
【請求項１７】
前記レジスターイネーブル信号は、ＡＮＤ機能を用いてゲートオフされる請求項１６に記載の方法。
【請求項１８】
前記アドレスされたレジスター内のレディー信号を変更して、そのデータが無効であることを示すことを更に備える請求項１４に記載の方法。
【請求項１９】
前記アドレスされたレジスターのアドレスが受け取られる前に、前記アドレスされたレジスター内のレディー信号が変更されてそのデータが無効であることが示される請求項１８に記載の方法。
【請求項２０】
前記アドレスされたレジスターに対する読取動作がディセーブルされた後に、前記アドレスされたレジスター内のレディー信号を変更し、前記データが有効であることを示すことを更に備える請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、レジスターファイルに関し、更に詳しくは、エネルギーの効率的なレジスターファイルを提供する方法及びシステムに関する。
【背景技術】
【０００２】
組込式プロセッサー設計は、一般に、命令キャッシュ、データキャッシュ、及びレジスターファイル等のような一時記憶領域を含む。これら記憶コンポーネントは、プロセッサーが、より遅い外部メモリーにアクセスしなければならない回数を低減することによって、プロセッサーの速度を高める比較的小型で高速なメモリーである。あいにく、これらの記憶コンポーネントは、容量性負荷の切換によって、大量の電力を消費する傾向にある。大きなコンポーネントは、小さなコンポーネントよりも容量性負荷をより切り換える傾向にあるので、より大量の電力を消費する。例えば、汎用レジスターとして使用されるレジスターファイルは、一般に、命令キャッシュ及びデータキャッシュの後、組込式プロセッサー設計内の他の小型のコンポーネントの殆どよりも、より電力を消費する傾向にある。
【０００３】
命令が実行される場合、先ず、適切なソースオペランドが、対応するレジスターファイルから検索される。この命令が実行された後、もしあれば、結果がレジスターファイルに書き戻される。しかしながら、これら結果が、レジスターファイルに書き戻される前に、しばしば、これら結果のうちの１又は複数が、次の命令のためのソースオペランドとして必要とされ、更なる処理のために、フォワーディングネットワーク（forwarding network）によって採用される。ソースオペランドは、パイプラインが長くなるほど、レジスターファイルではなく、フォワーディングネットワークへより送られるようになるだろう。更に、フォワーディングネットワークによって結果がより採用されるようになると、対応するレジスターファイルは、最新のデータを用いて更新されるまで、より長い時間待機しなければならなくなる。それに派生して、無効なデータが、レジスターファイル内に、より長い期間残る。もしもその後の読取動作が、無効なデータを持つレジスターファイル上で実行されれば、そのような読取動作は、命令実行のために使用されるのであれば、正しくない結果をもたらすだろう。しかも、そのような動作に費やされた電力も無駄になるだろう。従って、無効な読取動作を回避するためのエネルギー的に効率的な手段を提供することが望ましいだろう。
【発明の開示】
【０００４】
レジスターファイルが開示される。レジスターファイルは、複数のレジスターと、これらレジスターのうちの任意の１つのアドレスを受け取り、アドレスされたレジスター内のデータが無効であれば、アドレスされたレジスターへの読取動作をディセーブルするように構成されたデコーダーとを含む。
【０００５】
別のレジスターファイルが開示される。このレジスターファイルは、複数のレジスターと、これらレジスターのうちの任意の１つのアドレスを受け取る手段と、アドレスされたレジスター内のデータが無効であれば、アドレスされたレジスターへの読取動作をディセーブルする手段とを含む。
【０００６】
複数のレジスターを有するレジスターファイルにアクセスする方法は、これらレジスターのうちの１つのアドレスを受け取ることと、アドレスされたレジスター内のデータが無効であることに応じて、アドレスされたレジスターへの読取動作をディセーブルすることとを含む。
【０００７】
本発明のその他の実施形態は、本発明の様々な実施形態が示され、一例として説明されている以下の詳細説明から、当業者であれば容易に明白になることが理解される。理解されるように、本発明は、その他及び別の実施形態も実現可能であり、その幾つかの詳細は、全て本発明の精神及び範囲から逸脱することなく、その他の様々な観点において変形することができる。従って、これら図面及び詳細説明は、本質的に例示的であるとみなされ、限定的であるとはみなされない。
【発明を実施するための最良の形態】
【０００８】
本発明の局面は、添付図面において、一例として例示されおり、限定されることははい。
【０００９】
添付図面と関連して以下に述べられた詳細説明は、本発明の様々な実施形態の説明として意図されており、本発明が実現される唯一の実施形態を表すようには意図されていない。詳細説明は、本発明の完全な理解を提供する目的で、具体的な詳細を含んでいる。しかしながら、本発明は、これら具体的な詳細が無くても実現されうることが当業者に明らかであろう。幾つかのインスタンスでは、周知の構成及びコンポーネントが、本発明の概念を不明瞭にしないために、ブロック図形式で示される。
【００１０】
図１は、情報の処理、検索、及び格納をすることができるデータ処理システム１００の一例を例示する概念ブロック図である。データ処理システム１００は、スタンドアローンコンポーネントであるか、あるいは、例えばモバイル電話、ＰＤＡ、ＰＣ、ラップトップ、デジタルカメラ、ゲームコンソール、又はその他任意の適切なデバイスのようなデバイス内に組み込まれる。データ処理システム１００は、例えば、マイクロプロセッサー、デジタルシグナルプロセッサー、ビデオグラフィックスプロセッサー、あるいは、その他任意の適切なプロセッサーのようなプロセッサー１０２を含みうる。データ処理システム１００は更に、機能を実行するためにプロセッサー１０２によって必要とされるデータやプログラム命令を保持するメモリー１０４を含みうる。
【００１１】
プロセッサー１０２は、パイプラインプロセッサーとして構成されうる。最も直近にアクセスされた命令及びデータを記憶するための、命令及びデータキャッシュ１０８も提供されうる。パイプライン１１０が命令を実行するために必要なオペランドを格納するためのレジスターファイル１０６も提供されうる。命令が実行される場合、そのような命令のソースオペランドが、レジスターファイル１０６から検索され、この命令を実行するためにパイプライン１１０内で使用される。命令が終了すると、結果が、次の命令のためのソースオペランドとして使用されるためにレジスターファイル１０６に書き戻されるか、更なる処理のためにフォワーディングネットワークへ提供される。プロセッサー１０２は更に、周辺装置、あるいは、計算処理又はデータ移動を取り扱うその他任意のタイプのデバイスを含む。
【００１２】
図２は、プロセッサーが、内部レジスターファイルにどのようにアクセスするかの例を示す概要ブロック図である。レジスターファイル１０６は、多くのレジスター２００ａ〜２００ｍを含むことができる。レジスター２００はそれぞれ、データを格納するために使用することができる。そのようなデータは、命令のためのオペランドとして使用することができる。また、レジスターファイル１０６は、例えばデコーダー２０２や論理デバイス２０４ａ〜２０４ｍを含むその他多くのコンポーネントも含む。プロセッサーがレジスターファイルから読み取る方法を例示するために、図２には、デコーダー２０２及び論理デバイス２０４ａ〜２０４ｍが示されている。セルへの書き込みのために必要な回路は、当該技術で周知であるので、ここでは示さない。
【００１３】
レジスター２００ａ〜２００ｍの各々は、多くのセル２０６ａ〜２０６ｍと、多くのスイッチ２１０ａ〜２１０ｍを含む。セル２０６ａの内部回路やロジックの詳細は、当該技術分野で周知であるので、更には述べない。スイッチは、電界効果トランジスター（ＦＥＴ）として示されているが、任意のタイプの適切なスイッチでありうる。レジスターがイネーブルされた場合、格納されたビットとそのコンプリメント（compliment）とを、差分（differential）ビットライン２１６ａ〜２１６ｎのペアに結合するために、各セルに２つのスイッチが使用される。これらレジスターは、対応する論理デバイス２０４ａ〜２０４ｍによってイネーブルされうる。論理デバイス２０４ａ〜２０４ｍは、対応するレジスターを選択するワードラインＷＬ０〜ＷＬｍのうちの１つにイネーブル信号を生成するために使用される。論理デバイス２０４ａ〜２０４ｍは、図２ではＡＮＤ機能を用いて実現されるが、任意の適切な方法でも実現されうる。各セル２０６ａ〜２０６ｍからのオペランドレディー信号２１２ａ〜２１２ｍは、対応する論理デバイス２０４ａ〜２０４ｍに対する入力として提供されうる。オペランドレディー信号２１２ａ〜２１２ｍを用いることについて、以下により詳細に説明する。回路タイミングに基づいて起動を制御するために、論理デバイス２０４ａ〜２０４ｍへの入力として、クロック信号２１８も提供される。一度に１つのみのレジスターしか選択されないので、多数のレジスターの各ビット位置に対する差分ビットラインは、同じセンスアンプを共有する。センスアンプ２０８ａ〜２０８ｎは、対応する差分ビットラインに基づいて出力を提供する。
【００１４】
次に、レジスターファイル１０６の動作について更に説明する。読取動作では、レジスターファイルアドレス２１４が、プロセッサーパイプラインにおいて、レジスターアクセスステージ２１５からデコーダー２０２へ提供される。デコーダー２０２は、対応する論理デバイスに適切な制御信号を供給することにより、ターゲットレジスターを起動する。ターゲットレジスターに対応する論理デバイスはまた、ターゲットレジスターに関連するセルのうちの１つから、入力として、レディー信号２１２ａ〜２１２ｍを受け取る。論理デバイスは、ターゲットレジスターに関連するセルをイネーブルするかどうかを判定するために、レディー信号２１２ａ〜２１２ｍの状態を用いる。レディー信号の状態に依存して、論理デバイスは、各スイッチによって、ターゲットレジスターセルを差分ビットラインに接続することによって、ターゲットレジスターをイネーブルする。これによって、セルに含まれるデータは、センスアンプ２０８ａ〜２０８ｎを介して読み取られるようになる。
【００１５】
レディー信号２１２の状態は、レジスター２００ａ〜２００ｍに格納されたデータが有効かどうかを示す。ターゲットレジスター２００ａ〜２００ｍに書き込む命令がパイプライン内にあるが、ターゲットレジスター２００ａ〜２００ｍに書き戻されていない場合、データは有効ではなく、データは、その命令の実行結果から得られる。そのような期間中、レディー信号は、書込命令の後にある、パイプラインにおける読取命令が、ターゲットレジスターにアクセスすることを回避するために、「オフ」状態へ切り換えることができる。
【００１６】
レディー信号２１２の状態は、多くの方法によって制御することができる。例えば、レディー信号２１２は、レジスターを更新する命令がパイプラインによって取得された場合には、データが有効ではないことを示す「オフ」状態へ、書込命令の実行の結果得られるデータがレジスターに書き戻された場合には、データが有効であることを示す「オン」状態へ切り換えることができる。
【００１７】
レディー信号を更新する方法の一例を図２に示す。デコーダー２２２は、レディー信号を保持する各レジスター内のセルへ「セット」信号及び「リセット」信号を提供するように構成されうる。この例では、レディー信号を「オン」状態に切り換えるために「セット」信号が使用され、レディー信号を「オフ」状態に切り換えるために「リセット」信号が使用される。他の実施形態では、ワードラインＷＬＸゲートロジックに依存して、極性が異なりうる。デコーダー２２２は、具体的なアプリケーション及び全体的な設計制約に依存して、パイプライン内の様々なステージから制御されうる。プロセッサーの少なくとも１つの実施形態では、書込命令がパイプラインによって取得される場合、レディー信号が「リセット」される。すなわち、書込命令のためのレジスターファイルのアドレスは、「リセット」制御信号と共に、パイプラインにおける取得命令ステージ２２４からデコーダー２２２へ提供される。書込命令がパイプラインを通じて機能し、書き戻しステージ２２６に達すると、レジスターファイルのアドレスと、「セット」制御信号とが、デコーダー２２２へ提供される。これは、デコーダーに、レジスターファイル内にレディー信号を「セット」させる。
【００１８】
レディー信号を更新するための別の方法は、他のセルが書き込まれる方法と類似の方法で、ビットライン２１６ａを用いることである。本明細書で提供される開示及び教示に基づいて、当業者であれば、本開示に従ったオペランド−レディー信号２１２を実現するために、適切なロジック、回路、及び／又はその他のコンポーネントを、どのようにして用いるかを理解するであろう。
【００１９】
オペランドレディー信号２１２の状態が、ターゲットレジスター内に格納されたデータが有効ではないことを示す場合、対応する論理デバイスは、ゲートオフされる（つまり、論理デバイスからの対応するワードラインＷＬＸ出力は、ターゲットレジスターに関連付けられたスイッチを起動しない）。その結果、ビットライン２１６ａ〜２１６ｎは、切り換えが阻止される。これは、センスアンプ２０８ａ〜２０８ｎもまた、切り換えが阻止されることを意味する。従って、ターゲットレジスターに格納されたデータは、センスアンプ２０８ａ〜２０９ｎを経由して出力されない。
【００２０】
下記は、レジスターファイル１０６の動作を更に示す例である。レジスターファイルアドレスは、命令に従った読取動作を行うレジスター２００ａを識別すると仮定される。デコーダー２０２は、そのような情報を復号し、適切な制御信号を論理デバイス２０４ａへ送り、レジスター２００ａが読取動作のターゲットとされていることを示す。他の制御信号もまたデコーダー２０２によって他の論理デバイス２０４ｂ〜２０４ｍに送られ、他のレジスター２００ｂ〜２００ｍはこの特定の読取動作のために必要とされていないことが示される。
【００２１】
論理デバイス２０４ａはまた、レジスター２００ａに関連付けられたセル２０６ａのうちの１つからオペランドレディー信号２１２ａを受け取る。レジスター２００ａ内のデータが有効ではないことをオペランドレディー信号２１２ａが示す場合、論理デバイス２０４ａはゲートオフされる。つまり、論理デバイス２０４ａは、ワードラインＷＬ０上に制御信号を出力し、スイッチ２１０ａがオンにならないようにする。その結果、ビットライン２１６ａ〜２１６ｎが切り換えられず、セル２０６ａに格納されたデータが、センスアンプ２０８ａ〜２０８ｎを経由して出力されない。あるいは、レジスター２００ａに格納されたデータが有効であるとオペランドレディー信号２１２ａが示すのであれば、論理デバイス２０４ａは、ワードラインＷＬ０に制御信号を出力し、スイッチ２１０ａをオンする。その結果、ターゲットレジスター２００ａからのデータが、ビットライン２１６ａ〜２１６ｎに出力され、センスアンプ２０８ａ〜２０８ｎを経由してレジスターファイル１０６から出力される。
【００２２】
ここで開示された実施形態に関連して記述された様々の説明的論理ブロック、モジュール、および回路は、汎用プロセッサー、デジタル信号プロセッサー（ＤＳＰ）、アプリケーションに固有の集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）あるいはその他のプログラマブル論理デバイス、ディスクリートゲートあるいはトランジスタロジック、ディスクリートハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実行されうる。汎用プロセッサーとしてマイクロプロセッサーを用いることが可能であるが、代わりに、従来技術によるプロセッサー、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサーは、たとえばＤＳＰとマイクロプロセッサーとの組み合わせ、複数のマイクロプロセッサー、ＤＳＰコアに接続された１つ以上のマイクロプロセッサー、またはこのような任意の構成である計算デバイスの組み合わせとして実現することも可能である。
【００２３】
本明細書で開示された実施形態に関連して記述された方法やアルゴリズムは、制御ロジックや、プログラム可能命令や、その他の命令の形態で、ハードウェアによって直接的に、プロセッサーによって実行されるソフトウェアモジュールによって、これらの組み合わせによって具現化される。ソフトウェアモジュールは、ＲＡＭメモリー、フラッシュメモリー、ＲＯＭメモリー、ＥＰＲＯＭメモリー、ＥＥＰＲＯＭメモリー、レジスター、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、あるいは当該技術分野で知られているその他の型式の記憶媒体に収納されうる。記憶媒体は、プロセッサーがそこから情報を読み取り、またそこに情報を書き込むことができるようにプロセッサーに結合される。または、記憶媒体はプロセッサーに統合されうる。
【００２４】
開示された実施形態における上述の記載は、当該技術分野におけるいかなる人であっても、本発明の活用または利用を可能とするように提供される。これらの実施形態への様々な変形例もまた、当業者に対しては明らかであって、ここで定義された一般的な原理は、本発明の主旨または範囲を逸脱せずに他の実施形態にも適用されうる。このように、本発明は、ここで示された実施形態に制限されるものではなく、特許請求の範囲と整合した最も広い範囲に相当するものを意図している。ここでは、単数の要素に対する参照は、具体的に明記されていない限り「１又は１のみ」を意味するのではなく、「１又は複数」を意味することが意図されている。本開示にわたって記載されており、当業者に周知であるか、後に知られることになる様々な実施形態の要素に対する構造的及び機能的な均等物は、本明細書において参照によって明確に組み込まれており、特許請求の範囲に包含されるものと意図される。更に、そのような開示が特許請求の範囲において明白に述べられているかに関わらず、本明細書で開示された何れも、公衆に放棄されることは意図されていない。請求項における何れの要素も、「〜する手段」（means for）というフレーズを用いて、方法請求項の場合には「するステップ」（step for）というフレーズを用いて明示的に表現されていないのであれば、35 U.S.C. §112第６パラグラフの条文の下で解釈されるものではない。
【図面の簡単な説明】
【００２５】
【図１】図１は、本開示に従って、エネルギーの効率的なレジスターを有するシステムを例示する簡略ブロック図である。
【図２】図２は、本開示に従って、エネルギーの効率的なレジスターファイルの１つの実施形態を例示する簡略ブロック図である。
【図１】
2009505236.tif 000003
【図２】
2009505236.tif 000004
【国際調査報告】
2009505236.tif 000005
2009505236.tif 000006