(57)【要約】【課題】データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法を提供する。【解決手段】ここに開示されたデータキャッシュが内蔵した半導体集積回路およびそれの実速度テスト方法は、データキャッシュのアドレスデコーディング時、一定ビットを考慮しなくデコーディングを実行して、データキャッシュの複数個のアドレスを所定のアドレス単位ごとにオンチップメモリの一つのアドレスにマッピングさせる。そして、デコーディングされたアドレスを利用してデータキャッシュのＮ個の互いに異なるアドレスに対するＮ回のリード−ミス（ｒｅａｄ−ｍｉｓｓ）、Ｎ回の書き込み−ミス（ｗｒｉｔｅ−ｍｉｓｓ）、およびＮ回のラインフィルおよびキャストアウト動作に対するテストを全部実行する。その結果、データキャッシュより小さいサイズを有するオンチップメモリを有してもデータキャッシュに対する実速度テストを十分に実行することができるようになる。【選択図】図７
2006004419.tif 000002
【特許請求の範囲】
【請求項１】
第１データ貯蔵領域を有するデータキャッシュと、
前記データキャッシュの前記第１データ貯蔵領域より小さい第２データ貯蔵領域を有し、テストデータを貯蔵するオンチップメモリと、
前記オンチップメモリに貯蔵された前記テストデータに対するアクセスが要求されるとき、前記第１データ貯蔵領域が前記第２貯蔵領域にマッピングされるようにアドレスをデコーディングするアドレスデコーダとを含むことを特徴とする半導体集積回路。
【請求項２】
前記アドレスデコーダは前記データキャッシュがＮ個のアドレスに該当される前記第１データ貯蔵領域を有する場合に、２Ｎ個のアドレスが前記オンチップメモリの前記第２データ貯蔵領域にマッピングされるようにアドレスをデコーディングすることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記アドレスデコーダは前記データキャッシュのアドレスビットのうちの少なくとも一つの以上のビットをアドレスデコーディングに影響を与えないドントケアアドレスビットに割り当てることを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記データキャッシュが２ｎ個のセットを有し、各々のセットが２ｓ個のブロックを有し、一つのキャッシュブロックサイズが２ｂバイトであり、全体キャッシュサイズが２（ｓ＋ｂ＋ｎ）バイトであり、前記オンチップメモリが単一セットサイズに該当される２（ｓ＋ｂ）バイトのアドレス領域を有する場合に、
前記アドレスデコーダは前記ドントケアアドレスビットにｎ＋１ビットを割り当てることを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記データキャッシュが２ｎ個のセットを有し、各々のセットが２ｓ個のブロックを有し、一つのキャッシュブロックサイズが２ｂバイトであり、全体キャッシュサイズが２（ｓ＋ｂ＋ｎ）バイトであり、前記オンチップメモリが単一ブロックサイズに該当される２ｂバイトのアドレス領域を有する場合に、
前記アドレスデコーダは前記ドントケアアドレスビットにｎ＋ｓ＋１ビットを割り当てることを特徴とする請求項３に記載の半導体集積回路。
【請求項６】
前記ドントケアアドレスビットのビット数は前記オンチップメモリのアドレス領域の大きさが小さくなるほど大きくなることを特徴とする請求項５に記載の半導体集積回路。
【請求項７】
前記ドントケアアドレスビットのビット数は前記アドレスデコーダでデコーディングされたアドレス領域のサイズと前記オンチップメモリのアドレス領域のサイズとの和が前記データキャッシュのアドレス領域のサイズより大きい値を有するように決められることを特徴とする請求項６に記載の半導体集積回路。
【請求項８】
データキャッシュのデータ貯蔵領域が前記データキャッシュより小さいデータ貯蔵領域を有するオンチップメモリにマッピングされるようにアドレスをデコーディングし、前記オンチップメモリに貯蔵されたテストデータを利用して前記デコーディングされたアドレス別に前記データキャッシュに対するリード−ミス、書き込み−ミス、およびラインフィルおよびキャストアウト動作を実行する半導体集積回路と、
前記半導体集積回路の外部で前記データキャッシュの動作実行の結果を受け入れて前記データキャッシュの欠陥の可否を分析するテスト回路とを含むことを特徴とする半導体集積回路のための実速度テストシステム。
【請求項９】
前記半導体集積回路は前記オンチップメモリに貯蔵されている第１テストデータを読み出して前記データキャッシュのＮ個の互いに異なるアドレスに対してＮ回のラインフィルを実行し、
前記データキャッシュの前記Ｎ個のアドレスの各々に対して互いに異なる値を有する第２テストデータを書き込み、
前記データキャッシュの前記Ｎ個のアドレスとは異なる値を有するＮ個のアドレスの各々に対して、前記オンチップメモリに貯蔵されている前記第１テストデータを読み出して前記データキャッシュの該当のアドレスに新しい第２テストデータに貯蔵するラインフィルを実行し、前記ラインフィルが実行される間前記データキャッシュの前記アドレスに貯蔵されていた以前の第２テストデータをキャストアウトして前記オンチップメモリに新しい第１テストデータに貯蔵することを特徴とする請求項８に記載の半導体集積回路のための実速度テストシステム。
【請求項１０】
前記第２テストデータが書き込まれた前記Ｎ個のアドレスと、前記ラインフィルおよび前記キャストアウトに使用された前記Ｎ個のアドレスは、前記オンチップメモリの同一のアドレス領域にマッピングされることを特徴とする請求項９に記載の半導体集積回路のための実速度テストシステム。
【請求項１１】
前記Ｎ個のアドレスのうちのｉ番目のアドレスに適用されるラインフィルデータと前記 Ｎ個のアドレスのうちのｉ−１番目のアドレスで発生されたキャストアウトデータは互いに同一のデータであることを特徴とする請求項９に記載の半導体集積回路のための実速度テストシステム。
【請求項１２】
半導体集積回路に内蔵されたオンチップメモリを利用してデータキャッシュを実速度テストする方法において、
（ａ）前記データキャッシュのアドレス領域を前記データキャッシュより小さい前記オンチップメモリのアドレス領域にデコーディングする段階と、
（ｂ）前記デコーディングされたアドレスに応答して前記オンチップメモリからテストデータを読み出して前記データキャッシュのリード−ミス、書き込み−ミス、ラインフィルおよびキャストアウトをテストする段階とを含むことを特徴とするデータキャッシュの実速度テスト方法。
【請求項１３】
前記（ａ）段階では前記データキャッシュがＮ個のアドレスを有する場合、２Ｎ個のアドレスを前記オンチップメモリのアドレス領域にデコーディングすることを特徴とする請求項１２に記載のデータキャッシュの実速度テスト方法。
【請求項１４】
前記（ａ）段階では前記データキャッシュのアドレスビットのうちの少なくとも一つの以上のビットがアドレスデコーディングに影響を与えないドントケアアドレスビットに割り当てられることを特徴とする請求項１２に記載のデータキャッシュの実速度テスト方法。
【請求項１５】
前記（ａ）段階では、前記データキャッシュが２ｎ個のセットを有し、各々のセットが２ｓ個のブロックを有し、一つのキャッシュブロックサイズが２ｂバイトであり、全体キャッシュサイズが２（ｓ＋ｂ＋ｎ）バイトであり、前記オンチップメモリが単一セットサイズに該当する２（ｓ+ｂ）バイトのアドレス領域を有する場合、
前記ドントケアアドレスビットにｎ＋１ビットが割り当てられることを特徴とする請求項１４に記載のデータキャッシュの実速度テスト方法。
【請求項１６】
前記（ａ）段階では、前記データキャッシュが２ｎ個のセットを有し、各々のセットが２ｓ個のブロックを有し、一つのキャッシュブロックサイズが２ｂバイトであり、全体キャッシュサイズが２（ｓ＋ｂ＋ｎ）バイトであり、前記オンチップメモリが単一ブロックサイズに該当する２ｂバイトのアドレス領域を有する場合、
前記ドントケアアドレスビットにｎ＋ｓ＋１ビットが割り当てられることを特徴とする請求項１４に記載のデータキャッシュの実速度テスト方法。
【請求項１７】
前記ドントケアアドレスビットのビット数は前記オンチップメモリのアドレス領域の大きさが小さくなるほど大きくなることを特徴とする請求項１６に記載のデータキャッシュの実速度テスト方法。
【請求項１８】
前記ドントケアアドレスビットのビット数は前記（ａ）段階でデコーディングされたアドレス領域のサイズと前記オンチップメモリのアドレス領域のサイズとの和が前記データキャッシュのアドレス領域のサイズより大きい値を有するように決められることを特徴とする請求項１７に記載のデータキャッシュの実速度テスト方法。
【請求項１９】
前記（ｂ）段階は
（ｂ−１）前記オンチップメモリに貯蔵されている第１テストデータを読み出して前記データキャッシュのＮ個の互いに異なるアドレスに対してＮ回のラインフィルを実行して前記ラインフィル動作の欠陥の可否を判別する段階と、
（ｂ−２）前記データキャッシュの前記Ｎ個のアドレスの各々に対して互いに異なる値を有する第２テストデータを書き込んで前記書き込み動作の欠陥の可否を判別する段階と、
（ｂ−３）前記データキャッシュの前記Ｎ個のアドレスとは異なる値を有するＮ個のアドレスの各々に対して、前記オンチップメモリに貯蔵されている前記第１テストデータを読み出して前記データキャッシュの該当のアドレスに新しい第２テストデータに貯蔵するラインフィルを実行し、前記ラインフィルが実行される間前記データキャッシュの前記アドレスに貯蔵されていた以前の第２テストデータをキャストアウトして前記オンチップメモリに新しい第１テストデータに貯蔵して、前記ラインフィルおよびキャストアウト動作の欠陥の可否を判別する段階とを含むことを特徴とする請求項１２に記載のデータキャッシュの実速度テスト方法。
【請求項２０】
前記実速度テスト方法は、
前記（ｂ−１）段階の以前に
（ｂ−１−１）前記データキャッシュをオフする段階と、
（ｂ−１−２）前記オンチップメモリに前記第１テストデータを貯蔵する段階と、
（ｂ−１−３）前記データキャッシュをオンする段階とをさらに含むことを特徴とする請求項１９に記載のデータキャッシュの実速度テスト方法。
【請求項２１】
前記（ｂ−３）段階では前記（ｂ−１）および前記（ｂ−２）段階で使用された前記Ｎ個のアドレスと同一な前記オンチップメモリのアドレス領域にマッピングされるＮ個のアドレスが使用されることを特徴とする請求項１９に記載のデータキャッシュの実速度テスト方法。
【請求項２２】
前記（ｂ−３）段階では前記Ｎ個のアドレスのうちのｉ番目のアドレスに適用されるラインフィルデータと前記Ｎ個のアドレスのうちのｉ−１番目のアドレスで発生されたキャストアウトデータと同一のデータが使用されることを特徴とする請求項１９に記載のデータキャッシュの実速度テスト方法。
【請求項２３】
半導体集積回路に内蔵されたオンチップメモリを利用してデータキャッシュを実速度テストする方法において、
（ａ）前記データキャッシュのアドレス領域を前記データキャッシュより小さい前記オンチップメモリのアドレス領域にデコーディングする段階と、
（ｂ）前記デコーディングされたアドレスに応答して前記オンチップメモリからテストデータを読み出して前記データキャッシュに対するリード−ミス、書き込み−ミス、ラインフィルおよびキャストアウト動作を実行し、前記実行結果を前記半導体集積回路の外部のテスト装置に出力する段階と、
（ｃ）前記テスト装置で前記データキャッシュの動作実行の結果を分析して、前記データキャッシュの欠陥の可否を判断する段階とを含むことを特徴とする半導体集積回路のための実速度テスト方法。
【請求項２４】
前記（ｂ）段階は、
（ｂ−１）前記オンチップメモリに貯蔵されている第１テストデータを読み出して前記データキャッシュのＮ個の互いに異なるアドレスに対してＮ回のラインフィルを実行する段階と、
（ｂ−２）前記データキャッシュの前記Ｎ個のアドレスの各々に対して互いに異なる値を有する第２テストデータを書き込む段階と、
（ｂ−３）前記データキャッシュの前記Ｎ個のアドレスとは異なる値を有するＮ個のアドレスの各々に対して、前記オンチップメモリに貯蔵されている前記第１テストデータを読み出して前記データキャッシュの該当のアドレスに新しい第２テストデータに貯蔵するラインフィルを実行し、前記ラインフィルが実行される間前記データキャッシュの前記アドレスに貯蔵されていた以前の第２テストデータをキャストアウトして前記オンチップメモリに新しい第１テストデータに貯蔵する段階とを含むことを特徴とする請求項２３に記載の半導体集積回路のための実速度テスト方法。
【請求項２５】
前記第２テストデータが書き込まれた前記Ｎ個のアドレスと、前記ラインフィルおよび前記キャストアウトに使用された前記Ｎ個のアドレスは、前記オンチップメモリの同一のアドレス領域にマッピングされることを特徴とする請求項２４に記載の半導体集積回路のための実速度テスト方法。
【請求項２６】
前記Ｎ個のアドレスのうちのｉ番目のアドレスに適用されるラインフィルデータと前記Ｎ個のアドレスのうちのｉ−１番目のアドレスで発生されたキャストアウトデータは互いに同一のデータであることを特徴とする請求項２４に記載の半導体集積回路のための実速度テスト方法。
【請求項２７】
第１２項乃至第２６項のうちのいずれか一項の方法をコンピュータで実行させるためのプログラムを記録したコンピュータで読み出すことができる記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路のテストに係わり、さらに具体的には半導体集積回路に内蔵されたデータキャッシュのための実速度テスト装置および方法に関する。
【背景技術】
【０００２】
半導体工程が発展することによって、最近開発されている半導体集積回路は中央処理装置（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＣＰＵ）とキャッシュメモリが単一チップで集積されたＳＯＣ（ｓｙｓｔｅｍ ｏｎ ａ ｃｈｉｐ）形態に開発される傾向を示している。ＣＰＵとキャッシュメモリを単一チップとして集積する場合、データ入／出力速度が向上し、その結果、ＣＰＵの全体性能が向上する効果を得ることができる。しかし、製造工程の不均衡などによって半導体集積回路に不良が発生する場合があり、このような不良を検出するためには半導体集積回路の実際動作速度に合わせてテストを実行する実速度テスト（ａｔ ｓｐｅｅｄ ｔｅｓｔ）が多用されている。
【０００３】
現在主に使用されている実速度テスト用テスタの動作周波数は約８０ＭＨｚ程度であるのに比べて、半導体集積回路の動作周波数は１００ＭＨｚ以上から１ＧＨｚを超過する場合もある。最近には３００ＭＨｚ以上の高速動作が可能なテスタが登場しているが、非常に高価であり、高速のテスタを利用してもテスタと半導体集積回路とを連結させる複数個の外部ピン（すなわち、外部端子）に存在するピン間の寄生容量によって動作周波数に影響を及ぼすようになる。
【０００４】
このような問題を解決するため、半導体集積回路の内部的では高速のオンチップＰＬＬクロック（Ｏｎ−ｃｈｉｐ ＰＬＬ（Ｐｈａｓｅ−Ｌｏｃｋｅｄ Ｌｏｏｐ）ｃｌｏｃｋ）を使用して高速のテストを実行し、テスト結果だけ低速のテスタに伝送して確認する方法が使用されている。この場合、テストパターンは半導体集積回路の外部に位置したオフチップメモリ（ｏｆｆ−ｃｈｉｐ ｍｅｍｏｒｙ）または内部に位置したオンチップメモリ（ｏｎ−ｃｈｉｐ ｍｅｍｏｒｙ）に貯蔵されることができ、システムの性能を低下させず、最適の実速度テストを実行するためにはオフチップメモリよりはオンチップメモリを使用することより望ましい。
【０００５】
特許文献１にはテスタによってオンチップメモリにあらかじめ貯蔵されたテストパターンを利用して集積回路の内部で自体的に実速度テストを実行し、テスト実行の結果を外部の低速テスタへ伝送する技術が開示されている。しかし、前記テスト方法でデータキャッシュの全領域の動作を十分にテストするためには、必ずデータキャッシュ（ｄａｔａ ｃａｃｈｅ）サイズより大きいオンチップメモリが集積回路内に具備されなければならないので、半導体集積回路のサイズが大きくなり、集積度が低下することがある。
【特許文献１】特開２００３−１３９８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の課題は、データキャッシュサイズより小さいオンチップメモリを有しても半導体集積回路に内蔵されたデータキャッシュを実速度テストすることができる装置および方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために本発明の特徴によれば、半導体集積回路は、 第１データ貯蔵領域を有するデータキャッシュと、前記データキャッシュの前記第１データ貯蔵領域より小さい第２データ貯蔵領域を有し、テストデータを貯蔵するオンチップメモリと、前記オンチップメモリに貯蔵された前記テストデータに対するアクセスが要求される時、前記第１データ貯蔵領域が前記第２貯蔵領域にマッピングされるようにアドレスをデコーディングするアドレスデコーダとを含むことを特徴とする。
【０００８】
本発明の目的を達成するために本発明の特徴によれば、半導体集積回路のための実速度テストシステムは、データキャッシュのデータ貯蔵領域が前記データキャッシュより小さいデータ貯蔵領域を有するオンチップメモリにマッピングされるようにアドレスをデコーディングし、前記オンチップメモリに貯蔵されたテストデータを利用して前記デコーディングされたアドレス別に前記データキャッシュに対するリード−ミス、書き込み−ミス、ラインフィルおよびキャストアウト動作を実行する半導体集積回路と、前記半導体集積回路の外部で前記データキャッシュの動作実行の結果を受け入れて前記データキャッシュの欠陥の可否を分析するテスト回路とを含むことを特徴とする。
【０００９】
本発明の目的を達成するために本発明の特徴によれば、半導体集積回路に内蔵されたオンチップメモリを利用してデータキャッシュを実速度テストする方法は、（ａ）前記データキャッシュのアドレス領域を前記データキャッシュより小さい前記オンチップメモリのアドレス領域にデコーディングする段階と、（ｂ）前記デコーディングされたアドレスに応答して前記オンチップメモリからテストデータを読み込んで前記データキャッシュのリード−ミス、書き込み−ミス、ラインフィルおよびキャストアウトをテストする段階とを含むことを特徴とする。
【００１０】
本発明の目的を達成するために本発明の特徴によれば、半導体集積回路に内蔵されたオンチップメモリを利用してデータキャッシュを実速度テストする方法は、（ａ）前記データキャッシュのアドレス領域を前記データキャッシュより小さい前記オンチップメモリのアドレス領域にデコーディングする段階と、（ｂ）前記デコーディングされたアドレスに応答して前記オンチップメモリからテストデータを読み込んで前記データキャッシュに対するリード−ミス、書き込み−ミス、ラインフィルおよびキャストアウト動作を実行し、前記実行の結果を前記半導体集積回路の外部のテスト装置に出力する段階と、（ｃ）前記テスト装置で前記データキャッシュの動作実行の結果を分析して前記データキャッシュの欠陥の可否を判断する段階とを含む。
【００１１】
望ましい実施形態において、前記データキャッシュがＮ個のアドレスを有する場合、２Ｎ個のアドレスを前記オンチップメモリのアドレス領域にデコーディングし、前記データキャッシュのアドレスビットのうちの少なくとも一つの以上がアドレスデコーディング時、考慮されないドントケアアドレスビット（ｄｏｎ’ｔ ｃａｒｅ ａｄｄｒｅｓｓ ｂｉｔｓ）として使用されることを特徴とする。
【００１２】
望ましい実施形態において、前記データキャッシュが２ｎ個のセットを有し、各々のセットが２ｓ個のブロックを有し、一つのキャッシュブロックサイズが２ｂバイトであり、全体キャッシュサイズが２（ｓ＋ｂ＋ｎ）バイトであり、前記オンチップメモリが単一セットサイズに該当する２（ｓ+ｂ）バイトのアドレス領域を有する場合、前記ドントケアアドレスビットにｎ＋１ビットが割り当てられ、前記オンチップメモリが単一ブロックサイズに該当する２ｂバイトのアドレス領域を有する場合、前記ドントケアアドレスビットにｎ＋ｓ＋１ビットが割り当てられることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、データキャッシュの各アドレスがオンチップメモリの各々の他のアドレスにデコーディングされるのに代えて、データキャッシュの複数個のアドレスが一定アドレス単位ごとにオンチップメモリの一つのアドレスにデコーディングされる。そしてデコーディングされたアドレスを使用してデータキャッシュの全体アドレス領域に対するリード−ミス、書き込み−ミス、リード−ミスおよびキャストアウト動作を全部テストすることができるので、データキャッシュより小さいサイズを有するオンチップメモリを有しも半導体集積回路に内蔵されているデータキャッシュに対する実速度テストを十分に実行することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明による実施形態を添付の図を参照して詳細に説明する。
【００１５】
本発明の新規したデータキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法は、データキャッシュのアドレスデコーディング時、一定ビットを考慮しなくデコーディングを実行して、データキャッシュの複数個のアドレスを所定のアドレス単位ごとにオンチップメモリの一つのアドレスにマッピングする。そして、デコーディングされたアドレスを利用してデータキャッシュのＮ個の互いに異なるアドレスに対するＮ回のリード−ミス（reａd−mｉｓｓ）、Ｎ回の書き込み−ミス（ｗｒｉｔｅ−mｉｓｓ）、そしてＮ回のラインフィルおよびキャストアウト動作に対するテストを全部実行する。その結果、データキャッシュより小さいサイズを有するオンチップメモリを有してもデータキャッシュに対する実速度テストを十分に実行することができるようになる。
【００１６】
図１は本発明が適用される半導体集積回路１００のブロック図として、半導体集積回路１００とテスタ１０との連結関係が示している。
【００１７】
図１を参照すれば、本発明による半導体集積回路１００はデータキャッシュ１１０と、データキャッシュ１１０が内蔵されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２０と、半導体集積回路１００を動作させるのに必要な高速のクロック信号を発生するＰＬＬ１３０と、半導体集積回路１００に内蔵されたオンチップメモリ１４０と、オンチップメモリ１４０の入出力動作を制御するメモリコントローラ１５０と、データキャッシュ１１０より小さいオンチップメモリ１４０でもデータキャッシュ１１０のすべての機能を十分にテストするように類似アドレス（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ）をデコーディングする類似アドレスデコーダ１６０と、複数個のロジックブロック１８０と、半導体集積回路１００に具備された機能ブロックの間で信号およびデータを伝達するバス１９０とを含む。
【００１８】
図１に示したように、最近開発されている半導体集積回路、いわゆるＳＯＣ（ｓｙｓｔｅｍ ｏｎ ａ ｃｈｉｐ）は数百ＭＨｚで動作するキャッシュ内蔵型ＣＰＵ１２０と、１００ＭＨｚ以上で動作するメモリコントローラ１５０などを具備している。高速ＳＯＣの最大遅延経路（ｃｒｉｔｉｃａｌ ｔｉｍｉｎｇ ｐａｔｈ）ではキャッシュラインフィル（ｃａｃｈｅ ｌｉｎｅ ｆｉｌｌ）とビクティムキャストアウト（ｖｉｃｔｉｍ ｃａｓｔ ｏｕｔ）があり、このような最大遅延経路をクロックを直接印加して実速度テストするのにはＩＯ（Ｉｎｐｕｔ Ｏｕｔｐｕｔ）特性上、様々な難しさが伴うので、本発明では数百ＭＨｚのクロックを外部テスタ１０で印加するに代えて内部ＰＬＬ１３０で発生された高速クロック信号を使用してＳＯＣをテストし、データキャッシュ１１０より小さいサイズのオンチップメモリ１４０を利用してテストを実行するように類似アドレスデコーダ１６０からデコーディングされた類似アドレス（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ）を利用してテストを実行する。すなわち、ＣＰＵ１２０はキャッシュミス時、オンチップメモリ１４０に貯蔵されたテストデータを読み込んでデータキャッシュ１１０のＮ個の互いに異なるアドレスに対するＮ回のリード−ミス（ｒｅａｄ−ｍｉｓｓ）、Ｎ回の書き込み−ミス（ｗｒｉｔｅ−ｍｉｓｓ）、Ｎ回のラインフィルおよびキャストアウト動作を実行する。そして、前記動作実行の結果は半導体集積回路１００の外部に連結されたテスタ１０に伝送されて、テスト結果が判断される。その結果、低速のテスタ１０を利用して高速の半導体集積回路１００をテストし、データキャッシュ１１０より小さいサイズのオンチップメモリ１４０を有して半導体集積回路１００に対するテストを十分に実行することができるようになる。
【００１９】
一般的に、半導体集積回路１００の性能は回路内の可能なすべての信号伝達経路（ｓｉｇｎａｌ ｐｒｏｐａｇａｔｉｏｎ ｐａｔｈ）のうちの最も長い経路によって決められ、これによって回路の性能が決められるので、これを最大遅延経路または臨界経路と言う。したがって、下では図１に示した半導体集積回路１００の最大遅延経路、すなわちデータキャッシュ１１０のキャッシュラインフィル（ｃａｃｈｅ ｌｉｎｅ ｆｉｌｌ）とビクティムキャストアウト（ｖｉｃｔｉｍ ｃａｓｔ ｏｕｔ）に対して説明するためにデータキャッシュ１１０に対する基本構造を説明する。
【００２０】
プログラムを分析すれば、与えられた時間の間最近書き込んだデータや命令語を再書き込みする傾向を有している。これを参照の地域性（ｌｏｃａｌｉｔｙ ｏｆ ｒｅｆｅｒｅｎｃｅ）という。このような現象はコンピュータプログラムでプログラムループとサブルーチンが多用されており、分岐命令語に接する前まで命令語が順次に要請されるという事実から容易に理解されることができる。このように、よく参照されるプログラムとデータは速度が速いキャッシュメモリに貯蔵される。ＣＰＵはメモリに接近する必要がある時、まずキャッシュを調査した後、所望するワードがキャッシュから発見されれば、これを読み込み、発見されなければ、メインメモリに接近する。ＣＰＵが参照しようとするデータや命令語がキャッシュに存在すれば、これをキャッシュヒット（ｃａｃｈｅ ｈｉｔ）といい、キャッシュに存在しなければ、これをキャッシュミス（ｃａｃｈｅ ｍｉｓｓ）という。キャッシュヒットが発生すれば、待機時間なしにＣＰＵが動作することができるが、キャッシュミスが発生すれば、メモリまで行ってデータや命令語を参照しなければならないので、時間遅延が発生するようになる。
【００２１】
キャッシュメモリの基本的な特性は速い接近時間として、キャッシュで必要なデータを捜すのにほとんど時間がかからないようにしなければならない。メインメモリからキャッシュメモリにデータを伝送することをマッピングプロセスといい、マッピングプロセスの種類によって、キャッシュは、完全アソシアティブキャッシュ（Ｆｕｌｌｙ ａｓｓｏｃｉａｔｉｖｅキャッシュ）、ダイレクトマッピングキャッシュ（Ｄｉｒｅｃｔ ｍａｐｐｅｄ ｃａｃｈｅ）、およびＮ−ウェイセット−アソシアティブキャッシュ（Ｎ−ｗａｙ ｓｅｔ−ａｓｓｏｃｉａｔｉｖｅ ｃａｃｈｅ）に区分される。
【００２２】
図２は図１に示したデータキャッシュ１１０の構造を示す図であり、Ｎ―ウェイセットアソシアティブデータキャッシュ（Ｎ−ｗａｙ ｓｅｔ ａｓｓｏｃｉａｔｉｖｅ ｄａｔａ ｃａｃｈｅ）の論理的構造が示している。
【００２３】
Ｎ−ウェイセット−アソシアティブキャッシュは、キャッシュメモリ内の一つのエントリーにマッピングされることができるブロックを一つのセット（ｓｅｔ）に縛ったことを意味する。例えば、２−ウェイセット−アソシアティブキャッシュは同一のブロックインデックス（ｂｌｏｃｋ ｉｎｄｅｘ）を有するブロックがキャッシュメモリに二つ貯蔵されることができるということを意味する。この場合、ダイレクトマッピングキャッシュよりミス率（ｍｉｓｓ ｒａｔｅ）を減らすことができるという長所があり、ダイレクトマッピングキャッシュは１−ウェイセット−アソシアティブキャッシュともいえる。
【００２４】
図２を参照すれば、Ｎ−ウェイセット−アソシアティブキャッシュで構成されたデータキャッシュ１１０はＮ個（すなわち、２ｎ個）のセットを有し、各々のセットはＳ個（すなわち２ｓ個）のブロックを有する。 ここで、一つのキャッシュブロックサイズは２ｂバイトであり、全体キャッシュサイズは２（ｓ＋ｂ＋ｎ）バイトである。例えば、ＡＲＭ社のＡＲＭ１０２０Ｅは３２Ｋｂｙｔｅｓのデータ（すなわち、３２Ｋｂｙｔｅｓ ＝２１５＝２（ｓ＋ｂ＋ｎ）＝２（４＋５＋６））を有し、６４−ウェイセット−アソシアティブ、３２バイトブロック構造で構成される。したがって、ＡＲＭ社のＡＲＭ１０２０Ｅのデータキャッシュのパラメータ値は各々Ｎ＝６４、ｎ=６（６４＝２ｎであるので、ｎ＝６）、Ｓ＝１６、ｓ＝４（１６＝２ｓであるので、ｓ=４）、ｂ=５（３２=２ｂであるので、ｂ＝５）と同様である。ＡＲＭ社のＡＲＭ１０２０Ｅに対するより詳細な構成は２００２年ＡＲＭ社で発行された“ＡＲＭ１０２０Ｅ Ｔｅｃｈｎｉｃａｌ Ｒｅｆｅｒｅｎｃｅ Ｍａｎｕａｌ”に詳細に開示されている。
【００２５】
図３は図２に示した構造を有するデータキャッシュ１１０のキャッシュミス発生例を示す図である。
【００２６】
図３を参照すれば、同一のセットインデックス（ｓｅｔ ｉｎｄｅｘ）Ｋを有し、かつ互いに異なるアドレスを有するＮ＋１個のデータアクセス（ｄａｔａ ａｃｃｅｓｓ）は、データキャッシュミス（ｄａｔａ ｃａｃｈｅ ｍｉｓｓ）を誘発するようになることが分かる。例えば、ＡＲＭ１０２０Ｅデータキャッシュの場合、ａｄｄｒｅｓｓ[８:５]が同一の６５個の互いに異なるアドレスデータをアクセスすれば、データキャッシュミスが発生するようになる。下で詳細に説明するが、本発明では、キャッシュミスの発生時、類似アドレスをデコーディングし、これを利用してテストを実行するようになる。類似アドレスのデコーディング方法は次のとおりである。
【００２７】
図４および図５は図１に示した類似アドレスデコーダ１６０のアドレスデコーディング例を示す図である。
【００２８】
従来にはデータキャッシュ１１０の各アドレスがオンチップメモリ１４０の各々の他のアドレスにデコーディングされなければならないので、テストしようとするデータキャッシュ１１０より大きいオンチップメモリ１４０が必ず具備されなければならなかった。しかし、本発明では、データキャッシュ１１０の各アドレスをオンチップメモリ１４０の各々の他のアドレスにデコーディングするに代えて、一定アドレス単位ごとにデータキャッシュ１１０の複数個のアドレスをオンチップメモリ１４０の一つのアドレスにデコーディングする。すなわち、本発明による類似アドレスデコーダ１６０はデータキャッシュ１１０の各アドレスに対するデコーディング時、アドレスのタグ（tａｇ）フィールドに含まれた一定ビットは考慮しなくデコーディングすることによって、データキャッシュ１１０の複数個のアドレスを一定アドレス単位ごとにオンチップメモリ１４０の一つのアドレスにマッピングさせる。
【００２９】
例えば、３２ビットアドレスに８ビットのドントケアアドレスビット（ｄｏｎ’ｔ ｃａｒｅ ａｄｄｒｅｓｓ ｂｉｔｓ）が存在する場合、下の表１のように２８個のアドレスごとに一つのオンチップメモリ１４０のアドレス値がデコーディングされる。表１に表示されたアドレスは８ビットのドントケアアドレスビットを有するアドレスデコーディング結果の一部分を表示したものである。
【００３０】
【表１】
2006004419.tif 000003
【００３１】
本発明では、データキャッシュ１１０のアドレスをオンチップメモリ１４０の各々の他のアドレスにデコーディングしなく、表１のようにデータキャッシュ１１０の複数個のアドレスをオンチップメモリ１４０の一つのアドレスにデコーディングする。その理由は、図７および図８で詳細に説明するが、本発明では表１のような方式によってデコーディングされたアドレスのみを有してもデータキャッシュ１１０の全アドレス領域に対するリードミス（ｒｅａｄ−ｍｉｓｓ）、書き込みミス（ｗｒｉｔｅ−ｍｉｓｓ）、ラインフィルおよびキャストアウト動作に対するテストを全部実行することができるためである。
【００３２】
このようにデータキャッシュ１１０の複数個のアドレスが一定個数ごとにオンチップメモリ１４０の一つのアドレスにデコーディングされることを類似アドレスデコーディング（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ ｄｅｃｏｄｉｎｇ）といい、類似アドレスデコーディングのために考慮しないドントケアアドレスビット（ｄｏｎ’ｔ ｃａｒｅ ａｄｄｒｅｓｓ ｂｉｔｓ）を類似アドレスビット（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ ｂｉｔｓ）という。そして、前記類似アドレスデコーディング結果得られたアドレスを類似アドレス（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ）といい、類似アドレス（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ）が占めるアドレス領域を類似アドレス領域（ｓｙｎｏｎｙｍ ａｄｄｒｅｓｓ ｓｐａｃｅ）という。
【００３３】
図４には単一セットサイズに該当する２（ｓ+ｂ）バイトのアドレス領域を有するオンチップメモリ１４０を有し、２（ｎ＋ｓ＋ｂ）バイトのアドレス領域を有するデータキャッシュ１１０をテストするのに必要なオンチップメモリ１４０の類似アドレス領域が表示されている。
【００３４】
図４で２Ｎセットサイズのアドレス領域を一つセットサイズのアドレス領域を有するオンチップメモリ１４０にマッピングするためには、類似アドレスデコーダ１６０が総ｎ＋１ビットの類似アドレスビットを持たなければならない。例えば、ＡＲＭ１０２０Ｅデータキャッシュをテストするのに使用されるオンチップメモリ１４０の大きさが単一セットサイズである５１２ バイトであれば、６４個セットの２倍である１２８個（すなわち、２（ｎ＋１）＝２７＝１２８）セットサイズのアドレス領域を一つのセットサイズのオンチップメモリ１４０にマッピングすることができるアドレスデコーディング結果を持たなければならない。
【００３５】
ＡＲＭ１０２０Ｅデータキャッシュの場合、ｎパラメータの値は６であるので、類似アドレスデコーダ１６０はｎ＋１に該当する７ビットの類似アドレスビットを考慮しなくアドレスデコーディングを実行する。その結果、図４のように２（ｎ＋ｓ＋ｂ＋１）バイトのアドレス領域を２（ｓ＋ｂ）バイトの物理的アドレス領域を有するオンチップメモリ１４０にマッピングすることができるようになる。この場合、類似アドレスデコーダ１６０が総ｎ＋１ビットの類似アドレスビットを有するので、データキャッシュ１１０の全体アドレス（ｆｕｌｌ ａｄｄｒｅｓｓ）がデコーディングされる必要がなく、それによって、デコーディング速度も速くなる。この際、もしタグフィールドのｎ＋１個のビットがデコーディングされない場合にはキャッシュミスが発生するようになる。
【００３６】
ここで、データキャッシュ１１０がＮセットサイズのアドレス領域を有するにもかかわらず、オンチップメモリ１４０が２Ｎセットサイズの仮想アドレス領域とマッピングされるようにアドレスをデコーディングする理由は、Ｎセットサイズのアドレスを有してデータキャッシュ１１０に対するリードミス（ｒｅａｄ−ｍｉｓｓ）および書き込みミス（ｗｒｉｔｅ−ｍｉｓｓ）に対するテストを実行し、残りのＮセットサイズのアドレスを使用してデータキャッシュ１１０に対するラインフィルおよびキャストアウトに対するテストを実行するためである。これに対する内容は図７および図８を参照して以下詳細に説明する。
【００３７】
続いて、図５を参照すれば、図５には単一ブロックサイズに該当する２ｂバイトのアドレス領域を有するオンチップメモリ１４０を有してデータキャッシュ１１０をテストするのに必要な類似アドレス領域が表示されている。２（ｎ＋ｓ＋１）個のブロックサイズのアドレス領域を一つのブロックサイズのアドレス領域にマッピングするためには、類似アドレスデコーダ１６０が総ｎ＋ｓ＋１ビットの類似アドレスビットを持たなければならない。
【００３８】
例えば、ＡＲＭ１０２０Ｅデータキャッシュをテストするのに使用されるオンチップメモリ１４０の大きさが単一ブロックサイズである３２バイトであれば、１０２４個ブロックの２倍である２０４８個（すなわち、２（ｎ＋ｓ＋１）＝２１１＝２０４８）ブロックサイズのアドレス領域を一つのブロックサイズのアドレス領域を有するオンチップメモリ１４０にマッピングすることができるアドレスデコーディング結果を持たなければならない。ＡＲＭ１０２０Ｅデータキャッシュの場合、ｎパラメータの値は６であり、ｓパラメータの値は４であるので、類似アドレスデコーダ１６０はｎ＋ｓ＋１に該当する１１ビットのアドレスを考慮しなくアドレスデコーディングを実行する。その結果、図５のように、２ｂバイトの物理的アドレス領域を有するオンチップメモリ１４０を有しても２（ｎ＋ｓ＋ｂ＋１）バイトのアドレス領域を有するデータキャッシュ１１０をテストすることができるようになり、このために、タグフィールドのｎ＋１ビットとセットインデックスのｓビットがデコーディングされない時にはキャッシュミスが発生するようになる。
【００３９】
上述のように、オンチップメモリ１４０が単一セットサイズに該当する２（ｓ+ｂ）バイトのアドレス領域を有する場合には総ｎ＋１ビットの類似アドレスビットを有する一方、オンチップメモリ１４０が単一ブロックサイズに該当する２ｂバイトのアドレス領域を有する場合には総ｎ＋ｓ＋１ビットの類似アドレスビットを有するようになる。すなわち、類似アドレスビットの大きさはオンチップメモリ１４０の大きさが小くなるほど大きくなり、図５のように、オンチップメモリ１４０が最小メモリサイズ（すなわち、単一ブロックサイズ）を有する場合の類似アドレスビットの大きさは次のように決められる。
【００４０】
図６は最小メモリサイズのオンチップメモリ１４０に対する類似アドレス領域の構成を示す図である。図６の（ａ）にはデータキャッシュ１１０の全体アドレス領域（ｆｕｌｌ ａｄｄｒｅｓｓ ｓｐａｃｅ）と、データキャッシュ１１０のサイズ、およびデータキャッシュ１１０をテストするのに使用されるオンチップメモリ１４０のサイズが各々示している。そして、図６の（ｂ）にはデータキャッシュ１１０より小さいサイズのオンチップメモリ１４０にデータキャッシュ１１０をテストするのに必要な類似アドレス領域およびデコーディングアドレス領域が示している。
【００４１】
図６を参照すれば、類似アドレス領域のサイズＡＤＤ＿ＳＩＺＥＳＹＮＯＮＹＭとオンチップメモリ１４０のアドレス領域のサイズＡＤＤ＿ＳＩＺＥＯＮ−ＣＨＩＰとの和は、式(１)のようにデータキャッシュ１１０のアドレス領域のサイズＡＤＤ＿ＳＩＺＥＤ−ＣＡＣＨＥより大きく構成されなければならないことが分かる。
【００４２】
【数１】
2006004419.tif 000004
【００４３】
すなわち、本発明でデータキャッシュ１１０のアドレス領域のサイズＡＤＤ＿ＳＩＺＥＤ−ＣＡＣＨＥは２ｎ＋ｓ＋ｂバイトであるので、類似アドレスサイズＡＤＤ＿ＳＩＺＥＳＹＮＯＮＹＭとオンチップメモリ１４０のアドレスサイズＡＤＤ＿ＳＩＺＥＯＮ−ＣＨＩＰの和が２ｎ＋ｓ＋ｂ＋１バイト（ここで、ｎ＋ｓ＋ｂ＋１＝{ｎ＋１＋ｓ−ｘ}＋ｘ＋ｂ以上になるように構成してアドレスをデコーディングする。
【００４４】
例えば、最小メモリサイズに該当する単一ブロックサイズ（すなわち、３２バイト）の大きさを有するオンチップメモリ１４０を利用してＡＲＭ１０２０Ｅデータキャッシュをテストするためには、１０２４個ブロックの２倍である２０４８個（すなわち、２（ｎ＋ｓ＋１）＝２１１＝２０４８）ブロックサイズのアドレス領域を一つのブロックサイズのアドレス領域を有するオンチップメモリ１４０にマッピング可能でなければならない。したがって、式１のように、ｎ＋ｓ＋１に該当する１１ビットの類似アドレスビットを有してアドレスデコーディングを実行すれば、図５のように２ｂバイトの物理的アドレス領域を有するオンチップメモリ１４０がまるで２（ｎ＋ｓ＋ｂ＋１）バイトのアドレス領域を有するオンチップメモリ１４０のように動作することができるようになって、小さいサイズのオンチップメモリ１４０を有しても、これより大きいデータキャッシュ１１０を十分にテストすることができるようになる。
【００４５】
図７は本発明の望ましい実施形態によるデータキャッシュ１１０の実速度テスト方法を概略的に示す図であり、図８は本発明の望ましい実施形態によるデータキャッシュ１１０の実速度テストの詳細流れ図である。図７および図８には単一セットサイズを有するオンチップメモリ１４０のための実速度テスト方法が示している。
【００４６】
図７および図８を参照すれば、本発明によるデータキャッシュの実速度テスト方法は先にテストを実行する前にデータキャッシュ１１０をオフさせた後（１１００段階）、オンチップメモリ１４０にテストパターン０（Ｐａｔｔｅｒｎ０）を貯蔵する（１１２０段階）。そして、データキャッシュ１１０をオンさせる（１１４０段階）。次いで、データキャッシュ１１０にリードミスが発生するようになれば、図７の（ａ）のように類似アドレス領域に属するデータキャッシュ１１０のＮ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１を読み込み、これらアドレスが示すオンチップメモリ１４０の該当のアドレスに貯蔵されているテストパターン０をデータキャッシュ１１０の該当のアドレス領域に貯蔵するラインフィルを実行する（１２００段階）。次いで、リードミスがＮ回実行されたか否か（すなわち、オンチップメモリ１４０からテストパターン０を読み込む動作がＮ回実行されたか否か）を判別する（１２５０段階）。
【００４７】
１２５０段階での判別結果、リードミスがＮ回実行されなければ、該当のキャッシュ１１０に不良が発生したと判定する。そして、リードミスがＮ回実行されたら、１２００ 段階で読み込んだアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１を再び読み込む。そして、該当のアドレスにテストパターン０が正しく貯蔵されているか否かを比べて（１３００段階）、前記比較結果に基づいてリードヒットがＮ回発生されたか否かを判別する（１３５０段階）。
【００４８】
１３５０段階での判別結果、リードヒットがＮ回発生しなければ、該当のキャッシュ１１０に不良が発生したと判定する。そして、リードヒットがＮ回発生したら、図７の（ｂ）のように、Ｎ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１の各々に対して互いに異なる値を有する第１乃至第Ｎテストパターン(Ｐａｔｔｅｒｎ１〜ＰａｔｔｅｒｎＮ)を書き込んだ後、書き込みヒットが発生されたか否かを比べる（１４００段階）。ここで、第１乃至第Ｎテストパターンは互いに異なる値を有するように一定数字を足すか、引くことによって発生されたデータを使用する。
【００４９】
１４００段階での比較結果、書き込みヒットがＮ回発生しなければ、該当のキャッシュ１１０に不良が発生したと判定する。そして、書き込みヒットがＮ回発生したら、図７の（ｃ）および（ｄ）のように前記Ｎ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１とは異なるアドレス値を有するＮ個のアドレスＡＤＤ＿Ｎ〜ＡＤＤ＿２Ｎ−１を読み込んで各アドレス別にラインフィルを実行すると同時にキャストアウトをＮ回実行する（１５００段階）。１５００段階でラインフィルおよびキャストアウトに使用されるＮ個のアドレスＡＤＤ＿Ｎ〜ＡＤＤ＿２Ｎ−１は先で使用されたＮ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１と同一な類似アドレス領域に属するが（すなわち、先で使用されたＮ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１と同一のオンチップメモリ１４０のアドレス領域にマッピングされるが）先で使用されたＮ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１とは各々異なるアドレス値を有する。
【００５０】
その結果、オンチップメモリ１４０に貯蔵されていたテストパターン０はデータキャッシュ１１０のセット０に満たされるようになり、セット０に貯蔵されていたテストパターン１(Ｐａｔｔｅｒｎ１)はオンチップメモリ１４０にキャストアウトされる。そして、オンチップメモリ１４０に貯蔵されていたテストパターン１はデータキャッシュ１１０のセット１に満たされるようになり、セット１に貯蔵されていたテストパターン２(Ｐａｔｔｅｒｎ２)はオンチップメモリ１４０にキャストアウトされる。すなわち、データキャッシュ１１０にリードミスが発生されるごとにテストパターンｉ−１(Ｐａｔｔｅｒｎｉ−１)がラインフィルされ、テストパターンｉ(Ｐａｔｔｅｒｎｉ)がキャストアウトされる。そして、Ｎ個のアドレスＡＤＤ＿Ｎ〜ＡＤＤ＿２Ｎ−１の各々に対してラインフィルされるテストパターンｉ−１とキャストアウトされるテストパターンｉが一致するか否かが判別される（１５５０段階）。
【００５１】
１５５０段階での比較結果、ラインフィルされるテストパターンｉ−１とキャストアウトされるテストパターンｉが互いに一致しなければ、該当のキャッシュ１１０に不良が発生したと判定する。そして、ラインフィルされるテストパターン ｉ−１とキャストアウトされるテストパターンｉが互いに一致すれば、該当のキャッシュ１１０は正常であると判別する。以上で説明した実速度テスト方法は、テストに使用されたデータキャッシュ１１０はライトバックキャッシュ（ｗｒｉｔｅ−ｂａｃｋ ｃａｃｈｅ）であり、リードミス時、ラインフィルの内容が修正されたダーティーコピー（ｄｉｒｔｙ ｃｏｐｙ）のキャストアウトより優先し、テストプログラムは命令語キャッシュ（ｉｎｓｔｒｕｃｔｉｏｎ ｃａｃｈｅ）に全部ローディングされているという仮定下で実行される。
【００５２】
上述のように、本発明によるデータキャッシュの実速度テスト方法はデータキャッシュ１１０がＮ個のアドレス領域を有する場合、２Ｎ個のアドレス領域をオンチップメモリ１４０のアドレス領域にデコーディングする。そしてＮ個のアドレスＡＤＤ＿１〜ＡＤＤ＿Ｎ−１を利用してデータキャッシュ１１０に対するＮ回のリード−ミス（ｒｅａｄ−ｍｉｓｓ）とＮ回の書き込み−ミス（ｗｒｉｔｅ−ｍｉｓｓ）に対するテストを実行し、残りのＮ個のアドレスＡＤＤ＿Ｎ〜ＡＤＤ＿２Ｎ−１を利用してデータキャッシュ１１０に対するラインフィルおよびキャストアウト動作に対するテストを実行する。その結果、データキャッシュ１１０より小さいサイズを有するオンチップメモリ１４０を有してもデータキャッシュ１１０を十分にテストすることができるようになる。
【００５３】
以上では、本発明による回路の構成および動作を上述の説明および図に従って示したがこれは例をあげて説明したことに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な変化および変更が可能であることはもちろんである。
【００５４】
本発明はまたコンピュータで読み出すことができる記録媒体にコンピュータが読み出すことができるコードとして実現可能である。コンピュータが読み出す記録媒体はコンピュータシステムによって読み出されることができるデータが貯蔵されるすべての種類の記録装置を含む。コンピュータが読み出すことができる記録媒体の例としてはＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー(登録商標)ディスク、光データ貯蔵装置などがあり、またキャリアウエーブ（例えばインターネットを通じた伝送）の形態に実現されることも含む。また、コンピュータが読み出すことができる記録媒体はネットワークで連結されたコンピュータシステムに分散されて、分散方式によってコンピュータが読み出すことができるコードに貯蔵されて実行されることができる。
【図面の簡単な説明】
【００５５】
【図１】本発明が適用される半導体集積回路のブロック図である。
【図２】図１に示したデータキャッシュの構造を示す図である。
【図３】図２に示した構造を有するデータキャッシュのキャッシュミス発生例を示す図である。
【図４】図１に示した類似アドレスデコーダのアドレスデコーディング例を示す図である。
【図５】図１に示した類似アドレスデコーダのアドレスデコーディング例を示す図である。
【図６】最小メモリサイズのオンチップメモリに対する類似アドレス領域の構成を示す図である。
【図７】本発明の望ましい実施形態によるデータキャッシュの実速度テスト方法を概略的に示す図である。
【図８】本発明の望ましい実施形態によるデータキャッシュの実速度テスト方法の詳細流れ図である。
【符号の説明】
【００５６】
１００    半導体集積回路
１１０    データキャッシュ
１２０    中央処理装置ＣＰＵ
１４０    オンチップメモリ
１６０    類似アドレスデコーダ
【図１】
2006004419.tif 000005
【図２】
2006004419.tif 000006
【図３】
2006004419.tif 000007
【図４】
2006004419.tif 000008
【図５】
2006004419.tif 000009
【図６】
2006004419.tif 000010
【図７】
2006004419.tif 000011
【図８】
2006004419.tif 000012