JPH0540703A - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPH0540703A
JPH0540703A JP3272343A JP27234391A JPH0540703A JP H0540703 A JPH0540703 A JP H0540703A JP 3272343 A JP3272343 A JP 3272343A JP 27234391 A JP27234391 A JP 27234391A JP H0540703 A JPH0540703 A JP H0540703A
Authority
JP
Japan
Prior art keywords
instruction
data
input
signal
register
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.)
Pending
Application number
JP3272343A
Other languages
English (en)
Inventor
Koji Kawamoto
浩司 川本
Kazuyuki Ishikawa
和幸 石川
Tomoaki Fujiyama
等章 藤山
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 JP3272343A priority Critical patent/JPH0540703A/ja
Publication of JPH0540703A publication Critical patent/JPH0540703A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】 命令ROM 中の命令ワードをビットの並びとし
てセルフテストすることを可能とし、テスト用のデータ
を外部から与える必要無しに内蔵命令ROM のテストが行
えるマイクロプロセッサの提供を目的とする。 【構成】 データ圧縮器19と、あるいは更にデータ圧縮
器19の出力の期待値を記憶するレジスタ18と、その期待
値とデータ圧縮器19の出力とを比較して結果を出力する
比較回路38とを備え、データ圧縮器19が使用可能な場合
に、命令ROM11中の1又は複数の命令ワードの内容をデ
ータ圧縮器19に入力して圧縮させる命令が命令ROM11 に
格納されており、更に前述の命令を用いて命令ROM11 中
の命令ワードの内容をデータ圧縮器19に入力して圧縮さ
せる一連の処理、あるいはその期待値との比較結果を出
力させる一連の処理を実行する回路37(41)を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は命令ROM を内蔵したマイ
クロプロセッサに関し、更に詳述すれば、命令ROM 中に
記憶されている命令ワードをビットの並びとしてセルフ
テストして自己診断を行い、更に通常は一般的な命令ワ
ードを特定のモード下においてセルフテストに使用する
ことにより、命令ROM の容量を有効利用し得ることを可
能としたマイクロプロセッサに関する。
【0002】
【従来の技術】従来のセルフテスト機能を有するマイク
ロプロセッサとして、本願出願人は先に、特開平2-1769
43号公報に開示されているマイクロプロセッサの発明に
おいて、命令ROM 以外のたとえばレジスタ, RAM等の記
憶手段及び演算器等のセルフテスト機能を有するマイク
ロプロセッサを提案している。
【0003】以下、従来例としての上述の特開平2-1769
43号公報に開示されている発明であるマイクロプロセッ
サについて、その構成例を示す図5のブロック図を参照
して説明する。
【0004】図5において、参照符号1はアドレス演算
部(AAU) であり、詳細は後述するが入力端は後述するP
バス23に、出力端は内蔵データRAM2にそれぞれ接続され
ている。内蔵データRAM2はビット長24, ワード長512(24
ビット×512ワード) の記憶容量を有する2ポートデー
タRAM であり、データ読出しのためのポートを2系統備
えている他、上述のアドレス演算部(AAU)1及び後述する
Dバス24と接続されている。
【0005】参照符号3は第1の演算部入力レジスタ(R
0), 4は第2の演算部入力レジスタ(R1)であり、内蔵デ
ータRAM2の各データ読出しポートがそれぞれの入力端に
接続されている他、それらの入出力端はDバス24とも接
続されており、更にそれらの出力端は乗算器(FMPL)5及
び演算器(FALU)7 の入力端とも接続されている。乗算器
(FMPL)5 は詳細は後述するが、第1の演算部入力レジス
タ(R0)3及び第2の演算部入力レジスタ(R1)4からの出
力信号を入力して乗算し、乗算器出力レジスタ(MR)6へ
出力する。
【0006】乗算器出力レジスタ(MR)6 は乗算器(FMPL)
5 の乗算結果を保持し、演算器(FALU)7 へ出力する。演
算器(FALU)7 は詳細は後述するが、アキュムレータ(AC
C)8, 第1の演算部入力レジスタ(R0)3, 第2の演算部
入力レジスタ(R1)4及び乗算器出力レジスタ(MR)6から
の出力信号が入力される。アキュムレータ(ACC)8は主と
して演算器(FALU)7による演算結果を保持する他、Dバ
ス24とも接続されている。
【0007】参照符号9は8レベルのスタックであり、
プログラムカウンタ(PC)10の値 (プログラムカウンタ
値) を必要に応じて保持する。プログラムカウンタ(PC)
10は、次にフェッチすべき命令の命令メモリ、具体的に
は後述する内蔵命令ROM 11及び内蔵共有RAM(CRAM)12 に
おけるアドレスを順次計数する。このプログラムカウン
タ(PC)10からの出力信号は内蔵命令ROM 11及び内蔵共有
RAM(CRAM)12 に与えられている。
【0008】内蔵命令ROM 11は32ビット×4kワードの容
量であり、プログラムカウンタ(PC)10から与えられるプ
ログラムカウンタ値に対応するアドレスに記憶している
命令ワードを出力する。
【0009】内蔵共有RAM(CRAM)12 は命令とデータとに
共通なメモリであり、32ビット×64ワードの容量を有し
ている。この内蔵共有RAM(CRAM)12 に格納されている値
はデータワードとしても命令ワードとしても使用するこ
とが可能である。
【0010】内蔵共有RAM(CRAM)12 に格納されている値
が命令ワードとして使用される場合は、プログラムカウ
ンタ(PC)10から与えられるプログラムカウンタ値に対応
するアドレスに記憶されている命令ワードが出力される
か、または命令レジスタ(IR)13の値がそのアドレスに記
憶される。
【0011】一方、内蔵共有RAM(CRAM)12 に格納されて
いる値がデータワードとして使用される場合は、アドレ
ス演算部(AAU)1またはアドレス入出力端子34から与えら
れるアドレス値に対応するアドレスに記憶されているデ
ータワードの上位16ビットまたは下位16ビットがIバス
35を通じてデータレジスタ(DR)18またはデータ入出力端
子30へ出力されるか、またはデータレジスタ(DR)18また
はデータ入出力端子30からIバス35を通じてデータワー
ドがそのアドレスの上位16ビットまたは下位16ビットに
記憶される。
【0012】この際、上位16ビットかまたは下位16ビッ
トかの区別は後述するUWI(Upper Word of Instruction)
信号出力端子36からの出力信号の論理レベルで区別可能
である他、フラグレジスタ(FR)32の特定ビットに反映さ
れるため、後述する命令セット中のシーケンス命令によ
りプログラムで判定可能である。なお、この UWI信号出
力端子36から出力される UWI信号は、図示されていない
が、内蔵共有RAM(CRAM)12 の制御部で発生される。ま
た、 UWI信号出力端子36及びフラグレジスタ(FR)32の特
定ビットの論理値は内蔵共有RAM(CRAM)12 に対する1回
のアクセスの都度反転する。
【0013】命令レジスタ(IR)13は、内蔵命令ROM 11又
は内蔵共有RAM(CRAM)12 から読出された次に実行される
べき命令ワードを保持する。命令レジスタ(IR)13からの
出力信号は命令デコーダ14及びPバス23及び内蔵共有RA
M(CRAM)12 へ与えられている。命令デコーダ14は、命令
レジスタ(IR)13が保持している命令ワードをデコード
し、そのデコード結果に基づいてこのマイクロプロセッ
サ各部の動作を制御する。
【0014】参照符号15はこのマイクロプロセッサ内部
の動作モードを設定するコントロールレジスタであり、
外部からリセット信号が与えられるた場合にリセット処
理により初期化される。このコントロールレジスタ15は
Pバス23から即値が入力される他、Dバス24を介してデ
ータの入出力が可能である。参照符号16はダイレクトメ
モリアクセスコントローラ(DMA), 17はシリアル I/Oイ
ンタフェイス(SI/O),18はデータレジスタ(DR)である。
また、参照符号19はシグネチャレジスタであり、疑似乱
数発生及びデータ圧縮を行う。
【0015】参照符号20は割込みコントローラ, 21はク
ロック/リセット信号発生回路(CLK/RST), 22は外部ク
ロックを分周するクロックプリスケーラ(CPR) である。
参照符号23は命令によりレジスタに即値を入力するPバ
ス、参照符号24は各レジスタ (参照符号3, 4, 8, 15, 1
6, 17, 18, 19, 32)等の間、あるいは内蔵データRAM2及
びプログラムカウンタ(PC)10間でデータの送受を行うD
バス, 25はダイレクトメモリアクセス時にダイレクトメ
モリアクセスコントローラ(DMA)16 により制御されてシ
リアルI/O インタフェイス17と、出力端子30を介して図
示しない外部データメモリとの間でのデータ送受を行う
Sバスである。
【0016】参照符号26は第1割込み信号(INT1)入力端
子,27は第2割込み信号(INT2)入力端子, 28はテストモ
ード設定信号(TEST)入力端子, 29は後述する IIA(Inter
nalInstruction ROM/RAM Access) モード設定信号(IIA)
入力端子、34はマスク不可割込み信号(NMI) 入力端子
である。参照符号30は24ビット長のデータ入出力端子で
あり、前述のデータレジスタ(DR)18, シグネチャレジス
タ19, Dバス24, Sバス25及び後述するIバス35と外部
データメモリ (図示せず) との間でのデータ転送に使用
される。
【0017】参照符号31はリセット信号(NRESET)入力端
子であり、このマイクロプロセッサ全体をリセットする
ためのリセット信号(NRESET)の入力に使用される。参照
符号32はフラグレジスタ(FR)であり、演算器(FALU)7 の
演算結果, 各入力端子の論理レベルあるいはこのマイク
ロプロセッサの内部動作モードを示す。このフラグレジ
スタ(FR)32は、上述のリセット信号(NRESET)が入力され
た際のリセット処理により初期化される。
【0018】参照符号33はクロック信号(CLK) 入力端子
であり、本従来例のマイクロプロセッサはこのクロック
信号入力端子33から入力されるクロック信号(CLK) に同
期して動作する。参照符号34は16ビット長のアドレス入
出力端子であり、図示しない外部データメモリに与えら
れるべきアドレスを出力し、また後述する IIAモードに
おいて内蔵命令ROM 11及び内蔵共有RAM(CRAM)12 のアド
レスを外部から入力して指定する。
【0019】参照符号35は内蔵命令ROM 11または内蔵共
有RAM(CRAM)12 と、データレジスタ(DR)18またはデータ
入出力端子30間でデータを転送する際に使用されるIバ
スであり、16ビットのビット長を有する。参照符号36は
Iバス35により転送されるデータが内蔵命令ROM 11また
は内蔵共有RAM(CRAM)12 の上位16ビットに対するもの
か、あるいは下位16ビットに対するものかを示すUWI(Up
per Word of Instruction)信号出力端子である。
【0020】次に、上述の図5に示されている従来のマ
イクロプロセッサの動作について説明する。
【0021】この従来例のマイクロプロセッサは、命令
ワードのビット長が32ビット、データワードのビット長
が24ビットであり、大きくはアドレス演算部, 演算部,
メモリ部, クロック生成部の各機能ブロックにて構成さ
れている。以下、この従来例のマイクロプロセッサにつ
いてまず各機能ブロックの構成及び動作について順次説
明する。
【0022】アドレス演算部は図5のアドレス演算部(A
AU)1そのものである。このアドレス演算部(AAU)1には所
定の命令により予めアドレスモードが設定されており
(以下、レジデュアル制御と称す)、この設定されたモ
ードに従って内蔵データRAM2,内蔵共有RAM(CRAM)12 あ
るいは図示されていない外部データRAM 等に対するアド
レスを生成する。
【0023】以下、このアドレス演算部(AAU)1によるア
ドレス生成の動作にについて説明する。レジデュアル制
御に関するレジスタとして、アドレス演算部(AAU)1内に
は内蔵データRAM2に対するアドレス及び内蔵共有RAM(CR
AM)12 あるいは図示されていない外部データRAM に対す
るアドレスの下位9ビットを与えるアドレスレジスタ(A
R0, AR1, AR2),内蔵共有RAM(CRAM)12 あるいは図示され
ていない外部データRAMに対するアドレスの上位7ビッ
トを与えるページレジスタ(PGR),アドレスを生成するた
めの基値を与えるベース値アドレスレジスタ(BA0, BA1,
BA2),アドレスを生成する際の加算値を与えるインクリ
メント値レジスタ(I0, I1, I2), モジュロ値あるいはビ
ットリバース幅を与えるモジュロ値−ビットリバース幅
レジスタ(ML0, ML1, ML2),ループ命令時にベースアドレ
ス値を修飾するためのデルタベース値アドレスレジスタ
(DBA0), ループ命令時にインクリメント値を修飾するた
めのデルタインクリメント値レジスタ(DI0) 等が含まれ
ている。これらの各レジスタは基本的には次に述べるモ
ード命令で値が設定されるが、オペレーション命令によ
る変更も可能なレジスタもある。
【0024】アドレス演算部(AAU)1はアドレスレジスタ
としてAR0, AR1, AR2 の三つのレジスタを有しており、
それぞれのレジスタは個別のアドレス演算回路により制
御される。そして、内蔵データRAM2の一方のポート0に
対するアドレス及び内蔵共有RAM(CRAM)12 あるいは図示
されていない外部データRAM に対するアドレスの下位9
ビットをアドレスレジスタAR0 またはAR1 により、内蔵
データRAM2の他方のポート1に対するアドレスの指定は
アドレスレジスタAR2 によりそれぞれ行われる。
【0025】レジスタAR0 に関しては、先に述べたレジ
デュアル制御に関するレジスタの内容に従って、インク
リメント, モジュロ, ビットリバース及びリピートの4
モードによるアドレッシングが可能であり、更にベース
アドレス値, インクリメント値, モジュロ値及びビット
リバース幅をそれぞれ独立に設定することが可能であ
る。
【0026】また、レジスタAR1, AR2ではインクリメン
ト, モジュロの2モードによるアドレッシングが可能で
あり、且つレジスタAR0と同様にベースアドレス値, イ
ンクリメント値, モジュロ幅が独立に設定できる。更
に、内蔵データRAM2のポート1については命令ワードに
含まれる即値をアドレスとして用いたダイレクトアドレ
ッシングも可能である。
【0027】次に、演算部の構成について説明する。演
算部は、図5に示されている第1の演算部入力レジスタ
(R0)3及び第2の演算部入力レジスタ(R1)4, 乗算器(F
MPL)5, 乗算器出力レジスタ(MR)6, 演算器(FALU)7及
びアキュムレータ(ACC)8にて構成される。
【0028】演算部は、演算データの形式としては、仮
数部16ビット,指数部8ビットの24ビット浮動小数点デ
ータと、24ビット固定小数点データと、24ビット論理デ
ータとの3種類のデータに対して31種類の演算を行う。
【0029】乗算器(FMPL)5 は第1の演算部入力レジス
タ(R0)3及び第2の演算部入力レジスタ(R1)4へ入力さ
れた値により、命令に関係なく毎マシンサイクルごとに
浮動小数点乗算結果を乗算器出力レジスタ(MR)6 へ出力
している。但し、後述するオペレーション命令の aluフ
ィールドが固定小数点データに対する演算を指定してい
る場合には、第1の演算部入力レジスタ(R0)3及び第2
の演算部入力レジスタ(R1)4の上位または下位の16ビッ
トの乗算結果 (32ビット) の上位又は下位の24ビット
を乗算器出力レジスタ(MR)6 へ出力する。
【0030】演算器(FALU)7 では、入力レジスタとし
て、2入力の内の一方の入力であるx入力には第1の演
算部入力レジスタ(R0)3またはアキュムレータ(ACC)8
が、他方の入力であるy入力には第2の演算部入力レジ
スタ(R1)4または乗算器出力レジスタ(MR)6 がそれぞれ
用意されており、オペレーション命令の内容に従って1
マシンサイクルで演算を実行し、演算結果をアキュムレ
ータ(ACC)8へ出力する。
【0031】次にメモリ部の概要について述べる。メモ
リ部は、図5に示されている2ポート内蔵データRAM 2,
内蔵命令ROM 11, 内蔵共有RAM(CRAM)12 にて構成され
ている。
【0032】命令メモリ空間としては、4kワードの領域
が割当てられており、内蔵命令ROM11が組込まれてい
る。データメモリ空間としては、マイクロプロセッサ内
部に512ワードの領域が割当てられており、内蔵データR
AM2が組込まれている。内蔵データRAM2はポート0及び
ポート1を用いた2データ読出し及びいずれかのポート
のみを用いた1データ書込みを1マシンサイクル中に実
行可能である。また、マイクロプロセッサ外部に拡張デ
ータRAM 空間として60kワードの領域が割当てられてい
る。更に、命令メモリとデータメモリとの共有メモリ空
間として4kワードが割当てられており、マイクロプロセ
ッサ内部に64ワードの内蔵共有RAM(CRAM)12 が組込まれ
ている。
【0033】次に、クロック生成部について説明する。
クロック生成部は、図5に示されているクロック/リセ
ット信号発生回路(CLK/RST)21 及びクロックプリスケー
ラ(CPR)22 にて構成されている。このクロック生成部
は、図示しないクロックプリスケール値レジスタに所定
の命令により設定されたクロックプリスケール値に従っ
て外部クロックをクロックプリスケーラ22で分周し、非
重複4相クロックを生成してマイクロプロセッサ各部へ
供給している。
【0034】クロック/リセット信号発生回路(CLK/RS
T)21 は、リセット信号(NRESET)入力端子31から入力さ
れるリセット信号(NRESET)がアクティブに転じた際に通
常はプログラムカウンタ(PC)10を所定の固定アドレスに
リセットする。しかし、リセット信号(NRESET)が非アク
ティブに転じた際に、第1割込み信号入力端子26,第2
割込み信号入力端子27へそれぞれ入力されている第1割
込み信号(INT1)及び第2割込み信号(INT2)がアクティブ
であればデータレジスタ(DR)18の内容をDバス24を介し
てプログラムカウンタ(PC)10へ転送する。この機能を用
いることにより、予めデータレジスタ(DR)18に外部から
任意のデータを書込んでおけば、任意のアドレスからプ
ログラムをスタートさせるリセット処理が可能である。
【0035】次に、上述の如く構成されたマイクロプロ
セッサにおける命令フォーマットについて述べる。命令
ワード長は32ビットであり、命令の種類としては大きく
はシーケンス命令グループ, モード命令グループ, オペ
レーション命令グループ及びロード命令グループの4種
類に分類される。
【0036】シーケンス命令グループでは主に分岐に関
する命令が8種類, モード命令グループでは各レジスタ
へのデータ設定を行う命令が7種類, オペレーション命
令グループでは演算に関する命令が7種類, ロード命令
グループでは即値をレジスタへ設定する命令が2種類あ
る。ロード命令グループ以外では、上位5ビット (第27
ビット〜第31ビット) のデコード結果でグループ中の各
命令を判別し、残りの27ビットを以下に示す各フィール
ドに割付けている。
【0037】まずシーケンス命令グループでは、図6〜
図13に示すようにフィールドが割付けられている。
【0038】図6はシーケンス命令のビット配列を示し
ている。第27ビット〜第29ビットは、図7に示す如く、
シーケンス時の種類を指定するフィールドである。第23
ビット〜第26ビットは、図10, 図11, 図12及び図
13に示す如く、ループ時におけるループカウンタの初
期値の変更あるいはアドレッシングの修飾の変更を指定
するフィールドである。第19ビット〜第23ビットは、図
9に示す如く、条件ジャンプのブランチ条件を設定する
フィールドである。第0ビット〜第15ビットは飛先アド
レスを指定するフィールドであり、その内の第4, 第
5,第6ビットは、図8に示す如く、レジスタが保持し
ている内容を飛先アドレスとする間接ジャンプのレジス
タを指定するフィールドでもある。
【0039】モード命令グループでは、図14〜図18
に示すようにフィールドが割付けられている。
【0040】図14はモード命令のビット配列を示して
いる。第27ビット〜第29ビットは、図15に示す如く、
モード命令の種類を指定するフィールドである。この
内、図15にニーモニックにて示されている WINCR命令
は、内蔵命令ROM 11中のこの命令ワードが位置する次の
アドレスからの命令ワードを図15にニーモニックにて
示してある ENDWC命令以外は実行せずに、命令レジスタ
(IR)13を通過させてそのまま内蔵共有RAM(CRAM)12 に順
に書込む命令であり、書込み先の先頭アドレスは図14
のニーモニックwaにて指定されているアドレスと16進数
のF000との和で指定される。またこの命令による処理
は、図15にニーモニックにて示されている ENDWC命
令、即ち WINCR命令の実行を停止させる命令が実行され
るまでは内蔵命令ROM 11及び内蔵共有RAM(CRAM)12 のア
ドレスを共に”1”ずつインクリメントしつつ継続され
る。
【0041】第26ビットは、図16に示す如く、レジデ
ュアル制御による内蔵データRAM2のポート0に対するア
ドレス指定にレジスタAR0 を用いるかまたはレジスタAR
1 を用いるかを示すフィールドである。
【0042】第25ビットは、図17に示す如く、図示し
ない外部データRAM または内蔵共有RAM(CRAM)12 のアド
レス指定の下位9ビットにレジスタAR0 を用いるかまた
はレジスタAR1 を用いるかを示すフィールドである。な
お、アドレス指定の上位7ビットはアドレス演算部(AA
U)1中の図示されていないページレジスタ(PGR) により
指定される。
【0043】図18に示す如く、第0ビット〜第3ビッ
トはいずれのレジスタに対して値を設定するかを選択す
るフィールドであり、設定される即値は図14に示され
ている第4ビット〜第22ビットで指定される。この内、
コントロールレジスタ15中のCRレジスタの第2及び第3
ビットは後述するオペレーション命令のバス転送のソー
スレジスタとしてアキュムレータ(ACC)8を指定した場合
にオペレーション命令の acoフィールドで指定されたAC
C0, ACC1, ACC2, ACC3レジスタに対して実際にソースレ
ジスタとして用いられるレジスタの選択方法を指定する
ビットである。リセット処理後は、b3−b2=”00”であ
り、 acoフィールドにより指定されるレジスタが用いら
れるが、b3−b2=”01”である場合は acoフィールドに
よる指定+1のレジスタが選択される。この場合具体的
には、ACC0レジスタが指定されるとACC1レジスタがバス
転送のソースレジスタとして用いられ、ACC1レジスタの
指定でACC2レジスタが、ACC2レジスタの指定でACC3レジ
スタが、ACC3レジスタの指定でACC0レジスタがそれぞれ
用いられる。
【0044】オペレーション命令グループでは、図19
〜図31に示す様にフィールドが割付けられている。
【0045】図19はオペレーション命令のビット配列
を示している。第27ビット〜第29ビットは図20に示す
如く、オペレーション命令の種類を指定するフィールド
である。
【0046】第26ビットはダイレクトアドレッシングを
行うか否かを示すフィールドであり、ダイレクトアドレ
ッシングが行われる場合は図21に示す如く、Dバス24
を介して行われるデータ転送のソースレジスタとデステ
ィネーションレジスタとが第5ビット〜第7ビットで指
定され、内蔵データRAM2のポート1に対して図19のニ
ーモニックdadispで指定される5ビットが即値アドレス
として指定される。
【0047】第23, 第24, 第25ビットはそれぞれレジス
タAR0, AR1, AR2 をレジデュアル制御により更新するか
否かを示すフィールドである。第22ビットはデータレジ
スタ(DR)18の内容を図示しない外部データRAM または内
蔵共有RAM(CRAM)12 へ書込むか否かを、第21ビットは図
示しない外部データRAM または内蔵共有RAM(CRAM)12 か
らデータレジスタ(DR)18へデータを読込むか否かを制御
するフィールドである。
【0048】第19, 第20ビットはアドレスレジスタが示
すアドレスに書かれている内蔵データRAM2の内容を第1
の演算部入力レジスタ(R0)3及び第2の演算部入力レジ
スタ(R1)4へ書込むか否かを制御するフィールドであ
る。第17, 第18ビットは演算器(FALU)7 への入力レジス
タを選択するフィールドである。
【0049】第12ビット〜第16ビットは、図30及び図
31に示す如く、演算器(FALU)7 の演算を指定するフィ
ールドであり、特にaluフィールドと称する。第10, 第1
1ビットは、図22及び図23に示す如く、演算器(FAL
U)7 の演算結果を入力するアキュムレータを指定するフ
ィールドであると共に、 aluフィールドに後述する NOP
またはデスティネーションレジスタとしてアキュムレー
タ(ACC)8が指定された場合に、Dバス24を介して行われ
るデータ転送のデスティネーションレジスタを更に詳し
く指定するフィールドでもある。
【0050】第8, 第9ビットは、図24及び図25に
示す如く、出力アキュムレータを指定するフィールドで
あると共に、 aluフィールドにNOPまたはソースレジス
タとしてアキュムレータ(ACC)8が指定された場合に、D
バス24を介して行われるデータ転送のソースレジスタを
更に詳しく指定するフィールドでもある。第4ビット〜
第7ビットは、図26及び図27に示す如く、Dバス24
を介して行われるデータ転送のソースレジスタを示すフ
ィールドである。第0ビット〜第3ビットは、図28及
び図29に示す如く、Dバス24を介して行われるデータ
転送のデスティネイションレジスタを指定するフィール
ドである。
【0051】図30及び図31に示されている aluフィ
ールドについて更に詳しく説明する。なお、演算器(FAL
U)7 への2入力の内、第1の演算部入力レジスタ(R0)3
またはアキュムレータ(ACC)8からの入力をx入力,第2
の演算部入力レジスタ(R1)4または乗算器出力レジスタ
(MR)6 からの入力をy入力とし、アキュムレータ(ACC)8
への出力信号をz出力とする。
【0052】NOPは、演算器(FALU)7 では何も演算しな
いという命令であり、x入力,y入力とも演算器(FALU)
7 へは入力されず、従ってz出力も変化しない。INV
は、x入力のデータを浮動小数点データと見なして符号
反転してz出力する命令である。ABSは、x入力のデー
タを浮動小数点データと見なしてその絶対値をz出力す
る命令である。
【0053】SGNは、x入力のデータとy入力のデータ
とを浮動小数点データと見なしてxの絶対値にyの符号
(正の数なら1、負の数なら−1)を乗算してz出力す
る命令である。ADDは、x入力のデータとy入力のデー
タとを浮動小数点データと見なして加算し、z出力する
命令である。SUBは、x入力のデータとy入力のデータ
とを浮動小数点データと見なしてxからyを減算し、z
出力する命令である。
【0054】MAXは、x入力のデータとy入力のデータ
とを浮動小数点データと見なして比較し、大きい方をz
出力する命令である。MINは、x入力のデータとy入力
のデータとを浮動小数点データと見なして比較し、小さ
い方をz出力する命令である。THRは、y入力のデータ
をそのままz出力する命令である。
【0055】XFTは、x入力のデータを固定小数点デー
タと見なしてコントロールレジスタ15に設定されている
モードに従って浮動小数点データに変換し、z出力する
命令である。FXTは、x入力のデータを浮動小数点デー
タと見なしてコントロールレジスタ15に設定されている
モードに従って固定小数点データに変換し、z出力する
命令である。SR1は、x入力のデータを論理データと見
なして1ビット右シフトし、z出力する命令である。
【0056】SL1は、x入力のデータを論理データと見
なして1ビット左シフトし、z出力する命令である。SL
2は、x入力のデータを論理データと見なして2ビット
左シフトし、z出力する命令である。SL4は、x入力の
データを論理データと見なして4ビット左シフトし、z
出力する命令である。
【0057】SL8は、x入力のデータを論理データと見
なして8ビット左シフトし、z出力する命令である。こ
れらのSR1, SL1, SL2, SL4, SL8 の各命令では、シフト
インされるデータは総て0である。
【0058】ANDは、x入力のデータとy入力のデータ
とを論理データと見なして論理積をとり、z出力する命
令である。ORは、x入力のデータとy入力のデータとを
論理データと見なして論理和をとり、z出力する命令で
ある。EORは、x入力のデータとy入力のデータとを論
理データと見なして排他的論理和をとり、z出力する命
令である。
【0059】NOTは、x入力のデータを論理データと見
なして論理否定をとり、z出力する命令である。MAD
は、x入力のデータとy入力のデータとの下位16ビット
を固定小数点加算を行ってz出力する命令であるが、入
力データの指数部は無視され、z出力の上位8ビットに
は”0”が出力される。ESBは、x入力のデータとy入
力のデータとの上位8ビットを固定小数点減算を行って
z出力する命令であるが、入力データの仮数部は無視さ
れ、z出力の下位16ビットには16進数の8000が出力され
る。
【0060】IMULは、演算器(FALU)7 に対しては何も行
わず、乗算器(FMPL)5 に固定小数点乗算を行わせる命令
である。IADDは、x入力のデータとy入力のデータとを
固定小数点データと見なして加算し、z出力する命令で
ある。ISUBは、x入力のデータとy入力のデータとを固
定小数点データと見なしてxからyを減算し、z出力す
る命令である。
【0061】IADCは、x入力のデータとy入力のデータ
とを固定小数点データと見なしてこの2つの数とフラグ
レジスタ(FR)32内のキャリービットとの加算を行い、z
出力する命令である。ISBBは、x入力のデータとy入力
のデータとを固定小数点データと見なしてx入力データ
からy入力データを減算し、更にフラグレジスタ(FR)32
内のキャリービットの減算を行い、z出力する命令であ
る。
【0062】ASR1は、x入力のデータを固定小数点デー
タと見なして1ビット右シフトを行い、z出力する命令
である。ASR2は、x入力のデータを固定小数点データと
見なして2ビット右シフトを行い、z出力する命令であ
る。
【0063】ASR4は、x入力のデータを固定小数点デー
タと見なして4ビット右シフトを行い、z出力する命令
である。ASR8は、x入力のデータを固定小数点データと
見なして8ビット右シフトを行い、z出力する命令であ
る。これらのASR1, ASR2, ASR4, ASR8の各命令における
シフトインデータはサインビット(x入力の最上位ビッ
ト)である。
【0064】ロード命令グループでは、最上位の3ビッ
ト(第29, 第30, 第31ビット) によりロード命令とロン
グロード命令とに分けられる。また、ロード命令では、
図32〜図37に示す如くフィールドが割付けられてい
る。なお、ロード命令はこの従来例では18ビット即値を
指定することが出来、ロングロード命令はそれよりも長
いビット長である24びとビット即値を指定することが出
来る。
【0065】図32はロード命令のビット配列を示して
いる。第28ビットは、図33に示す如く、データレジス
タ(DR)18の内容を図示しない外部データRAM または内蔵
共有RAM(CRAM)12 へ書込むか否かを選択するフィールド
である。第26, 第27ビットは、図34に示す如く、即値
を書込むレジスタがアキュムレータ(ACC)8である場合に
は、アキュムレータ(ACC)8中の図示されていないACC0〜
ACC3のいずれのアキュムレータであるかを指定する他、
フラグレジスタ(FR)32,コントロールレジスタ(CR, SR)1
5, アドレス演算部(AAU)1内の各種レジスタ (アドレス
レジスタ(AR0, AR1, AR2),ベースアドレス値レジスタ(B
A0, BA1, BA2),インクリメント値レジスタ(I0, I1, I
2)) のいずれのレジスタに即値を書込むかを指定するフ
ィールドである。
【0066】第23, 第24, 第25ビットは、図35に示す
如く、レジデュアル制御によるアドレスレジスタ(AR0,
AR1, AR2) の内容を更新するか否かを選択するフィール
ドである。第22ビットは、図36に示す如く、Dバス24
の24ビットの内のMSB(第23ビット) 側の18ビットに即値
を書込むか、またはLSB(第0ビット)側の18ビットに即
値を書込むかを選択するフィールドである。
【0067】第4ビット〜第21ビットはレジスタへ書込
む即値を指定するフィールドである。第0ビット〜第3
ビットは、図37に示す如く、即値を書込むレジスタを
指定するフィールドである。
【0068】ロングロード命令は、図38及び図39に
示すようにフィールドが割付けられている。図38はロ
ングロード命令のビット配列を示している。第28ビット
はデータレジスタ(DR)18の内容を図示しない外部データ
RAM または内蔵共有RAM(CRAM)12 へ書込むか否かを選択
するフィールドである。第4ビット〜第27ビットは即値
を指定するフィールドである。第0, 第1,第2及び第
3ビットは、図39に示す如く、即値を書込むレジスタ
を指定するフィールドである。
【0069】次に、上述の従来のマイクロプロセッサの
動作モードについて説明する。このマイクロプロセッサ
の動作モードとしては通常モードの他に以下のようなテ
ストモードがある。
【0070】まず第1は、データ入出力端子30, アドレ
ス入出力端子34, 図示されていない出力端子の出力状態
あるいは出力レベルをマイクロプロセッサの内部動作と
は無関係に設定可能なピンテストモードである。次に第
2は、通常モードでは観測することが困難なDバス24及
びプログラムカウンタ(PC)10の値をデータ入出力端子30
及びアドレス入出力端子34から外部へ出力するPEEPモー
ドである。
【0071】第3は、命令の実行によりデータレジスタ
(DR)18又はシリアルI/O インタフェイス17中の図示しな
いシリアル入力レジスタ(SI0, SI1)をDバス24を用いた
バス転送のソースレジスタとして用いた場合に、これら
の代わりにシグネチャレジスタ19中の図示されていない
疑似乱数発生器をバス転送のソースレジスタとして用い
るか、またはデータレジスタ(DR)18又はシリアルI/O イ
ンタフェイス17中の図示されていないシリアル出力レジ
スタ(SO0, SO1)をDバス24を用いたバス転送のデスティ
ネーションレジスタとして用いた場合に、これらの代わ
りにシグネチャレジスタ19中の図示しないデータ圧縮器
をバス転送のデスティネーションレジスタとして用いる
セルフテストモードである。
【0072】第4は、内蔵命令ROM 11あるいは内蔵共有
RAM(CRAM)12 のアドレスをマイクロプロセッサ外部から
アドレス入出力端子34へ入力してデータ入出力端子30か
ら内蔵命令ROM 11あるいは内蔵共有RAM(CRAM)12 の内容
を読出し、あるいはデータ入出力端子13から入力したデ
ータを内蔵命令ROM 11あるいは内蔵共有RAM(CRAM)12へ
書込むことが可能なIIA(Internal Instruction ROM/RAM
Access)モードである。
【0073】なお、シグネチャレジスタ19中の図示され
ていない疑似乱数発生器及びデータ圧縮器はそれぞれ独
立しており、リセット処理により初期化される。また、
疑似乱数発生器はソースレジスタとしてアクセスされる
都度、新たに乱数を出力し、データ圧縮器はデスティネ
ーションレジスタとしてアクセスされる都度、ソースレ
ジスタから出力されるデータのシグネチャ圧縮を行う。
【0074】また、上述のモードの切換えはTESTモード
設定信号入力端子28と IIAモード設定信号入力端子29と
への入力信号の論理レベルの組合わせにて行われる。次
に、上述の各テストモードの中でセルフテストモードを
使用した演算器(FALU)7 のテスト方法について説明す
る。
【0075】演算器(FALU)7 のテストは、各演算に対し
て種々の入力値で演算を実行し、その結果を調べること
により行われる。また、ある種の演算 (たとえばIADC演
算等) に対してはその前に実行された演算により設定さ
れたフラグレジスタ(FR)32の値を用いることになるた
め、演算実行の履歴が問題になる。そこで、演算器(FAL
U)7 の入力値に疑似乱数発生器から出力された乱数を使
用し、演算結果をデータ圧縮器で圧縮する場合について
考える。
【0076】Dバス24を使用したバス転送のソースレジ
スタとしてたとえばデータレジスタ(DR)18を命令により
指定する都度、新たな疑似乱数データが得られる。この
疑似乱数データを第1の演算部入力レジスタ(R0)3及び
第2の演算部入力レジスタ(R1)4へ転送することにより
演算器(FALU)7 のための種々の演算入力値が得られる。
そして、演算器(FALU)7 による演算結果をデスティネー
ションレジスタとしてたとえばデータレジスタ(DR)18を
指定してDバス24を用いてバス転送すれば、演算結果が
シグネチャ圧縮される。
【0077】上述のような操作は数個の命令にて実現可
能であり、多重ループを用いると小数の命令で多数の疑
似乱数を利用した演算器のテストを行うことが可能であ
る。テストの実行結果は、テスト終了後の最終結果を、
正常に動作することが確認されているマイクロプロセッ
サが出力する最終シグネチャまたは計算機シミュレーシ
ョンによる最終シグネチャ等と比較することにより、正
常であるか否かの判断が可能である。
【0078】次に、このようなテスト機能を有するマイ
クロプロセッサの演算器(FALU)7 のセルフテストプログ
ラムの一例を図40, 図41, 図42, 図43, 図4
4, 図45及び図46に、その処理手順を示すフローチ
ャートを図47, 図48, 図49図50及び図51に示
す。このセルフテストプログラムは、図47に示す如
く、二重ループを使用することにより、より小数の命令
にて多くのテストが行えるように構成されている。
【0079】図49はモジュール1の処理手順を示すフ
ローチャートである。まず最初に、シグネチャレジスタ
19中の疑似乱数発生器から第1の演算部入力レジスタ(R
0)3及び第2の演算部入力レジスタ(R1)4に疑似乱数を
セットして演算器(FALU)7 に演算を実行させ、その演算
結果をシグネチャレジスタ19中のデータ圧縮器へ転送し
て圧縮を行うと同時に、一演算毎にフラグレジスタ(FR)
32の内容をチェックし、またフラグレジスタ(FR)32の内
容に応じた条件ジャンプのテストも図51に示すモジュ
ール3にて行っている。このモジュールでは、一入力演
算と二入力演算とを組合わせる事によりテストプログラ
ムのステップ数の削減を図っている。
【0080】図50はモジュール2の処理手順を示すフ
ローチャートである。このモジュール2はモジュール1
の変形であって、フラグレジスタ(FR)32中に格納されて
いる前命令のキャリーを受けて演算を行い、シグネチャ
レジスタ19中のデータ圧縮器へデータを転送するモジュ
ールである。
【0081】図47乃至図51のフローチャートに示し
た演算は、図5における演算器(FALU)7 で実行可能な総
ての演算に対して、つまり図19乃至図31に示されて
いるaluフィールドの演算INV, ABS, SGN, ADD, SUB, MA
X, MIN, THR, XFT, FXT, SR1,SL1, SL2, SL4, SL8, AN
D, OR, EOR, NOT, MAD, ESB, IADD, ISUB, IADC, ISBB,
ASR1, ASR2, ASR4, ASR8 を行っている。
【0082】これらのモジュールを組合せて一つのプロ
グラムとして表現したものが図40乃至図46に示され
ているプログラムである。このプログラムは約120ワー
ドという少ないワード数で構成されている。
【0083】なお、上述の例では演算部のテストを一例
として説明したが、メモリ部の内の内蔵データRAM2及び
内蔵共有RAM(CRAM)12 のテストは、レジデュアル制御を
用いてアドレスレジスタを順次変更しつつ疑似乱数発生
器が発生する乱数を内蔵データRAM2及び内蔵共有RAM(CR
AM)12 に一旦書込んだ後に読出してデータ圧縮器で圧縮
するプログラムを実行すれば容易に行える。
【0084】図52は、図40乃至図46に示すセルフ
テストプログラムが図5に示した内蔵命令ROM 11の命令
メモリ空間上にどの様に構成されているかを示す模式図
である。このようなメモリ空間の構成を採ることによ
り、通常モードでは16進数の0000番地をリセット処理の
際のスタートアドレスとするユーザプログラム等が実行
される。しかし、セルフテストを実行する場合には上述
の任意のアドレスからリセットスタート可能なリセット
処理を利用することにより、上述のようなセルフテスト
が実行される。
【0085】次に、内蔵命令ROM 11のテスト方法につい
て説明する。但し、内蔵命令ROM 11の記憶内容は命令に
より直接扱うことは出来ないので、前述の IIAモードを
使用する。
【0086】IIAモード時には、内蔵命令ROM 11内の読
出したいアドレスをアドレス入力端子34に入力すると、
指定したアドレスに記憶されている命令ワードの内容の
内の下位16ビットまたは上位16ビットがIバス35を通じ
て転送され、データ入出力端子30から出力される。この
出力データが内蔵命令ROM 11の記憶内容の下位16ビット
であるか、または上位16ビットであるかは UWI信号出力
端子36に現れる論理レベルにより区別することが可能で
ある。従って、内蔵命令ROM 11のテスト時にはアドレス
入力端子34から内蔵命令ROM 11のアドレス範囲全体をカ
バーする値をマイクロプロセッサ外部から入力し、デー
タ入出力端子30から順に出力される値を逐一チェックす
る必要がある。
【0087】
【発明が解決しようとする課題】上述のような従来のマ
イクロプロセッサでは、ユーザが容易に行い得るセルフ
テストでは内蔵命令ROM 11 (4kワード×32ビット、即ち
約13万個の記憶素子) のチェックは行われないため、内
蔵命令ROM 11のテストデータを外部に用意して IIAモー
ドによりチェックする必要がある。このため、テスト用
ジグが複雑化し、またユーザによる受入れテストが煩雑
になる等の問題が生じる。
【0088】本発明はこのような事情に鑑みてなされた
ものであり、テスト用のデータを外部から与える必要無
しに内蔵命令ROM のテストが行え、簡易なテストで故障
検出率を向上させたマイクロプロセッサの提供を目的と
する。また、従来のマイクロプロセッサが有している命
令を内蔵ROM のテストを行うための命令として兼用する
ことにより、ソフトウェアの節約も図り得るマイクロプ
ロセッサの提供を目的とする。
【0089】
【課題を解決するための手段】本発明のマイクロプロセ
ッサの第1の発明は、プログラムを構成する複数の命令
が格納された命令ROM と、入力されたデータを圧縮して
出力するデータ圧縮器と、データ圧縮器を使用すること
を可能とする信号を入力するための入力端子とを備え、
前述の信号が入力端子に入力されている場合に、命令RO
M 中の1又は複数の命令ワードの内容をデータ圧縮器に
入力して圧縮させる命令が命令ROM に格納されているマ
イクロプロセッサであって、更に前述の命令を用いて命
令ROM 中の命令ワードの内容をデータ圧縮器に入力して
圧縮させる一連の処理を実行する手段を備えたことを特
徴とする。
【0090】また本発明のマイクロプロセッサの第2の
発明は、プログラムを構成する複数の命令が格納された
命令ROM と、入力されたデータを圧縮して出力するデー
タ圧縮器と、データ圧縮器を使用することを可能とする
信号を入力するための入力端子と、データ圧縮器からの
出力信号の期待値を記憶する記憶手段と、記憶手段に記
憶された期待値とデータ圧縮器からの出力信号とを比較
し、その結果を出力する比較手段とを備え、前述の信号
が前記入力端子に入力されている場合に、命令ROM 中の
1又は複数の命令ワードの内容をデータ圧縮器に入力し
て圧縮させる命令が命令ROM に格納されているマイクロ
プロセッサであって、更に前述の命令を用いて命令ROM
中の命令ワードの内容をデータ圧縮器に入力して圧縮さ
せ、その期待値との比較手段による比較結果を出力させ
る一連の処理を実行する手段を備えたことを特徴とす
る。
【0091】更に本発明のマイクロプロセッサの第3の
発明は、第1の発明に加えてプログラムを構成する複数
の命令を記憶する命令RAM を備え、前述の信号が前述の
入力端子に入力されていない場合に命令ROM 中の1又は
複数の命令ワードの内容を命令RAM に格納する命令を有
し、この命令が前述の信号が入力端子に入力されている
場合には第1の発明の命令として機能するように構成さ
れていることを特徴とする。
【0092】更に本発明のマイクロプロセッサの第4の
発明は、第2の発明に加えてプログラムを構成する複数
の命令を記憶する命令RAM を備え、前述の信号が前述の
入力端子に入力されていない場合に命令ROM 中の1又は
複数の命令ワードの内容を命令RAM に格納する命令を有
し、この命令が前述の信号が入力端子に入力されている
場合には第2の発明の命令として機能するように構成さ
れていることを特徴とする。
【0093】また更に本発明のマイクロプロセッサの第
5の発明は、第1の発明に加えてデータ記憶回路を備
え、前述の信号が前述の入力端子に入力されていない場
合にプログラムで処理するデータを記憶するデータ記憶
回路の1または複数のデータを読出す命令、またはデー
タ記憶回路に1または複数のデータを書込む命令を有
し、この命令が前述の信号が入力端子に入力されている
場合には第1の発明の命令として機能するように構成さ
れていることを特徴とする。
【0094】更に本発明のマイクロプロセッサの第6の
発明は、第2の発明に加えてデータ記憶回路を備え、前
述の信号が前述の入力端子に入力されていない場合にプ
ログラムで処理するデータを記憶するデータ記憶回路の
1または複数のデータを読出す命令、またはデータ記憶
回路に1または複数のデータを書込む命令を有し、この
命令が前述の信号が入力端子に入力されている場合には
第2の発明の命令として機能するように構成されている
ことを特徴とする。
【0095】
【作用】本発明のマイクロプロセッサの第1の発明で
は、データ圧縮器が使用可能な場合には、命令ROM に記
憶してある命令を用いた一連の処理が実行され、命令RO
M中の各命令ワードの内容が順次読出されてデータ圧縮
器に入力されて圧縮される。
【0096】更に第2の発明では、データ圧縮器で圧縮
された結果とその期待値との比較結果が外部へ出力され
る。
【0097】第3の発明では、所定の信号が入力端子に
入力されている場合には、命令ROMに予め記憶されてい
る通常のプログラムを構成する命令ワードがRAM に一旦
格納され、このRAM に格納されている命令により第1の
発明と同様に動作する。
【0098】第4の発明では、所定の信号が入力端子に
入力されている場合には、命令ROMに予め記憶されてい
る通常のプログラムを構成する命令ワードがRAM に一旦
格納され、このRAM に格納されている命令により第2の
発明と同様に動作する。
【0099】第5の発明では、所定の信号が入力端子に
入力されている場合には、通常はデータ記憶回路に対し
てデータの入出力を行うために命令ROM に予め記憶され
ている命令ワードがRAM に一旦格納され、このRAMに格
納されている命令により第1の発明と同様に動作する。
【0100】第6の発明では、所定の信号が入力端子に
入力されている場合には、通常はデータ記憶回路に対し
てデータの入出力を行うために命令ROM に予め記憶され
ている命令ワードがRAM に一旦格納され、このRAMに格
納されている命令により第2の発明と同様に動作する。
【0101】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。なお、本発明の説明に参照する各図にお
いて、前述の従来例の説明で参照した各図と同一の参照
符号は同一又は相当部分を示している。
【0102】〔実施例1〕まず、本発明のマイクロプロ
セッサの第1の実施例について説明するが、この第1の
実施例には請求項1乃至4にそれぞれ記載されている第
1乃至第4の発明が含まれる。図1は本発明に係るマイ
クロプロセッサの第1の実施例の構成例を示すブロック
図である。図1において、参照符号1はアドレス演算部
(AAU) であり、詳細は後述するが入力端はPバス23に、
出力端は内蔵データRAM2にそれぞれ接続されている。
【0103】内蔵データRAM2はビット長24, ワード長51
2(24ビット×512ワード) の記憶容量を有する2ポート
データRAM であり、データ読出しのためのポートを2系
統備えている他、上述のアドレス演算部(AAU)1及び後述
するDバス24と接続されている。参照符号3は第1の演
算部入力レジスタ(R0), 4は第2の演算部入力レジスタ
(R1)であり、内蔵データRAM2の各データ読出しポートが
それぞれの入力端に接続されている他、それらの入出力
端はDバス24とも接続されており、更にそれらの出力端
は乗算器(FMPL)5 及び演算器(FALU)7 の入力端とも接続
されている。
【0104】乗算器(FMPL)5 は詳細は後述するが、第1
の演算部入力レジスタ(R0)3及び第2の演算部入力レジ
スタ(R1)4からの出力信号を入力して乗算し、乗算器出
力レジスタ(MR)6 へ出力する。乗算器出力レジスタ(MR)
6 は乗算器(FMPL)5 の乗算結果を保持し、演算器(FALU)
7 へ出力する。演算器(FALU)7 は詳細は後述するが、ア
キュムレータ(ACC)8, 第1の演算部入力レジスタ(R0)
3, 第2の演算部入力レジスタ(R1)4及び乗算器出力レ
ジスタ(MR)6からの出力信号が入力される。アキュムレ
ータ(ACC)8は主として演算器(FALU)7 の演算結果を保持
する他、Dバス24とも接続されている。
【0105】参照符号9は8レベルのスタックであり、
プログラムカウンタ(PC)10の値 (プログラムカウンタ
値) を必要に応じて保持する。プログラムカウンタ(PC)
10は、次にフェッチすべき命令の命令メモリ、具体的に
は後述する内蔵命令ROM 11及び内蔵共有RAM(CRAM)12 に
おけるアドレスを順次計数する。このプログラムカウン
タ(PC)10からの出力信号は内蔵命令ROM 11及び内蔵共有
RAM(CRAM)12 に与えられている。
【0106】内蔵命令ROM 11は32ビット×4kワードの容
量であり、プログラムカウンタ(PC)10から与えられるプ
ログラムカウンタ値に対応するアドレスに記憶している
命令ワードを出力する。内蔵共有RAM(CRAM)12 は命令と
データとに共通なメモリであり、32ビット×64ワードの
容量を有している。この内蔵共有RAM(CRAM)12 に記憶さ
れている値はデータワードとしても命令ワードとしても
使用することが可能である。
【0107】内蔵共有RAM(CRAM)12 に格納されている値
が命令ワードとして使用される場合は、プログラムカウ
ンタ(PC)10から与えられるプログラムカウンタ値に対応
するアドレスに記憶されている命令ワードが出力される
か、または命令レジスタ(IR)13の値がそのアドレスに記
憶される。
【0108】一方、内蔵共有RAM(CRAM)12 に格納されて
いる値がデータワードとして使用される場合は、アドレ
ス演算部(AAU)1またはアドレス入出力端子34から与えら
れるアドレス値に対応するアドレスに記憶されているデ
ータワードの上位16ビットまたは下位16ビットがIバス
35を通じてデータレジスタ(DR)18またはデータ入出力端
子30へ出力されるか、またはデータレジスタ(DR)18また
はデータ入出力端子30からIバス35を通じてデータワー
ドがそのアドレスの上位16ビットまたは下位16ビットに
記憶される。
【0109】この際、上位16ビットかまたは下位16ビッ
トかの区別は後述するUWI(Upper Word of Instruction)
信号出力端子36からの出力信号の論理レベルで区別可能
である他、フラグレジスタ(FR)32の特定ビットに反映さ
れるため、後述する命令セット中のシーケンス命令によ
りプログラムで判定可能である。なお、この UWI信号出
力端子36から出力される UWI信号は、図示されていない
が、内蔵共有RAM(CRAM)12 の制御部で発生される。ま
た、 UWI信号出力端子36及びフラグレジスタ(FR)32の特
定ビットの論理値は内蔵共有RAM(CRAM)12 に対する1回
のアクセスの都度反転する。
【0110】命令レジスタ(IR)13は、内蔵命令ROM 11又
は内蔵共有RAM(CRAM)12 から読出された次に実行される
べき命令ワードを保持する。命令レジスタ(IR)13からの
出力信号は命令デコーダ14,Pバス23及び内蔵共有RAM
(CRAM)12 に与えられる。命令デコーダ14は、命令レジ
スタ(IR)13が保持している命令ワードをデコードし、そ
のデコード結果に基づいてこのマイクロプロセッサ各部
の動作を制御する。
【0111】参照符号15はこのマイクロプロセッサ内部
の動作モードを設定するコントロールレジスタであり、
リセット処理により初期化される。このコントロールレ
ジスタ15はPバス23から即値が入力される他、Dバス24
を介したデータの入出力が可能である。参照符号16はダ
イレクトメモリアクセスコントローラ(DMA), 17はシリ
アル I/Oインタフェイス(SI/O), 18はデータレジスタ(D
R)である。参照符号19はシグネチャレジスタであり、疑
似乱数発生及びデータ圧縮を行う。
【0112】参照符号20は割込みコントローラ, 21はク
ロック/リセット信号発生回路(CLK/RST), 22はクロッ
クプリスケーラ(CPR) である。参照符号23は命令により
レジスタに即値を入力するPバス、24は各レジスタ (参
照符号3, 4, 8, 15, 16, 17, 18, 19, 32)あるいは内蔵
データRAM2及びプログラムカウンタ(PC)10間でデータの
送受を行うDバス, 25はダイレクトメモリアクセス時に
ダイレクトメモリアクセスコントローラ(DMA)16 により
制御されてシリアルI/O インタフェイス17と図示しない
外部データメモリとの間でのデータ送受を行うSバスで
ある。
【0113】参照符号26は第1割込み信号(INT1)入力端
子,27は第2割込み信号(INT2)入力端子, 28はテストモ
ード設定信号(TEST)入力端子, 29は後述する IIAモード
設定信号(IIA) 入力端子, 40はマスク不可割込み信号(N
MI) 入力端子である。参照符号30は24ビット長のデータ
入出力端子であり、前述のレジスタ18, 19、Dバス24,
Sバス25及び後述するIバス35と外部データメモリ (図
示せず) との間でのデータ転送に使用される。
【0114】参照符号31はリセット信号(NRESET)入力端
子であり、このマイクロプロセッサ全体をリセットする
ためのリセット信号(NRESET)の入力に使用される。参照
符号32はフラグレジスタ(FR)であり、演算器(FALU)7 の
演算結果, 各入力端子の論理レベルあるいはこのマイク
ロプロセッサの内部動作モードを示す。このフラグレジ
スタ(FR)32は上述のリセット信号(NRESET)が入力された
際のリセット処理により初期化される。
【0115】参照符号33はクロック信号(CLK) 入力端子
であり、本発明のマイクロプロセッサはこのクロック信
号入力端子33から入力されるクロック信号(CLK) に同期
して動作する。参照符号34は16ビット長のアドレス入出
力端子であり、図示しない外部データメモリのアドレス
を出力し、また後述する IIAモードにおいて内蔵命令RO
M 11及び内蔵共有RAM(CRAM)12 のアドレスを外部から入
力して指定する。
【0116】参照符号35は内蔵命令ROM 11または内蔵共
有RAM(CRAM)12 と、データレジスタ(DR)18またはデータ
入出力端子30間でデータを転送する際に使用されるIバ
スであり、16ビットのビット長を有する。参照符号36は
Iバス35により転送されるデータが内蔵命令ROM 11また
は内蔵共有RAM(CRAM)12 の上位16ビットに対するもの
か、あるいは下位16ビットに対するものかを示すUWI(Up
per Word of Instruction)信号出力端子である。
【0117】以上の構成は基本的には従来例として前述
した本願出願人による出願に係る特開平2-176943号の発
明と同一である。
【0118】本発明のマイクロプロセッサの第1, 第
2, 第3及び第4の発明の構成では上述の特開平2-1769
43号と共通の構成の他に、制御回路37が備えられてい
る。
【0119】この制御回路37は、従来例において説明し
た WINCR命令, ENDWC命令がセルフテストモードにより
実行される際に、命令デコーダ14, 内蔵共有RAM(CRAM)1
2,プログラムカウンタ(PC)10及びシグネチャレジスタ19
を制御するために備えられている。このため、制御回路
37には前述のテストモード設定信号入力端子28,IIAモー
ド設定信号入力端子29, リセット信号入力端子31が接続
されている。そして、制御回路37からは内蔵命令ROM テ
スト信号(ROMTEST) がプログラムカウンタ(PC)10, 内蔵
共有RAM(CRAM)12,命令デコーダ14及びシグネチャレジス
タ19に与えられている。また、内蔵命令ROM 11から出力
される命令ワードを命令レジスタ(IR)13を介して受取る
ために内蔵命令ROM 11とも接続されており、更にDバス
24を介して命令ワードをシグネチャレジスタ19に送出す
るためにDバス24とも接続されている。
【0120】また、参照符号38は比較回路であり、Pバ
ス23及びシグネチャレジスタ19に接続されている他、制
御回路37からは CTRLSIG信号が与えられている。この C
TRLSIG信号は、シグネチャレジスタ19内で圧縮されたデ
ータをHALT命令に予め書込まれているデータと比較して
出力端子39から出力させるための信号である。
【0121】なお本発明に係るマイクロプロセッサの第
1, 第2, 第3及び第4の発明においては、上述の各構
成部分の内の前述の従来と同一の参照符号を有する各部
分の構成, 動作, 命令フォーマット及び演算器(FALU)7
のセルフテストプログラム等は従来例と全く同一である
ので説明を省略する。
【0122】図2は、図1に示されたマイクロプロセッ
サの制御回路37の詳細な構成とその周辺部分の構成とを
示すブロック図である。
【0123】制御回路37は、 XOR回路371, WINCRデコ
ーダ372, ENDWCデコーダ373, 2入力 ANDゲート374, 3
75, 381, 3入力ORゲート376, インバータ377, 378, RS
フリップフロップ379 及びHALTデコーダ380 等にて構成
されている。
【0124】XOR回路371 は入力端が命令レジスタ(IR)1
3に、出力端がDバス24にそれぞれ接続されており、内
蔵命令ROMテスト信号(ROMTEST) がアクティブである場
合に、命令レジスタ(IR)13からの出力信号の下位24ビッ
ト(b0-b23)と上位24ビット(b8-b31)とのビット差(XOR)
をとり、この結果の24ビット幅の信号をバス転送のソー
スデータとしてDバス24へ出力する。
【0125】WINCRデコーダ372 は入力端が命令レジス
タ(IR)13に、出力端が ANDゲート375 にそれぞれ接続さ
れており、命令レジスタ(IR)13からの出力信号が WINCR
命令である場合にその ANDゲート375 への出力信号(XWI
NCR)をアクティブにする。ENDWCデコーダ373 は入力端
が命令レジスタ(IR)13に、出力端がORゲート376にそれ
ぞれ接続されており、命令レジスタ(IR)13からの出力信
号が ENDWC命令である場合にそのORゲート376 への出力
信号(XENDWC)をアクティブにする。
【0126】ANDゲート374 にはその両入力にテストモ
ード設定信号入力端子28と IIAモード設定信号入力端子
29とがそれぞれ接続されており、両入力信号のビット積
(AND) をとったセルフテストモード信号(XSELF) を AND
ゲート375, 381及びインバータ377 へ出力している。AN
Dゲート375 は ANDゲート374 からの出力信号であるセ
ルフテストモード信号(XSELF) と WINCRデコーダ372 か
らの出力信号であるXWINCR信号とのビット積(AND) をと
ってRSフリップフロップ379 のセット端子Sへ与えてい
る。ANDゲート381 は ANDゲート374 からの出力信号で
あるセルフテストモード信号(XSELF) とHALTデコーダ37
2 からの出力信号である XHALT信号とのビット積(AND)
をとって比較回路38へ CTRLSIG信号を与えている。
【0127】ORゲート376 の他の2入力には両インバー
タ377, 378からの出力信号が与えられている。インバー
タ377 からの出力信号は ANDゲート374 からの出力信号
であるセルフテストモード信号(XSELF) の反転信号であ
り、インバータ378 からの出力信号はリセット信号入力
端子31から入力されるリセット信号NRESETの反転信号で
ある。そして、ORゲート376 からの出力信号はRSフリッ
プフロップ379 のリセット端子Rに与えられている。
【0128】RSフリップフロップ379 の出力端子Qから
の出力信号が内蔵命令ROM テスト信号(ROMTEST) であ
り、前述の如くプログラムカウンタ(PC)10, 内蔵共有RA
M(CRAM)12,命令デコーダ14及びシグネチャレジスタ19に
与えられている他、 XOR回路371 等の制御回路37の各部
を制御する。
【0129】HALTデコーダ380 は入力端が命令レジスタ
(IR)13に、出力端が ANDゲート381にそれぞれ接続され
ており、命令レジスタ(IR)13の出力信号がHALT命令であ
る場合にその ANDゲート381 への出力信号(XHALT) をア
クティブにする。
【0130】なお、図15にニーモニックにて示されて
いるHALT命令は、図40乃至図46に示されているセル
フテストプログラムの末尾に位置していてセルフテスト
の実行を停止させる命令であり、通常はテストプログラ
ムを停止させるのみである。しかしながら、上述の如く
セルフテストモード信号(XSELF) がアクティブである場
合は ANDゲート381 からの出力信号(CTRLSIG) がアクテ
ィブになるので、比較回路38はシグネチャレジスタ19内
で圧縮されたデータと、命令レジスタ(IR)13からPバス
23を介して比較回路38へ転送されたHALT命令の下位24ビ
ットとを比較し、全ビットが一致したかまたは1ビット
でも不一致であったかを検出して”1”または”0”の
1 ビットの信号を出力端子39から出力する。
【0131】このような制御回路37の動作は以下の如く
である。
【0132】リセット信号入力端子31へ入力されている
リセット信号(NRESET)がアクティブになると、インバー
タ378 にて反転されてORゲート376 を通じてRSフリップ
フロップ379 のリセット端子に与えられるので、RSフリ
ップフロップ379 からの出力信号である内蔵命令ROM テ
スト信号(ROMTEST) は非アクティブに固定される。
【0133】リセット信号(NRESET)が非アクティブにな
り、テストモード設定信号入力端子28及び IIAモード設
定信号入力端子29に与えられているテストモード設定信
号(TEST)及び IIAモード設定信号(IIA) が共にアクティ
ブになると、 ANDゲート374からの出力信号であるセル
フテストモード信号(XSELF) がアクティブになる。この
際、命令レジスタ(IR)13から WINCR命令の命令ワードが
出力されると、 WINCRデコーダ372 がそれをデコードし
てXWINCR信号をアクティブにして ANDゲート375 へ出力
する。これにより、RSフリップフロップ379 のセット端
子SにアクティブなXWINCR信号が与えられてRSフリップ
フロップ379 がセットされ、RSフリップフロップ379 か
らの出力信号である内蔵命令ROM テスト信号(ROMTEST)
がアクティブに固定される。この結果、マイクロプロセ
ッサのモードは内蔵命令ROM 11をテストするためのテス
トモードになる。
【0134】この後、命令レジスタ(IR)13から ENDWC命
令の命令ワードが出力されると、 ENDWCデコーダ373 が
それをデコードしてXENDWC命令をアクティブにしてORゲ
ート376 へ出力する。これによりRSフリップフロップ37
9 のリセット端子RにアクティブなXENDWCが与えられて
RSフリップフロップ379 がリセットされ、RSフリップフ
ロップ379 からの出力信号である内蔵命令ROM テスト信
号(ROMTEST) が非アクティブに固定される。また、テス
トモード設定信号(TEST)またはIIAモード設定信号(IIA)
のいずれかが非アクティブになってもそれが ANDゲー
ト374,インバータ377 及びORゲート376 を介してRSフリ
ップフロップ379 のリセット端子Rに与えられるので、
内蔵命令ROM テスト信号(ROMTEST)は非アクティブに固
定される。この結果、内蔵命令ROM 11のテストのための
テストモードが解除される。
【0135】次に、内蔵命令ROM テスト信号(ROMTEST)
がアクティブになった場合の制御内容を以下に説明す
る。
【0136】プログラムカウンタ(PC)10は内蔵命令ROM
テスト信号(ROMTEST) がアクティブである場合は、現在
のアドレスから各マシンサイクル毎に”1”ずつインク
リメントするが、内蔵命令ROM 11のアドレスの範囲を越
えることはなく、その範囲内で循環する。具体的には、
プログラムカウンタ(PC)10のカウント値が内蔵命令ROM
11の最上位アドレスになるとその次は最下位アドレスに
戻される。
【0137】内蔵共有RAM(CRAM)12 は内蔵命令ROM テス
ト信号(ROMTEST) がアクティブである場合は、命令レジ
スタ(IR)13からの出力信号を格納しない。命令デコーダ
14は内蔵命令ROM テスト信号(ROMTEST) がアクティブで
ある場合は、命令レジスタ(IR)13からの出力信号をデコ
ードせず、従って命令を実行することはない。
【0138】シグネチャレジスタ19は内蔵命令ROM テス
ト信号(ROMTEST) がアクティブである場合は、Dバス24
を用いたバス転送のデスティネーションとなる。また X
OR回路371 も内蔵命令ROM テスト信号(ROMTEST) がアク
ティブである場合は、前述のような動作を実行する。
【0139】従って、内蔵命令ROM 11から出力された命
令ワードは、命令レジスタ(IR)13,XOR回路371,Dバス24
を経由してシグネチャレジスタ19に圧縮され、データ入
出力端子30からマイクロプロセッサ外部へ出力される。
【0140】図3は内蔵命令ROM 11をテストするための
プログラム例を示す模式図、図4はその処理手順を示す
フローチャートである。
【0141】図3において、ラベル「ROM:」は内蔵命令
ROM 11をテストする際の開始アドレスである。ラベル
「TEST: 」は従来例で示した通常のセルフテストの実行
開始アドレスである。また、内蔵命令ROM 11中の WINCR
命令と ENDCR命令との間がシグネチャ圧縮されるので、
図3に示されているように ENDWC命令を配置すると、内
蔵命令ROM 11中のほとんどの部分、具体的にはENDWC,JP
TEST, WINCR 以外の部分がシグネチャ圧縮される。
【0142】図4のフローチャートのステップS1におい
て、任意アドレスからプログラムの実行を開始するリセ
ット処理を用いて内蔵命令ROM 11内の WINCR命令が記述
されているアドレス(ROM:)へリセットスタートする。
【0143】ステップS2において、マイクロプロセッサ
の動作モードがセルフテストモードに設定され、内蔵命
令ROM 11中の命令ワードの内容をシグネチャレジスタ19
に圧縮するテストが開始される。
【0144】ステップS3において、 ENDWC命令により内
蔵命令ROM 11中の命令ワードの内容を圧縮するテストを
それが終了される条件になるまで継続して実行する。こ
の際、プログラムカウンタ(PC)10は内蔵命令ROM 11のア
ドレスの範囲を循環して”1”ずつインクリメントす
る。
【0145】ステップS4において、従来例で使用された
内蔵命令ROM11以外のセルフテストを実行するエントリ
アドレス(TEST:) へ制御が移される。
【0146】ステップS5においては、従来例と同様のセ
ルフテストが実行される。
【0147】マイクロプロセッサの動作モードがセルフ
テストモードに設定されている場合、HALT命令がHALTデ
コーダ380 でデコードされると、前述の如く比較回路38
に与えられている CTRLSIG信号がアクティブになる。こ
の場合、HALT命令の下位24ビットにはシグネチャレジス
タ19によるデータ圧縮結果との比較対象とされるデータ
が書込まれており、このデータがPバス23を通じて比較
回路38へ送られるので、比較回路38はシグネチャレジス
タ19内で圧縮されたデータと比較してその比較結果を出
力端子39から出力する。
【0148】〔実施例2〕次に、本発明のマイクロプロ
セッサの第2の実施例について説明するが、この第1の
実施例には請求項5及び6にそれぞれ記載されている第
5及び第6の発明が含まれる。以下、本発明のマイクロ
プロセッサの第2の実施例について、その構成例を示す
図53のブロック図を参照して説明する。本発明の第2
の実施例の構成は、基本的には前述の図1に示されてい
る第1の実施例の構成と同様であるが、以下に説明する
部分のみが異なる。即ち、本発明のマイクロプロセッサ
の第2の実施例では、前述の第1の実施例の制御回路37
とは構成が異なる図54にその構成を示す如き制御回路
41が備えられている。そして、これに伴って制御回路41
周辺の部分の若干の構成も異なっている。具体的には以
下の如くである。
【0149】制御回路41は、命令による外部データRAM
(図示せず) に対するデータの読み書きがセルフテスト
モードにより実行される際に、アドレス演算部(AAU)1,
内蔵命令ROM 11及びデータレジスタ(DR)18を制御するた
めに備えられている。このため、制御回路41には第1の
実施例の構成において備えられている制御回路37と同様
に、テストモード設定信号入力端子28, IIAモード設定
信号入力端子29及びリセット信号入力端子31が接続され
ている。そして、制御回路41からは、内蔵命令ROM テス
ト信号(ROMTEST) がアドレス演算部(AAU)1, 内蔵命令RO
M 11及びデータレジスタ(DR)18に与えられている。ま
た、内蔵命令ROM 11から出力される命令ワードを命令レ
ジスタ(IR)13を介して受取るために、制御回路41は命令
レジスタ(IR)13とも接続されている。
【0150】なお本発明に係るマイクロプロセッサの第
2の実施例においては、上述の各構成部分の内の前述の
従来及び第1の実施例の構成と同一の参照符号を有する
各部分の構成, 動作, 命令フォーマット及び演算器(FAL
U)7 のセルフテストプログラム等の内、以下に説明する
セルフテストモード時の動作以外は同一であるので、説
明を省略する。
【0151】マイクロプロセッサの動作モードの内、セ
ルフテストモードにおいては、命令の実行によりシリア
ルI/O インタフェイス17中の図示されていないシリアル
入力レジスタ(SIO, SI1)をDバス24を用いたバス転送後
のソースレジスタとして用いた場合に、これらの代わり
にシグネチャレジスタ19中の図示されていない疑似乱数
発生器をバス転送のソースレジスタとして用いることが
出来る。また、シリアルI/O インタフェイス17中の図示
されていないシリアル出力レジスタ(SOO, SO1)をDバス
24を用いたバス転送後のデスティネーションレジスタと
して用いた場合に、これらの代わりにシグネチャレジス
タ19中の図示されていないデータ圧縮器をバス転送のデ
スティネーションレジスタとして用いることが出来る。
【0152】図54は、図53に示されたマイクロプロ
セッサの制御回路41の詳細な構成とその周辺部分の構成
とを示すブロック図である。
【0153】制御回路41は、2入力 ANDゲート411, 41
2, 2入力ORゲート413, インバータ414, 415, RSフリ
ップフロップ416 及びHALTデコーダ417 等にて構成され
ている。
【0154】ANDゲート411 にはその両入力にテストモ
ード設定信号入力端子28と IIAモード設定信号入力端子
29とがそれぞれ接続されており、両入力信号のビット積
(AND) をとったセルフテストモード信号(XSELF) を AND
ゲート412,インバータ414 及びRSフリップフロップ416
のセット端子Sへ与えている。ANDゲート412 は ANDゲ
ート411 からの出力信号であるセルフテストモード信号
(XSELF) とHALTデコーダ417 からの出力信号である XHA
LT信号とのビット積(AND) をとった CTRLSIG信号を比較
回路38へ与えている。
【0155】ORゲート413 の両入力には両インバータ41
4,415からの出力信号が与えられている。インバータ414
からの出力信号は ANDゲート411 からの出力信号であ
るセルフテストモード信号(XSELF) の反転信号であり、
インバータ415 からの出力信号はリセット信号入力端子
31から入力されるリセット信号NRESETの反転信号であ
る。そして、ORゲート413 からの出力信号はRSフリップ
フロップ416 のリセット端子Rに与えられている。
【0156】RSフリップフロップ416 の出力端子Qから
の出力信号が内蔵命令ROM テスト信号(ROMTEST) であ
り、前述の如くアドレス演算部(AAU)1, プログラムカウ
ンタ(PC)10, 内蔵命令ROM 11, 内蔵共有RAM(CRAM)12 及
びデータレジスタ(DR)18に与えられている。
【0157】HALTデコーダ417 は入力端が命令レジスタ
(IR)13に、出力端が ANDゲート412にそれぞれ接続され
ており、命令レジスタ(IR)13からの出力信号がHALT命令
である場合にその ANDゲート412 への出力信号(XHALT)
をアクティブにする。
【0158】なお、図15にニーモニックにて示されて
いるHALT命令は、図55乃至図62に示されているセル
フテストプログラムの末尾に位置していてセルフテスト
の実行を停止させる命令であり、通常はテストプログラ
ムを停止させるのみである。しかしながら、上述の如く
セルフテストモード信号(XSELF) がアクティブである場
合は ANDゲート412 からの出力信号(CTRLSIG) がアクテ
ィブになるので、比較回路38はシグネチャレジスタ19内
で圧縮されたデータと、命令レジスタ(IR)13からPバス
23を介して比較回路38へ転送されたHALT命令の下位24ビ
ットとを比較し、全ビットが一致したかまたは1ビット
でも不一致であったかを検出して”1”または”0”の
1ビットの信号を出力端子39から出力する。
【0159】このような制御回路41の動作は以下の如く
である。
【0160】リセット信号入力端子31へ入力されている
リセット信号(NRESET)がアクティブになると、インバー
タ415 にて反転されてORゲート413 を通じてRSフリップ
フロップ416 のリセット端子に与えられるので、RSフリ
ップフロップ416 からの出力信号である内蔵命令ROM テ
スト信号(ROMTEST) は非アクティブに固定される。
【0161】リセット信号(NRESET)が非アクティブにな
り、テストモード設定信号入力端子28及び IIAモード設
定信号入力端子29に与えられているテストモード設定信
号(TEST)及び IIAモード設定信号(IIA) が共にアクティ
ブになると、 ANDゲート411からの出力信号であるセル
フテストモード信号(XSELF) がアクティブになる。これ
により、RSフリップフロップ416 がセットされ、RSフリ
ップフロップ416 からの出力信号である内蔵命令ROM テ
スト信号(ROMTEST) がアクティブに固定される。この結
果、セルフテストモードでは常にマイクロプロセッサの
モードは内蔵命令ROM 11をテストするためのテストモー
ドになる。
【0162】この後、テストモード設定信号(TEST)また
は IIAモード設定信号(IIA) のいずれかが非アクティブ
になるとそれがANDゲート411,インバータ414 及びORゲ
ート413 を介してRSフリップフロップ416 のリセット端
子Rに与えられる。これにより、内蔵命令ROM テスト信
号(ROMTEST) は非アクティブに固定される。この結果、
内蔵命令ROM 11のテストのためのテストモード及びセル
フテストモードが解除される。
【0163】次に、内蔵命令ROM テスト信号(ROMTEST)
がアクティブになった場合の制御内容を以下に説明す
る。
【0164】アドレス演算部(AAU)1は内蔵命令ROM テス
ト信号(ROMTEST) がアクティブである場合は、外部デー
タRAM(図示せず) からデータレジスタ(DR)18に対する読
込み命令が実行されると、アドレス演算部(AAU)1から与
えられるアドレス値が内蔵命令ROM 11のアドレスの範囲
内であれば、アドレス値に対する内蔵命令ROM 11の命令
ワードの上位16ビットまたは下位16ビットをIバス35を
通じてデータレジスタ(DR)18に読込む。
【0165】この際、上位16ビットであるか下位16ビッ
トであるかの区別はUWI(Upper Wordof Instruction)信
号出力端子36からの出力信号の論理レベルで区別するこ
とが可能である他、フラグレジスタ(FR)32の特定のビッ
トに反映されるので、後述する命令セット中のシーケン
ス命令によりプログラムで判定可能である。また、 UWI
信号出力端子36及びフラグレジスタ(FR)32の特定ビット
の論理値は内蔵命令ROM 11に対する1回のアクセスの都
度反転する。
【0166】図67は内蔵命令ROM 11をテストするため
のプログラム例を示す模式図、図68はその処理手順を
示すフローチャートである。
【0167】図67において、ラベル「ROM:」は内蔵命
令ROM 11をテストする際の開始アドレスである。ラベル
「ROM2: 」は内蔵命令ROM 11においてページレジスタ(P
GR)で指定した先頭アドレスから512 ワードをテストす
るサブルーチンの開始アドレスである。また、ラベル
「TEST」は従来例で示した通常のセルフテストの実行開
始アドレスである。
【0168】図68のフローチャートのステップS11に
おいて、任意アドレスからプログラムの実行を開始する
リセット処理により内蔵命令ROM 11内の WINCR命令が記
述されているアドレス(ROM:)へリセットスタートする。
【0169】ステップS12において、マイクロプロセッ
サの動作モードがセルフテストモードに設定され、内蔵
命令ROM 11中の命令ワードの内容をシグネチャレジスタ
19に圧縮するテストが開始される。
【0170】ステップS13において、内蔵命令ROM 11中
のページーレジスタ(PGR) で指定された先頭アドレスか
ら 512ワード分の命令ワードの内容を圧縮するサブルー
チンが8回コールされ、合計4096ワードの内蔵命令ROM
11全ての命令ワードを圧縮するテストが行われる。
【0171】ステップS14において、従来例で使用され
た内蔵命令ROM 11以外のセルフテストを実行するエント
リアドレス(TEST:) へ制御が移される。
【0172】ステップS15においては、従来例と同様の
セルフテストが実行される。この場合のセルフテストプ
ログラムの一例が図55乃至図62の模式図に、またそ
の処理手順が図47乃至図51のフローチャートにそれ
ぞれ示されている。これらの各図に示されている従来例
と本発明の第2の実施例との差異は、バス転送でデータ
レジスタ(DR)18を指定している部分をシリアルI/O イン
タフェイス17中の図示されていないシリアル入力レジス
タ(SI0, SI1)またはシリアル出力レジスタ(SO0, SO1)の
指定に変更している点であり、セルフテストモードでの
動作は同一であるので、説明は省略する。
【0173】マイクロプロセッサの動作モードがセルフ
テストモードに設定されている場合、HALT命令がHALTデ
コーダ417 でデコードされると、前述の如く比較回路38
に与えられている CTRLSIG信号がアクティブになる。こ
の場合、HALT命令の下位24ビットにはシグネチャレジス
タ19によるデータ圧縮結果との比較対象とされるデータ
が書込まれており、このデータがPバス23を通じて比較
回路38へ送られるので、比較回路38はシグネチャレジス
タ19内で圧縮されたデータと比較してその比較結果を出
力端子39から出力する。
【0174】
【発明の効果】以上に詳述した如く本発明によれば、簡
単な構成の制御回路と、数ワードのプログラムとにより
マイクロプロセッサの内蔵命令ROM のセルフテストが実
行出来、マイクロプロセッサの故障検出率が向上し、ユ
ーザ側での受入れテストが簡単に行えるようになる等、
優れた効果を奏する。
【0175】更に本発明のマイクロプロセッサの第1の
発明では、データ圧縮器が使用可能な場合には、命令RO
M に記憶してある命令を用いた一連の処理が実行され、
命令ROM 中の各命令ワードの内容が順次読出されてデー
タ圧縮器に入力されて圧縮される。従って、マイクロプ
ロセッサの内蔵命令ROM のセルフテストが容易に実行可
能になる。
【0176】第2の発明では、データ圧縮器で圧縮され
た結果とその期待値との比較結果が外部へ出力される。
従って、テスト結果が迅速に判明する。
【0177】第3の発明では、所定の信号が入力端子に
入力されている場合には、命令ROMに予め記憶されてい
る通常のプログラムを構成する命令ワードがRAM に一旦
格納され、このRAM に格納されている命令により第1の
発明と同様に動作する。従って、セルフテストのために
命令ROM の容量を使用する必要がない。
【0178】第4の発明では、所定の信号が入力端子に
入力されている場合には、命令ROMに予め記憶されてい
る通常のプログラムを構成する命令ワードがRAM に一旦
格納され、このRAM に格納されている命令により第2の
発明と同様に動作する。従って、セルフテストのために
命令ROM の容量を使用する必要がない。
【0179】第5の発明では、所定の信号が入力端子に
入力されている場合には、通常はデータ記憶回路に対し
てデータの入出力を行うために命令ROM に予め記憶され
ている命令ワードがRAM に一旦格納され、このRAMに格
納されている命令により第1の発明と同様に動作する。
従って、セルフテストのために命令ROM の容量を使用す
る必要がない。
【0180】第6の発明では、所定の信号が入力端子に
入力されている場合には、通常はデータ記憶回路に対し
てデータの入出力を行うために命令ROM に予め記憶され
ている命令ワードがRAM に一旦格納され、このRAMに格
納されている命令により第2の発明と同様に動作する。
従って、セルフテストのために命令ROM の容量を使用す
る必要がない。
【図面の簡単な説明】
【図1】本発明に係るマイクロプロセッサの第1, 第
2, 第3及び第4の発明の構成例を示す第1の実施例の
ブロック図である。
【図2】図1のマイクロプロセッサの制御回路の詳細な
構成及びその周辺の構成を示すブロック図である。
【図3】内蔵命令ROM をテストするためのプログラム例
を示す模式図である。
【図4】図3のプログラム例の処理手順を示すフローチ
ャートである。
【図5】セルフテスト機能を有する従来のマイクロプロ
セッサの一構成例を示すブロック図である。
【図6】従来及び本発明のマイクロプロセッサのシーケ
ンス命令グループのフィールドの割付けを示す模式図で
ある。
【図7】従来及び本発明のマイクロプロセッサのシーケ
ンス命令グループのフィールドの割付けを示す模式図で
ある。
【図8】従来及び本発明のマイクロプロセッサのシーケ
ンス命令グループのフィールドの割付けを示す模式図。
【図9】従来及び本発明のマイクロプロセッサのシーケ
ンス命令グループのフィールドの割付けを示す模式図で
ある。
【図10】従来及び本発明のマイクロプロセッサのシー
ケンス命令グループのフィールドの割付けを示す模式図
である。
【図11】従来及び本発明のマイクロプロセッサのシー
ケンス命令グループのフィールドの割付けを示す模式図
である。
【図12】従来及び本発明のマイクロプロセッサのシー
ケンス命令グループのフィールドの割付けを示す模式図
である。
【図13】従来及び本発明のマイクロプロセッサのシー
ケンス命令グループのフィールドの割付けを示す模式図
である。
【図14】従来及び本発明のマイクロプロセッサのモー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図15】従来及び本発明のマイクロプロセッサのモー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図16】従来及び本発明のマイクロプロセッサのモー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図17】従来及び本発明のマイクロプロセッサのモー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図18】従来及び本発明のマイクロプロセッサのモー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図19】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図20】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図21】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図22】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図23】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図24】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図25】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図26】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図27】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図28】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図29】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図30】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図31】従来及び本発明のマイクロプロセッサのオペ
レーション命令グループのフィールドの割付けを示す模
式図である。
【図32】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図33】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図34】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図35】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図36】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図37】従来及び本発明のマイクロプロセッサのロー
ド命令グループのフィールドの割付けを示す模式図であ
る。
【図38】従来及び本発明のマイクロプロセッサのロン
グロード命令グループのフィールドの割付けを示す模式
図である。
【図39】従来及び本発明のマイクロプロセッサのロン
グロード命令グループのフィールドの割付けを示す模式
図である。
【図40】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図41】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図42】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図43】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図44】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図45】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図46】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図47】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図48】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図49】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図50】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図51】従来及び本発明のマイクロプロセッサの第1
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図52】図40乃至図46に示すセルフテストプログ
ラムが図5に示した内蔵命令ROMのメモリ空間上にどの
様に構成されているかを示す模式図である。
【図53】本発明に係るマイクロプロセッサの第5及び
第6の発明の構成例を示す第2の実施例のブロック図で
ある。
【図54】図53のマイクロプロセッサの制御回路の詳
細な構成及びその周辺の構成を示すブロック図である。
【図55】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図56】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図57】従来及び本発明のマイクロプロセッサの第2
の実施例の発明の演算器のセルフテストプログラムの一
例を示す模式図である。
【図58】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図59】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図60】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図61】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図62】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの一例を示
す模式図である。
【図63】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図64】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図65】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図66】従来及び本発明のマイクロプロセッサの第2
の実施例の演算器のセルフテストプログラムの処理手順
を示すフローチャートである。
【図67】本発明のマイクロプロセッサの第2の実施例
の内蔵命令ROM をテストするためのプログラム例を示す
模式図である。
【図68】図67のプログラム例の処理手順を示すフロ
ーチャートである。
【符号の説明】
11 内蔵命令ROM 12 内蔵共有RAM(CRAM) 18 データレジスタ(DR) 19 シグネチャレジスタ 28 TESTモード設定信号入力端子 31 リセット信号入力端子 37 制御回路 38 比較回路 41 制御回路
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年3月16日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項5
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項6
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0023
【補正方法】変更
【補正内容】
【0023】以下、このアドレス演算部(AAU)1によるア
ドレス生成の動作にについて説明する。レジデュアル制
御に関するレジスタとして、アドレス演算部(AAU)1内に
は内蔵データRAM2に対するアドレス及び内蔵共有RAM(CR
AM)12 あるいは図示されていない外部データRAM に対す
るアドレスの下位9ビットを与えるアドレスレジスタ(A
R0, AR1, AR2),内蔵共有RAM(CRAM)12 あるいは図示され
ていない外部データRAMに対するアドレスの上位7ビッ
トを与えるページレジスタ(PGR),アドレスを生成するた
めの基値を与えるベースアドレス値レジスタ(BA0, BA1,
BA2),アドレスを生成する際の加算値を与えるインクリ
メント値レジスタ(I0, I1, I2), モジュロ値あるいはビ
ットリバース幅を与えるモジュロ値−ビットリバース幅
レジスタ(ML0, ML1, ML2),ループ命令時にベースアドレ
ス値を修飾するためのデルタベースアドレス値レジスタ
(DBA0), ループ命令時にインクリメント値を修飾するた
めのデルタインクリメント値レジスタ(DI0) 等が含まれ
ている。これらの各レジスタは基本的には次に述べるモ
ード命令で値が設定されるが、オペレーション命令によ
る変更も可能なレジスタもある。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0091
【補正方法】変更
【補正内容】
【0091】更に本発明のマイクロプロセッサの第3の
発明は、第1の発明に加えてプログラムを構成する複数
の命令を記憶する命令RAM を備え、前述の信号が前述の
入力端子に入力されていない場合に命令ROM 中の1又は
複数の命令ワードの内容を命令RAM に格納する命令を有
し、前述の信号が入力端子に入力されている場合には、
この命令の命令ROM中の1又は複数の命令ワードの内容
を読出す機能を用いてこの命令が第1の発明の命令とし
て機能するように構成されていることを特徴とする。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0092
【補正方法】変更
【補正内容】
【0092】更に本発明のマイクロプロセッサの第4の
発明は、第2の発明に加えてプログラムを構成する複数
の命令を記憶する命令RAM を備え、前述の信号が前述の
入力端子に入力されていない場合に命令ROM 中の1又は
複数の命令ワードの内容を命令RAM に格納する命令を有
し、前述の信号が入力されている場合にはこの命令の命
令ROM 中の1又複数の命令ワードの内容を読出す機能を
用いてこの命令が第2の発明の命令として機能するよう
に構成されていることを特徴とする。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0093
【補正方法】変更
【補正内容】
【0093】また更に本発明のマイクロプロセッサの第
5の発明は、第1の発明に加えてデータ記憶回路を備
え、前述の信号が前述の入力端子に入力されていない場
合にプログラムで処理するデータを記憶するデータ記憶
回路の1または複数のデータを読出す命令、またはデー
タ記憶回路に1または複数のデータを書込む命令を有
し、前述の信号が入力されている場合にはこれらの命令
の1または複数のデータを読出す機能、または1または
複数のデータを書込む機能を用いてこれらの命令が第1
の発明の命令として機能するように構成されていること
を特徴とする。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0094
【補正方法】変更
【補正内容】
【0094】更に本発明のマイクロプロセッサの第6の
発明は、第2の発明に加えてデータ記憶回路を備え、前
述の信号が前述の入力端子に入力されていない場合にプ
ログラムで処理するデータを記憶するデータ記憶回路の
1または複数のデータを読出す命令、またはデータ記憶
回路に1または複数のデータを書込む命令を有し、前述
の信号が入力されている場合にはこれらの命令の1また
は複数のデータを読出す機能、または1または複数のデ
ータを書込む機能を用いてこれらの命令が第2の発明の
命令として機能するように構成されていることを特徴と
する。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0097
【補正方法】変更
【補正内容】
【0097】第3の発明では、所定の信号が入力端子に
入力されている場合には、命令ROMの1又は複数の命令
ワードの内容を読出す機能を有する命令により第1の発
明と同様に動作する。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0098
【補正方法】変更
【補正内容】
【0098】第4の発明では、所定の信号が入力端子に
入力されている場合には、命令ROM の1又は複数の命令
ワードの内容を読出す機能を有する命令により第2の発
明と同様に動作する。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0099
【補正方法】変更
【補正内容】
【0099】第5の発明では、所定の信号が入力端子に
入力されている場合には、1または複数のデータを読出
す機能、または1または複数のデータを書込む機能を有
する命令により第1の発明と同様に動作する。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0100
【補正方法】変更
【補正内容】
【0100】第6の発明では、所定の信号が入力端子に
入力されている場合には、1または複数のデータを読出
す機能、または1または複数のデータを書込む機能を有
する命令により第2の発明と同様に動作する。
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0168
【補正方法】変更
【補正内容】
【0168】図68のフローチャートのステップS11に
おいて、任意アドレスからプログラムの実行を開始する
リセット処理により内蔵命令ROM 11内のアドレス(ROM:)
へリセットスタートする。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0177
【補正方法】変更
【補正内容】
【0177】第3の発明では、所定の信号が入力端子に
入力されている場合には、前述の信号が前述の入力端子
に入力されていない場合に命令ROM 中の1又は複数の命
令ワードの内容を命令RAM に格納する命令が有する命令
ROM 中の1又は複数の命令ワードの内容を読出す機能
より第1の発明と同様に動作する。従って、セルフテス
トのために新たに付加する回路が少なくて済む。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0178
【補正方法】変更
【補正内容】
【0178】第4の発明では、所定の信号が入力端子に
入力されている場合には、前述の信号が前述の入力端子
に入力されていない場合に命令ROM 中の1又は複数の命
令ワードの内容を命令RAM に格納する命令が有する命令
ROM 中の1又は複数の命令ワードの内容を読出す機能
より第2の発明と同様に動作する。従って、セルフテス
トのために新たに付加する回路が少なくて済む。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0179
【補正方法】変更
【補正内容】
【0179】第5の発明では、所定の信号が入力端子に
入力されている場合には、前述の信号が前述の入力端子
に入力されていない場合にプログラムで処理するデータ
を記憶するデータ記憶回路の1または複数のデータを読
出す命令、またはデータ記憶回路に1または複数のデー
タを書込む命令が有する1または複数のデータを読出す
機能、または1または複数のデータを書込む機能により
第1の発明と同様に動作する。従って、セルフテストの
ために新たに付加する回路が少なくて済む。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0180
【補正方法】変更
【補正内容】
【0180】第6の発明では、所定の信号が入力端子に
入力されている場合には、前述の信号が前述の入力端子
に入力されていない場合にプログラムで処理するデータ
を記憶するデータ記憶回路の1または複数のデータを読
出す命令、またはデータ記憶回路に1または複数のデー
タを書込む命令が有する1または複数のデータを読出す
機能、または1または複数のデータを書込む機能により
第2の発明と同様に動作する。従って、セルフテストの
ために新たに付加する回路が少なくて済む。
【手続補正17】
【補正対象書類名】図面
【補正対象項目名】図15
【補正方法】変更
【補正内容】
【図15】
【手続補正18】
【補正対象書類名】図面
【補正対象項目名】図25
【補正方法】変更
【補正内容】
【図25】
【手続補正19】
【補正対象書類名】図面
【補正対象項目名】図45
【補正方法】変更
【補正内容】
【図45】
【手続補正20】
【補正対象書類名】図面
【補正対象項目名】図60
【補正方法】変更
【補正内容】
【図60】

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを構成する複数の命令が格納
    された命令ROM と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させる命令を前記命令ROM に格
    納してあるマイクロプロセッサであって、 前記命令を用いて前記命令ROM 中の命令ワードの内容を
    前記データ圧縮器に入力して圧縮させる一連の処理を実
    行する手段を備えたことを特徴とするマイクロプロセッ
    サ。
  2. 【請求項2】 プログラムを構成する複数の命令が格納
    された命令ROM と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子と 、前記データ圧縮器の出力の期待値を記憶する記憶手段
    と、 該記憶手段に記憶された期待値と前記データ圧縮器の出
    力とを比較し、その結果を出力する比較手段とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させる命令を前記命令ROM に格
    納してあるマイクロプロセッサであって、 前記命令を用いて前記命令ROM 中の命令ワードの内容を
    前記データ圧縮器に入力して圧縮させ、その期待値との
    前記比較手段による比較結果を出力させる一連の処理を
    実行する手段を備えたことを特徴とするマイクロプロセ
    ッサ。
  3. 【請求項3】 プログラムを構成する複数の命令が格納
    された命令ROM と、 プログラムを構成する複数の命令を記憶する命令RAM
    と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させ、前記信号が前記入力端子
    に入力されていない場合に、前記命令ROM 中の1又は複
    数の命令ワードの内容を前記命令RAM に記憶させる命令
    を前記命令ROM に格納してあるマイクロプロセッサであ
    って、 前記信号が前記入力端子に入力されている場合に、前記
    命令を用いて前記命令ROM 中の命令ワードの内容を前記
    データ圧縮器に入力して圧縮させる一連の処理を実行す
    る手段を備えたことを特徴とするマイクロプロセッサ。
  4. 【請求項4】 プログラムを構成する複数の命令が格納
    された命令ROM と、 プログラムを構成する複数の命令を記憶する命令RAM
    と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子と、 前記データ圧縮器の出力の期待値を記憶する記憶手段
    と、 該記憶手段に記憶された期待値と前記データ圧縮器の出
    力とを比較し、その結果を出力する比較手段とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させ、前記信号が前記入力端子
    に入力されていない場合に、前記命令ROM 中の1又は複
    数の命令ワードの内容を前記命令RAM に記憶させる命令
    を前記命令ROM に格納してあるマイクロプロセッサであ
    って、 前記信号が前記入力端子に入力されている場合に、前記
    命令を用いて前記命令ROM 中の命令ワードの内容を前記
    データ圧縮器に入力して圧縮させ、その期待値との前記
    比較手段による比較結果を出力させる一連の処理を実行
    する手段を備えたことを特徴とするマイクロプロセッ
    サ。
  5. 【請求項5】 プログラムを構成する複数の命令が格納
    された命令ROM と、 前記プログラムにより処理されるデータを記憶するデー
    タ記憶回路と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させ、前記信号が前記入力端子
    に入力されていない場合に、前記データ記憶回路中の1
    又は複数の命令を読出し、又は前記データ記憶回路に1
    又は複数の命令を書込む命令を前記命令ROM に格納して
    あるマイクロプロセッサであって、 前記信号が前記入力端子に入力されている場合に、前記
    命令を用いて前記命令ROM 中の命令ワードの内容を前記
    データ圧縮器に入力して圧縮させる一連の処理を実行す
    る手段を備えたことを特徴とするマイクロプロセッサ。
  6. 【請求項6】 プログラムを構成する複数の命令が格納
    された命令ROM と、 前記プログラムにより処理されるデータを記憶するデー
    タ記憶回路と、 入力されたデータを圧縮して出力するデータ圧縮器と、 該データ圧縮器を使用することを可能とする信号を入力
    するための入力端子と、 前記データ圧縮器の出力の期待値を記憶する記憶手段
    と、 該記憶手段に記憶された期待値と前記データ圧縮器の出
    力とを比較し、その結果を出力する比較手段とを備え、 前記信号が前記入力端子に入力されている場合に、前記
    命令ROM 中の1又は複数の命令ワードの内容を前記デー
    タ圧縮器に入力して圧縮させ、前記信号が前記入力端子
    に入力されていない場合に、前記データ記憶回路中の1
    又は複数の命令を読出し、又は前記データ記憶回路に1
    又は複数の命令を書込む命令を前記命令ROM に格納して
    あるマイクロプロセッサであって、 前記信号が前記入力端子に入力されている場合に、前記
    命令を用いて前記命令ROM 中の命令ワードの内容を前記
    データ圧縮器に入力して圧縮させ、その期待値との前記
    比較手段による比較結果を出力させる一連の処理を実行
    する手段を備えたことを特徴とするマイクロプロセッ
    サ。
JP3272343A 1991-01-16 1991-10-21 マイクロプロセツサ Pending JPH0540703A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3272343A JPH0540703A (ja) 1991-01-16 1991-10-21 マイクロプロセツサ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3-3275 1991-01-16
JP327591 1991-01-16
JP3272343A JPH0540703A (ja) 1991-01-16 1991-10-21 マイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPH0540703A true JPH0540703A (ja) 1993-02-19

Family

ID=26336819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3272343A Pending JPH0540703A (ja) 1991-01-16 1991-10-21 マイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPH0540703A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5426631A (en) * 1977-07-29 1979-02-28 Omron Tateisi Electronics Co Inspection system of rom
JPH01114957A (ja) * 1987-10-29 1989-05-08 Nec Corp 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5426631A (en) * 1977-07-29 1979-02-28 Omron Tateisi Electronics Co Inspection system of rom
JPH01114957A (ja) * 1987-10-29 1989-05-08 Nec Corp 情報処理装置

Similar Documents

Publication Publication Date Title
US5226149A (en) Self-testing microprocessor with microinstruction substitution
KR100563220B1 (ko) 재순환 레지스터 파일
US4463421A (en) Serial/parallel input/output bus for microprocessor system
US4038643A (en) Microprogramming control system
US4450519A (en) Psuedo-microprogramming in microprocessor in single-chip microprocessor with alternate IR loading from internal or external program memories
US4402042A (en) Microprocessor system with instruction pre-fetch
US5938759A (en) Processor instruction control mechanism capable of decoding register instructions and immediate instructions with simple configuration
EP1267256A2 (en) Conditional execution of instructions with multiple destinations
KR20010043772A (ko) 혼합 벡터/스칼라 레지스터 파일
GB2059124A (en) Data processing system
JPH026091B2 (ja)
US5475852A (en) Microprocessor implementing single-step or sequential microcode execution while in test mode
US4159520A (en) Memory address control device with extender bus
US5210864A (en) Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline
US4402043A (en) Microprocessor with compressed control ROM
US5386534A (en) Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
JPH0540703A (ja) マイクロプロセツサ
JPH11353305A (ja) ベクトルレジスタのアドレス指定
JPH079648B2 (ja) マイクロコンピュータ装置
US4866608A (en) Microprocessor with improved execution of instructions
JPH07168713A (ja) ディジタル信号処理プロセッサ
JPH07182157A (ja) ディジタル信号処理プロセッサ
JPH0439745A (ja) マイクロプロセッサ
JPH0619738B2 (ja) マイクロプロセッサ・デバイス
JPH035833A (ja) マイクロプロセッサ