JPH01311326A - プログラム制御装置 - Google Patents

プログラム制御装置

Info

Publication number
JPH01311326A
JPH01311326A JP14160988A JP14160988A JPH01311326A JP H01311326 A JPH01311326 A JP H01311326A JP 14160988 A JP14160988 A JP 14160988A JP 14160988 A JP14160988 A JP 14160988A JP H01311326 A JPH01311326 A JP H01311326A
Authority
JP
Japan
Prior art keywords
instruction
output
circuit
instructions
program
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
JP14160988A
Other languages
English (en)
Inventor
Teruaki Uehara
輝昭 上原
Atsushi Shinpo
敦 新保
Hideki Kamoi
鴨井 秀樹
Hiromi Ando
安藤 博美
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP14160988A priority Critical patent/JPH01311326A/ja
Publication of JPH01311326A publication Critical patent/JPH01311326A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、ディジタル信号処理プロセッサ(DSP)の
内部に備えられたプログラム制御装置に関する。
(従来の技術) 音声合成装置やディジタルフィルタ等には、その処理デ
ータを高速で演算するためにディジタル信号処理プロセ
ッサが使用されている。
このディジタル信号処理プロセッサの動作プログラムは
、プロセッサの内部に組み込み、あるいは外付けされた
プログラムメモリに格納される。
一般に、プログラムメモリには、プログラムを構成する
各種の命令が実行順にシーケンシャルに格納される。
しかし、ディジタル信号処理プロセッサのプログラムは
、同一命令が繰り返されることが多いことから、プログ
ラムメモリの容量を減少させる目的で種々の工夫が成さ
れている。例えば、連続した同一の命令が縁り返される
場合にはこれを2命令にまとめ(この場合をリピートモ
ードという)、又、同一の命令群が繰り返される場合に
は、繰り返される回数を設定する命令と、実際に繰り返
される命令群と、繰り返しから脱出するジャンプ命令と
にまとめる方法(この場合をループモードという)等が
知られている。この種の手法は、 例えば、 テキサス
インスツルメンツ社のディジタル・シグナル・プロセッ
サ・ユーザーズマニュアル(TM3320C25198
7年) に記載されている。
第2図は、こうした手法の実行が可能な従来のプログラ
ム制御装置のブロック図である。
この図を用いて、従来の装置の基本的な動作を説明する
この装置は、プログラムメモリ1に格納された命令を順
に読み出して、出力端子2から外部回路に向けて出力す
るものである。この装置には、プログラムメモリlから
の命令の読み出しを制御するプログラムカウンタ3と、
プログラムメモリ1から読み出された命令を一蒔格納す
る命令レジスタ4と、その命令の内容を解読し所定の指
示を出力する命令解読回路5とが設けられている。
この装置には、この他にシーケンサ制御部6と、リピー
トカウンタ7と、ループ回路8とが設けられている。
シーケンサ制御部6は、先に説明したリピートモードや
ループモードの場合に、回路各部の動作を制御するタイ
ミング制御回路から構成される。
リピートカウンタ7は、リピートモードの場合に、同一
命令を繰り返し出力するその繰り返し回数を格納するカ
ウンタである。
ループ回路8は、所定の命令群を繰り返し実行する場合
に、そのループの実行回数を格納しておく回路である。
このループ回路8には、スタック8aと減算カウンタ8
bとが設けられている。
1つのループは、減算カウンタ8bにそのループ実行回
数を格納し、これを減算しながら実行回数が零になるま
で実行される。一方、ループの中に更にループがあるよ
うな場合、外側のループ実行回数はスタック8aに一時
格納される。ループ回路8は、このようにして動作する
よく知られた回路である。
この回路において、メモリ解読回路5でプログラムメモ
リ1から読み出された命令が解読されると、その内容に
応じて、シーケンサ制御部6に対し、リピートモードか
ループモードかの指示が出力される。シーケンサ制御部
6は、これによって各回路におけるデータの格納や減算
等の制御を行なうことになる。
以下、各モードについてこの装置の動作を説明する。
先ず、リピートでもループでもない通常のモードの場合
、この装置は、プログラムカウンタ3がシーケンサ制御
部6の指示によって1ずつカウントアツプし、プログラ
ムメモリ1からはアドレス順に命令が命令レジスタ4に
読み出される。命令レジスタ4に読み出された命令は、
出力端子2を介して外部回路に向けてそのまま出力され
ていく。
次に、リピートモードの場合、例えば、1つの命令をn
回繰り返し実行せよという命令がプログラムメモリ1か
ら読み出されると、命令解読回路5はその命令の内容を
解読し、シーケンサ制御部6に対してはリピートモード
の動作を指示する。
シーケンサ制御部6は始めに、リピートカウンタ7に繰
り返し回数nを格納する。そして、次に、プログラムカ
ウンタ3を1だけカウントアツプし、プログラムメモリ
1からリピートされるべき命令の読み出しを行なう。そ
の命令は、命令レジスタ4に格納され、出力端子2から
出力される。
シーケンサ制御部6は、その後、プログラムカウンタ3
のカウント値を保持したまま、命令が一定の周期(これ
を1命令実行時間と呼んでいる)で出力端子2から1回
出力される毎に、リピートカウンタ7中に格納した縁り
返し回数の減算を行なう。そして、リピートカウンタ7
に格納された繰り返し回数が“O”になった場合、リピ
ートモードが終了する。その後は、シーケンサ制御部6
がプログラムカウンタ3を1だけカウントアツプさせ、
次の命令の読み出しに移る。
次に、ループモードの説明をする。
ループモードの場合、ループモード実行命令がプログラ
ムメモリ1から読み出されると、命令解読回路5の指示
により、シーケンサ制御部6はループ回数をループ回路
の減算カウンタ8bに格納する。そして、ループの最初
の命令から順に所定の命令群を読み出し、ループの最後
の命令が読み出された後、ループの最初の命令にジャン
プするという動作を繰り返す。このジャンプ回数が、先
に説明したように、減算カウンタ8bによって管理され
る。
ジャンプを行なう場合、先ず、プログラムメモリ1から
ジャンプ先を指示する命令が命令レジスタ4に出力され
、命令解読回路5及びシーケンサ制御部6によって、そ
のジャンプ先アドレスがプログラムカウンタ3に格納さ
れる。これにより、プログラムメモリ1からジャンプ先
アドレスに格納されたループの最初の命令が読み出され
る。
(発明が解決しようとする課題) ところで、以上のようなプログラム制御装置においては
、例えばリピートモードの場合、繰り返し回数を指示す
るための命令と繰り返されるべき命令の2つの命令が必
要となるため、実際にはn回同−命令を実行させるため
にn+1単位の命令実行時間が必要となる。従って、1
単位分の命令実行時間の無駄が生じてしまう。
又、連続した交番命令、例えば命令Aと命令Bが、A、
B、A、B・・・A、Bというように交互に実行される
場合、ループモードで実行可能であるが、更に無駄時間
が増加してしまうという難点がある。
一方、ディジタル信号処理プロセッサの内部処理速度が
向上した場合、周辺装置の処理速度との間に開きが生じ
、周辺装置への命令転送を行なう場合、命令出力時間を
延長する必要がある。これはリピートモードで実行可能
であるが、やはり無駄時間が増加し、非効率的であると
いう難点がある。
本発明は以上の点に着目してなされたもので、処理の高
速化と多機能化を図ったプログラム制御装置を提イ共す
ることを目的とするものである。
(課題を解決するための手段) 本発明のプログラム制御装置は、プログラムを格納した
プログラムメモリから、前記プログラム、を構成する命
令を所定の順に読み出して、外部回路に向けて出力する
プログラム制御装置において、前記プログラムメモリか
らの前記命令の読み出しを制御するプログラムカウンタ
と、前記プログラムメモリから読み出された命令を一時
格納する複数の命令レジスタと、前記命令の内容を解読
し所定の指示を出力する命令解読回路と、前記各命令レ
ジスタの出力を受け入れて、いずれかの命令レジスタの
出力を選択的に外部回路及び前記命令解読回路に向けて
出力するセレクタと、前記各命令レジスタの前記命令の
格納動作と出力動作と、前記セレクタの選択動作とを制
御する命令しジスタ制御゛回路と、所定の命令を繰り返
し外部回路に向けて出力すべきモードの場合、前記命令
出力の繰り返し回数を表示するリピートカウンタと、前
記命令解読回路の指示を受け、前記リピートカウンタに
表示された繰り返し回数を減算しつつ前記命令レジスタ
制御回路に対し、同一命令の繰り返し出力を指示し、か
つ、前記プログラムカウンタに対し、新たな命令の読み
出しを禁止する繰り返し制御回路と、所定のループに従
って前記プログラムメモリから所定の命令群を繰り返し
読み出すべきモードの場合、前記所定のループの実行回
数を表示するループ回路と、所定の命令の出力時間を延
長するモードの場合、前記所定の命令の出力状態を保持
する延長信号を出力する命令延長回路と、前記命令解読
回路の指示を受け、前記ループ回路の表示を減算しつつ
前記プログラムカウンタの命令読み出し動作の繰り返し
範囲を制御し、かつ、前記命令延長回路が延長信号を出
力している間、前記命令レジスタの出力動作を保持し、
前記プログラムカウンタの新たな命令の読み出し動作を
禁止するシーケンサ制御回路とを備えたことを特徴とす
るものである。
(作用) 以上の装置は、プログラムメモリから読み出された命令
を一時格納する命令レジスタを複数設けて、これらの出
力をセレクタを用いて選択的に外部回路等へ出力するよ
うにしている。従って、いわゆるパイプラインが深くな
り、空き時間中に繰り返し命令の解読が可能になる。そ
の結果、従来のような1単位実行時間の無駄が生じない
又、命令を一時格納する複数の命令レジスタを設けて、
これらを交互にセレクタによって選択してその命令を外
部回路に出力するようにすれば、各命令レジスタに保持
された命令が所定の順に繰り返し出力される。この結果
、一定の命令を組み合わせて繰り返し出力するという要
請に答えられる。この場合、特に、繰り返し命令の解読
が1回で済み、従来と比べ無駄時間の大幅な節約となる
。更に、動作速度の遅い外部回路に対する命令の出力の
場合、その命令の出力状態を一定時間保持する命令延長
回路を設けたので、外部回路との同期をとることが容易
になる。
(実施例) 以下、本発明を図の実施例を用いて詳細に説明する。
(装置のブロック構成) 第1図は、本発明のプログラム制御装置の実施例を示す
ブロック図である。
この装置は、従来と同様に、プログラムを格納したプロ
グラムメモリlから、そのプログラムを構成する命令を
所定の順に読み出して、出力端子2を介して図示しない
外部回路に向けて出力する装置である。
ここで、この装置には、プログラムメモリ1からの命令
の読み出しを制御するプログラムカウンタ3と、プログ
ラムメモリ1から読み出された命令を一時格納する2つ
のレジスタ、即ち、第1の命令レジスタ10と第2の命
令レジスタ11とが設けられている。又、更に、これら
のレジスタ10.11の出力を受け入れて、いずれか一
方の出力を出力端子2及び命令解読回路5に向けて出力
するセレクタ12が設けられている。そしてこの外に、
リピートカウンタ14、繰り返し制御回路15、ループ
回路16、命令延長回路17及びシーケンサ制御回路1
8が設けられている。
命令解読回路5は、セレクタ12から出力された命令を
解読し、シーケンサ制御回路18及び繰り返し制御回路
15に動作のための指示を出力する回路である。又、セ
レクタ12の出力は、プログラムカウンタ3と、リピー
トカウンタ14と、ループ回路16に向けて出力される
よう結線されている。即ち、命令中に含まれるジャンプ
先アドレスはプログラムカウンタ3に向けて出力され、
繰り返し回数はリピートカウンタ14に向けて出力され
、ループ回数はループ回路16に向けて出力される。
続いて、本発明に特有の各回路ブロックの構成と機能を
個別に説明する。
(繰り返し制御回路) 繰り返し制御回路15は、命令解読回路5の指示とシー
ケシサ制御回路18の指示によって動作する回路で、リ
ピートカウンタ14のカウント値を認識し、リピートカ
ウンタ14のカウント値を保持しあるいは減算する動作
を制御する。又、この回路は、プログラムカウンタ3の
カウント値を保持しあるいはカウントアツプさせる制御
を行なう。更に、この回路は、命令レジスタ制御回路1
3に対し、命令レジスタ10.11への命令の格納とセ
レクタの選択の切換用交番信号とを出力するよう制御す
る回路である。具体的には、この回路は、次のような一
定の動作を行なうよう構成されている。
〈動作1〉 リピートカウンタ14の繰り返し回数が“0“であり、
命令解読回路5で解読した命令が通常モードでのものあ
る場合、リピートカウンタ14に保持信号を送り、命令
レジスタ制御回路13に交番信号と格納信号を送る。保
持信号は繰り返し回数をそのまま保持させる信号で、交
番信号により、セレクタ12の選択するレジスタが切換
えられて、そのレジスタから命令が出力され、格納信号
によって、セレクタ12に選択されていない側のレジス
タにプログラムメモリ1から読み出された命令が格納さ
れる。更に、プログラムカウンタ3にカウントアツプす
べき旨の信号を出力する。
〈動作2〉 リピートカウンタ14の繰り返し回数が“O”であり、
かつ、命令解読回路5で解読した命令が未実行の1命令
繰り返しモードである場合、リピートカウンタ14に繰
り返し回数を格納する格納信号を送り、命令レジスタ制
御回路13に交番停止信号と格納停止信号とを送る。即
ち、セレクタ12は、今まで選択していたレジスタの出
力をそのまま維持し、かつ、いずれのレジスタに対して
も、プログラムメモリ1から読み出された命令の格納を
禁止する。更に、プログラムカウンタ3に対し、そのカ
ウント値を保持する保持信号を出力する。
〈動作3〉 リピートカウンタ14の繰り返し回数が“0”であり、
又、命令解読回路5で解読した命令が未実行の2命令繰
り返しモードを意味するものである場合、リピートカウ
ンタ14に対し繰り返し回数の格納のための格納信号を
出力する。そして、命令レジスタ制御回路13に対し、
上記交番信号と格納停止信号を送る。更に、プログラム
カウンタ3に対しカウント値を保持する保持信号を送る
く動作4〉 リピートカウンタ14の緑り返し回数が“0”でなく、
又、命令解読回路5の解読した命令が繰り返し命令でな
い時には、リピートカウンタ14に対しカウント値をそ
のまま保持する保持信号を送り、命令レジスタ制御回路
13に対し交番信号と格納停止信号を送る。更に、プロ
グラムカウンタ3に対しカウント値の保持信号を送る。
〈動作5〉 リピートカウンタ14の繰り返し回数が°゛0”でなく
、又、命令解読回路5で解読した命令が1命令繰り返し
命令である時は、リピートカウンタ14に対し減算信号
を送り、命令レジスタ制御回路13に対し交番停止信号
と格納停止信号とを送る。更に、プログラムカウンタ3
に対しカウント値の保持信号を送る。
〈動作6〉 リピートカウンタ14の繰り返し回数が“0“でなく、
又、命令解読回路5で解読した命令が2命令繰り返しモ
ードである時には、リピートカウンタ14に対し減算信
号を送り、命令レジスタ制御回路13に対し交番信号と
格納停止信号を送り、プログラムカウンタ3に対し保持
信号を送る。
〈動作7〉 動作1から6までの条件に当てはまらないときには、動
作1と同じ動作を行なう。
(リピートカウンタ) さて、次に、リピートカウンタ14は、先に説明したよ
うに、繰り返し制御回路15の制御によって繰り返し回
数を格納し表示するカウンタから構成されており、その
値を保持するか、あるいはその値を減算するか、新たな
カウント値を格納するかの3通りの動作を行なう回路で
ある。又、そのカウント値が“O゛°であるか否かの情
報を、繰り返し制御回路15に対して出力するよう結線
されている。
(シーケンサ制御回路) シーケンサ制御回路18は、上記命令解読回路5の指示
を受けて、ループ回路16及び命令延長回路17からの
出力情報に従って、命令レジスタ制御回路13及びプロ
グラムカウンタ3とループ回路16とを制御する回路で
ある。この回路は、具体的には、次のように動作する。
〈動作1〉 命令解読回路5で解読した命令が、特定の命令を所定時
間延長する延長命令である時、ループ回路16に対しル
ープ回数の保持信号を送り、命令延長回路17に対し延
長信号出力指示を送り、命令レジスタ制御回路13に対
し交番停止信号と格納停止信号を送り、プログラムカウ
ンタ3に対し保持信号を送る。
〈動作2〉 命令延長回路17からの出力情報が延長信号である時、
ループ回路16に対し保持信号を送り、命令レジスタ制
御回路13に対し交番停止信号と格納停止信1号とを送
る。又、プログラムカウンタ3に対し保持信号を送る。
く動作3〉 命令延長回路17からの信号が非延長信号であ、す、更
に、命令解読回路5で解読した命令がジャンプを実行す
る命令である場合、順呑に次の制御を行なう。
第1実行時間:命令レジスタ制御回路13に交番停止信
号と格納停止信号とを送 り、プログラムカウンタ3に格納 信号を送る。これによりプログラ ムカウンタ3は、セレクタ12か ら出力されるジャンプ先アドレス の格納を行なう。
第2実行時間−命令レジスタ制御回路13に対し交番停
止信号と格納停止信号とを 送る。そして、プログラムカラン タ3に対しカウントアツプのため の加算信号を送る。
第3実行時間:命令レジスタ制御回路13に対し交番信
号と格納信号を送る。そし て、プログラムカウンタ3に対し 加算信号を送る。
く動作4〉 命令延長回路17の出力信号が非延長信号であり、命令
解読回路5で解読した命令がループ回数を格納する命令
である場合、ループ回路16に対し格納信号を送る。こ
れによって、ループ回路16は、第2図に示したような
減算カウンタ内にセレクタ12から出力されるループ回
数を格納する。
〈動作5〉 命令延長回路17からの出力信号が非延長信号であり、
更に、命令解読回路5で解読した命令が実行したループ
回数を判定条件とするジャンプ命令である場合、ループ
回路16からの制御信号が非零信号である時、即ち、ル
ープ回路16における減算カウンタのループ回数が“0
”でない場合には、動作2と同様の制御を行なう。但し
、この動作2中、第1実行時間において、ループ回路1
6に対しその減算カウンタを1だけ減算する減算信号を
出力する。
一方、同様のケースでループ回路16からの制御信号が
零信号であるならば、ループ回路16に対し排除信号を
送る。即ち、減算カウンタのループ回数が0°°になっ
た場合には、そのスタックに保持された値を減算カウン
タに格納して、更に、別のループを実行することになる
く動作6〉 上記以外の場−合には、ループ回路16に対し保持信号
を送り、その他の制御信号は出力しない。
(ループ回路) 次に、ループ回路16は、先に第2図で説明したように
、減算カウンタとスタックとから構成されており、次の
ような動作を行なう。
〈動作1〉 シーケンサ制御回路18の制御信号が格納信号の時、減
算カウンタの値をスタックに入れ、その後減算カウンタ
にセレクタ12から出力されたループ回数を格納する。
〈動作2〉 シーケンサ制御回路18からの制御信号が排除信号の場
合、減算カウンタにスタックの値を格納する。
〈動作3〉 シーケンサ制御回路18からの制御信号が減算信号の場
合、減算カウンタの値を1ずつ減算する。尚、このルー
プ回路は、減算カウンタの値が°゛0”である場合には
零信号、○”でない場合には非零信号をシーケンサ制御
回路18に向けて出力するよう構成されている。
〈動作4〉 シーケンサ制御回路18からの制御信号が保持信号の場
合、減算カウンタとスタックの値をそのまま保持する。
(命令延長回路) 次に、命令延長回路17は、シーケンサ制御回路18か
らの制御信号によって動作し、シーケンサ制御回路18
から延長出力指示信号が出力された場合、一定時間だけ
延長信号をシーケンサ制御回路18に向けて出力する回
路である。この回路は、この一定時間をカウントするタ
イマカウンタ等から構成される。尚、この延長信号を出
力している時以外は非延長信号を出力する。
(命令レジスタ制御回路) 命令レジスタ制御回路13は、第1の命令レジスタ10
あるいは第2の命令レジスタ11について、格納動作を
行なうか出力動作を行なうかを指示する制御を行なう一
方、セレクタ12に対し、いずれの命令レジスタ10.
11の出力を選択するかの制御を行なう回路である。
この命令レジスタ制御回路13は、具体的には次のよう
な動作を行なう。
く動作l〉 繰り返し制御回路15やシーケンサ制御回路18から出
力される制御信号が交番信号であって格納信号である場
合には、1命令実行時間毎にセレクタ12が第1の命令
レジスタ10と第2の命令レジスタ11とを交互に選択
するように、セレクタ12に対し制御信号を送る。そし
て、セレクタ12がその出力を選択しているレジスタ以
外のレジスタに対し、プログラムメモリ1から読み出さ
れる命令を格納するよう制御信号を送る。
〈動作2〉 繰り返し制御回路15あるいはシーケンサ制御回路18
からの制御信号が交番信号で、かつ、格納停止信号であ
る時には、1命令実行時間毎にセレクタ12が第1の命
令レジスタ10と第1の命令レジスタ11とを交互に選
択するように、セレクタ12に対し制御信号を送る。そ
して、第1の命令レジスタ10及び第2の命令レジスタ
11に対し、命令の格納を禁止する制御信号を送る。
く動作3〉 繰り返し制御回路15とシーケンサ制御回路18からの
制御信号が交番停止信号であり、かつ、格納信号である
時には、1命令実行時間前と同じレジスタを選択するよ
う、セレクタ12に制御信号を送る。そして、セレクタ
12が選択しているレジスタと異なるレジスタに対し、
プログラムメモリ1から出力された命令を格納する制御
信号を送る。
く動作4〉 繰り返し制御回路15とシーケンサ制御回路18から交
番禁止信号と格納停止信号が出力された場合、l命令実
行時間前と同じレジスタを選択するようにセレクタ12
に対し制御信号を送る。
そして、第1の命令レジスタ10及び第2の命令レジス
タ11に対し格納を禁止する制御信号を送る。
(プログラムカウンタ) 次に、プログラムカウンタ3は、繰り返し制御回路15
あるいはシーケンサ制御回路18からの制御信号により
、カウンタの値を新たに格納し、保持し、あるいはカウ
ントアツプする回路である。このカウント値は、プログ
ラムメモリ1のアドレス信号とされる。尚、繰り返し制
御回路15とシーケンサ制御回路18との制御信号が異
なっているような場合、シーケンサ制御回路18の制御
信号が優先されるよう動作する。
(概略動作) 以上のような構成の本発明のプログラム制御装置は、プ
ログラムメモリ1から命令を読み出し、これを第1の命
令レジスタ10及び第2の命令レジスタ11に格納し、
セレクタ12によってその一方を選択し、出方端子2に
向けて出力する。
ここで、プログラムメモリlから読み出される命令を順
にそのまま出力端子2に出力する通常モードの場合には
、プログラムメモリ1から読み出される命令が、第1の
命令レジスタlOと第2の命令レジスタ11とに交互に
格納され、これがセレクタ12によって交互に選択され
て順に出力される。
一方、1命令繰り返しモードの場合には、リピートカウ
ンタ14に繰り返し回数が格納され、いずれか一方のレ
ジスタ1oあるいは11に格納された命令をセレクタ1
2が選択し、リピートカウンタ14の縁り返し回数が“
0°゛になるまで同一命令が出力される。
更に、2命令を交互に出力する2命令繰り返しモードの
場合には、同じくリピートカウンタ14に繰り返し回数
を格納する一方で、第1の命令レジスタ10に格納され
た命令と第2の命令レジスタ11に格納された命令とを
、交互にセレクタ12が選択し出力端子2に向けて出力
する。その動作が、リピートカウンタ14がO°゛にな
るまで繰り返される。
次に、命令出力時間を延長するモードの場合、命令延長
回路17から一定時間延長信号が出力されるが、この間
、セレクタ12が選択したいずれかのレジスタからの命
令の出力状態が保持される。
ループやジャンプ動作は、従来装置と同様である。
(通常モード) 次に、本発明の装置の動作を、実際の例を用いて更に具
体的に説明する。
先ず、第3図は、本発明の装置の通常モードの動作説明
図である。
この図は、単位実行時間毎に各部の信号の変化を示した
もので、(a)にはその時間をn+1゜n+2・・・と
いうように単位実行時間毎に表示した。又、(b)には
プログラムカウンタ3の出力するアドレス信号を表示し
た。又、(C)には、第1の命令レジスタが命令をセレ
クタ12に向けて出力する状態にあるか、プログラムメ
モリlから入力した命令を格納する状態にあるかを表示
した。(d)には、第2の命令レジスタについて同様の
表示をした。又、(e)には、セレクタ12から出力さ
れる命令をA、B、Cというように表示した。最後に、
(f)には、リピートカウンタ14に格納された繰り返
し回数を表示した。
先ず、通常モードにおいて、時間nにおいては、プログ
ラムカウンタ3の指示するアドレスKに格納された命令
がプログラムメモリ1から読み出される。この命令は、
第2の命令レジスタ11に入力する。その命令の内容は
、図中、Bと表示した。
一方、第1の命令レジスタには、既にこの前の単位実行
時間に命令Aが格納されており、この時間nには第1の
命令レジスタ10から命令Aが出力される。・この場合
、通常モードであるから、リピートカウンタ14の繰り
返し回数は“O”である。
尚、この時間nにおいて、プログラムメモリ1から命令
Bが読み出されると、少し遅れてプログラムカウンタ3
の値が1だけカウントアツプされる。その結果、プログ
ラムカウンタ3の値はに+1となる。
次に、時間n+1においては、このアドレスに+1に格
納された命令Cがプログラムメモリ1から読み出され、
今度はこの命令Cが第1の命令レジスタ10に格納され
る。そして、第2の命令レジスタ11から、先に格納さ
れた命令Bがセレクタ12を介して出力される。この間
に、プログラムカウンタ3の値は更にカウントアツプさ
れ、K+2となっている。
時間n+2においては、今度は命令りが第2の命令レジ
スタ11に格納され、その一方で第1の命令レジスタ1
0から先に格納された命令Cが出力され、これがセレク
タ12を介して出力端子2に出力される。以上の動作の
場合、リピートカウンタ14の繰り返し回数は常に“O
”を表示している。
(l命令繰り返しモード) 次に、第4図は本発明の装置の1命令繰り返しモードの
動作説明図である。
図において、(a)〜(f)までの各項目は、第3図に
示したものと同一である。
先ず、時間nにおいて、プログラムカウンタ3の出力す
るアドレスがKの場合、先に説明したように、第2の命
令レジスタに対し命令Bが格納され、第1の命令レジス
タから既に格納された命令Aの読み出しが行なわれる。
そして、この段階で、リピートカウンタ14にm−1の
値が格納される。
次に、時間n+1においては、プログラムカウンタが1
だけカウントアツプされており、プログラムメモリ1か
らの命令の読み出しが可能であるが、第2の命令レジス
タllの格納が禁止されており、かつ、第1の命令レジ
スタ10の出力がセレクタ12により選択されているの
で、第1の命令レジスタ10に格納された命令Aが続い
て出力される。この場合、リピートカウンタ14の値は
lだけ減算される。又、ここでは、プログラムカウンタ
3の値はそのまま保持される。従って、時間n+2にお
いては、プログラムカウンタは時間n+1と同一のアド
レスを指し、又、第2の命令レジスタ11は格納動作が
禁止され続け、第1の命令レジスタlOから前回同様命
令Aが出力される。そして、リピートカウンタ14の繰
り返し回数が更に1だけ減算される。
これと同一の動作が、リピートカウンタの繰り返し回数
が“O“になるまで、即ち時間n+m−1まで繰り返さ
れる。そして、時間n+mになった場合、第1の命令レ
ジスタ10はプログラムメモリ1から読み出される命令
Cを格納し、第2の命令レジスタ11は先に時間nにお
いて格納した命令Bを出力する。ここでは、リピートカ
ウンタ14の繰り返し回数が既に“O”であるから、プ
ログラムカウンタ14が1だけカウントアツプされて時
間に+2へ進む。時間n + m + 1においては、
プログラムカウンタ3の出力するアドレスはに+3であ
って、第2の命令レジスタ11に対し命令りが格納され
、第1の命令レジスタ1oから先に格納した命令Cが出
力される。
その後は、第3図に説明したと同様の通常モードに移る
尚、この1命令繰り返しモードの開始時には、その旨の
命令がプログラムメモリlから読み出され、命令解読回
路5において解読されて命令実行準備が行なわれる。
従来は、この実行準備に1命令実行時間を費やしていた
しかし、本発明においては、命令レジスタを複数設けて
パイプラインを深くしたので、時間的余裕が生じ、上記
実行準備を各命令の外部回路への出力動作の空き時間に
済ませてしまうことが可能になる。命令解読回路の高速
化を図れば、これが更に容易になる。
その結果、本発明においては、1命令繰り返しのための
命令時間を、その命令の繰り返し出力回数と等しくでき
る。
(2命令繰り返しモード) 第5図は、本発明の装置の2命令繰り返しモードの場合
の動作説明図である。
この図も、(a)〜(f)までの項目は、第3図と同様
である。
図において、時間nにはプログラムカウンタ3はアドレ
スKを出力する。ここで、第2の命令レジスタ11には
プログラムメモリlから命令Bが格納され、第1の命令
レジスタlOからは既に格納された命令Aが出力される
。そして、リピートカウンタ14には、2命令繰り返し
の繰り返し回数d−1が格納される。
次に、時間n+1には、プログラムカウンタ3のアドレ
スかに+1となるが、第1の命令レジスタ10の格納動
作が禁止され、第2の命令レジスタ11からは先に格納
した命令Bが出力される。
この場合、リピートカウンタ14は減算されず、そのま
まの繰り返し回数d−1が保持される。
又、プログラムカウンタ3もその後に+1のアドレスを
保持される。これは第4図で説明したのと同様である。
時間n+2においては、第2の命令レジスタ11の格納
動作が禁止された状態で、第1の命令レジスタ10から
先に格納された命令Aが出力される。ここで、リピート
カウンタ14は1だけ減算され、その繰り返し回数がd
−2となる。
次に、時間n+3では、今度は第1の命令レジスタ10
の格納動作が禁止され、第2の命令レジ、スタ11から
、先に格納された命令Bが出力される。この場合、リピ
ートカウンタ14の繰り返し回数は、再びd−2に保持
される。
このように、2命令繰り返しモードの場合、第1の命令
レジスタ10と第2の命令レジスタ11にそれぞれ命令
A、Bを格納し、リピートカウンタ14の値を2単位動
作時間毎に1ずつ減算して、命令を交互にA、B、A、
Bというように出力していく。これがリピートカウンタ
14の繰り返し回数が”Oパになるまで繰り返される。
そして、この動作の最後の時間n+2xd−1において
、プログラムカウンタ3の示す直前のアドレスに+1の
命令Cが、プログラムメモリ1から第1の命令レジスタ
10に格納される。この時点では、第2の命令レジスタ
11から命令Bが出力される。この時プログラムカウン
タ3はに+2となる。その後は通常モートに移行する。
そして、その次の時間n+2xdにおいては、プログラ
ムカウンタ3の示すアドレスはに+3となり、第2の命
令レジスタ11に命令りが格納される一方、第1の命令
レジスタ10から先に格納された命令Cが出力される。
上記説明から明らかなように、本発明の装置では、2命
令の繰り返しが1命令の繰り返しと全く同FMの操作で
実行される。従って、ループモード等を利用するよりも
はるかに無駄時間が少なくなる。
(命令出力時間延長モード) 第6図には、本発明の装置の命令出力時間延長モードの
動作説明図を示す。尚、この出力時間延長モードにおい
ては、その命令は常に、例えば2単位動作時間出力状態
が保持されるものとする。
第6図の(a)〜(e)までの表示は、第3図の表示と
同様である。又、第6図の動作の場合、リピートカウン
タ14は不要であって、その図示は省略した。
図において、時間nにおいては、プログラムカウンタ3
はアドレスKを出力し、このアドレスKに格納された命
令Bがプログラムメモリ1から出力され、第2の命令レ
ジスタ11に格納される。
そして、第1の命令レジスタ1oからは既に格納された
命令Aが出力される。
次に、時間n+1においては、プログラムカウンタ3は
1だけカウントアツプされに+1となるが、第2の命令
レジスタ11がその格納動作を禁止され、その一方で第
1の命令レジスタから命令Aが続けて出力される。
次に、時間n+2に向かうが、このときプログラムカウ
ンタ3の値かに+1に保持されている。
そして、第1の命令レジスタ10にプログラムメモリ1
のアドレスに+1の命令Cが格納される。
このとき、第2の命令レジスタ11からは、時間nにお
いて格納した命令Bが出力される。
次の時間n+3においては、プログラムカウンタ3は1
だけカウントアツプされるが、第1の命令レジスタ10
が格納動作を禁止されており、第2の命令レジスタ11
が時間n+2に続いて命令Bを出力する。
以上のようにして、同一の命令AあるいはBが、それぞ
れ自動的に2単位実行時間ずつ続けて出力端子2から出
力されることになる。
この動作の場合、第4図の1命令繰り返しモードをΔの
命令につき2回、Bの命令につき2回というように実行
したのと同様の結果となる。ところが、この出力時間延
長モードにおいては、リピートカウンタの制御を必要と
しない。通常、この装置に接続された外部回路の応答時
間は予め分っているから、その時間に対応した時間を命
令延長回路17に設定しておけば、そのような外部回路
に対して命令を出力する場合、その命令を自動的に容易
に延長することが可能である。
又、上記第4図〜第6図までに示した動作は、いずれも
それぞれのモードを実行するための準備時間に相当する
ものが存在しない。即ち、各モードの実行終了時には、
常に次の命令がいずれかの命令レジスタに格納されてい
るため、直ちに次のモードに移行することができる。
(ジャンプモート) 第7図に、本発明の装置のジャンプモードの動作説明図
を示す。
このジャンプモードは、ループ回路16が動作した場合
のジャンプ先アドレスのプログラムカウンタ3への格納
等を伴う動作である。
この図においても、(a)〜(e)までの表示は、今ま
での各モードの表示と同様である。
時間nにおいて、プログラムカウンタ3の示すアドレス
に−1に基づいて、プログラムメモリ1から第2の命令
レジスタ11に対し命令Bが格納されると1.第1の命
令レジスタ10からは既に格納されている命令Aが出力
される。この命令△にジャンプ命令及びジャンプ先アド
レスが含まれているが、プログラムカウンタ3は、ジャ
ンプ命令、の認識以前に1だけカウントアツプされる。
そして、この場合、第1の命令レジスタ10は命令Aを
そのまま出力し続け、第2の命令レジスタ11には命令
Cが格納される。
この時間n+1において、プログラムカウンタ3に対し
ジャンプ先アドレスPか格納され、時間n+2において
、そのアドレスPに格納された命令Xが第2の命令レジ
スタに格納される。プログラムカウンタ3のアドレスも
カウントアツプされP+1となる。この時点でも、第1
の命令レジスタ10からは先に格納された命令Aが出力
される。そして、時間n+3において、プログラムカウ
ンタ3のアドレスがカウントアツプされ、P+2となっ
て命令Yが第1の命令レジスタ10に格納される一方、
第2の命令レジスタ11からは先に格納された命令Xが
出力される。
(その他) 本発明は以上の実施例に限定されない。
上記実施例においては、プログラムメモリ3から読み出
される命令を格納するレジスタを2つ設け、それらを交
互に使用する例を示したが、これが3つ以上設けられて
いれば、更に複雑な繰り返し命令の実行が可能である。
(発明の効果) 以上説明した本発明のプログラム制御装置によれば、同
一命令を複数回繰り返し出力する場合に、これを1命令
にまとめることが可能であり、まとめた後の命令実行時
間がその命令の繰り返し出力回数と等しくなり、無駄な
時間を生じない。
又、0回連続する交番命令を2命令にまとめることが可
能であり、まとめた後の命令実行時間が2XN単位実行
時間となり、無駄時間を生じない。
更に、本発明の装置は、所定の命令についてその出力時
間を一定時間随時延長することができ、この場合には、
繰り返し回数の格納等の処理を必要とせず、無駄時間を
生じることなく、かつ、簡便な動作が可能である。
従って、プロセッサ内部の処理速度と周辺装置の処理速
度の差が拡大されつつある高速ディジタル信号処理プロ
セッサについて、そのプログラムの汎用化が可能となる
更に、本発明によれば、パイプライン処理を意識せずに
ループ動作を実現することが可能となる。その結果、特
にプログラムメモリを内蔵したディジタル信号処理プロ
セッサについて、その小型化を達成することが可能とな
る。
【図面の簡単な説明】
第1図は本発明のプログラム制御装置の実施例を示すブ
ロック図、第2図は従来のプログラム制御装置の実施例
を示すブロック図、第3図は本発明の装置の通常モード
の動作説明図、第4図は本発明の装置の1命令繰り返し
モードの動作説明図、第5図は本発明の装置の2命令繰
り返しモードの動作説明図、第6図は本発明の装置の命
令出力時間延長モードの動作説明図、第7図は本発明の
装置のジャンプモードの動作説明図である。 1・・・プログラムメモリ、2・・・出力端子、3・・
・プログラムカウンタ、5・・・命令解読回路、10・
・・第1の命令レジスタ、 11・・・第2の命令レジスタ、12・・・セレクタ、
13・・・命令レジスタ制御回路、 14・・・リピートカウンタ、 15・・・繰り返し制御回路、16・・・ループ回路、
17・・・命令延長回路、 18・・・シーケンサ制御回路。 特許出願人 沖電気工業株式会社 第1図 第2図 (a)時間         n     n+1  
   n+2     n+3(b)アドレス    
(K   )  (K+1  )  (K+1  ) 
 (K+2  )(c)第1の命令レジスタ (出力A
)(出力A)(入力C)(−)(d)第2の命令レジス
タ (入力B)(−)(出力B)(出力B )(e)出
力命令    (A   )(A   )(B   )
(B   )(a)時間         n    
  n+1     n+2     n+3(b)ア
ドレス     (K   )  (P   )  (
P+l )  (P+2  )(c)第1の命令レジス
タ (出力A)(出力A)(出力A)(入力Y )(d
)第2の命做ジスタ (入力B)(入力C)(入力X)
(出力X )(e)出力命令    (A  )(へ 
 )(A   )(X   )本発明の装置のジャンプ
モードの動作説明図第7図 (a)時間        n    n+1   n
+2   n+3  ・・・(b)アドレス     
(K  )  (K+1)  (K+1)  (K+1
)  ・・・(c)第1の命令レジスタ (出力A)(
・)(出力A)(・)  ・・・(d)第2の命令レジ
スタ (入力B)(出力B)(・)(出力B) ・・・
(e)出力命令    (A)(B)(A)(B)  
・・・(f)  リピートカウンタ         
(d・1)   (d・1)   (d・2)   (
d・2)    ・・・本発明の装置の2命令繰− 第5 n+2Xd−4n+2Xd−3n+2Xd−2n+2X
d−1n+2Xd(K+1  )  (K+1  ) 
 (K+1  )  (K+2  )  (K+3  
)(出力A)(−)(出力Δ )(入力C)(出力C)
(−)(出力B)(−)(出力[3)(人力D )(A
 )(B )(A )(B )(C))返しモート説明
図 図

Claims (1)

  1. 【特許請求の範囲】 プログラムを格納したプログラムメモリから、前記プロ
    グラムを構成する命令を所定の順に読み出して、外部回
    路に向けて出力するプログラム制御装置において、 前記プログラムメモリからの前記命令の読み出しを制御
    するプログラムカウンタと、 前記プログラムメモリから読み出された命令を一時格納
    する複数の命令レジスタと、 前記命令の内容を解読し所定の指示を出力する命令解読
    回路と、 前記各命令レジスタの出力を受け入れて、いずれかの命
    令レジスタの出力を選択的に外部回路及び前記命令解読
    回路に向けて出力するセレクタと、 前記各命令レジスタの前記命令の格納動作と出力動作と
    、前記セレクタの選択動作とを制御する命令レジスタ制
    御回路と、 所定の命令を繰り返し外部回路に向けて出力すべきモー
    ドの場合、前記命令出力の繰り返し回数を表示するリピ
    ートカウンタと、 前記命令解読回路の指示を受け、前記リピートカウンタ
    に表示された繰り返し回数を減算しつつ前記命令レジス
    タ制御回路に対し、同一命令の繰り返し出力を指示し、
    かつ、前記プログラムカウンタに対し、新たな命令の読
    み出しを禁止する繰り返し制御回路と、 所定のループに従って前記プログラムメモリから所定の
    命令群を繰り返し読み出すべきモードの場合、前記所定
    のループの実行回数を表示するループ回路と、 所定の命令の出力時間を延長するモードの場合、前記所
    定の命令の出力状態を保持する延長信号を出力する命令
    延長回路と、 前記命令解読回路の指示を受け、前記ループ回路の表示
    を減算しつつ前記プログラムカウンタの命令読み出し動
    作の繰り返し範囲を制御し、かつ、前記命令延長回路が
    延長信号を出力している間、前記命令レジスタの出力動
    作を保持し、前記プログラムカウンタの新たな命令の読
    み出し動作を禁止するシーケンサ制御回路とを備えたこ
    とを特徴とするプログラム制御装置。
JP14160988A 1988-06-10 1988-06-10 プログラム制御装置 Pending JPH01311326A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14160988A JPH01311326A (ja) 1988-06-10 1988-06-10 プログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14160988A JPH01311326A (ja) 1988-06-10 1988-06-10 プログラム制御装置

Publications (1)

Publication Number Publication Date
JPH01311326A true JPH01311326A (ja) 1989-12-15

Family

ID=15295998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14160988A Pending JPH01311326A (ja) 1988-06-10 1988-06-10 プログラム制御装置

Country Status (1)

Country Link
JP (1) JPH01311326A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50138746A (ja) * 1974-04-23 1975-11-05
JPS5890244A (ja) * 1981-11-24 1983-05-28 Hitachi Ltd デ−タ処理装置
JPS58117050A (ja) * 1981-12-30 1983-07-12 Fujitsu Ltd デ−タシヨリソウチ
JPS58225439A (ja) * 1982-06-25 1983-12-27 Toshiba Corp マイクロプログラム制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50138746A (ja) * 1974-04-23 1975-11-05
JPS5890244A (ja) * 1981-11-24 1983-05-28 Hitachi Ltd デ−タ処理装置
JPS58117050A (ja) * 1981-12-30 1983-07-12 Fujitsu Ltd デ−タシヨリソウチ
JPS58225439A (ja) * 1982-06-25 1983-12-27 Toshiba Corp マイクロプログラム制御装置

Similar Documents

Publication Publication Date Title
JPH04121085A (ja) ディジタルパルス処理装置
JPH01311326A (ja) プログラム制御装置
JPH01311325A (ja) プログラム制御装置
JPH0224721A (ja) プログラム制御装置
JPS6027031A (ja) 情報処理装置
JPH04227540A (ja) 演算処理装置及びディジタル信号処理プロセッサ
JPH02110739A (ja) マルチタスク用中央処理装置
JPS62156738A (ja) プログラム制御装置
JP2731166B2 (ja) プログラマブルコントローラ
JPH0224719A (ja) プログラム制御装置
JP3117214B2 (ja) シーケンサのマイクロプログラム制御方式
JPS63141131A (ja) パイプライン制御方式
JPS59160239A (ja) 情報処理装置
JP2825315B2 (ja) 情報処理装置
JPH01253032A (ja) マイクロプログラム制御型プロセッサ
JPS60247742A (ja) パイプライン演算制御装置
JPH02287624A (ja) データ処理装置
JP3060917B2 (ja) プロセッサ
JPH02176971A (ja) ベクトル演算装置
JPS61175734A (ja) 処理選択方式
JPS61182135A (ja) 処理選択方法
JPH05344257A (ja) デジタル複写機
JPH01152540A (ja) データ処理装置
JPH0750157B2 (ja) パタ−ン発生器
JPS6269350A (ja) マイクロプロセツサ