JP2601055B2 - マイクロプログラム・シーケンサ - Google Patents

マイクロプログラム・シーケンサ

Info

Publication number
JP2601055B2
JP2601055B2 JP11003991A JP11003991A JP2601055B2 JP 2601055 B2 JP2601055 B2 JP 2601055B2 JP 11003991 A JP11003991 A JP 11003991A JP 11003991 A JP11003991 A JP 11003991A JP 2601055 B2 JP2601055 B2 JP 2601055B2
Authority
JP
Japan
Prior art keywords
instruction
address
microprogram
mstl
entry
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 - Fee Related
Application number
JP11003991A
Other languages
English (en)
Other versions
JPH04337832A (ja
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
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP11003991A priority Critical patent/JP2601055B2/ja
Publication of JPH04337832A publication Critical patent/JPH04337832A/ja
Application granted granted Critical
Publication of JP2601055B2 publication Critical patent/JP2601055B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本特許は、マイクロコンピュータ
に使用され、マイクロプログラミング方式を採用するシ
ーケンサの制御方式に関する。
【0002】
【従来の技術】マイクロ・コンピュータ(以下、マイコ
ン)は高機能化にともない、RISCタイプとCISC
タイプに2極化してきている。RISC(Reduce
d Instruction Set Compute
r)は命令の種類を少なくかつ単純化する一方、そのマ
イコン用の高機能なコンパイラでプログラムを単純な命
令コードに生成させようとするものである。CISCは
命令の種類を多く(結果的に複雑化)する一方、そのマ
イコン用のコンパイラのコード生成を簡単化させようと
するものである。ソフトウェアの開発にアセンプラが使
用されるか、コンパイラと併用されることの多いシング
ルチップ・マイコンでは、CISCタイプを採用するこ
とが多い。
【0003】また、CISCタイプのマイコンは、命令
の実行順序を制御するシーケンサ部と呼ばれるハードウ
ェアに、マイクロプラミング方式を採用することが多
い。マイクロプラミング方式は命令の実行順序をマイク
ロプログラムROMと呼ばれるメモリに格納する方式で
あり、ワイヤード・ロジック方式と比べ複雑な命令を実
行するシーケンサを短期間に作成するのに適している。
【0004】CISCタイプのマイコンが有する命令の
うち、メモリをリード/ライトする命令の形式は図2の
様に、オペレーション部とアドレッシング・モード部と
に分けられることが多い。オペレーション部は命令の動
作(例えばADDやSUB等の演算の種類や、転送な
ど)を示す。アドレッシング・モード部は、メモリアド
レスの指定方法(例えば、数値そのものをメモリアドレ
スとするダイレクト・アドレッシングや、レジスタの内
容をメモリアドレスとする間接アドレッシング等)を示
す。独立したオペレーション部とアドレッシング・モー
ド部とを組み合わせて命令を構成することの狙いは、複
雑な命令体系を整然する一方、動作の異なる命令間でド
レッシング・モード部を実行するためのマイクロプログ
ラムを共有化することにより、マイクロプログラムRO
Mの容量を縮小することである。
【0005】本発明は、命令が図2の様な基本形式をと
るマイクロコンピュータに使用され、マイクロプラミン
グ方式を採用するシーケンサの制御方式に関する。日本
電気(株)のV20,V30,V25,V35等のマイ
コンはこれにあたり、図6に示すアドレッシング・モー
ド部を有する。第1表中のBW,BP,IX,IYはレ
ジスタ名、disp8は8ビットの数値、disp16
とダイレクト・アドレスは16ビットの数値である。
【0006】図5は、こうしたマイコンの従来のシーケ
ンサの一例を示したものである。以下に主要部の構成と
動作を説明する。命令キュー110に取り込まれた命令
コードが内部バス111に出力される。この命令コード
は内部バス111に接続された、オペレーション・エン
トリ生成部112、メモリアドレス計算エントリ生成部
113、命令デコーダ114に、それぞれ入力される。
オペレーション・エントリ生成部112は、命令コード
のオペレーション部(1バイト目)を入力し、マイクロ
プログラムROM(以下、μROM)132に格納され
たオペレーション毎の実行手順(マイクロプログラム)
の開始番地(以下、オペレーション・エントリ、と呼
ぶ)に変換する。メモリアドレス計算エントリ生成部1
13は、命令コードのアドレッシング・モード部(2バ
イト目)を入力し、μROM132に格納されたアドレ
ッシング・モード毎のメモリアドレス計算の実行手順の
開始番地(以下、メモリアドレス計算エントリ、と呼
ぶ)に変換する。命令デコーダ114は、命令コードの
オペレーション部(1バイト目)を入力し、その命令が
図2に示す形式であるか否かを示す信号OPCT115
を出力するほか、不図示の数々のデコード信号を出力す
る。OPCT115は、アクティブの時命令が図2に示
す形式であること、つまりアドレッシング・モード部を
2バイト目に有することを示し、インアクティブの時図
2に示す形式でないこと、つまり2バイト目にアドレッ
シング・モード部を有しないことを示す。
【0007】なお、オペレーション・エントリ生成部1
12が生成するオペレーション・エントリは、ラッチS
IEM521、SIE522に、各命令の制御開始毎
に、MSTL/MRDY信号にて格納される。MSTL
/MRDY信号は、後に述べるμROM132の出力信
号の一つである。また、C1,C2は内部の2相クロッ
クであり、1クロックの1/2周期の位相差を有する。
【0008】以下では本例のシーケンサの動作を、
(1)処理する命令の2バイト目が第1表に示すアドレ
ッシング・モード部を有しない場合と(2)有する場合
とに分けて、命令の処理開始から終了までを説明する。
【0009】(1)命令の2バイト目に第1表のアドレ
ッシング・モード部を有しない場合上述したようにアド
レッシング・モード部を有しないのでOPCT115が
インアクティブとなり、セレクタ120にてパスAのオ
ペレーション・エントリが選択される。次にセレクタ5
30にて、命令の制御開始のタイミング信号MSTL/
MRDYのアクティブにより、パスKのオペレーション
・エントリが選択される。このオペレーション・エント
リはMIR131にラッチされ、μROM132に格納
されたオペレーション部に対したマイクロプログラムの
開始番地を指定する。そして、該開始番地に格納された
マイクロプログラムの内容がMSTL133にラッチさ
れる。MSTL133にラッチされた内容には、処理を
1クロック毎に逐次実行するためにマイコン各部を制御
するための種々の制御信号と、次のクロックで実行すべ
きマイクロプログラムの番地情報(以下、ネクストアド
レス、と呼ぶ)等が含まれる。ネクストアドレスは、セ
レクタ530においてパスLが選択される時に有効とな
る。
【0010】また、MIR131の内容はSMAM13
4にラッチされ、そのときのMSTL133の制御信号
にMSTL/CALL信号が含まれていればSMA14
1にもラッチされる。MSTL/CALL信号は複数の
処理において共有されるであろうマイクロプログラムの
ある箇所(サブルーチン)をコールするタイミングで発
行されるものである。そして、そのサブルーチンからリ
ターンするタイミングMSTL133からMSTL/R
ET信号が出力されると、戻り番地のパスJが選択され
ることにより、リターンが遂行される。なお暗黙の規則
として、SMA141に格納されるMSTL/CALL
信号を発行したマイクロプログラムのアドレスの再下位
ビットは0であることと、リターンアドレスはその最下
位ビットを1に置き換えたアドレスとなること、が要求
されている。
【0011】オペレーション部に対する一連のマイクロ
プログラムが実行され、その最後のステップでMSTL
133からMSTL/MRDY信号が出力されると、次
の命令に対するシーケンサの処理が開始される。
【0012】(2)命令の2バイト目に第1表のアドレ
ッシング・モード部を有する場合上述したようにアドレ
ッシング・モード部を有するのでOPCT115がアク
ティブとなり、セレクタ120にてパスBのメモリアド
レス計算エントリが選択される。以下、(1)と同様
に、セレクタ530にて、命令の制御開始のタイミング
信号MSTL/MRDYのアクティブにより、パスKの
メモリアドレス計算エントリが選択、MIR131にラ
ッチされ、μROM132に格納されたメモリアドレス
計算エントリに対応したマイクロプログラムの開始番地
を指定する。そして、該開始番地に格納されたマイクロ
プログラムの内容がMSTL133にラッチされる。
【0013】以降メモリアドレス計算エントリに対応す
る一連のマイクロプログラムが遂行されるが、その最後
のステップではメモリアドレス計算に固有の動作とし
て、MSTL133からSTL/IELS信号が出力さ
れる。すると、セレクタ530ではパスHが選択され、
SIE522に格納されていたオペレーション・エント
リがMIR131にラッチされる。
【0014】この後の動作は上記(1)のオペレーショ
ン・エントリに対する動作と同様であり、オペレーショ
ン部に対する一連のマイクロプログラムが実行され、そ
の最後のステップでMSTL133からMSTL/MR
DYが出力されると、次の命令に対するシーケンサの処
理が開始される。
【0015】以上の、本例のシーケンサの2動作を再び
整理して比較してみると、(1)では、命令の1バイト
目のオペレーション部からマイクロプログラムを実行す
るのに対し、(2)では、命令の2バイト目のアドレッ
シング・モード部に対応するメモリアドレス計算の為の
マイクロプログラムをまず実行する。そしてこの計算の
実行の最終タイミングで信号MSTL/IELSが出力
され、あらかじめ命令処理の開始時にラッチSIE52
2に格納していたオペレーション・エントリから、命令
の1バイト目(オペレーション部)に対応したマイクロ
プログラムを続行する。
【0016】(2)で、命令のアドレッシング・モード
部の処理をオペレーション部の処理に対し先行させる理
由は、メモリ・データを最初に必要とするような命令を
高速に実行することに適しているためである。例えばメ
モリ・データを読み出してレジスタに書き込む転送命令
では、最初にすべきことはメモリ・アドレスの計算であ
る。これを逆にオペレーション部のマイクロプログラム
から実行を始めるとその最初のステップですべきこと
は、メモリ・アドレスの計算ルーチンへ分岐することに
なり、前者と比べ1クロックの遅れを生じることにな
る。
【0017】
【発明が解決しようとする課題】前述したように、従来
例のシーケンサは最初にメモリ・データを必要とするよ
うな命令を高速に実行する為に、SIEM521とSI
E522の1組のラッチを必要としている。つまり高速
に実行しない方法に比べ、ハードウェアの増加を招いて
いる。
【0018】
【課題を解決するための手段】本発明によるマイクロプ
ログラム・シーケンサは、命令の動作を指定する命令コ
ードのフィールドからマイクロプログラムの開始番地を
生成する第1の番地生成手段と、アクセスするメモリの
アドレス計算方法を指定する命令コードのフィールドか
らマイクロプログラムの開始番地を生成する第2の番地
生成手段と、命令の処理開始タイミングには第1の番地
生成手段から生成される開始番地を、一方マイクロプロ
グラムのサブルーチンコール・タイミングにはサブルー
チンからの復帰アドレスを、選択的に格納する番地格納
手段とを有することを特徴とする。
【0019】
【実施例】以下、実施例につき詳述する。
【0020】図1に、本発明の第1の実施例の説明に必
要なシーケンサ100の主要部の構成を示す。
【0021】命令キュー110に取り込まれた命令コー
ドが内部バス111に出力され、オペレーション・エン
トリ生成部112がオペレーション・エントリを生成
し、メモリアドレス計算エントリ生成部113がメモリ
アドレス計算エントリを生成し、命令デコーダ114が
信号OPCT115を出力するほか不図示の数々のデコ
ード信号を出力することは、従来例と同様である。
【0022】なお、オペレーション・エントリ生成部1
12が生成するオペレーション・エントリは、ラッチS
MA141に、各命令の制御開始毎に、MSTL/MR
DY信号にて格納される。
【0023】以下では本例のシーケンサの動作を、
(1)処理する命令の2バイト目が第1表に示すアドレ
ッシング・モード部を有しない場合と(2)有する場合
とに分けて、命令の処理開始から終了までを説明する。
【0024】(1)命令の2バイト目に第1表のアドレ
ッシング・モード部を有しない場合従来例と同じく、ア
ドレッシング・モード部を有しないのでOPCT115
がインアクティブとなり、セレクタ120にてパスAの
オペレーション・エントリが選択される。次にセレクタ
130にて、命令の制御開始のタイミング信号MSTL
/MRDYのアクティブにより、パスKのオペレーショ
ン・エントリが選択される。このオペレーション・エン
トリはMIR131にラッチされ、μROM132に格
納されたオペレーション部に対応したマイクロプログラ
ムの開始番地を指定する。そして、該開始番地に格納さ
れたマイクロプログラムの内容がMSTL133にラッ
チされる。MSTL133にラッチされた内容には、マ
イコン各部を制御するための種々の制御信号と、ネクス
トアドレス等からなる。
【0025】また、従来例と同じくMIR131の内容
はSMAM134にラッチされ、そのときのMSTL1
33の制御信号にMSTL/CALL信号が含まれてい
ればSMA141にラッチされる。そして、そのサブル
ーチンからリターンするタイミングでMSTL133か
らMSTL/RET信号が出力されると、戻り番地のパ
スJが選択されることにより、リターンが遂行される。
【0026】オペレーション部に対する一連のマイクロ
プログラムが実行され、その最後のステップでMSTL
133からMSTL/MRDY信号が出力されると、次
の命令に対するシーケンサの処理が開始される。
【0027】(2)命令の2バイト目に第1表のアドレ
ッシング・モード部を有する場合従来例と同じく、アド
レッシング・モード部を有するのでOPCT115がア
クティブとなり、セレクタ120にてパスBのメモリア
ドレス計算エントリが選択される。以下、(1)と同様
に、セレクタ130にて、命令の制御開始のタイミング
信号MSTL/MRDYのアクティブにより、パスKの
メモリアドレス計算エントリが選択、MIR131にラ
ッチされ、μROM132に格納されたメモリアドレス
計算エントリに対応したマイクロプログラムの開始番地
を指定する。そして、該開始番地に格納されたマイクロ
プログラムの内容がMSTS133にラッチされる。
【0028】以降メモリアドレス計算エントリに対応す
る一連のマイクロプログラムが遂行されるが、その最後
のステップではメモリアドレス計算に固有の動作とし
て、MSTL133からMSTL/RET信号が出力さ
れる。すると、セレクタ130ではパスJが選択され、
SMA141に格納されていた、オペレーション・エン
トリがMIR131にラッチされる。
【0029】この後の動作は上記(1)のオペレーショ
ン・エントリに対応する動作と同様であり、オペレーシ
ョン部に対する一連のマイクロプログラムが実行され、
その最後のステップでMSTL133からMSTL/M
RDYが出力されると、次の命令に対するシーケンサの
処理が開始される。
【0030】以上の、本例のシーケンサの2動作を再び
整理して比較してみると、(1)では、命令の1バイト
目のオペレーション部からマイクロプログラムを実行す
るのに対し、(2)では、命令の2バイト目のアドレッ
シング・モード部に対応するメモリアドレス計算の為の
マイクロプログラムをまず実行する。そしてこの計算実
行の最終タイミングに信号MSTL/RETが出力さ
れ、あらかじめ命令処理の開始時にラッチSMA141
に格納していたオペレーション・エントリをもとに命令
の1バイト目(オペレーション部)に対応するマイクロ
プログラムを続行する。
【0031】また、従来例と本例が異なるのは、命令処
理の開始時にオペレーション・エントリを格納するため
に、従来例では専用の1組のラッチが設けられていた
が、本例ではマイクロプログラムのサブルーチンコール
で戻り番地を格納するために使用されるラッチSMA1
41を兼用していること、及び関連するセレクタの構成
とラッチタイミングの論理に違いがあることである。
【0032】なお、(2)で、命令のアドレッシング・
モード部の処理をオペレーション部の処理に対し先行さ
せる理由は従来例と同様、メモリ・データを最初に必要
とするような命令を高速に実行することに適しているた
めである。
【0033】本発明の第2の実施例であるシーケンサ3
00は、図4に示すような、命令の1バイト目がプリフ
ィクス・コードである場合にも対応する。プリフィクス
・コードとは、図2で示したような命令の直前に付加す
るものであり、その命令の動作の一部を変更するなどの
修飾機能を有するものである。
【0034】図4に、シーケンサ300の説明に必要な
シーケンサ100の主要部の構成を示す。実施例1と異
なる点は、内部バス111に接続されたプリフィクスデ
コーダ310とその出力信号PRF311が付加された
ことである。
【0035】プリフィクスデコーダ310は、命令キュ
ー110に取り込まれた命令コードが内部バス111に
出力されると、その1バイト目を入力し、それがプリフ
ィクス・コードであった場合にPRF311をアクティ
ブにし、一方プリフィクス・コードでなかった場合にイ
ンアクティブにする。また、プリフィクス・コードは、
第2図で示した命令の1バイト目(オペレーション部)
と同様にオペレーション・エントリ生成部でオペレーシ
ョン・エントリに変換され、アドレッシング・モード部
を有しない命令と同様に処理される。
【0036】つまりシーケンサ300では、プリフィク
ス・コードは単独の1バイト命令として処理され、後続
の命令は別命令として処理される。但し、プリフィクス
デコーダ310から出力されるPRF311信号や不図
示のその他のプリフィクスに関わるデコード信号は、後
続の命令を修飾するために、この後続の命令の処理が終
了するまで不図示の回路により保持される。
【0037】
【発明の効果】本発明では、メモリ・データを処理の最
初に必要とするような命令を高速に実行する為に必要と
なるオペレーション・エントリを格納するためのラッチ
を、マイクロプログラムのサブルーチンコールで戻り番
地を格納するために使用されるラッチと兼用している。
【0038】このため、同じ目的で従来例で設けられて
いた専用の1組のラッチが、本発明によれば不要とな
り、ハードウェアの増加を抑えている。
【0039】なお、本発明では、オペレーション・エン
トリを格納するためのラッチとサブルーチンコールで戻
り番地を格納するために使用されるラッチとを兼用して
いるため、オペレーション部の実行に先行するメモリア
ドレス計算の実行中はサブルーチンコールを使用できな
いが、メモリアドレスの計算は実際単純でありサブルー
チンコールを要することはないので、不都合を生じるこ
とはない。
【図面の簡単な説明】
【図1】実施例1のシーケンサの主要部の構成図であ
る。
【図2】メモリをリード/ライトする命令の構成図であ
る。
【図3】実施例2のシーケンサの主要部の構成図であ
る。
【図4】プリフィクス・コードの付加されたメモリをリ
ード/ライトする命令の構成図である。
【図5】従来例のシーケンサの主要部の構成図である。
【図6】アドレッシング・モードの種類を示す図であ
る。
【符号の説明】
110 命令キュー 111 内部バス 112 オペレーション・エントリ生成部 113 メモリアドレス計算エントリ生成部 114 命令デコーダ 115 OPCT信号 120,130,140,530 セレクタ 131 MIRラッチ 132 マイクロプログラムROM 133 MSTLラッチ 134 SMAMラッチ 141 SMAラッチ 310 プリフィクス・デコーダ 311 PRF信号 521 SIEMラッチ 522 SIEラッチ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 命令の動作を指定する命令コードのフィ
    ールドからマイクロプログラムの開始番地を生成する第
    1の番地生成手段と、アクセスするメモリのアドレス計
    算方法を指定する命令コードのフィールドからマイクロ
    プログラムの開始番地を生成する第2の番地生成手段
    と、命令の処理開始タイミングには前記第1の番地生成
    手段から生成される開始番地を、一方マイクロプログラ
    ムのサブルーチンコール・タイミングには前記サブルー
    チンからの復帰アドレスを、選択的に格納する番地格納
    手段とを有することを特徴とするマイクロプログラム・
    シーケンサ。
JP11003991A 1991-05-15 1991-05-15 マイクロプログラム・シーケンサ Expired - Fee Related JP2601055B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11003991A JP2601055B2 (ja) 1991-05-15 1991-05-15 マイクロプログラム・シーケンサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11003991A JP2601055B2 (ja) 1991-05-15 1991-05-15 マイクロプログラム・シーケンサ

Publications (2)

Publication Number Publication Date
JPH04337832A JPH04337832A (ja) 1992-11-25
JP2601055B2 true JP2601055B2 (ja) 1997-04-16

Family

ID=14525564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11003991A Expired - Fee Related JP2601055B2 (ja) 1991-05-15 1991-05-15 マイクロプログラム・シーケンサ

Country Status (1)

Country Link
JP (1) JP2601055B2 (ja)

Also Published As

Publication number Publication date
JPH04337832A (ja) 1992-11-25

Similar Documents

Publication Publication Date Title
JP3369227B2 (ja) プロセッサ
US6061779A (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
US4539635A (en) Pipelined digital processor arranged for conditional operation
US5117488A (en) Microprogram controlled microprocessor having a selectively expandable instruction code length including independent description of operand addressing and a type of operation for an operand by single instruction in a common coding scheme
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US20030028754A1 (en) Data processor using indirect register addressing
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US6948049B2 (en) Data processing system and control method
US4674063A (en) Information processing apparatus having a sequence control function
US5909588A (en) Processor architecture with divisional signal in instruction decode for parallel storing of variable bit-width results in separate memory locations
US5247624A (en) Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out
JPH03233630A (ja) 情報処理装置
US6205539B1 (en) Method for manipulating a stack pointer with post increment/decrement operation
JP2601055B2 (ja) マイクロプログラム・シーケンサ
US5677859A (en) Central processing unit and an arithmetic operation processing unit
JPH11316678A (ja) ディジタル信号処理装置及び信号処理システム
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JPH02126321A (ja) 命令コードのデコード装置
JP2583506B2 (ja) データ処理装置
JP2513884B2 (ja) マイクロプロセッサ
JPH0651984A (ja) マイクロプロセッサ
JPH05298088A (ja) マイクロコンピュータ
JP3954159B2 (ja) 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法
JP3182796B2 (ja) 中央演算処理装置
US5109516A (en) Sequence controller for controlling next operating state with a short sequence

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19961126

LAPS Cancellation because of no payment of annual fees