JPH1091430A - 命令解読装置 - Google Patents

命令解読装置

Info

Publication number
JPH1091430A
JPH1091430A JP24293296A JP24293296A JPH1091430A JP H1091430 A JPH1091430 A JP H1091430A JP 24293296 A JP24293296 A JP 24293296A JP 24293296 A JP24293296 A JP 24293296A JP H1091430 A JPH1091430 A JP H1091430A
Authority
JP
Japan
Prior art keywords
instruction
code
decoder
instruction decoder
buffer memory
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
JP24293296A
Other languages
English (en)
Inventor
Takahiro Nakamachi
隆弘 中町
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP24293296A priority Critical patent/JPH1091430A/ja
Publication of JPH1091430A publication Critical patent/JPH1091430A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 従来例に比較して命令解読サイクルを短く
し、処理速度を向上することができる命令解読装置を提
供する。 【解決手段】 命令デコーダ32は命令バッファメモリ
20から読み出される命令コードをデコードしてマイク
ロコードとステート信号を出力し、命令デコーダ31は
最初の拡張オペレーションコードを解読してそれを示す
制御信号と、初期状態の次のステートを表わすステート
信号とを出力する。セレクタSE3は制御信号に応答し
て命令デコーダ31からのステート信号を命令デコーダ
32に出力し、制御信号が出力されないときは、命令デ
コーダ32から出力されるステート信号を出力する。セ
レクタSE1は制御信号に応答して最初の拡張オペレー
ションコードに続く命令コードを命令バッファメモリ2
0から命令デコーダ32に出力し、制御信号が出力され
ないときは、命令バッファメモリ20から読み出される
命令コードを順次命令デコーダ32に出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータの命令を解読するための命令解読装置に関するもの
である。
【0002】
【従来の技術】近年のマイクロコンピュータの高速化に
ともない、命令の解読や実行を高速に行うことが必要と
なっている。以下、従来例のマイクロコンピュータの命
令解読装置10aについて図2を参照して説明する。
【0003】図2において、RAM(ランダムアクセス
メモリ)11はユーザーが作成したプログラムを格納す
るための記憶装置である。命令バッファメモリ20は、
例えば4個の8ビット幅のレジスタ21乃至24を備
え、RAM11に格納されたプログラムから実行順序に
8ビット単位で読み出された命令コードを一時的に格納
する。命令デコーダ33は、命令バッファメモリ20か
ら出力される命令コードを解読して、解読結果のマイク
ロコードを演算器12に出力するとともに、ステート信
号SSを命令デコーダ33の入力に帰還する。演算器1
2は、命令デコーダ33から出力されるデコーダと、命
令バッファメモリ20から出力されるオペランドとに基
づいて所定の演算を実行する。
【0004】次いで、マイクロコンピュータの各命令に
ついて説明する。各命令は、基本命令語長8ビットの命
令コードが1個又は複数個組み合わされて構成されてお
り、任意の命令語長を持つ。また各命令コードは、各命
令の実行を制御するオペレーションコード(以下、オペ
コードという。)と、オペコードによって制御される各
命令の実行の際に必要となる引き数を表わすオペランド
で構成されている。さらにオペコードは、後続の命令コ
ードを持つ拡張オペコードと、後続の命令コードがない
ことを示す実行オペコードによって表わされている。
【0005】図3は、従来例及び本実施形態の命令解読
装置で用いるオペコードの命令マップ図である。図3
(a)は第1のオペコードの命令マップ図であり、第1
のオペコードの上位8ビットが00hからFEh(ここ
で、hは16進数表示を示す。)であるときは、その命
令コードは実行オペコードであり、実行オペコードの後
にオペランドが続く。また、第1のオペコードの上位8
ビットがFFhであるときは、その命令コードは拡張オ
ペコードであり、ここで、第1のオペコードが拡張オペ
コードであるときは、各拡張オペコードに対して、例え
ば、図3(b)及び(c)のように拡張オペコードに続
く命令コードに対応した命令マップが存在する。例え
ば、図3(a)において、第1のオペコードがFF01
hであるときは、拡張オペコードIS1が割り当てら
れ、第1のオペコードがFFFEhであるときは、拡張
オペコードIS2が割り当てられている。
【0006】図3(b)は第1のオペコードが拡張オペ
コードIS1のときの第2のオペコードの命令マップ図
であり、第1のオペコードに続く第2のオペコードの上
位8ビットが00hからFEh(ここで、hは16進数
表示を示す。)であるときは、その命令コードは実行オ
ペコードであり、第2のオペコードの上位8ビットがF
Fhであるときは、その命令コードは拡張オペコードで
ある。
【0007】図3(c)は第1のオペコードが拡張オペ
コードIS2のときの第2のオペコードの命令マップ図
であり、第1のオペコードに続く第2のオペコードの上
位8ビットが00hからFEh(ここで、hは16進数
表示を示す。)であるときは、その命令コードは実行オ
ペコードであり、第2のオペコードの上位8ビットがF
Fhであるときは、その命令コードは拡張オペコードで
ある。例えば、図3(c)において、第2のオペコード
がFF01hであるときは、拡張オペコードIS3が割
り当てられている。
【0008】図3(d)は第1のオペコードが拡張オペ
コードIS2であって第2のオペコードが拡張コードI
S3であるときの第3のオペコードの命令マップ図であ
り、第1のオペコード及び第2のオペコードに続く第3
のオペコードはすべて実行オペコードであり、当該実行
オペコードに続いてオペランドが続く。
【0009】図4は、従来例及び本実施形態の命令解読
装置で用いる命令コードの構成を示す図である。図4
(a)は、命令コード51の構成例を示し、命令コード
51は、8ビットの実行オペコードに続いて、8ビッ
ト、16ビット又は24ビットのオペランドが続いて構
成される。図4(b)は、命令コード52の構成例を示
し、命令コード52は、8ビットの拡張オペコードに続
いて8ビットの実行オペコードが続き、さらに、8ビッ
ト、16ビット又は24ビットのオペランドが続いて構
成される。図4(c)は、命令コード53の構成例を示
し、命令コード53は、8ビットの2個の拡張オペコー
ドに続いて8ビットの実行オペコードが続き、さらに、
8ビット、16ビット又は24ビットのオペランドが続
いて構成される。
【0010】次いで、図2の命令解読装置10aの動作
について説明する。まず、命令コードが複数個で構成さ
れたプログラムをRAM11に格納されているものとす
る。RAM11に格納された命令コードを読み出して、
8ビット単位で命令バッファメモリ20内の各レジスタ
に一時的に保持された後、命令デコーダ33に出力され
る。命令デコーダ33では、命令バッファメモリ20内
のオペコードを、8ビット単位でデコードし、マイクロ
コンピュータ内部での動作を制御する50ビットのマイ
クロコードを演算器12に出力する。この際、命令解読
のシーケンスを制御するためのステート信号SSを順次
更新することによって、任意命令語長の命令コードの解
読を行う。演算器12は、命令デコーダ33から送出さ
れたマイクロコードと、命令バッファメモリ20から出
力されるオペランドを受信して、所定の演算処理を実行
する。
【0011】例えば、図4(a)に示した命令コード5
1の解読を行うとき、命令デコーダ33は、実行オペコ
ード61を命令バッファメモリ20から読み出すと同時
に、初期状態を表わすステート信号SS“k”(以下、
状態kを示すステート信号SSをステート信号SS
“k”と表記する。)を受信して解読を行い、次命令コ
ードが初期状態であることを表わすステート信号SS
“k”を命令デコーダ33の入力に帰還して次命令コー
ドに備えると同時に、上記解読結果のマイクロコードを
演算器12に出力する。一方、オペランドが命令バッフ
ァメモリ20から演算器12に送出され、これに応答し
て演算器12は、マイクロコードとオペランドとに基づ
いて、所定の演算処理を実行する。従って、命令解読サ
イクルは、1サイクル必要となる。
【0012】次いで、例えば、図4(b)に示した命令
コード52の解読を行うとき、命令デコーダ33は、ま
ず初めに拡張オペコード71を命令バッファメモリ20
から読み出すと同時に、初期状態を表わすステート信号
SS“k”を受信して解読を行い、ステート信号SSを
更新してステート信号SS“k+1”を命令デコーダ3
3の入力に帰還し、同時にマイクロコードとして何も実
行しない非動作コードNOPを演算器12に出力する。
これに応答して演算器12は何も動作しない。次のサイ
クルで、実行オペコード62を命令バッファメモリ20
から読み出すと同時に、ステート信号SS“k+1”を
受信して解読を行い、次命令コードが初期状態であるこ
とを表わすステート信号SS“k”を命令デコーダ33
の入力に帰還して次命令コードに備え、また同時に解読
結果のマイクロコードを演算器12に出力する。一方、
オペランドが命令バッファメモリ20から演算器12に
送出され、これに応答して演算器12は、マイクロコー
ドとオペランドとに基づいて、所定の演算処理を実行す
る。従って、命令解読サイクルは2サイクル必要とな
る。
【0013】次いで、例えば、図4(c)に示す命令コ
ード53の解読を行うとき、命令デコーダ33は、まず
初めに拡張オペコード72を命令バッファメモリ33か
ら読み出すと同時に、初期状態を表わすステート信号S
S“k”を受信して解読を行い、ステート信号SSを更
新してステート信号SS“k+1”を命令デコーダ33
の入力に帰還し、同時にマイクロコードとして非動作コ
ードNOPを演算器12に出力する。これに応答して、
演算器12は何も演算処理を実行しない。次のサイクル
で、拡張オペコード73を命令バッファメモリ20から
読み出すと同時に、ステート信号SS“k+1”を受信
して解読を行い、ステート信号SSを更新してステート
信号SS“k+2”を命令デコーダ33の入力に帰還
し、同時にマイクロコードとして非動作コードNOPを
演算器12に出力する。これに応答して、演算器12は
何も演算処理を実行しない。そしてその次のサイクル
で、実行オペコード63を命令バッファメモリ20から
読み出すと同時に、ステート信号SS“k+2”を受信
して解読を行い、次命令コードが初期状態であることを
表わすステート信号SS“k”を命令デコーダ33に出
力し次命令コードに備え、同時に解読結果のマイクロコ
ードを演算器12に出力する。一方、オペランドが命令
バッファメモリ20から演算器12に送出され、これに
応答して演算器12は、マイクロコードとオペランドと
に基づいて、所定の演算処理を実行する。従って、命令
解読サイクルは3サイクル必要となる。
【0014】
【発明が解決しようとする課題】しかしながら、従来例
の命令解読装置10aの構成では、オペコードが複数の
拡張オペコードとオペランドコードによって構成されて
いる命令の解読を行う場合、拡張オペコードのデコード
のサイクルが必要となるため、命令解読サイクルが長く
なり、処理速度をさらに上げることができないという問
題点があった。
【0015】本発明の目的は以上の問題点を解決し、従
来例に比較して命令解読サイクルを短くし、処理速度を
向上することができる命令解読装置を提供することにあ
る。
【0016】
【課題を解決するための手段】本発明に係る命令解読装
置は、それぞれ複数ビットの基本命令語長を有するオペ
レーションコード及びオペランドを含み、実行オペレー
ションコードとオペランドとで構成され、又は少なくと
も1つの拡張オペレーションコードと実行オペレーショ
ンコードと少なくとも1つのオペランドとで構成された
マイクロコンピュータの命令コードを解読するための命
令解読装置において、上記マイクロコンピュータによっ
て実行されるプログラムの命令コードを一時的に格納す
るための命令バッファメモリと、上記命令バッファメモ
リから読み出される命令コードをデコードして解読結果
のマイクロコードを演算器に出力するとともに、シーケ
ンスのステートを表わすステート信号を出力する第1の
命令デコーダと、上記命令バッファメモリから読み出さ
れる命令コードのうち最初の拡張オペレーションコード
に応答して、当該最初の拡張オペレーションコードを解
読して、当該最初の拡張オペレーションコードを解読し
たことを示す制御信号と、初期状態の次のステートを表
わすステート信号とを出力する第2の命令デコーダと、
上記第2の命令デコーダから出力される制御信号に応答
して上記第2の命令デコーダから出力されるステート信
号を第1の命令デコーダに出力する一方、上記第2の命
令デコーダから制御信号が出力されないときは、上記第
1の命令デコーダから出力されるステート信号を第1の
命令デコーダに出力するように切り換える第1の切り換
え手段と、上記第2の命令デコーダから出力される制御
信号に応答して上記最初の拡張オペレーションコードに
続く命令コードを上記命令バッファメモリから上記第1
の命令デコーダに出力する一方、上記第2の命令デコー
ダから制御信号が出力されないときは、上記命令バッフ
ァメモリから読み出される命令コードを順次上記第1の
命令デコーダに出力するように切り換える第2の切り換
え手段とを備えたことを特徴とする。
【0017】本発明は、拡張オペレーションコードの命
令解読サイクルを短くし、処理速度が向上するようにし
たものである。命令解読のステート信号を変化させるこ
とにより、最初の拡張オペレーションコードと第2番目
の拡張オペレーションコードの解読、又は、拡張オペレ
ーションコードと実行オペレーションコードの解読を同
時に行うことができ、命令解読サイクルを減少できると
いう作用を有する。
【0018】
【発明の実施の形態】以下、図面を参照して本発明に係
る実施形態について説明する。
【0019】図1は、本発明に係る一実施形態であるマ
イクロコンピュータのための命令解読装置10のブロッ
ク図であり、図1において図2と同一のものについては
同一の符号を付している。この命令解読装置10は、従
来例に比較して命令デコーダ31及びセレクタSE3を
さらに備えたことを特徴としている。
【0020】図1において、RAM(ランダムアクセス
メモリ)11はユーザーが作成したプログラムを格納す
るための記憶装置である。命令バッファメモリ20は、
例えば4個の8ビット幅のレジスタ21乃至24を備
え、RAM11に格納されたプログラムから実行順序に
8ビット単位で読み出された命令コードを、フリップフ
ロップ41を介して一時的に格納する。命令デコーダ3
1は、例えばプログラマブルロジックアレイ(PLA)
で構成され、命令バッファメモリ20からセレクタSE
2を介して入力される未使用で最新の命令コードを解読
して、命令コードが第1番目の拡張オペコードであると
きは、制御信号をセレクタSE1及びSE3に出力する
とともに、ステート信号SS1をセレクタSE3及びフ
リップフロップ43を介して命令デコーダ32に出力す
る。一方、命令デコーダ32は、例えばプログラマブル
ロジックアレイ(PLA)で構成され、命令バッファメ
モリ20からセレクタSE1及びフリップフロップ42
を介して出力される第2番目以降の拡張オペコード及び
実行オペコードの命令コードを解読して、解読結果のマ
イクロコードを演算器12に出力するとともに、ステー
ト信号SS2をフリップフロップ44、セレクタSE3
及びフリップフロップ43を介して命令デコーダ32の
入力に帰還する。各フリップフロップ41乃至44は遅
延型フリップフロップであって、入力されるデータを一
時的に保持した後、クロック信号CLKに同期して出力
する。命令バッファメモリ20から出力されるオペラン
ドは、セレクタSE4を介して演算器12に出力され
る。演算器12は、命令デコーダ33から出力されるデ
コーダと、命令バッファメモリ20から出力されるオペ
ランドとに基づいて所定の演算を実行する。
【0021】ここで、当該マイクロコンピュータのCP
U(図示せず。)はRAM11に格納されたプログラム
の命令コードを公知の通りプリデコードして、セレクタ
SE1及びSE2の切り換えを制御する。セレクタSE
1はCPUからの制御信号及び命令デコーダ31からの
制御信号によって切り換え制御され、セレクタSE2は
CPUからの制御信号によって切り換え制御される。す
なわち、命令バッファメモリ20内に格納された未使用
で最新の命令コードはセレクタSE2を介して命令デコ
ーダ31に入力されて解読される一方、命令バッファメ
モリ20内に格納された第2番目の拡張オペコード又は
実行オペコードなどの命令コードは、セレクタSE2を
介して命令デコーダ32に入力されて解読される。セレ
クタSE3は、命令デコーダ31からの制御信号に応答
して接点bから接点aに切り換える一方、制御信号が出
力されないときは、接点bに切り換えられる。また、セ
レクタSE4は、命令デコーダ32から出力されるマイ
クロコードに基づいて、命令バッファメモリ20内のレ
ジスタ21乃至24うちの1つに格納されているオペラ
ンドを選択的に読み出して演算器12に出力する。
【0022】以上のように構成された命令解読装置10
の命令解読時の動作について、以下説明する。まず、マ
イクロコンピュータの命令コードの並びで表わされるプ
ログラムをRAM11に格納する。命令解読装置10
は、メモリRAM11に格納された命令コードを読み出
して、例えば8ビット単位でフリップフロップ41を介
して命令バッファメモリ20内の各シフトレジスタ21
乃至24に順次書き込んで一時的に保持した後、セレク
タSE2を介して命令デコーダ31に出力するととも
に、セレクタSE1及びフリップフロップ42を介して
命令デコーダ32に出力する。
【0023】命令デコーダ31は、命令バッファメモリ
20内に格納されている命令コードを受信して解読し、
第1番目の拡張オペコードであれば制御信号をセレクタ
SE3に出力して接点a側に切り換えるとともに、ステ
ート信号SS1をセレクタSE3及びフリップフロップ
43を介して命令デコーダ32に出力する一方、制御信
号をセレクタSE1に出力して第1番目の拡張オペコー
ドに続く実行オペコード又は第2番目の拡張オペコード
を命令バッファメモリ20から読み出してフリップフロ
ップ42を介して命令デコーダ32に出力する。すなわ
ち、命令デコーダ31から制御信号が出力されたとき、
命令バッファメモリ20から拡張オペコードではなくそ
の次の命令コードが命令デコーダ32に出力される。同
時に、命令デコーダ31から出力されるステート信号S
S1はセレクタSE3を介して命令デコーダ32に出力
される。
【0024】一方、命令バッファメモリ20内に格納さ
れている命令コードが実行オペコードであり、命令デコ
ーダ31から制御信号が出力されなかったときは、命令
バッファメモリ20は上記実行オペコードをセレクタS
E1及びフリップフロップ42を介して命令デコーダ3
2に出力する。同時に、セレクタSE3は接点bに切り
換えられ、命令デコーダ32から出力されるステート信
号SS2がフリップフロップ44、セレクタSE3及び
フリップフロップ43を介して命令デコーダ32に入力
される。
【0025】命令デコーダ32は、セレクタSE3から
フリップフロップ43を介して入力されるステート信号
SS2と、命令バッファメモリ20から出力される命令
コードを解読し、内部動作を制御する解読結果のマイク
ロコードを演算器12に送出するとともに、ステートを
1だけインクリメントすることによりステート信号SS
2を更新して出力する。演算器12は、命令デコーダ3
2から出力されるマイクロコードと、命令バッファメモ
リ20から出力されるオペランドとに基づいて、所定の
演算処理を実行する。
【0026】図5は、図4(a)の命令コード51をデ
コードするときの図1の命令解読装置の動作を示すタイ
ミングチャートである。図4(a)の命令コード51を
デコードするときの動作について、図5を参照して説明
する。
【0027】図4(a)に示す命令コード51の解読を
行うとき、従来例と同様に命令の解読は、拡張オペコー
ドがないので、命令デコーダ32のみを用いて行われ
る。このとき、セレクタSE1及びSE2はともに命令
バッファメモリ20内に格納されている未使用で最新の
命令データである実行オペコード61を選択して出力す
る。また、セレクタSE3は命令デコーダ31から出力
されるステート信号を選択して出力する。まず、クロッ
クCLKの立ち上がりの時刻t1で、実行オペコード6
1を命令バッファメモリ20から読み出した後、フリッ
プフロップ42を介して次のクロックCLKの立ち下が
りの時刻t2で、命令デコーダ32に入力され、命令デ
コーダ32は、初期状態を表わすステート信号SS1
“k”を命令デコーダ31から受信して解読を行い、次
命令コードが初期状態であることを表わすステート信号
SS2“k”をフリップフロップ44に出力して次命令
コードに備えると同時に、解読結果のマイクロコードを
演算器12に出力する一方、オペランドが命令バッファ
メモリ20からセレクタSE4を介して演算器12に送
出される。これに応答して、演算器12は、入力された
マイクロコードとオペランドとに基づいて所定の演算処
理を実行する。従って、命令解読サイクルは図5の時刻
t1から時刻t3までの1サイクルであり、従来例と同
様である。
【0028】図6は、図4(b)の命令コード52をデ
コードするときの図1の命令解読装置の動作を示すタイ
ミングチャートである。図4(b)の命令コード52を
デコードするときの動作について、図6を参照して説明
する。
【0029】図4(b)に示す命令コード52の解読を
行うとき、まず、クロックCLKの立ち上がりの時刻t
11でセレクタSE1及びSE2は、命令バッファメモ
リ20内の未使用で最新の命令コードである拡張オペコ
ード71を選択して出力し、これに応答して命令デコー
ダ31は実質的に同時に(時刻t11から命令デコーダ
31の処理時間のみ遅れるが、時刻t11と実質的同時
である。)Hレベルの制御信号をセレクタSE1及びS
E2に出力する。これによって、セレクタSE1の出力
データは、上記拡張オペコード71からその次に最新で
ある実行オペコード62に変更されます。一方、セレク
タSE3は命令デコーダ31からの制御信号に応答して
接点aに切り換えられ、命令デコーダ31からのステー
ト信号SS1“k+1”を選択してフリップフロップ4
3を介して命令デコーダ32に出力する。
【0030】命令バッファメモリ20から読み出された
実行オペコード62は、セレクタSE1及びフリップフ
ロップ42を介して、クロックCLKの次の立ち下がり
の時刻t12で命令デコーダ32に入力され、これに応
答して、命令デコーダ32は、実行オペコード62の解
読を行い、次命令コードが初期状態であることを表わす
ステート信号SS2“k”を出力し次命令コードに備え
るとともに、同時にマイクロコードを演算器12に出力
し、一方、当該マイクロコードによってセレクタSE4
が切り換えられて命令バッファメモリ20からオペラン
ドが読み出されて演算器12に送出される。これに応答
して、演算器12は、入力されたマイクロコードとオペ
ランドとに基づいて所定の演算処理を実行する。以下、
時刻t13以降、従来例と同様の処理が実行される。従
って、拡張オペコード71と実行オペコード62の命令
解読サイクルは図6の時刻t11から時刻t13までの
1サイクルであり、命令解読サイクルは従来例より1サ
イクルだけ短くなる。
【0031】同様に、図4(c)に示す命令コード53
の解読を行うときは、まず、クロックCLKの立ち上が
りの時刻でセレクタSE1及びSE2は、命令バッファ
メモリ20内の未使用で最新の命令コードである拡張オ
ペコード72を選択して出力し、これに応答して命令デ
コーダ31は実質的に同時に(当該時刻から命令デコー
ダ31の処理時間のみ遅れるが、実質的同時である。)
Hレベルの制御信号をセレクタSE1及びSE2に出力
する。これによって、セレクタSE1の出力データは、
上記拡張オペコード72からその次に最新である拡張オ
ペコード73に変更されます。一方、セレクタSE3は
命令デコーダ31からの制御信号に応答して接点aに切
り換えられ、命令デコーダ31からのステート信号SS
1“k+1”を選択してフリップフロップ43を介して
命令デコーダ32に出力する。
【0032】命令バッファメモリ20から読み出された
拡張オペコード73は、セレクタSE1及びフリップフ
ロップ42を介して、クロックCLKの次の立ち下がり
の時刻で命令デコーダ32に入力され、これに応答し
て、命令デコーダ32は、拡張オペコード73の解読を
行い、次命令コードが初期状態であることを表わすステ
ート信号SS2“k”を出力し次命令コードに備える。
そして、同様にして、命令デコーダ32は、クロックC
LKの次の立ち上がりから実行オペコード63の解読を
行い、次命令コードが初期状態であることを表わすステ
ート信号SS2“k”を出力し次命令コードに備えると
ともに、同時にマイクロコードを演算器12に出力し、
一方、当該マイクロコードによってセレクタSE4が切
り換えられて命令バッファメモリ20からオペランドが
読み出されて演算器12に送出される。これに応答し
て、演算器12は、入力されたマイクロコードとオペラ
ンドとに基づいて所定の演算処理を実行する。従って、
拡張オペコード72と拡張オペコード73の命令解読サ
イクルは1サイクルであり、命令解読サイクルは従来例
より1サイクルだけ短くなる。
【0033】以上説明したように、最初の拡張オペコー
ドを解読する命令デコーダ31を設け、最初の拡張オペ
コードとそれに続く命令コードとを1サイクルで解読す
るようにしたので、従来例に比較して命令解読サイクル
を短くし、処理速度を向上することができる命令解読装
置を提供することができる。ここで、命令デコーダ31
は従来例の命令デコーダ33と同様の構成を採用するこ
とができるため、回路の大幅変更を伴わなくてもよく、
当該回路を簡単に構成することができる。
【0034】以上の実施形態において、命令コード長を
8ビットしているが、本発明はこれに限らず、複数ビッ
トでもよい。
【0035】以上の実施形態において、命令バッファメ
モリ20は4個のレジスタ21乃至24を備えている
が、その個数は限定されない。
【0036】
【発明の効果】以上詳述したように本発明に係る命令解
読装置によれば、それぞれ複数ビットの基本命令語長を
有するオペレーションコード及びオペランドを含み、実
行オペレーションコードとオペランドとで構成され、又
は少なくとも1つの拡張オペレーションコードと実行オ
ペレーションコードと少なくとも1つのオペランドとで
構成されたマイクロコンピュータの命令コードを解読す
るための命令解読装置において、上記マイクロコンピュ
ータによって実行されるプログラムの命令コードを一時
的に格納するための命令バッファメモリと、上記命令バ
ッファメモリから読み出される命令コードをデコードし
て解読結果のマイクロコードを演算器に出力するととも
に、シーケンスのステートを表わすステート信号を出力
する第1の命令デコーダと、上記命令バッファメモリか
ら読み出される命令コードのうち最初の拡張オペレーシ
ョンコードに応答して、当該最初の拡張オペレーション
コードを解読して、当該最初の拡張オペレーションコー
ドを解読したことを示す制御信号と、初期状態の次のス
テートを表わすステート信号とを出力する第2の命令デ
コーダと、上記第2の命令デコーダから出力される制御
信号に応答して上記第2の命令デコーダから出力される
ステート信号を第1の命令デコーダに出力する一方、上
記第2の命令デコーダから制御信号が出力されないとき
は、上記第1の命令デコーダから出力されるステート信
号を第1の命令デコーダに出力するように切り換える第
1の切り換え手段と、上記第2の命令デコーダから出力
される制御信号に応答して上記最初の拡張オペレーショ
ンコードに続く命令コードを上記命令バッファメモリか
ら上記第1の命令デコーダに出力する一方、上記第2の
命令デコーダから制御信号が出力されないときは、上記
命令バッファメモリから読み出される命令コードを順次
上記第1の命令デコーダに出力するように切り換える第
2の切り換え手段とを備える。
【0037】従って、最初の拡張オペコードを解読する
第2の命令デコーダを設け、最初の拡張オペコードとそ
れに続く命令コードとを1サイクルで解読するようにし
たので、従来例に比較して命令解読サイクルを短くし、
処理速度を向上することができる命令解読装置を提供す
ることができる。ここで、第2の命令デコーダは従来例
の命令デコーダ33と同様の構成を採用することができ
るため、回路の大幅変更を伴わなくてもよく、当該回路
を簡単に構成することができる。
【図面の簡単な説明】
【図1】 本発明に係る一実施形態であるマイクロコン
ピュータのための命令解読装置のブロック図である。
【図2】 従来例のマイクロコンピュータのための命令
解読装置のブロック図である。
【図3】 従来例及び本実施形態の命令解読装置で用い
るオペーションコードの命令マップ図であり、(a)は
第1のオペレーションコードの命令マップ図であり、
(b)は第1のオペレーションコードが拡張オペコード
IS1のときの第2のオペレーションコードの命令マッ
プ図であり、(c)は第1のオペレーションコードが拡
張オペコードIS2のときの第2のオペレーションコー
ドの命令マップ図であり、(d)は第1のオペレーショ
ンコードが拡張オペコードIS2であって、第2のオペ
レーションコードが拡張オペコードIS3であるときの
第3のオペレーションコードの命令マップ図である。
【図4】 従来例及び本実施形態の命令解読装置で用い
る命令コードの構成を示す図であり、(a)は命令コー
ド51の構成を示し、(b)は命令コード52の構成を
示し、(c)は命令コード53の構成を示す。
【図5】 図4(a)の命令コード51をデコードする
ときの図1の命令解読装置の動作を示すタイミングチャ
ートである。
【図6】 図4(b)の命令コード52をデコードする
ときの図1の命令解読装置の動作を示すタイミングチャ
ートである。
【符号の説明】
10…命令解読装置、 11…RAM、 12…演算器、 20…命令バッファメモリ、 21乃至24…レジスタ、 31,32…命令デコーダ、 41乃至44…フリップフロップ、 SE1乃至SE4…セレクタ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ複数ビットの基本命令語長を有
    するオペレーションコード及びオペランドを含み、実行
    オペレーションコードとオペランドとで構成され、又は
    少なくとも1つの拡張オペレーションコードと実行オペ
    レーションコードと少なくとも1つのオペランドとで構
    成されたマイクロコンピュータの命令コードを解読する
    ための命令解読装置において、 上記マイクロコンピュータによって実行されるプログラ
    ムの命令コードを一時的に格納するための命令バッファ
    メモリと、 上記命令バッファメモリから読み出される命令コードを
    デコードして解読結果のマイクロコードを演算器に出力
    するとともに、シーケンスのステートを表わすステート
    信号を出力する第1の命令デコーダと、 上記命令バッファメモリから読み出される命令コードの
    うち最初の拡張オペレーションコードに応答して、当該
    最初の拡張オペレーションコードを解読して、当該最初
    の拡張オペレーションコードを解読したことを示す制御
    信号と、初期状態の次のステートを表わすステート信号
    とを出力する第2の命令デコーダと、 上記第2の命令デコーダから出力される制御信号に応答
    して上記第2の命令デコーダから出力されるステート信
    号を第1の命令デコーダに出力する一方、上記第2の命
    令デコーダから制御信号が出力されないときは、上記第
    1の命令デコーダから出力されるステート信号を第1の
    命令デコーダに出力するように切り換える第1の切り換
    え手段と、 上記第2の命令デコーダから出力される制御信号に応答
    して上記最初の拡張オペレーションコードに続く命令コ
    ードを上記命令バッファメモリから上記第1の命令デコ
    ーダに出力する一方、上記第2の命令デコーダから制御
    信号が出力されないときは、上記命令バッファメモリか
    ら読み出される命令コードを順次上記第1の命令デコー
    ダに出力するように切り換える第2の切り換え手段とを
    備えたことを特徴とする命令解読装置。
JP24293296A 1996-09-13 1996-09-13 命令解読装置 Pending JPH1091430A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24293296A JPH1091430A (ja) 1996-09-13 1996-09-13 命令解読装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24293296A JPH1091430A (ja) 1996-09-13 1996-09-13 命令解読装置

Publications (1)

Publication Number Publication Date
JPH1091430A true JPH1091430A (ja) 1998-04-10

Family

ID=17096369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24293296A Pending JPH1091430A (ja) 1996-09-13 1996-09-13 命令解読装置

Country Status (1)

Country Link
JP (1) JPH1091430A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2004036416A1 (ja) * 2002-10-18 2006-02-16 株式会社トプスシステムズ マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
JP2006309766A (ja) * 2005-04-26 2006-11-09 Internatl Business Mach Corp <Ibm> プロセッサ命令の暗号解読のための方法、データ処理システム、及び装置
US7197653B2 (en) 2003-03-31 2007-03-27 Matsushita Electric Industrial Co., Ltd. Microcontroller for fetching and decoding a frequency control signal together with an operation code
JP2008083873A (ja) * 2006-09-26 2008-04-10 Yamaha Corp デジタル信号処理装置
US7487338B2 (en) 2002-07-19 2009-02-03 Renesas Technology Corp. Data processor for modifying and executing operation of instruction code according to the indication of other instruction code
US7917734B2 (en) 2003-06-30 2011-03-29 Intel Corporation Determining length of instruction with multiple byte escape code based on information from other than opcode byte
JP2012507805A (ja) * 2008-11-05 2012-03-29 インテル・コーポレーション シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487338B2 (en) 2002-07-19 2009-02-03 Renesas Technology Corp. Data processor for modifying and executing operation of instruction code according to the indication of other instruction code
JPWO2004036416A1 (ja) * 2002-10-18 2006-02-16 株式会社トプスシステムズ マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
US7197653B2 (en) 2003-03-31 2007-03-27 Matsushita Electric Industrial Co., Ltd. Microcontroller for fetching and decoding a frequency control signal together with an operation code
CN100365567C (zh) * 2003-03-31 2008-01-30 松下电器产业株式会社 微控制器
US7917734B2 (en) 2003-06-30 2011-03-29 Intel Corporation Determining length of instruction with multiple byte escape code based on information from other than opcode byte
US7966476B2 (en) 2003-06-30 2011-06-21 Intel Corporation Determining length of instruction with escape and addressing form bytes without evaluating opcode
US8161269B2 (en) 2003-06-30 2012-04-17 Intel Corporation Determining length of instruction with address form field exclusive of evaluating instruction specific opcode in three byte escape opcode
US8402252B2 (en) 2003-06-30 2013-03-19 Intel Corporation Determining length of instruction with address form field exclusive of evaluating instruction specific opcode in three byte escape opcode
US8793470B2 (en) 2003-06-30 2014-07-29 Intel Corporation Length determination of instruction code with address form field and escape opcode value by evaluating portions other than instruction specific opcode
JP2006309766A (ja) * 2005-04-26 2006-11-09 Internatl Business Mach Corp <Ibm> プロセッサ命令の暗号解読のための方法、データ処理システム、及び装置
JP2008083873A (ja) * 2006-09-26 2008-04-10 Yamaha Corp デジタル信号処理装置
JP2012507805A (ja) * 2008-11-05 2012-03-29 インテル・コーポレーション シーケンス検出又は命令に関連付けられた情報に基づいた命令の最適化性能
US8543796B2 (en) 2008-11-05 2013-09-24 Intel Corporation Optimizing performance of instructions based on sequence detection or information associated with the instructions
US8935514B2 (en) 2008-11-05 2015-01-13 Intel Corporation Optimizing performance of instructions based on sequence detection or information associated with the instructions

Similar Documents

Publication Publication Date Title
US5396634A (en) Method and apparatus for increasing the decoding speed of a microprocessor
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
KR100423910B1 (ko) 코프로세서 명령 실행 장치 및 방법
KR970066864A (ko) 가변 파이프 라인 단수의 데이터 처리 장치
JP3781519B2 (ja) プロセッサの命令制御機構
US20060095746A1 (en) Branch predictor, processor and branch prediction method
US6167529A (en) Instruction dependent clock scheme
JPH05108341A (ja) マイクロプロセツサ
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
JPH1091430A (ja) 命令解読装置
JP2538053B2 (ja) 制御装置
KR930009632B1 (ko) 비트 필드 논리동작 유니트
US6427205B1 (en) Digital signal processor and processor reducing the number of instructions upon processing condition execution instructions
JP3958239B2 (ja) マイクロコントローラ
JPH04359323A (ja) マイクロコンピュータ
JP2583506B2 (ja) データ処理装置
US20050114626A1 (en) Very long instruction word architecture
JP3511691B2 (ja) 演算処理装置
JPH05298088A (ja) マイクロコンピュータ
US5109516A (en) Sequence controller for controlling next operating state with a short sequence
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置
JP3062892B2 (ja) 演算処理装置
KR950014161B1 (ko) 어레이 프로세서(array processor)의 2단계(stage) 명령어 파이프라인 처리방법
US7124281B1 (en) Processing system having sequential address indicator signals
KR920006274B1 (ko) 마이크로 프로세서