JPS6223896B2 - - Google Patents
Info
- Publication number
- JPS6223896B2 JPS6223896B2 JP55104989A JP10498980A JPS6223896B2 JP S6223896 B2 JPS6223896 B2 JP S6223896B2 JP 55104989 A JP55104989 A JP 55104989A JP 10498980 A JP10498980 A JP 10498980A JP S6223896 B2 JPS6223896 B2 JP S6223896B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- mode
- interrupt
- input
- 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.)
- Expired
Links
- 238000000034 method Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 description 13
- 238000003745 diagnosis Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
【発明の詳細な説明】
本発明はプログラム制御方式に関し、特にマイ
クロコンピユータの故障診断等に適したプログラ
ム制御方式に関する。
クロコンピユータの故障診断等に適したプログラ
ム制御方式に関する。
メモリを内蔵するマイクロコンピユータは、小
型で且つメモリに記憶させるプログラムにより多
様のシステム制御が実現できるため、その用途は
急速に拡がつてきている。マイクロコンピユータ
が高度の制御機能を担うシステムでは、システム
の正常な動作を保守するために、プログラムを含
めたコンピユータ自身の機能とセンサやドライバ
ー回路を含めた周辺回路との総合的、定期的診断
が必要となる。
型で且つメモリに記憶させるプログラムにより多
様のシステム制御が実現できるため、その用途は
急速に拡がつてきている。マイクロコンピユータ
が高度の制御機能を担うシステムでは、システム
の正常な動作を保守するために、プログラムを含
めたコンピユータ自身の機能とセンサやドライバ
ー回路を含めた周辺回路との総合的、定期的診断
が必要となる。
このような定期的な故障診断のためには、予め
診断プログラムをマイクロコンピユータに内蔵し
ておき、このプログラムを外部から与えた診断要
求信号に応答して実行させる必要がある。然るに
従来の故障診断方式によれば、上記診断プログラ
ムはシステム動作を制御する主プログラムとは別
個に用意され、この診断プログラムにシステムを
模擬動作させるための各種の記述を必要としてい
た。このため、多くの動作モードで詳しく診断を
行なおうとすると、従来の方式では診断プログラ
ムが長くなり、これを記載するメモリに大きな面
積を要するため、特にメモリ容量に制約のあるメ
モリ内蔵型のマイクロコンピユータでは充分な診
断を行なうことができなかつた。
診断プログラムをマイクロコンピユータに内蔵し
ておき、このプログラムを外部から与えた診断要
求信号に応答して実行させる必要がある。然るに
従来の故障診断方式によれば、上記診断プログラ
ムはシステム動作を制御する主プログラムとは別
個に用意され、この診断プログラムにシステムを
模擬動作させるための各種の記述を必要としてい
た。このため、多くの動作モードで詳しく診断を
行なおうとすると、従来の方式では診断プログラ
ムが長くなり、これを記載するメモリに大きな面
積を要するため、特にメモリ容量に制約のあるメ
モリ内蔵型のマイクロコンピユータでは充分な診
断を行なうことができなかつた。
本発明の目的は、故障診断プログラムの如く、
本来の制御動作用プログラムに対して補助的な関
係にあるプログラムを簡単化でき、メモリ上での
所要空間を小さくできるプログラム制御方式を提
供することにある。
本来の制御動作用プログラムに対して補助的な関
係にあるプログラムを簡単化でき、メモリ上での
所要空間を小さくできるプログラム制御方式を提
供することにある。
この目的を達成するため、本発明のプログラム
制御方式では、ソフトウエア割込み要求に応答す
る割込みアドレス発生手段に少なくとも2つの割
込みアドレスを用意しておき、ソフトウエア割込
み発生時のジヤンプ先を外部から予め指定される
モード信号によつて選択するようにしたことを特
徴とする。
制御方式では、ソフトウエア割込み要求に応答す
る割込みアドレス発生手段に少なくとも2つの割
込みアドレスを用意しておき、ソフトウエア割込
み発生時のジヤンプ先を外部から予め指定される
モード信号によつて選択するようにしたことを特
徴とする。
例えば、第1のジヤンプ先アドレスに故障診断
プログラムの先頭アドレスを格納し、第2のアド
レスにリターン命令を格納しておくと、本発明の
プログラム制御方式によれば、通常の動作モード
では主プログラム中のソフトウエア割込み命令を
実効的に無効命令として扱い、診断モードでは上
記ソフトウエア割込み命令の位置で故障診断プロ
グラムを実行させることができる。従つて、主プ
ログラム上の故障診断に適した位置にソフトウエ
ア割込み命令を配置し、故障診断プログラムの終
りにリターン命令を配置しておくことにより、簡
単な診断プログラムを用いて、システムを通常動
作させながら故障診断させることが可能となる。
本発明のこの方式によれば、診断プログラムへの
分岐が割込み制御回路を介して行なわれるため、
主プログラム中に分岐命令を配置する方式に比較
して動作が速く、従つて割込み命令を配置したこ
とによる主プログラムの性能低下は少ない。ま
た、主プログラムでシステムを動作させるため、
診断プログラムは簡単であり、これを付加したこ
とによるメモリ空間の消費は少ない。
プログラムの先頭アドレスを格納し、第2のアド
レスにリターン命令を格納しておくと、本発明の
プログラム制御方式によれば、通常の動作モード
では主プログラム中のソフトウエア割込み命令を
実効的に無効命令として扱い、診断モードでは上
記ソフトウエア割込み命令の位置で故障診断プロ
グラムを実行させることができる。従つて、主プ
ログラム上の故障診断に適した位置にソフトウエ
ア割込み命令を配置し、故障診断プログラムの終
りにリターン命令を配置しておくことにより、簡
単な診断プログラムを用いて、システムを通常動
作させながら故障診断させることが可能となる。
本発明のこの方式によれば、診断プログラムへの
分岐が割込み制御回路を介して行なわれるため、
主プログラム中に分岐命令を配置する方式に比較
して動作が速く、従つて割込み命令を配置したこ
とによる主プログラムの性能低下は少ない。ま
た、主プログラムでシステムを動作させるため、
診断プログラムは簡単であり、これを付加したこ
とによるメモリ空間の消費は少ない。
以下、本発明の1実施例を図面を参照して説明
する。
する。
第1図は本発明を実施するマイクロコンピユー
タのCPUの概略的な構成図であり、1はプログ
ラムを格納する読出し専用メモリ(ROM)、2は
プログラムカウンタ、3はメモリ1から読み出さ
れた命令を解読し、各種の内部制御信号を出力す
るデコーダ、4はデータを1時的に記憶するラン
ダムアクセスメモリ(RAM)、5はデコーダ出力
に応じて演算動作する演算論理回路部、6は外部
回路とのインターフエイスを構成するI/Oポー
ト、7は割込み要求信号INT1〜INToおよびソフ
トウエア割込み信号SWIに応じてジヤンプアドレ
スを発生するベクタ・アドレス発生回路を示す。
タのCPUの概略的な構成図であり、1はプログ
ラムを格納する読出し専用メモリ(ROM)、2は
プログラムカウンタ、3はメモリ1から読み出さ
れた命令を解読し、各種の内部制御信号を出力す
るデコーダ、4はデータを1時的に記憶するラン
ダムアクセスメモリ(RAM)、5はデコーダ出力
に応じて演算動作する演算論理回路部、6は外部
回路とのインターフエイスを構成するI/Oポー
ト、7は割込み要求信号INT1〜INToおよびソフ
トウエア割込み信号SWIに応じてジヤンプアドレ
スを発生するベクタ・アドレス発生回路を示す。
本発明において、コンピユータ動作のモード指
定はI/Oポート6の信号入力端子P1〜Poの1
つを利用して行なわれる。この場合、モード指定
に専用の信号端子を設けてもよいが、IC化され
るマイクロコンピユータでは端子数の増設は好ま
しくない。そこで、実施例ではリセツト
(RESET)入力時に、予め定められた信号端
子、例えばP1からの入力に応じてモード指定が行
なわれるようにした。
定はI/Oポート6の信号入力端子P1〜Poの1
つを利用して行なわれる。この場合、モード指定
に専用の信号端子を設けてもよいが、IC化され
るマイクロコンピユータでは端子数の増設は好ま
しくない。そこで、実施例ではリセツト
(RESET)入力時に、予め定められた信号端
子、例えばP1からの入力に応じてモード指定が行
なわれるようにした。
第2図はモード信号検出回路とベクタアドレス
発生回路の1例であり、第3図は上記検出回路に
おける信号波形図である。モード信号検出回路で
はRESET入力に対して2種のレベルL1、L2を検
出する。すなわち、リセツト信号を高い検出レベ
ルL1をもつ検出器10に入力して内部リセツト
信号S1を作ると共に、低い検出レベルL2をもつ
検出器11に入力してモードセツト信号S2を作
る。信号S2はラツチ回路12に与えられ、ポート
入力P1の状態を記憶する。ラツチ回路12の出力
がモード信号(MODE)となり、ソフトウエア
割込みSWIに対するジヤンプ先アドレスを制御す
る。モード信号MODEはリセツト信号RESET入
力時のポート入力P1の状態によつて決定され、
RESETが“1”に戻つた後は入力P1に影響され
ない。つまり、このような構成にすれば、特定の
ポート入力P1をモード指定に兼用させたことにな
る。
発生回路の1例であり、第3図は上記検出回路に
おける信号波形図である。モード信号検出回路で
はRESET入力に対して2種のレベルL1、L2を検
出する。すなわち、リセツト信号を高い検出レベ
ルL1をもつ検出器10に入力して内部リセツト
信号S1を作ると共に、低い検出レベルL2をもつ
検出器11に入力してモードセツト信号S2を作
る。信号S2はラツチ回路12に与えられ、ポート
入力P1の状態を記憶する。ラツチ回路12の出力
がモード信号(MODE)となり、ソフトウエア
割込みSWIに対するジヤンプ先アドレスを制御す
る。モード信号MODEはリセツト信号RESET入
力時のポート入力P1の状態によつて決定され、
RESETが“1”に戻つた後は入力P1に影響され
ない。つまり、このような構成にすれば、特定の
ポート入力P1をモード指定に兼用させたことにな
る。
モード信号MODEは2入力ANDゲート14の
一方の入力となり、インバータ13による反転信
号がもう1つの2入力ANDゲート15に入力さ
れる。これらのANDゲート14,15の他方の
入力端子にはソフトウエア割込み要求SWIが入力
され、ANDゲート14の出力はANDゲート16
を、またANDゲート15の出力はANDゲート1
7を制御する。MODE=“1”の状態で割込み
SWIが発生すると、ANDゲート16を介してア
ドレスメモリ20内のジヤンプ先アドレスが出力
され、MODE=“0”の状態で割込みSWIが発生
すると、ANDゲート17を介してアドレスメモ
リ21内のジヤンプ先アドレスが出力される。一
方、外部割込み要求INT1〜INToに対しては、
ANDゲート41〜47を介してアドレスメモリ
31〜37のアドレスが送出される。これらのジ
ヤンプ先アドレスはORゲート50を介してプロ
グラムカウンタ2に与えられる。
一方の入力となり、インバータ13による反転信
号がもう1つの2入力ANDゲート15に入力さ
れる。これらのANDゲート14,15の他方の
入力端子にはソフトウエア割込み要求SWIが入力
され、ANDゲート14の出力はANDゲート16
を、またANDゲート15の出力はANDゲート1
7を制御する。MODE=“1”の状態で割込み
SWIが発生すると、ANDゲート16を介してア
ドレスメモリ20内のジヤンプ先アドレスが出力
され、MODE=“0”の状態で割込みSWIが発生
すると、ANDゲート17を介してアドレスメモ
リ21内のジヤンプ先アドレスが出力される。一
方、外部割込み要求INT1〜INToに対しては、
ANDゲート41〜47を介してアドレスメモリ
31〜37のアドレスが送出される。これらのジ
ヤンプ先アドレスはORゲート50を介してプロ
グラムカウンタ2に与えられる。
アドレスメモリ20,21に設定するアドレス
をそれぞれN1,N2とした場合のプログラムの流
れを第4図A,Bを参照して説明する。本発明に
よれば、目的に応じたプログラムを開発する時点
で、マイクロコンピユータの動作の異常を容易に
判断できる箇所にソフトウエア割込み命令を挿入
しておく。挿入箇所は、例えば外部データを読込
んだ箇所あるいは或る計算結果を求めた箇所、等
が適当であり、これを図示すると第4図Aの如
く、主プログラムは1連のステツプ101,〜1
03の途中にソフトウエア割込命令201,20
2……が挿入された形となる。一方、サブプログ
ラムとして、第4図Bに示す如くアドレスN1に
対する位置に診断プログラム301を、またアド
レスN2に対応する位置にリターン命令302を
格納しておく。
をそれぞれN1,N2とした場合のプログラムの流
れを第4図A,Bを参照して説明する。本発明に
よれば、目的に応じたプログラムを開発する時点
で、マイクロコンピユータの動作の異常を容易に
判断できる箇所にソフトウエア割込み命令を挿入
しておく。挿入箇所は、例えば外部データを読込
んだ箇所あるいは或る計算結果を求めた箇所、等
が適当であり、これを図示すると第4図Aの如
く、主プログラムは1連のステツプ101,〜1
03の途中にソフトウエア割込命令201,20
2……が挿入された形となる。一方、サブプログ
ラムとして、第4図Bに示す如くアドレスN1に
対する位置に診断プログラム301を、またアド
レスN2に対応する位置にリターン命令302を
格納しておく。
このようにプログラムを構成すると、通常のオ
ペレーシヨンモード、即ちMODE=“0”の場合
には、ソフトウエア割込命令に対して実効的には
何も行なわれず、この割込み命令は無効命令と等
価であり、診断モードでは主プログラムの各ソフ
トウエア割込み命令の箇所に診断プログラム30
1が挿入された形で処理が実行される。従つて、
通常のオペレーシヨンモードと同じプログラムを
実行しつつ、その実行結果を診断プログラムで適
宜判断する形になる。
ペレーシヨンモード、即ちMODE=“0”の場合
には、ソフトウエア割込命令に対して実効的には
何も行なわれず、この割込み命令は無効命令と等
価であり、診断モードでは主プログラムの各ソフ
トウエア割込み命令の箇所に診断プログラム30
1が挿入された形で処理が実行される。従つて、
通常のオペレーシヨンモードと同じプログラムを
実行しつつ、その実行結果を診断プログラムで適
宜判断する形になる。
以上の説明から明らかな如く、本発明のプログ
ラム制御方式によれば、システム制御のために通
常用いられるプログラムを生かして故障診断がで
きるため、診断プログラムを簡略化できる。ま
た、実施例に示したようにリセツト信号入力時に
特定のI/O端子からモード指示を与えるように
すれば、端子を増設することなく通常の動作時と
同じ環境でシステムを動作させながら故障診断を
できる。
ラム制御方式によれば、システム制御のために通
常用いられるプログラムを生かして故障診断がで
きるため、診断プログラムを簡略化できる。ま
た、実施例に示したようにリセツト信号入力時に
特定のI/O端子からモード指示を与えるように
すれば、端子を増設することなく通常の動作時と
同じ環境でシステムを動作させながら故障診断を
できる。
従つて、本発明は内蔵メモリの容量、外部との
接続端子の数に制約のあるワンチツプ・マイクロ
コンピユータ応用システムに特に適している。
接続端子の数に制約のあるワンチツプ・マイクロ
コンピユータ応用システムに特に適している。
尚、本発明によれば、診断プログラム301を
他のプログラムに代えることによつて、故障診断
以外の用途にも適用できること明らかである。
他のプログラムに代えることによつて、故障診断
以外の用途にも適用できること明らかである。
第1図は本発明を実現するマイクロコンピユー
タのCPUの概略構成図、第2図はモード指定回
路とベクタアドレス発生回路の1実施例を示す回
路図、第3図はモード指定回路の動作説明のため
の信号波形図、第4図A,Bはプログラムの説明
図である。 第2図において7はベクタ・アドレス発生回路
であり、20,21,31〜37はそれぞれアド
レスメモリを示す。また、10,11はレベル検
出回路、12はラツチ回路を示す。
タのCPUの概略構成図、第2図はモード指定回
路とベクタアドレス発生回路の1実施例を示す回
路図、第3図はモード指定回路の動作説明のため
の信号波形図、第4図A,Bはプログラムの説明
図である。 第2図において7はベクタ・アドレス発生回路
であり、20,21,31〜37はそれぞれアド
レスメモリを示す。また、10,11はレベル検
出回路、12はラツチ回路を示す。
Claims (1)
- 1 ソフトウエア割込み要求に応答する割込みア
ドレス発生手段に少なくとも2つの割込みアドレ
スを用意しておき、ソフトウエア割込み発生時の
プログラムジヤンプ先を外部から与えたモード指
定信号で選択するようにし、前記割込みアドレス
発生手段に用意された第1アドレスに対応した位
置に診断プログラムを格納し、第2アドレスに対
応した位置にリターン命令を格納しておき、診断
モードでは第1アドレスが選択され、通常の動作
モードでは第2アドレスが選択されるようにした
ことを特徴とするプログラム制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10498980A JPS5731055A (en) | 1980-08-01 | 1980-08-01 | Program control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10498980A JPS5731055A (en) | 1980-08-01 | 1980-08-01 | Program control system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5731055A JPS5731055A (en) | 1982-02-19 |
JPS6223896B2 true JPS6223896B2 (ja) | 1987-05-26 |
Family
ID=14395497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10498980A Granted JPS5731055A (en) | 1980-08-01 | 1980-08-01 | Program control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5731055A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0772874B2 (ja) * | 1986-06-27 | 1995-08-02 | 日本電気株式会社 | 割込み受取り装置 |
JPH0335326A (ja) * | 1989-06-30 | 1991-02-15 | Mitsubishi Electric Corp | マイクロプロセッサ |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4929944A (ja) * | 1972-07-20 | 1974-03-16 | ||
JPS5595149A (en) * | 1979-01-12 | 1980-07-19 | Toshiba Corp | Microprogram system |
-
1980
- 1980-08-01 JP JP10498980A patent/JPS5731055A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4929944A (ja) * | 1972-07-20 | 1974-03-16 | ||
JPS5595149A (en) * | 1979-01-12 | 1980-07-19 | Toshiba Corp | Microprogram system |
Also Published As
Publication number | Publication date |
---|---|
JPS5731055A (en) | 1982-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4924382A (en) | Debugging microprocessor capable of switching between emulation and monitor without accessing stack area | |
US4274138A (en) | Stored program control system with switching between instruction word systems | |
EP0267613B1 (en) | Micro processor capable of being connected with coprocessor | |
US4095268A (en) | System for stopping and restarting the operation of a data processor | |
US4870573A (en) | Microcomputer capable of testing execution of a program with no branch | |
JPS6223896B2 (ja) | ||
JP3141787B2 (ja) | マイクロコンピュータ | |
US5826059A (en) | Microcomputer for emulation | |
JP2597409B2 (ja) | マイクロコンピュータ | |
JPS646489B2 (ja) | ||
JPS5854418A (ja) | 割込み処理方式 | |
JPS61177551A (ja) | 処理装置の立上げ制御方式 | |
JP3110222B2 (ja) | マイクロコンピュータ | |
JP2731618B2 (ja) | エミュレータ | |
JPH11212945A (ja) | マイクロコンピュータおよびそのメモリ | |
JP3006487B2 (ja) | エミュレーション装置 | |
JPS5839343A (ja) | 複数システムの初動装置 | |
JPS6152747A (ja) | マイクロプロセツサ | |
JP2581753B2 (ja) | 自己診断方法 | |
JPH0226252B2 (ja) | ||
JPS6227423B2 (ja) | ||
JPH07281922A (ja) | 計算機のcpu診断方法 | |
JPS59184952A (ja) | 制御装置等の自己診断方式 | |
JPH05100901A (ja) | マイクロコンピユータ | |
JPS5833737A (ja) | リセツト制御方式 |