JP3635996B2 - 情報処理システム - Google Patents
情報処理システム Download PDFInfo
- Publication number
- JP3635996B2 JP3635996B2 JP24303399A JP24303399A JP3635996B2 JP 3635996 B2 JP3635996 B2 JP 3635996B2 JP 24303399 A JP24303399 A JP 24303399A JP 24303399 A JP24303399 A JP 24303399A JP 3635996 B2 JP3635996 B2 JP 3635996B2
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- signal
- cpu
- slave
- bus
- 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 - Lifetime
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理装置におけるスレーブCPUのファームウェア格納用不揮発性メモリの書き換えに関するものである。
【0002】
【従来の技術】
従来のファームウェア格納用不揮発性メモリの書き換え可能な情報処理装置として、例えば、実開平2−6340号公報に開示された情報処理装置がある。
図10は、実開平2−6340号公報に開示された情報処理装置のブロック構成図である。
図において、内部CPU41からファームウェアを読み出すためのアドレスバス信号42及びデータバス信号43及びメモリ制御信号44が各々バッファ回路45、46、47に接続され、その出力であるメモリ用アドレス信号410、メモリ用データ信号411、メモリ用制御信号412はファームウェアを格納した電気的書換可能ROM48、49へ供給される。
【0003】
また、バッファ回路45、46、47へはバッファ回路制御信号413が送られる。
外部接続機構414はメモリ用アドレス信号410、メモリ用データ信号411、メモリ用制御信号412及びバッファ回路制御信号413を外部接続するためのものである。
【0004】
次に、図10に示される情報処理装置における動作を説明する。
通常の動作状態では、バッファ回路45、46、47を制御するバッファ回路制御信号413が入力されないため、内部CPU41からのアドレスバス信号42、データバス信号43、メモリ制御信号44が、バッファ回路45、46、47を介してファームウェアを格納した電気的書換可能ROM48、49に印加され、その内容を読み出す。
【0005】
次に、電気的書換可能ROMに格納したファームウェアを書き換える必要がある場合、外部接続機構414に、ROMプログラマ等、電気的書込可能ROM48、49へのROM書込み装置を接続する。
この時、バッファ回路45、46、47にバッファ回路制御信号413が印加され、バッファ回路45、46、47の出力はフローティング状態となる。
この動作により、電気的書換可能ROM48、49へ供給されたメモリ用アドレス信号410、メモリ用データ信号411、およびメモリ用制御信号412は外部から制御可能となり、ROM書込み装置よりROMが書き換えられる。
【0006】
さらに、従来のファームウェア格納用不揮発性メモリの書き換え可能な情報処理装置として、例えば、特開平9−128230号公報に開示される情報処理装置がある。
図11は、特開平9−128230号公報に開示される情報処理装置のブロック構成図である。
図において、51は端末装置、52は外部装置、53はEEPROM(電気的に書換え可能で、かつ、電源を切っても記憶内容が失われないメモリ)、54はマイクロプロセッサユニット(MPU)、54Aは内部メモリ、55は切換スイッチ、56はインタフェース(送受信部)、57はデータバスである。
【0007】
次に動作を説明する。
EEPROM53に格納されている制御プログラムを新たな制御プログラムに書き換える際、最初に切換スイッチ55をオンからオフに切り換えると、MPU54は内部メモリ54Aに記憶されている書換えプログラムを読み出すとともに、インターフェイス56から外部装置52に対して伝送プログラム実行要求を送出する。
そして、この伝送プログラム実行要求に対して、外部装置52側から新たな制御プログラムが送信伝送されると、新たな制御プログラムをインタフェース56において受信する。
【0008】
次に、MPU54は、インターフェイス56で受信した新たな制御プログラムをデータバス57を介して取り入れ、内部メモリ54Aに格納されている書換えプログラムにより、EEPROM53内の制御プログラムを書きかえる。
【0009】
【発明が解決しようとする課題】
しかしながら、従来の実開平2−6340号公報に開示される情報処理装置では、ROMプログラマ等のROM書込み装置を接続するための専用外部接続機構が必要であると共に、該専用外部接続機構に接続する専用のROM書込み装置が必要であった。
また、複数の情報処理装置のROMに対する書込みを1台のROM書込み装置で行う場合、ROM書込み装置をそれぞれのターゲット装置に対し何回も接続しなおさなければならないという煩わしさがあった。
【0010】
また、従来の特開平9−128230号公報に開示される情報処理装置では、メモリ内にあらかじめ書換えプログラムを格納しておく必要があり、該書換えプログラム用のメモリ領域が必要となるため、容量の大きなメモリを情報処理装置内部に設けなければならなかった。また、そのため、コストが高くなってしまうといった問題点があった。
【0011】
本発明では、上記に鑑みてなされたものであって、専用のROM書込み装置や該ROM書込み装置を接続するための専用外部接続機構を必要とせずに、ネットワークを介して複数のスレーブCPU内のファームウェア書換えを可能とする情報処理システム及びファームウェア書換え方法を得ることを目的としている。
また、書換えのためのプログラムをスレーブCPU内に必要とせず、スレーブCPUのメモリ容量に制限を与えないものである。
【0012】
【発明を解決するための手段】
本発明に係るマスターCPU及び複数のスレーブCPUがシステムバスにて接続された情報処理システムにおいては、マスターCPUから複数のスレーブCPUに対し、ファームウェアの書き込み可否を決定するための全スレーブCPUに共通する書き込みモード信号が接続され、マスターCPUは、その内部にファームウェア書換えプログラムを格納し、各スレーブCPUは、MPU、MPU用プログラムが格納され電気的に消去・書込み可能なファームウェア格納用不揮発性メモリ、MPUに対しマスターCPUからのバス権取得要求を発行するレジスタ、バス権取得要求に応じてMPUが発行したバス開放アクノリッジ信号のステータスをマスターCPUがリードするための入力ポート、上記システムバス中のアドレス・制御信号とローカルバス中のアドレス・制御信号を接続するバッファ、上記システムバス中のデータバスとローカルバス中のデータバスを接続する双方向バッファを備え、マスターCPUは、書き込みモード信号をアクティブにした後に、書込み対象であるスレーブCPU内のバス権取得要求を発行するレジスタにアクセスし、システムバス及び開放されたローカルバスを介して書込み対象であるスレーブCPUのファームウェア格納用不揮発性メモリに対してアクセスして、当該書込み対象であるスレーブCPUのファームウェアを書換えるものである。
【0013】
また、マスターCPUがCPUユニットであり、かつスレーブCPUがインテリジェントユニットであるものである。
【0018】
【発明の実施の形態】
以下に、本発明に係る情報処理装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0019】
実施の形態1.
図1は、本発明に係る実施の形態1における情報処理装置のシステム構成を示したシステム構成図である。
図において、1はマスターCPU、2はマスターCPU1とスレーブCPUを接続するシステムバス、3はスレーブCPUであり、複数台(n台:nは2以上の自然数)のスレーブCPUがマスターCPU1に接続されている。
なお、一例として、マスターCPU1とスレーブCPU3との関係は、ベースユニットに接続されたプログラマブルコントローラにおけるCPUユニットとネットワークユニット等のインテリジェントユニットの関係でもよければ、ネットワークを介して接続される複数台のプログラマブルコントローラ同士の関係でもよい。
【0020】
図2は、スレーブCPU3の内部構成を示した内部構成図である。
図において、21はシステムバス2とスレーブCPU3を接続するためのシステムバス接続コネクタであり、スレーブCPU3内部でアドレス信号S_ADR[m:0](mは自然数)2100、データ信号S_DATA[n:0](nは自然数)2104、ファームウェア書き込みモード信号INSTALL2101、ライト信号SWR2102、リード信号SRD2105、システムリセット信号RESETL2127に展開される。
【0021】
22はアドレスデコーダであり、ADR端子に入力されるアドレスS_ADR[m:0]2100をデコードし、HOLDREQレジスタ・HOLDA入力ポート用チップセレクトCS1、2ポートメモリ用チップセレクトCS2を生成する。
23はバス権取得要求信号HLDR2115を生成するHOLDREQレジスタフリップフロップ、24はファームウェア格納用不揮発性メモリ28に格納されたファームウェアに基づきスレーブCPUの制御を行うMPUであり、ローカルバス開放手段としての機能を有している。
25はデータ伸長回路であり、HLDA端子に入力される信号をLSBとし、さらに(n−1)ビットを付加してnビットデータにしDATA端子から出力する回路である。
【0022】
26はデータセレクタであり、INSTALL、CS1、CS2端子入力の組み合わせにより、DATA1、DATA2、DATA3端子に入力されるデータをセレクトし、DATA端子に出力するセレクタ回路である。
27はMPU24とマスターCPU1の間でデータを共有するための2ポートメモリであり、アドレス入力(ADR1,2端子)、データ入出力(DATA1,2端子)、チップセレクト入力(CS1,2端子)、リード入力(RD1,2端子)、ライト入力(WR1,2端子)を、それぞれ2つずつ持っている。
28はファームウェアを格納するファームウェア格納用不揮発性メモリ、29は制御回路であり、CS、WR、INSTALL、CLK端子入力より2PGATE、2PWR、FGATE、FWR出力端子のタイミングを生成する回路である。
【0023】
211、212、214は2入力ANDゲート、213はインバータゲート、215は3入力ANDゲート、217、218、219は出力イネーブル付き双方向バッファ、220、221、222、223は出力イネーブル付きバッファ、216は発振器である。
【0024】
MPU24、2ポートメモリ27、ファームウェア格納用不揮発性メモリ28、出力イネーブル付きバッファ220、221、222、223、出力イネーブル付き双方向バッファ219は、MPU24のローカルバスであるアドレス信号M_ADR[M:0]2119(Mは自然数)、データ信号M_DATA[N:0]2120(Nは自然数)、リード信号MRD2121、ライト信号MWR2122、2ポートメモリエリアセレクト信号M_2PRAMCS2123、ファームウェア格納用不揮発性メモリエリアセレクト信号M_FROMCS2124で接続されている。
【0025】
アドレスデコーダ22の出力端子CS1から出力されるHOLDREQレジスタ・HOLDA入力ポート用チップセレクト信号CS1 2110は、3入力NANDゲート210の入力と、データセレクタ26のCS1入力端子に接続される。
アドレスデコーダ22の出力端子CS2から出力される2ポートメモリ用チップセレクト信号CS2 2109は、データセレクタ26のCS2入力端子、制御回路29のCS入力端子、2入力ANDゲート211、212の入力端子に接続される。
MPU24の出力端子HLDAから出力されるバス開放アクノリッジ信号HLDA2125は、データ伸長回路25のHLDA入力端子、3入力ANDゲート215の入力端子に接続される。
【0026】
ファームウェア書き込みモード信号INSTALL2101は、3入力NANDゲート210の入力端子、データセレクタ26のINSTALL入力端子、3入力ANDゲート215の入力端子、制御回路29のINSTALL入力端子、インバータゲート213の入力端子、2入力ANDゲート212の入力端子に接続される。インバータゲート213の出力端子は2入力ANDゲート211の入力端子に接続される。
2入力ANDゲート211の出力端子は、2ポートメモリ27の入力端子CS1に接続される。2入力ANDゲート212の出力端子は、出力イネーブル付きバッファ221の入力に接続される。
【0027】
ライト信号SWR2102は、3入力NANDゲート210の入力端子、制御回路29のWR入力端子に接続される。
リード信号SRD2103は、出力イネーブル付き双方向バッファ217のイネーブル入力、2ポートメモリ27のRD1入力端子、出力イネーブル付きバッファ222の入力端子に接続される。
S_ADR[m:0]信号2100の下位m1、m2ビット(m1、m2はm以下の整数)である信号S_ADR[m1:0]2116、S_ADR[m2:0]2126は、それぞれ2ポートメモリ27のADR1端子と出力イネーブル付きバッファ220の入力に接続される。
【0028】
制御回路29の出力端子2PGATEから出力される2ポートメモリデータバッファイネーブル信号2PGATE2113は、出力イネーブル付き双方向バッファ218のイネーブル入力に接続される。
制御回路29の出力端子2PWRから出力される2ポートメモリライト信号2PWR2114は、2ポートメモリ27のWR1入力端子に接続される。
制御回路29の出力端子FGATEから出力されるファームウェア格納用不揮発性メモリデータバッファイネーブル信号は、2入力ANDゲート214の入力に接続される。
制御回路29の出力端子FWRから出力されるファームウェア格納用不揮発性メモリライト信号は、出力イネーブル付きバッファ223の入力に接続される。
【0029】
HOLDREQレジスタ用フリップフロップ23の出力端子Qから出力されるバス権取得要求信号HLDR2115は、MPU24のHLDR入力端子と、3入力ANDゲート215の入力に接続される。
HOLDREQレジスタ用フリップフロップ23の入力端子Rには、システムリセット信号RESETL2127が接続される。
3入力NANDゲート210の出力端子は、HOLDREQレジスタ用フリップフロップ23のクロック入力端子に接続される。
【0030】
3入力ANDゲート215の出力は、2入力ANDゲート214の入力と、出力イネーブル付きバッファ220、221、222、223のイネーブル端子に接続される。
出力イネーブル付き双方向バッファ218の出力端子Dから出力される2ポートメモリのリードデータ2P_DATA[n:0]信号2108は、データセレクタ26の入力端子DATA3に接続される。
出力イネーブル付き双方向バッファ217の出力端子Dから出力されるシステムバスからのライトデータS_DATA_O[n:0]信号は、出力イネーブル付き双方向バッファ218・219の入力端子Bに接続される。
【0031】
また、HOLDREQレジスタ用フリップフロップ23の入力端子Dにはビット0のみ接続される。
出力イネーブル付き双方向バッファ219の出力端子Dから出力されるファームウェア格納用不揮発性メモリのリードデータF_DATA[n:0]信号2107は、データセレクタ26の入力端子DATA2に接続される。
データセレクタ26の出力端子DATAから出力されるシステムバスのリードデータS_DATA_I[n:0]信号2112は、出力イネーブル付き双方向バッファ217の入力端子Bに接続される。
【0032】
次に、動作について図3を用いて説明する。
図3は、マスターCPU1からシステムバス2につながるスレーブCPU3のファームウェア格納用不揮発性メモリ28に対し、書込み動作を行う際の動作フローを示したフローチャートである。
なお、本説明に用いる信号は、システムリセット信号RESETL2127以外はすべてHIGHアクティブである。
【0033】
本実施の形態で説明する動作フローを行なうファームウェア書換えプログラムは、マスターCPU1のプログラム領域に格納された状態で、電源が立ちあげられると、該ファームウェア書換えプログラムに基づきファームウェア書換えが行なわれるものであり、このファームウェア書換えプログラムのかわりに、通常動作を行なうべき所定のプログラムがマスターCPU1のプログラム領域に格納された状態で、電源が立ちあげられると通常動作が行なわれる。
つまり、ファームウェアの書換えの必要性に応じて、マスターCPU1のプログラム領域にファームウェア書換えプログラム及び書換えるべきファームウェアを格納することにより、ファームウェアの書換えが実行される。
なお、予めファームウェア書換えプログラム及び書換えるべきファームウェアを通常動作のプログラムと共存して格納しておき、必要に応じたスイッチング動作で起動すべきプログラムを選択してもよいことは言うまでもない。
【0034】
マスターCPU1が接続されたスレーブCPU3のファームウェアを書き替える場合、まず、ステップS1において、マスターCPU1は、システムバス2内のファームウェア書き込みモード信号INSTALL2101をアクティブにし、全スレーブCPUに対し「ファームウェア書込みモードへの移行」を通報する。
【0035】
すると、スレーブCPU3内において、INSTALL信号2101がHIGHレベルとなる。これにより、SWR信号2102、CS1信号2110の論理により、3入力ANDゲート210の出力に立ち上がりエッジを生成できるようになるため、HOLDREQレジスタ用フリップフロップ23にS_DATA[0]信号の論理をラッチすることができる。
つまり、マスターCPU1によるHOLDREQレジスタ用フリップフロップ23への書き込みが可能になる。
なお、INSTALL信号2101が非アクティブになっている時(つまり「ファームウェア書込みモード」でない時)は、3入力ANDゲート210の出力に立ち上がりエッジを生成できないため、マスターCPU1は、HOLDREQレジスタ用フリップフロップ23への書き込みができない。
【0036】
次に、ステップS2において、マスターCPU1は、書込み対象であるスレーブCPU内のHOLDREQレジスタ用フリップフロップ23に対してアクセスを行い、バス権取得要求信号HLDR2115をアクティブにする。
【0037】
この時の動作を、図4に示されるタイミングチャートを用いて説明する。
マスターCPU1が、書込み対象であるスレーブCPU内のHOLDREQレジスタ用フリップフロップ23に対してアクセスを行うと、システムバス上に図4のタイミングチャートに示されるタイミングが生成される。
【0038】
S_ADR[m:0]信号2100には、HOLDREQレジスタ用フリップフロップ23のアドレスがストローブされている。スレーブCPU3内のアドレスデコーダ22により、このアドレスがデコードされて、CS1信号がHIGHレベルとなる。
そして、ライト信号であるSWR信号2102がHIGHからLOWに変化する際に、S_DATA[0]信号211のHIGHレベルがHOLDREQレジスタ用フリップフロップ23にラッチされる。
これにより、バス権取得要求信号HLDR2115がHIGHレベルとなる。
【0039】
HLDR信号2115がHIGHレベルになったことを受けたMPU24は、ローカルバスを開放するための内部処理が完了次第、ローカルバスであるADR、DATA、RD、WR、CS1、CS2端子をHIGHインピーダンスにすると共に、バス開放アクノリッジ信号HLDA2125をアクティブにする。
なお、MPUは、HLDR信号2115がLOWレベルにならない限り、バス開放アクノリッジ信号HLDA2125を非アクティブにすることはないし、ローカルバスであるADR,DATA,RD、WR、CS1,CS2端子をHIGHインピーダンス状態から通常の出力状態に戻すことはない。
【0040】
マスターCPU1は、ステップS3において、MPU24のローカルバスが開放されたか否かを判断するために、HLDA信号2125の入力ポートをリード(バス開放アクノリッジ信号HLDA2125をポーリング)し、MPU24のローカルバスが開放されるのを待つ。
マスターCPU1は、バス開放アクノリッジ信号HLDA2125がHIGHレベルになったことによりローカルバスが開放されたことを確認する。
【0041】
この時の動作を、図5に示されるタイミングチャートを用いて説明する。
マスターCPU1がHLDA信号2125の入力ポートをリードすると、システムバス上に図5のタイミングチャートに示されるタイミングが生成される。
S_ADR[m:0]信号2100には、HLDA信号2125の入力ポートのアドレスがストローブされている。
スレーブCPU3内のアドレスデコーダ22により、このアドレスがデコードされて、CS1信号がHIGHレベルとなる。
【0042】
HLDA信号2125はデータ伸長回路25により、図6に示されるようなnビットのデータに伸長される。
【0043】
データセレクタ26は、図7に示される真理値表のように、INSTALL、CS1、CS2端子の論理に基づき、DATA1,2,3端子から入力されたデータをセレクトし、DATA端子に出力する。
今、INSTALL端子、CS1端子、CS2端子の論理は、110bであるため、DATA1端子の論理がDATA端子に出力される。
つまり、S_DATA_I[n:0]信号2112にはHLDA信号のステータスを含んだnビットのデータがストローブされている。
【0044】
出力イネーブル付き双方向バッファ217のイネーブル端子には、SRD信号が接続されているが、今、SRD信号はHIGHレベルであるため、システムバス2のデータ信号であるS_DATA[n:0]信号にもHLDA信号のステータスを含んだnビットのデータがストローブされる。
このデータをマスターCPU1がリードする。
マスターCPU1は、このリード動作を繰り返し、HLDA信号のステータスがHIGHになったことを確認すると、ステップS4へ進む。
【0045】
次に、ステップS4において、マスターCPU1は、システムバス2及びMPUローカルバスを介し、ファームウェア格納用不揮発性メモリ28への書込み動作を行う。
【0046】
ここで、マスターCPU1から、システムバス2及びMPUローカルバスを介し、ファームウェア格納用不揮発性メモリ28へ書き込み動作を行なう際に使用するリードライトサイクルについて説明する。
【0047】
第一にライトサイクルについて図8のタイミングチャートを用いて説明する。S_ADR[m:0]信号2100には、2ポートメモリのアドレスがストローブされている。
スレーブCPU3内のアドレスデコーダ22により、このアドレスがデコードされて、CS2信号がHIGHレベルとなる。
今、INSTALL信号2101はHIGHレベルであるため、2入力ANDゲート211の出力はLOWレベル(非アクティブ)である。
つまり、2ポートメモリに対しチップセレクト信号がストローブされない。
それに対し、2入力ANDゲート212の入力CS2信号2109、INSTALL信号2110がともにHIGHレベルであるので、その出力はHIGHとなり、ファームウェア格納用不揮発性メモリに対するチップセレクトがアクティブになる。
【0048】
制御回路29は、CS、WR、INSTALL端子に111bという論理が入力されている時、図8に示すようなタイミングをFGATE、FWR端子に対し生成する。
【0049】
また、この時点で、INSTALL信号2101、HLDR信号2115、HLDA信号2125がすべてアクティブになっている。
ゆえに、3入力ANDゲート215の出力がHIGHレベルになる。
これにより、出力イネーブル付きバッファ220、221、222、223が出力イネーブル状態になる。
2入力ANDゲート214も、制御回路29のFGATE端子がHIGHであるので、その出力はHIGHレベルとなり、出力イネーブル付き双方向バッファ219の出力もイネーブル状態になる。
これにより、システムバス2の論理が、バッファ219,220,221,222,223を介して、ファームウェア格納用不揮発性メモリに接続されるので、図8に示すタイミングで、ファームウェア格納用不揮発性メモリ28へのライトサイクルが完了される。
【0050】
第二にリードサイクルについて図9のタイミングチャートを用いて説明する。S_ADR[m:0]信号2100には、2ポートメモリのアドレスがストローブされている。スレーブCPU3内のアドレスデコーダ22により、このアドレスがデコードされて、CS2信号がHIGHレベルとなる。
今、INSTALL信号2101はHIGHレベルであるため、2入力ANDゲート211の出力はLOWレベル(非アクティブ)である。
つまり、2ポートメモリに対しチップセレクト信号がストローブされない。
それに対し、2入力ANDゲート212の入力CS2信号2109、INSTALL信号2110がともにHIGHレベルであるので、出力がHIGHとなり、ファームウェア格納用不揮発性メモリに対するチップセレクトがアクティブになる。
【0051】
また、制御回路29は、CS、WR、INSTALL端子に101bという論理が入力されている時、FGATE、FWR端子は非アクティブのままである。また、この時点で、INSTALL信号2101、HLDR信号2115、HLDA信号2125がすべてアクティブになっている。
ゆえに、3入力ANDゲート215の出力がHIGHレベルになる。これにより、出力イネーブル付きバッファ220、221、222、223が出力イネーブル状態になる。
これにより、システムバス2の論理が、バッファ219,220,221,222,223を介して、ファームウェア格納用不揮発性メモリに接続される。
さらに、ファームウェア格納用不揮発性メモリ28より出力されたデータは双方向バッファ219を介してF_DATA[n:0]信号2107上にストローブされる。
【0052】
さらに、データセレクタ26は、INSTALL端子、CS1端子、CS2端子の論理が、101bである時、図7に示されるように、DATA2端子の論理をDATA端子に出力する。
つまり、F_DATA[n:0]の論理がS_DATA_I[n:0]上にストローブされる。
出力イネーブル付き双方向バッファ217のイネーブル端子には、SRD信号が接続されているが、今、SRDはHIGHレベルであるためシステムバス2のデータ信号であるS_DATA[n:0]信号にもF_DATA[n:0]信号2107がストローブされる。このデータをマスターCPU1がリードする。
【0053】
これらの動作において、2ポートメモリ27とファームウェア格納用不揮発性メモリ28はチップセレクトCS2信号を共有しているため、マスターCPU1から見れば、2ポートメモリエリアとファームウェア格納用不揮発性メモリエリアは透過であるように見える。
このように、2ポートメモリエリアとファームウェア格納用不揮発性メモリエリアを透過に見せることにより、システムバス2上のリソースを節約できる。
【0054】
ここまでに示したリードライトサイクルを用いて、マスターCPU1は、ファームウェアの書き込み照合動作を行なう。
具体的書込み方法としては、まずマスターCPU1は、マスターCPU1内部に保有しているファームウェア書換えプログラムに基づいて、ファームウェア格納用不揮発性メモリをイレースする処理を行う。
【0055】
イレース処理として、イレース処理実行として予め定義されたアドレス信号及び制御信号を、ライトサイクルを発行することにより、システムバス2を介してファームウェア格納用不揮発性メモリ28に送信すると共に、イレース動作実行として予め定義されたデータ信号(消去コマンド)をファームウェア格納用不揮発性メモリ28に送信する。
【0056】
イレース処理として定義されたアドレス信号及び制御信号並びにデータ信号を所定のシーケンスで受けたファームウェア格納用不揮発性メモリ28は、内部に格納されているファームウェアをイレースする。
一方、マスターCPU1は、リードサイクルを発行することにより、ファームウェア格納用不揮発性メモリ28のデータポーリングを行い、イレース処理の終了を確認する。
【0057】
ファームウェア格納用不揮発性メモリ28のイレース処理が終了する(マスターCPU1が行うデータポーリングによりイレース処理完了を検出する)と、マスターCPU1は、マスターCPU1の資源であり、新しいファームウェアを予め格納しておいたリームバブルメディア(着脱可能な記憶素子)から、あるいは、新しいファームウェアを外部IOより転送しておいたマスターCPU1の内部メモリから、スレーブCPU3内のファームウェア格納用不揮発性メモリ28に対して転送(書き込む)すべく、転送すべきアドレスを指定したアドレス信号及び制御信号を、ライトサイクルを発行することにより、ファームウェア格納用不揮発性メモリ27に送信する。
【0058】
マスターCPU1からのファームウェア書込みが終了すると、次に書込んだファームウェアの照合動作を行う。
マスターCPU1は、書き込んだはずであるアドレスに対し、スレーブCPU内のファームウェア格納用不揮発性メモリ28からデータをリードする。
そして、読み出したデータと、マスターCPU1内のメモリに格納されている書き込んだデータを比較し、同一であるかを確認する。
この動作を、書き込んだすべてのアドレスに対し実施し、すべてが同一であれば照合動作は完了する。
【0059】
ファームウェア照合の結果、正常に書込まれていたと判断すると、書込みモード指示信号2101を非アクティブ(Lowレベル)に戻し、システムリセット信号RESETL2127をアクティブにした後、非アクティブに戻し、通常動作時に復帰させる。
【0060】
また、上述の実施の形態において、ファームウェア書き替え作業を各スレーブCPUに対し順次実行することにより、すべてのスレーブCPUに対するファームウェアの書込みを行うことも可能である。
【0061】
その際、種類の異なる複数のスレーブCPUに対し、それぞれのスレーブCPUに対応したファームウェアを書き込むことも可能である。
【0062】
その手法として、第一に、異なる種類のスレーブCPUに対応した複数のファームウェアを、マスターCPU1の資源であるリームバブルメディア、もしくは、外部IOを通じて、マスターCPU1に転送しておく。ただし、それぞれのファームウェアは「対応スレーブCPUコード」を含んでおり、その「対応スレーブCPUコード」とスレーブCPUが持っている「スレーブCPUコード」を比較することにより、該ファームウェアが、どの種類のスレーブCPUに対応しているか、判別できるようになっている。
第二に、マスターCPU1は、書き込み対象であるスレーブCPUの「スレーブCPUコード」を読み出す。
第三に、マスターCPU1はスレーブCPUより読み出した「スレーブCPUコード」と、ファームウェア内の「対応スレーブCPUコード」を比較することにより、複数のファームウェアから書き込むべきファームウェアを特定する。
第四に、前述の書き込み方法により、ファームウェアを該スレーブCPUに書き込む。
この動作を繰り返すことにより、種類の異なる複数のスレーブCPUに対し、それぞれのスレーブCPUに対応したファームウェアを書き込むことができる。
【0063】
なお、その際には、ファームウェア書換え対象のすべてのスレーブCPUに対する書き替えが終了した後、マスターCPU1はシステムリセットを発行し、システムをリブートし通常動作を開始すればよい。
【0064】
本実施の形態では、通常動作時の構成と、書込みモード時の構成が全く同じであるため、ROMプログラマ等のROM書込み装置を接続するための専用外部接続機構及び専用書込み装置を必要としない。
また、1台のマスターCPU1が、複数のスレーブCPUに共通なシステムバスを介して、そのぞれのスレーブCPUのファームウェア格納用不揮発性メモリに対する書込みを行うことができるため、容易にファームウェア書き替えを行うことができる。
さらに、複数のスレーブCPU内のファームウェア書換えプログラムを1台のマスターCPU1内部に格納することにより、スレーブ内に自分自身の書換えプログラム用リソースを必要としない。
【0065】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に記載されるような効果を奏する。
【0066】
ファームウェア書換え対象のスレーブユニットにおいて開放されたローカルバス介してファームウェア書込みを行うので、ファームウェアの書込みを行わない通常動作時の構成と、書込みモード時の構成が全く同じでよく、ROMプログラマ等のROM書込み装置を接続するための専用外部接続機構及びROMプログラマ等の専用書込み装置を必要とせずに、ファームウェアを書換えることができる。
【0067】
また、1台のマスターCPU1が、専用外部接続機構ではなく複数のスレーブCPUに共通なシステムバスを介して、そのぞれのスレーブCPUのファームウェア格納用不揮発性メモリに対する書込みをで行うことができる。
【0068】
さらに、スレーブCPU内のファームウェア書換えプログラムを1台のマスターCPU1内部に格納することにより、スレーブ内に自分自身の書換えプログラム用リソースを必要としない。
【図面の簡単な説明】
【図1】 本発明に係る実施の形態1における情報処理装置のシステム構成を示した図である。
【図2】 スレーブCPUの内部構成を示した図である。
【図3】 マスターCPUからスレーブCPUのファームウェア格納用不揮発性メモリに対し書込み動作を行う際の動作フローを示した図である。
【図4】 マスターCPUからスレーブCPUのHOLDREQレジスタに対し書込み動作を行う際のタイミングを示した図である。
【図5】 マスターCPUからスレーブCPUのHLDA信号入力ポートに対する読み出し動作を行う際のタイミングを示した図である。
【図6】 データ伸長回路により伸長された後のデータを示した図である。
【図7】 データセレクタの動作を示す真理値表を示した図である。
【図8】 マスターCPUからスレーブCPUのファームウェア格納用不揮発性メモリに対するライトサイクルのタイミングを示した図である。
【図9】 マスターCPUからスレーブCPUのファームウェア格納用不揮発性メモリに対するリードサイクルのタイミングを示した図である。
【図10】 従来における情報処理装置の内部構成を示した図である。
【図11】 従来における情報処理装置の内部構成を示した図である。
【符号の説明】
1 マスターCPU、2 システムバス、3 スレーブCPU、21 システムバス接続コネクタ、22 アドレスデコーダ、23 HOLDREQレジスタ用フリップフロップ、24 MPU、25 データ伸長回路、26 データセレクタ、27 2ポートメモリ、28 ファームウェア格納用不揮発性メモリ、29 制御回路、220、221、222、223 出力イネーブル付きバッファ、217、218、219 出力イネーブル付き双方向バッファ、210 3入力NANDゲート、211、212、214 2入力ANDゲート、213 インバータゲート、215 3入力ANDゲート。
Claims (2)
- マスターCPU及び複数のスレーブCPUがシステムバスにて接続された情報処理システムにおいて、
マスターCPUから複数のスレーブCPUに対し、ファームウェアの書き込み可否を決定するための全スレーブCPUに共通する書き込みモード信号が接続され、
マスターCPUは、その内部にファームウェア書換えプログラムを格納し、
各スレーブCPUは、MPU、MPU用プログラムが格納され電気的に消去・書込み可能なファームウェア格納用不揮発性メモリ、MPUに対しマスターCPUからのバス権取得要求を発行するレジスタ、バス権取得要求に応じてMPUが発行したバス開放アクノリッジ信号のステータスをマスターCPUがリードするための入力ポート、上記システムバス中のアドレス・制御信号とローカルバス中のアドレス・制御信号を接続するバッファ、上記システムバス中のデータバスとローカルバス中のデータバスを接続する双方向バッファを備え、
マスターCPUは、書き込みモード信号をアクティブにした後に、書込み対象であるスレーブCPU内のバス権取得要求を発行するレジスタにアクセスし、システムバス及び開放されたローカルバスを介して書込み対象であるスレーブCPUのファームウェア格納用不揮発性メモリに対してアクセスして、当該書込み対象であるスレーブCPUのファームウェアを書換えることを特徴とする情報処理システム。 - マスターCPUはCPUユニットであり、かつスレーブCPUはインテリジェントユニットであることを特徴とする請求項 1 記載の情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24303399A JP3635996B2 (ja) | 1999-08-30 | 1999-08-30 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24303399A JP3635996B2 (ja) | 1999-08-30 | 1999-08-30 | 情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001067215A JP2001067215A (ja) | 2001-03-16 |
JP3635996B2 true JP3635996B2 (ja) | 2005-04-06 |
Family
ID=17097868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24303399A Expired - Lifetime JP3635996B2 (ja) | 1999-08-30 | 1999-08-30 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3635996B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4738652B2 (ja) * | 2001-06-29 | 2011-08-03 | マスプロ電工株式会社 | シリアルデータ処理装置 |
JP2006268107A (ja) | 2005-03-22 | 2006-10-05 | Denso Corp | 電子制御装置 |
JP2009193453A (ja) * | 2008-02-15 | 2009-08-27 | Nec Computertechno Ltd | ブレードシステム、エンクロージャマネージャ、ブレード、bios管理方法及びbios管理プログラム |
DE112013007663T5 (de) | 2013-12-03 | 2016-08-11 | Mitsubishi Electric Corporation | Engineering-Tool-Programm und Netzwerksystem |
CN107533490B (zh) | 2015-04-13 | 2021-03-26 | 三菱电机株式会社 | 控制***及可编程逻辑控制器 |
-
1999
- 1999-08-30 JP JP24303399A patent/JP3635996B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001067215A (ja) | 2001-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032520B (zh) | ***开机代码存储器管理方法、存储器装置及其制造方法 | |
US7814264B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
US20110219161A1 (en) | System and method for providing address decode and virtual function (vf) migration support in a peripheral component interconnect express (pcie) multi-root input/output virtualization (iov) environment | |
TWI776553B (zh) | 具有晶片內執行能力的串列式反及閘快閃記憶體 | |
US6216191B1 (en) | Field programmable gate array having a dedicated processor interface | |
JP2010511943A (ja) | 混合されたタイプのメモリデバイスを動作させるシステムおよび方法 | |
JPH1185609A (ja) | 半導体記憶装置及びそのデータ管理方法 | |
JPH0798692A (ja) | マイクロコンピュータ | |
JP2000105725A (ja) | チップイネーブル信号生成回路及びメモリ装置 | |
US5210847A (en) | Noncacheable address random access memory | |
JPS62245461A (ja) | ボ−ドスロツト番号の割当方法 | |
JP3635996B2 (ja) | 情報処理システム | |
JP2000163268A (ja) | コンピュータ | |
JPH0562380B2 (ja) | ||
US7345914B2 (en) | Use of flash memory blocks outside of the main flash memory array | |
JP4220351B2 (ja) | データ読み取り動作及び書き込み動作を同時に実行可能な集積回路及び方法 | |
EP0359232A2 (en) | Computer system and method for setting recovery time | |
CN106886495B (zh) | 一种嵌入式***及其控制方法 | |
JP4837372B2 (ja) | 情報記憶装置 | |
JP2510604B2 (ja) | 記憶装置 | |
RU2179332C1 (ru) | Вычислительная система | |
JPS5925320B2 (ja) | 共有記憶装置の制御装置 | |
JPH11328089A (ja) | Pciバスインタフェース用デバイスにおけるid情報書き込み回路 | |
TWI701553B (zh) | 反及閘快閃記憶體的讀取方法 | |
JPS608557B2 (ja) | プログラマブル・リードオンリー・メモリを有する計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040921 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041119 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041227 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3635996 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080114 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090114 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100114 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110114 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120114 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130114 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130114 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |