JPS63216134A - 中央処理装置 - Google Patents

中央処理装置

Info

Publication number
JPS63216134A
JPS63216134A JP4889287A JP4889287A JPS63216134A JP S63216134 A JPS63216134 A JP S63216134A JP 4889287 A JP4889287 A JP 4889287A JP 4889287 A JP4889287 A JP 4889287A JP S63216134 A JPS63216134 A JP S63216134A
Authority
JP
Japan
Prior art keywords
register
instruction
memory
microprogram
operand
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
JP4889287A
Other languages
English (en)
Inventor
Hiroshi Suzuki
弘 鈴木
Kenichi Kurosawa
黒沢 憲一
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
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP4889287A priority Critical patent/JPS63216134A/ja
Publication of JPS63216134A publication Critical patent/JPS63216134A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデジタル計算機の中央処理装置に係わり、特に
マイクロプログラム制御を用いた計算機のための中央処
理装置に関する。
〔従来の技術〕
今日の計算機では、被演算数や演算結果を一時格納する
のに多くのレジスタが用いられている。
そしてこれらのレジスタへのアクセスは、例えばデジタ
ルバックスイレブン、アーキチクチャ−ハンドブック 
1979−80 、第84頁、テーブル5−1 (di
gital VAXII ARCHITECTURE 
t(ANDBOOK p84、 Table5−1 )
に記載のように、機械語命令によってレジスタ番号を直
接指定することにより行われる。
〔発明が解決しようとする問題点〕
上記従来技術では、機械語命令の一部をマイクロプログ
ラム化する場合に問題が発生する。これを以下に詳しく
述べる。
機械語命令をマイクロプログラム制御により実行するシ
ステムでは、マイクロプログラムは書き込み可能な制御
記憶(W CS : Writable Contro
lSrorageの略)に格納される。しかし、制御記
憶の容量にはコスト等の理由から制約があるので、機械
語命令の一部をマイクロプログラム化し、残りの部分を
他の機械語命令列で実現する。いわゆる命令の中からソ
フトウェアへリンクして、その命令の機能を実現するこ
とがある。例えばadd  R1,R2,R3 という命令の実現方法を考えてみる。ここで、R1,R
2,R3はレジスタを表し、acid命令はレジスタR
1とR2の内容を加算して、その結果をレジスタR3へ
代入する命令である。そしてこのadd命令は、整数で
も実数でも加算できる命令と仮定する。このadd命令
を実現するにはいろいろな方法があるが、当該計算機上
に実数の加算のみを行う fadd  R1,R2,R3 という命令が存在する場合には、これをWO2の容量削
減のために有効利用することが望ましい。
このために例えば、add命令を add  R1,R2,R3,Las とする方法が考えられる。この命令は、レジスタR1,
R2の内容がともに整数の時には、マイクロプログラム
にてその加算を実行し、その結果をレジスタR3へ格納
して処理をする。しかしレジスタR1,R2の内容が実
数の時には、レジスタR1の内容を第1引数、レジスタ
R2の内容を第2引数、レジスタR3のレジスタ番号を
第3引数として、スタックのトップアドレスを示すスタ
ックポインタSPをデグリメントしながらスタックへ書
き込み、それからLasで指定されたソフトウェア加算
プログラムの先頭アドレスへジャンプして処理を終了す
る。
ソフトウェア加算プログラムは、第1引数と第2引数と
を加算して、第3引数で示されたレジスタ番号をもつレ
ジスタへその結果を代入するのであるが、そのためには
Lasを先頭とする加算プログラムは次のようになる。
まずスタックに格納されている第1.第2及び第3引数
を、スタックポインタSPをインクリメントしながら、
それぞれRi、Rj、Rkレジスタヘロードする命令と
、実数の加算を行うfadd  Ri、Rj、RQとい
う命令と、加算結果RQの内容をRkレジスタにより間
接的に指示されたレジスタ(本例では、R3レジスタ)
へ転送するためのRkレジスタ内容による分岐処理とが
必要となる。ところがこの分岐処理では、レジスタRk
の内容が3(レジスタR3の番号)である時 move R1,R3 を実行するが、レジスタRkの内容となる可能性のある
レジスタ分だけmove命令を並べておき、レジスタR
kの内容に応じて対応する1IIove命令アドレスへ
の分岐を行う必要がある。このように、スタックという
メモリ内にレジスタ番号をデータとして持つ場合、その
メモリアドレスをオペランドとして持つ命令、つまり間
接的にレジスタを指定する命令がないために、複雑で効
率の悪い処理系となってしまうという問題があった。
本発°明の目的は、その命令のオペランド部で間接的に
レジスタを指定するような命令を実行できる中央処理装
置を提供することにある。
〔問題点を解決するための手段〕 上記の目的は1機械語命令中のメモリアドレスによって
間接的にレジスタを指示できる命令形式を定めるととも
に、この命令形式を確認するためのデコード手段と、こ
のデコード手段に接続され。
オペランド部が上記の間接的なレジスタ番号データかそ
の他のメモリデータのどちらを指示しているのかを識別
する識別手段と、レジスタ番号デー夕であった時にその
レジスタ番号データをレジスタファイルへ転送するため
の専用データラインとを設けることにより達成される。
〔作用〕
機械語命令中に示されているメモリアドレスを用いて間
接的にレジスタを指示することのできる命令形式をデコ
ードする手段は、機械語命令の命令コードに基づいて制
御記憶に格納されているマイクロプログラムの先頭アド
レスを発生する。このマイクロプログラムは次々と制御
記憶から読み出され、機械語命令を実行するハードウェ
ア動作を制御する。前述の識別手段もこのマイクロプロ
グラムの一部として組込まれており、命令のオペランド
部の示すメモリアドレスにレジスタ番号が入っているか
他のデータが入っているかの識別を命令に含まれるモー
ドをしらべて行い、前者の場合にはメモリから読み出し
たデータを専用データラインを介してレジスタファイル
へアクセスする。
このようにレジスタへのアクセスを機械語命令のオペラ
ンドで間接的に指定できるから、マイクロプログラムか
ら機械語命令へ処理を移したときのレジスタへのアクセ
スを効率よく行える。
〔実施例〕
以下、本発明の一実施例を図面によって詳細に説明する
。第2図は本発明において取り扱う命令の形式例である
。opは8ビツトからなるオペレーションコード部で命
令毎に固有の情報を有し、opdlは第1オペランド、
opd2は第2オペランドを指示する8ビツトの情報で
ある。また、dispは、32ビツトから成るディスプ
レースメントを示す情報である。
第3図は8ビツトの命令オペランドの詳細な構成を示し
たもので、O〜3ビット目がモード(mode) 、4
〜7ビツト目がレジスタ番号(rc4no)である。モ
ードが’o o o o’の時はレジスタ直接形式(r
egnoでレジスタRO−R15を直接指示)を意味し
、 ’0001’の時はレジスタ間接メモリ形式(メモ
リのデータを指示するが、そのデータを格納したメモリ
アドレスがregnoの指示するレジスタに入っている
)を意味し0010′の時は本発明の特徴とする場合で
あって、メモリ間接レジスタ形式を意味し、この時はr
egnoで指示されたメモリアドレスにアクセスするレ
ジスタ番号が入っている。
第4図は以上の第2図、第3図で説明した命令の具体例
としての raove R1,[(SP) ] を示している。0〜7ビツト目のマ2aマはオペレーシ
ョンコードであり、move命令を示す。8〜15ビツ
ト目のオペランド情報によって、第1オペランドはレジ
スタ直接形式でレジスタR1を指示しており、続いて1
6〜23ビツト目のオペランド情報により、第2オペラ
ンド情報はメモリ間接レジスタ形式、すなわち、スタッ
クポインタSPの指示するメモリ内容により指示された
レジスタを指示する形式であることを示している。
以上述べた機械語命令を実行する、本発明の中央処理装
置の一実施例を第1図によって説明する。
同図において、命令SOは主記憶装置1に置かれている
機械語命令m0VQであり、そのオペランドR1はレジ
スタ直接形式を示し、[(SP)]はスタックポインタ
SPによるメモリ間接レジスタ形式を示している。本装
置は主記憶1の他に命令レジスタ22機械語命令をデコ
ードして制御“記憶の対応するマイクロ命令群の先頭ア
ドレスを発生するデコード回路3.マイクロ命令を次々
と制御記憶から取り出してハードウェアの制御を行うマ
イクロ命令シーケンス回路5.制御記憶4マイクロプロ
グラム命令レジスタ6、レジスタファイル7、アドレス
計算ユニット8等の通常の回路の他に、レジスタの間接
指定を可能にするためのゲート9.セレクタ10及び専
用データライン11を備えている。
以上の構成の装置において、move命令50が命令レ
ジスタ2ヘセツトされたときの動作を説明する。まず命
令レジスタ2のオペレーションコードmoveをデコー
ダ3がとり込み、この命令を実行するマイクロプログラ
ムの先頭アドレスを生成してこれを制御記憶4へ与える
。そうするとシーケンス回路5の制御によりマイクロプ
ログラム命令群が次々とマイクロ命令レジスタ6へとり
出され、以下のように実行される。
第5図は命令50の第1オペランドの処理フローであっ
て、まずステップ60では、命令レジスタ2から第1オ
ペランド情報8ビツトを取り出し。
その下位4ビツト(レジスタ番号)を信号線21へ出力
する。次にステップ61で信号線22を経由してゲート
9を制御して、信号線21上の信号(本例ではレジスタ
R1)を選択してゲート9から出力する。ステップ62
では、レジスタの内容(本例では、Va l)をレジス
タファイル7から取り出してバス25へ出力し、ラッチ
回路12にラッチして次の第6図の処理SUBへ移る。
第6図の処理SUBは命令50の第2オペランドの処理
及?J’move実行のフローチャートであり。
まずステップ7oでは令命レジスタ2から第2オペラン
ド情報8ビツトを取り出し、下位4ビツトを信号線21
へ出力する。ステップ71では信号線22を経由してゲ
ート9を制御し信号線21上の信号(本例ではレジスタ
SP)を選択してゲート9から出力する。ステップ72
ではレジスタSPの内容(本例ではadr)をレジスタ
ファイル7から取り出してバス25へ出力し、信号線2
4を経由してバス26へ出力する。ステップ73ではバ
ス26上のデータ(adr)をメモリアドレスレジスタ
14にセットしてメモリ1を開き、メモリ1内のアドレ
スadrの内容をオペランドバッファレジスタ13に取
り出す。ステップ74では、第2オペランドの上位4ビ
ツトが。
’OO10か0001’を判定する。これは、第マ  
マ 2オペランドが本発明によるメモリ間接レジスタ形式で
あるか、従来技術によるレジスタ間接メモリ形式である
かを識別するものである。’0010’の時はメモリ間
接レジスタ形式であり、レジスタ13にセットされたデ
ータadrはアクセスすべきレジスタの番号であるので
、ステップ75で信号線23を経由してセレクタ10を
制御し、オペランドバッファレジスタ13の内容を信号
線11へ出力する。ステップ76では信号線22を経由
してゲート9を制御し、信号allを選択してゲート9
から出力する。これによって間接指定されたレジスタへ
のアクセスが行われるので、ステップ77ではラッチ1
2に保持していた内容、つまり第5図ステップ62でレ
ジスタR1から読み出してラッチしておいたデータをバ
ス26へ出力してアクセスしているレジスタへ書き込む
。これでmove命令の実行を終了する。またステップ
74で第2オペランドの上位4ビツトが’0001’で
あった時はレジスタ間接メモリ形式であって、ステップ
78で信号線23を経由してセレクタ10を制御し、オ
ペランドバッファレジスタ13の内容をバス26へ出力
する。この場合はバス26へ出力されたデータが転送さ
れるメモリアドレスであるから、ステップ79ではこれ
をメモリアドレスレジスタ14ヘセツトしてメモリ1を
開く。続いてステップ80でラッチ12に保持していた
内容(転送するデータ)をバス26へ出力し、書き込み
レジスタ15ヘセツトしてメモリ1へ書き込み、mov
e命令を終了する。
以上に述べた様に、本発明の一手段であるメモリ間接レ
ジスタ形式を確認するためのデコード手段は、第1図の
デコーダ3により実現し、メモリ内容が上記間接的なレ
ジスタ番号データかその他のメモリデータかの識別は、
命令内のオペランド内のモードによってセレクタ10.
ゲート9を制御することにより実現し、上記メモリ内容
のレジスタ番号データの転送は信号線11により実現し
ている。
なお、本実施例では本発明をわかりやすくするために、
命令形式を単純化し、第3図に示す形式として説明した
が、一般にはディスプレースメント付き、不付き等の場
合も同様である。
〔発明の効果〕
本発明によれば、メモリの内容によりレジスタを操作す
ることができるから、マイクロプログラムからソフトウ
ェアへリンクしたときの演算結果のレジスタへの格納を
効率よく実現できるという効果があり、また波及的効果
として、高級言語コンパイラシステムがメモリ間接レジ
スタ形式をサポートする事により、従来不可能であった
高級言語によるハードウェアレジスタ番号を意識したプ
ログラミングが可能になるという利点がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図〜第4図は
本発明で処理する命令形式の説明図、第5図及び第6図
は第1図の実施例におけるマイクロプログラム処理例を
示すフローチャートである。 2・・・命令レジスタ、3・・・デコーダ、4・・・r
H御記憶、5・・・マイクロ命令シーケンス回路、6・
・・マイクロ命令レジスタ、10・・・セレクタ、11
・・・信号線、13・・オペランドバッファレジスタ、
5o・・・機械語命令。

Claims (1)

    【特許請求の範囲】
  1. 1、そのオペランド部でアクセスすべきレジスタ又はメ
    モリのアドレスを間接指定できる間接アドレス命令を実
    行するための中央処理装置において、上記間接アドレス
    命令が入力されたときに該命令を実行するためのマイク
    ロプログラムを起動するデコーダと、上記間接アドレス
    命令内の間接アドレス指定を行つているオペランド部の
    指定するメモリアドレスの内容をアドレスとしてメモリ
    からデータを読み出し、該読み出したデータをオペラン
    ドバツフアへセツトするところの上記マイクロプログラ
    ムで構成されたデータ読み出し手段と、上記オペランド
    に含まれたモード情報を調べることによつて上記間接ア
    ドレス指定がレジスタアクセスかメモリアクセスかを判
    定するところの上記マイクロプログラムで構成された判
    定手段と、該手段により上記間接アドレス指定がレジス
    タアクセスと判定された時には上記オペランドバツフア
    にセツトされたデータをアクセスすべきレジスタの番号
    としてレジスタフアイルのアクセス手段へ転送し上記間
    接アドレス指定がメモリアクセスと判定された時には上
    記オペランドバツフアにセツトされたデータをアクセス
    すべきメモリアドレスとしてメモリアクセス手段へ転送
    するための選択手段とを有せしめたことを特徴とする中
    央処理装置。
JP4889287A 1987-03-05 1987-03-05 中央処理装置 Pending JPS63216134A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4889287A JPS63216134A (ja) 1987-03-05 1987-03-05 中央処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4889287A JPS63216134A (ja) 1987-03-05 1987-03-05 中央処理装置

Publications (1)

Publication Number Publication Date
JPS63216134A true JPS63216134A (ja) 1988-09-08

Family

ID=12815920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4889287A Pending JPS63216134A (ja) 1987-03-05 1987-03-05 中央処理装置

Country Status (1)

Country Link
JP (1) JPS63216134A (ja)

Similar Documents

Publication Publication Date Title
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
JPS6313215B2 (ja)
JPS6232503B2 (ja)
JPS62197830A (ja) デ−タ処理システム
US4314332A (en) Memory control system
JPS6212529B2 (ja)
JPS60136832A (ja) タグ付きデ−タを扱う論理型デ−タ処理装置
KR920006611B1 (ko) 정보처리장치
JPH0192856A (ja) アクセス及び欠陥論理信号を用いて主メモリユニットを保護する装置及び方法
AU626263B2 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JPS63216134A (ja) 中央処理装置
JPS6217773B2 (ja)
JPH02123442A (ja) 高速化メモリ
JPH0222413B2 (ja)
JPH0377137A (ja) 情報処理装置
JP2000112754A (ja) データ処理装置
JP3140028B2 (ja) サブルーチンの引数の受け渡し方式
JPH0585925B2 (ja)
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPS6394333A (ja) レジスタ間接アドレス形式命令を持つデイジタル計算機
JPH03168845A (ja) 命令実行制御方式
JPS6028014B2 (ja) マイクロプロセツサ
JPH0546389A (ja) 並列処理装置
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JPS5919287A (ja) メモリアクセス命令による入出力処理方式