(57)【要約】【課題】内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することができる中央演算処理装置及びマイクロコンピュータを提供すること【解決手段】中央演算処理装置３０は、キャッシュメモリ４０と、そのキャッシュメモリ４０に接続されるテスト回路５０と、結果格納領域６０とを備える。このテスト回路５０は、キャッシュメモリ４０を検査するためのプログラマブルなテストパターン５５を格納し、そのテストパターン５５に従って、キャッシュメモリ４０に対するデータの読み書きを指示する。キャッシュメモリ４０から読み出される結果データＲＳＴは、結果格納領域６０に格納される。この結果格納領域６０は、複数のレジスタ７０からなるシフトレジスタを備える。複数の結果データＲＳＴは、この複数のレジスタ７０に順次格納される。【選択図】      図２
2005309787.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリと、
前記キャッシュメモリに接続されるテスト回路と、
結果格納領域と
を具備し、
前記テスト回路は、前記キャッシュメモリを検査するためのプログラマブルなテストパターンを格納し、前記テストパターンに従って、前記キャッシュメモリに対するデータの読み書きを指示し、
前記キャッシュメモリから読み出される結果データは、前記結果格納領域に格納される
中央演算処理装置。
【請求項２】
請求項１に記載の中央演算処理装置において、
前記結果格納領域は、複数のレジスタからなるシフトレジスタを備え、
複数の前記結果データは、前記複数のレジスタに順次格納される
中央演算処理装置。
【請求項３】
請求項１又は２に記載の前記中央演算処理装置と、
前記中央演算処理装置に接続される入出力ポートと
を具備し、
前記テストパターンは、前記入出力ポートから前記テスト回路に書き込まれ、
前記結果データは、前記結果格納領域から前記入出力ポートに出力される
マイクロコンピュータ。
【請求項４】
第１クロック周波数で動作する第１回路ブロックと、
前記第１クロック周波数より高い第２クロック周波数で動作する第２回路ブロックと
を具備し、
前記第２回路ブロックは、
キャッシュメモリと、
前記キャッシュメモリに接続されるテスト回路と、
結果格納領域と
を備え、
前記テスト回路は、前記キャッシュメモリを検査するためのプログラマブルなテストパターンを格納し、前記テストパターンに従って、前記第２クロック周波数で前記キャッシュメモリに対するデータの読み書きを指示し、
前記キャッシュメモリから読み出される結果データは、前記結果格納領域に格納される
マイクロコンピュータ。
【請求項５】
請求項４に記載のマイクロコンピュータにおいて、
前記結果格納領域は、複数のレジスタからなるシフトレジスタを備え、
複数の前記結果データは、前記複数のレジスタに順次格納される
マイクロコンピュータ。
【請求項６】
請求項５に記載のマイクロコンピュータにおいて、
前記複数のレジスタの数は、前記第２クロック周波数の前記第１クロック周波数に対する比以上である
マイクロコンピュータ。
【請求項７】
請求項４乃至６のいずれかに記載のマイクロコンピュータにおいて、
前記第１回路ブロックは、前記第２回路ブロックに接続された入出力ポートを備え、
前記テストパターンは、前記第１クロック周波数に基づいて、前記入出力ポートから前記テスト回路に書き込まれ、
前記結果データは、前記第１クロック周波数に基づいて、前記結果格納領域から前記入出力ポートに出力される
マイクロコンピュータ。
【請求項８】
請求項７に記載のマイクロコンピュータにおいて、
前記第２回路ブロックは、前記結果格納領域に接続されたセレクタ回路を更に備え、
前記セレクタ回路は、前記第１クロック周波数に基づいて、複数の前記結果データを順番に前記結果格納領域から前記入出力ポートに出力する
マイクロコンピュータ。
【請求項９】
請求項３乃至８のいずれかに記載のマイクロコンピュータにおいて、
前記テストパターンは、前記キャッシュメモリに書き込まれる書き込みデータを含み、
前記結果格納領域は、前記テスト回路内部に形成され、前記結果データ及び前記書き込みデータを格納する
マイクロコンピュータ。
【請求項１０】
請求項３乃至９のいずれかに記載のマイクロコンピュータにおいて、
前記キャッシュメモリに接続されたＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路を更に具備する
マイクロコンピュータ。
【請求項１１】
第１クロックで動作する中央演算処理装置を備えるマイクロコンピュータにおいて、
（Ａ）キャッシュメモリを検査するためのテストパターンを第１記憶領域に書き込むステップと、
（Ｂ）前記テストパターンに従って、前記第１クロックで、前記キャッシュメモリに対してデータの読み書きを実行するステップと、
（Ｃ）前記キャッシュメモリから読み出される結果データを第２記憶領域に格納するステップと、
（Ｄ）前記結果データを前記第２記憶領域から前記マイクロコンピュータ外部に出力するステップと
を具備する
マイクロコンピュータの検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央演算処理装置及びマイクロコンピュータに関し、特に、内蔵キャッシュメモリを検査する回路を備えた中央演算処理装置及びマイクロコンピュータに関する。
【背景技術】
【０００２】
近年、マイクロコンピュータの処理能力を高めるため、キャッシュメモリがＣＰＵに内蔵され、また、そのＣＰＵが動作するクロック周波数（内部クロック）の向上が要求されている。ＣＰＵ外部の回路にはＣＰＵほどの動作速度は必要とされないため、また、過去に開発されたマクロ等の資産を流用するため、内部クロックより低い周波数のクロック（外部クロック）が、それらＣＰＵ外部の回路には供給される。
【０００３】
このようなマイクロコンピュータに対して、良品不良品を選別するため動作テストが行われるが、その動作テストには、キャッシュメモリのテストも含まれる。従来、キャッシュメモリを検査するためのモードとして、「キャッシュテストモード（ＣＴＭ；Ｃａｃｈｅ  Ｔｅｓｔ  Ｍｏｄｅ）」と「ＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）モード」が知られている。
【０００４】
キャッシュテストモードによれば、マイクロコンピュータ外部から入力される信号によって、アドレスの指定やテストデータの書き込みが行われる。よって、データの読み書きは、「外部クロック」に基づいて実行される。このように、メモリを外部から直接アクセスしテストするテスト方法が、特許文献１に開示されている。
【０００５】
一方、ＢＩＳＴモードによれば、ＣＰＵに内蔵されるテストパターンに従い、「内部クロック」に基づいてキャッシュメモリのテストが行われる。このテストパターンは、キャッシュメモリを検査するためのデータ／アドレス／コマンド群から成り、予めＣＰＵに作り込まれ固定される。このＢＩＳＴモードによれば、ＣＰＵ全体として不具合があるかどうかが検出され、最終的な結果、すなわち良否、が出力される。
【０００６】
【特許文献１】特開昭６０−１８９０４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
内部クロックで動作するＣＰＵに内蔵されるキャッシュメモリは、内部クロックに同期して動作する。このキャッシュメモリのテストとして、キャッシュメモリの特性から、時間的、あるいは位置的に連続してアクセスを行う「連続アクセス」のテストが必要とされる。例えば、同一のワード線に繋がった隣接するメモリセルに対して連続的にアクセスが行われるテストが必要とされる。また、例えば、同一のビット線に対して連続的に書き込み／読み込みが行われるテストが必要とされる。
【０００８】
しかしながら、キャッシュテストモードにおけるキャッシュメモリに対する連続的なアクセスは、外部クロックに基づいた連続アクセスであり、内部クロックの観点では連続的なアクセスではない。つまり、書き込みデータやアクセス対象のアドレスは、内部クロックの数サイクルの間固定される。従って、内部クロックに基づいた「連続アクセス」によって引き起こされる不具合をテストすることができない。また、ＢＩＳＴモードでは、良否の結果を出力するのみであるため、キャッシュメモリのどの部分が不良であったのか解析することができない。よって、ファンクションテストで複合事象を発生させることによって、不具合を検出する必要があった。ここで、そのファンクションテストで用いられるファンクションパタンの作成の難易度は高く、また、その作成に要する時間も長かった。
【０００９】
したがって、本発明の目的は、内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することができる中央演算処理装置及びマイクロコンピュータを提供することにある。
【００１０】
また、本発明の他の目的は、キャッシュメモリの不具合の原因を解析することができる中央演算処理装置及びマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明に係る中央演算処理装置（３０）は、キャッシュメモリ（４０）と、そのキャッシュメモリ（４０）に接続されるテスト回路（５０）と、結果格納領域（６０）とを備える。このテスト回路（５０）は、キャッシュメモリ（４０）を検査するためのプログラマブルなテストパターン（５５）を格納し、そのテストパターン（５５）に従って、キャッシュメモリ（４０）に対するデータの読み書きを指示する。キャッシュメモリ（４０）から読み出される結果データ（ＲＳＴ）は、結果格納領域（６０）に格納される。この結果格納領域（６０）は、複数のレジスタ（７０）からなるシフトレジスタを備える。複数の結果データ（ＲＳＴ）は、この複数のレジスタ（７０）に順次格納される。
【００１３】
このように、中央演算処理装置（３０）の動作クロック（ＣＬＫ２）に基づいて、キャッシュメモリ（４０）へのテストデータの読み書きが実行される。従って、中央演算処理装置（３０）の動作クロック（ＣＬＫ２）に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ（４０）の不具合を検出することが可能となる。
【００１４】
本発明に係るマイクロコンピュータ（１０）は、以上のような中央演算処理装置（３０）と、その中央演算処理装置（３０）に接続される入出力ポート（２５）とを備える。テストパターン（５５）は、入出力ポート（２５）からテスト回路（５０）に書き込まれる。また、結果データ（ＲＳＴ）は、結果格納領域（６０）から入出力ポート（２５）に出力される。
【００１５】
このように、全ての結果データ（ＲＳＴ）はマイクロコンピュータ（１０）から出力されるので、キャッシュメモリ（４０）の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。更に、テストパターン（５５）は、プログラマブルであり、事前には固定されない。ユーザは、出力された結果を見て、テスタから新たなテストパターン（５５）を設定してもよい。このように、ユーザは、キャッシュメモリ（４０）の不具合の原因を容易に絞り込むことが可能となる。
【００１６】
本発明に係るマイクロコンピュータ（１０）は、第１クロック周波数（ＣＬＫ１）で動作する第１回路ブロック（１１）と、第２クロック周波数（ＣＬＫ２）で動作する第２回路ブロック（１２）とを備える。第２クロック周波数（ＣＬＫ２）は、第１クロック周波数（ＣＬＫ１）より高い。この第２回路ブロック（１２）は、キャッシュメモリ（４０）と、キャッシュメモリ（４０）に接続されるテスト回路（５０）と、結果格納領域（６０）とを備える。このテスト回路（５０）は、キャッシュメモリ（４０）を検査するためのプログラマブルなテストパターン（５５）を格納し、そのテストパターン（５５）に従って、第２クロック周波数（ＣＬＫ２）でキャッシュメモリ（４０）に対するデータの読み書きを指示する。キャッシュメモリ（４０）から読み出される結果データ（ＲＳＴ）は、結果格納領域（６０）に格納される。
【００１７】
この結果格納領域（６０）は、複数のレジスタ（７０）からなるシフトレジスタを備える。複数の結果データ（ＲＳＴ）は、この複数のレジスタ（７０）に順次格納される。複数のレジスタ（７０）の数は、第２クロック周波数（ＣＬＫ２）の第１クロック周波数（ＣＬＫ１）に対する比以上であると好適である。
【００１８】
本発明に係るマイクロコンピュータ（１０）において、第１回路ブロック（１１）は、第２回路ブロック（１２）に接続された入出力ポート（２５）を備える。この時、テストパターン（５５）は、第１クロック周波数（ＣＬＫ１）に基づいて、入出力ポート（２５）からテスト回路（５０）に書き込まれる。また、結果データ（ＲＳＴ）は、第１クロック周波数（ＣＬＫ１）に基づいて、結果格納領域（６０）から入出力ポート（２５）に出力される。第２回路ブロック（１２）は、結果格納領域（６０）に接続されたセレクタ回路（７５）を更に備えてもよい。この時、セレクタ回路（７５）は、第１クロック周波数（ＣＬＫ１）に基づいて、複数の結果データ（ＲＳＴ）を順番に結果格納領域（６０）から入出力ポート（２５）に出力する。
【００１９】
テストパターン（５５）は、キャッシュメモリ（４０）に書き込まれる書き込みデータを含む。本発明に係るマイクロコンピュータ（１０）において、結果格納領域（６０’）は、テスト回路（５０’）内部に形成されてもよい。この時、結果格納領域（６０’）は、結果データ（ＲＳＴ）及び書き込みデータを格納する。これにより、格納領域を削減することが可能となる。
【００２０】
本発明に係るマイクロコンピュータ（１０）は、キャッシュメモリ（４０）に接続されたＢＩＳＴ（Ｂｕｉｌｔ−ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路を更に備えてもよい。この場合、ＢＩＳＴモードに従った検査の後に、本発明に係る検査が実行される。これにより、得られた結果データ（ＲＳＴ）に基づいて不具合が詳細に解析される。
【００２１】
本発明に係るマイクロコンピュータ（１０）の検査方法は、第１クロック（ＣＬＫ２）で動作する中央演算処理装置（３０）を備えるマイクロコンピュータ（１０）の検査方法である。この検査方法は、（Ａ）キャッシュメモリ（４０）を検査するためのテストパターン（５５）を第１記憶領域（５０）に書き込むステップと、（Ｂ）そのテストパターン（５５）に従って、第１クロック（ＣＬＫ２）で、キャッシュメモリ（４０）に対してデータの読み書きを実行するステップと、（Ｃ）キャッシュメモリ（４０）から読み出される結果データ（ＲＳＴ）を第２記憶領域（６０）に格納するステップと、（Ｄ）結果データ８８ＲＳＴ）を第２記憶領域（６０）からマイクロコンピュータ（１０）外部に出力するステップとを備える。
【発明の効果】
【００２２】
本発明に係る中央演算処理装置及びマイクロコンピュータによれば、内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することが可能となる。
【００２３】
本発明に係る中央演算処理装置及びマイクロコンピュータによれば、ファンクションパタンを用いることなく、キャッシュメモリの不具合の原因を解析することが可能となる。
【発明を実施するための最良の形態】
【００２４】
添付図面を参照して、本発明による中央演算処理装置（ＣＰＵ；Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及び、それを備えるマイクロコンピュータを説明する。
【００２５】
図１は、本発明に係るマイクロコンピュータの構成を示すブロック図である。図１において、マイクロコンピュータ１０は、第１回路ブロック１１及び第２回路ブロック１２を備える。第１回路ブロック１１は周辺回路を備え、その周辺回路は、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路により生成される所定の周波数のクロック信号により駆動される。以下、周辺回路に供給されるこのクロック信号は、「外部クロック：ＣＬＫ１」あるいは「第１クロック」と参照される。
【００２６】
一方、第２回路ブロック１２は、ＣＰＵを備える。このＣＰＵは内蔵のＰＬＬ回路を備え、外部から入力される外部クロックＣＬＫ１は、この内蔵ＰＬＬ回路により高速化されてＣＰＵ内部の回路に供給される。つまり、ＣＰＵは、外部クロックＣＬＫ１の周波数よりも高いクロック周波数で駆動される。以下、ＣＰＵが動作するこのクロック信号は、「内部クロック：ＣＬＫ２」と参照される。例えば、内部クロックＣＬＫ２の周波数は、外部クロックＣＬＫ１の周波数の４倍である。
【００２７】
また、第２回路ブロック１２は、複数のキャッシュメモリを備える。例えば、ＣＰＵは、１次キャッシュ（Ｌ１）を内蔵し、この１次キャッシュは内部クロックＣＬＫ２で動作する。この１次キャッシュは、命令キャッシュとデータキャッシュに分かれていてもよい。また、２次キャッシュ（Ｌ２）が第２回路ブロック１２内に形成されてもよい。この２次キャッシュは、内部クロックＣＬＫ２で動作してもよいし、例えば、内部クロックＣＬＫ２の半分の周波数で動作してもよい。このように、第２回路ブロック１２は、内部クロックＣＬＫ２や、外部クロックＣＬＫ１よりも高い周波数のクロック（以下、「第２クロック」と参照される）で動作する。
【００２８】
図１に示されるように、第１回路ブロック１１は、外部ＲＡＭ１５や入出力ポート２５を含む。この入出力ポート２５は、マイクロコンピュータ１０に対するデータの入出力に用いられる。また、第２回路ブロック１２は、キャッシュメモリ４０、テスト回路５０、及び結果格納領域６０を備える。これら第２回路ブロック１２内の回路は、データバス２０を介して、外部ＲＡＭ１５や入出力ポート２５に接続される。また、テスト回路５０及び結果格納領域６０は、キャッシュメモリ４０に接続される。
【００２９】
テスト回路５０は、キャッシュメモリ４０を検査するためのテストパターン５５を格納する。このテストパターン５５は、外部クロックＣＬＫ１に基づき、入出力ポート２５からデータバス２０を介してテスト回路５０に書き込まれる。すなわち、このテストパターン５５はプログラマブルである。テスト回路５０は、このテストパターン５５に従い、外部クロックＣＬＫ１より高速な第２クロックで、キャッシュメモリ４０に対するデータの読み書きを指示する。キャッシュメモリ４０からデータが読み出される場合、その読み出されたデータは結果格納領域６０に格納される。そして、そのデータは、外部クロックＣＬＫ１に基づき、結果格納領域６０から入出力ポート２５に出力される。
【００３０】
以下、本発明に係るマイクロコンピュータ１０の構成、及びテスト回路５０の動作について更に詳しく説明する。以下の説明において、ＣＰＵに内蔵される１次キャッシュ（Ｌ１）に対するテスト動作が代表的に示される。２次キャッシュ（Ｌ２）に対するテスト動作も、以下の説明と同様に行われる。その場合、テスト回路５０は、Ｌ１とＬ２とに別々に設けられてもよい。
【００３１】
（第一の実施の形態）
図２は、本発明の第一の実施の形態に係るＣＰＵの構成を示すブロック図である。このＣＰＵ３０は内蔵ＰＬＬ（図示されない）を備え、この内蔵ＰＬＬは、外部から入力された外部クロックＣＬＫ１を高速化し、内部クロックＣＬＫ２を生成する。
【００３２】
図２に示されるように、ＣＰＵ３０は、１次キャッシュとしてのキャッシュメモリ４０、テスト回路５０、結果格納領域６０、及びセレクタ回路７５を備える。キャッシュメモリ４０は、データバス２０（図１参照）に接続され、通常時はＣＰＵ３０の高速動作のために用いられる。テスト回路５０は、データバス２０及びキャッシュメモリ４０に接続され、内部クロックＣＬＫ２で動作する。結果格納領域６０は、キャッシュメモリ４０のセンスアンプにバスドライバを介して接続され、テスト動作時にキャッシュメモリ４０から読み出されるデータを格納する。セレクタ回路７５は、データバス２０、テスト回路５０、及び結果格納領域６０に接続される。
【００３３】
テスト回路５０は、キャッシュメモリ４０を検査するためのテストパターン５５を格納する。図３は、このテストパターン５５の内容の一例を示すテーブルである。図３に示されるように、テストパターンは、キャッシュメモリ４０に書き込まれる書き込みデータ、アクセス対象のメモリセルのアドレス、及びコマンドを含む。コマンドの列において、「Ｒ」はリードを示し、「Ｗ」はライトを示す。
【００３４】
図３に示されるテストパターン５５によれば、８連続の命令が実行される。すなわち、アドレスＡ１におけるデータが読み出され、アドレスＡ２におけるデータが読み出され、アドレスＡ３におけるデータが読み出され、アドレスＡ４にデータ「０」が書き込まれ、アドレスＡ５にデータ「１」が書き込まれ、アドレスＡ６におけるデータが読み出され、アドレスＡ７におけるデータが読み出され、アドレスＡ８におけるデータが読み出される。
【００３５】
このテストパターン５５が示す内容は、ユーザが自由に設定し得る。例えば、連続的に実行される命令の数は１６個でもよい。また、アドレスの指定において、始点と飛び幅が指定されてもよい。ここで、「連続アクセス」に起因する不良を検出するため、同一のワード線や同一のビット線が連続的にアクセスされるように、アドレスを指定することが好適である。また、書き込みデータは、キャッシュテストモードにおいて予め設定され、テストパターン５５には、連続的にデータを読み出すコマンド（Ｒ）のみが設定されてもよい。
【００３６】
本実施の形態において、テストパターン５５は、テスト毎に外部から設定され得る。つまり、テストパターン５５は、プログラマブルである。具体的には、まず、テスト回路５０に入力されるテスト設定イネーブル信号ＴＥ（図２参照）がＨｉｇｈに設定される。これにより、データバス２０から入力されるデータは、テスト回路５０へ供給されるようになる。ユーザは、入出力ポート２５に接続されたテスタ（端末）を用いて、テストパターン５５をマイクロコンピュータ１０に入力する。入力されたテストパターン５５は、入出力ポート２５及びデータバス２０を介して、テスト回路５０に書き込まれる。ここで、このテストパターン５５の書き込みは、外部クロックＣＬＫ１に基づいて実行される。
【００３７】
テストパターン５５の書き込みが完了した後、キャッシュメモリ４０のテスト動作が実行される。具体的には、まず、テスト回路５０に入力される連続テストモード信号ＴＭがＨｉｇｈに設定される。連続テストモード信号ＴＭに応答して、テスト回路５０は、複数のテスト信号ＳＴを連続してキャッシュメモリ４０に出力する。これら複数のテスト信号ＳＴのそれぞれは、図３に示された複数の命令を示す。つまり、テスト回路５０は、テストパターン５５に従い、キャッシュメモリ４０に対するデータの読み書きを指示する。これにより、キャッシュメモリ４０の所定のアドレスには書き込みデータが書き込まれたり、キャッシュメモリ４０の所定のアドレスからデータが読み出されたりする。ここで、テスト回路５０による指示、すなわち、キャッシュメモリ４０に対するデータの読み書きは、内部クロックＣＬＫ２に基づいて実行される。
【００３８】
上記データの読み書き動作において、キャッシュメモリ４０から少なくとも１つのデータ（以下、結果データＲＳＴと参照される）が読み出された場合、その結果データＲＳＴは結果格納領域６０に格納される。図２に示されるように、この結果格納領域６０は、例えば、複数のレジスタ７０を備える。複数のレジスタ７０の各々は、１つの結果データＲＳＴを格納する。つまり、読み出される結果データＲＳＴが１ビットデータであれば、各レジスタ７０は１ビットのレジスタであり、読み出される結果データＲＳＴが６４ビットデータであれば、各レジスタ７０は６４ビットのレジスタである。結果データＲＳＴが複数ビットのデータである場合、その結果データＲＳＴは、レジスタ７０にパラレルに入力される。
【００３９】
キャッシュメモリ４０から複数の結果データＲＳＴが読み出される場合、その複数の結果データＲＳＴは、複数のレジスタ７０に順次格納される。つまり、これら複数のレジスタ７０は、図２に示されるように、シフトレジスタを構成している。例えば、読み出される結果データＲＳＴが６４ビットデータの場合、その結果データＲＳＴは複数のレジスタ７０をパラレルにシフトする。その結果、複数の結果データＲＳＴは、全て複数のレジスタ７０に格納される。この複数の結果データＲＳＴの結果格納領域６０への格納も、内部クロックＣＬＫ２に基づいて実行される。
【００４０】
結果格納領域６０に格納された少なくとも１つの結果データＲＳＴは、所定の期間後、データバス２０を介して入出力ポート２５に出力される。例えば、図２に示されるように、セレクタ回路７５は、複数のレジスタ７０のそれぞれに格納されている複数の結果データＲＳＴを、順番に出力信号ＯＵＴとして入出力ポート２５に出力する。このセレクタ回路７５による選択動作は、テスト回路５０からの制御信号によって制御される。この複数の結果データＲＳＴの入出力ポート２５への出力は、外部クロックＣＬＫ１に基づいて実行される。
【００４１】
以上に示されたように、本発明に係るＣＰＵ３０及びマイクロコンピュータ１０によれば、内部クロックＣＬＫ２に基づいて、キャッシュメモリ４０へのテストデータの読み書きが連続的に実行される。従って、内部クロックＣＬＫ２に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ４０の不具合を検出することが可能となる。また、キャッシュメモリ４０から読み出される結果データＲＳＴの全ては、結果格納領域６０に格納され、入出力ポート２５から出力され得る。従って、キャッシュメモリ４０の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。更に、テストパターン５５は、プログラマブルであり、事前には固定されない。ユーザは、出力された結果を見て、テスタから新たなテストパターン５５を設定してもよい。これにより、どのようなテストパターン５５の時に不具合が検出されるか、ユーザは認識することが可能となる。このように、キャッシュメモリ４０の不具合の原因（不良モード）を容易に絞り込むことが可能となる。
【００４２】
本実施の形態に係るキャッシュメモリ４０のテスト動作の一例を、図４及び図５に示されたタイミングチャートを参照して説明する。図４において、外部クロックＣＬＫ１、内部クロックＣＬＫ２、テストパターン信号ＰＡＴ、テスト設定イネーブル信号ＴＥ、及び連続テストモード信号ＴＭが示されている。図５において、外部クロックＣＬＫ１、内部クロックＣＬＫ２、テスト信号ＳＴ、テスト設定イネーブル信号ＴＥ、連続テストモード信号ＴＭ、及び出力信号ＯＵＴが示される。また、図４及び図５に示されるように、この例において、内部クロックＣＬＫ２の周波数は、外部クロックＣＬＫ１の周波数の４倍である。また、以下の説明は正論理に基づき記載されているが、テスト回路５０は負論理に基づいて動作してもよい。
【００４３】
まず、図４に示されるように、時刻ｔ１において、テスト設定イネーブル信号ＴＥがＨｉｇｈに設定される。これにより、データバス２０から入力されるデータは、テスト回路５０へ供給されるようになる。ユーザは、入出力ポート２５に接続されたテスタを用いて、例えば図３に示されたテストパターン５５をマイクロコンピュータ１０に入力する。入力されたテストパターン５５を示すテストパターン信号ＰＡＴは、入出力ポート２５及びデータバス２０を介して、テスト回路５０に書き込まれる。ここで、このテストパターン信号ＰＡＴ（テストパターン５５）の書き込みは、外部クロックＣＬＫ１に基づいて実行される。テストパターン５５の書き込みが完了した後、時刻ｔ２において、テスト設定イネーブル信号ＴＥはＬｏｗに変わる。
【００４４】
次に、図５に示されるように、時刻ｔ１１において、連続テストモード信号ＴＭがＨｉｇｈに設定される。すると、テスト回路５０は、図３に示されるテストパターン５５に対応した複数のテスト信号ＳＴを連続してキャッシュメモリ４０に出力し始める。この複数のテスト信号ＳＴの出力は、内部クロックＣＬＫ２に基づいて連続的に実行される。そして、各々のテスト信号ＳＴに従い、キャッシュメモリ４０において、データの読み書きが実行される。
【００４５】
具体的には、時刻ｔ１１〜ｔ１２において、アドレスＡ１のデータが読み出され、読み出された結果データＲＳＴが、結果格納領域６０のレジスタ７０に格納される。時刻ｔ１２〜ｔ１３において、アドレスＡ２のデータが読み出され、読み出された結果データＲＳＴが、結果格納領域６０のレジスタ７０に格納される。アドレスＡ１に対応する結果データＲＳＴは、隣接するレジスタ７０にシフトする。時刻ｔ１３〜時刻ｔ１４において、アドレスＡ３のデータが読み出され、読み出された結果データＲＳＴが、結果格納領域６０のレジスタ７０に格納される。アドレスＡ１及びＡ２に対応する結果データＲＳＴは、それぞれ隣接するレジスタ７０にシフトする。
【００４６】
時刻ｔ１４〜ｔ１５において、アドレスＡ４にデータ「０」が書き込まれる。時刻ｔ１５〜ｔ１６において、アドレスＡ５にデータ「１」が書き込まれる。その後、時刻ｔ１６〜ｔ１９において、アドレスＡ６、Ａ７、Ａ８のデータが読み出され、それぞれ読み出された結果データＲＳＴが、結果格納領域６０のレジスタ７０に格納される。既に格納されている結果データＲＳＴは、それぞれ隣接するレジスタ７０にシフトする。このように、内部クロックＣＬＫ２に基づいて、キャッシュメモリ４０へのテストデータの読み書きが連続的に実行される。従って、内部クロックＣＬＫ２に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ４０の不具合を検出することが可能となる。
【００４７】
時刻ｔ１９において、複数のレジスタ７０に格納された複数の結果データＲＳＴの出力が開始する。これは、例えば、連続テストモード信号ＴＭがＨｉｇｈになってから、内部クロック信号ＣＬＫ２で８サイクル後に制御信号を出力するように、テスト回路５０が設定されていれば実現される。この結果データＲＳＴの出力を開始するタイミングの設定は任意である。
【００４８】
セレクタ回路７５は、テスト回路５０から制御信号を受け取ると、複数の結果データＲＳＴを順番に読み出す。そして、複数の結果データＲＳＴのそれぞれを示す複数の出力信号ＯＵＴは、データバス２０を介して入出力ポート２５に出力される。ここで、複数の出力信号ＯＵＴの出力は、外部クロックＣＬＫ１に基づいて実行される。例えば、図５に示されるように、時刻ｔ１９〜ｔ２０において、１つの結果データＲＳＴに対応する１つの出力信号ＯＵＴが入出力ポート２５に出力される。また、時刻ｔ２０からのサイクルにおいて、他の結果データＲＳＴに対応する１つの出力信号ＯＵＴが入出力ポート２５に出力される。このように、キャッシュメモリ４０から読み出される結果データＲＳＴは、全て入出力ポート２５から出力され得る。従って、キャッシュメモリ４０の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。
【００４９】
以上の例において、読み出される結果データＲＳＴの最大数は８である。よって、レジスタ７０は、８個あれば十分である。連続アクセスによって引き起こされる不具合を検出するためには、最低２個のレジスタ７０が必要である。結果データＲＳＴの解析や実際の運用を考慮すると、外部クロックＣＬＫ１の１サイクルに相当する内部クロックＣＬＫ２のサイクル数程度のレジスタ７０があることが好ましい。つまり、レジスタ７０の数は、内部クロックＣＬＫ２の周波数と外部クロックＣＬＫ１の周波数との比（上記の例においては４）以上であると好適である。
【００５０】
本発明に係る「連続テストモード」は、キャッシュテストモードやＢＩＳＴモードと併用することが可能である。例えば、キャッシュメモリ４０に書き込まれる書き込みデータは、キャッシュテストモードにおいて予め設定され、テストパターン５５には、連続的にデータを読み出すコマンドのみが設定されてもよい。また、図２に示されるように、本発明に係るＣＰＵ３０は、ＢＩＳＴ回路９０を内蔵してもよい。このＢＩＳＴ回路９０は、ＢＩＳＴモード信号ＴＢによって動作する。この場合、キャッシュメモリ４０の検査にあたり、まず、ＢＩＳＴモードに従って、不具合が存在するか否かが検出される。不具合が検出された場合、本発明に係る「連続テストモード」が実行され、得られた結果データＲＳＴに基づいて不具合が詳細に解析される。この解析の結果は、ＢＩＳＴモードで用いられる内蔵テストパターンの改良にフィードバックされてもよい。
【００５１】
（第二の実施の形態）
図６は、本発明の第二の実施の形態に係るＣＰＵの構成を示すブロック図である。図６において、図１に示された構成と同様の構成には同一の符号が付され、その説明は適宜省略される。本実施の形態に係るＣＰＵ３０’は、キャッシュメモリ４０及びそのキャッシュメモリ４０に接続されたテスト回路５０’を備える。キャッシュメモリ４０及びテスト回路５０’は、データバス２０に接続される。
【００５２】
図６に示されるように、テスト回路５０’は、結果格納領域６０’、制御回路８１、及びアドレス／コマンド格納領域８２を備える。テスト設定イネーブル信号ＴＥがＨｉｇｈになると、第一の実施の形態と同様に、テストパターン５５がテスト回路５０’に書き込まれる。図３に示されたように、このテストパターン５５は、書き込みデータ／アドレス／コマンド群から成る。本実施の形態において、制御回路８１は、入力されたテストパターン５５のうち、「書き込みデータ」を結果格納領域６０’に格納し、「アドレス及びコマンド」をアドレス／コマンド格納領域８２に格納する。つまり、本実施の形態によれば、結果格納領域６０’は、テスト回路５０’内部に形成され、結果データＲＳＴの格納だけでなく、テストパターン５５の格納にも用いられる。
【００５３】
テストパターン５５の書き込みが完了した後、第一の実施の形態と同様に、内部クロックＣＬＫ２に基づいて、キャッシュメモリ４０のテスト動作が実行される。つまり、連続テストモード信号ＴＭがＨｉｇｈに設定されると、制御回路８１は、複数のテスト信号ＳＴを連続してキャッシュメモリ４０に出力する。キャッシュメモリ４０から結果データＲＳＴが読み出される場合、その結果データＲＳＴは、結果格納領域６０’に順次格納される。この結果格納領域６０’は、例えば、シフトレジスタを含む。その後、結果格納領域６０’に格納された結果データＲＳＴは、データバス２０を介して入出力ポート２５に出力される。
【００５４】
このように、本発明の第二の実施の形態によれば、テストパターン５５と結果データＲＳＴを格納するために、同じ格納領域が共用される。よって、第一の実施の形態による効果に加えて、格納領域を削減できるという効果が得られる。
【図面の簡単な説明】
【００５５】
【図１】図１は、本発明に係るマイクロコンピュータの構成を示すブロック図である。
【図２】図２は、本発明の第一の実施の形態に係る中央演算処理装置の構成を示すブロック図である。
【図３】図３は、本発明に係るテストパターンの内容を示すテーブルである。
【図４】図４は、本発明に係るキャッシュメモリのテスト動作を示すタイミングチャートである。
【図５】図５は、本発明に係るキャッシュメモリのテスト動作を示すタイミングチャートである。
【図６】図６は、本発明の第二の実施の形態に係る中央演算処理装置の構成を示すブロック図である。
【符号の説明】
【００５６】
１０    マイクロコンピュータ
１１    第１回路ブロック
１２    第２回路ブロック
１５    ＲＡＭ
２０    データバス
２５    入出力ポート
３０    ＣＰＵ
４０    キャッシュメモリ
５０    テスト回路
５５    テストパターン
６０    結果格納領域
７０    レジスタ
７５    セレクタ回路
８１    制御回路
８２    アドレス／コマンド格納領域
９０    ＢＩＳＴ回路
【図１】
2005309787.tif 000003
【図２】
2005309787.tif 000004
【図３】
2005309787.tif 000005
【図４】
2005309787.tif 000006
【図５】
2005309787.tif 000007
【図６】
2005309787.tif 000008