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

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

Info

Publication number
JPH04337832A
JPH04337832A JP11003991A JP11003991A JPH04337832A JP H04337832 A JPH04337832 A JP H04337832A JP 11003991 A JP11003991 A JP 11003991A JP 11003991 A JP11003991 A JP 11003991A JP H04337832 A JPH04337832 A JP H04337832A
Authority
JP
Japan
Prior art keywords
instruction
address
entry
microprogram
mstl
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.)
Granted
Application number
JP11003991A
Other languages
English (en)
Other versions
JP2601055B2 (ja
Inventor
Katsumi Miura
勝己 三浦
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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本特許は、マイクロコンピュータ
に使用され、マイクロプログラミング方式を採用するシ
ーケンサの制御方式に関する。
【0002】
【従来の技術】マイクロ・コンピュータ(以下、マイコ
ン)は高機能化にともない、RISCタイプとCISC
タイプに2極化してきている。RISC(Reduce
d  Instruction  Set  Comp
uter)は命令の種類を少なくかつ単純化する一方、
そのマイコン用の高機能なコンパイラでプログラムを単
純な命令コードに生成させようとするものである。CI
SCは命令の種類を多く(結果的に複雑化)する一方、
そのマイコン用のコンパイラのコード生成を簡単化させ
ようとするものである。ソフトウェアの開発にアセンプ
ラが使用されるか、コンパイラと併用されることの多い
シングルチップ・マイコンでは、CISCタイプを採用
することが多い。
【0003】また、CISCタイプのマイコンは、命令
の実行順序を制御するシーケンサ部と呼ばれるハードウ
ェアに、マイクロプラミング方式を採用することが多い
。マイクロプラミング方式は命令の実行順序をマイクロ
プログラムROMと呼ばれるメモリに格納する方式であ
り、ワイヤード・ロジック方式と比べ複雑な命令を実行
するシーケンサを短期間に作成するのに適している。
【0004】CISCタイプのマイコンが有する命令の
うち、メモリをリード/ライトする命令の形式は図2の
様に、オペレーション部とアドレッシング・モード部と
に分けられることが多い。オペレーション部は命令の動
作(例えばADDやSUB等の演算の種類や、転送など
)を示す。アドレッシング・モード部は、メモリアドレ
スの指定方法(例えば、数値そのものをメモリアドレス
とするダイレクト・アドレッシングや、レジスタの内容
をメモリアドレスとする間接アドレッシング等)を示す
。独立したオペレーション部とアドレッシング・モード
部とを組み合わせて命令を構成することの狙いは、複雑
な命令体系を整然する一方、動作の異なる命令間でドレ
ッシング・モード部を実行するためのマイクロプログラ
ムを共有化することにより、マイクロプログラムROM
の容量を縮小することである。
【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に格納され
たオペレーション毎の実行手順(マイクロプログラム)
の開始番地(以下、オペレーション・エントリ、と呼ぶ
)に変換する。メモリアドレス計算エントリ生成部11
3は、命令コードのアドレッシング・モード部(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が選択され、S
IE522に格納されていたオペレーション・エントリ
が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が選択され、S
MA141に格納されていた、オペレーション・エント
リがMIR131にラッチされる。
【0029】この後の動作は上記(1)のオペレーショ
ン・エントリに対応する動作と同様であり、オペレーシ
ョン部に対する一連のマイクロプログラムが実行され、
その最後のステップでMSTL133からMSTL/M
RDYが出力されると、次の命令に対するシーケンサの
処理が開始される。
【0030】以上の、本例のシーケンサの2動作を再び
整理して比較してみると、(1)では、命令の1バイト
目のオペレーション部からマイクロプログラムを実行す
るのに対し、(2)では、命令の2バイト目のアドレッ
シング・モード部に対応するメモリアドレス計算の為の
マイクロプログラムをまず実行する。そしてこの計算実
行の最終タイミングに信号MSTL/RETが出力され
、あらかじめ命令処理の開始時にラッチSMA141に
格納していたオペレーション・エントリをもとに命令の
1バイト目(オペレーション部)に対応するマイクロプ
ログラムを続行する。
【0031】また、従来例と本例が異なるのは、命令処
理の開始時にオペレーション・エントリを格納するため
に、従来例では専用の1組のラッチが設けられていたが
、本例ではマイクロプログラムのサブルーチンコールで
戻り番地を格納するために使用されるラッチSMA14
1を兼用していること、及び関連するセレクタの構成と
ラッチタイミングの論理に違いがあることである。
【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    セレクタ13
1    MIRラッチ 132    マイクロプログラムROM133   
 MSTLラッチ 134    SMAMラッチ 141    SMAラッチ 310    プリフィクス・デコーダ311    
PRF信号 521    SIEMラッチ 522    SIEラッチ

Claims (1)

    【特許請求の範囲】
  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 true JPH04337832A (ja) 1992-11-25
JP2601055B2 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
JP2601055B2 (ja) 1997-04-16

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
JPH04109336A (ja) データ処理装置
JPS5914840B2 (ja) 半導体メモリ試験用パタ−ン発生装置
US6687808B2 (en) Data processor using indirect register addressing
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
JP2001523022A (ja) データストリーミングのためのコンピュータのプロセッサ及び方法
US4598358A (en) Pipelined digital signal processor using a common data and control bus
JPH03233630A (ja) 情報処理装置
US5390306A (en) Pipeline processing system and microprocessor using the system
US20020199081A1 (en) Data processing system and control method
US6205539B1 (en) Method for manipulating a stack pointer with post increment/decrement operation
US6345353B2 (en) Stack pointer with post increment/decrement allowing selection from parallel read/write address outputs
JP2601055B2 (ja) マイクロプログラム・シーケンサ
US20030009652A1 (en) Data processing system and control method
JP2583506B2 (ja) データ処理装置
JPH0651984A (ja) マイクロプロセッサ
JP2513884B2 (ja) マイクロプロセッサ
JP3954159B2 (ja) 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法
US5109516A (en) Sequence controller for controlling next operating state with a short sequence
US5062036A (en) Instruction prefetcher
JPH0713757A (ja) データ処理装置
JP3182796B2 (ja) 中央演算処理装置
JP2583614B2 (ja) ベクトル演算装置
JP3515018B2 (ja) パイプライン形データ処理装置

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