JPH0823816B2 - マイクロプログラム変更装置 - Google Patents

マイクロプログラム変更装置

Info

Publication number
JPH0823816B2
JPH0823816B2 JP63022785A JP2278588A JPH0823816B2 JP H0823816 B2 JPH0823816 B2 JP H0823816B2 JP 63022785 A JP63022785 A JP 63022785A JP 2278588 A JP2278588 A JP 2278588A JP H0823816 B2 JPH0823816 B2 JP H0823816B2
Authority
JP
Japan
Prior art keywords
address
microprogram
microinstruction
execution
read
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
Application number
JP63022785A
Other languages
English (en)
Other versions
JPH01199231A (ja
Inventor
俊久 谷口
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP63022785A priority Critical patent/JPH0823816B2/ja
Publication of JPH01199231A publication Critical patent/JPH01199231A/ja
Publication of JPH0823816B2 publication Critical patent/JPH0823816B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御装置に関し、特
に、制御メモリに格納されているマイクロプログラムを
変更するための装置に関する。
〔従来の技術〕
従来、制御メモリに格納されたマイクロプログラムの
変更は、たとえ部分的な変更の場合でも、変更されたマ
イクロ命令を含むマイクロプログラムの全体を別の計算
機でアセンブルした後、サービスプロセツサ(SVP)等
の保守機構が持つイニシヤルマイクロプログラムロード
(IMPL)機能を用いて、マイクロプログラムの全体を入
替えることによつて、遂行されている。
特開昭62−31432号公報には、マイクロ命令を実行時
点で一時的に修正(モデイフアイ)する装置が記載され
ている。この装置は、マイクロプログラムの開発を支援
するためのものであつて、稼動中に制御メモリ内のマイ
クロ命令を書替えるものではない。
〔発明が解決しようとする課題〕
従来の方法では、IMPL処理によりマイクロプログラム
の全体を入替えるので、その期間中データ処理を中断し
なければならない。ところで、マイクロプログラムの変
更は、バグの除去,機能の変更又は強化などの目的で、
かなり頻繁に必要となるのが実情であり、ハードウエア
の信頼性が向上した現在では、しばしば、マイクロプロ
グラムの変更のためにデータ処理が中断される回数が、
故障に起因する中断の10倍を越す。
本発明の目的は、変更を要するマイクロ命令のみを、
しかもマイクロプログラムの正常な実行と実質上並行し
て、書替えることを可能にし、それにより、マイクロプ
ログラムの部分的変更の操作に伴うデータ処理時間のロ
スを、最小限にとどめることにある。
〔課題を解決するための手段〕
本発明のマイクロプログラム変更装置は、変更すべき
マイクロ命令のアドレスを識別する情報を記憶する手段
と、この記憶手段に所望のアドレス識別情報をマイクロ
プログラムの正常な実行と並行して書込む手段と、マイ
クロプログラムの実行中にアドレス識別情報により識別
されるアドレスがアクセスされたことを検出する手段
と、この検出手段の出力に応答して当該アドレスから読
出されたマイクロ命令の実行を抑止する手段と、前記検
出手段の出力に応答して当該アドレスに変更されたマイ
クロ命令を転送する手段と、この転送に続いて同じアド
レスに対してマイクロ命令の読出し実行回路を再起動す
る手段とを備える。
〔作用〕
前記の構成によれば、マイクロプログラムの実行と並
行して、変更対象アドレスを示す情報がそのための記憶
装置に書込まれ、そして、マイクロプログラムの実行中
に、変更対象アドレスからマイクロ命令が読出される
と、そのことが検出されて、そのマイクロ命令の実行は
阻止され、代りに、そのアドレスに変更されたマイクロ
命令が書込まれ、続いて、この変更されたマイクロ命令
が読出され、実行される。すなわち、データ処理を中断
することなしに、マイクロ命令の書替えが行なわれる。
〔実施例〕
第1図は、後で詳述する実施例の要点を示し、それに
より、本発明の概念の明確な理解を助けるものである。
制御メモリ(CS)1とマイクロ命令リロード指示ビツト
メモリ(CRIS)2は、同じアドレスを持ち、CRIS2の各
アドレスには、そのアドレスのマイクロ命令が変更され
るべきときに“1"の値を取るビツトが、マイクロプログ
ラム変更操作の初期に書込まれる。その後、マイクロプ
ログラムの実行につれて、制御メモリアドレスレジスタ
(CSAR)3の内容は、CS1とCSIR2の双方に供給され、し
たがつて、実行のために読出されたマイクロ命令と同じ
アドレスのCRIS2の内容、すなわちマイクロ命令リロー
ド指示ビツト100が、読出される。このビツト100が“1"
ならば、マイクロ命令実行抑止手段101が働いて、当該
アドレスから読出されたマイクロ命令の実行102は抑止
され、更に、当該アドレスのマイクロ命令の書替え103
が行なわれ、それが終ると、この書替えられたマイクロ
命令の実行104が行なわれる。
第2図は、本発明の一実施例をブロツクダイヤグラム
で示す。制御メモリ(CS)1と、制御メモリアドレスレ
ジスタ(CSAR)3と、制御メモリデータレジスタ(CSD
R)4と、CSDR遅延レジスタ(CSDRD)11と、デコーダ14
とから成る部分は、通常のマイクロプログラム制御機構
である。平常状態において、CSAR3からのアドレスに従
つてCS1がアクセスされると、そのアドレスのマイクロ
命令データがCSDR4に読出され、そこからCSDRD11に転送
された後、デコーダ14を介して、対応する制御信号201
となり、被制御ハードウエア15に供給される。一方、CS
DR4中のマイクロ命令の次マイクロ命令アドレス部202
は、セレクタ16を経てCSAR3にセツトされ、次のマイク
ロ命令のアドレスを指定する。CS1の内容の原データ(C
SD)は、図示されていない補助メモリ(例えば磁気デイ
スク)に保持されている。
本発明により、マイクロ命令リロード指示ビツトメモ
リ(CRIS)2が設けられる。CRIS2は、CS1と同一のアド
レスを持ち、各アドレスの容量(ワード長)は1ビツト
である。通常、CRIS2中の全ビツトは“0"である。マイ
クロプログラムの部分的変更が必要になると、オペレー
タは、補助メモリ中のマイクロプログラム原データ(CS
D)における変更対象マイクロ命令を書替え、かつ変更
対象アドレスと値“1"のリロード指示ビツトとから成る
変更対象アドレス指示データ(ID)を、補助メモリに格
納して、図示されていないサービスプロセツサ(SVP)
に、マイクロプログラムの変更を指令する。この指令に
応答して、SVPは、主メモリの適当な領域7(この領域
は、予め定められても、あるいはオペレータにより指定
されてもよい)に、ID71とCSD72を転送し、次いで、CRI
S2へのリロード指示ビツトの書込みを開始する。
まず、CSリロード許可ラツチ(CREL)9がリセツトさ
れる。CREL9がリセツト状態にあると、セレクタ17は、S
VPから転送されたID71中のリロード指示ビツト203を選
択し、セレクタ18は、CRISアドレスレジスタ(ISA)19
の内容、すなわちSVPから転送されたID71中の変更対象
アドレス204を、選択する。したがつて、変更対象アド
レスは、セレクタ18を経てCRIS2のアドレス選択回路に
供給され、また、対応するリロード指示ビツトは、セレ
クタ17とリロード指示データレジスタ(RIDR)5を経
て、CRIS2の書込回路に供給され、その結果、変更対象
マイクロ命令のアドレスと同じCRIS2のアドレスに、
“1"が書込まれる。同様にして、CRIS2における他のす
べての変更対象アドレスに、“1"が書込まれる。CREL9
がリセツト状態にあると、AND回路12の出力が“0"に固
定されるので、CRIS2は、マイクロプログラムの実行に
際して参照されない。したがつて、前述したリロード指
示ビツトのVRIS2への書込みは、マイクロプログラムの
実行と並行して行なわれる。
CRIS2へのリロード指示ビツトの書込みが完了する
と、SVPは、CREL9のセツトを要求するラツチ(図示省
略)をセツトし、その後、マイクロプログラムの適当な
処理ポイント(例えばEOP:End of Process)において、
前記の要求が受付けられて、CREL9がセツトされる。そ
の結果、セレクタ17とセレクタ18は、それぞれ“0"とCS
AR3の出力を選択するように切替えられ、そして、CSIR2
は、CS1と同期して読出されるようになる。
以後、CS1からマイクロ命令が読出されるたびに、そ
れと同じアドレスのCRIS2の内容が読出される。なおCSA
R3の内容は、平常状態においてはCSAR遅延レジスタ(CC
ARD)8に転送され、後述する変更対象アドレスの保存
に備える。CRIS2の出力205が“0"ならば、その時読出さ
れたマイクロ命令には変更がない。この場合、AND回路1
2の出力は“0"であり、CS1から読出されたマイクロ命令
は、平常通り実行される。他方、CRISの出力205が“1"
ならば、AND回路12の出力は“1"になり、CSリロードモ
ードラツチ(CRML)10をセツトする。セツトされたCRML
10の“1"出力は、デコーダ14の平常機能部分を抑止し
て、その時読出されたマイクロ命令の実行を阻止する。
CSARD8の更新は、CRML10の“1"出力により禁止され、そ
れにより、変更対象アドレスを保存する。AND回路12の
“1"出力は、また、新マイクロ命令をCS1に書込むため
のマイクロプログラムルーチン(CSリロードルーチン)
へのブレークインを制御する論理回路13を起動する。
ブレークイン制御論理回路13は、起動されると、STAR
T信号を発生して、CRリロードルーチンのための実行ス
テージを起動し、かつ、セレクタ16を切替えて、CSリロ
ードルーチンの先頭アドレスをCSAR3にセツトする。こ
うして起動されたCSリロードルーチンは、対応するCSD7
2(そのアドレスは、CSARD8に保存されている変更対象
アドレスと、主メモリ7におけるCSDの先頭アドレスと
から決定することができる)をCS書込データレジスタ
(CSWDR)6に読出すとともに、セレクタ17により選択
された“0"をRIDR5にセツトし、続いて、CSARD8中の変
更対象アドレスをCSAR3に転送した後、CS1とCRIS2に書
込動作を行なわせ、それにより、CS1に変更されたマイ
クロ命令を書込むとともに、CRIS2中のリロード指示ビ
ツトを“0"にリセツトする。最後に、CRML10がリセツト
されて、デコーダ14の平常機能部分が復活し、次いで、
平常のマイクロプログラム実行シーケンスが再開され
る。その結果、この時点でのCSAR3の内容が指定するCS
アドレス(変更対象アドレス)の内容、すなわち今書替
えられたマイクロ命令が、読出されて、実行される。CS
リロードルーチンの実行中は、マイクロ命令解読・実行
機構において、このルーチンの専用機能部分のみが働
き、平常機能部分は凍結されている。なお、CREL9は、
変更を要する全マイクロ命令の書替えが完了した時にリ
セツトしてもよい。しかし、CRIS2の全内容が“0"にリ
セツトされた後は、AND回路12の出力が“1"になること
はないから、CREL9の状態はマイクロプログラムの実行
に影響せず、したがつて、CREL9のリセツトは、次の変
更操作の開始時に行なえば充分である。
第3図は、マイクロ命令実行ステージを説明するため
の図である。EX0ステージはCS1へのアクセスを行なうス
テージであり、EX1ステージはマイクロ命令の読出しを
行なうステージであり、EX2ステージはマイクロ命令の
解読及び実行を行なうステージである。CRIS2の変更対
象アドレスがアクセスされて、EX1ステージにおけるCRM
L10がセツトされると、その出力によつてEX2ステージの
付勢信号EX2が抑止され、それにより、変更対象アドレ
スから読出されたマイクロ命令の実行が阻止される。CR
ML10のセツト出力により抑止されるのは、平常機能のた
めの解読・実行部分14aであり、CSリロードルーチンの
専用の解読・実行部分14bは、後述するEXR2ステージに
属し、CSリロードルーチンが実行される時に付勢され
る。なお、図中の符号TAとTBはデータがセツトされるタ
イミングを表わし、TBは隣合うTAの中間に生じる。
第4図は、マイクロ命令書替え動作のタイムチヤート
であり、マイクロ命令が書替えられる場合を示す。マ
イクロ命令がEX1ステージに入ると、CRML10が“1"に
セツトされ、それにより、マイクロ命令の実行は抑止
され、そして、以後のEX0/EX1/EX2ステージは抑止され
る。代りに、EX0/EX1/EX2ステージにそれぞれ相当するC
Sリロード専用のEXR0/EXR1/EXR2ステージが、CSリロー
ドルーチン先頭アドレスの生成と同時にSTART信号によ
り開始される。マイクロ命令のアドレスは、CSARD8に
保存されて、変更されたマイクロ命令がCS1に書込ま
れる直前に、CSAR3にセツトされる。CS1への書込みの開
始と同時にCRML10はリセツトされ、CS1への書込みの終
了に続いて、EX0/EX1/EX2ステージが再起動されて、今
書替えられたマイクロ命令が読出され、実行される。
第5図は、本発明の他の実施例を示す。これの第2図
の実施例からの相違は、CSリロード処理が、マイクロプ
ログラムではなく、SVPにより行なわれる点にある。本
実施例では、CRML10がセツトされると、第2図の実施例
におけるのと同様なEX0/EX1/EX2ステージの抑止の後、S
VPにCSリロード要求を発し、これに応答して、SVPは、C
Sリロード処理20を行なう。すなわち、SVPはCSARD8に保
存されている変更対象アドレスをCSAR3に転送した後、
対応するCSD72をCS1に書込むとともに、CRIS2中のリロ
ード指示ビツトをリセツトする。それが終ると、SVP
は、CRML10をリセツトし、マイクロプログラム実行ステ
ージを再起動する(21)。
第2図の実施例は、マイクロ命令を高速で書替えるこ
とができるが、その反面、CSリロード専用のハードウエ
アを必要とする。第5図の実施例は、そのような特別の
ハードウエアを必要としない代りに、速度は遅い。
CRIS2の代りに、変更対象アドレスを記憶するレジス
タ群と、CSAR3の内容をこのレジスタ群の内容と比較す
る比較器とを用いてもよい。ただし、この変形では、1
回の操作で変更できるマイクロ命令の個数が、レジスタ
の個数で制限される。
〔発明の効果〕 本発明によれば、マイクロプログラムを、それの実行
と実質上並行して変更することができ、したがつて、マ
イクロプログラムの変更のために本来の業務であるデー
タ処理を中断させる必要がない。
【図面の簡単な説明】
第1図は本発明の概念を表わすブロツクダイヤグラム、
第2図は本発明の一実施例のブロツクダイヤグラム、第
3図は第2図の装置におけるマイクロ命令実行ステージ
を示すブロツクダイヤグラム、第4図は第2図の装置に
おけるマイクロ命令書替え動作のタイムチヤート、第5
図は本発明の他の実施例のブロツクダイヤグラムであ
る。 1……制御メモリ、2……変更対象アドレスを識別する
リロード指示ビツトを記憶するメモリ、3……制御メモ
リアドレスレジスタ、7……主メモリの領域、8……ア
クセスされた変更対象アドレスを保存するためのレジス
タ、10……変更対象アドレスがアクセスされたことによ
りリセツトされるラツチ、12……変更対象アドレスがア
クセスされたことを検出するAND回路、13……制御メモ
リ書替えルーチンを起動する論理回路、14……マイクロ
命令解読・実行回路、71……変更対象アドレスデータ、
72……変更されたマイクロ命令。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】マイクロプログラムを構成する複数のマイ
    クロ命令をそれぞれのアドレスに記憶する書替え可能な
    制御メモリと、前記制御メモリから前記マイクロ命令を
    逐次読出して実行する回路とを有するマイクロプログラ
    ム制御装置において、変更されたマイクロ命令を記憶す
    る手段と、変更すべきマイクロ命令のアドレスを識別す
    る情報を記憶する手段と、所望のアドレス識別情報を前
    記アドレス識別情報記憶手段に前記マイクロプログラム
    の正常な実行と並行して書込む手段と、前記マイクロプ
    ログラムの実行中に前記アドレス識別情報により識別さ
    れるアドレスがアクセスされたことを検出する手段と、
    前記検出手段の出力に応答して当該アドレスから読出さ
    れたマイクロ命令の実行を抑止する手段と、前記検出手
    段の出力に応答して当該アドレスに前記変更されたマイ
    クロ命令を転送する手段と、前記転送に続いて同じアド
    レスに対して前記読出し実行回路を再起動する手段とを
    備えたマイクロプログラム変更装置。
  2. 【請求項2】特許請求の範囲1において、前記アドレス
    識別情報記憶手段は、前記制御メモリと同じアドレスを
    持ち、各アドレスにそれぞれが変更対象アドレスか否か
    を示す情報を記憶するマイクロプログラム変更装置。
  3. 【請求項3】特許請求の範囲1又は2において、前記マ
    イクロ命令転送手段と再起動手段は前記マイクロプログ
    ラムの一部により制御され、前記読出し実行回路はマイ
    クロプログラムの前記一部のための専用部分を含むマイ
    クロプログラム変更装置。
JP63022785A 1988-02-04 1988-02-04 マイクロプログラム変更装置 Expired - Lifetime JPH0823816B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63022785A JPH0823816B2 (ja) 1988-02-04 1988-02-04 マイクロプログラム変更装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63022785A JPH0823816B2 (ja) 1988-02-04 1988-02-04 マイクロプログラム変更装置

Publications (2)

Publication Number Publication Date
JPH01199231A JPH01199231A (ja) 1989-08-10
JPH0823816B2 true JPH0823816B2 (ja) 1996-03-06

Family

ID=12092329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63022785A Expired - Lifetime JPH0823816B2 (ja) 1988-02-04 1988-02-04 マイクロプログラム変更装置

Country Status (1)

Country Link
JP (1) JPH0823816B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2710195B2 (ja) * 1992-12-15 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 記憶装置コントローラ

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60230238A (ja) * 1984-04-27 1985-11-15 Toshiba Corp マイクロプログラム制御装置
JPS62182929A (ja) * 1986-02-07 1987-08-11 Nec Corp マイクロ命令訂正回路

Also Published As

Publication number Publication date
JPH01199231A (ja) 1989-08-10

Similar Documents

Publication Publication Date Title
US5119483A (en) Application of state silos for recovery from memory management exceptions
JPS6341093B2 (ja)
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JP2710195B2 (ja) 記憶装置コントローラ
US5261084A (en) Error judgment method
KR100223844B1 (ko) 옵션 자동 설정 회로
US6014740A (en) Single instruction method of seizing control of program execution flow in a multiprocessor computer system
JPH0823816B2 (ja) マイクロプログラム変更装置
IE61306B1 (en) Method and device to execute two instruction sequences in an order determined in advance
JP3055999B2 (ja) マイクロプログラム制御装置群
JP3462245B2 (ja) 中央演算処理装置
KR910001114B1 (ko) 디스크 캣슈 시스템
JP4471947B2 (ja) データ処理装置及びデータ処理方法
JPS6031643A (ja) 状態履歴記憶回路
US3731285A (en) Homogeneous memory for digital computer systems
JP2006505846A (ja) 永続的システムメモリへのbiosの格納
JPS6232508B2 (ja)
JPH06348503A (ja) マスタ/スレーブ制御系を有する装置と、その制御方法
JPH05216507A (ja) プログラマブルコントローラのプログラム変更方法
JP2748056B2 (ja) ディスクコントローラ
JPH01302452A (ja) マイクロプログラム制御装置
JP2665039B2 (ja) マイクロプログラム制御装置
JPS6215645A (ja) 中央処理装置
JPH02163856A (ja) イニシャルプログラムローディング制御方法
JPH0810429B2 (ja) マイクロプログラム制御装置