JPS6349943A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPS6349943A
JPS6349943A JP19275686A JP19275686A JPS6349943A JP S6349943 A JPS6349943 A JP S6349943A JP 19275686 A JP19275686 A JP 19275686A JP 19275686 A JP19275686 A JP 19275686A JP S6349943 A JPS6349943 A JP S6349943A
Authority
JP
Japan
Prior art keywords
routine
same processing
processing routine
software interrupt
vector value
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.)
Pending
Application number
JP19275686A
Other languages
English (en)
Inventor
Noboru Tamura
昇 田村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP19275686A priority Critical patent/JPS6349943A/ja
Publication of JPS6349943A publication Critical patent/JPS6349943A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、種々の命令およびデータを解析して、プロ
グラムを実行する演算処理装置に関するものである。
〔従来の技術〕
従来、この種の演算処理装置、すなわち中央処理装置(
CPU)において、ソフトウェア割込処理(ソフ)IR
Q処理)は下記のように実行されていた。
まず、プログラムはCPUのメモリ空間に設けられるI
RQベクタテーブルを初期化する。CPUはIRQベク
タテーブルに各々のソフトウェア割込に対応するプログ
ラムの開始アドレスを書き込んでおく。なお、ソフトウ
ェア割込でCPU内のIRQへフタテーブル内のどのベ
クタを利用するかというのは、CPU内でハード的に固
定となっている。
例えば第6図に示したように、ソフトウェア割込要因A
のベクタはrQJ番地、ソフトウェア割込要因Bのベク
タは「4」とし、各要因処理のアドレスを「0」または
「4」番地に書き込んでおき、CPUをソフトウェア割
込可能な状態にしておく。この状態で、ソフトウェア割
込要因Bが発生すると、CPUは現在のプログラムカウ
ンタ。
各種レジスタを保存し、「4」番地の内容を新しいプロ
グラムカウンタとする。したがって、ソフトウェア割込
要因Bのプログラムが実行され、処理終了コマンド、例
えばi RET命令を実行すると、CPUは保存してあ
ったプログラムカウンタおよび各種レジスタを復帰させ
る。
このような動作を実行するCPUにおいて、予期しない
要因のソフトウェア割込が発生したり、予期した要因の
ソフトウェア割込であるが、予期しないタイミングでソ
フトウェア割込が発生する状態が起こると、プログラム
は異常動作を行う。
〔発明が解決しようとする問題点〕
従来、このような状態で異常の原因を追及するのは非常
に困難であり、CPUとは異なる解析装置を使用したり
、プログラム内に状態を解析するだめのトレース手段を
設けなければ、その異常状IEの解析を行えない問題点
があった。
このため、ソフトウェア割込要求が発生し、対応するベ
クタへ処理を移行させる前に固定アドレス内の値をベク
タ値として同一処理ルーチンへ移行させ、その同一処理
ルーチン処理終了後、各対応するソフトウェア割込処理
ルーチンを実行させようとする試みもあるが、全てのソ
フトウェア割込処理ルーチンが同一処理ルーチンを実行
するため処理効率が著しく低下する等の付加的問題が発
生してしまう。
この発明は、上記の問題点を解消するためになされたも
ので、ソフトウェア割込要求が発生した場合に、対応す
るベクタ値と特定アドレスに害き込まれるベクタ値を比
較することにより、同一処理ルーチン実行とソフトウェ
ア割込ルーチンの実行を選択できる演算処理装置を得る
ことを目的とする。
〔問題点を解決するための手段〕
この発明に係る演算処理装置は、各ソフトウェア割込ル
ーチンがメモリエリアの所定アドレスに書き込む同一処
理ルーチンの実行を抑止するための同一処理ルーチンベ
クタ値を参照するベクタ値参照手段と、このベクタ値参
照手段が参照する同一処理ルーチンベクタ値に基づいて
同一処理ルーチンまたは各ソフトウェア割込ルーチンに
移行させるプログラム実行開始制御手段とを設けたもの
である。
〔作用〕
この発明においては、各ソフトウェア割込要求が発生し
た時点で、メモリエリアの所定アドレス理ルーチンまた
は各ソフトウェア割込ルーチンに移行させる。
〔実施例〕
第1図はこの発明の一実施例を示す演算処理装置の構成
を説明するためのブロック図であり、1は汎用レジスタ
アレイで、算術論理演算器(ALU)2またはデータバ
ス3に保持されるデータまたはフラグ情報を保持する。
4はメモリで、メモリ制御回路5が各アドレスに書き込
まれたデータの読み出しを制御している。6はプログラ
ムカウンタで、次に実行する命令を順次指示して行く。
7は命令レジスタで、データバス3を介して授受した命
令コードを保持する。8は命令デコーダで、命令レジス
タ7に保持された命令コードを解析して制御回路9に解
析した命令を転送する。制御回路9はプログラムカウン
タ6の内容を順次更新しながら各命令に応じたデータ処
理を実行させる。10はソフトウェア割込制御回路で、
命令デコーダ8から出力されるメモリ4に書き込まれた
命令のオペレーションコード、例えばSWiに応じてソ
フトウェア割込要求を認識し、オペレーションコードS
Wiのオペランドに応じてベクタテーブルアドレスを演
算し、内部ラッチに該当するアドレスを保持した後、同
一処理ルーチンへ処理を移行させ、同一処理ルーチン終
了後、ラッチに保持されるアドレス、すなわちソフトウ
ェア割込ルーチンへ処理を移行させる。11はこの発明
のベクタ値参照手段をなすベクタ比較回路で、メモリ乙
の所定アドレスに各ソフトウェア割込処理ルーチンが書
き込んだ同一処理ルーチンベクタ値(4バイト)を参照
する。なお、ソフトウェア割込制御回路10はこの発明
のプログラム実行開始制御手段を兼ねており、各ソフト
ウェア割込ルーチン実行時に、ベクタ比較回路11がメ
モリ4の所定アドレスに書き込まれた同一処理ルーチン
ベクタ値に基づいて、プログラム実行の開始アドレスを
同一処理ルーチンまたは各ソフトウェア割込テーブルを
説明する模式図であり、21はアドレス情報で、固定ア
ドレス「0」に同一処理用ベクタが割り付けられ、アド
レス「4」以降にソフトウェア割込用ベクタが割り付け
られた状態を示しである。なお、ベクタは4バイトで構
成されている。
第3図は第1図に示lまたメモリ4に格納されたプログ
ラムを説明するための模式図であり、31〜33は各命
令性で、命令性31はメモリ4の固定アドレスrQJに
同一処理ルーチンベクタ値を書き込ませる命令である。
命令性32はソフトウェア割込ルーチンのベクタを設定
する命令である。命令性33はソフトウェア割込ルーチ
ン、例えばソフトウェア割込ルーチンS W iで、処
理終了後、i RET命令でジャンプする。
第4図は第1図に示したメモリ4のメモリ空間を説明す
るための模式図であり、アドレスrQJは例えば4/へ
イトで構成される同一処理ルーチンベクタ値を格納する
エリアであり、アドレス「4」は未定義の状態を示し、
アドレス「8」には命令性33で設定されたベクタ「8
」により設定されるソフトウェア割込ルーチンの開始ア
ドレスを格納している状態を示しである。
次に第5図を参照しながらこの発明によるソフトウェア
割込ルーチン実行制御動作について説明する。
第5図はこの発明によるソフトウェア割込処理動作の一
例を示すフローチャートである。なお、(1)〜(22
)は各ステップを示す。
第3図に示すプログラムの実行を開始し、命令性31の
オペレーションコードをフェッチするのを制御回路9が
待機しく1)、オペレーションコードをフェッチしたら
、同一処理ルーチンの実行を防止させる同一処理ルーチ
ンベクタ値、すなわちメモリ4のアドレス「0」に、例
えば4バイトのroooooo」を書き込む(2)。次
いで、命令性32のオペレーショコードをフェッチする
のを待機しく3)、オペレーションコードをフェッチし
たら、命令デコーダ7がソフトウェア割込要求が発生さ
れた旨をソフトウェア割込制御回路10へ通知しく4)
、フェッチ終了を待機しく5)、フェッチが終了したら
制御回路9にフェッチ読了を通知する(6)。次いで、
制御回路9が次の命令のフェッチを指示する(7)。次
いで、次の命令性、ナなわち命令性32のオペランド、
例えば「2」をフェッチするのを待機しく8)、フェッ
チしたら、オペランドフxツチ終了をソフトウェア割込
制御回路10へ通知する(8)。
これにより、ソフトウェア割込制御回路10はソフトウ
ェア割込(オペランドが「2」の場合)が要求されてい
ると認知し、汎用レジスタアレイ1とプログラムカウン
タ6の退避を制御回路9へ要求する(10)。制御回路
9は汎用レジスタアレイ1とプログラムカウンタ6の退
避を実行しく11)、退避終了をソフトウェア割込制御
回路10に通知する(12)。次いで、ソフトウェア割
込制御回路10はソフトウェア割込ルーチンのベクタテ
ーブルアドレス、例えば「8」番地を演算しく13)、
その結果を内部ラッチに保持する(14)。
ここで、ソフトウェア割込制御回路10がメモリ4のア
ドレス「0」に書き込まれている同一処理ルーチンベク
タ値を読み出しく15)、ベクタ比較回路11に引き渡
す(16)。次いで、ベクタ比較回路11が同一処理ル
ーチンベクタ値が全て「0」であるかどうかを判断しく
17)、YESならば同一処理ルーチンを実行せずに、
ソフトウェア割込制御回路10はステップ(14)で保
持したベクタテーブルアドレスをプログラムカウンタ6
に送出するとともに(18)、送出終了を制御回路9に
報知する(19)。次いで、第4図に示すソフトウェア
割込ルーチン5Wi2を実行すル(20)。
一方、ステップ(17)の判断で、Noの場合、すなわ
ち同一処理ルーチンを必要と判断したプログラムは、フ
ェッチした内容を同一処理ルーチンへのベクタ値とし、
第1図に示したメモリ4に格納される同一処理ルーチン
を実行しく21)、同一処理ルーチン実行終了後、各ソ
ウトウエア割込処理に移行する(22)。
〔発明の効果〕
以上説明したように、この発明は各ソフトウェア割込ル
ーチンがメモリエリアの所定アドレスに書き込む同一処
理ルーチンの実行を抑止するだめの同一処理ルーチンベ
クタ値を参照するベクタ値参照手段と、このベクタ値参
照手段が参照する同一処理ルーチンベクタ値に基づいて
同一処理ルーチンまたは各ソフトウェア割込ルーチンに
移行させるプログラム実行開始制御手段とを設けたので
、ソフトウェア割込処理ルーチンが正常に起動する場合
には、同一処理ルーチンの実行を防止でき、マシンサイ
クルの効率を大幅に向上できる優れた利点を有する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示す演算処理装置の構成
を説明するブロック図、第2図は、第1図に示した演算
処理装置のベクタテーブルを説明する模式図、第3図は
、第1図に示したメモリに格納されたプログラムを説明
するための模式図、第4図は、第1図に示したメモリの
メモリ空間を説明するための模式図、第5図はこの発明
によるソフトウェア割込処理動作の一例を示すフローチ
ャート、第6図は従来のソフトウェア割込処理動作を説
明するための模式図である。 図中、1は汎用レジスタアレイ、2は算術論理演算部、
3はデータバス、4はメモリ、5はメモリ制御回路、6
はプログラムカウンタ、7は命令レジスタ、8は命令デ
コーダ、9は制御回路、1oはソフトウェア割込制御回
路、11はベクタ比較回路である。 第2図 s3図 第4図 第6図 アドレス

Claims (2)

    【特許請求の範囲】
  1. (1)任意のソフトウェア割込要因が発生した場合に、
    特定のアドレスに指示されるメモリエリアに格納された
    ベクタ情報に基づいて各ソフトウェア割込みルーチン実
    行前に一旦同一処理ルーチンへ移行させる演算処理装置
    において、各ソフトウェア割込ルーチンが前記メモリエ
    リアの所定アドレスに書き込む前記同一処理ルーチンの
    実行を抑止するための同一処理ルーチンベクタ値を参照
    するベクタ値参照手段と、このベクタ値参照手段が参照
    した前記同一処理ルーチンベクタ値に基づいて同一処理
    ルーチンまたは各ソフトウェア割込ルーチンに移行させ
    るプログラム実行開始制御手段とを具備したことを特徴
    とする演算処理装置。
  2. (2)プログラム実行開始制御手段は、同一処理ルーチ
    ンを正常に終了したソフトウェア割込処理ルーチンに同
    一処理ルーチンベクタ値を書き込ませるための書き込み
    命令を付加することを特徴とする特許請求の範囲第(1
    )項記載の演算処理装置。
JP19275686A 1986-08-20 1986-08-20 演算処理装置 Pending JPS6349943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19275686A JPS6349943A (ja) 1986-08-20 1986-08-20 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19275686A JPS6349943A (ja) 1986-08-20 1986-08-20 演算処理装置

Publications (1)

Publication Number Publication Date
JPS6349943A true JPS6349943A (ja) 1988-03-02

Family

ID=16296526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19275686A Pending JPS6349943A (ja) 1986-08-20 1986-08-20 演算処理装置

Country Status (1)

Country Link
JP (1) JPS6349943A (ja)

Similar Documents

Publication Publication Date Title
US4715013A (en) Coprocessor instruction format
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5021991A (en) Coprocessor instruction format
JPH05204709A (ja) プロセッサ
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US5390306A (en) Pipeline processing system and microprocessor using the system
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
US4994961A (en) Coprocessor instruction format
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS6349943A (ja) 演算処理装置
JPH0377137A (ja) 情報処理装置
JPS6349941A (ja) 演算処理装置
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS6242301B2 (ja)
KR920003909B1 (ko) 디버깅지원회로
JPS6349846A (ja) 演算処理装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH04367902A (ja) プログラマブルコントローラ
JPH0795288B2 (ja) マイクロコンピュータ
JPH05250161A (ja) マイクロコンピュータ装置