JPH05216721A - 電子計算機 - Google Patents

電子計算機

Info

Publication number
JPH05216721A
JPH05216721A JP4056241A JP5624192A JPH05216721A JP H05216721 A JPH05216721 A JP H05216721A JP 4056241 A JP4056241 A JP 4056241A JP 5624192 A JP5624192 A JP 5624192A JP H05216721 A JPH05216721 A JP H05216721A
Authority
JP
Japan
Prior art keywords
branch
instruction
entry point
signal
type
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.)
Granted
Application number
JP4056241A
Other languages
English (en)
Other versions
JP2762829B2 (ja
Inventor
Toshio Mitsusaka
敏夫 三坂
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4056241A priority Critical patent/JP2762829B2/ja
Publication of JPH05216721A publication Critical patent/JPH05216721A/ja
Priority to US08/483,882 priority patent/US5499351A/en
Application granted granted Critical
Publication of JP2762829B2 publication Critical patent/JP2762829B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging 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)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 分岐先であることをプログラマが期待してい
ることを示すエントリポイント命令以外への分岐動作が
発生した場合に内部割込みを発生させる。 【構成】 記憶装置に格納された命令をフェッチし実行
する電子計算機において、分岐先行インディケータ13
がデコーダ12からの分岐検出信号14に基づいて分岐
命令が直前に実行されたか否かを示す分岐先行信号16
を出力し、デコーダ12が命令レジスタ11からの命令
コード17がエントリポイント命令以外の場合に分岐先
行信号16が分岐命令が直前に実行されたことを示して
いれば内部割込み発生要求15を出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子計算機に関し、特に
プログラマが期待しない分岐動作を検出する電子計算機
に関する。
【0002】
【従来の技術】電子計算機では、プログラムミスや電気
的ノイズなどにより、制御すなわちプログラムの流れの
狂いが生じる場合がある。この狂いが生じた場合、なる
べく早くそれを検知し暴走を停止させるようにしなけれ
ばならない。
【0003】例えば、パーソナルコンピュータなどで多
く使用されているマイクロプロセッサである米国インテ
ル社製の80386では、そのProgrammer’
sReference Manualによると、各プロ
グラムセグメントに実行可能なアドレスの上限(セグメ
ントリミットと呼ばれる)を設け、それに違反制御が及
んだ場合は内部割込みが発生するようになっている。ま
た、ページングモードにおいては、各ページに実行可能
/禁止を属性として持たせ、実行禁止であるページに制
御が及んだ場合には内部割込みが発生するようになって
いる。さらに、未定義である命令コードに遭遇した場合
や実行不可能なオペランドが指定された命令に遭遇した
場合には、内部割込みが発生するようになっている。
【0004】このように、従来の電子計算機では、制御
が移る際にセグメントやページの属性(実行可能なアク
セスの上限,実行の可/非)によって検査を行い、さら
に未定義命令コードや不正なオペランドアクセスの検出
を行うことで暴走を止めるようにしている。
【0005】
【発明が解決しようとする課題】上述した従来の電子計
算機では、制御が移る際にセグメントやページの属性に
よって検査を行い、さらに未定義命令コードや不正なオ
ペランドアクセスの検出を行うことで暴走を止めるよう
にしているので、プログラマが期待しない制御の移行で
あっても実行可能なセグメントまたはページであり実行
可能なアドレスであれば、チェックにかかわらずに制御
移行先のコード列の中の内部割込みが発生する命令に遭
遇するまで暴走を続けてしまうという欠点があった。こ
のため、電子計算機の停止後に暴走の原因をつかもうと
しても、暴走後に走行している命令が多いために判明し
にくいことが多かった。
【0006】本発明の目的は、上述の点に鑑み、分岐先
であることをプログラマが期待していることを示す命令
(以下、エントリポイント命令という)を持ち、エント
リポイント命令以外への分岐動作が発生した場合には内
部割込みを発生するようにした電子計算機を提供するこ
とにある。
【0007】また、本発明の他の目的は、エントリポイ
ント命令中に該アドレスに制御を到らしめると期待され
る分岐命令の種類をコード化して格納するフィールドを
持ち、エントリポイント命令への期待した種類の分岐命
令による分岐動作以外の分岐動作が行われた場合には内
部割込みを発生するようにした電子計算機を提供するこ
とにある。
【0008】
【課題を解決するための手段】本発明の電子計算機は、
記憶装置に格納された命令をフェッチし実行する電子計
算機において、分岐命令が直前に実行されたか否かを示
す分岐先行信号を出力する分岐先行インディケータと、
命令がエントリポイント命令以外の場合に前記分岐先行
信号が分岐命令が直前に実行されたことを示していれば
内部割込み発生要求を出力するデコーダとを有する。
【0009】また、本発明の電子計算機は、記憶装置に
格納された命令をフェッチし実行する電子計算機におい
て、直前に実行された分岐命令の種類を示す先行分岐種
類信号を出力する分岐種類レジスタと、命令がある種類
の分岐命令からの分岐を期待しているエントリポイント
命令の場合に前記先行分岐種類信号が該種類の分岐命令
が直前に実行されたことを示していなければ内部割込み
発生要求を出力するデコーダとを有する。
【0010】
【作用】本発明の電子計算機では、分岐先行インディケ
ータが分岐命令が直前に実行されたか否かを示す分岐先
行信号を出力し、デコーダが命令がエントリポイント命
令以外の場合に分岐先行信号が分岐命令が直前に実行さ
れたことを示していれば内部割込み発生要求を出力す
る。
【0011】また、本発明の電子計算機では、分岐種類
レジスタが直前に実行された分岐命令の種類を示す先行
分岐種類信号を出力し、デコーダが命令がある種類の分
岐命令からの分岐を期待しているエントリポイント命令
の場合に先行分岐種類信号が該種類の分岐命令が直前に
実行されたことを示していなければ内部割込み発生要求
を出力する。
【0012】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0013】図1は、本発明の第1実施例に係る電子計
算機の関連する部分を示すブロック図である。第1実施
例の電子計算機は、命令レジスタ11と、デコーダ12
と、分岐先行インディケータ13とを含んで構成されて
いる。なお、図1中、符号14は分岐検出信号、15は
内部割込み発生要求、16は分岐先行信号、17は命令
コードをそれぞれ示す。
【0014】図2は、第1実施例の電子計算機における
エントリポイント命令の一例を示す図である。このエン
トリポイント命令は、命令長が1バイトであり、オペレ
ーションコードのフィールド(オペレーションコードと
しては、プログラム中に現れやすいものを避けて一意に
決まっていれば実施する上で支障はない。本例では10
10101としている)と、合流エントリポイント(図
3(a)のフローチャートのようにフロー中の合流点)
であることを期待しているか非合流エントリポイント
(図3(b)のフローチャートのようにフローの先頭で
ある点)であることを期待しているかを示すフィールド
とを持つ。以下、この合流エントリポイント/非合流エ
ントリポイントを示すフィールドをJフィールドと呼
び、J=1のときに合流エントリポイントを、J=0の
ときに非合流エントリポイントを示しているものとす
る。
【0015】図4は、デコーダ12のデコード内容を真
理値表で表した図である。
【0016】次に、このように構成された第1実施例の
電子計算機の動作について説明する。
【0017】デコーダ12は、命令レジスタ11に格納
された命令コード17と、分岐命令が直前に実行された
か否かを示す分岐先行インディケータ13の出力信号で
ある分岐先行信号16とを入力しており、図4に示すよ
うにデコードを行う。
【0018】すなわち、J=0であるエントリポイント
命令の場合には、デコーダ12は、分岐先行信号16が
“0”であれば(分岐命令が直前になければ)、内部割
込み発生要求15に“1”を出力し、分岐先行信号16
が“1”であれば(分岐命令が直前にあれば)、内部割
込み発生要求15に“0”を出力する。また、J=1で
あるエントリポイント命令の場合には、デコーダ12
は、分岐先行信号16が“0”であるか“1”であるか
にかかわらず(分岐命令が直前にあるか否かにかかわら
ず)、内部割込み発生要求15に“0”を出力する。
【0019】分岐命令の場合には、デコーダ12は、分
岐先行信号16が“0”であれば(分岐命令が直前にな
ければ)、分岐検出信号14に“1”を出力し、分岐先
行信号16が“1”であれば(分岐命令が直前にあれ
ば)、内部割込み発生要求15に“1”を出力する。
【0020】エントリポイント命令でなく分岐命令でも
ない場合には、デコーダ12は、分岐先行信号16が
“0”であれば(分岐命令が直前になければ)、内部割
込み発生要求15に“0”を出力し、分岐先行信号16
が“1”であれば(分岐命令が直前にあれば)、内部割
込み発生要求15に“1”を出力する。
【0021】分岐検出信号14は、分岐先行インディケ
ータ13に入力され、その値は次の命令のデコードが終
わるまで保持される。
【0022】内部割込み発生要求信号15は、内部割込
みを発生させるための信号であるが、内部割込みを発生
させる方法は既知であるので、ここでは改めて示さな
い。
【0023】以上述べたようにして、第1実施例の電子
計算機では、分岐命令の分岐先にエントリポイント命令
が置かれていないことと、非合流エントリポイントに分
岐せずに制御が到ったこととを検出し、内部割込みを発
生させることができる。
【0024】図5は、本発明の第2実施例に係る電子計
算機の関連する部分を示すブロック図である。第2実施
例の電子計算機は、命令レジスタ51と、デコーダ52
と、分岐種類レジスタ53とを含んで構成されている。
なお、図5中、符号54は分岐種類信号、55は内部割
込み発生要求、56は先行分岐種類信号、57は命令コ
ードをそれぞれ示す。
【0025】図6は、第2実施例の電子計算機における
エントリポイント命令の一例を示す図である。このエン
トリポイント命令は、命令長が1バイトであり、オペレ
ーションコードのフィールドと、制御を到らしめると期
待される分岐命令を示すフィールド(本例では、条件分
岐,無条件分岐,サブルーチンコールおよびサブルーチ
ンリターンに対応するビットが設けてあり、期待される
分岐命令に対応したビットを“1”と設定する)と、合
流エントリポイント/非合流エントリポイントを示すJ
フィールドとからなる。
【0026】図7は、デコーダ52のデコード内容を真
理値表で表した図である。
【0027】次に、このように構成された第2実施例の
電子計算機の動作について説明する。
【0028】デコーダ52は、命令レジスタ51に格納
された命令コード57と、直前に実行された分岐命令の
種類を示す分岐種類レジスタ53の出力信号である先行
分岐種類信号56とを入力しており、図7に示すように
デコードを行う。
【0029】すなわち、命令が分岐命令の場合には、デ
コーダ52は、先行分岐種類信号56がオール0のとき
に(直前に分岐命令が実行されていないときに)、分岐
種類信号54の該分岐命令の種類に対応するビットに
“1”を出力し、先行分岐種類信号56がオール0以外
のときに(直前に分岐命令が実行されているときに)、
内部割込み発生要求55に“1”を出力する。
【0030】命令がエントリポイント命令である場合に
は、デコーダ52は、先行分岐種類信号56がオール0
以外のときに(直前に分岐命令が実行されているとき
に)、該分岐命令の種類に対応するビットが“1”であ
るエントリポイント命令であるときのみに内部割込み発
生要求55に“0”を出力し、それ以外のときには内部
割込み発生要求55に“1”を出力する。
【0031】また、命令がJ=0であるエントリポイン
ト命令の場合には、デコーダ52は、先行分岐種類信号
56がオール0のときに(直前に分岐命令が実行されて
いないときに)、内部割込み発生要求55に“1”を出
力し、先行分岐種類信号56がオール0以外のときに
(直前に分岐命令が実行されているときに)、内部割込
み発生要求55に“0”を出力する。さらに、J=1で
あるエントリポイント命令の場合には、デコーダ52
は、先行分岐種類信号56がオール0であるかオール0
以外であるかにかかわらず(直前に分岐命令が実行され
ているか否かにかかわらず)、内部割込み発生要求55
に“0”を出力する。
【0032】命令がエントリポイント命令でなく分岐命
令でもない命令である場合には、デコーダ52は、先行
分岐種類信号56がオール0のときに(直前で分岐命令
が実行されていないときに)、内部割込み発生要求55
に“0”を出力し、先行分岐種類信号56がオール0以
外のときに(直前で分岐命令が実行されているとき
に)、内部割込み発生要求55に“1”を出力する。
【0033】分岐種類信号54は、分岐種類レジスタ5
3に入力され、その値は次の命令のデコードが終わるま
で保持される。
【0034】内部割込み発生要求信号55は、内部割込
みを発生させるための信号であるが、内部割込みを発生
させる方法は既知であるので、ここでは改めて示さな
い。
【0035】以上述べたようにして、第2実施例の電子
計算機では、分岐命令の分岐先にエントリポイント命令
が置かれていないことと、分岐の種類が期待通りでない
ことと、非合流エントリポイントに分岐せずに制御が到
ったこととを検出し、内部割込みを発生させることがで
きる。
【0036】
【発明の効果】以上説明したように本発明は、エントリ
ポイント命令以外への分岐動作が発生したことを検出し
て内部割込みを発生させるようにしたことにより、プロ
グラムの暴走を早く検出して停止させることができ、停
止後の原因解析が行いやすく、したがって不具合の修正
を容易に行うことができるという効果がある。
【0037】さらに、本発明は、エントリポイント命令
への期待した種類の分岐命令による分岐動作以外の分岐
動作が発生したことを検出して内部割込みを発生させる
ようにしたことにより、プログラムの暴走を早く検出し
て停止させることができ、停止後の原因解析が行いやす
く、したがって不具合の修正を容易に行うことができる
という効果がある。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る電子計算機の関連す
る部分を示すブロック図である。
【図2】第1実施例の電子計算機におけるエントリポイ
ント命令の一例を示す図である。
【図3】本実施例の電子計算機における合流エントリポ
イントと非合流エントリポイントとを説明するための図
である。
【図4】図1中のデコーダのデコード内容を真理値表で
表した図である。
【図5】本発明の第2実施例の電子計算機の関連する部
分を示すブロック図である。
【図6】第2実施例の電子計算機におけるエントリポイ
ント命令の一例を示す図である。
【図7】図5中のデコーダのデコード内容を真理値表で
表した図である。
【符号の説明】
11 命令レジスタ 12 デコーダ 13 分岐先行インディケータ 14 分岐検出信号 15 内部割込み発生要求 16 分岐先行信号 17 命令コード 51 命令レジスタ 52 デコーダ 53 分岐種類レジスタ 54 分岐種類信号 55 内部割込み発生要求 56 先行分岐種類信号 57 命令コード

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 記憶装置に格納された命令をフェッチし
    実行する電子計算機において、 分岐命令が直前に実行されたか否かを示す分岐先行信号
    を出力する分岐先行インディケータと、 命令がエントリポイント命令以外の場合に前記分岐先行
    信号が分岐命令が直前に実行されたことを示していれば
    内部割込み発生要求を出力するデコーダとを有すること
    を特徴とする電子計算機。
  2. 【請求項2】 記憶装置に格納された命令をフェッチし
    実行する電子計算機において、 直前に実行された分岐命令の種類を示す先行分岐種類信
    号を出力する分岐種類レジスタと、 命令がある種類の分岐命令からの分岐を期待しているエ
    ントリポイント命令の場合に前記先行分岐種類信号が該
    種類の分岐命令が直前に実行されたことを示していなけ
    れば内部割込み発生要求を出力するデコーダとを有する
    ことを特徴とする電子計算機。
JP4056241A 1992-02-06 1992-02-06 電子計算機 Expired - Lifetime JP2762829B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4056241A JP2762829B2 (ja) 1992-02-06 1992-02-06 電子計算機
US08/483,882 US5499351A (en) 1992-02-06 1995-06-07 Arrangement of detecting branch error in a digital data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4056241A JP2762829B2 (ja) 1992-02-06 1992-02-06 電子計算機

Publications (2)

Publication Number Publication Date
JPH05216721A true JPH05216721A (ja) 1993-08-27
JP2762829B2 JP2762829B2 (ja) 1998-06-04

Family

ID=13021603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4056241A Expired - Lifetime JP2762829B2 (ja) 1992-02-06 1992-02-06 電子計算機

Country Status (2)

Country Link
US (1) US5499351A (ja)
JP (1) JP2762829B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193586A (ja) * 2006-01-19 2007-08-02 Nec Corp プログラムテスト支援システム、方法及びプログラム
JP2011123658A (ja) * 2009-12-10 2011-06-23 Toyota Central R&D Labs Inc ソフトウェア検査装置及びプログラム
JP2016115033A (ja) * 2014-12-12 2016-06-23 富士通株式会社 命令実行制御装置、命令実行制御方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
US7143240B2 (en) * 2003-10-31 2006-11-28 International Business Machines Corporation System and method for providing a cost-adaptive cache

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5622148A (en) * 1979-07-31 1981-03-02 Fujitsu Ltd Detecting system for program runaway
JPS59174955A (ja) * 1983-03-25 1984-10-03 Fujitsu Ltd 情報処理装置の分岐命令デバツグ方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673573A (en) * 1970-09-11 1972-06-27 Rca Corp Computer with program tracing facility
US3728690A (en) * 1971-08-26 1973-04-17 Honeywell Inf Systems Branch facility diagnostics
EP0150177A1 (en) * 1983-07-11 1985-08-07 Prime Computer, Inc. Data processing system
US5008807A (en) * 1984-07-05 1991-04-16 Texas Instruments Incorporated Data processing apparatus with abbreviated jump field
US4920538A (en) * 1985-06-28 1990-04-24 International Business Machines Corporation Method of checking the execution of microcode sequences
US5014276A (en) * 1989-02-06 1991-05-07 Scientific Atlanta, Inc. Convolutional encoder and sequential decoder with parallel architecture and block coding properties
US5155843A (en) * 1990-06-29 1992-10-13 Digital Equipment Corporation Error transition mode for multi-processor system
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5622148A (en) * 1979-07-31 1981-03-02 Fujitsu Ltd Detecting system for program runaway
JPS59174955A (ja) * 1983-03-25 1984-10-03 Fujitsu Ltd 情報処理装置の分岐命令デバツグ方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193586A (ja) * 2006-01-19 2007-08-02 Nec Corp プログラムテスト支援システム、方法及びプログラム
JP2011123658A (ja) * 2009-12-10 2011-06-23 Toyota Central R&D Labs Inc ソフトウェア検査装置及びプログラム
JP2016115033A (ja) * 2014-12-12 2016-06-23 富士通株式会社 命令実行制御装置、命令実行制御方法

Also Published As

Publication number Publication date
JP2762829B2 (ja) 1998-06-04
US5499351A (en) 1996-03-12

Similar Documents

Publication Publication Date Title
KR101016713B1 (ko) 데이터 처리 시스템 내의 예측 명령
US6604188B1 (en) Pipeline replay support for multi-cycle operations wherein all VLIW instructions are flushed upon detection of a multi-cycle atom operation in a VLIW instruction
KR910001538A (ko) 분기명령 실행장치 및 분기명령 트레이싱방법
KR20180126002A (ko) 프로그램 루프 제어
KR970005021A (ko) 2개의 명령을 동시에 실행할 수 있는 데이타프로세서
KR20180126003A (ko) 분기 명령
KR20180126519A (ko) 프로그램 루프 제어
JPH05216721A (ja) 電子計算機
US6990569B2 (en) Handling problematic events in a data processing apparatus
JPH05257815A (ja) 中央処理装置
EP0525672A2 (en) Microprocessor with program tracing
JP3585940B2 (ja) 計算機
JP2503223B2 (ja) 先行制御方式
JP3114909B2 (ja) プログラマブルコントローラの演算エラー処理方法
JPH06202907A (ja) デバッグ支援装置
JPH0258648B2 (ja)
JPH04290130A (ja) プロセッサのエラー管理方式
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式
JPS62144246A (ja) 計算機
JP2001084149A (ja) 情報処理装置における割り込み処理方式
JPH05108542A (ja) データ処理装置
JPS63221428A (ja) デ−タ処理装置
JPH11242613A (ja) マイクロプロセッサ
JPS6083149A (ja) コンピユ−タ
JPH10333936A (ja) プロセッサの異常分岐検出方法