JPS586971B2 - 演算処理装置 - Google Patents
演算処理装置Info
- Publication number
- JPS586971B2 JPS586971B2 JP54169658A JP16965879A JPS586971B2 JP S586971 B2 JPS586971 B2 JP S586971B2 JP 54169658 A JP54169658 A JP 54169658A JP 16965879 A JP16965879 A JP 16965879A JP S586971 B2 JPS586971 B2 JP S586971B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- pipeline
- stage
- exception
- arithmetic
- 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.)
- Expired
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
本発明はパイプライン制御方式を用いる演算処理装置に
関するものである。
関するものである。
大型の情報処理システムにおいては、処理の高速化をは
かるため各命令の処理ステージをオーバーラップさせ、
命令の並行処理を行っている。
かるため各命令の処理ステージをオーバーラップさせ、
命令の並行処理を行っている。
これが所謂パイプライン制御方式で、演算処理関係では
オペランド読出ステージ、演算ステージ、オペランド書
込ステージ等が各命令ごとにオーバーラップして走るこ
とになる。
オペランド読出ステージ、演算ステージ、オペランド書
込ステージ等が各命令ごとにオーバーラップして走るこ
とになる。
一方、演算処理装置では、正常な実行を中断する割込が
発生した場合、その割込みの要因により中断の方法が厳
密に規定されているのが一般的であり、例えば次の3つ
の割込終了の方法が規定されている。
発生した場合、その割込みの要因により中断の方法が厳
密に規定されているのが一般的であり、例えば次の3つ
の割込終了の方法が規定されている。
1.抑止形及び取消形割込:割込の発生した演算の結果
はストアせず、直前の演算までが正常に実行される。
はストアせず、直前の演算までが正常に実行される。
2.割込形割込:割込の発生した演算まで正常に実行さ
れる。
れる。
後の演算は実行されない。3.中断形割込:割込の発生
した演算の結果はストアされるか否か保証されない。
した演算の結果はストアされるか否か保証されない。
このように厳密に割込終了の方法を規定するのは、記憶
保護割込時などに、他のメモリを破壊するのを防ぐ為の
ほか、割込ポイント(演算の終了ポイントと割込コード
の2つで規定される)を正確にすることにより、該当割
込で異常終了したプログラムのデバッグを容易にしたり
、又、多重プログラムや最近の仮想記憶装置におけるペ
ージ・フォールト等の処理の際に行われるように、割込
発生後、割込みサービス等を受けて再び割込時点の次の
処理に戻ること等を可能にするためである。
保護割込時などに、他のメモリを破壊するのを防ぐ為の
ほか、割込ポイント(演算の終了ポイントと割込コード
の2つで規定される)を正確にすることにより、該当割
込で異常終了したプログラムのデバッグを容易にしたり
、又、多重プログラムや最近の仮想記憶装置におけるペ
ージ・フォールト等の処理の際に行われるように、割込
発生後、割込みサービス等を受けて再び割込時点の次の
処理に戻ること等を可能にするためである。
ところが、従来のパイプライン制御方式を用いた演算処
理装置においては、割込が発生した場合、直ちに全パイ
プライン(処理ステージ)を停止させるか、あるいはパ
イプラインへの新たな入力は停止させるが、例外発生時
点でパイプライン内に入っていた命令は、それが例外発
生以後のものであっても全部実行を完了させるかしてい
るのが実情である。
理装置においては、割込が発生した場合、直ちに全パイ
プライン(処理ステージ)を停止させるか、あるいはパ
イプラインへの新たな入力は停止させるが、例外発生時
点でパイプライン内に入っていた命令は、それが例外発
生以後のものであっても全部実行を完了させるかしてい
るのが実情である。
しかし、全パイプラインの処理を停止させる方法では割
込発生以前の演算が実行されずに終了してしまうことが
起こり得るし、例外発生時点でパイプラインに入ってい
た命令の実行を全部完了させる方法では演算のオーバラ
ンが発生してしまい、両方とも正確な割込ポイントは得
られない。
込発生以前の演算が実行されずに終了してしまうことが
起こり得るし、例外発生時点でパイプラインに入ってい
た命令の実行を全部完了させる方法では演算のオーバラ
ンが発生してしまい、両方とも正確な割込ポイントは得
られない。
この為、上に述べたプログラム・デバッグの問題、多重
プログラミング等に適用不可能であるなどの問題が発生
している。
プログラミング等に適用不可能であるなどの問題が発生
している。
本発明は上記の問題点を解決すべくなされたもので、演
算パイプラインの各ステージ毎に実行ヲ制御するフリツ
プフロツプ(FF)を設けて、発生した割込の発生ステ
ージ及び要因により上記クリップ・フロツプを制御して
演算パイプラインを停止させ、正確な割込みポイントを
実現させる演算処理装置を提供するものである。
算パイプラインの各ステージ毎に実行ヲ制御するフリツ
プフロツプ(FF)を設けて、発生した割込の発生ステ
ージ及び要因により上記クリップ・フロツプを制御して
演算パイプラインを停止させ、正確な割込みポイントを
実現させる演算処理装置を提供するものである。
以下、図面を参照して本発明の内容を詳細に説明する。
第1図は本発明の一実施例を示す。
第1図においては、演算パイプラインは、オペランド読
出しユニット1、演算ステージ■ユニット2、演算ステ
ージ■ユニット3、ストア例外チェックユニット4、オ
ペランド・ストア・ユニット5の5ユニット(1ユニッ
トはパイプラインの1ステージに対応すると仮定)から
成っているとしている。
出しユニット1、演算ステージ■ユニット2、演算ステ
ージ■ユニット3、ストア例外チェックユニット4、オ
ペランド・ストア・ユニット5の5ユニット(1ユニッ
トはパイプラインの1ステージに対応すると仮定)から
成っているとしている。
各ユニット(ステージ)に対応してオペランド読出し実
行FF7、演算ステージ■実行FF8、演算ステージ■
実行FF9、ストア例外チェック実行FF10、オペラ
ンドストア実行FF11があり、これらのFFの出力は
、各ユニットの実行信号12,13,14,15,16
として対応するユニットに送られ、この信号がオンの時
に各ユニツト1,2,3,4,5が実行される。
行FF7、演算ステージ■実行FF8、演算ステージ■
実行FF9、ストア例外チェック実行FF10、オペラ
ンドストア実行FF11があり、これらのFFの出力は
、各ユニットの実行信号12,13,14,15,16
として対応するユニットに送られ、この信号がオンの時
に各ユニツト1,2,3,4,5が実行される。
以下、ベクトル命令のプレイ処理をパイプライン動作で
連続的に実行する場合を例に説明する。
連続的に実行する場合を例に説明する。
演算パイプラインの動作は、装置内部で作成されるパイ
プライン開始信号22により、まずオペランド読出し実
行FF7がセットされ、以下、これが各実行FF8,9
,10,11に順次伝搬して行き、それによって対応す
るユニツト1,2,3,4,5が順次動作を開始するこ
とにより進行する。
プライン開始信号22により、まずオペランド読出し実
行FF7がセットされ、以下、これが各実行FF8,9
,10,11に順次伝搬して行き、それによって対応す
るユニツト1,2,3,4,5が順次動作を開始するこ
とにより進行する。
一方、ベクトル命令においては、演算数がオペランドで
指定されるが、該演算数は演算数カウンタ6に初期設定
され、1つのパイプラインが始まるごとに該演算数カウ
ンタ6は−1される。
指定されるが、該演算数は演算数カウンタ6に初期設定
され、1つのパイプラインが始まるごとに該演算数カウ
ンタ6は−1される。
そして、途中で割込みが発生しない場合、演算数カウン
タ6が零になると、演算数カウント完了信号20により
まずオペランド読出し実行FF7がリセットし、これが
各実行FF8,9,10,11に順次伝搬して、演算パ
イプラインの動作が停止し、ベクトル命令の処理を終了
する。
タ6が零になると、演算数カウント完了信号20により
まずオペランド読出し実行FF7がリセットし、これが
各実行FF8,9,10,11に順次伝搬して、演算パ
イプラインの動作が停止し、ベクトル命令の処理を終了
する。
なお、ベクトル命令以外の通常の場合は、演算数カウン
ト完了信号20に対応する信号として、パイプライン終
了信号22′を所定の処理終了時、パイプライン開始信
号22と同様に装置内部で作成し、途中で割込みが発生
しない場合、該終了信号27によりオペランド読出し実
行FF7をリセットすることにより、同様にして演算パ
イプラインの動作は停止する。
ト完了信号20に対応する信号として、パイプライン終
了信号22′を所定の処理終了時、パイプライン開始信
号22と同様に装置内部で作成し、途中で割込みが発生
しない場合、該終了信号27によりオペランド読出し実
行FF7をリセットすることにより、同様にして演算パ
イプラインの動作は停止する。
割込みが発生した場合の動作は、例えばオペランド読出
し動作で検出されるオペランド読出し例外(これは抑止
形と仮定する)が発生した場合、オペランド例外報告信
号17がオンとなり、オペランド読出し実行FF7及び
演算ステージ■実行FF8がリセットされ、以後、順次
各後続のFF9,10,11に伝搬してパイプラインが
停止され、正確な演算終了ポイントが得られる。
し動作で検出されるオペランド読出し例外(これは抑止
形と仮定する)が発生した場合、オペランド例外報告信
号17がオンとなり、オペランド読出し実行FF7及び
演算ステージ■実行FF8がリセットされ、以後、順次
各後続のFF9,10,11に伝搬してパイプラインが
停止され、正確な演算終了ポイントが得られる。
この場合、パイプライン・ステージのオーバランは起こ
らないので、後続の演算による割込みの検出は全くなさ
れない。
らないので、後続の演算による割込みの検出は全くなさ
れない。
従って、該オペランド読出し例外発生以前の演算でスト
ア例外又は演算例外が発生しなければ、例外報告信号は
17のみオンで、18,19はオフであり、割込みコー
ド23は一意的に決まる。
ア例外又は演算例外が発生しなければ、例外報告信号は
17のみオンで、18,19はオフであり、割込みコー
ド23は一意的に決まる。
ストア例外(これも抑止形と仮定する)の場合も、同様
にして演算終了のポイントは正確に制御できるが、後続
の演算によるオペランド例外と演算例外は同時に複数検
出してしまう可能性がある。
にして演算終了のポイントは正確に制御できるが、後続
の演算によるオペランド例外と演算例外は同時に複数検
出してしまう可能性がある。
しかし、この競合は割込みプライオリテイ回路21によ
りストア例外>演算例外>オペランド例外の順にプライ
オリテイをとる事により、正確な割込みコード23を得
る事ができる。
りストア例外>演算例外>オペランド例外の順にプライ
オリテイをとる事により、正確な割込みコード23を得
る事ができる。
なお、割込コード23は、オペランド例外、演算例外、
ストア例外のいずれが発生したかをプログラムに知らせ
、デバック情報等に供するものである。
ストア例外のいずれが発生したかをプログラムに知らせ
、デバック情報等に供するものである。
第2図は第1図の動作を説明するためのタイミング・チ
ャートで、図中、黒くぬりつぶした時点が例外の発生し
たステージ、斜線の時点がオーバランしているステージ
を示す。
ャートで、図中、黒くぬりつぶした時点が例外の発生し
たステージ、斜線の時点がオーバランしているステージ
を示す。
第2図の1は演算数完了信号20によるパイプラインの
停止、2はオペランド読出し例外報告信号17によるパ
イプラインの停止、3は演算例外報告信号18による停
止、4はストア例外報告信号19による停止を示し、オ
ペランド例外とストア例外は抑止形(割込の発生した演
算の直前の演算までを実行する)、演算例外は完了形(
割込の発生した演算を最後まで完了して終了する)と仮
定している。
停止、2はオペランド読出し例外報告信号17によるパ
イプラインの停止、3は演算例外報告信号18による停
止、4はストア例外報告信号19による停止を示し、オ
ペランド例外とストア例外は抑止形(割込の発生した演
算の直前の演算までを実行する)、演算例外は完了形(
割込の発生した演算を最後まで完了して終了する)と仮
定している。
第2図より、演算数完了、オペランド例外、演算例外、
ストア例外の場合の演算パイプラインの開始、停止がそ
れぞれ適切に行なわれる事が理解される。
ストア例外の場合の演算パイプラインの開始、停止がそ
れぞれ適切に行なわれる事が理解される。
以上の説明から明らかな如く、本発明によれば、パイプ
ライン制御を用いた演算処理装置において、割込が発生
した場合に規定された停止手順で演算パイプラインが停
止され、又、正確な割込みのポイントも得られるため、
プログラムのデバッグが容易となる他、多重プログラム
処理も可能となる。
ライン制御を用いた演算処理装置において、割込が発生
した場合に規定された停止手順で演算パイプラインが停
止され、又、正確な割込みのポイントも得られるため、
プログラムのデバッグが容易となる他、多重プログラム
処理も可能となる。
第1図は本発明の一実癩例を示す図、第2図は第1図の
動作を説明するためのタイミング図である。 1〜5・・・・・・各演算ステージ対応ユニット、6・
・・・・・演算数カウンタ、7〜11・・・・・・実行
フリツプフロツプ、21・・・・・・割込みプライオリ
テイ回路。
動作を説明するためのタイミング図である。 1〜5・・・・・・各演算ステージ対応ユニット、6・
・・・・・演算数カウンタ、7〜11・・・・・・実行
フリツプフロツプ、21・・・・・・割込みプライオリ
テイ回路。
Claims (1)
- 1 パイプライン制御を行う演算処理装置において、演
算パイプラインの各ステージ毎にその実行を独立に制御
するフリツプフロツプを設け、割込みが発生した場合、
その発生した割込みのステージ及び要因により上記各フ
リツプフロツプをリセットするか否かを決め、リセット
したフリツプフロツプに対応するステージの動作は直ち
に停止せしめるが、残りのリセットしないフリツプフロ
ツプに対応するステージの動作は保証することを特徴と
する演算処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54169658A JPS586971B2 (ja) | 1979-12-26 | 1979-12-26 | 演算処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54169658A JPS586971B2 (ja) | 1979-12-26 | 1979-12-26 | 演算処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5692643A JPS5692643A (en) | 1981-07-27 |
| JPS586971B2 true JPS586971B2 (ja) | 1983-02-07 |
Family
ID=15890530
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP54169658A Expired JPS586971B2 (ja) | 1979-12-26 | 1979-12-26 | 演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS586971B2 (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60118976A (ja) * | 1983-11-30 | 1985-06-26 | Fujitsu Ltd | パイプライン制御方式 |
| US5297263A (en) * | 1987-07-17 | 1994-03-22 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor with pipeline system having exception processing features |
| US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
| WO1995016952A1 (fr) * | 1993-12-15 | 1995-06-22 | Silicon Graphics Inc. | Pipeline d'instructions de microprocesseur superscalaire avec commande de distribution et de diffusion d'instructions |
| DE69536153D1 (de) * | 1994-11-17 | 2011-05-05 | Ich Productions Ltd | Internalisierung von dna, unter verwendung von konjugaten des poly-l-lysins und eines peptidligands des integrin-rezeptors |
-
1979
- 1979-12-26 JP JP54169658A patent/JPS586971B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5692643A (en) | 1981-07-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04306735A (ja) | 非同期割込み禁止機構 | |
| US4385365A (en) | Data shunting and recovering device | |
| JPH0348537B2 (ja) | ||
| JPS586971B2 (ja) | 演算処理装置 | |
| JPS63279328A (ja) | 仮想計算機システムのゲスト実行制御方式 | |
| JPH01224871A (ja) | ベクトル演算命令発行制御方法 | |
| US5715439A (en) | Bi-directional co-processor interface | |
| JPH0754467B2 (ja) | データ処理装置 | |
| JPS6122818B2 (ja) | ||
| JPS5998256A (ja) | 割込制御装置 | |
| JPS60214044A (ja) | マイクロコンピュ−タ | |
| JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
| JPS6376028A (ja) | 仮想計算機システムにおける命令ステツプ実行制御方式 | |
| JPS60124746A (ja) | デ−タ処理装置 | |
| JPH06332720A (ja) | シグナル制御方法 | |
| JPS595932B2 (ja) | デ−タ処理方式 | |
| JPH0519745B2 (ja) | ||
| JPH0560141B2 (ja) | ||
| JPS63155330A (ja) | マイクロプログラム制御装置 | |
| JPH03282963A (ja) | 割込みアドレス補正処理方式 | |
| JPS6126705B2 (ja) | ||
| JPH03174633A (ja) | マルチタスク制御方式 | |
| JPS6339047A (ja) | 試験プログラム用スケジユ−ラ | |
| JPH0417530B2 (ja) | ||
| JPH0546390A (ja) | 電子計算機の演算エラー情報保持装置 |