JPH0648461B2 - マイクロプログラムの転送レジスタ指定方式 - Google Patents

マイクロプログラムの転送レジスタ指定方式

Info

Publication number
JPH0648461B2
JPH0648461B2 JP62172142A JP17214287A JPH0648461B2 JP H0648461 B2 JPH0648461 B2 JP H0648461B2 JP 62172142 A JP62172142 A JP 62172142A JP 17214287 A JP17214287 A JP 17214287A JP H0648461 B2 JPH0648461 B2 JP H0648461B2
Authority
JP
Japan
Prior art keywords
transfer
register
microprogram
bus
field
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
JP62172142A
Other languages
English (en)
Other versions
JPS6415826A (en
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 JP62172142A priority Critical patent/JPH0648461B2/ja
Priority to KR1019880008584A priority patent/KR940002322B1/ko
Priority to EP88111074A priority patent/EP0298523B1/en
Priority to US07/217,197 priority patent/US4991086A/en
Priority to DE3888740T priority patent/DE3888740T2/de
Publication of JPS6415826A publication Critical patent/JPS6415826A/ja
Publication of JPH0648461B2 publication Critical patent/JPH0648461B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7828Architectures of general purpose stored program computers comprising a single central processing unit without memory
    • G06F15/7832Architectures of general purpose stored program computers comprising a single central processing unit without memory on one IC chip (single chip microprocessors)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の内部バスを有し、マイクロプログラム
制御方式で制御されるマイクロプロセッサの内部バスを
用いてレジスタ転送をする場合に、前記内部バスと同数
のレジスタを1組にして1つの転送レジスタコードで指
定するマイクロプログラムの転送レジスタ指定方式に関
する。
〔従来の技術〕
従来、マイクロプロセッサにおける内部ハードウェア資
源の制御方式はマイクロプログラム方式が主流になって
いる。この制御方式は、マイクロプロセッサ内部にRO
Mを持ち、マイクロプログラム・シークェンサがそのR
OMに書込まれているマイクロコードと呼ばれる符号化
されたコントロールコードを、ROMの1ワードごとに
順次読み出し、デコードしてマイクロプロセッサ内部の
各ハードウェア資源を制御するものである。マイクロプ
ロセッサ内部には、各種の論理演算回路やレジスタがあ
り、マイクロプログラムはコンピュータの機械語と同様
に、レジスタ間のデータ転送、論理演算、条件判断、分
岐などを行なっている。
マイクロプログラムが通常のコンピュータの機械語と異
なるのは、プログラムの汎用性や記述性よりも、実行時
の高速性を優先するため、1つの命令中に、転送命令、
演算命令、条件分岐など、並列に動作し得るすべての機
能を記述し、極力並列動作が可能となるようにしてハー
ドウェア資源を有効に利用しようとしている点である。
このため、通常のマイクロコードは1命令中に複数のフ
ィールドをもち、各機能をそれぞれ独立に記述できるよ
うになっている。
例えば、第2図に示すような内部構成を持つマイクロプ
ロセッサ(レジスタOPA,OPB,RES,COMRはそれぞれオペラ
ンドレジスタA,オペランドレジスタB,演算結果レジ
スタ,通信レジスタを示す)の場合、レジスタ間転送に
選択され得るソースレジスタおよびディスティネーショ
ンレジスタは表1に示されている通りになる。したがっ
て、レジスタ転送を指定する転送レジスタ指定フィール
ドはソース側、ディスティネーション側にそれぞれ3ビ
ット必要となる。また、ALUに指定できる動作が表2
に示されている8通りであるとすると、演算動作を指定
する演算内容指定フィールドは3ビットとなる。さらに
マイクロシークェンサの動作の制御が表3に示すように
4通り可能であり、その中の条件分岐の場合には選択で
きる条件の種類が表4に示した8通りであって、分岐の
アドレス指定が8ビットディスプレースメントの相対ジ
ャンプであるとすると、制御内容を指定するマイクロシ
ーケンサ制御フィールドに2ビット、分岐条件を指定す
る分岐条件指定フィールドに3ビット、分岐アドレス指
定フィールドに8ビット必要であるため、マイクロシー
クェンサの動作を制御するフィールドは13ビットとな
る。よって、第2図のマイクロプロセッサの場合、その
マイクロコードのフィールド割当ては第3図に示すよう
に、22ビット幅となる。なお、表4の「A端子がHighの
時」は、CPUの外部からA端子に入力した信号がハイ
レベルのとき分岐することを示し、同様にB端子に入力
する信号の論理レベルも分岐条件に加え、表4最下欄に
示されている。
さらに、高速化を追求して内部に複数のデータバスを持
つようなマイクロプロセッサや、数値演算プロセッサな
ど、内部レジスタが非常に多く、数種類のデータバスを
持つマイクロプロセッサの場合には、各バスに対して独
立に1つずつの転送フィールドを1命令中に持たなけれ
ばならなくなり、命令語長が非常に長くなってしまう。
例えば、第4図に示すように内部に3種類のバスT,
E,Mを持つマイクロプロセッサの場合には、それぞれ
のバスT,E,Mに対してレジスタ間転送時に選択され
得るソースレジスタおよびディスティネーションレジス
タは表5、表6、表7に示されている通りになる。
この場合、レジスタ転送を指定するフィールドはバスT
使用、バスE使用、バスM使用の3種類の転送に対し、
ソースレジスタおよびディスティネーションレジスタを
指定するためにそれぞれ3ビット必要となり、レジスタ
転送を指定する転送レジスタ指定フィールドだけで合計
18ビットも要する。また、実際にはALUが2つに増え
たため、その演算動作を指定する演算内容指定フィール
ド(表2参照)と分岐の場合に条件の指定を行なう分岐
条件指定フィールド(表4参照)に、EALUに対する指定
かMALUに対する指定かを表すEALU/MALU選択フラグがそ
れぞれに対して1ビットずつ必要となる。したがって、
この場合のマイクロコードの命令語長は第5図に示すよ
うに36ビットにもなってしまう。
このような場合、従来のマイクロプログラム制御方式で
は、表8に示すようにソース側のレジスタをバスの数だ
け1セットにして組合せを固定し、同様にディスティネ
ーション側も組合せを固定して、任意のディスティネー
ション側レジスタセットに対して任意のソース側レジス
タセットの内容をそれぞれのバスを通して転送するとい
う形にして1命令中の転送フィールドを1つにすること
により、命令語長の拡張を防ぐという方法をとってい
た。
第6図は第4図のマイクロプロセッサにおいて転送レジ
スタをセット化した場合のマイクロコードのフィールド
区分の従来例を示す図である。
転送レジスタ指定フィールドは、表8に対応して8ビッ
トであり、第0〜3ビットはディスティネーションレジ
スタ・セット指定フィールド、第4〜7ビットはソース
レジスタ・セット指定フィールドである。第8〜10ビッ
トはEALUもしくはMALUに対する演算内容指定フィールド
であり、第11ビットは演算内容指定フィールドの演算内
容の指定がEALUに対してかMALUに対してかを指定するEA
LU/MALU選択フラグである。第12,13ビットはマイクロ
シークェンサを制御するためのマイクロシークェンサ制
御フィールドであり、第14〜16ビットはマイクロシーク
ェンサ制御フィールドの指定が条件分岐もしくはサブル
ーチン呼出しの場合に、その分岐条件または呼出し条件
を指定する分岐条件指定フィールド、第17ビットは分岐
条件指定フィールドの指定条件がERESに対するものかMR
ESに対するものかを指定するERES/MRES選択フラグであ
り、第18〜25ビットはマイクロシークェンサ制御フィー
ルドが条件分岐もしくはサブルーチン呼出しの場合に、
分岐先アドレスまたはサブルーチンの先頭アドレスを指
定する分岐アドレス指定フィールドである。したがっ
て、この転送レジスタ指定方式ではマイクロコード語長
は26ビットになる。
転送レジスタセットが表8のように固定されていると
き、レジスタ間転送は次のようにして実行される。例え
ばマイクロプログラムの記述中に、 という転送をする必要が生じたとする。この場合、その
まま ERES=TGRO;ESPR=EOPA;MRES=MGRO; (「ソースレジスタ」=「ディスティネーションレジス
タ」とする) と記述できるレジスタセットが表8にないため、まずコ
ード0011のソースレジスタ・セットとコード0000のディ
スティネーションレジスタ・セットを用い、 ERES=TGRO;ERES=EGRO;MRES=MGRO; (1回目の転送)……(2) としてTバスの転送とMバスの転送を行なってから、コ
ード0010のソースレジスタ・セットとコード0111のディ
スティネーションレジスタ・セットを用いて TSPR=NOS;ESPR=EOPA;MSPR=NOS; (2回目の転送)……(3) という転送を行なうことになる。
しかし、この方法では転送レジスタセットに適当な組合
せがないために、1回目の転送でバスTとバスMの転送
に伴い意図しないバスEの転送も行なわれてしまい、EG
ROレジスタを破壊することになる。EGROレジスタの内容
を保存したい場合には というように、EOPAの転送を先に終らせてから(1回目
の転送)、そのレジスタを一時待避用レジスタとしてEG
ROの保存に用い(2回目の転送)、バスTとバスMの転
送を行ないEGROが破壊された後(3回目の転送)、EGRO
を復帰するという複雑な転送シークェンスを行なう必要
がある。
〔発明が解決しようとする問題点〕
上述した従来の、ソースレジスタおよびディスティネー
ションレジスタを1セットにして記述するマイクロプロ
グラムの転送レジスタ指定方式は、1つのセットのすべ
ての転送が必要でないときにも全転送が無条件に行われ
てしまい(転送(2))転送を意図しないディスティネー
ションレジスタの内容が破壊されることが多く、これを
避けるためにプログラマは、転送を意図しないディステ
ィネーションレジスタには、内容が失われても構わない
レジスタを捜すか、または転送レジスタセットに用意さ
れている「NOS(No Select;転送レジスタを指定しな
い)」が選択されるように転送レジスタセット(転送
(3))を捜しつつコーディングをしなければならないの
で、マイクロプログラムの記述性が非常に悪くなるとい
う欠点があり、また、本来ならば使用しない他のレジス
タを退避用レジスタとして用いる転送方式(転送(4))
では、転送シークェンスが複雑になるという欠点があ
る。
〔問題点を解決するための手段〕
本発明のマイクロプログラムの転送レジスタ指定方式
は、 複数の内部バスを有し、マイクロプログラム制御方式で
制御されるマイクロプロセッサの内部バスを用いてレジ
スタ転送をする場合に、前記内部バスと同数のレジスタ
を1組にして1つの転送レジスタコードで指定するマイ
クロプログラムの転送レジスタ指定方式において、 前記マイクロプログラム制御方式の制御コードの転送レ
ジスタ指定フィールドに、前記複数の内部バス中の任意
の内部バスによる転送を禁止する転送禁止フラグをもっ
ている。
〔作用〕
このように、バスごとに転送を禁止できるフラグをマイ
クロコードの中に用意することにより、転送を意図して
いないディスティネーションレジスタの内容が破壊され
ることを防止できるので、マイクロコードの語長をあま
り拡大せずに全レジスタを独立に指定する方法に近い結
果が得られ、それによって、マイクロプログラム記述時
の自由度を向上させることができ、簡単な転送シークェ
ンスで所望のレジスタ転送を実現することができる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明のマイクロプログラムの転送レジスタ指
定方式の一実施例のマイクロコードのフィールド区分を
示す図である。
本実施例のマイクロコードは、第6図の従来のマイクロ
コードに、それぞれ1ビットのバスM転送禁止フラグ、
バスE転送禁止フラグおよびバスT転送禁止フラグを付
加することにより、マイクロコードの語長を3ビット拡
大しただけで、レジスタセット転送時に、転送を意図し
ないディスティネーションレジスタの内容が破壊されな
いようにしたものである。
前記転送(1)を実行する場合には、1回目の転送におけ
るバスEの転送を禁止するだけで、2回の転送、 ERES=TGRO;ERES=EGRO;MRES=MGRO; (1回目の転送) TSPR=NOS;ESPR=EOPA;MSPR=NOS; (2回目の転送) のみによって、従来の方式ではEGROを破壊してしまう転
送シークェンスの場合にも、EGROを破壊せずに所望の転
送(1)を実現することができる。
〔発明の効果〕
以上説明したように本発明は、バスごとに転送を禁止で
きるフラグをマイクロコードの中に用意することによ
り、マイクロコードの語長をあまり拡大せずに全レジス
タを独立に指定する方法に近い結果が得られ、それによ
ってマイクロプログラム記述時の自由度を向上させるこ
とができ、簡単な転送シークェンスで所望のレジスタ転
送を実現することができる効果がある。
【図面の簡単な説明】
第1図は本発明のマイクロプログラムの転送レジスタ指
定方式の一実施例のマイクロコードのフィールド区分を
示す図、第2図は内部バスが1本のマイクロプロセッサ
の内部構成の一例のブロック図、第3図は第2図のマイ
クロプロセッサにおけるマイクロコードのフィールド区
分の従来例を示す図、第4図は内部バスが3本のマイク
ロプロセッサの内部構成の一例のブロック図、第5図は
第4図のマイクロプロセッサにおけるマイクロコードの
フィールド区分の従来例を示す図、第6図は第4図のマ
イクロプロセッサにおいて転送レジスタをセット化した
場合のマイクロコードのフィールド区分の従来例を示す
図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の内部バスを有し、マイクロプログラ
    ム制御方式で制御されるマイクロプロセッサの内部バス
    を用いてレジスタ転送をする場合に、前記内部バスと同
    数のレジスタを1組にして1つの転送レジスタコードで
    指定するマイクロプログラムの転送レジスタ指定方式に
    おいて、 前記マイクロプログラム制御方式の制御コードの転送レ
    ジスタ指定フィールドに、前記複数の内部バス中の任意
    の内部バスによる転送を禁止する転送禁止フラグをもっ
    ていることを特徴とするマイクロプログラムの転送レジ
    スタ指定方式。
JP62172142A 1987-07-09 1987-07-09 マイクロプログラムの転送レジスタ指定方式 Expired - Fee Related JPH0648461B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP62172142A JPH0648461B2 (ja) 1987-07-09 1987-07-09 マイクロプログラムの転送レジスタ指定方式
KR1019880008584A KR940002322B1 (ko) 1987-07-09 1988-07-09 전송 내부 레지스터 지정 방법
EP88111074A EP0298523B1 (en) 1987-07-09 1988-07-11 Resource Control System
US07/217,197 US4991086A (en) 1987-07-09 1988-07-11 Microprogram controlled microprocessor having a plurality of internal buses and including transfer register designation system
DE3888740T DE3888740T2 (de) 1987-07-09 1988-07-11 System zur Ressourcenkontrolle.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62172142A JPH0648461B2 (ja) 1987-07-09 1987-07-09 マイクロプログラムの転送レジスタ指定方式

Publications (2)

Publication Number Publication Date
JPS6415826A JPS6415826A (en) 1989-01-19
JPH0648461B2 true JPH0648461B2 (ja) 1994-06-22

Family

ID=15936343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62172142A Expired - Fee Related JPH0648461B2 (ja) 1987-07-09 1987-07-09 マイクロプログラムの転送レジスタ指定方式

Country Status (5)

Country Link
US (1) US4991086A (ja)
EP (1) EP0298523B1 (ja)
JP (1) JPH0648461B2 (ja)
KR (1) KR940002322B1 (ja)
DE (1) DE3888740T2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4988500A (en) * 1989-09-29 1991-01-29 The Procter & Gamble Company Oral compositions
IT1247640B (it) * 1990-04-26 1994-12-28 St Microelectronics Srl Operazioni booleane tra due qualsiasi bit di due qualsiasi registri
KR100272622B1 (ko) * 1991-05-08 2000-11-15 가나이 쓰도무 데이타 처리장치
JP2665081B2 (ja) * 1991-07-08 1997-10-22 三菱電機株式会社 マイクロコンピュータのレジスタ間データ転送方式
JPH0721035A (ja) * 1993-07-02 1995-01-24 Mitsubishi Denki Eng Kk データ処理装置
JP3619532B2 (ja) * 1993-11-08 2005-02-09 株式会社ルネサステクノロジ 半導体集積回路装置
US5802346A (en) * 1995-06-02 1998-09-01 International Business Machines Corporation Method and system for minimizing the delay in executing branch-on-register instructions
WO1998006038A1 (en) * 1996-08-07 1998-02-12 Sun Microsystems, Inc. Architectural support for software pipelining of loops
JP5441219B2 (ja) * 2009-06-26 2014-03-12 ルネサスエレクトロニクス株式会社 半導体装置及びシリアルインタフェース回路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3644901A (en) * 1969-07-24 1972-02-22 Univ Iowa State Digital system for controlling signal transfers between registers and data buses
US4014006A (en) * 1973-08-10 1977-03-22 Data General Corporation Data processing system having a unique cpu and memory tuning relationship and data path configuration
US3932841A (en) * 1973-10-26 1976-01-13 Raytheon Company Bus controller for digital computer system
FR2253435A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3938098A (en) * 1973-12-26 1976-02-10 Xerox Corporation Input/output connection arrangement for microprogrammable computer
DE2529348A1 (de) * 1975-07-01 1977-01-13 Siemens Ag Verfahren zum verarbeiten von maschinenbefehlen mit bytefeldoperanden in einem mikroprogrammierten prozessor einer datenverarbeitungsanlage
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
US4347566A (en) * 1978-12-11 1982-08-31 Tokyo Shibaura Denki Kabushiki Kaisha Data processor with register file and arithmetic logic circuit on one chip and register means directly connected to the chip
US4342078A (en) * 1979-05-21 1982-07-27 Motorola, Inc. Instruction register sequence decoder for microprogrammed data processor and method
US4412283A (en) * 1980-05-30 1983-10-25 Fairchild Camera & Instrument Corp. High performance microprocessor system
US4482953A (en) * 1980-05-30 1984-11-13 Fairchild Camera & Instrument Corporation Computer with console addressable PLA storing control microcode and microinstructions for self-test of internal registers and ALU
US4509115A (en) * 1982-04-21 1985-04-02 Digital Equipment Corporation Two-port memory controller
IT1155575B (it) * 1982-07-27 1987-01-28 Cselt Centro Studi Lab Telecom Interfaccia multipla di comunicazione tra elaboratore di processo e mezzo trasmissivo numerico
WO1984002799A1 (en) * 1982-12-30 1984-07-19 Ibm A hierarchical memory system including separate cache memories for storing data and instructions
JPS6298434A (ja) * 1985-10-25 1987-05-07 Hitachi Ltd デ−タ処理システム

Also Published As

Publication number Publication date
KR890002766A (ko) 1989-04-11
DE3888740T2 (de) 1994-09-29
EP0298523B1 (en) 1994-03-30
JPS6415826A (en) 1989-01-19
EP0298523A3 (en) 1989-11-08
KR940002322B1 (ko) 1994-03-23
EP0298523A2 (en) 1989-01-11
DE3888740D1 (de) 1994-05-05
US4991086A (en) 1991-02-05

Similar Documents

Publication Publication Date Title
US6446190B1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
JPH06332792A (ja) データ処理装置及びそのデータ読み出し制御回路,データ書き込み制御回路
KR100227277B1 (ko) 컴퓨터에 있어서 스칼라값을 벡터로 기입하는 방법
JPH04172533A (ja) 電子計算機
JP2554050B2 (ja) デ−タ処理方法
EP0035334B1 (en) Data processing system with two level microprogramming
JPH0648461B2 (ja) マイクロプログラムの転送レジスタ指定方式
JPH11272546A (ja) 可変長レジスタ装置
JP2520882B2 (ja) デ−タ処理装置およびデ−タ処理方法
JPS623332A (ja) 情報処理装置
JPH02293931A (ja) 制御装置
JPS63268033A (ja) データ処理装置
JPS6389932A (ja) デ−タ処理装置
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
JP3601758B2 (ja) 情報処理装置及びその処理方法
EP0650614B1 (en) Digital signal processor architecture
JP2671161B2 (ja) レジスタ干渉チェック方式
JPS6355637A (ja) デ−タ処理システム
JP3474347B2 (ja) マイクロコンピュータの命令解読部
JPH09106346A (ja) 並列計算機
JPS6298428A (ja) デ−タ処理システム
Fisher Design and Implementation of an Educational CPU
JPH0683614A (ja) マイクロコンピュータ
JPH04260131A (ja) マイクロプログラム制御方式
JPS62191931A (ja) マイクロプログラム制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees