JPH034326A - 命令デコード方式 - Google Patents

命令デコード方式

Info

Publication number
JPH034326A
JPH034326A JP13887889A JP13887889A JPH034326A JP H034326 A JPH034326 A JP H034326A JP 13887889 A JP13887889 A JP 13887889A JP 13887889 A JP13887889 A JP 13887889A JP H034326 A JPH034326 A JP H034326A
Authority
JP
Japan
Prior art keywords
instruction
internal
register
decoding
instructions
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
JP13887889A
Other languages
English (en)
Inventor
Tsunenori Hasebe
長谷部 恒規
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP13887889A priority Critical patent/JPH034326A/ja
Publication of JPH034326A publication Critical patent/JPH034326A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、コンピュータの中央処理装置、コントロー
ラのシーケンス制御回路等において実行される命令、特
に実行に複数サイクルを要する命令を扱う場合に好適な
命令デコード方式に関する。
(従来の技術) 一般に、中央処理装置(以下、CPUと称する)の命令
デコード回路におけるデコード処理の方式として、マイ
クロプログラム処理により複数ステップに分けて実行す
る第1の方式と、全て論理配線のみでデコードする第2
の方式とが知られている。この発明は、第2の方式に関
するものである。この第2の方式、即ち全て布線論理(
ワイヤードロジック)のみでデコードする方式では、1
つの命令を1サイクル(1クロツク)でデコードし実行
できるように、CPUを構成しなければならない。その
ため第2の方式を適用するCPUでは、実行に2サイク
ル以上必要となるような命令は定義できないか、順序回
路によるシーケンサ等を設け、実行に2サイクル以上を
要する命令について、その制御信号を順序通り生成する
必要があった。
さて、実行に2サイクル以上を要する命令は、乗算、除
算、更には主メモリのロード、ストアなどで必要となる
場合がある。したがって、上記第2の方式を適用するC
PUでこの種の命令が定義できないと、柔軟性に欠けて
しまう。一方、シーケンサを設けた場合には、マイクロ
プログラム方式と同様にシーケンスコントロール用のR
OM(リードオンリメモリ)やPLA (プログラマブ
ルロジックアレイ)等が必要となり、読出し速度の遅さ
により、クロック周波数を高くできず、性能向上が図れ
ないという問題がある。
(発明が解決しようとする課題) 上記したように従来のワイヤードロジックを用いて命令
デコードを行う方式では、実行に2サイクル以上を要す
る命令に対処するためには、速度の遅いシーケンサやシ
ーケンスコントロール用のROM等の組合わせ回路が必
要となるので、クロック周波数を高くすることがきず、
性能向上が図れないという問題があった。
この発明は上記事情に鑑みてなされたものでその目的は
、1回の実行に複数サイクルを必要とする命令にも単純
なワイヤードロジックのみで対処できる命令デコード方
式を提供することにある。
[発明の構成] (課題を解決するための手段) この発明は、実行すべき命令をワイヤードロジックによ
ってデコードして各部を制御するための制御信号を生成
する命令デコード手段と、この命令デコード手段のデコ
ード対象となる命令のうち、実行に複数サイクルを要す
る命令を検出し、同命令に代えて次サイクルの実行に用
いられる内部命令を生成する内部命令生成手段と、この
内部命令生成手段によって生成された内部命令と外部か
らフェッチした外部命令とを切替えて上記命令デコード
手段のデコード対象となる命令を出力する命令切替え手
段とを設けたことを特徴とするものである。またこの発
明は、上記内部命令の実行中に、フェッチ済みの外部命
令を一時保持する命令バッファ手段を上記命令切替え手
段の前段に設けたことを特徴とする。
(作用) 上記の構成によれば、まず外部(例えば主メモリ)から
フェッチされた外部命令が、命令切替え手段の切替え動
作によって次に実行すべき命令として選択され、命令デ
コード手段のデコード処理に供される。この結果、命令
デコード手段からは、各部を制御するための制御信号が
出力される。
この制御信号は、デコード処理に供された外部命令が実
行に複数サイクルを必要とする場合であれば、最初のサ
イクルの実行に用いられるものであり、その出力の際に
は、上記外部命令に代えて次のサイクルの実行に用いら
れる内部命令が、内部命令生成手段によって生成される
。この内部命令は、命令切替え手段によって選択されて
命令デコード手段によるデコード処理に供される。この
結果、上記外部命令のデコード時と同様に、命令デコー
ド手段から制御信号が出力される。この制御信号は、デ
コード処理に供された内部命令が実行に複数サイクルを
必要とする場合であれば、その最初のサイクルの実行に
用いられるものであり、その出力の際には、上記内部命
令に代えて次のサイクルの実行に用いられる別の内部命
令が、内部命令生成手段によって生成され、上記と同様
の処理が行われる。やがて、最後の内部命令のデコード
処理が行われると、命令切替え手段によって再び外部命
令に切替えられる。上記の内部命令を対象とするデコー
ド処理の期間中は、フェッチ済みの外部命令は命令バッ
ファ手段に一時保持され、最後の外部命令のデコード処
理が行われると、命令バッファ手段に保持されていた外
部命令が次のデコード対象となる。
このように、本発明によれば、実行に複数サイクルを要
する外部命令を論理的に複数の命令に分解して扱う構成
とすることで、実際の命令のデコード、実行を1サイク
ル(1クロツク)単位で単純に行うことが可能となる。
(実施例) 以下、この発明の一実施例を、CICl5C(Co!e
x In5truction Set Compute
r)型CPUに実施した場合について図面を参照して説
明する。
第1図はCPUの構成を示すブロック図である。同図に
おいて、11は実行すべき命令を保持する命令レジスタ
、12は命令レジスタ11に保持されている命令をデコ
ードしてCPU内各部を個別に制御するための各種の制
御信号を生成する命令デコーダである。この実施例にお
いて、命令デコーダ12はデコード処理の高速化のため
にワイヤードロジックで構成されている。13は命令レ
ジスタ11に保持されている命令をデコードして、同命
令が実行に2クロツク(2クロツクサイクル)以上を要
するか否かを調べ、2クロツク以上要する場合には、次
のクロックサイクルで同命令に代えて用いられる命令(
以下、内部命令と称する)を生成する内部命令生成部で
ある。内部命令生成部13は、後述するマルチプレクサ
18に対する切替え制御機能を有する。
14は命令デコーダ12等によって生成される各種制御
信号を1クロツクの間保持する制御信号レジスタ、15
は演算実行部である。演算実行部15は、例えばレジス
タファイル、ALU (算術論理演算器)、バレルシフ
タ等で構成される。16は命令ポインタを持ち、分岐ア
ドレス制御、順次アクセス制御等を行う命令フェッチ制
御部、17は主メモリ(図示せず)からの命令(以下、
外部命令と称する)のフェッチ、更にはデータのロード
/ストア等、CPU内部と外部とのインタフェースを制
御するバスアクセス制御部、1Bはバスである。
19は命令フェッチ制御部1Bの制御によってフェッチ
される外部命令と内部命令生成部13によって生成され
る内部命令とを内部命令生成部13の制御に応じて切替
えて命令レジスタ11に出力するマルチプレクサ、20
は命令バッファ(命令プリフェッチバッファ)である。
この命令バッファ20は、マルチプレクサ19によって
内部命令に切替えられているときに、命令フェッチ制御
部1Bの制御によって既にフェッチされている外部命令
を一時記憶するのに用いられる。
次に、第1図の構成の動作を、主としてロード命令LD
のデコード処理を例に、第2図のタイミングチャートお
よび第3図(a)、(b)の命令フォーマットを参照し
て説明する。
まず、命令フェッチ制御部teの制御のもとで、サイク
ルTl  (Tiは1クロツクサイクルを表わす)にお
いて外部命令であるロード命令LD(It)が主メモリ
からバス18を介してフェッチされ、命令バッファ20
、マルチプレクサ19を介して命令レジスタ11にロー
ドされたものとする。このロード命令LD(It)は、
第3図(a)のフォーマットに示すように、命令コード
(オペレーションコード)OPI、デスティネーション
レジスタRdを指定する情報(Rd指定情報)、ソース
レジスタRsを指定する情報(Rs指定情報)およびデ
ィスプレイスメントDISPを有しており、アドレス生
成に1クロツク、データ読出しに1クロツクの計2クロ
ックを必要とするものとす、る。
命令デコーダ12および内部命令生成部13は、サイク
ルT2において命令レジスタ11の内容、即ちロード命
令LDをデコードする。まず命令デコーダ12は、oP
lを判別してロード命令LDのアドレス生成のみに注目
し、バスアクセス制御部17が(Rs ) +DISP
のアドレス計算(即ちソースレジスタの内容とディスプ
レイスメントとの加算)を行ってRd  (デスティネ
ーションレジスタ)にロードすべきデータの読出しアド
レスを1クロツクで生成するのに必要な制御信号を出力
する。同時に内部命令生成部13は、OPIのデコード
により、ロード命令LDが実行に2クロツク以上を要す
ることを判別し、更にロード命令LD中のRd指定情報
をも°とに、次のクロックサイクルで主メモリからデー
タを読出してRdにロードするための内部命令LD2を
生成する。この内部命令LD2は、第3図(b)のフォ
ーマットに示すように、主メモリからデータを読出して
Rdにロードすることを指定する命令コード(OF2)
およびRd指定情報を有している。
内部命令生成部13は内部命令LD2を生成すると、マ
ルチプレクサ19を制御して命令バッファ20から自身
(内部命令生成部13)側に切替え、この内部命令LD
2をマルチプレクサ19から命令レジスタ11に選択出
力させる。この結果、命令LD2はサイクルT2の終了
時に命令レジスタ11にロードされる。同時に命令デコ
ーダ12による命令LDに対するデコード結果であるア
ドレス計算(アドレス生成)用の制御信号が制御信号レ
ジスタ14にロードされる。このとき、ロード命令LD
(外部命令If)の次の外部命令I2がフェッチされて
いるものとすると、同命令12は命令バッファ20に一
時記憶される。本実施例において、命令バッファ20に
対する制御は、内部命令生成部13によって行われる。
サイクルT3では、制御信号レジスタ14にローFされ
ている(命令LDに対応するアドレス計算用の)制御信
号に応じて、バスアクセス制御部17によるアドレス計
算が実行される。またサイクルT3では、命令デコーダ
12および内部命令生成部13は命令レジスタ11にロ
ードされている命令LD2をデコードする。まず命令デ
コーダ12は、OF2を判別して、主メモリからRdに
データをロードするのに必要な制御信号を生成する。一
方、内部命令生成部13は、OF2のデコードにより、
命令LD2が1クロツクで実行できることを判別すると
、内部命令の生成は行わず、マルチプレクサ19を制御
して命令バッファ2o側に切替える。これにより、命令
バッファ20に記憶されていた外部命令I2がマルチプ
レクサ19によって命令レジスタ11に選択出力される
。この結果、命令I2はサイクルT3の終了時に命令レ
ジスタ11にロードされる。このとき、外部命令I2の
次の外部命令I3がフェッチされているものとすると、
同命令I3は命令バッファ20に一時記憶される。また
、命令デコーダ12による命令LD2に対するデコード
結果である主メモリからRdへのデータロード用の制御
信号が、T3の終了時に制御信号レジスタ14にロード
される。
サイクルT4では、バスアクセス制御部17は、制御信
号レジスタ14にロードされている(命令LD2に対応
するメモリからRdへのデータロード用の)制御信号に
応じ、先のサイクルT3で計算しておいた読出しアドレ
スをバス18(のアドレスライン)上に出力して主メモ
リからのデータ読出しを行う。このデータ読出しで主メ
モリから読出されたデータは、バス18(データライン
)を介してバスアクセス制御部17に入力され、しかる
後に演算実行部15内のRdにストアされる。このとき
、命令デコーダ12は命令レジスタ11にロードされて
いる命令I2をデコードする。命令デコーダ12のデコ
ード結果である制御信号はサイクルT4の終了時に制御
信号レジスタI4にロードされる。
同時に、命令バッファ20に記憶されていた命令I3が
マルチプレクサ19を介して命令レジスタ11にロード
される。サイクルT4では、上記のように主メモリから
Rdへのデータロードが行われるため、命令I3の次の
命令のフェッチは発生しない。したがって、サイクルT
4の終了時点で命令バッファ20は空となる。
なお、前記実施例では、crsc型CPUに実施した場
合について説明したが、本発明はRI S C(Red
uced In5truction Set Comp
uter)型CPU、史にはプリンタ制御回路、CRT
制御回路等にも応用可能である。また、前記実施例では
、命令バッファ20を設け、マルチプレクサ19が内部
命令生成部13側に切替えられている際にフェッチされ
た外部命令が消失しないようにしているが、後続の命令
がフェッチされないように内部命令生成部13が命令フ
ェッチ制御部16を制御することも可能である。更に、
前記実施例では、内部命令は内部命令生成部13自身で
生成するものとして説明したが、外部からフェッチする
構成とすることも可能であり、この場合には一層細かい
制御が可能となる。また、内部命令生成部13内に条件
判定部を設けることにより、簡単なループ制御も可能と
なる。
[発明の効果] 以上詳述したようにこの発明によれば、実行に複数サイ
クルを要する外部命令を論理的に複数の命令に分解して
扱う構成としたので、実際の命令のデコード、実行を1
サイクル(1クロツク)単位で単純に行うことが可能と
なり、1回の実行に複数サイクルを必要とする命令にも
単純なワイヤードロジックのみによるデコード処理で対
処できる。この結果、速度の遅いシーケンサやシーケン
スコントロール用のROM等の組合わせ回路が不要とな
るので、サイクルタイムを短くすることが可能となり、
性能向上が図れる。しかも、2サイクル以降で使用され
る内部命令は、1ステツプのサブルーチンのように複数
の外部命令処理に共通に利用できるため、全体のロジッ
ク量を減らすことができ、LSI化する場合にはチップ
サイズを小さくできる。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すブロック構成図、第
2図は動作を説明するためのタイミングチャート、第3
図は上記実施例で用いられる命令のフォーマットを示す
図である。 11・・・命令レジスタ、12・・・命令デコーダ、1
3・・・内部命令生成部、14・・・制御信号レジスタ
、15・・・演算実行部、1G・・・命令フェッチ制御
部、17・・バスアクセス制御部、18・・・バス、■
9・・・マルチプレクサ、20・・・命令バッファ。

Claims (2)

    【特許請求の範囲】
  1. (1)実行すべき命令をワイヤードロジックによってデ
    コードして各部を制御するための制御信号を生成する命
    令デコード手段と、 この命令デコード手段のデコード対象となる命令のうち
    、実行に複数サイクルを要する命令を検出し、同命令に
    代えて次サイクルの実行に用いられる内部命令を生成す
    る内部命令生成手段と、この内部命令生成手段によって
    生成された内部命令と外部からフェッチした外部命令と
    を切替えて上記命令デコード手段のデコード対象となる
    上記実行すべき命令を出力する命令切替え手段と、を具
    備し、上記外部命令が、実行に複数サイクルを要する命
    令の場合には、第2サイクル以降の実行に、上記内部命
    令生成手段によって生成される上記内部命令を用いるよ
    うにしたことを特徴とする命令デコード方式。
  2. (2)上記内部命令の実行中に、フェッチ済みの上記外
    部命令を一時保持する命令バッファ手段を上記命令切替
    え手段の前段に備えたことを特徴とする第1請求項記載
    の命令デコード方式。
JP13887889A 1989-05-31 1989-05-31 命令デコード方式 Pending JPH034326A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13887889A JPH034326A (ja) 1989-05-31 1989-05-31 命令デコード方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13887889A JPH034326A (ja) 1989-05-31 1989-05-31 命令デコード方式

Publications (1)

Publication Number Publication Date
JPH034326A true JPH034326A (ja) 1991-01-10

Family

ID=15232226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13887889A Pending JPH034326A (ja) 1989-05-31 1989-05-31 命令デコード方式

Country Status (1)

Country Link
JP (1) JPH034326A (ja)

Similar Documents

Publication Publication Date Title
EP0223150B1 (en) Information processing apparatus
US5890009A (en) VLIW architecture and method for expanding a parcel
JPH03286332A (ja) デジタルデータ処理装置
US4430708A (en) Digital computer for executing instructions in three time-multiplexed portions
US5586337A (en) Programmable controller with timing control
JPH034326A (ja) 命令デコード方式
JPH07219766A (ja) 演算処理装置
EP0573071A2 (en) A microprocessor
JP2825315B2 (ja) 情報処理装置
JP2583614B2 (ja) ベクトル演算装置
JP2747353B2 (ja) アドレス発生装置
JPS63141131A (ja) パイプライン制御方式
JPH0228724A (ja) 分岐命令制御方式
JPH07210384A (ja) 浮動小数点演算装置
JPH0269825A (ja) パイプライン制御方式
JPH0269826A (ja) 条件付命令制御方式
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
JPH02105936A (ja) データ処理装置
JPH0792902A (ja) プログラマブルコントローラ
JPH01255037A (ja) 電子計算機
JPH01253032A (ja) マイクロプログラム制御型プロセッサ
JPH04168526A (ja) ループ制御方式
JPH04287227A (ja) 演算処理装置
JPH05341995A (ja) プロセッサにおける命令制御方法及びプロセッサ
JPH0589159A (ja) データ処理システム