JPH0324623A - ループ処理制御装置 - Google Patents

ループ処理制御装置

Info

Publication number
JPH0324623A
JPH0324623A JP15904689A JP15904689A JPH0324623A JP H0324623 A JPH0324623 A JP H0324623A JP 15904689 A JP15904689 A JP 15904689A JP 15904689 A JP15904689 A JP 15904689A JP H0324623 A JPH0324623 A JP H0324623A
Authority
JP
Japan
Prior art keywords
loop
register
instruction
instructions
address
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
JP15904689A
Other languages
English (en)
Inventor
Seiji Baba
馬場 清治
Masayuki Fujii
雅之 藤井
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 JP15904689A priority Critical patent/JPH0324623A/ja
Publication of JPH0324623A publication Critical patent/JPH0324623A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はファームウェア命令により制御されるプロセッ
サにおけるファームウエア命令の実行に利用する。本発
明はループ処理におけるファームウェア命令の制御に関
する。
〔概要〕
本発明はファームウエア命令の制御によりループ処理を
実行するプロセッサのループ処理制御装置において、 あらかじめ設定したループ条件が戊立しているときは、
Cループ制御命令のアドレスを保持する(第三の〉レジ
スタの値に、実行させた命令のアドレス数を示すカウン
タの値を加算しこれを制御記憶回路の次に読出す命令の
アドレスとすることにより、 ループ処理を高速に行い、複数の連続したファームウェ
ア命令を繰り返し実行できるようにし、条件分岐と複数
の演算命令からなるループ処理の実行性能を向上させる
ようにしたものである。
〔従来の技術〕
従来、この種のループ処理は少なくとも二つのファーム
ウエア命令を組み合わせて行われていた。
すなわち、条件分岐命令と通常の演算あるいはメモリア
クセス命令によりループ処理が構或されていた。
〔発明が解決しようとする問題点〕
上述した従来のループ処理は、最低二つのファームウェ
ア命令によって構或されており、条件分岐命令と演算あ
るいはメモリアクセス命令が分離しているため、ループ
回数をn回とすると少なくとも2×nステップの実行時
間を必要としていた。
プロセッサの処理速度向上が強く望まれる中で、ループ
処理に関する性能向上は最も大きなテーマの一つであり
、従来技術においてもループの回数の分だけ演算命令を
複数個記述し、少しでも条件判定のオーバヘッドをなく
そうというプログラミング上のテクニックが存在してい
た。
しかし、ループ回数が固定でない場合にはこの方法が使
用できないこと、およびメモリ使用効率が悪いことなど
の欠点があり、ほとんどの場合には条件分岐命令と演算
命令の組み合わせによりループ処理を実現していた。こ
のような場合は本来の演算に関する実行時間の2倍以上
の時間を必要とするために性能向上の妨げになる欠点が
あった。
本発明はこのような欠点を除去するもので、高速にルー
プ処理を行うことができる装置を提供することを目的と
する。
〔問題点を解決するための手段〕
本発明は、ファームウェア命令を格納する制御記憶回路
と、この制御記憶回路より出力されたファームウェア命
令を一時保持する第一のレジスタと、この第一のレジス
タに保持されたファームウェア命令をデコードするデコ
ーダと、このデコード結果を保持する第二のレジスタと
、ループ制御命令中のループの条件が成立しているか否
かを検出する条件検出器と、前記制御記憶回路のアドレ
スを保持する第三のレジスタとを備えたループ処理制御
装置において、前記制御記憶回路のアドレスを計算して
前記第三のレジスタに与える加算器と、繰り返し実行さ
れる命令の数を記憶し1からこの命令の数までの数値を
順次出力し前記加算器に対しアドレスの更新値を人力す
るカウンタとを備えたことを特徴とする。
加算器の人力にセレクタを介して第四のレジスタを設け
、この第四のレジスタは、ループ処理を制御するために
用いられるループ条件、繰り返し実行する命令数、条件
成立時に実行すべき演算が記述されたループ命令数にし
たがってループ制御命令のアドレスを保持させる構戊と
することができる。
〔作用〕
ループ条件が成立している間はループ制御命令が記述さ
れた制御記憶回路のアドレスを保持するレジスタの値に
実行させた命令数を表すカウンタの値を加算して制御記
憶回路のアドレスを生或することによって複数の連続し
たファームウェア命令を繰り返し実行する。
第四のレジスタを設け、セレクタによりこれを切換えて
加算器の入力に与えるようにすると、制御記憶回路の中
で次に読出すべき命令が連続するアドレス以外のアドレ
スに記憶されている場合にも対応できる。
これにより、高速なループ処理を行うことができ、また
複数の連続したファームウェア命令を繰り返し実行する
ことができる。特に1ステップのループ命令の場合には
条件分岐命令と演算命令とを対にして処理するときの2
倍の性能で処理を行うことができ、少ないステップ数で
同様の処理を実行することができる。
〔実施例〕 次に本発明実施例を図面に基づいて説明する。
図は本発明実施例の構或を示すブロック図である。
本発明実施例は、ファームウエア命令を格納する制御記
憶回路lと、この制御記憶回路lより読み出されたファ
ームウェア命令を保持する第一のレジスタ2と、ファー
ムウエア命令をデコードするデコーダ3と、デコーダ結
果を保持する第二のレジスタ4と、ループの条件が戒立
しているか否かを検出する条件検出器5と、次に読み出
すべきファームウェア命令のアドレスを保持する第三の
レジスタ6と、制御記憶回路lのアドレスを計算する加
算器7と、加算器7に入力するオフセット値を生威する
カウンタ8と、ループ制御命令のアドレスを格納する第
四のレジスタ9と、第一および第二のセレクタ10, 
11とを備える。
次に、このように構或された本発明実施例の動作につい
て説明する。
ループ制御命令でない通常の命令は制御記憶回路1から
読み出され、第一のレジスタ2に格納される。次に第一
のレジスタ2のファームウェア命令はデコーダ3に入力
され、命令のデコードが行われ第二のレジスタ4に人力
され実行される。
ファームウェア命令のアドレスは加算器7により生戒さ
れる。第三のレジスタ6には次に読み出すべきファーム
ウエア命令のアドレスが格納される。ループ中でない場
合は第三のレジスタ6の出力をセレクタ1lにより選択
し加算器7に人力する。
カウンタ8からは常に“1″を出力し、加算器7にて加
算することにより次に制御記憶回路1から読み出すファ
ームウェア命令のアドレスを生戊する。
ループ制御命令のみで1ステップのループを実行する場
合には、ループ制御命令中にはルーブすべき命令数とし
てゼロが格納されている。ループ制御命令がデコーダ3
に入力されると、条件検出器5によりループ条件が戒立
しているかどうかがチェックされる。
条件が威立した場合には第一のセレクタlOはデコーダ
3の出力を選択する。ループ条件が成立している間はデ
コーダ3に入力されたファームウェア命令は再度デコー
ダ3に入力されると同時に制御記憶回路1からのファー
ムウエア命令の読み出しは行わない。この操作によりl
ステップのループを実現することができる。
次に、ループ制御命令の後にステップのループを実行す
る場合について説明する。この場合ループ制御命令中に
はループすべき命令数nが格納される。ループ制御命令
がデコーダ3に人力されると、カウンタ8に繰り返し実
行される命令数nがカウントの最大値としてセットされ
る。ループ制御命令のアドレスは第四のレジスタ9に保
持される。条件検出器5によりループ条件が成立してい
ることが確認されると、カウンタ8はlを初期値として
1ずつカウントアップする。
加算器7ではカウンタ8のカウント値とループ制御命令
のアドレスを加算することによって制御記憶回路1から
読み出すべきファームウエア命令のアドレスを生或する
。カウント値が最大値nを越えると、カウント値がゼロ
にリセットされ加算器7では再びループ制御命令のアド
レスが生戊される。
このアドレス生戊機能により制御記憶回路1からはルー
プ制御命令以降のファームウェア命令がn命令分順次読
み出され、第一のレジスタ2およびデコーダ3を経由し
第二のレジスタ4に格納され実行される。カウント値が
ゼロにリセットされると、再び制御記憶回路lからルー
プ制御命令が読み出されループ条件が戊立している間は
同様の繰り返し動作が行われる。
ループ条件が不戊立であった場合は、カウンタ8にセッ
トされた繰り返し実行される命令数nに1を加えて値が
カウンタ8より出力される。加算器7ではカウンタ8の
出力とループ制御命令のアドレスを加えることによって
ループ処理から抜け出すためのアドレス生成が行われる
〔発明の効果〕
以上説明したように本発明によれば、ループ制御命令中
に繰り返し実行すべき命令の個数を記述し、繰り返し個
数がゼロの場合には制御記憶域からの命令読み出しを止
めてデコーダへ入力されたファームウエア命令を再びデ
コーダへ入力することにより、高速なループ処理を行う
ことができる。
また、繰り返し個数がゼロでない場合には繰り返し個数
を最大値とするカウンタのカウント値とループ制御命令
のアドレスを加え、ループ制御命令以降に繰り返し実行
すべき命令を順次実行することにより、複数の連続した
ファームウエア命令を繰り返し実行することができる。
特に1ステップのループ命令では従来の条件分岐命令と
演算命令の対のループ処理の2倍の性能で処理を行うこ
とができ、また、従来のループ処理より少ないステップ
数で同様の処理を行うことができるなどの効果がある。
【図面の簡単な説明】
図は本発明実施例の構戒を示すブロック図。 ■・・・制御記憶回路、2、4、6、9・・・レジスタ
、3・・・デコーダ、5・・・条件検出器、7・・・加
算器、8・・・カウンタ、10、1l・・・セレクタ。

Claims (1)

  1. 【特許請求の範囲】 1、ファームウェア命令を格納する制御記憶回路と、 この制御記憶回路より出力されたファームウェア命令を
    一時保持する第一のレジスタと、 この第一のレジスタに保持されたファームウェア命令を
    デコードするデコーダと、 このデコード結果を保持する第二のレジスタと、ループ
    制御命令中のループの条件が成立しているか否かを検出
    する条件検出器と、 前記制御記憶回路のアドレスを保持する第三のレジスタ
    と を備えたループ処理制御装置において、 前記制御記憶回路のアドレスを計算して前記第三のレジ
    スタに与える加算器と、 繰り返し実行される命令の数を記憶し1からこの命令の
    数までの数値を順次出力し前記加算器に対しアドレスの
    更新値を入力するカウンタとを備えたことを特徴とする
    ループ処理制御装置。
JP15904689A 1989-06-21 1989-06-21 ループ処理制御装置 Pending JPH0324623A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15904689A JPH0324623A (ja) 1989-06-21 1989-06-21 ループ処理制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15904689A JPH0324623A (ja) 1989-06-21 1989-06-21 ループ処理制御装置

Publications (1)

Publication Number Publication Date
JPH0324623A true JPH0324623A (ja) 1991-02-01

Family

ID=15685047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15904689A Pending JPH0324623A (ja) 1989-06-21 1989-06-21 ループ処理制御装置

Country Status (1)

Country Link
JP (1) JPH0324623A (ja)

Similar Documents

Publication Publication Date Title
JPS59174948A (ja) 情報処理装置
JPH02161524A (ja) パイプラインコンピュータに使用する分岐システムとその動作方法
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPH03286332A (ja) デジタルデータ処理装置
US4734877A (en) Vector processing system
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0324623A (ja) ループ処理制御装置
JP2000181707A (ja) 命令制御装置及びその方法
JP2825315B2 (ja) 情報処理装置
JPS6116334A (ja) デ−タ処理装置
JPH0218732B2 (ja)
JPH0338726A (ja) 分岐命令処理装置
JPH04317130A (ja) 分岐命令処理装置
JPH04137169A (ja) 情報処理装置
JPS63197233A (ja) 情報処理装置
JPH02100136A (ja) 情報処理装置
JPH0256027A (ja) ディジタルシグナルプロセッサの並列処理方式
JPH04287227A (ja) 演算処理装置
JPH0431134B2 (ja)
JPH01195532A (ja) マイクロプロセッサー
JPH04167150A (ja) リスト命令処理装置を有する計算機
JPH02217922A (ja) データ処理装置
JPH0319570B2 (ja)
JPH0812599B2 (ja) データ処理装置
JPH05197543A (ja) 情報処理装置の命令デコード方式