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

データ処理装置

Info

Publication number
JPH08320796A
JPH08320796A JP7240872A JP24087295A JPH08320796A JP H08320796 A JPH08320796 A JP H08320796A JP 7240872 A JP7240872 A JP 7240872A JP 24087295 A JP24087295 A JP 24087295A JP H08320796 A JPH08320796 A JP H08320796A
Authority
JP
Japan
Prior art keywords
exception
address
register
instruction
handler
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
JP7240872A
Other languages
English (en)
Other versions
JP3672634B2 (ja
Inventor
Shinichi Yoshioka
真一 吉岡
Ikuya Kawasaki
郁也 川崎
Shigesumi Matsui
重純 松井
Susumu Narita
進 成田
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 JP24087295A priority Critical patent/JP3672634B2/ja
Priority to KR1019950029112A priority patent/KR100368197B1/ko
Priority to US08/524,712 priority patent/US6038661A/en
Publication of JPH08320796A publication Critical patent/JPH08320796A/ja
Priority to US09/450,894 priority patent/US6425039B2/en
Application granted granted Critical
Publication of JP3672634B2 publication Critical patent/JP3672634B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 例外発生からそれに対処するハンドラへの遷
移時間を短縮する。 【構成】 TLBミス例外に関する例外処理ハンドラの
ベクタポイントは、レジスタVBRのベクタベースアド
レスにベクタオフセット(H'400)を加算し取得す
る。TLBミス例外以外の例外要因に関する例外処理ハ
ンドラのベクタポイントは、レジスタVBRの値(ベク
タベースアドレス)にベクタオフセットを加算して取得
される。そしてレジスタEXPEVT又はINTEVT
から得たアドレスオフセットとしての例外要因コードが
上記得られたベクタポイントに加算される。それによ
り、所要の例外ハンドラへ分岐し、TLBミス例外以外
の例外要因に関する例外処理が実行される。分岐先アド
レスを直接メモリアクセスによって取得することを要し
ない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リセット、例外事象や
割り込み事象などの例外発生時に、その例外に対処する
ため例外処理プログラムを実行するデータ処理装置に関
し、特に、例外の発生時点からその例外に対処するため
の例外処理ハンドラへ遷移するまでの遷移時間を短縮す
る技術に関する。本発明は、例えば、シングルチップマ
イクロコンピュータあるいはメモリ管理ユニットを内蔵
するマイクロプロセッサに適用して有効な技術に関す
る。
【0002】
【従来の技術】上記データ処理装置に含まれる中央処理
装置を用いたデータ処理の途中において、そのデータ処
理装置の命令セット内に定義されていない未定義命令の
デコード、無効な演算の発生、仮想記憶における記憶保
護違反、TLBミスなどの一般的な例外事象(一般例外
事象とも言う:general exception events)が発生する
場合や、データ処理装置の外部周辺回路におけるデータ
入出力動作の終了を中央処理装置に通知するための終了
通知やデータ処理装置内の通信モジュールからの受信要
求などの割り込み要求(一般割り込み事象とも言う:ge
neral interruptevents)が発生する場合がある。
【0003】上記のような一般例外事象や一般割り込み
事象などの例外(例外事象)が発生すると、上記中央処
理装置は、データ処理プログラムの命令の実行を抑止
し、発生した例外に対処するための例外処理ハンドラに
制御を移行し、上記例外処理ハンドラによって規定され
るデータ処理を実行し、発生した例外に対処する。上記
例外処理ハンドラを実行した後、中央処理装置は、上記
実行を抑止した命令を再実行し、あるいは、上記実行を
抑止した命令の次の命令アドレスに復帰し、中断してい
た所定のデータ処理プログラムを継続する。そのため、
一般例外事象や一般割り込み事象が発生した時、中央処
理装置はその内部のプログラムカウンタの値やステータ
スレジスタの内部状態を外部メモリのスタック領域へ退
避させるような動作を実行する。中央処理装置の処理が
例外処理ハンドラの処理から上記抑止されたデータ処理
プログラムへ復帰する時、中央処理装置は上記退避させ
たプログラムカウンタの値やステータスレジスタの内部
状態を上記外部メモリのスタック領域からプログラムカ
ウンタやステータスレジスタへそれぞれ格納し、上記抑
止されたデータ処理プログラムを継続する。
【0004】所定のデータ処理プログラムから所定の例
外処理ハンドラの処理への分岐手法としては、ハードウ
ェア(論理回路)によって各種の分岐先アドレス(各種
の例外処理ハンドラの先頭メモリアドレス)を固定する
手法や、中央処理装置から分岐先アドレスを指定可能に
するベクタ方式が採用されている。ベクタ方式は、例え
ば、割り込み要求に応答するための各種例外処理ハンド
ラの先頭アドレスを格納したベクタテーブルを外部メモ
リ上に配置し、中央処理装置から上記ベクタテーブルの
ポインタ(割り込みベクタレジスタ)を指定し、指定さ
れたベクタテーブルから対応する例外処理ハンドラの先
頭アドレスをリードし、リードした先頭アドレスの位置
から所要の例外処理ハンドラをリードして実行する。
【0005】尚、割り込み要求などの例外について記載
された文献の例としては、昭和62年12月25日に株
式会社オーム社発行の「マイクロコンピュータハンドブ
ック」第177頁及び第178頁がある。
【0006】
【発明が解決しようとする課題】しかしながら、上述の
ベクタ方式では、例外事象が発生してそれに対処するま
でに、ベクタテーブルから対応する例外処理ハンドラの
先頭アドレスを取得するための外部メモリのリード動作
が必要となる。したがって、その外部メモリのリード動
作の分だけ、例外事象の発生から対応ハンドラへ分岐す
るまでの遷移時間が長くなることがわかった。また、対
応する例外処理ハンドラに分岐する前に、プログラムカ
ウンタやステータスレジスタ、さらには汎用レジスタの
データなどを外部メモリ上のスタック領域に退避する操
作を行う場合には、そのための外部メモリの書き込み動
作によっても例外事象に対する応答が遅れることがわか
った。
【0007】特に、中央処理装置の動作に同期して発生
するTLBミスに関する例外に対して高速に応答するこ
とは、TLBミスの発生時点から上記抑止された命令の
再実行までの時間を短縮できることを意味し、中央処理
装置のデータ処理性能を向上させる上で究めて重要であ
ることが本発明者によって見出された。なぜなら、TL
Bミスは、例外として分類されているものの、実際に
は、ユーザーの作成したデータ処理プログラムのプログ
ラミングミスで発生するような本質的な例外と異なり、
プログラミングミスの無いデータ処理プログラムの実行
中において通常的に発生する事象である。したがって、
TLBミスに高速に対処することが、中央処理装置のデ
ータ処理性能を向上させる事になる。
【0008】更に、各種分岐先アドレスをハードウェア
によって完全に固定にする手法も考えられるが、この手
法はユーザ記述に係る例外処理ハンドラのマッピングや
そのプログラムサイズに対する融通性がなく、使い勝手
が悪いことがわかった。また、分岐先アドレスを生成す
るためのハードウェア量も増大すると考えられる。
【0009】本発明の目的は、例外事象の発生時点から
それに対処するための例外処理ハンドラへ遷移あるいは
分岐するまでの遷移時間を短縮できるデータ処理装置を
提供することにある。
【0010】本発明の別の目的は、例外事象に応答する
ための例外処理ハンドラの構成に自由度を持たせること
ができるデータ処理装置を提供することにある。
【0011】本発明の更に別の目的は、データ処理の高
速化に密接なTLBミス例外のような処理に対しては、
その処理への遷移時間を短縮することが可能であり、か
つ、例外処理への遷移時間の短縮がTLBミス例外ほど
データ処理速度の高速化に寄与しないと考えられる例外
事象や割り込み事象に対しては、例外処理ハンドラのメ
モリ上でのマッピングや例外処理ハンドラのメモリサイ
ズに対する高い融通性を持たさせることが可能なデータ
処理装置を提供することにある。
【0012】本発明のその他の目的は、例外処理の点に
おいて物理的な回路規模の縮小とデータ処理の高速化と
の双方を満足させるた低コストかつ高速なデータ処理装
置を提供することにある。
【0013】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0014】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。
【0015】データ処理装置は、図1に例示されるよう
に、例外事象(例えばリセット、一般例外事象、一般割
り込み要求)の発生に応答し、上記例外事象に予め割り
当てられた例外コードが書き込まれる記憶回路(EXP
EVT,INTEVT)と、プログラムカウンタ(P
C)と、上記例外事象の発生に応答し、所定の命令アド
レスを上記プログラムカウンタに書き込み、上記命令ア
ドレスに割り当てられた第1例外処理ハンドラを実行可
能にする制御手段(CTRL)とを含む中央処理装置
(CPU)とを備える。
【0016】上記制御手段は、上記第1例外処理ハンド
ラ内に規定される処理にしたがって、上記第1例外処理
ハンドラから第2例外処理ハンドラへ分岐させるための
第2命令アドレスを、前記記憶回路に書き込まれた上記
要因コードをアドレスオフセットとして利用して算出さ
せ、得られた第2命令アドレスを上記プログラムカウン
タへ設定する。
【0017】上記所定の命令アドレスへの分岐は、例え
ば、図2に例示されたハードウェアによるベクタポイン
トの操作とされる。上記所定の命令アドレス(分岐先の
ベクタポイント)に割り当てられる第1例外処理ハンド
ラは、例えば、図2に例示されるように、そのベクタポ
イントに固有の一つの一般例外事象であるTLBミス例
外処理ハンドラ、或いはそのベクタポイントに固有の複
数の例外事象(例えば、TLBミス例外以外の複数の一
般例外事象)に共通の例外処理ハンドラ、又は複数の割
り込みに共通の例外処理ハンドラとされる。上記共通の
例外処理ハンドラにおいて、個々の例外に固有の別の例
外処理ハンドラ(第2例外処理ハンドラ)へ分岐するた
めのアドレスオフセットとして、上記要因コードが利用
される。上記要因コード(アドレスオフセット)に対す
るベースアドレスは、上記共通の例外処理ハンドラの記
述によって決定される。ベースアドレスは、例えば、V
BR(ベクタベースレジスタの値)+H'100(記号
H'は16進数であることを意味する)であっても、ま
た、分岐時におけるプログラムカウンタの値をベースア
ドレスとし、さらには適当に演算して算出された値をベ
ースアドレスにすることも可能である。
【0018】上記手段を別の観点より把握すれば、デー
タ処理装置は、例外事象の発生に応じて中央処理装置に
よる命令実行順序を変更するために、ベクタベースアド
レスに対する固定のオフセットであるベクタオフセット
を、例外要因の数よりも少ない数だけ有する。
【0019】本発明に従うデータ処理装置は、例外事象
の発生時にステータスレジスタの内部状態が退避される
第1退避レジスタ(SSR)と、プログラムカウンタ
(PC)が保持していたところの例外処理から復帰した
後に実行されるべき命令を示している復帰命令アドレス
が退避される第2退避レジスタ(SPC)と含む。上記
第1及び第2退避レジスタの採用によって、ステータス
レジスタの内部状態や復帰命令アドレスの退避のための
外部メモリのメモリアクセス回数を減らすことができ
る。
【0020】さらに、本発明に従うデータ処理装置の中
央処理装置は、図2に例示したハードウェアによるベク
タポイントの操作のため、算術論理演算回路(ALU)
と、上記例外の発生に応答して所定の値(ベクタオフセ
ット)を発生する定数発生部あるいは演算手段(CV
G,SFT)と、外部メモリに記憶された複数の例外処
理ハンドラのベースアドレスを格納するベースレジスタ
(VBR)とを有する。上記算術論理演算回路は、上記
制御回路の制御の下で、上記ベースアドレスと上記所定
の値とを加算し、上記所定の命令アドレス(分岐先命令
アドレス)とを発生する。例えば、図2に従えば、TL
Bミス例外を除く一般例外のベクタオフセットはH'1
00とされ、TLBミス例外のベクタオフセットはH'
400とされる。上記定数発生部は、2ビットの定数を
発生する定数発生回路(CVG)と、上記定数発生回路
から出力された2ビットの定数を所定の量だけシフトす
るシフト回路(SFT)とから構成され、その回路構成
が簡単化されている。
【0021】要因コードを記録する記憶回路としてのレ
ジスタは、中央処理装置(CPU)の動作に同期して発
生する第1の例外事象(例えば一般例外)に割り当てら
れた第1レジスタ(EXPEVT)と、中央処理装置の
動作と非同期で発生する第2の例外事象(例えば割り込
み)に割り当てられた第2レジスタ(INTEVT)と
される。なお、リセットは、第2の例外事象の範疇に含
められる。
【0022】上記ステータスレジスタ(SR)は、上記
データ処理装置の動作状態が、ユーザプログラムが走行
されているユーザ状態か、あるいはシステムプログラム
が走行されている特権状態かを択一的に示すデータが格
納される第1制御ビット(MD)と、上記例外事象の発
生後に発生した他の例外事象を受け付けるか無視する
(マスク)か否かを指示するデータが格納される第2制
御ビット(BL)とを有する。
【0023】上記制御手段は、前記内部状態と上記復帰
命令アドレスとを上記第1退避レジスタ(SSR)と上
記第2退避レジスタ(SPC)ヘそれぞれ退避した後、
上記第1制御ビットに特権状態を示すデータを設定し、
上記第2制御ビットに上記例外事象の発生後に発生した
他の例外事象を無視する事を示すデータを設定し、上記
所定の命令アドレスに割り付けられた第1例外処理ハン
ドラに分岐させる。上記第1及び第2制御ビットに対す
るアクセスは、所定の特権命令(例えばLDC,ST
C)にて可能にされる。即ち、図2に例示されように、
ベクタポイントに割り当てられた上記第1例外処理ハン
ドラ上でのプロセッサモードは、特権状態及び例外の多
重受け付け抑止の状態とされる。ここで、特権状態は、
ユーザ状態ではアドレスエラーとされるアドレス空間を
アクセス可能な状態であり、ユーザ状態では実行不可能
な特権命令(例えばLDC,STC)を実行することが
できる、という点においてユーザ状態と相違される。
【0024】例外発生時における内部状態の退避と復帰
アドレスの退避を第1及び第2退避レジスタにできるよ
うにするため、ベクタポイントに割り当てられた上記第
1例外処理ハンドラ上では、、新たに発生する例外の多
重受け付けを抑止するか否かを決定してその内容を上記
制御ビットに反映し、多重に受け付けるときは上記第1
及び第2の退避レジスタの内容をメモリに退避させる。
【0025】例外発生時の汎用レジスタのメモリ退避を
低減させ、或は、汎用レジスタに対する処理の自由度を
向上させるため、複数のバンクを構成する第1及び第2
汎用レジスタセットが設けられる。上記第1及び第2汎
用レジスタセットの一方は、前記特権状態における汎用
レジスタとして利用され、上記第1及び第2汎用レジス
タセットの他方は、前記ユーザ状態における汎用レジス
タとして利用される。汎用レジスタのレジスタバンクを
前記特権状態においてのみソフトウェアで切り換え可能
にするとよい。
【0026】本発明に従うデータ処理装置は、さらに、
命令ブレークコントローラ(UBC)を有する。命令ブ
レークコントローラ(UBC)は、ブレークポイントア
ドレスが設定される命令ブレークアドレスレジスタ(I
BR)を含み、上記命令ブレークアドレスレジスタに設
定された命令アドレスに対応する命令が中央処理装置に
よって実行された時、命令ブレーク例外を発生する。前
記制御手段は、例外の多重受け付け抑止が指示された状
態において前記命令ブレーク例外を検出したとき、前記
第1及び第2退避レジスタへの内部状態及び復帰命令ア
ドレスの退避を行わずに命令ブレーク例外ハンドラに分
岐させる。、上記命令ブレーク例外ハンドラは、上記状
態及び復帰アドレス退避用の退避レジスタの内容をメモ
リに退避した後、前記命令ブレークアドレスレジスタが
保有するブレークポイントアドレスを利用して命令ブレ
ーク例外ハンドラからの復帰命令アドレスを計算し、計
算した復帰命令アドレスを前記第2退避レジスタに書き
込む。これにより、前記例外の多重受け付けが抑止され
た状態の例外処理ハンドラで、前記命令ブレーク例外を
処理可能とする。
【0027】上記において、前記制御手段は、更に、例
外の多重受け付けを抑止した状態において、前記命令ブ
レーク例外以外の第1の例外を検出したときは、前記要
因レジスタにその要因コードを記録した後にリセット例
外のハンドラに分岐させ、また、第2の例外を検出した
ときは、例外の多重受け付け抑止の状態が解除されるま
で第2の例外の受け付けを抑止する。
【0028】
【作用】上記した手段によれば、ベクタポイント割り付
けられたら第1例外処理ハンドラは、ある例外要因(例
えばTLBミス例外)に対してはそれ固有の一つの例外
ハンドラとされ、他の例外要因(例えばTLBミス例外
以外の一般例外)に対しては夫々の要因に対応して設け
られた別の例外処理ハンドラとされる第2例外処理ハン
ドラ(例えば、アドレスエラー例外、TLBプロテクト
違反例外)へ分岐させるための記述を含む共通の例外処
理ハンドラとされる。
【0029】前者においては、メモリアクセスを伴わず
にハードウェアによる処理だけで特定の第1例外処理ハ
ンドラに分岐できるので、所望の例外処理へ高速に移行
することが可能になる。後者においては、さらに別のハ
ンドラに分岐するためのアドレスオフセットとして記憶
回路(要因レジスタ)の例外要因コードを利用するの
で、分岐先アドレスの取得にメモリ上のアドレステーブ
ルをアクセスすることが必要とされない。従って、この
場合にも、所望の例外処理ハンドラへの高速な移行が可
能なる。
【0030】見方を変えれば、後者において要因レジス
タに保持されている例外要因コードは、さらに別の例外
処理ハンドラに分岐するためのアドレスオフセットとし
て利用できるようにコード割り当てが行われているとい
うことである。例えば、アドレス換算で32バイト分に
相当するようなH'20の間隔を置いてコード割り当て
が行われている。
【0031】更に、後者において、例外要因コードは分
岐のためのアドレスオフセットとして利用されるので、
当該オフセットに対するベースアドレスはハードウェア
によって決定されているベクタポイントに割り当てられ
た第1例外処理ハンドラの記述に従って自由に決定で
き、実際の分岐先アドレスや分岐先の例外処理ハンドラ
のサイズ対して自由度を保証することができる。
【0032】内部状態及び復帰命令アドレスを退避する
レジスタ(SSR,SPC)を採用することは、例外発
生時の退避に際してメモリアクセスを減らす。
【0033】中央処理装置の動作クロックの周波数が割
り込み要求の発生元とされる周辺モジュールの動作クロ
ックの周波数に対して複数倍のクロック周波数で動作さ
れる場合、前記中央処理装置の動作に同期して発生され
る第1の例外事象としての一般例外と非同期で発生され
る第2の例外事象としての割り込み要求との双方に対処
するため、例外要因コードを格納するレジスタは上記第
1例外事象と上記第2例外事象に対して別々に設ける。
双方の例外発生に対して同じようなタイミングで例外要
因コードを共通のレジスタに書き込むための煩雑な処理
を避けられるようにする。
【0034】例外要因に応じてハードウェアで決定され
ている分岐先のハンドラ(第1例外処理ハンドラ)上で
の初期的なプロセッサモードを、例外事象の多重受け付
け抑止状態及び特権状態によって一定にすることは、ユ
ーザが当該ハンドラ上で規定できる例外処理の内容に高
い自由度を保証できる。
【0035】汎用レジスタのレジスタバンクを特権状態
においてのみソフトウェアで切り換え可能にすること
は、特権状態においてユーザ状態とは異なるバンクの汎
用レジスタを利用できるようになり、例えば、例外処理
においてユーザ状態から特権状態にプロセッサモードを
切り換えるときに汎用レジスタの内容をメモリに退避し
なくても済むようにでき、例外処理への移行を高速化で
きる。
【0036】例外を抑止した状態の例外ハンドラ中で命
令ブレーク例外を処理可能にすることは、多重に発生す
る例外の受け付けが禁止されている状態のデバッグ対象
プログラムに対しても任意の位置で命令ブレークをかけ
てシステム評価やプログラムデバッグを行うことを保証
できる。
【0037】
【実施例】
《マイクロコンピュータの概要》 図1は、本発明の実
施例に係るシングルチップマイクロコンピュータ(シン
グルチップマイクロプロセッサとも言う)のブロック図
を示す。同図に示されるマイクロコンピュータMPU
は、例えば、公知の半導体集積回路製造技術によって単
結晶シリコンのような1個の半導体基板あるいは半導体
チップに形成される。マイクロコンピュータMPUは、
特に制限されないが、内部バスとしてシステムバスS−
bus、キャッシュバスC−busおよびペリフェラル
バスP−busを含む。すなわち、マイクロコンピュー
タMPUは、スリーバス構成を有する。内部バスS−b
us、C−bus、P−busの各々は、データを転送
するためのデータバス、アドレス信号を転送するための
アドレスバス及び制御信号を転送するための制御バスを
備えている。
【0038】システムバスS−busには、中央処理装
置(central processing unit)CPU、乗算器(multip
lier)MLT、キャッシュメモリ(cache memory)CAC
HE、メモリマネージメントユニット(memory manageme
nt unit)MMU、及び命令ブレークコントローラ(instr
uction break controller)UBCが結合される。キャッ
シュバスC−busには上記キャッシュメモリCACH
E、メモリマネージメントユニットMMU、命令ブレー
クコントローラUBC、及びバスステートコントローラ
(bus state controller)BSCが結合される。バスステ
ートコントローラBSCに接続されるペリフェラルバス
P−busには、タイマTMU、中央処理装置CPUへ
の動作クロックの供給が停止されても計時動作が可能に
されるリアルタイムクロック回路(real time clock cir
cuit)RTC、外部メモリMMRYに含まれるダイナミ
ック型メモリのリフレッシュ動作を制御するリフレッシ
ュコントローラ(refresh controller)REFC、及びマ
イクロコンピュータMPUの外部に設けられた外部周辺
装置(external peripheral devices)との間のシリアル
通信を実行するシリアルコミュニケーションインタフェ
ース(serial communication interface)SCIなどの内
蔵周辺モジュール(internal peripheral modules)が接
続される。また、上記バスステートコントローラBSC
は、入出力回路(input and output circuit)EXIFを
介して、外部バスEX−busに接続可能にされる。上
記外部バスEX−busには、外部メモリMMRYや補
助記憶装置DISKなどが接続されることになる。上記
バスステートコントローラBSCは、上記内蔵周辺モジ
ュール及び外部に対するバスサイクルの起動とそれに伴
う各種バス制御を行う。
【0039】割り込みコントローラ(interrupt contro
ller)INTCは、上記内蔵周辺モジュールから、及び
複数ビットの外部割り込み端子(external interrupt te
rminals)IRL0〜IRL3から外部割り込み要求(ex
ternal interrupt request)を受け、割り込み優先レベ
ル(interrupt priority level)に従って割り込み要求
の調停などを行う。割り込みコントローラINTCは、
発生した割り込み要求の受け付けを許可する場合、上記
中央処理装置CPUへ割り込み要求信号SIG1を供給
する。また、上記割り込みコントローラINTCは、受
け付けられた割り込み要求の割り込み要因を割り込み要
因信号SIG2によってメモリマネージメントユニット
MMUの制御回路(TLBC)へ通知する。上記割り込
み要求信号SIG1を受けた中央処理装置CPUは、割
り込み許可信号SIG3をメモリマネージメントユニッ
トMMUの制御回路TLBCへ供給する。上記メモリマ
ネージメントユニットMMUの制御回路TLBCは、割
り込み許可信号SIG3に応答し、許可された割り込み
要求に対応する例外要因コード(exception code)を後述
する記憶回路としての割り込み要因レジスタINTEV
Tに書き込む。中央処理装置CPUの制御部CTRL
は、上記割り込み要因レジスタINTEVTにセットさ
れた例外要因コードを用いて、実行中のデータ処理プロ
グラムの処理から所定の割り込み処理へその処理を分岐
する。
【0040】本実施例のマイクロコンピュータMPU
は、論理アドレス空間(logical address space)を論
理ページ(logical page)と呼ばれる単位に分割し、そ
のページ単位に物理アドレス(physical address)への
アドレス変換(address translation)を行うための仮
想記憶(virtual memory)をサポートする。上記メモリ
マネージメントユニットMMUのアドレス変換バッファ
(address translation look-aside buffer)TLB
は、論理ページ番号と物理ページ番号とに関する複数の
変換対をTLBエントリとして格納する。上記メモリマ
ネージメントユニットMMUの制御部TLBCは、中央
処理装置CPUが出力する論理アドレスをアドレス変換
バッファTLBを用いて物理アドレスに変換するための
制御を行う。TLBミスの場合、すなわち、中央処理装
置CPUが出力した論理アドレスに対応する変換対がT
LBエントリとしてアドレス変換バッファTLB内に記
憶されていなかった場合、制御部TLBCは、外部メモ
リMMRY上のページテーブルをアクセスしてその論理
アドレスに対応する変換対を外部メモリMMRYから読
み込むように動作する。その後、制御部TLBCは、読
み出された変換対をTLBエントリとしてアドレス変換
バッファTLBへ書き込むように動作する。
【0041】アドレス変換バッファTLBは、例えば、
4ウェイ・セットアソシアティブ(4way-set-associati
ve)方式のキャッシュメモリ(cache memory)によって
構成される。TLBミスなどのアドレス変換に係る後述
されるような各種例外事象が発生すると、制御部TLB
Cはその例外事象に対応する例外要因コードを後述する
記憶回路としての例外要因レジスタEXPEVTにセッ
トし、且つ、TLBミスなどのアドレス変換に係る例外
事象の発生を通知するための通知信号SIG4を中央処
理装置CPUの制御部CTRLへ供給する。中央処理装
置CPUは、例外要因レジスタEXPEVTにセットさ
れた例外要因コードを用いて、或いは、例外要因レジス
タEXPEVTにセットされた例外要因コードを用いず
にハードウェアで直接的に、実行中のデータ処理プログ
ラムの処理から対応する例外処理へその処理を分岐す
る。
【0042】中央処理装置CPUは、例えば、4ギガバ
イトの論理アドレス空間をサポートするために、32ビ
ットのアドレス信号を利用する。図1に示されるよう
に、中央処理装置CPUは、例えば、汎用レジスタ(ge
neral purpose registers)R0〜R15や算術論理演
算器(arithmetic and logic operation unit)ALU
を含む演算部(operation unit)100と、後述される
プログラムカウンタ(program counter)PCなどのシ
ステム制御用レジスタセット(system control registe
r set)110と、命令のフェッチ、命令の解読、命令
の実行手順の制御および演算の制御を行う制御部CTR
Lを含む。これらの回路装置(R0〜R15、ALU、
110、CTRL)は、システムバスS−busに結合
される。中央処理装置CPUは、外部メモリMMRYか
ら実行されるべき命令をフェッチし、その命令記述(in
struction code)に応じたデータ処理を行う。図1にお
いて、制御信号SIG5は、中央処理装置CPUからメ
モリマネージメントユニットMMUへの各種制御信号及
び中央処理装置CPUの内部状態を通知するための信号
を総称するものである。
【0043】キャッシュメモリCACHEは、特に制限
されないが、4ウェイ・セットアソシアティブ形式とさ
れる。キャッシュメモリCACHEに対するインデック
スは、中央処理装置CPUから出力された論理アドレス
の一部を用いて行われ、キャッシュメモリCACHEの
キャッシュエントリのタグ部には物理アドレスが保有さ
れる。インデックスされたタグ部から出力される論理ア
ドレスはアドレス変換バッファTLBで変換された物理
アドレスと比較され、その比較結果に応じてキャッシュ
ミス/ヒットが判定される。キャッシュミスの場合、当
該キャッシュミスに係るデータ又は命令は外部メモリか
ら読み込まれ、読み込まれたデータ又は命令は新たなキ
ャッシュエントリとしてキャッシュメモリCACHEに
格納される。
【0044】上記命令ブレークコントローラUBCは、
デバッグ機能を強化するために設けられており、システ
ムバスS−busの状態がブレーク条件に一致するかを
監視する。システムバスS−busの状態がブレーク条
件と一致する場合、中央処理装置CPUにブレーク割込
みを発生させる。命令ブレークコントローラUBCに含
まれるIBRは、ブレーク条件として命令アドレスなど
が設定される命令ブレークアドレスレジスタである。中
央処理装置CPUは、デバッグ若しくはエミュレーショ
ン開始前にそのためのサービスルーチンを実行し、命令
ブレークアドレスレジスタIBRにブレークすべき命令
の先頭アドレスやオペランドアドレスなどの所望の命令
ブレーク条件をあらかじめ設定する。マイクロコンピュ
ータMPUの内部状態が前記命令ブレーク条件に一致す
ると、後述の命令ブレーク例外が発生する。これによっ
て、中央処理装置CPUは、デバッグのための命令ブレ
ークハンドラを実行可能にされる。したがって、マイク
ロコンピュータMPUの内部でブレークポイント制御を
行うことができる。
【0045】《CPUのレジスタ構成》 次に、中央処
理装置CPUにおけるレジスタ構成が説明される。汎用
レジスタR0〜R15は、図3に示されるように、夫々
32ビットの記憶ビットを有し、図示されないインター
フェイス回路を介して、上記システムバスに結合され
る。汎用レジスタR0〜R7は、プロセッサモードによ
って切り換えられるバンクレジスタとされる。換言すれ
ば、汎用レジスタR0〜R7はバンク0とバンク1の2
セット備えられる。すなわち、第1汎用レジスタセット
としてのR0(BANK0)〜R7(BANK0)と第
2汎用レジスタセットとしてのR0(BANK1)〜R
7(BANK1)とされる。上記プロセッサモードは、
ユーザのアプリケーションプログラムが走行される動作
状態を意味するユーザモード(ユーザ状態)と、オペレ
ーティングシステム(operating system)などのシステ
ムプログラムが走行される動作状態を意味する特権モー
ド(特権状態)とを含む。したがって、特権状態とユー
ザ状態の夫々は、固有の汎用レジスタR0〜R7を有す
ることができる。即ち、図4に示されるユーザ状態にお
いては、バンク0の汎用レジスタR0(BANK0)〜
R7(BANK0)が利用可能にされる。特権状態にお
いては、後述されるステータスレジスタSRのレジスタ
バンクビットRB(SR.RB)の設定状態によって汎
用レジスタR0〜R7の利用形態が決定される。
【0046】例えば、図5に示されるように、特権状態
において、RB=0のときは、R0(BANK0)〜R
7(BANK0)は汎用レジスタとして自由な利用が許
容され、R0(BANK1)〜R7(BANK1)に対
しては制御ロード命令(LDC)及び制御ストア命令
(STC)によるアクセスのみが許容される。RB=1
ときは、上記とは逆にR0(BANK1)〜R7(BA
NK1)が汎用レジスタとしての自由な利用が許容さ
れ、R0(BANK0)〜R7(BANK0)に対して
は制御ロード命令(LDC)及び制御ストア命令(ST
C)によるアクセスのみが許容される。前記制御ロード
命令(LDC)及び制御ストア命令(STC)は、特権
状態において実行可能な特権命令若しくはシステム制御
命令の一例である。
【0047】このように汎用レジスタをバンクレジスタ
構成とし、特権状態においてユーザ状態とは異なるバン
クの汎用レジスタを利用可能にすることは、例えば、例
外処理においてユーザ状態から特権状態にプロセッサモ
ードを切り換える時、ユーザ状態において汎用的に使用
されていた汎用レジスタR0〜R7の内容を外部メモリ
MMRYのスタック領域へ退避しなくても済むようにで
きる。したがって、中央処理装置CPUの例外処理への
移行が高速化できる。
【0048】システムレジスタは、図3に示されるよう
に、データレジスタハイMACH、データレジスタロー
MACL、復帰アドレスレジスタPR、及びプログラム
カウンタPCとされる。データレジスタハイMACH及
びデータレジスタローMACLは、乗算、積算や積和演
算のためのデータを格納する。復帰アドレスレジスタP
Rは、サブルーチンからの戻りアドレスを格納する。プ
ログラムカウンタPCは、現在の命令のスタート番地を
指す。
【0049】コントロールレジスタは、図6に示される
ように、セーブステータスレジスタSSR、セーブプロ
グラムカウンタSPC、グローバルベースレジスタGB
R、ベクタベースレジスタVBR、及びステータスレジ
スタSRとされる。セーブステータスレジスタSSR
は、例外事象の発生時などにおいて、現在のステータス
レジスタSRの値を退避するレジスタである。セーブプ
ログラムカウンタSPCは、例外事象が発生したとき
に、対応する例外処理から復帰した後に中央処理装置C
PUが実行すべき命令の命令アドレスを保持するための
レジスタである。セーブプログラムカウンタSPCに
は、例外事象が発生したとき所定のタイミングでプログ
ラムカウンタPCの値が退避される。グローバルベース
レジスタGBRは、GBR−インダイレクトアドレスモ
ードにおけるベースアドレスを格納するレジスタであ
る。GBR−インダイレクトアドレスモードは、シリア
ルコミュニケーションインタフェースSCIなどの上記
内蔵周辺モジュールのレジスタ領域にデータを転送する
時、また、論理演算の時に利用される。ベクタベースレ
ジスタVBRは、例外処理のためのベクタ領域のベース
アドレス(ベクタテーブルベースアドレス)を保有す
る。ステータスレジスタSRは、演算においてキャリ
ー、ボロー、オーバーフローを示すために利用されるT
ビット、メモリアクセス制御に利用されるSビット、割
り込み要求に対するマスクレベルを4ビットで示す割り
込みマスクビットIMASK、除算に利用されるM及び
Qビット、上述のレジスタバンクビットRB、ブロック
ビットBL、プロセッサオペレーションモードビットM
D、及びゼロビットを含む。ブロックビットBLは例外
をマスクするために利用され、BL=1は例外をマスク
することを指示し、BL=0は例外を許容することを指
示する。モードビットMDはMD=1にて特権モード
を、MD=0にてユーザモードを示す。上記M、Q、
S、Tの各ビットは、ユーザモードにおいて、所定の専
用命令を実行した中央処理装置CPUによってセットあ
るいはクリアすることが可能である。その他全てのビッ
トは、特権モードにおいてだけ中央処理装置CPUによ
ってリード・ライト可能にされる。上記コントロールレ
ジスタに対する書き込みは制御ロード命令(LDC)を
実行する中央処理装置CPUによって行われ、上記コン
トロールレジスタに対する読み出しは制御ストア命令
(STC)を実行する中央処理装置CPUによって行わ
れる。
【0050】《マイクロコンピュータのアドレス空間》
本実施例のマイクロコンピュータMPUは、4GB
(ギガバイト)の論理アドレス空間をサポートするため
に32ビットのアドレスを利用する。該論理アドレス
は、空間番号によって拡張可能にされる。図13は、特
権モードのアドレス空間とユーザモードのアドレス空間
とのアドレスマッピングを示している。同図におい
て、”Mapped”と示される領域は、アドレス変換バッフ
ァTLBを利用したアドレス変換の対象とされる。
【0051】H'FFFFFFFF〜H'8000000
0の領域は、特権モードにおいて、アクセス可能な領域
とされ、ユーザモードでのアクセスはアドレスエラーと
される。
【0052】アドレス領域P4はコントロールスペース
であり、周辺モジュールなどのコントロールレジスタな
どがマッピングされる。
【0053】アドレス領域P1,P2は、固定された物
理アドレスを有する領域であり、アドレス変換バッファ
TLBを利用したアドレス変換の対象にはされない。ア
ドレス領域P1,P2の論理アドレスは、一定の定数の
加算又は減算によって物理アドレスに変換される。した
がって、特権状態において、アドレス領域P1,P2を
アクセスするとき、TLBミスを初めとするアドレス変
換に係る例外事象が発生することはない。一般割り込み
事象や一般例外事象などの各種例外ハンドラの物理アド
レスをアドレス領域P1又はP2に割り当てることによ
り、TLBミスを初めとするアドレス変換に係る例外事
象が例外処理中に新たに発生することがなくなる。換言
すれば、アドレス変換に係る例外事象が、多重に発生す
る事態を回避でき、これによってデータ処理の効率化に
寄与することができる。
【0054】特に、アドレス領域P2はキャッシュメモ
リCACHEによるキャッシュの対象とはされず、一
方、アドレス領域P1はキャッシュの対象とされる。例
外処理ハンドラに関して言えば、複数存在する例外処理
ハンドラの内どの例外処理ハンドラをアドレス領域P1
又はP2へ割り当てるかは、その例外処理の性質に応じ
て決定される。例えば、TLBミス例外に対処するため
の例外処理ハンドラのように高速処理が要求される例外
処理ハンドラは、アドレス領域P1に割り当てるのが得
策である。一方、例外処理の高速性が要求されない例外
処理ハンドラは、キャッシュメモリを別のデータに解放
しておくために、アドレス領域P2に割り当てるのが得
策である。
【0055】《例外処理の概要》 例外処理は、特別な
ハンドリングが要求されるので、現在のプログラム実行
を例外的に別の処理へ分岐させる処理であり、中央処理
装置CPUは現在の命令(その実行は後述の割り込み要
求に対しては完了まで継続することが許容される)実行
を抑止し且つユーザ記述による例外ハンドラにその制御
を移行することによってその例外処理の要求に応答す
る。例えば、例外処理は、現在実行中の命令との関係で
は、3つの処理に分類できる。第1の処理は、現在実行
中の命令を無視して、例外ハンドラの処理へ分岐する処
理である。第2の処理は、現在実行中の命令を、例外ハ
ンドラの処理完了後に、再実行する処理である。第3の
処理は、現在実行中の命令実行を完了した後に、例外ハ
ンドラの処理へ分岐して分岐先での処理完了後に分岐前
の状態に復帰する処理である。後者の二つについては、
一般例外のような第1の例外事象と所謂割り込み要求の
ような第2の例外事象として区別することができる。割
り込み要求のような第2の例外事象は、中央処理装置C
PUの動作とは非同期で発生するので、実行中の命令が
実行完了された段階で受け付けられ、割り込み処理に対
応する例外処理ハンドラの処理が終了すると、当該実行
完了された命令の次の命令に中央処理装置CPUの処理
が復帰される。一般例外のような第1の例外事象は、中
央処理装置CPUの動作に同期して発生するので、その
要求の原因が取り除かれた後、当該例外処理の要求が発
せられた時点に中央処理装置CPUの実行していた命令
が中央処理装置CPUによって再実行される。ただし、
全ての例外処理には双方の定義に合致しないものが存在
することは言うまでもない。
【0056】図7は、ベクタとして割り付けられた例外
事象を示している。例外処理は、図7に示されるよう
に、リセット処理、中央処理装置CPUの動作に同期し
て発生する例外事象(一般例外)に対する処理、中央処
理装置CPUの動作と非同期で発生する割り込み要求に
対する処理に大別される。夫々の例外処理において、現
在実行中の命令に対する処置は、同図に示されるよう
に、無視(Aborted)、再実行(Retried)および完了
(Completed)の3種類に大別される。
【0057】1)リセット処理は、パワーオンリセット
(Power-On)とマニュアルリセット(Manual Reset)を
含む。例えば、パワーオンリセットは、電源投入によっ
てリセット信号がアサートされることを条件に、中央処
理装置CPUや内蔵周辺モジュールの初期化を行うリセ
ット処理とされる。
【0058】2)一般例外は、中央処理装置CPUの内
部で発生する例外と、メモリマネージメントユニットM
MUによるアドレス変換に際して発生される例外に大別
される。
【0059】前者の例外事象として、予約命令例外(Re
served Instruction Exception)、スロット不当命令例
外(Illegal Slot Instruction Exception)、トラップ
命令例外(Unconditional Trap)、及び命令ブレーク例
外(User Breakpoint Trap)がある。
【0060】後者の例外事象として、命令アクセス時と
データアクセス時におけるアドレスエラー例外(Addres
s Error)、命令アクセス時とデータアクセス時におけ
るTLBミス例外(TLB Miss)、命令アクセス時とデー
タアクセス時におけるTLBインバリッド例外(TLB In
valid)、命令アクセス時とデータアクセス時における
TLBプロテクト違反例外(TLB Protection Violatio
n)、TLBイニシャルページライト例外(Initial Pag
e Write)がある。
【0061】上記TLBミスは、アドレス変換バッファ
TLBのアドレス比較が不一致である場合に発生し、当
該不一致に係る論理アドレスのページテーブルエントリ
を外部メモリMMRYからアドレス変換バッファTLB
にロードする処理とされる。トラップ命令例外は、TR
AP命令を実行することを条件に発生し、当該命令のイ
ミディエイト値を用いた分岐先のハンドラによって規定
される処理を行うものであり、ソフトウェア割り込みと
して位置づけることができる。予約命令例外は、遅延分
岐命令を利用するときに、遅延スロット以外にある未定
義命令コードをデコードすることなどを条件に発生し、
分岐先のハンドラで規定される処理を行う。命令ブレー
ク例外は、レジスタIBRに設定されたブレーク条件が
一致したことを条件に発生し、分岐先のハンドラで規定
される処理を行う。
【0062】3)割り込み要求は、マスク不可能な割り
込み(Nonmaskable Interrupt)、外部割り込み(Exter
nal Hardware Interrupt)、及び内蔵周辺モジュール割
り込み(Peripheral Module Interrupt)を含む。
【0063】例外処理の優先レベル(Priority Level)
に関しては、特に制限されないが、図7に示されるよう
に、以下のように定義される。すなわち、リセットは優
先レベル1に割り当てられ、一般例外は優先レベル3に
割り当てられ、マスク不可能な割り込み要求は優先度レ
ベル2に割り当てられ、その他の割り込み要求は優先度
レベル4に割り当てられる。この優先レベルは、高い順
に1〜4とされ、最も高い優先レベルは1とされ、最も
低い優先レベルは4とされる。
【0064】上記一般例外は、命令の実行シーケンスに
関係して発生するので、優先レベル3が割り当てられて
いる。優先レベル3に割り当てられている各種一般例外
には、発生する命令実行段階の早遅に従って、1〜12
の実行優先度(Execution Order)が割り当てられる。
命令がパイプライン的に実行される場合、ある命令の実
行中に検出された優先レベル3のある一般例外は、その
後の命令の実行中に検出された優先レベル3の他の一般
例外に先行して受け付けられるように制御される。従っ
て、実行優先度は、個々の命令の実行スパン内での優先
度を規定しているとみなされる。特に、命令ブレーク例
外(ユーザブレークトラップ例外)において、ブレーク
ポイントとして指定されている命令の実行前にトラップ
を発生させる場合、命令ブレーク例外の実行優先度は1
とされ、実行後にトラップを発生させる場合、命令ブレ
ーク例外の実行優先度は12、オペランドブレークポイ
ントが設定されている場合も命令ブレーク例外の実行優
先度は12とされる。外部割り込みと内蔵周辺モジュー
ル割り込みとの間での優先レベルはソフトウェアによっ
て定義される。
【0065】尚、図7における一般例外内のある1部の
一般例外は、命令アクセス(Instr.Access)時とデータ
アクセス(Data Access)時とで区別されるように図示
されている。これは、図7のAddress ErrorからInitial
Page Writeまでの一般例外の記載は、ある1つの命令
をパイプライン的に実行するときの実行順序に従って例
外要因を記載してあるためである。したがって、図7に
示されるTLB Miss(Instr. Access)とTLB Miss(Data
Access)は相互に同一の例外ハンドラで処理される。Ad
dress Error(Instr. Access)とAddress Error(Data
Access)、TLBInvalid(Instr. Access)とTLB Invalid
(Data Access)そしてTLB ProtectionViolation(Inst
r. Access)とTLB Protection Violation(Data Acces
s)も同様である。また、図7においては、一般例外は
優先レベル3に割り当てられ、マスク不可能な割り込み
要求は優先度レベル2に割り当てられているが、一般例
外に優先レベル2を割り当て、マスク不可能な割り込み
要求に優先度レベル3を割り当てても良い。
【0066】《例外処理のためのベクタ配置》 夫々の
例外処理の内容を規定する各種例外処理ハンドラ(例外
ハンドラと総称する)は、ベクタ配置を利用して呼び出
される。マイクロコンピュータMPUは、そのハードウ
ェア構成によって4種類のベクタ配置をサポートする。
固定された物理アドレスH'A0000000はリセッ
トのためのベクタとして割り当てられる。他の例外処理
に対しては、ソフトウェアによって上記ベクタベースレ
ジスタVBRに設定されたベクタテーブルベースアドレ
スからの固定番地のオフセット(ベクタオフセット)が
割り当てられている。それぞれのベクタオフセットは、
図7に示されるように、H'00000100、H'00
000400、H'00000600とされる。上記T
LBミス例外のベクタオフセットにはH'000004
00が割り当てられ、TLBミス例外以外の一般例外の
ベクタオフセットにはH'00000100が割り当て
られ、割り込み要求のベクタオフセットにはH'000
00600が割り当てられる。
【0067】ベクタテーブルのベースアドレスは、ベク
タベースレジスタVBRにソフトウェアを実行する中央
処理装置CPUによってロードされる。例えば、タスク
切換え若しくはプロセス切換えに際して、オペレーティ
ングシステムのようなシステムプログラムを実行する中
央処理装置CPUによってベクタベースレジスタVBR
の設定が行われる。ベクタテーブルのベースアドレス
は、所定の固定された物理アドレス空間に配置されるこ
とになる。即ち、ベクタテーブルのベースアドレスは前
記アドレス領域P1,P2に配置される。上記レジスタ
VBRの値とベクタオフセットとによって決定されるベ
クタポイント(ベクタアドレス)は、ハードウェアによ
って規定される。即ち、ベクタポイントは、ユーザ記述
によるプログラムによって規定される性質のものではな
い。
【0068】図14は、前記固定オフセットとしてのベ
クタオフセットの値を生成するためのハードウェアの構
成を示している。同図において、定数発生回路CVGと
シフタSFTは、ベクタオフセットを生成するために設
けられている定数発生部或は演算手段みなされる。ベク
タオフセットの値とベクタベースレジスタVBRの値と
の加算は、算術論理演算器ALUによって行われ、加算
して得られたベクタポイントは、プログラムカウンタP
Cに書き込まれる。その後、中央処理装置CPUは、プ
ログラムカウンタPCに書き込まれたベクタポイントに
割り当てられる例外処理ハンドラをアクセスするため
に、システムバスS−bus内のアドレスバスへ上記ベ
ククポイント(論理アドレス)を発生する。メモリ管理
ユニットMMUは、上記ベククポイントとされる論理ア
ドレスを受け、その論理アドレスに関するアドレス変換
対をエントリとして記憶している場合、上記論理アドレ
スを物理アドレスに変換し、キャッシュメモリCACH
Eへ供給する。キャッシュメモリCACHEに上記物理
アドレスに対応する命令が存在しない場合、上記物理ア
ドレスが、キャッシュバスC−busのアドレスバス、
バスステートコントローラBSC、入出力回路EXIF
及び外部バスEX−busのアドレスバスを介して、上
記外部メモリMMRYに供給される。上記物理アドレス
が外部バスEX−busのアドレスバスヘ出力されるこ
とに同期して、上記中央処理装置CPUから出力される
図示されないリード制御信号がシステムバスS−bus
内の制御バス、キャッシュバスC−busの制御バス、
バスステートコントローラBSC、入出力回路EXIF
及び外部バスEX−busの制御バスを介して上記外部
メモリMMRYに供給される、上記外部メモリMMRY
は、上記物理アドレスによってリードアクセスされ、そ
の物理アドレスに格納されているデータ(第1例外ハン
ドラの先頭の命令データ)が、外部バスEX−busの
データバス、入出力回路EXIF、バスステートコント
ローラBSC、キャッシュバスC−busのデータバス
及びシステムバスS−bus内のデータバスを介して中
央処理装置CPUへ供給されて実行される。
【0069】上記プログラムカウンタPCにセットされ
るベクタポイントを生成するための前記定数発生回路C
VG、シフタSFT、及び算術論理演算器ALUは、中
央処理装置CPUの演算部100に含まれる。
【0070】定数発生回路CVG及びシフタSFTに
は、割り込み通知信号SIG1、TLBミス例外の発生
を示す通知信号SIG4a、及びTLBミス例外以外の
一般例外の発生を示す通知信号SIG6が供給される。
通知信号SIG4aは、メモリマネージメントユニット
MMU内の制御部TLBCから出力される前記信号SI
G4に含まれる一つの信号である。すなわち、前記信号
SIG4は、複数ビットの信号を含んでおり、前述のよ
うに、メモリマネージメントユニットMMUにおけるア
ドレス変換に起因する例外の発生を中央処理装置CPU
に通知する信号である。前記信号SIG4には、発生し
た例外事象がTLBミス例外であることを示す通知信号
SIG4a、発生した例外事象がTLBミス例外以外の
例外事象であることを示す通知信号SIG4bなどが含
まれる。通知信号SIG6は、図示されるように、メモ
リマネージメントユニットMMUにおけるアドレス変換
に際してTLBミス例外以外の例外事象が発生したとき
活性化される前記信号SIG4bと、中央処理装置CP
U内部において例外事象が発生したとき活性化される内
部信号SIG6aとを受けるオア回路ORの出力信号と
される。
【0071】前記定数発生回路CVG及びシフタSFT
において、発生すべき定数とシフト量は、前記信号SI
G1,SIG4a,SIG6の内のどの信号が活性化さ
れたかに基づいて制御される。定数発生回路CVGは、
例えば、バイナリコードで2ビットの定数H'1(0
1)又はH'3(11)を発生する。定数発生回路CV
Gは、通知信号SIG4a又は通知信号SIG6が活性
化されると、定数H'1を発生する。定数発生回路CV
Gは、割り込み発生の通知信号SIG6が活性化される
と、定数H'3を発生する。シフタSFTは、通知信号
SIG6が活性化されると、定数H'1(01)に対し
て8ビット左シフトを行うことによってベクタオフセッ
トH'100(1.0000.0000)を出力する。T
LBミス例外の通知信号SIG4aが活性化されると、
シフタSFTは定数H'1(01)に対して10ビット
左シフトを行うことによってベクタオフセットH'40
0(100.0000.0000)を出力する。通知信号
SIG1が活性化されると、シフタSFTは定数H'3
(11)を9ビット左シフトを行うことによって、ベク
タオフセットH'600(110.0000.0000)
を出力する。特に、本実施例において、ベクタオフセッ
トとしてH'100,H'400,H'600を割り当て
たのは、ベクタオフセットにおいて論理値”1”とされ
るビットの数を極力少なくするため、換言すれば、定数
発生回路CVGの論理規模を小さくするためである。
【0072】図14から明らかなように、ハードウェア
(回路)で生成すべきベクタオフセットは3種類である
から、そのハードウェア量は2ビットの定数発生回路C
VGとシフタSFTだけで済む。シフタSFTはベクタ
オフセットの生成に専用化される必然性は全くなく、そ
の他の演算に汎用的に利用可能にすることは容易であ
る。
【0073】《例外処理を指標する例外要因コード》
例外要因コード(exception code)は、図8に示される
ように、夫々の例外処理の要因を識別可能にするため
に、夫々の例外事象に対し異なる値の例外要因コードが
割り当てられる。この例外要因コードは、デバッグなど
において、発生した例外の要因をソフトウェア的に判定
するために利用されると共に、後述されるように例外ハ
ンドラへの分岐のためのアドレスオフセット情報として
も利用される。デバッグにおいて利用可能にするため、
レジスタEXPEVT及びINTEVTは、キャッシュ
バスC−busに結合され、バスステートコントローラ
BSC、入出力回路EXIF及び外部バスEX−bus
を介して、マイクロコンピュータMPUの外部からアク
セス可能にされる。すなわち、レジスタEXPEVT及
びINTEVTに記憶された要因コードは、マイクロコ
ンピュータMPUの外部に出力可能にされる。それによ
って、デバッガが、発生した例外の要因を要因コードか
ら簡単に判別可能なる。
【0074】図8に示される例外要因コードは、H'2
0毎に割り当てられる。これをアドレス換算すれば、3
2バイト毎のアドレスオフセットとしての意味を持つ。
例えば、1命令が2バイトの固定長命令であれば、16
命令の記述に相当するアドレス範囲とされる。また、図
8において、一般例外のうち、アドレスエラー例外(Ad
dress Error)、TLBミス例外(TLB Miss)、TLB
インバリッド例外(TLBInvalid)、TLBプロテクト違
反例外(TLB Protection Violation)については、ロー
ド命令実行時(load)とストア命令実行時(store)と
で別の例外要因コードが割り当てられる。これは、デバ
ッグの容易性を考慮して設定されている。尚、図8にお
いて、内蔵周辺モジュールの割り込み要求に関する例外
要因コードについては、代表的に一つの要因コードH'
400だけが示されている。しかし、実際には、内蔵周
辺モジュールの数およびその機能に依存して多数存在す
ると理解されたい。
【0075】図9に示される例外要因レジスタEXPE
VTは、上記例外要因コードのうちリセット及び一般例
外事象に割り当てられた例外要因コードをビット11〜
ビット0に格納する32ビットのレジスタである。一
方、割り込み要因レジスタINTEVTは、上記例外要
因コードのうち割り込み要求に割り当てられた例外要因
コードをビット11〜ビット0に格納する32ビットの
レジスタである。これらのレジスタEXPEVT,IN
TEVTは、図1にも示されるように、システムバスS
−busとキャッシュバスC−busとに結合され、メ
モリマネージメントユニットMMUの制御部TLBC内
に配置されている。その理由は、TLBミスなどの高速
処理が要求される一般例外の発生を一番早く検出できる
のがメモリマネージメントユニットMMUの制御部TL
BCだからである。
【0076】例外要因コードを格納するレジスタを一般
例外と割り込み要求とで個別に設ける理由は、次の理由
による。すなわち、一般例外は中央処理装置CPUの動
作に同期して発生し、割り込み要求は中央処理装置CP
Uの動作とは非同期で発生する。また、中央処理装置C
PUの動作クロック周波数は、割り込み要求の発生元と
される内蔵周辺モジュール及び外部回路の動作クロック
周波数に対して複数倍、例えば、4倍のクロック周波数
とされる。このように、割り込み要求と一般例外の発生
タイミングの相違、および、割り込み要求発生元と例外
発生元の動作速度の相違を考慮した場合、双方の例外要
因コードを同じようなタイミングで同一のレジスタに書
き込ませることは、レジスタに対する例外要因コードの
書き込みタイミングの設定処理などを煩雑にする虞があ
るからである。
【0077】図15は、上記例外要因コードを生成する
ための論理ブロックの構成を示している。同図に示され
る論理回路LOGは、メモリマネージメントユニットM
MUの制御回路TLBCに含まれる。この論理回路LO
Gには、割り込み要因A、中央処理装置CPU内部での
例外発生状況B、メモリマネージメントユニットMMU
内部での例外発生状況C、リセット指示D、その他付帯
情報Eが供給され、これらの入力情報の状態に応じて対
応する例外要因コードを生成する。
【0078】割り込み要因Aは、割り込みコントローラ
INTCから信号SIG2によって論理回路LOGへ供
給される。その他の付帯情報Eには前記割り込み受け付
けの通知信号SIG3が含まれる。論理回路LOGは、
上記割り込み要因Aとその他付帯情報Eの活性化状態に
応答して、割り込み要因を対応する例外要因コードを生
成し、生成した例外要因コードを割り込み要因レジスタ
INTEVTにセットする。
【0079】前記中央処理装置CPU内部での例外発生
状況Bは、予約命令例外(ReservedInstruction Except
ion)、スロット不当命令例外(Illegal Slot Instruct
ionException)、トラップ命令例外(Unconditional Tr
ap)、及び命令ブレーク例外(User Breakpoint Trap)
の発生状況を区別するための複数ビットの信号として、
中央処理装置CPUから論理回路LOGに供給される。
例外発生状況Bは、図1に示される制御信号SIG5に
含まれるとみなされる。
【0080】メモリマネージメントユニットMMU内部
での例外発生状況Cは、アドレスエラー例外(Address
Error)、TLBミス例外(TLB Miss)、TLBインバ
リッド例外(TLB Invalid)、TLBプロテクト違反例
外(TLB Protection Violation)、TLBイニシャルペ
ージライト例外(Initial Page Write)の発生状況を区
別するための複数ビットの内部信号として、論理回路L
OGに供給される。
【0081】前記付帯情報Eは、アドレス変換に係る命
令がロード命令かストア命令かを区別するための情報を
含む。この情報は、中央処理装置CPU内で実行される
べき命令の解読結果によって得られ、中央処理装置CP
Uから論理回路LOGに供給される。
【0082】論理回路LOGは、前記中央処理装置CP
U内部での例外発生状況B、メモリマネージメントユニ
ットMMU内部での例外発生状況C及び前記付帯情報E
に基づいて、発生された一般例外に対応する例外要因コ
ードを生成し、生成された例外要因コードを例外要因レ
ジスタEXPEVTにセットする。
【0083】リセットに関する例外要因コードは、リセ
ット信号によって形成されたリセット指示Dに論理回路
LOGが応答し、論理回路LOGが生成する。生成され
たリセットに関する例外要因コードは、論理回路LOG
によって例外要因レジスタEXPEVTへセットされ
る。リセット指示Dは、図1に示される制御信号SIG
5に含まれるとみなされる。
【0084】《例外ハンドラの配置》 上記H'10
0,H'400,H'600で規定されるベクタオフセッ
トは、ベクタベースレジスタVBRの値(ベクタテーブ
ルのベースアドレス)からの固定されたオフセットを規
定する。図2に示されるように、リセットに関する例外
ハンドラは、H'A00000000の固定番地に配置
される。TLBミス例外に関する例外ハンドラは、レジ
スタVBRの値+ベクタオフセット(H'400)のア
ドレスに直接配置される。その他の一般例外及び割り込
み要求に関する例外ハンドラは、レジスタVBRの値に
H'100又はH'600のベクタオフセットを加算して
得られるアドレス位置に第1のハンドラ(図2に示され
る一般例外に共通のハンドラおよび割り込み要求に共通
のハンドラ)が配置される。第1のハンドラから当該要
因に固有の別の第2のハンドラへの分岐は、レジスタE
XPEVTまたはINTEVTに記憶された例外要因コ
ードをアドレスオフセットとして利用することによって
行われる。
【0085】アドレスオフセットとしてどのように例外
要因コードを利用するかは、ベクタベースレジスタVB
R+ベクタオフセットの位置に配置されたハンドラ(ユ
ーザ記述による)の記述内容(ソフトウェアプログラ
ム)によって決定される。例えば、VBR+ベクタオフ
セット+例外要因コードとして第2のハンドラへ分岐す
ることを規定したり、或いは当該ハンドラ内部でセット
したベースアドレスに例外要因コードを加算して第2の
ハンドラへ分岐することを規定したり、又は例外例外要
因コードを所定ビット数だけシフトして第2のハンドラ
へ分岐することを規定したりすることができる。要は、
夫々の例外要因コードがH'20のような所定の間隔を
空けて割り振られているので、ハンドラの記述量などに
応じて当該例外要因コードを所望に利用すればよい。レ
ジスタEXPEVTまたはINTEVTに記憶された例
外要因コードをアドレスオフセットとして利用する場
合、中央処理装置CPUは、システムバスS−busの
アドレスバスにレジスタEXPEVTまたはINTEV
Tのアドレス信号を供給し、システムバスS−busの
制御バスにリード制御信号を供給して、レジスタEXP
EVT又はINTEVTをアクセスする。リードアクセ
スされたレジスタEXPEVT又はINTEVTは、そ
の内部に記憶された要因コードをシステムバスのデータ
バスへ供給し、上記CPUが、その要因コードを、例え
ば、1つの汎用レジスタ(R0)に格納する。それによ
って、上記中央処理装置CPUは、要因コードを計算に
使用可能になる。なお、実際の計算は、中央処理装置C
PU内部の前記算術論理演算器ALUによって行われ
る。
【0086】例えば、図2に示されるように、TLBミ
ス例外以外の一般例外のための例外ハンドラに関して
は、当該一般例外に共通の第1のハンドラが、VBR+
ベクタオフセット(H'100)のベクタポイントに配
置される。当該第1のハンドラは、その例外要因に対応
する例外要因コードをアドレスオフセットとしてさらに
別のハンドラ(第2のハンドラ)へ分岐することを規定
する記述を有する。したがって、ベクタポイントに例外
要因コードを加算して得られるアドレスのそれぞれに例
外要因に固有の第2のハンドラをそれぞれ配置しておく
ことによって、所望の第2のハンドラへ分岐することが
できる。この場合、例外要因コードはレジスタEXPE
VTから取得される。
【0087】また、割り込み要求に関する例外ハンドラ
も上記同様であり、VBR+ベクタオフセット(H'6
00)のベクタポイントに、当該割り込み要求に共通の
第1のハンドラが配置される。当該第1のハンドラは、
その割り込み要因に対応する要因コードをアドレスオフ
セットとしてさらに別のハンドラ(第2のハンドラ)へ
分岐することを規定する記述を有する。したがって、ベ
クタポイントに例外要因コードを加算して得られるアド
レスのそれぞれに割り込み要因に固有の第2のハンドラ
をそれぞれ配置しておくことによって、所望の第2のハ
ンドラへ分岐することができる。この場合、割り込み要
求の例外要因コードは、レジスタINTEVTから取得
される。
【0088】本実施例に従えば、各種例外ハンドラはT
LBを利用したアドレス変換を要しない前記アドレス領
域P1又はP2に割り当てれるので、アドレス変換に係
る例外事象が多重に発生する事態を回避でき、これによ
って、データ処理の効率化に寄与することができる。
【0089】上記の様な例外ハンドラの配置において、
TLBミス例外、その他の一般例外、又は割り込み要求
が発生した時、中央処理装置CPUの処理は、VBRレ
ジスタに設定されているベクタテーブルのベースアドレ
スにベクタオフセットをオフセットアドレスとして加算
したアドレス位置に分岐され、そのアドレス位置に配置
されているハンドラを処理することになる。この分岐
は、マイクロコンピュータMPUのハードウェアによっ
て規定される。そのとき、どのベクタオフセットを用い
るかは、図14で説明されたように、例外発生要因の種
別によって一義的に決定される。発生した例外がTLB
ミス例外の場合、VBR+ベクタオフセット(H'40
0)で指定されるベクタポイントに割り付けられたハン
ドラはTLBミス例外ハンドラとされる。その他の一般
例外又は割り込み要求の場合、VBR+ベクタオフセッ
トで指定されるベクタポイントのハンドラは、その例外
要因の要因コードをオフセットとして分岐する処理を含
み、当該分岐先にその例外要因に固有のハンドラが配置
されている。
【0090】トラップ命令を実行することによって発生
するトラップ例外に関しては、そのトラップ命令が保有
する8ビットのイミディエイト値が、図9に示されるト
ラップレジスタTRAに格納され、その値がVBRレジ
スタの下位のアドレスデータに加算され、加算されて得
られた値によって対応する例外ハンドラがフェッチされ
るようになっている。トラップ命令例外は、例えば、ユ
ーザープログラム内のタスクからオペレーティングシス
テムへのシステムコールに利用される。
【0091】《例外処理フロー》 図10は、上記ベク
タオフセットによってベクタポイントまで分岐する処理
のフローチャートが示される。ベクタポイントへの分岐
は、図14で説明したように、マイクロコンピュータM
PUのハードウェアによって規定され、特権状態への遷
移として位置付けられる処理であり、以下のステップを
含む。
【0092】〔例外/割り込みの検出〕 リセット、一
般例外、又は割り込み要求が発生されると、それが制御
部CTRLにて検出される(S1)。例えば、制御部C
TRLは、マニュアルリセットであればリセットスイッ
チの操作によって発生するリセット信号、TLBミス例
外であればメモリマネージメントユニットMMUの制御
回路TLBCから出力されるTLBミスの検出信号な
ど、割り込み要求であれば割り込みコントローラINT
Cから中央処理装置CPUに供給される割り込み信号S
IG1に基づいて例外を検出する。中央処理装置CPU
内部の例外は、その内部状態に基づいて検出される。
【0093】〔PC、SRの退避〕 次に、中央処理装
置CPUは、プログラムカウンタPCの値をセーブプロ
グラムカウンタSPCに退避し、ステータスレジスタS
Rの値をセーブステータスレジスタSSRに退避する
(S2)。退避のタイミングは、一般例外の場合、当該
例外が発生した時点とされ、したがって、現在実行完了
されていない命令のアドレスなどが退避され、復帰後は
その命令が再実行されることになる。割り込み要求の場
合の退避のタイミングは、その割り込み要求が発生され
た時点において、中央処理装置CPUがその時点に実行
していた命令の実行完了を待って上記2つの値の退避が
行われ、その結果として、その命令の次の命令のアドレ
スなどが退避されることになる。これにより、例外が発
生したときプログラムカウンタPCの値やステータスレ
ジスタSRの値をメモリ上のスタック領域に退避するた
めのメモリアクセスを要せず内蔵レジスタアクセスで済
むため、本発明のマイクロコンピュータMPUの退避処
理を高速に行うことができる。
【0094】〔プロセッサモードの切換え〕 中央処理
装置CPUは、ステータスレジスタSRのモードビット
MDを論理値1にしてマイクロコンピュータMPUの動
作モードを特権モードに設定する(S3)。中央処理装
置CPUは、更に、ステータスレジスタSRのブロック
ビットBLを論理値”1”にセットして、その他の例外
及び割り込みをマスクする(S3)。中央処理装置CP
Uは、さらに、ステータスレジスタSRのレジスタバン
クビットRBを論理値1にセットして、特権状態におけ
る汎用レジスタR0〜R7をユーザ状態とは別のレジス
タバンクに切り換える(S3)。したがって、汎用レジ
スタR0〜R7のバンク切換えを行うから、ユーザ状態
におけるレジスタバンクの汎用レジスタR0〜R7を退
避する処理は不要になる。
【0095】〔例外要因のセット〕 次に、そのときの
例外や割り込み要求の要因に割り当てられている例外要
因コードが、図15において説明されたように、レジス
タEXPEVT又はINTEVTにセットされる(S
4)。前者のレジスタEXPEVTには一般例外要因又
はリセットの要因コードが、後者レジスタINTEVT
には割り込み要求の要因コードが,MMU内の論理回路
LOGによってセットされる。
【0096】〔ベクタポイントに分岐〕 上述のよう
に、中央処理装置CPUの制御は、所定のベクタポイン
トに分岐される(S5)。例外処理がリセットである場
合、固定番地H'A00000000に分岐される。一
般例外や割り込み要求の場合、レジスタVBRのベクタ
テーブルベースアドレスに所定のベクタオフセットが加
算されたアドレスに、中央処理装置CPUの制御が分岐
される。分岐されたベクタポイントには、図2に示され
るように、所定のハンドラが置かれている。リセットの
場合、リセットのための例外ハンドラが配置され、TL
Bミス例外の場合、TLBエントリ更新などのためのT
LBミス例外ハンドラが置かれている(図2参照)。T
LBミス例外以外の一般例外の場合、あるいは、割り込
み要求の場合、例外要因に固有の別のハンドラに分岐す
るための処理を含むハンドラ(図2に示される一般例外
に共通なハンドラ、割り込み要求に共通なハンドラ)が
配置されている。
【0097】命令実行中にTLBミス例外が発生したと
きには、TLBミスに係る論理ページアドレスに対応す
る物理ページアドレスを外部メモリMMRY上のページ
テーブルから読み出してアドレス変換バッファTLBを
更新し、物理アドレスへの変換を行わなくてはならない
ため、そのTLBミス例外の発生からその対処への遷移
時間は命令実行速度若しくは中央処理装置CPUによる
データ処理速度に大きな影響を与える。したがって、デ
ータ処理性能にもっとも大きな影響を与えると考えられ
るTLBミス例外ハンドラを上記ベクタポイントに直接
配置することは、中央処理装置CPUの制御を例外ハン
ドラに引き渡すまでの処理時間を著しく短縮させる。そ
れによって、マイクロコンピュータMPUのデータ処理
速度の高速化が実現できる。
【0098】図11は、上記ベクタポイントに置かれた
例外ハンドラ(リセットハンドラやTLBミス例外ハン
ドラを除く)の処理フローの一例を示している。この処
理は、上述のように、専らソフトウェアによって規定さ
れ、以下の処理ステップを含む。
【0099】先ず、後から発生した別の例外や割り込み
要求を多重に受け付けるか否かが決定される(S1
1)。その決定は、当該ハンドラの記述に従う。
【0100】多重に割り込み要求などを受け付けない場
合、レジスタEXPEVT,INTEVTから例外要因
コードをリードし(S12)、例外要因コードをアドレ
スオフセットとして利用して、対応する例外ハンドラに
分岐するための処理が行われる(S13)。中央処理装
置CPUが、VBR+ベクタオフセット+例外要因コー
ドの計算を実行し、その計算されたアドレスに割付けら
れる例外ハンドラ、すなわち、分岐先の例外ハンドラへ
処理が移行される。それによって中央処理装置CPU
が、発生した例外に対処する。
【0101】多重に割り込み要求などを受け付ける場
合、図10で説明した処理フローを保証するために、中
央処理装置CPUは、セーブステータスレジスタSS
R,セーブプログラムカウンタSPCなど、図10のハ
ンドラで利用するレジスタのデータを外部メモリMMR
Yに退避する(S14)。中央処理装置CPUは、更
に、ステータスレジスタSRのブロックビットBLを論
理値”0”にセットして、その他の例外及び割り込みに
対するマスクを解除する(S15)。その後、上記同
様、中央処理装置CPUは、レジスタEXPEVT,I
NTEVTから例外要因コードをリードし(S16)、
例外要因コードをアドレスオフセットとして対応する例
外ハンドラに分岐される(S17)。すなわち、中央処
理装置CPUが、VBR+ベクタオフセット+例外要因
コードの計算を実行し、その計算されたアドレスに割付
けられる例外ハンドラ、すなわち、分岐先の例外ハンド
ラへ処理が移行される。それによって中央処理装置CP
Uが、発生した例外に対処する。
【0102】図10及び図11のフローチャートから明
らかなように、TLBミス例外に対するように高速処理
を最優先とするものに対しては、レジスタVBRの値を
1回リードしてそれにベクタオフセット(H'400)
を加算するだけでTLBミス例外ハンドラのベクタポイ
ントを取得できる。また、別の例外要因に対しては、レ
ジスタVBRの値にベクタオフセットを加算して得られ
るベクタポイントの取得に加えて、レジスタEXPEV
T又はINTEVTの値を1回リードして得た例外要因
コードをアドレスオフセットとする事により所要の例外
ハンドラに分岐できる。この分岐においても、分岐先ア
ドレスを直接メモリアクセスによって取得することなく
高速に例外に応ずる処理に制御を移すことができる。
【0103】図11からも明らかなように、多重に例外
や割り込みを受け付けるか否かはハードウェアによって
規定されたベクタポイントのアドレスに割り当てられた
ハンドラの記述によって決定されす。例外の多重受け付
けを許容する場合には、退避レジスタSSR,SPCに
既に退避されている値を外部メモリMMRYへ退避す
る。TLBミス例外の様に高速処理が必要な場合、多重
の例外や多重割り込みを禁止したまま、TLBミス例外
ハンドラを実行するので、セーブステータスレジスタS
SR,セーブプログラムカウンタSPCのメモリへの退
避を一切要せず、この点において、TLBミス例外の発
生からTLBミスハンドラへの遷移時間を最短にする事
を保証している。
【0104】図12は、一般例外や割り込み要求に対処
するための例外処理へ分岐した後、分岐先において、例
外や割り込みが新たに発生した場合の処理フローを示し
ている。
【0105】例外や割り込みが新たに発生したとき(S
21)、ステータスレジスタSRのブロックビットBL
が論理値”1”であるか否か(S22)、そして当該新
たに発生した例外や割り込みが命令ブレーク例外である
か否か(S23)によって、当該新たに発生した例外や
割り込みを受け付ける否かが決定される。SR.BL=
0によって多重受け付けが許容されている場合には図1
0、図11のフローに従って処理される(S24)。
【0106】上記SR.BL=1によって例外の多重受
け付けが禁止されている場合(S22のYES)、その
ときに発生した一般例外が命令ブレーク例外でなく(S
23のNO)、且つ、それが割り込み要求の場合(S2
5のYES)、ソフトウェアがSR.BL=0にするま
で(例えば、前記ステップS14の処理を終えてステッ
プS15に進むまで)、当該割り込みの受け付けが抑止
される(S26)。それが一般例外やリセットの場合
(S25のNO)、例外要因コードをレジスタEXPE
VTにセットした後、自動的にリセットハンドラに分岐
される(S27)。
【0107】そのときの例外事象が命令ブレーク例外で
ある場合、図10のハードウェア処理において、SP
C,SSR,EXPEVTの各レジスタは更新されず、
中央処理装置CPUの処理は命令ブレークハンドラに分
岐し、当該ハンドラの処理によってレジスタSPC,S
SRをメモリに退避する。そして、さらに、ブレークレ
ジスタIBRのブレークポイントアドレスから復帰アド
レスが計算され、当該復帰アドレスがセーブプログラム
カウンタSPCにセットされる。そして、命令ブレーク
例外に対処するための命令ブレーク例外ハンドラの処理
が行われる。命令ブレーク例外ハンドラからの復帰は、
レジスタSPCに退避された復帰アドレスが利用され、
命令ブレークポイントの次からデバッグ対象プログラム
を継続して実行することができる。このように、命令ブ
レーク例外に対しては、多重に発生する例外の受け付け
が禁止されている状態のデバッグ対象プログラムに対し
ても任意の位置で命令ブレークをかけてシステム評価や
プログラムデバッグを行うことができる。
【0108】上記実施例によれば以下の作用効果があ
る。〔1〕 TLBミス例外に対するように高速処理を
最優先とするものに対しては、レジスタVBRの値を1
回リードし、その値にベクタオフセット(H'400)
を加算するだけでTLBミス例外ハンドラのベクタポイ
ント(分岐先アドレス)を取得できる。また、別の例外
要因に対しては、レジスタVBRの値にベクタオフセッ
トを加算して得られたベクタポイントに、さらに、レジ
スタEXPEVT又はINTEVTの値を1回リードし
て得た例外要因コードをアドレスオフセットとして加算
する事により、所要の例外ハンドラの先頭アドレス(分
岐先アドレス)を取得できる。このように、分岐先アド
レスを外部メモリのアクセスによって取得しないため、
例外発生からその例外に対処するためのハンドラの処理
へ遷移するまでの遷移時間が短縮される。これによっ
て、マイクロコンピュータMPUの全体的なデータ処理
速度の高速化が実現できる。換言すれば、データ処理の
高速化に密接なTLBミス例外のような処理に対して
は、その例外処理への遷移時間を短縮することが最優先
とされ、例外処理への遷移時間の短縮がTLBミス例外
程データ処理速度の高速化に寄与しないと考えられる割
り込みなどに対しては、ハンドラのマッピングやハンド
ラのサイズに対して融通性を持たせ、ユーザの使い勝手
の向上が計られる。
【0109】〔2〕ベクタベースレジスタの値とベクタ
オフセットとを加算して得られたアドレスに配置された
例外ハンドラの内の一部の例外ハンドラ(TLBミス例
外ハンドラ)だけが、対応する例外に対して直接的な例
外処理を行なう。その他の例外に対しては、例外要因コ
ードをアドレスオフセットに利用して、更に、分岐され
て所定のハンドラにたどり着くようになっている。換言
すれば、ベクタベースアドレスに対する固定のオフセッ
トであるベクタオフセットの数は例外要因の数よりも遥
かに少ない。全ての例外要因に対して固有の固定オフセ
ット(ベクタオフセット)を利用する場合、例外要因が
増えるほどベクタオフセットを生成するためのハードウ
ェア量が増大する。それゆえ、マイクロコンピュータの
形成される半導体チップの面積は増加し、マイクロコン
ピュータ自体のコストも、高くなってしまうと考えられ
る。しかしながら、本発明のような例外処理において
は、物理的な回路規模の縮小とデータ処理の高速化との
双方を満足させることができる。したがって、本発明の
マイクロコンピュータMPUは、小面積の半導体チップ
に形成することができ、そのコストも低減される。
【0110】〔3〕多重に例外や割り込みを受け付ける
か否かは、ハードウェアによって規定されたベクタポイ
ントのハンドラの記述によって決定される。多重な例外
の受け付けを許容する場合、退避レジスタSSR,SP
Cに既に退避されている値が、さらに、外部メモリMM
RYに退避される。TLBミス例外の様に高速処理が必
要な場合、多重例外や多重割り込みを抑止した状態で、
例外処理ハンドラが実行されるので、セーブステータス
レジスタSSR,セーブプログラムカウンタSPCの外
部メモリMMRYへの退避を一切必要としない。この点
において、TLBミス例外の発生からTLBミスハンド
ラへの遷移時間を最短にする事が保証される。
【0111】〔4〕ハードウェアで決定されるベクタポ
イントのハンドラから、更に、別のハンドラに分岐する
際、例外要因コードが分岐のためのアドレスオフセット
として利用される。換言すれば、夫々の例外要因コード
をアドレスオフセットとして利用できるように、例え
ば、アドレス換算で32バイト分に相当するようなH'
20の間隔を置いて例外要因コードが割り当てられてい
る。そのため、例外要因コード(アドレスオフセット)
に対するベースアドレスは、ハードウェアによって決定
されているベクタポイントに配置される例外処理ハンド
ラのプログラム記述に従って自由に決定できることにな
る。このことは、実際の分岐先アドレスや分岐先のハン
ドラのサイズ対してユーザの自由度を保証する。
【0112】〔5〕内部状態及び復帰命令アドレスを退
避するレジスタSSR,SPCを採用することにより、
例外発生時の退避に際して外部メモリへアクセスを減ら
すことができる。
【0113】〔6〕中央処理装置CPUの動作に同期し
て発生する一般例外と非同期で発生する割り込み要求と
の双方に対処するため、一般例外に関する例外要因コー
ドを格納するレジスタEXPEVTと割り込み要求に関
する例外要因コードを格納するレジスタINTEVTと
が設けられる。双方の例外発生に対して同じようなタイ
ミングで要因コードを共通のレジスタに書き込むための
煩雑な処理を避けられ、例外要因コードを各レジスタに
セットする処理を簡素化できる。
【0114】〔7〕リセット例外ハンドラやTLBミス
例外処理ハンドラ(例外要因に応じてハードウェアで決
定されている分岐先のハンドラ)の処理において、初期
的なプロセッサモードが、例外の多重受け付け抑止状態
及び特権状態への移行によって一定にされる。したがっ
て、ユーザの当該ハンドラ上で規定できる例外処理の内
容は高い自由度を保証される。
【0115】〔8〕汎用レジスタR0〜R7のレジスタ
バンクを特権状態においてのみソフトウェアで切り換え
可能にすることにより、中央処理装置CPUは、特権状
態において、ユーザ状態とは異なるバンクの汎用レジス
タR0〜R7を利用できる。このことは、例えば、例外
処理においてユーザ状態から特権状態にプロセッサモー
ドを切り換える時、汎用レジスタR0〜R7の内容の外
部メモリMMRYへの退避を省略できることを意味す
る。この点においても、例外発生からそれに対処する処
理へ遷移するまでの遷移時間が短縮される。
【0116】
〔9〕多重例外を抑止した状態の例外ハン
ドラの処理において、命令ブレーク例外を処理可能にす
ることにより、多重に発生する例外の受け付けが禁止さ
れている状態のデバッグ対象プログラムに対しても任意
の位置で命令ブレークをかけてシステム評価やプログラ
ムデバッグを行うことができるを保証できる。
【0117】〔10〕アドレス領域P1,P2は、対応
する物理アドレスが固定とされる領域であり、アドレス
変換バッファTLBを利用したアドレス変換の対象とは
されない。特権状態において、アドレス領域P1,P2
をアクセスするときには、TLBミスを初めとするアド
レス変換に係る例外を多重に生ずることはない。したが
って、割り込みや一般例外などの各種例外ハンドラをア
ドレス領域P1又はP2に配置することにより、TLB
ミスを初めとするアドレス変換に係る例外が例外処理中
に新たに生ずることがなくなる。換言すれば、アドレス
変換に係る例外が多重に発生する事態を回避できので、
中央処理装置CPUのデータ処理を効率化することがで
きる。
【0118】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。
【0119】例えば、ハードウェアで決定されるベクタ
オフセットはH'100,H'400,H'600に限定
されず、また、アドレスオフセットを規定する要因コー
ドやその割り当て間隔も上記実施例に限定されず、適宜
変更可能である。また、例外は、上記実施例のリセッ
ト、一般例外、割り込み要求に大別する考え方に限定さ
れない。さらに、ハードウェアによって決定された第1
のベクタポイントに直接TLBミス例外ハンドラを配置
したが、当該ベクタポイントに配置できる例外ハンドラ
は、それに限定されず、システム構成に応じて適宜変更
できる。また、上記第1のベクタポイントから分岐され
る第2のポイントに配置した別の例外ハンドラにおいて
は、更に、別のハンドラに分岐できることは言うまでも
ない。その場合にも要因コードをアドレスオフセット情
報として利用するが可能である。
【0120】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるマイク
ロコンピュータに適用した場合について説明したが、デ
ータプロセッサ、マイクロプロセッサ、ディジタルシグ
ナルプロセッサなどその称呼の如何に関わらず例外処理
をサポートする各種データ処理装置に広く適用すること
ができる。
【0121】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0122】すなわち、ハードウェアによって決定され
た第1のベクタポイントのハンドラへの分岐、更に当該
ハンドラから要因コードをオフセットとする別のハンド
ラへの分岐の何れにおいても、分岐先アドレスを直接メ
モリのアクセスによって取得することを要しないため、
例外発生からそれに対処するハンドラへの遷移するまで
の遷移時間を短縮でき、これによって、マイクロコンピ
ュータ等のデータ処理装置の全体的なデータ処理速度の
高速化が実現できる。
【0123】データ処理の高速化に密接なTLBミス例
外のような処理に対しては、固定オフセットとしてのベ
クタオフセットを利用して得られたアドレスに配置され
た例外ハンドラによって直接例外処理を行うようにす
る。したがって、TLBミス例外に対する処理への遷移
時間を短縮できる。一方、例外処理への遷移時間の短縮
がTLBミス例外程データ処理速度の高速化に寄与しな
いと考えられる割り込みなどに対しては、ハンドラのマ
ッピングやハンドラのサイズに対する融通性という点で
使い勝手の向上を優先させることができる。
【0124】ベクタベースレジスタの値とベクタオフセ
ットとを加算して得られたアドレスに配置された例外ハ
ンドラの内の一部の例外ハンドラ(TLBミス例外ハン
ドラ)だけが、対応する例外に対して直接的な例外処理
を行なう。その他の例外に対しては、例外要因コードを
アドレスオフセットに利用して、更に、分岐されて所定
のハンドラにたどり着くようになっている。したがっ
て、物理的な回路規模の縮小とデータ処理の高速化との
双方を満足させることができる。
【0125】ハードウェアによって規定されるベクタポ
イントのハンドラ上では、新たに発生する例外の多重受
け付けを抑止するか否かを決定し、多重に受け付けると
きは退避レジスタの内容をメモリに退避させることによ
り、例外発生時における状態退避と復帰アドレス退避を
必ず退避レジスタにでき、この点においても例外発生か
らそれに対処するためのハンドラへの遷移時間を短縮で
きる。
【0126】ハードウェアで決定されるベクタポイント
のハンドラから更に別のハンドラに分岐する際に要因コ
ードが分岐のためのアドレスオフセットとして利用され
るようになっているので、当該オフセットに対するベー
スアドレスはハードウェアによって決定されているベク
タポイントのハンドラの記述に従って自由に決定でき、
実際の分岐先アドレスや分岐先のハンドラのサイズ対し
て自由度を保証することができる。
【0127】内部状態及び復帰命令アドレスを退避する
レジスタを採用することにより例外発生時の退避に際し
てメモリアクセスを減らすことができる。
【0128】中央処理装置の動作に対して同期して発生
される第1の例外と非同期で発生される第2の例外との
双方に対処するとき、中央処理装置が割り込み要求の発
生元とされる周辺モジュールの動作クロック周波数に対
して複数倍のクロック周波数で動作されるような場合
に、例外要因コードを格納するレジスタを上記第1と第
2の例外に対して格別に設けることにより、双方の例外
発生に対して同じようなタイミングで要因コードを共通
のレジスタに書き込むための煩雑な処理を避けられ、こ
れによって、要因コードをレジスタにセットする処理を
簡素化できる。
【0129】例外要因に応じてハードウェアで決定され
ている分岐先のハンドラ上での初期的なプロセッサモー
ドを、例外の多重受け付け抑止状態及び特権状態を以て
一定にすることは、ユーザが当該ハンドラ上で規定でき
る例外処理の内容に高い自由度を保証できる。
【0130】汎用レジスタのレジスタバンクを特権状態
においてのみソフトウェアで切り換え可能にすることに
より、特権状態においてユーザ状態とは異なるバンクの
汎用レジスタを利用できるようになり、例えば例外処理
においてユーザ状態から特権状態にプロセッサモードを
切り換えるときに汎用レジスタの内容をメモリに退避し
なくても済むようにでき、この点においても例外発生か
らそれに対処する処理への遷移時間を短縮することがで
きる。
【0131】例外を抑止した状態の例外ハンドラ中で命
令ブレーク例外を処理可能にすることにより、多重に発
生する例外の受け付けが禁止されている状態のデバッグ
対象プログラムに対しても任意の位置で命令ブレークを
かけてシステム評価やプログラムデバッグを行うことを
保証できる。
【図面の簡単な説明】
【図1】本発明の一実施例に係るシングルチップマイク
ロコンピュータのブロック図である。
【図2】例外発生時におけるハードウェアによるベクタ
ポイントとポイントされたハンドラから更に別のハンド
ラに分岐する本実施例の手法を概念的に示した説明図で
ある。
【図3】バンク構成の汎用レジスタ及びシステムレジス
タの説明図である。
【図4】ユーザモードにおける図3の汎用レジスタ及び
システムレジスタの状態説明図である。
【図5】特権モードにおける図3の汎用レジスタ及びシ
ステムレジスタの状態説明図である。
【図6】コントロールレジスタの説明図である。
【図7】割り込み要因とベクタオフセットの割り当てな
どを示す説明図である。
【図8】割り込み要因とそれに割り当てられた割り込み
要因コードとの対応説明図である。
【図9】例外要因レジスタ及びトラップレジスタの説明
図である。
【図10】ハードウェアによって決定されたベクタポイ
ント処理の一例フローチャートである。
【図11】ベクタポイントに置かれたハンドラの処理の
一例フローチャートである。
【図12】割り込み又は一般例外ハンドラによる処理に
おいて別の割り込み又は一般例外が発生した場合におけ
る処理の一例フローチャートである。
【図13】本実施例に係るマイクロコンピュータの一例
アドレスマップである。
【図14】ベクタオフセットを生成するハードウェアの
一例ブロック図である。
【図15】例外要因コードを生成する論理の一例ブロッ
ク図である。
【符号の説明】
MPU マイクロコンピュータ CPU 中央処理装置 CTRL 制御部 PC プログラムカウンタ SPC セーブプログラムカウンタ SR ステータスレジスタ MD モードビット RB レジスタバンクビット BL ブロックビット SSR セーブステータスレジスタ VBR ベクタベースレジスタ R0〜R15 汎用レジスタ UBC 命令ブレークコントローラ IBR 命令ブレークアドレスレジスタ MMU メモリマネージメントユニット TLB アドレス変換バッファ TLBC 制御部 EXPEVT 一般例外用の例外要因レジスタ INTEVT 割り込み要求用の例外要因レジスタ TRAP トラップレジスタ CVG 定数発生回路 SFT シフタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 成田 進 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 例外事象の発生に応答し、上記例外事象
    に予め割り当てられた例外コードが書き込まれる記憶回
    路と、 プログラムカウンタと、上記例外事象の発生に応答し、
    所定の命令アドレスを上記プログラムカウンタに書き込
    み、上記命令アドレスに割り当てられた第1例外処理ハ
    ンドラを実行可能にする制御手段とを含む中央処理装置
    と、を含み、 上記制御手段は、上記第1例外処理ハンドラ内に規定さ
    れる処理にしたがって、上記第1例外処理ハンドラから
    第2例外処理ハンドラへ分岐させるための第2命令アド
    レスを、前記記憶回路に書き込まれた上記要因コードを
    アドレスオフセットとして利用して算出させ、得られた
    第2命令アドレスを上記プログラムカウンタへ設定する
    ものであることを特徴とするデータ処理装置。
  2. 【請求項2】 上記中央処理装置は、さらに、内部状態
    を格納するステータスレジスタと、 上記例外事象の発生に応答して、上記例外事象の発生時
    に上記ステータスレジスタが格納していたところの内部
    状態が書き込まれる第1退避レジスタと、 上記例外事象の発生に応答して、上記例外事象の発生時
    に上記プログラムカウンタが格納していて上記例外事象
    に応答する処理から復帰した時に実行されるべき命令を
    示している復帰命令アドレスが書き込まれる第2退避レ
    ジスタと、 を備えて成るものであることを特徴とする請求項1記載
    のデータ処理装置。
  3. 【請求項3】 上記中央処理装置は、さらに、算術論理
    演算回路と、上記例外事象の発生に応答して所定の値を
    発生する定数発生部と、外部メモリに記憶された複数の
    例外処理ハンドラのベースアドレスを格納するベースレ
    ジスタとを有し、 上記算術論理演算回路は、上記制御回路の制御の下で、
    上記ベースアドレスと上記所定の値とを加算し、上記所
    定の命令アドレスを発生するものであることを特徴とす
    る請求項2記載のデータ処理装置。
  4. 【請求項4】 上記例外コードが書き込まれる記憶回路
    は、 上記中央処理装置の動作に同期して発生する例外事象に
    割り当てられた第1レジスタと、上記中央処理装置の動
    作と非同期で発生する例外事象に割り当てられた第2レ
    ジスタと、を含んで成るものであることを特徴とする請
    求項1乃至3の何れか1項記載のデータ処理装置。
  5. 【請求項5】 上記ステータスレジスタは、 上記データ処理装置の動作状態が、ユーザプログラムが
    走行されているユーザ状態か、あるいはシステムプログ
    ラムが走行されている特権状態かを択一的に示すデータ
    が格納される第1制御ビットと、 上記例外事象の発生後に発生した他の例外事象を受け付
    けるか無視するか否かを指示するデータが格納される第
    2制御ビットとを有し、 上記制御手段は、前記内部状態と上記復帰命令アドレス
    とを上記第1退避レジスタと上記第2退避レジスタヘそ
    れぞれ退避した後、上記第1制御ビットに特権状態を示
    すデータを設定し、上記第2制御ビットに上記例外事象
    の発生後に発生した他の例外事象を無視する事を示すデ
    ータを設定し、上記所定の命令アドレスに割り付けられ
    た第1例外処理ハンドラに分岐させるものであることを
    特徴とする請求項3記載のデータ処理装置。
  6. 【請求項6】 上記制御手段は、上記第1例外処理ハン
    ドラ内に規定される処理にしたがって上記第2制御ビッ
    トへデータを設定し、 上記第2制御ビットに設定されたデータが上記例外事象
    の発生後に発生した他の例外事象を受け付ける事を指示
    するデータの場合、上記制御手段は、上記第1及び第2
    退避レジスタの内容をメモリに退避させるものであるこ
    とを特徴とする請求項5記載のデータ処理装置。
  7. 【請求項7】 さらに、複数のバンクを構成する第1及
    び第2汎用レジスタセットを有し、 上記第1及び第2汎用レジスタセットの一方は、前記特
    権状態における汎用レジスタとして利用され、上記第1
    及び第2汎用レジスタセットの他方は、前記ユーザ状態
    における汎用レジスタとして利用されて成るものである
    ことを特徴とする請求項5記載のデータ処理装置。
  8. 【請求項8】 ブレークポイントを指定する命令アドレ
    スが設定される命令ブレークアドレスレジスタを含み、
    上記命令ブレークアドレスレジスタに設定された命令ア
    ドレスに対応する命令が中央処理装置によって実行され
    た時、命令ブレーク例外を発生する命令ブレークコント
    ローラを有し、 上記第2制御ビットに上記例外事象の発生後に発生した
    他の例外事象を無視する事を示すデータが設定された状
    態において、上記制御手段が前記命令ブレーク例外を検
    出した時、上記制御手段は、前記第1及び第2退避レジ
    スタへの内部状態及び復帰命令アドレスの退避を行うこ
    となく、前記命令ブレーク例外に対応する命令ブレーク
    例外ハンドラに分岐させ、 上記命令ブレーク例外ハンドラは、上記内部状態及び上
    記復帰命令アドレスが退避されるべき上記第1及び第2
    退避レジスタの内容をメモリに退避した後、前記命令ブ
    レークアドレスレジスタが保有するブレークポイントア
    ドレスを利用して命令ブレーク例外ハンドラからの復帰
    アドレスを計算し、計算した復帰命令アドレスを前記第
    2退避レジスタに書き込み、これにより、多重例外を抑
    止した状態の例外ハンドラで、前記命令ブレーク例外を
    処理可能としたものであることを特徴とする請求項6記
    載のデータ処理装置。
  9. 【請求項9】 前記制御手段は、上記第2制御ビットに
    上記例外事象の発生後に発生した他の例外事象を無視す
    る事を示すデータが設定された状態において、前記命令
    ブレーク例外以外の第1の例外事象を検出したときは、
    前記要因レジスタにその要因コードを記録した後にリセ
    ット例外のハンドラに分岐させ、第2の例外事象を検出
    したときは前記他の例外事象を無視する状態が解除され
    るまで、第2の例外事象に応答する処理への分岐を抑止
    するものであることを特徴とする請求項8記載のデータ
    処理装置。
  10. 【請求項10】 例外事象の発生に応答することによ
    り、中央処理装置の命令実行順序が変更され、その命令
    実行順序変更のために、ベクタベースアドレスに対する
    固定のオフセットであるベクタオフセットを、例外要因
    の数よりも少ない数だけ有するデータ処理装置であっ
    て、 発生した例外事象の要因に対応する要因コードを記録す
    る要因レジスタと、 発生した例外事象の種別に応じて前記ベクタオフセット
    を生成する演算手段と、 前記演算手段にて生成されたベクタオフセットとベクタ
    ベースアドレスによって規定される命令アドレスに処理
    を分岐させ、また、その分岐先において前記要因レジス
    タに記録されている要因コードを更に別の処理に分岐さ
    せるためのアドレスオフセットとして利用可能にする制
    御手段と、を含んで成るものであることを特徴とするデ
    ータ処理装置。
  11. 【請求項11】 アドレス変換バッファを備えたメモリ
    マネージメントユニットを含み、前記演算手段で生成さ
    れるベクタオフセットは、複数の割り込み要因に割り当
    てられた第1のベクタオフセット、TLBミス例外要因
    に専用的に割り当てられた第2のベクタオフセット、T
    LBミス例外以外の一般例外に割り当てられた第3のベ
    クタオフセットとされるものであることを特徴とする請
    求項10記載のデータ処理装置。
JP24087295A 1994-09-09 1995-08-25 データ処理装置 Expired - Fee Related JP3672634B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP24087295A JP3672634B2 (ja) 1994-09-09 1995-08-25 データ処理装置
KR1019950029112A KR100368197B1 (ko) 1994-09-09 1995-09-06 데이타처리장치
US08/524,712 US6038661A (en) 1994-09-09 1995-09-07 Single-chip data processor handling synchronous and asynchronous exceptions by branching from a first exception handler to a second exception handler
US09/450,894 US6425039B2 (en) 1994-09-09 1999-11-29 Accessing exception handlers without translating the address

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP24199194 1994-09-09
JP8606795 1995-03-17
JP6-241991 1995-03-17
JP7-86067 1995-03-17
JP24087295A JP3672634B2 (ja) 1994-09-09 1995-08-25 データ処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004182149A Division JP3822885B2 (ja) 1994-09-09 2004-06-21 1チップデータプロセッサ

Publications (2)

Publication Number Publication Date
JPH08320796A true JPH08320796A (ja) 1996-12-03
JP3672634B2 JP3672634B2 (ja) 2005-07-20

Family

ID=27305070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24087295A Expired - Fee Related JP3672634B2 (ja) 1994-09-09 1995-08-25 データ処理装置

Country Status (3)

Country Link
US (2) US6038661A (ja)
JP (1) JP3672634B2 (ja)
KR (1) KR100368197B1 (ja)

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272828A (ja) * 1998-02-06 1999-10-08 Koninkl Philips Electronics Nv 集積回路を有するチップカ―ド
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412047B2 (en) * 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6591340B2 (en) 1999-10-01 2003-07-08 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
JP2004500666A (ja) * 2000-03-31 2004-01-08 インテル・コーポレーション 分離実行のための分離命令
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション
JP2008077625A (ja) * 2006-09-18 2008-04-03 Samsung Electronics Co Ltd ユーザ定義の拡張演算を処理する演算システムおよび方法
JP2011048616A (ja) * 2009-08-27 2011-03-10 Renesas Electronics Corp データプロセッサ
JP2014081783A (ja) * 2012-10-16 2014-05-08 Renesas Electronics Corp マイクロコントローラ、ハンドラアドレス特定方法及びプログラム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408386B1 (en) * 1995-06-07 2002-06-18 Intel Corporation Method and apparatus for providing event handling functionality in a computer system
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US6044430A (en) * 1997-12-17 2000-03-28 Advanced Micro Devices Inc. Real time interrupt handling for superscalar processors
US6289445B2 (en) * 1998-07-21 2001-09-11 Lsi Logic Corporation Circuit and method for initiating exception routines using implicit exception checking
US6480967B1 (en) * 1999-05-21 2002-11-12 Koninklijke Philips Electronics N.V. Multiple module processing system with reset system independent of reset characteristics of the modules
JP2000339177A (ja) * 1999-05-31 2000-12-08 Mitsubishi Electric Corp Eit処理機能を備えるマイクロプロセッサ及びeit処理方法
US6446189B1 (en) * 1999-06-01 2002-09-03 Advanced Micro Devices, Inc. Computer system including a novel address translation mechanism
US6481007B1 (en) * 1999-06-03 2002-11-12 Oracle Corporation Optimizing parameter passing
US6324635B1 (en) * 1999-06-09 2001-11-27 Ati International Srl Method and apparatus for address paging emulation
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
JP2001142692A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法
US6598050B1 (en) 2000-02-11 2003-07-22 Integrated Device Technology, Inc. Apparatus and method for limited data sharing in a multi-tasking system
US7133951B1 (en) * 2000-02-29 2006-11-07 Bourekas Philip A Alternate set of registers to service critical interrupts and operating system traps
US7546141B2 (en) * 2000-05-23 2009-06-09 Robert Leon Hybrid communication system and method
US6721878B1 (en) * 2000-06-14 2004-04-13 Cypress Semiconductor Corp. Low-latency interrupt handling during memory access delay periods in microprocessors
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US6915416B2 (en) * 2000-12-28 2005-07-05 Texas Instruments Incorporated Apparatus and method for microcontroller debugging
US6829719B2 (en) * 2001-03-30 2004-12-07 Transmeta Corporation Method and apparatus for handling nested faults
US7082610B2 (en) * 2001-06-02 2006-07-25 Redback Networks, Inc. Method and apparatus for exception handling in a multi-processing environment
US7155718B1 (en) * 2002-04-04 2006-12-26 Applied Micro Circuits Corp. Method and apparatus to suspend and resume on next instruction for a microcontroller
US7296257B1 (en) * 2002-08-01 2007-11-13 Tymesys Corporation Techniques for exception handling by rewriting dispatch table elements
US6981120B1 (en) * 2002-11-04 2005-12-27 Savaje Technologies, Inc. Method and apparatus for virtual memory segmentation
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
CA2430763A1 (en) * 2003-05-30 2004-11-30 Ibm Canada Limited - Ibm Canada Limitee Efficiently releasing locks when an exception occurs
US20050027667A1 (en) * 2003-07-28 2005-02-03 Menahem Kroll Method and system for determining whether a situation meets predetermined criteria upon occurrence of an event
JP2005190207A (ja) * 2003-12-25 2005-07-14 Matsushita Electric Ind Co Ltd 割り込み制御装置、制御方法
US7188229B2 (en) * 2004-01-17 2007-03-06 Sun Microsystems, Inc. Method and apparatus for memory management in a multi-processor computer system
US7496897B1 (en) 2004-03-17 2009-02-24 Timesys Corporation Multiple code sets for multiple execution contexts
US20060136608A1 (en) * 2004-12-22 2006-06-22 Gilbert Jeffrey D System and method for control registers accessed via private operations
EP1713000A1 (en) * 2005-04-11 2006-10-18 Jaluna SA Memory protection system
EP1865435A1 (en) * 2006-06-06 2007-12-12 Texas Instruments France Enhanced exception handling
KR100843134B1 (ko) * 2006-09-15 2008-07-02 삼성전자주식회사 인터럽트 금지구간 처리 장치 및 방법과 페이지 고정 장치및 방법
CN101675117A (zh) * 2007-03-05 2010-03-17 富士胶片株式会社 光致抗蚀用化合物、光致抗蚀液及使用其的蚀刻方法
JP5119994B2 (ja) * 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
US9946667B2 (en) * 2008-11-12 2018-04-17 Microchip Technology Incorporated Microcontroller with configurable logic array
US8255928B2 (en) * 2009-02-19 2012-08-28 International Business Machines Corporation Automated termination of selected software applications in response system events
US9715385B2 (en) * 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9959120B2 (en) 2013-01-25 2018-05-01 Apple Inc. Persistent relocatable reset vector for processor
US9292364B1 (en) * 2014-09-23 2016-03-22 Sap Se Packaging application data and logic for offline support
US9740644B2 (en) * 2014-09-26 2017-08-22 Intel Corporation Avoiding premature enabling of nonmaskable interrupts when returning from exceptions
US10977192B1 (en) * 2016-04-08 2021-04-13 Amazon Technologies, Inc. Real-time memory-page state tracking and its applications
CN110209473B (zh) * 2018-04-12 2023-04-18 腾讯科技(深圳)有限公司 中断处理设备、云服务器、中断处理方法及业务处理方法
US11106463B2 (en) 2019-05-24 2021-08-31 Texas Instruments Incorporated System and method for addressing data in memory
US11853231B2 (en) 2021-06-24 2023-12-26 Ati Technologies Ulc Transmission of address translation type packets

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4768149A (en) * 1985-08-29 1988-08-30 International Business Machines Corporation System for managing a plurality of shared interrupt handlers in a linked-list data structure
US5109329A (en) * 1987-02-06 1992-04-28 At&T Bell Laboratories Multiprocessing method and arrangement
JPH0795277B2 (ja) * 1988-11-25 1995-10-11 日本電気株式会社 データ処理装置
US5214793A (en) * 1991-03-15 1993-05-25 Pulse-Com Corporation Electronic billboard and vehicle traffic control communication system
US5390305A (en) * 1991-03-29 1995-02-14 Kabushiki Kaisha Toshiba Information processing apparatus capable of executing exception at high speed
ATE188786T1 (de) * 1991-07-08 2000-01-15 Seiko Epson Corp Risc-mikroprozessorarchitektur mit schnellem unterbrechungs- und ausnahmemodus
JP3176093B2 (ja) * 1991-09-05 2001-06-11 日本電気株式会社 マイクロプロセッサの割込み制御装置
US5574872A (en) * 1991-12-10 1996-11-12 Intel Corporation Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
US5345576A (en) * 1991-12-31 1994-09-06 Intel Corporation Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
US5450560A (en) * 1992-12-21 1995-09-12 Motorola, Inc. Pointer for use with a buffer and method of operation
JP2883784B2 (ja) * 1993-04-27 1999-04-19 株式会社東芝 マイクロコンピュータ
US5473763A (en) * 1993-08-02 1995-12-05 Advanced Micro Devices, Inc. Interrupt vector method and apparatus
JPH07105023A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> データ処理システム内でスプリアス割込みを検出するための方法及び装置
JPH08305564A (ja) * 1995-04-28 1996-11-22 Sanyo Electric Co Ltd マイクロコンピュータ
KR970049490A (ko) * 1995-12-30 1997-07-29 김광호 인터럽트 제어장치
JP3600095B2 (ja) * 1999-12-07 2004-12-08 松下電器産業株式会社 割り込み管理装置及び割り込み管理方法

Cited By (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272828A (ja) * 1998-02-06 1999-10-08 Koninkl Philips Electronics Nv 集積回路を有するチップカ―ド
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6412047B2 (en) * 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6496905B1 (en) 1999-10-01 2002-12-17 Hitachi, Ltd. Write buffer with burst capability
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6591340B2 (en) 1999-10-01 2003-07-08 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US7228389B2 (en) 1999-10-01 2007-06-05 Stmicroelectronics, Ltd. System and method for maintaining cache coherency in a shared memory system
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
US7281071B2 (en) 1999-10-01 2007-10-09 Stmicroelectronics Ltd. Method for designing an initiator in an integrated circuit
US7346072B2 (en) 1999-10-01 2008-03-18 Stmicroelectronics Ltd. Arbitration mechanism for packet transmission
JP2004500666A (ja) * 2000-03-31 2004-01-08 インテル・コーポレーション 分離実行のための分離命令
JP2007287143A (ja) * 2006-04-13 2007-11-01 Internatl Business Mach Corp <Ibm> I/oアドレス変換キャッシュ・ミスのソフトウェア・ミス処理用ハードウェア支援エクセプション
JP2008077625A (ja) * 2006-09-18 2008-04-03 Samsung Electronics Co Ltd ユーザ定義の拡張演算を処理する演算システムおよび方法
JP2011048616A (ja) * 2009-08-27 2011-03-10 Renesas Electronics Corp データプロセッサ
JP2014081783A (ja) * 2012-10-16 2014-05-08 Renesas Electronics Corp マイクロコントローラ、ハンドラアドレス特定方法及びプログラム

Also Published As

Publication number Publication date
JP3672634B2 (ja) 2005-07-20
KR100368197B1 (ko) 2003-04-10
US6425039B2 (en) 2002-07-23
KR960011613A (ko) 1996-04-20
US6038661A (en) 2000-03-14
US20020002669A1 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
JPH08320796A (ja) データ処理装置
US7266824B2 (en) Address space priority arbitration
JP3713312B2 (ja) データ処理装置
US6205560B1 (en) Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG
US5826057A (en) Method for managing virtual address space at improved space utilization efficiency
EP2660752B1 (en) Memory protection circuit, processing unit, and memory protection method
EP1236122B1 (en) Cache memory system for a digital signal processor
US5838897A (en) Debugging a processor using data output during idle bus cycles
JP2000231549A (ja) マイクロプロセッサ
JPH02190930A (ja) ソフトウエア命令実行装置
EP0664897B1 (en) High speed programmable logic controller
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
KR100953777B1 (ko) 다중 스레드 디지털 신호 프로세서에서의 배경 스레드 처리
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
JP3226055B2 (ja) 情報処理装置
NZ201809A (en) Microprocessor
US7366882B2 (en) Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions
US6564283B1 (en) Data processing system for expanded addresses
US6986028B2 (en) Repeat block with zero cycle overhead nesting
JP3822885B2 (ja) 1チップデータプロセッサ
GB2200481A (en) Maintaining coherence between a microprocessor&#39;s integrated cache and external memory
JP4160228B2 (ja) マイクロプロセッサ
US7562207B2 (en) Deterministic microcontroller with context manager
US6209083B1 (en) Processor having selectable exception handling modes
US6732235B1 (en) Cache memory system and method for a digital signal processor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050125

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050420

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080428

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090428

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100428

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110428

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120428

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130428

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees