JP3144004B2 - 条件分岐処理装置 - Google Patents

条件分岐処理装置

Info

Publication number
JP3144004B2
JP3144004B2 JP03313068A JP31306891A JP3144004B2 JP 3144004 B2 JP3144004 B2 JP 3144004B2 JP 03313068 A JP03313068 A JP 03313068A JP 31306891 A JP31306891 A JP 31306891A JP 3144004 B2 JP3144004 B2 JP 3144004B2
Authority
JP
Japan
Prior art keywords
instruction
address
conditional branch
register
memory
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 - Fee Related
Application number
JP03313068A
Other languages
English (en)
Other versions
JPH05127898A (ja
Inventor
登 黒川
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP03313068A priority Critical patent/JP3144004B2/ja
Publication of JPH05127898A publication Critical patent/JPH05127898A/ja
Application granted granted Critical
Publication of JP3144004B2 publication Critical patent/JP3144004B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は条件分岐命令を他の命令
(逐次に実行可能な命令)と同じサイクル数で処理する
際に処理時間の遅れが生じないようにした新規な条件分
岐処理装置を提供しようとするものである。
【0002】
【従来の技術】コンピュータにおける制御中枢の基本的
な働きは、命令の取り出しとその解読、実行であり、そ
のためにCPUは制御部と演算部を備えている。
【0003】そして、プログラムの制御構造は、命令を
順番に処理する順次制御や、指定条件の成立、不成立に
応じて選択的に処理を行う条件分岐制御等を含んでい
る。
【0004】つまり、命令が遂次に実行可能な命令であ
る場合にはCPUがこれを順番に処理し、条件分岐命令
である場合にはALU(算術論理回路)の演算結果に関
するステータス(状態値)に応じて飛び先き番地にジャ
ンプするか、次の命令に移行するかを選択して処理の流
れに変更を加える。
【0005】このような命令を実行するCPUを複数用
いてパイプライン処理を行う場合、1段当たりの実行ス
テップを同一にし、かつその長さを短くすることが処理
効率や処理時間の観点から好ましいとされている。
【0006】図4は従来のプログラム処理の流れを示す
ものである。
【0007】図中aはALUであり、演算結果のステー
タス出力はステータスレジスタbに格納されてから2入
力ANDゲートcに送出されるようになっている。
【0008】dはマルチプレクサであり、ANDゲート
cからの信号に応じてインクリメント(+1)されたア
ドレス(プログラムカウンタ)値(図中「INC」で示
す。)と後述するパイプラインレジスタからの飛び先ア
ドレスとを選択的に切り換えてマイクロプログラムメモ
リeにその読み出しアドレスとして送出される。
【0009】マイクロプログラムメモリeから読み出さ
れた命令はパイプラインレジスタfに一時的に格納さ
れ、当該命令を構成するオペレーション部(処理内容を
指示する部分)はANDゲートcに送られてステータス
との論理積演算がなされ、また、命令が条件分岐命令で
ある場合にそのアドレス部の値がマルチプレクサdにそ
のまま送出されるようになっている。
【0010】図5は、対象となる命令が条件分岐命令で
ない場合(図5(a)参照。)と、対象となる命令が条
件分岐命令である場合(図5(b)参照。)とについ
て、演算と条件分岐処理との関係を示すタイムチャート
図であり、「CL」はクロック信号、「AL」は演算状
態、「ST]はステータス出力、「RD」はマイクロ命
令の読み出し及び実行タイミングを表している。尚、A
LUaによる演算は、斜線で示すようにクロック信号C
Lにおけるパルスの立ち上がりから始まってパルスの立
ち下がりから次のパルスの立ち上がりまでの間で終了す
る。
【0011】この場合、個々のマイクロ命令を1タイミ
ング(あるいはクロック)サイクルで実行するためには
命令の読みだしをクロック信号の1周期内で行う必要が
ある。
【0012】つまり、条件分岐しない命令にあっては、
図5(a)に示すようにクロックパルスの立ち上がり時
点からマイクロプログラムメモリeからの読み出しが開
始され、次にくるパルスの立ち上がり時点までには読み
出しが終了して実行に移っているので、時間の遅れを伴
うことなく後続パルスの立ち上がりのタイミングで次の
命令の読み出しに移行することができる。
【0013】しかし、条件分岐命令にあっては、図5
(b)に示すように演算後のステータスに基づいてこれ
に対応する命令の読み出しを開始しなければならない。
【0014】よって、図示するように読み出しが後続パ
ルスの立ち上がり時点にまでかかってしまうと、後続パ
ルスの立ち上がりのタイミングで次の命令の読み出しに
移ることができなくなり、結果としてに命令の実行に2
サイクルの時間を要することになる。
【0015】
【発明が解決しようとする課題】以上のように、従来の
条件分岐処理にあっては、ALUaの演算結果に係るス
テータスを待って次に実行すべき命令を読み出している
ため、命令の読み出しが遅れ、その結果処理に時間がか
かってしまうという問題があり、例えば画像データのよ
うに大量かつ高速での処理を要求される場合において処
理に手間取ってしまうといった不都合が生じる。
【0016】条件分岐命令とそうでない命令とを同じサ
イクル数で処理するためには、条件分岐命令を、演算に
係る命令と分岐だけに係る命令とから構成し、例えば、
下記に示すように、 リスト1) アドレス 命令 コメント A10 (A−B),LD ZR ;(A−B)の演算結果に基づく ;ZR(ゼロフラグ)をステータス ;レジスタにロード A11 CJP LL ;ZR=1ならばラベル(LL)へ A12 XXXXXX ;任意の命令 A13 LL:CONT ;次ステップへ移行 A14 YYYYYY ;任意の命令 つまり、A10での演算結果に従うA11での分岐処理
によって、A13又はA12に移行するようにプログラ
ムを記述するか、あるいはクロック周波数を低くするこ
とが考えられるが、いずれにせよ条件分岐全体(演算+
分岐)に要する処理時間が短縮される訳ではない。
【0017】また、前者の場合パイプライン処理におい
て1段当たりの実行ステップが多くなり、処理の効率が
悪化するという不都合が生じる。
【0018】
【課題を解決するための手段】そこで、本発明条件分岐
処理装置は上記した課題を解決するために、インクリメ
ントされたアドレス又はレジスタによって指定される無
条件の飛び先アドレスのいずれかを選択する第1の選択
手段と、マイクロ命令を記憶するとともに第1の選択手
段によるアドレス指定を受けて命令の読み出しがなされ
る主メモリと、条件分岐マイクロ命令に含まれた飛び先
アドレスに対応したマイクロ命令のみを記憶する副メモ
リと、第1の選択手段におけるインクリメントされたア
ドレス及び無条件の飛び先アドレスの切換を制御すると
共に条件分岐命令、無条件分岐アドレス、条件分岐アド
レスから成るマイクロ命令を一時記憶するレジスタと、
主メモリ及び副メモリから読み出されたマイクロ命令の
いずれかをALU(算術論理回路)の演算結果のステー
タスに応じて選択し、レジスタに送出する第2の選択手
段とを備え、クロックの1サイクル周期内において、
LU(算術論理回路)の条件判断に係る演算の実行中
に、レジスタの無条件分岐アドレス及び条件分岐アドレ
スに応じた複数の飛び先アドレスに対応するマイクロ命
令を主メモリ及び副メモリからそれぞれ読み出すと共
に、ALU(算術論理回路)の演算結果のステータスが
一の状態で、主メモリから読み出されたマイクロ命令を
選択してレジスタに送出し、また、ALU(算術論理回
路)の演算結果のステータスが他の状態で、副メモリの
マイクロ命令を選択してレジスタに送出するようにした
ものである。
【0019】
【作用】本発明によれば、分岐先を示す複数のアドレス
部を含む条件分岐命令の実行に際して、ALU(算術論
理回路)の条件判断に係る演算中に飛び先アドレスの
イクロ命令を主メモリ及び副メモリから予め読み出して
おき、条件判断結果に従って命令を選択的に実行するた
め、従来のように条件判断結果を待ってから該当する命
令を読み出す場合に生じるタイミングの遅れがなく、条
件分岐命令を遂次に実行が可能な命令と同じサイクル数
で実行することができるので、条件分岐命令を演算命令
と分岐命令の2命令に分けて構成することに伴う実行ス
テップ数の増加や処理効率の低下を招くことがない。
【0020】
【実施例】以下に、本発明条件分岐処理装置を図示した
実施例に従って説明する。
【0021】図1は条件分岐処理装置1に係るプログラ
ム処理の流れを示すものであり、複数のマイクロプログ
ラムメモリを設けるとともに、条件分岐制御にあたって
はこれらをステータスに応じて選択的に切り換えて使用
することで時間の遅れを伴うことなく次の命令の実行に
移行することができるようにしたものである。
【0022】2(1)、2(2)はマルチプレクサであ
り、前段のマルチプレクサ2(1)はパイプラインレジ
スタ3において実行される条件分岐命令のオペレーショ
ン部を切換制御信号として受け取り、インクリメント後
のアドレス又はパイプラインレジスタ3に格納された分
岐アドレスのうちのどちらかを選んでマイクロプログラ
ムメモリ4Aへのアドレス信号として送出するようにな
っている。
【0023】尚、2つのマイクロプログラムメモリ4
A、4Bの大きさ(ビット幅)は同じとされており、4
Aが主メモリとされ、4Bが副メモリとされている。
【0024】マルチプレクサ2(2)は、ALU5の演
算結果についてのステータスを切換制御信号として受け
取り、マイクロプログラムメモリ4A及び4Bから読み
出される命令を選択してパイプラインレジスタ3に送出
する。
【0025】パイプラインレジスタ3にはマイクロ命令
が一時的に格納されるようになっており、図ではオペレ
ーション部(CJA.)と2つのアドレス部(PO、A
11)とを含む条件分岐命令が格納された状態を示して
いる。
【0026】つまり、オペレーション部がマルチプレク
サ2(1)にその制御信号として送出されると共に、条
件分岐命令のアドレスをA10としたとき、アドレス部
のうち条件分岐命令の次のアドレス(A11)がマルチ
プレクサ2(1)への入力信号として送られ、アドレス
部のうち条件分岐命令の飛び先アドレス(PO)がマイ
クロプログラムメモリ4Bへのアドレス信号とし送出さ
れる。
【0027】図2は下記に示すようなプログラムを想定
したときの条件分岐処理のタイミングを示したものであ
る。
【0028】 リスト2) アドレス 命令 コメント A10 (A−B),LD ZR CJA.PO A11;(A−B)の演 ;算結果に基づく ;ZR(ゼロフラ ;グ)値をロード ;ZR=1ならば ;ラベル(LL)へ A11 XXXXXX ;任意の命令 A12 ZZZZZZ ;任意の命令 A13 LL:CONT ;次ステップへ移行 A14 YYYYYY ;任意の命令 つまり、この例ではA10における(A−B)のレジス
タ演算結果に従ってステータス(ZR)が得られ、これ
に応じて後続ステップA11の命令又はPOがアドレス
として指し示すA13の命令が選択的に実行される。
【0029】図2中「CL」はクロック信号、「BR」
は演算及び条件分岐命令の実行状態を示し、「ST」は
ZRステータス出力、「RMA」はマイクロプログラム
メモリ4Aのリード状態、「RMB」はマイクロプログ
ラムメモリ4Bのリード状態、「EX」はステータスに
応じて選択された命令の実行状態を示している。
【0030】図示するようにマイクロプログラムメモリ
4Aから読み出されたA10の命令はパイプラインレジ
スタ3で実行され、演算(A−B)を実行している時に
次に実行する予定の2命令がともにリードされる。
【0031】即ち、マイクロプログラムメモリ4Aから
A11の命令がリードされるとともに、マイクロプログ
ラムメモリ4Bから、A13の命令がリードされる。
【0032】その際、パイプラインレジスタ3で実行さ
れるA10の命令は、オペレーション部「CJA.」、
2つのアドレス部「PO」、「A11」からなってお
り、POがマイクロプログラムメモリ4Bへの読み出し
アドレスとして送出され、「A11」は無条件の飛び先
アドレスとしてマルチプレクサ2(1)に送出される。
【0033】そして、条件分岐命令であることを示すオ
ペレーション部はマルチプレクサ2(1)への制御信号
として送られ、これによってA11のアドレス信号が選
択される。
【0034】尚、実行対象となる命令が逐次に実行可能
な命令である場合にはマルチプレクサ2(1)におい
て、インクリメントされたアドレスが選択されるように
なっている。
【0035】その後、ALU5による演算(A−B)の
結果に基づいてZRステータスがマルチプレクサ2
(2)に出力されると、この時点からマルチプレクサ2
(2)の切り換えに要する時間τが経過した時点で命令
の選択が行われる。
【0036】即ち、ZRステータスの値が1の場合に
は、アドレスPOの指す命令(この例ではA13の命令
「CONT」に次ステップA14への無条件ジャンプ命
令「JMP A14」を付加したもの)がパイプライン
レジスタ3にロードされて実行され、また、ZRステー
タスの値が0の場合には、A11の命令(この例では
「XXXXXX」)がパイプラインレジスタ3へのロー
ド後に実行される。
【0037】いずれにしても選択された命令の読み出し
は後続のクロックパルスの立ち上がりまでには完了して
おり、選ばれた命令は後続のクロックパルスに同期して
パイプラインレジスタ3にロードされるので、次の命令
の読み出しが可能となる。
【0038】尚、マイクロプログラムメモリ4Bは条件
分岐処理に際してのみ使用され、よってこれから読み出
した命令の実行後には必ず主メモリであるマイクロプロ
グラムメモリ4Aへと処理が移される。
【0039】図3にリスト2)に関するステータスと分
岐処理との関係を概念的に示す。
【0040】しかして、本発明に係る条件分岐処理で
は、条件分岐命令に係る2つの分岐アドレスの命令を演
算中に予め読み出しておき、演算結果についてのステー
タスが出力された時に何れかの命令を選択して実行する
ようにしているので、図5(b)のように演算結果のス
テータスが得られてから実行命令を読み出す場合に生じ
る処理の遅れを伴うことはない。
【0041】よって、逐次実行が可能な命令の実行に要
する時間を1サイクルとすると、条件分岐命令と分岐後
の命令の実行には2サイクルの時間を要するので1命令
当たり1サイクルで実行され、条件分岐命令とそれ以外
の命令とでサイクル数を合わせることができる。
【0042】
【発明の効果】以上に記載したところから明らかなよう
に、本発明によれば、分岐先を示す複数のアドレス部を
含む条件分岐命令の実行に際して、条件判断に係る演算
中に次の実行命令を主メモリ及び副メモリから前もって
読み出しておき、条件判断結果に従って命令を選択的に
実行するため、従来のように条件判断結果を待ってから
該当する命令を読み出す場合に生じる時間の遅れがな
く、条件分岐命令を他の逐次実行可能な命令と同じサイ
クル数で実行することができるので、条件分岐命令を演
算命令と分岐命令の2命令に分けて構成することに起因
する実行ステップ数の増加や処理効率の低下を伴うこと
がない。
【0043】尚、前記した実施例は、本発明の一実施例
にすぎず、この例のみによって本発明の技術的範囲が狭
く解釈されてはならない。例えば、前記実施例では条件
分岐処理において2つのマイクロプログラムメモリを使
用して、これらから読み出される命令の何れかを選択し
て実行したが、一般には複数個のメモリを用いた多重分
岐処理に適用することができる。
【図面の簡単な説明】
【図1】本発明に係る条件分岐処理装置の構成を示すブ
ロック図である。
【図2】本発明に係る条件分岐処理について説明するた
めのタイムチャート図である。
【図3】ステータスと分岐処理との関係を概念的に示す
説明図である。
【図4】従来の条件分岐処理装置の構成を示すブロック
図である。
【図5】従来における条件分岐処理について説明するた
めのタイムチャート図であり、(a)は逐次に実行可能
な命令の処理状況を示し、(b)は条件分岐命令の処理
状況を示す。
【符号の説明】
1 条件分岐処理装置 2(1) 第1の選択手段 2(2) 第2の選択手段 3 レジスタ 4A 主メモリ 4B 副メモリ 5 算術論理回路
フロントページの続き (56)参考文献 特開 昭60−181930(JP,A) 特開 昭57−75355(JP,A) 特開 平1−162930(JP,A) 特開 昭62−82402(JP,A) 特開 昭57−75355(JP,A) 特開 平3−152625(JP,A) 特開 平2−266432(JP,A) 特開 平3−33930(JP,A) 特開 昭58−68157(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/42

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 インクリメントされたアドレス又はレジ
    スタによって指定される無条件の飛び先アドレスのいず
    れかを選択する第1の選択手段と、 マイクロ命令を記憶するとともに前記第1の選択手段に
    よるアドレス指定を受けて命令の読み出しがなされる主
    メモリと、 条件分岐マイクロ命令に含まれた飛び先アドレスに対応
    したマイクロ命令のみを記憶する副メモリと、 前記第1の選択手段におけるインクリメントされたアド
    レス及び無条件の飛び先アドレスの切換を制御すると共
    に条件分岐命令、無条件分岐アドレス、条件分岐アドレ
    スから成るマイクロ命令を一時記憶するレジスタと、 前記主メモリ及び副メモリから読み出されたマイクロ命
    令のいずれかをALU(算術論理回路)の演算結果のス
    テータスに応じて選択し、前記レジスタに送出する第2
    の選択手段とを備え、 クロックの1サイクル周期内において、前記ALU(算
    術論理回路)の条件判断に係る演算の実行中に、前記レ
    ジスタの無条件分岐アドレス及び条件分岐アドレスに応
    じた複数の飛び先アドレスに対応するマイクロ命令を前
    記主メモリ及び副メモリからそれぞれ読み出すと共に、前記ALU(算術論理回路)の 演算結果のステータスが
    一の状態で、前記主メモリから読み出されたマイクロ命
    令を選択して前記レジスタに送出し、また、前記ALU
    (算術論理回路)の演算結果のステータスが他の状態
    で、前記副メモリのマイクロ命令を選択して前記レジス
    タに送出するようにしたことを特徴とする条件分岐処理
    装置。
JP03313068A 1991-11-01 1991-11-01 条件分岐処理装置 Expired - Fee Related JP3144004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03313068A JP3144004B2 (ja) 1991-11-01 1991-11-01 条件分岐処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03313068A JP3144004B2 (ja) 1991-11-01 1991-11-01 条件分岐処理装置

Publications (2)

Publication Number Publication Date
JPH05127898A JPH05127898A (ja) 1993-05-25
JP3144004B2 true JP3144004B2 (ja) 2001-03-07

Family

ID=18036820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03313068A Expired - Fee Related JP3144004B2 (ja) 1991-11-01 1991-11-01 条件分岐処理装置

Country Status (1)

Country Link
JP (1) JP3144004B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557207B2 (en) 2000-08-22 2003-05-06 Alto U.S. Inc. Squeegee assembly for a floor surface treatment apparatus
US6760947B2 (en) 2000-08-22 2004-07-13 Alto U.S. Inc. Apparatus for treating a floor surface utilizing a handle mounted traverse switch
US6763544B2 (en) 2000-08-22 2004-07-20 Alto Us, Inc. Apparatus for treating a floor surface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6557207B2 (en) 2000-08-22 2003-05-06 Alto U.S. Inc. Squeegee assembly for a floor surface treatment apparatus
US6760947B2 (en) 2000-08-22 2004-07-13 Alto U.S. Inc. Apparatus for treating a floor surface utilizing a handle mounted traverse switch
US6763544B2 (en) 2000-08-22 2004-07-20 Alto Us, Inc. Apparatus for treating a floor surface

Also Published As

Publication number Publication date
JPH05127898A (ja) 1993-05-25

Similar Documents

Publication Publication Date Title
JP2640454B2 (ja) ディジタル命令プロセッサ制御装置および1サイクル内で分岐を実行する方法
JP2645669B2 (ja) データ処理システム
JPH0115093B2 (ja)
KR20040016829A (ko) 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템
US5930520A (en) Pipelining device in a parallel processing apparatus and an instruction supplying method therefor
JPH01310441A (ja) データ処理装置
JPH06103068A (ja) データ処理装置
JP3510729B2 (ja) 命令実行方法および命令実行装置
JP3790626B2 (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
JP3144004B2 (ja) 条件分岐処理装置
JPH0743648B2 (ja) 情報処理装置
CN101194228B (zh) 执行微处理器和微控制器的子例行程序的快速返回的装置
EP0164418A1 (en) Microprogram control system
JP3602801B2 (ja) メモリデータアクセス構造およびその方法
US6874080B2 (en) Context processing by substantially simultaneously selecting address and instruction of different contexts
JP2875864B2 (ja) パイプライン処理方式
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages
JP2824484B2 (ja) パイプライン処理計算機
JPS6122818B2 (ja)
JP2982129B2 (ja) マイクロプログラム制御装置
JP4151497B2 (ja) パイプライン処理装置
JP2503983B2 (ja) 情報処理装置
CN121478350A (zh) 一种指令执行设备、执行方法及电子装置
JP3850156B2 (ja) 命令処理装置
JP2924004B2 (ja) 命令コード転送方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080105

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090105

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100105

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees