JP2000155702A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP2000155702A
JP2000155702A JP10332658A JP33265898A JP2000155702A JP 2000155702 A JP2000155702 A JP 2000155702A JP 10332658 A JP10332658 A JP 10332658A JP 33265898 A JP33265898 A JP 33265898A JP 2000155702 A JP2000155702 A JP 2000155702A
Authority
JP
Japan
Prior art keywords
address
register
program
head address
head
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
JP10332658A
Other languages
English (en)
Inventor
Sadao Kimura
禎雄 木村
Yoshikazu Kahata
善和 加畑
Takaaki Nojima
高明 野島
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.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co 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 Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP10332658A priority Critical patent/JP2000155702A/ja
Publication of JP2000155702A publication Critical patent/JP2000155702A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 新たなソフトウェアへの分岐を容易に行うた
めの技術を提供することにある。 【解決手段】 単位プログラムの先頭アドレスを保持す
るための先頭アドレスレジスタ16と、上記先頭アドレ
スレジスタに格納されている先頭アドレスを汎用レジス
タにロードし、ソフトウェアの実行状態を、この汎用レ
ジスタに保持されているアドレスに分岐するための一連
の命令群を実行するCPU13と、与えられた条件に応
じて、上記先頭アドレスレジスタに格納されている先頭
アドレスを変更可能なアドレスレジスタREG0〜RE
Gn及びレジスタ制御部18を設け、上記先頭アドレス
レジスタに格納されているアドレスを汎用レジスタにロ
ードすることにより、プログラム実行状態を、この汎用
レジスタに保持されているアドレスに容易に分岐させる
ことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータにおける分岐アドレス制御技術に関する。
【0002】
【従来の技術】シングルチップマイクロコンピュータ
は、中央処理装置(「CPU」と略記する)を中心に所
要の周辺回路が1個の半導体基板に含まれていて、その
動作プログラムを保有するプログラムROM(リード・
オンリー・メモリ)を内蔵する。マイクロコンピュータ
応用機器例えば自動車のエンジン制御装置においては、
シングルチップマイクロコンピュータがプリント基板に
直接半田づけされることが多く、かかる場合には実チッ
プを評価用のチップに代えてソフトウェアのデバッグを
行うことができない。そこで、実チップでありながら、
ソフトウェアの実行状態をリアルタイムにトレースする
ための機能や、内蔵RAM(ランダム・アクセス・メモ
リ)に対するデータのリード/ライトを可能とする機能
を備えたシングルチップマイクロコンピュータが提供さ
れている。
【0003】尚、マイクロコンピュータについて記載さ
れた文献の例としては、特開昭55−131848号公
報がある。
【0004】
【発明が解決しようとする課題】シングルチップマイク
ロコンピュータの動作をテストするためのテストプログ
ラムは、シングルチップマイクロコンピュータの実動作
においては不要であり、通常は、予め定められた条件が
成立した場合にのみ上記テストプログラムの実行が可能
になっている。
【0005】ところで、マイクロコンピュータ応用機器
が量産された後に、テストプログラムが追加されること
がある。例えばマイクロコンピュータ応用機器が量産さ
れた後にマイクロコンピュータ応用機器の予期せぬ不具
合が発見され、それを解析するための新規テストプログ
ラムが開発される場合などである。マイクロコンピュー
タ応用機器が量産される前に開発されたテストプログラ
ムについては、かかるプログラムを実行させるための条
件が予め設定されており、そのような条件を満たすこと
により、当該テストプログラムに分岐することは容易で
あるが、マイクロコンピュータ応用機器が量産された後
に開発された新規テストプログラムは予定外のプログラ
ムであって、そのような新規テストプログラムをシング
ルチップマイクロコンピュータの内蔵RAMに書き込ん
だとしても、プログラム実行状態をその新規テストプロ
グラムに分岐するための条件が設定されていないため
に、その新規テストプログラムを実行することができな
い。
【0006】例えばマイクロコンピュータ応用機器が量
産される前に開発されたユーザプログラムが内蔵RAM
のアドレス(16進表記)「H’FFFF8000〜
H’FFFF8FFF」に配置され、マイクロコンピュ
ータ応用機器が量産された後に開発された新規テストプ
ログラムが、内蔵RAMのアドレス(16進表記)
「H’FFFF9000〜H’FFFF9FFF」に書
き込まれたものとする。このとき、アドレス「H’FF
FF8000〜H’FFFF8FFF」に配置されてい
るユーザプログラムにとって、アドレス「H’FFFF
9000〜H’FFFF9FFF」に書き込まれている
新規テストプログラムは予定外のプログラムであるか
ら、アドレス「H’FFFF8000〜H’FFFF8
FFF」に配置されているユーザプログラムから、アド
レス「H’FFFF9000〜H’FFFF9FFF」
に書き込まれている新規テストプログラムに分岐するこ
とができない。アドレス「H’FFFF8000〜H’
FFFF8FFF」に配置されているユーザプログラム
を書き換えて新たな分岐条件を設定することにより、ア
ドレス「H’FFFF9000〜H’FFFF9FF
F」の新規テストプログラムに分岐する方法が考えられ
るが、それによれば、マイクロコンピュータ応用機器が
量産された後において、新規テストプログラムが追加あ
るいは変更される毎に、マイクロコンピュータ応用機器
に既にセットされているユーザプログラムに対して分岐
条件を追加あるいは変更しなければならず、面倒な作業
を余儀なくされる。
【0007】本発明の目的は、新たに追加されたプログ
ラムへの分岐を容易に行うための技術を提供することに
ある。
【0008】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0009】すなわち、単位プログラムの先頭アドレス
を保持するための先頭アドレスレジスタ(16)と、上
記先頭アドレスレジスタに格納されている先頭アドレス
に基づいて、プログラム実行状態を上記先頭アドレスに
分岐するための一連の命令群を実行する中央処理装置
(13)と、与えられた条件に応じて、上記先頭アドレ
スレジスタに格納されている先頭アドレスを変更可能な
先頭アドレス変更手段(REG0〜REGn,18)と
を含んでマイクロコンピュータを構成することができ
る。
【0010】上記した手段によれば、先頭アドレス変更
手段は、上記先頭アドレスレジスタに格納されている先
頭アドレスを変更する。そうすると、中央処理装置にお
いては、上記先頭アドレスレジスタに格納されている先
頭アドレスに基づいてプログラム実行状態を上記先頭ア
ドレスに分岐するための一連の命令群を実行する。この
ことが、新たなソフトウェアへの分岐の容易化を達成す
る。
【0011】また、単位プログラムの先頭アドレスを保
持するための先頭アドレスレジスタ(16)と、上記先
頭アドレスレジスタに格納されている先頭アドレスを汎
用レジスタにロードし、ソフトウェアの実行状態を、こ
の汎用レジスタに保持されているアドレスに分岐するた
めの一連の命令群を実行する中央処理装置(13)と、
与えられた条件に応じて、上記先頭アドレスレジスタに
格納されている先頭アドレスを変更可能な先頭アドレス
変更手段(REG0〜REGn,18)とを含んでマイ
クロコンピュータを構成することができる。
【0012】上記した手段によれば、先頭アドレス変更
手段は、上記先頭アドレスレジスタに格納されている先
頭アドレスを変更する。そうすると、中央処理装置にお
いては、上記先頭アドレスレジスタに格納されている先
頭アドレスを汎用レジスタにロードし、ソフトウェアの
実行状態を、この汎用レジスタに保持されているアドレ
スに分岐する。このことが、新たなソフトウェアへの分
岐の容易化を達成する。
【0013】CPUでの負荷の軽減を図るため、単位プ
ログラムの先頭アドレスを保持するための先頭アドレス
レジスタ(16)と、上記先頭アドレスレジスタに格納
されている先頭アドレスを汎用レジスタにロードし、ソ
フトウェアの実行状態を、この汎用レジスタに保持され
ているアドレスに分岐するための一連の命令群を実行す
る中央処理装置(13)と、複数の単位プログラムを格
納可能な記憶手段(14)と、上記記憶手段に格納され
ている複数の単位プログラムの個々の先頭アドレスを保
持するアドレスレジスタ(REG0〜REGn)と、与
えられた条件に応じて、上記アドレスレジスタから上記
先頭アドレスレジスタへ転送される先頭アドレスを選択
するためのレジスタ制御手段(18)とを含んでマイク
ロコンピュータを構成することができる。
【0014】そして、外部から与えられた複数の単位プ
ログラムを上記記憶手段に書き込むための手段(17)
を設けることができる。
【0015】
【発明の実施の形態】図1には本発明にかかるシングル
チップマイクロコンピュータが示される。
【0016】図1に示されるシングルチップマイクロコ
ンピュータ10は、特に制限されないが、公知の半導体
集積回路製造技術により、シリコン基板などの一つの半
導体基板に形成される。
【0017】内部バス12が設けられ、この内部バス1
2を介して、バスコントローラ11、CPU13、RA
M(ランダム・アクセス・メモリ)14、内蔵周辺モジ
ュール15、及び先頭アドレスレジスタ16が、互いに
信号のやり取り可能に結合されている。内蔵周辺モジュ
ール15には、特に制限されないが、タイマやSCI
(シリアル・コミュニケーション・インタフェース)な
どが含まれる。
【0018】上記CPU13は、本システムの論理的中
核とされ、主として、アドレス指定、情報の読み出しと
書き込み、データの演算、命令のシーケンス、割り込の
受付け、記憶装置と入出力装置との情報交換の起動等の
機能を有する。RAM14はCPU13で実行される単
位プログラム(所定の機能を実現するための一連の命令
群を意味する)やCPU13の演算処理において参照さ
れる各種データが保持される。ここで上記RAM14
は、ダイナミックRAM、あるいはスタティックRAM
とされるが、書き換え可能なフラッシュメモリなど、各
種半導体メモリに置換えることができる。
【0019】図4には上記CPU13の構成例が示され
る。
【0020】算術論理演算ユニット(ALU)107
は、データに対して必要な数値演算、及び論理演算を行
うためのハードウェアユニットである。そのようなAL
U107には、演算途中で生ずる種々の状態を保持する
ためのフラグフリップフロップ106が結合されてい
る。また、ALU107での演算のために一時的にデー
タを保持するためのレジスタ105や、演算の一方の入
力又はその演算結果を蓄えるためのアキュムレータ10
4、種々のデータやアドレスを保持するための汎用レジ
スタR0〜Rn、サブルーチン実行時の各種レジスタの
内容待避のためのスタック領域の最上位を示すスタック
ポインタ113、次に実行すべき命令アドレスを示すソ
フトウェアカウンタ114、出力アドレスを一時的に保
持するためのアドレスラッチ115、CPU3の外部と
の間でデータのやり取りを可能とするためのデータバッ
ファ117等が、内部バス103によって相互に結合さ
れている。116はアドレスの出力を可能とするための
アドレスバッファである。
【0021】RAM14からフェッチされた命令コード
を保持するための命令レジスタ109が配置され、さら
にこの命令レジスタ109の保持命令をデコードするこ
とによって当該命令を解読するための命令デコーダ11
0が配置される。このデコード結果は、後段に配置され
た制御部111に入力される。この制御部111は、C
PU3の内部及び外部に対して適当な制御信号を送出し
て、上記命令デコーダ110でデコードされた命令で指
定される必要な動作を、いくつかのステップに分けて実
行する。
【0022】図示されないが、シングルチップマイクロ
コンピュータ10の外部には、プログラムを格納するプ
ログラムメモリが配置されている。このプログラムメモ
リは、特に制限されないが、EPROM(エレクトリカ
リ・プログラマブル・リード・オンリ・メモリ)とされ
る。このプログラムメモリには、初期化プログラムや、
マイクロコンピュータ応用機器の動作制御のためのプロ
グラム、及び各種動作試験のためのテストプログラムが
格納されている。電源投入後に、CPU13によって上
記初期化プログラムが実行され、それによって、マイク
ロコンピュータ応用機器における各種モジュールの初期
設定や、RAM14へのプログラムのロードが行われ
る。例えば、上記プログラムメモリから、マイクロコン
ピュータ応用機器の動作制御のためのプログラムや各種
動作試験のためのテストプログラムがRAM14に転送
される。ここで、各種作試験のためのテストプログラム
は、単位プログラム毎に、RAM14に格納され、その
各単位プログラムの先頭アドレスは、CPU13の制御
により、アドレスレジスタREG0〜REGnに書き込
まれる。特に制限されないが、テストプログラムとして
の単位プログラム0〜nが予め用意され、それが、RA
M14に転送されたものとすると、単位プログラム0の
先頭アドレスは、アドレスレスレジスタREG0に格納
され、単位プログラム1の先頭アドレスは、アドレスレ
スレジスタREG1に格納され、そして単位プログラム
nの先頭アドレスは、アドレスレスレジスタREGnに
格納される。
【0023】また、アドレスレジスタREG0〜nへの
先頭アドレス書き込みは、アドバンストユーザデバッガ
17のRAMモニタモードにおいても可能とされる。す
なわち、モード信号AUDMDがハイレベルにされる
と、アドバンストユーザデバッガ17のRAMモニタモ
ードが選択され、このRAMモニタモードにおいて、R
AM14のリード/ライト、アドレスレジスタREG0
〜REGnのリード/ライトを行うことができる。この
RAMモニタモードにおける先頭アドレスの書き込み
は、新規テストプログラムの追加等に利用される。
【0024】バスコントローラ11には、アドバンスド
ユーザデバッガ17、複数のアドレスレジスタREG0
〜REGnが結合されており、所定のウェイト挿入によ
り内部バス12との間でアドレス情報や各種データのや
り取りが可能とされる。
【0025】アドバンストユーザデバッガ17は、リア
ルタイムトレースモードとRAMモニタモードを有し、
システムデバッグを支援する。アドバンストユーザデバ
ッガ17には以下のような各種信号が入力される。
【0026】AUDATA(3〜0)は、外部からのコ
マンド入力や外部との間でのデータのやり取りを可能と
するデータバスである。/AUDRSTは、アドバンス
トユーザデバッガ17内のロジックをリセットするため
のリセット信号である。/AUDSYNCはデータ取り
込みの際の同期信号の入力に使用される同期信号であ
る。AUDCKはデバッグに使用されるクロック信号で
ある。AUDMDは、モード信号である。モード信号A
UDMDがハイレベルにされると、RAMモニタモード
が選択され、モード信号AUDMDがローレベルにされ
ると、リアルタイムトレースモードが選択される。
【0027】外部から与えられた各種信号例えば入出力
ポートのモニタ信号I/O、及び割り込み信号/IRQ
0,/IRQ1(先頭に/が付された信号はそれがロー
アクティブであることを示している)の組み合わせに基
づいてアドレスレジスタREG0〜REGnを選択する
ためのレジスタ制御部18が設けられる。例えば、入出
力ポートのモニタ信号I/O及び割り込み信号/IRQ
0,/IRQ1が、いずれも論理値“1”であるなら
ば、アドレスレジスタREG0〜REG1の選択は行わ
れない。しかし、入出力ポートのモニタ信号I/O及び
割り込み信号/IRQ0,/IRQ1が、論理値
“0”、“0”、“1”のとき、レジスタ制御部18に
より、アドレスレジスタREG0が選択され、このアド
レスレジスタREG0に保持されている先頭アドレス値
が先頭アドレスレジスタ16に書き込まれる。また、入
出力ポートのモニタ信号I/O及び割り込み信号/IR
Q0,/IRQ1が、それぞれ論理値“0”、“1”、
“0”であるならば、レジスタ制御部18により、アド
レスレジスタREG1が選択され、このアドレスレジス
タREG1に保持されている先頭アドレス値が先頭アド
レスレジスタ16に書き込まれる。そして、入出力ポー
トのモニタ信号I/O及び割り込み信号/IRQ0,/
IRQ1が、それぞれ論理値“1”、“1”、“0”で
あるならば、レジスタ制御部18により、先頭アドレス
レジスタREGnが選択され、このアドレスレジスタR
EGnに保持されている先頭アドレス値が先頭アドレス
レジスタ16に書き込まれる。このように、入出力ポー
トのモニタ信号I/O及び割り込み信号/IRQ0,/
IRQ1の組み合わせによって、それに対応するアドレ
スレジスタREG0〜REGnの保持アドレス値が先頭
アドレスレジスタ16に書き込まれる。この先頭アドレ
スレジスタ16は、単位プログラムの先頭アドレスを保
持するためのレジスタであり、CPU13によるプログ
ラム実行において、ここに保持された先頭アドレスが分
岐先アドレスとして参照される。
【0028】例えば割り込み信号/IRQ2が論理値
“0”にされて、ユーザプログラムが実行される場合を
考える。このユーザプログラムには、分岐処理のため、
図3に示されるような一連の命令群が含まれる。
【0029】先ず、先頭レジスタ16のアドレスをCP
U13内の汎用レジスタRnにロードする(S1)、次
に、そのレジスタRnの値で指定される先頭アドレスレ
ジスタ16の保持内容(=分岐先アドレス)を上記汎用
レジスタRnにロードする(S2)。そして、上記汎用
レジスタRnに保持されているアドレスにジャンプする
ことで、汎用レジスタRnの保持内容がプログラムカウ
ンタ114に転送され、これによってアドレス分岐が行
われる(S3)。先頭アドレスレジスタ16の初期値
は、初期設定プログラムによって設定されたものであ
り、基本的にはレジスタ制御部18によって先頭アドレ
スレジスタ16の保持アドレスの書き換えが行われない
限り、先頭アドレスレジスタ16に初期設定された先頭
アドレスへの分岐が行われる。例えばこの初期設定され
た先頭アドレスを1000番地とすると、先頭アドレス
レジスタ16の保持アドレスの書き換えが行われない限
り、図3に示される一連の命令群が実行される毎に、先
頭アドレス1000番地に分岐される。
【0030】割り込み信号/IRQ2が論理値“0”に
されて、入出力ポートのモニタ信号I/O及び割り込み
信号/IRQ0,/IRQ1が、それぞれ論理値
“0”、“0”、“1”とされた場合には、レジスタ制
御部18により、アドレスレジスタREG0が選択さ
れ、このアドレスレジスタREG0に保持されている先
頭アドレス値(単位プログラム0の先頭値)が先頭アド
レスレジスタ16に書き込まれる。この書き込み後に、
図3に示される一連の命令群がCPU13で実行される
ことにより、プログラムの実行状態は、単位プログラム
0へ分岐される。つまり、先頭アドレスレジスタ16の
保持アドレスが書き換えられない場合には、図2におい
て21で示されるように、ユーザプログラムが繰返し実
行されているが、アドレスレジスタREG0が選択さ
れ、このアドレスレジスタREG0に保持されている先
頭アドレス値(単位プログラム0の先頭値)が先頭アド
レスレジスタ16に書き込まれ、その後に図3に示され
る一連の命令群が実行されることで、プログラム実行状
態が、ユーザプログラム21からテストプログラム22
へ分岐される。
【0031】また、入出力ポートのモニタ信号I/O及
び割り込み信号/IRQ0,/IRQ1が、それぞれ論
理値“0”、“1”、“0”とされた場合には、レジス
タ制御部18により、アドレスレジスタREG1が選択
され、このアドレスレジスタREG1に保持されている
先頭アドレス値(単位プログラム1の先頭値)が先頭ア
ドレスレジスタ16に書き込まれる。この状態で、図3
に示される一連の命令群がCPU13で実行されること
により、プログラムの実行状態は、単位プログラム1へ
分岐される。
【0032】このように、入出力ポートのモニタ信号I
/O及び割り込み信号/IRQ0,/IRQ1の論理の
組み合わせによって、それに対応するアドレスレジスタ
REG0〜REGnのいずれかが選択され、それに保持
されている先頭アドレス値が先頭アドレスに書き込まれ
ると、その後に図3に示される一連の命令群が実行され
ることで、対応するテストプログラムを実行することが
できる。
【0033】次に、新たなテストプログラムが追加され
る場合について説明する。
【0034】例えばマイクロコンピュータ応用機器が量
産された後にマイクロコンピュータ応用機器の予期せぬ
不具合が発見され、それを解析するための新規テストプ
ログラムが開発された場合を想定する。
【0035】開発された新規テストプログラムは、モー
ド信号AUDMDがハイレベルとされてアドバンストユ
ーザデバッガ17のRAMモニタモードが選択された状
態で、RAM14に書き込まれる。このような意味で、
本発明において外部から与えられた単位プログラムを、
記憶手段であるRAM14に書き込むための手段は、ア
ドバンストユーザデバッガ17によって実現される。
【0036】上記新規テストプログラムを単位プログラ
ムnとする。そして、この単位プログラムnの先頭アド
レス値が、アドレスアドレスレジスタREGnに書き込
まれる。
【0037】特に制限はされないが、例えば割り込み信
号/IRQ2が論理値“0”にされて、入出力ポートの
モニタ信号I/O及び割り込み信号/IRQ0,/IR
Q1が、それぞれ論理値“1”、“1”、“0”とされ
た場合には、レジスタ制御部18により、アドレスレジ
スタREGnが選択され、このアドレスレジスタREG
nに保持されている先頭アドレス値(単位プログラムn
の先頭値)が先頭アドレスレジスタ16に書き込まれ
る。この状態で、図3に示される一連の命令群がCPU
13で実行されることにより、プログラムの実行状態
は、単位プログラムnへアドレス分岐され、単位プログ
ラムnが実行される。
【0038】このように、新たにテストプログラムが追
加された場合においても、当該テストプログラムの先頭
アドレス値をアドレスレジスタREGnに保持させてお
くことにより、入出力ポートのモニタ信号I/O及び割
り込み信号/IRQ0,/IRQ1の論理組み合わせに
よって、それが選択されて先頭アドレスレジスタ16に
書き込まれるようになっているので、あとは、図3に示
されるような一連の命令群を実行することで、アドレス
分岐を容易に行うことができる。
【0039】上記した例によれば、以下の作用効果を得
ることができる。
【0040】(1)単位プログラムの先頭アドレスを保
持するための先頭アドレスレジスタ16と、上記先頭ア
ドレスレジスタに格納されている先頭アドレスを汎用レ
ジスタにロードし、ソフトウェアの実行状態を、この汎
用レジスタに保持されているアドレスに分岐するための
一連の命令群を実行するCPU13と、与えられた条件
に応じて、上記先頭アドレスレジスタに格納されている
先頭アドレスを変更可能なアドレスレジスタREG0〜
REGn及びレジスタ制御部18を設け、上記先頭アド
レスレジスタに格納されているアドレスを汎用レジスタ
にロードすることにより、プログラム実行が、この汎用
レジスタに保持されているアドレスに容易に分岐するこ
とができる。
【0041】(2)レジスタ制御部18の制御により、
アドレスレジスタREG0〜REGnの保持内容が選択
的に先頭アドレスレジスタ16に書き込まれるようにな
っているため、CPU13は、ソフトウェア分岐処理に
おいて複数種類の条件を順に判定することによって分岐
先の判断を行う必要がなく、その分、CPU13の負荷
の軽減を図ることができる。また、CPU13での処理
から、分岐先ソフトウェア判断のための処理を省くこと
ができるから、その分、ソフトウェア分岐処理の高速化
を図ることができる。
【0042】(3)上記(1)の作用効果により、マイ
クロコンピュータ応用機器が量産された後にマイクロコ
ンピュータ応用機器の予期せぬ不具合が発見され、それ
を解析するための新規テストプログラムが開発された場
合においても、その新規テストプログラムをRAM14
に書き込み、その先頭アドレス値をアドレスレジスタR
EG0〜REGnのいずれかに書き込むことで、当該新
規テストプログラムへの分岐を容易に行うことができ
る。
【0043】以上本発明者によってなされた発明を具体
的に説明したが、本発明はそれに限定されるものではな
く、その要旨を逸脱しない範囲で種々変更可能であるこ
とはいうまでもない。
【0044】例えば、上記した例では、アドバンストユ
ーザデバッガ17により、RAM14への単位プログラ
ムの書き込みなどを行うようにしたが、RAM14への
単位プログラムの書き込みや、アドレスレジスタREG
0〜REGnへの先頭アドレスの書き込みは、アドバン
ストユーザデバッガ17以外の手段、例えばCPU13
の制御下で行うようにしても良い。
【0045】さらに、上記の例では複数のアドレスレジ
スタREG0〜REGnを設けたが、このアドレスレジ
スタは一つでも良い。
【0046】アドレスレジスタREG0〜REGnの選
択条件として、入出力ポートのモニタ信号I/Oや、割
り込み信号/IRQn以外の信号を使うようにしても良
い。また、RAM14に、新たに書き込まれる単位プロ
グラムはテストプログラムに限定されない。そして、上
記した例では、割り込み信号/IRQ2が論理値“0”
にされて、アドレスレジスタREG0〜REGnの記憶
情報が選択的に先頭アドレスレジスタ16に転送される
ようにしたが、それに限定されない。例えばシングルチ
ップマイクロコンピュータ10の実動作(デバッグ以外
の動作)においても、上記した場合と同様に外部条件の
組み合わせによって、アドレスレジスタREG0〜RE
Gnの選択を行うことにより、実動作において実行され
る複数の単位プログラムを簡単に切り換えることができ
る。
【0047】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野である、アド
バンストユーザデバッガを備えたシングルチップマイク
ロコンピュータに適用した場合について説明したが、こ
れに限定されるものではなく、各種マイクロコンピュー
タに広く適用することができる。
【0048】本発明は、少なくともCPUを含むことを
条件に適用することができる。
【0049】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0050】すなわち、単位プログラムの先頭アドレス
を保持するための先頭アドレスレジスタと、上記先頭ア
ドレスレジスタに格納されている先頭アドレスに基づい
て、プログラム実行状態を上記先頭アドレスに分岐する
ための一連の命令群を実行するCPUと、与えられた条
件に応じて、上記先頭アドレスレジスタに格納されてい
る先頭アドレスを変更可能な先頭アドレス変更手段とを
含むことにより、上記先頭アドレスレジスタに格納され
ている先頭アドレスを変更することができ、それによ
り、CPUにおいては、上記先頭アドレスレジスタに格
納されている先頭アドレスに基づいてプログラム実行状
態を上記先頭アドレスに分岐するための一連の命令群が
実行されるので、新規プログラムへの分岐を容易に行う
ことができる。
【0051】また、先頭アドレスレジスタに格納されて
いる先頭アドレスを汎用レジスタにロードし、ソフトウ
ェアの実行状態を、この汎用レジスタに保持されている
アドレスに分岐するための一連の命令群を実行するCP
Uを含む場合には、先頭アドレス変更手段により、先頭
アドレスレジスタに格納されている先頭アドレスが変更
されると、CPUにおいては、先頭アドレスレジスタに
格納されている先頭アドレスが汎用レジスタにロードさ
れ、ソフトウェアの実行状態が、この汎用レジスタに保
持されているアドレスに分岐されることにより、新たな
ソフトウェアへの分岐を容易に行うことができる。
【0052】複数の単位プログラムの個々の先頭アドレ
スを保持するアドレスレジスタや、与えられた条件に応
じて、上記アドレスレジスタから上記先頭アドレスレジ
スタへ転送される先頭アドレスを選択するためのレジス
タ制御手段を設けることにより、CPUは、ソフトウェ
ア分岐処理において複数種類の条件を順に判定すること
によって分岐先の判断を行う必要がないから、その分、
CPUの負荷の軽減を図ることができる。また、CPU
での処理から、分岐先ソフトウェア判断のための処理を
省くことができるから、その分、ソフトウェア分岐処理
の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明にかかるシングルチップマイクロコンピ
ュータの構成例ブロック図である。
【図2】上記シングルチップマイクロコンピュータのプ
ログラム実行の説明図である。
【図3】上記シングルチップマイクロコンピュータで行
われる分岐処理の流れを示すフローチャートである。
【図4】上記シングルチップマイクロコンピュータに含
まれるCPUの構成例ブロック図である。
【符号の説明】
10 シングルチップマイクロコンピュータ 11 バスコントローラ 12 内部バス 13 CPU 14 RAM 15 内蔵周辺モジュール 16 先頭アドレスレジスタ 17 アドバンストユーザデバッガ 18 レジスタ制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 加畑 善和 東京都小平市上水本町5丁目22番1号 株 式会社日立超エル・エス・アイ・システム ズ内 (72)発明者 野島 高明 東京都小平市上水本町5丁目22番1号 株 式会社日立超エル・エス・アイ・システム ズ内 Fターム(参考) 5B042 GA13 HH05 HH11 HH21 HH39 5B062 AA10 CC01 DD05

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 単位プログラムの先頭アドレスを保持す
    るための先頭アドレスレジスタと、 上記先頭アドレスレジスタに格納されている先頭アドレ
    スに基づいて、ソフトウェアの実行状態を上記先頭アド
    レスに分岐するための一連の命令群を実行する中央処理
    装置と、 与えられた条件に応じて、上記先頭アドレスレジスタに
    格納されている先頭アドレスを変更可能な先頭アドレス
    変更手段と、 を含むことを特徴とするマイクロコンピュータ。
  2. 【請求項2】 単位プログラムの先頭アドレスを保持す
    るための先頭アドレスレジスタと、 上記先頭アドレスレジスタに格納されている先頭アドレ
    スを汎用レジスタにロードし、ソフトウェアの実行状態
    を、この汎用レジスタに保持されているアドレスに分岐
    するための一連の命令群を実行する中央処理装置と、 与えられた条件に応じて、上記先頭アドレスレジスタに
    格納されている先頭アドレスを変更可能な先頭アドレス
    変更手段と、 を含むことを特徴とするマイクロコンピュータ。
  3. 【請求項3】 単位プログラムの先頭アドレスを保持す
    るための先頭アドレスレジスタと、 上記先頭アドレスレジスタに格納されている先頭アドレ
    スを汎用レジスタにロードし、ソフトウェアの実行状態
    を、この汎用レジスタに保持されているアドレスに分岐
    するための一連の命令群を実行する中央処理装置と、 複数の単位プログラムを格納可能な記憶手段と、 上記記憶手段に格納されている複数の単位プログラムの
    個々の先頭アドレスを保持するアドレスレジスタと、 与えられた条件に応じて、上記アドレスレジスタから上
    記先頭アドレスレジスタへ転送される先頭アドレスを選
    択するためのレジスタ制御手段と、 を含むことを特徴とするマイクロコンピュータ。
  4. 【請求項4】 外部から与えられた単位プログラムを上
    記記憶手段に書き込むための手段を含む請求項1乃至3
    のいずれか1項記載のマイクロコンピュータ。
JP10332658A 1998-11-24 1998-11-24 マイクロコンピュータ Withdrawn JP2000155702A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10332658A JP2000155702A (ja) 1998-11-24 1998-11-24 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10332658A JP2000155702A (ja) 1998-11-24 1998-11-24 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2000155702A true JP2000155702A (ja) 2000-06-06

Family

ID=18257434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10332658A Withdrawn JP2000155702A (ja) 1998-11-24 1998-11-24 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2000155702A (ja)

Similar Documents

Publication Publication Date Title
KR0168656B1 (ko) 데이터 처리 시스템
US7793075B2 (en) Active memory command engine and method
US4672534A (en) Integrated circuit device incorporating a data processing unit and a ROM storing applications program therein
JPH1139189A (ja) 集積回路装置、回路検査装置および方法
KR20000029997A (ko) 집적dma콘트롤러를이용한집적메모리테스트방법
US20080016415A1 (en) Evaluation system and method
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
US4926318A (en) Micro processor capable of being connected with a coprocessor
US5497459A (en) System for testing instruction queue circuit and central processing unit having the system
US7428661B2 (en) Test and debug processor and method
JP2001051874A (ja) マイクロコンピュータ
JP2000155702A (ja) マイクロコンピュータ
KR20210080398A (ko) 메모리 내장 자체 테스트 컨트롤러를 이용한 판독 전용 메모리 테스트
JPS60189047A (ja) デ−タ処理装置
US7237099B2 (en) Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor
JP2525492B2 (ja) プログラマブルコントロ―ラ
US20040107388A1 (en) Microcomputer
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JPH09106359A (ja) 半導体集積回路
JPH05180903A (ja) 半導体集積回路装置のテスト方法及びテスト回路
JPS62269237A (ja) デ−タプロセツサ
JP2002287956A (ja) マイクロコンピュータ
JPH0442329A (ja) データ処理装置
US20030154369A1 (en) Single chip microcomputer
JPS63108438A (ja) シングルチツプマイクロコンピユ−タ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060207