JPS6359174B2 - - Google Patents

Info

Publication number
JPS6359174B2
JPS6359174B2 JP58240172A JP24017283A JPS6359174B2 JP S6359174 B2 JPS6359174 B2 JP S6359174B2 JP 58240172 A JP58240172 A JP 58240172A JP 24017283 A JP24017283 A JP 24017283A JP S6359174 B2 JPS6359174 B2 JP S6359174B2
Authority
JP
Japan
Prior art keywords
stack
instruction
loop
program counter
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.)
Expired
Application number
JP58240172A
Other languages
English (en)
Other versions
JPS60132242A (ja
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 filed Critical
Priority to JP58240172A priority Critical patent/JPS60132242A/ja
Publication of JPS60132242A publication Critical patent/JPS60132242A/ja
Publication of JPS6359174B2 publication Critical patent/JPS6359174B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
産業上の利用分野 本発明は、一連の命令群を、予め設定した回数
分高速にくりかえし実行するためのプログラム制
御装置に関するものである。 従来例の構成とその問題点 近年、半導体技術の急速な発展により、マイク
ロプロセツサはますます高機能化、高速化される
方向にある。この一つの例がデイジタル信号処理
に適した構造を持つデイジタルシグナルプロセツ
サ(以下DSPと記す)である、DSPはデイジタ
ル信号処理の大きな特徴である。 Z=oi=1 xiyi ………(1) の積和演算を高速に計算できるように演算部を構
成してある。第1図にこの一例を示す。第1図に
おいて1,2はメモリであり3,4はそれぞれメ
モリ1,2に対してアドレスを与えるポインタで
ある。5はメモリ1、メモリ2の出力間で乗算を
行う乗算器であり、6は加算器である。7は加算
器6の出力を累積してゆくアキユムレータであ
る。 次に第1図の動作について説明する。(1)式にお
いてxiはメモリ1にyiはメモリ2に夫々格納して
おく。そしてポインタ3、ポインタ4がさし示す
アドレスのxi、yiを夫々読み出して乗算器5でxi
yiを求める。またそれと並行して前回乗算器5で
求めたxi-1yi-1とアキユムレータ7の内容を加え
る。すなわち乗算器5と加算器6を同時に動作さ
せパイプライン処理を行う。この結果、最終的に
アキユムレータ7に(1)式のZが求まる。 しかしながら(1)式を実行するためには、xiyi
n回実行したかを判定する必要がある。従来はこ
の判定も第1図に示す演算部で行つていたため、
この判定を行う時点でパイプライン処理は連続と
はならず、高速演算処理を目的とした第1図の演
算部の特徴は十分に活かされていなかつた。 発明の目的 本発明は上記従来の問題点を解消するもので、
高速演算処理を目的としたDSPのようなプロセ
ツサにおいて、その演算部の特徴を十分に活かす
ことのできるプログラム制御装置を提供する事を
目的とする。 発明の構成 本発明は、命令コードを記憶するプログラムメ
モリと、前記プログラムメモリの出力を一時記憶
する命令レジスタと、前記命令レジスタの出力の
一部または後述のスタツクのスタツクトツプ上の
データでプリセツトされ前記プログラムメモリに
アドレスを与えるプログラムカウンタと、前記命
令レジスタ内の命令コードに含まれるループ回数
及び前記プログラムカウンタの出力であるアドレ
スを記憶するスタツクと、前記スタツクにアドレ
スを与えるスタツクポインタと、前記スタツクト
ツプ上のデータの中でループ回数の部分を読出し
て1だけ減じると共にその結果が零であるか否か
の判定信号を出力するデクリメンタと、前記命令
レジスタ内の命令コード、前記デイリメンタから
の判定信号及び外部から与えられる条件に基き、
制御信号を出力する制御部とを備えたプログラム
制御装置であり、演算とプログラムの繰返し実行
の判定を並行して行う事により演算部の使用効率
を上げると共に、繰返しを行うプログラムの先頭
アドレスを命令で示すのではなく、スタツクを用
いて指し示すことにより、短い命令語長でこれを
実現すると共に、多重の繰返し処理も可能とする
ことができるものである。 実施例の説明 第2図に本発明の一実施例を示す。第2図にお
いて10は命令コードを記憶するプログラムメモ
リ、11はプログラムメモリ10にアドレスを与
えるプログラムカウンタ、12はプログラムメモ
リ10の内容を一時記憶する命令レジスタ、13
はスタツクでありプログラムカウンタ11の値を
記憶する部分と、命令レジスタ12内の命令コー
ドに含まれるループ回数を記憶する部分とから構
成される。14はスタツク13にアドレスを与え
るスタツクポインタ、15はスタツク13内のル
ープ回数を1だけ減じその結果が0か否かを判定
するデクリメンタ、16は命令レジスタ12内の
命令コード、デクリメンタ15で1だけ減じられ
たスタツク13の内容が0か否かどうかの判定結
果及び制御部外から与えられる外部条件に基き制
御信号を出力する制御部である。 以上のように構成された本実施例のプログラム
制御装置について、以下その動作を説明する。プ
ログラムメモリ10内には第3図に示すような命
令コードを含む種々の命令コードが記憶されてい
る。
【表】 命令コード17が制御部16で解読されると、
第1表のaに示すようにスタツクポインタ14が
1減じられそのアドレスのスタツク13に命令コ
ード17内に含まれるループ回数及びプログラム
カウンタ11の値が格納される。ここでこの命令
が実行される時プログラムカウンタ11の値は次
のアドレスをさし示している。 命令コード18が制御部16で解読されると命
令コード18内のループビツト及びデクリメンタ
の結果によつて第1表のb−0、b−1、b−2
に示すように本プログラム制御装置は動作する。
ループビツトが0の時(第1表でb−0の場合)
は命令コード18内の演算指示部で指示される演
算が演算対象指示部で指示される演算対象に施さ
れる。ループビツトが1の時は上述の演算動作と
並行して次に述べる動作が行われる。先ずスタツ
ク13のスタツクトツプのデータを読出しスタツ
クトツプ上にあるループ回数をデクリメンタ15
で1減じる。そしてその結果が零である時には、
ループが規定回数分終了しているので、スタツク
ポインタ14に1を加える。(第1表のb−1)
またこの時プログラムカウンタ11は通常の動作
を行い、その値を1だけインクリメントする。ス
タツク13のスタツクトツプのデータを読出し、
スタツクトツプ上にあるループ回数をデクリメン
タ15で1減じた結果が非零の時には、ループが
まだ規定回数分終了していないので減じた結果を
再びスタツク13に書き込む。また先程読出した
スタツクトツプのデータの中でアドレスの部分を
プログラムカウンタ11にセツトする(第1表の
b−2)。このようにして演算とループ終了か否
かの判定及び戻りアドレスのセツトを並行して行
う。 命令コード19が制御部16で解読されると、
第1表のc−0、c−1に示すように動作する。
ループビツトが0の時には、命令コード19の条
件分岐指示部内で指示される外部条件をテスト
し、条件が成立すれば命令コード19内の分岐ア
ドレスをプログラムカウンタ11にセツトする。
ループビツトが1の時には上述の分岐動作と共に
スタツクポインタ14に1を加える。 次に第3図に示したような命令コードを用いて
プログラムを作成し、第2図に示すプログラム制
御装置を動作させた時の処理の流れを第4図に示
す。第4図で処理20は命令コード17を実行す
る事により、処理21はループビツトを0とした
命令コード18の集りを実行する事により、処理
22はループビツトを1とした命令コード18を
実行する事によりそれぞれ処理される。処理21
の演算処理と処理22中の演算処理は連続して実
行でき、またループ続行か否かの判定も演算処理
と並行して行つているので、演算装置をパイプラ
イン処理化している時でもその特徴を十分に活か
す事ができる。 第5図は第2図に示すプログラム制御装置で多
重ループ処理を行う時の処理の流れを示す。処理
23、処理24の内容は処理20と全く同じであ
り、処理25、処理26も処理22内と全く同じ
である。処理23では大きなループのループ回数
及び戻り番地をスタツク13に格納している。処
理24では小さなループのループ回数及び戻り番
地をスタツク13に格納しているが、スタツク1
3はFILO(フアースト・イン・ラスト・アウト)
型式なので処理23で格納した、ループ回数及び
戻り番地は保存されている。処理25では小ルー
プを続行するか否かの判定を行う。処理25で小
ループを脱した時のスタツク13のスタツクトツ
プは大ループのループ回数及び戻り番地となつて
いるので処理26では大ループを続行するか否か
の判定が行える。このように、第2図に示したプ
ログラム制御装置では最大スタツク13のレベル
数分だけのループ処理が容易に実現できる。 第6図は第2図に示すプログラム制御装置で、
ループ回数分処理を行う以前にそのループを脱す
る時の処理の流れを示す。処理27は処理20
に、処理28は処理22と全く同じである。処理
27でループ回数及び戻り番地をスタツク13に
格納する。処理29はループビツトを0とした命
令コード18を組合わしたものが実行される。処
理30はループビツトを1とした命令コード19
が実行される。外部条件を制御部16でテスト
し、条件が成立した時にはループ処理を脱する事
ができる。しかもこの時、スタツクポインタに1
を加えているために、第3図に示した処理が多重
ループ内のひとつのループであつた場合でも、多
重ループ処理全体は正常に実行されることができ
る。 発明の効果 本発明のプログラム制御装置は、命令コードを
記憶するプログラムメモリと、前記プログラムメ
モリの出力を一時記憶する命令レジスタと、前記
命令レジスタ内の命令コードの一部または後述の
スタツクのスタツクトツプ上のデータでプリセツ
トされ前記プログラムメモリにアドレスを与える
プログラムカウンタと、前記命令レジスタ内の命
令コードに含まれるループ回数及び前記プログラ
ムカウンタ内のアドレスを記憶するスタツクと、
前記スタツクにアドレスを与えるスタツクポイン
タと、前記スタツクのスタツクトツプ上のデータ
の中でループ回数の部分を読出して1だけ減じる
と共にその結果が零であるか否かの判定信号を出
力するデクリメンタと、前記命令レジスタ内の命
令コード、前記デクリメンタからの判定信号及び
外部から与えられる条件に基き制御信号を出力す
る制御部とを設ける事により、プログラムの繰返
し実行の制御を演算部での処理と並行して行い演
算部の使用効率を上げることができるものであ
る。また繰返しを行うプログラムの先頭アドレス
をスタツク上に格納しているので、命令コードに
先頭アドレスのためのフイールドを設ける必要が
なく短い語長でこれを実現していると共に、多重
ループとなつた繰返し処理も容易に実現できる。
また多重ループを構成する1つのループ内での条
件分岐命令でその分岐先がループ外にある場合で
も、分岐先が、そのループよりひとつ大きなルー
プ内である限り何らの支障はなく、その実用的効
果は大きい。
【図面の簡単な説明】
第1図はデイジタル信号処理プロセツサの演算
部を示すブロツク図、第2図は本発明の一実施例
におけるプログラム制御装置を示すブロツク図、
第3図は命令コードのフオーマツト図、第4図、
第5図、第6図は第2図の実施例で実現される処
理の流れを示すフローチヤートである。 10……プログラムメモリ、11……プログラ
ムカウンタ、12……命令レジスタ、13……ス
タツク、14……スタツクポインタ、15……デ
クリメンタ、16……制御部。

Claims (1)

    【特許請求の範囲】
  1. 1 命令コードを記憶するプログラムメモリと、
    前記プログラムメモリ出力を一時記憶する命令レ
    ジスタと、前記命令レジスタ出力の一部及び後述
    のスタツク出力の一部に接続され、前記プログラ
    ムメモリに次に実行すべき命令のアドレスを与え
    るプログラムカウンタと、後述のスタツクにアド
    レスを与えるスタツクポインタと、前記命令レジ
    スタ出力の一部及び前記プログラムカウンタに接
    続され、ループ回数とループ処理開始アドレスが
    前記スタツクポインタが示すアドレスに同時に書
    き込まれるスタツクと、前記スタツクのスタツク
    トツプにあるループ回数に対してデクリメント操
    作を行うと共に、デクリメント結果が零であるか
    否かを示す零判定信号を出力するデクリメンタ
    と、前記命令レジスタ内の命令コード、前記デク
    リメンタからの零判定信号、及び外部から与えら
    れる外部条件信号を入力とし、前記命令レジスタ
    の内容がループ回数設定命令の場合には、前記ス
    タツクポインタへはデクリメントを、前記スタツ
    クへは前記ループ回数設定命令に含まれるループ
    回数及びループ処理開始アドレスとなる前期ルー
    プ回数設定命令の次のアドレスを示す前記プログ
    ラムカウンタの内容を同時に書き込むことを指示
    する制御信号を出力し、前記命令レジスタの内容
    がループ終了判定命令である場合には、前記デク
    リメンタへは前記スタツクのスタツクトツプにあ
    るループ回数のデクリメントを指示する制御信号
    を出力し、その結果前記零判定信号が零を示して
    いる場合には、前記スタツクポインタ及び前記プ
    ログラムカウンタへその内容のインクレメントを
    指示する制御信号を、前記零判定信号が非零を示
    している場合には、デクリメントしたループ回数
    の前記スタツクへの再書き込みと前記スタツクの
    スタツクトツプに保持されているループ処理開始
    アドレスの前記プログラムカウンタへのロードを
    指示する制御信号を出力し、前記命令レジスタの
    内容が条件分岐命令の場合は、前記外部条件を検
    査し、分岐を行う場合は、前記スタツクポインタ
    へはインクリメントを指示すると共に、前記プロ
    グラムカウンタへは前記条件分岐命令に含まれる
    分岐先アドレスのロードを指示し、分岐を行なわ
    ない場合は前記プログラムカウンタへその内容の
    インクレメントを指示する制御信号を出力する制
    御部とを備えたことを特徴とするプログラム制御
    装置。
JP58240172A 1983-12-20 1983-12-20 プログラム制御装置 Granted JPS60132242A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58240172A JPS60132242A (ja) 1983-12-20 1983-12-20 プログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58240172A JPS60132242A (ja) 1983-12-20 1983-12-20 プログラム制御装置

Publications (2)

Publication Number Publication Date
JPS60132242A JPS60132242A (ja) 1985-07-15
JPS6359174B2 true JPS6359174B2 (ja) 1988-11-18

Family

ID=17055547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58240172A Granted JPS60132242A (ja) 1983-12-20 1983-12-20 プログラム制御装置

Country Status (1)

Country Link
JP (1) JPS60132242A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723721U (ja) * 1990-12-29 1995-05-02 東洋自動機株式会社 包装機械の袋排出装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62180427A (ja) * 1986-02-03 1987-08-07 Nec Corp プログラム制御回路
JPH0679271B2 (ja) * 1987-04-24 1994-10-05 株式会社日立製作所 ル−プ制御回路
JPS6458023A (en) * 1987-08-28 1989-03-06 Ricoh Kk Microprogram controller
JPS6491238A (en) * 1987-09-30 1989-04-10 Nec Corp Arithmetic control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374331A (en) * 1976-12-13 1978-07-01 Rca Corp Macro command executing system
JPS5750051A (en) * 1980-09-09 1982-03-24 Toshiba Corp Program controller
JPS57114950A (en) * 1981-01-08 1982-07-17 Nippon Telegr & Teleph Corp <Ntt> Loop processing system for program controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374331A (en) * 1976-12-13 1978-07-01 Rca Corp Macro command executing system
JPS5750051A (en) * 1980-09-09 1982-03-24 Toshiba Corp Program controller
JPS57114950A (en) * 1981-01-08 1982-07-17 Nippon Telegr & Teleph Corp <Ntt> Loop processing system for program controller

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0723721U (ja) * 1990-12-29 1995-05-02 東洋自動機株式会社 包装機械の袋排出装置

Also Published As

Publication number Publication date
JPS60132242A (ja) 1985-07-15

Similar Documents

Publication Publication Date Title
US7200741B1 (en) Microprocessor having main processor and co-processor
US5826072A (en) Pipelined digital signal processor and signal processing system employing same
CN104978284B (zh) 处理器子程序高速缓冲存储器
JPS59146345A (ja) コントロ−ルフロ−並列計算機方式
EP0062658B1 (en) Stack for a data processor
JPS6015745A (ja) 情報処理装置
US20030131162A1 (en) Non-destructive read FIFO
JPS6359174B2 (ja)
US6938149B2 (en) Renaming apparatus and processor
US4240137A (en) Computer for directly executing a program including a plurality of structured blocks
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JP3344316B2 (ja) ディジタル信号処理装置及び信号処理システム
US5454090A (en) Apparatus for furnishing instructions in a microprocessor with a multi-stage pipeline processing unit for processing instruction phase and having a memory and at least three additional memory units
JP3534737B2 (ja) ディジタル信号処理装置およびその制御方法
JPH1091441A (ja) プログラム実行方法およびその方法を利用した装置
JPH04104350A (ja) マイクロプロセッサ
EP0372163B1 (en) Instruction queue control system
JP3124361B2 (ja) メモリデータロード装置
JPH08161166A (ja) プロセッサ
KR100246465B1 (ko) 마이크로프로세서 스택 명령어의 수행사이클을 줄이기 위한 장치 및 그 방법
JPS6116334A (ja) デ−タ処理装置
JPH0233173B2 (ja)
JPS62145430A (ja) デ−タ処理装置
KR830000821B1 (ko) 데이타 처리 시스템
JP3164690B2 (ja) アドレス制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term