JP2001051863A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP2001051863A
JP2001051863A JP11224811A JP22481199A JP2001051863A JP 2001051863 A JP2001051863 A JP 2001051863A JP 11224811 A JP11224811 A JP 11224811A JP 22481199 A JP22481199 A JP 22481199A JP 2001051863 A JP2001051863 A JP 2001051863A
Authority
JP
Japan
Prior art keywords
instruction
test
address
bus
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP11224811A
Other languages
English (en)
Inventor
Kotaro Tagawa
耕太郎 田川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11224811A priority Critical patent/JP2001051863A/ja
Publication of JP2001051863A publication Critical patent/JP2001051863A/ja
Priority to US10/802,943 priority patent/US20040177238A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 試験時間自体の短縮や、試験用のプログラム
を作成する手間を軽減させ、製品納入前の製造試験を短
時間で行うことのできるマイクロプロセッサの提供を目
的とする。 【解決手段】 本発明のマイクロプロセッサは、所要の
演算処理を行うCPU2と、そのCPUに接続されたア
ドレスバス4と、アドレスバス4上のアドレスを利用す
る比較器などの回路要素26、27、28を有してお
り、これら回路要素26、27、28の試験時には、C
PU2に代わってアドレスバス4に試験回路10が回路
要素26、27、28の試験のための試験用アドレスを
送出したり、或いは特殊な命令CALLRETや命令S
TIAによってCPU2が暴走しないようにアドレスを
バス上に送出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCPUを備えたマイ
クロプロセッサに関し、特に、チップの製造試験時にそ
の試験時間を短縮できる機能を持ったマイクロプロセッ
サに関する。
【0002】
【従来の技術】CPUコアを有するマイクロプロセッサ
は、通常、そのチップ内にCPUと接続する内部バスと
して、命令バスやデータバスを有し、これらの命令バス
やデータバスをチップ外に入出力するための外部バスに
まとめるためのバスコントローラを有している。図15
は従来のマイクロプロセッサの一例である。マイコンチ
ップ101上に、所要の演算処理をするCPU102が
設けられ、このCPU102から命令バス104とデー
タバス105が分離した内部バスとして設けられてお
り、これらのバス104、105はバスコントローラ1
03で1本の外部バス108にまとめられている。この
マイクロプロセッサには、命令アドレスに対してブレー
クを掛けるためのブレーク機構106が設けられてお
り、このブレーク機構106は、アドレスの比較をする
複数の比較器109と、ブレーク要求発生部110とを
有している。
【0003】複数の比較器109はそれぞれ命令バス1
04からのアドレス信号と図示しないブレークポイント
保持レジスタを介してデータバス105からの供給され
る信号とを比較する回路である。各比較器109の比較
結果はブレーク要求発生部110に入力される。ブレー
ク要求発生部110ではその比較結果および図示しない
制御レジスタの設定値に基づいてブレーク要求信号を出
すか出さないかを判断する。ブレーク要求信号を出す場
合、発生部110はブレーク要求信号を信号線107を
介してCPU102に伝えられる。
【0004】
【発明が解決しようとする課題】このようなマイクロプ
ロセッサを製造した後、その納品の前にはチップが正常
に動作するか否かの製造試験が行われる。その際、命令
バス104に接続された複数の比較器109が正常に動
作するか否かも試験される。従来のマイクロプロセッサ
では、例えばCPU102が試験プログラムを有し、そ
れを実行することで製造試験が行われる。その時に使用
される試験プログラムは実際のマイクロプロセッサの動
作をシミュレーションしたものであり、この試験プログ
ラムに基づく試験では1つのチェックすべきアドレスを
生成するためにCPUが数個の命令を実行する必要があ
る。チェックすべきアドレスは1つとは限らず、CPU
が実行する命令アドレスのビット数に応じて試験時間も
長くなり、その試験時間の長時間化が問題とされてい
る。また、任意の命令アドレスを生成するためには、任
意のアドレスにプログラム実行を分岐させる必要があ
り、分岐先に必ずプログラムがないとCPUが暴走する
が、その暴走を防ぐように試験プログラムを作成するこ
とは容易ではなく、その暴走を回避するためには似通っ
たビットパターンのアドレスで代用するなどの回避策が
必要とされる。また、マイクロプロセッサの外部からア
ドレスを入力することも考えられるが、プロセッサ自体
が通常の使用状態と異なるモードで動作し、実際のデバ
イスとは異なる動作を基礎として判断を迫られることな
り、この場合には正確な試験ができなくなる。
【0005】そこで、本発明は上述の技術的な課題に鑑
み、製品納入前の製造試験を短時間で行うことのできる
マイクロプロセッサの提供を目的とする。
【0006】
【課題を解決するための手段】本発明の一例のマイクロ
プロセッサは、所要の演算処理を行うCPUと、そのC
PUに接続されたアドレスバスと、そのアドレスバス上
のアドレスを利用する回路要素と、その回路要素の試験
時にはCPUに代わってアドレスバスに回路要素の試験
用の試験用アドレスを送出する試験回路を有することを
特徴とする。従って、試験中はCPUがアドレスバスの
バスマスターとして機能せず、マイクロプロセッサは試
験回路で生成されたアドレスを高速に利用し、試験時間
を短くできる。
【0007】また、本発明の他の一例のマイクロプロセ
ッサでは、所要の演算処理を行うCPUと、そのCPU
に接続され命令アドレスバスと命令データバスで構成さ
れる命令バスと、その命令アドレスバス上のアドレスを
利用しそのアドレスによって試験可能な回路要素と、起
動後の初期状態においてのみCPUからの分岐命令を受
けた時にリターン命令を命令データバスを介してCPU
に入力させる試験回路とを有することを特徴とする。こ
のCPUはリターン命令を内部命令バスのデータバスか
ら受け取るため、不用意なアドレス値をCPUが取り込
むことがなくなり、その結果、製造試験時のCPUの暴
走は未然に防止されることになる。
【0008】さらに、本発明のまた他の例のマイクロプ
ロセッサでは、所要の番地に存在する命令を取り込んで
処理を進めるマイクロプロセッサにおいて、指定番地に
分岐したのち分岐先で保持したコードを命令として使用
することなく無条件リターンを行う命令を実行可能とす
ること特徴とする。このマイクロプロセッサの試験時に
は無条件なリターン動作が可能となり、どのような命令
アドレスでも制限なしにCPUに生成させることが可能
となって試験用プログラムの作成が極めて容易に行える
ことになる。
【0009】また、本発明のさらに他の例のマイクロプ
ロセッサでは、命令バスとデータバスが分離してなるC
PUを有し、前記命令バスに対してデータリード動作を
行う命令を持つことを特徴とする。このマイクロプロセ
ッサでは、所要の命令がメモリアクセスステージに現れ
た際に、本来データバスのアドレスバスに出力される値
をそのまま試験用アドレスとして用い、分岐を伴わずに
製造試験をすることが可能となる。したがって、CPU
の暴走は未然に防止されるとともに試験用プログラムを
極めて容易に作成することが可能となる。
【0010】
【発明の実施の形態】本発明の好適な実施の形態を図面
を参照しながら説明する。 第1の実施形態 本実施形態のマイクロプロセッサ1は、図1に示す要部
構成を有している。マイクロプロセッサ1は所要の演算
処理を行う一つの半導体チップ上に形成された装置であ
って、その内部に、所要の演算処理を行うCPU(中央
処理装置)2と、内部命令バス4と内部データバス5を
単一の外部バス8にまとめるためのバスコントローラ3
と、命令アドレスに対してブレークを掛けるためのブレ
ーク機構6と、製造試験時に所要の試験用アドレスを発
生させて短時間の製造試験を可能にするための試験回路
10を主に有している。
【0011】本実施形態のマイクロプロセッサ1は、内
部命令バス4と内部データバス5が分離したハーバード
アーキテクチャーからなる構成とされ、通常の使用の際
には、CPU2が内部命令バス4と内部データバス5の
バスマスターとして機能する。すなわち、CPU2は内
部命令バス4と内部データバス5にそれぞれ接続され、
これらの内部命令バス4と内部データバス5を用いて命
令やデータを入出力し、メモリに格納されたプログラム
を実行する。
【0012】ブレーク機構6は図2に示す内部構成を有
する。図2に示すように、図中一部省略して3個のみ示
す複数のブレークポイント保持レジスタ21、22、2
3は内部データバス5に接続され、内部データバス5か
ら供給される値が保持される。このブレークポイント保
持レジスタ21、22、23の各出力信号は、同様に図
中一部省略して3個のみ示すビット毎に設けられた比較
器26、27、28に供給される。各比較器26、2
7、28のそれぞれ他方の入力端子は内部命令バス4に
接続され、各比較器26、27、28では内部命令バス
4のアドレス値とブレークポイント保持レジスタ21、
22、23で保持された内部データバス5の値が比較さ
れる。各比較器26、27、28で比較した結果が一致
する場合には、その一致した旨の信号がブレーク要求発
生部25に伝えられる。このブレーク要求発生部25に
は内部データバス5に接続された制御レジスタ24が接
続され、制御レジスタ24からの制御信号に基づき、C
PU2にブレーク要求を出力するか否かが決められる。
【0013】このような構成を有するブレーク機構6
は、通常、各比較器26、27、28がアドレスの比較
を行い、その結果に基づきブレーク要求発生部25から
の出力としてのブレーク要求をする動作を行う。このブ
レーク要求は信号線7を介してCPU2に送られる。そ
して、本実施形態では、当該マイクロプロセッサの製造
試験の一部として、このブレーク機構6内に在る各比較
器26、27、28が正常に動作するか否かの試験を行
う。すなわち、これら比較器26、27、28には、試
験回路10で生成された試験用アドレスが供給され、短
時間での製造試験が行われる。信号線7から分岐した信
号線13が、製造試験時にブレーク機構6からの試験結
果をチップ外部に現すのに用いられる。
【0014】試験回路10は、内部データバス5の値が
入力するように該内部データバス5に接続され、さら
に、内部命令バス4に対してアドレスを出力できるよう
に信号線11を介して内部命令バス4に接続される。こ
の試験回路10はさらにCPU2に対しても信号を出力
するための信号線12を介して接続される。この信号線
12は試験回路10を用いた製造試験時にCPU2内の
内部命令バス4と接続する端子をハイインピーダンスに
制御するための信号を出力するためのものである。すな
わち、製造試験時には、CPU2はチップ内で内部命令
バス4を開放し、その結果として、該内部命令バス4は
試験回路10からの試験用アドレスを受け付けることに
なる。試験回路10から出力された試験用のアドレス信
号は内部命令バス4に送られ、さらに該内部命令バス4
からブレーク機構6の各比較器26、27、28に取り
込まれる。
【0015】製造試験時においては、試験回路10は種
々の試験用アドレスを生成する。このような種々の試験
用アドレスを生成する方法としては、既に知られた種々
の手段を用いることができ、例えばメモリーテーブルや
レジスタの使用によるものや、図3を用いて後述するよ
うな制御によって生成するものであっても良い。試験回
路10から供給された試験用アドレスを受け、各比較器
26、27、28はそのアドレスに応じた出力をブレー
ク要求発生部25に対して行う。製造試験時においては
信号線7から分岐した信号線13がブレーク要求発生部
25からの出力用に使用される。この信号線13は製造
試験時において当該マイクロプロセッサ1の1つの外部
端子に割り当てられ、製造試験結果をその外部端子を介
してチップ外部に出力する。すなわち、試験回路10で
生成された試験用アドレスに応じた試験結果が得られて
いるか否か、その割り当てられた外部端子をモニターす
ることで判断できることになる。この製造試験時の間、
CPU2はそのプログラム実行動作を停止する。このた
めCPU2が命令を実行することなく、比較器26、2
7、28の試験をすることができ、最高で1クロック当
たり1回の比較器の試験を進めることが可能となる。
【0016】製造試験終了時においては、試験回路10
は信号線12に試験が終了した旨の信号を出力する。C
PU2はこの試験終了の信号を受け、その端子のハイイ
ンピーダンス状態を解除し、通常の内部命令バス4を制
御する状態に入る。従って、製造試験終了後は、CPU
2は通常のバスマスターとして機能できることになる。
【0017】次に、図3を参照しながら、試験回路10
の回路構成の一例について説明する。この試験回路10
は、この試験回路10を制御するための制御回路31を
有し、その制御回路31は制御レジスタ32を内部に含
んで構成されている。制御レジスタ32は設定値を格納
するレジスタであり、この制御レジスタ32に格納され
た設定値に従って制御回路31は試験回路10の各部を
制御する。図1に示したように、試験回路10は内部デ
ータバス5に接続されているが、詳しくは図3に示すよ
うに内部データバス5はデータデータバス5bとデータ
アドレスバス5aとからなる。データデータバス5bに
は制御レジスタ32が接続され、この制御レジスタ32
はデータデータバス5b上のデータを制御レジスタ32
の設定値として取り込むことができる。他方のデータア
ドレスバス5aはアドレスデコーダ33に接続されてい
る。このアドレスデコーダ33はデータバスから制御レ
ジスタ32に設定値を入力する時に使用され、アドレス
デコーダ33から信号線33aを介して出力されるライ
ト信号に従って制御レジスタ32が設定値を取り込む。
この設定値は順序に関する情報も含むことができる。
【0018】アドレスデコーダ33はさらに信号線33
bを介してビットパターンレジスタ35にも接続されて
いる。このビットパターンレジスタ35は、試験用アド
レスの各アドレスを直接生成するレジスタであり、アド
レスデコーダ33からのライト信号に応じて、データデ
ータバス5bからデータを取り込んでビットパターンを
設定する。ビットパターンレジスタ35にはローテータ
34が併設されており、このローテータ34の動作によ
ってビットパターンレジスタ35はそのビットパターン
を変更することができる。このローテータ34は制御レ
ジスタ32に設定された設定値に従ってビットパターン
レジスタ35から出力するビットパターンすなわち試験
用アドレスを順次変更する。
【0019】このビットパターンレジスタ35で生成さ
れた試験用アドレスはバスドライバ36に送られる。こ
のバスドライバ36は、内部命令バス4を駆動するため
の回路であり、内部命令バス4を構成する命令アドレス
バス4aと命令リード信号線4bの両方にそれぞれ信号
線11a、11bを介して接続される。命令アドレスバ
ス4aは内部命令バス4の内部でアドレスを転送するた
めのバスであり、製造試験時にはビットパターンレジス
タ35で生成された試験用アドレスを転送する。命令リ
ード信号線4bはCPU2からの命令取り込みの要求を
伝達するための信号線である。前述のように、製造試験
時には、命令アドレスバス4aと命令リード信号線4b
の両方がCPU2ではなく試験回路10によって制御さ
れ、そのためにバスドライバ36がCPU2に代わって
内部命令バス4を制御する。
【0020】制御回路31からはCPU2に対して信号
線12を介してその製造試験時にバス開放要求信号が送
られる。このバス開放要求が出された時には、CPU2
は前述のように、内部命令バス4と接続する端子がハイ
インピーダンス状態となり、このとき内部命令バス4は
CPU2から開放される。逆に、製造試験以外の時で
は、試験回路10はCPU2にバス開放要求を送ること
はなく、CPU2は通常のとおり内部命令バス4を制御
する。一方、試験回路10内のバスドライバ36は製造
試験時には内部命令バス4を駆動するように接続される
が、反対に、製造試験時以外の時はその内部命令バス4
すなわち命令アドレスバス4aと命令リード信号線4b
への接続部分はハイインピーダンス状態に維持され、製
造試験以外の期間に試験回路10の演算内容が内部命令
バス4に現れることがない。
【0021】この回路構成を有する図3に示す試験回路
10は、先ず試験時以外の期間において、バスドライバ
36の内部命令バス4と接続される端子がハイインピー
ダンスに維持されるため、CPU2がバス開放要求信号
に基づき、内部命令バス4を開放することはなく、従っ
て、試験回路10の演算内容が内部命令バス4に現れる
ことがない。
【0022】次に、製造試験時においては、アドレスデ
コーダ33から信号線33a、33bを介して供給され
るリード信号に応答して、ビットパターンレジスタ35
がデータデータバス5bのデータに基づき設定され、こ
れと並行して制御回路31の内部の制御レジスタ32も
その設定値がデータデータバス5bのデータに基づきセ
ットされる。その制御レジスタ32の設定に従って、当
該試験回路10はその起動状態に入り、最初に先ず制御
回路31から信号線12を介してバス開放要求信号を出
力する。このバス開放要求信号は、前述のように、CP
U2に入力され、その結果CPU2はその内部命令バス
4すなわち命令アドレスバス4aと命令リード信号線4
bへの接続部分はハイインピーダンス状態になり、内部
命令バス4が開放される。
【0023】内部命令バス4を制御する駆動回路がバス
ドライバ36となったところで、ビットパターンレジス
タ35内で生成された試験用アドレスがビットパターン
レジスタ35からバスドライバ36に出力され、その試
験用アドレスはさらに命令アドレスバス4aへ転送され
る。この時同時に、命令リード信号もバスドライバ36
からの信号によって命令取り込み(命令フェッチ)をす
べき状態を示すように遷移され、これを当該命令アドレ
スバス4aに接続されている全スレーブに通知する。そ
の結果、試験すべき各比較器26、27、28を有する
ブレーク機構6では、命令リード信号が遷移したタイミ
ングで命令アドレスバス4aに現れた試験用アドレスが
各比較器26、27、28の一方の入力端子に供給され
る。すると、各ブレークポイント保持レジスタ21、2
2、23に保持された値と、その試験回路10からの試
験用アドレスが比較され、その結果がブレーク要求発生
部25に出力される。この時点で、既に試験回路10か
らのバス開放要求信号に基づき、CPU2はブレーク要
求発生部25からのブレーク要求信号は無視することと
なっており、このためブレーク要求発生部25から試験
結果を含む信号は信号線13からチップ外部へと出力さ
れる。ブレーク機構6内部の各比較器26、27、28
の良否は、この信号線13を介した信号を監視すること
で判断することができ、試験回路10が起動してからは
CPU2がプログラムを実行することがないため、極め
て高速な試験を行うことができる。
【0024】この図3に示す試験回路10では、次のク
ロックサイクルで試験用アドレスが変更されて、異なる
ビットパターンでの各比較器の試験が続けて行われる。
この試験アドレスの変更は、先ず、制御回路31からの
指示によりローテータ34が動作し、例えばビットパタ
ーンレジスタ35の内容が1ビット分回転する。具体的
な一例を挙げれば、ビットパターンレジスタ35のアド
レス値が前クロックサイクルで0x00000001で
あったとすると、このクロックサイクルでは0x000
00002にシフトし、それが本クロックサイクルのア
ドレス値として命令バスに対して出力される。このビッ
トパターンの変更は、アドレス値を1つ或いは定数分だ
け増加させたり、或いは減少させたりするものの他、
「0」と「1」のビット値を反転させたり、アドレス値
を部分的に置換したり、演算したり、消去やその他の種
々の操作を含むものであり、その要求される試験プログ
ラムに従って任意に合成されるものである。
【0025】仮に、ローテータ34の動作がビットパタ
ーンレジスタ35のアドレス値を1ビット分回転するも
のである場合には、当該マイクロプロセッサ1が32ビ
ットマイコンである時に、32通りの試験用アドレスを
生成して、ブレーク機構6内の全部の比較器の比較試験
が行われることになる。この試験後に、試験回路10は
バス開放要求信号を信号線12において逆側にレベル遷
移させ、CPU2に試験時間の終了を通知する。その結
果、CPU2は内部命令バス4の接続部分のハイインピ
ーダンス状態を解除し、試験回路10が起動した直後の
状態からプログラム実行を再開する。
【0026】以上のように、本実施形態のマイクロプロ
セッサ1では、試験期間においては、命令バスの制御が
試験回路10によって行われ、CPU2は比較器の試験
に関与しなくなるために、非常に高速に試験を進めるこ
とができ、理想的には1クロックサイクルで1アドレス
値を入力して行くことも可能である。従って、従来のC
PU内でアドレスを生成したテスト方法と比較して、本
実施形態のマイクロプロセッサでは短時間で製造試験を
終了させることができることになる。
【0027】本実施形態のマイクロプロセッサによれ
ば、試験回路が試験用アドレスを発生する間、CPUが
例えばアドレスバスとの接続部をハイインピーダンスに
制御することでアドレスバスから開放され、その試験結
果についてはデバイスの外部に出力することができる。
また、製造試験中に、試験回路が生成する試験用アドレ
スは、ビットパターン設定用のレジスタの値を順次変更
することで、連続的に供給して行くことも可能であり、
試験時のアドレス生成が簡単になり、試験時間をさらに
短くすることができる。 第2の実施形態 本実施形態のマイクロプロセッサ41は、試験結果を保
持する試験結果保持レジスタ42を内蔵した例である。
図4に示すように、本実施形態のマイクロプロセッサ4
1は、所要の演算処理を行うCPU2と、内部命令バス
4と内部データバス5を単一の外部バス8にまとめるた
めのバスコントローラ3と、その内部に試験すべき比較
器を含み命令アドレスに対してブレークを掛けるための
ブレーク機構6と、製造試験時に所要の試験用アドレス
を発生させる試験回路10と、試験結果を保持する試験
結果保持レジスタ42とを主な構成要素としている。C
PU2、内部命令バス4、内部データバス5、バスコン
トローラ3、ブレーク機構6、および試験回路10は、
第1の実施形態にある各回路要素と同じであり、ここで
はその重複した説明を省略する。
【0028】試験結果保持レジスタ42はブレーク機構
6のCPU2への出力の信号線7から分岐した信号線1
3に接続される。この試験結果保持レジスタ42はその
内部で試験結果を一旦保持し、製造試験が終了してCP
U2のプログラム実行再開後に、チップ外部に試験結果
を出力するための回路である。この試験結果保持レジス
タ42は内部データバス5と入出力できるように接続さ
れており、CPU2のプログラム実行再開後では内部デ
ータバス5、バスコントローラ3、および外部バス8を
介してその試験結果の出力がなされる。
【0029】図5に試験結果保持レジスタ42の回路構
成を示す。試験結果を保持する試験結果保持レジスタ4
2は、信号線13と接続する比較結果判定回路45と、
総合的な結果を格納するフラグレジスタ43と、これら
の回路の動作を制御するための制御回路44とを有して
いる。比較結果判定回路45は外部バス8及び内部デー
タバス5を介して供給された比較期待値と比較器につい
ての試験結果としての値をその内部で比較する回路であ
る。この比較結果判定回路45には、試験結果について
の信号を供給する信号線13が接続され、さらに内部デ
ータバス5の信号が入力されるように接続されている。
この比較結果判定回路45の出力はフラグレジスタ43
に入力する。
【0030】フラグレジスタ43は比較結果判定回路4
5からの判定結果によってフラグをセットおよびリセッ
トする回路であり、比較結果判定回路45からの判定結
果に比較器が不良であることを示す場合には、当該フラ
グレジスタ43内のフラグがセットされる。このフラグ
レジスタ43の内部のフラグの状態は、内部データバス
5を介して外部に書き出され、特に、本実施形態では、
CPU2のプログラム実行再開後に外部出力が可能とな
り、内部のクロックが外部のクロックに対して十分に高
速な場合、有効な試験結果の出力を行い得ることにな
る。制御回路44はそのフラグレジスタ43のフラグデ
ータの取り込みのタイミングを決める信号をフラグレジ
スタ43に供給して、外部への試験結果の出力を図る回
路である。
【0031】この試験結果保持レジスタ42の回路動作
について説明する。初めに、製造試験が始まる以前の状
態において、CPU2がそのプログラムに基づいてフラ
グレジスタ43内のフラグをリセットする。これはCP
U2が内部データバス5を介してフラグレジスタ43に
アクセスし、フラグレジスタ43内のフラグ値を「0」
にすることを意味する。
【0032】次に、前述の第1の実施形態と同様に、ブ
レーク機構6の図示しない各比較器の製造試験を試験回
路10で生成された試験用アドレスに従って行う。この
時、CPU2は、試験回路10からの信号に応じて内部
命令バス4を開放した状態にあり、プログラム実行を停
止した状態にある。試験期間中、前述のように、試験ア
ドレスは試験回路10および内部命令バス4から順次ブ
レーク機構6内の比較器に供給される。そして、本実施
形態では、この試験用アドレスの供給と同期して、比較
器が正常に動作した場合に出力することが期待される値
(期待値)を、比較対象として、外部バス8からバスコ
ントローラ3及び内部データバス5を介して比較結果判
定回路45に入力する。比較結果判定回路45では、そ
の期待値と実際の試験結果が比較され、比較結果が一致
しない場合に、換言すると実際の試験結果が比較器が不
良であることを示している場合に、比較結果判定回路4
5はフラグレジスタ43に信号を送り、その内部フラグ
のフラグ値を「1」にセットする。もし、試験用アドレ
スの全てのビットパターンにおいて、比較結果が一致す
る場合に、換言すると実際の試験結果が比較器が全部良
品であることを示している場合には、比較結果判定回路
45はフラグレジスタ43に信号を送ることはなく、フ
ラグレジスタ43のフラグ値は「0」のままに維持され
る。特に、通常チップの内部動作周波数は外部動作周波
数よりも十分に高いため、期待値と試験結果の比較作業
を1ビットずつ行わずに複数ビットまとめて同時にチッ
プ外部より入力して行うことが好ましい。このような複
数ビットの期待値の一括入力により効率良く比較作業を
進めることができる。
【0033】一連のビットパターンについての試験用ア
ドレスの送出が終わることで製造試験が終了する。する
と、CPU2は試験回路10からの試験終了の信号を受
けて、内部命令バス4に対するハイインピーダンス状態
を解除する。これと同時に、試験回路10のバスドライ
バが内部命令バス4との接続部分をハイインピーダンス
に転じて、CPU2はプログラム実行を再開する。この
CPU2はプログラム実行の再開に伴って、試験結果保
持レジスタ42内のフラグレジスタ43のフラグ値を読
み取ることができる。さらにCPU2はその読み取り後
にチップ外部にフラグレジスタ43のフラグ値を読み出
すことができ、その値に基づき、比較器の良不良を判断
することができる。
【0034】本実施形態のマイクロプロセッサでは、試
験結果を保持する試験結果保持レジスタ42で、比較器
の試験結果がレジスタなどの保持手段に格納されて、該
試験結果をレジスタから読みだすことも可能であり、試
験終了後にチップ外部に読みだすことができる。このた
めチップ内部では外部動作周波数との同期を考えること
なく、独立して高速な比較器の試験を進めることがで
き、試験終了後にまとめて試験結果について外部に出力
することができる。従って、本実施形態のマイクロプロ
セッサは全体としての試験時間の短時間化を図ることが
できる。 第3の実施形態 本実施形態のマイクロプロセッサ51は、製造試験時に
はCPU52がブレーク機構6内の比較器に対する試験
アドレスを生成するが、試験回路54が強制的にRET
(リターン)信号を該CPUに返すため、CPU52の
暴走が未然に防止される例である。
【0035】本実施形態のマイクロプロセッサ51は、
図6に示すように、前述のマイクロプロセッサ1、41
と同様に、所要の演算処理を行うCPU(中央処理装
置)52と、内部命令バスと内部データバス5を単一の
外部バス8にまとめるためのバスコントローラ53と、
命令アドレスに対して信号線7を介してブレークを掛け
るためのブレーク機構6と、製造試験時に所要の試験用
アドレスを発生させて短時間の製造試験を可能にするた
めの試験回路54を主に有している。ここで、ブレーク
機構6、内部データバス5、外部バス8は前述の各回路
要素と同様であり、ここでは重複した説明を省略する。
【0036】図6に示すように、本実施形態のマイクロ
プロセッサ51では、内部命令バスを構成する信号線と
しては、内部命令バスのデータバス55と、内部命令バ
スのアドレスバス56と、内部命令バスのリード信号線
57、58とが用いられる。内部命令バスのデータバス
55はCPU52が命令を取り込むために用いられるバ
ス信号線であり、内部命令バスのアドレスバス56は命
令の番地を伝えるためのバス信号線である。ブレーク機
構6は、その内部の各比較器がアドレスの比較をするた
め、この内部命令バスのアドレスバス56に接続され、
製造試験時にCPU52から供給された試験用アドレス
に基づき各比較器が試験される。内部命令バスのリード
信号線57、58は、CPU52からの命令リード信号
を伝達する信号線であり、命令リード信号の遷移によっ
て命令取り込み(命令フェッチ)をすべきタイミングが
バス信号線に接続される各回路に伝達される。
【0037】CPU52とバスコントローラ53の間に
は、内部命令バスのデータバス55及び内部命令バスの
アドレスバス56とが並列して配され、両者を接続させ
ている内部命令バスのリード信号線57、58は、CP
U52からバスコントローラ53に至るよう配設されて
いるが、特に、リード信号線57、58の間には、試験
回路54が設けられている。すなわち、リード信号線5
7は一旦試験回路54に接続され、その試験回路54か
らはリード信号線58がリード信号を出力するように接
続されている。また、試験回路54には、命令バスのリ
ード信号線57、58に加えて、さらにCPU52から
の分岐発生信号を受け取るための信号線59と、内部命
令バスのデータバス55にRET命令を現すための信号
線60が接続されている。
【0038】本実施形態のマイクロプロセッサ51の試
験回路54は、前記第1、第2の実施形態の試験回路1
0とは異なり、試験用のアドレスを生成しない。その代
わりに、試験回路54は、起動後の最初の分岐発生の際
に、内部命令バスのデータバス55の内容を強制的にR
ET命令に書き換え、それをCPU52に取り込ませる
ように機能する。CPU52が試験用のアドレスを生成
して実際の製造試験を進めた場合には、CPU52はR
ET命令を内部命令バスのデータバス55から受け取る
ため、不用意なアドレス値をCPU52が取り込むこと
がなくなり、その結果、製造試験時のCPUの暴走は未
然に防止されることになる。
【0039】ここでその試験回路54の動作について説
明する。まず、マイクロプロセッサ51の状態は、製造
後の最初のプログラム実行状態であると仮定する。この
状態でCPU52がそのプログラム実行によって製造試
験に移行する時は、先ず、CPU52が分岐発生信号を
信号線59を介して送出し、第1回目の分岐発生である
ことを試験回路54に通知して、試験回路54を活性状
態にする。このように試験回路54が活性状態となった
ところで、CPU52が試験アドレスにCALL命令に
よって分岐することを繰り返してブレーク機構6内の比
較器の試験が進められる。このCALL命令による分岐
では、CPU52は任意の試験用アドレスをブレーク機
構6に送出できる。そして、CPU52がリード信号を
遷移させて命令取り込み動作を繰り返す時に、試験回路
54は信号線57のリード信号を信号線58に対しては
マスクし、代わりに、信号線60を介してRET命令を
送出する。この試験回路54の信号置換動作によって、
分岐による任意の試験用アドレスにプログラムがあって
もなくても確実にCPU52は分岐元のプログラムに帰
ってくることができ、CPUの暴走は未然に防止され
る。
【0040】製造試験の終了後、分岐発生信号の更なる
変化或いはCPU52からの試験終了の信号によって試
験回路54は非活性状態に転じ、命令バスのリード信号
をマスクしない本来の状態に戻す。すなわち、CPU5
2からは試験回路54の存在が無視できるものとされ、
通常のリード信号は信号線57、58を介して各スレー
ブに伝えられる。この試験回路54が活性状態となるの
は、試験回路54の起動後の第1回目の分岐発生だけで
あり、試験回路54が出力したRET命令をCPU52
が実行し、その結果としての分岐については試験回路5
4は反応せず、正規の試験プログラムに制御が戻ること
になる。
【0041】本実施形態のマイクロプロセッサにおいて
は、試験回路54はCPU52からのリード信号を入力
し、起動後の初期状態において分岐命令の実行を検出し
た時のみリード信号はマスクされ、初期状態を経過した
後は、リード信号が命令バスの制御に使用される構成と
される。このためCPUの暴走を未然に防止しつつ、短
時間に製造試験を終了させることができる。 第4の実施形態 本実施形態は、当該マイクロプロセッサが実行する命令
の1つのとして特殊な試験用命令を備えたマイクロプロ
セッサの例である。このマイクロプロセッサについて図
7を参照しながら説明する。図7において、垂直方向の
矢印71はプログラムの流れを示し、横方向の矢印72
はプログラムが分岐したことを示す。
【0042】本マイクロプロセッサにおいては、このプ
ログラムの流れの中の命令コードの1つとして、試験用
命令CALLRETが含まれる。この試験用命令は、サ
ブルーチン分岐命令(CALL)とリターン命令(RE
T)を組み合わせたようにCPUが動作する特別な命令
である。この試験用命令をマイクロプロセッサのCPU
がフェッチした時は、はじめに、通常のサブルーチンコ
ールを行うサブルーチン分岐命令と同様に分岐(図中、
矢印72で示す。)を行うが、その分岐先でCPUは命
令コード1つ分のアドレスを取り込むと共に命令を取り
込む。図7中、矢印73はその1回分の命令フェッチを
示す。また、そのCPUに取り込まれたアドレスが試験
用アドレスとして利用される。そして、通常のサブルー
チン分岐命令と異なるのは、その分岐先でどのような命
令をCPUがフェッチした場合であっても、図7中、矢
印74で示すように、次にサブルーチンから復帰する時
に使用されるリターン命令を実行したように元の試験用
命令CALLRETの次のアドレスに戻ってくる。
【0043】このようなマイクロプロセッサの動作によ
って、試験用命令CALLRETがプログラム中に存在
し、この試験用命令CALLRETを実行した時は分岐
先にプログラムが存在しない場合や、マイクロプロセッ
サに内蔵されたROMのように書き換えができないフロ
グラムが既に存在している場合でも、試験時には無条件
にリターン動作が可能となり、どのような命令アドレス
でも制限なしにCPUに生成させることが可能となり、
試験用のパターン作成が極めて容易に行えることにな
る。なお、ここでは試験用命令をCALLRETと命名
したが、これに限定されず、他の命令の名前をその他の
命令コードと重複しない限り使用できることは勿論であ
る。
【0044】図8は本実施形態のマイクロプロセッサに
よって実行されるプログラムの一例を示す図である。こ
こではこのプログラムに沿った製造試験の手順について
説明する。このプログラムにおいて、00007000
H番地から00008000H番地にかけて試験プログ
ラムが書き込まれており、この試験プログラムの中に、
試験用命令CALLRETが書き込まれている。本例で
は、試験プログラムの中の00007100H番地と0
0007102H番地の2箇所に試験用命令CALLR
ETが書き込まれている。なお当該プログラムを実行す
るCPUは1命令当たり、2番地分のアドレスを必要と
している。この状態で、CPUが00007100H番
地の命令CALLRETを取り込むと、同時に分岐先で
ある00400000H番地が取り込まれ、プログラム
はこの00400000H番地に分岐する。この時試験
時に利用されるアドレス値として該00400000H
番地が利用される。
【0045】CPUは続いて命令アドレスとして該00
400000H番地を出力して当該番地の命令について
の命令フェッチを行うが、CPUはその命令コードを命
令として使用することなく無条件にリターンを行うこと
になる。従って、図8に示すように、仮に004000
00H番地の命令が不定値の場合であっても、確実にプ
ログラムは分岐元の00007100H番地の次の番地
の00007102H番地に復帰する。もし、ここで0
0007100H番地に存在する命令が通常の分岐命令
CALLであった場合では、00400000H番地の
命令である不定値を取り込んでしまい、その結果、CP
Uが暴走してしまうことになる。しかし、本実施形態で
は、分岐命令CALLではなく試験用命令CALLRE
Tが用いられることから、このようなCPUの暴走は起
こらない。
【0046】CPUは00007102H番地に復帰し
た後、同様な試験用命令CALLRETに従って008
0000H番地に分岐し、そのアドレス値が試験用アド
レスとして比較器に供給される。ここでも前の番地と同
様に、CPUはその分岐先の命令コードを命令として使
用することなく無条件にリターンを行い、000071
04H番地に復帰する。
【0047】以上のように、試験用命令CALLRET
を使用することで、どのような命令アドレスをCPUに
生成させた場合であっても、CPUはその分岐先の命令
コードを命令として実行することなく無条件に分岐先か
ら復帰して来る。このためCPUは暴走することなく、
確実に製造試験を進めることができ、また、試験プログ
ラムを作成する手間も軽減され、連続的な試験用命令の
配置から試験時間の短縮も可能となる。 第5の実施形態 本実施形態のマイクロプロセッサは、命令バスに対して
データアクセスを疑似的に行う命令を実行可能とした装
置である。まず図9及び図10を参照して、その命令
(STIA)の概要について説明する。図9はメモリに
スタックされたプログラムの一例である。このプログラ
ムは100番地から始まり、番地の値が1つずつ増加し
て105番地まで存在する。各番地にはそれぞれ命令が
記憶されており、100番地に命令#1が、101番地
に命令#2が、103番地に命令#3が、104番地に
命令#4が、105番地に命令#5がそれぞれ記憶され
ているが、特に102番地に命令バスに対してデータア
クセスを疑似的に行う命令である命令STIAが記憶さ
れている。
【0048】図10はCPU内部のパイプラインの状態
を示す図である。図10において、IFは命令の取り込
みステージであり、IDは命令のデコードステージであ
り、EXは命令の実行ステージであり、MAは命令のメ
モリアクセスステージである。図9に示したプログラム
をCPUがパイプライン処理にて処理する場合、CPU
は図9の番地順に逐次処理を進める。そして、通常のメ
モリアクセス命令はデータバス側にアクセスを行うのに
対し、102番地に書かれていた命令STIAがメモリ
アクセスステージMAに入ると、データバスのアドレス
バスに出力するアドレスを命令バスのアドレスバスに対
して出力する。その結果、命令STIAがメモリアクセ
スステージMAに現れた時点T0で、本来データバスの
アドレスバスに出力される値#200が命令の取り込み
ステージIFに現れることになり、この値をそのまま試
験用アドレスとして用いて製造試験をすることが可能と
なる。CPUは命令STIAを実行した時は、命令バス
に書き出されたアドレス(ここでは#200番地)の命
令コードを無視し、以下の命令のデコードステージI
D、実行ステージEX、およびメモリアクセスステージ
MAで無演算(NOP)として処理する。
【0049】このような命令STIAを利用して試験を
行うことで、本実施形態のマイクロプロセッサでは、分
岐を伴わない製造試験が実現される。CPUが実行する
プログラムがサブルーチンに分岐する場合、それだけク
ロック数が余計に必要となって高速化できない。しか
し、分岐を伴わなわずにプログラム実行中に試験用アド
レスを命令バスに出すことができれば、それだけ高速な
処理が実現される。さらに、必要なアドレスだけを任意
のタイミングで前後のプログラムの命令を問わずに命令
バスに出すことができるため、試験用パターンは容易に
設計できることになり、製造試験を効率良くすすめるこ
とが可能となる。
【0050】図11はこの命令STIAを実行するCP
Uの命令アドレス出力部の回路構成を示す。この命令ア
ドレス出力部には、CPU内の汎用レジスタファイル8
1と、プログラムカウンタ(PC)の相対アドレスへの
分岐用加算器82と、プログラム中の実行アドレスを指
示するための値を格納するプログラムカウンタ83と、
分岐を伴わない命令についてアドレス値を加算するため
のPCインクリメンタ84と、命令アドレスバス87に
出力されるアドレス値を選択するマルチプレクサ85
と、プログラムカウンタ83とマルチプレクサ85の動
作を制御する制御回路86を有している。
【0051】ここで使用されているCPUは、絶対アド
レスへの分岐先指定はCPUのレジスタにアドレス値を
一回入力することが必要とされる。CPU内の汎用レジ
スタファイル81からは絶対アドレスでの分岐の際にそ
のアドレス値がマルチプレクサ85に転送される。プロ
グラムカウンタ83は命令アドレスバス87に接続さ
れ、その命令アドレスバス87に在るアドレス値をラッ
チするが、そのラッチのタイミングは制御回路86によ
って制御されている。すなわち、CPUから出力される
命令アドレスは命令アドレスバス87に出力されると共
に、次の命令フェッチに備えてプログラムカウンタ83
にも格納される。分岐用加算器82はプログラムカウン
タ相対分岐命令についての加算動作を行い、PCインク
リメンタ84は分岐を伴わない命令についてプログラム
カウンタ83からのアドレス値を2番地分の値だけ加算
する。マルチプレクサ85は、レジスタファイル81か
らのアドレス値、分岐用加算器82からのアドレス値、
またはインクリメンタ84からのアドレス値を選択して
命令アドレスバス87への出力を行う。
【0052】このような回路構成のCPUの出力部で
は、通常の命令を実行している場合には、命令アドレス
バス87に出力されるアドレス値は、分岐を伴わない限
りPCインクリメンタ84の出力が用いられ、プログラ
ムカウンタ相対分岐命令については分岐用加算器82の
出力が用いられ、絶対アドレスへの分岐命令については
レジスタファイル81からの値が出力される。この時、
制御回路86の制御信号に応じてプログラムカウンタ8
3は命令アドレスバス87上のアドレス値をラッチす
る。
【0053】ところが、本実施形態における試験用の命
令STIAを実行する場合には、指定されたアドレス値
(例えば図10の例では#200番地)がレジスタファ
イル81から読みだされ、それが制御回路86からの制
御信号に応じてマルチプレクサ85で選択され、その結
果命令アドレスとして命令アドレスバス87に出力され
る。このアドレス値が試験用アドレスとして利用され、
比較器の試験が行われる。この命令STIAの際には、
プログラムカウンタ83は命令アドレスバス87上のア
ドレス値をラッチすることがなく、プログラムカウンタ
83のその元のままの値を維持する。これと並行してC
PUは命令STIAの取り込み時にはNOP命令が入力
されたものと見なして処理を進める。命令STIAに基
づく試験アドレスの出力が終了した時は、プログラムカ
ウンタ83に格納されていた元のアドレス値をPCイン
クリメンタ84が2番値分だけ増加させ、その増加させ
たアドレス値が試験アドレスの出力後の命令アドレスと
して利用される。このPCインクリメンタ84での加算
動作によって通常の命令フェッチ動作が再開される。
【0054】以上のように、命令STIAが実行される
際は、その間に取り込まれた命令コードはCPU内で命
令コードとしては使用されずに読み捨てられるため、仮
にプログラムとして意味のないコードが返ってきてもC
PUがそれによって暴走することはない。従って、試験
プログラムの形成のための命令アドレスとしては任意の
アドレスを用いることができ、製造試験の効率を高める
ことができる。 第6の実施形態 本実施形態のマイクロプロセッサは、第5の実施形態の
マイクロプロセッサの変形例であり、一回の命令STI
Aによって複数個(本例では4個)のアドレス値を出力
するように構成された例である。
【0055】図12は第6の実施形態のマイクロプロセ
ッサでなされるパイプライン処理の状態を示す図であ
る。図12において、第5の実施形態と同様に、IFは
命令の取り込みステージであり、IDは命令のデコード
ステージであり、EXは命令の実行ステージであり、M
Aは命令のメモリアクセスステージである。本実施形態
において、命令STIAがメモリアクセスステージMA
に入ると、4回命令STIAが繰り返され、データバス
のアドレスバスに出力する4個のアドレスを命令バスの
アドレスバスに対して出力する。この命令STIAはメ
モリアクセスステージMAに4回分留まるため、後続の
命令#4と命令#3もそれぞれ命令のデコードステージ
IDと、命令の実行ステージEXに留まることになる。
命令STIAがメモリアクセスステージMAに現れた時
点T0で、値#200が命令の取り込みステージIFに
現れるところまでは前述の第5の実施形態のマイクロプ
ロセッサと同じであるが、その後時点T1〜T3でもそ
れぞれアドレス値#400、#800、#1600が出
力され、これらのアドレス値がそのまま試験用アドレス
として用いられる。その試験用アドレスが送出される期
間では、命令バスに書き出された複数のアドレス(ここ
では#200、#400,#800,#1600の各番
地)にかかる各命令コードを無視し、以下の命令のデコ
ードステージID、実行ステージEX、およびメモリア
クセスステージMAで無演算(NOP)として処理す
る。そして命令STIAが4回のアドレス出力を終えた
ところで、通常の命令実行が再開される。
【0056】このような命令STIAを利用して試験を
行うことで、本実施形態のマイクロプロセッサでは、分
岐を伴わない高速な製造試験が実現される。さらに、必
要なアドレスだけを任意のタイミングで前後のプログラ
ムの命令を問わずに命令バスに出すことができるため、
試験用パターンは容易に設計できることになり、製造試
験を効率良くすすめられる。そして、本実施形態では、
複数のアドレスが一回の命令STIAによって命令バス
に出力されるため、製造試験をさらに高速に進めること
ができ、試験時間を短縮できる。
【0057】ここで前記図11のCPUの命令アドレス
出力部の回路構成を用いて複数のアドレス値を一回の命
令STIAで出力するための方法を説明する。図13は
図11のレジスタファイル81の設定内容を示す図であ
る。本例では命令STIAはSTIA(R0,R1,R
2,R3,R4)とプログラム可能とされ、括弧書きさ
れたパラメータに対応する5個のアドレス値が試験用ア
ドレスとして命令バスに出力される。すなわち、STI
Aの括弧書き部分でパラメータを指定すれば、それに応
じて制御回路86がパラメータの分だけ繰り返すアドレ
ス出力を繰り返すように制御し、複数のアドレス出力が
一回の命令STIAで実現される。
【0058】図14は図11のCPUの命令アドレス出
力部の変形例であり、図11の出力部の回路構成と同様
に、レジスタファイル81、相対アドレスへの分岐用加
算器82と、プログラムカウンタ83と、PCインクリ
メンタ84と、命令アドレスバス87に出力されるアド
レス値を選択するマルチプレクサ85とを有し、さらに
制御回路92によってローテータ91が制御されてアド
レス値を該ローテータ91で演算して出力できる構成を
加えたものである。
【0059】ローテータ91は当該CPUの汎用レジス
タファイル81と、アドレス値を選択するマルチプレク
サ85の間のアドレスバスに挿入され、該レジスタファ
イル81からの読み取りデータを例えば1ビットや複数
ビット右や左に回転させたり、或いは反転させてマルチ
プレクサ85に対して出力するものである。また、その
ローテータ91における回転ないし演算処理は制御回路
92からの指示信号に基づき適宜設定することが可能で
ある。
【0060】この出力部は図11の出力部と同様の動作
を行うが、命令STIAが取り込まれた時は、ローテー
タ91が制御回路92の指示によって動作し、1つのア
ドレスをレジスタファイル81から出力した後は、その
アドレス値を所要ビット回転させて次のアドレスを出力
し、このアドレス出力とアドレスの回転動作を繰り返
す。このような出力部を用いることによって、複数のア
ドレスが一回の命令STIAによって命令バスに出力さ
れるため、製造試験をさらに高速に進めることができ、
試験時間を短縮できる。また、レジスタファイル81に
設定される試験用アドレス値は1つで足り、どの様にア
ドレスを回転させるかが試験プログラムの作成であるた
め、試験プログラム自体をさらに容易に作成できる。
【0061】第6の実施形態のマイクロプロセッサにお
いては、命令バスに対してデータリード動作を行う命令
STIAがデコードされた時、複数回のデータアクセス
をするように設定され、CPU内のレジスタに格納され
ていた複数個の試験用アドレスが命令バスに現れるよう
に制御される。CPU内のレジスタに格納された値か
ら、ローテータなどを利用した演算等により複数個の試
験用アドレスを容易に生成することもできる。したがっ
て、本実施形態のマイクロプロセッサを用いることで、
製造試験を高速に進めることができ、試験時間を短縮で
きる。また、試験プログラムを容易に作成することも可
能である。
【0062】以上説明したように、本発明のマイクロプ
ロセッサでは、アドレス空間に割り当てるメモリなどの
状況によらず、CPUを暴走させないように細心の注意
を払う必要もなく、容易に命令アドレスを振った試験を
行うことが可能になる。このため試験プログラムを作成
する際に試験と関係ない部分の設定を省くことができ、
試験プログラムを短時間で作成することができるように
なる。また、実際の試験時間も十分に短時間化されるた
めに、そのチップの生産性を大幅に向上させることがで
きる。
【0063】なお、上述のマイクロプロセッサでは、比
較器はブレーク機構内にあるものについて説明したが、
命令アドレスのように任意のビットパターンを簡単には
生成できない信号によって動作するような回路について
の試験について、本発明を適用することも可能であっ
て、所望の効果を期待できるものである。
【図面の簡単な説明】
【図1】本発明のマイクロプロセッサの第1の実施形態
を示すブロック図である。
【図2】図1のマイクロプロセッサのブレーク機構の回
路構成を示すブロック図である。
【図3】図1のマイクロプロセッサの試験回路の一例を
示すブロック図である。
【図4】本発明のマイクロプロセッサの第2の実施形態
を示すブロック図である。
【図5】図4のマイクロプロセッサの試験結果保持レジ
スタの回路構成を示すブロック図である。
【図6】本発明のマイクロプロセッサの第3の実施形態
を示すブロック図である。
【図7】本発明のマイクロプロセッサの第4の実施形態
を説明するためのプログラムの流れを示す図である。
【図8】第4の実施形態のマイクロプロセッサで使用さ
れるプログラムを示す図である。
【図9】本発明のマイクロプロセッサの第5の実施形態
を説明するためのプログラムを示す図である。
【図10】第5の実施形態のマイクロプロセッサのパイ
プライン処理の状態を示すパイプライン状態図である。
【図11】第5の実施形態のマイクロプロセッサのCP
Uの出力部の回路構成を示すブロック図である。
【図12】第5の実施形態のマイクロプロセッサの変形
例のパイプライン処理の状態を示すパイプライン状態図
である。
【図13】第5の実施形態のマイクロプロセッサの変形
例のレジスタファイルの一例を示すメモリマップ図であ
る。
【図14】第5の実施形態のマイクロプロセッサの他の
変形例のCPUの出力部の回路構成を示すブロック図で
ある。
【図15】従来のマイクロプロセッサの一例を示すブロ
ック図である。
【符号の簡単な説明】
1 マイクロプロセッサ 2 CPU 3 バスコントローラ 4 内部命令バス 5 内部データバス 6 ブレーク機構 8 外部バス 10 試験回路 26、27、28 比較器 31 制御回路 33 アドレスデコーダ 34 ローテータ 35 ビットパターンレジスタ 36 バスドライバ 42 試験結果保持レジスタ 51 マイクロプロセッサ 52 CPU 53 バスコントローラ 54 試験回路 81 レジスタファイル 82 分岐用加算器 83 プログラムカウンタ 84 PCインクリメンタ 85 マルチプレクサ 86 制御回路 91 ローテータ 92 制御回路 CALLRET、STIA 命令

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 所要の演算処理を行うCPUと、前記C
    PUに接続されたアドレスバスと、前記アドレスバス上
    のアドレスを利用する回路要素と、前記回路要素の試験
    時には前記CPUに代わって前記アドレスバスに前記回
    路要素の試験のための試験用アドレスを送出する試験回
    路を有することを特徴とするマイクロプロセッサ。
  2. 【請求項2】 所要の演算処理を行うCPUと、前記C
    PUに接続され命令アドレスバスと命令データバスで構
    成される命令バスと、前記命令アドレスバス上のアドレ
    スを利用しそのアドレスを用いて試験可能な回路要素
    と、起動後の初期状態においてのみ前記CPUからの分
    岐命令を受けた時にリターン命令を前記命令データバス
    を介して前記CPUに入力させる試験回路とを有するこ
    とを特徴とするマイクロプロセッサ。
  3. 【請求項3】 所要の番地に存在する命令を取り込んで
    処理を進めるマイクロプロセッサにおいて、指定番地に
    分岐したのち分岐先で保持したコードを命令として使用
    することなく無条件リターンを行う命令を実行可能とす
    ること特徴とするマイクロプロセッサ。
  4. 【請求項4】 命令バスとデータバスが分離してなるC
    PUを有し、前記命令バスに対してデータリード動作を
    行う命令を持つことを特徴とするマイクロプロセッサ。
JP11224811A 1999-08-09 1999-08-09 マイクロプロセッサ Withdrawn JP2001051863A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11224811A JP2001051863A (ja) 1999-08-09 1999-08-09 マイクロプロセッサ
US10/802,943 US20040177238A1 (en) 1999-08-09 2004-03-18 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11224811A JP2001051863A (ja) 1999-08-09 1999-08-09 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JP2001051863A true JP2001051863A (ja) 2001-02-23

Family

ID=16819586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11224811A Withdrawn JP2001051863A (ja) 1999-08-09 1999-08-09 マイクロプロセッサ

Country Status (2)

Country Link
US (1) US20040177238A1 (ja)
JP (1) JP2001051863A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022543294A (ja) * 2019-08-06 2022-10-11 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019207868A1 (de) * 2019-05-29 2020-12-03 Continental Teves Ag & Co. Ohg Modul und Verfahren zur Initialisierung und Kalibrierung eines Produkts während dessen Herstellung

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338660A (en) * 1979-04-13 1982-07-06 Relational Memory Systems, Inc. Relational break signal generating device
FR2665593A1 (fr) * 1990-08-03 1992-02-07 Alcatel Radiotelephone Circuit integre comprenant une cellule standard, une cellule d'application et une cellule de test.
US5463760A (en) * 1990-09-07 1995-10-31 Nec Corporation Break function in-circuit emulator for a microprocessor with a cache memory
JP3274332B2 (ja) * 1995-11-29 2002-04-15 株式会社東芝 コントローラ・大容量メモリ混載型半導体集積回路装置およびそのテスト方法およびその使用方法、並びに半導体集積回路装置およびそのテスト方法
GB9626401D0 (en) * 1996-12-19 1997-02-05 Sgs Thomson Microelectronics Diagnostic procedures in an integrated circuit device
JP3590282B2 (ja) * 1997-12-30 2004-11-17 株式会社ハイニックスセミコンダクター スーパースカラーマイクロプロセッサーの停止点インターラプト発生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022543294A (ja) * 2019-08-06 2022-10-11 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法
JP7317209B2 (ja) 2019-08-06 2023-07-28 株式会社アドバンテスト 処理ユニット並びにプログラム及び/又はデータメモリを含む被試験デバイスをテストするための自動試験機器、テストコントローラ、被試験デバイスへの1又は複数のインターフェース、共有メモリを含む自動試験機器、並びに被試験デバイスをテストするための方法

Also Published As

Publication number Publication date
US20040177238A1 (en) 2004-09-09

Similar Documents

Publication Publication Date Title
JPH0895824A (ja) データ処理装置及びデータ処理方法
US20080312900A1 (en) Simulation apparatus and simulation method
JPH07325711A (ja) Romプログラム変更装置
US20010008017A1 (en) Microprocessor including controller for reduced power consumption and method therefor
JP2001051863A (ja) マイクロプロセッサ
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
JP2002007156A (ja) マイクロプロセッサ
JPH05334459A (ja) マイクロコンピュータ
JP2872117B2 (ja) マイクロプロセッサ
US20030163674A1 (en) Data processing apparatus, processor unit and debugging unit
JPH0782437B2 (ja) 命令供給装置
JP2822777B2 (ja) マイクロコンピュータ
JPS63129430A (ja) マイクロプログラム制御装置
JP2007213415A (ja) メモリ装置
JP2006163864A (ja) システムlsiのデバッグ方法及び装置
JP2000010817A (ja) プログラム開発支援システム、プログラム式演算処理装置およびプログラム開発支援装置
JP2007234046A (ja) 中央演算処理装置のテスト回路装置
JPH0320830A (ja) マイクロプロセッサの障害回避方式
JPS60120436A (ja) マイクロプロセツサ
JP2000155702A (ja) マイクロコンピュータ
JPH06222917A (ja) 電子装置
JPH11194956A (ja) 演算処理装置のデバッグ方法および演算処理装置
JPS61231633A (ja) マイクロプロセツサ
JPH0298746A (ja) マイクロプロセッサの障害回避方式
JPH03184137A (ja) プログラム実行監視方式

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20061107