JPH0454679A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JPH0454679A JPH0454679A JP2165913A JP16591390A JPH0454679A JP H0454679 A JPH0454679 A JP H0454679A JP 2165913 A JP2165913 A JP 2165913A JP 16591390 A JP16591390 A JP 16591390A JP H0454679 A JPH0454679 A JP H0454679A
- Authority
- JP
- Japan
- Prior art keywords
- register
- carry
- value
- bit
- arithmetic
- 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
Links
- 238000012545 processing Methods 0.000 abstract description 17
- 238000012546 transfer Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 13
- 238000000034 method Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000006732 Torreya nucifera Nutrition 0.000 description 1
- 244000111306 Torreya nucifera Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、演算装置に関し、特に画像処理装置における
画像データの演算装置に関する。
画像データの演算装置に関する。
画像処理分野の表示装置において、画面上の1画素に対
して表示メモリの複数のビットを割り当てることにより
、多色を表現することが可能になる。赤、緑、青の三原
色をそれぞれ明るさを変えて組み合わせることで、どん
な色でも表現できるため、1画素に複数のビットを割り
当てた装置では、通常1画素nビットの情報を3つのフ
ィールドにわけ、それぞれを赤色の明るさ、緑色の明る
さ、青色の明るさを決定するために使用している。
して表示メモリの複数のビットを割り当てることにより
、多色を表現することが可能になる。赤、緑、青の三原
色をそれぞれ明るさを変えて組み合わせることで、どん
な色でも表現できるため、1画素に複数のビットを割り
当てた装置では、通常1画素nビットの情報を3つのフ
ィールドにわけ、それぞれを赤色の明るさ、緑色の明る
さ、青色の明るさを決定するために使用している。
上記のような画像表示装置を用いて図形を描画を行うと
き、書き込もうとする値と表示メモリ上にすでに存在す
る値の2つのデータの間で演算を行い、その結果を最終
的に表示メモリに書き込む。
き、書き込もうとする値と表示メモリ上にすでに存在す
る値の2つのデータの間で演算を行い、その結果を最終
的に表示メモリに書き込む。
演算には論理演算を行う場合と算術演算を行う場合があ
る。論理演算の場合は問題はないが、算術演算をする場
合は、1画素全体のnビットについてそのまま演算を実
行すると、値によっては各フィールド間で桁上がりを生
じるため、赤のフィールドの演算結果が緑のフィールド
に、緑のフィールドの演算結果が青のフィールドに影響
を与えてしまう。
る。論理演算の場合は問題はないが、算術演算をする場
合は、1画素全体のnビットについてそのまま演算を実
行すると、値によっては各フィールド間で桁上がりを生
じるため、赤のフィールドの演算結果が緑のフィールド
に、緑のフィールドの演算結果が青のフィールドに影響
を与えてしまう。
また、32ビツトの演算器を持つ描画装置において、1
画素に割り当てられた情報が16ビツトであった場合、
2画素の情報をまとめて1度に演算することがある。こ
の場合についても、通常の32ビツト演算では、算術演
算時に下位16ビツトの画素の演算結果が上位16ビツ
トの画素に影響を与えてしまう。
画素に割り当てられた情報が16ビツトであった場合、
2画素の情報をまとめて1度に演算することがある。こ
の場合についても、通常の32ビツト演算では、算術演
算時に下位16ビツトの画素の演算結果が上位16ビツ
トの画素に影響を与えてしまう。
それぞれのフィールドごとの演算結果が、隣接するフィ
ールドに影響しないようにするには、フィールドの切れ
目では桁上がりを行わないようにする必要がある。従来
の図形描画装置では、この処理をnビット中の固定の位
置で行うような構成になっていた。たとえば、16ビツ
トの画素を6ビツト、6ビツト、4ビツトというふうに
決まったビット数で分割する。この方法を、加算を行っ
た場合について図面を用いて説明する。
ールドに影響しないようにするには、フィールドの切れ
目では桁上がりを行わないようにする必要がある。従来
の図形描画装置では、この処理をnビット中の固定の位
置で行うような構成になっていた。たとえば、16ビツ
トの画素を6ビツト、6ビツト、4ビツトというふうに
決まったビット数で分割する。この方法を、加算を行っ
た場合について図面を用いて説明する。
第6図は、従来の実施例における図形描画装置の演算器
の構成を示す。FMODEはフィールトビ分割を行うか
行わないかを制御する信号である。
の構成を示す。FMODEはフィールトビ分割を行うか
行わないかを制御する信号である。
演算器のビット長は16であり、0〜15は、ビットご
との演算器、Cyはキャリーである。
との演算器、Cyはキャリーである。
フィールド分割をしないモード(FMODE=■)では
、全てのビットについて、キャリーをそのまま次の上位
ビットに渡し、ビットごとにキャリーを加えて値を求め
る。フィールド分割を行うモード(FMODE二〇)で
は、第6図に示すように、ビット3とビット4の間およ
びビット9とピッ)10の間のみ上位ビットへのキャリ
ー人力を必ず6゛0”とし、キャリーの伝搬を止められ
るようになっている。結果として、分割された3一つの
フィールドは独立した演算結果を得られる。
、全てのビットについて、キャリーをそのまま次の上位
ビットに渡し、ビットごとにキャリーを加えて値を求め
る。フィールド分割を行うモード(FMODE二〇)で
は、第6図に示すように、ビット3とビット4の間およ
びビット9とピッ)10の間のみ上位ビットへのキャリ
ー人力を必ず6゛0”とし、キャリーの伝搬を止められ
るようになっている。結果として、分割された3一つの
フィールドは独立した演算結果を得られる。
上記の方法では、次の欠点がある。
1画素に割り当てる表示メモリのビット数は、4.8,
16,24.32などいろいろな値をとり得るが、それ
をたとえば赤・緑・青の3つのフィールトビ分割する方
法は−通りではない。赤の明るさの段階を緑、青に比べ
て細かくするために、赤に多くのビットを割り当てる場
合もある。
16,24.32などいろいろな値をとり得るが、それ
をたとえば赤・緑・青の3つのフィールトビ分割する方
法は−通りではない。赤の明るさの段階を緑、青に比べ
て細かくするために、赤に多くのビットを割り当てる場
合もある。
また、1画素のnビットを4つ以上のフィールドに分割
して、3つを色表現に使用し、残りのフィールドを別の
目的で使用する構成も考えられる。たとえば、1画素1
6ビツトを15ビツトのグラフィック画面と1ビツトの
テキスト画面に分け、グラフィック画面を5ビツト×3
とするような構成である。また、1ビツトないし複数の
ビットをカーソル表示用に用い、残りのビットを通常の
グラフィック描画に使用する構成も考えられる。
して、3つを色表現に使用し、残りのフィールドを別の
目的で使用する構成も考えられる。たとえば、1画素1
6ビツトを15ビツトのグラフィック画面と1ビツトの
テキスト画面に分け、グラフィック画面を5ビツト×3
とするような構成である。また、1ビツトないし複数の
ビットをカーソル表示用に用い、残りのビットを通常の
グラフィック描画に使用する構成も考えられる。
しかし、従来は固定の位置で桁上がりを止めるようにな
っており、任意の位置でビット数を分けたい場合も、そ
れが実現できないため、あらかじめ描画処理装置で定め
られたビットの割り当てに従わなければならなかった。
っており、任意の位置でビット数を分けたい場合も、そ
れが実現できないため、あらかじめ描画処理装置で定め
られたビットの割り当てに従わなければならなかった。
また、装置の規模を最小にするため、同一の演算器を画
像データだけでなく、16ビツトのX座標および16ビ
ツトのY座標を含む32ビツトの座標データのように、
画像データと異なる構造をとるデータの演算にも使用し
たい場合がある。しかし、従来の固定の位置で桁上がり
を止める構成の装置では、演算器の各フィールドの構成
ビット数をそのつど変えることができないため、それぞ
れ専用の演算器を備える必要があった。
像データだけでなく、16ビツトのX座標および16ビ
ツトのY座標を含む32ビツトの座標データのように、
画像データと異なる構造をとるデータの演算にも使用し
たい場合がある。しかし、従来の固定の位置で桁上がり
を止める構成の装置では、演算器の各フィールドの構成
ビット数をそのつど変えることができないため、それぞ
れ専用の演算器を備える必要があった。
上記の欠点を解決するために、本発明では、演算データ
および入力キャリーを入力し、所定の演算を施した後に
演算結果データおよび出力キャリーを生成する演算器が
複数個連結した演算装置において、前記各演算器に対応
したキャリー制御情報を格納するキャリー制御指示レジ
スタと、前記キャリー制御情報に従って、対応する演算
器が出力するキャリーの値を修飾し隣接する上位ビット
の演算器に入力するキャリー制御部を有し、前記キャリ
ー制御部を前記各演算器と対にして備えている。
および入力キャリーを入力し、所定の演算を施した後に
演算結果データおよび出力キャリーを生成する演算器が
複数個連結した演算装置において、前記各演算器に対応
したキャリー制御情報を格納するキャリー制御指示レジ
スタと、前記キャリー制御情報に従って、対応する演算
器が出力するキャリーの値を修飾し隣接する上位ビット
の演算器に入力するキャリー制御部を有し、前記キャリ
ー制御部を前記各演算器と対にして備えている。
以下、実施例につき説明する。
〔実施例1〕
本発明の第1の実施例について図面を用いて説明する。
本実施例は、図形描画装置における矩形領域画像データ
の転送処理に本発明の演算装置を応用したものである。
の転送処理に本発明の演算装置を応用したものである。
第1図は、本発明の第1の実施例における演算装置の構
成を示すブロック図である。第1図に示すように、本実
施例は、 表示メモリ101と、 シーケンサ102と、 I10制御部103と、 リードライト制御部104と、 矩形領域転送時に、転送元データをシフトするシフタ1
05と、 矩形領域転送時に、データを書き換える部分と書き換え
ない部分を制御するためのマスクデータを生成するマス
ク生成回路106と、 矩形領域転送の転送元データを格納するレジスタ(SR
C)l 07と、 矩形領域転送の転送先データを格納するレジスタ(DS
T)108と、 マスク生成回路106で生成されるマスクデータを格納
するレジスタ(MSK)109と、演算器110と、 演算器110中で桁上がりを行わないビットを指定する
区切りビット指示レジスタIllと、演算器110の演
算結果を格納するレジスタ(DOUT)112と、 外部とデータのやりとりを行うバス113と、外部バス
113からキャリー制御指示レジスタ111にデータを
出力するデータバス114と、シーケンサ102がリー
ドライト制御部を制御するための信号121と、 シーケンサ102がシフタ105を制御するための信号
122と、 シーケンサ102がマスク生成回路106を制御するた
めの信号123と、 表示メモリ101.SRCレジスタ107.DSTレジ
スタ108.MSKレジスタ109.DOUTレジスタ
112にそれぞれリードまたはライトの指示を送るリー
ドライト信号124,125゜126.127,128
と、 演算器112の演算モードを指示する演算モード信号(
OPMOD)129と を備えている。
成を示すブロック図である。第1図に示すように、本実
施例は、 表示メモリ101と、 シーケンサ102と、 I10制御部103と、 リードライト制御部104と、 矩形領域転送時に、転送元データをシフトするシフタ1
05と、 矩形領域転送時に、データを書き換える部分と書き換え
ない部分を制御するためのマスクデータを生成するマス
ク生成回路106と、 矩形領域転送の転送元データを格納するレジスタ(SR
C)l 07と、 矩形領域転送の転送先データを格納するレジスタ(DS
T)108と、 マスク生成回路106で生成されるマスクデータを格納
するレジスタ(MSK)109と、演算器110と、 演算器110中で桁上がりを行わないビットを指定する
区切りビット指示レジスタIllと、演算器110の演
算結果を格納するレジスタ(DOUT)112と、 外部とデータのやりとりを行うバス113と、外部バス
113からキャリー制御指示レジスタ111にデータを
出力するデータバス114と、シーケンサ102がリー
ドライト制御部を制御するための信号121と、 シーケンサ102がシフタ105を制御するための信号
122と、 シーケンサ102がマスク生成回路106を制御するた
めの信号123と、 表示メモリ101.SRCレジスタ107.DSTレジ
スタ108.MSKレジスタ109.DOUTレジスタ
112にそれぞれリードまたはライトの指示を送るリー
ドライト信号124,125゜126.127,128
と、 演算器112の演算モードを指示する演算モード信号(
OPMOD)129と を備えている。
画像処理において、表示メモリ上の画像のビット境界の
矩形領域の転送処理すなわちコピーが頻繁に行われる。
矩形領域の転送処理すなわちコピーが頻繁に行われる。
矩形領域転送処理では、通常、転送元の画像データおよ
び転送先の画像データを読みだし、両者の間で演算を行
って、その結果を転送先に書き込む。その時、lワード
ごとに処理を行うわけであるが、矩形領域の左端・右端
では、転送先領域の1ワードの一部のみ書き換える場合
が多く、そのためマスクを用いる。演算器への入力は、
転送元データ、転送先データ、マスクデータの3つが必
要となる。
び転送先の画像データを読みだし、両者の間で演算を行
って、その結果を転送先に書き込む。その時、lワード
ごとに処理を行うわけであるが、矩形領域の左端・右端
では、転送先領域の1ワードの一部のみ書き換える場合
が多く、そのためマスクを用いる。演算器への入力は、
転送元データ、転送先データ、マスクデータの3つが必
要となる。
コピー実行の例を第2図(a)に示す。第2図(a)は
、表示メモリ上の画像の矩形領域の転送処理を行う際の
画像メモリ上のイメージおよびMSKレジスタ105の
内容を示す図である。第2図において、1画素の色を表
現するビット数は16であり、隣接する2画素の情報が
32ピツ)1ワードにパックされる。32ビツトのうち
、左側の画素が下位16ビツト、右側の画素が上位16
ビツトを割り当てられている。転送は、領域の左上のワ
ードから右方向、下方向に行われる。
、表示メモリ上の画像の矩形領域の転送処理を行う際の
画像メモリ上のイメージおよびMSKレジスタ105の
内容を示す図である。第2図において、1画素の色を表
現するビット数は16であり、隣接する2画素の情報が
32ピツ)1ワードにパックされる。32ビツトのうち
、左側の画素が下位16ビツト、右側の画素が上位16
ビツトを割り当てられている。転送は、領域の左上のワ
ードから右方向、下方向に行われる。
まず、転送元の左上のデータを1ワード読みだす。転送
元の開始点はワード境界に位置しているが、転送先領域
の左上の点はワード境界から始まっていないので、転送
元データを1画素分すなわち16ビツト上位にシフトす
る。その上で転送先の左端を含むlワードのデータとの
間で演算を行う。さらに転送先のワードの転送先領域に
含まれない左側の画素は元のデータを変えないようにす
る必要があるため、下位16ビツトについては、元のデ
ータをそのまま書き込むようにする。そのため、演算結
果の値で書き換える部分をマスクによって指定する0本
実施例においては、マスクの“1゛′である部分のみ書
き換え、′0”である部分は元の値を残すようになって
おり、マスクの値は第2図(a)のMSKレジスタ10
5に示すように、下位16ビツトは全て“O”、上位1
6ビツトは全て“1″である。MSNレジスタの値は転
送先の位置によって変わる。
元の開始点はワード境界に位置しているが、転送先領域
の左上の点はワード境界から始まっていないので、転送
元データを1画素分すなわち16ビツト上位にシフトす
る。その上で転送先の左端を含むlワードのデータとの
間で演算を行う。さらに転送先のワードの転送先領域に
含まれない左側の画素は元のデータを変えないようにす
る必要があるため、下位16ビツトについては、元のデ
ータをそのまま書き込むようにする。そのため、演算結
果の値で書き換える部分をマスクによって指定する0本
実施例においては、マスクの“1゛′である部分のみ書
き換え、′0”である部分は元の値を残すようになって
おり、マスクの値は第2図(a)のMSKレジスタ10
5に示すように、下位16ビツトは全て“O”、上位1
6ビツトは全て“1″である。MSNレジスタの値は転
送先の位置によって変わる。
第1図、第2図(b)を用いて、本実施例における矩形
領域転送時の1ワード演算処理を説明する。
領域転送時の1ワード演算処理を説明する。
第2図(b)は、キャリー制御指示レジスタ111の値
と、演算器110におけるフィールドの切れ目の対応を
示す図である。本実施例において、演算器110のビッ
ト長は、2ビツトであるため、キャリー制御指示レジス
タ1110ビツト長は31ビツトとなる。
と、演算器110におけるフィールドの切れ目の対応を
示す図である。本実施例において、演算器110のビッ
ト長は、2ビツトであるため、キャリー制御指示レジス
タ1110ビツト長は31ビツトとなる。
処理の初めに、キャリー制御指示レジスタ111に対し
、演算器110を使用した演算において桁上がりを行わ
ない位置に“1”を立て、残りのビットを0#とじた値
を転送しておく。第2図(b)に示すように、2画素の
データが1ワードにパックされ、1画素を赤(R)6ビ
ツト、緑(G)5ビツト、青(B)5ビツトの3つの部
分に分割したデータについて演算を行うとき、キャリー
制御指示レジスタに設定する値は210g210o、、
である。
、演算器110を使用した演算において桁上がりを行わ
ない位置に“1”を立て、残りのビットを0#とじた値
を転送しておく。第2図(b)に示すように、2画素の
データが1ワードにパックされ、1画素を赤(R)6ビ
ツト、緑(G)5ビツト、青(B)5ビツトの3つの部
分に分割したデータについて演算を行うとき、キャリー
制御指示レジスタに設定する値は210g210o、、
である。
表示メモ!JIOIからI10制御部103を通じて、
転送元のデータ、転送先のデータが読み込まれる。転送
元のデータは、シフタ105によってシフトされてから
SRCレジスタ107に格納され、転送先のデータはそ
のままDSTレジスタ108に格納される。また、シー
ケンサ102からの制御信号123に従って、マスク生
成回路106から出力されたマスクデータがMSKレジ
スタ109に格納される。
転送元のデータ、転送先のデータが読み込まれる。転送
元のデータは、シフタ105によってシフトされてから
SRCレジスタ107に格納され、転送先のデータはそ
のままDSTレジスタ108に格納される。また、シー
ケンサ102からの制御信号123に従って、マスク生
成回路106から出力されたマスクデータがMSKレジ
スタ109に格納される。
演算モード信号129がM OIIの場合、演算器11
0はSRCレジスタ107の値にDSTレジスタ108
の値を加算する処理を行い、演算モード信号129が1
″の場合、SRCレジスタ107の値からDSTレジス
タ10gの値を減算する処理を行う。その時、キャリー
制御指示レジスタ111の値に従って、演算器110の
32ビツト中、キャリー制御指示しジスタIll内の“
1′′であるビットに対応する位置ではキャリーの伝搬
を止める。そして、MSKレジスタ109において“l
”であるビットについてのみ演算結果の値を、残りのビ
ットはDSTレジスタ108の元の値をDOUTレジス
タ112に出力する。
0はSRCレジスタ107の値にDSTレジスタ108
の値を加算する処理を行い、演算モード信号129が1
″の場合、SRCレジスタ107の値からDSTレジス
タ10gの値を減算する処理を行う。その時、キャリー
制御指示レジスタ111の値に従って、演算器110の
32ビツト中、キャリー制御指示しジスタIll内の“
1′′であるビットに対応する位置ではキャリーの伝搬
を止める。そして、MSKレジスタ109において“l
”であるビットについてのみ演算結果の値を、残りのビ
ットはDSTレジスタ108の元の値をDOUTレジス
タ112に出力する。
DOUTレジスタ112の値はI10制御部103を通
じて表示メモリ101に書き込まれる。
じて表示メモリ101に書き込まれる。
演算器110における演算処理を実現する方法の詳細を
第3図を用いて説明する。第3図は、キャリー制御指示
レジスタIllの値を用いて演算の桁上がりを制御する
回路の1例を示す図である。第3図には、演算器110
の下位2ビツトを示す。301,302はビットごとの
加算器である。ビットごとの加算器301,302にお
いて、A、Bは演算対象の値であり、Ciはキャリー人
力、Coはキャリー出力、0は演算結果の出力である。
第3図を用いて説明する。第3図は、キャリー制御指示
レジスタIllの値を用いて演算の桁上がりを制御する
回路の1例を示す図である。第3図には、演算器110
の下位2ビツトを示す。301,302はビットごとの
加算器である。ビットごとの加算器301,302にお
いて、A、Bは演算対象の値であり、Ciはキャリー人
力、Coはキャリー出力、0は演算結果の出力である。
また、SRCレジスタ107かも演算器110への入力
をSO〜31%DSTレジスタ108からの入力をDθ
〜31.MSNレジスタ109からの入力をMO〜31
、演算器からの出力をOO〜31とし、図中には、それ
ぞれ下位2ビツトを示す。
をSO〜31%DSTレジスタ108からの入力をDθ
〜31.MSNレジスタ109からの入力をMO〜31
、演算器からの出力をOO〜31とし、図中には、それ
ぞれ下位2ビツトを示す。
なお、第3図において、円形の記号で示すゲートはトラ
ンスファ・ゲートを示しており、1字形で示す部分から
入ってくる値が“0″のときはデータを通過させず、“
1”のときはデータをそのまま通過させる。この機能か
ら、2つのデータの流れから一方を選択するセレクタの
役割を果たしている。
ンスファ・ゲートを示しており、1字形で示す部分から
入ってくる値が“0″のときはデータを通過させず、“
1”のときはデータをそのまま通過させる。この機能か
ら、2つのデータの流れから一方を選択するセレクタの
役割を果たしている。
演算モード信号129が“0”の場合すなわち加算の場
合についてまず説明する。
合についてまず説明する。
ビット演算器301において、AにはSOの値が入力さ
れ、Bには演算モード信号1′29が“θ″であるため
DOの値がそのまま入力される。
れ、Bには演算モード信号1′29が“θ″であるため
DOの値がそのまま入力される。
キャリー人力は演算モード信号129の値″0″である
。そして、マスクの第0ビ、トすなわちMOが“l”で
あれば演算した結果がOOに出力され、MOが“θ″で
あればOOにはDOのもとの値が出力さhる。ビットご
との演算で出力されるキャリーについては、キャリー制
御指示レジスタillのビット0が“0″であれば、キ
ャリーがそのままビット演算器302へのキャリー人力
となる。キャリー制御指示レジスタ1110ビット0が
“l”であれば、OPMODl 29の値“0”がビッ
ト演算器302へのキャリー人力となり、演算器301
からのキャリーが“l°″だったとしても桁上がりは行
われない。
。そして、マスクの第0ビ、トすなわちMOが“l”で
あれば演算した結果がOOに出力され、MOが“θ″で
あればOOにはDOのもとの値が出力さhる。ビットご
との演算で出力されるキャリーについては、キャリー制
御指示レジスタillのビット0が“0″であれば、キ
ャリーがそのままビット演算器302へのキャリー人力
となる。キャリー制御指示レジスタ1110ビット0が
“l”であれば、OPMODl 29の値“0”がビッ
ト演算器302へのキャリー人力となり、演算器301
からのキャリーが“l°″だったとしても桁上がりは行
われない。
次に、演算モード信号129が“l”の場合すなわち減
算の場合についてまず説明する。
算の場合についてまず説明する。
減算は、減算される方の値に減算する方の値の2の補数
を加算することによって実現できる。具体的には、減算
する方の値をビットごとに反転しくlの補数)、lを加
える(2の補数)。ビット演算器301において、Aに
はSOの値が入力され、Bには演算モード信号129が
“1°”であるためDOの値を反転した値が入力される
。さらに、減算の場合は最下位ビットに“l”を加える
必要があるため、キャリー人力には演算モード信号12
9の値“1”を入力する。そして、マスクのθビットす
なわちMOが“l”であれば演算した結果が00に出力
され、MOが“0”であればOOにはDOの値が出力さ
れる。ビットごとの演算で出力されるキャリーについて
は、キャリー制御指示レジスタ111のピッ)0が0”
であれば、キャリーがそのままビット演算器302への
キャリー人力となる。キャリー制御指示レジスタIll
のヒツト0がl IIであれば、ビット演算器302へ
のキャリー人力は必ず演算モード信号129の値“1”
となり、演算器302を最下位ビットとみなした減算が
行われる。
を加算することによって実現できる。具体的には、減算
する方の値をビットごとに反転しくlの補数)、lを加
える(2の補数)。ビット演算器301において、Aに
はSOの値が入力され、Bには演算モード信号129が
“1°”であるためDOの値を反転した値が入力される
。さらに、減算の場合は最下位ビットに“l”を加える
必要があるため、キャリー人力には演算モード信号12
9の値“1”を入力する。そして、マスクのθビットす
なわちMOが“l”であれば演算した結果が00に出力
され、MOが“0”であればOOにはDOの値が出力さ
れる。ビットごとの演算で出力されるキャリーについて
は、キャリー制御指示レジスタ111のピッ)0が0”
であれば、キャリーがそのままビット演算器302への
キャリー人力となる。キャリー制御指示レジスタIll
のヒツト0がl IIであれば、ビット演算器302へ
のキャリー人力は必ず演算モード信号129の値“1”
となり、演算器302を最下位ビットとみなした減算が
行われる。
以上詳細に述べたような処理を演算器の全てのビット間
のキャリーについて行うことにより、キャリー制御指示
レジスタに設定する値によって、演算器のどのビット位
置においても桁上がりを行わないようにすることができ
る。
のキャリーについて行うことにより、キャリー制御指示
レジスタに設定する値によって、演算器のどのビット位
置においても桁上がりを行わないようにすることができ
る。
〔実施例2〕
次に、本発明の第2の実施例について図面を用いて説明
する。
する。
第4図は、本発明の第2の実施例における演算装置の構
成を示すブロック図である。第4図に示すように、本実
施例は、 表示メモリ401と、 表示メモリ401と演算装置403を接続するバス40
2と、 演算装置403と を備え、演算装置内には、 レジスタ群411と、 レジスタ群411から出力されるデータとバス402か
も出力されるデータのいずれかを選択するマルチプレク
サ412,413と、 シーケンサ414と、 演算器415と、 演算器中で桁上がりを行わないビットを指定するキャリ
ー制御指示レジスタ416と を備え、さらに、 バス402から表示メモリ401に入力されるアドレス
21.データ422.リード信号423.ライト信号4
24と、 シーケンサ414からバス402に入力されるアドレス
425.リード信号426.ライト信号427と、 バス402と演算装置4030間でやりとりされるデー
タ428,429と レジスタ群中のレジスタを選択するためのレジスタ選択
信号(R8EL)430と、 レジスタ群からマルチプレクサ412,413に入力さ
れるデータ431と、 マルチプレクサ412,413から演算器415に入力
されるデータ432..433と、シーケンサ414か
らマルチプレクサ412゜413に入力されるオペラン
ド選択信号(O3EL)434,435と、 演算器415の演算モードを指示する演算モード信号(
OPMOD)436と、 キャリー制御指示レジスタ416のリードライトを指示
する信号(KSEL)437とを備えている。
成を示すブロック図である。第4図に示すように、本実
施例は、 表示メモリ401と、 表示メモリ401と演算装置403を接続するバス40
2と、 演算装置403と を備え、演算装置内には、 レジスタ群411と、 レジスタ群411から出力されるデータとバス402か
も出力されるデータのいずれかを選択するマルチプレク
サ412,413と、 シーケンサ414と、 演算器415と、 演算器中で桁上がりを行わないビットを指定するキャリ
ー制御指示レジスタ416と を備え、さらに、 バス402から表示メモリ401に入力されるアドレス
21.データ422.リード信号423.ライト信号4
24と、 シーケンサ414からバス402に入力されるアドレス
425.リード信号426.ライト信号427と、 バス402と演算装置4030間でやりとりされるデー
タ428,429と レジスタ群中のレジスタを選択するためのレジスタ選択
信号(R8EL)430と、 レジスタ群からマルチプレクサ412,413に入力さ
れるデータ431と、 マルチプレクサ412,413から演算器415に入力
されるデータ432..433と、シーケンサ414か
らマルチプレクサ412゜413に入力されるオペラン
ド選択信号(O3EL)434,435と、 演算器415の演算モードを指示する演算モード信号(
OPMOD)436と、 キャリー制御指示レジスタ416のリードライトを指示
する信号(KSEL)437とを備えている。
第5図(a)、 (b)は、レジスタ群411中のレジ
スタの例を示す図である。第5図(a)には描画図形の
XY座標を格納するレジスタ501、第5図(b)には
画素の色情報を格納するレジスタ502を示す。
スタの例を示す図である。第5図(a)には描画図形の
XY座標を格納するレジスタ501、第5図(b)には
画素の色情報を格納するレジスタ502を示す。
本実施例においては、描画図形のX座標、Y座標の値は
おのおの16ビツトであり、第5図(a)に示すように
1本の32ビツトレジスタにパックされている。例えば
直線を描画する場合、1画素描画するごとに、直線の傾
きに応じてX座標またはX座標または両方を1ずつずら
していくが、本実施例ではX座標およびX座標のインク
リメントを同時に1回の演算で行う。
おのおの16ビツトであり、第5図(a)に示すように
1本の32ビツトレジスタにパックされている。例えば
直線を描画する場合、1画素描画するごとに、直線の傾
きに応じてX座標またはX座標または両方を1ずつずら
していくが、本実施例ではX座標およびX座標のインク
リメントを同時に1回の演算で行う。
また、第5図(b)に示すように、画面上の1画素には
16ビツトの表示メモリが割り当てられ、そのうちの1
5ビツトをグラフィック画面として使用し、残りの1ビ
ツトをキャラクタ画面に使用する。グラフィック用の1
5ビツトの内訳は、赤(R)、緑(G)、青(B)それ
ぞれ5ビツトずつである。キャラクタ表示用のビットに
“1”が立っている画素には、グラフィック画面にオー
バーレイして文字用に指定した色が表示される。
16ビツトの表示メモリが割り当てられ、そのうちの1
5ビツトをグラフィック画面として使用し、残りの1ビ
ツトをキャラクタ画面に使用する。グラフィック用の1
5ビツトの内訳は、赤(R)、緑(G)、青(B)それ
ぞれ5ビツトずつである。キャラクタ表示用のビットに
“1”が立っている画素には、グラフィック画面にオー
バーレイして文字用に指定した色が表示される。
演算の際には、2画素の情報を32ビツトにパックして
扱う。
扱う。
本実施例は、上述したXX座標データの演算と画素デー
タの演算で、一つの演算器を共通に使用することを可能
にするために、本発明の演算装置を応用したものである
。
タの演算で、一つの演算器を共通に使用することを可能
にするために、本発明の演算装置を応用したものである
。
第4図、第5図(a)、 (b)を用いて、演算器41
5によってデータを演算する処理を説明する。
5によってデータを演算する処理を説明する。
まず、キャリー制御指示レジスタ416に対して初期値
を設定する。キャリー制御指示レジスタ416へのデー
タの転送は、演算器415に対する入力A i nを演
算を行わずに通過させることによって行う。第5図(a
)に示す座標レジスタ501の値について演算を行う場
合、キャリー制御指示レジスタ416には“8000
(II)”を設定する。
を設定する。キャリー制御指示レジスタ416へのデー
タの転送は、演算器415に対する入力A i nを演
算を行わずに通過させることによって行う。第5図(a
)に示す座標レジスタ501の値について演算を行う場
合、キャリー制御指示レジスタ416には“8000
(II)”を設定する。
演算結果は座標レジスタ501に書き戻される。
第5図(b)に示す画素データ502の値について演算
を行う場合には、”4218421(1・)”を設定す
る。演算結果は表示メモリ401またはレジスタ群41
1内のレジスタに対して送られる。
を行う場合には、”4218421(1・)”を設定す
る。演算結果は表示メモリ401またはレジスタ群41
1内のレジスタに対して送られる。
これらの異なる構造のデータをともに演算器415で扱
うため、オペランドのデータ構造が切り替わるごとに、
キャリー制御指示レジスタ416の値を書き換えて演算
を行う。
うため、オペランドのデータ構造が切り替わるごとに、
キャリー制御指示レジスタ416の値を書き換えて演算
を行う。
演算器415による演算においては、レジスタのデータ
を用いる場合と、表示メモリの画像データをそのまま用
いる場合がある。そのため、演算器に対する入力は、表
示メモリからバスを通じて読み込んだデータと、レジス
タ群中のレジスタから読み込んだデータのいずれかを選
択できる。
を用いる場合と、表示メモリの画像データをそのまま用
いる場合がある。そのため、演算器に対する入力は、表
示メモリからバスを通じて読み込んだデータと、レジス
タ群中のレジスタから読み込んだデータのいずれかを選
択できる。
演算器415に対する第1のオペランドがアルチプレク
ザ412からA i nとして入力されるが、シーケン
サ414から入力されるオペランド選択信号434が“
O”であればレジスタ群からのデータ431を432に
出力し、“I IIであれば、バス402からの入力4
28を432に出力する。
ザ412からA i nとして入力されるが、シーケン
サ414から入力されるオペランド選択信号434が“
O”であればレジスタ群からのデータ431を432に
出力し、“I IIであれば、バス402からの入力4
28を432に出力する。
第2のオペランドについても、マルチプレクサ413を
通じて、オペランド選択信号435を用いて同様に選択
され、バス433に出力され、Binとして演算器41
5に入力される。
通じて、オペランド選択信号435を用いて同様に選択
され、バス433に出力され、Binとして演算器41
5に入力される。
オペランドが入力されると、第1の実施例と同様に第3
図に示すような方法で、キャリー制御指示レジスタ41
6の値に従って桁上がりを制御し、演算モード信号43
6の値に従って加算または減算が行われる。その結果は
、データバス429に出力され、バス402を通じて表
示メモリに書き込まれるか、またはレジネタ群411内
のレジスタに書き込まれる。
図に示すような方法で、キャリー制御指示レジスタ41
6の値に従って桁上がりを制御し、演算モード信号43
6の値に従って加算または減算が行われる。その結果は
、データバス429に出力され、バス402を通じて表
示メモリに書き込まれるか、またはレジネタ群411内
のレジスタに書き込まれる。
第lの実施例においては、最初にキャリー制御指示レジ
スタに設定した値を以降の一連の処理で参照する。第2
の実施例においては、複数の用途に同一の演算器を用い
るため、処理の途中でキャリー制御指示レジスタの値を
ダイナミックに変更する点が第1の実施例と異なる。
スタに設定した値を以降の一連の処理で参照する。第2
の実施例においては、複数の用途に同一の演算器を用い
るため、処理の途中でキャリー制御指示レジスタの値を
ダイナミックに変更する点が第1の実施例と異なる。
以上説明したように本発明は、算術演算の桁上がりを行
わない位置を指示するレジスタの値を変えることにより
、任意のビット位置で任意の個数のフィールドに演算器
を区切ることができ、区切った各フィールドで独立した
演算結果を得ることができる。
わない位置を指示するレジスタの値を変えることにより
、任意のビット位置で任意の個数のフィールドに演算器
を区切ることができ、区切った各フィールドで独立した
演算結果を得ることができる。
第1の実施例は、最初に一度設定した値を以降の処理で
参照するものであり、lワード内のフィールドをソフト
ウェア的に自由に設定できるため、様々な応用装置に容
易に使用することができる。
参照するものであり、lワード内のフィールドをソフト
ウェア的に自由に設定できるため、様々な応用装置に容
易に使用することができる。
特にLSI化する場合、従来の固定の位置で分割する方
法では、たとえば分割された各フィールドの構成が異な
る3種類の用途に対応するためには、3品種のLSIを
開発しなければならなかった。本発明を適用すると、1
品種で全てに対応できるため、LSIの開発、構造、検
査にかかる工数が3分の1に削減される。
法では、たとえば分割された各フィールドの構成が異な
る3種類の用途に対応するためには、3品種のLSIを
開発しなければならなかった。本発明を適用すると、1
品種で全てに対応できるため、LSIの開発、構造、検
査にかかる工数が3分の1に削減される。
第2の実施例は、別々の用途で同じ演算器を共用し、処
理の間にダイナミックに値を変えるものであり、限られ
た演算用資源を多目的に使用しなければならない場合に
適している。
理の間にダイナミックに値を変えるものであり、限られ
た演算用資源を多目的に使用しなければならない場合に
適している。
第1図は本発明の第1の実施例における演算装置の構成
を示すブロック図、 第2図(a)は第1の実施例における矩形領域画像デー
タ転送における画像イメージを示す図、第2図(b)は
第1の実施例における演算オペランドとキャリー制御指
示レジスタの値の対応を示す図、第3図は第1の実施例
、第2の実施例における演算装置の回路を示す図、 第4図は本発明の第2の実施例における演算装置の構成
を示すブロック図、 第5図は第2の実施例における演算オペランドの構成の
例を示す図、 第6図は従来例における演算器の桁上がり制御の方法を
示す図である。 図において、 101.401・・・・・・表示メモリ、102,41
4・・・・・・シーケンサ、103・・・・・・I10
制御部、 104・・・・・・リードライト制御部、
105・・・・・・シフタ、10B・・・・・・マスク
生成回路、107,108゜109.112・・・・・
・レジスタ、110,415・・・・・・演算器、Il
l、416・・・・・・キャリー制御指示レジスタ、1
29,436・・・・・・演算モード選択信号、411
・・・・・・レジスタ群、412,413・・・・・・
マルーF−プレクサ、434,435・・・・・・オペ
ランド選択信号。 代理人 弁理士 内 原 晋 痢乙回(I2) 茅1図 第2図(b)
を示すブロック図、 第2図(a)は第1の実施例における矩形領域画像デー
タ転送における画像イメージを示す図、第2図(b)は
第1の実施例における演算オペランドとキャリー制御指
示レジスタの値の対応を示す図、第3図は第1の実施例
、第2の実施例における演算装置の回路を示す図、 第4図は本発明の第2の実施例における演算装置の構成
を示すブロック図、 第5図は第2の実施例における演算オペランドの構成の
例を示す図、 第6図は従来例における演算器の桁上がり制御の方法を
示す図である。 図において、 101.401・・・・・・表示メモリ、102,41
4・・・・・・シーケンサ、103・・・・・・I10
制御部、 104・・・・・・リードライト制御部、
105・・・・・・シフタ、10B・・・・・・マスク
生成回路、107,108゜109.112・・・・・
・レジスタ、110,415・・・・・・演算器、Il
l、416・・・・・・キャリー制御指示レジスタ、1
29,436・・・・・・演算モード選択信号、411
・・・・・・レジスタ群、412,413・・・・・・
マルーF−プレクサ、434,435・・・・・・オペ
ランド選択信号。 代理人 弁理士 内 原 晋 痢乙回(I2) 茅1図 第2図(b)
Claims (1)
- 演算データおよび入力キャリーを入力し、所定の演算を
施した後に演算結果データおよび出力キャリーを生成す
る演算器が複数個連結した演算装置において、前記各演
算器に対応したキャリー制御情報を格納するキャリー制
御指示レジスタと、前記キャリー制御情報に従って、対
応する演算器が出力するキャリーの値を修飾し隣接する
上位ビットの演算器に入力するキャリー制御部を有し、
前記キャリー制御部を前記各演算器と対にして備えたこ
とを特徴とする演算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2165913A JPH0454679A (ja) | 1990-06-25 | 1990-06-25 | 演算装置 |
EP19910110479 EP0464601A3 (en) | 1990-06-25 | 1991-06-25 | Arithmetic operation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2165913A JPH0454679A (ja) | 1990-06-25 | 1990-06-25 | 演算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0454679A true JPH0454679A (ja) | 1992-02-21 |
Family
ID=15821395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2165913A Pending JPH0454679A (ja) | 1990-06-25 | 1990-06-25 | 演算装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0464601A3 (ja) |
JP (1) | JPH0454679A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5375080A (en) * | 1992-12-18 | 1994-12-20 | Xerox Corporation | Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component |
US5651121A (en) * | 1992-12-18 | 1997-07-22 | Xerox Corporation | Using mask operand obtained from composite operand to perform logic operation in parallel with composite operand |
US5408670A (en) * | 1992-12-18 | 1995-04-18 | Xerox Corporation | Performing arithmetic in parallel on composite operands with packed multi-bit components |
DE69428504T2 (de) * | 1993-11-30 | 2002-05-16 | Texas Instruments Inc., Dallas | Drei-Eingänge-Arithmetik-Logik-Einheit mit Trommel-Rotationsschaltung |
US5596763A (en) * | 1993-11-30 | 1997-01-21 | Texas Instruments Incorporated | Three input arithmetic logic unit forming mixed arithmetic and boolean combinations |
US5689592A (en) * | 1993-12-22 | 1997-11-18 | Vivo Software, Inc. | Parallel processing of digital signals in a single arithmetic/logic unit |
DE69519449T2 (de) * | 1994-05-05 | 2001-06-21 | Conexant Systems, Inc. | Raumzeigersdatenpfad |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57164334A (en) * | 1981-04-02 | 1982-10-08 | Nec Corp | Operating device |
US4707800A (en) * | 1985-03-04 | 1987-11-17 | Raytheon Company | Adder/substractor for variable length numbers |
JPS61239327A (ja) * | 1985-04-16 | 1986-10-24 | Nec Corp | オ−バフロ−検出方式 |
-
1990
- 1990-06-25 JP JP2165913A patent/JPH0454679A/ja active Pending
-
1991
- 1991-06-25 EP EP19910110479 patent/EP0464601A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0464601A3 (en) | 1993-01-13 |
EP0464601A2 (en) | 1992-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6412061B1 (en) | Dynamic pipelines with reusable logic elements controlled by a set of multiplexers for pipeline stage selection | |
JPH02289097A (ja) | 画像表示データ処理装置 | |
EP0752643A1 (en) | Expansion of data | |
JPS61159686A (ja) | 画像表示装置 | |
JPS63234367A (ja) | 図形表示装置 | |
JP2500858B2 (ja) | 拡張ラスタ演算回路を有する表示システム | |
US5109480A (en) | Drawing processor including arithmetical unit for improved superposed picture display | |
JPH0454679A (ja) | 演算装置 | |
US6552730B1 (en) | Method and apparatus for bit operational process | |
JP3332606B2 (ja) | マイクロプロセッサ | |
JP2554876B2 (ja) | アドレス変換装置 | |
JP2001175243A (ja) | 直線描画装置及び直線描画方法 | |
JP2887122B2 (ja) | 画像データ処理装置及びそれを用いたシステム | |
JPH02299082A (ja) | 可変長データを処理するプロセッサ | |
JPS60134290A (ja) | カラー表示装置 | |
JPS61130991A (ja) | 図形処理方法及び装置 | |
JPH02226334A (ja) | 画像処理装置 | |
JPH08272591A (ja) | 整数クリップ方法 | |
JPH1185506A (ja) | 複数条件コード処理機能を有するデータ処理装置 | |
KR0126106B1 (ko) | 퍼지연산장치 | |
JPS628275A (ja) | ベクトル描画方式 | |
JPH0451097A (ja) | フレームバッファ | |
JPH0567217A (ja) | 演算装置 | |
JPH01263828A (ja) | 演算処理装置 | |
JPS6169094A (ja) | 図形処理方法及び装置 |