(57)【要約】【課題】リンク処理ユニットなどの集積回路におけるアドレス変換の効率的なストレス・テストを行う回路および方法を提供する。【解決手段】ランダムＤＭＡモード（ＲＤＭ）回路が、実メモリ・アドレスを生成するのに使用される変換バリデーション・テーブル（ＴＶＴ）への索引付けをするためにランダム入力を提供する。ＲＤＭ回路により、どのバス・エージェントがリンク処理ユニットに接続されているのかにかかわらず、ＴＶＴのすべての入力、したがって、すべてのＤＭＡモードをテストすることが可能になる。ＲＤＭ回路は、ランタイム入力と、ランダム・ビット発生器によって提供されるランダム・テスト入力とから選択するのにマルチプレクサを使用することができる。リンク処理ユニットがテスト・モードにあるとき、ランダム・テスト入力を選択するためにモード選択ビットがアサートされる。【選択図】図３
2020529683.tif 000002
【特許請求の範囲】
【請求項１】
集積回路であって、
複数の変換入力を含む第１の変換テーブルであって、前記複数の変換入力のそれぞれが、前記集積回路に接続された複数のエージェントのうちの１つに対するダイレクト・メモリ・アクセス（ＤＭＡ）アドレスを変換する変換情報を含む、前記第１の変換テーブルと、
前記変換制御入力テーブルにおけるすべての前記複数の入力を選択するためにテスト・モード中に前記第１の変換テーブルにおける変換制御入力をランダムに選択するランダムＤＭＡモード（ＲＤＭ）回路と
を備える、集積回路。
【請求項２】
前記集積回路に接続された単一のエージェントだけがあるとき、前記ＲＤＭ回路が、前記第１の変換テーブルにおけるすべての前記変換からランダムに選択する、請求項１に記載の集積回路。
【請求項３】
前記ＲＤＭ回路が、
マルチプレクサの指定された入力に接続されたランダム発生器信号と、
前記指定された入力を選択する前記マルチプレクサの選択入力と、
テスト中に前記変換テーブルの入力をランダムに選択するために前記テスト・モード中に前記ランダム発生器信号を前記変換テーブルに提供する前記マルチプレクサの出力と
を備える、請求項１に記載の集積回路。
【請求項４】
前記第１の変換テーブルが、変換制御入力テーブルを指し示す前記複数のエージェントのそれぞれに対する変換バリデーショ入力を含む変換バリデーション・テーブルであり、前記ＲＤＭ回路が、前記変換制御入力テーブルにおける変換制御入力を指し示す変換バリデーショ入力をランダムに選択する、請求項１に記載の集積回路。
【請求項５】
前記ＲＤＭが、変換バリデーショ入力をランダムに選択することによって前記変換制御入力をランダムに選択する、請求項４に記載の集積回路。
【請求項６】
前記第１の変換テーブルの各入力におけるＤＭＡアドレスを変換する前記情報が、変換テーブル・アドレスと、変換制御入力ツリーの深さと、変換制御入力テーブル・サイズと、入出力ページ・サイズとを含む、請求項５に記載の集積回路。
【請求項７】
前記エージェントが、中央処理装置と、少なくとも１つのグラフィックス処理ユニットとを備える、請求項１に記載の集積回路。
【請求項８】
前記集積回路が、リンク処理ユニットの一部である、請求項１に記載の集積回路。
【請求項９】
前記リンク処理ユニットが、中央処理装置を有する前記集積回路上に作製される、請求項８に記載の集積回路。
【請求項１０】
集積回路をテストするコンピュータ実装方法であって、
第１の変換テーブルに複数の変換入力をロードすることであって、前記複数の変換入力のそれぞれが、前記集積回路に接続された複数のエージェントのうちの１つに対するダイレクト・メモリ・アクセス（ＤＭＡ）アドレスを変換する変換情報を含む、前記ロードすることと、
単一のエージェントを使用してアドレス変換の複数の連続テストを実行するために、変換情報を有する前記テーブルの入力をランダムに選択することによって前記変換テーブルにおけるすべての前記変換入力をテストするべくテスト・モードにおいて前記集積回路に接続された前記単一のエージェントを使用することと
を含む、方法。
【請求項１１】
マルチプレクサの入力にランダム信号を提供することと、
前記マルチプレクサへの選択入力を使用して前記ランダム信号を選択することと、
前記テスト・モード中に前記変換制御入力テーブルの入力をランダムに選択するために前記マルチプレクサから前記変換テーブルに前記ランダム信号を提供することと
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記ランダム信号が４ビットであり、前記変換テーブルが１６の入力を含む、請求項１１に記載の方法。
【請求項１３】
前記第１の変換テーブルが、変換制御入力テーブルを指し示す前記複数のエージェントのそれぞれに対する変換バリデーショ入力を含む変換バリデーション・テーブル（ＴＶＴ）である、請求項１０に記載の方法。
【請求項１４】
前記変換バリデーショ入力が、変換テーブル・アドレス（ＴＴＡ）と、変換制御入力ツリーの深さと、変換制御入力テーブル・サイズと、入出力ページ・サイズとを含む、請求項１３に記載の方法。
【請求項１５】
前記エージェントが、中央処理装置と、少なくとも１つのグラフィックス処理ユニットとを備える、請求項１０に記載の方法。
【請求項１６】
集積回路上のリンク処理ユニットの一部として実施される、請求項１０に記載の方法。
【請求項１７】
前記リンク処理ユニットが、中央処理装置を有する前記集積回路上に作製される、請求項１６に記載の方法。
【請求項１８】
集積回路上のリンク処理ユニットをテストするコンピュータ実装方法であって、
第１の変換テーブルに複数の変換入力をロードすることであって、前記複数の変換入力のそれぞれが、前記集積回路に接続された複数のエージェントのうちの１つに対するダイレクト・メモリ・アクセス（ＤＭＡ）アドレスを変換する変換情報を含み、前記エージェントが、中央処理装置と、少なくとも１つのグラフィックス処理ユニットとを備える、前記ロードすることと、
単一のエージェントを使用してアドレス変換の複数の連続テストを実行するために、変換情報を有する前記テーブルの入力をランダムに選択することによって前記変換テーブルにおけるすべての前記変換入力をテストするべくテスト・モードにおいて前記集積回路に接続された前記単一のエージェントを使用することと、
マルチプレクサの入力にランダム信号を提供することと、
前記マルチプレクサへの選択入力を使用して前記ランダム信号を選択することと、
前記テスト・モード中に前記変換制御入力テーブルの入力をランダムに選択するために前記マルチプレクサから前記変換テーブルに前記ランダム信号を提供することと
を含む、方法。
【請求項１９】
前記変換テーブルが、前記複数のエージェントのそれぞれに対する変換バリデーショ入力を含む変換バリデーション・テーブル（ＴＶＴ）である、請求項１８に記載の方法。
【請求項２０】
前記ＴＶＴの各入力における前記モードのＤＭＡアドレスを変換する前記情報が、変換テーブル・アドレス（ＴＴＡ）と、変換制御入力ツリーの深さと、変換制御入力テーブル・サイズと、入出力ページ・サイズとを含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にダイレクト・メモリ・アドレス変換をテストすることに関し、より詳しくは、集積回路における、例えば１つまたは複数のプロセッサとグラフィックス処理ユニットとの間の高速通信リンクにおけるダイレクト・メモリ・アクセス変換の効率的なテストに関する。
【背景技術】
【０００２】
集積回路テスト・ツールは、集積回路のための最も徹底的でストレスのかかるテスト・ケースを生成しようとする。理論的には、生成されたテスト・ケースは、最大のテスト網羅率を提供するはずであり、集積回路に対する様々なタイミング・シナリオおよび動作にストレスを加えることができるはずである。テストは、開発および生産時に実施することができる。複雑な集積回路を徹底的にテストするテスト・ケースを構築することは、時間および資源において極めて費用のかかることであり得る。効率的なテスト・コードを構築することは、集積回路テストの重要な目標である。
【０００３】
ダイレクト・メモリ・アクセス（ＤＭＡ）とは、ハードウェア・サブシステムが中央処理装置（ＣＰＵ）から独立したメイン・システム・メモリにアクセスすることが可能になるコンピュータ・システムの特徴のことである。ある高速システムにおいて、リンク処理ユニットが、メモリ・コヒーレンシを確実にしながら、チップ間またはチップの部分間を相互接続して、チップ間にＤＭＡを提供するのに使用される。このリンク処理ユニットの使用例は、ＣＰＵチップをグラフィックス処理ユニット（ＧＰＵ）チップのクラスタに接続することであろう。ＣＰＵおよびＧＰＵクラスタは、互いのメモリをコヒーレントに読み書きする能力を有する。ＧＰＵは、ＧＰＵメモリとＣＰＵメモリとの間の高帯域幅データ移動に非キャッシュ（ＤＭＡ）読取りおよび書込みを使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ダイレクト・メモリ・アドレス変換の効率的なテストのための集積回路、およびコンピュータ実装方法を提供する。
【課題を解決するための手段】
【０００５】
回路および方法が、リンク処理ユニットなどの集積回路における効率的なストレス・テスト・アドレス変換を提供する。ランダムＤＭＡモード（ＲＤＭ）回路が、実メモリ・アドレスを生成するのに使用される変換バリデーション・テーブル（ＴＶＴ）への索引付けをするためにランダム入力を提供する。例示した例において、テーブルへの入力は、通常、システムに接続された具体的なバス・エージェントに対応するパーティション化可能なエンドポイント番号（ＰＥ＃）である。ＲＤＭ回路により、どのバス・エージェントがリンク処理ユニットに接続されているのかにかかわらず、ＴＶＴのすべての入力、したがって、すべてのＤＭＡモードをテストすることが可能になる。ＲＤＭ回路は、ランタイム入力と、ランダム・ビット発生器によって提供されるランダム・テスト入力とから選択するのにマルチプレクサを使用することができる。リンク処理ユニットがテスト・モードにあるとき、ランダム・テスト入力を選択するためにモード選択ビットがアサートされる。
【０００６】
前述のおよび他の特徴および利点は、添付の図面に示すように、以下のより詳細な説明から明らかであろう。
【０００７】
本開示は、添付の図面と併せて説明し、その場合、同じ指示は同じ要素を表す。
【図面の簡単な説明】
【０００８】
【図１】集積回路に対するＤＭＡアドレス変換の効率的なテストのためのランダムＤＭＡモード回路を有するリンク処理ユニットを用いるシステムのブロック図である。
【図２】ＤＭＡアドレス変換の効率的なテストのためのランダムＤＭＡモード回路を有するリンク処理ユニットのブロック図である。
【図３】図２に示すＡＴＳブロックの一部分と、ＤＭＡアドレス変換の効率的なテストのためのランダムＤＭＡモード回路の具体的な例との簡略化されたブロック図である。
【図４】図１〜３に示すランダムＤＭＡモード（ＲＤＭ）回路の一実装例の簡略化されたブロック図である。
【図５】集積回路に対するＤＭＡアドレス変換の効率的なテストのための方法のフロー図である。
【図６】図５におけるステップ５２０の具体的な方法のフロー図である。
【発明を実施するための形態】
【０００９】
本明細書における本開示および特許請求の範囲は、リンク処理ユニットなどの集積回路におけるアドレス変換の効率的なストレス・テストのための回路および方法に関する。ランダムＤＭＡモード（ＲＤＭ）回路が、実メモリ・アドレスを生成するのに使用される変換バリデーション・テーブル（ＴＶＴ）への索引付けをするためにランダム入力を提供する。例示する例において、テーブルへの入力は、通常、システムに接続された具体的なバス・エージェントに対応するパーティション化可能なエンドポイント番号（ＰＥ＃）である。ＲＤＭ回路により、どのバス・エージェントがリンク処理ユニットに接続されているのかにかかわらず、ＴＶＴのすべての入力、したがって、すべてのＤＭＡモードをテストすることが可能になる。ＲＤＭ回路は、ランタイム入力と、ランダム・ビット発生器によって提供されるランダム・テスト入力とから選択するのにマルチプレクサを使用することができる。リンク処理ユニットがテスト・モードにあるとき、ランダム・テスト入力を選択するためにモード選択ビットがアサートされる。
【００１０】
図１は、本明細書において特許請求されるように、ＤＭＡアクセスモードを使用してＤＭＡアドレス変換の効率的なテストのためのランダムＤＭＡモード（ＲＤＭ）回路１１０を有するリンク処理ユニット（ＬＰＵ）１２０を用いるシステム１００のブロック図である。リンク処理ユニット１２０は、１つまたは複数の中央処理装置（ＣＰＵ）をＧＰＵのクラスタに接続するために高速接続を提供する。例示する例において、単一のＣＰＵ１１４が、ＧＰＵまたはＧＰＵ１３０とまとめて呼ばれる２つのＧＰＵ１３０Ａ、１３０Ｂにリンクされる。この例において、ＬＰＵ１２０とＣＰＵ１１４とは一体化され、プロセッサ・チップ１１２上に常駐する。ＧＰＵ１３０は、この例において、別個のチップ上に常駐する。代替案として、ＧＰＵ１３０は、プロセッサ・チップ１１２上に常駐することができる。例示する例は、テスト・ソフトウェア１１８がロードされたメモリ１１６を含む。メモリ１１６は、図示するようにプロセッサ・チップ１１２上に配置することができ、またはチップ外に配置することができる。テスト・ソフトウェア１１８は、先行技術において周知であるように、変換テーブルをロードすることができる。以下にさらに説明するように、どのエージェントが接続されているのかにかかわらず、テスト・ソフトウェアはメモリをテストし、その一方で、ＲＤＭ回路１１０は、テストにおいてＤＭＡアクセスモードをランダム化する。
【００１１】
ＬＰＵ１２０の例は、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｂｕｓｉｎｅｓｓ  Ｍａｃｈｉｎｅｓ  Ｃｏｒｐｏｒａｔｉｏｎによって開発されたＰｏｗｅｒ９（Ｐ９）ＮＶリンク処理ユニット（ＮＰＵ）である。本明細書における例において、ＬＰＵ１２０は、本明細書に説明するように、ＲＤＭ回路１１０を除いてＮＰＵと同様である。Ｐ９ＮＶ−リンク処理ユニット（ＮＰＵ）は、中央処理装置（ＣＰＵ）チップ１１２をＧＰＵチップ１３０のクラスタに接続するためにＮＶリンク（ＴＭ）インターコネクトを使用する。ＮＶリンク（ＴＭ）（以下ＮＶリンク）は、ＮＶＩＤＩＡ  Ｃｏｒｐｏｒａｔｉｏｎによって所有される高速インターコネクト・アーキテクチャである。ＮＶリンクは、超高データ帯域幅においてチップ間にメモリ・キャッシュ・コヒーレンスを提供する。ＣＰＵおよびＧＰＵクラスタは、互いのメモリをコヒーレントに読み書きする能力を有する。ＧＰＵは、ＧＰＵメモリとＣＰＵメモリとの間の高帯域幅データ移動に非キャッシュ（ＤＭＡ）読取りおよび書込みを使用することができる。ＮＰＵは、プロセッサのＮＶリンクにトランザクション層機能を提供する。この機能は、ＮＶリンク・データリンク・ロジックからのコマンドを受理すること、それらをバス・コマンドのシーケンスに変換すること、次いで、バス・コマンドの結果に基づいて応答を生成することを含む。応答は、データリンク・ロジックを通じてＮＶリンクに送り返される。サポートされるコマンドは、読取り、書込み、プローブおよびフラッシュを含む。アップグレードおよびダウングレード・コマンドだけでなく、同じタイプのコマンドもＮＰＵによってＮＶリンクを介してＧＰＵクラスタに送ることができる。
【００１２】
図２は、図１で紹介したリンク処理ユニット（ＬＰＵ）１２０の簡略化されたブロック図である。ＬＰＵ１２０の大きなブロックは、３つのＮＰＵ共通キュー・ブロック（ＮＰＣＱ）２１０Ａ、２１０Ｂ、２１０Ｃと、６つのＮＶリンク・トランザクション層ブロック（ＮＴＬ）２１２Ａ〜２１２Ｆと、拡張変換サービス・ブロック（ＸＴＳ）２１４と、アドレス変換ブロック（ＡＴＳ）２１６とを含む。上記に紹介したように、ＬＰＵ１２０は、ＤＭＡアクセスモードの効率的なテストのためのランダムＤＭＡモード（ＲＤＭ）回路１１０を含む。この例において、ＲＤＭ１１０は、アドレス変換ブロック（ＡＴＳ）２１６に組み込まれる。ＡＴＳ２１６は、非変換アドレスがＧＰＵからのコマンドに使用されたとき、アドレス再配置およびバリデーションを提供する。ＲＤＭ回路１１０およびＡＴＳ２１６の機能は、図３を参照して以下にさらに説明する。
【００１３】
図２を再度参照すると、ＬＰＵ１２０は、ＮＴＬブロック２１２とまとめて呼ばれる、６つのＮＶリンク・トランザクション層ブロック（ＮＴＬ）２１２Ａ〜２１２Ｆを含む。ＮＴＬブロック２１２のそれぞれは、ブリックと呼ばれるユニットを備える。各ブリックは、ＮＶリンクへのコマンドの別個のストリームを提供し、各ブリックは、１つまたは複数の外部チップに接続することができる。すべての順序付け要求は、各ブリックに対して独立して実行される。ＬＰＵ１２０は、ＮＰＣＱ２１０とまとめて呼ばれる、３つのＮＰＵ共通キュー・ブロック（ＮＰＣＱ）２１０Ａ、２１０Ｂ、２１０Ｃをさらに含む。ＮＰＣＱは、２１８Ａ、２１８Ｂおよび２１８Ｃとして図２に示す、３つのＰｏｗｅｒＢｕｓユニット・インターフェースを提供する。ＰｏｗｅｒＢｕｓインターフェースのそれぞれは、２つのＮＶリンク・ブリック（ＮＴＬブロック２１２）をサポートする。
【００１４】
図２を再度参照すると、ＬＰＵ１２０は、拡張変換サービス・ブロック（ＸＴＳ）２１４をさらに含む。ＸＴＳ２１４は、ＮＶリンクのアドレス変換サービス動作をサポートするのに使用される。このブロックは、ＧＰＵからのアドレス変換要求を受理し、必要な変換文脈を探索し、Ｐ９の変換要求を作成する。変換文脈は、ＸＴＳユニットにおけるテーブルに保持される。ネストＭＭＵが変換要求に応答したとき、ＸＴＳブロックは、ＮＶリンクを介してＧＰＵに送られるアドレス変換応答を作成する。ＸＴＳブロックは、先行技術において周知であるように、ＰｏｗｅｒＢｕｓに対するＴＬＢｉｅ動作のスヌーピングに基づいてアドレス・シュートダウン要求も生成する。
【００１５】
図３は、図２で紹介したアドレス変換ブロック（ＡＴＳ）２１６の一部分の簡略化されたブロック図である。この例において、ＲＤＭ回路１１０は、アドレス変換ブロック（ＡＴＳ）２１６に組み込まれる。ＡＴＳ２１６は、非変換アドレスがＧＰＵからのコマンドに使用されたとき、アドレス再配置およびバリデーションを提供する。再配置およびバリデーションのその他の詳細は、ＯｐｅｎＰＯＷＥＲ  Ｆｏｕｎｄａｔｉｏｎによって所有される、ＩＯデバイス・アーキテクチャ、バージョン２（ＩＯＤＡ２）の仕様書に説明される。ＡＴＳ２１６の変換プロセスは、図３の底部のバス・デバイス機能（ＢＤＦ）３１０およびＤＭＡアドレス３１２から開始し、頂部に進んで、システム実アドレス３１４を作成する。ＡＴＳ２１６におけるアドレス変換は、３つの基本ステップを有する。ステップ１において、パーティション化可能なエンドポイント番号（ＰＥ＃）３１８が、バス・デバイス機能３１０を有するエージェント（ＧＰＵまたはＣＰＵ）から受け取ったＤＭＡアドレス３１２の各アドレス変換動作に割り当てられる。ＲＤＭ回路１１０は、以下にさらに説明するように、ステップ１において機能する。ステップ２および３は、先行技術と同様のやり方で動作する。ステップ２において、ＰＥ＃３１８は、変換バリデーション入力（ＴＶＥ）を見つけるために変換バリデーション・テーブル（ＴＶＴ）３２０への索引付けをするのに使用される。ステップ３において、実アドレス３１４が、ＤＭＡアドレス３１２からのＴＶＥおよびビット３３４を使用し、ＴＣＥテーブル３３０からの情報を使用して決定される。これらのステップのそれぞれを以下にさらに説明する。
【００１６】
図３を再度参照すると、アドレスを変換するプロセスのステップ１は、パーティション化可能なエンドポイント番号（ＰＥ＃）を各ＤＭＡ動作に割り当てることである。通常、同じＰＥ＃が、バス・デバイス機能（ＢＤＦ）に関連したすべてのＤＭＡ動作に割り当てられる。各ＤＭＡ動作は、関連したエージェントまたは複数のエージェント（ＧＰＵまたはＣＰＵ）を有する。バス・デバイス機能（ＢＤＦ）３１０は、現在のメモリ・アドレス変換動作に対応するエージェントまたは複数のエージェントの同一性を示す。ＢＤＦ３１０によって表されるデバイスの同一性は、典型的には、システムをブートしたときのハードウェア検出段階におけるエージェントに割り当てられる。ＢＤＦ３１０は、ＰＥ＃構成テーブル（ＰＣＴ）３１６からＴＶＴ３２０にアクセスするのに使用されるパーティション化可能なエンドポイント番号（ＰＥ＃）を選択するのに使用される。一例において、ＢＤＦ３１０のビットは、ＰＣＴテーブル３１６への索引付けをするのに使用される４ビット・インデックスを形成するために排他的ＯＲ動作を用いてハッシュされる。ＰＣＴ３１６は、幅が４ビットであり、１６の入力を有する。ＰＣＴの各入力は、ＢＤＦに関連したＰＥ＃を含み、ＤＭＡコマンドは、そのＢＤＦから受け取られたものである。ＰＣＴ３１６は、４ビットのＰＥ＃３１８Ａを出力する。通常動作モードにおいて、このＰＥ＃３１８Ａは、以下に説明するように、ＰＥ＃３１８ＢとしてＲＤＭ回路１１０を通過され、ステップ２のためにＴＶＴに提供される。テスト・モードにおいて、ＲＤＭ回路１１０は、以下にさらに説明するように、ＰＥ＃３１８Ｂをランダムに変更する。
【００１７】
図３を再度参照すると、アドレスを変換するプロセスのステップ２は、変換バリデーション入力（ＴＶＥ）３２２を見つけるために変換バリデーション・テーブル（ＴＶＴ）３２０への索引付けをするのにＰＥ＃３１８Ｂの信号を使用する。この具体的な例において、ＴＶＴ３２０は、各ＰＥ＃に対して１つの入力を有する１６の入力テーブルである。ＴＶＴへの入力は、上記に説明したＲＤＭ回路１１０からの４ビットのＰＥ＃３１８Ｂの信号である。ＴＶＴ３２０の出力は、変換バリデーション入力（ＴＶＥ）３２２である。ＴＶＥは、以下に説明するように、変換制御入力（ＴＣＥ）テーブル３３０へのポインタを含む。本明細書に説明する例において、ＴＶＴ３２０におけるポインタ情報は、変換テーブル・アドレス（ＴＴＡ）と、変換制御入力（ＴＣＥ）ツリーの深さと、ＴＣＥテーブル・サイズと、Ｉ／Ｏページ・サイズとを含む。ＴＶＥ３２２のこれらのフィールドは、以下にさらに説明するように、ＴＣＥテーブルへの索引付けをするのに使用される。
【００１８】
プロセスのステップ２は、以下のように継続する。ＴＶＥ３２２を復号した結果は、ＴＶＥ３２２が無効であるか、またはＴＶＥ３２２が有効でありかであり得る。ＴＶＥ３２２が有効である場合、状態は、変換が無効にされているかどうか、または有効にされているかどうか、およびＤＭＡアドレスが、ＴＣＥテーブル範囲の外側または内側に含まれるかどうかを含む。ＴＶＥにおけるビットは、上記の状態のそれぞれを示す。ＴＶＥ３２２は、バリデート・アドレス・ブロック３２４に送られる。ＴＶＥ３２２は、ＤＭＡアドレスが所定の範囲内に含まれるかどうかを検証するためにバリデート・アドレス・ブロック３２４によって使用される。ＤＭＡアドレスがこの範囲の外側にある場合、変換動作は不合格である。範囲テストに合格した場合、ＴＶＥは、「非変換」モード３２６を指定することができる。この場合、ＤＭＡアドレスは、システム・メモリ・アドレスとして使用される。「変換」モードが指定された場合、ＴＶＥは、変換プロセスのステップ３に使用されるＴＣＥテーブル３３０のベース・アドレスを提供する。ＴＶＥは、ステップ３において使用するＩ／Ｏページ・サイズも指定する。
【００１９】
図３を再度参照すると、アドレス変換のプロセスのステップ３が、ＴＶＥからのベース・アドレスとＤＭＡアドレス３１２からのビット３３４とを使用して、変換制御入力（ＴＣＥ）テーブル３３０から取得した情報から実メモリ・アドレス３１４を作成する。使用されるＤＭＡアドレス３１２のビット３３４は、Ｉ／Ｏページ・サイズに依存する。ＴＣＥテーブル３３０は、各変換に対する変換制御入力（ＴＣＥ）を含む。ＴＣＥテーブル３３０におけるＴＣＥ入力は、実メモリ・アドレス３１４を形成するために、Ｉ／Ｏページ・サイズに基づいて上位ＤＭＡアドレス・ビットに取って代わる実ページ番号ビットを指定する。ＴＣＥテーブル入力は、アドレスに許可されているアクセス型（読取りまたは書込みあるいはその両方）も指定する。他の変換モード情報は、先行技術において周知であるように、ＴＣＥに記憶することもできる。ＡＴＳ２１６は、ＴＣＥ３３２のキャッシュをさらに含み、キャッシュ・ミスが起きたときテーブル検索動作を実施する。
【００２０】
本明細書では、変換モード情報とは、記憶されている、ＤＭＡアドレスを変換するのに使用される情報のことである。例示する例において、変換モード情報は、上記に説明したように、ＴＣＥテーブル３３０における情報と、ＴＶＴ３２０におけるポインタ情報とを含む。変換モード情報を使用して、ＬＰＵ１２０（図１）のテスト中にＤＭＡアドレス変換のすべてのモードをテストすることが望ましい。ＬＰＵ１２０（図１）のテスト・モードの間、ＴＣＥテーブル３３０は、アドレス変換のすべてのモードをテストするために変換モード情報をロードすることができる。ＲＤＭ回路１１０により、以下にさらに説明するように、ＴＶＴの入力をランダムに選択することによってＴＶＴ３２０の１６のすべての入力に対してすべてのモードのテストが可能になる。ＴＶＴ３２０は、上記に説明したように、ＴＣＥテーブル３３０への索引付けをするためにポインタを提供する。モード情報は、ＬＰＵ１２０をテストするために、先行技術において周知のやり方でソフトウェアによってＴＣＥテーブル３３０にロードされる。例えば、ＴＣＥテーブル３３０は、ＣＰＵのオペレーティング・システムによって、アプリケーションまたはある他のテスト・ソフトウェアによってロードすることができる。次いで、ＬＰＵに接続された単一のＧＰＵが、本明細書において説明するように、変換されるアドレスを有するメモリへのアクセスを要求したとき、デバイス変換のテストを行うことができる。正しい変換の検証の方法は、先行技術において周知であるように適切なやり方で行うことができる。これは、オン・チップ・エラー検出またはテスト・ソフトウェア検出を含むことができ得る。
【００２１】
図４は、ランダムＤＭＡモード（ＲＤＭ）回路１１０の簡略化されたブロック図である。ＲＤＭ回路１１０は、上記に説明したように、実アドレス３１４を作成するのに使用されるＴＶＴ３２０への索引付けをするためにＰＥ＃３１８Ｂを出力する。図４は、この動作を提供する回路例を示す。この例において、ＲＤＭ回路１１０は、通常動作モードとテスト動作モードとから選択するためにモード・ビット４１２を有するマルチプレクサ４１０を使用する。通常動作モードにおいて、マルチプレクサ４１０のモード・ビット４１２は、ＰＣＴ３１６（図３）から提供されたＰＥ＃３１８Ａの入力を選択する。動作のテスト・モードにおいて、モード・ビット４１２は、ランダム４ビット信号発生器４１４の出力を選択する。リンク処理ユニットがテスト・モードにあるとき、ランダム４ビット信号発生器４１４からの入力を選択して、信号ＰＥ＃３１８Ｂとして示されるマルチプレクサ４１０の出力に加えるためにモード・ビット４１２がアサートされる。したがって、ＲＤＭ回路１１０により、どのバス・エージェントがリンク処理ユニットに接続されているのかにかかわらず、ＴＶＴのすべての入力をテストすることが可能になり、その場合、ＴＶＴへの入力がランダム４ビット発生器４１４によって提供される。モード・ビットは、適当な手段によってテスト・モードに設定することができる。例えば、モード・ビット４１２は、集積回路のブート処理中に基本入出力システム（ＢＩＯＳ）によって設定することができる。
【００２２】
図５を参照すると、方法５００が、リンク処理ユニットなどの集積回路におけるアドレス変換の効率的なストレス・テストのための１つの適切な例を示す。方法５００は、好ましくは図１におけるＬＰＵ１２０および図４に示すランダム・モード回路１１０によって、および図１に示すテスト・ソフトウェア１１８によって実施される。まず、すべてのエージェントのすべての変換モードに対する変換情報を有する変換入力を変換テーブルにロードする（ステップ５１０）。次いで、単一のエージェント（ＧＰＵ）を使用して、どのエージェントが接続されているかにかかわらず変換テーブルの入力をランダムに選択することによってすべての変換入力をテストし、その一方で、ＤＭＡ変換をテストする（ステップ５２０）。そこで方法が完了する。
【００２３】
図６は、リンク処理ユニットなどの集積回路におけるテストＤＭＡ変換に対する変換型をランダムに選択するための方法の１つの適切な例を示す。したがって、方法６００は、方法５００においてステップ５２０を実施するための適切なステップを示す。まず、ランダム信号をマルチプレクサへの入力に提供する（ステップ６１０）。マルチプレクサの選択入力（select input）を使用して、マルチプレクサから出力するランダム信号を選択する（ステップ６２０）。テスト中に、変換テーブルの入力をランダムに選択するためにマルチプレクサからのランダム信号を変換テーブルに提供する（ステップ６３０）。そこで方法が完了する。
【００２４】
本明細書における本開示および特許請求の範囲は、変換バリデーション・テーブルへの索引付けをするためにランダム入力を提供するランダムＤＭＡモード（ＲＤＭ）回路を有する集積回路におけるアドレス変換の効率的なストレス・テストのための回路および方法を説明する。ＲＤＭ回路により、集積回路をより効率的にテストするために、どのバス・エージェントが接続されているかにかかわらず、変換バリデーション・テーブルのすべての入力、したがって、すべてのＤＭＡモードをテストすることが可能となる。
【００２５】
特許請求の範囲内で多くの変形が可能であることを当業者は理解するであろう。したがって、本開示が上記に詳細に示され、説明されたが、特許請求の範囲の主旨および範囲から逸脱することなく、形態および詳細におけるこれらのおよび他の変更を加えることができることが当業者によって理解されよう。
【図１】
2020529683.tif 000003
【図２】
2020529683.tif 000004
【図３】
2020529683.tif 000005
【図４】
2020529683.tif 000006
【図５】
2020529683.tif 000007
【図６】
2020529683.tif 000008
【国際調査報告】
2020529683.tif 000009
2020529683.tif 000010