JPH02306338A - マイクロプログラム制御装置 - Google Patents

マイクロプログラム制御装置

Info

Publication number
JPH02306338A
JPH02306338A JP2350590A JP2350590A JPH02306338A JP H02306338 A JPH02306338 A JP H02306338A JP 2350590 A JP2350590 A JP 2350590A JP 2350590 A JP2350590 A JP 2350590A JP H02306338 A JPH02306338 A JP H02306338A
Authority
JP
Japan
Prior art keywords
signal
loop counter
transfer
branch
instruction
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
JP2350590A
Other languages
English (en)
Inventor
Yumiko Ushimaru
牛丸 由美子
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
Publication of JPH02306338A publication Critical patent/JPH02306338A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロプログラム制御装置に関するもので
ある。
〔従来の技術〕
従来、マイクロプログラム制御装置において、文字列ま
たはビット列の転送命令(ストリング命令と呼ぶ)は、
転送すべき文字列またはビット列の長さを転送するため
に要するバイト数をループカウンタと呼ばれるレジスタ
に設定し、バイトの単位の転送をおこなう処理ループを
ループカウンタの回数だけ繰り返すことによって実行し
ていた。
ストリング命令の終了には、 ■、ループカウンタがO1になる。
2、外部からの割り込みによる中断 などの条件がある。ここでは、簡単のために終了条件と
I−て1.の条件のみを想定する。
第4図は従来の方式のマイクロプログラム制御装置の内
部ブロック図である。第4図において、401はマイク
ロプログラムが格納されている読みだし専用のマイクロ
ROM、402は、マイクロROM401の実行アト1
/スを保持しているプログラムカウンタ、403はプロ
グラムカウンタ402を設定するマルチプレクサ、40
4はデコーダ、405は分岐制御ユニット、406はプ
ログラムカウンタ402を1ずつ増加するためのインク
リメンタ、407はストリング命令の転送バイト数を格
納するループカウンタ、408はループカウンタ407
を1ずつ減少するためのデクリメンタ、409はループ
カウンタ408が101になったときに1′となる信号
である。
ストリング命令の実行開始時には、実行すべきマイクロ
命令の先頭アドレスがプログラムカウンタ402に設定
される。プログラムカウンタ402の指すアドレスから
読み出されたマイクロ命令はデコーダ404に供給され
、各種の制御/データ信号により所定の処理が開始され
る。ストリング命令の処理では、前処理とI−で転送バ
イト数をループカウンタ407に格納し、その後のバイ
トの単位の転送をおこなう処理ループをループカウンタ
4070回数だけ繰り返す。
いま、信号409が”1′であるときに分岐を生じさせ
る条件分岐命令をJZLCと呼ぶことにする。デコーダ
404が条件分岐命令JZLCをデコードすると、分岐
制御ユニット405は信号409を調べる。信号409
が1′のときは信号410が1°になり、マルチプレク
サ403はプログラムカウンタ402に対して、デコー
ダ404から供給されたJZLCの分岐先アドレスを設
定する。一方、信号409がO′のときは信号410は
“0゛であり、マルチプレクサ403はインクリメンタ
406から供給されたアドレスをプログラムカウンタ4
02に設定する。
〔発明が解決しようとする課題〕
従来の方式に示したマイクロプログラム制御装置は、ス
トリング命令の実行では、転送すべき文字列またはビッ
ト列の長さを転送するために要するバイト数をループカ
ウンタと呼ばれるレジスタに設定し、バイト単位の転送
をおこなう処理ループをループカウンタの回数だけ繰り
返す。したかって、ストリング命令の終了は、命令ルー
プが所定回数おこなわれたときに発生する制御信号をチ
ェックすることによっておこなわれる。
すなわちストリング命令の実行時には転送するデータの
バイト数分の転送命令と条件分離命令が実行されること
になりストリング命令の実行時間が長くなる欠点がある
したがって、本発明の目的はマイクロプログラム制御装
置におけるストリング命令の実行を高速化することであ
る。
〔課題を解決するための手段〕
本発明のマイクロプログラム制御装置は、ループカウン
タの少なくとも最下位ビットを除いてビットで決まる値
が所定の値に達したことを分岐条件として分岐制御を実
行する第1の分岐手段と、ループカウンタの最下位ビッ
トを含むビットで決まる値が所定の値に達したことを分
岐条件とl−て分岐制御を実行する第2の分岐手段とを
有しており、まず第1の分岐制御手段による分岐制御を
実行し、しかる後に第2の分岐制御手段による分岐制御
を実行することにより、文字列またはビット列の転送処
理が終了したかどうかを判断することを特徴としている
すなわち、本発明では、必要なバイト数の文字列または
ビット列転送を、まず第1の分岐制御手段によってワー
ド単位での転送を必要な回数だけ実行し、しかる後に、
第2の分岐制御手段によってバイトa位の転送を行なっ
ている。かくして、ストリング命令の実行が高速化され
る。
〔実施例〕
以下、本発明について図面を用いて詳細に説明する。
第1図は本発明の一実施例におけるマイクロプログラム
制御装置の内部ブロック図である。第2図はストリング
命令実行時のフロチャートである。
第1図において、lOlはマイクロプログラムが格納さ
れている読み出し専用のマイクロROM、102はマイ
クロROMI 01の実行アドレスを保持しているプロ
グラムカウンタ、103はプログラムカウンタ102を
設定するマルチプレクサ、104はデコーダ、105は
分岐制御ユニット、106はプログラムカウンタ102
を1ずつ増加するためのインクリメンタ、107はスト
リング命令の転送バイト数を格納するループカウンタ、
108はループカウンタ107を更新するための減算器
、109は本発明に従って設けられたループカウンタ1
07のカウント値検出回路(LCVD)である。このL
CVDl 09は、本実施例では、ループカウンタ10
7の全ビットで決まる値が10゛になったときに1′の
アクティブレベルをとる信号110を発生し、ループカ
ウンタ107の下位の2ビツトを除く残りのビットで決
まる値が0°になったときに1′のアクティブレベルを
とる信号111を発生する。これら信号110,111
は分岐条件信号としてユニット105に供給される。ま
た、本実施例では、信号110が“1′であるときに分
岐を生じさせる条件分岐命令をJZLC,信号111が
1゛であるときに条件分岐命令をJZMLCと呼ぶこと
にする。
第5図を参照すると、LCVDl 09は三つのAND
り−)109−1〜109−3を有している。ループカ
ウンタ107は32ビツトのカウンタであり、その下位
2ビツトno(最下位ビット:LSB)お、J:びB1
はANDゲート109−2の反転入力にそれぞれ供給さ
れ、残りの30ビツトB2〜B31はANDゲーl−1
09−1+7)反転入力にそれぞれ供給されている。A
NDゲート109−1の出力は信号117として取り出
さレルトトモニ、AND’l−) 109−3にAND
ゲー)109−2の出力とともに供給される。ANDゲ
ート109−3の出力が信号110として取り出されて
いる。したがって、ループカウンタ107の下位2ビッ
トBO,Blを除く残りのピッ)82〜B31で決定さ
れる値がo″となると、信号111は“1′°となり、
ループカウンタ107の全ビットBO〜B31で決まる
値が“0″となると信号110は“ビとなる。
次に、本実施例によるマイクロプログラム制御装置にJ
:るストリング命令の実行動作を説明する。
本実施例においては、ストリング命令の実行開始時には
、同命令を実行するための一連のマイクロ命令の先頭ア
ドレスがプログラムカウンタ102に設定される。プロ
グラムカウンタ102の指すアドレスから読み出された
マイクロ命令はデコーダ104に供給され、各種の制御
/データ信号により所定の処理が開始される。
まず、第2図のステップ20で示されるように、ストリ
ング命令のための前処理がおこなわれる。
この前処理では、転送元の文字列あるいはビット列の先
頭アドレス指定、転送先のアドレス指定、転送される文
字列あるいはビット列の長さを転送するために要するバ
イト数を計算等が実行される。
ステップ21では、ステップ20で計算された転送バイ
ト数がループカウンタ107に設定される。
その後、ステップ22において条件分岐命令JZMLC
が実行される。マイクロROMI 01から条件分岐命
令JZMLCが読み出されると、デコーダ104は分岐
先アドレスに関する情報をマルチプレクサ103に与え
ると同時に、分岐制御ユニッ)105に対して信号11
1を調べることを指示する。信号111が0″の場合は
、分岐制御ユニット105は出力信号112を0゛ と
じ、分岐処理をおこなわない。マルチプレクサ103は
インクリメンタ106からのアドレス情報をプログラム
カウンタ102に設定する。この結果、条件分岐命令J
ZMLCの次のアドレスの命令がマイクロROMl0I
から読み出され、ステップ23で示すようにワード単位
のデータが転送される。本実施例では、1ワードは4バ
イトで構成されている。したがって、この条件分岐命令
JZMLCの実行により、ループカウンタ107は減算
器108により、4だけ減算される。ステップ22とス
テップ23の処理は、信号111がl°になるまで繰り
返される。この間、ループカウンタはJZMLCの実行
の度に4ずつ減算される。
信号111が“1′ となると、分岐制御ユニット10
5の出力信号112が1゛になるため、分岐処理がおこ
なわれる。マルチプレクサ103はデコーダ104から
の分岐先アドレス情報なブログラムカウンタ102に設
定する。この結果、条件分岐命令JZMLCの分岐先ア
ドレスの命令が読み出され、ステップ24で示されるよ
うに条件分岐命令JZLCが実行される。条件分岐命令
J Z L CがマイクロROMl0Iから読み出され
ると、デコーダ104は分岐先アドレスに関する情報を
マルチブl/クサ103に与えると同時に、分岐制御ユ
ニッ)105に対して信号110を調べることを指示す
る。信号110だ0′の場合は、分岐制御ユニット10
5の出力信号112は0°であるため、分岐処理はおこ
なわれない。
マルチプレクサ103はインクリメンタ106からのア
ドレス情報をプログラムカウンタ102に設定する。こ
の結果、条件分岐命令JZLCの次のアドレスの命令が
読み出され、ステップ25で示されるようにバイト単位
のデータが転送される。
この条件分岐命令JZLCの実行により、ループカウン
タ107は減算器108により Il+ だけ減算され
る。ステップ24とステップ25の処理は、信号110
がl′になるまで繰り返される。
この間、ループカウンタは条件分岐命令J Z L C
の実行の度に1ずつ減算される。
信号110が1°になると、分岐制御ユニット105の
出力信号112が“1′になるため、分岐処理がおこな
われる。マルチブl/クサ103はテコータ104から
の分岐先アドレス情報をプログラムカウンタ102に設
定する。この結果、条件分岐命令JZLCの分岐先アド
レスの命令がマイクロROMl0Iから読み出され、ス
テップ26で示されるようにス)・リング命令終了処理
がおこなわれる。
次に、本発明の他の実施例について説明する。
前述の実施例では、ストリング命令の転送バイト数を格
納するループカウンタを唯一保持した場合のマイクロプ
ログラム制御装置であった。本実施例は、スl−’Jソ
ング令における転送元の文字列あるいはビット列の長さ
を指定するためのループカウンタと、転送先の文字列あ
るいはビット列の長さを指定す、るためのループカウン
タの両方のループカウンタを保持した場合のマイクロプ
ログラム制御装置である。
第3図は本発明の他の実施例におけるマイクロプログラ
ム制御装置の内部ブロック図である。第3図において、
301はマイクロプログラムが格納されている読み出し
専用のマイクロROM、302はマイクロROM301
の実行アト1/スな保持しているプログラムカウンタ、
303はプログラムカウンタ302を設定するマルチプ
レクサ、304はデコーダ、305は分岐制御ユニット
、306はプログラムカウンタ302を1ずつ増加する
ためのインクリメンタ、307はストリング命令の転送
元の転送バイト数を格納するループカウンタ、308は
ループカウンタ307を更新するための減算器、309
はループカウンタ307のカウント値を検出する第1の
検出回路(LCVD#1と略す)、310はストリング
命令の転送先の転送バイト数を格納するループカウンタ
、311はループカウンタ310を更新するための減算
器、312はループカウンタ3100カウント値を検出
する検出回路CLCVD#2と略す)である。LCVD
#1 309はループカウンタ307の全ビットで決ま
る値が0゛になったときに1′ となる信号313を発
生し、ループカウンタ307の下位2ビツトを除いたビ
ットで決まる値が°0′になったときに“1゛となる信
号314を発生する。同様に、LCVD$2 312は
ループカウンタ310の全ビットで決まる値が0゛にな
ったときに°l′となる信号315を発生し、ループカ
ウンタ31.0の下位2ビツトを除いたビットで決まる
値が“0′になったときに1゛となる信号316を発生
する。317は信号313と信号315の論理和をとる
OR回路、318は信号314と信号316の論理和を
とるOR回路、319はOR回路317からの出力信号
、320はOR回路318からの出力信号である。また
、本実施例では、信号319が°l゛であるときに分岐
を生じさせる条件分岐命令をJ ZLC,信号320が
l゛であるときに条件分岐命令をJZMLCと呼ぶこと
にする。
本実施例は、ストリング命令における転送元のバイト数
を指定するためのループカウンタ307と、転送先のバ
イト数を指定するためのループカウンタ310とを設け
、分岐制御ユニット305に対して、信号313と信号
315を入力とするOR回路317の出力信号319と
、信号314と信号315を入力とするOR回路318
の出力信号320を入力するようにしたものである。こ
れにより、転送元と転送先のバイト数が異なるストリン
グ命令の実行をおこなう。
マイクロROM301から条件分岐命令、ZMLCが読
み出されると、デコーダ304は分岐先アドレスに関す
る情報をマルチプレクサ303に与えると同時に分岐制
御ユニット305に対して信号320を調べることを指
示する。マイクロROM301から条件分岐命令JZL
Cが読み出されると、デコーダ304は分岐先アドレス
に関する情報をマルチプレクサ303に与えると同時に
、分岐制御ユニット305に対して信号319を調べる
ことを指示する。これらの条件分岐命令において、分岐
制御ユニツ)305によって調べられる信りが1°の場
合には、信号321が1′となり、分岐が生じる。
〔発明の効果〕
以上説明したように、本発明では、ストリング命令の実
行時に、転送すべき文字列またはビット列の長さを転送
するために要するバイト数をループカウンタと呼ばれる
レジスタレこ設定し、まずワード単位の転送をおこなう
処理ループを必要な回数だけ繰り返した後に、バイト単
位の転送をおこなう。これによって、データの転送命令
と転送が終了I−だかどうかを調べるための条件分岐命
令の実行回数を減少することができる。いま、整数aを
整数すで割った商を(a  div  b)、余りを(
aΦod  b)で示すことにすると、mバイトの文字
列の転送命令の場合には、従来方式では、(m+1)回
の条件分岐命令の実行とm回のバイト即位の転送処理の
実行が必要なのに対して、本発明では、((m div
 4) +(m mod  4) +2)回の条件分岐
命令と(m div 4)回のワード単位の転送処理と
(m mod 4)回のバイト単位の転送処理を実行す
れば良い。
たとえば、12バイトの文字列の転送命令の場合には、
従来方式では13回の条件分岐命令と12回のワード単
位の転送処理の実行が必要なのに対して、本発明では、
5回の条件分岐命令と4回のワード単位の転送の実行で
済ますことができる。
このように、本発明はストリング命令の実行を高速化す
る効果がある。
なお、1ワードが2バイトでなる場合は、LCVD10
9,309,312は対応するループカウンタの最下位
ビットのみを除いたビットで決まる値が“0”(7)と
きニ”l” ノ信号111.314゜316をそれぞれ
発生することになる。
【図面の簡単な説明】
第1図は本発明の一実施例におけるマイクロプログラム
制御装置の内部ブロック図、第2図は本発明の実施例に
おけるストリング命令の実行時のフロチャート、第3図
は本発明の他の実施例におけるマイクロプログラム制御
装置の内部ブロック図、第4図は従来の方式のマイクロ
プログラム制御装置の内部ブロック図、第5図はループ
カウント値検出回路の回路図である。 109・・・・・・ループカウンタ107の下位2ビツ
トをマスクするハードウェア(MHWと略す)、110
・・・・・・ループカウンタ107が0′になったとき
にl′となる信号、111・・・・・・MHW109に
よるマスク結果が0′になったときに1′となる信号、
309・・・・・・ループカウンタ307の下位2ビツ
トをマスクするハードウェア(MHWと略す)、312
・・・・・・ループカウンタ310の下位2ビツトをマ
スクするハードウェア(MHWと略t)、313・・・
・・・ループカウンタ307が“0″になったときにl
′となる信号、314・・・・・・MHW309による
マスク結果が0′になったときにl° となる信号、3
15・・・・・・ループカウンタ310が0′になった
ときにt1+ となる信号、316・・・・・・MHW
312によるマスク結果が0′になったときに1” と
なる信号。 躬 /閲 第2回 第、、3圓 葛4図

Claims (1)

    【特許請求の範囲】
  1. 文字列またはビット列の転送に必要なバイト数を格納す
    るループカウンタと、前記ループカウンタの内容を更新
    する手段と、前記ループカウンタの少なくとも最下位ビ
    ットを除くビットで決まる値が所定の値に達したことを
    分岐条件として分岐制御を実行する第1の分岐制御手段
    と、前記ループカウンタの最下位ビットを含むビットで
    決まる値が所定の値に達したことを分岐条件として分岐
    制御を実行する第2の分岐制御手段とを備え、文字列ま
    たビット列の転送処理が終了したかどうかを、前記第1
    の分岐制御手段による分岐制御を実行し、しかる後に前
    記第2の分岐制御手段による分岐制御を実行することに
    より、判定することを特徴とするマイクロプログラム制
    御装置。
JP2350590A 1989-02-03 1990-01-31 マイクロプログラム制御装置 Pending JPH02306338A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2486389 1989-02-03
JP1-24863 1989-02-03

Publications (1)

Publication Number Publication Date
JPH02306338A true JPH02306338A (ja) 1990-12-19

Family

ID=12150055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2350590A Pending JPH02306338A (ja) 1989-02-03 1990-01-31 マイクロプログラム制御装置

Country Status (2)

Country Link
EP (1) EP0381225A3 (ja)
JP (1) JPH02306338A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223282B1 (en) 1997-12-29 2001-04-24 Samsung Electronics Co., Ltd. Circuit for controlling execution of loop in digital signal processing chip

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57153341A (en) * 1981-03-19 1982-09-21 Mitsubishi Electric Corp Microprogram processing system
JPS6453233A (en) * 1986-12-01 1989-03-01 Nec Corp Microprocessor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5856164A (ja) * 1981-09-30 1983-04-02 Toshiba Corp デ−タ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57153341A (en) * 1981-03-19 1982-09-21 Mitsubishi Electric Corp Microprogram processing system
JPS6453233A (en) * 1986-12-01 1989-03-01 Nec Corp Microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223282B1 (en) 1997-12-29 2001-04-24 Samsung Electronics Co., Ltd. Circuit for controlling execution of loop in digital signal processing chip

Also Published As

Publication number Publication date
EP0381225A3 (en) 1991-08-07
EP0381225A2 (en) 1990-08-08

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US5596733A (en) System for exception recovery using a conditional substitution instruction which inserts a replacement result in the destination of the excepting instruction
US4833640A (en) Register bank change including register to register transfer in a data processing system
EP0357188A2 (en) Pipelined processor
JPH0831032B2 (ja) データ処理装置
JPH0348537B2 (ja)
KR970003321B1 (ko) 코프로세서 지정 시스템
JPH1083305A (ja) 自己整合スタック・ポインタを有するデータ処理システムおよびその方法
JPH04188229A (ja) 浮動小数点演算処理装置
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JPH02306338A (ja) マイクロプログラム制御装置
JPH0377137A (ja) 情報処理装置
KR930005767B1 (ko) 마이크로프로그램 제어를 기초로한 데이타 처리장치
JPS6242301B2 (ja)
JPH02191042A (ja) 割込み制御方式
JP2574918B2 (ja) 割り込み復帰処理方式
JP2850377B2 (ja) マイクロコンピュータ
JP3168663B2 (ja) 情報処理装置
JPH0764822A (ja) マイクロコンピュータ
JP2597744B2 (ja) 分岐制御方法
JP2871171B2 (ja) マイクロコンピュータ
JPH02277130A (ja) マイクロプロセッサ
JPH02254541A (ja) 条件分岐命令の制御方式
JPH01156824A (ja) マイクロプロセッサ
JPS58217054A (ja) デ−タ処理装置