JP2004126658A - プロセッサシステム - Google Patents
プロセッサシステム Download PDFInfo
- Publication number
- JP2004126658A JP2004126658A JP2002285740A JP2002285740A JP2004126658A JP 2004126658 A JP2004126658 A JP 2004126658A JP 2002285740 A JP2002285740 A JP 2002285740A JP 2002285740 A JP2002285740 A JP 2002285740A JP 2004126658 A JP2004126658 A JP 2004126658A
- Authority
- JP
- Japan
- Prior art keywords
- program
- address
- storage unit
- processor system
- rom
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
【課題】回路規模を大きくすることなく、プログラム中の複数箇所の誤りを修正できるようにする。
【解決手段】プロセッサシステムは、プログラムROM1と、プログラムRAM3と、ROMアドレスレジスタ4と、プログラムカウンタ5と、強制分岐先PCレジスタ6と、アドレス比較部7と、セレクタ8と、マイコンIF部9とを備えている。ROMアドレスレジスタ4と強制分岐先PCレジスタ6に、データバス10を経由して複数種類のアドレスを繰返し記憶できるようにしたため、プログラムROM1中のマイクロコードに複数の誤りがあっても、回路規模を増大することなく、各誤りに対応する更新マイクロコードを実行できる。このため、プログラムの保守性がよくなる。
【選択図】 図1
【解決手段】プロセッサシステムは、プログラムROM1と、プログラムRAM3と、ROMアドレスレジスタ4と、プログラムカウンタ5と、強制分岐先PCレジスタ6と、アドレス比較部7と、セレクタ8と、マイコンIF部9とを備えている。ROMアドレスレジスタ4と強制分岐先PCレジスタ6に、データバス10を経由して複数種類のアドレスを繰返し記憶できるようにしたため、プログラムROM1中のマイクロコードに複数の誤りがあっても、回路規模を増大することなく、各誤りに対応する更新マイクロコードを実行できる。このため、プログラムの保守性がよくなる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、第1のプログラム記憶部に記憶された第1のプログラムの少なくとも一部を更新したり、デバックすることが可能なプロセッサシステムに関する。
【0002】
【従来の技術】
ワンチップマイクロコンピュータ(以下、ワンチップマイコン)は、内部にマスクROMを備えていることが多い。この種のマスクROMには、製造時に予めマイクロコードが組み込まれているが、マスクROMはデータの書き換えができないため、マイクロコードに誤りがあると、そのマイコン自体を交換しなければならず、保守性が悪く、故障時のコストがかかってしまう。
【0003】
このような問題を解消するため、プログラムROM内のマイクロコードに誤りがあったときに、その誤りのある箇所だけを更新できるようにしたプロセッサシステムが実用化されている。
【0004】
図3はこの種の従来のプロセッサシステムの概略構成を示すブロック図である。図3のプロセッサシステムは、プログラムROM1と、インストラクションデコーダ2と、プログラムRAM3と、ROMアドレスレジスタ4と、プログラムカウンタ5と、強制分岐先PCレジスタ6と、アドレス比較部7と、セレクタ8と、書き込み回路12とを備えている。
【0005】
プログラムRAM3には、誤りを直した正しいマイクロコードが格納される。ROMアドレスレジスタ4は、プログラムROM1に格納されているマイクロコード中の誤りのある箇所(アドレス)を記憶する。強制分岐先PCレジスタ6は、プログラムRAM3中の実行すべきアドレスを記憶する。ROMアドレスレジスタ4と強制分岐先PCレジスタ6には、書き込み回路12が各アドレスを記憶する。
【0006】
アドレス比較部7は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されたアドレスに一致したか否かを判断する。セレクタ8は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されたアドレスに一致すると、プログラムカウンタ5を強制分岐先PCレジスタ6に記憶されているアドレスに置き換える。
【0007】
例えば、プログラムROM1に格納されているマイクロコードの特定箇所に誤りがあったとすると、プログラムカウンタ5がその特定箇所を指し示すときに、プログラムカウンタ5を強制分岐先PCレジスタ6のアドレスに置換する。これにより、プログラムRAM3に格納されている正しいマイクロコードが実行されるようになる。
【0008】
【発明が解決しようとする課題】
しかしながら、マイクロコード中に複数の誤りがある場合は、誤りのある箇所ごとに、ROMアドレスレジスタ4と強制分岐先PCレジスタ6を設けなければならず、回路規模が大きくなる。
【0009】
また、図3のプロセッサシステムは、誤ったマイクロコードを正しいマイクロコードに置き換えるだけであり、プログラムROM1中のマイクロコードをデバックする機能は備えていない。このため、マイクロコードのデバックを行うには、デバック専用回路を追加しなければならず、その分回路規模が大きくなってしまう。
【0010】
本発明は、このような点に鑑みてなされたものであり、その目的は、回路規模を大きくすることなく、プログラム中の複数箇所の誤りを修正できるようにしたプロセッサシステムを提供することにある。
【0011】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、第1のプログラムを格納する第1のプログラム記憶部と、第2のプログラムを格納する第2のプログラム記憶部と、前記第1及び第2のプログラムの実行アドレスを出力するプログラムカウンタと、前記第1のプログラム中の第1のアドレスを記憶する第1のアドレス記憶部と、前記第2のプログラム中の第2のアドレスを記憶する第2のアドレス記憶部と、前記プログラムカウンタが前記第1のアドレスに一致したか否かを判断する比較部と、前記比較部により一致したと判断されると、前記プログラムカウンタを前記第2のアドレスに変更するアドレス変更部と、前記第1のアドレス記憶部に記憶される前記第1のアドレスと前記第2のアドレス記憶部に記憶される前記第2のアドレスとを更新するためのデータバスと、を備える。
【0012】
本発明では、第1及び第2のアドレス記憶部に、第1及び第2のアドレスを繰返し記憶できるようにしたため、第1のプログラムに複数の誤りがあっても、回路規模を大きくすることなく、更新プログラムを実行でき、プログラムの保守性が向上する。
【0013】
【発明の実施の形態】
以下、本発明に係るプロセッサシステムについて、図面を参照しながら具体的に説明する。
【0014】
図1は本発明に係るプロセッサシステムの一実施形態のブロック図である。図1のプロセッサシステムは、マイクロコード本体を格納するプログラムROM1と、マイクロコードに含まれる各命令をデコードするインストラクションデコーダ2と、マイクロコード中の誤り箇所を修正するための更新されたマイクロコードを格納するプログラムRAM3と、プログラムROM1に格納されたマイクロコード中の誤り箇所を示すアドレスを記憶するROMアドレスレジスタ4と、マイクロコードの実行アドレスを出力するプログラムカウンタ5と、マイクロコード中に誤りがあるときの分岐先アドレスを記憶する強制分岐先PCレジスタ6と、ROMアドレスレジスタ4に記憶されているアドレスとプログラムカウンタ5とが一致するか否かを検出するアドレス比較部7と、両アドレスが一致したときにプログラムカウンタ5を分岐先アドレスに変更するセレクタ8と、外部との間でデータの送受を行うマイコンIF部9(外部IF部)とを備えている。
【0015】
図1のプロセッサシステムは、インストラクションデコーダ2、ROMアドレスレジスタ4、強制分岐先PCレジスタ6及びマイコンIF部9が共通のデータバス10に接続されている点で、図3のプロセッサシステムと異なっている。
【0016】
以下、マイクロコードの更新処理の処理手順について説明する。なお、以下の説明では、プログラムROM1中のマイクロコードに複数の誤りがあるものとする。
【0017】
(1)まず、マイクロコード中の時間的に最初の誤り箇所を示すROMアドレスを、外部からマイコンIF部9とデータバス10を経由してROMアドレスレジスタ4に記憶する。同様に、更新されたマイクロコードを記憶するプログラムRAM3のアドレスを、外部からマイコンIF部9とデータバス10を経由して強制分岐先PCレジスタ6に記憶する。
【0018】
(2)その後、プログラムカウンタ5は、カウントアップ動作を開始し、プログラムカウンタ5をアドレスとしてプログラムROM1から命令を読み出して、インストラクションデコーダ2でデコードし、命令を実行する。
【0019】
(3)それに並行して、アドレス比較部7は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されているROMアドレスと一致するか否かを検出し、一致しなければ、上記(2)及び(3)の処理を繰り返す。
【0020】
(4)上記の(3)で一致が検出されると、セレクタ8は、プログラムカウンタ5を強制分岐先PCレジスタ6に記憶されている強制分岐先アドレスに変更する。
【0021】
(5)強制分岐先アドレスは、プログラムRAM3中の更新されたマイクロコードを指し示しているため、以後は、プログラムROM1中の誤ったマイクロコードの代わりに、プログラムRAM3中の更新されたマイクロコードが実行される。
【0022】
(6)また、ROMアドレスレジスタ4には、プログラムROM1中のマイクロコードの次の誤り箇所を示すアドレスが記憶される。同様に、強制分岐先PCレジスタ6には、プログラムRAM3中の更新されたマイクロコードのアドレスが記憶される。
【0023】
(7)以後、上記の(2)〜(6)の処理が繰り返される。
【0024】
上記の(1)や(6)でROMアドレスレジスタ4や強制分岐先PCレジスタ6にアドレスを記憶する方法として、上述したように外部から供給されたアドレスをマイコンIFとデータバス10を経由して各レジスタに記憶する方法と、プログラムRAM3中のプログラムに従って各レジスタに記憶する方法がある。
【0025】
後者の場合、例えば、プログラムRAM3中のプログラム中に、ROMアドレスレジスタ4や強制分岐先PCレジスタ6のアドレスを記憶する命令を記述しておく。
【0026】
図2はこの種の命令列の一例を示す図である。図2の例では、まず、プログラムカウンタ5が000のときに、ROMアドレスレジスタ4に100番地のアドレスを記憶する。プログラムカウンタ5が001になると、強制分岐先PCレジスタ6に10番地のアドレスを記憶する。プログラムカウンタ5が002になると、強制分岐を許可する。プログラムカウンタ5が003になると、80番地に分岐して、更新されたプログラムを実行する。
【0027】
その後、プログラムカウンタ5が010になると、次の誤り箇所をROMレジスタに記憶し、011で強制分岐先PCレジスタ6を記憶する。以降、プログラムカウンタ5が030になった場合も、同様の処理が行われる。
【0028】
このように、本実施形態では、ROMアドレスレジスタ4と強制分岐先PCレジスタ6に、データバス10を経由して複数種類のアドレスを繰返し記憶できるようにしたため、プログラムROM1中のマイクロコードに複数の誤りがあっても、回路規模を増大することなく、各誤りに対応する更新マイクロコードを実行できる。このため、プログラムの保守性がよくなる。
【0029】
図1のプロセッサシステムは、プログラムROM1のデバックにも利用できる。この場合、図1の点線で示すように、マイコンIFに接続されたホストコンピュータからの指示によりデバックを行う。デバックには、プログラムROM1内の指定されたアドレス位置だけブレークさせてデバックする手法と、プログラムROM1内のプログラムを1ステップずつ実行する手法の2種類がある。
【0030】
前者の場合、以下の手順でデバックを行う。
【0031】
(1)まず、ホストコンピュータからマイコンIFを介してプログラムRAM3に、デバックプログラムを格納する。
【0032】
(2)次に、ホストコンピュータからマイコンIFを介してROMアドレスレジスタ4に、プログラムROM1内のデバックを行う先頭アドレスを記憶する。同様に、強制分岐先PCレジスタ6に、デバック時の分岐先アドレス(この場合、プログラムRAM3内のデバックプログラムの先頭アドレス)を記憶する。
【0033】
(3)次に、プログラムROM1を開始する。
【0034】
(4)プログラムカウンタ5がROMアドレスレジスタ4の値に一致すると、強制分岐先PCレジスタ6の値に基づいて、プログラムRAM3内のデバックプログラムが実行される。
【0035】
(5)このデバックプログラムでは、例えば、任意のメモリ及びレジスタの値をマイコンIFを介してホストコンピュータに伝送するという処理を実行する。
【0036】
(6)これにより、プログラムROM1内の任意のアドレス範囲についてデバックを行うことができる。また、デバックプログラムの中で、ROMアドレスレジスタ4と強制分岐先PCレジスタ6に新たな値を記憶することもでき、プログラムROM1内の複数箇所について連続的にデバックを行うことも可能である。
【0037】
(7)デバックプログラムの中で間接アドレッシングまたはスタックを利用したリターンを行って、元のプログラムROM1の処理に戻る。
【0038】
(8)以降、(3)〜(7)の処理を繰り返す。
【0039】
プログラムROM1内のプログラムを1ステップずつ実行する場合は、(1)〜(6)の手順は同じである。
【0040】
(7)次に、デバックプログラムの中でROMアドレスレジスタ4を+1する。
【0041】
(8)次に、(3)〜(7)の処理を繰り返す。
【0042】
このように、本実施形態によれば、デバック用の専用のハードウェアを設けなくても、プログラムROM1内のプログラムのデバックも行うことができる。このため、プログラムの開発が容易になる。
【0043】
【発明の効果】
以上詳細に説明したように、本発明によれば、第1及び第2のアドレス記憶部に記憶されている第1及び第2のアドレスを、データバスを介して更新できるため、第1のプログラムに複数箇所の誤りがあっても、回路規模を大きくすることなく、各誤りに対応した複数の更新プログラムを実行できる。したがって、プログラムの保守性がよくなる。
【図面の簡単な説明】
【図1】本発明に係るプロセッサシステムの一実施形態のブロック図。
【図2】プログラムRAMに格納されるプログラムの一例を示す図。
【図3】従来のプロセッサシステムの概略構成を示すブロック図。
【符号の説明】
1 プログラムROM
2 インストラクションデコーダ
3 プログラムRAM
4 ROMアドレスレジスタ
5 プログラムカウンタ
6 強制分岐先PCレジスタ
7 アドレス比較部
8 セレクタ
9 マイコンIF部
10 データバス
11 ホストコンピュータ
【発明の属する技術分野】
本発明は、第1のプログラム記憶部に記憶された第1のプログラムの少なくとも一部を更新したり、デバックすることが可能なプロセッサシステムに関する。
【0002】
【従来の技術】
ワンチップマイクロコンピュータ(以下、ワンチップマイコン)は、内部にマスクROMを備えていることが多い。この種のマスクROMには、製造時に予めマイクロコードが組み込まれているが、マスクROMはデータの書き換えができないため、マイクロコードに誤りがあると、そのマイコン自体を交換しなければならず、保守性が悪く、故障時のコストがかかってしまう。
【0003】
このような問題を解消するため、プログラムROM内のマイクロコードに誤りがあったときに、その誤りのある箇所だけを更新できるようにしたプロセッサシステムが実用化されている。
【0004】
図3はこの種の従来のプロセッサシステムの概略構成を示すブロック図である。図3のプロセッサシステムは、プログラムROM1と、インストラクションデコーダ2と、プログラムRAM3と、ROMアドレスレジスタ4と、プログラムカウンタ5と、強制分岐先PCレジスタ6と、アドレス比較部7と、セレクタ8と、書き込み回路12とを備えている。
【0005】
プログラムRAM3には、誤りを直した正しいマイクロコードが格納される。ROMアドレスレジスタ4は、プログラムROM1に格納されているマイクロコード中の誤りのある箇所(アドレス)を記憶する。強制分岐先PCレジスタ6は、プログラムRAM3中の実行すべきアドレスを記憶する。ROMアドレスレジスタ4と強制分岐先PCレジスタ6には、書き込み回路12が各アドレスを記憶する。
【0006】
アドレス比較部7は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されたアドレスに一致したか否かを判断する。セレクタ8は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されたアドレスに一致すると、プログラムカウンタ5を強制分岐先PCレジスタ6に記憶されているアドレスに置き換える。
【0007】
例えば、プログラムROM1に格納されているマイクロコードの特定箇所に誤りがあったとすると、プログラムカウンタ5がその特定箇所を指し示すときに、プログラムカウンタ5を強制分岐先PCレジスタ6のアドレスに置換する。これにより、プログラムRAM3に格納されている正しいマイクロコードが実行されるようになる。
【0008】
【発明が解決しようとする課題】
しかしながら、マイクロコード中に複数の誤りがある場合は、誤りのある箇所ごとに、ROMアドレスレジスタ4と強制分岐先PCレジスタ6を設けなければならず、回路規模が大きくなる。
【0009】
また、図3のプロセッサシステムは、誤ったマイクロコードを正しいマイクロコードに置き換えるだけであり、プログラムROM1中のマイクロコードをデバックする機能は備えていない。このため、マイクロコードのデバックを行うには、デバック専用回路を追加しなければならず、その分回路規模が大きくなってしまう。
【0010】
本発明は、このような点に鑑みてなされたものであり、その目的は、回路規模を大きくすることなく、プログラム中の複数箇所の誤りを修正できるようにしたプロセッサシステムを提供することにある。
【0011】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、第1のプログラムを格納する第1のプログラム記憶部と、第2のプログラムを格納する第2のプログラム記憶部と、前記第1及び第2のプログラムの実行アドレスを出力するプログラムカウンタと、前記第1のプログラム中の第1のアドレスを記憶する第1のアドレス記憶部と、前記第2のプログラム中の第2のアドレスを記憶する第2のアドレス記憶部と、前記プログラムカウンタが前記第1のアドレスに一致したか否かを判断する比較部と、前記比較部により一致したと判断されると、前記プログラムカウンタを前記第2のアドレスに変更するアドレス変更部と、前記第1のアドレス記憶部に記憶される前記第1のアドレスと前記第2のアドレス記憶部に記憶される前記第2のアドレスとを更新するためのデータバスと、を備える。
【0012】
本発明では、第1及び第2のアドレス記憶部に、第1及び第2のアドレスを繰返し記憶できるようにしたため、第1のプログラムに複数の誤りがあっても、回路規模を大きくすることなく、更新プログラムを実行でき、プログラムの保守性が向上する。
【0013】
【発明の実施の形態】
以下、本発明に係るプロセッサシステムについて、図面を参照しながら具体的に説明する。
【0014】
図1は本発明に係るプロセッサシステムの一実施形態のブロック図である。図1のプロセッサシステムは、マイクロコード本体を格納するプログラムROM1と、マイクロコードに含まれる各命令をデコードするインストラクションデコーダ2と、マイクロコード中の誤り箇所を修正するための更新されたマイクロコードを格納するプログラムRAM3と、プログラムROM1に格納されたマイクロコード中の誤り箇所を示すアドレスを記憶するROMアドレスレジスタ4と、マイクロコードの実行アドレスを出力するプログラムカウンタ5と、マイクロコード中に誤りがあるときの分岐先アドレスを記憶する強制分岐先PCレジスタ6と、ROMアドレスレジスタ4に記憶されているアドレスとプログラムカウンタ5とが一致するか否かを検出するアドレス比較部7と、両アドレスが一致したときにプログラムカウンタ5を分岐先アドレスに変更するセレクタ8と、外部との間でデータの送受を行うマイコンIF部9(外部IF部)とを備えている。
【0015】
図1のプロセッサシステムは、インストラクションデコーダ2、ROMアドレスレジスタ4、強制分岐先PCレジスタ6及びマイコンIF部9が共通のデータバス10に接続されている点で、図3のプロセッサシステムと異なっている。
【0016】
以下、マイクロコードの更新処理の処理手順について説明する。なお、以下の説明では、プログラムROM1中のマイクロコードに複数の誤りがあるものとする。
【0017】
(1)まず、マイクロコード中の時間的に最初の誤り箇所を示すROMアドレスを、外部からマイコンIF部9とデータバス10を経由してROMアドレスレジスタ4に記憶する。同様に、更新されたマイクロコードを記憶するプログラムRAM3のアドレスを、外部からマイコンIF部9とデータバス10を経由して強制分岐先PCレジスタ6に記憶する。
【0018】
(2)その後、プログラムカウンタ5は、カウントアップ動作を開始し、プログラムカウンタ5をアドレスとしてプログラムROM1から命令を読み出して、インストラクションデコーダ2でデコードし、命令を実行する。
【0019】
(3)それに並行して、アドレス比較部7は、プログラムカウンタ5がROMアドレスレジスタ4に記憶されているROMアドレスと一致するか否かを検出し、一致しなければ、上記(2)及び(3)の処理を繰り返す。
【0020】
(4)上記の(3)で一致が検出されると、セレクタ8は、プログラムカウンタ5を強制分岐先PCレジスタ6に記憶されている強制分岐先アドレスに変更する。
【0021】
(5)強制分岐先アドレスは、プログラムRAM3中の更新されたマイクロコードを指し示しているため、以後は、プログラムROM1中の誤ったマイクロコードの代わりに、プログラムRAM3中の更新されたマイクロコードが実行される。
【0022】
(6)また、ROMアドレスレジスタ4には、プログラムROM1中のマイクロコードの次の誤り箇所を示すアドレスが記憶される。同様に、強制分岐先PCレジスタ6には、プログラムRAM3中の更新されたマイクロコードのアドレスが記憶される。
【0023】
(7)以後、上記の(2)〜(6)の処理が繰り返される。
【0024】
上記の(1)や(6)でROMアドレスレジスタ4や強制分岐先PCレジスタ6にアドレスを記憶する方法として、上述したように外部から供給されたアドレスをマイコンIFとデータバス10を経由して各レジスタに記憶する方法と、プログラムRAM3中のプログラムに従って各レジスタに記憶する方法がある。
【0025】
後者の場合、例えば、プログラムRAM3中のプログラム中に、ROMアドレスレジスタ4や強制分岐先PCレジスタ6のアドレスを記憶する命令を記述しておく。
【0026】
図2はこの種の命令列の一例を示す図である。図2の例では、まず、プログラムカウンタ5が000のときに、ROMアドレスレジスタ4に100番地のアドレスを記憶する。プログラムカウンタ5が001になると、強制分岐先PCレジスタ6に10番地のアドレスを記憶する。プログラムカウンタ5が002になると、強制分岐を許可する。プログラムカウンタ5が003になると、80番地に分岐して、更新されたプログラムを実行する。
【0027】
その後、プログラムカウンタ5が010になると、次の誤り箇所をROMレジスタに記憶し、011で強制分岐先PCレジスタ6を記憶する。以降、プログラムカウンタ5が030になった場合も、同様の処理が行われる。
【0028】
このように、本実施形態では、ROMアドレスレジスタ4と強制分岐先PCレジスタ6に、データバス10を経由して複数種類のアドレスを繰返し記憶できるようにしたため、プログラムROM1中のマイクロコードに複数の誤りがあっても、回路規模を増大することなく、各誤りに対応する更新マイクロコードを実行できる。このため、プログラムの保守性がよくなる。
【0029】
図1のプロセッサシステムは、プログラムROM1のデバックにも利用できる。この場合、図1の点線で示すように、マイコンIFに接続されたホストコンピュータからの指示によりデバックを行う。デバックには、プログラムROM1内の指定されたアドレス位置だけブレークさせてデバックする手法と、プログラムROM1内のプログラムを1ステップずつ実行する手法の2種類がある。
【0030】
前者の場合、以下の手順でデバックを行う。
【0031】
(1)まず、ホストコンピュータからマイコンIFを介してプログラムRAM3に、デバックプログラムを格納する。
【0032】
(2)次に、ホストコンピュータからマイコンIFを介してROMアドレスレジスタ4に、プログラムROM1内のデバックを行う先頭アドレスを記憶する。同様に、強制分岐先PCレジスタ6に、デバック時の分岐先アドレス(この場合、プログラムRAM3内のデバックプログラムの先頭アドレス)を記憶する。
【0033】
(3)次に、プログラムROM1を開始する。
【0034】
(4)プログラムカウンタ5がROMアドレスレジスタ4の値に一致すると、強制分岐先PCレジスタ6の値に基づいて、プログラムRAM3内のデバックプログラムが実行される。
【0035】
(5)このデバックプログラムでは、例えば、任意のメモリ及びレジスタの値をマイコンIFを介してホストコンピュータに伝送するという処理を実行する。
【0036】
(6)これにより、プログラムROM1内の任意のアドレス範囲についてデバックを行うことができる。また、デバックプログラムの中で、ROMアドレスレジスタ4と強制分岐先PCレジスタ6に新たな値を記憶することもでき、プログラムROM1内の複数箇所について連続的にデバックを行うことも可能である。
【0037】
(7)デバックプログラムの中で間接アドレッシングまたはスタックを利用したリターンを行って、元のプログラムROM1の処理に戻る。
【0038】
(8)以降、(3)〜(7)の処理を繰り返す。
【0039】
プログラムROM1内のプログラムを1ステップずつ実行する場合は、(1)〜(6)の手順は同じである。
【0040】
(7)次に、デバックプログラムの中でROMアドレスレジスタ4を+1する。
【0041】
(8)次に、(3)〜(7)の処理を繰り返す。
【0042】
このように、本実施形態によれば、デバック用の専用のハードウェアを設けなくても、プログラムROM1内のプログラムのデバックも行うことができる。このため、プログラムの開発が容易になる。
【0043】
【発明の効果】
以上詳細に説明したように、本発明によれば、第1及び第2のアドレス記憶部に記憶されている第1及び第2のアドレスを、データバスを介して更新できるため、第1のプログラムに複数箇所の誤りがあっても、回路規模を大きくすることなく、各誤りに対応した複数の更新プログラムを実行できる。したがって、プログラムの保守性がよくなる。
【図面の簡単な説明】
【図1】本発明に係るプロセッサシステムの一実施形態のブロック図。
【図2】プログラムRAMに格納されるプログラムの一例を示す図。
【図3】従来のプロセッサシステムの概略構成を示すブロック図。
【符号の説明】
1 プログラムROM
2 インストラクションデコーダ
3 プログラムRAM
4 ROMアドレスレジスタ
5 プログラムカウンタ
6 強制分岐先PCレジスタ
7 アドレス比較部
8 セレクタ
9 マイコンIF部
10 データバス
11 ホストコンピュータ
Claims (7)
- 第1のプログラムを格納する第1のプログラム記憶部と、
第2のプログラムを格納する第2のプログラム記憶部と、
前記第1及び第2のプログラムの実行アドレスを出力するプログラムカウンタと、
前記第1のプログラム中の第1のアドレスを記憶する第1のアドレス記憶部と、
前記第2のプログラム中の第2のアドレスを記憶する第2のアドレス記憶部と、
前記プログラムカウンタが前記第1のアドレスに一致したか否かを判断する比較部と、
前記比較部により一致したと判断されると、前記プログラムカウンタを前記第2のアドレスに変更するアドレス変更部と、
前記第1のアドレス記憶部に記憶される前記第1のアドレスと前記第2のアドレス記憶部に記憶される前記第2のアドレスとを更新するためのデータバスと、を備えることを特徴とするプロセッサシステム。 - 前記第1及び第2のプログラム記憶部から読み出された命令をデコードした結果を前記データバスに供給する命令デコーダを備え、
前記第1のアドレス記憶部に記憶される前記第1のアドレスと前記第2のアドレス記憶部に記憶される前記第2のアドレスとは、前記命令デコーダの出力に基づいて更新されることを特徴とする請求項1に記載のプロセッサシステム。 - 前記第1のプログラムは、複数種類の前記第1のアドレスをそれぞれ前記第1のアドレス記憶部に記憶するための複数の命令と、複数種類の前記第2のアドレスをそれぞれ前記第2のアドレス記憶部に記憶するための複数の命令とを含み、
前記第1のアドレス記憶部は、前記第1のプログラムに従って、それぞれ異なるタイミングで複数種類の前記第1のアドレスを順次記憶し、
前記第2のアドレス記憶部は、前記第1のプログラムに従って、それぞれ異なるタイミングで複数種類の前記第2のアドレスを順次記憶することを特徴とする請求項2に記載のプロセッサシステム。 - 外部から供給された前記第1及び第2のアドレスを、前記データバスを介して前記第1及び第2のプログラム記憶部に記憶する制御を行うインタフェース部を備えることを特徴とする請求項1または2に記載のプロセッサシステム。
- 前記第1のプログラム記憶部は、ROMであり、
前記第2のプログラム記憶部は、書き換え可能なメモリであり、
前記第2のプログラムは、前記第1のプログラムの少なくとも一部を更新するためのプログラムであることを特徴とする請求項1及至4のいずれかに記載のプロセッサシステム。 - 前記第2のプログラムは、前記第1のプログラム中の任意箇所のデバックを行うためのデバックプログラムであり、
前記第1のアドレスは、前記第1のプログラム中のデバックを行う箇所の先頭アドレスであり、
前記第2のアドレスは、前記デバックプログラムの先頭アドレスであることを特徴とする請求項1,2,3及び5のいずれかに記載のプロセッサシステム。 - 外部から前記データバスを介して供給された前記第2のプログラム、前記第1のアドレス及び前記第2のアドレスを、それぞれ前記第2のプログラム記憶部、前記第1のアドレス記憶部及び前記第2のアドレス記憶部に記憶する制御を行うとともに、前記デバックプログラムの実行結果を外部に供給する制御を行うインタフェース部を備えることを特徴とする請求項6に記載のプロセッサシステム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002285740A JP2004126658A (ja) | 2002-09-30 | 2002-09-30 | プロセッサシステム |
EP03021630A EP1403768A3 (en) | 2002-09-30 | 2003-09-25 | Processor system, processor and arithmetic processing method |
US10/670,233 US7203867B2 (en) | 2002-09-30 | 2003-09-26 | Processor system, processor and arithmetic processing method |
CNB03127238XA CN1270249C (zh) | 2002-09-30 | 2003-09-30 | 处理器系统、处理器以及运算处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002285740A JP2004126658A (ja) | 2002-09-30 | 2002-09-30 | プロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004126658A true JP2004126658A (ja) | 2004-04-22 |
JP2004126658A5 JP2004126658A5 (ja) | 2005-01-06 |
Family
ID=31973404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002285740A Abandoned JP2004126658A (ja) | 2002-09-30 | 2002-09-30 | プロセッサシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7203867B2 (ja) |
EP (1) | EP1403768A3 (ja) |
JP (1) | JP2004126658A (ja) |
CN (1) | CN1270249C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008015792A (ja) * | 2006-07-06 | 2008-01-24 | Fujitsu Ltd | Romパッチ処理方法およびromパッチ装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418023B2 (en) | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
CN101923495B (zh) * | 2009-06-10 | 2012-11-14 | Tcl集团股份有限公司 | 一种嵌入式容错系统及其容错方法 |
NO332162B1 (no) * | 2009-12-21 | 2012-07-09 | Cisco Systems Int Sarl | Anordning og fremgangsmate for a filtrere mediapakker |
JP6796203B2 (ja) * | 2017-06-23 | 2020-12-02 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357627A (en) * | 1989-03-28 | 1994-10-18 | Olympus Optical Co., Ltd. | Microcomputer having a program correction function |
TW231343B (ja) * | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
JPH05298462A (ja) | 1992-04-23 | 1993-11-12 | Sony Corp | 電子装置 |
JPH0744419A (ja) * | 1993-08-03 | 1995-02-14 | Nec Ic Microcomput Syst Ltd | マイコン開発支援装置 |
JPH0895946A (ja) | 1994-09-22 | 1996-04-12 | Nec Corp | マイクロコンピュータ |
JPH08166877A (ja) * | 1994-12-13 | 1996-06-25 | Olympus Optical Co Ltd | 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ |
US6023758A (en) * | 1995-05-25 | 2000-02-08 | Matsushita Electric Industrial Co., Ltd. | Method and processor for changing program by replacing instruction stored in ROM with predetermined value to be interpreted as an instruction |
JPH09319727A (ja) * | 1996-05-31 | 1997-12-12 | Hitachi Ltd | データプロセッサ及びデータ処理システム |
TW400469B (en) * | 1997-07-08 | 2000-08-01 | Winbond Electronics Corp | Device capable of fixing programs in embedded microprocessor |
CN1088868C (zh) | 1997-08-08 | 2002-08-07 | 华邦电子股份有限公司 | 可修补嵌入式微处理器系统中的程序的装置 |
US6973522B1 (en) * | 1999-08-10 | 2005-12-06 | Pentax Corporation | Microcomputer with program-revision ability |
-
2002
- 2002-09-30 JP JP2002285740A patent/JP2004126658A/ja not_active Abandoned
-
2003
- 2003-09-25 EP EP03021630A patent/EP1403768A3/en not_active Withdrawn
- 2003-09-26 US US10/670,233 patent/US7203867B2/en not_active Expired - Lifetime
- 2003-09-30 CN CNB03127238XA patent/CN1270249C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008015792A (ja) * | 2006-07-06 | 2008-01-24 | Fujitsu Ltd | Romパッチ処理方法およびromパッチ装置 |
Also Published As
Publication number | Publication date |
---|---|
CN1497460A (zh) | 2004-05-19 |
EP1403768A3 (en) | 2007-05-02 |
US20040153829A1 (en) | 2004-08-05 |
US7203867B2 (en) | 2007-04-10 |
CN1270249C (zh) | 2006-08-16 |
EP1403768A2 (en) | 2004-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS58151648A (ja) | プログラムパツチ手段を有するデ−タ処理装置 | |
KR100276785B1 (ko) | 전자 장치 | |
JPH06318261A (ja) | 電子装置 | |
JP3563768B2 (ja) | Romプログラム変更装置 | |
JP2875842B2 (ja) | プログラマブルコントローラ | |
JP2004046453A (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
CN110442074B (zh) | 可编程逻辑控制器程序的处理装置 | |
US6925522B2 (en) | Device and method capable of changing codes of micro-controller | |
JP2004126658A (ja) | プロセッサシステム | |
JP2007304972A (ja) | マイクロプロセッサシステム | |
JP2004038541A (ja) | メモリチェックシステムおよびメモリチェック方法、信号処理装置および信号処理装置のメモリチェック方法、ならびに、メモリチェックプログラム | |
JP2001256044A (ja) | データ処理装置 | |
JP2008140124A (ja) | データ処理装置 | |
EP1177499A1 (en) | Processor and method of executing instructions from several instruction sources | |
JP2004240717A (ja) | ソフトウェア更新装置 | |
JP2000347862A (ja) | 命令入換え回路 | |
JP2003177934A (ja) | ディジタル信号処理装置 | |
JP2010157026A (ja) | プログラムエリア切替方法 | |
JP3105822B2 (ja) | マイクロプログラム制御装置 | |
KR20020029921A (ko) | 정적 기억 장치 내의 마이크로 명령어를 수정하는 방법 및장치 | |
JP2018180608A (ja) | プログラム実行装置およびプログラム実行方法 | |
JPH06187140A (ja) | 処理装置 | |
JPH1040094A (ja) | ファームウエアのプログラム制御装置 | |
US7003543B2 (en) | Sticky z bit | |
JPS5816349A (ja) | メモリ拡張代替方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060414 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20060613 |