【課題を解決するための手段】
【0008】
本発明の実施形態による命令処理方法は、
マイクロプロセッサによって実行され、前記マイクロプロセッサが備えるパッキング器が、1つ又はそれ以上の命令からデコーディングされた複数のマイクロオペレーションを受信する段階と、
前記パッキング器が、前記マイクロオペレーションに含まれた複数のレジスター
フィールドを、複数のパッキング
したレジスター
フィールドを含むパッキング
したレジスター
フィールド構造に
となるようマイクロオペレーションの中で使用される有効なソース又は目的地データを有するレジスターフィールドのみをひとまとまりとするパッキングする段階と、
前記パッキング器が、前記パッキング
したレジスター
フィールドをレジスター
フィールド再命名のために伝送する段階と、を含み、前記マイクロオペレーションに含まれ、
マイクロオペレーションの中で使用される有効なソース又は目的地データを有しないレジスター
フィールドは、前記パッキング
したレジスター
フィールド構造にパッキングされない。
【0009】
実施形態として、
前記マイクロプロセッサが、前記パッキング
したレジスター
フィールドを再命名する段階をさらに含み、前記再命名する段階は、前記パッキング
したレジスター
フィールドがレジスター
フィールド再命名のために読み出し、書き込まれる再命名ポートを有する再命名器を使用して遂行
し、前記再命名ポートの数は、
マイクロオペレーションの中で使用されるレジスターフィールドのみがパッキングされることにより前記
複数のマイクロオペレーションが1サイクルにオペランド(operands)として有するように許容される全体レジスター
フィールドの数より少ないように設定
する。
【0010】
実施形態として、前記パッキング
したレジスター
フィールド構造にパッキング
するレジスター
フィールドの各々は、前記全体レジスター
フィールドである予め定められたレジスター
フィールドの中において選択
し、前記パッキング
するレジスター
フィールドの各々は、前記予め定められたレジスター
フィールドに対する
マイクロオペレーションの中で使用されるか否かの有効性情
報に基づいて選択
する。
【0011】
実施形態として、前記パッキング
したレジスター
フィールド構造は、前記パッキング
したレジスター
フィールド構造にパッキング
する前記
レジスターフィールドの起源となるレジスターフィールドの各々に対する特性情報をさらに含み、前記特性情報は、前記レジスター
フィールドの各々が
マイクロオペレーションの中で使用される有効なソース又は目的地情報を有するか否かに対する情報と、前記レジスター
フィールドの各々の識別子と、前記マイクロオペレーションの中の前記レジスター
フィールドの各々を含むマイクロオペレーションの識別子の中の少なくとも1つと、を含む。
【0012】
実施形態として、前記マイクロオペレーションの識別子は、前記マイクロオペレーションをデコーディングしたデコーダーに対する情報を
含む。
【0013】
実施形態として、
前記マイクロプロセッサが、前記パッキング
したレジスター
フィールドの数が予め定められた数より大きいか否かを判別する段階をさらに含み、前記パッキング
したレジスター
フィールドの数が前記予め定められた数より大きくなければ、前記パッキング
したレジスター
フィールドを、現在のサイクルによりレジスター
フィールド再命名のために伝送
し、前記パッキング
したレジスター
フィールドの数が前記予め定められた数より大きいと判別
すれば、
前記パッキングされたレジスターフィールドの内の予め定められた数は現在のサイクルによりレジスターフィールド再命名のために伝送し、前記複数のマイクロオペレーションの中の1つ又はそれ以上のマイクロオペレーションに含まれた1つ又はそれ以上の
伝送しなかった残りのレジスター
フィールドを後続サイクルによりレジスター
フィールド再命名のために伝送
する。
【0014】
実施形態として、前記予め定められた数は、
マイクロオペレーションの中で使用されるレジスターフィールドのみがパッキングされることにより前記
複数のマイクロオペレーションがオペランドとして有するように許容された全体レジスター
フィールドの数より少な
い。
【0015】
実施形態として、前記複数のレジスター
フィールドは、少なくとも1つのソースレジスター
フィールド及び少なくとも1つの目的地レジスター
フィールドを含み、前記パッキング
したレジスター
フィールド構造は、前記少なくとも1つのソースレジスター
フィールドをパッキングすることによって生成された少なくとも1つのパッキング
したソースレジスター
フィールドを含むパッキング
したソース構造と、前記少なくとも1つの目的地レジスター
フィールドをパッキングすることによって生成
した少なくとも1つのパッキング
した目的地レジスター
フィールドを含むパッキング
した目的地構造と、を含む。
【0016】
実施形態として、前記パッキング
したソース構造は、前記少なくとも1つのパッキング
したソースレジスター
フィールドの起源となるソースレジスター
フィールドに対するソース特性情報をさらに含み、前記パッキング
した目的地構造は、前記少なくとも1つのパッキング
した目的地レジスター
フィールドの起源となる目的地レジスター
フィールドに対する目的地特性情報をさらに含み、前記ソース特性情報は、前記ソースレジスター
フィールドの識別子と、前記マイクロオペレーションの中の前記ソースレジスター
フィールドを含むマイクロオペレーションの識別子の中の少なくとも1つと、を含み、前記目的地特性情報は、前記目的地レジスター
フィールドが
マイクロオペレーションの中で使用される有効な目的地情報を有するか否かに対する情報と、前記目的地レジスター
フィールドの識別子と、前記マイクロオペレーションの中における前記目的地レジスター
フィールドを含むマイクロオペレーションの識別子と、を
含む。
【0017】
本発明の実施形態による命令処理装置は、1つ又はそれ以上の命令からデコーディングされる複数のマイクロオペレーションを受信し、前記マイクロオペレーションに含まれた複数のレジスター
フィールドを複数のパッキングされたレジスター
フィールドを含むパッキングされたレジスター
フィールド構造
となるようマイクロオペレーションの中で使用される有効なソース又は目的地データを有するレジスターフィールドのみをひとまとまりとしてパッキングし、そして前記パッキングされたレジスター
フィールドをレジスター
フィールド再命名のために伝送するように構成されるパッキング器を含み、前記マイクロオペレーションに含まれ、有効なソース又は目的地データを有しないレジスター
フィールドは、前記パッキングされたレジスター
フィールド構造にパッキングされない。
【0018】
実施形態として、前記パッキングされたレジスターが再命名のために読出し書き込まれる複数の再命名ポートを含む再命名器をさらに含み、前記再命名ポートの数は、前記マイクロオペレーションが1サイクルにオペランドとして有するように許容された全体ソースレジスターの数より少なく設定される。
【0019】
実施形態として、前記全体レジスターから選択される予め定められたレジスターの中から前記パッキングされたレジスター構造にパッキングされるレジスターを各々選択する複数のマルチプレクサーをさらに含む。
【0020】
実施形態として、前記パッキングされるレジスターの各々は、前記予め定められたレジスターに対する有効性情報及びエイジ情報に基づいて選択される。
【0021】
実施形態として、前記パッキングされたレジスター構造は、前記パッキングされたレジスター構造にパッキングされる前記レジスターの各々に対する特性情報をさらに含む。
【0022】
実施形態として、前記特性情報は、前記レジスターの各々が有効なソース又は目的地情報を有するか否かに対する情報と、前記レジスターの各々の識別子と、前記マイクロオペレーションの中の前記レジスターの各々を含むマイクロオペレーションの識別子の中の少なくとも1つと、を含む。
【0023】
実施形態として、前記マイクロオペレーションの識別子は、前記マイクロオペレーションをデコーディングしたデコーダーに対する情報を含む。
【0024】
実施形態として、前記特性情報は、前記レジスターの各々に対するエイジ情報をさらに含む。
【0025】
実施形態として、前記パッキングされたレジスターの数が予め定められた数より大きいか否か判別するコントローラをさらに含み、前記パッキングされたレジスターの数が前記予め定められた数より大きくなければ、前記コントローラは前記パッキングされたレジスターを現在のサイクルにジスター再命名のために伝送するように前記パッキング器を制御し、前記パッキングされたレジスターの数が前記予め定められた数より大きいと判別されれば、前記コントローラは前記複数のマイクロオペレーションの中の1つ又はそれ以上のマイクロオペレーションに含まれた1つ又はそれ以上のレジスターが後続サイクルにレジスター再命名のために伝送するように前記パッキング器を制御する。
【0026】
実施形態として、前記予め定められた数は、前記マイクロオペレーションがオペランドとして有するように許容された全体レジスターの数より少ない。
【0027】
実施形態として、前記コントローラは、前記複数のマイクロオペレーションのエイジに基づいて前記複数のマイクロオペレーションの中の1つ又はそれ以上のマイクロオペレーションを選択するように前記パッキング器を制御する。
【0028】
実施形態として、前記複数のレジスターは少なくとも1つのソースレジスター及び少なくとも1つの目的地レジスターを含み、前記パッキングされたレジスター構造は、前記少なくとも1つのソースレジスターをパッキングすることによって生成された少なくとも1つのパッキングされたソースレジスターを含むパッキングされたソース構造と、前記少なくとも1つの目的地レジスターをパッキングすることによって生成された少なくとも1つのパッキングされた目的地レジスターを含むパッキングされた目的地構造と、を含む。
【0029】
実施形態として、前記パッキングされたソース構造は、前記少なくとも1つのパッキングされたソースレジスターの起源となるソースレジスターに対するソース特性情報をさらに含み、前記パッキングされた目的地構造は、前記少なくとも1つのパッキングされた目的地レジスターの起源となる目的地レジスターに対する目的地特性情報をさらに含む。
【0030】
実施形態として、前記ソース特性情報は、前記ソースレジスターの識別子と、前記マイクロオペレーションの中の前記ソースレジスターを含むマイクロオペレーションの識別子の中の少なくとも1つと、を含み、前記目的地特性情報は、前記目的地レジスターが有効な目的地情報を有するか否かに対する情報と、前記目的地レジスターの識別子と、前記マイクロオペレーションの中の前記目的地レジスターを含むマイクロオペレーションの識別子と、を含む。
【0031】
実施形態として、前記ソース特性情報及び前記目的地特性情報の中の少なくとも1つは前記ソースレジスター及び前記目的地レジスターに対するエイジ情報を含む。