JPS6049937B2 - マイクロプログラム制御のデ−タ処理装置 - Google Patents

マイクロプログラム制御のデ−タ処理装置

Info

Publication number
JPS6049937B2
JPS6049937B2 JP52122145A JP12214577A JPS6049937B2 JP S6049937 B2 JPS6049937 B2 JP S6049937B2 JP 52122145 A JP52122145 A JP 52122145A JP 12214577 A JP12214577 A JP 12214577A JP S6049937 B2 JPS6049937 B2 JP S6049937B2
Authority
JP
Japan
Prior art keywords
address
register
microinstruction
signal
microinstruction word
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
Application number
JP52122145A
Other languages
English (en)
Other versions
JPS5455336A (en
Inventor
一 高木
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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP52122145A priority Critical patent/JPS6049937B2/ja
Publication of JPS5455336A publication Critical patent/JPS5455336A/ja
Publication of JPS6049937B2 publication Critical patent/JPS6049937B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 本発明はマイクロプログラム制御のデータ処理装置に関
する。
従来、マイクロプログラム制御のデータ処理装置におい
て、演算結果に対するコンデイシヨンコードのセットは
、マイクロ命令語シーケンスにより演算前のオペランド
の符号、演算の種類、演算結果の符号および演算回路の
種々のステータス信号を判断し、コンデイシヨンコード
レジスタにセットするという手法を用いることが多い。
しかし、この手法はコンデイシヨンコードセツトまでの
ステップが逐次的になることが多く、必要以上の時間を
費やす。そこで、これらのステップを並列処理しようと
すると、マイクロ命令語の幅を広くしたり専用のハード
ウェアロジックを追加することになりコスト高になると
いう欠点があつた。
また演算回路については故障時の影響が大きいため、演
算回路の2重化やパリテイ予知方式等のチェック方式て
すばやく演算回路の故障を検出しようとする工夫がされ
ている。が、これらはそのままハードウェア量の増加と
なる。したがつて設計時にどこまでサポートできるかと
いうことを考慮しなければならずこのことが重要な問題
となつていた。また、次マイクロ命令語アドレスに対す
る修飾についても多重方向への分岐を可能にさせるため
に次マイクロ命令語レジスタの一部に種々の条件を入力
させる方法が考えられているが、これでは必要以上の分
岐アドレスが確保されてしまうためにマイクロ命令語シ
ーケンスに制限を生じさせたり、パフォーマンスを低下
させてしまうことがあつた。本発明の目的は、マイクロ
プログラム制御のデータ処理装置において、前記欠点を
解決し、最小限のハードウェア量の追加より、演算回路
より出力される状態信号と、演算の種類を示す信号とを
記憶素子のアドレス入力信号とすることにより、門記憶
素子から出力される信号をコンデイシヨンコードレジス
タヘの入力としたり、記憶素子から出力される信号を演
算回路のチェック信号として次マイクロ命令語レジスタ
の一部とする演算回路のチェックをも兼ねた高速のコン
デイシヨンコードセットの論理回路を持つデータ処理装
置を提供することにある。上記目的を達成するために本
発明によるマイクロプログラム制御のデータ処理装置は
、マイクロプログラム制御のデータ処理装置において、
マ2イクロ命令語により指定される演算の結果、演算回
路より出力される複数個の状態信号と、演算の種類を示
す信号とを記憶素子のアドレス入力とすることにより、
前記記憶素子に蓄積されている情報を読み出すための制
御回路と、前記記憶素子より出力される情報を前記マイ
クロ命令語の指定により、次マイクロ命令語アドレスレ
ジスタの一部に入力するための制御回路と、前記記憶素
子より出力される情報を前記マイクロ命令語より読み取
り可能なレジスタへ入力させるための制御回路とを持ち
、前記記憶素子には前記演算回路より出力される複数個
の状態信号と、演算の種類を示す信号とに対して一義的
に決定される値がセットされているように構成してある
上記構成によれば、本発明の目的は完全に達成される。
以下図面を参照して本発明をさらに詳しく説明する。
第1図は、本発明を説明するためのソフトウェア命令の
形式を示す図である。この命令形式はRS(Regis
terStOrage)形式でソフトウエアビジプルな
汎用レジスタと、主記憶中に存在するオペランドを演算
しコンデイシヨンコードをセットする形式である。図中
1−aはこの命令形式および演算オペレーションを示す
命令コード部である。図中1−bには汎用レジスタ番号
が示される。図中1−cは主記憶中のオペランドアドレ
スが示されるが、このアドレスはアドレス生成過程を通
し主記憶中の絶対アドレスとされる。本実施例において
は、RS形式の加算命令を考えたこの命令は汎用レジス
タRnの内容と主記憶中のオペランドSの内容を加算し
、コンデイシヨンコードをセットするとともに結果を汎
用レジスタRnに戻すというもの(ADD命令(R)+
(S)→(S))でコンデイシヨンコードは以下のよう
にセットされる。 (
2進数)結果=0のとき コンデイシヨンコードニ00
〃くO〃 〃 =01〃〉0 〃
〃 =10〃オーバーフローのとき 〃
=11第2図は本発明を説明するためのマイク
ロ命令語の形式である。
本実施例におけるマイクロ命令語の形式は、コマンドフ
ィールドの他に常に次アドレスを持つている。(a)は
形式1て次アドレス部NAがマイクロ命令語のアセンブ
ル時に決定される。(b)は形式2て次アドレス部のう
ちNN部のみが、マイクロ命令語のアセンブル時に決定
され、NN″部はマイクロ命令語のコマンドフィールド
の指定により、マイクロ命令語シーケンスの実行過程に
おいて決定されるという特徴を持つている。第3図は本
発明を構成するマイクロプログラム制御のデータ処理装
置のブロック図である。図において、10は主記憶中の
データ格納域であり、第1図におけるソフトウェア命令
形式のS部でアドレスされる。10aはアドレス生成過
程を経て絶対アドレス化された本実施例における加算命
令のオペランド格納域であり、マイクロ命令語によるコ
マンド101でデータバス50を通しAオペランドレジ
スタ20へ読みだされる。
11a,11b・・・11nはソフトウエアビジプルの
汎用レジスタであり、第1図におけるソフトウェア命令
形式のR部でアドレスされる。
11a,11b・・・11nの内容はマイクロ命令語に
よるコマンド102でデータバス51を通しBオペラン
ドレジスタ21へ読みだされ、またコマンド103でデ
ータバス51を通し11a,11b・・・11nに格納
される。
13はマイクロ命令制御部でマイクロ命令レジスタ27
のコマンドフィールド27aを解釈し種々のコマンド1
X×を各部に送りだす。
14は算術論理演算器で、2進加算、2進減算、論理和
、論理積、排他論理和の演算機能を持つ。
マイクロ命令語によるコマンド104で演算動作が指定
されるとAオペランドレジスタ20とBオペランド21
の内容を演算し、必要とあればマイクロ命令語によるコ
マンド107でデータバス52を通しBオペランドレジ
スタ21へ戻すとともに、演算結果に対する状態信号2
00,201,202,203を出力する。15は記憶
素子で構成されたコンデイシヨンコードセツトおよび演
算回路のチェックのための信号を出力する復号器である
本実施例においては、4ビット×25幅の記憶素子が使
用されており、アドレス入力は8ビットである。この8
ピン卜のアドレス入力線に対し演算器14からの出力信
号200,201,202,203および復号器16か
らの出力信号204,205、2進演算マスクフリップ
フロップ24からの出力信号206が入力され、これら
に対応して各アドレスに蓄積されている情報が出力信号
207,208,209,210として復号器15より
出力される。16は命令コードレジスタ22にセットさ
れているソフトウェア命令コードを解釈し、コンデイシ
ヨンコードセツトおよび演算回路のチェックのlために
演算命令のタイプを示す信号204および205を出力
させる復号器である。
24は2進演算オーバーフローマスクフリップフロップ
でソフトウェア命令により2進演算オーバーフロー例外
を発生させるか無視させるかの制J御のためにセットさ
れており、フリップフロップ24からの信号206は復
号器15の入力となる。
26はコンデイシヨンコードレジスタで、復号器15よ
り出力される信号209および210が2マイクロ命令
語によるコマンド105によリセットされる。
27はマイクロ命令語レジスタでコマンドフィールド部
277aと次アドレス部27bおよび27cを持つ。
コマンドフィールド部27aはデー7タパス53を通し
マイクロ命令語制御部13へ入力され種々のコマンド群
を発生させる。次アドレス部27bおよび27cは第2
図のマイクロ命令語の形式で示すように形式1では27
bおよび27cがNA(次アドレス部)となり、形式2
では.27bがNNに、27cはマイクロ命令語による
コマンド106で復号器15からの出力信号207,2
08が、NN″部に挿入される。12はマイクロ命令語
が格納されている制御記憶部でマイクロ命令語レジスタ
の次アドレス部27b,27cによりアドレスされ、そ
の内容はデータバス54を通し、次に実行されるマイク
ロ命令語としてマイクロ命令語レジスタ27に格納され
る。
第4図は第3図における記憶素子で構成された復号器1
5に蓄積される情報のパターン図である。
第4図において入力信号TYPEは第3図における20
4,205信号に相当し次の意味を持つ。TYPE=0
0・・・2進加算、減算、乗算、除算、口
ードストア命令のときTYPE=01・・・2進化較
命令のときTYPE=10・・・論理命令のとき 入力信号BMは第3図における206信号に相当し、2
06信号が゜1゛で演算結果がオーバーフローすれば2
進オーバーフロー例外を発生させるが、゜0゛であれば
例外は無視されるのに用いられる。
入力信?0,0VF,SIGN,NZは第3図における
演算器14からの出力信号203,202,201,2
00に相当し、それぞれ次の意味を持つ。
CO・・演算器14からのキャリーアウト信号0VF・
・・・演算器14からのオーバフロー信号 (演
算結果が2進補数形式て表現で きなくなつた時
発生)SIGN・・・演算結果の符号信号(゜1゛のと
き負符号)NZ・・演算結果のO検出信号(1のとき演
算結果はOてない)第4図において出力信号L
CおよびCCは第3図における復号器15からの出力信
号207,208,209,210に相当し、それぞれ
次の意味を持つ。
JCは2ビットで構成されJC=00・・・・・・演算
器1牡復号器16、フリツ プフロツプ24
からの出力信号 により正常なコンデイシ
ヨンコ ードがセットできたとき。
JC=01・・・・・演算器1牡復号器16、フリツ
プフロツプ2からの出力信号に
より2進演算オーバフロー例外 が検
出されたとき。
JC=11・・・・演算器14からの出力信号が異常
であることが検出されたとき、
あるいは記憶素子で構成されて いる
復号器15の入力回路が故 障したとき。
CCは2ビットで構成されTYPE=00の命令では CC=00のとき 結果=0 〃=01〃 〃〈0 〃=10〃 〃〉0 〃=11〃 〃オーバーフロTYPE=0
1の命令では CC=00のとき (R)=(S) 〃=01〃 (R)く(S) 〃=10!! (R)〉(S)TYPE=1
0の命令では CC=00のとき 結果=0 〃=01〃 〃半0 第4図に示されるパターン情報は演算のタイプに応じ4
−1,4−2,・・・4−8のブロックに分けることが
できる。
4−1,4−2ブロックは2進加算、減算、乗算、除算
、ロード、ストア命令に対して、4−3,4−4ブロッ
クは2進比較命令に対して、4−5,4−6ブロックは
論理命令に対してのコンデイシヨンコード信号CCおよ
び演算回路のチェック信号JCが出力されるように作成
されている。
ここでいくつかのパターンを抽出して説明する。
パターンA:TYPEOOの命令では演算結果の状
態信号としてCO=0,0VF= 0,S
IGN=0,NZ=0が出力さ れるのは正常
なのでJC=00であ る。
またNZ=0であるので結果 =0となりCC
=00がセットされ る。パターンB:パター
ンAと同様出力信号は正常 であるのてJC=
00であるがNZ= 1,SIGN=0である
ので結果〉 0となりCC=10がセットされ
る。
パターンC:本演算器からの状態信号として N
Z=0すなわち結果が0のとき 符号信号SI
GNが゜1゛となるこ とはない。
これは演算器が異常な 動作を起こしたと思わ
れるので、 JC=11となるパターンD:本演
算器からの状態信号として SIGN=0即ち結
果が正でキャリ ーアウトがなく(CO=0)
、オー バフロー(0VF=1)が出力さ
れることはない。
これは演算器が 異常な動作を起こしたと思わ
れる のでJC=11となる。パターンE:本
演算器からの状態信号としてな 正常な値が出
力されているが、オ ーパーフロー(0VF=
1)が検 出されているのでCC=11がセツ
トされる。
さらにBM(2進演算 オーバーフローマスク
フリツプフ 口ノブ)を調べるとOであるので
2進演算オーバーフローを無視す る
ためにJC=00が出力される。
パターンF:パターンEと同様の状態信号が出
力されているが、BM=1である ので2進
演算オーバーフロー例外 の処理を行なわせる
ためにJC= 01が出力される。このように第
4図は、演算タイプを示す信号と演算器からの出力信号
の組合せで、演算器から出力される状態信号の正当性を
判断し、コンデイシヨンコードをセットするとともに演
算回路および記憶素子で構成された復号器のチェック信
号を出力するもので、パターンC,Dやブロック4−7
,4−8で示されるような入力信号が入力された時は演
算回路および復号器の異常としてJC=11を出力する
ものである。
第5図は本発明を説明するためのマイクロ命令語シーケ
ンスの流れ図である。
各ボックス5−1〜5−7はマイクロ命令語シーケンス
の実行ステージを示すものでマイクロ命令語の1〜数ス
テップより構成される。
以下この動作を第1図から第4図を参照しながら説明す
る。アドレスAOOOから始まるステージ5−1は次に
実行するソフトウェア命令の取り出しおよびオペランド
のアドレス生成等が行なわれる。第1図に示されるRS
形式のADD命令を取り出すと、命令のSフィールドか
らオペランドの絶対アドレスが計算され、Rフィールド
からは演算対象となる汎用レジスタ11xを読み出すた
めの準備がされる。このステージの最後のステップでは
次のアドレスとしてBOOOが指定される。アドレスB
OOOから始まるステージ5−2では、ステージ5−1
で準備されたアドレスでオペランド格納域10aからマ
イクロ命令語によるコマンド101でデータをAオペラ
ンドレジスタ20へ読みだし、次マイクロ命令語アドレ
スとしてBOOlを指定する。アドレスBOOlから始
まるステージ5−3ではマイクロ命令語によるコマンド
102で演算対象となる汎用レジスタ11xの内容をB
オペランドレジスタ21へ読み出し、次マイクロ命令語
アドレスとしてBOO2を指定する。アドレスBOO2
から始まるステージ5−4ではAオペランドレジスタ2
0の内容とBオペランドレジスタ21の内容を加算し、
Bオペランドレジスタ21へ格納するという動作がマイ
クロ命令語によるコマンド104および107で実行さ
れる。この演算の終了時には演算結果がBオペランドレ
ジスタ21へ格納されるとともに演算結果に対する演算
器14からの状態信号200,201,202,203
が記憶素子で構成された復号器15の入力となり、既に
入力されている信号204,205,206との組合せ
で復号器15からの出力信号207,208,209,
210が出力されることになる。また次マイクロ命令語
アドレスBOO3が指定される。アドレスBOO3から
始まるステージ5−5は、Bオペランドレジスタ21に
格納された演算結果をマイクロ命令語によるコマンド1
03で目的の汎用レジスタ11xへ戻すとともに復号器
15からの出力信号209,210によりコンデイシヨ
ンコードレジスタ26を更新する動作をコマンド105
で行い、また次マイクロ命令語アドレスをコマンド10
6により復号器15からの出力信号207,208がマ
イクロ命令語レジスタ27の27c部にセットするよう
指定する。
このとき27b部にはAOOが指定されており27cの
状態により次マイクロ命令語のアドレスはAO幡地、A
OOl番地、AOO3番地が指定されることになる。第
4図で説明したように演算結果により正常なコンデイシ
ヨンコードがセットされたときは本実施例におけるソフ
トウェア命令の処理は終了し次の命令取出しのためにA
OOO番地にジャンプする。また2進演算オーバフロー
例外が検出されたときはAOOl番地から始まるルーチ
ンで機械異常が検出されたときAOO3番地から始まる
ルーチンで各々の処理が開始されることになる。以上詳
しく説明したように本発明はマイクロプログラム制御の
データ処理装置において、演算の結果、演算器より出力
される状態信号と演算のタイプを示す信号を記憶素子で
構成された復号器に入力し、復号器より出力される信号
を制御する種々の目的に使用するという最小限ハードウ
ェアの追加で演算回路のチェック、次マイクロ命令語ア
ドレスの修飾および高速のコンデイシヨンコードセツト
が可能になる。
したがつて、従来の方法を用いると、次マイクロ命令語
アドレスに必要以上のビット中の修飾アドレスを入力す
ることになりマイクロ命令語シーケンスのパフォーマン
スは低下するし、ハーウエア量が増加するが本発明によ
れば、そのような欠点は除去される。
また従来の方式では演算回路の検査のため、回路の2重
化、パリテイ予知方式等によるハードウェア量の増加で
著しくコスト高になるが、本発明は復号器より出力され
る信号を制御する最小限ハードウェアの追加で、演算回
路をチェックできる。さらにマイクロ命令語シーケンス
によりコンデイシヨンコードをセットしようとすると著
しくパフォーマンスが低下するし、そのために専用のハ
ードウェアを追加するとコスト高となるが本発明によれ
ば、上述と同様最小限のハードウェアで、コンデイシヨ
ンコードをセットしているので、コスト高にはならない
【図面の簡単な説明】
第1図は本発明を説明するためのソフトウェア命令の形
式および機能、を説明する説明図、第2図は本発明を説
明するためのマイクロ命令語の形式、を説明するための
説明図、第3図は本発明を構成するデータ処理装置のブ
ロック図、第4図は″本発明を構成する記憶素子て構成
された復号器の、記憶素子に蓄積される情報のパターン
図、第5図は本発明を説明するためのマイクロ命令語シ
ーケンスの流れ図である。 10・・・データ領域用主記憶部、10a・・・オペラ
ンドフイールド、11a−n・・・汎用レジスタバンク
a−Nll2・・・マイクロ命令語用制御記憶部、13
・・・マイクロ命令語制御部、14・・・演算器、15
,16・・・復号器、20・・・Aオペランドレジスタ
、21・・・Bオペランドレジスタ、22・・・命令レ
ノジスタ、24・・・2進演算オーバフローマスクフリ
ップフロップ、26・・・コンデイシヨンコードレジス
タ、27・・・マイクロ命令語レジスタ、27a・・・
マイクロ命令語レジスタのコマンドフィールド部、27
b,27c・・・マイクロ命令語レジスタの次アドレス
部、50,51,52,53,54・・・データバス、
100,101,102,103,104,105,1
06,107・・・マイクロ命令語によるコマンド、2
00,201,202,203,204,205,20
6,207,208,209,210・・・制御信号。

Claims (1)

    【特許請求の範囲】
  1. 1 マイクロプログラム制御のデータ処理装置において
    、マイクロ命令語により指定される演算の結果、演算回
    路より出力される複数個の状態信号と演算の種類を示す
    信号とを記憶素子のアドレス入力とすることにより前記
    記憶素子に蓄積されている情報を読み出すための制御回
    路と前記記憶素子より出力される情報を前記マイクロ命
    令語の指定により次マイクロ命令アドレスレジスターの
    一部に入力するための制御回路と、前記記憶素子より出
    力される情報を前記マイクロ命令語により読取り可能な
    レジスタへ入力させるための制御回路とを持ち、前記記
    憶素子には前記演算回路より出力される複数個の状態信
    号と、演算の種類を示す信号とに対して一義的に決定さ
    れる値がセットされていることを特徴とするマイクロプ
    ログラム制御のデータ処理装置。
JP52122145A 1977-10-12 1977-10-12 マイクロプログラム制御のデ−タ処理装置 Expired JPS6049937B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52122145A JPS6049937B2 (ja) 1977-10-12 1977-10-12 マイクロプログラム制御のデ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52122145A JPS6049937B2 (ja) 1977-10-12 1977-10-12 マイクロプログラム制御のデ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS5455336A JPS5455336A (en) 1979-05-02
JPS6049937B2 true JPS6049937B2 (ja) 1985-11-06

Family

ID=14828714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52122145A Expired JPS6049937B2 (ja) 1977-10-12 1977-10-12 マイクロプログラム制御のデ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS6049937B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783851A (en) * 1980-11-14 1982-05-25 Hitachi Ltd Condition code generating system
JPS5851352A (ja) * 1981-09-24 1983-03-26 Hitachi Ltd デ−タ処理装置
JPS58217045A (ja) * 1982-06-11 1983-12-16 Nec Corp 符号桁変換回路
JPS5938853A (ja) * 1982-08-27 1984-03-02 Nec Corp 情報処理装置
EP0168406B1 (en) * 1984-01-03 1991-04-24 Motorola, Inc. Floating point condition code generation

Also Published As

Publication number Publication date
JPS5455336A (en) 1979-05-02

Similar Documents

Publication Publication Date Title
US4205370A (en) Trace method and apparatus for use in a data processing system
US3970999A (en) Memory expansion apparatus
US3533082A (en) Instruction retry apparatus including means for restoring the original contents of altered source operands
US4179737A (en) Means and methods for providing greater speed and flexibility of microinstruction sequencing
US3222649A (en) Digital computer with indirect addressing
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
JPS5960652A (ja) デ−タ処理装置
US4199810A (en) Radiation hardened register file
US3510847A (en) Address manipulation circuitry for a digital computer
US6615339B1 (en) VLIW processor accepting branching to any instruction in an instruction word set to be executed consecutively
US5673425A (en) System for automatic generating instruction string to verify pipeline operations of a processor by inputting specification information having time for the processor to access hardware resources
JPS6220578B2 (ja)
Guffin Microdiagnostics for the standard computer MLP-900 processor
JPS6049937B2 (ja) マイクロプログラム制御のデ−タ処理装置
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
US4266272A (en) Transient microcode block check word generation control circuitry
JPH034936B2 (ja)
CN103282876B (zh) 数据元素的条件选择
JPS61500992A (ja) コンピュ−タシステムにおける、またはそれに関する改良
JP6519530B2 (ja) 検証装置、検証プログラム、及び、検証方法
CN118069224B (zh) 地址生成方法、装置、计算机设备和存储介质
JP2004118518A (ja) シミュレータ、そのシミュレータをコンピュータ読み取り可能に記録した記録媒体
Wright Using EventB to create a virtual machine instruction set architecture
JP2824484B2 (ja) パイプライン処理計算機
JP3114909B2 (ja) プログラマブルコントローラの演算エラー処理方法