JPS58217051A - 間接分岐制御装置 - Google Patents

間接分岐制御装置

Info

Publication number
JPS58217051A
JPS58217051A JP57100236A JP10023682A JPS58217051A JP S58217051 A JPS58217051 A JP S58217051A JP 57100236 A JP57100236 A JP 57100236A JP 10023682 A JP10023682 A JP 10023682A JP S58217051 A JPS58217051 A JP S58217051A
Authority
JP
Japan
Prior art keywords
instruction
branch
register
read
circuit
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.)
Granted
Application number
JP57100236A
Other languages
English (en)
Other versions
JPS6156813B2 (ja
Inventor
Toshimichi Matsuzaki
敏道 松崎
Katsuhiko Ueda
勝彦 上田
Toshiaki Suzuki
敏明 鈴木
Takashi Sakao
坂尾 隆
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP57100236A priority Critical patent/JPS58217051A/ja
Publication of JPS58217051A publication Critical patent/JPS58217051A/ja
Publication of JPS6156813B2 publication Critical patent/JPS6156813B2/ja
Granted 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/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 本発明は命令繰り返し制御装置を有する計算機の命令実
行を制御するに際し、間接分岐命令を独立に設けること
なく間接分岐と等価な制御を行なう間接分岐装置に関す
るものである。
以下、従来の命令繰り返し制御装置について説明する。
第1図は命令繰り返し制御装置を有する従来の計算機の
ブロック図である。同図において1は所定のプログラム
を記憶している記憶装置、2は記憶装置1に記憶されて
いるプログラムの命令またはデータを読み出す命令読み
出し回路、3は命令読み出し回路2が読み出した命令を
一時記憶する命令レジスタ、4は命令レジスタ3の内容
をデコードして各構成ブロツクを制御するプロセッサ制
御信号を生成する命令デコーダ、6は繰り返し命令が命
令レジスタ3に一時記憶されたときに命令コードの繰り
返し回数を指定するデータをセットするとともに繰り返
し命令の直後にくる命令が繰り返される毎に1減算する
繰り返しカウントレジスタ(以下RCと略記する)、6
はRC5の内容が零であることを検出するとともに零が
検出されたときに後述する繰り返し制御回路に零信号を
出力する零検出回路である。7は零検出回路6からの零
信号を入力として繰り返し実行する命令が実行される毎
に繰り返しカウントレジスタ5の内容を1減算する繰り
返し制御回路で、繰り返し実行する命令の実行期間中に
命令読み出し回路2から差出されるアドレス信号が後述
する命令ポインタ8に取り込まれないようロード禁止信
号を出力し、さらに繰り返し実行する命令期間中に命令
レジスタ3の内容を書き換えることを禁止するように命
令読み出し回路2を制御する。8は次に実行する命令が
記憶装置1に記憶されているアドレスを指し示す命令ポ
インタ(以下IPと記す)である。
なお9はIPaの内容をインクリメントする命令ポイン
タインクリメント信号、10は繰り返し実行する命令の
期間中に分岐命令によってIPsの内容が書き換えられ
ないようにするロード禁止信号である。
以上のように構成された装置について、繰り返し命令を
実行した場合の動作を第2図を用いて説明する。なお第
2図において21は繰り返し回数3の繰り返し命令、2
2はメモリインクリメント命令で、次に読く命令修飾デ
ータが示すアドレスの内容をインクリメントする命令で
ある。
まず2000000番地返し命令21の命令コー5べ一
:′ ドが記憶装置1から命令読み出し回路2により読み出さ
れると、この命令コードは命令レジスタ3に一時記憶さ
れる。命令デコーダ4は命令レジスタ3の内容をデコー
ドし、プロセッサ制御信号を生成する。これにより命令
し、ジスタの下位8ビツトがRC5にセットされる。(
この例の場合RCには「3」がセットされる。) 次に命令ポインタインクリメント信号9によりIPsの
値がインクリメントされ、命令読み出し回路2は200
1001番地リインクリメント命令22の命令コードを
命令レジスタ3に一時記憶する。この命令は2ワード命
令であるので、IPaの値はさらに1加算され2002
002番地修飾データr500Jを読み出して、500
番地の内容を+1する。このときRC5,の内容は1減
算され「2」になる。命令レジスタ3の内容はRC5の
値が「0」になるまで書き換えられず有効となるので、
以下同様に505番地の内容が1加算されたときRC5
の内容は「1」になり、515番地の内容が1加算され
たときRC5の内容は「○」6ベーS になる。そしてRC5の値が「○」であることを零検出
回路6が検出すると命令読み出し回路2で読み出された
2005005番地は、命令レジスタ3にセットされ、
以下2005番地以降の命令を実行する。以上のように
して繰り返し命令21によりメモリインクリメント22
が3回実行されたことになる。
ところが、従来の繰り返し制御では、命令ポインタ制御
を行なうだめの回路を簡単化するだめ、繰り返し実行さ
れる命令の期間中に繰り返し制御回路7から出力される
ロード禁止信号10により、命令読み出し回路2で読み
出されたデータを取り込むことを禁止し、繰り返し実行
される命令の期間中には、命令ポインタインクリメント
信号9のみでしか制御していなかった。そのだめ、繰り
返し実行される命令として分岐命令を実行した場合に分
岐命令の命令修飾データをIPsに取り込むことができ
ず、繰り返し実行できる命令に制限が加えられるという
欠点があった。
本発明は上記欠点に鑑み、繰り返し実行できる7 ・′ 命令に制限を与えず、繰り返し命令の次にどのような命
令があってもその命令に対して繰り返し回数を指定でき
、間接分岐命令を独立に設けることなく間接分岐と等価
な制御を行なう間接分岐制御装置を提供するものである
。   へ 以下、図面を参照しながら本発明の一実施例について説
明する。
第3図は本発明の一実施例における間接分岐制御装置の
ブロック図である。同図において、記憶装置1、命令読
み出し回路2、命令レジスタ3、命令デコーダ4、繰り
返しカウントレジスタ5、零検出回路6、命令ポインタ
8、命令ポインタインクリメント信号9は第1図に示し
だものと同じ構成である。7は繰り返し制御回路で、命
令読み出し回路2が読み出した命令が繰り返し命令であ
るときにこの繰り返し命令の次の命令を命令レジスタ3
に七ノドさせるとともに、セットした命令が分岐命令で
あるときに分岐先アドレスを表わす]命令修飾データを
命令ポインタインクリメント信/ 号9に優先してIPsに取り込ませるように後述する命
令ポインタ制御回路11を制御する。11は命令ポイン
タ制御回路で、命令ポインタインクリメント信号9と、
分岐命令実行時に命令読み出し回路2から送られてくる
分岐先アドレスと、繰り返し制御回路7′からの制御信
号とを入力として、繰り返し実行する命令が2語以上で
構成される命令であるとき繰り返し実行する命令の第1
回目の実行時には、その命令が構成されている語の数だ
けIPsの値を加算し、第2回目以降繰り返しカウント
レジスタ5の値が零になるまでは、その命令の命令修飾
データの語の数だけIPsの値を加算するとともに、繰
り返し実行する命令が分岐命令のとき命令読み出し回路
2から送られてくる分岐先アドレスをIPsにセットす
る。
以上のように構成された装置において、第4図に示すプ
ログラムを実行した場合の動作を説明する。なお第4図
において、41は繰り返し指定回数「2」の繰り返し命
令で、次に続く命令を2回繰り返して実行させる命令で
ある。42は直接分岐命令で、命令修飾テークが示すア
ドレスに直接9べ゛ 分岐する命令である。丑た、第5図は第4図のプログラ
ムを実行する際の命令実行サイクルとそのときのRC5
の値を示した図で、50はRC6の値、51〜55は命
令実行ザイクルである。
まずIPsが「1000Jになると命令実行サイクル5
1では命令読み出し回路2が記憶装置1から読み出した
1000番地の繰り返し命令41の命令コートヲ、命令
レジスタ3に一時記憶させるとともに、この記憶した内
容の下位8ビツトをRC5に転送する。この例の場合に
はRCesへ「2」が転送される。
次の命令実行サイクル52では1001番地の直接分岐
命令42の命令コードが命令レジスタ3にセットされる
。この命令は2語で構成される命令であるから、命令実
行サイクル63で命令読み出し回路2により命令修飾デ
ータを読み出し、命令ポインタ制御回路11を通してI
Psに取り込み、IPsを「2000Jにセットする。
この命令実行サイクルをもって第1回目の直接分岐命令
の実行;錫口・完了するので、繰り返し制御回路7′は
RC5の1ol″−ジ 値を1減算し、「1」にする。
次の命令実行サイクル64ではRC5の値が「○」では
ないのでここで実行するのは命令レジスタ3に一時記憶
されている直接分岐命令となり、2語目に相当する命令
修飾データはIPsが指し示す記憶装置1の2000番
地から命令読み出し回路2により読み出され、命令ポイ
ンタ制御回路11を通してIPsに取り込まれ、IF5
を[1200jにセントする。この命令実行ザイクルを
もって第2回目の直接分岐命令の実行が完了し、繰り返
し制御回路7′はRC5の値を1減算してrOJにする
。このとき零検出回路6によりrOJが検出されると、
繰り返し制御回路7′は繰り返し命令の処理を終える。
以下、命令実行サイクル55ではIPsが指し示す12
00番地の命令を実行する。
以上説明したように本発明は、繰り返し実行する命令が
分岐命令である場合に繰り返し処理中であっても分岐先
アドレスをIPsに取り込めるよう構成することにより
、繰り返し命令と直接分岐11 °−z゛ 命令で間接分岐を行なうことができ、間接分岐命令を独
立に設ける必要がなくなり、また繰り返し命令で指定す
る繰り返し回数を増すことに」=す、多重間接分岐が可
能となり、さらには繰り返し命令と直接サブルーチンコ
ール命令とを用いることにより、間接ザブルーチンコー
ルも行なうことができ、その工業的価値は犬なるものが
ある。
【図面の簡単な説明】
第1図は従来の繰り返し制御装置のブロック図、第2図
は繰り返し命令を説明するだめの図、第3図は本発明の
一実施例における間接分岐制御装置のブロック図、第4
図は間接分岐を説明するだめの図、第5図は第4図のプ
ログラムを実行したときの命令実行ザイクルと繰り返し
回数を表わした図である。 1 ・・・記憶装置、2・・・命令読み出し回路、3・
・・・・・命令レジスタ、4・・−命令デコーダ、5−
繰り返しカウントレジスタ、6−・・−零検出回路、7
′・・・・−繰り返し制御回路、11−・・・命令ポイ
ンタ制御回路。 第2図 眉           慨

Claims (1)

  1. 【特許請求の範囲】 命令を記憶している記憶装置と、前記記憶装置から記憶
    されている命令を読み出す命令読み出し回路と、前記命
    令読み出し回路により読み出された命令を一時記憶する
    命令レジスタと、前記命令レジスタに記憶された命令を
    デコードする命令デコーダと、繰り返し命令が前記記憶
    装置から読み出されたときに、その繰り返し回数をセッ
    トするとともに前記繰り返し命令の次に読み出された命
    令を繰り返す毎に前記セットした繰り返し回数から減算
    する繰り返しカウントレジスタと、前記繰り返しカウン
    トレジスタの保持している値が零になったことを検出す
    る零検出回路と、前記繰り返しカウントレジスタに繰り
    返し回数がセットされたときに、前記命令読み出し回路
    に次の命令を前記記憶装置から読み出させるとともに、
    前記読み出しだ命令が1回実行された後、前記繰り返し
    カ2ペー二! ラントレジスタの値を1減算し、この値が零になる丑で
    前記命令読み出し回路で読み出された命令修飾データを
    前記命令レジスタに入力させず、零になったときに読み
    出された命令を前記命令レジスタに一時記憶するように
    制御する繰り返し制御回路と、前記命令読み出し回路か
    ら送られてくるアドレスと前記命令デコーダからのイン
    クリメント信号とを入力とし、繰り返し実行する命令と
    して分岐命令を実行した際に分岐先アドレスをインクリ
    メント信号に優先させる命令ポインタ制御回路と、次に
    実行する命令が記憶されているアドレスを指し示す命令
    ポインタとを備えた間接分岐制御装置。
JP57100236A 1982-06-10 1982-06-10 間接分岐制御装置 Granted JPS58217051A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57100236A JPS58217051A (ja) 1982-06-10 1982-06-10 間接分岐制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57100236A JPS58217051A (ja) 1982-06-10 1982-06-10 間接分岐制御装置

Publications (2)

Publication Number Publication Date
JPS58217051A true JPS58217051A (ja) 1983-12-16
JPS6156813B2 JPS6156813B2 (ja) 1986-12-04

Family

ID=14268618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57100236A Granted JPS58217051A (ja) 1982-06-10 1982-06-10 間接分岐制御装置

Country Status (1)

Country Link
JP (1) JPS58217051A (ja)

Also Published As

Publication number Publication date
JPS6156813B2 (ja) 1986-12-04

Similar Documents

Publication Publication Date Title
JPH01310441A (ja) データ処理装置
JPH04245324A (ja) 演算装置
JPS58217051A (ja) 間接分岐制御装置
JPS6339928B2 (ja)
JPH0528431B2 (ja)
JPS6053334B2 (ja) マイクロプログラム制御方式
JPS6242301B2 (ja)
JPS6116334A (ja) デ−タ処理装置
JPH01175632A (ja) マイクロプログラム制御装置
JPS63163543A (ja) 情報処理装置
JPH03233703A (ja) シーケンス制御装置
JPH04140851A (ja) 情報処理装置の診断方式
JPS62205430A (ja) マイクロ命令制御回路
JPS63163533A (ja) マイクロコンピユ−タ
JPH03184136A (ja) アドレス・トレース回路
JPS60237536A (ja) マイクロプログラム制御デ−タ処理装置
JPH01142938A (ja) マイクロプログラム装置
JPS6113258B2 (ja)
JPH0259829A (ja) マイクロコンピュータ
JPS6330938A (ja) マイクロプログラム制御装置
JPH0226252B2 (ja)
JPS63298633A (ja) パイプライン処理装置における命令フェッチ制御方式
JPH02110631A (ja) マイクロプログラム制御方法
JPS60246439A (ja) 情報処理装置
JPH0340075A (ja) マイクロコンピュータ