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

マイクロプロセッサ

Info

Publication number
JPH0327450A
JPH0327450A JP1162118A JP16211889A JPH0327450A JP H0327450 A JPH0327450 A JP H0327450A JP 1162118 A JP1162118 A JP 1162118A JP 16211889 A JP16211889 A JP 16211889A JP H0327450 A JPH0327450 A JP H0327450A
Authority
JP
Japan
Prior art keywords
microinstruction
address
test
micro
instruction
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.)
Granted
Application number
JP1162118A
Other languages
English (en)
Other versions
JP2579817B2 (ja
Inventor
Yuichi Saito
斎藤 祐一
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1162118A priority Critical patent/JP2579817B2/ja
Publication of JPH0327450A publication Critical patent/JPH0327450A/ja
Application granted granted Critical
Publication of JP2579817B2 publication Critical patent/JP2579817B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、1つのLSIチップ上にマイクロプログラ
ム又は命令を格納するマイクロRO)Iを備えたマイク
ロプロセッサに関し、特にマイクロROMのセルフテス
ト機構に関する。
〔従来の技術〕
半導体製造技術の進歩によりLSIの大規模化が可能に
なってきた。大規模なLSIにおいては、テストにかか
る負荷が全体のLSIの開発負荷の中で占める割合が増
加してきた。この問題に対する1つの解答として、近年
LSIのテストにおいて内蔵回路によりLSI 自身に
よってテストさせるセルフテスト方式(BIST:Bu
ilt In Self Teat )が多く採用され
るようになってきた。J.R.Kaban他による”T
esting Apporoches in the 
MC68020″VLSI DI!SIGN Nov.
1984では、マイクロプロセソサの量産時のテスト期
間の短縮と、テストコストとに対するBISTの有効性
が説明されている。
最も一般的であり、また有効なBISTとして、ROM
及びPし^の出力をLPSR(L.inear Fee
dback Shiftlies is ter)を用
いてデータを圧縮するシダネチャレジスタを応用する方
式があり、これは多くのROM及びPLAを内蔵したL
SIにおいて採用された。
シダネチャレジスタの使用方法としては、USP4,4
90.783 LC.Mcdough他の”MICRO
 COMPUTERWITII SELF−TI!ST
 OF MICROCODE″において、ROMのデー
タを圧縮してシダネチャレジスクに蓄え、その結果を予
め用意したチェソクコードと比較して良品判定を行う方
式が述べられている。またp.p.Gelsinget
の”Design and Test of the 
80386”IEEE DBSIGN 8 TEST,
June 1987では、マイクロブロセソサ内のPL
^とROMとの出力データを夫々LPSRによって圧縮
し、その各別の圧縮された結果をさらに圧縮し、最終的
にALUで比較して良品判別を行う方式が述べられてい
る。
これらの従来技術からわかることは、LSIのセルフテ
ストを行う場合、その回路を実現するうえで、外部ピン
の増加及び複雑な制御回路の追加が必要になるというこ
とである。即ちPLA及びROMのセルフテストを行う
場合、それに与える入力データ(ROMの場合はアドレ
ス)を自動生威する必要があり、そのための制御回路及
びそれからの入力データをLSIに入力するためのビン
が必要となる。入力データを自動生威する従来の手法と
して、人力データを格納するレジスタを乱数発生器のよ
うにするか、又はカウンタにすることによりアドレスを
生威するという手法が多く採用されている。
またマイクロプログラム又は命令を格納する内蔵ROM
においては、通常内蔵ROMはカウンク機能を有したア
ドレスポインタを備えているので、その機能をセルフテ
ストでも使用する場合が一般的である。
またRO)Iの全てのアドレス及びPLAO全積項をチ
ェックするパターンが入力できたことを認識してセルフ
テストを終了する手段が必要であり、その方法としてセ
ルフテストの期間中、セルフテストを制御する信号を外
部ビンから供給する方法及びカウンタが予め定めた{直
になったことを検出してテストを終了する方法が採用さ
れていた。荒J文男他によるt’VLs1プロセンサに
おける検査容易化設計法」電子情報通信学会技術研究報
告Vol.88lb 269 P29 〜34 FTS
8B−23 テはマイクロプログラムを格納してあるR
OrIのセルフテスト用に外部ピンからタイミングを考
慮した信号を人力して実行するセルフテストについて述
べられている。この方法では、ROMのセルフテストに
対してテスト専用の外部ピンからタイミングを制御した
信号を入力して行う必要があり、テストシーケンスが煩
雑なものとなっていた。
第12図及び第l3図はマイクロ命令を格納したROM
の従来のセルフテスト時の構威の一例を示すプロソク図
である。第12図において、1はマイクロプログラム又
は命令を格納するマイクロROMであり、該マイクロR
OM 1においてはマイクロアドレスポインタ(以下M
ADRという)3にて指定されたアドレスがアクセスさ
れ、そのアドレスに格納されていたマイクロ命令がLP
SRであるマイクロ命令レジスタ(以下MIRという)
2に格納され圧縮される。
MADR 3で指定するアドレスはインクリメンタ4に
より1ずつ増加させることができる。MIR 2に格納
され圧縮されたマイクロ命令はマイクロ命令デコーダ8
に与えられデコードされると共に、マイクロシーケンヅ
9に与えられる。マイクロシーケンサ9はそれにより次
のアドレスを生或すべ<MADR3に信号を送る。また
テスト端子20からはセルフテストモード信号TMが入
力され、MIR2.マイクロシーケンサ9及びMADR
 3にセルフテストモード信号TMが与えられる。セル
フテストモード信号TMは、セルフテスト時のアドレス
のインクリメントを実行させる状態をマイクロROM 
1の全てのアドレスのマイクロ命令を読み出すまで保持
するためのものである。そしてマイクロROM l内の
データをテストする場合、マイクロROM 1に対して
アドレスをインクリメンタ4を用いて更新させ、すべて
のデータをLPSRであるMIR 2に格納していた。
そしてテスト端子20にセルフテストモード信号TMを
与えることによりこれらを制御している。従ってテスト
端子を追加すると共に、マイクロプロセッサのテストパ
ターンとして、マイクロROM 1のセルフテスト期間
を考慮して、その期間のみそのテスト端子をアサートす
る指定を行っていた。
第l3図においては、MADR 3からのアドレス及び
セルフテストモード信号TMがアドレスデコーダ21に
与えられている。そしてセルフテストモード信号TMが
テスト端子20から入力されると、MADR 3はマイ
クロROM  1のアドレスのインクリメントをインク
リメンタ4により開始する。アドレスデコーダ2lは、
アドレス又はアドレスのインクリメンタ出力信号をデコ
ードすることにより、マイクロROM1の最終アドレス
を検出する。そしてこの検出信号がマイクロシーケンサ
9に送られ、MADR 3のインクリメント動作を停止
させていた。しかし、命令の高機能化等の要求により、
マイクロプログラム又は命令を格納する内蔵ROMの容
量が増加し、そのためアドレス幅が増大し、アドレスデ
コーダを構或するハードウェアの規模がLSIの中で太
きな負担となってきた。
〔発明が解決しようとする課題〕
大規模なLSI ,特にマイクロプロセソサでは製造後
のテストに要するコストがその製造コストの中で大きな
割合を占めるようになり、そのためセルフテスト回路の
必要性が高くなってきた。しかしながら従来のセルフテ
スト回路では、その実現のために多くの素子を使用する
と共に、マイクロROMのセルフテストを行う場合に、
外部から制御信号を入力するピンと、セルフテストの終
了タイξングを管理するアドレス及び入力データを演算
するデコーダとが必要であった。またそのようなセルフ
テスト回路を用いたテストパターンを作威するときもテ
スト期間を正確に指定する必要があり、そのようなテス
トパターンはLSIテスタ上でしか有効に使用てきない
ものであった。また、LSIの大規模化に伴い、外部ピ
ンも増加する要求が高まり、通常機能以外の要因でテス
ト用ピンの如くの外部ピンを増加させることは機能的に
制約が多くなる。また、セルフテストに対して外部から
テストモード信号をタイミングを調えて入力することは
テストパターン作或上の負荷を増大させるものであった
この発明は上記のような問題点を解消するためになされ
たものであり、セルフテストを開始する際に、マイクロ
命令によってセットされ、セルフテストを終了する際に
マイクロ命令によってリセットされるプリンプフロソプ
を設け、その出力信号でマイクロROMのMADI+の
人力を制御することにより、セルフテストをマイクロプ
ログラムの1つのルーチンプログラムの如く扱い、外部
ピンを追加する必要がなく、少ないハードウェアの追加
で容易にLSIテスタを用いずに実装基板上で使用可能
であり、またテストプログラムの作威を容易にすること
のできるセルフテスト回路を備えたマイクロプロセソサ
を提供することを目的にする。
〔課題を解決するための手段〕
この発明に係るマイクロプロセンサは、通常の処理モー
ドと異なる処理モードであるセルフテストを行うために
、マイクロ命令によりセント,リセ7}されるモード信
号を生威する信号生威手段を設けて、その制′a信号で
マイクロ命令のアドレスを生威するアドレス発生回路を
制御するようにしたものである。
〔作用〕
この発明においては、セルフテストを開始するための開
始マイクロ命令をアクセスすると、それによりモード信
号がセットされ、そのモード信号でアドレス発生回路を
制御し、シーケンシャルにマイクロ命令記憶部のマイク
ロ命令を読み出し、終了マイクロ信号が読みだされると
モード信号がリセントされ、セルフテストが終了するの
で、セルフテストの実行をマイクロプログラムの1つの
ルーチンプログラムとして扱える。
〔実施例〕
以下、この発明をその一実施例を示す図面に基づいて説
明する。
第1図はこの発明に係るマイクロプロセッサの構威を示
すブロック図である。
この発明のマイクロプロセソサの内部を機能的に大きく
分けると、命令フエソチ部51,命令デコード部52,
 PC計算部53,オペランドアドレス計算部54,マ
イクロROM部55,データ演算部56,外部バスイン
ターフェイス(1/F)部57に分かれる。第1図では
その他に、外部ヘアドレスを出力するアドレス出力回路
58と、外部との間でデータを入出力するデータ入出力
回路59とを他の機能ブロック部と分けて示した。
次に各部について詳述する。
「命令フェソチ部」 命令フェソチ部51には、ブランチバソファと、命令キ
ューとその制御部等があり、次にフエソチすべき命令の
アドレスを決定して、ブランチバソファや外部のメモリ
からプロセソサ命令をフエソチする。また命令フェソチ
部51はブランチバソファへの命令登録も行う。
ブランチバソファは小規模であるためセレクティブキャ
ッシュとして動作する。
次にフェソチすべきプロセソサ命令のアドレスは命令キ
ューに入力すべき命令のアドレスとじて専用のカウンタ
で計算される。分岐あるいはジャンプが発生した際には
、新たなブロセソサ命令のアドレスがPC計算部53ま
たはデータ演算部56から転送されてくる。
外部のメモリからプロセソサ命令をフエッチする際は、
フェッチすべき命令のアドレスを外部バスインターフェ
イス部57を通じてアドレス出力回路58から外部へ出
力することによりデータ人出力回路59から命令コード
をフエソチする。
バンファリングした命令コードの内、命令デコード部5
2で次にデコードすべき命令コードが命令デコード部5
2へ出力される。
テスト命令は命令フエツチ部51ではフェソチされない
「命令デコード部」 命令デコード部52では基本的に16ビソト (ハーフ
ワード〉単位にプロセソサ命令コードをデコードする。
この命令デコード部52には第1ハーフワードに含まれ
るオペコードをデコードするFHWデコーダ,第2,第
3ハーフワードに含まれるオペコ11 12 −ドをデコードするNFHWデコーダ,アドレソシング
モードをデコードするアドレソシングモードデコーダが
含まれる。
更に、FHWデコーダ及びNFHWデコーダの出力を更
にデコードしてマイクロROMのエントリアドレスを計
算する第2デコーダ、条件分岐命令の分岐予測を行う分
岐予測機構,オペランドアドレス計算の際のパイプライ
ンコンフリクトをチェソクするアドレス計算コンフリク
トチェック機構等も含まれる。
命令デコード部52は、命令フェソチ部5lから人力さ
れたプロセソサ命令コードを2クロソクにつき0〜6バ
イトデコードする。デコード結果の内、データ演算部5
6での演算に関する情報がマイクロROM部55へ、オ
ペランドアドレス計算に関係する情報がオペランドアド
レス計算部54へ、PC計算に関係する情報がPC計算
部53へそれぞれ出力される。
テスト命令が命令デコード部52へ入力されることはな
く、従ってデコードされることもない。
「マイクロllol’1部] マイクロROM部55にはデータ演算部56の制御及び
この発明のマイクロプロセソサ各部の診断をする種々の
マイクロプログラムルーチンが格納されているマイクロ
ROM,マイクロシーケンサ,マイクロ命令デコーダ等
が含まれる。マイクロ命令はマイクロROMから2クリ
ックに1度読出される。マイクロシーケンサはマイクロ
プログラムで示されるシーケンス処理の他に、例外,割
込及びトラソプ(この3つをEITと総称する)の処理
及びテスト割込みをハードウエア的に受付ける。またマ
イクロROM部はストアバソファの管理も行う。
プロセソサモードでは、マイクロROM部には命令コー
ドに依存しない割込み及び演算実行結果によるフラソグ
情報と、第2デコーダの出力等の命令デコード部52か
らの出力が入力される。
テストモードでは、マイクロROM部はCPUの診断プ
ロセッサとして動作する。テストモードでは第2デコー
ダの出力ではなくデータ入出力回路59からの出力が直
接マイクロROM部へ入力される。
また、テストモードの間は一切の割込みは受付けられな
い。
プロセソサモードでは、マイクロデコーダの出力は主に
データ演算部56に対して出力されるが、ジャンプ命令
の実行による他の先行処理中止情報等の一部の情報は他
の機能ブロソクへも出力される。
テストモードでは、マイクロROM部55は上記のプロ
セソサモードでの出力に加えて各種の診断制御情報を本
発明のマイクロプロセソサ内部の他のブロソクへ出力す
る。
「オペランドアドレス計算部」 オペランドアドレス計算部54は、命令デコード部52
のアドレスデコーダ等から出力されたオペランドアドレ
ス計算に関係する情報によりハードワイヤード制御され
る。このオペランドアドレス計算部54ではオペランド
のアドレス計算に関する大半の処理が行われる。メモリ
間接アドレンシングのためのメモリアクセスのアドレス
及びオペランドアドレスがメモリにマップされたI/O
領域に入るか否かのチェソクも行われる。
オペランドアドレス計算部54でのアドレス計算結果は
外部バスインターフェイス部57へ送られる。
なお、アドレス計算に必要な汎用レジスタやプログラム
カウンタの値はデータ演算部56から入力される。
メモリ間接アドレッシングを行う場合は、オペランドア
ドレス計算部54は参照すべきメモリアドレスを外部バ
スインターフェイス部57を通じてアドレス出力回路5
8から外部へ出力し、データ人出力部59から入力され
た間接アドレス値を命令デコード部52をそのまま通過
させてフェッチする。
rpc計算部」 pc計算部53は命令デコード部52から出力されるP
C計算に関係する情報によりハードワイヤードに制御さ
れ、命令のpc値を計算する。本発明のマイクロプロセ
ソサのプロセッサ命令は可変長命令であり、命令をデコ
ードしてみないとその命令の長さが判明しない。PC計
算部53は、命令デコード部52から出力される命令長
をデコード中の命令のpc値に加算することにより次の
命令のpc値を作り出15 16 す。
pc計算部53での計算結果は各命令のpc値として命
令のデコード結果と共に出力される。
「データ演算部」 データ演算部56はマイクロプログラムにより制御され
、マイクロROMの出力であるマイクロ命令に従って各
命令の機能を実現するために必要な演算をレジスタファ
イルと演算器とを使用して実行する。
プロセソサ命令の演算対象となるオペランドがアドレス
あるいは即値である場合は、オペランドアドレス計算部
54で計算されたアドレスあるいは即値は外部バスイン
ターフェイス部57を通過してデータ演算部56へ入力
される。また、プロセソサ命令の演算対象となるオペラ
ンドがCPU外部のメモリにあるデータである場合は、
アドレス計算部54で計算されたアドレスをバスインタ
ーフェイス部57がアドレス出力回路58から出力する
ことによりCPu外部のメモリからフェソチされたたオ
ペランドはデータ人出力回路59からデータ演算部56
へ入力される。
テストモードでロード命令を実行した場合には、演算対
象となる即値オペランドがデータ人出力回路59からデ
ータ演算部56へ入力される。
演算器として{まALU,バレルシフタ,プライオリテ
ィエンコーダあるいはカウンタ シフトレジスタ等があ
る。レジスタファイルと主な演算器との間は3つのバス
で結合されており、1つのレジスク間演算を指示する1
マイクロ命令が2クロソクサイクルで処理される。
データ演算の際に外部のメモリをアクセスする必要があ
る場合は、マイクロプログラムの指示により外部バスイ
ンターフェイス部57を通してアドレス出力回路58か
らアドレスがCPU外部へ出力されることにより、デー
タ入出力回路59を通して目的のデータがフエソチされ
る。
外部のメモリにデータをストアする場合は、外部バスイ
ンターフェイス部57を通じてアドレス出力回路58か
らアドレスが出力されると同時に、データ入出力回路5
9からデータがcpu外部へ出力される。オペランドス
トアを効率的に行うためデータ演算部56には4バイト
のストアバソファが備えられている。
ジャンプ命令の処理,例外処理等の結果、新たな命令ア
ドレスをデータ演算部56が得た場合は、データ演算部
56はこれを命令フェフチ部51とPC計算部53とへ
出力する。
「外部バスインターフェイス部」 外部バスインターフェイス部57は、プロセソサモード
においては本発明のマイクロプロセソサの入出力ピンを
介しての通信を制御する。メモリのアクセスはすべてク
ロソク同期で行われ、最小2クロックサイクルで行うこ
とができる。
メモリに対するアクセス要求は命令フェソチ部51,ア
ドレス計算部54及びデータ演算部56から独立に生じ
る。外部バスインターフエイス部57はこれらのメモリ
アクセス要求を調停する。更に、メモリと本発明のマイ
クロプロセサとを結ぶデータパスサイズである32ビッ
ト(1ワード)の整置境界を跨ぐメモリ番地に位置する
データのアクセスは、このブロック内でワード境界を跨
ぐことが自動的に検知され、2回のメモリアクセスに分
解して行われる。
ブリフェソチ対象のオペランドとストア対象のオペラン
ドとが重なる場合のコンフリクト防止処理及びストアオ
ベランドからフェソチオペランドへのバイパス処理も外
部バスインターフェイス部57が行う。
テストモードでは、外部バスインターフェイス部57は
一切のメモリアクセス要求を受付けない。
テストモードでは、データ入出力回路59とアドレス出
力回路とはマイクロROM部55から直接制御さl9 20 第2図はこの発明のマイクロブロセソサのマイクロRO
M部におけるマイクロ命令アドレスの制御回路を示すプ
ロソク図である。図において、1はマイクロプログラム
又はマイクロ命令を格納するマイクロROMであり、8
亥マイクロROM  1においてはMADR 3にて指
定されたアドレスがアクセスされ、そこに格納されたマ
イクロ命令がMIR 2に出力される。MIR 2には
後述するフリソプフロンプのQ出力であるテストモード
信号T−MODEが与えられており、テストモード}言
号T−1’lODFtがセントされるとMIR 2がL
FSR化し、マイクロROM  1からのマイクロ命令
を圧縮して蓄積する。テストモード信号T−1’IOD
I!がセットされていないとき、MIR 2はマイクロ
ROM1から出力されたマイクロ命令を格納し、それを
マイクロ命令デコーダ8に送る。マイクロ命令デコーダ
8はマイクロ命令をデコードし、その制御信号をマイク
ロシーケンサ9に送ると共に、マイクロROM l内に
格納されたマイクロIIOMテストオヘペレーションの
マイクロ命令がデコードされるとセント信号をフリンプ
フロソプ7のセント端子に送る。フリソプフロソプ7は
それによりテストモード信号T−MODEをセントし、
Q端子からMIR 2に出力する。またフリソプフロソ
プ7の百端子からの出力はANDゲート6の一端に与え
られる。ANDゲート6の他端にはマイクロシーケンサ
9からの出力が与えられ、ANDゲート6の出力はNチ
ャンネルのトランスごソションゲート5のゲートに与え
られている。トランスξソションゲート5はジャンプ命
令等の分岐処理時及び別の命令を処理する場合のマイク
ロ命令のMADR 3へのアドレスの取り込みを制御す
るものであり、命令デコード部52とマイクロIIOM
 1との間に設けられ、反転テストモード信号「罰ホ及
びマイクロシーケンサ9の出力により制御される。
トランスξソションゲート5が閉じた場合、MADR3
からの出力されたアドレスはインクリメンタ4に与えら
れ、指定するアドレスを1つずつ更新する。
第3図はマイクロ命令処理回路の構成を示すブロソク図
であり、命令デコード部52によって、その命令が処理
されるべきマイクロプログラムの先頭のマイクロ命令の
アドレス情報(エントリアドレス)と、その命令が実行
される段階で用いるデータサイズ情報等のパラメータと
が出力され、4つのRコードレジスタ16. 17・・
・に格納される。格納されたエントリアドレスはマイク
ロシーケンサ9からの指示によりトランスファゲート5
を介してMADR 3に送られる。MADR 3は与え
られたエントリアドレスによりマイクロROMのアドレ
スを指定し、そのアドレスからマイクロ命令がMIR 
2に対して読み出される。その後MADR 3はインク
リメンタ4を使ってアドレスの更新を行うと共に、マイ
クロROMの出力信号の一部であるマイクロ命令アドレ
ス情報が旧R2から分岐先アドレスレジスタ(以下MN
ARという)11に転送される。またマイクロスタンク
レジスタ (以下MSTRという)10へはサブルーチ
ンジャンプ時にインクリメンタ4によりインクリメント
されたアドレスが戻り先アドレスとして転送される。な
お第3図に示す構威の回路ではマイクロプログラムにお
いて1階層のサブルーチンしか作ることができない。
そしてマイクロROM 1の出力信号群のうち、マイク
ロプログラムのシーケンス制御を行う情報によってジャ
ンプ又はリターンが指定されると、インクリメントされ
たMADR 3のアドレスがさらにMNARII, M
STRIOからのデータによって更新される。
マイクロシーケンサ9はMIR 2からのシーケンス制
御の情報を受けて、命令デコード部52からMADR3
につながるアドレスバスにどのレジスタからのデータを
出力するかの指示を出す。その場合、マイクロプログラ
ムで分岐処理を行わない場合は、インクリメンタ4によ
りシーケンシャルなマイクロ命令アドレスをするので、
門^DR3にMNARII, MSTR10からデータ
が転送されない。即ち、第2図のトランスミッションゲ
ート5が閉したままとなっている。
またBIT(例外,割り込み,トラソプ)処理が必要と
なり、ErTフラグレジスタl4にEITフラグが与え
られると、EITエントリデコーダ13でその処理内容
を判断する。そして命令を中断してEIT対23 24 応の処理に移る場合に、その処理用のマイクロ命令アド
レスを生威するために使用するのがBIT前処理アドレ
スレジスタl2である。
マイクロ命令のアドレスがMADR 3に取り込まれる
と、マイクロROM 1のそのアドレスに格納されたマ
イクロ命令が読み出され、旧R2を介してマイクロ命令
デコーダ8に送られ、実行制御信号が生或される。この
発明のマイクロプロセッサではマイクロプログラムのシ
ーケンス制御命令として大きく分けて以下の4種類があ
る。
JMP (ジャンプ) JSR (サブルーヂンジャンプ) RTS (サブルーチンリターン) NOP これら4つのシーケンス制御命令のオペレーションに対
する処理手順について第3図を用いて説明する。
ill  JMP ジャンプとはマイクロプログラムにおいて、次にアクセ
スするマイクロ命令のアドレスに分岐することであり、
その場合MNARIIの値がMADR 3に転送される
。マイクロ命令の一部のフィールトは飛び先番地を示し
ており、そのデータはマイクロROM 1がアクセスさ
れるたびにMNARIIに転送される。
(21JSR サブルーチンジャンプの場合、ジャンプと同様にMNA
RIIの値がMADR 3に転送されるが、それと同時
にその転送される前のl’lADR 3の値をインクリ
メントした値が戻り先アドレスとしてMSTRIOに転
送される。
131  RTS サブルーチンリターンの場合、MSTRIOの値がMA
DR3に転送される。
+41NOP 上記1)〜(3)の場合、マイクロ命令のアドレスは全
てMADR 3以外の各レジスタから供給されていたが
、NOP,即ちマイクロ命令シーケンシャルに実行する
場合、トランスミッションゲート5を閉じることにより
MADR 3にはインクリメンタ4により前の処理のM
ADR 3の値を更新した値が入る。
これら4つのオペレーションを拡張して、このマイクロ
プロセソサではシーケンス制御用に7ビットのフィール
ドを備えている。
第4図はこのマイクロプロセッサのマイクロ命令のフォ
ーマントを示す図であり、マイクロ命令は全体で111
ビットの長さがある。マイク1ロ命令の第33ビット〜
第39ピントまでの7ビットがマイクロ命令のシーケン
スを制御するシーケンスフィールドSEQである。そし
てそのシーケンスフィールドSBQで示されるオペレー
ションとして17種類がある。
第5図はl7種類のシーケンスフィールドSEQのオペ
レーションを示す図であり、以下それらのオペレーショ
ンいくつかについて説明する。
・next :命令が複数のマイクロ命令のエントリアドレスを生威
する場合、1つのエントリアドレスが終了したことを示
すオペレーション・exit = 1つの命令のマイクロプログラムの終了を示すオペ
レーション ・eXitx : exitと同様のオペレーションであるが、ブレー
クポイント検出等のデバソグサボ−1・機構を抑止する
モードであることを示すオペレーション ・if j=1 then exit : jとは条件の戒立、不威立を示すビソトで、第4図
に示すマイクロ命令の条件フィールドCONDで条件が
指定される。このオペレーションは条件が戒立したらe
xitすることを示す。
・if j=o then exit :上記の場合と反対で、条件が不或立だったらexit
することを示す。
・j ump :第4図のADDRESSフィールドで指定したマイク
ロ命令アドレスにジャンプする。
27 28 ・cal1 :サブルーチンコールを示す。第4図のAI)DRBS
Sフィールドで指定したマイクロ命令アドレスにジャン
プする。
1 return :サブルーチンリターンを示す。
・HOP :現在のマイクロ命令アドレスをインクリメントしたア
ドレスを次にアクセスする。
上記のオペレーションを使いわけることによって、マイ
クロプログラムを作威している。また、第4図のマイク
ロ命令フォーマットの中で、BITフィールドのオペレ
ーションとしてマイクロ命令デコーダ8の機能切り替え
を指定するものがあり、その機能によりSIZEフィー
ルドがテスl・用のオペレーションに変更される。第6
図にこのマイクロプロセソサが備えるテスト用のマイク
ロオペレーションを示す。
このマイクロプロセソサはテスト回路を機能させる動作
モードとしてテストモードを備えており、そのモードに
はテスト用の外部ピンであるTEST #ピンを1クロ
ソク以上アサー卜すること、もしくはマイクロ命令の1
つであるテストオペレーションによって入ることができ
る。テストモードはテスト時にパイプラインステージを
停止させ、また外部バスの制御方法を変えるために必要
である。
テストモードで第6図に示す”start micro
− ROMtest”のオペレーションを実行すると、
第2図中のフリップフロソプ7がセットされる。そのフ
リソプフロソプ7の出力によってマイクロ命令のシーケ
ンスフィールドSEロとしてマイクロ命令デコーダ8に
送られる信号のうち、第5図中の33ビット目が”O(
B)″に固定され、シーケンスフィールドSEQのマイ
クロ命令としては常にl!XITするオペレーションは
実行されない。そのためマイクロROM部55としては
命令デコード部52からのマイクロアドレスを待つこと
なく処理を続けられる。そして同時にフリップフロソプ
7の出力信号T−MODEによりMIR 2がLPSR
となり、マイクロROM 1の出力データを圧縮して蓄
積する。マイクロ命令のシーケンスフィールドSEロが
常にEXIT以外になり、かつ門^DR3の更新を制御
するトランスミッションゲート5が開かないように固定
されているので、マイクロシーケンサ9はMADR 3
のインクリメント結果をMADR 3に戻して使用し続
ける。その結果マイクロROM 1の出力がシーケンシ
ャルに読み出され、全てのマイクロRO?I 1のアド
レスが読み出された最後に、”stop micro−
 ROM test”のオペレーションを実行すること
によってマイクロROM 1のセルフテストが終了する
。読み出された全てのマイクロ命令はLPSRであるM
IR 2に蓄積される。このマイクロプロセソサでは旧
R2に蓄積される最終的な期待値が0になるようにマイ
クロROM 1の未使用アドレス部分の一部にプログラ
ムされている。
第9図はこの発明のマイクロプロセソサの旧Rの詳細プ
ロソク図である。
MIR 2は出力レジスタ21と、111人力1出力の
NORゲート回路22とから構威され、出力レジスタ2
lは112ビソト構威のレジスタであり、テストモード
信号T−MODEによりLFSR化し、マイクロROM
  1の出力を蓄積する。出力レジスタ1の各ビソト出
力信号R0〜R.。はマイクロ命令デコーダ8に与えら
れると共にNORゲート回路52に与えられる。そして
、MIR’2の出力の各ビソト出力信号R。−R+to
の論理和をとり、それを反転してマイクロROM 1の
セルフテスト結果フラグとしてマイクロシーケンサ9で
保持する。このようにして、通常処理と同様にマイクロ
ROM 1のセルフテストをマイクロプログラムとして
容易に組み込むことができる。
即ち、マイクロROM 1のセルフテスト時、1つのシ
ーケンシャルなマイクロプログラムを実行しているのと
同様の処理をマイクロシーケンサ9が行っているわけで
ある。
なお、各ビソト出力信号R0〜RIIOはマイクロ命令
デコーダ8にもあたえられているが、データの有効・無
効を示す図示しない有効信号がテスト時に無効となり、
データはマイクロ命令デコーダ8でデコードされても実
行されないようになっている。
マイクロプロセソサにおいてセルフテストは、31 32 量産時のLSIにかかるテストコストを削減することを
目的としており、そのため簡単な方法でセルフテストを
起動できることは、マイクロプロセソサの機能として重
要である。このマイクロプロセッサではリセット信号入
力時に図示しないFLOAT#ピンをアサートすること
によってセルフテストを起動することができる。第7図
にこのマイクロプロセソサのセルフテスト処理フローを
示す。まず、RES[!Tlピンアサート時に、FLO
AT Itビンが同時にアサートされているか否かを判
定し(S40)、同時にアサ一卜されている場合、セル
フテストが起動される。FLOAT #ピンがアサー卜
されていない場合、ステップ44に飛び、通常のリセッ
トシーケンスが起動される。このマイクロプロセソサで
はセルフテストはマイクロROM 1と命令デコード部
52のPLAとデータ演算部56とに対して行う。この
マイクロプロセッサはこれらのセルフテストの手順はす
べてマイクロプログラム内に書き込まれている。このマ
イクロプロセソサのマイクロプログラムの構威を第8図
に示す。このマイクロプロセッサではマイクロ命令のア
ドレスとして12ビント備えているが、4KワードのR
OMは内蔵していない。即ち、アドレスとして存在しな
いワードがある。第8図において”FO2(H)”番地
はマイクロROMl上に存在しない。このマイクロブロ
セソサではテスト関係のマイクロプログラムは“FOO
 (It) ”から”F7F(H)”に記述されている
。リセット時に、FLOAT臂ピンが了サー卜されてい
れば”FO3 (}l) ”のマイクロ命令アドレスが
、アサートされていなければ”FOO(H)″のマイク
ロ命令アドレスが夫々生威される。マイクロ命令アドレ
スとして“FO3 (H)”が指定されると、まず”s
tart micro− ROM test”のオペレ
ーションが実行され、マイクロROM 1のセルフテス
トを上記方法により実行する。そしてマイクロ命令アド
レスのインクリメントを続け、“FOI (H)”が指
定された時、“stop  micro− ROM t
est”が実行され、マイクロROM 1のセルフテス
トが終了する(S41)。そして同時に“FOI (H
) ”のマイクロ命令アドレスで“F5[! (H)″
番地ヘジャンプし、命令デコード部52のPLAのテス
トを開始する(S42)。以下、データ演算部56のテ
ストを行った後(S43)、リセットシーケンスのマイ
クロアドレスにジャンプし、リセットシーケンスを開始
(S44)  Lた後命令の実行を行う(S45)。
またリセット時FLOAT Iピンがアサートされ″s
tart micro ROM test″のオペレー
ションが実行されると第2図のフリソプフロソプ7がセ
ットされ、フリソプフロップの出力信号であるテストモ
ード信号T−MODEが“1”になる。これによってト
ランスミソションゲート5が閉じられMADR 3はイ
ンクリメンタ4の出力しか取り込めず、マイクロROM
  1のアドレスはインクリメンタ4によりインクリメ
ントされ、シーケンシャルに指定される。
また、テストモード信号T−MODEがセントされるこ
とによって、マイクロROM 1の出力レジスタ21が
LFSR化し、マイクロROM 1の出力を蓄積する。
出力レジスタ21の出力信号R0〜R.。はマイクロ命
令デコーダ8に送られると共に、NORゲート回路22
の入力信号となる。このマイクロプロセソサではマイク
ロROM  1のセルフテスト終了時に、正しく動作す
ればLPSRである出力レジスタ21の出力信号がすべ
てOになるので、NOI1ゲート回路22の出力信号で
あるテスト結果信号TEST−Zがセットされる。
ilQ図にマイクロROMのセルフテスト実行時のタイ
ムチャートを示す。
RESETIピンとFLOAT #ピンとが同時にアサ
ー卜されるとMADR 3に“FO3 (H)″がセン
トされ、マイクロROM 1のアクセスを行う。そして
、そのマイクロ命令のアドレスのオペレーションにより
フリソブフロソプ7からのテストモード信号T−MOD
Eがセントされる。そしてトランスξソションゲート5
が閉じ、インクリメンタ4によりシーケンシャルなマイ
クロ命令アドレスの読み出しが続き、“FOI (H)
″のアドレスが読みだされると、テストモード信号T−
MOl)Eがリセットされるとともに、テスト結果が正
常ならば、NORゲート回路22からのTEST−Zが
セントされる。この信号をランチしておいて最終的にマ
イクロROM 1の異常の有無を判断する。
一般に、マイクロプログラムの中で条件判断するような
場合は、演算器等から出力されるさまざ35 36 まなフラグ情報を使用する。例えば、ある回数同一の処
理を行うような場合には、ループカウンタにその回数を
セットし、処理を行う度にそのループカウンタをデクリ
メントしていき、ループカウンタのゼロ(Z)フラグが
1になったら、処理を終了するというように処理を行う
。このマイクロプロセソサでは第6図の条件フィールド
CONDで条件判定に用いるフラグ情報を指定するよう
になっている。第1l図に条件フィールドCONDで指
定できるフラグ情報の一部を示す。条件フィールドGO
NOは5ビソト、の構或で、第11図に示す威立条件が
或り立てば、それを用いてマイクロプログラムの分岐を
制御することができる。条件フィールドCONDで指定
できるフラグ情報の1つとしてマイクロROM1のセル
フテスト結果フラグ(MROM:Z=1)を参照するこ
とができるので、テスト結果の判定もマイクロプログラ
ム内ですることができる。
〔発明の効果〕
以上説明したとおり、この発明においてはマイクロRO
Mにセルフテストの開始,終了命令を記憶しておくと共
に、それらによりセノト,リセットされるフリソプフロ
ソプを設け、その出力信号でMADRの入力を制御する
ことにより、セルフテストをマイクロプログラムの1つ
のルーチンプログラムとして扱い、外部ピンの追加を不
要となし、少ないハードウエアの追加でLSIテスタを
用いずにセルフテストできる等優れた効果を奏する。
【図面の簡単な説明】
第l図はこの発明に係るマイクロプロセソサの構戒を示
すブロソク図、第2図はマイクロROM部のアドレス制
御回路のブロック図、第3図はマイクロ命令処理回路の
ブロソク図、第4図はマイクロ命令のフォーマット図、
第5図はシーケンスフィールドのオペレーションを示す
図、第6図はテスト用のマイクロオペレーションを示す
図、第7図はテストモードの動作を示すフローチャート
、第8図はマイクロROM内のマイクロプログラムの構
或を示すアドレスマップ、第9図は?IIHの詳細プロ
ソク図、第10図はセルフテスト実行時のタイムチャー
ト、第11図は条件フィールドのオペレーションを示す
図、第12図及び第13図は従来のマイクロROMのセ
ルフテスト時の構威の一例を示すブロック図である。 1・・・マイクロROM   2・・・旧R  3・・
・MADR  4・・・インクリメンタ 5・・・トラ
ンストノションゲート6・・・ANDゲート 7・・・
フリソプフロップ 8・・・マイクロ命令デコーダ 9
・・・マイクロシーケンサなお、図中、同一符号は、同
一又は相当部分を示す。

Claims (1)

  1. 【特許請求の範囲】 1)マイクロ命令が連なったマイクロプログラムを記憶
    するマイクロ命令記憶部と、該マイクロ命令記憶部から
    読出したマイクロ命令を保持するマイクロ命令保持レジ
    スタと、該マイクロ命令保持レジスタに保持するマイク
    ロ命令に応じて前記マイクロ命令記憶部からマイクロ命
    令を読出すアドレスを生成するアドレス発生回路とを有
    するマイクロプロセッサにおいて、 前記マイクロ命令記憶部は通常の処理モードとは異なる
    処理モードでの開始及び終了を実行する開始マイクロ命
    令及び終了マイクロ命令を記憶してあり、 前記開始マイクロ命令によりセットされ、 前記終了マイクロ命令によりリセットされるモード信号
    を生成する信号生成手段と、 該モード信号により前記アドレス発生回路を制御する手
    段と を備えることを特徴とするマイクロプロセッサ。
JP1162118A 1989-06-23 1989-06-23 マイクロプロセッサ Expired - Lifetime JP2579817B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1162118A JP2579817B2 (ja) 1989-06-23 1989-06-23 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1162118A JP2579817B2 (ja) 1989-06-23 1989-06-23 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH0327450A true JPH0327450A (ja) 1991-02-05
JP2579817B2 JP2579817B2 (ja) 1997-02-12

Family

ID=15748384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1162118A Expired - Lifetime JP2579817B2 (ja) 1989-06-23 1989-06-23 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP2579817B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6129948A (ja) * 1984-07-20 1986-02-12 Hitachi Ltd 複合処理装置のインタ−フエ−ス・テスト方式
JPS6379144A (ja) * 1986-09-24 1988-04-09 Toshiba Corp マイクロプロセツサ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6129948A (ja) * 1984-07-20 1986-02-12 Hitachi Ltd 複合処理装置のインタ−フエ−ス・テスト方式
JPS6379144A (ja) * 1986-09-24 1988-04-09 Toshiba Corp マイクロプロセツサ

Also Published As

Publication number Publication date
JP2579817B2 (ja) 1997-02-12

Similar Documents

Publication Publication Date Title
US5430862A (en) Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution
JP2796590B2 (ja) メモリ装置及びそれを使用したデータ処理装置
US6327650B1 (en) Pipelined multiprocessing with upstream processor concurrently writing to local register and to register of downstream processor
US5640503A (en) Method and apparatus for verifying a target instruction before execution of the target instruction using a test operation instruction which identifies the target instruction
US6591378B1 (en) Debug controller in a data processor and method therefor
US5404560A (en) Microprocessor having external control store
JPH0719215B2 (ja) マイクロプロセッサ
JPH0810428B2 (ja) データ処理装置
JP2001525568A (ja) 命令デコーダ
JPH06105432B2 (ja) マイクロプロセッサ
JPH01214932A (ja) データ処理装置
US5666507A (en) Pipelined microinstruction apparatus and methods with branch prediction and speculative state changing
JPH07120284B2 (ja) データ処理装置
US5185870A (en) System to determine if modification of first macroinstruction to execute in fewer clock cycles
US5212779A (en) System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction
JPH0327450A (ja) マイクロプロセッサ
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPS62197831A (ja) デ−タ処理装置
JPH03158929A (ja) データ処理装置
US5903742A (en) Method and circuit for redefining bits in a control register
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPH04120633A (ja) プロセッサの故障診断装置
JP3564517B2 (ja) データ処理システム
JPS63247833A (ja) 条件分岐命令制御方法
EP0365187A2 (en) Apparatus for selective execution of instructions following a branch instruction