JPH0222736A - 中央処理装置 - Google Patents
中央処理装置Info
- Publication number
- JPH0222736A JPH0222736A JP17343688A JP17343688A JPH0222736A JP H0222736 A JPH0222736 A JP H0222736A JP 17343688 A JP17343688 A JP 17343688A JP 17343688 A JP17343688 A JP 17343688A JP H0222736 A JPH0222736 A JP H0222736A
- Authority
- JP
- Japan
- Prior art keywords
- register
- calculation
- instruction
- arithmetic
- information
- 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
Links
- 238000000034 method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 230000007306 turnover Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は中央処理装置に関し、特に電子計算機等の各種
ディジタル情報処理装置内で使用される中央処理装置に
関する。
ディジタル情報処理装置内で使用される中央処理装置に
関する。
従来、この種の中央処理装置では、命令処理能力を向上
するための典型的な1手法としてバイブライン制御方式
が採用されている。
するための典型的な1手法としてバイブライン制御方式
が採用されている。
バイブライン制御方式が採用される中央処理装置では、
例えば命令実行の手順が実行時間をτとするn(正整数
)個のフェーズに分割されて命令が実行される。これに
より、最初の命令の実行結果(演算命令の演算結果等)
は時間rnxτ」の後にしか得られないが、時間「τ」
毎に命令の実行を開始するように運用すれば最終的には
時間「τ」毎に各命令の実行結果を得ることができる。
例えば命令実行の手順が実行時間をτとするn(正整数
)個のフェーズに分割されて命令が実行される。これに
より、最初の命令の実行結果(演算命令の演算結果等)
は時間rnxτ」の後にしか得られないが、時間「τ」
毎に命令の実行を開始するように運用すれば最終的には
時間「τ」毎に各命令の実行結果を得ることができる。
さらに、パイプライン制御方式における演算命令の実行
フェーズの実質的な短縮(実質的な演算命令の実行時間
の短縮)のための手法としては、複数の演算機能ブロッ
クを設けて複数の演算命令の実行フェーズを同時に進行
させる方式(複数の演算機能ブロックが同時に動作し得
るパイプライン制御方式)が採用されている。
フェーズの実質的な短縮(実質的な演算命令の実行時間
の短縮)のための手法としては、複数の演算機能ブロッ
クを設けて複数の演算命令の実行フェーズを同時に進行
させる方式(複数の演算機能ブロックが同時に動作し得
るパイプライン制御方式)が採用されている。
上述した従来の中央処理装置(複数の演算機能ブロック
が同時に動作し得るパイプライン制御方式が採用される
中央処理装置)では、演算命令の実行フェーズがn (
/ji算実行時間が「nXτ」)の先行する演算命令へ
と演算実行フェーズがm(正整数)(演算実行時間が「
m×τ」)の後続する演算命令Bとがそれぞれの演算命
令によって使用される演算機能ブロックで別個に実行さ
れる場合に、n>mのときには演算命令Aよりも先に演
算命令Bが終了し演算命令Bの演算結果が命令仕様に基
づいた演算レジスタに書き込まれるということが生しる
。
が同時に動作し得るパイプライン制御方式が採用される
中央処理装置)では、演算命令の実行フェーズがn (
/ji算実行時間が「nXτ」)の先行する演算命令へ
と演算実行フェーズがm(正整数)(演算実行時間が「
m×τ」)の後続する演算命令Bとがそれぞれの演算命
令によって使用される演算機能ブロックで別個に実行さ
れる場合に、n>mのときには演算命令Aよりも先に演
算命令Bが終了し演算命令Bの演算結果が命令仕様に基
づいた演算レジスタに書き込まれるということが生しる
。
このような場合には、演算命令Aの実行中に演算例外や
ハードウェアの故障が発生したときの命令再試行時にお
いてfi算命令Aの演算データが演算命令Bの実行によ
り変更されていることがあるので、命令再試行を正しく
行うことができないケースが起こり得るという欠点があ
る。
ハードウェアの故障が発生したときの命令再試行時にお
いてfi算命令Aの演算データが演算命令Bの実行によ
り変更されていることがあるので、命令再試行を正しく
行うことができないケースが起こり得るという欠点があ
る。
また、演算命令への演算結果が書き込まれる演算レジス
タと演算命令Bの演算結果が書き込まれる演算レジスタ
とが同一の演算レジスタである場合には、演算命令Aお
よびBを含むプログラムの実行の正当性を保つために演
算命令Aの実行の終了を待ってから演算命令Bはその演
算結果の転送(演算レジスタへの書込み等)を行わなけ
ればならないので、演算命令Bにより使用されている演
算機能ブロックはその転送が終了するまでは待ち状態に
なってしまい、演算機能ブロックの遊休時間が大きくな
るという欠点がある。
タと演算命令Bの演算結果が書き込まれる演算レジスタ
とが同一の演算レジスタである場合には、演算命令Aお
よびBを含むプログラムの実行の正当性を保つために演
算命令Aの実行の終了を待ってから演算命令Bはその演
算結果の転送(演算レジスタへの書込み等)を行わなけ
ればならないので、演算命令Bにより使用されている演
算機能ブロックはその転送が終了するまでは待ち状態に
なってしまい、演算機能ブロックの遊休時間が大きくな
るという欠点がある。
本発明の目的は、上述の点に迄み、複数の演算機能ブロ
ックが同時に動作し得るパイプライン制御方式が採用さ
れる中央処理装置において、演算例外やハードウェアの
故障が発生した場合の命令再試行を常に正確に行うこと
ができ、演算機能ブロックの遊休時間を少なくできる中
央処理装置を提供することにある。
ックが同時に動作し得るパイプライン制御方式が採用さ
れる中央処理装置において、演算例外やハードウェアの
故障が発生した場合の命令再試行を常に正確に行うこと
ができ、演算機能ブロックの遊休時間を少なくできる中
央処理装置を提供することにある。
本発明の中央処理装置は、各演算命令の演算結果を書き
込む演算レジスタのレジスタコードをプログラム上の命
令実行順序に基づき記憶するレジスタコード記憶部と、
このレジスタコード記憶部へのレジスタコードの書込み
アドレスを持回り情報として演算機能ブロックにおける
実行フェーズの進行とともに持ち回る持回り手段と、演
算機能ブロックからの演算命令の演算結果とその演算結
果に対応する前記持回り手段からの持回り情報とを保持
するレジスタ対と、このレジスタ対に保持されている演
算結果および演算機能ブロックからの演算結果の中から
プログラム上の命令実行1111j序に則って演算レジ
スタに書き込むべき演算結果を前記レジスタ対に保持さ
れている持回り情報等に基づき選択する選択手段とを有
する。
込む演算レジスタのレジスタコードをプログラム上の命
令実行順序に基づき記憶するレジスタコード記憶部と、
このレジスタコード記憶部へのレジスタコードの書込み
アドレスを持回り情報として演算機能ブロックにおける
実行フェーズの進行とともに持ち回る持回り手段と、演
算機能ブロックからの演算命令の演算結果とその演算結
果に対応する前記持回り手段からの持回り情報とを保持
するレジスタ対と、このレジスタ対に保持されている演
算結果および演算機能ブロックからの演算結果の中から
プログラム上の命令実行1111j序に則って演算レジ
スタに書き込むべき演算結果を前記レジスタ対に保持さ
れている持回り情報等に基づき選択する選択手段とを有
する。
本発明の中央処理装置では、レジスタコード記憶部が各
演算命令の演算結果を書き込む演算レジスタのレジスタ
コードをプログラム上の命令実行順序に基づき記憶し、
持回り手段がレジスタコード記憶部へのレジスタコード
の書込みアドレスを持回り情報として演算機能ブロック
における実行フェーズの進行とともに持ち回り、レジス
タ対が演算機能ブロックからの演算命令の演算結果とそ
の演算結果に対応する持゛回り手段からの持回り情報と
を保持し、選択手段がレジスタ対に保持されている演算
結果および演算機能ブロックからの演算結果の中からプ
ログラム上の命令実行順序に則って演算レジスタに書き
込むべき演算結果をレジスタ対に保持されている持回り
情報等に基づき選択する。
演算命令の演算結果を書き込む演算レジスタのレジスタ
コードをプログラム上の命令実行順序に基づき記憶し、
持回り手段がレジスタコード記憶部へのレジスタコード
の書込みアドレスを持回り情報として演算機能ブロック
における実行フェーズの進行とともに持ち回り、レジス
タ対が演算機能ブロックからの演算命令の演算結果とそ
の演算結果に対応する持゛回り手段からの持回り情報と
を保持し、選択手段がレジスタ対に保持されている演算
結果および演算機能ブロックからの演算結果の中からプ
ログラム上の命令実行順序に則って演算レジスタに書き
込むべき演算結果をレジスタ対に保持されている持回り
情報等に基づき選択する。
次に、本発明について図面を参照して説明する。
第1図は、本発明の中央処理装置の一実施例の構成を示
すブロック図である。本実施例の中央処理装置は、命令
情報レジスタ1−1.1−2.・・・1−h (IRl
、IR2,・・・、1Rh) (hは正整数)と、レ
ジスタ4−1 (RCW)および4−2 (RCR)
と、レジスタコード記tα部5と、演算レジスタ群6と
、比較回路7−1.・・・、77−m7−(+l)と、
デコーダ8−1 (DECI)および8−2 (D
EC2)と、セレクタ9と、加算回路10−1および1
0−2と、演算機能ブロック11−1.11−2.−、
11−n (演算部1.演算部2、・・・、演算部n)
と、持回り情報レジスタ211、−、21− i、 2
2−1.−、22 j、 ・=、 2n1、−、2n
−k (El 1.−、 El −t、 R2−1
,・−・、R2−j、−、En−1,−、Enk)(i
、jおよびkは正整数)と、演算結果データレジスタ3
1 1.−、3m −1(D 1.−、 Dm)と、
持回り情報レジスタ31−2. ・・・、3m−2(
R51,−、R5m)と、状態レジスタ31−3゜3m
−3(Vl、−、Vm)とを含んで構成されている。
すブロック図である。本実施例の中央処理装置は、命令
情報レジスタ1−1.1−2.・・・1−h (IRl
、IR2,・・・、1Rh) (hは正整数)と、レ
ジスタ4−1 (RCW)および4−2 (RCR)
と、レジスタコード記tα部5と、演算レジスタ群6と
、比較回路7−1.・・・、77−m7−(+l)と、
デコーダ8−1 (DECI)および8−2 (D
EC2)と、セレクタ9と、加算回路10−1および1
0−2と、演算機能ブロック11−1.11−2.−、
11−n (演算部1.演算部2、・・・、演算部n)
と、持回り情報レジスタ211、−、21− i、 2
2−1.−、22 j、 ・=、 2n1、−、2n
−k (El 1.−、 El −t、 R2−1
,・−・、R2−j、−、En−1,−、Enk)(i
、jおよびkは正整数)と、演算結果データレジスタ3
1 1.−、3m −1(D 1.−、 Dm)と、
持回り情報レジスタ31−2. ・・・、3m−2(
R51,−、R5m)と、状態レジスタ31−3゜3m
−3(Vl、−、Vm)とを含んで構成されている。
命令情報レジスタ1−1.l−2,・・・、1−hは、
前処理フェーズ中の各フェーズにおいて使用されるレジ
スタである(最終フェーズに係る命令情報レジスタ1−
hにおいて、演算命令の演算結果が書き込まれる演算レ
ジスタ群6内の演算レジスタが指定される)。
前処理フェーズ中の各フェーズにおいて使用されるレジ
スタである(最終フェーズに係る命令情報レジスタ1−
hにおいて、演算命令の演算結果が書き込まれる演算レ
ジスタ群6内の演算レジスタが指定される)。
レジスタ4−1は、レジスタコード記te部5の書込み
アドレスを保持するレジスタである。
アドレスを保持するレジスタである。
レジスタ4−2は、レジスタコード記憶部5の読出しア
ドレスを保持するレジスタである。
ドレスを保持するレジスタである。
レジスタコード記憶部5は、デコーダ8−1により作成
されたレジスタコードを演算命令の命令実行順(プログ
ラム上の命令実行順)に記憶する。
されたレジスタコードを演算命令の命令実行順(プログ
ラム上の命令実行順)に記憶する。
比較回路7−1. ・=、 7−m、 7−(m+
1)は、持回り情報レジスタ31−2.・・・、3m−
2中の持回り情報(比較回路?−(m+1)の場合には
演算機能ブロック11−1.11−2. ・”、 11
−nに対応する持回り情報レジスタ21− i、 22
−j、・・・2n−kから送られてきたばかりの持回り
情報)とレジスタ4−2の内容とを比較する。
1)は、持回り情報レジスタ31−2.・・・、3m−
2中の持回り情報(比較回路?−(m+1)の場合には
演算機能ブロック11−1.11−2. ・”、 11
−nに対応する持回り情報レジスタ21− i、 22
−j、・・・2n−kから送られてきたばかりの持回り
情報)とレジスタ4−2の内容とを比較する。
デコーダ8−1 (第1の形式のデコーダ)は、前処理
フェーズの最終フェーズに係る命令情報レジスタ1−h
の情報に基づいて演算レジスタ群6中のどの演算レジス
タに演算結果を書き込むかを示すレジスタコード(演算
レジスタ群6中のアドレス等の演算レジスタの識別情報
)を作成する。
フェーズの最終フェーズに係る命令情報レジスタ1−h
の情報に基づいて演算レジスタ群6中のどの演算レジス
タに演算結果を書き込むかを示すレジスタコード(演算
レジスタ群6中のアドレス等の演算レジスタの識別情報
)を作成する。
デコーダ8−2 (第2の形式のデコーダ)は、比較回
路7−1.−、 7−m、 ? −(m+1)・によ
る比較結果に基づいて次に演算レジスタ群6内の演算レ
ジスタに書き込むべき演算結果をセレクタ9に選択させ
るためのセレクトコードおよび状態レジスタ31−3.
・・・、3m−3へのセット/リセット信号を生成する
(比較回路7−1.・・・、7m、 7− (m+1
) 、デコーダ8−2およびセレクタ9により選択手段
が実現されている)。
路7−1.−、 7−m、 ? −(m+1)・によ
る比較結果に基づいて次に演算レジスタ群6内の演算レ
ジスタに書き込むべき演算結果をセレクタ9に選択させ
るためのセレクトコードおよび状態レジスタ31−3.
・・・、3m−3へのセット/リセット信号を生成する
(比較回路7−1.・・・、7m、 7− (m+1
) 、デコーダ8−2およびセレクタ9により選択手段
が実現されている)。
加算回路l0−1は、各演算命令の実行フェーズの開始
毎にレジスタ4−1の内容に1を加算して更新する。
毎にレジスタ4−1の内容に1を加算して更新する。
加算回路10−2は、演算レジスタ群6への演算命令の
演算結果の書込み毎にレジスタ4−2の内容に1を加算
して更新する。
演算結果の書込み毎にレジスタ4−2の内容に1を加算
して更新する。
演算機能ブロック11 1.11−2.−、11−nは
、パイプライン化された演算機能ブロックである(演算
機能ブロック11−1はi個の実行フェーズに分割され
、演算機能ブロック11−2はj個の実行フェーズに分
割され、演算機能ブロック11−nはに個の実行フェー
ズに分割されてパイプライン化されている)。
、パイプライン化された演算機能ブロックである(演算
機能ブロック11−1はi個の実行フェーズに分割され
、演算機能ブロック11−2はj個の実行フェーズに分
割され、演算機能ブロック11−nはに個の実行フェー
ズに分割されてパイプライン化されている)。
持回り情報レジスタ21−1.・・・、 21− i、
221、 ・=、 22 j、 −、2n −1,
−、2n−には、演算機能ブ07り11−1.11−2
.−、11−n中の各実行フェーズに対応して持回り情
報(デコーダ8−1によって生成されたレジスタコード
のレジスタコード記憶部5への書込みアドレスからなる
)を持ち回る(演算命令の実行の進行に付随させて情報
を移行して保持する)ためのレジスタである(持回り情
報レジスタ21−1、・・・、21−i、221、−、
22− j、 −、2n −1,−、2n −kの全て
によって持回り手段が実現されている)。
221、 ・=、 22 j、 −、2n −1,
−、2n−には、演算機能ブ07り11−1.11−2
.−、11−n中の各実行フェーズに対応して持回り情
報(デコーダ8−1によって生成されたレジスタコード
のレジスタコード記憶部5への書込みアドレスからなる
)を持ち回る(演算命令の実行の進行に付随させて情報
を移行して保持する)ためのレジスタである(持回り情
報レジスタ21−1、・・・、21−i、221、−、
22− j、 −、2n −1,−、2n −kの全て
によって持回り手段が実現されている)。
演算結果データレジスタ31−1.・・・、3m−1は
、演算機能ブロック11−1.11−2.−、11−n
からの演算結果のデータを保持するためのレジスタであ
る。
、演算機能ブロック11−1.11−2.−、11−n
からの演算結果のデータを保持するためのレジスタであ
る。
持回り情報レジスタ31.−2.・・・、3m−2は、
演算結果データレジスタ31−1.・・・、3m−1に
対応しており、演算機能ブロック11−1.11−2.
・・・11−nに対応する持回り情報レジスタ21−i
、22j、・・・、2n−k(最終の実行フェーズに係
る持回り情報レジスタ)からの持回り情報を保持するた
めのレジスタである(演算結果データレジスタ31−1
.・・・、3m−1と持回り情報レジスタ31−2・・
・、3m−2とは対をなしてレジスタ対31.・・・、
3mを構成している)。
演算結果データレジスタ31−1.・・・、3m−1に
対応しており、演算機能ブロック11−1.11−2.
・・・11−nに対応する持回り情報レジスタ21−i
、22j、・・・、2n−k(最終の実行フェーズに係
る持回り情報レジスタ)からの持回り情報を保持するた
めのレジスタである(演算結果データレジスタ31−1
.・・・、3m−1と持回り情報レジスタ31−2・・
・、3m−2とは対をなしてレジスタ対31.・・・、
3mを構成している)。
状態レジスタ31−3.・・・、3m−3は、演算結果
データレジスタ31−1.・・・、3n−1に対応して
おり、レジスタ対31.・・・、 3mの使用状態を表
示するためのフリップフロップであり、レジスタ対31
゜・・・、 3mが使用中のときには「1」がセットさ
れてレジスタ対31.・・・、 3mが未使用中のとき
には「O」がセットされる。
データレジスタ31−1.・・・、3n−1に対応して
おり、レジスタ対31.・・・、 3mの使用状態を表
示するためのフリップフロップであり、レジスタ対31
゜・・・、 3mが使用中のときには「1」がセットさ
れてレジスタ対31.・・・、 3mが未使用中のとき
には「O」がセットされる。
次に、このように構成された本実施例の中央処理装置の
動作について説明する。
動作について説明する。
演算命令の実行が前処理フェーズから実行フェーズに移
行する際に、デコーダ8−1は命令情報レジスタ1−h
の情報に基づいて当該演算命令の演算結果を書き込む演
算レジスタ群6内の演算レジスタのレジスタコードを生
成する。
行する際に、デコーダ8−1は命令情報レジスタ1−h
の情報に基づいて当該演算命令の演算結果を書き込む演
算レジスタ群6内の演算レジスタのレジスタコードを生
成する。
生成されたレジスタコードは、その時点におけるレジス
タ4−1の値(加算回路10−1により漸次加算されて
いる値)を書込みアドレスとするレジスタコード記憶部
5内の領域に書き込まれる。
タ4−1の値(加算回路10−1により漸次加算されて
いる値)を書込みアドレスとするレジスタコード記憶部
5内の領域に書き込まれる。
このときのレジスタコード記憶部5への書込みアドレス
が当該演算命令の持回り情報となり、この持回り情報が
当該演算命令により使用される演算機能ブロック1l−
a(1≦a≦n)に対応する持回り情報レジスタ2a−
1(最初の実行フェーズに係る持回り情報レジスタ)に
セットされて演算の実行とともに(実行フェーズの進行
にともなって)持ち回られる。
が当該演算命令の持回り情報となり、この持回り情報が
当該演算命令により使用される演算機能ブロック1l−
a(1≦a≦n)に対応する持回り情報レジスタ2a−
1(最初の実行フェーズに係る持回り情報レジスタ)に
セットされて演算の実行とともに(実行フェーズの進行
にともなって)持ち回られる。
当該演算命令の実行の終了後には、演算機能ブロック1
1−aから出力される演算結果とともに、当該演算命令
の持回り情報が持回り情報レジスタ2a−1<演算機能
ブロックliaの実行フェーズのフェーズ数は! (正
整数)とする)から出力される。そうすると、その持回
り情報は、比較回路?−(m+1)に入力されて次に演
算結果を書き込むべき演算レジスタ群6内の演算レジス
タのレジスタコードが記憶されているレジスタコード記
憶部5内の領域のアドレス(読出しアドレス)を示して
いるレジスタ4−2の内容と比較される。
1−aから出力される演算結果とともに、当該演算命令
の持回り情報が持回り情報レジスタ2a−1<演算機能
ブロックliaの実行フェーズのフェーズ数は! (正
整数)とする)から出力される。そうすると、その持回
り情報は、比較回路?−(m+1)に入力されて次に演
算結果を書き込むべき演算レジスタ群6内の演算レジス
タのレジスタコードが記憶されているレジスタコード記
憶部5内の領域のアドレス(読出しアドレス)を示して
いるレジスタ4−2の内容と比較される。
この比較において両者が一致する場合(先行する他の演
算命令の演算結果の演算レジスタ群6への書込みが終了
している場合)には、当該演算命令の演算結果は直ちに
演算レジスタ群6内の所定の演算レジスタ(持回り情報
により示される演算レジスタ)に書き込まれる。
算命令の演算結果の演算レジスタ群6への書込みが終了
している場合)には、当該演算命令の演算結果は直ちに
演算レジスタ群6内の所定の演算レジスタ(持回り情報
により示される演算レジスタ)に書き込まれる。
一方、上述の比較において両者が一致しない場合(先行
する他の演算命令の実行がまだ完了していない場合)に
は、当該演算命令の演算結果および持回り情報は未使用
状態のレジスタ対3b(1≦b≦m)に書き込まれ、状
態レジスタ3b−3が「l」にセットされる。
する他の演算命令の実行がまだ完了していない場合)に
は、当該演算命令の演算結果および持回り情報は未使用
状態のレジスタ対3b(1≦b≦m)に書き込まれ、状
態レジスタ3b−3が「l」にセットされる。
その後、先行する演算命令の演算結果の演算レジスタ群
6への書込みが終了し、レジスタ4−2の内容が加算回
路l0−2により更新され、比較回路7−bにおける比
較においてレジスタ4−2の内容と持回り情報レジスタ
3b−2に保持されている持回り情報とが一致した時点
で、演算結果データレジスタ3b−1の内容(演算結果
)が演算レジスタ群6内の所定の演算レジスタに書き込
まれる。
6への書込みが終了し、レジスタ4−2の内容が加算回
路l0−2により更新され、比較回路7−bにおける比
較においてレジスタ4−2の内容と持回り情報レジスタ
3b−2に保持されている持回り情報とが一致した時点
で、演算結果データレジスタ3b−1の内容(演算結果
)が演算レジスタ群6内の所定の演算レジスタに書き込
まれる。
以上のような動作により、演算命令の実行が終了する順
序にかかわらず演算レジスタ群6内の演算レジスタは常
にプログラム上の命令実行順序に基づいて更新されるこ
とになる。
序にかかわらず演算レジスタ群6内の演算レジスタは常
にプログラム上の命令実行順序に基づいて更新されるこ
とになる。
以上説明したように本発明は、複数の演算機能ブロック
が同時に動作し得るパイプライン制御方式が採用される
中央処理装置において、演算命令の実行終了の順序にか
かわらずプログラム上の命令実行順序に基づく演算レジ
スタの更新が保証されることにより、演算例外やハード
ウェアの故障が発生した場合の命令再試行を常に正確に
行うことができるという効果がある。
が同時に動作し得るパイプライン制御方式が採用される
中央処理装置において、演算命令の実行終了の順序にか
かわらずプログラム上の命令実行順序に基づく演算レジ
スタの更新が保証されることにより、演算例外やハード
ウェアの故障が発生した場合の命令再試行を常に正確に
行うことができるという効果がある。
また、このことにより、同一の演算レジスタに演算結果
を書き込む複数の演算命令の同時実行においてプログラ
ムの実行の正当性を保証するために後続する演算命令が
先行する演算命令の終了を待つという必要がなくなって
、情報処理資源としての演算機能ブロックの遊休時間を
少なくできるという効果がある。
を書き込む複数の演算命令の同時実行においてプログラ
ムの実行の正当性を保証するために後続する演算命令が
先行する演算命令の終了を待つという必要がなくなって
、情報処理資源としての演算機能ブロックの遊休時間を
少なくできるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図であ
る。 図において、 1−1.12.・・・、■−h ・命令1ff報レジスタ、 4−1.4−2・・・レジスタ、 5・・・・・・・・・レジスフコード記19部、6・・
・・・・・・・演算レジスタ群、7−1.・・・、7−
m、? −(m+1)・・・・・・・・・比較回路、 8−1.8−2・・・デコーダ、 9・・・・・・・・・セレクタ、 10−1.lo−2・ ・ 111、ll−2,・・・。 1、・・・、21−i。 2n−k ・ 311・ ・ ・ ・ ・・・、3m−1 ・・・、3m−2 ・・・、3+*−3 2n−1゜ 31、・・・。 3+、−1゜ 31−2゜ 31−3゜ ・加算回路、 1−n ・演算機能ブロック、 22−1.・・・、22− j、、、。 ・持回り情報レジスタ、 ・レジスタ対、 ・演算結果データレジスタ、 ・持回り情報レジスタ、 ・状態レジスタである。
る。 図において、 1−1.12.・・・、■−h ・命令1ff報レジスタ、 4−1.4−2・・・レジスタ、 5・・・・・・・・・レジスフコード記19部、6・・
・・・・・・・演算レジスタ群、7−1.・・・、7−
m、? −(m+1)・・・・・・・・・比較回路、 8−1.8−2・・・デコーダ、 9・・・・・・・・・セレクタ、 10−1.lo−2・ ・ 111、ll−2,・・・。 1、・・・、21−i。 2n−k ・ 311・ ・ ・ ・ ・・・、3m−1 ・・・、3m−2 ・・・、3+*−3 2n−1゜ 31、・・・。 3+、−1゜ 31−2゜ 31−3゜ ・加算回路、 1−n ・演算機能ブロック、 22−1.・・・、22− j、、、。 ・持回り情報レジスタ、 ・レジスタ対、 ・演算結果データレジスタ、 ・持回り情報レジスタ、 ・状態レジスタである。
Claims (1)
- 【特許請求の範囲】 各演算命令の演算結果を書き込む演算レジスタのレジス
タコードをプログラム上の命令実行順序に基づき記憶す
るレジスタコード記憶部と、このレジスタコード記憶部
へのレジスタコードの書込みアドレスを持回り情報とし
て演算機能ブロックにおける実行フェーズの進行ととも
に持ち回る持回り手段と、 演算機能ブロックからの演算命令の演算結果とその演算
結果に対応する前記持回り手段からの持回り情報とを保
持するレジスタ対と、 このレジスタ対に保持されている演算結果および演算機
能ブロックからの演算結果の中からプログラム上の命令
実行順序に則って演算レジスタに書き込むべき演算結果
を前記レジスタ対に保持されている持回り情報等に基づ
き選択する選択手段を有することを特徴とする中央処理
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17343688A JPH0222736A (ja) | 1988-07-12 | 1988-07-12 | 中央処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17343688A JPH0222736A (ja) | 1988-07-12 | 1988-07-12 | 中央処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0222736A true JPH0222736A (ja) | 1990-01-25 |
Family
ID=15960432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17343688A Pending JPH0222736A (ja) | 1988-07-12 | 1988-07-12 | 中央処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0222736A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647485B2 (en) | 1991-07-08 | 2003-11-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US7028161B2 (en) | 1991-07-08 | 2006-04-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
-
1988
- 1988-07-12 JP JP17343688A patent/JPH0222736A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647485B2 (en) | 1991-07-08 | 2003-11-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6915412B2 (en) | 1991-07-08 | 2005-07-05 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6934829B2 (en) | 1991-07-08 | 2005-08-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6986024B2 (en) | 1991-07-08 | 2006-01-10 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US7028161B2 (en) | 1991-07-08 | 2006-04-11 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US7555632B2 (en) | 1991-07-08 | 2009-06-30 | Seiko Epson Corporation | High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution |
US7941635B2 (en) | 1991-07-08 | 2011-05-10 | Seiko-Epson Corporation | High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0087978B1 (en) | Information processing unit | |
US4187539A (en) | Pipelined data processing system with centralized microprogram control | |
US4016545A (en) | Plural memory controller apparatus | |
EP0437044B1 (en) | Data processing system with instruction tag apparatus | |
JP2539199B2 (ja) | デジタルプロセッサ制御装置 | |
EP0205809B1 (en) | Vector processing | |
US5155817A (en) | Microprocessor | |
US5604912A (en) | System and method for assigning tags to instructions to control instruction execution | |
JPS61107434A (ja) | デ−タ処理装置 | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
JPH0353328A (ja) | レジスタ退避回復方法ならびに処理装置 | |
US5802359A (en) | Mapping processor state into a millicode addressable processor state register array | |
JP2653037B2 (ja) | データ処理システム | |
JPH10301778A (ja) | レジスタの名前変更を管理する方法および装置 | |
JPH03286332A (ja) | デジタルデータ処理装置 | |
JPH0222736A (ja) | 中央処理装置 | |
EP0374598B1 (en) | Control store addressing from multiple sources | |
US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
EP0257650B1 (en) | Microprocessor | |
JPH09138748A (ja) | 浮動小数点命令の早期完了方法および装置 | |
US20040123073A1 (en) | Data processing system having a cartesian controller | |
JPS61288230A (ja) | パイプライン制御方式 | |
JPH0377137A (ja) | 情報処理装置 | |
JP3526773B2 (ja) | マルチプロセッサ装置およびその制御方法 | |
JPH03263265A (ja) | ベクトル処理装置 |