JPH04156617A - 割込み・例外制御方式 - Google Patents

割込み・例外制御方式

Info

Publication number
JPH04156617A
JPH04156617A JP2282280A JP28228090A JPH04156617A JP H04156617 A JPH04156617 A JP H04156617A JP 2282280 A JP2282280 A JP 2282280A JP 28228090 A JP28228090 A JP 28228090A JP H04156617 A JPH04156617 A JP H04156617A
Authority
JP
Japan
Prior art keywords
instruction
interrupt
exception
cache memory
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2282280A
Other languages
English (en)
Inventor
Yoichi Yano
矢野 陽一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2282280A priority Critical patent/JPH04156617A/ja
Publication of JPH04156617A publication Critical patent/JPH04156617A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は割込み・例外制御方式に関し、特にキャッシュ
メモリを内蔵したマイクロプロセッサにおける割込み・
例外制御方式に関する。
〔従来の技術〕
半導体技術の進歩により、高性能マイクロプロセッサを
実現する基盤技術が揃うようになってきている。
高性能マイクロプロセッサを実現するときに重要となる
基盤技術に ・パイプライン処理 ・ストリームライン処理 ・キャッシュメモリ がある。
パイプライン処理とは、 ・命令の実行を複数のステージに分割する・各々のステ
ージを担当する別個のハードウェアユニットを用意する ・命令実行を流れ作業的に行う という特徴を有し、高い性能を達成するための方式であ
る。さらにこのとき、 ・パイプラインが乱れないよう各命令機能が十分にシン
プルである ・各命令機能が直接ハードウェアにより単一マシンサイ
クルで実行される という場合に「ストリームライン処理」と呼ぶ。
流れ作業が途絶えないようにパイプラインおよび命令機
能を設計することで、ハードウェアを100%近い効率
で実行させる考えである。ここで、単一マシンサイクル
で実行できる命令を持つことは必ずしも簡単な命令のみ
をハードウェア化しているわけではない。単一マシンサ
イクルで実行できるものの、それに伴う内部処理が複雑
な場合もある。
パイプライン処理で解決しなければならない問題の一つ
に、分岐系命令の処理がある0分岐系命令は、 ・プログラム実行のうち15%から30%はど占めるこ
と ・パイプラインの動作を乱すこと が以前から知られている。
パイプライン処理は命令を逐次的に実行する場合に威力
を発揮しハードウェア資源を100%近い効率で使うこ
とができるが、分岐系命令が頻出するようなプログラム
では分岐のためにパイプラインに空きができ、性能を十
分に発揮することができない。
そこで、ユーザが独立にプログラムができるように分岐
系命令の処理ユニットを分離し、命令フォーマットの中
に独立のフィールドを設けることで、分岐系命令の処理
を高速化することが考えられた。すなわち ・演算系命令の処理ユニット ・ロード/ストア命令のユニット ・分岐系命令の処理ユニット の並列処理である。従来までは演算系命令の処理ユニッ
トとロード/ストアのユニットの並列処理は実現されて
いる。
専用の分岐系処理ユニットの追加により・命令キャッシ
ュメモリとのハードウェアの一体化を図れる ・分岐系命令のデコード動作が速く行える・分岐先のア
ドレス計算および命令キャッシュメモリへのアクセスが
速く行える という利点がある。
以上に述べた、 ・ストリームライン処理 ・分岐系命令の処理ユニットと演算/ロード/ストアの
ユニットの並列処理 を特徴とするマイクロプロセッサをStreaml 1
nedParallel−Processor Arc
hitecture 、略して5upraシステムと呼
ぶことにする。
5upraシステムが命令を実行していくためには、各
マシンサイクル毎に命令をプロセッサに供結しなければ
ならない。通常、コンピュータシステムでは命令実行は
かなり局所性の高い振舞いをすることが知られている。
キャッシュメモリの使用により、速度の速い主記憶部が
有さすとも、少量の高速メモリによりこれを実現するこ
とができる。すなわち、小容量の高速メモリをチップ内
に持つことにより、速度の遅い主記憶部と高速のプロセ
ッサの速度の差を吸収する。
また、キャッシュメモリを ・命令キャッシュメモリ ・データキャッシュメモリ に二分割することで、 ・分岐の制御などをシンプルにできる ・キャッシュメモリへのバスバンド幅を実質的に二倍に
できる という利点がある。すなわち、階層的記憶システムの導
入によりハードウェアの簡単化と、CPUを遊休させる
ことなく命令実行を行わせることができる。
キャッシュメモリは、パイプラインが流れ作業的に処理
を継続するためには欠かせないものであることは既に述
べた。キャッシュメモリは最近使われたデータを保持す
るためのものであるから、使用したことのないデータへ
のアクセスを行おうとするとキャッシュメモリ内には存
在しない状態が発生する。これをキャッシュミスと言う
キャッシュミスが起こると、該当するデータを含む主記
憶部内のブロックをキャッシュメモリにロードする。キ
ャッシュミスはパイプラインを乱すために、パイプライ
ン構造では特に注意が必要である。キャッシュミスが発
生したならばパイプライン動作を停止させる。パイプラ
イン動作のタイミングは、例えば第2図に示すような形
となる。ここで、命令キャッシュメモリとデータキャッ
シュメモリは1クロツクでアクセスできるものとしてい
る。このときキャッシュアクセスがキャッシュミスにな
ったかどうかはクロックの後半に判断ができる。なお、
5upraシステムでは命令キャッシュメモリのミスと
データキャッシュメモリのミスが同時に発生する可能性
がある。
キャッシュミスの処理は通常ハードウェアによる制御が
中心である。しかしストリームライン処理を基本とする
CPUに内蔵するキャッシュメモリの制御を考えるなら
ば、特別なハードウェアによりキャッシュミスの制御を
おこなわずに、ソフトウェアによるデータの入替え制御
を実現することが考えられた。キャッシュミスが発生し
たときには、 ・命令実行を停止させる ・ミスしたキャッシュメモリのブロックを主記憶部から
ロードする ことをする必要がある。命令実行は停止するわけである
から、その間、命令実行を行うハードウェアユニットの
資源は空くことになるので、この資源を利用してキャッ
シュミスを起こしたブロックの入替えを行うこととする
。このようにすればキャッシュミスを担当する専用ハー
ドウェアなしにキャッシュメモリのブロックの入替えが
できることになり、ハードウェア資源の節約が出来る。
このキャッシュミスの処理のほかに、割込み。
例外の処理がある。この割込み1例外の処理は複雑であ
り、これらは専用のソフトウェア及びハードウェアによ
り実現されていた。
〔発明が解決しようとする課題〕
上述した従来の割込み・例外制御方式は、複雑な割込み
1例外の処理が専用のソフトウェア、ハードウェアによ
り実現される構成となっているので、設計が複雑になり
、またハードウェア資源が冗長になるためコスト高にな
るという問題点がある。
本発明の目的は、設計を簡素化し、ハードウェア資源を
節約してコストの低減をはかることができる割込み・例
外制御方式を提供することにある。
〔課題を解決するための手段〕
本発明の割込み・例外処理方式は、パイプライン処理を
行ない、命令キャッシュメモリを含むキャッシュメモリ
部及び中央処理部を内蔵する中央処理装置を備えた割込
み・例外制御方式において、前記命令キャッシュメモリ
にアドレスを付加し、割込みあるいは例外が発生した場
合に、この割込みあるいは例外を受け付けた該当命令の
実行をいったん終了させるために書込みのみをアボート
し、前記割込み1例外受け付は処理として、割込み例外
処理ルーチンに分岐するための処理である、スーパバイ
ザ状態への移行9割込み不可状態への移行2割込み例外
スタックの選択、及び特定レジスタ内容の割込み例外ス
タックへのセーブを含む処理を機械語プログラムにより
行なうために、この機械語プログラムを前記命令キャッ
シュメモリ内に常駐させ、次に実行すべき命令のアドレ
スを、通常のアドレスではなく前記割込み例外受け付は
処理をする専用ルーチンに変更するアドレスに分岐する
ようにして構成される。
〔作用〕
キャッシュメモリ部におけるブロックのソフトウェアに
よる入替えを実現するには、次の考慮が必要である。
・キャッシュミスが発生したとき、ただちに処理ルーチ
ンに分岐できること ・そのソフトウェアル−チン自身がキャッシュミスとな
らないこと ・ソフトウェアからキャッシュメモリが通常のメモリの
ようにアクセスできること 本発明では、これらを実験するための手法として次の項
目を採用する。
・パイプライン処理において、キャッシュミスが発生し
たときに現在の命令の実行を止めずに、その命令を終了
させる。具体的には演算やアクセスは行わせるがその結
果をレジスタ/メモリに書き込みを行わずに結果を捨て
る。次に実行すべき命令のアドレスを、通常のアドレス
ではなくキャッシュミスを処理する専用ルーチンに強制
的に変更し、そのアドレスに分岐する。
・命令キャッシュの一部を追出し不可能なブロックとし
て定義し、あたかもそこを「マイクロコードROM、と
じて使用できるようにする。キャッシュミスの処理ルー
チンをそこに常駐させる。ROMであってもRAMであ
ってもかまわない。
・キャッシュメモリにアドレスを付加する。
上」己のようなキャッシュミス制御方式を採用し、命令
キャッシュメモリ内にキャッシュミス処理ルーチンを内
蔵するならば、同様の技法により、例外・割込み処理に
も対応できる。
割込み1例外の処理では、一般に、 ・プロセッサの実行モードをスーパバイザ状態にする ・割込み不可状態とする ・割込み9例外処理スタックのアドレスを得る・プログ
ラム実行状態を割込みスタックに保存する。具体的には
プログラムステータスワード、一部汎用レジスタの内容
、などである・割込み番号に対応したルーチンへ分岐す
るという処理を逐次的に行なう。
また、パイプライン処理における動作であるが、これも
キャッシュミスの処理と同様に対処できる。すなわち割
込みをサンプルするタイミングをキャッシュミスをサン
プルするタイミングと同じにとり、パイプライン内にあ
る命令の処理をアボートし割込み処理ソフトルーチンに
分岐する。
ここで考慮しなければならないことは、割込み処理に関
連するキャッシュミス、とくにレジスタ内容どなをメモ
リにセーブするときに発生するキャッシュミスが起こる
場合への対処である。このときはキャッシュメモリを通
過せずに直接割込みスタックへと書き戻すことで対応で
きる。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明の第1の実施例のハードウェアの主要部
を示すブロック図である。
この実施例の中央処理部1は、パイプライン処理構造を
とっており、命令フェッチおよび分岐を制御する分岐制
御ユニット11と、命令をデコードする命令デコードユ
ニット12と、命令を実行する演算器(ALU)などを
保持する命令実行ユニット13と、命令がメモリとのロ
ード/ストア命令だった場合にオペランドアドレス計算
およびメモリアクセスを担当するメモリアクセスユニッ
ト14と、これらのユニットが参照するマルチポートの
汎用レジスタのファイル15とからなる。
また、キャッシュメモリ部2は、命令キャッシュメモリ
21と、データキャッシュメモリ22と、これらが主記
憶部とインタフェースするための制御回路である、命令
バスインタフェース23と、データバスインタフェース
24とからなる。
キャッシュメモリ部2からのキャッシュミスはキャッシ
ュミス通知信号CMを通じて行われる。
第2図はこの実施例のパイプライン構造による命令実行
の様子を示すタイミング図である。
命令は、命令キャッシュメモリ21からフェッチされる
。その後、フェッチされた命令コードは、命令デコード
ユニット12と命令実行ユニット13、メモリアクセス
ユニット14、及び分岐制御ユニット11に同時に送ら
れる。その後(1)演算系命令だったとき 命令デコードユニット12と命令実行ユニット13は、
オペランドとなるデータを汎用レジスタ15から読み出
し、命令実行ユニット13にあるALUなどを用いて演
算を行い、その結果を汎用レジスタ15に書き込む。
(2)ロード/ストア命令だったとき メモリアクセスユニット14は、オペランドアドレスを
指定するレジスタを汎用レジスタ15から読み出し、ス
トア命令のときはオペランドとなるデータとともにデー
タキャッシュ22に書き込み、ロード命令であればデー
タキャッシュをアクセスし、その結果を汎用レジスタ1
5に書き込む。
(3)分岐系命令だったとき 分岐制御ユニット11は分岐先アドレスとなる実行アド
レス(EA)を計算し、命令をキャッシュメモリ21を
アクセスする。
このように、命令の種類にしたがって処理が行われる。
命令の実行は、命令1.命令2.命令3とパイプライン
的に重ね合わされて実行される。
ここで、命令キャッシュメモリ21へのアクセスがキャ
ッシュミスとなった場合を考える。
第3図にそのときのタイミングを示す。命令2をフェッ
チしようとしたときにキャッシュアクセスがミスした場
合を示している。
このとき、命令キャッシュメモリ21から出力されるデ
ータを、命令2として実行させる。しかしその命令コー
ド自身は命令2として実行する命令とは異なったものな
ので、命令実行から生れる結果、たとえばメモリへのロ
ード/ストアや演算結果のレジスタへの書き戻しはアボ
ートさせる。
また、キャッシュミス通知信号CMは分岐制御ユニット
11への入力となるので、分岐制御ユニット11はキャ
ッシュミスを処理するルーチンへの分岐命令を強制的に
命令3として与える。このとき、アボートした命令のア
ドレスを、後の命令再実行に備えて特別なレジスタに保
存しておく。
更に、キャッシュミスを処理するルーチン自身は命令キ
ャッシュメモリ21のなかに保持しておく。しかしそれ
らはキャッシュされたデータとしてキャッシュメモリ部
2から追出されることはなく、キャッシュメモリ部2の
なかに常駐している。ある種のROMであると考えると
「マイクロコード」として取り扱える。
さて、割込みが発生した場合には割込み信号に割込み要
求がアサートされる。その割込み信号INTは分岐制御
ユニット11への入力となるので分岐制御ユニット11
は割込みを処理するルーチンへの分岐命令を強制的に命
令3として与える。
このときアボートした命令のアドレスを後の命令最下位
実行に備えて特別なレジスタに保存しておく。
実行状態の移行として、スーパバイザ状態への移行、割
込み不可状態への移行などはすべて汎用レジスタ15の
なかにあるレジスタの内容の書換えとなる。
ソフトウェアの割込み処理ルーチンへの分岐のために、
レジスタ内容の保存を行なわなければならないが、それ
らはメモリアクセスユニット14を通過し、データキャ
ッシュメモリ22をバイパスしてデータバスインタフェ
ース24から主記憶部へと内容を書込むことで状態保存
し、割込みルーチンへと分岐する。
第4図は本発明の第2の実施例のハードウェアの主要部
を示すブロック図である。
この第2の実施例では割込み処理だけではなく、例外処
理についても考慮している。
この実施例が第1の実施例と異なっているのは、例外信
号EXを通知するための信号線が追加されている点であ
る。例外信号EXは命令実行の結果を通知するものであ
るため命令実行ユニット13Aから分岐制御ユニット1
1Aへと信号が流れる。
この場合の処理のながれも、第1の実施例とはとんど同
じである。唯−異なっている処理は、例外信号線による
例外信号EVと割込み信号線による割込み信号INTを
区別し、適切なルー□チンを選択することだけである。
〔発明の効果〕
以上のような割込み1例外の処理方式を採用することに
より、キャッシュミスの制御の場合と同様に、専用ハー
ドウェアを用意せずに割込みおよび例外の処理を実現で
き、資源を節約できるという利点がある。さらに、割込
みおよび例外の処理は複雑であり、それらをいわばソフ
トウェアにより実現するわけであるから、設計をシンプ
ル化できるという利点もある。マイクロプログラム方式
による実現という手段もあるが、この方式はソフトウェ
ア制御により実験するわ番+であるから、マイクロプロ
グラム用のハードウェアを用意する必要がなく資源の節
約ができる効果がある。
【図面の簡単な説明】
第1図及び第2図、第3図はそれぞれ本発明の第1の実
施例を示すブロック図及びこの実施例の動作を説明する
ための各部動作のタイミング図、第4図は本発明の第2
の実施例を示すブロック図である。 1、IA・・・中央処理部、2・・・キャッシュメモリ
部、11.IIA・・・分岐制御ユニット、12・・・
命令デコードユニット、13.13A・・・命令実行ユ
ニット、14・・・メモリアクセスユニット、15・・
・汎用レジスタ、21・・・命令キャッシュメモリ、2
2・・・データキャッシュメモリ、23・・・命令バス
インタフェース、24・・・データバスインタフェース

Claims (1)

  1. 【特許請求の範囲】 1、パイプライン処理を行ない、命令キャッシュメモリ
    を含むキャッシュメモリ部及び中央処理部を内蔵する中
    央処理装置を備えた割込み・例外制御方式において、前
    記命令キャッシュメモリにアドレスを付加し、割込みあ
    るいは例外が発生した場合に、この割込みあるいは例外
    を受け付けた該当命令の実行をいったん終了させるため
    に書込みのみをアボートし、前記割込み、例外受け付け
    処理として、割込み例外処理ルーチンに分岐するための
    処理である、スーパバイザ状態への移行、割込み不可状
    態への移行、割込み例外スタックの選択、及び特定レジ
    スタ内容の割込み例外スタックへのセーブを含む処理を
    機械語プログラムにより行なうために、この機械語プロ
    グラムを前記命令キャッシュメモリ内に常駐させ、次に
    実行すべき命令のアドレスを、通常のアドレスではなく
    前記割込み例外受け付け処理をする専用ルーチンに変更
    するアドレスに分岐するようにしたことを特徴とする割
    込み・例外制御方式。 2、キャッシュメモリ部が命令キャッシュメモリ及びデ
    ータキャッシュメモリを含んで構成され、中央処理部が
    分岐制御ユニット、命令デコードユニット、命令実行ユ
    ニット、メモリアクセスユニット、及び汎用レジスタを
    含んで構成された割込み・例外制御方式。
JP2282280A 1990-10-19 1990-10-19 割込み・例外制御方式 Pending JPH04156617A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2282280A JPH04156617A (ja) 1990-10-19 1990-10-19 割込み・例外制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2282280A JPH04156617A (ja) 1990-10-19 1990-10-19 割込み・例外制御方式

Publications (1)

Publication Number Publication Date
JPH04156617A true JPH04156617A (ja) 1992-05-29

Family

ID=17650377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2282280A Pending JPH04156617A (ja) 1990-10-19 1990-10-19 割込み・例外制御方式

Country Status (1)

Country Link
JP (1) JPH04156617A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012170A (ja) * 2004-06-24 2006-01-12 Internatl Business Mach Corp <Ibm> ユーザ・モード・プロセスが特権実行モードで動作することを可能にする方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006012170A (ja) * 2004-06-24 2006-01-12 Internatl Business Mach Corp <Ibm> ユーザ・モード・プロセスが特権実行モードで動作することを可能にする方法

Similar Documents

Publication Publication Date Title
US7490228B2 (en) Processor with register dirty bit tracking for efficient context switch
EP1137984B1 (en) A multiple-thread processor for threaded software applications
US9037837B2 (en) Hardware assist thread for increasing code parallelism
US8424015B2 (en) Transactional memory preemption mechanism
US20070022277A1 (en) Method and system for an enhanced microprocessor
US20110296148A1 (en) Transactional Memory System Supporting Unbroken Suspended Execution
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
EP2764433A1 (en) Maintaining operand liveness information in a computer system
JP2004171573A (ja) 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ
US6341348B1 (en) Software branch prediction filtering for a microprocessor
Grunewald et al. Towards extremely fast context switching in a block-multithreaded processor
US6988121B1 (en) Efficient implementation of multiprecision arithmetic
JPH04156617A (ja) 割込み・例外制御方式
JPH0644089A (ja) 情報処理装置
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH01140330A (ja) 高性能cpu−fpuクラスタ用パイプライン型スレーブプロトコル
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
US5898877A (en) Processor using special instruction set to enhance exception handling
JPH04237331A (ja) マイクロプロセッサ
JPH03121546A (ja) キャッシュメモリ内蔵マイクロプロセッサ
JP3630904B2 (ja) 演算実行方法および演算実行装置
JP4311087B2 (ja) プロセッサおよび例外処理方法
JP2572821B2 (ja) 命令再実行による演算処理方式
JP3206394B2 (ja) 5段パイプライン構造のプログラマブルコントローラ
CN114579264A (zh) 处理装置、处理系统和处理方法