JP2865689B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP2865689B2
JP2865689B2 JP1031044A JP3104489A JP2865689B2 JP 2865689 B2 JP2865689 B2 JP 2865689B2 JP 1031044 A JP1031044 A JP 1031044A JP 3104489 A JP3104489 A JP 3104489A JP 2865689 B2 JP2865689 B2 JP 2865689B2
Authority
JP
Japan
Prior art keywords
instruction
branch
branch destination
address
program memory
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
JP1031044A
Other languages
English (en)
Other versions
JPH02211529A (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
Hitachi KE Systems Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering 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 Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP1031044A priority Critical patent/JP2865689B2/ja
Priority to EP19900102810 priority patent/EP0383268A3/en
Publication of JPH02211529A publication Critical patent/JPH02211529A/ja
Application granted granted Critical
Publication of JP2865689B2 publication Critical patent/JP2865689B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3846Speculative instruction execution using static prediction, e.g. branch taken strategy

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプログラムの編集及び実行方式に係り、特に
制御出力信号をオフにしないでプログラムの変更を必要
とする制御系に好適なデータ処理装置に関する。
〔従来の技術〕
従来のこの種装置は、特公昭61−61413号公報に示さ
れるように分岐命令に対する分岐先が入力されていない
ときには分岐命令の実行を停止し、プログラムの再編集
を必要とし、実行の止められないプロセス制御には適し
ていなかった。
〔発明が解決しようとする課題〕
上記従来技術はプログラムに含まれる分岐命令と分岐
先の運転中のプログラム変更において、これらの命令の
追加、削除及び移動の際の編集操作後における文法的な
間違いの指摘方法がなく、またその方法があったとして
も編集後の実行結果が保証されないまま動作させ、間違
いがある場合は異常を検出し、装置を停止させ出力を停
止させていた。また、出力を停止しない場合も考えられ
るが、この場合は、運転中に前記のようなプログラムの
編集操作は前もって禁止する防護処理をとっていた。従
って装置を運転した状態で分岐命令や分岐先命令を含む
プログラムの編集操作ができないという問題があった。
本発明の目的は、装置を運転した状態で分岐命令や分
岐先命令を含むプログラムの任意な編集操作を可能とす
ることにある。さらに、その編集操作によって不正なプ
ログラムが入力されてもその部分のプログラムを実行さ
せないようにし、異常動作で装置が停止し全出力を停止
させないようにして、運転を続行させることにある。
〔課題を解決するための手段〕
上記目的は、分岐命令とこの命令の分岐先を意味する
分岐先命令及びこれ等の命令を含んだプログラムを記憶
するプログラムメモリと、実行すべき命令のプログラム
メモリ内における格納番地を指示するプログラムカウン
タと、プログラムメモリ内の分岐先命令の格納位置を記
憶する分岐先位置テーブルと、プログラムメモリから読
み出された分岐命令および分岐先命令を実行する演算器
を備え、演算器は分岐命令実行に際し分岐先位置テーブ
ルの内容を参照してその有効位置内容に基づいて該当の
分岐命令を実行するとともに、無効位置内容に基づいて
該当の分岐命令以外の命令を実行するように構成された
データ処理装置において、演算器は分岐命令により分岐
動作を行う分岐制御部とこの分岐制御部内に設けられた
分岐先位置テーブル制御部とを備え、プログラムメモリ
は分岐命令および分岐先命令をそれぞれのラベル番号と
ともに記憶し、分岐先位置テーブルは分岐命令のラベル
番号および分岐先命令のラベル番号に対応した格納番地
をそれぞれ有し、演算器は分岐先命令がプログラムメモ
リに書き込まれたときにその格納番地を分岐先位置テー
ブルの分岐先命令のラベル番号に対応する位置に書き込
み、分岐先命令が上記プログラムメモリから削除された
ときに無効な番地を意味する数値を分岐先位置テーブル
の分岐先命令のラベル番号に対応する位置に書き込み、
分岐先命令がプログラムメモリ内で移動されたときに移
動後の分岐先命令の格納番地を分岐先位置テーブルの分
岐先命令のラベル番号に対応する位置に書き込み、分岐
先位置テーブル制御部は演算部によりプログラムメモリ
から分岐命令が取り出されて分岐制御部に分岐命令のラ
ベル番号が伝達されたときにこのラベル番号に対応する
分岐先命令の格納番地を分岐先位置テーブルから取り出
し、分岐制御部はこの格納番地が有効な番地である場合
にはプログラムカウンタにこの番地の値を格納して演算
器に分岐命令を実行させ、この格納番地が無効な番地で
ある場合には分岐制御部はプログラムカウンタの値をプ
ログラムメモリから取り出した命令の次の番地の値に更
新して演算器に分岐命令の次の番地の命令を実行させる
よう構成することにより達成される。
〔作用〕
プログラムの編集操作で分岐命令が入力されたときに
は分岐先の番号をオペランドにもった形でプログラムメ
モリに格納する。分岐先の位置、または分岐先を意味す
る分岐先命令が入力されたときにはこれをプログラムメ
モリに格納すると共に、その分岐先命令の格納位置を位
置テーブルに書き込む。また、分岐先命令が削除された
ときには、位置テーブルの削除された命令に対応した位
置に無効位置を意味する値を書き込む。さらに、他の命
令の入力または削除により分岐先命令の格納位置が変化
した場合は、位置テーブルのそれに対応した位置の位置
を変更後の格納位置に書き替える。これにより分岐命令
を実行するときは、位置テーブルから分岐しょうとする
分岐先命令の格納位置を参照し位置が有効か無効かを検
索する。すなわち、入力されていない分岐先へ分岐しよ
うとする分岐命令かどうかを分岐命令の実行時に判別で
き、分岐先命令が入力されていない場合は分岐命令を無
効化できる。また、分岐先命令が正しく入力されれば、
その後は正しく分岐命令を実行するので、無効な位置へ
分岐することによる異常発生を防止し、装置を停止させ
ることがない。
〔実施例〕
以下、本発明の一実施例を説明する。第1図は本発明
実施例のブロック構成図で、1は分岐命令や分岐先命令
や演算命令から成るプログラムを格納するプログラムメ
モリ、2は実行すべき命令のプログラムメモリ1内にお
ける格納番地を指示するプログラムカウンタ、3は実行
すべき命令を解読する命令解読部、4は分岐先命令のプ
ログラムメモリ1内における格納番地を記憶する分岐先
実番地テーブル(分岐先位置テーブル)、5は演算器、
6は指示された分岐先命令の格納番地を分岐先実番地テ
ーブル4から取り出す制御を行う分岐先実番地テーブル
制御部、7は分岐命令により分岐動作を行う分岐制御
部、8はプログラムカウンタ2を更新するプログラムカ
ウンタ更新制御部、9はプログラムメモリ1から実行す
べき命令を取り出す命令取出部、10は演算命令により演
算動作を行う演算器、11は入力部や内部データメモリ13
からデータを読み取り、出力部14や内部データメモリ13
にデータを書き込む制御を行うデータ入出力制御部、12
は外部の信号をデータに変換する入力部、13は途中の演
算結果を記憶する内部データメモリ、14はデータを外部
の信号に変換する出力部である。
第2図は、本発明実施例における命令の実行動作の流
れ図であり、第3図はプログラムメモリに格納してある
分岐命令と分岐先命令の構成、及び分岐先実番地テーブ
ルの構成である。この図で41は分岐命令、42は分岐先命
令、43は分岐先の識別を行うためのラベル番号、44は分
岐先命令の識別を行うためのラベル番号、45は分岐先実
番地テーブル4内の分岐先命令の格納番地である。
上記テーブル4への書込方としては、分岐先命令42が
プログラムメモリ1に書き込まれたとき、その格納番地
を分岐先命令実番地テーブル4のラベル番号44に対応す
る位置にも書き込む。分岐先命令42がプログラムメモリ
1から削除されたとき、分岐先命令実番地テーブル4の
分岐先命令42のラベル番号44に対応する位置に、無効な
番地を意味する例えばオール0のような値を書き込む。
分岐先命令42がプログラムメモリ1内で移動されたと
き、分岐先命令実番地テーブル4の分岐先命令42のラベ
ル番号44に対応する位置に移動後の分岐先命令42の格納
番地を格納する。
次に本発明実施例における分岐命令41の実行動作を説
明する。演算器5内部の命令取出部9でプログラムカウ
ンタ2の指示する番地のプログラムメモリ1から命令を
取り出す(ステップ101)。命令解読部3が命令取出部
9から命令を受け取って命令を解読し(ステップ10
2)、その命令が分岐命令41であれば分岐制御部7を作
動させる(ステップ104)。分岐制御部7は、命令取出
部9からラベル番号43を受け取り、分岐先実番地テーブ
ル制御部6を作動させる。分岐先実番地テーブル制御部
6は、ラベル番号43を分岐先実番地テーブル4の番地に
変換し(ステップ105)、分岐先実番地テーブル4から
ラベル番号43に対応する分岐先命令格納番地45を取り出
す(ステップ106)。この格納番地が有効な番地、例え
ばオール0以外の値である場合は、プログラムカウンタ
2にその値を格納する(ステップ108)ことにより分岐
動作を実行する。もし、分岐先実番地テーブル4から取
り出した分岐先命令格納番地45が無効な番地、例えばオ
ール0である場合は(yes)、プログラムカウンタ2に
は、その値を格納しない。一方、命令取出部9は命令解
読部3を作動させることと並行してプログラムカウンタ
更新制御部8を作動させ、命令が分岐命令や分岐先命令
や演算命令であるかどうかにかかわらずプログラムカウ
ンタ2を更新し、その結果、プログラムカウンタ2はプ
ログラムメモリ1から取り出した命令の次の番地を指示
するようにする(ステップ101,103)。すなわち、分岐
命令41を実行したときに、その命令に対応する分岐先命
令格納番地45が無効な番地である場合は、プログラムカ
ウンタ2は、プログラムカウンタ更新制御部8による更
新のみ行われ、次に演算器5が実行する命令は、分岐命
令41の次の番地の命令とすることができる。命令取出部
9により取り出した命令が分岐先命令や演算命令である
場合は、分岐制御部を作動させずに実行するので、次に
演算器5が実行する命令は、実行した命令の次の番地に
格納されている命令となる。
従来の分岐命令の実行動作においては、本発明実施例
における実行動作と比較すると、分岐先実番地テーブル
に記憶する格納番地がいかなる値であっても有効な番地
であるとみなして分岐動作を行う。そのため対応する分
岐先のない分岐命令を実行した場合には、例えばプログ
ラムの存在しないような不定の番地をプログラムカウン
タに格納して分岐し、次に実行する命令が不確定とな
り、演算器が異常動作を引き起こす。また特公昭61−61
413号公報のように分岐が有効であるか無効であるかを
調べて無効の場合はエラー信号を出してシステムを停止
させる。
本実施例によれば、分岐先の指定されていない分岐命
令を実行した場合でも、異常停止したり、プログラムの
存在しない番地の命令を実行することなく、少なくとも
分岐命令の次にある命令を実行し、システム停止を引き
起こすことがないという効果がある。また、制御出力を
保持した状態でプログラムの変更を行った場合、不正な
プログラムや完成していないプログラムが入力されて
も、異常停止を避けることができるので、不用意な変更
による事故の損害を軽減でき、さらに保守が容易とな
る。また、プロセス制御などの連続運転が必要な制御系
への応用を広げることができる。
〔発明の効果〕
本発明によれば、装置を運転した状態でプログラムの
任意な編集操作が可能で、その編集操作により不正なプ
ログラムが入力されてもその部分のプログラムの実行を
阻止して異常動作による装置の停止を防止することによ
り運転の続行が可能なデータ処理装置を得ることができ
る。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図は本発
明実施例における命令実行動作の流れ図、第3図はプロ
グラムメモリに格納してある分岐命令と分岐先命令の構
成、及び分岐先実番地テーブルの構成図である。 1……プログラムメモリ、2……プログラムカウンタ、
3……命令解読部、4……分岐先位置テーブル(分岐先
実番地テーブル)、5……演算器、6……分岐先実番地
テーブル制御部、7……分岐制御部、8……プログラム
カウンタ更新制御部、9……命令取出部、41……分岐命
令、42……分岐先命令、43……分岐命令のラベル番号、
44……分岐先命令のラベル番号、45……分岐先命令の格
納番地
───────────────────────────────────────────────────── フロントページの続き (72)発明者 伊東 厚 千葉県習志野市東習志野7丁目1番1号 株式会社日立製作所習志野工場内 (56)参考文献 特開 昭58−139254(JP,A) 特開 昭60−81647(JP,A) 特開 昭64−33632(JP,A) 特開 昭57−111739(JP,A) 特開 昭62−175827(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/06,9/445,9/30 - 9/36 G06F 9/40 - 9/42 G05B 19/05

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】分岐命令とこの命令の分岐先を意味する分
    岐先命令及びこれ等の命令を含んだプログラムを記憶す
    るプログラムメモリと、実行すべき命令のプログラムメ
    モリ内における格納番地を指示するプログラムカウンタ
    と、上記プログラムメモリ内の上記分岐先命令の格納位
    置を記憶する分岐先位置テーブルと、上記プログラムメ
    モリから読み出された上記分岐命令および上記分岐先命
    令を実行する演算器を備え、上記演算器は上記分岐命令
    実行に際し上記分岐先位置テーブルの内容を参照してそ
    の有効位置内容に基づいて該当の分岐命令を実行すると
    ともに、無効位置内容に基づいて該当の分岐命令以外の
    命令を実行するように構成されたデータ処理装置におい
    て、上記演算器は分岐命令により分岐動作を行う分岐制
    御部とこの分岐制御部内に設けられた分岐先位置テーブ
    ル制御部とを備え、上記プログラムメモリは上記分岐命
    令および上記分岐先命令をそれぞれのラベル番号ととも
    に記憶し、上記分岐先位置テーブルは上記分岐命令のラ
    ベル番号および上記分岐先命令のラベル番号に対応した
    格納番地をそれぞれ有し、上記演算器は分岐先命令が上
    記プログラムメモリに書き込まれたときにその格納番地
    を上記分岐先位置テーブルの上記分岐先命令のラベル番
    号に対応する位置に書き込み、上記分岐先命令が上記プ
    ログラムメモリから削除されたときに無効な番地を意味
    する数値を上記分岐先位置テーブルの上記分岐先命令の
    ラベル番号に対応する位置に書き込み、上記分岐先命令
    が上記プログラムメモリ内で移動されたときに移動後の
    上記分岐先命令の格納番地を上記分岐先位置テーブルの
    上記分岐先命令のラベル番号に対応する位置に書き込
    み、上記分岐先位置テーブル制御部は上記演算部により
    上記プログラムメモリから分岐命令が取り出されて上記
    分岐制御部に上記分岐命令のラベル番号が伝達されたと
    きにこのラベル番号に対応する分岐先命令の格納番地を
    上記分岐先位置テーブルから取り出し、上記分岐制御部
    はこの格納番地が有効な番地である場合には上記プログ
    ラムカウンタにこの番地の値を格納して上記演算器に上
    記分岐命令を実行させ、この格納番地が無効な番地であ
    る場合には上記分岐制御部は上記プログラムカウンタの
    値を上記プログラムメモリから取り出した命令の次の番
    地の値に更新して上記演算器に上記分岐命令の次の番地
    の命令を実行させるよう構成されたことを特徴とするデ
    ータ処理装置。
JP1031044A 1989-02-13 1989-02-13 データ処理装置 Expired - Lifetime JP2865689B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1031044A JP2865689B2 (ja) 1989-02-13 1989-02-13 データ処理装置
EP19900102810 EP0383268A3 (en) 1989-02-13 1990-02-13 Data processor in which branching during program execution is controlled by the contents of a branch address table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1031044A JP2865689B2 (ja) 1989-02-13 1989-02-13 データ処理装置

Publications (2)

Publication Number Publication Date
JPH02211529A JPH02211529A (ja) 1990-08-22
JP2865689B2 true JP2865689B2 (ja) 1999-03-08

Family

ID=12320482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1031044A Expired - Lifetime JP2865689B2 (ja) 1989-02-13 1989-02-13 データ処理装置

Country Status (2)

Country Link
EP (1) EP0383268A3 (ja)
JP (1) JP2865689B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0790551A1 (en) * 1996-02-16 1997-08-20 Koninklijke KPN N.V. Method of modifying the instruction set of a smart card
CN112699067B (zh) * 2021-01-04 2024-05-14 瑞芯微电子股份有限公司 一种指令寻址方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783850A (en) * 1980-11-12 1982-05-25 Mitsubishi Electric Corp Data processing device
JPS57111739A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Read-only memory correction system
JPS58139254A (ja) * 1982-02-10 1983-08-18 Omron Tateisi Electronics Co プログラマブル・コントロ−ラ
JPS6081647A (ja) * 1983-10-12 1985-05-09 Canon Inc プログラム制御方式
JPS6433632A (en) * 1987-07-30 1989-02-03 Pfu Ltd Calling control system for subroutine

Also Published As

Publication number Publication date
JPH02211529A (ja) 1990-08-22
EP0383268A3 (en) 1992-08-26
EP0383268A2 (en) 1990-08-22

Similar Documents

Publication Publication Date Title
JP3004013B2 (ja) サブル―チン呼び出しおよび復帰動作を実行するための装置および方法
JPH0437927A (ja) プロセッサの処理方法
KR102307581B1 (ko) 레지스터 복구 분기 명령
JP2865689B2 (ja) データ処理装置
JP2583525B2 (ja) データ処理装置
JPH03175548A (ja) マイクロプロセッサ及びアドレス制御方式
US6550005B1 (en) Mechanism for recovery from termination of a program instruction due to an exception in a pipeland processing system
JP3108512B2 (ja) 分岐予測装置
JP3490191B2 (ja) 計算機
JPS6232508B2 (ja)
JP3185649B2 (ja) プログラマブルコントローラ
JPH04127326A (ja) 情報処理装置および命令生成方法
JPH03119424A (ja) 情報処理方式及び装置
JP2977951B2 (ja) 演算装置
JPS61175733A (ja) 分岐予測制御方式
JP2727023B2 (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JPH0462649A (ja) 命令キャッシュへの命令データ取込み制御方式
KR950005523B1 (ko) 프로그램어블 로직 콘트롤러의 스텝 런 처리방법
JPS5829057A (ja) レジスタのトレ−ス装置
JPH04167146A (ja) 情報処理装置のアドレストレース方式
JPS63271530A (ja) 命令実行制御方式
JPH05100903A (ja) アドレストレーサ
JPH01263830A (ja) 情報処理装置
JP2001175475A (ja) 計算機とその制御方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071218

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081218

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081218

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091218

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091218

Year of fee payment: 11