(57)【要約】本発明は、データパスを構成する配置に関する。この配置では、いろいろな機能ユニットが、連結ユニットによって接続されていて、ＣＰＵアーキテクチャ内に配置されている。本発明の課題は、機能ユニットとＣＰＵの制御するレジスタとの間の交差結合の経費を著しく増やすことなしにＣＰＵアーキテクチャ内の機能の拡張を可能にすることにある。この課題は、結合ユニットが、主に１つのプロセッサ・バス配置並びに機能ユニットに割り当てられた入力レジスタ及び出力レジスタを有する複数の機能ユニットから構成される。
2004512598.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵアーキテクチャのデータパス配置にあって、この場合、ＲＦＵ（レジスタ・ファイル・ユニット）が結合ユニットに接続されていて、同様に、この結合ユニットは機能ユニットに接続されている配置において、この結合ユニット（５）は、プロセッサ・バス配置（６）と機能ユニット（１２）に割り当てられた少なくとも１つの入力レジスタ（１０）とこの機能ユニット（１２）に割り当てられた少なくとも１つの出力レジスタ（１４）とから構成され、この場合、このプロセッサ・バス配置（５）は、入力レジスタ（１０）の１つの入力部に少なくとも間接的に接続されていて、かつ出力レジスタ（１４）の１つの出力部に少なくとも間接的に接続されていることを特徴とする配置。
【請求項２】
バス拡張部（７）が、プロセッサ・バス配置（５）と入力レジスタ（１０）と出力レジスタ（１４）との間に接続されていることを特徴とする請求項１に記載の配置。
【請求項３】
第１入力結合論理部（８）が、バス拡張部（７）と入力レジスタ（１０）との間に接続されていることを特徴とする請求項２に記載の配置。
【請求項４】
第２入力結合論理部（１１）が、入力レジスタ（１０）と機能ユニット（１２）の入力部との間に接続されていることを特徴とする請求項２に記載の配置。
【請求項５】
出力結合論理部（１３）が、機能ユニット（１２）と出力レジスタ（１４）との間に接続されていることを特徴とする請求項２に記載の配置。
【請求項６】
出力結合論理部（１３）の第１出力部が、第２入力結合論理部（１１）の入力部に接続されていること、及び出力結合論理部（１３）の第２出力部が第１入力結合論理部（８）に接続されていることを特徴とする請求項２に記載の配置。
【請求項７】
出力結合論理部（１３）の第１出力部が、第２入力結合論理部（１１）の第１入力部と第２入力部に接続されていることを特徴とする請求項６に記載の配置。
【発明の詳細な説明】
【０００１】
本発明は、ＣＰＵアーキテクチャのデータパス配置に関する。この場合、ＲＦＵ（レジスタ・ファイル・ユニット）が結合ユニットに接続されている。同様に、この結合ユニットは機能ユニットに接続されている。
【０００２】
ＣＰＵアーキテクチャ内部に配置されているいろいろな機能ユニットが、このような結合ユニットに接続される。
【０００３】
特にいろいろな機能ユニットによってＣＰＵアーキテクチャを拡張する場合、結合ユニットの交差結合の割合が非常に急激に上昇する点が問題であることが分かっている。
【０００４】
本発明の課題は、結合ユニットの交差結合の経費を著しく増やすことなしに又は別の方式で構成する必要なしにＣＰＵアーキテクチャ内の機能の拡張を可能にすることにある。
【０００５】
この課題の本発明の解決手段は、この結合ユニットがプロセッサ・バス配置と機能ユニットに割り当てられた少なくとも１つの入力レジスタとこの機能ユニットに割り当てられた少なくとも１つの出力レジスタとから構成されることを提唱する。この場合、このプロセッサ・バス配置は、入力レジスタの１つの入力部に少なくとも間接的に接続されていて、かつ出力レジスタの１つの出力部に少なくとも間接的に接続されている。その都度の機能ユニットの入力側と出力側のこの緩衝動作によって、機能ユニット内のデータが、高速にかつ複雑に切り替わるプロセッサ・バス配置に関係なく処理できることを可能にする。さらに、データパス配置の機能拡張時のプロセッサ・バス配置の複雑性によって、所望のデータ結合が、例えばさらなるマルチプレクサを使用することによる追加の経費なしに十分に実現され得る。
【０００６】
この課題の本発明の解決手段の重要な構成は、バス拡張部が、プロセッサ・バス配置と入力レジスタと出力レジスタとの間に接続されていることを提唱する。この場合、ＣＰＵ構造の機能ユニットの処理すべき複数のデータがほとんど同時に又はパラレルに実行される点が考慮される。これによって、これらの処理すべきデータが、最も簡素でかつ固定されたバス拡張部を用いて複数のデータと共に処理される。
【０００７】
この課題の本発明の解決手段の好適な構成は、第１入力結合論理部がバス拡張部と入力レジスタとの間に接続されていることを提唱する。この場合、ハードウェアの最適化のための半ワード処理つまりバレル・シフティング又は飽和に対する処理を実行するマルチプレクサのような簡単な構造の論理部が、このような入力結合論理部内に分散して配置されることが有効に実現される。
【０００８】
この課題の本発明の解決手段の別の好適な構成は、第２入力結合論理部が入力レジスタと機能ユニットの入力部との間に接続されていることを提唱する。この解決手段は、この構成では特に機能的に処理する必要のある複数のデータを結合させる必要がある。
【０００９】
この課題の本発明の解決手段の特別な構成は、出力結合論理部が機能ユニットと出力レジスタとの間に接続されていることを提唱する。この解決手段では、特に中間結果が、生成されて帰納のために準備される。
【００１０】
この課題の本発明の解決手段のその他の構成は、出力結合論理部の第１出力部が第２入力結合論理部の入力部に接続されていること、及び出力結合論理部の第２出力部が第１入力結合論理部に接続されていることを提唱する。とりわけ複雑に交差結合されたデータ処理が、この解決手段によって実現される。
【００１１】
この課題の本発明の解決手段のもう１つの特別な構成は、出力結合論理部の第１出力部が第２入力結合論理部の第１入力部と第２入力部に接続されている。この解決手段は、それぞれのデータパスに伝わる処理すべきデータの好ましい割り当てを実現する。以下に、本発明の実施の形態を説明する。
【００１２】
図１から分かるように、ＭＩＦ１が、ＩＣＵ２とデータをやり取りする。データが、ＩＣＵ２内に配置されたＲＦＵ３によってプロセッサ・バス配置に対して出力される。ここでは、これらのデータが、バス拡張部７に対して出力され、第１入力結合論理部８に到達する。ここでは、データが割り当てられ、次いで入力レジスタ１０内に記憶される。出力結合論理部１３の存在する中間結果との結合が、処理のために第２入力結合論理部内で実行される。この中では、処理が、機能ユニット１２内で引き続き実行される。接続されている出力結合論理部１３内では、隣接したデータパスの出力値との結合が実行され、結果として生成された値が中間記憶される。出力結合論理部１３の第１出力部のデータが、第２入力結合論理部１１の入力部に入力される。出力結合論理部１３の第２出力部のデータが、第１入力結合論理部８の入力部に入力される。さらに、出力レジスタ１４用のデータが、出力結合論理部１３によって準備される。そこでは、データが、記憶され、接続されている第１入力結合論理部８に対して出力される。この第１入力結合論理部８内では、処理されたデータがプロセッサ・バス配置に対して準備される。
【００１３】
図２中には、データパスのデータの流れがその最も重要な処理段と共に示されている。これらの処理段は、個々のデータパスに関連して図１中に示されたブロックをこれらのデータパスの構成要素として実現する。
【００１４】
ＲＦＵ３によって準備されたデータが、プロセッサ・バス配置６に入力される。これらのデータは、そこからバス拡張部７に到達する。そこでは、これらのデータはそれぞれ、第１入力結合論理部８の構成要素であるマルチプレクサＭＵＸ１　１５，ＭＵＸ２　１６，ＭＵＸ３　１７，ＭＵＸ４　１８によって受け取られる。これらのデータは、レジスタ１９とレジスタ２０によって記憶される。こうして記憶されたデータは、マルチプレクサＭＵＸ５　２１内とＭＵＸ６　２２内で処理される。一方では、後続接続されているＡＬＵ機能ユニット２３内で処理するためのデータが準備される。他方では、これらのデータは隣接したパスに対して準備される。同様に、隣接したパスのデータが、ＭＵＸ５　２１とＭＵＸ６　２２内に入力される。後続接続されたＡＬＵ機能ユニット２３内では、ＭＵＸ５　２１とＭＵＸ６　２２の出力部にある両オペランドが処理される。ＡＬＵ機能ユニット２３の出力部では、出力値が、アキュムレータ・マルチプレクサ２４内で隣接したデータパスの結果値と結合される。同時に、ＡＬＵ機能ユニット２３の出力値が、隣接した別のデータパスに分岐される。したがってその後に、アキュムレータ・マルチプレクサ２４が、ＲＡＡ・アキュムレータ・レジスタ２５内に中間記憶される。ＲＡＡ・アキュムレータ・レジスタ２５に中間記憶された値は、一方ではＭＵＸ６　２２の入力部に入力され、他方では隣接したデータパスで任意に処理される。他方では、この値は、出力ドライバ２６を経由してＳＡＴＭＵＸ２９に入力される。このＳＡＴＭＵＸ　２９は、この値を別のデータパスの出力データと結合させる。さらに、中間記憶された値が、出力記憶のためにＲＦＡ・出力レジスタ２７内に記憶され、データバスを経由してＳＡＴ・ＢＳＨ・オペレータ２８に入力される。この場合、この値は、ＳＡＴＭＵＸ２９の出力データと共にＳＡＴ・ＢＳＨ・オペレータ２８内で処理される。このＳＡＴ・ＢＳＨ・オペレータ２８の出力データが、拡張データパス信号３１と共にＥＸＰＭＵＸ３０内で結合される。
【００１５】
ＥＸＰＭＵＸ３０の出力部では、データパス内で隣接したデータが、プロセッサ・バス配置６に対して出力され、同様にＲＦＵ３内でさらに処理される。
【図面の簡単な説明】
【図１】
一続きのデータパスのブロック図である。
【図２】
データパスの信号の流れを示す。
【符号の説明】
１　　ＭＩＦ（メモリ・インターフェース）
２　　ＩＣＵ（内部接続ユニット）
３　　ＲＦＵ（レジスタ機能ユニット）
４　　ＬＣＵ（論理接続ユニット）
５　　結合ユニット
６　　プロセッサ・バス配置
７　　バス拡張部
８　　第１入力リンク論理部
９　　ＤＰＸ（データパス群）
１０　入力レジスタ
１１　第２入力リンク論理部
１２　機能ユニット
１３　出力リンク論理部
１４　出力レジスタ
１５　ＭＵＸ１
１６　ＭＵＸ２
１７　ＭＵＸ３
１８　ＭＵＸ４
１９　レジスタ１
２０　レジスタ２
２１　ＭＵＸ４
２２　ＭＵＸ５
２３　ＡＬＵ機能ユニット
２４　アキュムレータ・マルチプレクサ
２５　ＲＡＡ・アキュムレータ・レジスタ
２６　出力ドライバ
２７　ＲＦＡ・出力レジスタ
２８　ＳＡＴ・ＢＳＨ・オペレータ
２９　ＳＡＴＭＵＸ
３０　ＥＸＰＭＵＸ
３１　拡張データパス信号
【国際公開パンフレット】
2004512598.tif 000003
2004512598.tif 000004
2004512598.tif 000005
2004512598.tif 000006
2004512598.tif 000007
2004512598.tif 000008
2004512598.tif 000009
2004512598.tif 000010
2004512598.tif 000011
2004512598.tif 000012
2004512598.tif 000013
2004512598.tif 000014
2004512598.tif 000015
2004512598.tif 000016
【国際公開パンフレット（コレクトバージョン）】
2004512598.tif 000017
2004512598.tif 000018
【国際調査報告】
2004512598.tif 000019
2004512598.tif 000020
2004512598.tif 000021
2004512598.tif 000022