JPH031282A - 中央処理装置 - Google Patents

中央処理装置

Info

Publication number
JPH031282A
JPH031282A JP1136311A JP13631189A JPH031282A JP H031282 A JPH031282 A JP H031282A JP 1136311 A JP1136311 A JP 1136311A JP 13631189 A JP13631189 A JP 13631189A JP H031282 A JPH031282 A JP H031282A
Authority
JP
Japan
Prior art keywords
register
value
sign flag
operand
decoder
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
JP1136311A
Other languages
English (en)
Inventor
Kazuo Nakamura
和夫 中村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1136311A priority Critical patent/JPH031282A/ja
Publication of JPH031282A publication Critical patent/JPH031282A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Image Generation (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はコンピュータシステムの中央処理装置、即ちマ
イクロプロセッサに関し、特に描画処理に適した中央処
理装置に関する。
(従来の技術) コンピュータシステムによるデータ処理においては、−
船釣に、ある条件が「真」であれば変数pに値aを加算
し、ある条件が「偽」であれば変敗pに値すを加算する
という処理が行われることが多い。
たとえば、第7図は「コンピュータ・グラフィックス(
日本コンピュータ協会)」の第445頁に記載されてい
る線分の描画プログラムの一例を示している。このアル
ゴリズムはr B resenhamJのアルゴリズム
と称されている。
このプログラムは右上がりの線分を描画する例であるが
、B resenha−のアルゴリズムではX軸の座標
を増加しつつY軸の座標を増加すべきか否かを判定し、
その結果に応じて描画点の座標を計算する。
第8図は実際の描画の状態を示す模式図である。
いま、線分l上の現在の描画点Poに対して次に描画す
べき点、即ち点poから“l”だけX座標値が増加した
描画点のY座標値を、点P。のY座標値と同一とするか
(点PI’)、“1″増加させるか(P+“)を判定す
る必要がある。
ご助処理は、第2図に示したプログラムでは第18行〜
第23行に相当する。このプログラムの例では、値dが
負であるか否かが判定条件であり、値dが負である場合
は値dに1ncr lが加算され、値yには“O”が加
算される。
また、値dが正または0“である場合は値yに“11が
加えられ、値dには1ncr 2が加算される。
そして、得られた座標値の描画位置に“WRITE11
1XεL”という処理プログラムにより点が描画される
。この処理は第7図に示したプログラムの第16行目の
WIIILI!”文により値“xend’に対応する回
数反復される。
なお、第7図に示されているプログラムの内、第1行〜
第15行は各変数を初期化するための処理であり、描画
処理とは直接の関係がないのでここでは説明は省略する
以上を要約すると、従来の+1iii処理においては、
第7図に示したプログラムの第18行〜第23行の如く
、参照されるオペランド(変数)が条件によって変わる
という処理が頻繁に実行されるということである。
第9図は上述の処理を実行するための従来の計算機の中
央処rg!装置の一構成例を示すブロック図である。
図中、■はレジスタ群1であり、RO−R15の16個
のレジスタにて構成されている。
2は演算手段としての演算ユニット(ALU)であり、
レジスタ群lとは第1オペランドバス8及び第2オペラ
ンドバス9で接続されている。Alt12は第1オペラ
ンドバス8及び第2オペランドバス9を介してレジスタ
群1から与えられる二つのオペランドについて演算を実
行し、その結果をデスティネーションバス10へ出力す
る。
デスティネーションバス10はレジスタ群1及びサイン
フラグ記憶器3に接続されている。
サインフラグ記憶器3は、ALt12による演算結果が
負であるか否かを検出し、負である場合に“l”を、負
でない場合に0″をサインフラグとして記憶する。
4は制御部であり、ランダムロジックあるいはマイクロ
プログラムにより構成されている。なお、サインフラグ
記憶器3の出力はこの制御部4に与えられている。
5.6.7はそれぞれデコーダである。各デコーダ5.
6.7は制御部4からレジスタポインタとして出力され
る制御信号ARPO〜^RP3. BRPO〜BRP3
. C1l[’0〜CRP3をそれぞれデコードする。
デコーダ5によるデコード結果は、レジスタ群1から第
1オペランドバス8へ値を出力するレジスタを選択する
ための選択信号となる。デコーダ6によるデコード結果
は、レジスタ群1から第2オペランドバス9へ値を出力
するレジスタを選択するための選択信号となる。デコー
ダ7によるデコード結果は、レジスタ群1ヘデステイネ
ーションバス10から値が入力されるレジスタを選択す
るための選択信号となる。
11は^Ltl制御信号であり、制御1部4からALU
2へ演算の種類を指定すると共に、サインフラグ記憶器
3ヘサインフラグを更新するか否かを指示する。
なおデコーダ5,6.7は第10図に示す如< 、4−
16デコーダにて構成されている。
第1θ図において、PO〜P3は各デコーダ5゜6.7
へ入力されるレジスタポインタARPO−ARP3. 
BRPO〜BRP3. CRPO〜CI?P3であり、
S1〜515はそれぞれレジスタRO〜R15が選択さ
れたことを示す制1ffll信号である。
次に上述の従来の中央処理装置の動作について説明する
端的には、制御部4がレジスタポインタとしての制御信
号^RPO〜ARP3. BIIPO〜BRP3. C
IIPO〜CRP3及びALUtl1m信号11を発生
することにより一つの演算がALU2において実行され
る。
即ち、レジスタポインタ^RPO〜^1iP3. BR
PO〜BRP3により指定されたレジスタRO〜R15
の内の二つのレジスタの内容が第1オペランドバス8及
び第2オペランドバス9によりそれぞれALU2に与え
られ、この二つのオペランドに対して^LU制御信号1
1にて指定されるl!i類の演算が^L(12において
実行される。演算結果はデスティネーションバス10を
介してレジスタ群lへ送られ、レジスタポインタCRP
O〜Cl1P3により指定された一つのレジスタに格納
される。
以上の処理と同時に、^LU制御信号11がサインフラ
グの更新をも指示している場合は、^LU2における演
算結果に応じてサインフラグ記憶器3の記憶内容が変更
され、サインフラグが更新される。
以上の一連の処理が終了すると、制御部4は予め定めれ
ている手順に従って次の演算のための各制御信号を発生
する。また制御の際の分岐処理は制御部4内部で処理さ
れ、繰返し処理のための無条件分岐あるいはサインフラ
グ記憶器3の内容に応じて分岐するか否かが決定される
条件分岐が実行される。
第11図は上述の中央処理装置による処理手順を示すフ
ローチャートである。
まず、ステップSOにおいて各変数の初期化が行われて
それぞれ所定のレジスタに格納され、最初の点が描画さ
れる。次に、ステップS1において描画が終了したか否
かがX座標値の最終値(xend)と現在値tx)との
比較により判定される。終了していなければ、ステップ
Sl° においてX座標値に“l″が加算される。
ステップS2.S3.S4は第7図に示したプログラム
の第18行〜第23行のif文に相当し、ステップSl
’で“1″だけインクリメントされたX座標値に対応す
るY座標値が求められる。
即ち、ステップS2ではサインフラグが判定され、“0
”であればステップS4へ分岐して第7図のプログラム
の第21.22行が実行され、結果にしてサインフラグ
が更新される。
ステップS2においてサインフラグが“1″であれば、
ステップS3で第7図のプログラムの第19行が実行さ
れ、結果にじてサインフラグが更新された後にステップ
S5へ分岐する。
ステップS5では、ステップSl’ において求めれた
値をXw、!li値として、ステップs3またはs4に
おいて求められた値をY座標値として点が描画される。
この後はステップSlへ処理が戻される。
〔発明が解決しようとする課題〕
以上のような従来の中央処理装置を備えた計算機により
描画プログラムを実行した場合、演算結果の条件により
演算対象のオペランドが変更されるような処理において
は条件分岐が必要である。
しかし、上述の如くソフトウェア的に条件分岐が実行さ
れると処理速度が低下する等の問題が生じる。特に条件
分岐は、プログラムの記述順序とは関係す<別の場所へ
処理が移るため、パイプライン処理を行う計算機では処
理速度の低下が顕著である。
本発明ば!上のような事情に鑑みてなされたものであり
、ソフトウェア上は条件分岐があっても、ハードウェア
的には条件分岐をせずに済むように構成された中央処理
装置の提供を目的とする。
〔課題を解決するための手段〕
本発明の中央処理装置は、オペランドとなる値を格納し
ているレジスタを選択するための制御信号を性成するデ
コーダへ条件判定の結果を入力することにより、デコー
ダが選択するレジスタを変更させるように構成されてい
る。
(作用〕 本発明の中央処理装置では、条件判定の結果によりオペ
ランドとなる値を格納しているレジスタの選択が変更さ
れ、これがソフトウェアにおけるIP文に対応するので
、ハードウェア処理が高速化される。
〔発明の実施例〕
以下、本発明をその実施例を示す図面に基づいて詳述す
る。
第1図は本発明の中央処理装置の一構成例を示すブロッ
ク図である。なお、前述の従来例を示す第9図のブロッ
ク図と同一または相当部分には同一の参照符号を付与し
である。
図中、1はレジスタ群lであり、RO〜R15(7)1
6個のレジスタにて構成されている。
2は演算手段としての演算ユニソ) (ALU)であり
、レジスタ群lとは第1オペランドバス8及び第2オペ
ランドバス9で接続されている。Alt12は第1オペ
ランドバス8及び第2オペランドバス9を介してレジス
タ群lから与えられる二つのオペランドについて演算を
実行し、その結果をデスティネーションバス10へ出力
する。
デスティネーションバス10はレジスタ群1及びサイン
フラグ記憶器3に接続されている。
サインフラグ記憶器3は、AlB2による演算結果が負
であるか否かを検出し、負である場合に“1”を、負で
ない場合に0″をサインフラグとして記憶する。
4は制御部であり、ランダムロジックあるいはマイクロ
プログラムにより構成されている。なお、サインフラグ
記憶器3の出力はこの制御部4にも与えられている。ま
た、この制御部4はレジスタポインタARPo−AIl
P3. BRPO〜BRP3. CRPO〜CRP3を
出力する。
5.6.7はそれぞれデコーダである、各デコーダ5.
6.7は制御部4からレジスタポインタとして出力され
る制御信号^RPO〜ARP3 (RPAO−RP^3
)、BRIIO〜BRP3. CRPO〜CRP3をそ
れぞれデコードする。デコーダ5によるデコード結果は
、レジスタ群lから第1オペランドバス8へ値を出力す
るレジスタを選Uくするための選択信号となる。デコー
ダ6によるデコード結果は、レジスタ群lから2オペラ
ンドバス9へ値を出力するレジスタを選択するための選
択信号となる。デコーダ7によるデコード結果は、レジ
スタ群lヘデスティネーションバス10から値が入力さ
れるレジスタを選択するための選択信号となる。なお、
デコーダ5と制ηU部4との間には後述するポインタ変
更部12が介装されていて、制御部4から出力されるレ
ジスタポインタAI?PO〜^I?P3はRPAO〜R
PA3に変換されてデコーダ5に与えられる。
11はALU制御1信号であり、制御部4から^1.u
2へ演算の種類を指定すると共に、サインフラグ記憶器
3ヘサインフラグを更新するか否かを指示□する。
12は上述のポインタ変更部であり、制御部4から与え
られるレジスタポインタARPO−ARP3.制御信号
RVEN及びサインフラグ記憶器3からのサインフラグ
5IGNが与えられている。
第2図はポインタ変更部12の構成を示す回路図である
ポインタ変更部12へは制御部4から出力されているレ
ジスタポインタARPO〜ARP3と制御信号RVEN
及びサインフラグ記憶器3の記憶内容であるサインフラ
グ5IGNが入力されている。制御信号RVENはサイ
ンフラグ5IGNの信号線に介装されたゲートトランジ
スタ51のゲートに直接、レジスタポインタARPQの
信号線に介装されたゲートトランジスタ52のゲートに
インバータ50を介してそれぞれ与えられている。この
ため、ポインタ変更部12の出力であるレジスタポイン
タRPAO〜RP^3の内のRPAOは、制御信号1i
VENが“0“である場合にはA11l’0がそのまま
出力されるが、制御信号RVHIIが“I”である場合
にはサインフラグ5IGNがARPOに変わって出力さ
れる。
従って、たとえばレジスタポインタARPO〜ARP3
によりレジスタ群1のレジスタROあるいはR1を指定
し、制j1信号11VENを”1”とすれば、サインフ
ラグ5IGNが“0″であればレジスタROGAが、サ
インフラグ5IGNが″じであればレジスタl?lがそ
れぞれ選択される。この関係は、レジスタR2とR3,
R4とR5゜R6とR7,I?8とR9,RIOと11
11. R12とR13,R14とR15の各レジスタ
対についても同様である。換言すれば、第1オペランド
バス8への出力を選択するデコーダ5による選択動作が
、サインフラグ5IGNの内容により変化するというこ
とになる。
次に上述の従来の中央処理装置の動作について説明する
端的には、レジスタ群1から第1オペランドバス8を介
してALU2ヘオペランドとして出力されるレジスタの
値を選択するポインタ変更部12の動作が加わる以外は
前述の第9図に示した従来の中央処理装置と同様に動作
する。
即ち、レジスタポインタ^RPO〜^1lP3と制御信
号RVENにより指定されたレジスタRO〜R15の内
の一つのレジスタの内容が第1オペランドバス8を介し
て、レジスタポインタBRPO−BRP3により1旨定
されたレジスタRO〜R15の内の一つのレジスタの内
容が第2オペランドバス9を介してAlB2に与えられ
、この二つのオペランドに対してALII制御信号11
にて指定される種類の演算が^LU2において実行され
る。演算結果はデスティネーションバス10を介してレ
ジスタ群lへ送られ、レジスタポインタCRPO〜CI
IP3により指定された一つのレジスタに格納される。
以上の処理と同時に、ALU制御信号11がサインフラ
グの更新をも指示している場合は、AlI3における演
1γ結果に応じてサインフラグ記憶器3の記憶内容が変
更され、サインフラグが更新される。
以上の一連の処理が終了すると、制御部4はにめ定めれ
ている手順に従って次の演算のための各制御信号を発生
する。
第3図は上述の本発明の中央処理装置による処理手順を
示すフローチャー1・である。
まず、ステップSO°において各変敗の初期化が行われ
てそれぞれ所定のレジスタに格納され、最初の点が描画
される。基本的には従来例の第11図のフローチャート
のステップSOと同様の処理である。
次に、ステップSlにおいて描画が終了したか否かがX
座標値の最終値(xend)と現在値(×)との比較に
より判定される。終了していなければ、ステップS1°
においてX座標値に“1″が加算される。
ステップS12.513は第7図に示したプログラムの
第18行〜第23行のif文に、換言すれば従来例の第
11図のフローチャートのステップS2.S3.S4に
相当する。
即ら、ステップS12では、第1オペランドバス8へ出
力されるオペランドとしてレジスタROの内容が指定さ
れ、ステップS13では第1オペランドバス8へ出力さ
れるオペランドとしてレジスタR2の内容が指定される
。この際、制御コを信号11VENは”l”に設定され
ているので、第1オペランドバス8へ出力されるオペラ
ンドとして、サインフラグ5IGNが“I”であればそ
れぞれレジスタR1,R3が選択され、サインフラグ5
IGNが“θ″であればそれぞれレジスタRO,R2が
選択される。
ところで、レジスタR1,R3,I?O,R2それぞれ
にはステップSO′ において“1ncrl”、”0″
、”1ncr2”、”l”が格納されているので、結果
的には条件分岐処理無しで第7図のプログラムの第18
行〜第23行のif文が実行されることになる。
ステップS5では従来例同様に、ステップSl″におい
て求めれた値をX座標値として、ステップs3またはS
4において求められた値をY座標値として点が描画され
る。この後はステップs1へ処理が戻される。
なお、上述の実施例ではポインタ変更部12によりレジ
スタの選υくを変更するようにしているが、たとえば第
4図に示す如く、制御部4からレジスタポインタ八RI
’O〜A11P3.IIRIIIO〜ARP13の2種
類のレジスタポインタを出力し、サインフラグ5IGN
の値に応シー?”ARPOカARP10.AI?Plか
A11PI1.AI?P2がARP12^RP3かAR
P13のそれぞれいずれかが選択されるような構成とし
てもよい。
あるいは第5図に示す如く、ナインフラグ5IGNが°
l″である場合にのみ、加算器によりレジスタポインタ
ARPO−ARP3に定数(この場合は“8″)を加算
したRPAO〜IIP^3を生成するような構成も可能
である。
更に、第3図のフローチャートでは、レジスタ群lのレ
ジスタ上にそれぞれ“1ncrl”、“0″+”1nc
r2”l”が格納されている例について説明されている
が、第6図に示す如く、それらをメモリ上の二つの領域
に格納しておき、レジスタRO,R1にはそれぞれのベ
ースアドレスを格納しておき、レジスタRO,R1に関
するレジスタ相対アドレッシングによりアクセスするよ
うな構成も可能である。
〔発明の効果〕
以上に詳述した如く、本発明によればオペランドとなる
レジスタを選択するデコーダに条件判定の結果を与え、
これによってデコーダが選択するレジスタを変更するよ
うに構成しているので、ソフトウェアによる条件分岐処
理が不要となり、データ処理が高速実行される。従って
、コンピュータグラフィックス等における描画処理等が
高速で可能になる。
【図面の簡単な説明】
第1図は本発明の中央処理装置の一構成例を示すプロ、
り図、第2図はそのポインタ変更部の構成を示す回路図
、第3図は本発明の中央処理装置によるB resen
haaのアルゴリズムの処理手順を示すフローチャート
、第4図、第5図はポインタ変更部の他の構成例を示す
回路図、第6図はメモリ上に変数を格納する場合のメモ
リ領域の構成を示す模式図、第7図はB resenb
amのアルゴリズムによる線分描画のプログラム例を示
す模式図、第8図はB resenha−のアルゴリズ
ムの概念を示す模式図・第9図はB resenham
のアルゴリズムを処理する従来の中央処理装置の構成例
を示すブロック図、第10図はそのデコーダの構成を示
す回路図、第11図は従来の中央処理装置によるB r
esenhamのアルゴリズムの処理手順を示すフロー
チャートである。 1・・・レジスタ群  2・・・ALU   3・・・
サインフラグ記憶器  4・・・制御部 5,6.7・
・・デコーダ10・・・デスティネーションバス  1
2・・・ポインタ変更部 なお、各図中同一符号は同−又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. (1)演算手段と、複数のレジスタと、前記演算手段の
    演算結果が所定の条件を満たすか否かを検出して記憶す
    る記憶手段と、前記複数のレジスタの内の1または複数
    のレジスタを選択してその内容を前記演算手段に入力さ
    せる選択手段とを備えた中央処理装置において、前記記
    憶手段の記憶内容に応じて前記選択 手段による選択対象を変更させる手段を備えたことを特
    徴とする中央処理装置。
JP1136311A 1989-05-30 1989-05-30 中央処理装置 Pending JPH031282A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1136311A JPH031282A (ja) 1989-05-30 1989-05-30 中央処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1136311A JPH031282A (ja) 1989-05-30 1989-05-30 中央処理装置

Publications (1)

Publication Number Publication Date
JPH031282A true JPH031282A (ja) 1991-01-07

Family

ID=15172235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1136311A Pending JPH031282A (ja) 1989-05-30 1989-05-30 中央処理装置

Country Status (1)

Country Link
JP (1) JPH031282A (ja)

Similar Documents

Publication Publication Date Title
US6085310A (en) Method and apparatus for performing an operation multiple times in response to a single instruction
JPH0496825A (ja) データ・プロセッサ
US4954947A (en) Instruction processor for processing branch instruction at high speed
US5757685A (en) Data processing system capable of processing long word data
JPS62226232A (ja) 分岐先アドレス算出回路
US5546551A (en) Method and circuitry for saving and restoring status information in a pipelined computer
JP2806346B2 (ja) 演算処理装置
JPH031282A (ja) 中央処理装置
JP2553200B2 (ja) 情報処理装置
US5812836A (en) System for processing iterative tasks in data processing systems
JP2565495B2 (ja) デ−タ処理システム
JPH01271876A (ja) 比較演算処理装置
JPS61173345A (ja) 計算機システム
JPH04218834A (ja) 条件分岐制御回路
JPH04195629A (ja) 演算フラグ生成装置
JPS6373335A (ja) 情報処理装置
JPH1049371A (ja) パイプライン計算機
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPS63187332A (ja) 演算処理装置
JPS63247834A (ja) 浮動小数点関数擬似命令処理方法
JPH0266625A (ja) データ処理装置
JPS6244657B2 (ja)
JPH0258128A (ja) データ処理装置
JPH06274353A (ja) 信号処理プロセッサ
JPH05241825A (ja) マイクロプロセッサ