JPH03228133A - プログラム制御回路 - Google Patents

プログラム制御回路

Info

Publication number
JPH03228133A
JPH03228133A JP2408690A JP2408690A JPH03228133A JP H03228133 A JPH03228133 A JP H03228133A JP 2408690 A JP2408690 A JP 2408690A JP 2408690 A JP2408690 A JP 2408690A JP H03228133 A JPH03228133 A JP H03228133A
Authority
JP
Japan
Prior art keywords
instruction
address
loop
register
executed
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
JP2408690A
Other languages
English (en)
Inventor
Yoshiko Kozu
神津 由子
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 JP2408690A priority Critical patent/JPH03228133A/ja
Publication of JPH03228133A publication Critical patent/JPH03228133A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム制御回路に関し、特にマイクロプ
ロセッサなどのプログロムによって制御される装置のプ
ログラムの流れを制御するプログラム制御回路に関する
〔従来の技術〕
近年、高速且つ、高精度な集積回路の発生に伴い、マイ
クロプロセッサはその構成が複雑になってきており、1
00種類以上もの命令を持っている。この命令の中には
ループ命令がある。これは、例えばあるレジスタの値L
CがI−c≠0の間は、ある範囲内の命令を繰返すとい
う命令である。LC=Oになるとこのループ命令がら抜
け、次の命令を実行する。この命令実行の制御を行うの
がプログラム制御回路てあり、そのフローチャートを第
4図に示す。
次に、このフローチャートについて説明する。
まず、ステップS2+でレジスタの値L Cを繰返し処
理を行う回数に設定する。
続いてループ命令を開始する。
ステップS22で繰返し行う処理を1回分行つ。
ステップ823でレジスタの値LCから” 1 ”を引
< (LC−(L(’−>1 ) )。
ステップ23の処理でボローが発生しなければJMP命
令でステップS21に飛び(S2425)、ボローが発
生したならばJMP命令をオール“°0゛°に置換え非
実行(No  0PERAT”1ON)としてループ処
理から抜ける(s24S26) そしてJMP命令の次の処理を行う。
このループ処理をアセンブラ記述のプログラムで示すと
第5図のようになる。
第5図に示すように、レジスタ(LC)からボローが発
生した場合、命令記憶部のアドレスレジスタは、JMP
命令を指しているが、このJMP命令をオール“Oパに
置き換えて、非実行(N。
0PERATION)としている。このことによって、
JMP命令を回避してループ命令から抜は出し、次の命
令を実行する。
〔発明が解決しようとする課題〕
上述した従来のプログラム制御回路は、ループ処理から
抜は出す時、JMP命令をオール°“o゛にして非実行
(No  0PERATION>としており、1回ルー
プ命令を実行すると非実行(No  0PERATIO
N)という何も動作しない命令を必ず1同案行(通過)
する構成となっているので、ループ命令が何回も使われ
ているプログラムでは、それだけ無意味な命令を実行し
ていることになり、マイクロプロセッサ等の性能が低下
するという欠点がある。
本発明の目的は、無意味な命令の実行を除去し、マイク
ロプロセッサ等の性能を向上することができるプログラ
ム制御回路を提供することにある。
〔課題を解決するための手段〕
本発明のプログラム制御回路は、所定のプログラムを記
憶しておき指定されたアドレスから前記プログラムの命
令を読出す命令記憶部と、この命令記憶部から読出され
た命令を一時保持する命令レジスタと、この命令レジス
タに保持された命令がループ命令であるときカウント値
をこのループ命令のもつループ繰返し回数に設定し、ル
ープ処理が実行されるごとに前記カウント値をデクリメ
ントしボローが生じたらボロー信号をアクティブレベル
にして出力する繰返し回数カウンタ回路と、前記命令レ
ジスタに保持された命令がループ命令であるときこの命
令のもつループ命令終了後実行する命令のアドレスを格
納するループ後アドレスレジスタと、実行する命令のア
ドレスを発生するアI・レスカウンタと、このアドレス
カウンタの発生するアドレスを一時保持するアドレスレ
ジスタと、ボロー信号がアクティブレベルになると前記
ループ後アドレスレジスタに保持されているアドレスを
選択し、前記ボロー信号がアクティブレベルでないとき
前記アドレスレジスタに保持されているアドレスを選択
して前記命令記憶部のアドレスを指定するマルチプレク
サとを有している。
〔作用〕
上述した従来のプログラム制御回路に対して本発明は、
ループ命令から抜ける手法に違いがある。ループ命令を
開始する時、繰返し回数カウンタ回路に繰返し処理の回
数を設定すると同時に、ループ命令から抜は出した時に
次に行う命令のアドレスを、ループ後アドレスレジスタ
に設定しておく。また、アドレスカウンタの値もアドレ
スレジスタに格納する。このループ後アドレスレジスタ
とアドレスレジスタの出力をマルチプレクサに入力し、
繰返し処理を実行している時、縁遅し回数カウンタ回路
からボロー信号が発生しなけれは、マルチプレクサはア
ドレスレジスタのアドレスを選択し、命令記憶部のこの
アドレスから命令を読出し実行する。また、繰返し処理
を実行している時、繰返し回数カウンタ回路からボロー
信号が発生したならば、マルチプレクサはループ後アド
レスレジスタ側のアドレスを選択し、命令記憶部のこの
アドレスから命令を読出し実行する。また、マルチプレ
クサが繰返し回数カウンタ回路からのボロー信号でルー
プ後アドレスレジスタのアドレスを選択すると同時に、
アドレスカウンタにもループ後アドレスレジスタの値を
書込む。このようにすることにより、無駄な命令を実行
しなくてもループ命令から抜は出すことができる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明の第1の実施例を示すブロック図である
この実施例は、所定のプログラムを記憶しておき指定さ
れたアドレスからこのプログラムの命令を読出す命令記
憶部1と、この命令記憶部1から読出された命令を一時
保持する命令レジスタ2と、この命令レジスタ2に保持
された命令がループ命令であるときカウント値をこのル
ープ命令のもつループ繰返し回数に設定し、ループ処理
が実行されるごとにこのカウント値をデクリメントしボ
ローが生じたらボロー信号BRをアクティブレベルにし
て出力する繰返し回数カウンタ回路3と、命令レジスタ
2に保持された命令がループ命令であるときこの命令の
もつループ命令終了後実行する命令のアドレスを格納す
るループ後アドレスレジスタ6と、実行する命令のアド
レスを、ボロー13号BRがアクティブレベルのときは
ループ後アドレスレジスタ6の値を格納して発生するア
ドレスカウンタ4と、このアドレスカウンタ4の発生す
るアドレスを一時保持するアドレスレジスタらと、ボロ
ー信号がアクティブレベルになるとループ後アドレスレ
ジスタ6に保持されているアドレスを選択し、ボロー信
号がアクティブレベルでないときアドレスレジスタ5に
保持されているアドレスを選択して命令記憶部4のアド
レスを指定するマルチプレクサ7とを有する構成となっ
ている。
次に、この実施例の動作について説明する。
第2図はこの実施例の動作を説明するための命令のフロ
ーチャートである。
命令記憶部1には、所定のプログラムが格納されており
、このプログラムにはループ命令も含まれている。ルー
プ命令には、繰返し回数とループ命令終了後に実行する
命令のアドレスとが含まれている。
命令レジスタ2に読出された命令がループ命令であると
き、繰返し回数カウンタ回路3のカウント値LCをルー
プ命令のもつ繰返し回数に設定すると共に、ループ後ア
ドレスレジスタ6に、このループ命令のもつループ命令
終了後に実行する命令のアドレスを格納する。(ステッ
プSl)繰返し回数カウンタ回路3は、ループ命令の次
の命令でカウント値LCをディクリメントする。
(ステップS2) アドレスカウンタ4は実行すべきアドレスを順次発生し
アドレスカウンタ5へ格納する。
繰返し回数カウンタ回路3から出力されるボロー信号B
Rがアクティブレベルでない間は、マルチプレクサ7に
よりアドレスレジスタ5のアドレスが選択されて命令記
憶部1のアドレスが指定され、その命令が読出されて繰
返し処理が実行され、JMP命令が読出されるまで続く
。(ステップS3,54) J’ M P命令が読出されるとステップS2に戻る。
(ステップS5) ステップS3でボロー信号BRがアクティブレベルにな
るとくボロー発生)、マルチプレクサ7によりループ後
アドレスレジスタ6のアドレスが選択され、命令記憶部
1のこのアドレスから命令が読出されて実行される。ま
た、このボロー信号BRがアクティブレベルになると同
時にループ後アドレスレジスタ6の値をアドレスカウン
タ4に設定する。このように、ボロー信号BRがアクテ
イブレベルになることにより、命令記憶部1のアドレス
がマルチプレクサ7で選択され、ループ命令から抜出す
ことができる。この後は、ループ命令終了後のアドレス
がアドレスカウンタ4に設定されていることから、ルー
プ命令終了後はこのアドレスカウンタ4でアドレスが生
成され、命令が実行される。この場合、最初に設定され
た繰返し回数をNとすると、所定の処理を(N−1)同
実行してループ処理から抜出すことになる。(ステップ
S6) 第3図は本発明の第2の実施例を説明するための命令の
フローチャートである。
この第2の実施例が第1の実施例と相違する点は、繰返
し回数カウンタ凹i¥83のカウント値のチクリメント
するタイミングを、第1の実施例では繰返し処理実行前
に行ってホローの発生を検出しているのに対し、第2の
実施例では繰返し処理実行後に行ってボローの発生を検
出している点にある。
従って、この場合、最初に設定された繰返し回数をNと
すると、所定の処理をN回実行してループ処理から抜出
すことになる。
〔発明の効果〕
以上説明したように本発明は、ループ命令のもつループ
繰返し回数の設定とループ命令終了後の命令のアドレス
の格納を行い、ループ繰返し回数に対応した回数だけ所
定の処理を繰返し実行してボローが発生したとき、格納
されていたループ命令終了後の命令のアドレスにより次
の命令を実行する構成とすることにより、従来例の無意
味な命令の実行なしに繰返し処理から抜出すことができ
るので、マイクロプロセッサ等の性能を向上させること
ができる効果がある。
【図面の簡単な説明】
第1図及び第2図はそれぞれ本発明の第1の実施例を示
すブロック図及びこの実施例の動作を説明するための命
令のフローチャート、第3図は本発明の第2の実施例を
説明するための命令フローチャート、第4図及び第5図
はそれぞれ従来のプログラム制御回路の一例を説明する
だめの命令のフローチャート及びプログラムのアセンブ
ラ記述を示す図である。 1・・・命令記憶部、2・・・命令レジスタ、3・・・
繰返し回数カウンタ回路、4・・・アドレスカウンタ、
5・・・アドレスレジスタ、6・・・ループを憂アドレ
スカウンタ、7・・・マルチプレクサ、S1〜S6.S
ll・・・S14.S21〜S26・・・ステップ。

Claims (1)

    【特許請求の範囲】
  1. 所定のプログラムを記憶しておき指定されたアドレスか
    ら前記プログラムの命令を読出す命令記憶部と、この命
    令記憶部から読出された命令を一時保持する命令レジス
    タと、この命令レジスタに保持された命令がループ命令
    であるときカウント値をこのループ命令のもつループ繰
    返し回数に設定し、ループ処理が実行されるごとに前記
    カウント値をデクリメントしボローが生じたらボロー信
    号をアクティブレベルにして出力する繰返し回数カウン
    タ回路と、前記命令レジスタに保持された命令がループ
    命令であるときこの命令のもつループ命令終了後実行す
    る命令のアドレスを格納するループ後アドレスレジスタ
    と、実行する命令のアドレスを発生するアドレスカウン
    タと、このアドレスカウンタの発生するアドレスを一時
    保持するアドレスレジスタと、ボロー信号がアクティブ
    レベルになると前記ループ後アドレスレジスタに保持さ
    れているアドレスを選択し、前記ボロー信号がアクティ
    ブレベルでないとき前記アドレスレジスタに保持されて
    いるアドレスを選択して前記命令記憶部のアドレスを指
    定するマルチプレクサとを有することを特徴とするプロ
    グラム制御回路。
JP2408690A 1990-02-01 1990-02-01 プログラム制御回路 Pending JPH03228133A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2408690A JPH03228133A (ja) 1990-02-01 1990-02-01 プログラム制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2408690A JPH03228133A (ja) 1990-02-01 1990-02-01 プログラム制御回路

Publications (1)

Publication Number Publication Date
JPH03228133A true JPH03228133A (ja) 1991-10-09

Family

ID=12128585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2408690A Pending JPH03228133A (ja) 1990-02-01 1990-02-01 プログラム制御回路

Country Status (1)

Country Link
JP (1) JPH03228133A (ja)

Similar Documents

Publication Publication Date Title
JPH05158687A (ja) プログラム制御方法及びプログラム制御装置
KR19980020676A (ko) 디에스피의 명령어블록 반복처리 방법
JP5141151B2 (ja) 動的再構成回路およびループ処理制御方法
JPS6019028B2 (ja) 情報処理装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JPS6242301B2 (ja)
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JPH05224711A (ja) プログラマブルコントローラの制御方法
JPS63208124A (ja) マイクロプログラム制御装置
JPH06250870A (ja) デジタルシグナルプロセッサ
JPH01114944A (ja) パイプライン方式プロセツサ
JPH07210403A (ja) タスク切換システム
JPH01284969A (ja) イテレーション演算回路
JPS59189407A (ja) シ−ケンス制御装置
JPH08313602A (ja) Lsi試験パタ−ン発生器
JPS6210736A (ja) マイクロ命令の先取り制御方式
JPH02217924A (ja) データ処理装置のストア処理方式
JPH01284926A (ja) 演算装置の命令読出方式
JPS61241843A (ja) 情報処理装置
JPH03127160A (ja) データ処理装置
JPH03233703A (ja) シーケンス制御装置
JPH0398163A (ja) ベクトルデータ処理装置
JPH05197543A (ja) 情報処理装置の命令デコード方式
JPH10320380A (ja) ベクトル処理装置
JPH01284970A (ja) イテレーション演算回路