JPH0620068A - シングルチップマイクロコンピュータ - Google Patents

シングルチップマイクロコンピュータ

Info

Publication number
JPH0620068A
JPH0620068A JP4195978A JP19597892A JPH0620068A JP H0620068 A JPH0620068 A JP H0620068A JP 4195978 A JP4195978 A JP 4195978A JP 19597892 A JP19597892 A JP 19597892A JP H0620068 A JPH0620068 A JP H0620068A
Authority
JP
Japan
Prior art keywords
program
test
user
rom
chip microcomputer
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
JP4195978A
Other languages
English (en)
Inventor
Kunihiro Sadatomi
邦浩 貞富
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4195978A priority Critical patent/JPH0620068A/ja
Publication of JPH0620068A publication Critical patent/JPH0620068A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 ユーザプログラムの実行中にもテストROM
のプログラムを利用して内蔵ハードウェアのテストを実
行することが可能なシングルチップマイクロコンピュー
タを得る。 【構成】 中央処理装置(CPU)101と、内蔵周辺
装置102と、ユーザプログラム実行用の命令コード及
びデータを記憶する記憶部103,105と、シングル
チップマイクロコンピュータのハードウェア機能をテス
トするためのテストプログラム実行用の命令コード及び
データを記憶する記憶部104,106とを有し、かつ
CPU101には、ユーザプログラムとテストプログラ
ムをそれぞれの専用命令の実行により選択する手段10
7(117,118)と、記憶手段の各記憶部に対応し
て設けられ、かつプログラム選択手段に応じて切換えら
れる制御レジスタセット110,111と、テストプロ
グラムの実行結果による故障情報を格納する手段112
を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はシングルチップマイクロ
コンピュータに関し、特にテスト専用ROMを用いて内
蔵ハードウェアをテストするシングルチップマイクロコ
ンピュータに関する。
【0002】
【従来の技術】この種のテストROMを内蔵するシング
ルチップマイクロコンピュータとして、従来では図3の
ような構成がとられている。同図において、301は中
央処理装置(以下、CPUと称する)、302は内蔵周
辺装置、303はユーザプログラムを記憶するユーザR
OM、304はテスト用のテストプログラムを記憶する
テストROM、305はデータ格納用のRAMであり、
CPU301と内蔵周辺装置302とは制御信号バス3
03で接続され、CPU301とユーザROM303,
テストROM304,及びRAM305はアドレスバス
及びデータバス306,307で接続される。
【0003】又、ユーザROM303とテストROM3
04のチップイネーブル端子CEには、選択信号入力端
子309からの信号が入力されるが、ユーザROM30
3にはインバータ310を通して信号が入力される。即
ち、外部端子309が“0”の場合にはユーザROM3
03が選択され、“1”の場合にはテストROM304
が選択される。尚、311はCPU301内に設けられ
た制御レジスタセットであり、プログラムカウンタP
C,プログラムステータスワードPSW,スタックポイ
ンタSPを有する。
【0004】次に動作について説明する。ユーザモード
時には外部端子309より端子レベル“0”を入力す
る。この時、ユーザROM303へのチップイネーブル
信号は“1”、テストROM304のチップイネーブル
信号は“0”になりユーザROM303が選択されるよ
うになる。そしてCPU301よりアドレスバス307
を通してユーザROM303にアドレスを与え、データ
バス306を通して、CPU301はデータを受け取り
ユーザプログラムを実行する。
【0005】また、テストROMプログラム実行時には
外部端子309より端子レベル“1”を入力する。この
時、ユーザROM303のチップイネーブル信号は
“0”、テストROM304のチップイネーブル信号は
“1”となり、テストROM304が選択される。そし
て、ユーザモード時と同様に、CPU301よりアドレ
スバス307を通してテストROM304にアドレスを
与えデータバス306を通してCPU301はデータを
受け取りテスト用プログラムを実行し内蔵ハードウェア
のテストを行う。
【0006】
【発明が解決しようとする課題】以上述べたように、従
来のシングルチップマイクロコンピュータは、ユーザR
OM303とテストROM304の切換は外部端子30
9から入力される選択信号により行っており、ダイナミ
ックには切換えられない。また、ユーザプログラムの実
行中には、テストROM304に内蔵ハードウェアテス
ト用のプログラムが記憶されていても、内蔵ハードウェ
アをテストすることはできない。そのため、ユーザプロ
グラムの実行中にテストを行う場合には、ユーザ側にて
テスト用のプログラムを作成する必要があり、かつプロ
グラム領域をテストのために費やしてしまうという問題
がある。本発明の目的は、ユーザプログラムの実行中に
もテストROMのプログラムを利用して内蔵ハードウェ
アのテストを実行することが可能なシングルチップマイ
クロコンピュータを提供することにある。
【0007】
【課題を解決するための手段】本発明は、中央処理装置
の命令コードおよびデータを記憶する記憶手段を、ユー
ザプログラム実行用の命令コード及びデータを記憶する
記憶部と、前記シングルチップマイクロコンピュータの
ハードウェア機能をテストするためのテストプログラム
実行用の命令コード及びデータを記憶する記憶部とで構
成する。又、中央処理装置には、ユーザプログラムとテ
ストプログラムをそれぞれの専用命令の実行により選択
する手段と、記憶手段の各記憶部に対応して設けられ、
かつプログラム選択手段に応じて切換えられる制御レジ
スタセットと、テストプログラムの実行結果による故障
情報を格納する手段を有する。又、中央処理装置には、
テストプログラムを実行する時間を測定し、この時間が
一定時間を越えたときにオーバーフロー信号を出力する
カウンタ手段を備えることが好ましい。
【0008】
【実施例】次に、本発明について図面を参照して説明す
る。図1は本発明の第1の実施例を示すブロック図であ
る。101はCPU(中央処理装置)、102は内蔵周
辺装置、103はユーザプログラムを記憶するユーザR
OM、104はテスト用のテストプログラムを記憶する
テストROM、105はデータ格納用のRAM、106
はテスト時にプログラムで使用するためのデータ格納用
のRAMである。CPU101と内蔵周辺装置102は
制御信号バス115で接続される。又、CPU101と
前記各ROM,RAMはアドレスバス及びデータバス1
13,114で接続される。
【0009】前記CPU101には、セットリセット型
のラッチ107が設けられ、ユーザROM選択信号11
7でセットされ、テストROM選択信号118でリセッ
トされる。ラッチ107の出力信号108はユーザRO
M103及びRAM105のチップイネーブル信号CE
に接続される。また、この出力信号108はインバータ
109を通してテストROM104,テスト用RAM1
06のチップイネーブル信号CEに接続される。
【0010】また、前記CPU101内には、ユーザモ
ード時,テストROM実行時の制御レジスタセット11
0,111がそれぞれ設けられる。各制御レジスタ11
0,11は、それぞれプログラムカウンタPC,プログ
ラムステータスワードPSW,スタックポインタSPを
有する。これら制御レジスタセット110,111の選
択は前記ラッチ107の出力信号108により行われ
る。また、これら制御レジスタセット110,111
は、制御レジスタとして選択されていない時にはそれぞ
れ専用書き込み命令によりCPU内部バスを通して内蔵
レジスタの値を設定できる。更に、CPU101内に
は、テストプログラム実行後の故障診断結果を格納する
専用レジスタ112が設けられ、テストプログラム実行
時に診断結果を書き込み、ユーザプログラムに復帰後ユ
ーザプログラムにて診断結果を読み出して用いる。
【0011】次に動作について説明する。CPU101
はリセット信号RESETが切れるとユーザROM選択
信号117に“1”を出力し、ラッチ107の出力10
8を“1”にする。その結果ユーザROM103,RA
M105が選択されるとともに制御レジスタセット11
0が選択される。この時テストROM104,テスト用
RAM106はインアクティブとなる。また制御レジス
タセット111は制御レジスタとしては動作しないが内
部バス116により内蔵レジスタの値が設定可能であ
る。
【0012】リセット直後はユーザモードとなりCPU
101よりアドレスバス113にアドレスを出力しユー
ザROM103からデータバス114を通して命令コー
ドを受け取りユーザプログラムを通常に実行していく。
テストROM104のテストプログラムを起動するには
テストROM104内に内蔵ハードウェア故障テスト用
のプログラムを用意しておき、ユーザプログラムにてテ
ストプログラムのスタックポインタSPの値,プログラ
ムステータスワードPSW,テストプログラムの実行ア
ドレスを専用書き込み命令にて設定する。その後テスト
ROM実行専用命令によりテストROM選択信号118
に“1”を出力する。その結果ラッチ107の出力10
8が“0”,インバータ109の出力が“1”となり、
テストROM104,テスト用RAM106が選択され
るとともに、制御レジスタセット110から制御レジス
タセット111に切換わる。また制御レジスタ110に
はユーザプログラムの実行アドレス等のユーザプログラ
ムに復帰するために必要なユーザプログラム実行状態が
保存される。
【0013】テストROM104のテストプログラム実
行状態設定後、ユーザプログラム実行時に設定していた
テストプログラム用のプログラムカウンタPCのアドレ
スに分岐し、テストプログラムに書かれた内蔵ハードウ
ェアの故障テストプログラムを実行しハードウェアのテ
ストを行う。このときスタックポインタSPはテストプ
ログラム用のデータ格納用RAM106のアドレス領域
に設定する。テスト終了後故障診断結果格納レジスタ1
12に正常であれば正常状態を示すあらかじめ規定した
“正常コード”、故障であれば故障ユニットと故障状態
を示す“故障コード”を書き込む。
【0014】テスト終了後、ユーザモード設定命令によ
りユーザROM選択信号117に“1”を出力する。そ
の結果ラッチ107の出力108が“1”となりユーザ
ROM103,RAM105が選択されるとともに、制
御レジスタセット110に戻る。制御レジスタセット1
10にはテストROM実行前のユーザプログラム実行状
態が保存されているのでテストプログラム実行前の状態
に戻る。制御レジスタセット110の復帰後プログラム
カウンタPCのアドレスに分岐し、ユーザプログラム実
行に戻る。ユーザプログラムにてテストプログラムにて
格納された故障診断結果格納レジスタ112を読み出
し、ユーザプログラムは故障診断結果を知ることができ
故障情報により処置を取ることができる。
【0015】図2は本発明の第2の実施例を示す図であ
る。この第2実施例では、ラッチ107の出力信号10
8が“1”のときクリア状態で、“0”のときクロック
CLK入力をカウントアップし、一定時間でユーザRO
Mに復帰しなければオバーフローするテストプログラム
実行時間監視用のカウンタ202をCPU201に備え
ている点が第1実施例のものとは相違している。
【0016】次に動作について説明する。カウンタ20
2以外の動作は同一であるため、カウンタ202の動作
について説明する。カウンタ202はクロックCLKを
カウントアップし、カウンタのビット数はテストプログ
ラムの実行時間に対して充分なビット数を用意してお
く。ユーザROMモードでラッチ107の出力108が
“1”の時はクリア状態でカウントアップしない。テス
トROMモードでラッチ出力108が“0”の時はクロ
ック入力をカウントアップしていく。
【0017】正常にCPU201のハードウェアに問題
がなくテストプログラム実行処理が正常な時間で終了し
た場合にはオバーフロー前にラッチ出力108が“1”
となりカウンタはオバーフローしない。しかしCPU2
01のハードウェアに問題があり、テストプログラム実
行時間が長くかかったりプログラム実行が途中で中断し
た場合にはカウンタ202はオバーフローを起こす。し
たがってテストプログラム実行の異常を検出することが
できる。これにより、第1実施例と比較してテストプロ
グラム実行中のプログラムの暴走等の異常を検出するこ
とができ故障時のテストプログラム実行に対する信頼性
を上げることができる。
【0018】
【発明の効果】以上説明したように本発明はユーザプロ
グラム実行時に内蔵ハードウェアのテスト用のテストR
OMをユーザプログラムから呼び出して実行できるの
で、内蔵ハードウェアをセルフテストするハードウェア
に固有のプログラムをテストROMに用意しておくこと
により、ユーザプログラムの任意の場所で容易に内蔵ハ
ードウェアのテストプログラムを実行できる。したがっ
てシングルチップマイクロコンピュータの故障を容易に
検出することが可能となり、ユーザシステムの信頼性を
向上させることができる。
【図面の簡単な説明】
【図1】本発明の第1実施例のブロック図である。
【図2】本発明の第2実施例のブロック図である。
【図3】従来のマイクロコンピュータの一例のブロック
図である。
【符号の説明】
101,201 CPU(中央処理装置) 102 内蔵周辺装置 103 ユーザROM 104 テストROM 105 RAM 106 テスト用RAM 107 ラッチ 110,111 制御レジスタセット 117 ユーザROM選択信号 118 テストROM選択信号

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置と、周辺装置と、前記中央
    処理装置の命令コードおよびデータを記憶する記憶手段
    を有するシングルチップマイクロコンピュータにおい
    て、前記記憶手段はユーザプログラム実行用の命令コー
    ド及びデータを記憶する記憶部と、前記シングルチップ
    マイクロコンピュータのハードウェア機能をテストする
    ためのテストプログラム実行用の命令コード及びデータ
    を記憶する記憶部とを有し、前記中央処理装置には、前
    記ユーザプログラムと前記テストプログラムをそれぞれ
    のプログラムの専用命令の実行により選択する手段と、
    前記記憶手段の各記憶部に対応して設けられ、かつ前記
    プログラム選択手段に応じて切換えられる制御レジスタ
    セットと、前記テストプログラムの実行結果による故障
    情報を格納する手段を有することを特徴とするシングル
    チップマイクロコンピュータ。
  2. 【請求項2】 中央処理装置には、テストプログラムを
    実行する時間を測定し、この時間が一定時間を越えたと
    きにオーバーフロー信号を出力するカウンタ手段を備え
    る請求項2のシングルチップマイクロコンピュータ。
JP4195978A 1992-06-30 1992-06-30 シングルチップマイクロコンピュータ Pending JPH0620068A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4195978A JPH0620068A (ja) 1992-06-30 1992-06-30 シングルチップマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4195978A JPH0620068A (ja) 1992-06-30 1992-06-30 シングルチップマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH0620068A true JPH0620068A (ja) 1994-01-28

Family

ID=16350175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4195978A Pending JPH0620068A (ja) 1992-06-30 1992-06-30 シングルチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH0620068A (ja)

Similar Documents

Publication Publication Date Title
US5717851A (en) Breakpoint detection circuit in a data processor and method therefor
JPH05225067A (ja) 重要メモリ情報保護装置
JPH02181677A (ja) Lsiのテストモード切替方式
JPS61229134A (ja) マイクロコンピユ−タ
US5761482A (en) Emulation apparatus
JPH0620068A (ja) シングルチップマイクロコンピュータ
JP2001331342A (ja) 情報処理装置のエラー表示方法、及びそのプログラムを記録した記録媒体
JP3008914B2 (ja) 半導体集積回路
JP3109573B2 (ja) 障害lsi検出方式
JP2007058450A (ja) 半導体集積回路
JPH0581087A (ja) プロセサのモニタ方式
JPH0341528A (ja) 計算機における診断装置
JP2808985B2 (ja) 情報処理装置及びデバッグ装置
JP2765659B2 (ja) データ処理装置の自己テスト方式
JP4232250B2 (ja) ディジタル電子計算機回路の故障検査方法
JPS5827248A (ja) 集積回路
JPH0612292A (ja) マイクロコンピュータ
JPH09319592A (ja) マイクロコンピュータ
JPS59163653A (ja) デバツグ装置
JPS59216259A (ja) マイクロプロセツサの動作解析方法
Gossányi et al. Error diagnostics and recovery procedure in a dual-processor computer system
JPH01142948A (ja) マイクロコンピュータのシンボリックデバッガ
JPS6043745A (ja) 計算機システム
JPS6227421B2 (ja)
JPH04317142A (ja) マイクロコンピュータのプログラム・デバッグ装置