JP2001134449A - データ処理装置とその制御方法 - Google Patents

データ処理装置とその制御方法

Info

Publication number
JP2001134449A
JP2001134449A JP31542399A JP31542399A JP2001134449A JP 2001134449 A JP2001134449 A JP 2001134449A JP 31542399 A JP31542399 A JP 31542399A JP 31542399 A JP31542399 A JP 31542399A JP 2001134449 A JP2001134449 A JP 2001134449A
Authority
JP
Japan
Prior art keywords
register
instruction
interrupt
unit
general
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.)
Withdrawn
Application number
JP31542399A
Other languages
English (en)
Inventor
Hideo Miyake
英雄 三宅
Atsuhiro Suga
敦浩 須賀
Yasuki Nakamura
泰基 中村
Yoshimasa Takebe
好正 竹部
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31542399A priority Critical patent/JP2001134449A/ja
Priority to EP00308521A priority patent/EP1104899A3/en
Priority to KR1020000060912A priority patent/KR20010067336A/ko
Publication of JP2001134449A publication Critical patent/JP2001134449A/ja
Withdrawn 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
    • 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/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation

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)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 高速な割込み処理を実現するデータ処理装置
とその制御方法を提供する。 【解決手段】 メモリMRから読み出された命令を実行
する実行部33と、実行部に接続された汎用レジスタ1
3とを含むデータ処理装置であって、実行部に接続され
たシャドウレジスタ29と、命令に応じてデータの割り
込み処理を行うときには汎用レジスタ13に割り当てら
れたアドレスの一部又は全部をシャドウレジスタ29に
割り当てるセレクタ26,28を備えたことを特徴とす
るデータ処理装置を提供する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理装置とそ
の制御方法に関し、さらに詳しくは、データの割り込み
処理が実行可能なデータ処理装置とその制御方法に関す
るものである。
【0002】
【従来の技術】一般に、計算機システムでは、プログラ
ムに記述されていない、あるいは記述できない不測の事
態に対処する必要がある。また、ハードウェアやプログ
ラムの本来の機能に依らない動作(異常やエラー、例外
など)を検出し、それに対処する必要がある。さらには
ハードウェア機構と基本ソフトウェア、特にオペレーテ
ィングシステム(OS)、との通信手段を提供する必要
があり、プロセッサやメモリなどの共用ハードウェア資
源の利用要求の競合を解決(スケジューリング)して、
それらの効率的な利用を図る必要もある。また、例えば
プロセッサと入出力装置、あるいはネットワーク接続さ
れたプロセッサ相互等におけるように、互いに非同期に
動作している資源を通信などのためにあるタイミングで
同期させる必要がある。
【0003】以上のような要請により、計算機システム
ではプログラムとして明示される本来の命令実行順序
を、強制的にかつ動的に変える手段として割り込み処理
を実行している。図1は、従来のプロセッサの構成を示
す図である。図1に示されるように、このプロセッサは
命令読出部1と、実行部3と、レジスタ制御部5と、割
込制御部6と、メモリMRとを備える。そして、命令読
出部1はプログラムカウンタ9を含み、レジスタ制御部
5は汎用レジスタ13と、レジスタEPCR,EPS
R,PSRとを含む。ここで、命令読出部1はメモリM
R及び割込制御部6に接続され、実行部3は命令読出部
1とメモリMR及びレジスタ制御部5に接続され、レジ
スタ制御部5は割込制御部6に接続される。
【0004】図2は、図1に示されたプロセッサの構成
をより詳しく示す図である。図2に示されるように、命
令読出部1には命令制御部15と、命令レジスタ17
と、プログラムカウンタ9とが含まれ、実行部3にはデ
コード部19と、実行制御部21と、割込復帰制御部2
3とが含まれる。また、レジスタ制御部5にはレジスタ
EPCR,EPSR,PSRと汎用レジスタ13とが含
まれ、割込制御部6には割込制御回路24が含まれる。
【0005】ここで、命令制御部15はメモリMRに接
続され、プログラムカウンタ9及び命令レジスタ17は
命令制御部15に接続され、デコード部19は命令レジ
スタ17に接続される。また、実行制御部21はメモリ
MRに接続され、実行制御部21及び割込復帰制御部2
3はデコード部19及び汎用レジスタ13に接続され、
汎用レジスタ13はさらにデコード部19に接続され
る。また、レジスタEPCR,EPSR,PSRは割込
復帰制御部23と割込制御回路24との間に接続され
る。また割込制御回路24は、プログラムカウンタ9及
び命令制御部15と実行制御部21及び割込復帰制御部
23に接続される。
【0006】以下において、上記のような構成を有する
従来のプロセッサの動作を説明する。命令制御部15は
プログラムカウンタ9から供給された読み出すべき命令
語のアドレスに基づいて、該命令語をメモリMRから読
み出してデコード部19に供給する。このとき、命令読
出しの際に割込みを検出した場合には、割込制御回路2
4へ割込み信号を供給して通知する。また、プログラム
カウンタ9は、割込み処理における分岐先アドレス等が
供給された場合にはそのアドレスを保持し、それ以外の
場合には次の命令を示すべくインクリメントされる。従
って割込み処理においては、命令制御部15はプログラ
ムカウンタ9から供給された分岐先アドレスに基づい
て、該分岐先アドレスに対応する命令語をメモリMRか
ら読み出す。
【0007】そして、実行部3はデコード部19に供給
された命令を実行する。例えば、演算命令が供給された
場合には、実行制御部21は汎用レジスタ13から読み
出した値に基づき演算を行い、その結果を汎用レジスタ
13へ書込む。また、分岐命令が供給された場合におい
て分岐が成立するときには、実行制御部21は分岐先ア
ドレスをプログラムカウンタ9に供給する。また、ロー
ド命令が供給された場合には、実行制御部21は汎用レ
ジスタ13から読み出した値から実効(メモリ)アドレ
スを求め、求められた実効アドレスに対応するメモリM
R領域から読み出したデータを汎用レジスタ13へ書込
む。また、ストア命令が供給された場合には、実行制御
部21は汎用レジスタ13から読み出した値から実効
(メモリ)アドレスを求め、求められた実効アドレスに
対応するメモリMR領域へ汎用レジスタ13から読み出
したデータを書込む。また、割込み復帰命令が供給され
た場合には、割込復帰制御部23はレジスタEPSRの
値をレジスタPSRへ書き込み割込み前の状態に戻ると
共に、レジスタEPCRに格納されたデータを読出して
分岐先アドレスとしてプログラムカウンタ9へ供給す
る。なお、命令実行の際に割込みを検出した場合には、
実行制御部21及び割込復帰制御部23は割込み信号を
割込制御回路24に供給する。
【0008】ここで、上記レジスタEPCRは割込みか
らの復帰先を示すアドレスを保持するレジスタであり、
割込み発生時に設定される。また、レジスタPSRはプ
ロセッサの状態値等を保持するレジスタである。また、
レジスタEPSRは割込み発生前のプロセッサの状態値
を保持するレジスタであり、割込み発生時に設定され
る。
【0009】割込制御回路24は、命令読出部1または
実行部3から供給された割り込み信号に応じて、割り込
みからの復帰先を示すアドレスをレジスタEPCRへ供
給し、割込み発生前のプロセッサの状態値をレジスタE
PSRへ供給する。そして、割り込みが発生した際のプ
ロセッサの状態値をレジスタPSRへ書込む。また割込
制御回路24は、発生した割り込みに対応する分岐先ア
ドレスを命令読出部1へ供給する。
【0010】なお上記のようなプロセッサは、あるOS
上におけるソフトウェアの起動により通常のデータ処理
が行われるユーザ状態と、該OS自体を操作可能なスー
パーバイザ状態とを有し、上記割込みの発生によりユー
ザ状態からスーパーバイザ状態へ遷移し、その逆に該割
込みからの復帰によってユーザ状態へ戻るものである。
【0011】上記のように、割込みが発生するとプログ
ラムとして明示される本来の命令実行順序とは別の処理
(割込み処理)へ制御フローが分岐して、割込み処理プ
ログラム(割込みハンドラとも呼ばれる)が実行され
る。そして、割込み処理プログラムの末尾に記されてい
る割込み復帰手順に従い、本来実行していた元のプログ
ラムの実行順序に復帰する。
【0012】このような一連の動作における割込み処理
プログラムの実行においては、プロセッサ内部のレジス
タ等の資源が利用されるため、該資源が保持している値
が破壊されることになる。よって、本来実行していたプ
ログラムの実行順序に正しく復帰するには、破壊される
おそれがある資源を退避し、かつ復元することで該破壊
を防ぐ必要がある。このような資源をコンテキスト(co
ntext )と呼び、コンテキストを退避、復元することを
コンテキスト・スイッチ(context switch)という。
【0013】そして、このような割込み処理プログラム
の実行時間が短くなることは、割込み処理を高速化する
ことになり、計算機システムの処理能力の向上につなが
ることになる。図3は、従来の割り込み処理プログラム
の構成を示す図である。図3に示されるように、この割
込み処理プログラムはプログラムとして明示される本来
の命令実行順序のコンテキストをメモリへ退避させるた
めの退避部CTXTSAVEと、発生した割込みに対応した処理
を行う処理部HANDLER と、プログラムとして明示される
本来の命令実行順序のコンテキストをメモリから復元す
る復元部CTXTRESTORE と、割込み復帰命令により割込み
から復帰するための復帰部RETTから構成され、退避部CT
XTSAVE、処理部HANDLER 、復元部CTXTRESTORE 、復帰部
RETTの順に実行される。
【0014】ここで、退避部CTXTSAVEと復元部CTXTREST
ORE の実行においては、コンテキストをメモリへ退避す
ることになるため、メモリへのロードストア操作を伴っ
たものとなる。また、処理部HANDLER にてシステムコー
ル(system call )、SVC(supervisor call )とい
った、ハードウェア機構と基本ソフトウェア(特にO
S)の通信手段を実現する場合にも、コンテキストをメ
モリへ退避するため、メモリへのロードストア操作を伴
ったものとなる。
【0015】しかしながら、一般にメモリへのロードス
トア操作にかかる時間は比較的長いため、メモリへのロ
ードストア操作の回数が多くなるこのようなデータ処
理、すなわち割り込み処理プログラムの実行において
は、所要時間が増大するという問題がある。
【0016】
【発明が解決しようとする課題】本発明は、上述の問題
点を解消するためになされたものであり、高速な割込み
処理を実現するデータ処理装置とその制御方法を提供す
ることを目的とする。
【0017】
【課題を解決するための手段】上記の目的は、メモリか
ら読み出された命令を実行する実行部と、実行部に接続
された汎用レジスタとを含むデータ処理装置であって、
実行部に接続された記憶部と、命令に応じてデータの割
り込み処理を行うときには、汎用レジスタに割り当てら
れたアドレスの一部又は全部を記憶部に割り当てるアド
レス切換部とを備えたことを特徴とするデータ処理装置
を提供することにより達成される。このような手段によ
れば、割込み処理を実行する前のメモリへのロードスト
ア操作の回数が低減される。ここで、上記データ処理装
置は、命令に応じた割り込み処理が行われているか否か
により、異なる値が設定される状態値設定部をさらに備
え、アドレス切換部は、状態値設定部に設定された値に
応じて、汎用レジスタに割り当てられたアドレスの一部
又は全部を記憶部に割り当てることを特徴とするものと
することができる。このような手段によればさらに、多
重に割り込み処理を行うデータ処理が実現できる。
【0018】また、上記データ処理装置は、割り込み処
理を行うときに汎用レジスタに格納されているデータ
を、記憶部に記憶された退避先指定アドレスに応じてメ
モリに退避させるデータ退避部をさらに備えたものとす
ることができる。また、本発明の目的は、メモリから読
み出された命令を実行する実行部と、実行部に接続され
た汎用レジスタ及び記憶部を備えたデータ処理装置の制
御方法であって、命令に応じてデータの割り込み処理を
行うときには、汎用レジスタに割り当てられたアドレス
の一部又は全部を記憶部に割り当てることを特徴とする
データ処理装置の制御方法を提供することにより達成さ
れる。ここで、割り込み処理を行うときに汎用レジスタ
に格納されているデータを、記憶部に記憶された退避先
指定アドレスに応じてメモリへ退避させることができ
る。
【0019】
【発明の実施の形態】以下において、本発明の実施の形
態を図面を参照して詳しく説明する。なお、図中同一符
号は同一又は相当部分を示す。本発明の実施の形態にお
いては、コンテキストの対象となる汎用レジスタに対し
て、シャドウレジスタと呼ばれるレジスタが併設され
る。そして、汎用レジスタに対する操作においては、プ
ロセッサの動作に応じた操作対象、すなわち汎用レジス
タあるいはシャドウレジスタが選択される。また、上記
シャドウレジスタへのデータの読み書きを実行している
際に、シャドウレジスタに対応している汎用レジスタを
読み書きする回路も備えられる。
【0020】ここで、本発明の実施の形態に係るプロセ
ッサによる割込み処理の基本的方法について、従来との
対比において説明する。図4は、従来のプロセッサによ
る割り込み処理を説明するための図である。図4(a)
に示されるように、例えばプログラムPA に明示された
本来の命令実行順序の途中で割込みが発生し、プログラ
ムPB により割込み処理がなされる場合を考える。ここ
で、割込みが発生した時には汎用レジスタ13の全ての
領域がプログラムPA の実行のために使われているた
め、汎用レジスタ13に保持されているデータの退避先
を指定するアドレスさえ、汎用レジスタ13に書込むこ
とができない。このような場合に退避先を指定するアド
レスが汎用レジスタ13に書込まれると、その時点で元
のデータが破壊されることになるからである。
【0021】従って図4(b)に示されるように、汎用
レジスタ13上に作業用の領域を確保するため、例えば
汎用レジスタ13の領域A2に保持されたデータを、ま
ず最初にメモリMRにロードしストアする。そして次
に、図4(c)に示されるように、汎用レジスタ13に
設けられた作業可能領域に退避先を指定する退避先アド
レスが格納され、その退避先アドレスに基づいて汎用レ
ジスタ13の領域A1,A3に保持されたデータがメモ
リMRにロードストアされ、かつ、暫定的にメモリMR
に置かれた領域A2のデータが適正な位置に移動され
る。
【0022】このような方法により、従来のプロセッサ
における割り込み処理においては、割込みが発生した時
に汎用レジスタ13の領域A1〜A3に格納されている
データが、そのままの状態(順序)でメモリMRに退避
された上で、汎用レジスタ13がプログラムPB による
割込み処理に使用される。以上のような従来の割込み処
理の方法に対して、本実施の形態に係る割込み処理の方
法を図5を参照しつつ説明する。図5(a)に示される
ように、本実施の形態においては汎用レジスタ13の他
に、作業用の領域を確保するため上記のようにシャドウ
レジスタ29を設ける。そして例えば、汎用レジスタ1
3のアドレス領域AGRには、領域A1,A3に保持さ
れているデータに対応するアドレスa1,a3が含まれ
ると共に、領域A2に対応するアドレス領域が作業用ア
ドレス領域に充当され、この作業用アドレス領域へのア
クセスはシャドウレジスタ29へのアクセスとされる。
なお、このときシャドウレジスタ29に対応するアドレ
ス領域ASRには、割込み発生時に汎用レジスタ13の
領域A2に保持されているデータに対するアドレスa2
が充当される。
【0023】そして、図5(a)に示されるように、上
記作業用アドレス領域に対応するシャドウレジスタ29
に退避先アドレスが格納される。ここで図5(b)に示
されるように、この退避先アドレスに基づいて、割込み
が発生した時に汎用レジスタ13の領域A1〜A3に格
納されているデータが、以下に説明する実行制御部21
の動作により、そのままの状態(順序)でメモリMRに
退避される。
【0024】従って、本発明の実施の形態に係る割込み
処理の方法によれば、図5(a)に示されるようなアド
レスの割り当て(アドレスの切換)を行うことにより、
図4(b)に示されたメモリMRへのロードストア動作
が不要になるため、従来より高速な割込み処理が実現さ
れる。以下においては、このような割込み処理を実現す
るための具体的なプロセッサについて説明する。 [実施の形態1]図6は、本発明の実施の形態1に係る
プロセッサの構成を示す図である。図6に示されるよう
に、このプロセッサは命令読出部1と、実行部33と、
レジスタ制御部35と、割込制御部7と、メモリMRと
を備える。そして、命令読出部1はプログラムカウンタ
9を含み、レジスタ制御部35は汎用レジスタ13と、
レジスタEPCR,EPSR,PSRの他に、シャドウ
レジスタ29と、AND回路27と、セレクタ26,2
8と、判定部30とを含む。ここで、命令読出部1はメ
モリMR及び割込制御部7に接続され、実行部33は命
令読出部1とメモリMR及びレジスタ制御部35に接続
され、レジスタ制御部35は割込制御部7に接続され
る。
【0025】図7は、図6に示されたプロセッサの構成
をより詳しく示す図である。図7に示されるように、命
令読出部1には命令制御部15と、命令レジスタ17
と、プログラムカウンタ9とが含まれる。また、実行部
33にはデコード部19と、実行制御部21と、割込復
帰制御部23の他に、読出制御部31と、書込制御部3
2とが含まれる。また、レジスタ制御部35にはレジス
タEPCR,EPSR,PSRと汎用レジスタ13の他
に、シャドウレジスタ29と、AND回路27と、セレ
クタ26,28と、判定部30とが含まれ、割込制御部
7には割込制御回路25が含まれる。
【0026】ここで、命令制御部15はメモリMRに接
続され、プログラムカウンタ9及び命令レジスタ17は
命令制御部15に接続され、デコード部19は命令レジ
スタ17に接続される。また、実行制御部21はメモリ
MRに接続され、実行制御部21と割込復帰制御部23
と読出制御部31及び書込制御部32はデコード部19
とセレクタ26,28に接続される。そして、汎用レジ
スタ13及びシャドウレジスタ29はセレクタ26,2
8及びデコード部19に接続される。また、レジスタE
PCR,EPSR,PSRは割込復帰制御部23と割込
制御回路25との間に接続される。また、判定部30は
デコード部19に接続され、AND回路27の入力端子
にはレジスタPSRと、判定部30と、実行制御部21
と割込復帰制御部23と読出制御部31及び書込制御部
32が接続され、出力端子はセレクタ26,28に接続
される。また割込制御回路25は、プログラムカウンタ
9及び命令制御部15と実行制御部21と割込復帰制御
部23と読出制御部31及び書込制御部32に接続され
る。
【0027】以下において、上記のような構成を有する
プロセッサの動作を説明する。命令制御部15はプログ
ラムカウンタ9から供給された読み出すべき命令語のア
ドレスに基づき、該命令語をメモリMRから読み出して
デコード部19に供給する。このとき、命令読出しの際
に割込みを検出した場合には、割込制御回路25へ割込
み信号を供給して通知する。また、プログラムカウンタ
9は、割込み処理における分岐先アドレス等が供給され
た場合にはそのアドレスを保持し、それ以外の場合には
次の命令を示すためインクリメントされる。従って割込
み処理においては、命令制御部15はプログラムカウン
タ9から供給された分岐先アドレスに基づいて、該分岐
先アドレスに対応する命令語をメモリMRから読み出
す。
【0028】また、実行部33はデコード部19に供給
された命令を実行する。ここで、デコード部19に供給
される命令としては、演算命令や、分岐命令、ロード命
令、ストア命令、割込み復帰命令、読み出し命令、書き
込み命令等がある。そして、このうち読み出し命令及び
書き込み命令の実行により、スーパーバイザ状態におい
ても、汎用レジスタ13自体に格納された全てのデータ
を読み書きすることができる。また、その他の命令の実
行によっては、汎用レジスタ13に割り当てられたアド
レス領域AGR上でのデータ処理がなされる。より具体
的には、演算命令はアドレス領域AGR上のデータに演
算を施すときに実行され、分岐命令はアドレス領域AG
R上のデータを選択的に処理するために実行され、ロー
ド命令はアドレス領域AGRへデータをロードするとき
に実行され、ストア命令はアドレス領域AGR上のデー
タをメモリへストアするときに実行される。また割込み
復帰命令は、割込み処理終了時に、割込み発生前の状態
に復帰するときに実行される。また以下において、上記
の各命令の実行について説明する。
【0029】デコード部19に演算命令が供給された場
合には、実行制御部21はセレクタ26を介して汎用レ
ジスタ13から読み出した値に基づき演算を行い、その
結果をセレクタ28を介して汎用レジスタ13へ書込
む。なお、その際には論理レベルが1の有効信号をAN
D回路27に供給することにより、スーパーバイザ状態
において、汎用レジスタ13に割り当てられたアドレス
領域AGR上のデータ(シャドウレジスタ29に格納さ
れたデータを含む)の処理が行われる。なお上記有効信
号は、スーパーバイザ状態において、シャドウレジスタ
29に割り当てられたアドレス(図5(a)のアドレス
a2)を有し、かつ汎用レジスタ13(図5(a)の領
域A2)に格納されたデータの処理を行う場合において
のみ、0とされる。
【0030】また、分岐命令が供給された場合において
分岐が成立するときには、実行制御部21は分岐先アド
レスをプログラムカウンタ9に供給する。また、ロード
命令が供給された場合には、実行制御部21はセレクタ
26を介して汎用レジスタ13から読み出した値に基づ
いて実効(メモリ)アドレスを求め、求められた実効ア
ドレスに対応するメモリMR領域から読み出したデータ
をセレクタ28を介して汎用レジスタ13へ書込む。な
お本命令の実行においても、論理レベルが1の有効信号
をAND回路27に供給することにより、スーパーバイ
ザ状態において、汎用レジスタ13に割り当てられたア
ドレス領域AGR上のデータ(シャドウレジスタ29に
格納されたデータを含む)の処理が行われる。
【0031】また、ストア命令が供給された場合には、
実行制御部21はセレクタ26を介して汎用レジスタ1
3から読み出した値に基づいて実効(メモリ)アドレス
を求め、求められた実効アドレスに対応するメモリMR
領域へ、セレクタ26を介して汎用レジスタ13から読
み出したデータを書込む。なお本命令の実行において
も、論理レベルが1の有効信号をAND回路27に供給
することにより、スーパーバイザ状態において、汎用レ
ジスタ13に割り当てられたアドレス領域AGR上のデ
ータ(シャドウレジスタ29に格納されたデータを含
む)が読み出される。
【0032】また、割込み復帰命令が供給された場合に
は、割込復帰制御部23はレジスタEPSRの値をレジ
スタPSRへ書き込むことにより割込み前の状態に戻る
と共に、レジスタEPCRに格納されたデータを読出し
て分岐先アドレスとしてプログラムカウンタ9へ供給す
る。また、読み出し命令が供給された場合には、読出制
御部31は割込み処理のためにシャドウレジスタ29に
割り当てられたアドレス(図5(a)のアドレスa2)
に対応し、かつ汎用レジスタ13(図5(a)の領域A
2)に格納されたデータをセレクタ26を介して読み出
し、変更後のデータをセレクタ28を介して汎用レジス
タ13に書き込む。ここで、読出制御部31は汎用レジ
スタ13からデータを読み出す場合には論理レベルが0
の有効信号をAND回路27に供給し、スーパーバイザ
状態においては、シャドウレジスタ29に割り当てられ
たアドレス領域(図5(a)のアドレスa2)に対応す
るデータ(図5(a)の領域A2に格納されているデー
タ)が読み出される。そして、汎用レジスタ13へデー
タを書込む場合には、論理レベルが1の有効信号をAN
D回路27に供給することにより、スーパーバイザ状態
において、汎用レジスタ13に割り当てられたアドレス
領域AGR上にデータを書き込む。
【0033】また、書き込み命令が供給された場合に
は、書込制御部32はセレクタ26を介して汎用レジス
タ13からデータを読み出し、割込み処理のためにシャ
ドウレジスタ29に割り当てられたアドレス(図5
(a)のアドレスa2)に対応するデータが格納されて
いる汎用レジスタ13の領域(図5(a)の領域A2)
にセレクタ28を介して書き込む。ここで書込制御部3
2は、スーパバイザ状態において汎用レジスタ13から
データを読み出す場合には論理レベルが1の有効信号を
AND回路27に供給し、汎用レジスタ13の上記領域
A2に相当する領域へデータを書込む場合には論理レベ
ルが0の有効信号をAND回路27に供給する。
【0034】なお、命令実行の際に割込みを検出した場
合には、実行制御部21と割込復帰制御部23と読出制
御部31及び書込制御部32は、割込み信号を割込制御
回路25に供給する。ここで、上記レジスタEPCRは
割込みからの復帰先を示すアドレスを保持するレジスタ
であり、割込み発生時に設定される。また、レジスタP
SRはプロセッサの状態値等を保持するレジスタであ
り、ユーザ状態では論理レベルが0の信号をAND回路
27へ供給し、スーパーバイザ状態では論理レベルが1
の信号をAND回路27へ供給する。また、レジスタE
PSRは割込み発生前のプロセッサの状態値を保持する
レジスタであり、割込み発生時に設定される。また、セ
レクタ26,28は論理レベルが1の信号が供給される
ことによりシャドウレジスタ29を選択し、論理レベル
が0の信号が供給されることにより汎用レジスタ13を
選択する。
【0035】一方、割込制御回路25は、命令読出部1
または実行部3から供給された割り込み信号に応じて、
割り込みからの復帰先を示すアドレスをレジスタEPC
Rへ供給し、割込み発生前のプロセッサの状態値をレジ
スタEPSRへ供給する。そして、割り込みが発生した
際のプロセッサの状態値をレジスタPSRへ書込む。こ
のような動作を実行した後に、プロセッサはスーパーバ
イザ状態に遷移する。また割込制御回路25は、発生し
た割り込みに対応する分岐先アドレスを命令読出部1へ
供給する。
【0036】従って、命令読出部1に含まれた命令制御
部15は、供給された分岐先アドレスに応じてメモリM
Rから命令を読み出し、実行部33に該命令を供給す
る。そして、実行部33は供給された命令を実行するこ
とにより、プログラムとして明示される本来の命令実行
順序とは別の処理(割込み処理)へ制御フローを分岐し
て、割込み処理プログラム(割込みハンドラとも呼ばれ
る)を実行する。なお実行部33は、割込み処理プログ
ラムの末尾に記されている割込み復帰手順に従い、本来
実行していた元のプログラムの実行に復帰する。
【0037】また上記のようなプロセッサは、あるOS
上におけるソフトウェアの起動により通常のデータ処理
が行われるユーザ状態と、該OS自体を操作可能なスー
パーバイザ状態とを有し、上記割込みの発生によりユー
ザ状態からスーパーバイザ状態へ遷移し、その逆に該割
込みからの復帰によってユーザ状態へ戻るものである。
【0038】そして、スーパーバイザ状態において、セ
レクタ26,28に論理レベルが1の有効信号がAND
回路27から供給される場合に限り、図5(a)に示さ
れたアドレス領域AGR上において、シャドウレジスタ
29に対するデータの読み書きが可能とされる。なお、
ユーザ状態の場合と、スーパーバイザ状態であっても論
理レベルが0の有効信号がAND回路27からセレクタ
26,28に供給される場合においては、汎用レジスタ
13のみに対するデータの読み書きが実行される。
【0039】また判定部30は、デコード部19から供
給されたアドレスが、割込み処理のために利用可能とさ
れたアドレス領域(図5(a)の領域A2に対応するア
ドレス)に含まれるものか否かを判定し、含まれるもの
と判定された場合にはAND回路27へ論理レベルが1
の信号を供給する。ここで、判定部30による判定の対
象とされるアドレス領域は、判定部30に含まれるデコ
ーダの構成により決定されるが、判定部30にレジスタ
を含めて該アドレス領域の設定を書き換え可能なものと
しても良い。
【0040】なお上記において、割込み処理時に汎用レ
ジスタ13に対応するアドレス領域の全体を、シャドウ
レジスタ29のアドレス領域に割り当てることもでき
る。このようにアドレス領域を割り当てることにより、
作業に利用できるアドレス領域をさらに広く確保するこ
とができるため、より効率的に割込み処理を実現するこ
とができる。そしてこの場合には、データの読み書きに
際してセレクタ26,28が、汎用レジスタ13かシャ
ドウレジスタ29のいずれかを選択すれば足りるため、
上記判定部30は無くてもよい。なお、このことは以下
の実施の形態に係るプロセッサにおいても同様である。
【0041】また、図8は読み出し命令の命令形式を示
す図である。図8に示されるように、読み出し命令は、
各命令に応じて異なる命令コードOP-CODE と、割込み処
理のためにシャドウレジスタ29に割り当てられたアド
レス(図5(a)のアドレスa2)に対応するデータが
格納されている汎用レジスタ13の領域(図5(a)の
領域A2)のレジスタ番号を読み出し対象として指定す
るオペランドSR1 と、変更されたデータの書込み先とし
て汎用レジスタのレジスタ番号を指定するオペランドGR
D とを含む。
【0042】また、図9は書き込み命令の命令形式を示
す図である。図9に示されるように、書き込み命令は、
各命令に応じて異なる命令コードOP-CODE と、書き込み
値を保持している汎用レジスタのレジスタ番号を指定す
るオペランドGR1 と、割込み処理のためにシャドウレジ
スタ29に割り当てられたアドレス(図5(a)のアド
レスa2)に対応するデータが格納されている汎用レジ
スタ13の領域(図5(a)の領域A2)のレジスタ番
号を書き込み対象として指定するオペランドSRD とを含
む。
【0043】なお、本実施の形態に係る割り込み処理プ
ログラムの構成及び該プログラムの実行順序は、それぞ
れ図3に示された割り込み処理プログラムの構成及び該
プログラムの実行順序と同様なものとされる。以上よ
り、本実施の形態1に係るプロセッサによれば、スーパ
ーバイザ状態において汎用レジスタ13に対応するアド
レス領域の全部又は一部をシャドウレジスタ29に割り
当てることにより、データ退避時のメモリMRに対する
ロードストア動作が不要になるため、従来より高速な割
込み処理を実現することができる。 [実施の形態2]図10は、本発明の実施の形態2に係
るプロセッサの構成を示す図である。図10に示される
ように、このプロセッサは図6に示された実施の形態1
に係るプロセッサと同様な構成であって、命令読出部1
と、実行部43と、レジスタ制御部45と、割込制御部
7と、メモリMRとを備えるが、レジスタ制御部45
は、図6に示されたレジスタ制御部35に比して、さら
にAND回路36と、有効フラグ37とを備えるもので
ある。
【0044】ここで、有効フラグ37はシャドウレジス
タ29を選択する動作を有効なものとするか否かを示
し、0である場合にはシャドウレジスタ29を選択する
動作が無効であることを意味し、1である場合にはシャ
ドウレジスタ29を選択する動作が有効であることを意
味する。従って、以下に説明する有効フラグ書き込み命
令は、割込み処理時にシャドウレジスタ29を読み書き
の対象とするか否かを明示的に決定するためのものであ
る。そして、該命令の実行により有効フラグ37に0の
値を書き込むことで、読み出し命令や書き込み命令の実
行に際し、シャドウレジスタ29に割り当てられたアド
レス(図5(a)のアドレスa2)に対応するデータが
格納されている汎用レジスタ13の領域(図5(a)の
領域A2)に格納されたデータの処理を、明示的に行う
ことができる。
【0045】また、AND回路36の入力端子は、有効
フラグ37とAND回路27の出力端子に接続され、A
ND回路36の出力端子はセレクタ26,28に接続さ
れる。図11は、図10に示されたプロセッサの構成を
より詳しく示す図である。図11に示されたプロセッサ
の構成は、上記図7に示されたプロセッサの構成と同様
であるが、実行部43は有効フラグ制御部34をさらに
含む点で相違する。ここで、有効フラグ制御部34はデ
コード部19と、AND回路27と、有効フラグ37と
セレクタ26,28に接続される。
【0046】次に、上記のような構成を有する実施の形
態2に係るプロセッサの動作を説明する。実施の形態2
に係るプロセッサは、上記実施の形態1に係るプロセッ
サと同様に動作するが、有効フラグ制御部34は供給さ
れる有効フラグ書き込み命令に応じて、汎用レジスタ1
3に保持されている0あるいは1の書込み値を有効フラ
グ37に供給する。これにより、有効フラグ37に0の
値が書込まれると、AND回路36に0の値が供給され
るためAND回路36の出力は0となる。従って有効フ
ラグ37に0の値が書込まれるときは、プロセッサがユ
ーザ状態にあるかスーパーバイザ状態にあるかによら
ず、汎用レジスタ13だけへ読み書きが可能となる。
【0047】一方、有効フラグ37に1の値が書込まれ
ると、有効フラグ37からAND回路36へ1の値が供
給されるため、AND回路27から論理レベルが1の信
号が出力される場合にはAND回路36の出力が1とな
る。従って、本実施の形態に係るプロセッサは、スーパ
ーバイザ状態において、有効フラグ制御部34からAN
D回路27に供給される有効信号が1のときに限り、図
5(a)に示されたアドレス領域AGR上で、シャドウ
レジスタ29への読み書きが可能となる。
【0048】なお、図12は有効フラグ書き込み命令の
命令形式を示す図である。図12に示されるように、書
き込み命令は、各命令に応じて異なる命令コードOP-COD
E と、書き込み値を保持している汎用レジスタのレジス
タ番号を指定するオペランドGR1 とを含む。なお、オペ
ランドGR1 に続く領域は命令が書き込まれていないフィ
ールドを示す。
【0049】また、本実施の形態2に係る割り込み処理
プログラムの構成及び該プログラムの実行順序は、それ
ぞれ図3に示された割り込み処理プログラムの構成及び
該プログラムの実行順序と同様なものとされる。以上よ
り本実施の形態2に係るプロセッサによれば、上記実施
の形態1に係るプロセッサと同様な効果を奏すると共
に、スーパーバイザ状態において、汎用レジスタ13に
対応するアドレス領域の全部又は一部をシャドウレジス
タ29に割り当てることとするか否かを、外部から有効
フラグ書き込み命令を供給することにより設定すること
ができるため、動作の信頼性を高めることができる。
【0050】なお、本実施の形態2に係るプロセッサに
おいても、割込み処理時の汎用レジスタ13に対応する
アドレス領域AGRのうちシャドウレジスタ29のアド
レス領域ASRとして割り当てる領域は、その一部また
は全部とすることができる。 [実施の形態3]図13は、本発明の実施の形態3に係
るプロセッサの構成を示す図である。図13に示される
ように、このプロセッサは図6に示された実施の形態1
に係るプロセッサと同様な構成であって、命令読出部1
と、実行部53と、レジスタ制御部55と、割込制御部
8と、メモリMRとを備えるが、レジスタ制御部55
は、図6に示されたレジスタ制御部35に比して、さら
に選択フラグ51を含むものである。ここで選択フラグ
51は、シャドウレジスタ29に対する読み書きを可能
なものとするか否かを示し、0である場合にはシャドウ
レジスタ29に対する読み書きを行わない状態を意味
し、1である場合にはシャドウレジスタ29に対する読
み書きを行う状態であることを意味するものである。
【0051】また、図6に示されたレジスタ制御部35
に含まれるAND回路27とは異なり、AND回路27
の入力端子には、レジスタPSRの代わりに選択フラグ
51が接続される。図14は、図13に示されたプロセ
ッサの構成をより詳しく示す図である。図14に示され
たプロセッサの構成は、上記図7に示されたプロセッサ
の構成と同様であるが、レジスタ制御部55は選択フラ
グ51をさらに含み、割込み制御部8はフラグ制御部5
4をさらに含む点で相違する。ここで、選択フラグ51
は割込復帰制御部52とフラグ制御部54との間に接続
される。またフラグ制御部54は、選択フラグ51と、
命令制御部15と、割込制御部25と、実行制御部21
と、割込復帰制御部52と、読出制御部31と、書込制
御部32に接続される。
【0052】次に、上記のような構成を有する実施の形
態3に係るプロセッサの動作を説明する。実施の形態3
に係るプロセッサは、上記実施の形態1に係るプロセッ
サと同様に動作するが、フラグ制御部54は割込み発生
時に供給される割込信号に応じて、1の値を選択フラグ
51に供給する。そして、選択フラグ51に1の値が書
込まれると、AND回路27に1の値が供給される。従
ってこの場合には、論理レベルが1の有効信号がAND
回路27へ供給されるときに限りAND回路27の出力
信号の論理レベルが1となり、図5(a)に示されたア
ドレス領域AGR上で、シャドウレジスタ29への読み
書きが可能となる。
【0053】一方、割込み復帰命令が実行されると割込
復帰制御部52により選択フラグ51に0の値が供給さ
れる。これにより、プロセッサは割込み前の状態へ遷移
する。そしてこのとき選択フラグ51に0の値が書込ま
れると、AND回路27に0の値が供給される。従っ
て、この場合には常にAND回路27から論理レベルが
0の信号が出力されるため、有効信号の論理レベルに依
らず、汎用レジスタ13へのデータの読み書きだけが可
能となる。
【0054】また、上記実施の形態3に係る割り込み処
理プログラムの構成及び該プログラムの実行順序は、そ
れぞれ図3に示された割り込み処理プログラムの構成及
び該プログラムの実行順序と同様なものとされる。以上
より本実施の形態3に係るプロセッサによれば、上記実
施の形態1に係るプロセッサと同様な効果を得ることが
できると共に、選択フラグ51に書き込む値を上記のよ
うに制御することによって、スーパーバイザ状態におい
てさらに多重に割込みが発生する等のいわゆるネスト構
造を有するプログラムにおいても、データ処理を効率的
に行うことができる。
【0055】また上記のプロセッサにおいては、外部か
ら選択フラグ書き込み命令を供給することにより選択フ
ラグ51の書き換えを行うものとすることもできる。こ
こで、選択フラグ書き込み命令は、図5に示されたシャ
ドウレジスタ29へのアドレスの割り当てを行うか否
か、すなわち汎用レジスタ13に対するデータ処理にお
いてシャドウレジスタ29を活用するか否かを明示的に
決定するものである。
【0056】図15は、このような機能を実現し得るプ
ロセッサの構成を示す図である。図15に示されるよう
に、このプロセッサは図14に示されたプロセッサと同
様な構成を有するが、実行部63がシャドウ制御部61
をさらに備える点で相違する。このシャドウ制御部61
は、デコード部19と、AND回路27と、セレクタ2
6,28と、選択フラグ51と、フラグ制御部54及び
割込制御部25に接続される。
【0057】ここで、シャドウ制御部61は、供給され
る選択フラグ書き込み命令に応じて、汎用レジスタ13
に保持されている0あるいは1の書込み値を選択フラグ
51に供給する。これにより、選択フラグ51に0の値
が書込まれると、AND回路27に0の値が供給される
ためAND回路27の出力は0となる。従って選択フラ
グ51に0の値が書込まれるときは、プロセッサがユー
ザ状態にあるかスーパーバイザ状態にあるかによらず、
汎用レジスタ13だけへ読み書きが可能となる。
【0058】一方、選択フラグ51に1の値が書込まれ
ると、選択フラグ51からAND回路27へ1の値が供
給される。従って、本実施の形態に係るプロセッサは、
選択フラグ51に1の値が書込まれ、AND回路27に
供給される有効信号が1のときに限り、図5(a)に示
されたアドレス領域AGR上で、シャドウレジスタ29
への読み書きが可能となる。
【0059】なお、選択フラグ書き込み命令の命令形式
は、図12に示された命令形式と同様なものである。す
なわち、選択フラグ書き込み命令は、各命令に応じて異
なる命令コードOP-CODE と、書き込み値を保持している
汎用レジスタのレジスタ番号を指定するオペランドGR1
とを含む。また、図16は、シャドウ制御部61を備え
た上記プロセッサにより実行される割り込み処理プログ
ラムの構成を示す図である。図16に示されるように、
この割込み処理プログラムはプログラムとして明示され
る本来の命令実行順序のコンテキストをメモリへ退避さ
せるための退避部CTXTSAVEと、選択フラグ書き込み命令
により選択フラグ51に0の値を書き込むシャドウリセ
ット部SHADOW0 と、発生した割込みに対応した処理を行
う処理部HANDLER と、プログラムとして明示される本来
の命令実行順序のコンテキストをメモリから復元する復
元部CTXTRESTORE と、割込み復帰命令により割込みから
復帰するための復帰部RETTから構成され、退避部CTXTSA
VE、シャドウリセット部SHADOW0 、処理部HANDLER 、復
元部CTXTRESTORE 、復帰部RETTの順に実行される。
【0060】なお、上記割り込み処理プログラムは、図
17に示されるようにさらに処理部HANDLER と復元部CT
XTRESTORE の間に選択フラグ書き込み命令により選択フ
ラグ51に1の値を書き込むシャドウセット部SHADOW1
を備えるものであってもよい。そしてこの場合には、退
避部CTXTSAVE、シャドウリセット部SHADOW0 、処理部HA
NDLER 、シャドウセット部SHADOW1 、復元部CTXTRESTOR
E 、復帰部RETTの順に実行される。
【0061】また、本実施の形態3に係るプロセッサに
おいても、割込み処理時の汎用レジスタ13に対応する
アドレス領域AGRのうち、シャドウレジスタ29のア
ドレス領域ASRとして割り当てる領域をその一部また
は全部とすることができる。 [実施の形態4]図18は、本発明の実施の形態4に係
るプロセッサの構成を示す図である。図18に示される
ように、このプロセッサは図13に示された実施の形態
3に係るプロセッサと同様な構成であって、命令読出部
1と、実行部73と、レジスタ制御部75と、割込制御
部8と、メモリMRとを備えるが、レジスタ制御部75
は、図13に示されたレジスタ制御部55に比して、さ
らにAND回路36と、有効フラグ37とを含むもので
ある。ここで、有効フラグ37はシャドウレジスタ29
を選択する動作を有効なものとするか否かを示し、0で
ある場合にはシャドウレジスタ29を選択する動作が無
効であることを意味し、1である場合にはシャドウレジ
スタ29を選択する動作が有効であることを意味する。
【0062】また、AND回路36の入力端子は、有効
フラグ37とAND回路27の出力端子に接続され、A
ND回路36の出力端子はセレクタ26,28に接続さ
れる。図19は、図18に示されたプロセッサの構成を
より詳しく示す図である。図19に示されたプロセッサ
の構成は、上記図14に示されたプロセッサの構成と同
様であるが、実行部73は有効フラグ37に接続された
有効フラグ制御部71をさらに含む点で相違する。ここ
で、有効フラグ制御部71はデコード部19と、AND
回路27と、有効フラグ37と、セレクタ26,28
と、フラグ制御部54及び割込制御部25に接続され
る。
【0063】次に、上記のような構成を有する実施の形
態4に係るプロセッサの動作を説明する。実施の形態4
に係るプロセッサは、上記実施の形態2及び3に係るプ
ロセッサと同様に動作し、有効フラグ制御部34は供給
される有効フラグ書き込み命令に応じて、汎用レジスタ
13に保持されている0あるいは1の書込み値を有効フ
ラグ37に供給する。これにより、有効フラグ37に0
の値が書込まれると、AND回路36に0の値が供給さ
れるためAND回路36の出力は0となる。従って有効
フラグ37に0の値が書込まれるときは、プロセッサが
ユーザ状態にあるかスーパーバイザ状態にあるかによら
ず、汎用レジスタ13だけへ読み書きが可能となる。
【0064】一方、有効フラグ37に1の値が書込まれ
ると、有効フラグ37からAND回路36へ1の値が供
給されるため、AND回路27から論理レベルが1の信
号が出力される場合にはAND回路36の出力が1とな
る。従って、本実施の形態に係るプロセッサは、選択フ
ラグ51及び有効フラグ37の値が1であって、AND
回路27に供給される有効信号が1のときに限り、図5
(a)に示されたアドレス領域AGR上で、シャドウレ
ジスタ29への読み書きが可能となる。
【0065】なお、本実施の形態に係る有効フラグ書き
込み命令の命令形式は、図12に示された形式と同様な
ものである。すなわち、図12に示されるように、書き
込み命令は、各命令に応じて異なる命令コードOP-CODE
と、書き込み値を保持している汎用レジスタのレジスタ
番号を指定するオペランドGR1 とを含む。また、本実施
の形態4に係る割り込み処理プログラムの構成及び該プ
ログラムの実行順序は、それぞれ図3に示された割り込
み処理プログラムの構成及び該プログラムの実行順序と
同様なものとされる。
【0066】さらには、上記のプロセッサにおいても、
外部から供給する命令を実行することにより選択フラグ
51の書き換えを行うものとすることができる。図20
は、このような機能を実現し得るプロセッサの構成を示
す図である。図20に示されるように、このプロセッサ
は図19に示されたプロセッサと同様な構成を有する
が、実行部83がシャドウ制御部61をさらに備える点
で相違する。このシャドウ制御部61は、デコード部1
9と、AND回路27と、セレクタ26,28と、選択
フラグ51と、フラグ制御部54及び割込制御部25に
接続される。
【0067】ここで、シャドウ制御部61は、供給され
る選択フラグ書き込み命令に応じて、汎用レジスタ13
に保持されている0あるいは1の書込み値を選択フラグ
51に供給する。これにより、選択フラグ51に0の値
が書込まれると、AND回路27に0の値が供給される
ためAND回路27の出力は0となる。従って選択フラ
グ51に0の値が書込まれるときは、プロセッサがユー
ザ状態にあるかスーパーバイザ状態にあるかによらず、
汎用レジスタ13だけへ読み書きが可能となる。
【0068】一方、選択フラグ51に1の値が書込まれ
ると、選択フラグ51からAND回路27へ1の値が供
給される。従って、本実施の形態に係るプロセッサは、
選択フラグ51に1の値が書込まれ、AND回路27に
供給される有効信号が1のときに限り、図5(a)に示
されたアドレス領域AGR上で、シャドウレジスタ29
への読み書きが可能となる。
【0069】なお、本実施の形態に係る選択フラグ書き
込み命令の命令形式は、図16に示された命令形式と同
様なものである。すなわち、図16に示されるように、
書き込み命令は、各命令に応じて異なる命令コードOP-C
ODE と、書き込み値を保持している汎用レジスタのレジ
スタ番号を指定するオペランドGR1 とを含む。また、本
実施の形態に係るプロセッサにおいても、図16及び図
17に示された割り込み処理プログラムを実行するもの
とすることができる。
【0070】以上より本実施の形態4に係るプロセッサ
によれば、上記実施の形態3に係るプロセッサと同様な
効果を奏すると共に、割込み処理において汎用レジスタ
13に対応するアドレス領域AGRをシャドウレジスタ
29に割り当てるか否かが、有効フラグ37の設定値に
応じて決定されるため、動作の信頼性をより高めること
ができる。
【0071】なお、本実施の形態4に係るプロセッサに
おいても、割込み処理時の汎用レジスタ13に対応する
アドレス領域AGRのうちシャドウレジスタ29のアド
レス領域ASRとして割り当てる領域は、その一部また
は全部とすることができる。最後に本発明の課題を解決
するための手段について付記する。 (1)メモリから読み出された命令を実行する実行部
と、実行部に接続された汎用レジスタとを含むデータ処
理装置であって、実行部に接続された記憶部と、命令に
応じてデータの割り込み処理を行うときには、汎用レジ
スタに割り当てられたアドレスの一部又は全部を記憶部
に割り当てるアドレス切換部とを備えたことを特徴とす
るデータ処理装置。 (2)上記命令に応じた割り込み処理が行われているか
否かにより、異なる値が設定される状態値設定部をさら
に備え、アドレス切換部は、状態値設定部に設定された
前記値に応じて、汎用レジスタに割り当てられたアドレ
スの一部又は全部を前記記憶部に割り当てることを特徴
とする(1)に記載のデータ処理装置。 (3)上記アドレスに応じて、汎用レジスタに対するデ
ータの読み書きを行うデータ読み書き部をさらに備えた
ことを特徴とする(1)に記載のデータ処理装置。この
ような手段によれば、割込み処理時においても割り込み
前のデータを処理することができるため、データ処理の
効率を高めることができる。 (4)上記アドレスを記憶部に割り当てる動作を有効な
ものとするか否かにより、異なる値が設定される有効性
設定部をさらに備え、アドレス切換部は、有効性設定部
に設定された前記値に応じて活性化されることを特徴と
する(1)に記載のデータ処理装置。このような手段に
よれば、動作の信頼性を高めることができる。 (5)上記状態値設定部はさらに、供給される命令に応
じた値に設定される(2)に記載のデータ処理装置。 (6)メモリから読み出された命令を実行する実行部
と、実行部に接続された汎用レジスタ及び記憶部を備え
たデータ処理装置の制御方法であって、命令に応じてデ
ータの割り込み処理を行うときには、汎用レジスタに割
り当てられたアドレスの一部又は全部を記憶部に割り当
てることを特徴とするデータ処理装置の制御方法。 (7)ユーザモードとスーパーバイザモードとを有し、
割り込み処理時にスーパーバイザモードに切り替えるこ
とを特徴とする(6)に記載のデータ処理装置の制御方
法。このような手段によれば、スーパーバイザモードで
のデータ処理を高速化することができる。
【0072】
【発明の効果】上述の如く本発明によれば、上記の目的
は、データの割り込み処理を行うときに汎用レジスタに
割り当てられたアドレスの一部又は全部を記憶部に割り
当てるため、割込み処理実行前のメモリへのロードスト
ア操作回数が低減され、高速な割込み処理が実現でき
る。ここで、状態値設定部に設定された値に応じて、汎
用レジスタに割り当てられたアドレスの一部又は全部を
記憶部に割り当てることとすれば、さらに多重に割り込
み処理を行うデータ処理を実現でき、かつ動作の信頼性
を高めることができる。
【図面の簡単な説明】
【図1】従来のプロセッサの構成を示す図である。
【図2】図1に示されたプロセッサの構成をより詳しく
示す図である。
【図3】従来の割り込み処理プログラムの構成を示す図
である。
【図4】従来のプロセッサによる割り込み処理を説明す
るための図である。
【図5】本発明の実施の形態に係るプロセッサの割り込
み処理を説明するための図である。
【図6】本発明の実施の形態1に係るプロセッサの構成
を示す図である。
【図7】図6に示されたプロセッサの構成をより詳しく
示す図である。
【図8】読み出し命令の命令形式を示す図である。
【図9】書き込み命令の命令形式を示す図である。
【図10】本発明の実施の形態2に係るプロセッサの構
成を示す図である。
【図11】図10に示されたプロセッサの構成をより詳
しく示す図である。
【図12】本発明の実施の形態2に係る有効フラグ書き
込み命令の命令形式を示す図である。
【図13】本発明の実施の形態3に係るプロセッサの構
成を示す図である。
【図14】図13に示されたプロセッサの構成をより詳
しく示す第一の図である。
【図15】図13に示されたプロセッサの構成をより詳
しく示す第二の図である。
【図16】本発明の実施の形態3に係る割り込み処理プ
ログラムの第一の構成を示す図である。
【図17】本発明の実施の形態3に係る割り込み処理プ
ログラムの第二の構成を示す図である。
【図18】本発明の実施の形態4に係るプロセッサの構
成を示す図である。
【図19】図18に示されたプロセッサの構成をより詳
しく示す第一の図である。
【図20】図18に示されたプロセッサの構成をより詳
しく示す第二の図である。
【符号の説明】
1 命令読出部 3,33,43,53,63,73,83 実行部 5,35,45,55,75, レジスタ制御部 6,7,8 割込制御部 9 プログラムカウンタ 13 汎用レジスタ 15 命令制御部 17 命令レジスタ 19 デコード部 21 実行制御部 23,52 割込復帰制御部 24,25 割込制御回路 26,28 セレクタ 27,36 AND回路 29 シャドウレジスタ 30 判定部 31 読出制御部 32 書込制御部 33,34 有効フラグ制御部 37 有効フラグ 51 選択フラグ 54 フラグ制御部 61 シャドウ制御部 MR メモリ EPCR,EPSR,PSR レジスタ PA ,PB プログラム AGR 汎用レジスタアドレス領域 ASR シャドウレジスタアドレス領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 泰基 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 (72)発明者 竹部 好正 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B098 AA03 DD01

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 メモリから読み出された命令を実行する
    実行部と、前記実行部に接続された汎用レジスタとを含
    むデータ処理装置であって、 前記実行部に接続された記憶部と、 前記命令に応じてデータの割り込み処理を行うときに
    は、前記汎用レジスタに割り当てられたアドレスの一部
    又は全部を前記記憶部に割り当てるアドレス切換部とを
    備えたことを特徴とするデータ処理装置。
  2. 【請求項2】 前記命令に応じた割り込み処理が行われ
    ているか否かにより、異なる値が設定される状態値設定
    部をさらに備え、 前記アドレス切換部は、前記状態値設定部に設定された
    前記値に応じて、前記汎用レジスタに割り当てられたア
    ドレスの一部又は全部を前記記憶部に割り当てることを
    特徴とする請求項1に記載のデータ処理装置。
  3. 【請求項3】 前記割り込み処理を行うときに前記汎用
    レジスタに格納されているデータを、前記記憶部に記憶
    された退避先指定アドレスに応じて前記メモリに退避さ
    せるデータ退避部をさらに備えたことを特徴とする請求
    項1に記載のデータ処理装置。
  4. 【請求項4】 メモリから読み出された命令を実行する
    実行部と、前記実行部に接続された汎用レジスタ及び記
    憶部を備えたデータ処理装置の制御方法であって、 前記命令に応じてデータの割り込み処理を行うときに
    は、前記汎用レジスタに割り当てられたアドレスの一部
    又は全部を前記記憶部に割り当てることを特徴とするデ
    ータ処理装置の制御方法。
  5. 【請求項5】 前記割り込み処理を行うときに前記汎用
    レジスタに格納されているデータを、前記記憶部に記憶
    された退避先指定アドレスに応じて前記メモリに退避さ
    せることを特徴とする請求項4に記載のデータ処理装置
    の制御方法。
JP31542399A 1999-11-05 1999-11-05 データ処理装置とその制御方法 Withdrawn JP2001134449A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP31542399A JP2001134449A (ja) 1999-11-05 1999-11-05 データ処理装置とその制御方法
EP00308521A EP1104899A3 (en) 1999-11-05 2000-09-28 Data processing apparatus and method of controlling the same
KR1020000060912A KR20010067336A (ko) 1999-11-05 2000-10-17 데이터 처리 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31542399A JP2001134449A (ja) 1999-11-05 1999-11-05 データ処理装置とその制御方法

Publications (1)

Publication Number Publication Date
JP2001134449A true JP2001134449A (ja) 2001-05-18

Family

ID=18065210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31542399A Withdrawn JP2001134449A (ja) 1999-11-05 1999-11-05 データ処理装置とその制御方法

Country Status (3)

Country Link
EP (1) EP1104899A3 (ja)
JP (1) JP2001134449A (ja)
KR (1) KR20010067336A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663709B1 (ko) * 2005-12-28 2007-01-03 삼성전자주식회사 재구성 아키텍처에서의 예외 처리 방법 및 장치
KR101335001B1 (ko) 2007-11-07 2013-12-02 삼성전자주식회사 프로세서 및 인스트럭션 스케줄링 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025904A (en) * 1973-10-19 1977-05-24 Texas Instruments Incorporated Programmed allocation of computer memory workspace
US5167030A (en) * 1989-08-23 1992-11-24 Helix Software Company, Inc. System for dynamically allocating main memory to facilitate swapping of terminate and stay resident communication program to increase available memory space
JP3433471B2 (ja) * 1993-05-27 2003-08-04 ソニー株式会社 光ディスク装置における信号処理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100663709B1 (ko) * 2005-12-28 2007-01-03 삼성전자주식회사 재구성 아키텍처에서의 예외 처리 방법 및 장치
KR101335001B1 (ko) 2007-11-07 2013-12-02 삼성전자주식회사 프로세서 및 인스트럭션 스케줄링 방법

Also Published As

Publication number Publication date
EP1104899A2 (en) 2001-06-06
EP1104899A3 (en) 2005-07-06
KR20010067336A (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
US6075546A (en) Packetized command interface to graphics processor
US5428779A (en) System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
JP2539199B2 (ja) デジタルプロセッサ制御装置
JP2972355B2 (ja) デジタルデータプロセッサおよびその作動方法
JPH02267634A (ja) 割込み処理装置
JP3773470B2 (ja) データ処理装置内でのコプロセッサ命令の取り扱い
EP0239078B1 (en) Register saving/restoring system
JPH10505444A (ja) 処理システム、プロセッサ、命令ストリーム格納用メモリ及びコンパイラ
JP3970609B2 (ja) プロセッサシステム
JP5131269B2 (ja) マルチプロセッシングシステム
JP2001134449A (ja) データ処理装置とその制御方法
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JP3659048B2 (ja) オペレーティングシステム及び計算機
JP2585905B2 (ja) マルチタスク実行装置
US5675776A (en) Data processor using FIFO memories for routing operations to parallel operational units
JP4116752B2 (ja) 計算機とその制御方法
JP2001229038A (ja) マルチオペレーテング計算機システム
JPH0764960A (ja) データフロープロセサ
JP2000029508A (ja) プログラマブルコントローラ
JPH02183342A (ja) 割込み制御装置
JP2985244B2 (ja) 情報処理装置
JPH11134202A (ja) タスク切替え装置
JPH11249907A (ja) マイクロコンピュータ
JPH05108353A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109